多路传输复用器的管理和控制的制作方法

文档序号:7728905阅读:303来源:国知局

专利名称::多路传输复用器的管理和控制的制作方法
技术领域
:本发明涉及管理和控制宽带通信硬件的系统、处理、方法、装置和相关软件。更具体地,本发明涉及对通过宽带媒体路由器发送的内容流进行改进的管理和控制。有助于通过多路传输复用器监测和配置内容流路由的图形用户界面领域。因此,本发明的一般目标是提供具有以上特性的新颖的系统、方法、装置和软件。
背景技术
:汇聚视频、音频和数据的宽带媒体在近几年已经建立了一个不同标准和传统通信技术的无序环境。但是,需要在宽带硬件、其控制系统和其操作员之间运用该系统中的物理和逻辑资源之间的关系,并使这种关系在三者之间建立联系。这在过去是使用复合的专用管理与控制计算机来完成,其中每个计算机负责管理通信硬件的一个特定段。现在的通信硬件人员(诸如电缆操作员和电视节目编排者)在过去已经使用了这样的系统,而这样的系统要使用大量的不同的设备来控制系统。这些控制系统的中心互相临近并且接近正在管理中的通信硬件。由于这些或者其它的原因,用于满足宽带通信硬件的控制与管理需要的常规解决方法已经被证明是麻烦、不够灵活、无效的,而且对于购买和操作来说都价格不菲。传统宽带通信硬件的其它问题在于它们不能够向操作员方便地提供关于系统硬件和软件的信息。这会在这种设备的工作中造成的低效率。例如,因为系统操作员必须物理地检查宽带通信硬件以确定所使用的系统和操作状态,所以对系统错误进行故障诊断在当前来说是困难而昂贵的处理过程。具体地说,对系统难点进行故障诊断可能需要操作员检查通信硬件的齿条(rack)以确定是否所有的通信硬件都插入、接通、连接到内容流的源和/或以特殊方式进行操作。因此,本领域中需要使通信硬件人员(诸如电缆操作员和电视节目编制者)能够通过单独的计算机管理和控制完整的宽带媒体路由系统的新方法、系统和装置。这样的方法和装置应该能够通过网络远程地监测和控制这样的系统。理想地,将通过基于java的系统来实现控制,所述的基于iava的系统可以在设置阶段使用浏览器上载到远程个人计算机并随后在远程计算机上作为java程序运行。为了以最小的成本提供最具灵活性的系统,这样的系统将使用公用浏览器和可以被广泛识别的通信协议(诸如SNMP)通过网络进行通信。本领域中还需要能够向操作员提供关于系统硬件和软件信息的新方法、系统和装置。这样的方法和装置有助于对系统错误进行故障诊断,而无需对宽带通信硬件进行物理上的检查以检测出系统硬件使用及其操作状态。事实上,这样的管理与控制通信硬件的方法和装置应该能够在宽带媒体路由器上提供很高的稳定控制,从而可以最大程度地减少这样的故障诊断(如果不能完全消除的话)。
发明内容本发明通过提供使通信硬件人员(诸如电缆操作员和电视节目编制者)能够通过单独的计算机管理和控制完整的宽带媒体路由系统的方法、系统和装置,从而满足了上述需要并且克服了相关技术的上述和其它不足。根据本发明的这样的方法和装置能够通过柱入以太网的通信网络远程地监测和控制这样的系统。优选地,将通过基于java的系统来实现对宽带媒体路由器的管理,所述的基于java的系统可以在设置阶段通过网络上载到远程个人计算机并随后在远程计算机上运行,从而对硬件进行远程管理。为了以最小的成本提供最具灵活性的系统,本发明将根据鲁棒的、灵活的并且可以被广泛识别的通信协议(诸如SNMP)通过网络进行通信。本发明另外的方面提供了对正常系统操作的某些方面(例如开启端口)进行控制的特别稳定的方法,由此最大程度减少系统的故障和故障诊断(如果不能完全消除系统的不稳定性)。本发明可以通过实施稳定硬件启动和禁止程序来实现该结果。在系统由于某些原因而发生故障的情况下,本发明有助于对系统错误进行故障诊断,而无需对所管理的硬件进行物理上的检查以识别不同的硬件使用并确定其连接性以及每个部件的操作状态。可以通过使用由信息检索通过网络启动的系统硬件和软件标识、配置和状态查看性能来获得这项优点。本发明同时提供记录消息的大规模阵列的功能,其进一步有利于系统故障诊断和监测。当然,本发明的上述方法尤其适用于与本发明的上述装置一同使用。同样地,本发明的装置也适用于进行上述的本发明的方法。根据下面对优选实施例的详细描述,根据权利要求以及根据附图,本发明的许多其它优点和功能对于本领域普通技术人员来说将会是显而易见的。下文中将结合附图描述本发明的优选实施例,其中类似的数字表示相似的元素,其中图1a示出了根据本发明的一个优选实施例的多路传输复用器的硬件结构;图1b示出了图1a的多路传输复用器的固件主处理器结构的优选形式;图2示出了图1的多路传输复用器的系统初始化和资源发现处理,该处理是根据本发明的一个优选实施例的;图3示出了根据本发明的一个优选实施例的不同硬件属性查看性能;图4示出了根据本发明的一个优选实施例的系统属性查看性能;图5示出了根据本发明的一个优选实施例、使处理能够进行的不同输出端口;图6示出了根据本发明的一个优选实施例的现有视频和/或音频流路由事件的详细指定;图7示出了根据本发明的一个优选实施例的不同系统带宽利用查看性能;图8示出了根据本发明的一个优选实施例的某种事件记录和查看性能以及处理过程;图9示出了根据本发明的一个优选实施例的未来内容流路由事件的详细指定;图10示出了根据本发明的一个优选实施例的不同IP数据封装和插入性能;图11是更详细地说明图10的IP数据封装和插入性能的详细流程图。具体实施例方式随后的详细说明书仅仅是提供优选的示范实施例,而并不是想限制本发明的范围、适用性或配置。相反,随后的对优选示范实施例的详细说明将向本领域技术人员提供一个能够实施本发明的优选的示范实施例的说明。应该可以理解,在不背离如所附权利要求所阐述的本发明的精神和范围的前提下,可以在各部件的功能结构上对本发明做出各种不同的修改。如图1a和1b所示,TMX20包括多个硬件、固件和软件部件。图1a是根据本发明一个优选实施例的多路传输复用器(TMX)20的硬件结构示意图。如图所示,例如,多路传输复用器可包括计算机22’(具有单元管理器22和GUI80),其通过网络24通信连接到TMX框架42。TMX框架42优选地包括主处理器板40’(优选地具有VxWorks操作系统)、输入处理器板50’、输出处理器板55’、多路复用器板60’和代码转换板70’。这些部件优选地(但不一定非要)通过单一的TMX框架42相互通信连接。该优选的TMX框架硬件的基本物理模型如下TMX框架是一个装载板的器具,每个板又都是一个装载端口和处理器的器具,每个处理器都是装载固件的器具,每个端口则是装载协议体系(诸如DS3、MPEG、TCP/IP等)的器具。该框架以及每个板都具有一组状态和与之相关的状态变量。其包括1)管理状态,用于同步多路管理器的配置访问;2)操作状态,用于指示TMX(或其部件)是否处于完全启动和操作状态;和3)提示状态,用于通过TMX或其部件发信号通知不同的提示条件。如下面所详细描述的,主处理器40控制TMX20的不同的硬件和软件部件,并根据SNMP储存MIB表数据,以供TMX的其它的不同部件和单元管理器使用。多路传输复用器20适合于很多不同的应用环境,包括(1)电缆头端;(2)卫星上行链路;和(3)陆地广播。根据修改的简单网络管理协议(SNMP)优选地进行单元管理器22和TMX框架42之间的通信,并且将要通过多路传输复用器20发送的内容流是优选地根据公知的MPEG标准之一的。更优选地,内容流是MPEG2数据流。尽管本发明的某些优选实施例使用根据公知SNMP标准的某些常规MIB表,这里所引用的MIB中的许多都包括新的数据结构。这些数据结构在计算机程序列表中被充分地定义,所述计算机程序列表将在本说明书的末尾给出。因此,根据这里所包含的说明,本领域普通技术人员将更加详尽地理解那些新数据结构的性质和功能。前面提及的2002年4月16日提交、题为“HighSpeedSerialDataTransportBetweenCommunicationsHardwareModules(通信硬件模块间的高速串行数据传输)”的共同未决的美国专利申请_/_,_中提供了对TMX20的硬件部件的更为详细的说明,在这里通过引用将其结合进来。因此,没有必要对这些硬件部件做进一步地详细讨论,通过参考这些结合进来的申请可以完全地理解这些部件。需要利用系统中物理和逻辑资源之间的关系,并使该关系在TMX框架42、单元管理器22和人类操作员10之间进行通信连接(例如图2)。这通常是通过对系统的不同硬件部件进行建模而获得的。TMX建模单元通过使用标准“MIB2”接口表(ifTable)被集成到SNMP管理信息库(MIB)中,从而将每一个建模单元表示为具有如下所指定的特定扩展的接口。这允许任意板和/或端口通过其表指针(ifTable中的ifindex)进行标识。继续参看图1a,单元管理器22优选地通过以太网连接到TMX框架42。本领域技术人员可以认识到,另外也可以使用其它的网络技术。单元管理器22可以作为java应用程序通过使用浏览器从TMX42上载到远程计算机,在初始建立阶段,该远程计算机优选地与多路传输复用器通过网络24通信连接。随后,单元管理器22可以在远程计算机上作为java程序运行。该远程计算机优选地是具有常规操作系统和浏览器的常规个人电脑,该系统允许在安装单元管理器22之后在TMX框架42上进行控制。优选地,将图形用户界面结合到单元管理器22中,以下将对其做详细地描述。优选地,在常规个人电脑的显示器(例如LCD屏幕或CRT显示器)上向操作员呈现GUI。根据这里所包含的公开的内容,本领域普通技术人员将很容易想到用于掌管和操作图形用户界面和单元管理器22的多种不同的其它软件和硬件组件。图1b图示说明了TMX20的不同的固件和软件部件52-69,其如图所示地相互通信连接。这些组件包括SNMP代理44、消息控制器45和故障管理器59。TMX20进一步包括资源管理器52、配置管理器46、PAT/PMT集模块54、PSIP集模块57、输入模块50、IP封装模块66、时间表管理器67和大量的DSPAPI。这些包括多路复用器处理60、代码转换处理62和量化级处理64。在本优选实施例的这些固件模块和某些硬件部件之间存在着一一对应的关系。可以在图1a中找到相应的硬件部件,其包括输入处理板50’、多路复用器板60’(具有多路复用处理器60和量化级处理器61)、代码转换板70’(具有5个代码转换处理器或3个代码转换处理器、1个多路复用处理器和1个QLP71’)。因此,当配置管理器在固件模块上进行操作时,也将影响相应的硬件模块。TMX框架42内的不同部件之间的信息和命令流通常如在图1a和1b中通过使用箭头所指示的那样。更具体的说,来自单元管理器22的命令和信息流通过了SNMP代理44,其将来自单元管理器22的SNMP协议命令转换成常规形式,以使它们能够被TMX20的其它不同部件所理解。优选的常规通信协议时简单的协议,其中,将大量指示性请求或命令随同相关的数据结构一同传递,用于根据相关的命令接收将要使用的数据。因此,SNMP代理44通常用作为单元管理器22和主处理器固件之间的中间代理。SNMP代理44允许在诸如修饰(grooming)、拼接、数据插入等的固件功能上进行基于SNMP的管理,并进行控制,这是因为它向接口提供了不同的固件模块(诸如输入处理任务50、多路复用器处理60、代码转换处理62和量化级处理64),这些不同的固件模块基本上提供了所需的功能。配置管理器46通过MIB消息控制器45从SNMP代理44接收命令和信息并且确定怎样利用硬件和其它固件在板卡级执行那些命令。参看图2到图9以及说明书后续部分对于这些图的相应详细描述,将获得对于TMX20的不同其它部件的详细理解。图2到图11图示说明了多路传输复用器20的九个主要的操作方面。这九个操作方面包括(1)初始化并发现系统资源100;(2)查看系统硬件属性134;(3)查看系统软件属性156;(4)开启输出端口166;(5)详细指定现有视频和/或音频路由事件;(6)查看带宽利用206;(7)查看记录活动性222;(8)详细指定未来路由事件238;和(9)IP数据封装和插入260。下面将立即开始详细讨论本发明的这些方面。参看图2,图示说明了图1的宽带多路复用器的系统初始化和资源发现的处理过程,该过程是根据本发明的一个优选实施例的。如所示,通过对TMX框架42上电101来初始化和发现本发明的系统开始,由此资源管理器52将进行硬件和系统软件信息的发现(102)。因此,TMX框架42将在104执行大量的功能以识别安装在TMX框架42中的系统部件。MIB消息控制器45也是在102给合适的MIB(ifTable和ifStack)组装信息,SNMP代理44在106等待查询。完成这些任务之后,TMX框架42将根据操作员通过单元管理器22提供给TMX框架42的驱动命令而准备执行不同的活动。这里,操作员10可以开启单元管理器22,作为对此操作的响应,单元管理器将在104显示图形用户界面80,示出用于查看的空目录结构查看屏幕81。空目录结构查看屏幕81包括输入目录结构窗口82、输出目录结构窗口82’和记录消息窗口87。单元管理器22在108自动地读取合适的MIB已发现目前安装在TMX20中的硬件。这包括系统硬件属性数据,诸如端口数据和/或物理结构。本发明的优选实施例支持几种类型的端口(例如ASI、DHEI、SMPTE310、DS3)。不同端口参数的数据将由ifentryMIB表描述/定义。单元管理器22在110将合适的DSP代码下载到IdentxTableMIB。TMX框架42的SNMP代理44在112创建新MIB条目,消息控制器45将该信息传递到配置管理器46以进行实现。这里,单元管理器22在114请求PAT数据。这个请求将由TMX在116进行处理。单元管理器22在120解析PAT,以使合适的PMT能够被识别。这些是在122所请求的,这个请求将由TMX在124进行处理。产生了请求信息之后,SNMP代理44将在126进一步等待查询。这个数据随后被单元管理器22在128读取,并且更新图形用户界面80。具体地说,请求的数据被用于在目录结构查看屏幕81上组装系统硬件图标84和84’以及(优选地有助记忆的)硬件名称83和83’,这些信息是通用PSIP集模块57从数据流本身中提取的。因此,操作员10将看到系统硬件部件的可视显示。从TMX框架42接收系统硬件属性数据之后,单元管理器22将继续重现和显示可能在130产生的记录消息。这是在132通过故障管理器59和SNMP代理44的帮助完成的。因此,一旦记录查询开始,单元管理器22就会在132在图形用户界面80上显示端口和记录数据,其中将更新目录结构查看屏幕以在记录消息窗口87中显示输入端口85、输出端口85’和记录消息88。如所示,输入和输出端口85和85’优选地具有相关的有助记忆的字母数字标识符。这些端口同时也优选地是彩色的代码,可以显示端口是否处于活动状态。再次观看到新完成的目录结构查看屏幕81之后,操作员10可以启动不同的活动,如下参照图3到10所述。例如,这些活动可包括查看系统硬件属性134、查看系统软件属性156、开启输出端口166、详细指定现有视频和/或音频路由事件184、查看带宽利用206、查看记录活动222、详细指定未来路由事件238以及IP数据封装和插入事件260。操作员也可进行其它不同的相关活动,对于本领域普通技术人员来说,根据这里所包含的公开内容将很容易推出这一点。现在看图3,此示说明了根据本发明的一个优选实施例的不同系统硬件属性的查看处理过程134。图3所示的硬件处理是由操作员10根据从目录结构查看屏幕81顶部的目录条目中选择框架查看屏幕而发起的。此操作可以通过选择“查看”屏幕顶部的目录条目并选择框架查看选项而完成。可用的硬件查看选项包括“前框架查看”和“后框架查看”以及“系统信息”。根据在图形用户界面上对框架查看选项之一的选择,单元管理器22在TMX框架的协助下从合适的MIB收集请求的硬件信息(136)。如138所示,这个MIB数据是由TMX框架42提供的,随后,单元管理器22将会在框架查看屏幕89和90之一上显示信息。继续参看图3,可以看到图形用户界面80使用了接收到的硬件和状态数据来显示系统硬件属性,具体地说就是框架查看屏幕89和90,如操作员10所最初请求的一样。前框架查看屏89包括不同的图形对象,用于指示在TMX框架42内接收到的不同板卡的标识、物理结构、配置以及状态。在此说明性实例中,这些板卡包括CPU卡40”、多路复用器卡60”、第一输入处理器卡50”和第二输入处理器卡50。尽管也可以在前框架查看屏89的记录消息窗口87内接收记录消息,但是在本说明性实例中不会产生记录消息。操作员10也可以选择后框架查看屏90来替换前框架查看屏89。在该说明性实例中,后框架查看屏90包括不同的图形对象,用于指示在TMX框架42内接收到的不同板卡的后部的标识、物理结构、配置以及状态,可以参考上述有关前框架查看的讨论。可以选择将记录消息显示在后框架查看屏90的记录消息窗口87中。本发明的这个方面允许操作员10轻易地选择并随后以上述讨论的方式查看系统硬件属性。由于允许操作员10通过多路传输复用器20对难点进行故障检修,而不必物理上访问通信硬件本身,所以本发明的这个功能特别有利。在139示出了本发明的优选的连续硬件状态查询的功能。具体地说,通过重复执行框140-146的功能,以一定的间隔更新在框架查看屏幕中提供的LED状态信息。现在参看图4,本图说明了根据本发明的一个优选实施例的系统属性查看处理过程和性能156。如其中所示,当TMX执行158所示的功能时,系统属性(诸如板类型、DSP属性、软件版本等)的查看就可以开始其初始的系统发现处理。因此,该信息可很容易用于显示,SNMP代理44在160等待这样的查询。操作员10在目录结构查看屏幕81的顶部选择了版本查看目录选项之后,单元管理器22将会在162收集请求的信息并将在系统属性屏幕91中将其显示出来。随后可以如操作员所需地将数据显示出来。如图4和下面的表1所示,显示在屏幕91上的系统属性数据优选地包括板和运行在每个框架槽上的软件的如下数据域在图4的说明性实施例中,TMX框架42是一个在框架的每半个部分都具有五个板槽的中平面TMX框架。因此,这个说明性实例一共包括十个槽(每半平面各有五个槽)。在引用结合进来的发明申请中包括了对TMX框架42的结构和操作的详细描述,对于本领域技术人员来说,根据这里所包括的公开内容将很容易推出各种不同的变种装置。如图3和4所示,本系统的优选实施例包括具有系统信息表的GUI,通过这个GUI操作员可以访问有关系统的信息,诸如系统名称、系统说明、系统正常工作时间和系统位置。本发明的这个功能的操作方式通常类似于图4示出的并在上面刚刚描述过的查看软件版本功能。图5图示说明了本剧本发明的一个优选实施例的不同输出端口启动性能。如所示,操作员10选择将要开启的特定端口之后,就可以发起输出端口启动。在选择了端口之后,单元管理器22将在168显示传输编辑器92的缺省值。操作员10随后可以显示缺省数据,如果需要还会编辑数据,诸如可以把状态从禁止变为启动。例如,操作员通常将启动传输流,命名该流,并为所选择的端口分配信息传输码率。在选择“OK”按钮之后,将关闭传输编辑器,单元管理器22收集来自编辑器的传输信息并将其放置在合适的MIB表中(参见170)。TMX框架也会使用该信息来执行启动请求,如172所示。根据不同端口类型的变化的信息要求,MIB表可以是这两种类型之一TMXiftable(用于大多数端口)或者TMXgiexttable(用于DS3端口)。此外,单元管理器22在174创建一个PAT,该PAT由TMX输出,如176所示。最后,单元管理器将更新GUI的目录结构查看屏81,如178所示。图形用户界面80通过改变目录结构查看屏81中的端口图标的属性,指示了所需端口的成功开启。这优选地是通过改变端口图标的颜色而实现的,当然,本领域普通技术人员将很容易想到以其它的方式(诸如改变形状、运动、位置、尺寸、声音等等)实现。因此,操作员10可以通过观看最新更新过的图形用户界面80,可视地确认端口开启已经成功地完成。图6图示说明了根据本发明的一个优选实施例的不同的系统辅助的视频和/或音频路由性能。如下面更为详细地描述,本发明使操作员10能够手动或半自动地定义并执行内容流路由。具体地说,本发明的优选实施例给操作员提供了一个字母接一个字母地手动输入路由数据的能力,或者拖放图形对象到目录结构查看屏81的不同位置、从目录结构查看屏81的不同位置拖放图形对象。单元管理器22与图形用户界面80合作执行由相应的拖放操作所指定的不同路由规范命令。这可以通过对应于需要定义路由命令的不同实际域的MIB表的自动组装而实现。图形用户界面80上的拖放操作帮助操作员10为系统定义视频、音频和/或IP数据路由事件。因此以这种方式定义路由规范就是半自动的。图形用户界面上的拖放操作可用于进行不同的相关内容流路由功能。这些功能包括将与输入目录结构不同的层次拖到输出目录结构中。例如,操作员可以拖动(1)整个输入端口的内容流(可能包括多个程序,其中每个都可能包括多个部件);(2)输入端口到输出端口的完整程序;(3)从输入端口到输出端口程序的完整程序;和(4)从输入端口到输出端口的部件。根据这里所包含的公开内容,本领域普通技术人员将很容易地想到大量的其它拖放部件。但是,应该注意到,本说明书的这个部分具体地对目前出现的内容流路由进行寻址。然而,本发明也展望了将要在未来时间里自动执行的内容流路由的配置(例如参看图9)。如下面更详细地描述,下面紧接着要描述的内容流处理过程(适用于执行现有路由命令)是与用于执行未来路由事件的路由操作协调一致的,并且构成了用于执行未来路由事件的路由操作的一部分。主要参看图6,操作员10可以通过选择表示一个或多个将要发送到所需位置(例如输出端口)的内容流的图形对象,详细指定一个或多个现有路由事件。内容流可以是简单的或者可以包含多个部件,这些部件可以或不可以以一个或多种方式相互相关。例如,对象可以表示单一的部件内容流、共同组成一个程序的多个内容流或者在整个输入端口上共同组成数据流的多个内容流。在下面紧接着讨论的说明性实例中,操作员10将用于整个端口的内容流从输入目录结构拖动到输出目录结构中,并且继续编辑来自端口的一个程序中的视频和音频部件。优选地,是通过对一个或多个图形对象从目录结构查看屏81的输入端口窗口82到输出端口窗口82’进行拖放操作而完成根据本发明的协助路由的。这项操作具有获取与所选数据流的源相对应的配置数据的效果,如186所示。例如,拖放所需图形对象使得单元管理器22能够自动获取所需路由事件的相应的配置数据,诸如输入端口数量和位置、输出端口数量和位置、将要发送的内容流PID和将要发送的内容流的码率。此外,有关目标输出端口的信息(根据对象被放在哪里而决定)也将由单元管理器22获取,例如,该信息包括目标输出端口的位置。该信息使单元管理器22能够在186创建缺省设置并自动进行PID混叠,从而使得在通过多路传输复用器20发送不同流时不存在任何数据流冲突。然后,单元管理器22显示出拖放编辑器93和94,如188所示。操作员随后可以选择特定的部件进行编辑,并且在192,单元管理器22接收这个选择并显示部件编辑器(用于视频流的95和用于音频流的95’)的缺省信息,用于可能进行的编辑。如果部件编辑器95中所示的缺省数据对于操作员是可接受的话,就可以选择“OK”按钮以通知单元管理器可以进行后续的操作。具体地说,关闭部件编辑窗口将会使得单元管理器22收集来自GUI的信息并请求创建不同的MIB表条目,如194所示。TMX在196根据更新的MIB执行路由事件,而在198,由单元管理器22适当地更新GUI。在操作员看来,通过把图标从输入目录结构拖放到输出目录结构已经详细指定并简单进行了路由。事实上,通过如下所详述的系统的帮助已经详细指定了不同的路由参数。如果操作员10希望修改缺省的和/或获取的数据的话,操作员10就具有为内容流包含的每个部件详细编辑信息的能力。在示出的实例中,操作员10选择了编辑器窗口93中所示的程序1(一般地,操作员将选择某些类型的图形对象,诸如图标或其相关的文本),接着显示详细编辑器窗口94,该窗口中示出了所选程序的组成部件。在图6的例子中,通过编辑选择了程序1,其包括一个视频部件和一个音频部件。图形用户界面80优选地具有通过使用不同屏幕上的不同图形对象来识别内容流的能力,所述不同图形对象包括图标、字母数字字符串、实际程序名等。内容流标识数据优选地是携带在媒体流内的,这样,不管呈现在操作员10面前的是哪个查看屏幕,内容流标识数据都可以在整个图形用户界面中始终被显示。这里要重申,图形用户界面80优选地呈现一致的内容流名称或符号,并且可以贯穿整个界面过程显示。继续参看图6,对窗口94的“OK”按钮的选择将关闭拖放窗口并打开对应于所选部件的部件编辑器窗口,如192所示。在这种情况中,选择将要编辑的部件之后将会显示部件编辑器窗口95和95’中的一个,在这里操作员10还具有为任何所需程序的部件指定详细信息(诸如码率、目标PID等)的能力。在这种情况中,视频编辑器窗口95和音频编辑器95’都会显示出来,便于考虑和可能进行的编辑。这个功能使得用户能够更加容易地在正在发送的不同内容流中分配带宽,从而获得最大带宽利用率。选择了窗口95或95’之一的“OK”按钮之后,单元管理器22会根据编辑的更改来改变MIB表数据,并通知TMX执行指定的路由配置。配置管理器46随后按顺序继续配置目标多路复用器和量化级处理器并启动输入处理器,如196所示。当输出端口开启时,模块激活的顺序是本发明的一个重要方面。为了有效地执行路由事件,目标多路复用器、量化级处理器和输入处理器应该按照指定的顺序激活,从而将使系统不稳定的可能性降到最低。具体地说,配置管理器46使目标多路复用器收集所指定的PID并且将它们发送到目标输出。其次,配置管理器46必须向量化级处理器64提供将要发送的内容流所需的合适的码率和PMT。再次,配置管理器46应该通知输入处理器将具有特定PID的所有内容流发送到多路复用器。通过进行PID混叠并且随后将相关的数据作为低电压差分信号发送到多路复用器,优选地完成这项操作。如上面所提及的,使用不同于上述的顺序将模块激活,将会导致系统不稳定。例如,如果配置管理器想要首先启动输入处理器的话,多路复用器就可以开始接收内容流,这是所不期望的,并且这样的混乱将导致多路复用器失效。类似地,删除内容流(中止流到端口的发送)也应该以配置管理器46所指定的预设顺序进行。具体地说,应该将上述的顺序倒过来(对输入处理器去激活,对QLP去激活,最后对多路复用器去激活)。例如,如果首先停止多路复用器的话,多路复用器仍旧可能接收来自输入处理器的内容流,那么这种情况将会再次导致多路复用器失效。现在参看图7,本图说明了根据本发明的一个优选实施例的不同系统带宽利用查看性能。如图所示,操作员10通过从目录结构查看屏幕81的上部选择带宽管理器目录条目,发起本发明的查看带宽利用性能。这将使得单元管理器22在208能够显示带宽管理器屏幕,TMX开始查询系统的带宽使用数据并开始等待对该数据的进一步查询,如210-212所示。如本发明书末尾所附计算机程序中更加完整的表示,MIB表启动对MPEG输入/输出带宽利用信息的监测。具体地说,TMXinputPIDtable用作监控每个PID的输入速率。TMXoutputPIDtable用作监控每个PID的输出速率。具体地说,消息控制器45开始查询输入处理器和输出多路复用器的数据,该数据用于更新MIB表(从这两个源获取数据使得带宽查看窗口显示出输入带宽和输出带宽之间的比较),消息控制器还将该数据作为SNMP数据发送至单元管理器22,如214所示。单元管理器22周期性地查询TMX的这个信息,并且在216在图形用户界面80上显示该数据。随后将在214继续查询新的带宽利用数据。这样,将会不断地更新所有开启端口的带宽利用数据,并且可以通过图形用户界面80实时地显示该数据。最好在操作员关闭带宽窗口96和96’(诸如切换到框架或目录结构查看屏)时中止带宽数据查询。此时,将从MIB表中删除启动的内容流的PID。接收到带宽利用数据之后,图形用户界面80会显示带宽利用屏幕96。这个屏幕优选地包括自动改变比例的x和y轴以及一个用于正发送的每个内容流的单独图形对象,每个对象优选地都是带宽条(所示实例中的条97、97’和97”)。屏幕96中示出的每个带宽条都最好包括下述的多个属性输出带宽使用值97a,输入带宽使用值97b,最大输入带宽使用值97c和最小输入带宽使用值97d。实际上,带宽利用上的变化是实时地自动显示在带宽利用屏幕96中的。带宽利用屏幕96可包括大量面向用户友好的功能,从而使图形用户界面更加直观和有用。例如,可以向操作员10提供选择或取消选择在带宽利用屏幕96的右部上所示的图例显示的能力。同样地,操作员10最好具有选择或取消选择显示最小和最大带宽使用值的能力。此外,屏幕96最好具有为不同流显示相同有助记忆的标识符的能力,所述标识符可用于诸如目录结构查看屏幕的其它屏幕。需要重申的是,图形用户界面最好在整个系统中为每个内容流反映一致的标识符。当然,所过需要,也可以使用其它的标识符。这些标识符最好是通过内容流发送的,以便它们能够被删除并在不同的屏幕中显示。如上所述,这些标识符可以显示为彩色的图标和/或字母数字字符串等。在查看带宽利用屏幕96之后,操作员10可以选择一个带宽条来动态地显示所选条上有关组成内容流的不同部件的更加详细的信息。例如,给定的程序可能包括一个视频和两个音频部件。选择带宽条将会使得详细带宽利用窗口96’(以及有关这些部件的附加信息)出现在屏幕上。这种类型的选择将使单元管理器22在216产生查询,在210/212将由TMX做出响应。如窗口96’中所示,此时所选取带宽条的程序名称、组ID和全部带宽将被获得并显示在屏幕上。在这个说明性实施例中,当带宽利用大约为5Mbit/s时(比较图7的窗口96和96’),选择程序2的带宽条。此外,详细窗口将所选程序分解为其组成的部件。在这个例子中,程序具有三个组成部分IP数据1、视频数据1和音频数据1。屏幕96’示出了该程序每个部件的详细信息。该信息最好包括选择详细带宽利用窗口时的组成部件的带宽最小值、带宽最大值和瞬时带宽使用。结合参考屏幕96和96’可以看出,所显示的组成部件的带宽使用加在一起就是整个程序的带宽使用。此外,组成部件的最小值的和等于作为一个整体的程序的最小值。类似地,整个程序的最大值等于每个组成部件的最大值的和。最后,查看屏显示了与程序相关的分组标识符PID。由于该系统的这个方面可以实时地显示带宽,所以操作员将随着时间的变换而看到带宽的使用情况。不同时间点上的带宽使用情况的差异反映出了输入信号可以根据时间在整个系统的输入端上进行变化。例如,如果输入信号突然包括附加的部件,带宽查看屏幕就将实时地反映出这一变化。图8图示说明了根据本发明的一个优选实施例的不同事件记录和查看性能222。如图所示,系统具有过滤显示在图形用户界面上的记录消息的能力。根据本发明的查看记录信息最开始需要操作员选择合适的记录过滤级别,由此使系统处于四种模式之一。过滤级别是由单元管理器22记录的,通过过滤级别来规定显示在图形用户界面80的记录消息窗口87中的消息的数量和类型。可以从目录结构查看屏81顶部附近的“查看”下拉目录条目中选择所需的记录过滤级别,然后选择记录消息选项。优选地具有四种过滤级别正常状态、紧急状态、故障状态和调试。在调试模式中,所有产生的记录消息都将显示出来。启动之后,TMX框架42状态查询任务开始查询系统由此产生用于组装TMXLogPortTable的记录消息,如224所示。SNMP代理44随后等待对查询这些信息的响应,如226所示。这个记录消息可以由不同的固件模块和单元管理器22中的任意一个来产生,GUI80和TMX框架42协同连续地将根据前面所需记录级别的记录消息传递到图形用户界面,用于在滚动记录消息窗口中显示。此外,还将储存这些记录消息,用于将来的可能的恢复和分析。尽管在正常使用中可以过滤显示给操作员的记录消息,但是其实系统产生的所有消息都储存在单元管理器的主计算机上。最好在系统使用的每一天都产生一个单独的记录文件,并且操作员10具有在记录文件获得屏幕98中恢复和查看任意给定日期的记录消息的能力。在操作员10选择记录文件目录之后,单元管理器22恢复、显示和储存记录文件,如228所示。通过选择目录结构查看屏幕81顶部附近的“查看”目录条目并选择合适的选项可以访问该屏幕。在从存档屏幕98中的记录文件列表中选择每天的记录文件之后,可以显示来自所选记录文件的单独的记录消息,用于在屏幕98’上查看,如230所示。检查储存的记录消息时,操作员还具有通过选择如上面所讨论的四种过滤级别之一来过滤信息的能力。图9图示说明了根据本发明的一个优选实施例的不同未来内容流路由性能238。通过操作员在目录查看屏幕上的操作初始驱动对未来事件的详细指定。具体地说,在系统初始化和发现之后,系统会初始地建立一个从当前时刻跨越到未来的预设时刻(例如2年)的路由事件。这在时间条99中示出。操作员10随后可以选择时间条99,如目录查看屏幕81的右上部分所示。出现的弹出菜单允许操作员10修改显示的当前事件或创建新事件。在指定未来路由事件的例子中,操作员10将通过选择创建新事件选项并且指定新事件的开始和停止时间来创建一个新事件。此时,如240所示,单元管理器22将(缺省)创建另一个复制的事件。随后将该信息发送到图形用户界面80,用于显示和进行可能的修改,如241所示。提供给操作员10的特定编辑器取决于将要创建什么类型的事件。在图9的典型实例中,提供了音频和视频编辑器95和95’。也可以为未来路由事件指定IP数据流,本领域普通技术人员通过这里所包含的描述将很容易认识到这一点。一旦完成了未来事件的不同部件的所有不同细节,单元管理器22就会在242收集该信息,并在屏幕81’上显示该信息。如屏幕81’上所示,在图9的典型实例中定义了三个事件。在244,单元管理器22请求将新条目添加到特定MIB中,TMX框架42在246执行配置改变。单元管理器22还会在252更新GUI。由此示出目录结构查看屏幕81”,其基本上与屏幕81’相似,只是根据最新执行的配置显示路由目录结构。最好不要向TMX框架42提供这个未来事件配置数据,直到新定义的未来事件开始的预设时刻之前一点。之后(例如大约在预设时刻前的30秒),将整个配置数据发送到TMX框架42用于执行。该路由事件数据与上面结合图6讨论的略有不同,因为它还包括预设时间数据,用于指示新路由配置何时发生。这样,操作员10可以配置系统在未来的预设时间点上自动改变配置路由控制,甚至不用操作员来配置。因此,系统通过为扩展的时间段预设路由配置信息并且启动这种配置改变的自动执行,从而允许本发明自动控制宽带媒体硬件。图10图示说明了根据本发明的一个优选实施例的不同IP数据封装和插入性能和处理过程260。如下面更详细地描述,本发明使操作员10能够手动或半自动地定义和执行IP数据封装。具体地说,本发明的优选实施例给操作员提供了一个字母接一个字母地手动输入IP封装配置数据,或者将图形对象拖放到目录结构查看屏幕81的不同位置和从目录结构查看屏幕81的不同位置拖放图形对象,从而自动输入IP封装配置数据的能力。单元管理器22协同图形用户界面80一起执行相应拖放操作所指定的不同的路由命令。这可以通过自动组装对应于定义路由命令所需的不同域的MIB表来实现。在图形用户界面80上的拖放操作将协助操作员10定义系统的IP封装规范,其方式基本上类似于图6中所示和所述的视频和音频路由事件的半自动定义方式。根据本说明书的描述,本领域普通技术人员将很容易推出怎样扩展这些概念从而实现拖放步骤以获得半自动的IP数据封装。下面将立即结合图10和11描述手动的或者一个字母接一个字母的IP数据封装技术。主要参看图10,操作员可以通过从目录结构查看屏幕262中选择表示所需位置(例如一个开启的输出端口)的图形对象指定一个或多个IP数据封装事件260。操作员10随后可以选择特定的程序,在该程序中将插入封装好的IP数据。这使得单元管理器22在264能够获取与目标输出端口及可以在其中驻留的程序有关的配置数据。在图10的典型实例中,选择程序1用于IP数据部件的插入。作为对操作员选择程序1的响应,单元管理器22(在266)显示程序编辑器270并且将缺省输出端口值发送到图形用户界面以显示。操作员10随后可以在272输入与程序相关的不同的值,在单元管理器22的帮助下所述程序中将插入IP数据部件。随后将显示通用的和详细的IP数据部件编辑器274,以便操作员10可以指定不同的其它参数。操作员10具有在IP数据部件编辑器中为每个包括内容流的部件编辑增/删/改变详细信息的能力。具体地说,操作员10具有在通用和详细编辑器窗口274中为所选程序的每个部件指定细节(诸如源和目标IP地址、码率、目标PID等)的能力。这个功能使用户能够在正创建的不同IP数据流中更加容易地分配带宽,从而获得最大带宽使用率。以这种方式可以最多同时为128个IP数据流指定封装和插入。选择窗口274之一的“OK”按钮之后,单元管理器22将在276执行大量的功能。具体地说,单元管理器22从GUI收集编辑好的信息并请求将不同的新条目的缺省的和/或编辑好的数据放入到特定的MIB表中(如276所示)。单元管理器22还将该信息提供给TMX42用于执行,如图10的278和图11中所示。具体地说,在278,SNMP代理44创建新的MIB条目,消息控制器45将该信息传递到,配置管理器46,配置管理器46配置一个或多个多路复用器并通知IP封装模块66开始收集IP数据。IP封装模块66随后从指定的源IP地址接收IP数据,将每个IP数据封装为一个或多个MPEG包,由此构成MPEG数据流,并将其发送到目标多路复用器。目标多路复用器接收组装好的MPEG数据包并合适地发送MPEG数据。在280,单元管理器更新图形用户界面80,图形用户界面80在目录结构查看屏幕289上显示更新后的信息。操作员10随后可以查看IP数据图标290,该图标指示了IP数据的封装和插入正在进行。图11中详细说明了框278中进行IP封装操作的部分。如图所示,执行完IP封装操作282之后,封装模块66将通知(运行在主处理器上的操作系统的)IP数据栈在292收集/接收并检查IP数据包。在293,模块66随后检验系统是否准备好处理IP包(例如是否已经合适地配置好了目标多路复用器)。用于接收IP数据包的目的IP地址随后将在294测试有效性。具体地说,将检查目的IP地址以确定其是否是广播、单点传送或多点传送IP地址。这最好是通过检验目的地址是否在多点传送范围内以及该地址是否已经被指定用于数据收集/接收而完成。如果IP地址显示出该IP包不是多点传送包的话,就会判断出该IP数据必然是广播或单点传送包。如果这样的话,数据包将以常规的方式通过操作系统(OS)栈传递,然后进行296的操作,在这里它将简单地等待接收下一个IP数据包。具体地说,优选的OS(VxWorks)使用了标准的七层OSI适应(compliant)IP栈,其将处理每个广播和/或单点传送包从而确定其类型及其应该处理它的应用程序。因此,例如被发现作为ARP请求的广播包将被发送至ARP任务进行处理。相反地,如果源IP地址显示出该IP数据包是一个多点传送的IP包的话,该数据包就不能被简单地通过OS栈发送,这是因为,OS将无法识别该数据包,除非它是该包所需的接收者,然而这是不可能情况。因此,如果IP地址显示出该数据包氏一个多点传送的包并且如果该地址是单元管理器22指定作为与将要封装的IP数据相关的128个地址之一的话,该IP数据将会被转换成不同的形式,而且不需要作为IP数据包通过IP栈发送。为了完成这种情况,该处理首先前进到297,在这里,如果需要,IP数据包会被分段成更小的内容部件进行处理。过程随后传递到298,在这里组装MPEG数据包并将数据包发送到合适的多路复用器。具体地说,将在300创建一个4字节的MPEG帧头,其包括该包的目标PID。之后,在302,从IP数据包中提取出IP地址,并使用该IP地址为第一个MPEG数据包创建一个16字节的DSM-CC(数据存储媒体命令与控制)帧头。在最后的MPEG包中(例如后面的内容的最后一个字节)最好还包括一个常规的4字节的循环冗余码(CRC或CRC32)MPEG后缀。由于系统可以支持DVB或ATSC数据格式的输出数据,所以DSM-CC帧头还指示了输出数据是何种格式,由此说明这些格式间的差别。在304,最多可以向正在创建的MPEG的188字节包中添加168字节的内容。如果这包括了所有要发送的内容,那么在内容的最后一个字节之后将附上CRC。在308,将判断是否还需要装填数据以完成MPEG包。如果需要的话,操作282将传递到310,在这里将使用虚拟空数据填满MPEG包的剩余部分。该数据最好数值为255(十六进制的FF),并且一直重复直到构成一个完整的188字节MPEG数据包。通过本优选实施例的这个系统,将把最大的一个IP数据包插入到单独的MPEG包中。如果不再需要装填(或者在已经装填了包之后),操作传递到312,在这里将组装好的包发送到目标多路复用器并优选地存储在FIFO中用于组合附加的MPEG包(如果有的话)。操作还会传递到314,在这里确定接收到的IP数据包是否已经完全封装。如果是的话,处理传递到316,在这里多路复用器接收一个指示,其显示已经接收到了多少MPEG数据包,多路复用器还将接收到另一个指示,其显示这个/这些包应该被发送。操作282随后传递到296,在这里IP封装模块等待下一个要被封装的IP数据包。如果在314判断出IP数据并没有全部被封装的话,操作282就会传递到318,在这里来自IP数据包的额外的内容将被组装进MPEG数据包并被发送到合适的多路复用器。具体地说,操作282从314传递到320,在这里将会创建下一个MPEG数据包的MPEG帧头。随后在322向包中添加最多可达184字节的IP数据和CRC,在326将做出判断是否需要装填数据以完成MPEG包。如果是的话,操作282将传递到328,在这里将用虚拟空数据装填MPEG包的剩余部分。该数据最好数值为255(十六进制的FF),并且一直重复直到构成一个完整的188字节MPEG数据包。如果不再需要装填(或者在已经装填了包之后),操作282传递到330,在这里将组装好的包发送到目标多路复用器并优选地存储在FIFO中用于组合以前和后续组装的MPEG包(如果有的话)。操作还会传递到332,在这里确定接收到的IP数据包是否已经完全封装。如果否的话,将重复步骤320到332直到整个IP数据包都已经被完全封装,最后,操作传递到316和296,如下所述。如果是的话,在316,多路复用器会接收一个指示,其显示已经接收到了多少MPEG数据包,多路复用器还将接收到另一个指示,其显示这些包应该被发送。操作随后传递到296,在这里IP封装模块等待下一个要被封装的多点传送的IP数据包。当操作员10为所述主体的输出端口指定不同的功能时,或者当用于制定时间的时间段终止的时候,操作282就会终止。此时,IP封装模块66将等待来自配置管理器46的进一步的指令。下面的计算机程序列表解释了上面提及的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&amp;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>虽然本发明是结合在目前看来最实用和优选的实施例而描述的,但是应该可以理解,本发明并不限于所公开的这些实施例,而是希望包含那些包括在所附权利要求的精神和范围内的不同的修改和等价的结构。至于以上的描述,例如,应该认识到,对于本领域技术人员来说,可以很容易地得到最优的实现、功能以及操作、组合和使用的方式,并且所附权利要求希望包括那些在附图中说明和在说明书中描述的所有的等价关系。因此,可以认为上述对本发明原理的描述是说明性的,而并非穷举。权利要求1.一种使用SNMP、通过网络远程控制宽带通信硬件的控制系统,所述通信硬件包括进行内容流操作的多个处理器板和用于配置和控制所述处理器板的配置任务固件,所述控制系统包括用户界面,用于向控制系统操作员显示信息、并接收来自所述操作员的输入;单元管理器,其将所述用户界面与网络通信连接,所述单元管理器将操作员的输入打包为SNMP消息,并通过网络将该消息发送到SNMP代理,所述单元管理器还将通过网络从所述SNMP代理接收SNMP消息,并将其中包含的信息提供给所述用户界面,从而显示给所述操作员;和SNMP代理,其将所述配置任务固件与网络通信连接,所述SNMP代理包括用于把在所述单元管理器和所述配置任务固件之间交换的信息进行代理的装置。2.如权利要求1所述的控制系统,其中所述SNMP代理将通过网络从所述单元管理器接收的SNMP消息转换成能够被配置任务固件理解的形式,并将信息打包进SNMP消息以便于所述单元管理器通过网络接收。3.如权利要求1所述的控制系统,其中所述内容流是MPEG2数据流,所述网络是以太网络,所述通信硬件是TMX框架。4.如权利要求1所述的控制系统,其中所述用户界面是包括公用浏览器的图形用户界面。5.如权利要求1所述的控制系统,其中所述SNMP代理将从所述配置任务固件接收的系统数据组装进MIB表,所述单元管理器从所述MIB表中读取所述系统数据并将其提供给所述用户界面用于显示。6.如权利要求1所述的控制系统,其中所述单元管理器将从所述用户界面接收的操作员的输入组装进MIB表,所述SNMP代理从所述MIB表中读取所述操作员的输入并将其作为指令提供给所述配置任务固件。7.如权利要求1所述的控制系统,其中所述单元管理器运行在与网络通信连接的个人计算机上,其中所述单元管理器在设置阶段已经被作为javaapplet通过网络上载到所述计算机。8.一种通过网络远程控制宽带通信硬件的方法,所述通信硬件包括用于操作内容流的多个处理器板与用于配置和控制所述处理器板的配置任务固件,所述方法包括在网络上的第一位置接收来自操作员的内容流控制命令;将所述控制命令打包为SNMP消息;通过网络将所述SNMP消息发送到物理上远离所述第一位置的第二位置;在所述第二位置接收所述SNMP消息;将所述接收到的SNMP消息转换成所述配置任务固件能够理解的控制命令;和将所述转换后的命令发送到所述配置任务固件,以用于执行。9.如权利要求8所述的方法,其中所述内容流是MPEG2数据流,所述网络是以太网网络,所述通信硬件是TMX框架。10.如权利要求8所述的方法,其中接收内容流控制命令的步骤包括从包括浏览器的图形用户界面接收内容流拖放命令。11.如权利要求10所述的方法,其中将所述控制命令打包为SNMP消息的步骤包括将由所述拖放命令所产生的内容流属性组装进MIB表。12.如权利要求10所述的方法,其进一步包括查询所述通信硬件的系统状态数据;将所述系统状态数据组装进MIB表;从所述MIB表读取所述系统状态数据;和在所述图形用户界面上显示所述系统状态数据。13.如权利要求10所述的方法,其进一步包括查询所述通信硬件的内容流属性数据;将所述内容流属性数据组装进MIB表;从所述MIB表读取所述内容流属性数据;和在所述图形用户界面上显示所述内容流属性数据。14.如权利要求10所述的方法,其进一步包括查询所述通信处理器板属性数据,该数据包含涉及所述处理器板的标识、结构和操作状态的数据;将所述处理器板属性数据组装进MIB表;从所述MIB表读取所述处理器板属性数据;和在所述图形用户界面上显示所述处理器板属性数据。15.一种通过网络远程开启TMX框架的输出端口的方法,所述TMX框架具有多路复用器、量化级处理器和输入处理器,用于操作流过所述输出端口的内容流,所述方法包括在网络上的第一位置接收来自操作员的端口开启命令;通过网络将所述端口开启命令发送到位于物理上远离所述第一位置的第二位置的TMX框架;接收到所述端口开启命令之后,首先激活所述目标多路复用器;接着激活所述量化级处理器;和然后激活所述输入处理器,由此允许内容流流过所述输出端口。全文摘要本发明公开一种多功能的多路传输复用器以及多种相关的方法、系统、子系统、软件功能、图形用户界面和控制系统。所公开的内容包括GUI,其使得操作员能够通过使用SNMP协议轻易地实时监测并使用流过多路传输复用器的内容流。所公开的界面包括多个屏幕,其能够向操作员提供系统硬件和软件的标识、结构、配置、带宽使用和/或状态信息。所公开的功能还提供了通过简单操作(诸如图形目标的拖放操作)为现在和将来的路由事件进行的计算机辅助路由配置。通过允许操作员同时配置单一内容流部件和这样的部件组,从而进一步简化了路由控制。文档编号H04N7/24GK1504030SQ02808501公开日2004年6月9日申请日期2002年4月16日优先权日2001年4月20日发明者布拉尼斯拉夫·N·米德吉拉,布拉尼斯拉夫N米德吉拉,E休伊特,杰夫·E·休伊特,吴国飞,刘元元,蔡樱樱申请人:通用仪表公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1