CN105335211B - 一种基于Xen虚拟化集群的FPGA加速器调度系统及方法 - Google Patents
一种基于Xen虚拟化集群的FPGA加速器调度系统及方法 Download PDFInfo
- Publication number
- CN105335211B CN105335211B CN201510687947.9A CN201510687947A CN105335211B CN 105335211 B CN105335211 B CN 105335211B CN 201510687947 A CN201510687947 A CN 201510687947A CN 105335211 B CN105335211 B CN 105335211B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- privileged domain
- domain virtual
- local
- fpga
- 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
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明涉及一种基于Xen虚拟化集群的FPGA加速器调度系统及方法,该系统包括多个通过交换机相互连接组成集群的服务器,所述的服务器包括特权域虚拟机、多个非特权域虚拟机和FPGA,特权域虚拟机分别与多个非特权域虚拟机和FPGA通信,所述的多个非特权域虚拟机通过特权域虚拟机共享FPGA,各个服务器中的特权域虚拟机通过网卡与其他服务器中的特权域虚拟机通信。与现有技术相比,本发明具有提高设备利用率、降低设备成本等优点。
Description
技术领域
本发明涉及一种调度系统,尤其是涉及一种基于Xen虚拟化集群的FPGA加速器调度系统及方法。
背景技术
随着技术的不断发展,虽然软件运行速度不断提升,但是与用硬件直接实现其功能相比,在处理复杂度高、运算密集型算法时,软件远远比不上硬件的处理速度。目前一些无线通信里的功能模块如Turbo译码、FFT等,算法时间复杂度很高,计算量大,导致响应时间较长,使用硬件加速器替代运算密集型的软件代码,直接在硬件设备上进行Turbo译码、FFT等处理,可以有效提高处理速度,缩短响应时间。我们选用灵活的FPGA来实现复杂算法功能的加速,但是硬件设备一般比较昂贵,每台主机独占一块设备,不但成本高,而且导致设备利用率低,资源浪费严重。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种提高设备利用率、降低设备成本的基于Xen虚拟化集群的FPGA加速器调度系统。
本发明的目的可以通过以下技术方案来实现:
一种基于Xen虚拟化集群的FPGA加速器调度系统,该系统包括多个通过交换机相互连接组成集群的服务器,所述的服务器包括特权域虚拟机、多个非特权域虚拟机和FPGA,特权域虚拟机分别与多个非特权域虚拟机和FPGA通信,所述的多个非特权域虚拟机通过特权域虚拟机共享FPGA,各个服务器中的特权域虚拟机通过网卡与其他服务器中的特权域虚拟机通信。
所述的特权域虚拟机设有后端驱动和设备驱动,所述的非特权域虚拟机设有前端驱动,所述的后端驱动与前端驱动通过共享环共享内存通信,所述的设备驱动与FPGA通信。
所述的特权域虚拟机设有本地任务队列、远端任务队列和已发送任务队列,所述的本地任务队列用以存放多个非特权域虚拟机和集群内其他服务器的特权域虚拟机发送的操作FPGA的请求,所述的远端任务队列用以存放由于当前服务器负载过重而发送到其他服务器的请求,所述的已发送任务队列用以记录发送到其他服务器请求的相关信息。
所述的其他服务器请求的相关信息包括处理前的数据长度、处理后的数据长度、所属的虚拟机IP以及与事件通道和共享环相关的数据结构。
一种基于Xen虚拟化集群的FPGA加速器调度方法,包括以下步骤:
1)根据Xen分离设备驱动模型,在服务器的非特权域虚拟机中创建前端驱动,特权域虚拟机创建后端驱动,所有的服务器通过交换机构成集群;
2)各服务器的特权域虚拟机之间通过集群通信协议建立负载表;
3)非特权域虚拟机的前端驱动向特权域虚拟机的后端驱动发送设备访问请求,特权域虚拟机根据负载表获得其他服务器中特权域虚拟机的负载情况,选择响应时间最短的目标特权域虚拟机;
4)在目标特权域虚拟机对应的FPGA上完成加速任务,并将处理后的数据返回本地非特权域虚拟机。
所述的步骤3)中,响应时间respon_time的计算方法为:
对于本地服务器有:
若本地服务器没有FPGA,则有respon_time=∞,若本地服务器设有FPGA,则有:
其中,nql为本地任务队列的长度,N为本地任务队列中请求的数据长度,v为本地服务器的处理速度;
对于远程服务器有:
其中,min_respon_time为服务器最短处理时间,b为网络带宽,D为监测网络拥塞的传输时延。
所述的步骤4)具体包括以下步骤:
41)各个服务器根据添加到本地任务队列中的请求,每隔一定时间更新响应时间;
42)当目标特权域虚拟机为本地特权域虚拟机时,具体包括以下步骤:
421)本地特权域虚拟机从服务器共享内存中获取设备访问请求数据,并将该数据放入本地任务队列,
422)直接调用本地特权域虚拟机对应的FPGA设备驱动,在本地服务器的FPGA上完成加速处理,并将响应数据返回本地特权域虚拟机;
43)当目标特权域虚拟机为远程特权域虚拟机时,具体包括以下步骤:
431)本地特权域虚拟机将设备访问请求添加到远端任务队列,通过交换机将远端任务队列中的数据发送到远程特权域虚拟机的本地任务队列中,同时在本地特权域虚拟机的已发送任务队列中记录;
432)在远程特权域虚拟机对应的FPGA上完成加速处理,并根据已发送任务队列中的对应记录,将响应返回本地特权域虚拟机。
所述的步骤41)中,一定时间为3秒或4秒。
与现有技术相比,本发明具有以下优点:
本发明实现了一种基于Xen虚拟化集群的FPGA加速器调度系统及方法,一些无线通信里的功能模块,算法时间复杂度很高,算法基于软件实现,耗时较长,导致响应时间长;将其功能模块基于FPGA实现,很大程度上缩短了响应时间,提高计算效率。对I/O设备进行虚拟化,采用Xen半虚拟化技术分离设备驱动模型,基于共享内存实现数据传输,提高数据传输效率,实现多台虚拟机共用一块FPGA,解决设备利用率低的问题;采用网络通信技术和集群调度方法实现不同主机的数据通信,集群系统中服务器设计三个队列和服务器负载表,调度方法均衡不同服务器的负载,访问负载小的服务器上的FPGA,增大系统吞吐量,实现集群中所有的虚拟机共享同一块设备,降低设备成本。
附图说明
图1为本发明的系统结构示意图。
图2为本发明的方法流程图。
图3为虚拟机Dom0和DomU建立连接并实现数据传输的流程图。
图4为Dom0对任务请求的处理结构图。
图5为设备完成加速操作后,Dom0对结果的处理流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例:
实现FPGA加速器的虚拟化集群调度系统,主要将FPGA加速技术、I/O设备虚拟化技术和集群调度技术相结合,实现完备的调度算法,使集群中所有虚拟机可以共享FPGA加速器,且均衡服务器的负载,增大系统吞吐量。
总框架如图1所示,将运算复杂度高的软件代码用FPGA代替,在FPGA上实现加速功能;使用Xen技术将FPGA进行虚拟化;不同服务器通过集群调度方法均衡负载,访问负载小的服务器上的FPGA。采用Xen分离设备驱动模型,在非特权域虚拟机DomU中创建前端驱动,特权域虚拟机Dom0创建后端驱动。总体流程如图2所示,DomU前端驱动向Dom0后端驱动发送设备访问请求;各节点通过交换机构成局域网环境,Dom0根据集群通信协议维系的负载表获得其他服务器的负载情况,再考虑网络代价,选出响应时间最短的目标服务器;如果是本地服务器,则将请求放入native_queue任务队列,直接调用本地实际的FPGA设备驱动,完成请求;否则将请求添加到remote_queue任务队列,通过网络访问目标服务器的设备;最后将响应返回到DomU。技术方案如下:
1.用FPGA硬件实现运算密集型的软件代码,提高运算速度,实现加速功能,具体步骤如下:
(1)用Xilinux软件实现Turbo译码、FFT等复杂算法;
(2)仿真成功后,将程序下载到FPGA设备,实现加速功能。
2.采用Xen的半虚拟化分离设备驱动模型,通过内存映射、事件通道机制、共享环等技术,实现I/O设备的虚拟化,每个虚拟机用户体验到自己独享设备。在DomU创建与Dom0同名的设备文件,用户操作DomU上的虚拟设备时,通过请求将操作发送到后端驱动,后端驱动调用实际驱动使用设备。如图3所示,具体步骤如下:
(1)Xen在特权域虚拟机Dom0(可以直接访问硬件设备)创建非特权域虚拟机DomU(不能直接访问I/O设备)。采用分离设备模型,Dom0安装实际驱动并加载后端驱动,DomU加载前端驱动。
(2)DomU通过XenStore传递共享环的授权引用、事件通道号给Dom0的后端驱动,Dom0根据接收到的值与DomU建立共享环、事件通道,完成前后端驱动的连接。根据后端实际驱动操作设备的数据大小,前端分配相应大小的共享内存映射给后端共享,前后端通过此空间交换数据,直到断开连接才释放空间。
(3)连接建立完成后,前端驱动和后端驱动通过共享环、事件通道和共享内存等机制,来完成前后端的数据传输。前端驱动将请求放入共享环,由事件通道触发后端绑定的事件;Dom0从共享环读取请求,根据请求从共享内存读取数据;处理完成后,将响应和处理后的数据返回给DomU。
3.集群管理系统,将多台服务器通过网络相连接,不同的服务器间可以相互访问;根据集群通信协议,选择心跳检测模型,具体可以使用pacemaker软件;为了提高数据的传输速度,缩短时延,服务器间可以使用infiniband交换机相连;每个服务器在集群中广播处理所有本地任务所需的时间值,集群中所有服务器维系相同的负载表。
4.对请求的管理和对FPGA设备的调度,结构如图4所示,具体步骤如下:
(1).在Dom0设计有三个队列,native_queue,remote_queue,submit_queue;
(2).当Dom0接收到DomU的请求后,根据负载表查找响应时间最短的目标服务器。如果目标服务器是本机,将请求添加到native_queue队列,否则添加到remote_queue。对于目标服务器,如果有远端发送来的请求,则添加到native_queue队列尾部。确定目标服务器的流程如下:
(21).负载表中主要有集群系统中服务器的IP、port和respon_time,respon_time计算如下:
(211).如果本地没有设备,respon_time=∞;
(212).否则,
response_time即处理任务所需要的时间,nql为native_queue队列的长度,N是队列中请求的数据长度,v是设备的处理速度;
(22).可以用各种查找算法查找负载表,找到最小的响应时间min_respon_time。如果对应的是本地服务器,则将请求添加到native_queue,判断结束,否则进行(23);
(23).考虑网络时延,计算访问其他服务器的总时延:
其中b是网络带宽,D是监测网络拥塞情况得到的传输时延;
(24).比较total_respon_time和本地的respon_time。如果本地respon_time小,则将请求添加到native_queue,判断结束;否则目标服务器为min_respon_time对应的服务器,将目标服务器的IP、port以及本地服务器的IP、port值记录到请求中,将请求添加到remote_queue,判断结束;。
(3).处理native_queue队列,具体如下:
(31).有新请求添加到native_queue队列时,重新计算
(32).取下队列请求,重新计算根据请求的类型,Dom0调用实际的设备驱动,做相应的处理;
(321).如果要对数据处理,则Dom0根据请求中数据的长度从共享内存空间中取数据,如果数据长度大于共享空间,则DomU会发送多次请求,将数据传输完成。然后将数据写入设备进行处理,数据处理完成后向前端发送写请求完成响应,响应中带有处理完成的数据的长度。前端立即发送读请求,从后端读取处理完的数据存在DomU,当用户读时,从本地返回给用户数据,不再有请求的传输;
(332).如果不是数据处理,如打开关闭设备或一些控制信号,则不传输数据,只进行请求和响应的传送;
(4).处理remote_queue队列。即如果队列不为空,则将队列里的所有请求通过网络发送到目标服务器。每处理一个请求,都将请求的相关信息插入到submit_queue队列中。目标服务器收到请求后,将请求放入其native_queue队列;
(5).如图5所示,当设备完成了native_queue里的任务后,所做操作为:
(51).判断是本地请求还是远端请求。如果是本地请求,则将响应和数据传到相应的DomU,完成本地虚拟机使用设备的流程;否则通过网络将数据发送到任务所属服务器。
(52).任务所属服务器收到远端响应后,从submit_queue中查找原来任务的详细信息,包括其所属DomU以及与DomU连接的相关数据结构。将响应传送给相应的DomU,完成集群系统内多个服务器共享设备的流程。
(6).集群系统每间隔固定时间,3秒或4秒广播本地服务器的response_time,使集群内所有节点及时更新与维护同一张负载表,均衡服务器间的负载。
Claims (7)
1.一种基于Xen虚拟化集群的FPGA加速器调度系统,其特征在于,该系统包括多个通过交换机相互连接组成集群的服务器,所述的服务器包括特权域虚拟机、多个非特权域虚拟机和FPGA,特权域虚拟机分别与多个非特权域虚拟机和FPGA通信,所述的多个非特权域虚拟机通过特权域虚拟机共享FPGA,各个服务器中的特权域虚拟机通过网卡与其他服务器中的特权域虚拟机通信,所述的特权域虚拟机设有本地任务队列、远端任务队列和已发送任务队列,所述的本地任务队列用以存放多个非特权域虚拟机和集群内其他服务器的特权域虚拟机发送的操作FPGA的请求,所述的远端任务队列用以存放由于当前服务器负载过重而发送到其他服务器的请求,所述的已发送任务队列用以记录发送到其他服务器请求的相关信息。
2.根据权利要求1所述的一种基于Xen虚拟化集群的FPGA加速器调度系统,其特征在于,所述的特权域虚拟机设有后端驱动和设备驱动,所述的非特权域虚拟机设有前端驱动,所述的后端驱动与前端驱动通过共享环共享内存通信,所述的设备驱动与FPGA通信。
3.根据权利要求1所述的一种基于Xen虚拟化集群的FPGA加速器调度系统,其特征在于,所述的其他服务器请求的相关信息包括处理前的数据长度、处理后的数据长度、所属的虚拟机IP以及与事件通道和共享环相关的数据结构。
4.一种应用如权利要求1-3任一项所述的基于Xen虚拟化集群的FPGA加速器调度系统的调度方法,其特征在于,包括以下步骤:
1)根据Xen分离设备驱动模型,在服务器的非特权域虚拟机中创建前端驱动,特权域虚拟机创建后端驱动,所有的服务器通过交换机构成集群;
2)各服务器的特权域虚拟机之间通过集群通信协议建立负载表;
3)非特权域虚拟机的前端驱动向特权域虚拟机的后端驱动发送设备访问请求,特权域虚拟机根据负载表获得其他服务器中特权域虚拟机的负载情况,选择响应时间最短的目标特权域虚拟机;
4)在目标特权域虚拟机对应的FPGA上完成加速任务,并将处理后的数据返回本地非特权域虚拟机。
5.根据权利要求4所述的调度方法,其特征在于,所述的步骤3)中,响应时间respon_time的计算方法为:
对于本地服务器有:
若本地服务器没有FPGA,则有respon_time=∞,若本地服务器设有FPGA,则有:
其中,nql为本地任务队列的长度,N为本地任务队列中请求的数据长度,v为本地服务器的处理速度;
对于远程服务器有:
其中,min_respon_time为服务器最短处理时间,b为网络带宽,D为监测网络拥塞的传输时延。
6.根据权利要求4所述的调度方法,其特征在于,所述的步骤4)具体包括以下步骤:
41)各个服务器根据添加到本地任务队列中的请求,每隔一定时间更新响应时间;
42)当目标特权域虚拟机为本地特权域虚拟机时,具体包括以下步骤:
421)本地特权域虚拟机从服务器共享内存中获取设备访问请求数据,并将该数据放入本地任务队列,
422)直接调用本地特权域虚拟机对应的FPGA设备驱动,在本地服务器的FPGA上完成加速处理,并将响应数据返回本地特权域虚拟机;
43)当目标特权域虚拟机为远程特权域虚拟机时,具体包括以下步骤:
431)本地特权域虚拟机将设备访问请求添加到远端任务队列,通过交换机将远端任务队列中的数据发送到远程特权域虚拟机的本地任务队列中,同时在本地特权域虚拟机的已发送任务队列中记录;
432)在远程特权域虚拟机对应的FPGA上完成加速处理,并根据已发送任务队列中的对应记录,将响应数据返回本地特权域虚拟机。
7.根据权利要求6所述的调度方法,其特征在于,所述的步骤41)中,一定时间为3秒或4秒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510687947.9A CN105335211B (zh) | 2015-10-21 | 2015-10-21 | 一种基于Xen虚拟化集群的FPGA加速器调度系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510687947.9A CN105335211B (zh) | 2015-10-21 | 2015-10-21 | 一种基于Xen虚拟化集群的FPGA加速器调度系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105335211A CN105335211A (zh) | 2016-02-17 |
CN105335211B true CN105335211B (zh) | 2018-10-26 |
Family
ID=55285770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510687947.9A Active CN105335211B (zh) | 2015-10-21 | 2015-10-21 | 一种基于Xen虚拟化集群的FPGA加速器调度系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105335211B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114218133A (zh) | 2016-06-15 | 2022-03-22 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN106572500B (zh) * | 2016-10-21 | 2020-07-28 | 同济大学 | 一种c-ran中硬件加速器的调度方法 |
CN106681793A (zh) * | 2016-11-25 | 2017-05-17 | 同济大学 | 一种基于kvm的加速器虚拟化数据处理系统及方法 |
US10540506B2 (en) | 2017-01-12 | 2020-01-21 | Microsoft Technology Licensing, Llc | Field-programmable gate array virtualization |
US10404470B2 (en) | 2017-01-13 | 2019-09-03 | Microsoft Technology Licensing, Llc | Signature verification of field-programmable gate array programs |
CN110162378B (zh) | 2018-02-13 | 2023-12-29 | 华为技术有限公司 | 一种资源调度的方法、装置、设备及系统 |
CN110958256B (zh) * | 2019-12-06 | 2022-04-01 | 华云数据控股集团有限公司 | 一种集群管理方法及管理系统 |
CN113467839A (zh) * | 2020-03-31 | 2021-10-01 | 阿里巴巴集团控股有限公司 | 可编程组件管控方法以及装置 |
CN116361033B (zh) * | 2023-04-04 | 2023-12-29 | 亿咖通(湖北)技术有限公司 | 通信方法、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101661381A (zh) * | 2009-09-08 | 2010-03-03 | 华南理工大学 | 一种基于Xen的数据共享与访问控制方法 |
CN102088404A (zh) * | 2010-12-10 | 2011-06-08 | 北京世纪互联工程技术服务有限公司 | 一种Xen虚拟机网卡限速的方法 |
CN102662754A (zh) * | 2012-04-20 | 2012-09-12 | 浙江大学 | 一种支持多场景的虚拟机调度装置和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080028399A1 (en) * | 2006-07-26 | 2008-01-31 | Diwaker Gupta | System and method for attributing to a corresponding virtual machine CPU utilization of a network driver domain based on observed communication through a virtualized interface |
-
2015
- 2015-10-21 CN CN201510687947.9A patent/CN105335211B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101661381A (zh) * | 2009-09-08 | 2010-03-03 | 华南理工大学 | 一种基于Xen的数据共享与访问控制方法 |
CN102088404A (zh) * | 2010-12-10 | 2011-06-08 | 北京世纪互联工程技术服务有限公司 | 一种Xen虚拟机网卡限速的方法 |
CN102662754A (zh) * | 2012-04-20 | 2012-09-12 | 浙江大学 | 一种支持多场景的虚拟机调度装置和方法 |
Non-Patent Citations (2)
Title |
---|
Xen虚拟化设备驱动前后端通信机制研究;陈莉君等;《计算机与数字工程》;20140831;第42卷(第8期);第1399-1402页,第1435页 * |
XEN虚拟机系统直接I/O访问机制的研究与实现;孙世昶等;《大连民族学院学报》;20070531;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105335211A (zh) | 2016-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105335211B (zh) | 一种基于Xen虚拟化集群的FPGA加速器调度系统及方法 | |
US11115466B2 (en) | Distributed network services | |
CN109426549A (zh) | 针对虚拟环境的加速器互连分配 | |
US11296956B2 (en) | Oversubscribable resource allocation | |
CN105531970B (zh) | 用于在网络中部署工作负荷的方法和系统 | |
CN103942087B (zh) | 虚拟机热迁移方法及相关装置和集群系统 | |
CN103414535B (zh) | 数据发送方法和数据接收方法及相关装置 | |
WO2018133035A1 (zh) | 用于转发数据包的方法、网卡、主机设备和计算机系统 | |
KR101636308B1 (ko) | 전기 통신 네트워크 애플리케이션들을 위한 코어 추상화 계층 | |
CN106681793A (zh) | 一种基于kvm的加速器虚拟化数据处理系统及方法 | |
CN108667859A (zh) | 一种实现资源调度的方法及装置 | |
CN104115121A (zh) | 在中间件机器环境中对虚拟机迁移提供可扩展的信令机制的系统和方法 | |
EP3771169B1 (en) | Message processing method and related device | |
CN105389199B (zh) | 一种基于Xen的FPGA加速器虚拟化平台及应用 | |
CN107094119B (zh) | 一种基于云计算和sdn网络的负载均衡控制方法及系统 | |
CN107967180B (zh) | 基于numa虚拟化环境下资源全局亲和度网络优化方法和系统 | |
CN104021069A (zh) | 基于分布式虚拟机系统的软件性能测试的管理方法和系统 | |
US20230185732A1 (en) | Transparent encryption | |
CN103455363B (zh) | 一种虚拟机的指令处理方法、装置及物理主机 | |
CN107046508A (zh) | 报文接收方法及网络设备 | |
US20100064301A1 (en) | Information processing device having load sharing function | |
CN108228309A (zh) | 基于虚拟机的数据包发送和接收方法及装置 | |
CN104883302A (zh) | 一种数据包转发的方法、装置及系统 | |
WO2015121750A1 (en) | System and method for data communication between virtual interfaces | |
CN116305136A (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 |