支持通信网中多服务类型的事件驱动信元调度器和方法.pdf

上传人:r7 文档编号:702043 上传时间:2018-03-06 格式:PDF 页数:29 大小:1.21MB
返回 下载 相关 举报
摘要
申请专利号:

CN97193046.5

申请日:

1997.03.13

公开号:

CN1213475A

公开日:

1999.04.07

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):H04L 12/56申请日:19970313授权公告日:20021106终止日期:20100313|||授权||||||公开

IPC分类号:

H04L12/56

主分类号:

H04L12/56

申请人:

摩托罗拉公司;

发明人:

理查德·克莱恩

地址:

美国伊利诺斯州

优先权:

1996.03.14 US 08/616,147

专利代理机构:

中国国际贸易促进委员会专利商标事务所

代理人:

付建军

PDF下载: PDF下载
内容摘要

本发明的事件调度器(100;200)和方法(300)通过使用一个日程(calendar)队列调度方法(即,根据前面分组的当前实际传输时间)来解决在一个相同物理链路或介质中混合多个服务类型的问题。例如,事件驱动信元调度器被用于一个异步传输模式ATM网络并且被嵌在软件、硬件和固件中。

权利要求书

1: 在通信网络的一个输出链路上调度多个分组的传输时间的方法,其 中包括的步骤有: A)使用具有一个存储器控制器的一个分组缓冲存储器存储多个分组; 并且 B)根据前面的分组的当前实际传输时间使用一个多服务类型调度器 调度多个分组的传输时间。
2: 如权利要求1所述的方法,其中包括的步骤有: A)由一个存储器控制器把各个连接数据队列中的分组排队到至少一 个分组存储器中,其中各个队列均具有一个队列ID; B)由存储器控制器向至少一个多服务类型调度器通知已经发生第一 次到达,其中在存储器控制器对分组进行排队之前一个数据队列是空的; C)多服务类型调度器中的一个计算单元使用服务类型以及和连接上 下文存储器中存储的一个连接相关的当前状态信息计算出一个最早传输时 间最早时间和一个最新的优先级索引,并且在连接上下文存储器中更新并 存储当前状态信息; D)计算单元产生一个“任务”,其中任务包括:   D1)队列ID;   D2)最早时间;和   D3)优先级索引; E)把任务插到至少一个第一日程队列的某一个中; F)日程队列在计算出的最早时间上把任务存储到多个优先级任务队列 中的一个队列中; G)一个优先级任务解码器根据时间机会在一个等于或大于最早时间 的时刻从优先级任务队列中取出任务并且向存储器控制器产生一个请求; H)存储器控制器从队列中取出分组并且发送分组; I)存储器控制器通知多服务类型调度器各连接队列非空,其中仍然有 更多的分组需要发送; J)计算单元根据服务类型以及和连接相关的当前状态信息计算出一个 最新的最早时间和一个最新的优先级索引,并且在连接上下文存储器中更 新并存储当前状态信息; K)在连接队列非空的情况下,计算单元使用最新的最早时间为连接 产生一个新任务并且返回到步骤E,在连接队列为空的情况下,等待存储 器控制器的通知并且返回到步骤C。
3: 如权利要求2所述的方法,其中对于一个分组交换机中的不变比特 率CBR分组传输,在步骤J包括使用一个预定的、作为连接协商传输参数, 实时时钟的当前值当前时间,以及和存储在连接上下文存储器中的连接相 关的状态信息的函数更新最早时间。
4: 如权利要求2所述的方法,其中对于一个分组交换机中的非确定位 速率(UBR)分组传输,包含了下面的步骤: A)在步骤C,当第一分组到达时,如果当前时间大于最早时间,则 把最早时间更新为等于当前时间,并且在连接上下文存储器中存储最新的 最早时间,其中当前时间是一个实时时钟的输出,和 B)在步骤J,把最早时间更新成最早时间加上分组周期并且在连接 上下文存储器中存储最新的最早时间,其中分组周期是一个峰值分组速率 的倒数。
5: 如权利要求2所述的方法,其中对于一个分组交换机中的可用比特 率ABR分组传输,包含下面的步骤: A)在步骤J中,使用一个预定的、作为连接协商传输参数,实时时 钟的当前值当前时间,以及被存储在连接上下文存储器中的相关预定状态 信息的函数更新最早时间; B)在步骤J中,使用一个诸如漏桶算法的预定算法确定分组多路复 用器的输出上的实际传输分组速率是否低于连接的协商最小分组速率 MCR; C)在步骤J中,根据一个预定的,关于步骤B确定的实际分组速率 的函数把优先级索引设置到至少两个不同的优先级中一个上。
6: 如权利要求2所述的方法,其中对于一个分组交换机中的可变比特 率VBR分组传输,包含下面的步骤: A)在步骤J中,使用一个预定算法确定分组多路复用器的输出上的 实际传输分组速率是否低于连接的协商持续分组速率SCR; B)在步骤J中,使用一个预定算法确定分组多路复用器的一个输出 上的实际传输分组速率是否超过连接的一个突发上限MBS; C)在步骤J中,使用一个预定的、作为连接协商传输参数,实时时 钟的当前值当前时间,上述步骤A和B的输出,以及存储在连接上下文存 储器中的连接预定相关状态信息的函数更新最早时间; D)在步骤J中,根据一个预定的、作为步骤A和B确定分组多路复 用器的输出上的实际传输分组速率的函数把优先级索引设置到至少两个不 同的优先级中一个上。
7: 如权利要求2所述的方法,其中优先级解码包括下面步骤中的一 个: A)在任务队列的输出上使用一组优先级任务队列和一个线性优先级 优先解码器/多路分解器; B)使用一组优先级任务队列和一个优先级解码器/多路分解器,这些 队列和优先级解码器/多路分解器被用来综合线性优先级优先和加权轮询原 理。
8: 在通信网络的一个输出链路上调度多个分组的传输时间的事件调度 器,其中包含: A)至少一个具有一个存储器控制器的第一分组缓冲存储器,用于接 收多个分组,存储各连接队列中的分组,调度第一事件并且对事件进行重 新调度;和 B)至少一个第一多服务类型调度器,该调度器与上述第一分组缓冲 存储器相连,根据前面分组的当前实际传输时间对多个分组的传输时间进 行调度。
9: 如权利要求8所述的事件调度器,其中多服务类型调度器包含: A)一个计算单元,该单元计算出期望的分组传输时间并且输出一个 任务; B)至少一个第一日程队列,该队列与计算单元相连,使用期望的传 输时间产生期望传输时间上的任务并且把任务放到一组优先级任务队列 中; C)一个优先级解码器/MUX,这个解码器/MUX与至少一个第一日程 队列相连以便在传输时从优先级数据队列组中取出至少一个任务,并且把 一个请求输出到存储器控制器以便为一个特定的分组队列提供服务。 10一个用可执行指令编码的计算机存储器,该指令代表一个计算机程 序,该程序在通信网络的一个输出链路上调度多个分组的传输时间,其中 可执行指令包含的步骤有: A)使用具有一个存储器控制器的一个分组缓冲存储器存储多个分组; 并且 B)根据前面的分组的当前实际传输时间使用一个多服务类型调度器 调度多个分组的传输时间。

说明书


支持通信网中多服务类型的事件驱       动信元调度器和方法

    本发明涉及异步传输模式交换系统,更具体地讲,本发明涉及异步传输模式交换系统中的信元传输时间的调度。

    在诸如异步传输模式(ATM)网络的基于分组的网络中,通过使用单位时间内长度固定的分组可以构成最大传输速率。固定长度分组被称作信元。在把多个服务类型混合到相同物理链路或介质上的网络中,传输编组(shaping)是有问题的。传统的方法依赖于利用参数控制(UPC),即在入端口进行“监察”,然后把在出端口有选择地丢弃一些信元对信元进行排列,在出端口上实现简单的线性优先级优先(Head Of LinePriority)(HOLP)机制以便有选择地从队列中取出要发送的信元。已经提出的加权循环(WRR)轮询服务原理在传输中融入了不同的服务需求,但是当需要对成百上千个连接进行多路复用时,高速轮询就变得非常困难。

    由于WRR是一种需要进行多次轮询以便找到一个需要服务的队列的轮询机制,因而也带来了一定的难度。由于各轮询需要固定的工作量,所以不可能以一种适应不断增长的连接数量的速率来进行轮询。尤其是当来自突发数据源的多数连接在大量时间段内空闲时,在发现一个需要服务的队列之前可能需要进行许多的无用轮询。

    这样,需要一种在异步传输模式ATM网络中支持多服务类型的事件驱动信元调度器。

    图1是具有一个基于本发明地事件调度器的事件驱动VP/VC(虚路径/虚电路)多路复用器的模块图。

    图2是基于本发明的一个事件调度器的模块图。

    图3是一个流程图,其中说明了在基于本发明的通信网络的一个输出链路上调度多个信元的传输时间的方法的一个步骤实施例。

    图4是一个事件调度器的模块图,该调度器在基于本发明的通信网络的一个输出链路上调度多个信元的传输时间。

    图5是事件调度器的功能视图,该调度器在基于本发明的通信网络的一个输出链路上调度多个信元的传输时间。

    图6是一个流程图,其中说明了在基于本发明的通信网络的一个输出链路上调度多个信元的传输时间的方法的另一个步骤实施例。

    图7说明了在一个基于信元的交换机中以不变比特率(CBR),可用比特率(ABR),可变比特率(VBR),和未确定比特率(UBR)分组传输方式使用本发明方法的附加步骤。

    图8说明了在一个基于信元的交换机中以不变比特率(CBR)分组传输方式使用本发明方法的附加步骤。

    图9图示了使用图8中针对一个CBR连接的特定步骤的调度器的操作的时序。

    图10说明了在一个基于信元的交换机中以未确定比特率(UBR)分组传输方式使用本发明方法的附加步骤。

    图11说明了在一个基于信元的交换机中以可用比特率(ABR),可变比特率(VBR)分组传输方式使用本发明方法的附加步骤。

    图12图示了使用图11中针对一个ABR连接的特定步骤的调度器的操作的时序。

    图13说明了在一个基于信元的交换机中以可变比特率(VBR)分组传输方式使用本发明方法的附加步骤。

    图14是说明一个基于本发明的优先级解码步骤实施例的流程图。

    ATM是一个网络数据传输系统和方法/协议,在ATM论坛编写,Prentice-Hall在1993年出版的ATM用户网络接口说明书,3.0版和ATM论坛编写的相关说明书以及其它出版物中描述了ATM。ATM使诸如语音/音频,数据和视频的不同信息传输类型能够有效地共享贯穿ATM传输源和目的地的虚连接(VC)中的一个公共传输路径和交换单元。所有的ATM传输被格式化成具有指定的信息头(由控制网络中的信元交换的ATM网络解释)和有效负载(包含用户数据,不由网络解释)的定长用户信元,使得在没有复杂的同步功能的情况下可以适应不同的传输速率。ATM具有支持不同传输的潜力,这些传输具有不同的延迟,抖动和信元衰减容限,并且具有不同的带宽或吞吐量需求。

    这样,ATM网络专门被用来支持一些传输服务类型,其中包括不变比特率(CBR),可用比特率(ABR),可变比特率(VBR),和未确定比特率(UBR)。不同的服务类型均具有相关的ATM传输参数,这些参数描述了各种信源发送的信元时序。下面两个传输描述符描述了CBR信源:一个峰值信元速率(PCR)和一个信元延迟偏差(CDV),其中PCR是信源发送信元的最大速率,而CDV是信元抖动或均匀分隔的信元(按时间分隔)之间的偏差的总和。VBR信源由一个PCR,一个最大突发长度(MBS)和一个可支持信元速率(SCR)来描述,其中MBS是以等于PCR的速率(在一个后续的空闲周期之前)发送的信元的最大数量,而SCR大致等于一个长期平均信元速率。ABR信源由一个PCR和一个最小信元速率(MCR)来描述,其中MCR是ABR信源已经与网络约定的一个最小信元速率(即总是允许一个ABR以至少是MCR的速率发送信元)。并且,ABR信源可以在介于PCR和MCR之间的一个实际信元速率(ACR)上进行工作。ACR由网络加以控制(在整个呼叫过程中)。UBR不具有传输描述符,因而总体上讲UBR信源的行为是不确定的,未知的(对于网络而言)。

    通常,对ATM系统结构加以设计,使得一个ATM网络可以把来自各种服务类型的传输混合到单独一个公共物理网络链路(传输介质)上,并且保证不同的传输信源的特定的服务质量(Q0S)。CBR信源由ATM网络来保证,只要一个信源不会超过其传输约定(由传输参数PCR和CDV描述),即网络会以保证的最大信元延迟(在信源上发送一个信元的时刻和信元被提交到目的地的时刻之间的最大时间)将所有信元发送到最终目的地并有较小的信元丢失比(CLR)和特定的目的地CDV’(CDV’通常与信源的CDV同级,但通常要大一点)及特定的保证CLR,其中常见的CLR是在10-3到10-12的数量级上。

    VBR信源得到了保证,只要一个信源不会超过其传输约定(由传输参数PCR,SCR和MBS描述),即网络会以较小的CLR和保证的平均信元传输延迟把所有信元提交到最终的目的地,该延迟大致等于通过网络的平均延迟。

    ABR信源得到了保证,只要一个信源不会超过其传输约定(由传输参数PCR,SCR和MCR描述)并且假定信源适当地(每个ABR参考行为)对显式速率网络反馈作出响应,相应地调整其ACR,则网络会以较小的CLR向最终目的地提交所有的信元。并且,ABR信源得到网络的保证,即在所有的,在一个特定的时刻内可能发送信元的ABR信源之间会“公平地”共享可用的网络容量。

    CBR和实时VBR传输类型被用于诸如电路模拟和娱乐质量视频的,具有严格定义的吞吐量和延迟需求的应用。UBR传输类型被用于象数据文件传输那样的,具有最小服务需求的应用。尽管支持UBR传输,但没有针对UBR连接的服务保证。如果在对CBR,VBR和ABR传输进行分配之后在ATM网络中有可用的带宽,或者网络中有ATM链路,则可以兼顾UBR传输。网络公司可以强制性地为UBR信源保留一定百分比的网络容量。

    ABR传输服务类型被用来经济地支持具有不确定的吞吐量和延迟需求的应用,尤其是支持来自某种数据信源(数据应用)的传输,其中不能预先定义一组特定的,诸如需要的SCR或MBS的传输参数,或一个特定的保证Q0S参数(诸如最大和/或最小平均信元延迟)。在本文参考引用的“可用比特率服务”,53字节(ATM论坛简报),V.3,n.4,1995年10月中,F.Bonomi描述了当前提出的ABR服务类型的性质和约束。在本文参考引用的“传输管理说明书”,版本4.0,ATM论坛/95-0013R10,假想竞选方案(Straw Vote),1995年2月中可以找到更多的关于服务类型,传输参数和服务质量参数的信息。

    本发明通过使用一种事件调度器,即日程(calendar)队列,或事件调度方法解决了在相同的物理链路或介质上混合多种服务类型的问题。事件调度器可以被嵌在软件,硬件和固件中。

    事件被定义成从队列中取出一个信元以及随后在ATM网络链路上进行信元传输的过程。任务被定义成“被调度的”事件。一个任务对象具有预定数量的,诸如期望执行时间,队列标识,即队列ID的相关参数,其中队列ID指示在执行任务时将要服务的数据队列和任务优先级。也就是说,可以有许多等待执行的候选任务。在特定时刻中对一个任务的执行等价于一个事件。

    图1,编号100,是具有一个基于本发明的事件调度器的事件驱动VP/VC(虚路径/虚连接)多路复用器的模块图。信元到达一个通常是多路复用器的VP/VC路由单元(102),并且根据信元头中的信息通过信元多路复用器被路由到多个队列中的一个队列上。当信元到达时如果队列非空,则把信元加到队列中。如果队列为空,则把信元加到队列中并且向事件调度器(108)产生一个调度第一个事件的请求(110)。

    这个请求导致在事件调度器中产生一个任务并且存储(排队)该任务。各个任务通常至少包含:一个指示最早执行时间的期望执行时间,一个队列标识(ID)域和一个优先级域。在等于或大于和任务相关的时间标签的时间上执行任务。优先级域被用来解决具有相同时间标签的任务之间的冲突(即先执行具有最高优先级的任务)。队列ID域包含指示在执行任务所要服务的数据队列的信息。事件调度器的输出包含事件(114)。当事件调度器执行一个任务时产生一个事件。事件包含一个队列号(队列ID)。接着事件被发送到信元多路复用器(106)。信元多路复用器向队列ID指示的队列请求信元;通过信元多路复用器(106)向输出ATM端口发送信元并且在取出信元之后测试队列以确定队列是否为空。如果队列非空,则信元多路复用器发送一个请求,其中请求包含有队列ID。也可以发送其它的,开发最优调度器所必需的信息,例如队列中下一个信元的信元损耗优先级(CLP)位。CLP位指示在网络发生冲突并且需要抛弃某些信元的情况下信元被当作高优先级信元或低优先级信元。

    事件调度器(108)在执行一个任务时产生一个事件(114)。该事件向一个特定的队列请求一个信元。

    通过是从两个外部信源接收调度事件请求,例如VP/VC路由子系统(入队列过程)和信元多路复用子系统(出队列过程)。调度事件请求在事件调度器中产生了一个任务对象。在任意一个具体时刻上,各个数据队列在事件调度器内最多有一个相关的任务对象,即一个候选的任务。这样,如果队列为空,则在事件调度器内没有正在等待的相关候选任务。如果队列非空,则在事件调度器中有且仅有一个相关的候选任务。任意时刻事件调度器中的最大任务数等于队列的数量,并且事件调度器中的最小任务数为零。

    为了产生并执行一个任务,向事件调度器发送一个调度/重新调度请求,其中请求包含一个队列ID。通常,队列ID被用作一个针对预定一组散列参数的索引,这些参数与一个编组器相关,而该编组器用于一个相关的队列。散列(leaky bucket)算法在本领域中是已知的,并且在“ATM用户网络接口说明书”,Rev 3.0,ATM论坛,PTR Prentice Hall,1993,77-89页中定义了该算法。接着执行类似散列的算法以便提供一个“期望任务执行时间”和任务优先级。通常,对于所有的服务类型而言,计算出的期望任务执行时间是在不违反与一个虚连接(VC)相关的传输约定的情况下发送该VC的下一个数据信元的最早允许时间。例如,对于CBR服务类型,PCR和CDV定义了信元时序之间所需的时间间隔。对于VBR服务类型,PCR,SCR和MBS传输参数定义了一个一致的传输信源。一个包含指示期望执行时间的隐式时间标签,任务优先级和队列ID的任务数据对象被输入到实时任务调度器/日程队列。实时任务调度器存储任务对象直到期望任务执行时间。当信元计数器(220),即实时时钟累加到候选任务的期望时间时,实时任务调度器把候选任务转移到对应的优先级队列。在各个信元时钟内,一个优先级解码器/多路复用器使用线性优先级优先(HOLP)机制从优先级队列中取出单独一个任务。队列ID通过外部接口被传递到信元多路复用器。这样,事件调度器向信元多路复用器发送一个事件时序,其中事件序列是一组队列ID,这组ID定义了满足每个VPC/VCC(虚路径连接/虚电路连接)的预定传输约定的合法信元序列。在期望任务执行时间单元(204)中实现了传输编组器计算。

    图2,编号200,是基于本发明的一个事件调度器的模块图。在本发明的最优实施例中,信元被排队到一或多个信元存储器中的各个连接数据队列之中。接着“先至”信元被广播到调度器的一个外部接口(202)上以便调度器对第一个请求进行调度。“先至”信元被定义成到达一个空队列的信元。接着到达时间历史,过去的传输时间,服务类型和当前状态信息被用来计算(204)下一信元的“最早”传输时间,传输时间被插入到一个实时任务调度器(206)中。通常,队列ID被用作一个针对预定一组散列参数(208)的索引,这些参数与一个编组器相关,而该编组器用于一个相关的队列(104)。实时任务调度器存储任务对象直到期望的任务执行时间(最早时间)。当信元计数器(220),即实时时钟累加到候选任务的期望时间时,实时任务调度器把候选任务转移到对应的优先级队列。实时任务调度器(206)的输出被排序成一组优先级任务队列(210)。接着使用一个优先级解码器/多路复用器(212)以一种线性优先级优先方式,或WRR方式对优先级任务队列提供服务,从而向一个外部接口(216)提供一个任务输出(214)。外部接口(216)向信元多路复用器(106)发送一个信元请求。根据实现复杂性和产品需求之间的折衷对服务加以选择。

    对于各个传输信元时隙,最高优先级任务被选定并且被用于产生一个对适当的数据队列提供服务,即从一个特定的队列中取出一个数据信元的请求。如果队列非空,则根据一个信元计数器(220)计算出相同队列的下一个信元的“最早”传输时间。

    图3,编号300,是一个流程图,其中说明了在基于本发明的通信网络的一个输出链路上调度多个信元的传输时间的方法的一个步骤实施例。该方法包括:A)使用具有一个存储器控制器的一个信元缓冲存储器存储各个连接队列(302)中的多个信元;并且B)根据至少一个前面的信元(304)的当前实际传输时间使用一个多服务类型调度器调度多个信元的传输时间。通常,通信网络是一个异步传输模式网络。信元缓冲存储器可以位于一个入端口,一个出端口或一个中央缓冲交换机的一个中央存储器中。

    图4,编号400,是一个事件调度器的模块图,该调度器在基于本发明的通信网络的一个输出链路上调度多个信元的传输时间。事件调度器包含至少一个第一信元缓冲存储器(402),该存储器具有一个存储器控制器,接收多个信元,存储各连接队列中的信元,调度第一事件并且对事件进行重新调度;和至少一个第一多服务类型调度器(404),该调度器与上述第一信元缓冲存储器相连,根据前面信元的当前实际传输时间对多个信元的传输时间进行调度。通常,通信网络是一个异步传输模式网络。信元缓冲存储器可以位于一个入端口,一个出端口或一个交换机的一个中央存储器中,其中交换机是中央缓冲类型的。

    存储器控制器(402)通常包括一或多个下列功能:1)在多个逻辑信元数据队列之间进行存储器分配,2)进行链路表处理以便实现各个VC和/或各个服务类型的信元数据队列,和3)冲突控制机制,该机制可以包含标记和/或抛弃来自不符合协商出的传输约定的信源的信元。

    多服务类型调度器(404)通常包含一个计算单元(204),该单元计算出期望的信元传输时间并且输出一个任务;至少一个第一实时任务调度器(206),该调度器与计算单元(204)相连,使用期望的传输时间产生期望传输时间上的任务并且把任务放到一组优先级任务队列(210)中;一个优先级解码器/MUX(212),这个解码器/MUX与至少一个第一实时任务调度器(206)相连以便在传输时从优先级数据队列组中取出至少一个任务,并且把一个请求输出到存储器控制器(402)以便为一个特定的信元队列提供服务。一个信元时钟(218)通常与实时任务调度器(206),优先级解码器/MUX和信元计数器(220)相连以便通知优先级解码器/MUX从优先级队列中取出一个单独的任务。信元计数器(220)是一个实时时钟,该时钟在累加到候选任务的期望时间时通知实时调度器(206)把候选任务转移到对应的优先级队列中。计算单元(204)也可以使用信元计数器值(当前时间)计算出信元的期望传输时间(最早时间)。

    图5,编号500,是事件调度器的功能视图,该调度器在基于本发明的通信网络的一个输出链路上调度多个信元的传输时间。存储器控制器(402)把信元缓冲存储器(402)划分成各个虚连接队列(508)。在图5中,只示出一个逻辑队列(为了简明),但在特定的实施例中,存储器控制器通常会把存储器分成多个逻辑队列,其中各队列可以是每个虚连接一个队列,也可以是每个服务类型一个队列。也存在其它的可能性。并且,当存储器控制器(402)包含动态存储器分配功能时,通过使用著名的链路表数据结构,信元缓冲存储器(402)所划分成的逻辑数据队列(508)可以是定长队列或变长队列。

    当一个信元(502)到达信元存储器(402)时,存储器控制器决定在逻辑队列(508)中存储信元或抛弃信元。通过不在信元缓冲存储器(402)中存储信元来实现对一个信元的抛弃。就所涉及的最终目的地而言,这样会导致网络“丢失”信元,并且在可能的情况下应当避免。可以根据一个简单的,定义一个逻辑数据队列(508)的最大长度的阈值(510)来决定抛弃。如果存储数据信元会使队列超过阈值(510)定义的最大队列长度,则抛弃信元,否则在信元缓冲存储器中存储信元。决定抛弃可以是有选择性的。例如,如果信元(502)包含一个CLP(信元抛弃优先级位),则信元(502)中的CLP位的状态会导致存储器控制器(402)使用两个不同阈值(即510或512)中的一个决定是否应当在逻辑队列(508)中存储信元(502)。例如,考虑图5中的情况,其中当信元(502)到达时已经在信元队列(508)中存储了信元(504;506)。如果信元(502)中的CLP位等于“1”,则存储器控制器会使用阈值(512)进行抛弃判决,并且判决结果会是抛弃信元。如果信元(502)中的CLP位等于“0”,则存储器控制器会使用阈值(510)进行抛弃判决,并且判决结果会是存储信元。

    在图5中,调度器(514)被说明成一个测定或控制逻辑数据队列(508)的信元传输时间的“时钟”。从逻辑上调度器可以被看成从信元缓冲区中取出信元的设备。

    图6,编号600,是一个流程图,其中说明了在基于本发明的通信网络的一个输出链路上调度多个信元的传输时间的方法的另一个步骤实施例。该方法包括的步骤有:A)由一个存储器控制器把各个连接数据队列中的信元排队(或者在数据队列拥挤的情况下抛弃信元)(602)到至少一个信元存储器中,其中各个队列均具有一个队列ID;B)在存储器控制器对信元进行排队之前一个数据队列是空的情况下,由存储器控制器向至少一个多服务类型调度器通知(604)已经发生第一次到达;C)多服务类型调度器中的一个计算单元使用服务类型以及和连接上下文存储器(connection context memory)中存储的一个连接相关的当前状态信息计算(606)出一个最早传输时间最早时间和一个最新的优先级索引,并且在连接上下文存储器中更新并存储当前状态信息;D)计算单元产生(608)产生一个“任务”,其中任务包括:D1)队列ID;D2)最早时间;和D3)优先级索引;E)把任务插到(610)至少一个第一日程队列中;F)日程队列在计算出的最早时间上把任务存储(612)到多个优先级任务队列中的一个队列中;G)一个优先级解码器根据时间机会在一个等于或大于最早时间的时刻从优先级任务队列中取出(614)任务并且向存储器控制器产生一个请求;H)存储器控制器从队列中取出(616)信元并且发送信元;I)在仍然有很多信元需要发送的情况下,存储器控制器通知(618)多服务类型调度器各连接队列非空;J)计算单元根据服务类型以及和连接相关的当前状态信息计算(620)出一个最新的最早时间和一个最新的优先级索引,并且在连接上下文存储器中更新并存储当前状态信息;K)在连接队列非空的情况下,计算单元使用最新的最早时间为连接产生(622)一个新任务并且返回到步骤E,在连接队列为空的情况下,等待存储器控制器的通知(604)并且返回到步骤C。

    图7,编号700,说明了在一个基于信元的交换机中以不变比特率(CBR),可用比特率(ABR),可变比特率(VBR),和未确定比特率(UBR)分组传输方式使用本发明方法的附加步骤。对于一个分组交换机中的不变比特率CBR分组传输,步骤620包括(702)使用一个预定的,关于一或多个连接协商传输参数(PCR,CDV),实时时钟的当前值当前时间,以及和存储在连接上下文存储器中的连接相关的状态信息的函数更新最早时间。对于一个分组交换机中的可用比特率ABR分组传输,下面的步骤(704)被包含在步骤620中:A)使用一个预定的,关于连接协商传输参数(即协商的PCR和MCR),实时时钟的当前值当前时间,以及被存储在连接上下文存储器中的相关预定状态信息(例如前面计算出的最早时间)的函数更新最早时间;B)使用一个诸如漏桶算法(leakybucket algorithm)的预定算法确定分组多路复用器的输出上的实际传输分组速率是否低于连接的协商最小分组速率MCR;C)根据一个预定的、作为步骤B确定的实际分组速率的函数把优先级索引设置到至少两个不同的优先级中的一个上。对于一个分组交换机中的可变比特率VBR分组传输,下面的步骤(706)被包含在步骤620中:A)使用一个预定算法确定分组多路复用器的输出上的实际传输分组速率是否低于连接的协商持续分组速率SCR;B)使用一个预定算法确定分组多路复用器的一个输出上的实际传输分组速率是否超过连接的一个突发上限;C)使用一个预定的,关于一或多个连接协商传输参数(PCR,CDV,SCR,MBS),实时时钟的当前值当前时间,上述步骤A和B的输出,以及存储在连接上下文存储器中的与连接相关的预定状态信息的函数更新最早时间;D)根据一个预定的、作为步骤A和B确定的分组多路复用器的输出上的实际传输分组速率的函数把优先级索引设置到至少两个不同的优先级中的一个上。对于一个分组交换机中的UBR分组传输,步骤620包括把最早时间更新(702)成当前时间加上分组周期并且在连接上下文存储器中存储最新的最早时间,其中分组周期是一个峰值分组速率的倒数。

    如图8,编号800所示,对于一个基于信元的交换机中的不变比特率(CBR)分组传输,包含了下面的步骤:A)在步骤606,当第一信元到达时,如果当前时间大于最早时间,则把最早时间更新(802)为等于当前时间,并且在连接上下文存储器中存储最新的最早时间,其中当前时间是一个实时时钟的输出,和B)在步骤620,把最早时间更新(804)成最早时间加上信元周期并且在连接上下文存储器中存储最新的最早时间,其中信元周期是一个峰值信元速率的倒数。图6的步骤606和620的优先级索引值通常被初始化成一个固定CBR优先级值并且保持不变。

    图9,编号900,图示了使用图8中针对一个CBR连接的特定步骤的调度器的操作的时序。箭头(902,904,906,908和910)表示信元到达时间,其中假定时间从左到右展开。在图8的第一个步骤(802)中,当第一个信元到达时(902),最早时间(912)被设成当信元(910)到达时的当前时间的值,其中假定当前时间大于前面计算或初始化出的最早时间。在时间0(902)到达的信元被表示成在一个实际时间(920)被发送出去。注意在图中传输时间(920)比调度的时间(912)稍稍滞后。由于在调度器(200)的优先级队列(210)中可能有冲突,所以会发生这种情况。但是,对于通常在优先级解码器(212)中具有最高优先级的CBR传输类,可以使调度时间(912)和实际传输时间(920)之间的延迟变得很小。在实际传输时间(920)上,当发送信元时,每当进行图8中的第二个步骤(804)时便把最早时间更新成时间最早时间加上PCR的倒数。这样,计算出的第二个信元(904)的最早时间滞后一个时间周期1/PCR。在图解中,示出了5个到达队列的信元,并且示出了5个计算出的最早时间和5个实际传输时间。下面是所示的突出功能:1)调度器对CBR传输进行平滑处理以便即使是在信元以显著的信元抖动到达的情况下也可以按照几乎最平均分隔的时间间隔(1/PCR)发送信元。通过使用缓冲一些信元(表示图9中所示的信元长度)的VC信元队列和按照平均分隔的调度传输时间(最早时间)来测量信元的调度器,可以做到这一点。2)通过存储器控制器和调度器实现的VC数据队列的混合在数据网络中把不同的传输信源相互隔离,从而保证遵守其传输约定的信源不会受到违背其传输约定的信源的影响。如果注意到当3个相邻间隔的信元(904,906和908)到达时队列长度所发生的变化,就可以从图9中发现这一点。队列长度开始增加。在所示的情况(图9)下,由于在多个信元时间周期上的平均信元速率不会超过PCR,所以队列长度不会连续增长到一个很大的值。但是,如果一个信源在一个连续的时间周期内连续以超过PCR的速率进行发送,由于调度器会把输出速率限制到协商出的PCR,所以队列长度会连续增长。如果存储器控制器把队列阈值(510)设成一个较小的值(CBR服务类型的一些信元),则存储器控制会抛弃来自不一致信源的信元。

    如图10,编号1000所示,对于一个基于信元的交换机中的非确定位速率(UBR)分组传输,包含了下面的步骤:A)在步骤C,当第一信元到达时,如果当前时间大于最早时间,则把最早时间更新(1002)为等于当前时间,并且在连接上下文存储器中存储最新的最早时间,其中当前时间是一个实时时钟的输出,和B)在步骤J,把最早时间更新(1004)成最早时间加上信元周期并且在连接上下文存储器中存储最新的最早时间,其中信元周期是一个峰值信元速率的倒数。图6的步骤606和620的优先级索引值通常被初始化成一个固定UBR优先级值并且保持不变。

    如图11,编号1100所示,对于一个基于信元的交换机中的可用比特率(ABR)分组传输,包含了下面的步骤:

    A)在图6的步骤C(606),当第一信元到达时,如果当前时间大于最早时间,则

    A1)把最早时间更新(1102)为等于当前时间,并且在连接上下文存储器中存储最新的最早时间,其中当前时间是一个实时时钟的输出,并且

    A2)把连接上下文存储器中中的RESET FLAG设置成真;

    B)在步骤J(620),包括(1104):

    B1)B1a-B1b之一:

    B1a)如果复位标志等于真,则在连接上下文存储器中把复位标志设置成假并且把阈值设置成等于最早时间加上{一个预定常数乘以一个预定最小信元速率的倒数};和B1b)如果复位标志等于假,把阈值设置成等于一个最小信元速率的预定倒数;

    B2)把最早时间更新(1006)成当前时间加上信元周期并且在连接上下文存储器中存储最新的最早时间,其中信元周期是一个峰值信元速率的倒数;和

    B3)如果在步骤I(618)被通知一个连接信元队列为非空,则包含(1106):

    B3a)如果当前时间大于阈值,把优先级索引设置成一个指示高优先级ABR任务队列的值;

    B3b)如果当前时间小于或等于阈值,

    B3b1)把优先级索引设置成一个指示普通优先级ABR任务队列的值;

    B3b2)如果阈值大于TIME NOEW加上{一个预定常数乘以一个预定最小信元速率的倒数},则把阈值设置成等于当前时间加上{常数乘以预定最小信元速率的倒数}。

    图12,编号1200,图示了使用图11中针对一个ABR连接的特定步骤的调度器的操作的时序。ABR传输参数PCR(定义峰值信元速率)和MCR(定义网络保证的最小信元速率)可被用于ABR。图12示出了在信元到达时间C160,C161,...,C166到达队列的7个信元构成的一个数据突发序列。在图11的第一个步骤(1102)中,当第一个信元到达C160时,最早时间C170被设置成信元C160到达时的当前时间的值,其中假定当前时间大于前面计算或初始化成的最早时间。实际上在时间C180发送第一个信元。由于不同连接之间的优先级队列(210)中的冲突,这一步经常在调度时间C170之后进行。尤其是对于ABR连接,调度传输时间(C170,C171,...,C176)和实际传输时间(C180,C181,...,C185)之间的时间可以很长,并且因为ABR在优先级解码器(212)中通常被给予较低的优先级而不断改变(如图所示)。

    当实际发送第一个信元时C180,复位标志为真(1104),因而阈值变量被设置成最早时间加上一个预定常数乘以一个MCR的倒数,从而首先把阈值变量设置成时间C190。调度器也计算出一个新的最早时间C171。调度器通过比较实际传输时间C180上的实时时钟当前时间和刚计算出的阈值变量的值C190来确定ABR任务的优先级。如果阈值较大,则优先级被设置成Normal ABR Priority,否则,优先级被设置成“Hi ABR Priority”。对于图11所示的“第一个”信元,由于阈值C190大于当前时间C180,所以优先级被设置成“普通”。

    图12示出了各种变量的时间进程。注意对于第三和第四个信元,在调度传输时间(C172和C173)和实际传输时间(C182和C183)之间存在大的时间延迟。一个开始发送信元的高优先级传输信源(例如一个VBR信源),或多个开始通过相同的端口发送信元从而在优先级队列(210)中产生冲突的其它ABR信源会导致这种情况。注意在实际的传输时间C183上,当调度器比较实际的当前时间C183和刚计算出的阈值C193时,实际的当前时间大于阈值,因而检测出这个ABR连接的平均信元速率小于为该连接保证的MCR,结果,这个ABR连接的优先级C150被暂时增加到Hi ABR Priority,因而在优先级解码器(212)中增加了这个连接的优先级。这样会减少后续的调度传输时间(C174和C175)和实际传输时间(C184和C185)之间的延迟,直到调度器检测到连接满足或超过其最小信元速率,如图所示,此时调度器会把优先级减少到普通优先级。

    如图13,编号1300所示,对于一个基于信元的交换机中的可变比特率(VBR)分组传输,包含了下面的步骤:

    A)在步骤606(1302),当第一信元到达时,如果当前时间大于最早时间,则

    A1)把最早时间更新为等于当前时间,并且在连接上下文存储器中存储最新的最早时间,其中当前时间是一个实时时钟的输出,并且

    A2)把连接上下文存储器中中的RESET FLAG设置成真;

    B)在步骤620(1304),

    B1)如果复位标志等于真,

    B1a)把复位标志设置成假

    B1b)并且在连接上下文存储器中把阈值设置成等于最早时间加上{一个预定常数乘以一个预定可支持信元速率的倒数};

    B1c)理论的传输时间TTT小于当前时间,则设置TTT=当前时间;如果复位标志等于假,把阈值设置成等于阈值加上预定可支持信元速率(SCR)的倒数;

    B2)把最早时间更新成当前时间加上信元周期并且在连接上下文存储器中存储最新的最早时间,其中信元周期是一个峰值信元速率(PCR)的倒数;和

    B3)如果在步骤618通知一个连接信元队列非空,

    B3a)把理论传输时间(TTT)更新成TTT的值加上可支持信元速度(SCR)的倒数并且在连接上下文存储器中存储最新的TTT;

    B3b)B3b1-B3b2中的一个:

    B3b1)如果当前时间大于阈值,把优先级索引设置成一个指示高优先级VBR任务队列的值;

    B3b2)如果当前时间小于或等于阈值,

    B3b2a)把优先级索引设置成一个指示普通优先级VBR任务队列的值;

    B3b2b)如果阈值大于当前时间加上一个预定常数乘以一个预定可支持信元速率(SCR)的倒数,则把阈值设置成等于当前时间加上一个预定常数乘以一个预定可支持信元速率(SCR)的倒数,

    B3b2c)如果最早时间小于TTT减去一个预定最大突发序列长度常数TMBS,则把最早时间设置成TTT减去一个预定最大突发序列长度常数TMBS。

    图14,编号1400,是说明一个基于本发明的优先级解码步骤实施例的流程图。其中包括的步骤有:A)在任务队列的输出上使用(1402)一组优先级任务队列和一个线性优先级优先解码器/多路分解器;B)使用(1404)一组优先级任务队列和一个优先级解码器/多路分解器,这些队列和优先级解码器/多路分解器被用来综合线性优先级优先和加权轮询原理。

    在不偏离本发明的宗旨或基本特征的前提下可以通过其它的特定形式来实施本发明。所描述的实施例在所有的方面只是为了说明并且不表示对本发明的限制。因而本发明的范围如所附权利要求书所示,而不是由前面的描述来定义。根据权利要求书的等价内容和范围进行的所有修改均被包括在权利要求书的范围之内。

支持通信网中多服务类型的事件驱动信元调度器和方法.pdf_第1页
第1页 / 共29页
支持通信网中多服务类型的事件驱动信元调度器和方法.pdf_第2页
第2页 / 共29页
支持通信网中多服务类型的事件驱动信元调度器和方法.pdf_第3页
第3页 / 共29页
点击查看更多>>
资源描述

《支持通信网中多服务类型的事件驱动信元调度器和方法.pdf》由会员分享,可在线阅读,更多相关《支持通信网中多服务类型的事件驱动信元调度器和方法.pdf(29页珍藏版)》请在专利查询网上搜索。

本发明的事件调度器(100;200)和方法(300)通过使用一个日程(calendar)队列调度方法(即,根据前面分组的当前实际传输时间)来解决在一个相同物理链路或介质中混合多个服务类型的问题。例如,事件驱动信元调度器被用于一个异步传输模式ATM网络并且被嵌在软件、硬件和固件中。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1