CN101026556B - 一种支持服务质量的仲裁方法及装置 - Google Patents
一种支持服务质量的仲裁方法及装置 Download PDFInfo
- Publication number
- CN101026556B CN101026556B CN2007100007180A CN200710000718A CN101026556B CN 101026556 B CN101026556 B CN 101026556B CN 2007100007180 A CN2007100007180 A CN 2007100007180A CN 200710000718 A CN200710000718 A CN 200710000718A CN 101026556 B CN101026556 B CN 101026556B
- Authority
- CN
- China
- Prior art keywords
- arbitration
- priority
- link
- cell
- priority arbitration
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种支持服务质量(QoS)的仲裁方法,该方法包括:A、设置仲裁优先级别,为每一个仲裁优先级别设置对应的信元优先级别;B、在设置的每一个仲裁优先级别,对本仲裁优先级别对应信元优先级别的信元仲裁请求进行仲裁,并对本仲裁优先级别之前的仲裁优先级别中未建立链路连接的信元仲裁请求进行仲裁。本发明还提供了一种支持QoS的仲裁装置,包括控制器和仲裁处理器。应用本发明,可以对所有信元的仲裁请求进行灵活的分级仲裁,支持QoS。
Description
技术领域
本发明涉及仲裁技术,特别涉及一种支持服务质量(QoS)的仲裁方法及装置。
背景技术
交换网是交换系统中的核心模块,通过交换网,将数据从输入端口交换至指定的输出端口。目前,交换网包括多种交换体系,其中交叉开关(Crossbar)作为一种快速的交换体系,被广泛的采用。
参见图1,图1为现有技术Crossbar交换结构示意图。如图1所示,Crossbar体系主要由输入模块101、输出模块103、交换矩阵102和仲裁器104组成。输入模块101包括至少一个输入端口,用于接收来自线卡的数据,提取数据中的仲裁请求信息,即数据的输出端口地址。仲裁器104按照指定的仲裁算法,对输入模块101送入的仲裁请求进行仲裁,将仲裁结果送入交换矩阵102,配置交换矩阵102。交换矩阵102按照仲裁器104送入的仲裁结果,将输入模块101送入的数据流交换至输出模块103进行输出。在Crossbar结构中,仲裁器104通过对仲裁请求的仲裁,建立数据交换链路,配置交换矩阵102交换数据的路径,使其将数据交换至指定输出端口。可见仲裁器和其使用的仲裁算法是Crossbar交换体系中的核心。
仲裁算法包括并行迭代匹配(PIM)、循环匹配(RRM)和Islip算法等,这些算法能保证每条链路获得仲裁的公平性。以Islip算法为例,Islip算法是一种针对定长数据的输入排队调度算法,采用虚拟输出队列和优先机制,被广泛应用于仲裁技术。参见图2,图2为现有技术中Islip算法结构示意图,图中示出了四个输入端口对应的仲裁请求,每一个信元的仲裁请求都要通过仲裁迭代获得仲裁结果。每一次仲裁迭代包括三个步骤:第一、每个输入端口向每个输出端口提出请求;第二、每个输出端口按优先机制允许一个输入端口的请求;第三、每个输入端口从接到的允许中按优先机制接受一个输出端口的允许。经过这三个步骤之后,一个输入端口到一个输出端口的链路建立连接,输入端口的信元可以通过该链路传输到输出端口。应用Islip算法可以实现按照业务数据信元携带的优先级别进行分级别仲裁。携带不同优先级别的业务数据信元到达仲裁器输入端口后,输入端口在向输出端口提出仲裁请求时携带该优先级别,如果优先级别高,输出端口在接收到的多个请求中会优先允许该优先级别输入端口的请求,同样输出端口向输入端口发送允许时也携带所允许仲裁请求的优先级别,如果信元携带的优先级别高,输入端口会在接收到的多个允许中优先接受高优先级输出端口的允许。因此业务数据信元携带的优先级高,可以比其他业务数据信元优先进行迭代运算。
和上述Islip算法的原理相似,一种增强型算法Eslip,通过在仲裁器的每个输入端口和每个输出端口增加优先级选择电路,在迭代运算中对携带高优先级别的业务数据信元进行优先迭代。
现有的仲裁方法只能按照各种业务数据信元本身携带的优先级别,对不同业务数据的信元进行分级别的仲裁,而在实际应用中,为了更好的支持QoS,往往需要将某一业务数据的信元进行高于或低于本身携带的优先级别的仲裁,实现更灵活的仲裁分级处理,显然现有的仲裁方法无法做到这一点。
发明内容
本发明实施例提供一种支持QoS的仲裁方法,该方法能实现对信元仲裁请求的灵活分级处理,支持QoS。
本发明实施例提供一种支持QoS的仲裁装置,该装置能实现对信元仲裁请求的灵活分级处理,支持QoS。
本发明实施例提供一种支持QoS的仲裁方法,预先为传输信元需要预留带宽的链路分别配置预留带宽值;该方法包括:
A、设置仲裁优先级别,不按照信元优先级别的顺序,为每一个仲裁优先级别设置对应的信元优先级别;
测量配置预留带宽值的链路的数据流量,根据测量结果,改变测得的数据流量小于为其配置的预留带宽的链路上信元对应的仲裁优先级别;
B、依次在设置的每一个仲裁优先级别的仲裁中,对本仲裁优先级别对应信元优先级别的信元仲裁请求进行仲裁,除第一个仲裁优先级别外,还对本仲裁优先级别之前的仲裁优先级别中未建立链路连接的信元仲裁请求进行仲裁。
本发明实施例提供一种支持QoS的装置,该装置包括:仲裁处理器和控制器;
所述控制器,用于设置仲裁优先级别,不按照信元优先级别的顺序,为每一个仲裁优先级别设置对应的信元优先级别,控制仲裁处理器按照设置的仲裁优先级别对信元的仲裁请求进行仲裁;
所述仲裁处理器,用于根据控制器的控制,在每一个仲裁优先级别,对本仲裁优先级别对应信元优先级别的信元仲裁请求进行仲裁,除第一个仲裁优先级别外,还对本仲裁优先级别之前的仲裁优先级别中未建立链路连接的信元仲裁请求进行仲裁;
所述流量测量单元,用于存储为传输数据需要预留带宽的链路分别配置的预留带宽值,和对配置预留带宽值的链路的数据流量测量值,将数据流量测量值小于预留带宽值的链路信息提供给仲裁处理器,供仲裁处理器改变对应链路的仲裁优先级别。
由上述技术方案可见,本发明实施例提供的支持QoS的仲裁方法,首先设置仲裁优先级别,每一个设置的仲裁优先级别对应一个信元优先级别的信元仲裁,其次依次在设置的每一个仲裁优先级别,对本仲裁优先级别对应信元的仲裁请求进行仲裁,并对本仲裁优先级别之前的仲裁优先级别中未建立链路连接的信元的仲裁请求进行仲裁。该方法能够按照设置的仲裁优先级别,依次对设置的本仲裁优先级别对应的信元仲裁请求进行仲裁,在本仲裁优先级别中未建立链路连接的信元仲裁请求可以在下一个仲裁优先级别中继续获得仲裁,更灵活的实现仲裁分级处理,从而支持QoS。
本发明实施例提供的支持QoS的仲裁装置,包括控制器和仲裁处理器。控制器,用于设置仲裁优先级别,设置每一个仲裁优先级别对应一个信元优先级别的信元仲裁,控制仲裁处理器按照设置的仲裁优先级别对对应信元的仲裁请求进行仲裁。仲裁处理器,用于根据控制器的控制,在每一个仲裁优先级别,对设置的本仲裁优先级别对应信元的仲裁请求进行仲裁,并对本仲裁优先级别之前的仲裁优先级别中未建立链路连接的信元的仲裁请求进行仲裁。该装置能够按照设置的仲裁优先级别,依次对设置的本仲裁优先级别对应的信元仲裁请求进行仲裁,在本仲裁优先级别中未建立链路连接的信元仲裁请求可以在下一个仲裁优先级别中继续获得仲裁,更灵活的实现仲裁分级处理,从而支持QoS。
附图说明
图1为现有技术Crossbar交换结构示意图;
图2为现有技术Islip算法结构示意图;
图3为本发明实施例仲裁装置结构示意图;
图4为本发明实施例支持QoS的仲裁方法的较佳实施方式流程图;
图5为本发明实施例支持QoS的仲裁方法基于图3装置的流程图。
具体实施方式
为使本发明实施例的发明目的、技术方案更加清楚明白,下面结合附图对本发明实施例作进一步详细的说明。
本发明实施例提供一种支持QoS的仲裁方法,该方法设置仲裁优先级别,为每一个仲裁优先级别设置对应的信元优先级别,依次在设置的每一个仲裁优先级别,对本仲裁优先级别对应信元优先级别的信元仲裁请求进行仲裁,并对本仲裁优先级别之前的仲裁优先级别中未建立链路连接的信元的仲裁请求进行仲裁。
本发明实施例提供一种支持QoS的仲裁装置,该装置包括控制器和仲裁处理器。控制器,用于设置仲裁优先级别,为每一个仲裁优先级别设置对应的信元优先级别,控制仲裁处理器按照设置的仲裁优先级别对信元仲裁请求进行仲裁。仲裁处理器,用于根据控制器的控制,在每一个仲裁优先级别,对本仲裁优先级别对应信元优先级别的信元仲裁请求进行仲裁,并对本仲裁优先级别之前的仲裁优先级别中未建立链路连接的信元仲裁请求进行仲裁。
下面对本发明实施例提供的支持QoS的仲裁方法及装置进行详细描述。
首先,对本发明实施例提供的支持QoS的仲裁装置进行详细描述。
参见图3,图3为本发明实施例支持QoS的仲裁装置结构示意图,该装置包括:仲裁处理器310和控制器301,其中仲裁处理器310包括请求产生器302~305和仲裁器306。本发明实施例假设,该装置有四个输入端口和四个输出端口,请求产生器302~305分别对应四个输入端口。
控制器301与请求产生器302~305及仲裁器306分别连接,设置仲裁优先级别,设置每一个仲裁优先级别对应一个信元优先级别的信元仲裁。控制器301控制请求产生器302~305在每一个仲裁优先级别将设置的对应信元仲裁请求送入仲裁器306。控制器301中设置的仲裁优先级别与信元优先级别的数目可以相同,例如信元优先级别分为三个级别,则控制器401中设置三个仲裁优先级别,每个仲裁优先级别对应一个信元优先级别的仲裁。
请求产生器302~305分别对应本发明实施例仲裁装置的四个输入端口,接受控制器301的控制,接收对应各链路的信元仲裁请求,按照设置的仲裁优先级别,在每一个仲裁优先级别将对应该仲裁优先级别的信元仲裁请求送入仲裁器306,除第一个仲裁优先级别外,将本仲裁优先级别之前的仲裁优先级别中未建立链路连接的信元仲裁请求对应的仲裁优先级别,变换成本仲裁优先级别后送入仲裁器306。
仲裁器306,接受控制器301的控制,在每一个设置的仲裁优先级别,对请求产生器302~305送入的对应该仲裁优先级别的信元仲裁请求进行仲裁,除第一个仲裁优先级别外,对请求产生器302~305送入的本仲裁优先级别之前的仲裁优先级别中未建立链路连接的信元仲裁请求也进行仲裁,在一个仲裁优先级别的仲裁结束后将仲裁结果反馈给对应请求产生器。本发明实施例中仲裁器306选用现有技术中典型的仲裁器结构,可以最大限度的保证仲裁结果的公平性与通过率,在此结构基础上实现按照设置的不同仲裁优先级别进行仲裁。
以一个简单实例说明上述控制器301、请求产生器302~305以及仲裁器306的工作方式。假设有三种业务数据信元的仲裁请求需要进行仲裁,信元优先级别分别为,实时语音业务优先级别最高,视频点播业务优先级别其次,文件传输协议(FTP)业务优先级别最低。控制器301将仲裁优先级别设置为三级,其中第一个仲裁优先级别对应实时语音业务,第二个仲裁优先级别对应视频点播业务,第三个仲裁优先级别对应FTP业务。仲裁开始前,到达请求产生器302~305的信元仲裁请求分别对应实时语音业务、视频点播业务、FTP业务和实时语音业务。在第一个仲裁优先级别中,请求产生器302和请求产生器305将信元优先级别最高的实时语音业务信元的仲裁请求送入仲裁器306进行仲裁,本级仲裁结束后,仲裁器306将仲裁结果反馈给请求产生器302和请求产生器305,请求产生器302和请求产生器305将在本仲裁优先级别中建立链路连接的信元仲裁请求屏蔽,并将在本仲裁优先级别中未建立链路连接的信元仲裁请求对应的仲裁优先级别,变换第二个仲裁优先级别;在第二个仲裁优先级别,请求产生器303将对应该仲裁优先级别的视频点播业务信元的仲裁请求送入仲裁器306进行仲裁,同时请求产生器302或请求产生器305将在第一个仲裁优先级别中未获得链路连接的信元仲裁请求也送入仲裁器306,本级仲裁结束后,仲裁器306将仲裁结果反馈给请求产生器302、请求产生器305和请求产生器303,这些请求产生器将在本仲裁优先级别中建立链路连接的信元仲裁请求屏蔽,并将在本仲裁优先级别中未建立链路连接的信元仲裁请求对应的仲裁优先级别,变换成第三个仲裁优先级别;在第三个仲裁优先级别,请求产生器304将FTP业务信元的仲裁请求送入仲裁器306进行仲裁,同时请求产生器302、请求产生器305将变换后的在第二个仲裁优先级别中未建立链路连接的信元仲裁请求送入仲裁器306,请求产生器303将在第二个仲裁优先级别中未建立链路连接的信元仲裁请求送入仲裁器306。第三个仲裁优先级别的仲裁结束后,一次仲裁结束。经过上述工作过程,实现了按照设置的仲裁优先级别分级处理所有信元的仲裁请求。上述实例中也可以设置其他仲裁优先级别与信元优先级别的关系,例如第一个仲裁优先级别对应视频点播业务,第二个仲裁优先级别对应实时语音业务,第三个仲裁优先级别对应FTP业务。这样可以不受信元本身携带优先级别的限制,而按照仲裁优先级别对信元仲裁请求进行仲裁,适应实际应用中对不同业务灵活进行分级仲裁的需要,支持了QoS。
以上描述的本发明实施例支持QoS的装置,可以实现按照设置的仲裁优先级别,对设置的对应该仲裁优先级别的信元仲裁请求进行处理,并且将在一个仲裁优先级别中未建立链路连接的信元仲裁请求对应的仲裁优先级别,变换为本来对应仲裁优先级别的下一个仲裁优先级别继续进行仲裁。该装置不受信元本身携带优先级别的限制,对信元仲裁请求进行灵活分级仲裁,支持了QoS。
为了更好的支持QoS,在上述装置基础上,本发明实施例还可以进一步包括,为某些业务数据信元对应的链路提供预留带宽,当预留带宽的链路上数据流量达不到预留带宽值时,为保证业务质量,将该业务信元仲裁请求对应的仲裁优先级别变换为一个高于本身对应仲裁优先级别的仲裁优先级别,或者为了进一步限制该业务的流量,将该业务信元仲裁请求对应的仲裁优先级别变换为一个低于本身对应仲裁优先级别的仲裁优先级别,从而更好的支持QoS。所述变换后的仲裁优先级别,可以是高于或低于信元仲裁请求本身对应的仲裁优先级别的任何一个其他业务信元仲裁请求对应的仲裁优先级别,也可以为该业务信元仲裁请求单独设置一个仲裁优先级别。基于上述考虑,本发明实施例提供的支持QoS的仲裁装置还可以进一步包括流量测量单元309,流量测量单元309由令牌桶阵列307和存储器308共同完成流量测量功能。
流量测量单元309与请求产生器302~305及仲裁器306分别连接,包括与输入端口到输出端口所有链路相等数目的测量单元,每一条链路由一个测量单元进行实际数据流量测量,测量所有链路的数据流量是一种较佳的实现方案,当然实际应用中也许并不是每种业务信元对应的链路都需要预留带宽,这样也就没有必要测量那些不预留带宽的链路上的数据流量,这里只是按照测量链路数目最多的情况来考虑。测量所有链路数据流量的方式在端口数不多的情况下容易实现,但是在端口数很多的情况下,实现起来比较复杂,例如在一个128×128的装置中,一共需要16K个测量单元来完成对每条链路的实际数据流量测量,这么多的测量单元都用寄存器来实现很复杂,解决方法可以是设置一个测量单元阵列,测量单元阵列中包括的测量单元数目少于链路数目,每次仲裁开始前,分时复用测量每条链路的实际数据流量。再设置一个存储器,存储器中包括对应每一条链路的存储区,用于存储对应各链路的预留带宽值,以及测量单元阵列测量的各链路实际数据流量的值。每次仲裁开始之前,测量单元阵列分时复用读取每个测量单元在存储器中的值,将实际数据流量值小于预留带宽值的链路信息提供给链路对应的请求产生器。基于上述思想,本发明实施例给出一种较佳实施方式,即流量测量单元309的上述功能,由令牌桶阵列307和存储器308共同完成,根据为各链路配置的预留带宽值设定增加对应链路传输数据所需的令牌的速率。
令牌桶阵列307与存储器308、请求产生器302~305及仲裁器306连接,包括至少一个令牌桶,用于分时复用按照根据预留带宽值设定的速率向存储器308中放入对应各链路的令牌,在每个仲裁优先级别的仲裁结束后,根据仲裁器306送入的仲裁结果,将在本仲裁优先级别中建立连接的链路对应的令牌数减1。每次仲裁开始前,分时复用读取存储器308中存储的对应各链路的令牌数,将令牌数不为0的链路信息提供给链路对应的请求产生器。如果某条链路的实际数据流量大于按设定的速率放入令牌的数量对应的数据流量,令牌桶阵列307中的令牌桶从存储器308中取出的对应链路的令牌数,将大于向存储器308中放入的对应链路的令牌数,即存储器308中存储的对应链路的令牌数逐渐减少直至消耗完,这一过程可以在装置启动后很短暂的时间内完成;如果某条链路的实际数据流量小于按设定的速率放入令牌的数量对应的数据流量,令牌桶阵列307中的令牌桶从存储器308中取出的对应链路的令牌数,将小于向存储器308中放入的令牌数,因此存储器308中对应该条链路的令牌数不为0。
存储器308与令牌桶阵列307连接,用于接收令牌桶阵列307放入的各条链路对应的令牌。每个仲裁优先级别的仲裁结束之后,令牌桶阵列307将建立连接的链路在存储器308中的令牌数减1。每次仲裁开始之前,令牌桶阵列307从存储器308中读取对应各链路的令牌数,将该令牌数作为对应链路在本次仲裁中的实际数据流量的测量结果。
令牌桶阵列307中的令牌桶个数可以由端口数与信元周期长度来确定,通常令牌桶阵列307读取存储器中值的时钟周期数取为2N,N为一个整数,且2N不超过一个信元周期的长度。例如,假设每个信元周期长度为40个时钟周期,输入端口数和输出端口数均为128,读取存储器值的时间应该在32个时钟周期内完成,则令牌桶阵列307中需要的令牌桶个数为:128×128/32=512个,其中N=5。本发明实施例为了清楚描述装置的结构及工作原理,所举实例为四个端口的简单情况,这种情况下,由于端口数很少,读取存储器308中的值在一个时钟周期内就可以完成,因此所需令牌桶的个数为4×4/1=16个,其中N=0;如果不使用令牌桶阵列307和存储器308共同完成测量流量的方式,由于端口数很少,也可以不将对应每条链路的令牌数放在存储器308中,再使用令牌桶阵列307分时复用去读取,直接采用为每条链路配置一个令牌桶的方式,每次仲裁开始前,对应每条链路的令牌桶直接将各链路的令牌数提供给请求产生器302~305。
令牌桶阵列307和存储器308共同完成对各条链路的数据流量测量功能,每次仲裁之前令牌桶307分时复用读取存储器308中存储的每条链路令牌数,作为本次仲裁对每条链路的数据流量测量结果,在链路数目很多的情况下,读取每条链路对应的令牌数可能需要很长时间,这时就可能出现在一个信元周期的一次仲裁过程中,数据到达输入端口时,还没有得出对链路的数据流量测量结果的情况。为了避免上述情况,可以将令牌桶阵列307读取存储器308中的令牌数,安排在数据到来之前的一个信元周期进行,这样保证在数据到达输入端口的时候,已经得出对链路数据流量测量的结果。
下面还是以一个简单实例说明,在一个信元周期内完成一次支持QoS并且实现预留带宽的仲裁工作过程。有3种业务数据信元的仲裁请求需要进行仲裁,信元携带的仲裁优先级分别为,实时语音业务优先级别最高,视频点播业务优先级别其次,FTP业务优先级别最低。本例中假设仲裁中还单独设置一个仲裁最高优先级别,作为数据流量小于预留带宽值的链路上信元仲裁请求要变换到的对应仲裁优先级别。分别为这三种业务配置各自的预留带宽值,并分别根据配置的预留带宽值为令牌桶阵列307设置对应各链路的放令牌的速率。控制器301将第一个仲裁优先级别作为数据流量小于预留带宽值的链路上信元仲裁请求要变换到的对应仲裁优先级别,第二个仲裁优先级别对应实时语音业务仲裁,第三个仲裁优先级别对应视频点播业务仲裁,第四个仲裁优先级别对应FTP业务仲裁。仲裁开始前,到达请求产生器302~305的仲裁请求分别对应实时语音业务、视频点播业务、FTP业务和实时语音业务。装置启动后令牌桶307分时复用按照为各链路设置的速率向存储器308中对应各链路的存储区放入令牌,并按照各链路的实际数据流量从对应各链路的存储区内取出令牌用于数据传输。一次仲裁开始前的一个信元周期,令牌桶307分时复用读取存储器308中对应各链路的令牌数,将令牌数不为0的链路上信元对应的仲裁优先级别变换为设置的最高仲裁优先级别。假设实时语音业务对应的链路数据流量小于预留带宽值,而视频点播业务和FTP业务对应链路的数据流量都大于各自的预留带宽值,在设置的第一个仲裁优先级别,请求产生器302和请求产生器305将实时语音业务信元的仲裁请求对应的仲裁优先级别变换为设置的最高仲裁优先级别,送入仲裁器306,仲裁器306仲裁结束后将对各链路的仲裁结果反馈给请求产生器302、请求产生器305和令牌桶阵列307,请求产生器302和请求产生器305将在第一个仲裁优先级别中建立链路连接的信元仲裁请求屏蔽,将在第一个仲裁优先级别中未建立链路连接的信元仲裁请求对应的仲裁优先级别变换为设置的第二个仲裁优先级别,令牌桶307将在第一个仲裁优先级别中建立连接的链路在存储器308中的令牌数减1。在第二个仲裁优先级别,原来对应为实时语音业务信元的仲裁请求,但由于实时语音业务对应链路的数据流量值小于预留带宽值,已经在设置的最高仲裁优先级别进行仲裁,因此第二个仲裁优先级别中,将处理在第一个仲裁优先级别中未建立链路连接的信元仲裁请求,在仲裁结束后将未建立链路连接的信元仲裁请求对应的仲裁优先级别变换为第三个仲裁优先级别,并将建立连接的链路在存储器308中的令牌数减1,如果在第一个仲裁优先级别中实时语音业务信元的仲裁请求都建立了链路连接,本仲裁优先级别将空闲。在第三个仲裁优先级别和第四个仲裁优先级别,依然是将对应信元的仲裁请求送入仲裁器306,同时将在本仲裁优先级别之前的仲裁优先级别中未建立链路连接的信元仲裁请求送入仲裁器306,在每一个仲裁优先级别的仲裁结束后,将在本仲裁优先级别仲裁中建立连接的链路在存储器308中对应的令牌数减1。第四个仲裁优先级别的仲裁结束后,一次仲裁结束。除了上述举出的设置一个最高仲裁优先级,作为其他仲裁优先级别对应信元仲裁请求在数据流量小于配置预留带宽值时转换到该最高仲裁优先级别进行仲裁的方式,还可以将数据流量小于配置预留带宽值的仲裁请求转换到高于本身对应仲裁优先级别的其他信元仲裁请求对应的仲裁优先级别进行仲裁,或者需要进一步限制业务数据流量时,将数据流量小于配置预留带宽值的信元仲裁请求对应的仲裁优先级别转换到低于本身对应仲裁优先级别的其他信元仲裁请求对应的仲裁优先级别仲裁,例如当需要进一步限制实时语音业务的数据流量时,如果实时语音业务对应链路数据流量小于配置预留带宽值,可以将实时语音业务信元的仲裁请求对应的仲裁优先级别变换到视频点播业务或是FTP业务信元仲裁请求对应的仲裁优先级别。
以上描述的在支持QoS基础上进一步为需要预留带宽的链路配置预留带宽值的方案,在本发明实施例装置中进一步包括了流量测量单元309,通过预先为需要预留带宽的链路配置预留带宽值,在每次仲裁之前先测量这些需要预留带宽的链路的实际数据流量,为符合预留带宽的链路对应的信元仲裁请求提供不同于该信元仲裁请求本身对应的仲裁优先级别的仲裁,即需要为这些仲裁请求提供更高级别的服务时,将这些信元仲裁请求对应的仲裁优先级别变换为高于本身对应仲裁优先级别的仲裁优先级别,需要进一步限制这些链路的数据流量时,将这些信元仲裁请求对应的仲裁优先级别变换为低于本身对应仲裁优先级别的仲裁优先级别,这样就不仅实现了按照设置的仲裁优先级别对信元进行仲裁,还可以为数据流量小于预留带宽值的链路对应的信元,提供不同于设置的对应仲裁优先级别的仲裁,可以适应实际应用中更多的变化需要,更好的支持了QoS。
其次,对本发明实施例提供的支持QoS的仲裁方法进行详细说明。参见图4,图4为本发明实施例支持QoS的仲裁方法的较佳实施方式流程图,该流程包括以下步骤:
步骤401:设置仲裁优先级别,设置每一个仲裁优先级别对应一个信元优先级别的信元仲裁。
本步骤中,设置仲裁优先级别,设置每一个仲裁优先仲裁级别对应一个信元优先级别的信元仲裁,所设置的仲裁优先级别和信元优先级别的对应关系可以根据需要设置为不同的情况。例如可以按照信元优先级别的顺序,设置仲裁优先级别依次对应的信元仲裁,也可以按照实际需要,不按照信元优先级别的顺序,为每一个仲裁优先级别设置对应的信元仲裁。
步骤402:在设置的每一个仲裁优先级别,对本仲裁优先级别对应信元的仲裁请求进行仲裁,并对本仲裁优先级别之前的仲裁优先级别中未建立链路连接的信元的仲裁请求进行仲裁。
本步骤中,在一个仲裁优先级别的仲裁中,需要对本优先级别对应信元的仲裁请求进行仲裁,还要对本仲裁优先级别之前的仲裁优先级别中未建立链路连接的信元的仲裁请求进行仲裁。也就是说,在本发明实施例提供的支持QoS的方法中,在本仲裁优先级别中未建立链路连接的信元仲裁请求,会在本仲裁优先级别之后的仲裁优先级别中继续仲裁,直到最后一个仲裁优先级别的仲裁结束。
步骤401~步骤402描述了本发明实施例提供的支持QoS的仲裁方法的较佳实施方式,该流程中按照设置的仲裁优先级别,依次对每个仲裁优先级别对应的信元仲裁请求进行仲裁,这种方式对信元的仲裁可以不按照信元本身携带的优先级别进行分级仲裁,实现更灵活的分级仲裁。
为了更好的支持QoS,在上述较佳实施方式的步骤402之前可以进一步包括以下步骤:为需要预留带宽的链路分别设置预留带宽值,每次仲裁开始前测量预留带宽链路的数据流量,改变测得的数据流量小于为其配置的预留带宽的链路上信元仲裁请求对应的仲裁优先级别。在增加的该步骤中,为传输数据需要预留带宽的链路分别设置预留带宽值,在每一次仲裁开始前,先测量这些链路的实际数据流量。当需要保证业务质量时,将数据流量测量值小于预留带宽值的链路上信元仲裁请求对应的仲裁优先级别,变换为高于信元仲裁请求本身对应的仲裁优先级别的仲裁优先级别,当需要进一步限制业务数据流量时,将数据流量值小于预留带宽值的链路上的信元仲裁请求对应的仲裁优先级别,变换为低于本身对应的仲裁优先级别的仲裁优先级别。上述变换后的仲裁优先级别,可以是其他业务信元仲裁请求对应的仲裁优先级别,也可以是单独设置的一个仲裁优先级别。预留带宽值可以通过应用仲裁方法的装置中的CPU实现设置。
上述本发明实施例提供的支持QoS的仲裁方法的较佳实施方式,可以应用在图3所示本发明实施例支持QoS的仲裁装置中。参见图5,图5为本发明实施例支持QoS的仲裁方法基于图3所示装置的流程图,该流程包括一次仲裁中,仲裁装置按照设置的仲裁优先级别进行仲裁的过程,假设本流程中为数据流量值小于预留带宽值的仲裁请求设置一个最高仲裁优先级别。令牌桶阵列根据为需要预留带宽的链路配置的预留带宽值设置的速率,在装置启动后就开始按照根据预留带宽值设置的速率向存储器对应这些链路的存储区放入令牌,本发明实施例假设为所有链路配置预留带宽值。该流程包括以下步骤:
步骤501:控制器设置仲裁优先级别,设置每一个仲裁优先级别对应一个信元优先级别的仲裁。
本步骤中,按照假设控制器设置四个仲裁优先级别,其中第一个仲裁优先级别对应为数据流量值小于预留带宽值的链路上的信元仲裁请求设置的最高仲裁优先级别,第二个仲裁优先级别开始的后三个仲裁优先级别分别对应实时语音业务、视频点播业务和FTP业务的信元仲裁。
步骤502:仲裁开始前令牌桶阵列读取存储器中对应各链路的令牌数,将令牌数不为0的链路信息提供给链路对应的请求产生器。
本步骤中,在仲裁开始前完成对各链路实际数据流量的测量。装置启动后,令牌桶阵列中的令牌桶,按照对应各链路设定的速率分时复用向存储单元中放入对应各条链路的令牌。每次仲裁开始前,令牌桶阵列读取存储器中对应各条链路的令牌数,将令牌数不为0的链路信息提供给链路对应的请求产生器。如果链路的实际数据流量大于按照设定的放入令牌的速率增加的令牌数对应的数据流量,令牌桶阵列中的令牌桶从存储器中取出的对应链路的令牌数,将大于向存储器中放入的对应链路的令牌数,即存储器中存储的对应链路的令牌数逐渐减少直至消耗完,这一过程可以在很短暂的时间内完成;如果链路的实际数据流量小于按照设定的放入令牌的速率增加的令牌数对应的数据流量,令牌桶阵列中的令牌桶从存储器中取出的对应链路的令牌数,将小于向存储器中放入的令牌数,即存储器中存储的对应链路的令牌数不为0。假设实时语音业务数据对应的链路数据流量小于预留带宽值,视频点播业务和FTP业务对应链路的数据流量均大于各自的配置预留带宽值,则令牌桶阵列将实时语音业务对应的链路信息提供给该业务链路对应的请求产生器。
步骤503:请求产生器根据令牌桶阵列提供的令牌数不为0的链路信息,将链路上信元的仲裁请求对应的仲裁优先级别变换为高于或低于该仲裁优先级别的仲裁优先级别。
本步骤中,根据步骤502的数据流量测量结果,当需要保证业务质量时,将数据流量小于预留带宽值的链路上的信元仲裁请求对应的仲裁优先级别变换为高于该仲裁优先级别的优先级别,当需要进一步限制业务流量时,将数据流量小于预留带宽值的链路上的信元仲裁请求对应的仲裁优先级别变换为低于该仲裁优先级别的仲裁优先级别。按照本发明实施例假设,为数据流量值小于预留带宽值的仲裁请求设置一个最高仲裁优先级别,则根据步骤502的测量结果,对应实时语音业务链路的请求产生器将实时语音业务对应的链路上的信元仲裁请求对应的仲裁优先级别变换为设置的最高仲裁优先级别。如果链路数目很多,本步骤的数据流量测量要放在仲裁开始前的一个信元周期进行,保证仲裁开始时对各链路的测量结果已经得出。
步骤504:仲裁器在每一个设置的仲裁优先级别,对本仲裁优先对应级别对应的信元仲裁请求进行仲裁,同时对本仲裁优先级别之前的仲裁优先级别对应的未建立链路连接的信元仲裁请求进行仲裁。
从本步骤开始,仲裁装置开始按照设置的仲裁优先级别对信元仲裁请求进行分级别的仲裁。本步骤中,仲裁器在选择能保证仲裁公平性的算法的基础上,在第一个仲裁优先级别先对在设置的最高仲裁优先级别对数据流量小于预留带宽值的实时语音业务的信元仲裁请求进行仲裁,第一个仲裁优先级别的仲裁结束后,将仲裁结果反馈给对应实时语音业务的请求产生器和令牌桶阵列,请求产生器将在第一个仲裁优先级别中建立链路连接的信元仲裁请求屏蔽,将在第一个仲裁优先级别中未建立链路连接的信元仲裁请求对应的仲裁优先级别变换为第二个仲裁优先级别。令牌桶阵列将在第一个仲裁优先级别中建立连接的链路在存储器中的令牌数减1。在第一个仲裁优先级别的仲裁结束后,后三个仲裁优先级别对应信元的仲裁请求分别是实时语音业务、视频点播业务和FTP业务的仲裁请求,每一个仲裁优先级别除了仲裁本仲裁优先级别对应的信元仲裁请求外,还要仲裁在本仲裁优先级别之前的仲裁优先级别中未建立链路连接的信元仲裁请求。在每一个仲裁优先级别的仲裁结束后,仲裁器将结果反馈给本仲裁优先级别对应信元仲裁请求的请求产生器以及令牌桶阵列,请求产生器将已建立链路连接的信元仲裁请求屏蔽,并将未建立链路连接的信元仲裁请求对应的仲裁优先级别变换为下一仲裁优先级别,令牌桶阵列根据仲裁结果,将在一个仲裁优先级别中建立连接的链路在存储器中的对应令牌数减1。其中第二个仲裁优先级别中对应的本来是实时语音业务信元的仲裁请求,但由于实时语音业务对应链路的数据流量小于预留带宽值,所以在设置的最高仲裁优先级别,即在第一个仲裁优先级别中已经仲裁,因此第二个仲裁优先级别中只对在第一个仲裁优先级别中未建立链路连接的信元仲裁请求进行仲裁,如果第一个仲裁优先级别中所有链路都建立了连接,则第二个仲裁优先级别的仲裁将空闲。
上述步骤501~步骤507,描述了一次仲裁过程中,本发明实施例提供的支持QoS的仲裁方法基于图3所示装置的流程。针对需要保证业务质量的情况,步骤501中也可以不单独设置一个最高仲裁优先级别,用于对数据流量小于预留带宽值的链路上的信元仲裁请求进行仲裁,而将数据流量小于预留带宽值的链路上的信元仲裁请求的优先级,变换到高于本身对应仲裁优先级别的其他仲裁优先级别,在变换后的仲裁优先级别中进行仲裁。针对需要进一步限制业务数据流量的情况,在步骤503中将数据流量小于预留带宽值的链路上信元的仲裁请求对应的仲裁优先级别,变换为低于本身对应仲裁优先级别的其他仲裁优先级别。由于图3所示装置的输入端口和输出端口数较少,因此步骤502中对各条链路的实际数据流量的测量时间很短,可以和仲裁操作在一个信元周期内完成,如果输入端口和输出端口数较多,则步骤502中读取各条链路的令牌数,可以安排在数据到达输入端口的前一个信元周期进行,保证数据到达输入端口时,对所有链路的数据流量测量结果都已经得出。
本发明实施例中,在每次仲裁前对所有链路的数据流量值进行测量,在实际应用中,针对某些并不需要测量流量的业务,也可以在仲裁前不测量该业务对应链路的数据流量。
本发明实施例提供的支持QoS的仲裁方法和仲裁装置,不受具体仲裁算法的限制,即在本发明实施例提供的支持QoS的仲裁方法和仲裁装置中,应用任何一种现有仲裁算法,都可以完成本发明实施例描述的功能。并且本发明实施例中按照设置的仲裁优先级别进行的仲裁以及仲裁前的流量测量,可以按照流水方式进行并行处理。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种支持服务质量的仲裁方法,其特征在于,预先为传输信元需要预留带宽的链路分别配置预留带宽值;该方法包括:
A、设置仲裁优先级别,不按照信元优先级别的顺序,为每一个仲裁优先级别设置对应的信元优先级别;
测量配置预留带宽值的链路的数据流量,根据测量结果,改变测得的数据流量小于为其配置的预留带宽的链路上信元对应的仲裁优先级别;
B、在设置的每一个仲裁优先级别的仲裁中,对本仲裁优先级别对应信元优先级别的信元仲裁请求进行仲裁,除第一个仲裁优先级别外,还对本仲裁优先级别之前的仲裁优先级别中未建立链路连接的信元仲裁请求进行仲裁。
2.如权利要求1所述的方法,其特征在于,所述步骤B之后进一步包括:
除最后一个仲裁优先级别外,每个仲裁优先级别的仲裁结束后,屏蔽在本仲裁优先级别中建立链路连接的信元的仲裁请求,将未建立链路连接的信元对应的仲裁优先级别,变换为该仲裁优先级别的下一个仲裁优先级别。
3.如权利要求1所述的方法,其特征在于,所述改变测得的数据流量小于为其配置的预留带宽的链路上信元对应的仲裁优先级别具体为:提高所述数据流量小于为其配置的预留带宽的链路上信元对应的仲裁优先级别。
4.如权利要求1所述的方法,其特征在于,所述改变测得的数据流量小于为其配置的预留带宽的链路上信元对应的仲裁优先级别具体为:降低所述数据流量小于为其配置的预留带宽的链路上信元对应的仲裁优先级别。
5.如权利要求1所述的方法,其特征在于,所述改变测得的数据流量小于为其配置的预留带宽的链路上信元对应的仲裁优先级别具体为:
单独设置一个仲裁优先级别,当所述链路的数据流量小于配置的预留带宽值时,将数据流量小于为其配置的预留带宽的链路上信元对应的仲裁优先级别变换为该设置的仲裁优先级别。
6.如权利要求1所述的方法,其特征在于,所述测量配置预留带宽值的链路的数据流量为:按照为需要预留带宽的链路分别配置的预留带宽值,设定增加传输信元所需令牌的速率,并按照设定速率分别增加配置预留带宽值的链路传输信元所需的令牌,读取配置预留带宽的链路对应的令牌数,作为对其数据流量的测量;将令牌数不为0的测量结果,作为数据流量小于为其配置预留带宽的链路的测量结果,将令牌数为0的测量结果,作为数据流量大于为其配置预留带宽的链路的测量结果。
7.如权利要求6所述的方法,其特征在于,步骤B所述在每一个仲裁优先级别中,对本仲裁优先级别对应信元优先级别的信元仲裁请求进行仲裁,并对本仲裁优先级别之前的仲裁优先级别中未建立链路连接的信元仲裁请求进行仲裁后进一步包括:将建立连接的链路的对应令牌数减1。
8.一种支持服务质量的仲裁装置,其特征在于,该装置包括:仲裁处理器、控制器和流量测量单元;
所述控制器,用于设置仲裁优先级别,不按照信元优先级别的顺序,为每一个仲裁优先级别设置对应的信元优先级别,控制仲裁处理器按照设置的仲裁优先级别依次对信元进行仲裁;
所述仲裁处理器,用于根据控制器的控制,在每一个仲裁优先级别,对本仲裁优先级别对应信元优先级别的信元仲裁请求进行仲裁,除第一个仲裁优先级别外,还对本仲裁优先级别之前的仲裁优先级别中未建立链路连接的信元仲裁请求进行仲裁;
所述流量测量单元,用于存储为传输数据需要预留带宽的链路分别配置的预留带宽值,和对配置预留带宽值的链路的数据流量测量值,将数据流量测量值小于预留带宽值的链路信息提供给仲裁处理器,供仲裁处理器改变对应链路的仲裁优先级别。
9.如权利要求8所述的装置,其特征在于,所述流量测量单元包括测量单元阵列和存储器;
所述测量单元阵列,用于测量配置预留带宽值的链路上的数据流量,将数据流量测量值送入存储器存储;在仲裁开始前,读取存储器中对应配置预留带宽值的链路的预留带宽值和数据流量测量值,将数据流量值小于预留带宽值的链路的信息提供给仲裁处理器;
所述存储器,包括对应各条链路的存储区,用于存储为对应链路配置的预留带宽值,存储测量单元阵列送入的对应链路的数据流量测量值;供测量单元阵列读出对应链路的预留带宽值和数据流量测量值。
10.如权利要求9所述的装置,其特征在于,设所有链路对应的输入端口数为P,输出端口数为Q,测量所有链路上数据流量所需的时钟周期为2N,N为整数并且2N不超过每个信元周期对应的时钟周期数,所述测量单元阵列中包括测量单元的个数,由以下公式确定:
测量单元个数=P×Q/2N。
11.如权利要求9所述的装置,其特征在于,所述测量单元阵列为令牌桶阵列,用于按照根据各链路的预留带宽值设定的速率,向存储器中对应各链路的存储区放入对应各链路的令牌,将在每一个仲裁优先级别中建立连接的链路的令牌数减1,将令牌数不为0的链路作为数据流量小于配置预留带宽值的链路,将相应链路的信息提供给仲裁处理器。
12.如权利要求8所述的装置,其特征在于,所述仲裁处理器包括:请求产生器和仲裁器;
所述请求产生器,用于接收传输数据的所有链路上信元的仲裁请求,并将仲裁请求送入仲裁器,接收所述流量测量单元提供的数据流量小于预留带宽值的链路信息,将对应链路上信元对应的仲裁优先级别变换为高于或低于该信元本来对应的仲裁优先级别后提供给仲裁器,根据仲裁器提供的仲裁结果,屏蔽在一个仲裁优先级别中已建立链路连接的信元的仲裁请求,将未建立链路连接的信元对应的仲裁优先级别,变换为该仲裁优先级别的下一个仲裁优先级别后提供给仲裁器;
所述仲裁器,用于按照设置的仲裁优先级别对请求产生器提供的信元仲裁请求进行仲裁,每个仲裁优先级别的仲裁结束后将仲裁结果提供给请求产生器和流量测量单元。
13.如权利要求12所述的装置,其特征在于,所述请求产生器的个数与传输数据的所有链路对应的输入端口数相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100007180A CN101026556B (zh) | 2007-01-10 | 2007-01-10 | 一种支持服务质量的仲裁方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100007180A CN101026556B (zh) | 2007-01-10 | 2007-01-10 | 一种支持服务质量的仲裁方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101026556A CN101026556A (zh) | 2007-08-29 |
CN101026556B true CN101026556B (zh) | 2010-04-21 |
Family
ID=38744468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100007180A Active CN101026556B (zh) | 2007-01-10 | 2007-01-10 | 一种支持服务质量的仲裁方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101026556B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101997766B (zh) * | 2009-08-31 | 2012-09-05 | 中兴通讯股份有限公司 | 一种基于优先级的令牌桶限速的方法及系统 |
US20120040682A1 (en) * | 2010-08-13 | 2012-02-16 | T-Mobile Usa, Inc. | Prioritization of data communication |
WO2012036905A1 (en) * | 2010-09-16 | 2012-03-22 | Apple Inc. | Multi-ported memory controller with ports associated with traffic classes |
CN103338119B (zh) | 2013-06-08 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 语音通道分配方法和语音系统 |
CN105867835A (zh) * | 2015-01-23 | 2016-08-17 | 深圳市硅格半导体有限公司 | 存储装置数据服务质量管理方法及存储装置 |
CN106357558B (zh) * | 2016-09-05 | 2019-10-01 | 北京小米移动软件有限公司 | 带宽分配方法及装置 |
CN107483405B (zh) * | 2017-07-17 | 2020-01-31 | 中国科学院空间应用工程与技术中心 | 一种支持变长信元的调度方法和调度系统 |
CN110502460B (zh) * | 2018-05-16 | 2021-03-23 | 华为技术有限公司 | 数据处理的方法和节点 |
CN110519855B (zh) * | 2019-05-08 | 2022-12-20 | 深圳全志在线有限公司 | 无线通讯系统及调度方法、集成芯片、电子设备 |
CN113068087B (zh) * | 2021-03-31 | 2022-03-25 | 烽火通信科技股份有限公司 | 一种通过切包重组实现分布式信元交换的方法与装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581125A (zh) * | 2003-08-01 | 2005-02-16 | 上海奇码数字信息有限公司 | 仲裁器和仲裁方法 |
CN1645817A (zh) * | 2005-01-27 | 2005-07-27 | 中国科学院计算技术研究所 | 一种宽带无线城域网中提供分级服务的带宽分配方法 |
CN1661579A (zh) * | 2004-02-25 | 2005-08-31 | 中国科学院计算技术研究所 | 基于动态优先级的总线仲裁器和动态改变优先级的方法 |
-
2007
- 2007-01-10 CN CN2007100007180A patent/CN101026556B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581125A (zh) * | 2003-08-01 | 2005-02-16 | 上海奇码数字信息有限公司 | 仲裁器和仲裁方法 |
CN1661579A (zh) * | 2004-02-25 | 2005-08-31 | 中国科学院计算技术研究所 | 基于动态优先级的总线仲裁器和动态改变优先级的方法 |
CN1645817A (zh) * | 2005-01-27 | 2005-07-27 | 中国科学院计算技术研究所 | 一种宽带无线城域网中提供分级服务的带宽分配方法 |
Non-Patent Citations (1)
Title |
---|
同上. |
Also Published As
Publication number | Publication date |
---|---|
CN101026556A (zh) | 2007-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101026556B (zh) | 一种支持服务质量的仲裁方法及装置 | |
CN103543954B (zh) | 一种数据存储管理方法和装置 | |
CN103955436B (zh) | 一种数据处理装置和终端 | |
CN105468546B (zh) | 互连电路的数据处理装置和方法 | |
CN104765701B (zh) | 数据访问方法及设备 | |
CN106886498A (zh) | 数据处理装置和终端 | |
CN109639596A (zh) | 一种用于车载can-canfd混合网络的网关调度方法 | |
US20080031262A1 (en) | Load-balanced switch architecture for reducing cell delay time | |
EP0289733B1 (en) | Switching method for integrated voice/data communications | |
CN114416621A (zh) | 一种基于axi协议的总线通信方法及装置 | |
JPH05216688A (ja) | 共有リソースを割り付けるための決定論的方法 | |
CN100421420C (zh) | 一种调度纵横式交换矩阵中变长数据包队列的方法 | |
CN103117962B (zh) | 一种星载共享存储交换装置 | |
GB1582583A (en) | Digital switching arrangements for stored programme control telecommunications systems | |
CN100536460C (zh) | 一种调度和仲裁的装置 | |
CN101459598B (zh) | 实现分组交换的方法及其系统 | |
WO2010004257A1 (en) | Switching device, method and computer program | |
CN111352657A (zh) | FPGA高速高效流水读取x86数据的方法 | |
JP3820272B2 (ja) | 交換装置 | |
CN109145397A (zh) | 一种支持并行流水访问的外存仲裁结构 | |
JPWO2002065709A1 (ja) | ネットワーク・スイッチング装置 | |
CN100401731C (zh) | 高速数据链路控制协议接收处理模块及其数据处理方法 | |
CN101741720B (zh) | 多路信元时隙复用的装置和方法 | |
CN102158402B (zh) | 一种纵横式交换矩阵缓存信元的方法及装置 | |
US11695709B2 (en) | Fair arbitration between multiple sources targeting a destination |
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 |