CN104580001A - 一种网络数据包处理动态负载均衡方法 - Google Patents
一种网络数据包处理动态负载均衡方法 Download PDFInfo
- Publication number
- CN104580001A CN104580001A CN201410849362.8A CN201410849362A CN104580001A CN 104580001 A CN104580001 A CN 104580001A CN 201410849362 A CN201410849362 A CN 201410849362A CN 104580001 A CN104580001 A CN 104580001A
- Authority
- CN
- China
- Prior art keywords
- packet
- node
- subregion
- data processing
- state
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络数据包处理动态负载均衡方法。本方法为:1)将网络中的数据处理节点分为若干分区,每个分区设置一分区均衡控制器;2)所述分区均衡控制器定期采集并更新所在分区中数据处理节点的状态,维护一所在分区内所有数据处理节点的状态信息表;3)主控制器向每个所述分区均衡控制器查询当前分区的状态,更新分区状态表,并根据每个分区的状态将数据包发送给状态为空闲或者正常的分区进行处理;其中,当数据包到达状态为正常的分区时,根据公式确定该分区中每个数据处理节点可分配的数据包;本发明可以在大量数据包未被处理时就对其做出整体的分配,无需等到数据包处理过程中观察系统状态再做出调整。
Description
技术领域
本发明涉及一种数据包处理的负载均衡的方法,属于网络安全领域。
背景技术
随着网络应用的发展,网络安全受到人们越来越多的重视,网络安全系统需要处理的数据流量也越来越大,这样就需要更多的服务器做并行的处理。负载均衡器汇总需要处理的流量,并将这些流量均衡的分配到进行数据处理的服务器上。
传统的方式是采用hash映射的方式,利用一条链接或者一个流的特征,将这条链接或者这个流映射到后端的数据处理服务器。这样在大流量下就会造成后端服务器上处理的流量不均衡,浪费整体的处理资源。而服务器对不同类型数据的处理消耗的计算资源是不一样的,即使分配到了相同的数据流量,也不能保证服务器上的CPU和内存消耗是相同的。
在实际的网络内容分析中,内容分析也是各种各样的,它们对CPU和内存的依赖程度也不尽相同。因此需要一种有效的负载均衡策略保证对后端服务器资源的充分利用。
发明内容
针对现有技术中存在的无法有效解决数据包分配不均的问题,本发明提出了一种数据包处理动态负载均衡方法,该方法考虑了服务器之间通信成本,将每个服务器视作一个合作者,将数据包作为负载单位,通过找到优化的合作方式,获得更好的数据包分配效果,实现后端服务器资源的充分利用。
本发明的技术方案为:
一种网络数据包处理动态负载均衡方法,其步骤为:
1)将网络中的数据处理节点分为若干分区,每个分区设置一分区均衡控制器;
2)所述分区均衡控制器定期采集并更新所在分区中数据处理节点的状态,维护一所在分区内所有数据处理节点的状态信息表;
3)主控制器向每个所述分区均衡控制器查询当前分区的状态,更新分区状态表,并根据每个分区的状态将数据包发送给状态为空闲或者正常的分区进行处理;其中,当数据包到达状态为正常的分区时,根据公式确定该分区中每个数据处理节点可分配的数据包;其中,n为该分区中的数据处理节点总数,βi为分配给数据处理节点i的数据包数量,λ为该网络中所有节点之间传输的全部数据包数量,Di(βi)为节点i处理βi的时间,G(λ)为该网络中所有节点之间传输全部数据包数量的通信时间;X=[β1,...,βn,λ]T。
进一步的,根据公式确定该分区中每个数据处理节点可分配的数据包的方法为:
21)初始化迭代初始值:βi=φi;i∈N;i=1,...,n;
22)对处理时间进行排序,求得 如果满足Dκ(φκ)+G(0)≥Dn(φn),则返回当前βi,否则进行步骤23);
23)使用二分查找法查找α,初始化a=D1(φ1),b=Dn(φn);
24)赋值λS(α)←0,λR(α)←0,并计算S(α),λS(α),Rd(α),Ra(α),λR(α);
25)判断是否满足|λS(α)-λR(α)|<ε,如果是,则进入步骤27);否则进入步骤26);ε为一设定阈值;
26)判断是否满足λS(α)>λR(α),如果是,则b←α;否则a←α,然后返回到步骤24);
27)计算分配给各个节点的数据包数量:
βi=0,对于所有i∈Rd(α)
对于所有i∈S(α)
βi=φi,对于所有i∈N(α)
其中,函数表示处理数据包时间的逆:如果 如果μi为数据处理节点i单位时间内能够处理的数据包数量,φi为单位时间内到达数据处理节点i数据包数量,G(λ)为该网络中所有节点之间传输全部数据包数量的通信时间;该分区包括:
S类型节点:接受从其他节点传来的数据包,但是从不向外发送数据包;S类型节点集合为S(α);进入S类型节点的数据包的数量为λS(α);
Rd类型节点:不接受其他节点的数据包,同时将自己的数据包全部发送给其他节点,Rd类型节点集合为Rd(α);
Ra类型节点:不接受其他节点的数据包,处理一部分自己的数据包,将剩下的数据包发送至其他节点,Ra类型节点集合为Ra(α),从Rd类型节点和Ra类型节点发出的数据包的数量为λR;
N类型节点:不发送自己的数据包也不接受其他节点发来的数据包,N类型节点集合为N(α);α为拉格朗日算子。
进一步的,所述步骤27)计算分配给各个节点的数据包数量时,满足:Di(βi)≥α+G(λ),βi=0(i∈Rd),Di(βi)=α+G(λ),0<βi<φi(i∈Ra),α+G(λ)≥Di(βi)≥α,βi=φi(i∈N),Di(βi)=α,βi>φi(i∈S), 为单位时间内到达该网络的数据包总数。
进一步的,当数据包到达状态为空闲的分区时,首先根据根分区各个数据处理节点的负载度,从低到高建立一个循环队列;然后从低到高遍历该循环队列,将该数据包分配给负载度最低的数据处理节点。
进一步的,当一个数据包到达数据处理节点i时,该数据包要么在节点i被处理,要么通过该网络发送到数据处理节点j处理,且节点j不能再次转发该数据包。
进一步的,所述分区状态包括空闲、正常和过载。
进一步的,所述分区均衡控制器检测到某数据处理节点处于宕机或者出现故障时,将不再为其发送数据包。
概念解释
节点:处理数据包的单元,也就是完成数据包处理的服务器。
节点N的负载度:其中Fi表示第i个负载参数,其中包括静态负载参数,例如CPU核心数,CPU处理速度,内存大小等;动态负载参数,例如CPU占用率,内存占用率,带宽占用等,表示每个负载参数的权重。
节点N的状态:
·空闲:当L(N)为0时,节点N状态为空闲。
·正常:当0<L(N)≤Lhigh时,节点N状态为正常,其中Lhigh是指定的正常状态的负载阈值。
·过载:当Lhigh≤L(N)时,节点N状态为过载。
分区:一个分区由一些节点构成,其中每个分区包含一个分区均衡控制器,这些分区均衡控制器和主控制器通信,决定数据包的分配,如图1所示。每隔一段时间,分区均衡控制器就会更新每个节点的状态。
分区状态:
·空闲:该分区空闲节点的比例超过了空闲负载阈值α。
·正常:该分区正常节点的比例超过了正常负载阈值β。
·过载:该分区过载节点的比例超过了过载负载阈值γ。
φi:单位时间内到达节点i的数据包数量。
:单位时间内到达系统的总数据包数,那么有
μi:节点i单位时间内能够处理的数据包数量。
βi:节点i单位时间内将要处理的数据包数。
xij:单位时间内从节点i发送到节点j的数据包数量。
节点i处理βi的时间:满足约束条件βi<μi,i=1,...,n。
所有节点之间传输全部数据包数量的通信时间其中t是接受或者发送一个数据包的平均通信时间,表示网络中的全部数据包数量。
处理数据包时间的逆:如果 如果代表了时间应该处理的数据包数量。
S类型节点:接受从其他节点传来的数据包,但是从不向外发送数据包;
Rd类型节点:不接受其他节点的数据包,同时将自己的数据包全部发送给其他节点;
Ra类型节点:不接受其他节点的数据包,处理一部分自己的数据包,将剩下的数据包发送至其他节点;
N类型节点:不发送自己的数据包也不接受其他节点发来的数据包;
S类型节点集合:S(α)={i|Di(φi)<α},其中α是拉格朗日算子。
进入S类型节点的数据包的数量:
Rd类型节点集合:Rd(α)={i|Di(0)≥α+G(λs(α))}。Di(0)是对常数0,即不处理数据包所用时间。
Ra类型节点集合:Ra(α)={i|Di(φi)>α+G(λs(α))>Di(0)}。
从Rd类型节点和Ra类型节点发出的数据包的数量:
N类型节点集合:N(α)={i|α≤Di(φi)≤α+G(λs(α))}。
本发明提供的一种数据包处理的动态负载均衡方法,该方法的处理步骤如下:
步骤1:每个分区均衡控制器采集每个节点的负载状态,维护一个本分区内所有节点的状态信息表。
步骤2:主控制器向每个分区均衡控制器查询当前分区的状态,更新分区状态表,并根据每个分区的状态把数据包发送给状态为空闲或者正常的分区进行处理,如图2所示。
步骤3.1:当数据包到达状态为空闲的分区时,说明该分区有足够的资源,数据包可以被尽快处理,因此选择一个简单的负载均衡方法是最合适的,为此进行如下步骤,如图3所示。
步骤3.1.1:根据各个节点的负载度,从低到高建立一个循环队列。
步骤3.1.2:当有新的数据包到来时,从低到高遍历循环队列,选择负载度最低的节点。
步骤3.1.3:在指定的时间内刷新循环列表。
步骤3.2:当数据包到达状态为正常的分区时,说明该分区的资源不能简单的进行分配,这时候就需要一个合理的分配方法,为此使用一种如下的负载均衡方法,如图4所示。该方法基于任意两个节点之间的通信时间小于通过第三个节点的通信时间,并且符合下面的数据包处理规则:如果一个数据包到达节点i,那么这个数据包要么在节点i被处理,要么通过网络发送到节点j去处理。如果节点j收到其他节点(例如i)发送过来的数据包,那么节点j不能再次将数据包发送给其他节点(包括i)。
步骤3.2.1:假设共有n+1个合作者,包括n个节点和通信网络。其目标是使最小化,即使得整个系统处理待处理数据包的时间和整个网络的通信时间的总和最小,需要解决的是使得每个合作者i分配到合适数量的数据包βi,所以目标函数可以表示为其中,n+1个合作者的最优策略是X=[β1,...,βn,λ]T,第n+1个合作者就是通信网络,它要处理网络中的总数据包数。
其最优策略应该满足如下条件:
1.Di(βi)≥α+G(λ),βi=0(i∈Rd);
2.Di(βi)=α+G(λ),0<βi<φi(i∈Ra);
3.α+G(λ)≥Di(βi)≥α,βi=φi(i∈N);
4.Di(βi)=α,βi>φi(i∈S);
5.
步骤3.2.2:计算α:
输入:节点i单位时间内能够处理的数据包数量:μ1,μ2,...,μi
单位时间内到达节点i数据包数量:φ1,φ2,...,φi
节点接受或者发送一个数据包的平均通信时间:t
输出:数据包负载分配β1,...,βn,λ
1.初始化迭代初始值:βi=φi;i∈N;i=1,...,n,N是节点集合,包括n个节点。进入2。
2.对处理时间进行排序,求得 如果满足Dκ(φκ)+G(0)≥Dn(φn),则算法停止,返回βi为初始值,如果不满足,进入3;G(0)表示任何节点都不发送和接受数据包(网络中总流量为0)时的网络通信时间。
3.使用二分查找法来查找α,初始化a=D1(φ1),b=Dn(φn),进入4。
4.赋值λS(α)←0,λR(α)←0,并计算S(α),λS(α),Rd(α),Ra(α),λR(α)进入步骤5。
5.判断是否满足|λS(α)-λR(α)|<ε。如果是,进入步骤7;如果否,进入步骤6。
6.判断是否满足λS(α)>λR(α),如果是,b←α;如果否,a←α。最后返回到步骤4。
7.计算分配给各个节点的数据包数量:
βi=0,对于所有i∈Rd(α)
对于所有i∈S(α)
βi=φi,对于所有i∈N(α)
备注:当服务器在宕机或者出现故障时将不再为其发送数据包,否则会造成数据包的丢失。
与现有技术相比,本发明的积极效果为:
将数据包和处理数据包的节点视作同一的个体,不考虑具体某个任务的最优处理,而是将通信时间的成本考虑在内,将整个系统当作优化的整体,在某个时间点上取得全局的最优效果。考虑到数据包的处理,相互之间差别不大,类似的应用环境使用本发明的策略会达到很好的效果。同时,本发明可以在大量数据包未被处理时,就对其做出整体的分配,无需等到数据包处理过程中观察系统状态再做出调整。
附图说明
图1为负载均衡整体架构图;
图2为分区查找流程图;
图3为空闲分区负载均衡流程图;
图4为正常分区负载均衡流程图;
图5为本发明具体实施的动态负载均衡的方法流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图5所示,本发明具体实施上述的动态负载均衡的方法,具体包括以下步骤:
步骤1:分区均衡控制器读取该分区内各个节点的情况,并根据各个节点的状态建立一个所有节点的状态信息表;
步骤2:主控制器通过查询分区均衡控制器,维护分区状态信息表;
步骤3:当数据包到来时,根据各个分区的状态信息表,通过图2所示的方法,找到合适的分区,然后将数据包发送到该分区的分区均衡控制器上;
步骤4:将数据包发送到步骤3所选择的分区内的各个节点上,空闲的分区使用空闲分区负载均衡方法(图3),正常的分区使用正常分区负载均衡方法。
下面举例说明正常分区的负载均衡方法的实施过程:
假设所选中分区有3个节点,编号1,2,3。处理速率分别是μ1=10,μ2=20,μ3=40,数据包到达节点的速率分别是φ1=8,φ2=5,φ3=2;平均通信时间t=0.001s。
1.初始化各个节点需要处理的数据包数量:β1=8,β2=5,β3=2。
2.对处理时间排序后得到D3(2)=0.026≤D2(5)=0.067≤D1(8)=0.5,同时D3(2)+G(0)=0.026+0.001=0.027<D1(8)=0.5,因此进入步骤3。
3.计算α初值:a=0.026,b=0.5,则进入步骤4。
4.通过之前所述节点计算方法,得到节点3、2属于S类型节点,节点1属于Ra(α)类型节点,并且 λR(α)=1.788,两者差距过大,于是,将α赋值给b,重复上述工作。经过多次计算,在ε=10-5的条件下,得到α=0.04。
5.得到各个节点分配的数据包数量β1=0,β2=0,β3=15。
Claims (7)
1.一种网络数据包处理动态负载均衡方法,其步骤为:
1)将网络中的数据处理节点分为若干分区,每个分区设置一分区均衡控制器;
2)所述分区均衡控制器定期采集并更新所在分区中数据处理节点的状态,维护一所在分区内所有数据处理节点的状态信息表;
3)主控制器向每个所述分区均衡控制器查询当前分区的状态,更新分区状态表,并根据每个分区的状态将数据包发送给状态为空闲或者正常的分区进行处理;其中,当数据包到达状态为正常的分区时,根据公式确定该分区中每个数据处理节点可分配的数据包;其中,n为该分区中的数据处理节点总数,βi为分配给数据处理节点i的数据包数量,λ为该网络中所有节点之间传输的全部数据包数量,Di(βi)为节点i处理βi的时间,G(λ)为该网络中所有节点之间传输全部数据包数量的通信时间;X=[β1,…,βn,λ]T。
2.如权利要求1所述的方法,其特征在于,根据公式确定该分区中每个数据处理节点可分配的数据包的方法为:
21)初始化迭代初始值:βi=φi;i∈N;i=1,…,n;
22)对处理时间进行排序,求得 如果满足Dκ(φκ)+G(0)≥Dn(φn),则返回当前βi,否则进行步骤23);
23)使用二分查找法查找α,初始化a=D1(φ1),b=Dn(φn);
24)赋值并计算S(α),λS(α),Rd(α),Ra(α),λR(α);
25)判断是否满足|λS(α)-λR(α)|<ε,如果是,则进入步骤27);否则进入步骤26);ε为一设定阈值;
26)判断是否满足λS(α)>λR(α),如果是,则b←α;否则a←α,然后返回到步骤24);
27)计算分配给各个节点的数据包数量:
βi=0,对于所有i∈Rd(α)
对于所有i∈S(α)
βi=φi,对于所有i∈N(α)
其中,函数表示处理数据包时间的逆:如果 如果μi为数据处理节点i单位时间内能够处理的数据包数量,φi为单位时间内到达数据处理节点i数据包数量,G(λ)为该网络中所有节点之间传输全部数据包数量的通信时间;该分区包括:
S类型节点:接受从其他节点传来的数据包,但是从不向外发送数据包;S类型节点集合为S(α);进入S类型节点的数据包的数量为λS(α);
Rd类型节点:不接受其他节点的数据包,同时将自己的数据包全部发送给其他节点,Rd类型节点集合为Rd(α);
Ra类型节点:不接受其他节点的数据包,处理一部分自己的数据包,将剩下的数据包发送至其他节点,Ra类型节点集合为Ra(α),从Rd类型节点和Ra类型节点发出的数据包的数量为λR;
N类型节点:不发送自己的数据包也不接受其他节点发来的数据包,N类型节点集合为N(α);α为拉格朗日算子。
3.如权利要求2所述的方法,其特征在于,所述步骤27)计算分配给各个节点的数据包数量时,满足:Di(βi)≥α+G(λ),βi=0(i∈Rd),Di(βi)=α+G(λ),0<βi<φi(i∈Ra),α+G(λ)≥Di(βi)≥α,βi=φi(i∈N),Di(βi)=α,βi>φi(i∈S), 为单位时间内到达该网络的数据包总数。
4.如权利要求1或2或3所述的方法,其特征在于,当数据包到达状态为空闲的分区时,首先根据根分区各个数据处理节点的负载度,从低到高建立一个循环队列;然后从低到高遍历该循环队列,将该数据包分配给负载度最低的数据处理节点。
5.如权利要求1或2或3所述的方法,其特征在于,当一个数据包到达数据处理节点i时,该数据包要么在节点i被处理,要么通过该网络发送到数据处理节点j处理,且节点j不能再次转发该数据包。
6.如权利要求1所述的方法,其特征在于,所述分区状态包括空闲、正常和过载。
7.如权利要求1所述的方法,其特征在于,所述分区均衡控制器检测到某数据处理节点处于宕机或者出现故障时,将不再为其发送数据包。3 -->
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410849362.8A CN104580001B (zh) | 2014-12-29 | 2014-12-29 | 一种网络数据包处理动态负载均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410849362.8A CN104580001B (zh) | 2014-12-29 | 2014-12-29 | 一种网络数据包处理动态负载均衡方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104580001A true CN104580001A (zh) | 2015-04-29 |
CN104580001B CN104580001B (zh) | 2018-08-03 |
Family
ID=53095223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410849362.8A Active CN104580001B (zh) | 2014-12-29 | 2014-12-29 | 一种网络数据包处理动态负载均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104580001B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935460A (zh) * | 2015-05-05 | 2015-09-23 | 浙江大学 | 一种基于数据面流量预测的多控制器节能优化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594596A (zh) * | 2012-02-15 | 2012-07-18 | 华为技术有限公司 | 识别集群网络中可用分区的方法、装置及集群网络系统 |
CN103327072A (zh) * | 2013-05-22 | 2013-09-25 | 中国科学院微电子研究所 | 一种集群负载均衡的方法及其系统 |
CN103634394A (zh) * | 2013-11-28 | 2014-03-12 | 中国科学院信息工程研究所 | 一种面向数据流处理的弹性可扩展资源管理方法及系统 |
-
2014
- 2014-12-29 CN CN201410849362.8A patent/CN104580001B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594596A (zh) * | 2012-02-15 | 2012-07-18 | 华为技术有限公司 | 识别集群网络中可用分区的方法、装置及集群网络系统 |
CN103327072A (zh) * | 2013-05-22 | 2013-09-25 | 中国科学院微电子研究所 | 一种集群负载均衡的方法及其系统 |
CN103634394A (zh) * | 2013-11-28 | 2014-03-12 | 中国科学院信息工程研究所 | 一种面向数据流处理的弹性可扩展资源管理方法及系统 |
Non-Patent Citations (2)
Title |
---|
E BERGER等: "Scalable Load Distribution and Load Balancing for Dynamic Parallel Programs", 《PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON CLUSTER-BASED COMPUTING99》 * |
冯斌全等: "能力服务计算应用负载调度技术", 《信息技术快报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935460A (zh) * | 2015-05-05 | 2015-09-23 | 浙江大学 | 一种基于数据面流量预测的多控制器节能优化方法 |
CN104935460B (zh) * | 2015-05-05 | 2018-04-03 | 浙江大学 | 一种基于数据面流量预测的多控制器节能优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104580001B (zh) | 2018-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101610209B (zh) | 一种多核并行的网络业务流处理方法及设备 | |
CN104156267B (zh) | 任务分配方法、任务分配装置及片上网络 | |
CN103067293B (zh) | 负载均衡设备的连接管理和复用的方法和系统 | |
Kuo et al. | Optimal approximation algorithm of virtual machine placement for data latency minimization in cloud systems | |
US20060085554A1 (en) | System and method for balancing TCP/IP/workload of multi-processor system based on hash buckets | |
CN105718317A (zh) | 一种任务调度方法及装置 | |
CN102035737A (zh) | 一种基于认知网络的自适应负载均衡方法和装置 | |
CN105007337A (zh) | 集群系统负载均衡的方法和系统 | |
CN103823780A (zh) | 一种实时现场总线控制调度方法 | |
CN103401947A (zh) | 多个服务器的任务分配方法和装置 | |
CN102970142B (zh) | 一种vpn设备在多加密卡环境下并发加解密的方法及系统 | |
CN105791371B (zh) | 一种云存储服务系统及方法 | |
Li et al. | On the universality of age-based scheduling in wireless networks | |
CN105491150A (zh) | 基于时间序列的负载均衡处理方法及系统 | |
CN104734991A (zh) | 一种面向工业回程网的端到端时延保障传输调度方法 | |
Wen et al. | Load balancing job assignment for cluster-based cloud computing | |
CN108259221A (zh) | 流量控制方法、装置、系统、存储介质和处理器 | |
CN106059940A (zh) | 一种流量控制方法及装置 | |
CN108123891A (zh) | Sdn网络中使用分布式域控制器实现的动态负载均衡方法 | |
CN108282526A (zh) | 双集群间服务器动态分配方法及系统 | |
Jain et al. | An algorithm for dynamic load balancing in distributed systems with multiple supporting nodes by exploiting the interrupt service | |
CN104899097A (zh) | 线程分配数量计算方法以及装置 | |
CN104580001A (zh) | 一种网络数据包处理动态负载均衡方法 | |
CN106406990B (zh) | 一种带安全约束的成批作业-资源匹配方法及系统 | |
CN104009904A (zh) | 面向云平台大数据处理的虚拟网络构建方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |