CN112799861A - 一种多核架构下流量限速无锁并发实现的方法 - Google Patents
一种多核架构下流量限速无锁并发实现的方法 Download PDFInfo
- Publication number
- CN112799861A CN112799861A CN202110122692.7A CN202110122692A CN112799861A CN 112799861 A CN112799861 A CN 112799861A CN 202110122692 A CN202110122692 A CN 202110122692A CN 112799861 A CN112799861 A CN 112799861A
- Authority
- CN
- China
- Prior art keywords
- tokens
- token
- queue
- lock
- free
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000004364 calculation method Methods 0.000 abstract description 3
- 238000004519 manufacturing process Methods 0.000 abstract description 2
- 238000007493 shaping process Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 241000721662 Juniperus Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种多核架构下流量限速无锁并发实现的方法,将令牌桶设计成循环免锁队列,队列长度为N;每一个处理数据流的CPU核分配一个令牌桶,处理数据流的核数为M;一个单独CPU核轮询访问M个免锁队列,往队列添加令牌;以C0表示添加令牌的CPU核,C0周期轮询给各个队列添加令牌,每个周期C0首先计算各个队列消耗令牌比例,把这个周期要添加的令牌按比例添加到各个队列中;处理数据流的CPU核,通过计算数据报大小获取自己队列的令牌,如果令牌不够,根据策略选择缓存或丢弃数据报文;本发明通过把令牌桶分布在不用CPU处理核上,把生产令牌核消费令牌分别处理,通过免锁队列实现令牌计算。
Description
技术领域
本发明涉及网络通信技术领域,具体是指一种多核架构下流量限速无锁并发实现的方法。
背景技术
流量限速和流量整形是数据通信设备的关键组件,例如,企业网络中,存在语音、视频和数据等多种不同的业务,当大量的业务流量进入网络侧时,可能会因为带宽不足产生拥塞,需要对三种业务提供不同的带宽,优先保证语音业务报文的转发,其次是视频业务,最后是数据业务。因此可以对不同业务进行不同的流量监督,为语音报文提供最大带宽,视频报文次之,数据报文带宽最小,从而在网络产生拥塞时,可以保证语音报文优先通过。
流量限速和流量整形是成熟的QoS(服务质量)技术,华为、锐捷和Juniper等主流企业的交换机和路由器都支持该技术,深信服的流量控制产品也基于流量限速和流量整形,所以,流量限速和流量整形技术应用非常广泛并且该技术也非常成熟,不同的是各个厂商在实现上各显神通,主要比拼的是控制的精度和处理的吞吐量。
流量限速和流量整形原理基本以令牌桶技术为基础,不同是各个厂家在实现上有所差别,令牌桶算法的基本过程是,每过1/R秒,令牌桶中增加一个令牌,桶中最多存放B个令牌,如果令牌桶满了,新放入的令牌会被丢弃,当一个N字节的数据包到达时,消耗N个令牌,然后发送该数据包,如果桶中可用令牌小于N,则该数据包将被缓存或丢弃。
目前处理器基本都是多核处理器,为了增加处理速度,数据流量流过设备时,设备多个CPU核要同时参与计算产生令牌和消费令牌的操作。为了防止对令牌桶数据的并发处理导致错误,一般通过自旋锁来保护多个CPU核共同处理的数据。
自旋锁的特点是,一个CPU执行spin_lock(自旋锁),其它CPU需要在执行spin_lock时被阻塞,被阻塞的CPU不能继续执行也不会被释放。这导致了两个问题:
1.由于被阻塞的CPU不被释放,导致CPU资源浪费;
2.由于执行被阻塞,被处理的数据等待自旋锁释放资源,该数据得不到及时处理,导致数据延迟和吞吐量下降。
所以,一种多核架构下流量限速无锁并发实现的方法成为人们亟待解决的问题。
发明内容
本发明的目的是通过在多核架构下,使每一个CPU核能单独处理同一个令牌桶数据,来实现流量限速和流量整形,对任何一个CPU处理数据报文时,访问令牌桶数据不需要对令牌桶加锁,避免数据报文传输的延迟和提升CPU核的利用率。
为实现上述目的,本发明提供的技术方案为:一种多核架构下流量限速无锁并发实现的方法,包括以下步骤:
步骤1:将令牌桶设计成循环免锁队列,队列长度为N;
步骤2:每一个处理数据流的CPU核分配一个令牌桶,处理数据流的核数为M;
步骤3:一个单独CPU核轮询访问M个免锁队列,往队列添加令牌;
步骤4:以C0表示添加令牌的CPU核,C1、C2……CM表示消耗令牌处理流量数据的CPU核,C0周期轮询给各个队列添加令牌,每个周期C0首先计算各个队列消耗令牌比例,把这个周期要添加的令牌按比例添加到各个队列中;
步骤5:处理数据流的CPU核,通过计算数据报大小获取自己队列的令牌,如果令牌不够,根据策略选择缓存或丢弃数据报文。
作为改进:所述步骤1中令牌桶设计成循环免锁队列的方法如下:
初始化队列头H=0,队列尾T=0;消费令牌的CPU在获取令牌时检查(H-T+N+1)%(N+1)值,该值表示桶内令牌个数,消费的令牌K不能超过(H-T+N+1)%(N+1),消费令牌后T=(T+K)%(N+1),分发令牌的CPU在分发令牌时检查(T-H+N)%(N+1),该值表示可以添加的令牌个数,添加的令牌K不能超过(T-H+N)%(N+1),添加令牌后H=(H+K)%(N+1),以上算法能够保证,消费令牌时必须令牌桶有令牌才能消费,添加令牌时,令牌桶有空的位置,才能添加令牌,这就保证了两个CPU核能同时访问同一个令牌桶。
作为改进:任何时刻,T指向的位置为空,所有长度为N的队列需要N+1个位置。
作为改进:所述步骤4中添加令牌个数的计算方法如下:
设一个令牌对应一个字节,处理添加令牌的C0执行频率为R,被限制的流量带宽为G字节每秒,求出每个周期添加令牌为K=G/R;队列长度N,N为令牌缓存个数,一般设为N=G;C1、C2……CM处理数据流量时,直接从对应的队列取令牌,根据取得令牌多少发送数据;C0每过1/R秒就启动添加令牌,这个时间可以取tick值,如果要求精度高,可以取CPU执行频率数据;C0获取上周期到本周期各个队列消耗令牌比例,按照这个比例给各个队列添加令牌,添加总数为K。
本发明与现有技术相比的优点在于:本发明通过把令牌桶分布在不用CPU处理核上,把生产令牌核消费令牌分别处理,通过免锁队列实现令牌计算;本发明实施简单,服务数据流在不同CPU处理核同时处理,在对某类服务数据限流时,使用本发明技术方案,在开启流量限速后,对原有性能几乎没有影响。
附图说明
图1是本发明一种多核架构下流量限速无锁并发实现的方法的处理流程图。
图2是本发明一种多核架构下流量限速无锁并发实现的方法的循环免锁队列的示意图。
具体实施方式
下面结合附图对本发明一种多核架构下流量限速无锁并发实现的方法做进一步的详细说明。
结合附图1-2,对本发明进行详细介绍。
一种多核架构下流量限速无锁并发实现的方法,包括以下步骤:
步骤1:将令牌桶设计成循环免锁队列,队列长度为N;
步骤2:每一个处理数据流的CPU核分配一个令牌桶,处理数据流的核数为M;
步骤3:一个单独CPU核轮询访问M个免锁队列,往队列添加令牌;
步骤4:以C0表示添加令牌的CPU核,C1、C2……CM表示消耗令牌处理流量数据的CPU核,C0周期轮询给各个队列添加令牌,每个周期C0首先计算各个队列消耗令牌比例,把这个周期要添加的令牌按比例添加到各个队列中;
步骤5:处理数据流的CPU核,通过计算数据报大小获取自己队列的令牌,如果令牌不够,根据策略选择缓存或丢弃数据报文。
所述步骤1中令牌桶设计成循环免锁队列的方法如下:
初始化队列头H=0,队列尾T=0;消费令牌的CPU在获取令牌时检查(H-T+N+1)%(N+1)值,该值表示桶内令牌个数,消费的令牌K不能超过(H-T+N+1)%(N+1),消费令牌后T=(T+K)%(N+1),分发令牌的CPU在分发令牌时检查(T-H+N)%(N+1),该值表示可以添加的令牌个数,添加的令牌K不能超过(T-H+N)%(N+1),添加令牌后H=(H+K)%(N+1),以上算法能够保证,消费令牌时必须令牌桶有令牌才能消费,添加令牌时,令牌桶有空的位置,才能添加令牌,这就保证了两个CPU核能同时访问同一个令牌桶。
任何时刻,T指向的位置为空,所有长度为N的队列需要N+1个位置。
所述步骤4中添加令牌个数的计算方法如下:
设一个令牌对应一个字节,处理添加令牌的C0执行频率为R,被限制的流量带宽为G字节每秒,求出每个周期添加令牌为K=G/R;队列长度N,N为令牌缓存个数,一般设为N=G;C1、C2……CM处理数据流量时,直接从对应的队列取令牌,根据取得令牌多少发送数据;C0每过1/R秒就启动添加令牌,这个时间可以取tick值,如果要求精度高,可以取CPU执行频率数据;C0获取上周期到本周期各个队列消耗令牌比例,按照这个比例给各个队列添加令牌,添加总数为K。
本发明一种多核架构下流量限速无锁并发实现的方法的具体实施过程如下:
将令牌桶设计成循环免锁队列,队列长度为N;初始化队列头H=0,队列尾T=0;消费令牌的CPU在获取令牌时检查(H-T+N+1)%(N+1)值,该值表示桶内令牌个数,消费的令牌K不能超过(H-T+N+1)%(N+1),消费令牌后T=(T+K)%(N+1),分发令牌的CPU在分发令牌时检查(T-H+N)%(N+1),该值表示可以添加的令牌个数,添加的令牌K不能超过(T-H+N)%(N+1),添加令牌后H=(H+K)%(N+1),以上算法能够保证,消费令牌时必须令牌桶有令牌才能消费,添加令牌时,令牌桶有空的位置,才能添加令牌,这就保证了两个CPU核能同时访问同一个令牌桶,需要注意的是,该设计需要任何时刻,T指向的位置为空,所有长度为N的队列需要N+1个位置。
每一个处理数据流的CPU核分配一个令牌桶,处理数据流的核数为M;一个单独CPU核轮询访问M个免锁队列,往队列添加令牌;以C0表示添加令牌的CPU核,C1、C2……CM表示消耗令牌处理流量数据的CPU核,C0周期轮询给各个队列添加令牌,每个周期C0首先计算各个队列消耗令牌比例,把这个周期要添加的令牌按比例添加到各个队列中;设一个令牌对应一个字节,处理添加令牌的C0执行频率为R,被限制的流量带宽为G字节每秒,求出每个周期添加令牌为K=G/R;队列长度N,N为令牌缓存个数,一般设为N=G;C1、C2……CM处理数据流量时,直接从对应的队列取令牌,根据取得令牌多少发送数据;C0每过1/R秒就启动添加令牌,这个时间可以取tick值,如果要求精度高,可以取CPU执行频率数据;C0获取上周期到本周期各个队列消耗令牌比例,按照这个比例给各个队列添加令牌,添加总数为K;处理数据流的CPU核,通过计算数据报大小获取自己队列的令牌,如果令牌不够,根据策略选择缓存或丢弃数据报文。
以上对本发明及其实施方式进行了描述,这种描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。总而言之如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。
Claims (4)
1.一种多核架构下流量限速无锁并发实现的方法,其特征在于,包括以下步骤:
步骤1:将令牌桶设计成循环免锁队列,队列长度为N;
步骤2:每一个处理数据流的CPU核分配一个令牌桶,处理数据流的核数为M;
步骤3:一个单独CPU核轮询访问M个免锁队列,往队列添加令牌;
步骤4:以C0表示添加令牌的CPU核,C1、C2……CM表示消耗令牌处理流量数据的CPU核,C0周期轮询给各个队列添加令牌,每个周期C0首先计算各个队列消耗令牌比例,把这个周期要添加的令牌按比例添加到各个队列中;
步骤5:处理数据流的CPU核,通过计算数据报大小获取自己队列的令牌,如果令牌不够,根据策略选择缓存或丢弃数据报文。
2.根据权利要求1所述的一种多核架构下流量限速无锁并发实现的方法,其特征在于:所述步骤1中令牌桶设计成循环免锁队列的方法如下:
初始化队列头H=0,队列尾T=0;消费令牌的CPU在获取令牌时检查(H-T+N+1)%(N+1)值,该值表示桶内令牌个数,消费的令牌K不能超过(H-T+N+1)%(N+1),消费令牌后T=(T+K)%(N+1),分发令牌的CPU在分发令牌时检查(T-H+N)%(N+1),该值表示可以添加的令牌个数,添加的令牌K不能超过(T-H+N)%(N+1),添加令牌后H=(H+K)%(N+1),以上算法能够保证,消费令牌时必须令牌桶有令牌才能消费,添加令牌时,令牌桶有空的位置,才能添加令牌,这就保证了两个CPU核能同时访问同一个令牌桶。
3.根据权利要求2所述的一种多核架构下流量限速无锁并发实现的方法,其特征在于:任何时刻,T指向的位置为空,所有长度为N的队列需要N+1个位置。
4.根据权利要求1所述的一种多核架构下流量限速无锁并发实现的方法,其特征在于:所述步骤4中添加令牌个数的计算方法如下:
设一个令牌对应一个字节,处理添加令牌的C0执行频率为R,被限制的流量带宽为G字节每秒,求出每个周期添加令牌为K=G/R;队列长度N,N为令牌缓存个数,一般设为N=G;C1、C2……CM处理数据流量时,直接从对应的队列取令牌,根据取得令牌多少发送数据;C0每过1/R秒就启动添加令牌,这个时间可以取tick值,如果要求精度高,可以取CPU执行频率数据;C0获取上周期到本周期各个队列消耗令牌比例,按照这个比例给各个队列添加令牌,添加总数为K。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110122692.7A CN112799861B (zh) | 2021-01-29 | 2021-01-29 | 一种多核架构下流量限速无锁并发实现的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110122692.7A CN112799861B (zh) | 2021-01-29 | 2021-01-29 | 一种多核架构下流量限速无锁并发实现的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112799861A true CN112799861A (zh) | 2021-05-14 |
CN112799861B CN112799861B (zh) | 2024-01-09 |
Family
ID=75812666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110122692.7A Active CN112799861B (zh) | 2021-01-29 | 2021-01-29 | 一种多核架构下流量限速无锁并发实现的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799861B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472674A (zh) * | 2021-07-12 | 2021-10-01 | 多点生活(成都)科技有限公司 | 一种流量控制方法、装置、存储介质及电子设备 |
CN114064293A (zh) * | 2021-11-26 | 2022-02-18 | 江苏安超云软件有限公司 | 一种基于轮询的无锁限速方法、装置及存储介质 |
CN115225580A (zh) * | 2022-06-10 | 2022-10-21 | 新浪网技术(中国)有限公司 | 一种针对多处理器核的业务隔离限速方法和装置 |
CN116016356A (zh) * | 2021-09-30 | 2023-04-25 | 迈普通信技术股份有限公司 | 一种报文处理方法及装置 |
WO2024108328A1 (en) * | 2022-11-21 | 2024-05-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and devices for allocating transmission resources using an extended token bucket algorithm |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090003204A1 (en) * | 2007-06-29 | 2009-01-01 | Packeteer, Inc. | Lockless Bandwidth Management for Multiprocessor Networking Devices |
CN102611924A (zh) * | 2012-03-02 | 2012-07-25 | 何震宇 | 一种视频云平台的流量控制方法及系统 |
CN105763478A (zh) * | 2015-12-21 | 2016-07-13 | 中国电子科技集团公司第十五研究所 | 基于令牌桶算法的卫星数据地面传输网络流量控制系统 |
CN105939286A (zh) * | 2016-03-28 | 2016-09-14 | 杭州迪普科技有限公司 | 令牌桶管理方法及装置 |
CN106789721A (zh) * | 2017-03-24 | 2017-05-31 | 深圳市吉祥腾达科技有限公司 | 一种基于令牌桶的智能qos方法及系统 |
CN108768873A (zh) * | 2018-05-29 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 一种流量控制方法及相关设备 |
-
2021
- 2021-01-29 CN CN202110122692.7A patent/CN112799861B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090003204A1 (en) * | 2007-06-29 | 2009-01-01 | Packeteer, Inc. | Lockless Bandwidth Management for Multiprocessor Networking Devices |
CN102611924A (zh) * | 2012-03-02 | 2012-07-25 | 何震宇 | 一种视频云平台的流量控制方法及系统 |
CN105763478A (zh) * | 2015-12-21 | 2016-07-13 | 中国电子科技集团公司第十五研究所 | 基于令牌桶算法的卫星数据地面传输网络流量控制系统 |
CN105939286A (zh) * | 2016-03-28 | 2016-09-14 | 杭州迪普科技有限公司 | 令牌桶管理方法及装置 |
CN106789721A (zh) * | 2017-03-24 | 2017-05-31 | 深圳市吉祥腾达科技有限公司 | 一种基于令牌桶的智能qos方法及系统 |
CN108768873A (zh) * | 2018-05-29 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 一种流量控制方法及相关设备 |
Non-Patent Citations (2)
Title |
---|
V. JACOBSON;K. NICHOLS;CISCO SYSTEMS; K. PODURI;BAY NETWORKS;: "An Expedited Forwarding PHB", IETF RFC2598 * |
申子明: "云计算环境背景下的流量控制方法", 宁德师范学院学报(自然科学版). * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472674A (zh) * | 2021-07-12 | 2021-10-01 | 多点生活(成都)科技有限公司 | 一种流量控制方法、装置、存储介质及电子设备 |
CN113472674B (zh) * | 2021-07-12 | 2024-05-24 | 多点生活(成都)科技有限公司 | 一种流量控制方法、装置、存储介质及电子设备 |
CN116016356A (zh) * | 2021-09-30 | 2023-04-25 | 迈普通信技术股份有限公司 | 一种报文处理方法及装置 |
CN114064293A (zh) * | 2021-11-26 | 2022-02-18 | 江苏安超云软件有限公司 | 一种基于轮询的无锁限速方法、装置及存储介质 |
CN114064293B (zh) * | 2021-11-26 | 2022-10-04 | 江苏安超云软件有限公司 | 一种基于轮询的无锁限速方法、装置及存储介质 |
CN115225580A (zh) * | 2022-06-10 | 2022-10-21 | 新浪网技术(中国)有限公司 | 一种针对多处理器核的业务隔离限速方法和装置 |
CN115225580B (zh) * | 2022-06-10 | 2024-02-02 | 新浪技术(中国)有限公司 | 一种针对多处理器核的业务隔离限速方法和装置 |
WO2024108328A1 (en) * | 2022-11-21 | 2024-05-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and devices for allocating transmission resources using an extended token bucket algorithm |
Also Published As
Publication number | Publication date |
---|---|
CN112799861B (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112799861A (zh) | 一种多核架构下流量限速无锁并发实现的方法 | |
US11962490B2 (en) | Systems and methods for per traffic class routing | |
Sharma et al. | Programmable calendar queues for high-speed packet scheduling | |
CN108768873B (zh) | 一种流量控制方法及相关设备 | |
US8078763B1 (en) | Dequeuing and congestion control systems and methods for single stream multicast | |
CN111459417B (zh) | 一种面向NVMeoF存储网络的无锁传输方法及系统 | |
WO2014032348A1 (zh) | 一种基于时间触发机制的数据传输方法及装置 | |
WO2020142867A1 (zh) | 一种流量整形方法及相关设备 | |
CN112084027B (zh) | 片上网络数据传输方法、装置、片上网络、设备及介质 | |
CN111163058B (zh) | Dpdk数据加密处理方法、装置和网络设备 | |
DE112006002912T5 (de) | Verwaltung von On-Chip-Warteschleifen in geschalteten Netzwerken | |
CN105978821B (zh) | 网络拥塞避免的方法及装置 | |
US20170093731A1 (en) | Technologies for network round-trip time estimation | |
CN113992594A (zh) | 流量控制方法、装置、电子设备和计算机可读存储介质 | |
CN113132265A (zh) | 一种多路以太网的多级调度方法和装置 | |
WO2019109902A1 (zh) | 队列调度方法及装置、通信设备、存储介质 | |
US9705698B1 (en) | Apparatus and method for network traffic classification and policy enforcement | |
CN111756586A (zh) | 一种数据中心网络中基于优先级队列的公平带宽分配方法、交换机及可读存储介质 | |
CN112671832A (zh) | 虚拟交换机中保障层次化时延的转发任务调度方法及系统 | |
Dumazet | Busy polling: Past, present, future | |
CN113835611A (zh) | 存储调度方法、设备和存储介质 | |
CN111638986A (zh) | 一种QoS队列调度方法、装置、系统及可读存储介质 | |
Hu et al. | Dynamic queuing sharing mechanism for per-flow quality of service control | |
CN106487713A (zh) | 一种服务质量复用方法及装置 | |
CN104917692B (zh) | 一种分发令牌的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |