CN101534254B - 一种队列报告方法、装置和无源光网络系统 - Google Patents

一种队列报告方法、装置和无源光网络系统 Download PDF

Info

Publication number
CN101534254B
CN101534254B CN2009101309914A CN200910130991A CN101534254B CN 101534254 B CN101534254 B CN 101534254B CN 2009101309914 A CN2009101309914 A CN 2009101309914A CN 200910130991 A CN200910130991 A CN 200910130991A CN 101534254 B CN101534254 B CN 101534254B
Authority
CN
China
Prior art keywords
queue
team
virtual queue
data message
joining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2009101309914A
Other languages
English (en)
Other versions
CN101534254A (zh
Inventor
李中华
聂世玮
宋奇刚
谭亚中
董恩升
黄久松
游泳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2009101309914A priority Critical patent/CN101534254B/zh
Publication of CN101534254A publication Critical patent/CN101534254A/zh
Application granted granted Critical
Publication of CN101534254B publication Critical patent/CN101534254B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种队列报告方法、装置和无源光网络系统。其中的队列报告方法包括:针对实体队列对应设置有至少一个阈值,一个所述阈值对应一个虚拟队列,所述阈值表示所述虚拟队列最大深度,所述方法包括如下步骤:在判断出数据报文向光纤发送时,根据所述阈值对所述虚拟队列执行出队操作;在确定出实体队列有数据报文入队或者执行所述虚拟队列执行了出队操作时,且判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;针对所述虚拟队列生成队列报告,并上报所述队列报告。上述技术方案提高了队列报告的准确度,得到局端能根据上报的队列报告分配合适的带宽,尽可能地避免了上行带宽浪费,且逻辑实现简单。

Description

一种队列报告方法、装置和无源光网络系统
技术领域
本发明涉及通信技术领域,具体涉及一种队列报告方法、队列报告装置和无源光网络。
背景技术
Ethernet Passive Optical Network(以太网无源光网络,EPON)是将以太网技术和无源光网络紧密结合的光纤接入网络。
EPON由Optical Line Terminal(光线路终端,OLT)、Optical DistributionNetwork(光分配网络,ODN)和Optical Network Unit/Optical Network Terminal(光网络单元/光网络终端,ONU/ONT)组成。
OLT位于中心局端,负责管理、监控和维护整个EPON。OLT通过ODN与一个或多个ONU/ONT连接。ONU/ONT位于用户侧即远端,负责用户和业务的接入。
ONU/ONT的逻辑芯片内可以设计有一个或多个逻辑链路通道,OLT会为每个注册的逻辑链路通道分配Logical Link Identifier(逻辑链路标识,LLID),一个逻辑链路通道可以支持多个优先级队列。ONU/ONT向OLT发送数据时,会先各OLT(也可理解为局端)发送一个带宽授权请求,OLT收到请求后会为ONU/ONT中的逻辑链路通道分配一个固定的Grant(带宽授权或带宽许可),Grant是一段时间窗口(或者叫做发送时隙),逻辑链路通道在这段时间内来发送优先级队列中的以太网报文。
逻辑链路通道在分配的Grant中发送以太网报文的过程如附图1所示。
图1中,首先,逻辑链路通道在Grant中的Start Time(开始时间,即时间窗口的起始时刻)打开激光器;然后,逻辑链路通道向OLT发送Idle码,以便于OLT进行码流和时钟的同步;之后,逻辑链路通道发送上行以太网报文(如图1中的Frame 1~3);最后,逻辑链路通道根据Grant中的Grant Length(Grant长度,即时间窗口的结束时刻)在最后一段时间内关闭激光器。
在实现本发明的过程中,发明人发现上述现有技术至少存在如下问题:
由于OLT分配的Grant是一个固定值,因此,当发送某些报文时(如图1中的Frame 4),报文的带宽长度会超出开始关闭激光器的时间带宽,在这种情况下,逻辑链接通道为了能按时关闭激光器,将不会发送这些报文,这样,就使得图1中的报文Frame 3到开始关闭激光器的时间之间的时间带宽被浪费,影响了EPON上行带宽利用率。
发明内容
本发明实施方式提供的一种队列报告方法、装置和无源光网络系统,可准确的计算出队列报告,得到局端能根据上报的队列报告分配合适的带宽,提高了上行带宽利用率,且逻辑实现简单。
本发明实施方式提供的队列报告方法,包括:
针对实体队列对应有至少一个阈值,一个所述阈值对应一个虚拟队列,所述阈值表示所述虚拟队列最大深度,所述方法包括步骤:
在判断出数据报文向光纤发送时,根据所述阈值对所述虚拟队列执行出队操作;
在确定出实体队列有数据报文入队或者所述虚拟队列执行了出队操作,且判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;
针对所述虚拟队列生成队列报告,并上报所述队列报告。
上述队列报告装置包括:
所述装置中有实体队列,所述实体队列对应有至少一个阈值,一个所述阈值对应一个虚拟队列,所述阈值表示所述虚拟队列最大深度,所述装置包括:
第一判断单元,用于判断是否有数据报文向光纤发送;
虚拟队列出队管理单元,当所述第一判断单元判断出数据报文向光纤发送时,根据所述阈值对所述虚拟队列执行出队操作;
第二判断单元,用于判断所述实体队列是否有数据报文入队或者所述虚拟队列是否执行了出队操作;
虚拟队列入队判断单元,用于判断是否允许所述虚拟队列执行入队操作;
虚拟队列入队操作单元,用于根据所述第二判断单元确定出所述实体队列有数据报文入队或者所述虚拟队列执行了出队操作,且根据所述虚拟队列入队判断单元判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;
报告单元,用于针对所述虚拟队列生成队列报告,并上报所述队列报告。
上述无源光网络系统包括:
终端设备,所述设备包括光网络终端,或者光网络单元;
局端设备,所述局端设备包括光线路终端;
所述终端设备对应有至少一个阀值,一个所述阈值对应一个虚拟队列,所述阀值表示所述虚拟队列最大深度;
所述终端设备在判断出数据报文向光纤发送时,根据所述阀值对所述虚拟队列执行出队操作;
所述终端设备在确定出实体队列有数据报文入队或者所述虚拟队列执行了出队操作,且判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;
针对所述虚拟队列生成队列报告,并上报所述队列报告给所述局端设备;
所述局端设备接收所述队列报告,并根据所述队列报告给所述终端设备分配合适的带宽授权。
上述技术方案通过设置多个阀值,每个阀值对应一个虚拟队列,并通过设计虚拟队列的入队出队操作,使针对虚拟队列计算出的队列报告能够尽可能准确地反映出下一次带宽授权时不同阈值对应的本端所需的上行带宽,并将队列报告实时向局端报告,这样,当局端获取这些队列报告后,可以根据报告的内容为逻辑链接通道分配合适的带宽,从而提高了上行带宽利用率。同时,上述技术方案还具有逻辑结构简单,易于实现等特点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术的逻辑链路通道发送以太网报文的示意图;
图2是本发明实施例一的实体队列与虚拟队列的示意图;
图3A是本发明实施例一的虚拟队列的出队过程流程图;
图3B是本发明实施例一的虚拟队列的入队过程流程图;
图3C是本发明实施例一有阈值的实体队列示意图;
图4是本发明实施例二的虚拟队列入出队过程流程图;
图5是本发明实施例三的队列报告装置示意图;
图6是本发明实施例四无源光网络系统示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一、队列报告方法。
为了充分利用EPON上行带宽,逻辑链路通道向OLT发送数据报文时,可以先向OLT发送一个队列报文(或者叫做REPORT报文),在该REPORT报文中包含了需要发送的数据报文的带宽(长度),OLT根据REPORT报文中的信息为逻辑链路通道分配合适的带宽,从而提高EPON上行带宽的利用率。
为了使得REPORT报文中的信息能够实时反映当前发送数据报文所需的带宽,本发明实施例为实体队列设置多个阈值,每个阈值对应一个虚拟队列,通过对虚拟队列的入队和出队操作,来生成REPORT报文。
在本实施例中,实体队列为数据报文的真正载体,实体队列的入队表示数据进入队列准备发送;实体队列出队表示将数据从队列中出队,向OLT发送。多个阈值用于对应于多个虚拟队列,用于管理队列报告,生成合适的REPORT报文。
在本发明实施例中,实体队列、阈值和虚拟队列三者之间的关系包括:针对实体队列对应有一个或多个阈值,即一个实体队列对应有至少一个阈值;一个阈值对应一个虚拟队列,一个阈值可以表示出该阈值对应的虚拟队列的最大深度,这里的深度也可理解为报文开销或报文长度等,即需要发送的报文的带宽,如有两个报文,第一个报文长300字节,第二个报文长100字节,再加上每个报文发送到光纤时所需要的前导符(8字节)、帧间隔(12字节),则两个报文总共占据的深度(或带宽)为(300+8+12)+(100+8+12)=440字节;如果假设1TQ=16ns=16bit=2字节,则这两个报文的深度为440/2=220TQ。
在阈值为一个的情况下,该阈值可以小于或等于实体队列的最大深度;在阈值为多个的情况下,其中一个阈值可以等于实体队列的最大深度,而其他阈值均应小于实体队列的最大深度;当然,所有的阈值也可以均小于实体队列的最大深度。这里的实体队列可以为一个,也可以为多个。在实体队列为多个情况下,针对各实体队列设置的阈值可以相同,也可以不相同。另外需要说明的是,在针对一个实体队列设置的阈值为多个的情况下,多个阈值的取值可以各不相同。
上述与阀值对应的虚拟队列可以看作是一个数值,该数值为对应于某一阈值的相关报文的带宽,对虚拟队列的入队或出队相当于改变这个数值的大小。
从上述描述可知,本实施例中的一个实体队列可以对应一个或多个虚拟队列。一个实体队列对应4个虚拟队列的一个具体例子如图2所示。
图2中的实体队列包括两部分,一部分是从图中实体队列头到实体队列尾,以队列形式存在的数据报文;另一部分是已经出队,位于中间FIFO的数据报文(数据报文并不是出队后立即被送到光纤发送,中间可能会先存在FIFO当中)。针对图2中的实体队列设置了4个阈值,即阈值1、阈值2、阈值3和阈值4,4个阈值按照从小到大的顺序依次是:阈值1、阈值2、阈值3和阈值4。其中的阈值4等于实体队列的最大深度,即阈值4对应的虚拟队列的最大深度与实体队列的最大深度相同。实体队列的最大深度不限,实际使用中可根据硬件资源选择合适的深度。
图2中的实体队列头在实体队列中的数据报文出队时发生改变,实体队列尾在数据报文入实体队列时发生改变。而虚拟队列头在数据报文向光纤发送时发生改变,虚拟队列尾在数据报文入实体队列时或者在虚拟队列头发生改变时,有可能发生改变。在从实体队列中出队的数据报文还需要经过中间过程(如中间FIFO)才能够向光纤发送的情况下,实体队列头和虚拟队列头不会同时发生改变。在从实体队列中出队的数据报文不需要经过中间过程而直接向光纤发送的情况下,实体队列头和虚拟队列头可以同时发生改变。
需要说明的是,图2所示的实体队列和各虚拟队列都采用了从队尾入队,队头出队的入出队方式,其实,图2中的实体队列和虚拟队列也完全可以采用从队头入队,队尾出队的入出队方式。在采用队尾入队、队头出队的入出队方式的情况下,所有的虚拟队列可以具有共同的队头。在采用队头入队、队尾出队的入出队方式的情况下,所有的虚拟队列可以具有共同的队尾。在采用队尾入队、队头出队的入出队方式的情况下,在数据报文向光纤发送时,所有的虚拟队列和实体队列可以具有共同的队头,在数据报文从实体队列出队,但是还没有向光纤发送时(如从实体队列出队的数据报文在中间FIFO中),虽然所有虚拟队列具有共同的队头,但是,实体队列头和虚拟队列头并不一致。在采用队头入队、队尾出队的入出队方式的情况下,在数据报文向光纤发送时,所有的虚拟队列和实体队列可以具有共同的队尾,在数据报文从实体队列出队,但是还没有向光纤发送时(如从实体队列出队的数据报文在中间FIFO中),虽然所有虚拟队列具有共同的队尾,但是,实体队列队尾和虚拟队列尾并不一致。
在实施例一中,实体队列可以采用链表的形式来实现。此时,实体队列链表可以采用现有的链表管理方式。在从实体队列中出队的数据报文还需要经过中间过程才能够向光纤发送的情况下,针对实体队列链表的链表管理方式与现有的链表管理方式的区别在于:实体队列资源回收环节,所谓资源回收是指让已经出队的数据报文原来占用的空间能让后续的报文继续使用。实体队列资源回收环节的区别包括:在现有的链表管理方式中,数据报文从实体队列中出队时,进行实体队列资源回收;而在本实施例一中,在数据报文要向光纤发送时(如数据报文从实体队列中出队、且经过了中间的各FIFO后,要向光纤发送时),才进行实体队列资源回收,从而可以使虚拟队列表示出的已占用空间和实体队列中不能被后续需要进入实体队列的数据报文所使用的空间相对应。
由于本实施例中实体队列的入出队的具体实现过程可以采用现有的入出队具体实现过程来实现,因此,在本实施例中不再详细说明实体队列的入出队具体实现过程。本实施例中虚拟队列的入出队具体实现过程包括如下内容:
虚拟队列的出队过程包括:在判断出数据报文向光纤发送的情况下,进行虚拟队列出队操作。即虚拟队列的出队过程包括:虚拟队列的出队判断操作和虚拟队列的出队操作。虚拟队列的出队判断操作和虚拟队列的出队操作的流程如附图3A所示。
图3A中,S300、判断数据报文是否向光纤发送;
若判断得到有数据报文向光纤发送,则执行步骤S310,执行虚拟队列的出队操作;否则,执行S320。
S310、执行该虚拟队列的出队操作;
虚拟队列出队操作可以为:计算虚拟队列的当前深度与向光纤发送的数据报文(即虚拟队列的出队数据报文)所占用的带宽的差,并将虚拟队列的当前深度调整为计算出的差值。即在本虚拟队列的当前长度的基础上减去该数据报文所占用的上行链路的时间。数据报文所占用的带宽(即数据报文所占用的上行链路的时间)不仅包括数据报文的长度,还可以包括数据报文的附加开销。附加开销如:帧间隙和前导码,再如:帧间隙、前导码和前向纠错码等。虚拟队列出队操作还包括:调整出队方向对应的指针,出队方向对应的指针根据数据报文从队头入队还是从队尾入队会有所不同;例如,如果数据报文从队头进入虚拟队列,则出队方向对应的指针为虚拟队列尾指针,如果数据报文从队尾进入虚拟队列,则出队方向对应的指针为虚拟队列头指针。例如,在如图2所示的队列中,如果虚拟队列出对,则将虚拟队列头指针向下移动。
S320、不执行虚拟队列的出队操作。
虚拟队列的入队过程包括:在实体队列有数据报文入队或者虚拟队列进行出队操作的情况下,执行是否允许入队的判断操作,在确定出虚拟队列允许入队时,执行虚拟队列入队操作,否则,不执行虚拟队列入队操作。即虚拟队列的入队过程包括:虚拟队列的入队判断操作和虚拟队列的入队操作。本实施例中,实体队列有数据报文入队可以触发虚拟队列的入队判断操作,虚拟队列的出队操作也可以触发虚拟队列的入队判断操作。虚拟队列的入队判断操作和虚拟队列的入队操作的流程如附图3B所示。
图3B中,S330、本实施例的虚拟队列的入队判断操作和虚拟队列的入队操作的流程开始,到S340。
S340、判断实体队列是否有数据报文入队以及是否执行了虚拟队列出队操作,即判断是否触发了虚拟队列入队判断操作,如果判断出实体队列有数据报文入队或者执行了虚拟队列出队操作,即判断出有触发虚拟队列入队判断操作,则到S350,否则,返回S340,继续判断是否触发了虚拟队列入队判断操作。
S350、执行虚拟队列入队判断操作,如果判断的结果为允许虚拟队列入队,则到S360,否则,到S370。虚拟队列入队判断操作也就是判断是否需要在当前队列报告中加上某一数据报文所需要占用的上行带宽,这里的某一数据报文即需要进入实体队列的数据报文。
在S340判断出实体队列有数据报文入队或执行虚拟队列出队操作的情况下,S350的虚拟队列的入队判断操作的一个具体的例子为:判断实体队列入队的数据报文所占用的带宽与虚拟队列的当前深度之和是否超过该虚拟队列的最大深度;如果不超过虚拟队列的最大深度,则确定虚拟队列允许入队,到S360;否则,确定虚拟队列不允许入队,到S370。
在数据报文从队尾入队的情况下,虚拟队列的入队判断操作的一个具体的例子为:该虚拟队列尾指针不是实体队列尾指针或者虽然虚拟队列尾指针是实体队列尾指针但实体队列不为空、且虚拟队列的当前深度加上即将入队的数据报文所占用的带宽之和小于该虚拟队列的阈值,确定虚拟队列允许入队。
S360、针对需要入虚拟队列的数据报文执行虚拟队列的入队操作。虚拟队列的入队操作的一个具体的例子为:将虚拟队列的当前深度调整为虚拟队列的当前深度与允许入队的数据报文所占用的带宽的和。数据报文所占用的带宽不仅包括数据报文的长度,还可以包括数据报文的附加开销。附加开销如:帧间隙、前导码以及前向纠错码等。虚拟队列入队操作还包括:根据虚拟队列的入队数据报文所占用的带宽调整入队方向对应的指针,入队方向对应的指针根据数据报文从队头入队还是从队尾入队会有所不同;例如,如果数据报文从队头进入虚拟队列,则入队方向对应的指针为虚拟队列头指针,如果数据报文从队尾进入虚拟队列,则入队方向对应的指针为虚拟队列尾指针。
在数据报文从队尾入队的情况下,虚拟队列的入队操作的一个具体的例子为:根据入队数据报文所占用的上行链路的时间来更新虚拟队列尾指针,并根据入队数据报文所占用的上行链路的时间更新虚拟队列当前深度。
S370、不执行虚拟队列的入队操作,本次虚拟队列的入队判断操作和虚拟队列的入队操作结束。
需要说明的是,上述图3A和图3B描述的虚拟队列的入出队过程都是针对一个虚拟队列进行描述的,如果一个实体队列对应有多个虚拟队列,则每个虚拟队列都应进行上述虚拟队列的入出对判断和执行操作,直至找到允许入队的虚拟队列。另外,图3A和图3B所示的流程可以并行执行。而且,当一个实体队列对应有多个虚拟队列时,各虚拟队列可以按照一定顺序(如阈值从小到大的顺序)执行上述图3A和图3B所示的流程,当然,各虚拟队列对应的图3A和图3B所示的流程也可以并行执行。还有,虚拟队列的入队判断操作可以在数据报文向光纤发送的过程中进行,这样,不但可以去除从实体队列出队到出队的数据报文向光纤发送之间的内部传输路径中的数据报文对队列报告准确性的影响,而且,还为队列判断和入队操作预留了充足的时间,为队列报告的准确计算以及队列报告的可实施性打下了良好的基础。
在需要发送队列报告时,针对实体队列对应的所有虚拟队列生成队列报告,并向局端(如OLT)上报队列报告。这里的队列报告可以为:基于多阈值队列集的队列报告。本实施例中的生成队列报告即根据设置的多个阈值分别计算不超过阈值所示带宽的完整数据报文所需要的上行带宽。基于多阈值队列集的队列报告的一个具体例子为:
参见图3C,设定有两个实体队列,即队列1和队列2,队列1和队列2均对应有优先级,如队列1对应的优先级最高,队列2对应的优先级次高。队列1和队列2对应的优先级如业务优先级。图3C中,队列1包含4个数据报文,标号分别为#1,#2,#3和#4,各个数据报文的长度分别为300,100,500,1000,单位为字节。队列2中也包含4个报文,标号分别为#5,#6,#7和#8,长度分别为200,400,600和800,单位也是字节。
针对这两个实体队列均设置了三个阈值,即Threshold1、Threshold2和Threshold3,则生成的队列报告是针对3个队列集的队列报告,一个队列报告报文中可以包含多个队列报告,每个队列集包括的数据报文(数据报文即表1中的帧)如表1所示:
表1
Figure GSB00000445530100111
从表1可以看出,三个阈值的大小各不同,如果按照阈值从小到大的顺序对阈值进行排列,则该顺序为:Threshold1、Threshold2和Threshold3;最大的阈值可以与实体队列的最大深度相同。队列报告可以体现出队列集中的数据报文向局端发送时所需要的带宽(即时长),带宽的单位可以是TQ,1TQ=16ns=16bit=2字节。
需要发送队列报告的时间点可以是当前带宽授权即将结束时,例如,可以在当前带宽授权结束前且发送最后一个数据报文之后,发送利用上述方法生成的队列报告,然后,关闭激光器,当前带宽授权结束。例如,在要关闭激光器时,生成并发送队列报告(即REPORT报文),以保证队列报告中的计算结果的准确性。另外需要说明的是,在本实施例中,生成队列报告与发送队列报告之间的时间间隔应尽可能的短,最好是在生成队列报告后立即发送该队列报告。还有,REPORT报文中可以包含有REPORT报文所占用的带宽,从而局端根据REPORT报文进行的带宽授权能够使下一个REPORT报文顺利上报。在REPORT报文中没有包含REPORT报文所占用的带宽的情况下,局端在进行带宽授权时,可以主动考虑REPORT报文所占用的带宽,以保证下一个REPORT报文能够顺利上报。REPORT报文所占用的带宽可以是一个预先设置的固定值。
从上述实施例一的描述可以看出,本实施例针对实体队列对应有多个阈值,每个阈值对应一个虚拟队列,并通过设计虚拟队列的入队出队操作,使虚拟队列中的数据报文能够反映出不同阈值对应的所有需要向局端发送的数据报文,使针对虚拟队列计算出的队列报告能够准确地反映出本端所需的上行带宽,这样,当局端获取这些队列报告后,可以根据报告的内容为逻辑链接通道分配合适的带宽,从而提高了上行带宽利用率;并且通过在生成队列报告后实时发送队列报告,且发送队列报告的时间为在当前带宽授权结束前发送最后一个数据报文之后,使队列报告能够进一步准确地反映出下次带宽授权时本端所需的上行带宽。同时,本发明实施例利用虚拟队列方便简单的实现了针对实体队列设置的阈值,通过设计虚拟队列的入队出队操作能够方便准确的针对虚拟队列计算出队列报告,使队列报告的逻辑实现简单。
下面以EPON为例对本发明的队列报告方法和装置进行说明。
实施例二、队列报告方法中虚拟队列的入队出队过程。该入队出队过程如附图4所示。
图4中,S400、本实施例的队列报告方法中的虚拟队列的入队出队流程开始执行,到S410。
S410、判断是否有数据报文要向光纤中发送,如果有数据报文要向光纤中发送,则到S430,否则,到S420。
S420、判断实体队列是否有数据报文入队,如果有数据报文入队,则到S440,否则,到S470。
S430、执行虚拟队列出队操作,之后到S440。
在EPON中,在向光纤发送数据报文时,该数据报文一定能够完整的发往光纤,基于EPON中的这一特点,本实施例可以在向光纤发送数据报文头时,执行该数据报文的出队操作。
S440、执行虚拟队列的入队操作判断,即判断虚拟队列是否允许入队,如果判断出需要执行虚拟队列的入队操作,则到S450,否则到S460。
S450、执行虚拟队列的入队操作,到S460。
S460、判断是否所有的虚拟队列都完成了入队判断和入队操作,如果所有的虚拟队列都完成了入队判断和入队操作,则到S470,否则,针对还没有进行入队判断和入队操作的虚拟队列,到S440。
S470、本次队列报告方法中的虚拟队列的入队出队流程结束。
实施例三、队列报告装置
本发明实施例还提供一种队列报告装置500,该装置可以位于ONU/ONT中,具体实现形式可以为一块单板,所述装置中有实体队列,所述实体队列对应有至少一个阈值,一个所述阈值对应一个虚拟队列,所述阈值表示所述虚拟队列最大深度,所述装置还包括:
第一判断单元501,用于判断是否有数据报文向光纤发送;其中,数据报文存在于实体队列中,包括以队列形式存在的数据报文和另一部分处于FIFO的数据报文。
虚拟队列出队管理单元502,当所述第一判断单元判断出数据报文向光纤发送时,根据所述阈值对所述虚拟队列执行出队操作;
第二判断单元503,用于判断所述实体队列是否有数据报文入队或者所述虚拟队列是否执行了出队操作;
虚拟队列入队判断单元504,用于判断是否允许所述虚拟队列执行入队操作;
虚拟队列入队操作单元505,用于根据所述第二判断单元503确定出所述实体队列有数据报文入队或者所述虚拟队列执行了出队操作,且根据所述虚拟队列入队判断单元判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;
报告单元506,用于针对所述虚拟队列生成队列报告,并上报所述队列报告。
所述这队列报告装置500还包括:
资源回收单元507,用于在判断出数据报文向光纤发送时,对所述数据报文所在的所述实体队列进行资源回收,即让已经出队的数据报文原来占用的空间能让后续的报文继续使用。
虚拟队列入队判断单元504判断是否允许所述虚拟队列执行入队操作包括:
判断所述实体队列入队的数据报文所占用的带宽与第一虚拟队列当前深度之和是否超过所述第一虚拟队列的阀值,如果不超过所述第一虚拟队列的阈值,则允许所述第一虚拟队列执行入队操作;否则,不执行入队操作;所述第一虚拟队列为所述虚拟队列的其中一个;
所述虚拟队列入队判断单元504还用于:
当判断所述第一虚拟队列不执行入队操作,且存在多个所述阈值时,判断所述实体队列入队的数据报文所占用的带宽与第二虚拟队列当前深度之和是否超过第二虚拟队列的阀值,如果不超过,则允许所述第二虚拟队列执行入队操作;否则,继续判断,直至找到允许入队的虚拟队列。
虚拟队列入队操作单元505执行入操作包括:
计算虚拟队列的当前深度与虚拟队列的入队数据报文所占用的带宽的和,将虚拟队列的当前深度调整为所述和,并根据所述虚拟队列的入队数据报文所占用的带宽调整入队方向对应的指针;
所述队列报告装置500还包括:虚拟队列出队操作单元508,用于计算所述虚拟队列的当前深度与所述虚拟队列的出队数据报文所占用的带宽的差;
将虚拟队列的当前深度调整为所述的差值,并根据所述虚拟队列的出队数据报文所占用的带宽调整出队方向对应的指针。
所述报告单元506上报所述队列报告的时机为:
在当前带宽授权结束前,发送最后一个数据报文之后。
上述数据报文所占用的带宽不仅包括数据报文的长度,还可以包括数据报文的附加开销。附加开销如:帧间隙、前导码以及前向纠错码等。
对于本发明实施例中各单元的具体操作可以参考实施例一中的方法,在此不再赘述。
本发明实施例针对实体队列对应多个阈值,每个阈值对应于一个虚拟队列,并通过设计虚拟队列的入队出队操作,使虚拟队列中的数据报文能够反映出不同阈值对应的所有需要向局端发送的数据报文,使针对虚拟队列计算出的队列报告能够准确地反映出本端所需的上行带宽,这样,当局端获取这些队列报告后,可以根据报告的内容为逻辑链接通道分配合适的带宽,从而提高了上行带宽利用率;并且通过在生成队列报告后实时发送队列报告,且发送队列报告的时间为在当前带宽授权结束前发送最后一个数据报文之后,使队列报告能够进一步准确地反映出下次带宽授权时本端所需的上行带宽。同时,本发明实施例利用虚拟队列方便简单的实现了针对实体队列设置的阈值,通过设计虚拟队列的入队出队操作能够方便准确的针对虚拟队列计算出队列报告,使队列报告的逻辑实现简单。
实施例四、一种无源光网络系统
本发明实施例还提供了一种无源光网络系统600,包括:
终端设备602,所述设备包括光网络终端,或者光网络单元;
局端设备601,所述局端设备601包括光线路终端;
所述终端设备602对应有至少一个阀值,一个所述阈值对应一个虚拟队列,所述阀值表示所述虚拟队列最大深度;
所述终端设备602在判断出数据报文向光纤发送时,根据所述阀值对所述虚拟队列执行出队操作;
所述终端设备602在确定出实体队列有数据报文入队或者所述虚拟队列执行了出队操作,且判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;
针对所述虚拟队列生成队列报告,并上报所述队列报告给所述局端设备601;
所述局端设备601接收所述队列报告,并根据所述队列报告给所述终端设备602分配合适的带宽授权。
所述终端设备601还用于:
在判断出数据报文向光纤发送时,对所述数据报文所在的实体队列进行资源回收;
判断所述实体队列入队的数据报文所占用的带宽与第一虚拟队列当前深度之和是否超过所述第一虚拟队列的阀值,如果不超过所述第一虚拟队列的阈值,则允许所述第一虚拟队列执行入队操作;否则,不执行入队操作;所述第一虚拟队列为所述虚拟队列的其中一个;
当不执行入队操作,且存在多个所述阈值时,判断所述实体队列入队的数据报文所占用的带宽与第二虚拟队列当前深度之和是否超过第二虚拟队列的阀值,如果不超过,则允许所述第二虚拟队列执行入队操作;否则,继续判断,直至找到允许入队的虚拟队列;所述第二虚拟队列为所述虚拟队列的其中一个。
所述终端设备602执行入队操作包括:
计算虚拟队列的当前深度与虚拟队列的入队数据报文所占用的带宽的和,将虚拟队列的当前深度调整为所述和,并根据所述虚拟队列的入队数据报文所占用的带宽调整入队方向对应的指针;
所述终端设备执行出队操作包括:
将虚拟队列的当前深度调整为所述的差值,并根据所述虚拟队列的出队数据报文所占用的带宽调整出队方向对应的指针;
上述数据报文所占用的带宽不仅包括数据报文的长度,还可以包括数据报文的附加开销。附加开销如:帧间隙、前导码以及前向纠错码等。
对于本发明实施例中各方法步骤的具体操作可以参考实施例一中的方法,在此不再赘述。
本发明实施例针对实体队列对应多个阈值,每个阈值对应于一个虚拟队列,并通过设计虚拟队列的入队出队操作,使虚拟队列中的数据报文能够反映出不同阈值对应的所有需要向局端发送的数据报文,使针对虚拟队列计算出的队列报告能够准确地反映出本端所需的上行带宽,这样,当局端获取这些队列报告后,可以根据报告的内容为逻辑链接通道分配合适的带宽,从而提高了上行带宽利用率;并且通过在生成队列报告后实时发送队列报告,且发送队列报告的时间为在当前带宽授权结束前发送最后一个数据报文之后,使队列报告能够进一步准确地反映出下次带宽授权时本端所需的上行带宽。同时,本发明实施例利用虚拟队列方便简单的实现了针对实体队列设置的阈值,通过设计虚拟队列的入队出队操作能够方便准确的针对虚拟队列计算出队列报告,使队列报告的逻辑实现简单。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。

Claims (15)

1.一种队列报告方法,其特征在于,针对实体队列对应有至少一个阈值,一个所述阈值对应一个虚拟队列,所述阈值表示所述虚拟队列最大深度,所述方法包括如下步骤:
在判断出数据报文向光纤发送时,根据所述阈值对所述虚拟队列执行出队操作;
在确定出实体队列有数据报文入队或者所述虚拟队列执行了出队操作,且判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;
针对所述虚拟队列生成队列报告,并上报所述队列报告。
2.如权利要求1所述的队列报告方法,其特征在于,在判断出数据报文向光纤发送时,还包括:
对所述数据报文所在的所述实体队列进行资源回收。
3.如权利要求1所述的方法,其特征在于:
所述在确定出实体队列有数据报文入队或者执行虚拟队列出队操作,且判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作的步骤包括:
判断所述实体队列入队的数据报文所占用的带宽与第一虚拟队列当前深度之和是否超过所述第一虚拟队列的阀值,如果不超过所述第一虚拟队列的阈值,则允许所述第一虚拟队列执行入队操作;否则,不执行入队操作;所述第一虚拟队列为所述虚拟队列的其中一个。
4.如权利要求3所述的方法,其特征在于:
当不执行入队操作,且存在多个所述阈值时,判断所述实体队列入队的数据报文所占用的带宽与第二虚拟队列当前深度之和是否超过第二虚拟队列的 阈值,如果不超过,则允许所述第二虚拟队列执行入队操作;否则,继续判断,直至找到允许入队的虚拟队列。
5.如权利要求1所述的方法,其特征在于,所述虚拟队列入队操作包括:
计算虚拟队列的当前深度与虚拟队列的入队数据报文所占用的带宽的和,将虚拟队列的当前深度调整为所述和,并根据所述虚拟队列的入队数据报文所占用的带宽调整入队方向对应的指针;
且所述虚拟队列出队操作包括:
计算所述虚拟队列的当前深度与所述虚拟队列的出队数据报文所占用的带宽的差;
将虚拟队列的当前深度调整为所述的差,并根据所述虚拟队列的出队数据报文所占用的带宽调整出队方向对应的指针。
6.如权利要求3-5任一所述的方法,其特征在于,所述数据报文所占用的带宽包括:数据报文的长度和数据报文的附加开销。
7.如权利要求1至5中任一权利要求所述的方法,其特征在于,针对所述虚拟队列生成队列报告,并上报所述队列报告包括:
针对所述虚拟队列生成队列报告后立即上报,且上报所述队列报告的时机为:在当前带宽授权结束前,发送最后一个数据报文之后。
8.一种队列报告装置,其特征在于,所述装置中有实体队列,所述实体队列对应有至少一个阈值,一个所述阈值对应一个虚拟队列,所述阈值表示所述虚拟队列最大深度,所述装置包括:
第一判断单元,用于判断是否有数据报文向光纤发送;
虚拟队列出队管理单元,当所述第一判断单元判断出数据报文向光纤发送时,根据所述阈值对所述虚拟队列执行出队操作;
第二判断单元,用于判断所述实体队列是否有数据报文入队或者所述虚拟队列是否执行了出队操作; 
虚拟队列入队判断单元,用于判断是否允许所述虚拟队列执行入队操作;
虚拟队列入队操作单元,用于根据所述第二判断单元确定出所述实体队列有数据报文入队或者所述虚拟队列执行了出队操作,且根据所述虚拟队列入队判断单元判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;
报告单元,用于针对所述虚拟队列生成队列报告,并上报所述队列报告。
9.如权利要求8所述的队列报告装置,其特征在于,还包括:
资源回收单元,用于在判断出数据报文向光纤发送时,对所述数据报文所在的所述实体队列进行资源回收。
10.如权利要求8所述的队列报告装置,其特征在于,所述虚拟队列入队判断单元判断是否允许所述虚拟队列执行入队操作包括:
判断所述实体队列入队的数据报文所占用的带宽与第一虚拟队列当前深度之和是否超过所述第一虚拟队列的阈值,如果不超过所述第一虚拟队列的阈值,则允许所述第一虚拟队列执行入队操作;否则,不执行入队操作;所述第一虚拟队列为所述虚拟队列的其中一个;
所述虚拟队列入队判断单元还用于:
当判断所述第一虚拟队列不执行入队操作,且存在多个所述阈值时,判断所述实体队列入队的数据报文所占用的带宽与第二虚拟队列当前深度之和是否超过第二虚拟队列的阈值,如果不超过,则允许所述第二虚拟队列执行入队操作;否则,继续判断,直至找到允许入队的虚拟队列。
11.如权利要求8所述队列报告装置,其特征在于,所述入队操作单元执行入操作包括:
计算虚拟队列的当前深度与虚拟队列的入队数据报文所占用的带宽的和,将虚拟队列的当前深度调整为所述和,并根据所述虚拟队列的入队数据报文所占用的带宽调整入队方向对应的指针; 
所述队列报告装置还包括:出队操作单元,用于计算所述虚拟队列的当前深度与所述虚拟队列的出队数据报文所占用的带宽的差;
将虚拟队列的当前深度调整为所述的差值,并根据所述虚拟队列的出队数据报文所占用的带宽调整出队方向对应的指针。
12.如权利要求8所述的队列报告装置,其特征在于,所述报告单元上报所述队列报告的时机为:
在当前带宽授权结束前,发送最后一个数据报文之后。
13.一种无源光网络系统,其特征在于,包括:
终端设备,所述设备包括光网络终端,或者光网络单元;
局端设备,所述局端设备包括光线路终端;
所述终端设备对应有至少一个阈值,一个所述阈值对应一个虚拟队列,所述阈值表示所述虚拟队列最大深度;
所述终端设备在判断出数据报文向光纤发送时,根据所述阈值对所述虚拟队列执行出队操作;
所述终端设备在确定出实体队列有数据报文入队或者所述虚拟队列执行了出队操作,且判断出允许所述虚拟队列执行入队操作时,根据所述阈值对所述虚拟队列执行入队操作;
针对所述虚拟队列生成队列报告,并上报所述队列报告给所述局端设备;
所述局端设备接收所述队列报告,并根据所述队列报告给所述终端设备分配合适的带宽授权。
14.如权利要求13所述的系统,其特征在于,所述终端设备还用于:
在判断出数据报文向光纤发送时,对所述数据报文所在的实体队列进行资源回收;
判断所述实体队列入队的数据报文所占用的带宽与第一虚拟队列当前深度之和是否超过所述第一虚拟队列的阈值,如果不超过所述第一虚拟队列的阈 值,则允许所述第一虚拟队列执行入队操作;否则,不执行入队操作;所述第一虚拟队列为所述虚拟队列的其中一个;
当不执行入队操作,且存在多个所述阈值时,判断所述实体队列入队的数据报文所占用的带宽与第二虚拟队列当前深度之和是否超过第二虚拟队列的阈值,如果不超过,则允许所述第二虚拟队列执行入队操作;否则,继续判断,直至找到允许入队的虚拟队列;所述第二虚拟队列为所述虚拟队列的其中一个。
15.如权利要求13所述的系统,其特征在于,所述终端设备执行入队操作包括:
计算虚拟队列的当前深度与虚拟队列的入队数据报文所占用的带宽的和,将虚拟队列的当前深度调整为所述和,并根据所述虚拟队列的入队数据报文所占用的带宽调整入队方向对应的指针;
所述终端设备执行出队操作包括:
计算所述虚拟队列的当前深度与所述虚拟队列的出队数据报文所占用的带宽的差,将虚拟队列的当前深度调整为所述的差,并根据所述虚拟队列的出队数据报文所占用的带宽调整出队方向对应的指针。 
CN2009101309914A 2009-04-21 2009-04-21 一种队列报告方法、装置和无源光网络系统 Active CN101534254B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101309914A CN101534254B (zh) 2009-04-21 2009-04-21 一种队列报告方法、装置和无源光网络系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101309914A CN101534254B (zh) 2009-04-21 2009-04-21 一种队列报告方法、装置和无源光网络系统

Publications (2)

Publication Number Publication Date
CN101534254A CN101534254A (zh) 2009-09-16
CN101534254B true CN101534254B (zh) 2011-05-04

Family

ID=41104648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101309914A Active CN101534254B (zh) 2009-04-21 2009-04-21 一种队列报告方法、装置和无源光网络系统

Country Status (1)

Country Link
CN (1) CN101534254B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102377638A (zh) * 2010-08-10 2012-03-14 高通创锐讯通讯科技(上海)有限公司 点对多点网络中上报消息的计算方法
CN102469007A (zh) * 2010-11-08 2012-05-23 高通创锐讯通讯科技(上海)有限公司 Onu计算上行队列的上报长度的方法
EP2487833B1 (en) * 2011-02-09 2018-07-04 Mitsubishi Electric R&D Centre Europe B.V. Optimized dynamic bandwidth scheduler
CN103391487B (zh) * 2012-05-11 2017-12-01 中兴通讯股份有限公司 一种在多逻辑链路标识模式下传输业务的方法及装置
CN103685062A (zh) * 2013-12-02 2014-03-26 华为技术有限公司 缓存管理方法及装置
CN108259355B (zh) * 2014-12-30 2022-03-11 华为技术有限公司 一种报文转发方法和装置
CN109582456A (zh) * 2017-09-28 2019-04-05 北京国双科技有限公司 报表执行方法和装置

Also Published As

Publication number Publication date
CN101534254A (zh) 2009-09-16

Similar Documents

Publication Publication Date Title
CN101534254B (zh) 一种队列报告方法、装置和无源光网络系统
US6088734A (en) Systems methods and computer program products for controlling earliest deadline first scheduling at ATM nodes
EP2467978B1 (en) Method for soft bandwidth limiting in dynamic bandwidth allocation
Chiussi et al. Achieving high utilization in guaranteed services networks using early-deadline-first scheduling
JP2003218924A (ja) ネットワークノードの接続容量を増大させる方法、およびネットワークノードのための統合トラフィック成形システム、およびネットワークにおけるセルの処理方法および調整成形方法、およびネットワークノードにおいて用いられる統合トラフィック調整成形システム
CN100518296C (zh) 一种实现视频会议资源调度的方法
JP3262029B2 (ja) セル伝送交換機の呼接続制御装置
Choi et al. Double-phase polling algorithm based on partitioned ONU subgroups for high utilization in EPONs
CN103237299B (zh) 一种基于网络共享的计费控制、策略控制方法和设备
CN101719850B (zh) 对以太网丢包率进行统计的装置、方法及报文交换设备
CN102264116A (zh) 一种基于分布式时分多址无线自组网的节点入网方法
CN101272347B (zh) 负载分担的方法和设备
CN112866135A (zh) 发送报文的方法、第一网络设备及计算机可读存储介质
US20090214209A1 (en) Bandwidth allocation method, optical line terminator, optical network unit, communication system, and recording medium recording program of device
Bouabdallah et al. Resolving the fairness issues in bus-based optical access networks
EP1596514B1 (en) Packet multiplexing apparatus
CN111786928B (zh) 面向电力天地一体量子网络运维的分等级加密方法和系统
CN101753417A (zh) 计算和确定路由的方法、路径计算单元和确定路由的系统
Wang et al. A dynamic bandwidth allocation scheme for Internet of thing in network-slicing passive optical networks
CN105763963A (zh) 一种业务传输方法和装置
CN100442760C (zh) 一种分组公平调度方法及设备
Lu et al. Fine-Granularity Bandwidth Allocation for Diverse Low-Latency Services in Higher-Speed Passive Optical Networks
KR101681613B1 (ko) 분산 병렬 데이터 전송 시스템에서 자원들을 스케줄링하기 위한 장치 및 그 방법
CN101668001A (zh) 一种建立域间呼叫的方法、系统及装置
CN1182741C (zh) 用于产生低位速率应用的atm信元的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant