光路由器中的信道调度的制作方法

文档序号:7955690阅读:336来源:国知局
专利名称:光路由器中的信道调度的制作方法
相关申请交叉参考本申请要求共同未决美国临时申请系列号60/257,884的申请日,该临时申请由Zheng等人于2000年12月22日申请,名称为“光路由器中的数据信道调度器的统一关联存储器”
新出现的密集波分复用(DWDM)技术通过提高光纤的容量改善了带宽问题。然而,这种提高的容量造成了与现有电子交换技术的严重失配,因为与DWDM的每秒若干兆兆比特容量相比,现有电子交换技术只能交换速率最多到每秒几千兆比特的数据。虽然新兴ATM交换机和IP路由器可利用光纤中的单个信道通常以每秒几百千兆来交换数据,然而,这种方法意味着必须要用几十或几百个交换接口来端接具有大量信道的单根DWDM光纤。这样,当并行信道只用作独立链路的集合而不是用作共享资源时,可能导致很大的统计复用效率的损失。
目前,提出了各种主张在交换系统中采用光学技术来取代电子技术的方法;然而,光学部件技术的局限性大大地限制了光交换的灵巧管理/控制应用。一种方法,称为光成组交换联网,试图最佳利用光和电交换技术。电子技术通过将单独的用户数据脉冲串分配给DWDM光纤的信道来动态控制系统资源,而光学技术只用于在光学域中交换用户数据信道。
以前的用于直接处理端对端用户数据信道的光网络已不太令人满意。
因此,需要一种用于提供光成组交换网络的方法和设备。
本发明提供快速而有效的方法用于调度在光成组交换路由器中的脉冲串。


为了更好地理解本发明及其优点,下面将参照结合附图所作的说明,其中图1a是光网络的框图;图1b是核心光路由器的框图;图2示出了调度过程的数据流;图3示出了调度器的框图;图4a和4b示出了脉冲串标题分组相对于数据子帧的到达时序图;图5示出了DCS模块的框图;图6示出了关联存储器PM的框图;图7示出了关联存储器PG的框图;
图8示出了LAUC-VF调度方法的流程图;图9示出了CCS模块的框图;图10示出了关联存储器PT的框图;图11示出了调度控制信道的受限定的早期方法的流程图;图12示出了路径和信道选择器的框图;图13示出了一例通过循环缓冲器的阻塞输出信道;图14示出了BHP传输模块的存储器的存储结构;图15示出了采用无源FDL环路的光路由器体系结构的框图;图16示出了一例具有多个PM和PG对的路径和信道调度器的框图;图17a和17b示出了输出数据信道的时序图;图18示出了CLKf和CLKs的时钟信号;图19a和19b示出了用于路由器的时隙操作的可选硬件改进方式;图20示出了关联处理器PM的框图;图21示出了关联处理器PG的框图;图22示出了关联处理器PMG的框图;图23示出了关联处理器P*MG的框图;图24示出了一种利用多个关联处理器来快速调度的实施方式的框图;图25示出了供多个信道群使用的处理器PM-ext的框图;和图26示出了供多个信道群使用的处理器PG-ext的框图。
图1a示出了光成组交换网络4的一般框图。光成组交换(OBS)网络4包括多个电子入口端路由器6和多个出口端路由器8。这些入口端路由器6和出口端路由器8与多个核心光路由器10连接。入口端路由器6、出口端路由器8和核心路由器10之间利用光链路12进行连接。每根光纤能够载送光数据的多个信道。
工作时,光数据的数据子帧(或简称为“脉冲串”)是准备通过网络4发送的基本数据块。入口端路由器6和出口端路由器8负责脉冲串的组合和拆分功能,并作为光成组交换网络4与常规电子路由器之间的老式接口。
在光成组交换网络4中,所要发送的基本数据块是脉冲串,它是一些具有某些共同属性的分组的集合。脉冲串由脉冲串有效载荷(称之为“数据子帧”)和脉冲串标题(称之为“脉冲串标题分组”或BHP)组成。光成组交换网络的固有特征在于,在每个网络节点中,数据子帧及其BHP以不同的信道传送,并且分别在光学域和电子域中进行交换。BHP比其关联数据子帧提前一个时间偏移量τ(≥0)被发送。其初始值τ0由(电子)入口端路由器8设置。
本发明中,“信道”被定义为两个邻近路由器之间的某一单向传输能力(以每秒比特为单位)。一个信道可以由一个波长或几分之一波长组成(例如,当采用时分复用时)。载送数据子帧的信道被称为“数据信道”,而载送BHP和其他控制分组的信道被称为“控制信道”。“信道群”是一组具有共同类型并且节点邻近的信道。链路被定义为两个路由器之间的总传输能力,通常由每个方向上的“数据信道群”(DCG)和“控制信道群”(CCG)组成。
图1b示出了核心光路由器10的框图。对于每根光纤12,分用器18将入口DCG 14与CCG 16分离开。每个DCG 14被光纤延迟线(FDL)19所延迟。分用器22将延迟后的DCG分为信道20。每个信道20被输入到无阻塞空分交换机24上各自的输入节点。空分交换机24的另外一些输入和输出节点与循环缓冲器(RB)26连接。循环缓冲器26由循环交换控制器28控制。空分交换机24由空分交换控制器30控制。
CCG 16与一个交换控制单元(SCU)32连接。针对各CCG 16,SCU包括一个光/电收发信机34。光/电收发信机34接收光CCG控制信息并将该光信息转换成电信号。电CCG信息被分组处理器36所接收,该处理器再将信息传送到转发器38。各CCG的转发器与交换机40连接。交换机40的输出节点与各自的调度器42连接。调度器42与路径和信道选择器44连接,还与各自的BHP发送模块46连接。BHP发送模块46与电/光收发信机48连接。电/光收发信机产生输出CCG52,以便通过复用器50与各自的输出DCG 54信息相关联。路径和信道选择器44还与RB交换控制器28和空分交换控制器30连接。
图1b中所示的实施方式具有N个输入DCG-CCG对和N个输出DCG-CCG对52,其中每个DCG都有K个信道而每个CCG只有一个信道(k=1)。DCG-CCG对52以一根光纤来载送。一般而言,光路由器可能是不对称的,CCG 16的信道数k可能大于1,而DCG-CCG对52可能以一根以上的光纤12来载送。在所示的实施方式中,有一个缓冲信道群(BCG)56,该信道群具有R个缓冲信道。一般而言,可以有一个以上的BCG 56。光交换矩阵(OSM)包含一个(NK+R)×(NK+R)空分交换机和一个具有WDM(波分复用)FDL缓冲器的R×R交换机,其中缓冲器用作循环缓冲器(RB)26,以解决出口数据信道上的数据子帧争用问题。空分交换机是一个绝对无阻塞交换机,这意味着,入口数据信道上到达的数据子帧可以被交换到任一空闲的出口数据信道。输入FDL 19所引入的延迟Δ应当足够长,以便SCU 32在其关联数据子帧进入到空分交换机之前有足够的时间来处理BHP。
R×R RB交换机是一种广播和选择类型的交换机,这种类型如“P.Gambini等,‘Transparent Optical Packet Switching NetworkArchitecture and Demonstrators in the KEOPS Project’,IEEEJ.Selected Areas in Communications,vol.16,no.7,pp.1245-1259,Sept.1998”中所述。假定,R×R RB交换机有B根FDL,其中第i根FDL引入Qi延时,1≤i≤B。在不失一般性情况下,还假定,Q1<Q2<...<QB和Q0=0(意味着没有使用FDL缓冲器)。注意,所有N个输入DCG共同使用FDL缓冲器,而每根FDL包括R个信道。以任意入口信道进入RB交换机的数据子帧可被所提供的B个延时之一所延时。图1b中的循环缓冲器通过去掉RB交换机的功能可被简化为无源FDL环路,如图15中所示,其中不同的缓冲信道可以具有不同的延迟。
SCU部分基于电子路由器。在图1b中,SCU具有N个输入控制信道和N个输出控制信道。SCU主要包括分组处理器(PP)36,转发器38,交换结构40,调度器42,BHP传输模块46,路径和信道选择器44,空分交换控制器30,和RB交换控制器28。分组处理器36,转发器38和交换结构40可以存在于电子路由器中。其他部件(尤其是调度器)对光路由器而言是新出现的。设计SCU时尽可能多地采用分布式控制,但对被集中的共用FDL缓冲器的存取的控制除外。
分组处理器执行第一层和第二层拆封功能并为每个到达的BHP附上一个时间标记,这样可以记录关联数据子帧到达OSM的时间。该时间标记是BHP到达时间、BHP所载送的脉冲串偏移时间τ和输入FDL19所引入的延迟Δ的总和。转发器主要执行转发一览表,以判断哪个出口CCG 52转发BHP。关联数据子帧将被交换到相应的DCG 54。可以用无连接或面向连接方式来完成转发。
每个DCG-CCG对52都有一个调度器。调度器42根据BHP所载送的信息调度出口DCG 54的数据信道上的数据子帧的交换。如果发现有空闲的数据信道,那么调度器42将调度出口控制信道上的BHP的传输,从而通过保持偏移时间τ(≥0)尽可能接近τ0,尝试使BHP与其关联数据子帧再同步。在顺利地调度了数据子帧和BHP之后,如果调度器42不必通过循环缓冲器26提供延迟,那么它将配置信息发送给空分交换控制器30,否则,调度器还要将配置信息发送给RB交换控制器28。
图2中示出了调度判决过程的数据流。在判决块60中,调度器42判断是否有足够的时间来调度入口数据子帧。如果是的话,那么,调度器判断是否可以调度数据子帧,即在指定输出DCG 54中是否有空闲空间用于数据子帧。为了调度数据子帧,必须有可用的空间提供给指定输出DCG中的数据子帧。这一空间可以在以数据子帧到空分交换机24的到达时间为起点延长到循环缓冲器26所能提供的最大延迟的时间窗内起动。如果可以调度数据子帧,那么,在判决块64中,调度器42必须判断在输出CCG 52中是否有可用的空间用于BHP。
如果判决块60、62或64中的任一判决为否定的话,那么在块65中放弃数据子帧和BHP。如果判决块60、62和64中的所有判决均为肯定的话,那么调度器向路径和信道选择器44发送调度信息。从调度器到路径和信道选择器的配置信息包括入口DCG标识符,入口数据信道标识符,出口DCG标识符,出口数据信道标识符,数据子帧到空分交换机的到达时间,数据子帧时长,FDL标识符i(要求Qi延时,0≤i≤B)。
如果FDL标识符为0,也就是说无需FDL缓冲器,那么,路径和信道选择器44简单地将配置信息转发给空分交换控制器30。否则,在判决块68中,路径和信道选择器44寻找发向RB交换机26的空闲入口缓冲器信道。如果有的话,那么在判决块70中,路径和信道选择器44寻找发自RB交换机26的空闲出口缓冲器信道,以便在RB交换机26中的指定延迟之后载送重新进入空分交换机的数据子帧。假定,一旦数据子帧进入RB交换机,它就可以被延迟集合{Q1,Q2,...,QB}中的任一离散时间。如果情况不是这样,那么路径和信道选择器44必须得考虑RB交换机体系结构。如果进出RB交换机26的空闲信道都能找到,那么,路径和信道选择器44将配置信息发送给空分交换控制器30和RB交换控制器28,并向42调度器发回一个ACK(确认)。否则,它向调度器42发回一个NACK(否认),并在块65中放弃BHP和数据子帧。
从路径和信道选择器44到空分交换控制器30的配置信息包括入口DCG标识符,入口数据信道标识符,出口DCG标识符,出口数据信道标识符,数据子帧到空分交换机的到达时间,数据子帧时长,FDL标识符i(要求Qi延时,0≤i≤B)。如果i>0,那么,该信息还包括入口BCG标识符(到RB交换机),入口缓冲信道标识符(到RB交换机),出口BCG标识符(来自RB交换机),和出口缓冲信道标识符(来自RB交换机)。
从路径和信道选择器到RB交换控制器的配置信息包括入口BCG标识符(到RB交换机),入口缓冲信道标识符(到RB交换机),出口BCG标识符(来自RB交换机),出口缓冲信道标识符(来自RB交换机),数据子帧到RB交换机的到达时间,数据子帧时长,FDL标识符i(要求Qi延时,1≤i≤B)。
空分交换控制器30和RB交换控制器28可执行从所接收到的配置信息到建立内部路径时所涉及的物理组成的映射,并且可使交换机及时地使数据子帧快速通过光路由器10。当FDL标识符大于0时,空分交换控制器可以在空分交换机中建立两个内部路径,一个是当数据子帧到达空分交换机时从入口数据信道到入口循环缓冲信道的路径,另一个是当数据子帧重新进入空分交换机时从出口缓冲信道到出口数据信道的路径。当接收到来自路径和信道选择器44的ACK时,调度器42可更新所选择的数据和控制信道的状态信息,并准备处理新的BHP。
最后,BHP传输模块在调度器所指定的时间传输BHP。
以上是关于在光路由器中如何调度数据子帧的一般描述。必要的话,可以根据下述设计原理容易地推广通过R×R循环缓冲交换机循环数据帧一次以上。
图3示出了调度器42的框图。调度器42包括调度队列80,BHP处理器82,数据信道调度(DCS)模块84,和控制信道调度(CCS)模块86。每个调度器只需保持对其关联出口DCG 54和出口CCG 52的忙/闲时段的跟踪。
来自电子交换机的BHP首先保存在调度队列80中。对于基本操作,所需要的是一个调度队列80,然而对于不同的业务级别,可以保留一些虚拟调度队列80。可以根据BHP的到达次序或根据其关联数据子帧的实际到达次序来提供各个队列80。BHP处理器82协调数据和控制信道的调度过程,并将配置情况发送给路径和信道选择器44。它可以顺序地或并行地启动DCS模块84和CCS模块82,这取决于DCS和CCS模块84和82的实现情况。
在串行调度情况下,BHP处理器82首先启动DCS模块84,以便在所要求的输出DCS 54中调度数据信道上的数据子帧(DB)。在判定了何时发出数据子帧之后,BHP处理器便启动CCS模块86,以便调度关联控制信道上的BHP。
在并行调度情况下,BHP处理器82同时启动DCS模块84和CCS模块86。由于CCS模块86不知道何时发出数据子帧,因此,它针对数据子帧的所有可能的出发时间或其子集来调度BHP。总共有B+1种可能的出发时间。根据DCS模块84所报告的实际数据子帧出发时间,BHP处理器86将选出合适的时间来发出BHP。
在OBS网络中的边缘与核心之间以及核心节点之间的数据和控制信道中,可采用时隙传输。时隙是一个固定长度的时间段。设Ts是数据信道中一个时隙的时长(例如,以μs为单位),而Tf是控制信道中一个时隙的时长。如果数据信道速率是每秒rd千兆比特,那么一个时隙可发送Ts*rdKbit信息。同样,如果控制信道速率是每秒rc千兆比特,那么一个时隙可发送Tf*rcKbit信息。考虑两种设想(1)rc=rd和(2)rc≠rd。在后一种情况下,一个典型的例子是rc=rd/4(例如,OC-48用于控制信道,而OC-192用于数据信道)。
在不失一般性的情况下,假定,Tf等于Ts的若干倍。图4a和4b(也可参见图18)中描述了两个例子,这里说明当初始偏移时间τ0=8Ts时,在Tf=Ts以及Tf=4Ts的情况下时隙传输系统中的时间标记和脉冲串偏移时间。为了便于描述,我们用时帧来表示控制信道中的时隙。在不失一般性的情况下,还假定(1)数据子帧长度可变,为时隙的倍数,它们可以只到达时隙界线,和(2)BHP长度也可变,为字节的倍数。固定长度的数据子帧和BHP仅仅是特例。在时隙传输中,针对不同的用途,在各时隙中都有一些额外开销,比如同步和检错。假定,控制信道上的帧有效载荷为Pf个字节,它小于(Tf*rc)*1000/8字节,因此,在时帧中可以发送总信息量。
OSM具有周期性。对于数据信道上的时隙传输,配置周期的一个典型的例子是1个时隙,尽管配置周期也可能是时隙的倍数。这里,假定每个时隙都对OSM进行配置。FDL Qi的长度也要求是时隙的倍数,1≤i≤B。由于时隙传输和交换,建议在SCU中使用时隙作为基本时间单位,以便于数据信道调度、控制信道调度和缓冲信道调度,以及BHP与其关联数据子帧之间的同步。这样便于设计各种调度器。
关于图4a、4b和5,将使用下列整数变量tBHPBHP进入SCU的时帧的起点;tDB数据子帧(DB)到达光交换矩阵(OSM)的到达时间;lDB以时隙为单位的DB的时长/长度;Δ输入FDL所引入的延迟(以时隙为单位);τ脉冲串偏移时间(以时隙为单位)。
每个到达SCU的BHP在收发信机接口处经O/E转换后都被标上时间标记,以便记录BHP进入SCU的时帧的起点。对于SCU在同一时帧接收到的BHP,它们将具有相同的时间标记tBHP。为了便于调度,最重要的变量是tDB(即DB到达OSM的到达时间)。假定在SCU中使用b-bit时隙计数器来跟踪时间,那么可以按下式来计算tDBtDB=(tBHP·Tf+Δ+τ)mod 2b(1)在SCU 32中,可以由BHP来载送时间标记tDB。注意,也可以从BHP到达的时帧的起点开始计算脉冲串偏移时间τ,如图4a-b中所示,其中,在图4a中,tBHP=9和τ=6个时隙,而在图4b中,tBHP=2和τ=7个时隙。假定Δ=100个时隙,则有tDB=115,即DB将在时隙界线115到达。在图4a-b中,1≤τ≤τ0=8。在不失一般性的情况下,假定,图1b中的空分交换机的交换等待时间可以忽略。因此,如果没有使用FDL缓冲器的话,那么,数据子帧到达空分交换机24的到达时间tDB也就是其出发时间。注意,即便交换等待时间不可忽略,在信道调度时,tDB仍可以作为数据子帧出发时间,这是因为,在路由器输出端口可以补偿交换等待时间,从而在此使数据和控制信道再同步。
图5示出了DCS模块84的框图。在这一实施方式中,关联处理器阵列PM90和PG92并行搜索未调度信道时间以及调度信道时间之间的间隙,并更新状态信息。间隙和未调度时间以相对时间来表示。PM90和PG92与控制处理器CP194连接。在一种实施方式中,采用LAUC-VF(具有空填充的最近有效未使用信道)调度原理来确定所需的调度,这种调度原理如Zheng等人于2000年10月12日申请的美国系列号09/689,584中所述,该申请的名称为“具有FDL缓冲器的光路由器的信道调度算法的硬件实现”,在此作为参考。
DCS模块84使用两个b-bit时隙计数器C和C1。计数器C跟踪与CCS模块86共同使用的时隙。计数器C1记录自从接收到最近的BHP所逝去的时隙。这两个计数器以时隙时钟的脉冲而递增。然而,当DCS模块84接收到新的BHP时,计数器C1复位到0。一旦计数器C1达到2b-1,它就停止计数,这表示自从接收到最近的BHP后已逝去了至少2b-1个时隙。b的值应当满足2b≥Ws,其中Ws是数据信道调度窗。Ws=τ0+Δ+QB+Lmax-δ,其中Lmax是DB的最大长度,而δ是BHP从O/E转换器到调度器42的最小延迟。假定,τ0=8,Δ=120,QB=32,Lmax=64,而δ=40,那么,Ws=184个时隙。在这种情况下,b=8比特。
图5中的关联处理器PM用来保存DCG中的各数据信道的未调度时间。设ti为信道Hi的未调度时间,它被保存在PM的第i个条目中,0≤i≤K-1。于是,从时隙ti向前,信道Hi是空闲的,即没有被调度。ti是一个相对于调度器接收到最近BHP的时隙的相对时间。PM有一个2K字的关联存储器,用以分别保存未调度时间ti和信道标识符。未调度时间按下降次序被保存。例如,在图6中,有K=8和t0≥t1≥t2≥t3≥t4≥t5≥t6≥t7。
类似地,图5中的关联处理器PG用来保存DCG中的各数据信道的间隙。我们用lj和rj来表示间隙j的起始时间和结束时间,0≤j≤G-1,这些时间也是相对时间。这一时隙被保存在PG的第j个条目中,其相应的数据信道是Hj。PG有一个G个字的关联存储器,用以分别保存间隙起始时间、间隙结束时间和信道标识符。间隙也可以根据其起始时间lj按下降次序被保存。例如,图7示出了这种关联存储器PG,其中l0≥l1≥l2≥...≥lG-2≥lG-1。G是可以被保存的间隙的总数。如果间隙多于G个,那么具有较大起始时间的最新间隙将推出具有最小起始时间的间隙,它驻留在关联存储器的底部。注意,如果lj=0,那么,在DCG中总共有j个间隙,因为lj+1=lj+2=...=lG-1=0.
一旦接收到BHP处理器发出的调度出发时间为tDB而时长为lDB的DB的请求,控制处理器(CP1)94首先就记录下接收到该请求的时隙tsch,读取计数器C1(te←C1),并将C1复位到0。然后,CP1将tsch作为新的参考时间,计算出相对于tsch的DB出发时间(无FDL缓冲器)为t′DB=(tDB-tsch+2b)mod 2b, (2)同时,CP1根据下式更新PMti=max(0,ti-te), 0≤i≤K-1 (3)然后,利用以下公式更新PGlj=max(0,lj-te), 0≤j≤G-1 (4)和rj=max(0,rj-te), 0≤j≤G-1. (5)存储器更新之后,CP194搜索合格的出口数据信道,以便根据以上所引用的LAUC-VF方法载送数据子帧。流程图如图8中所示。在块100中,指数i设为“0”。在块102中,PG找出一个间隙以便在t’DB+Qi发送数据子帧。在块106中,PM在PM中找出未调度信道以便在t’DB+Qi时间发送数据子帧。注意,在PG中找出间隙以便在时间t’DB+Qi发送DB的操作和在PM中找出未调度时间以便在时间t’DB+Qi发送DB的操作最好并行执行。在PG中找出间隙以便在时间t’DB+Qi发送数据子帧的操作(块102)包括将PG中的每个条目与(t’DB+Qi,t’DB+Qi+lDB)并行比较。如果t’DB+Qi≥lj而t’DB+Qi+lDB≤rj,那么,条目j的响应比特返回1,否则,它返回0,0≤j≤G-1。如果PG中至少一个条目返回1,那么选择最小指数的间隙。
在PM中找出未调度时间以便在时间t’DB+Qi发送DB的操作(块106)包括将PM中的每个条目与t’DB+Qi并行比较。如果t’DB+Qi≥tj,那么,条目j的响应比特返回1,否则,它返回0,0≤j≤K-1。如果PM中至少一个条目返回1,那么选择最小指数的条目。
如果在判决块104或108中调度成功,那么,在块105或109中,CP1分别将所选择的出口数据信道和FDL标识符通知给BHP处理器82。在接收到来自BHP处理器82的ACK之后,CP194将更新PG90或PM94或者两者都更新。如果调度不成功,那么在块110中,将i递增,并且PM和PG试验某一时间,以便以不同的延迟调度数据子帧。一旦Qi达到最大延迟(判决块112),处理器PM和PG在块114中报告无法调度数据子帧。
为了提高调度处理过程的速度,可以并行进行搜索。例如,如果B=2,并使用了三个相同的PM′和PG′,如图5中所示,那么,一个并行搜索将判断是否可以在时间t’DB、t’DB+Q1和t’DB+Q2发出数据子帧。如果能以不同的时间发出数据子帧,那么选择最小的时间。在另一例中,如果B=5,并使用了三个相同的PM′和PG′,那么,至多两个并行搜索将判断是否可以调度DB。
下面列举了LAUC-VF方法的一些简化形式,它们也能用于本实现方式。第一,可采用FF-VF(具有空填充的最先适合)方法,其中,PM中的未调度时间的次序和PG中的间隙并不按某一次序(下降或上升次序)排序,而是利用所找到的最先合格的数据信道来载送数据子帧。第二,可采用LAUC(最近有效未调度信道)方法,其中,未使用PG,即不考虑空填充。这还可以简化设计。第三,可采用FF(最先适合)方法。FF是FF-VF的一种简化形式,其中没有使用空填充。
图9中示出了CCS模块86的框图。与DCS模块84类似,关联处理器PT120跟踪控制信道的使用。由于每帧能发送最大Pf个字节的有效载荷,因此,PT120的存储器T 121只跟踪每帧可用的字节数(图10)。这里,同样采用相对时间。CCS模块86具有两个b1-bit帧计数器Cf和Cf1。Cf计数时帧。Cf1记录自从接收到最近的BHP所逝去的帧。一旦接收到到达时间为tDB的BHP,CP2122就将接收到这一BHP的帧标上时间标记,即tfsch←Cf。同时,它读取计数器Cf1(tfe←Cf1),并将Cf1复位到0。然后,它通过将Bi下移tfe个位置更新PT,即 =Bi(tfe≤i≤2b1-1),和Bi=Pf(2b1-tfe≤i≤2b1-1)。在初始化时,PT中的所有条目都被置为Pf。接着,CP2利用下式计算出数据子帧出发时(假定使用FDL Qi)的帧tfDBtDBf(Qi)=[((tDB+Qi)mod2b)/Tf],0≤i≤B,----(6)]]>其中,Tf是以时隙为单位的帧长度。根据下式计算出DB出发的相对时帧tDB′f(Qi)=(tDBf(Qi)-tschf+2b1)mod2b1,0≤i≤2----(7)]]>参数b1可以根据参数b来估算,例如,2b1=2b/Tf。当b=8且Tf=4时,b1=6。采用以下方法可以搜寻针对某一DB出发时间t(例如,t=t’fDB(Qi))可能的BHP出发时间。基本思想是尽可能早地发送BHP,但偏移时间不应大于τ0(结合图4a和4b中所述)。设J=「τ0/Tf」。例如,当τ0=8个时隙而Tf=1个时隙时,J=8。当τ0=8个时隙而Tf=4个时隙时,J=2。假定,BHP长度为X个字节。
在这一优选实施方式中,用强制最早时间(CET)方法来调度控制信道,如图11中所示。在步骤130中,PT120将X(即BHP的长度)与存储器T 121的相关条目Et-j的内容Bt-j并行比较,0≤j≤J-1,而t-j>0。如果X≤Bt-j,那么条目Et-j返回1,否则,它返回0。在步骤132中,如果PT中至少一个条目返回1,那么,在步骤134中选择最小指数的条目。保存该指数,并且,CCS模块86报告已找到发送BHP的帧。如果,PT中没有条目返回“1”,那么,向BHP处理器82发送一个否认(步骤136)。
如果选择Et-j,那么发出BHP的实际帧tf为(tfDB-j+2b1)mod2b1。新的脉冲串偏移时间为(tDBmodTf)+j*Tf。
在运用了CET方法后,CCS模块86向BHP处理器82发送关于是否调度BHP以及在哪个时帧发送该BHP的信息。一旦得到来自BHP处理器82的ACK,CCS模块86就将更新PT。例如,如果条目y中的内容需要被更新,那么,By←By-X。如果无法调度BHP,那么CCS模块86将向BHP处理器82发送一个NACK。在实际实现方式中,PT中的内容不必实际移动。可用一个指针来记录与参考时帧0相关的条目指数。
为了并行调度,如下所述,由于CCS模块86不知道数据子帧的实际出发时间,因此,它可以在数据子帧的所有可能的出发时间或其子集调度BHP,并向BHP处理器82报告结果。当B=2时,有三个可能的数据子帧出发时间t’DB、t’DB+Q1和t’DB+Q2。象DCS模块84一样,如果使用三个相同的PT′,如图9中所示,那么,一个并行搜索将判断是否可以在这三个可能的数据子帧出发时间调度该BHP。
图12中示出了路径和信道选择器44的框图。路径和信道选择器44的功能在于,控制对R×R RB交换机26的接入,并指令RB交换控制器28和空分交换控制器30对各自的交换机26和24进行配置。路径和信道选择器44包括处理器140,它与循环缓冲输入调度(RBIS)模块142、循环缓冲输出调度(RBOS)模块144和队列146连接。RBIS模块142跟踪发向RB交换机26的R个入口信道的使用,而RBOS模块144跟踪发自RB交换机26的R个出口信道的使用。在RBIS和RBOS模块142和144中,可以采用任意调度方法,例如,LAUC-VF、FF-VF、LAUC、FF等。注意,RBIS模块142和RBOS模块144可以采用相同或者不同的调度方法。从制作角度来看,RBIS和RBOS模块最好采用与DCS模块84相同的调度方法。在不失一般性的情况下,这里假定,在RBIS和RBOS模块142和144中均采用LAUC-VF方法;这样,DCS模块的设计方案可以再利用,从而可应用于这些模块。
假定,时长为lDB的数据子帧在时间tDB到达OSM并且要求延时Qi。处理器140同时启动RBIS模块142和RBOS模块144。它将tDB和lDB的信息发送给RBIS模块142,并将离开OSM的时间(tDB+Qi)和lDB的信息发送给RBOS模块144。RBIS模块142搜寻发向RB交换机26的在(tDB,tDB+lDB)时间段内空闲的入口信道。如果有两个或两个以上合格的入口信道,那么RBIS模块将根据LAUC-VF选择一个信道。同样,RBOS模块144搜寻发自RB交换机26的在(tDB+Qi,tDB+lDB+Qi)时间段内空闲的出口信道。如果有两个或两个以上合格的出口信道,那么RBOS模块144将根据LAUC-VF选择一个信道。RBIS(RBOS)模块将所选择的入口(出口)信道标识符或NACK发送给处理器。如果找到了发向RB交换机26的合格的入口信道和发自RB交换机26的合格的出口信道,那么处理器将向RBIS和RBOS模块分别发回一个ACK,于是,这两个模块将更新信道状态信息。同时,处理器还向调度器42发送一个ACK,并向两个交换控制器28和30发送配置信息。否则,处理器140将向RBIS和RBOS模块142和144发送NACK,并向调度器42发送一个NACK。
需要RBOS模块144是因为,数据子帧所要使用的FDL缓冲器是由调度器42选择的,而不是由RB交换机26确定的。因此,数据子帧很可能可以进入RB交换机26,但很可能由于出口信道冲突而无法从RB交换机26出去。图13中示出了一个例子,其中,三个固定长度的数据子帧148a-c到达2×2 RB交换机26。前两个数据子帧148a-b将延时2D,而第三个DB将被延时D。显然,这三个数据子帧将同时离开交换机并争用两个出口信道。本例中,第三个数据子帧148c将丢失。
BHP传输模块46负责在BHP处理器82所确定的时帧中在出口控制信道52上发送BHP。由于在时隙传输中,帧有效载荷是固定的,都等于Pf,因此,图14中示出了一种可能的实现方式,其中,整个存储器被划分成Wc段150,并且要以同一时帧发送的BHP被保存在同一个段150中。Wc是控制信道调度窗,它等于2b1。每段都有一个存储指针(如段W0中所示),用于指向新BHP可被保存的存储地址。为了区分一帧中的BHP,帧额外开销应当包括一个指示帧中BHP个数的字段。再者,每个BHP都应当包括一个长度字段,用于指示BHP的第一个字节到最后一个字节的分组长度(例如,以字节为单位)。
假定,tc是BHP传输模块接收到BHP的当前时帧,而pc指向当前存储段。给定BHP出发时帧tf,那么,根据(pc+(tf-tc+2b1)mod2b1)mod2b1计算出保存这一BHP的存储段。
图15示出了采用无源FDL环路160作为循环缓冲器的光路由器体系结构,其中,循环信道的个数R=R1+R2+...+RB,其第j个信道群引入Qj延时,1≤j≤B。这里,循环信道有区别,而在图1b中,所有循环信道等同,这里的循环信道可以提供B个不同的延迟。采用无源FDL环路的潜在问题在于访问共享FDL缓冲器的阻塞可能性较大。例如,假定B=2,R=4和R1=2,R2=2,并且R1的两个循环信道当前正在使用中。如果新DB要求被延时Q1,那么在图1b中可以顺利地调度该DB,因为还有两个空闲的循环信道。然而,在图15中无法调度它,因为能够延时Q1的两个信道忙。
SCU 32的设计方案除了下列一些变动之外与前面所述情况几乎相同(1)路径和信道选择器44中的RBOS模块144(参见图12)不再需要,(2)RBIS模块142中需要略有修改,以便区分循环信道(如果B>1的话)。为了减小B>1时对FDL缓冲器的存取的阻塞可能性,要求调度器为需要被缓冲的每个数据子帧都提供一个以上的延迟选择。下面提出了对调度器以及路径和信道选择器44的设计方案的影响情况。在不失一般性的情况下,在下面的讨论中,假定调度器42必须针对B+1个可能的延迟来调度数据子帧和BHP。
在本实现方式中,图5中所示的DCS模块84的设计方案仍有效。搜索结果可以按表1(假定B=2)中所示的格式被保存,表中,指示符(1/0)指示出对于给定的延迟(比如说Qi)是否找到合格的数据信道。存储器类型(0/1)指示出PM或PG。条目指数给出存储器中的位置,它用于以后进行信息更新。信道标识符列给出所找到的信道的标识符。于是,DCS模块将指示符列和信道标识符列(仅指示符为1的那些列)传送给BHP处理器。
表1DCS模块中保存的搜索结果(B=2)

图9中所示的CCS模块86的设计方案也仍有效。搜索结果可以按表2(假定B=2)中所示的格式被保存,表中,指示符(1/0)指示出对于给定的DB出发时间在控制信道上是否能调度BHP。条目指数给出存储器中的位置,它用于以后进行信息更新。“发送BHP的帧”列给出BHP被调度以便发出的时帧。于是,CCS模块将指示符列和“发送BHP的帧”列(仅指示符为1的那些列)传送给BHP处理器。表2CCS模块中保存的搜索结果(B=2)

在比较了DCS和CCS模块中的指示符列后,图3中的BHP处理器82知道,对于给定的FDL延迟Qi(1≤i≤B),是否能调度数据子帧及其BHP,并判断将哪些配置信息发送给图12中路径和信道选择器44。三种可能的设想是(1)未使用FDL缓冲器可调度数据子帧,(2)使用FDL缓冲器可调度数据子帧,和(3)无法调度数据子帧。
在第三种情况下,只能丢弃数据子帧及其BHP。在第一种情况下,将向路径和信道选择器发送下列信息入口DCG标识符,入口数据信道标识符,出口DCG标识符,出口数据信道标识符,数据子帧到空分交换机的到达时间,数据子帧时长,FDL标识符0(即Q0)。路径和信道选择器44在接收到这些信息后立刻发回一个ACK。在第二种情况下,将向路径和信道选择器发送下列信息■入口DCG标识符,■入口数据信道标识符,■候选FDL缓冲器的个数x,■for(i=1to x do)●出口DCG标识符,●出口数据信道标识符,●FDL标识符i■数据子帧到空分交换机的到达时间,■数据子帧时长在第二种设想中,通信和信道选择器44将搜寻空闲缓冲信道以便载送数据子帧。RBIS模块142类似于结合图12所述的模块,只是,在这里,对于每个延迟为Qi的信道群,0≤i≤B,它都有一个PM和PG对。作为例子,图16中示出了B=2时的一个例子。利用一个并行搜索,RBIS模块将知道能否调度数据子帧。当x=1时,RBIS模块142根据BHP处理器82选择了哪个FDL缓冲器执行对(PM190a,PG192a)或(PM290b,PG292b)的并行搜索。如果找到了空闲缓冲信道,那么它将通知处理器140,处理器140又向BHP处理器82发送一个ACK。当x=2时,将搜索(PM1,PG1)和(PM2和PG2)。如果找到了两个不同延迟的空闲信道,那么选择延迟为Q1的信道。在这种情况下,向BHP处理器82发送一个ACK以及选择Q1的信息。成功搜索后,RBIS模块142将更新相应的PM和PG对。
图17-26示出了上面所引用的LAUC-VF方法的变形。在上面所引用的LAUC-VF方法中,两个关联处理器PM和PG用来保存同一外出链路的所有信道的状态。具体地说,PM保存r个字,其中每个字都对应外出链路的r个数据信道中的一个信道。它用来记录这些信道的未调度时间。PG包含n个超字,每个超字对应某个数据信道中的一个可用时间间隔(一个间隙)。存储在PM和PG中的这些时间都是相对时间。PM和PG支持关联搜索操作,以及数据移动操作,以便按排定的次序保存这些时间。由于进行并行处理,PM和PG用作主要部件,以满足严格的实时信道调度要求。
在图22-23中所述的实施方式中,用于同一外出链路的一对关联处理器PM和PG被合成一个关联处理器PMG。用统一的PMG取代一对PM和PG的好处是可以简化总的核心路由器实现方式。根据ASIC实现方式,PMG的开发费用大大低于一对PM和PG的开发费用。PMG可用来实现LAUC-VF方法的一种更简单的运行更快的变形。
在图17a和17b中,示出了两个外出信道Ch1和Ch2,其中t0为当前时间。就t0而言,信道Ch1有两个所调度的DB,即DB1和DB2,而Ch2有一个所调度的DB3。Ch1上的DB1与DB2之间的时间称为间隙,它是未被任何DB占用的最大时间间隔。标为t1和t2的时间分别是Ch1和Ch2未调度的时间。在t1和t2之后,Ch1和Ch2各自可用于发送任何DB。
LAUC-VF方法设法根据某些优先顺序调度DB。例如,假定新的数据子帧DB4在t’时间到达。针对图17a中的情况,可以在Ch2的未调度时间之后,在Ch1上或在Ch2上的间隙内调度DB4。LAUC-VF方法为DB4选择了Ch1,并且,根据一个原来的间隙得到两个间隙。针对图17b中的情况,DB4与Ch1上的DB1冲突,又与Ch2上的DB3冲突。但通过利用FDL缓冲器,它可以在不与Ch1上的DB和/或Ch2上的DB冲突的情况下被调度后进行传输。图17b示出了这样一种调度,即DB4被分配到Ch2上,并得到一个新的时隙。
假定,外出链路具有r个数据信道,那么,这一链路的状态其特征在于以下两个集合SM={(ti,i)|ti是信道Chi的未调度时间}
SG={(lj,rj,cj)|lj<rj而间隔[lj,rj]是信道Chcj上的间隙}在美国系列号09/689,584中所提出的LAUC-VF的实施方式中,提出两个关联处理器PM和PG分别用来表示SM和SG。由于存储器字长固定,保存在PM的关联存储器M和PG的关联存储器G中的时间都是相对时间。假定,当前时间为t0。于是,小于t0的任何时间值不能用来调度新的DB。设S′M={(max(ti-t0,0},)|(ti,i)∈SM}S′G={(max{lj-t0,0},max{lj-t0,0},cj)|(lj,rj,cj)∈SG}S’M和S’G中的时间是相对于当前时间t0(作为参考点0)的时间。因此,PM中的M和PG中的G实际上分别用来保存S’M和S’G。
美国系列号09/689,584中所提出信道调度器假定DB具有任意长度。一种可能性是采取一种时隙传输方式。在这种方式中,以时隙为单位发送DB,而BHP成组发送,每组都由一个时隙来载送。时隙时钟CLKs用来确定时隙界限。时隙传输由CLKs脉冲来起动。因此,以CLKs周期数为单位来表示相对时间。CLKs脉冲如图18中所示。除了时钟CLKs之外,还有另一个更密的时钟CLKf。CLKs的周期是CLKf周期的倍数。在图18所示的例子中,一个CLKs周期等于16个CLKf周期。时钟CLKf用来协调CLKs的周期内所执行的操作。
在图19a和19b中,提供了对美国系列号09/689,584中所提出的PM和PG的硬件设计的改进,以适应时隙传输。在PM中,有一个r个字的关联存储器M。M中的每个字Mi本质上都是一个寄存器,并且它与减法器200相关联。寄存器MC保存一个算子。在图19a的实施方式中,保存在MC中的值是自从M中最近更新后逝去的时间。将保存在MC中的值播送给所有的字Mi,1≤i≤r。每个字Mi都进行如下操作如果Mj>MC,则Mj←Mj-MC;否则,Mi←0。这一操作用来更新M中所保存的相对时间。如果MC保存了自从执行最近时间并行减法之后逝去的时间,那么,再进行这一操作,将这些时间更新为相对于进行这一新的“并行减法”时间的时间。另一种操作是并行比较。在这一操作中,将保存在MC中的值播送给所有的字Mi,1≤i≤r。每个字Mi都进行如下操作如果MC>Mi,则MFLAGi=1;否则,MFLAGi=0。优先级编码器将信号MFLAGi(1≤i≤r)变换成地址。这一地址和与该地址相应的字分别被输出到M的地址和数据寄存器。这一操作用来寻找发送给定DB的信道。类似地,两个减法器用于PG中的关联存储器G的字,每个对应一个子字。
图19b中所示的另一设计用来将M中的每个字Mi实现成并行装载的递减计数器。系统时隙时钟CLKs的每个脉冲都将使该计数器减1。当计数器到达0时,将停止计数,而一旦计数器被置为新的正值,就将恢复计数。假定,在时间t0计数器的值为t’,而在时间ti>t0,计数器的值为t”那么,t”是t’的相同时间(但是相对于ti而言),即t”=max{t’-(t1-t0),0}。注意,相对于新参考点t1的任何负时间(即,t’-(t1-t0)<0)不用于先行信道调度。与每个字Mi相关的是比较器204。该比较器用于并行比较操作。同样,可利用具有两个关联比较器的两个递减计数器来实现PG中G的字。
本系统具有一个c-bit的循环递增计数器Cs。时隙时钟CLKs的每个脉冲都将使Cs的值加1。设tlatency(BHPi)是路由器接收到BHPi的时间与信道调度器接收到BHPi的时间之间的时间,它以S’G周期数为单位。值c按下式来选择2c>[maxtlatency(BHPi)MAXs]]]>其中,MAXs是CLKs周期内CLKf的周期数。当路由器接收到BHPi时,用操作timestamprecv(BHPi)←Cs来为BHPi标记时间。当路由器调度器接收到BHPi时,再用timestampsch(BHPi)←Cs来为BHPi标记时间。设Di=(timestamprecv(BHPi)+2c-timestampsch(BHPi))mod 2c于是,DBi到路由器的光交换矩阵的相对到达时间(用时隙时钟CLKs表示)为Ti=Δ+τi+Di,其中τi是BHPi与DBi之间的偏移时间,而Di是固定输入FDL时间。利用作为参考点的执行timestampsch(BHPi)←Cs的时隙时间,以及保存在PM和PG中的相对时间,可以正确地调度DBi。
在LAUC-VF方法的硬件实现中,关联处理器PM和PG分别用来保存和处理S’M和S’G。在任何时候,S’M={(ti,i)|1≤i≤r}而S’G={(lj,rj,cj)|lj≥0}。S’M中的二元组(ti,i)表示信道Chi上的未调度时间,而S’G中的三元组(lj,rj,cj)表示信道Chcj上的时间间隙(间隔)[lj,rj]。未调度时间ti可认为是半无穷大间隙[ti,∞]。因此,通过将这一半无穷大间隙包含到S’G中,就不再需要S’M。
具体地说,设S”M={(ti,∞,i)|(ti,i)∈S’M},并定义S’MG=S”MU S’G。合成PM和PG的基本思想是通过修改PG来构成PMG,这样,可用PMG来处理S’MG。我们提出了关联处理器PMG的结构,用于取代PM和PG。PMG利用关联存储器MG来保存S’M中的二元组和S’G中的三元组。同PG中的G一样,MG中的每个字都有两个子字,当一个字用来保存(lj,rj,cj)时,其第一个子字用于lj,而第二个子字用于rj。当MG中的字来保存S’M中的二元组(tj,i)时,其第一个子字用于ti,而第二个子字留着未用。前r个字预定给S’M,而剩余的字预定给S’G。前r个字按其第一个子字的非增加的次序保存,而剩余的字也按其第一个子字的非增加的次序保存。下面定义PMG的新的操作。
下面,将概括PM和PG的结构和操作,并定义PMG的结构和操作。PMG之间的不同包括所用的地址寄存器的个数、优先级编码器和所支持的操作。可以看到,与使用PM和PG的实现方式相比,PMG可以无需任何延迟用来实现LAUC-VF方法。
核心路由器的外出数据信道具有r个信道(波长),用于数据传输。这些信道用Ch1,Ch2,...,Chr来表示。设S={ti|1≤i≤r},其中,ti是信道Chi的未调度时间。换言之,在ti之后的任何时间,信道Chi都可用于传输。给定一个时间T’,PM是一个关联处理器,用于快速搜索T”=min{ti|ti≥T’},其中T’是给定时间。假定,T”=tj,那么,信道Chj被认为是一个候选数据信道,用于在T’时间发送DB。
为了说明,在图20和21中示出了PM和PG的结构,而在图22中示出了PMG。
图20中示出了PM210的实施方式。关联处理器PM包括一个关联存储器M 212,该存储器有k个字M1,M2,...,Mk,每个字对应数据信道群的一个信道。每个字都与一个简单的用于减法和比较操作的减法电路相应。这些字还被连成一个线性数组。比较寄存器MC 214保存用于比较的算子。MCH 216是一个存储器,该存储器有k个字MCH1,MCH2,...,MCHk,其中MCHj与Mj对应。这些字还被连成一个线性数组,并且它们用于保存信道编号。MAR1218和MAR2220是地址寄存器,用于保存访问M和MCH的地址。MDR 222和MCHR224是数据寄存器,用于访问M和MCHR以及MAR。
关联处理器PM支持下列在有效实现LAUC-VF信道调度操作中所用的主要操作随机读给出MAR1中的地址x,执行MDR1←Mx,MCHR←MCHx。
随机写给出MAR1中的地址x,执行Mx←MDR,MCHx←MCHR。
并行搜索将MC中的值与所有字M1,M2,...,Mk的值同时(并行)进行比较。找出最小的j,使得Mj<MC,并执行MAR1←j,MDR1←Mj,和MCHR←MCHj。如果所有的字Mj都不满足Mj<MC,那么,在这一操作之后,MAR1=0。
段下移给出MAR1中的地址a,和MAR2中的b,使得a<b,那么,对所有的j(a≤j<b),执行Mj+1←Mj和MCHj+1←MCHj。
对于“随机读”、“随机写”和“段下移”操作,每个二元组(Mj,MCHj)都可以作为一个超字来处理。“并行搜索”的输出包括r个二进制信号MFLAGi(1≤i≤r)。当且仅当Mi≤MC时,MFLAGi=1。有一个优先级编码器,其输入为MFLAGi(1≤i≤r),当“并行搜索”操作完成时,它将得到地址j并将该值装入MAR1中。“随机读”、“随机写”、“并行搜索”和“段下移”操作用来保存M中所存储的值的非增加次序。
图21示出了关联处理器PG92的框图。PG用于保存核心路由器的外出链路的所有信道的未用间隙。间隙用一个整数二元组(l,r)来表示,其中l和r分别是间隙的起点和终点。关联处理器PG包括关联存储器G 93、比较寄存器GC 230、存储器GCH 232、地址寄存器GAR234、数据寄存器GDR 236和GCHR 238以及工作寄存器GR1240和GR2242。
G是一个关联存储器,它有n个字(G1,G2,...,Gn),每个Gi包括两个子字Gi,1和Gi,2。这些字被连成一个线性数组。GC保存一个字,它有两个子字GC1和GC2。GCH是一个存储器,该存储器有n个字GCH1,GCH2,...,GCHn,其中GCHj与Gj对应。这些字被连成一个线性数组,并且它们用于保存信道编号。GAR是一个地址寄存器,用于保存访问G的地址。GDR和GCHR是数据寄存器,用于访问M和MCHR以及GAR。
关联处理器PG支持下列在有效实现LAUC-VF信道调度操作中所用的主要操作随机写给出GAR中的地址x,执行Gx,1←GDR1,Gx,2←GDR2,GCHx←GCHR。
并行双比较字搜索将GC中的值与所有字G1,G2,...,Gn的值同时(并行)进行比较。找出最小的j,使得Gj,1<GC1和Gj,2>GC2。如果这一操作成功,那么,执行GDR1←Gj,1,GDR2←Gj,2,GCHR←GCHj和GAR←j;否则,GAR←0。
并行单比较字搜索将GC1中的值与所有字G1,G2,...,Gn的值同时(并行)进行比较。找出最小的j,使得Gj,1>GC1并且j在寄存器GAR中。如果这一操作成功,那么,执行GDR1←Gj,1,GDR2←Gj,2,GCHR←GCHj和GAR←j;否则GAR←0。
双上移给出GAR中的地址a,那么,对a≤j<n,移位Gj+1的内容,Gj←Gj+1,GCHj←GCHj+1,GCHj到GCHj+1,和Gn,1←0,Gn,2←0。
双下移给出GAR中的地址a,执行Gj+1←Gj,GCHj+1←GCHj,a≤j<n。
在PG中,三元组(Gi,1,Gi,2,GCHi)对应于信道GCHi上的一个间隙,其起始时间为Gi,1而结束时间为Gi,2。对于“随机写”、“并行双比较字搜索”、“并行单比较字搜索”、“双上移”和“双下移”操作,每个三元组(Gi,1,Gi,2,GCHi)都可以作为一个超字来处理。“并行双比较字搜索”(相应地,“并行单比较字搜索”)操作的输出包括n个二进制信号GFLAGi(1≤i≤n),这样,当且仅当Gi,1≥GC1且Gi,2≤GC2(相应地,Gi,1≥GC1)时,GFLAGi=1。有一个优先级编码器,其输入为GFLAGi(1≤i≤n),当该操作完成时,它将得到地址j并将该值装入GAR1中。“随机写”、“并行单比较字搜索”、“双上移”和“双下移”操作用来保存Gi,1中所存储的值的非增加次序。
美国系列号09/689,584中详细讨论了PM和PG的操作。
图22示出了处理器PMG的框图,该处理器组合了上述PM和PG处理器的功能。PMG包括关联存储器MG 248、比较寄存器MGC 250、存储器MGCH 252、地址寄存器MGAR1254a和MGAR2254b、数据寄存器MGDR 256和MGCHR 258。
MG是一个关联存储器,它有m=r+n个字(MG1,MG2,...,MGm),每个MGi包括两个子字MGi,1和MGi,2。这些字被连成一个线性数组。MGC是一个比较寄存器,它保存一个字,该字有两个子字MGC1和MGC2。MGCH是一个存储器,该存储器有m个字MGCH1,MGCH2,...,MGCHm,其中MGCHj与MGj对应。这些字被连成一个线性数组,并且它们用于保存信道编号。
关联处理器PMG支持下列主要操作
随机读给出MGAR1中的地址x,执行MGDR1←MGi,1,MGDR2←MGi,2,MGCHR←MGCHx。
随机写给出MGAR中的地址x,执行MGx,1←MGDR1,MGx,2←MGDR2,MGCHx←MGCHR。
并行混合搜索将MGC1中的值与所有超字MGi(1≤i≤m)的值并行进行比较,并将MGC1和MGC2中的值与所有超字MGj(r+1≤j≤m)并行进行比较。(i)如果MGC2≠0,则并行执行下列操作找出最小的j’,使得,j’≤r且MGj’,1<MGC1。如果这一操作成功,那么,执行MGAR1←j’;否则MGAR1←0。找出最小的j”,使得,r+1≤j”≤m,MGj,1<MGC1和MGj,2>MGC2。如果这一操作成功,那么,执行MGAR2←j”和MGCHR←MGCHi;否则MGAR2←0。(ii)如果MGC2=0,那么,找出最小的j’,使得,1≤j’≤m且MGj’,1<MGC1,MGj,2>MGC2。如果这一操作成功,那么,执行MGAR1←j”和MGCHR←MGCHi;否则MGAR1←0。
双上移给出MGAR1中的地址a,那么,对a≤j<m,执行MGj←MGj+1,MGCHj←MGCHj+1,MGCH,到MGCHj+1,和MGn,1←0,MGn,2←0。
段下移给出MGAR1中的地址a,和MGAR2中的b,使得a<b,那么,对所有的j(a≤j<b),执行MGj+1←MGj和MGCHj+1←MGCHj。
如PG中那样,三元组(MGi,1,MGi,2,MGCHi)可对应于信道MGCHi上的一个间隙,其起始时间为MGi,1而结束时间为MGi,2但在这种情况下,必须是i>r。如果i≤r,那么,MGi,2并不重要,二元组(MGi,1,MGCHi)被解释为信道MGCHi上的未调度时间MGi,1,并且这个二元组对应于PM中的一个字。对于“随机读”、“随机写”、“并行混合搜索”、“双上移”和“段下移”操作,每个三元组(MGi,1,MGi,2,...,MGCHi)都可以作为一个超字来处理。前r个超字用来保存r个外出信道的未调度时间,而后个m-r个超字用来保存关于所有外出信道上的间隙的信息。
“并行混合搜索”操作的输出包括一些二进制信号MGFLAGi,其值定义如下(i)如果MGC2=0且MGi,1≥MGC1,则MGFLAGi=1;(ii)如果MGC2≠0,i≤r,MGi,1≥MGC1,则MGFLAGi=1;(iii)如果MGC2≠0,i>r,MGi,1≥MGC1,MGi,2≤MGC2,则MGFLAG1=1,或者,如果MGi,1≥MGC1且i≤r,则MGFLAGi=1;和(iv)否则,MGFLAGi=0。
有两个编码器。第一个编码器其输入为MGFLAGi(1≤i≤r),如果MGC2≠0,那么,当“并行混合搜索”操作被执行后,它将在MGAR1中产生一个地址。第二个编码器其输入为MGFLAGi(r+1≤i≤m)。如果MGC2≠0,那么,当“并行混合搜索”操作被执行后,它将在MGAR2中产生一个地址。有一个选择器,以两个编码器的输出作为其输入。如果MGC2=0,那么,当“并行混合搜索”操作被执行后,将两个编码器产生的最小非零地址(如果有这种地址的话)装入到MGAR1中;否则,当“并行混合搜索”操作被执行后,将MGAR1置零;如果MGC2≠0,那么,选择器的输出失能。
“随机读”、“随机写”、“并行混合搜索”、“双上移”和“段下移”操作用来保存MGi,1中前m个字的所存储的值的非增加次序,以及MGi,1中后m-r个字的所存储的值的非增加次序。
当关联处理器PM和PG用来实现LAUC-VF信道调度方法时,PMG的操作可以在没有任何延迟的情况下完成PM和PG操作。假定,PMG包括m=r+n个超字。在表3(相应地,表4)中,右边一列中所给出的PMG的操作用来完成左边一列中所给出的PM(相应地,PG)的操作。不用同时搜索PM和PG,而使用PMG,这一步骤可以由“并行混合搜索”操作来完成。表3用PMG来模拟PM

表4用PMG来模拟PG

在LAUC-VF方法中,最好使给定的DB适合间隙,即使DB可以在另一信道上被调度(在其未调度时间之后),如图17a-b中的例子所示。对于单独的PM和PG,同时执行PM和PG的搜索操作,这一优先级是合理的。然而,执行这种操作的总电路可能太复杂。
通过将PM和PG合成一个关联处理器,这种LAUC-VF方法的既简单又快速的变形是可行的。图23中示出了另一种实施方式。该图中,处理器P*MG270包括一个数组TYPE 272,它有m比特,每个比特与存储器MG中相应的字有关联。如果TYPEi=1,那么MGi保存一项S’M,否则,MGi保存一项S’G。再者,寄存器TYPER 274是一个1比特寄存器,用于访问TYPE以及MGAR1和MGAR2。
P*MG与PMG之间的其他差别包括所用的优先级编码器和所支持的操作。当调度新的DB时,搜索MG。所找到的合适时间间隔(不管它是一个间隙还是一个半无穷大间隔)用于新的DB。一旦DB被调度,又得到另一个间隙。只要MG中有足够的空间,就将新的间隙保存在MG中。当MG充满时,可以丢失一项S’G。但是,必须强制保留S’M的所有的项。
设,tsout(DBi)和teout(DBi)分别是在路由器的输出端发送DB的第一个时隙和最后一个时隙的发送时间。那么tsout(DBi)=Ti+Lj和teout(DBi)=Ti+Lj+length(DBi),其中,Ti是前面所定义的相对到达时间,Lj是交换矩阵中为DBi所选择的FDL延时,而length(DB2)是DBi的长度,它以时隙数为单位。假定在DB交换矩阵中有q+1个FDL,L0,L1,...,Lq,且L0=0<L1<L2<...<Lq-1<Lq。LAUC-VF的新的变形拟定如下方法“信道调度”开始success←0;对于j=0至q,循环执行MGG1←Ti+LjMGC2←Ti+Lj+length(DBi);利用P*MG执行“并行混合搜索”;如果MGAR1≠0,则如果MGAR1≠0,则开始输出MGCHR,作为用于发送DBi的信道编号输出Lj,作为所选择的用于DBi的FDL延时;
利用MGC1和MGC2中的值更新P*MG中的MG,success←1;退出/*退出这一循环*/结束结束循环如果success=0,那么丢弃DBi/*调度DBi失败*/结束一旦调度了DB,就更新MG。当一个新的间隙要加入到MG,而TYPEm=1时,忽略这一新的间隙。这样确保了没有属于S’M的项丢失。
关联处理器P*MG支持下列主要操作随机读给出MGAR1中的地址x,执行MGDR1←MGi,1,MGDR2←MGi,2,MCHR← MGCHx,TYPER←TYPEx。
随机写给出MGAR1中的地址x,执行MGx,1←MGDR1,MGx,2←MGDR2,MGCHx←MGCHR,TYPEx←TYPER。
并行混合搜索将MGC1中的值与所有超字MGi(1≤i≤m)的值并行进行比较,并将MGC2与所有超字MGi(1≤i≤m,其TYPEi=0)并行进行比较。找出最小的j’,使得,TYPEj’=1且MGj’,1<MGC1,或者,TYP Ej=0,MGj,1<MGC1和MGj,2>MGC2。如果这一搜索成功,那么,执行MGAR1←j’,TYPER←TYPEj’,MGCH←MGCHj’;否则MGAR1←0。
双上移,段下移与PMG中相同。
操作中,TYPEi的值表示MGi中所保存的信息的类型。如PG中那样,三元组(MGi,1,MGi,2,MGCHi)可对应于信道MGCHi上的一个间隙,其起始时间为MGi,1而结束时间为MGi,2。但在这种情况下,必须是TYPEi=0。如果TYPEi=1,那么,MGi,2并不重要,二元组(MGi,1,MGCHi)被解释为信道MGCHi上的未调度时间MGi,1,并且这个二元组对应于PM中的一个字。对于“随机读”、“随机写”、“并行混合搜索”、“双上移”和“段下移”操作,每个四元组(MGi,1,MGi,2,TYPEi,MGCHi)都可以作为一个超字来处理。
“并行混合搜索”操作的输出包括一些二进制信号MGFLAGi,其值定义如下如果MGC2≠0,TYPE=0,Gi,1≥GC1且Gi,2≤GC2,则MGFLAGi=1。如果MGC2=0,且Gi,1≥GC1,则MGFLAGi=1。否则,MGFLAGi=0。有一个优先级编码器。如果其输入为MGFLAGi(1≤i≤m),那么,当“并行混合搜索”操作被执行后,它将在MGAR1中产生一个地址。
“随机读”、“随机写”、“并行混合搜索”、“双上移”和“段下移”操作用来保存MGi,1中所存储的值的非增加次序。
图24示出了利用多个关联处理器来快速调度。OBS核心路由器的信道调度有严格的时间要求,因此,建议使用多个关联处理器(图24中用P*MG处理器270表示,这些处理器都是并行处理器)来实现调度方法。假定在DB交换矩阵中有q+1个FDL,L0=0,L1,...,Lq,且L0<L1<...<Lq。这些FDL在需要时使用,以延迟DB,以便提高能成功调度DB的可能性。在美国系列号09/689,584中所提出的LAUC-VF方法的实现方式中,利用不同的FDL反复搜索相同的一对PM和PG,直到得到调度办法或者用尽了所有FDL。上述的“信道调度”方法采用了相同的思想。
为了提高调度速度,调度器42可以使用q+1个PM/PG对,每个PM/PG对用于一个Li。在任何时间,所有q+1个M都有相同的内容,所有q+1个MCH都有相同的内容,所有q+1个G都有相同的内容,以及所有q+1个GCH都有相同的内容。于是,可以在这些PM/PG对上同时执行为所有不同的FDL寻找调度办法。至多一个搜索结果用于一个DB。同时用同样的锁步操作来更新所有PM/PG对,以确保它们保存同样的信息。同样,可以用q+1个PMG或P*MG来提高调度速度。
在图24中,多处理器系统300利用q+1个P*MG270来实现上述的“信道调度”方法。同样,可以利用多个PM/PG对或多个PMG以类似的方式来实现LAUC-VF方法,以得到更好的性能。多个P*MG270包括q+1个关联存储器MG0,MG1,...,MGq。每个MGj都有m个字MGj1,MGj2,...,MGjm,每个MGji都包括两个子字MGji,1和MGji,2。有q+1个比较寄存器MGC0,MGC1,...,MGCq。每个MGCj都保存一个字,该字有两个子字MGCj1和MGCj2。MGCH有q+1个关联存储器MGCH0,MGCH1,...,MGCHq。每个MGCHj都有m个字MGCHj1,MGCHj2,...,MGCHjm。MGCHj中的字被连成一个线性数组。有q+1个线性数组TYPE0,TYPE1,...,TYPEq,其中,TYPEj有m个比特TYPEj1,TYP Ej2,...,TYPEjm。MGAR1、MGAR是地址寄存器,用于保存访问MG和MGCH的地址。MGDR、TYPER、MGCH是数据寄存器,用于访问MG、TYPE和MGCHR。
多处理器系统300支持下列主要操作随机读给出MGAR1中的地址x,执行MGDR1←MG0i,1,MGDR2←MG0i,2,MCHR←MGCH0x,TYPER←TYPE0x。
随机写给出MGAR1中的地址x,执行MGjx,1←MGDR1,MGjx,2←MGDR2,MGCHjx←MGCHR,TYPEjx←TYPER,0≤j≤q。
并行混合搜索对于0≤j≤q,将MGCj1中的值与所有超字MGj1(1≤i≤m)的值并行进行比较,并将MGCj2与所有超字MGji(1≤i≤m,其TYPEji=0)并行进行比较。对于0≤j≤q,找出最小的kj,使得,TYPEjkj,1=1且MGjkj,1<MGCj1,或者,TYPEjkj=0,MGjkj,1<MGCj1和MGjkj,2>MGCj2。如果这一搜索成功,设lj=1;否则,设li=0。找出FD=min{j|lj=1,0≤j≤q|}如果这样的l存在,那么,执行j←FD,MGAR1←kj,TYPER←TYPEjkj,MGCH←MGCHjkj;否则MGAR1←0。
双上移给出MGAR1中的地址a,那么,对于0≤j≤q,执行MGji←MGji+1,MGCHji←MGCHji+1,MGCHji到MGCHji+1,对于a≤i<m,和MGjn,1←0,MGjn,2←0。
段下移给出MGAR1中的地址a,和MGAR2中的b,使得a<b,那么,对于0≤j≤q,执行MGji←MGji和MGCHji+1←MGCHji(所有a≤j<b)。
“随机读”操作在P*MG的一个副本即(MG0,TYPE0和MGCj)中执行。“随机写”、“并行混合搜索”、“双上移”和“段下移”操作在P*MG的所有副本中执行。对于“随机读”、“随机写”、“并行混合搜索”、“双上移”和“段下移”操作,每个四元组(MGi,1,MGi,2,TYPEi,MGCHi)都可以作为一个超字来处理。当“并行混合搜索”操作完成时,所有的P*MG副本的输出作为选择器的输入。选择一个P*MG副本的输出。
“信道调度”方法可以在多处理器系统中按如下方法来实现方法“并行信道调度”开始success←0;对于j=0至q,循环并行执行MGCj1←Ti+LjMGC2←Ti+Lj+length(DBi);结束循环执行“并行混合搜索”;如果MGAR1≠0,则开始输出MGCHR,作为用于发送DB2的信道编号;输出L,作为所选择的用于DBi的FDL延时k≤FD;对于j=0至q,循环并行执行利用MGCDRk1和MGDRk2中的值更新MGj(0≤j≤q)结束循环success←1;结束如果success=0,那么丢弃DBi/*调度DBi失败*/结束可能希望能将r个数据信道划分成一些群并选择一个特殊群来调度DB。这种情况可能会出现在某些场合。例如,我们想试验某个特殊信道。在这种情况下,本身要试验的信道构成一个信道群,而其余所有信道构成另一个信道群。那么,信道调度只在1个信道群上进行。另一些情形是,在路由器的运行期间,某些信道可能不能发送DB。那么,同一外出链路的信道可划分为两个群,其中一个群包括所有失效信道,而另一个群包括所有正常信道,并且只能选用正常的信道来发送DB。划分数据信道还允许信道预留,它可应用于服务质量。利用预留的信道群,可以构成虚拟电路和虚拟网络。
为了在信道调度关联处理器中引用群划分特性,基本思想是使群标识符(或简称“gid”)与各信道相关联。对于链接,具有相同gid的所有信道都属于同一群。信道的gid是可编程的;也就是说,可以根据需要动态地改变信道的gid。用于DB的gid可以从其BHP和/或某些其他本地信息中得到。
将PM和PG的设计方案扩展为PM-ext和PG-ext,可以应用于多个信道群,分别如图25和26中所示。如图25中所示,关联处理器PM-ext290包括M、MC、MCH、MAR1、MAR2、MDR、MCHR,如参照图20所述。MCIDC 292是一个比较寄存器,它保存用于比较的gid。MGID294是一个存储器,该存储器有r个字MGID1,MGID2,...,MGIDr,其中MGIDj与Mj和MCHj对应。这些字被连成一个线性数组,并且它们用于保存信道群编号。MGIDDR 296是一个数据寄存器。
PM-ext类似于PM,只是增加了几个部件,并且对操作进行了修改。线性数组MGID有r个单元MGID1,MGID2,...,MGIDr;每个字都用来保存一个整数gid。MGIDi与Mi和MCHi对应,即三元组(Mi,MCHi,MGIDi)可以作为一个超字来处理。此外,增加比较寄存器MGIDC和数据寄存器MGIDDR。
关联处理器PM-ext支持下列在有效实现LAUC-VF信道调度操作中所用的主要操作
随机读给出MAR1中的地址x,执行MDR←Mx,MCHx←MCHR和GIDR←MGIDx。
随机写给出MAR1中的地址x,执行Mx←MDR,MCHx←MCHR和MGIDi←MGIDDR。
并行搜索1同时将MGIDC与MGID1,MGID2,...,MGIDr的值进行比较。找出j,使得MGID=MGIDC,并执行MAR1←j,MDR1←Mj,MCHR←MCHj,和MGIDDR←MGID+j。
并行搜索2同时将(MC,MGIDC)与(M1,MGID1),(M2,MGID2),...,(Mr,MGIDr)进行比较。找出最小的j,使得,Mj<MC且MGIDj=GIDC,并执行MAR1←j,MDR1←Mj,MCHR←MCHj,和MGIDDR←MGIDi。如果所有的字(Mj,MGIDj)都不满足Mj<MC和MGIDj=GDIC,那么,在这一操作之后,MAR1=0。
段下移给出MAR1中的地址a,和MAR2中的b,使得a<b,那么,对所有的j(a≤j<b),执行Mj+1←Mj,MCHj+1←MCHj和MGIDj+1←MGIDj。
对于“随机读”、“随机写”和“段下移”操作,每个三元组(Mj,MCHj,MGIDj)都可以作为一个超字来处理。“并行搜索1”的输出包括r个二进制信号MFLAGi(1≤i≤r)。当且仅当MGIDi=MGIDC时,MFLAGi=1。有一个优先级编码器,其输入为MFLAGi(1≤i≤r),当“并行搜索1”操作完成时,它将得到地址j并将该值装入MAR1中。“并行搜索2”的输出包括r个二进制信号MFLAGi(1≤i≤r)。当且仅当Mi≤MC和MGIDi=MGIDC时,MFLAGi=1。当“并行搜索”操作完成时,与“并行搜索1”中所用相同的一个优先级编码器将MFLAGi(1≤i≤r)变换到地址j,并将该值装入MAR1中。“随机读”、“随机写”、“并行搜索2”和“段下移”操作用来保存M中所存储的值的非增加次序。
图26示出了PG-ext的框图。PG-ext300包括G、GC、GCH、GAR、GDR、GCHR,如参照图21所述。GGIDC 302是一个比较寄存器,它保存用于比较的gid。GGID 304是一个存储器,该存储器有r个字GGID1,GGID2,...,GGIDr,其中GGIDj与Gj和GCHj对应。这些字被连成一个线性数组,并且它们用于保存信道群编号。GGIDR 306是一个数据寄存器。
与PM-ext的结构类似,只是在PG中增加了一个线性数组GGID,该线性数组有n个字GGID1,GGID2,...,GGIDn。四元组(Gi,1,Gi,2,MCHi,GGIDi)可以作为一个超字来处理。
关联处理器PG-ext支持下列在有效实现LAUC-VF信道调度操作中所用的主要操作随机写给出GAR中的地址x,执行Gx,1←GDR1,Gx,2←GDR2,GCHx←GCHR,GGIDx←GGIDR,。
并行双比较字搜索将(GC,GGIDC)中的值与(G1,GGID1),(G2,GGID2),...,(Gn,GGIDn)同时(并行)进行比较。找出最小的j,使得Gj,1<GC1,Gj,2>GC2和GGIDi=GGIDC。如果这一操作成功,那么,执行GDR1←Gj,1,GDR2←Gj,2,GCHR←GCHj,GGIDR←GGIDj和GAR←j;否则,GAR←0。
并行单比较字搜索将(GC1,GGIDC)与(G1,1,GGID1),(G2,1,GGID2),...,(Gn,1,GGIDn)同时(并行)进行比较。找出最小的j,使得Gj,1>GC1和GGIDi=GGIDC。如果这一操作成功,那么,执行GDR1←Gj,1,GDR2←Gj,2,GCHR←GCHj,GGIDR←GGID和GAR←j;否则GAR←0。
双上移给出GAR中的地址a,那么,对a≤j≤n,移位Gj+1的内容,Gj←Gj+1,GCHj←GCHj+1,GCHj到GCHj+1,GGID到GGIDj+1,和Gn,1←0,Gn,2←0。
双下移给出GAR中的地址a,执行Gj+1←Gj,GCHj+1←CCHj,GGIDj=1←GCIDj,a≤j<n。
四元组(Gi,1,Gi,2,GCHi,GGIDi)对应于信道CCHi(其gid在GGIDi中)上的一个间隙,其起始时间为Gi,1而结束时间为Gi,2。对于“随机写”、“并行双比较字搜索”、“并行单比较字搜索”、“双上移”和“双下移”操作,每个四元组(Gi,1,Gi,2,GCHi,GGIDi)都可以作为一个超字来处理。“并行双比较字搜索”(相应地,“并行单比较字搜索”)操作的输出包括n个二进制信号GFLAGi(1≤i≤n),这样,当且仅当Gi,1≥GC1且Gi,2≤GC2(相应地,Gi,1≥GC1),GGIDi=GGIDC时,GFLAGi=1。有一个优先级编码器,其输入为GFLAGi(1≤i≤n),当该操作完成时,它将得到地址j并将该值装入GAR中。“随机写”、“并行单比较字搜索”、“双上移”和“双下移”操作用来保存Gi,1中所存储的值的非增加次序。
将信道Chj的gid从g1改变为g2按下列步骤进行找出三元组(Mi,MCHi,MGIDi),使得,MCHi=j,并将i存入到MAR1和(MDR,MCHR,MGIDDR)中;MGIDDR←g2,并将利用MAR1中的地址i写回(MDR,MCHR,MGIDDR)。
给定一个DB’、tsout(DB’)、teout(DB’)和一个gidg,那么DB’的调度包括PM-ext和PG-ext中的搜索。PM-ext中的搜索这样实现找出一个最小的i,使得,Mi<tsout(DB’)和MGIDi=g。PG-ext中的搜索这样实现找出一个最小的i,使得,Gi,1<tsout(DB’),Gi,2>tsout(DB’),和MGIDi=g。
同样,通过增加一个gid比较寄存器MGGIDC、一个存储器MGGID(有m个字MGGID1,MGGID2,...,MGGIDm)和一个数据寄存器MGGIDDR可以构成关联处理器PG-ext和PG*-ext。PMG-ext是PM-ext和PG-ext的合成。从PM-ext和PG-ext的操作可以容易地得出PMG-ext的操作,因为PM-ext条目和PG-ext条目是独立的。在P*MG-ext中,混合了PM-ext条目和PG-ext条目。由于这些条目的MGi,1值是非增加次序的,因此,通过找到最小的j,使得MGGIDj=i可以找到与信道Chi相应的PM-ext条目。
尽管以上针对几例实施方式详述了本发明,然而,对熟练技术人员而言,可以提出这些实施方式的各种修改方式以及其他实施方式。本发明包括了属于权利要求书范围的任何修改方式或其他实施方式。
权利要求
1.一种用于调度光成组交换路由器中的数据子帧的电路,包括一个光交换机,用于将来自入口光传输媒体的光信息路由发送到多个出口光传输媒体之一;一个与所述光交换机连接的延迟缓冲器,用于提供n个不同的延迟,以便延迟所述入口传输媒体与所述出口光传输媒体之间的信息;与各个的出口媒体有关联的调度电路,它包括n+1个关联处理器,每个关联处理器包括电路用于为关联出口光传输媒体存储关于n个延迟中相应的一个和零延迟的调度信息;关于各个延迟识别可用的时间段,其间一个数据子帧可被调度。
2.权利要求1的电路,其中,所述入口光传输媒体和出口光传输媒体包括光纤。
3.权利要求1的电路,其中,所述关联存储器识别未调度时间段。
4.权利要求1的电路,其中,关联处理器识别调度的数据子帧之间的间隙。
5.权利要求4的电路,还包括第二组n+1个关联处理器,其中第二组关联处理器识别未调度时间段。
6.权利要求1的电路,其中所述延迟缓冲器包括独立的延迟线,其中每个延迟线连接所述光交换机的一个预定输入和一个预定输出。
7.权利要求1的电路,其中所述延迟缓冲器包括一个延迟线矩阵,其中每个期望的延迟线可被连接在所述光交换机的一个选定输入和一个选定输出之间。
8.一种调度光成组交换路由器中的数据子帧的方法,该路由器通过一个光交换机从一个入口光传输媒体向多个光传输媒体之一或者直接通过该光交换机或者经由一个延迟缓冲器的n个不同延迟之一路由发送光信息,该方法包括如下步骤在n+1个关联存储器中,对于每一相关的出口光传输媒体,存储关于n个延迟中相应一个和一个零延迟的调度信息;和当前识别在其中可调度数据子帧的每个所述关联处理器中可用的时间段,以便能够同时确定与多个延迟相关的可用时间段。
9.权利要求8的方法,其中,所述入口光传输媒体和出口光传输媒体包括光纤。
10.权利要求8的方法,其中,所述当前识别步骤包括当前识别在每个关联处理器中的未调度时间段的步骤。
11.权利要求8的方法,其中,所述当前识别步骤包括当前识别在每个所述关联处理器中的数据子帧之间的间隙的步骤。
12.权利要求11的方法,其中,所述当前识别步骤包括当前识别在每个所述关联处理器中的未调度时间段的步骤。
13.权利要求8的方法,其中,所述延迟缓冲器包括单独的延迟线,每个延迟线连接所述光交换机的一个预定输入和一个预定输出。
14.权利要求8的方法,其中,所述延迟缓冲器包括一个延迟线矩阵,其中每个期望的延迟线可被连接在所述光交换机的一个选定输入和一个选定输出之间。
全文摘要
本发明涉及光路由器中的数据信道调度器的统一关联存储器。光交换网络(4)包括光路由器(10),它以光纤(12)发送信息。每根光纤都载送多个数据信道(20)和一个控制信道(16),其中多个数据信道可集中成数据信道群(14)。数据在数据信道上以数据子帧方式被载送,而控制信息在控制信道(18)上以脉冲串标题分组形式被载送。脉冲串标题分组包括关联数据子帧(28)的路由信息,并且先于其关联数据子帧。多延迟并行调度可以实现快速调度。在一种实施方式中,为了更有效地操作,可以在统一存储器中处理未调度时间和间隙。
文档编号H04L12/46GK1360414SQ0113387
公开日2002年7月24日 申请日期2001年12月21日 优先权日2000年12月22日
发明者熊一俊, 郑斯清 申请人:阿尔卡塔尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1