CN112416605B - 一种基于互联网的分布式显卡调用方法及装置 - Google Patents
一种基于互联网的分布式显卡调用方法及装置 Download PDFInfo
- Publication number
- CN112416605B CN112416605B CN202011487365.3A CN202011487365A CN112416605B CN 112416605 B CN112416605 B CN 112416605B CN 202011487365 A CN202011487365 A CN 202011487365A CN 112416605 B CN112416605 B CN 112416605B
- Authority
- CN
- China
- Prior art keywords
- gpu
- remote
- local
- instruction
- available
- 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
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Image Generation (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于互联网的分布式显卡调用方法及装置。该方法包括:在集群中可被使用的设备中安装服务程序;其中集群中可被使用的设备作为可用远程主机;在用户和开发者的本地主机中关联所有可用远程主机;通过类图形API像操作本地显卡一样操作远程显卡;其中接收到操作时,确定对应的可用GPU是位于本地还是位于可用远程主机上;如果位于本地,则按照本地GPU模式执行操作;如果位于远程,则按照远程GPU模式执行操作;操作完成后返回执行结果。通过提供类图形API,经互联网调用远程GPU设备来实现分布式渲染或分布式并行计算,使得分布式GPU的调用更加贴近底层,更具有通用性,甚至可服务于高性能实时渲染。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种基于互联网的分布式显卡调用方法及装置。
背景技术
分布式计算和分布式渲染是目前热门的云计算技术。其中,分布式渲染主要服务于计算机图形CG行业,主要应用于有精细化渲染要求的场景,相关技术包括渲染农场等。渲染农场即分布式并行集群计算系统,其可以利用现有的中央处理单元CPU等资源构建超级计算机。然而,现有系统对于底层资源特别是远端资源的调用方式并不通用,需要能够整合本地及远端资源的便捷技术,以供用户和开发者使用。
本发明设计了一种统一的应用层接口,能够提供自由的远程或本地GPU的选择以及无差别的调用。该技术具有较强的通用性,而非像传统的渲染农场技术那样将渲染阶段拆分到集群中,开发者可以更精细地分配每块指令的需求,以达到最大的集群性能利用率。
发明内容
为解决上述问题,本发明的目的在于提供一种类图形应用程序编程接口API,通过互联网调用非本机远程图形处理单元GPU设备来实现分布式渲染或分布式并行计算的技术,使得分布式GPU资源的调用更加贴近底层,更具有通用性,甚至可服务于高性能实时渲染。
本发明的方案提供了统一的应用层接口,自由的远程/本地GPU选择以及无差别的调用。其中统一的应用程序接口为类图形API,所述类图形API是指该API与OpenGL等底层图形API的接口形式类似;可以直接地在编程中进行调用。
为实现上述目的,本发明提供了一种基于互联网的分布式显卡调用方法,包括:步骤1,在本地主机中关联所有可用远程主机;
步骤2,通过统一的应用程序接口调用本地主机或可用远程主机上的图形处理单元GPU进行操作;所述统一的应用程序接口是指在调用本地主机或可用远程主机上的GPU时所采用的接口格式一致;用户不需要知道所调用的是本地主机还是可用远程主机上的GPU;
步骤3,如果调用的是本地主机上的GPU,下层直接将该操作解释执行为本地的底层图形API的执行过程,如果调用的是可用远程主机上的GPU,则建立一个通信链路,通过互联网将指令和数据经该通信链路传递到可用远程主机,再通过可用远程主机上的服务将该操作解释执行为可用远程主机上的底层图形API的执行过程;
步骤4,操作执行完成后返回执行结果数据并释放相关资源。
作为本发明进一步的改进,所述通过统一的应用程序接口调用本地主机或可用远程主机上的图形处理单元GPU进行操作,包括:通过统一的应用程序接口创建逻辑设备,选择该逻辑设备所关联的可用GPU,该可用GPU位于本地或可用远程主机上。
作为本发明进一步的改进,其中通过互联网传递的数据所采用的数据结构与所调用的GPU所需要的数据结构相同,通过互联网传递的指令的指令格式与所调用的GPU所需要的指令格式相同。
作为本发明进一步的改进,其中通过互联网传递的数据是通过互联网传递的指令所需要的数据,所述数据和所述指令同步传输。其中只传输与当前指令相关的数据。
作为本发明进一步的改进,如果调用的是可用远程主机上的GPU,则通过本地的指令生成器生成该操作对应的计算或渲染指令,将所生成的指令通过网络/硬件传输设备传输到远程主机,由远程主机上的指令解释器进行解释;以及通过本地的协同工作栈将需要同步的数据通过网络/硬件传输设备传输到远程主机的协同工作栈,和/或通过本地的协同工作栈从远程主机的协同工作栈接收需要同步的数据,从而进行数据同步。
本发明还提供了一种基于互联网的分布式显卡调用装置,包括:
关联装置,在本地主机中关联所有可用远程主机;
接口调用装置,通过统一的应用程序接口调用本地主机或可用远程主机上的图形处理单元GPU进行操作;所述统一的应用程序接口是指在调用本地主机或可用远程主机上的GPU时所采用的接口格式一致;
执行装置,如果调用的是本地主机上的GPU,下层直接将该操作解释执行为本地的底层图形API的执行过程,如果调用的是可用远程主机上的GPU,则建立一个通信链路,通过互联网将指令和数据经该通信链路传递到可用远程主机,再通过可用远程主机上的服务将该操作解释执行为可用远程主机上的底层图形API的执行过程;
返回装置,操作执行完成后返回执行结果数据并释放相关资源。
作为本发明进一步的改进,所述通过统一的应用程序接口调用本地主机或可用远程主机上的图形处理单元GPU进行操作,包括:通过统一的应用程序接口创建逻辑设备,选择该逻辑设备所关联的可用GPU,该可用GPU位于本地或可用远程主机上。
作为本发明进一步的改进,其中通过互联网传递的数据所采用的数据结构与所调用的GPU所需要的数据结构相同,通过互联网传递的指令的指令格式与所调用的GPU所需要的指令格式相同。
作为本发明进一步的改进,其中通过互联网传递的数据是通过互联网传递的指令所需要的数据,所述数据和所述指令同步传输。其中只传输与当前指令相关的数据。其中当前指令包括渲染和/或计算指令。
作为本发明进一步的改进,提供一种计算机存储介质,介质中存储有若干指令,当处理器执行上述指令时执行本申请各实施例所述方法的全部或部分步骤。
本发明的有益效果为:
1、通过互联网调用其他设备上的GPU进行图形渲染或数学运算;
2、通过拆分指令,可利用多个不同设备的显卡完成图形渲染和数学运算。
3、轻量级的数据传输,只传输与当前渲染和计算相关的数据,不需要预埋数据;
4、本身是一个类图形API设计,传统应用可通过简单的适配使用本技术。
附图说明
图1为本发明实施例所述的基于互联网的分布式显卡调用方法的分布式调用示意图;
图2示出了本发明实施例所述的分布式显卡调用技术的层次结构;
图3为本发明实施例所述的分布式显卡调用方法的具体的结构流程。
具体实施方式
下面将结合本发明实施例中的附图,对发明所公开的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开所保护的范围。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明的描述中,所用术语仅用于说明目的,并非旨在限制本公开的范围。术语“包括”和/或“包含”用于指定元件、步骤、操作和/或组件的存在,但并不排除存在或添加一个或多个其他元件、步骤、操作和/或组件的情况。术语“第一”、“第二”等可能用于描述各种元件,不代表顺序,且不对这些元件起限定作用。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个及两个以上。这些术语仅用于区分一个元素和另一个元素。结合以下附图,这些和/或其他方面变得显而易见,并且,本领域普通技术人员更容易理解关于本发明实施例的说明。附图仅出于说明的目的用来描绘本公开实施例。本领域技术人员将很容易地从以下说明中认识到,在不背离本公开原理的情况下,可以采用本发明所示结构和方法的替代实施例。
本发明一个实施例中的一种基于互联网的分布式显卡调用方法的分布式调用示意图,如图1所示。本地进程与GPU集群单元之间通过互联网建立通信链路进行通信,本地进程通过所建立的通信链路传输渲染或计算所需的数据和指令,GPU集群单元通过所建立的通信链路返回渲染或计算的结果数据。
根据本发明的一个实施例,如图2所示,提供了分布式显卡调用技术的层次结构。其中,将类图形API提供给用户和开发者,由开发者部署远程设备,并在使用时通过设备关联层与部署好的远程设备相关联,即可通过类图形API直接调用远程显卡。其中,接口实现层完成对于类图形API的操作的相关解析,将解析后的操作传递给设备关联层,由设备关联层调用本地或者远程设备服务。
根据本发明的一个实施例,如图3所示,提供了分布式显卡调用方法的具体的结构流程。其中,一个实例(Instance)可以管理多个上下文(Context),每个上下文可以选择自己的工作设备是本地GPU还是远程GPU,如果是本地GPU,下层直接将操作解释执行为底层图形API的执行过程,如果是远程GPU模式,会建立一个用于通信的链路,来完成数据和指令的交换和参数的传递,再通过远程主机上的服务将操作解释执行为底层图形API的执行过程。
具体的流程如下:
1、首先,在集群中可被使用的设备中安装服务程序;其中集群中可被使用的设备作为可用远程主机;
2、在用户和开发者的本地主机中关联所有可用远程主机;
3、通过类图形API创建逻辑设备,选择该逻辑设备所关联的可用GPU资源,该GPU资源可位于本地或可用远程主机上;具体来说,每个主程序有且只有一个实例,主程序的实例创建和管理多个上下文;由上下文创建逻辑设备,在创建逻辑设备时通过上下文确定该逻辑设备是本地还是远程;上述创建过程可以调用对应的类图形API来完成;其中每个上下文管理一份独立的渲染资源。
4、通过类图形API像操作本地显卡一样操作远程显卡;其中接收到操作时,通过上下文确定对应的可用GPU资源是位于本地还是位于可用远程主机上;如果位于本地,则按照本地GPU模式执行操作,即直接按照底层图形API的执行过程调用本地的可用GPU资源,如果位于远程,则按照远程GPU模式执行操作;
其中按照远程GPU模式执行操作包括:建立通信链路,通过通信链路完成指令和/或数据交换,再通过远程主机上的服务将操作解释执行为底层图形API的执行过程;其中具体包括:通过本地的指令生成器生成工作/渲染指令操作所对应的指令,将所生成的指令通过网络/硬件传输设备传输到远程主机,由远程主机上的指令解释器进行解释;以及通过本地的协同工作栈将需要同步的数据通过网络/硬件传输设备传输到远程主机的协同工作栈,和/或通过本地的协同工作栈从远程主机的协同工作栈接收需要同步的数据,从而进行数据同步;以及由远程主机调用对应的底层图形API执行所需的操作。
其中,所述本地的指令生成器生成工作/渲染指令操作所对应的指令包括:从可使用的渲染和计算指令中选择渲染或计算指令,其中可使用的渲染和计算指令是预先确定的;通过创建和使用指令缓冲区,向指令缓冲区中写入所选择的渲染或计算指令;在指令写入完成后,指令以二进制流的形式存储在内存中;其中每个指令缓冲区的指令是不可拆分的,通过创建多个指令缓冲区的方式来拆分要使用的多个渲染或计算指令。以及所述数据交换包括:以格式和大小一致的内存区域的形式分别创建本地的协同工作栈和远程主机的协同工作栈;工作运行时,根据数据传递的方向来接收/发送需要同步的数据,从而保证两边的工作栈中内容一致;以这种方式来模拟执行命令/指令的同步,防止出错。
其中需要同步的数据所采用的数据结构与所调用的GPU所需要的数据结构相同,所生成的指令与所调用的GPU所需要的指令格式相同。
5、操作执行结束后返回相关执行结果数据并释放相关资源。其中按照远程GPU模式执行操作时,由远程主机通过互联网返回执行结果数据;其中执行结果数据可以通过协同工作栈返回,也可以通过其他已知传递形式返回。
采用本发明所述的实施例,具有以下特点:
1、更加底层,使得本发明的技术不再局限于某一应用领域,而是像OpenGL等底层图形API一样可以定制到与显卡使用相关的各个领域(如:游戏画面的实时渲染);2、更加轻量化,通过互联网进行分布式显卡调用时,通信的数据是符合GPU硬件的数据结构和与GPU指令一致的抽象指令,因而更加接近底层,降低了驱动的复杂度和整个系统的复杂度;3、本地GPU与远程GPU可自由选择,可以自由选择使用环境下的本地或远程GPU,且远程GPU与本地GPU的使用方式是一致的,不存在特殊性。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
此外,本领域普通技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本领域技术人员应理解,尽管已经参考示例性实施例描述了本公开,但是在不脱离本发明的范围的情况下,可进行各种改变并可用等同物替换其元件。另外,在不脱离本发明的实质范围的情况下,可进行许多修改以使特定情况或材料适应本发明的教导。因此,本发明不限于所公开的特定实施例,而是本发明将包括落入所附权利要求范围内的所有实施例。
Claims (3)
1.一种基于互联网的分布式显卡调用方法,其特征在于,包括:
步骤1,在集群中可被使用的设备中安装服务程序;其中集群中可被使用的设备作为可用远程主机;
步骤2,在用户和开发者的本地主机中关联所有可用远程主机;
步骤3,通过类图形API创建逻辑设备,选择该逻辑设备所关联的可用GPU资源,该GPU资源位于本地或可用远程主机上;每个主程序有且只有一个实例,所述实例创建和管理多个上下文;由所述上下文调用对应的类图形API来创建逻辑设备,在创建逻辑设备时通过上下文确定该逻辑设备是本地还是远程;其中每个上下文管理一份独立的渲染资源;
步骤4,通过类图形API操作远程显卡;其中接收到操作时,通过上下文确定对应的可用GPU资源是位于本地还是位于可用远程主机上;如果位于本地,则按照本地GPU模式执行操作,如果位于远程,则按照远程GPU模式执行操作;
其中按照远程GPU模式执行操作包括:建立通信链路,通过通信链路完成指令和/或数据交换,再通过远程主机上的服务将操作解释执行为底层图形API的执行过程;通过本地的指令生成器生成工作/渲染指令操作所对应的指令,将所生成的指令通过网络/硬件传输设备传输到远程主机,由远程主机上的指令解释器进行解释;以及通过本地的协同工作栈将需要同步的数据通过网络/硬件传输设备传输到远程主机的协同工作栈,和/或通过本地的协同工作栈从远程主机的协同工作栈接收需要同步的数据,从而进行数据同步;以及由远程主机调用对应的底层图形API执行所需的操作;
其中,所述本地的指令生成器生成工作/渲染指令操作所对应的指令包括:从可使用的渲染和计算指令中选择渲染或计算指令,其中可使用的渲染和计算指令是预先确定的;通过创建和使用指令缓冲区,向指令缓冲区中写入所选择的渲染或计算指令;在指令写入完成后,指令以二进制流的形式存储在内存中;其中每个指令缓冲区的指令是不可拆分的,通过创建多个指令缓冲区的方式来拆分要使用的多个渲染或计算指令;
其中所述数据交换包括:以格式和大小一致的内存区域的形式分别创建本地的协同工作栈和远程主机的协同工作栈;
步骤5,操作执行结束后返回相关执行结果数据并释放相关资源;其中按照远程GPU模式执行操作时,由远程主机通过互联网返回执行结果数据;其中执行结果数据通过协同工作栈返回。
2.根据权利要求1所述的基于互联网的分布式显卡调用方法,其特征在于:其中,需要同步的数据所采用的数据结构与所调用的GPU所需要的数据结构相同,所生成的指令与所调用的GPU所需要的指令格式相同。
3.根据权利要求2所述的基于互联网的分布式显卡调用方法,其特征在于:其中,类图形API依次通过接口实现层和设备关联层来调用本地设备或远程设备,且远程设备由开发者部署。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011487365.3A CN112416605B (zh) | 2020-12-16 | 2020-12-16 | 一种基于互联网的分布式显卡调用方法及装置 |
PCT/CN2021/071675 WO2022126815A1 (zh) | 2020-12-16 | 2021-01-14 | 一种基于互联网的分布式显卡调用方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011487365.3A CN112416605B (zh) | 2020-12-16 | 2020-12-16 | 一种基于互联网的分布式显卡调用方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112416605A CN112416605A (zh) | 2021-02-26 |
CN112416605B true CN112416605B (zh) | 2021-11-05 |
Family
ID=74775878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011487365.3A Active CN112416605B (zh) | 2020-12-16 | 2020-12-16 | 一种基于互联网的分布式显卡调用方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112416605B (zh) |
WO (1) | WO2022126815A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116909824B (zh) * | 2023-09-04 | 2023-11-17 | 北京麟卓信息科技有限公司 | 一种基于gpu状态跟踪的图形标准符合性测试方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8479214B2 (en) * | 2008-09-30 | 2013-07-02 | Microsoft Corporation | Hardware throughput saturation detection |
US9304662B2 (en) * | 2011-08-25 | 2016-04-05 | Vmware, Inc. | User interface virtualization techniques |
EP3701489B1 (en) * | 2018-04-10 | 2022-10-26 | Google LLC | Memory management in gaming rendering |
CN109582425B (zh) * | 2018-12-04 | 2020-04-14 | 中山大学 | 一种基于云端与终端gpu融合的gpu服务重定向系统及方法 |
CN112057851A (zh) * | 2020-09-02 | 2020-12-11 | 北京蔚领时代科技有限公司 | 一种基于多显卡的单帧画面实时渲染方法 |
CN112057852B (zh) * | 2020-09-02 | 2021-07-13 | 北京蔚领时代科技有限公司 | 一种基于多显卡的游戏画面渲染方法和系统 |
-
2020
- 2020-12-16 CN CN202011487365.3A patent/CN112416605B/zh active Active
-
2021
- 2021-01-14 WO PCT/CN2021/071675 patent/WO2022126815A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN112416605A (zh) | 2021-02-26 |
WO2022126815A1 (zh) | 2022-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11895184B2 (en) | Peer to peer remote application discovery | |
US7937452B2 (en) | Framework for rendering plug-ins in remote access services | |
US8638336B2 (en) | Methods and systems for remoting three dimensional graphical data | |
CN102707986B (zh) | 子分区与父分区之间的共享存储器 | |
US9665921B2 (en) | Adaptive OpenGL 3D graphics in virtual desktop infrastructure | |
US8924985B2 (en) | Network based real-time virtual reality input/output system and method for heterogeneous environment | |
CN105122210B (zh) | Gpu虚拟化的实现方法及相关装置和系统 | |
CN101896940B (zh) | 用于硬件资源的动态配置的框架 | |
JP7101780B2 (ja) | App遠隔制御方法及び関連するデバイス | |
CN102239483B (zh) | 命令遥控 | |
US20100289804A1 (en) | System, mechanism, and apparatus for a customizable and extensible distributed rendering api | |
CN111818120A (zh) | 端云用户交互方法、系统及相应设备、存储介质 | |
EP2807555B1 (en) | Para-virtualized asymmetric gpu processors | |
US20100124992A1 (en) | System and method for production of multiuser network game | |
CN111158866A (zh) | 一种引擎系统及其渲染方法 | |
JP2006190281A (ja) | グラフィックサブシステムを仮想化するシステムおよび方法 | |
US9542715B2 (en) | Memory space mapping techniques for server based graphics processing | |
US20090083753A1 (en) | Dynamic thread generation and management for improved computer program performance | |
US9805439B2 (en) | Memory space mapping techniques for server based graphics processing | |
WO2022048677A1 (zh) | 基于云手机的vr应用设计方法及系统 | |
US9041719B2 (en) | Method and system for transparently directing graphics processing to a graphical processing unit (GPU) of a multi-GPU system | |
CN112416605B (zh) | 一种基于互联网的分布式显卡调用方法及装置 | |
US8390631B2 (en) | Synchronizing queued data access between multiple GPU rendering contexts | |
RU2705009C2 (ru) | Конвейер рендеринга рукописного ввода с низким временем задержки | |
CN108595284B (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 |