[go: up one dir, main page]

CN115361298B - A Service Governance Method Based on Data Subscription Distribution Network - Google Patents

A Service Governance Method Based on Data Subscription Distribution Network Download PDF

Info

Publication number
CN115361298B
CN115361298B CN202210838004.1A CN202210838004A CN115361298B CN 115361298 B CN115361298 B CN 115361298B CN 202210838004 A CN202210838004 A CN 202210838004A CN 115361298 B CN115361298 B CN 115361298B
Authority
CN
China
Prior art keywords
service
network
layer
interface
simulation
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
Application number
CN202210838004.1A
Other languages
Chinese (zh)
Other versions
CN115361298A (en
Inventor
张�杰
李荣鑫
丁争
王奥辉
杨丙泉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Luoyang Institute of Electro Optical Equipment AVIC
Original Assignee
Luoyang Institute of Electro Optical Equipment AVIC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Luoyang Institute of Electro Optical Equipment AVIC filed Critical Luoyang Institute of Electro Optical Equipment AVIC
Priority to CN202210838004.1A priority Critical patent/CN115361298B/en
Publication of CN115361298A publication Critical patent/CN115361298A/en
Application granted granted Critical
Publication of CN115361298B publication Critical patent/CN115361298B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention discloses a service treatment method based on a data subscription distribution network, which designs a three-layer service treatment architecture of a configuration layer, a proxy layer and a service layer by analyzing a DDS communication mechanism and a communication mode among simulation experiment network services, and provides a simulation network service configuration file, a network proxy module based on the DDS and a unified service interface protocol, thereby establishing a simulation experiment environment with low time delay, high availability and multi-language support. The invention can be used for assisting the simulation experiment construction of the embedded system, and greatly improves the quality and efficiency of the simulation experiment environment construction.

Description

一种基于数据订阅分发网络的服务治理方法A Service Governance Method Based on Data Subscription Distribution Network

技术领域technical field

本发明属于计算机网络技术领域,具体涉及一种基于数据订阅分发网络的服务治理方法。The invention belongs to the technical field of computer networks, and in particular relates to a service management method based on a data subscription distribution network.

背景技术Background technique

传统航电系统嵌入式软件往往是大型复杂的单一业务软件,各软件间通过总线进行通信。在进行仿真实验时,构建仿真实验环境比较困难。同时,软件对于语言和架构的依赖性强,替换成本很高,仿真的难度和复杂度很大,很难在统一环境下实现各个软件的集成配置。The embedded software of traditional avionics systems is often a large and complex single business software, and each software communicates through the bus. When conducting simulation experiments, it is difficult to construct a simulation experiment environment. At the same time, the software is highly dependent on language and architecture, the cost of replacement is high, and the difficulty and complexity of simulation are very high. It is difficult to realize the integrated configuration of various software in a unified environment.

不同的仿真软件部署在不同的主机上,相互之间通过以太网转化为总线数据进行通信,难以保证信息的可靠调用传输,极易造成服务的调用失败。如何在仿真环境动态多变、通信带宽和存储等资源受限的情况下,实现仿真环境跨语言调用,高效快捷实现服务间的通信等是需要解决的难题。Different simulation software is deployed on different hosts, and communicates with each other through Ethernet into bus data. It is difficult to ensure reliable invocation and transmission of information, and it is easy to cause service invocation failure. How to realize the cross-language call of the simulation environment and realize the communication between services efficiently and quickly when the simulation environment is dynamic and changeable, and the resources such as communication bandwidth and storage are limited are difficult problems that need to be solved.

发明内容Contents of the invention

为了克服现有技术的不足,本发明提供了一种基于数据订阅分发网络的服务治理方法,通过分析DDS通信机制和仿真实验网络服务间通讯方式,设计出配置层、代理层和服务层三层服务治理架构,提出仿真网络服务配置文件、基于DDS的网络代理模块和统一服务接口协议,从而建立低时延、高可用、多语言支持的仿真实验环境。本发明可用于辅助嵌入式系统仿真实验构建,极大地提高了仿真实验环境构建的质量和效率。In order to overcome the deficiencies in the prior art, the present invention provides a service management method based on data subscription distribution network, and designs three layers of configuration layer, proxy layer and service layer by analyzing the DDS communication mechanism and the communication mode between network services in the simulation experiment The service governance framework proposes a simulation network service configuration file, a DDS-based network proxy module and a unified service interface protocol, so as to establish a simulation experiment environment with low latency, high availability, and multi-language support. The invention can be used to assist in the construction of the simulation experiment of the embedded system, and greatly improves the quality and efficiency of the simulation experiment environment construction.

本发明解决其技术问题所采用的技术方案包括如下步骤:The technical solution adopted by the present invention to solve its technical problems comprises the steps:

步骤1:定义仿真实验网络服务治理的三层架构,包括配置层、代理层和服务层三个层次;Step 1: Define the three-layer architecture of the network service governance of the simulation experiment, including three layers: configuration layer, proxy layer and service layer;

步骤2:定义仿真网络服务配置文件;Step 2: Define the simulated network service configuration file;

仿真网络服务配置文件采用XML格式描述整个仿真网络服务的信息,包括服务的名称、接口、接口数据格式、以及服务间的调用关系;The simulated network service configuration file uses XML format to describe the information of the entire simulated network service, including the service name, interface, interface data format, and the calling relationship between services;

步骤3:定义基于DDS的网络代理模块;Step 3: define a DDS-based network proxy module;

网络代理模块运行在代理层,网络代理模块以DDS为基础实现服务间的通信,通过封装为统一的代理模块,实现与服务层的解耦,使服务层仅聚焦于自身的业务逻辑;The network proxy module runs on the proxy layer. The network proxy module realizes the communication between services based on DDS. By encapsulating it into a unified proxy module, it realizes the decoupling from the service layer, so that the service layer only focuses on its own business logic;

步骤4:定义仿真软件统一服务接口协议;Step 4: Define the unified service interface protocol of the simulation software;

仿真软件统一服务接口协议提供统一标准的业务接口和服务名称接口;业务接口作为服务间相互调用的接口,用于网络代理模块订阅分发的主题;服务名称接口用于接口模块获取服务名称,用于向配置层获取服务信息;The simulation software unified service interface protocol provides a unified standard business interface and service name interface; the business interface is used as an interface for calling each other between services, and is used for the network agent module to subscribe to and distribute topics; the service name interface is used for the interface module to obtain the service name for Obtain service information from the configuration layer;

步骤5:将单体架构应用划分为一组服务,每个服务根据其负责的具体业务职责提炼为单一的业务功能;每一个服务实例都会有一个代理与之配对并部署在同一主机或者隔离的空间,服务之间的通信都是通过网络代理模块来进行;Step 5: Divide the monolithic architecture application into a group of services, and each service is refined into a single business function according to its specific business responsibilities; each service instance will have an agent paired with it and deployed on the same host or isolated The communication between space and service is carried out through the network proxy module;

步骤6:配置层读取仿真实验网络服务配置文件;Step 6: The configuration layer reads the simulation experiment network service configuration file;

步骤7:网络代理模块通过HTTP向服务请求,获取与之对应的服务名称;通过服务名称向配置层请求相应的服务配置文件,获取配套服务的接口、接口数据格式以及需要调用的其它服务接口;Step 7: The network proxy module requests the service through HTTP to obtain the corresponding service name; requests the corresponding service configuration file from the configuration layer through the service name, and obtains the interface of the supporting service, the interface data format, and other service interfaces that need to be called;

步骤8:网络代理模块根据服务配置文件,以获取的服务接口为主题,通过DDS订阅分发模式与部署在其他主机或者隔离空间内的代理模块进行通信。Step 8: According to the service configuration file, the network proxy module communicates with the proxy modules deployed in other hosts or isolated spaces through the DDS subscription distribution mode with the obtained service interface as the subject.

优选地,所述服务能够采用任何语言和工具来实现。Preferably, the service can be implemented using any language and tools.

本发明的有益效果如下:The beneficial effects of the present invention are as follows:

本发明解决了仿真环境构建过程中软件业务复杂度高、跨语言调用难、软件间通信时延高等问题。可以对仿真软件实现解耦,降低跨语言调用难度,降低软件间通信时延,极大地提高了仿真实验环境构建的质量和效率。The invention solves the problems of high software business complexity, difficult cross-language calling, high communication time delay between software and the like in the simulation environment construction process. It can decouple the simulation software, reduce the difficulty of cross-language calling, reduce the communication delay between software, and greatly improve the quality and efficiency of the simulation experiment environment construction.

附图说明Description of drawings

图1为本发明仿真实验网络服务治理的三层架构示意图。FIG. 1 is a schematic diagram of a three-layer architecture of the simulation experiment network service management of the present invention.

具体实施方式Detailed ways

下面结合附图和实施例对本发明进一步说明。The present invention will be further described below in conjunction with the accompanying drawings and embodiments.

本发明的目的是:提供一种基于数据分发服务对嵌入式系统仿真实验网络服务治理的通用方法,形成嵌入式系统仿真服务治理的规范,使得仿真实验环境搭建的复杂度降低,降低各仿真软件间的通信时延,提升仿真实验的效率。The purpose of the present invention is to provide a general method for managing embedded system simulation experiment network services based on data distribution services, form a standard for embedded system simulation service governance, reduce the complexity of setting up the simulation experiment environment, and reduce the cost of each simulation software. Inter-communication delay, improve the efficiency of simulation experiments.

本发明提供一种降低仿真难度的服务治理方法,用于辅助嵌入式系统仿真环境的构建。The invention provides a service management method for reducing simulation difficulty, which is used to assist the construction of an embedded system simulation environment.

一种基于数据订阅分发网络的服务治理方法,包括如下步骤:A service governance method based on a data subscription distribution network, comprising the following steps:

步骤1:定义仿真实验网络服务治理的三层架构,包括配置层、代理层和服务层三个层次;Step 1: Define the three-layer architecture of the network service governance of the simulation experiment, including three layers: configuration layer, proxy layer and service layer;

步骤2:定义仿真网络服务配置文件;Step 2: Define the simulated network service configuration file;

仿真网络服务配置文件采用XML格式描述整个仿真网络服务的信息,包括服务的名称、接口、接口数据格式、以及服务间的调用关系;The simulated network service configuration file uses XML format to describe the information of the entire simulated network service, including the service name, interface, interface data format, and the calling relationship between services;

步骤3:定义基于DDS的网络代理模块;Step 3: define a DDS-based network agent module;

网络代理模块运行在代理层,网络代理模块以DDS为基础实现服务间的通信,通过封装为统一的代理模块,实现与服务层的解耦,使服务层仅聚焦于自身的业务逻辑;The network proxy module runs on the proxy layer. The network proxy module realizes the communication between services based on DDS. By encapsulating it into a unified proxy module, it realizes the decoupling from the service layer, so that the service layer only focuses on its own business logic;

步骤4:定义仿真软件统一服务接口协议;Step 4: Define the unified service interface protocol of the simulation software;

仿真软件服务聚焦于单一的业务功能,提供统一标准的业务接口和服务名称接口。业务接口作为服务间相互调用的接口,接口名称将用于网络代理模块订阅分发的主题,例如A-Start表示服务A的启动接口,代理模块DDS通过A-Start主题,将接口数据分发出去。服务名称接口用于接口模块获取服务名称,以用来向配置层获取服务信息。The simulation software service focuses on a single business function and provides a unified standard business interface and service name interface. The business interface is used as the interface for calling each other between services. The interface name will be used for the topics that the network proxy module subscribes to and distributes. For example, A-Start represents the startup interface of service A, and the proxy module DDS distributes the interface data through the A-Start topic. The service name interface is used for the interface module to obtain the service name, which is used to obtain service information from the configuration layer.

步骤5:服务治理架构将大型复杂的单体架构应用划分为一组微小的服务,每个服务根据其负责的具体业务职责提炼为单一的业务功能。对于一个具体的服务来说可以采用任何语言和工具来实现,每一个服务实例都会有一个代理与之配对并部署在同一主机或者隔离的空间,服务之间的通信都是通过代理模块来进行。Step 5: The service governance architecture divides large and complex single-architecture applications into a group of tiny services, and each service is refined into a single business function according to its specific business responsibilities. For a specific service, any language and tool can be used to implement it. Each service instance will have an agent paired with it and deployed on the same host or in an isolated space. The communication between services is performed through the agent module.

步骤6:配置层读取仿真实验网络服务配置文件;Step 6: The configuration layer reads the simulation experiment network service configuration file;

步骤7:网络代理模块通过HTTP向服务请求,获取与之对应的服务名称;通过服务名称向配置层请求相应的服务配置文件,获取配套服务的接口、接口数据格式以及需要调用的其它服务接口;Step 7: The network proxy module requests the service through HTTP to obtain the corresponding service name; requests the corresponding service configuration file from the configuration layer through the service name, and obtains the interface of the supporting service, the interface data format, and other service interfaces that need to be called;

步骤8:网络代理模块根据服务配置文件,以获取的服务接口为主题,通过DDS订阅分发模式与部署在其他主机或者隔离空间内的代理模块进行通信。Step 8: According to the service configuration file, the network proxy module communicates with the proxy modules deployed in other hosts or isolated spaces through the DDS subscription distribution mode with the obtained service interface as the subject.

具体实施例:Specific examples:

本发明的技术方案是:通过分析DDS通信机制和仿真实验网络服务间通讯方式,设计出配置层、代理层和服务层三层服务治理架构,如图1所示,提出仿真网络服务配置文件、基于DDS的网络代理模块和统一服务接口协议,从而建立低时延、高可用、多语言支持的仿真实验环境。The technical solution of the present invention is: by analyzing the DDS communication mechanism and the communication mode between the network services of the simulation experiment, a three-layer service management framework of the configuration layer, the agent layer and the service layer is designed, as shown in Figure 1, and the simulation network service configuration file, Based on the DDS network agent module and unified service interface protocol, a simulation experiment environment with low latency, high availability and multi-language support is established.

本发明的具体实施方式如下:The specific embodiment of the present invention is as follows:

1)选择一个仿真实验软件,分析仿真实验软件的业务范围,按照业务范围将其拆分为多个独立的服务;1) Select a simulation experiment software, analyze the business scope of the simulation experiment software, and split it into multiple independent services according to the business scope;

2)按照统一服务接口协议对划分的服务进行封装,暴露出服务功能接口,并提供服务名接口,返回服务名称;2) Encapsulate the divided services according to the unified service interface protocol, expose the service function interface, provide the service name interface, and return the service name;

3)基于DDS封装代理模块,主要实现客户端创建、QoS设置、查询发布或订阅者、发送和接收数据、请求配置文件、请求服务名称等接口;3) Based on the DDS encapsulation proxy module, it mainly implements interfaces such as client creation, QoS setting, query publishing or subscribers, sending and receiving data, requesting configuration files, and requesting service names;

4)编写服务配置总文件,将所有服务的名称、接口、接口数据格式、以及服务间的调用关系写入到XML文件;4) Write the overall service configuration file, and write the name, interface, interface data format, and call relationship between services into the XML file of all services;

5)将每一个服务和代理模块部署到独立的主机,并通过网线构建局域网;5) Deploy each service and agent module to an independent host, and build a local area network through a network cable;

6)测试局域网内各个主机间的网络通信情况,并测试DDS通信情况;6) Test the network communication between each host in the LAN, and test the DDS communication;

7)运行配置中心节点和部署与各主机上的代理模块,检查各代理模块是否获取到相应的服务配置文件。7) Run the configuration center node and deploy the agent modules on each host, and check whether each agent module has obtained the corresponding service configuration file.

8)运行服务软件,并查看服务间的调用输出和调用时间。8) Run the service software, and check the call output and call time between services.

Claims (2)

1. A service management method based on a data subscription distribution network is characterized by comprising the following steps:
step 1: defining a three-layer architecture of simulation experiment network service management, wherein the three layers comprise a configuration layer, a proxy layer and a service layer;
step 2: defining a simulation network service configuration file;
the simulation network service configuration file adopts XML format to describe the information of the whole simulation network service, including the name of the service, the interface data format and the calling relation between the services;
step 3: defining a network proxy module based on DDS;
the network proxy module operates in the proxy layer, the network proxy module realizes communication between services based on DDS, and the network proxy module is packaged into a unified proxy module to realize decoupling with the service layer, so that the service layer is only focused on own business logic;
step 4: defining a unified service interface protocol of simulation software;
the simulation software unified service interface protocol provides a unified service interface and a service name interface; the service interface is used as an interface for calling each other between services and is used for subscribing the distributed theme by the network proxy module; the service name interface is used for acquiring a service name from the interface module and acquiring service information from the configuration layer;
step 5: dividing the single architecture application into a group of services, and refining each service into a single service function according to the specific service responsibility of the service; each service instance is provided with a proxy matched with the service instance and deployed in the same host or an isolated space, and communication between services is carried out through a network proxy module;
step 6: the configuration layer reads a simulation experiment network service configuration file;
step 7: the network proxy module acquires a corresponding service name from the service request through HTTP; requesting a corresponding service configuration file from a configuration layer through a service name, and acquiring an interface of a matched service, an interface data format and other service interfaces needing to be called;
step 8: and the network proxy module communicates with proxy modules deployed in other hosts or isolated spaces through a DDS subscription distribution mode by taking the acquired service interface as a theme according to the service configuration file.
2. A method of managing services based on a data subscription distribution network according to claim 1, wherein said services can be implemented in any language and tool.
CN202210838004.1A 2022-07-16 2022-07-16 A Service Governance Method Based on Data Subscription Distribution Network Active CN115361298B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210838004.1A CN115361298B (en) 2022-07-16 2022-07-16 A Service Governance Method Based on Data Subscription Distribution Network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210838004.1A CN115361298B (en) 2022-07-16 2022-07-16 A Service Governance Method Based on Data Subscription Distribution Network

Publications (2)

Publication Number Publication Date
CN115361298A CN115361298A (en) 2022-11-18
CN115361298B true CN115361298B (en) 2023-06-20

Family

ID=84032207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210838004.1A Active CN115361298B (en) 2022-07-16 2022-07-16 A Service Governance Method Based on Data Subscription Distribution Network

Country Status (1)

Country Link
CN (1) CN115361298B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119182675B (en) * 2024-08-26 2025-07-11 北京蓝天航空科技股份有限公司 Simulator networking method, system, device and medium based on data distribution service

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7555421B1 (en) * 2005-10-28 2009-06-30 At&T Corp. Device emulation for testing data network configurations
CN107678946A (en) * 2017-09-12 2018-02-09 中国航空工业集团公司洛阳电光设备研究所 A kind of airborne embedded software test environment construction method based on model
CN110879769A (en) * 2019-10-16 2020-03-13 中国航空工业集团公司洛阳电光设备研究所 A method for constructing embedded system test environment based on dynamic configurable framework
AU2020100425A4 (en) * 2020-03-19 2020-04-23 Julianne Mary Cripps Clark SafeEShare - Devices assemble data records, from private and/or possibly sensitive sources, of type or types that may be useful for sharing in varying degrees with other interests that the owner hopefully recognizes operate with interests different and possibly even in conflict with his/her own.
CN111258707A (en) * 2020-01-08 2020-06-09 北京仿真中心 Distributed simulation method and system based on DDS service encapsulation
CN112910636A (en) * 2021-01-11 2021-06-04 国家电网有限公司 Quantum key distribution Internet of things publishing and subscribing system based on SDN

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3617406B2 (en) * 2000-03-30 2005-02-02 日本電気株式会社 Quality assurance type communication service providing method and service providing method corresponding to multi-domain and service mediating apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7555421B1 (en) * 2005-10-28 2009-06-30 At&T Corp. Device emulation for testing data network configurations
CN107678946A (en) * 2017-09-12 2018-02-09 中国航空工业集团公司洛阳电光设备研究所 A kind of airborne embedded software test environment construction method based on model
CN110879769A (en) * 2019-10-16 2020-03-13 中国航空工业集团公司洛阳电光设备研究所 A method for constructing embedded system test environment based on dynamic configurable framework
CN111258707A (en) * 2020-01-08 2020-06-09 北京仿真中心 Distributed simulation method and system based on DDS service encapsulation
AU2020100425A4 (en) * 2020-03-19 2020-04-23 Julianne Mary Cripps Clark SafeEShare - Devices assemble data records, from private and/or possibly sensitive sources, of type or types that may be useful for sharing in varying degrees with other interests that the owner hopefully recognizes operate with interests different and possibly even in conflict with his/her own.
CN112910636A (en) * 2021-01-11 2021-06-04 国家电网有限公司 Quantum key distribution Internet of things publishing and subscribing system based on SDN

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PECoDiM: An Agent Based Framework for Autonomic Web Services;Walid Chainbi;《IEEE》;全文 *
基于网络模型的数据抽象方法研究与应用;高锦;《CNKI硕士学位论文》;全文 *

Also Published As

Publication number Publication date
CN115361298A (en) 2022-11-18

Similar Documents

Publication Publication Date Title
CN106850788B (en) Integration framework and integration method for multi-source heterogeneous geographic information resources
CN110262902B (en) Information processing method and system, medium, and computing device
CN114884956B (en) Implementation method, device and multi-cluster architecture system of multi-cluster architecture
CN110413418A (en) Cache synchronization device and method, cache synchronization system, electronic equipment
CN110308986A (en) The method of distributed training data communication on container cloud based on Optimized Operation
CN112256246A (en) Micro-service integration framework for supporting cross-language calling in power system
CN115361298B (en) A Service Governance Method Based on Data Subscription Distribution Network
CN110011984B (en) REST and RPC-based distributed cluster system and method
CN114500646B (en) Decentralizing ESB cloud platform system and service calling method thereof
CN116069481A (en) Container scheduling system and scheduling method for sharing GPU resources
CN120066624B (en) Application calling method, computer device and storage medium
US12368774B2 (en) Data plane reduction for eventing components
CN113301088B (en) Message processing method, device and system, electronic equipment and readable storage medium
CN113157796B (en) Data acquisition display system based on micro-service
CN114449013A (en) Interaction-compatible hospital architecture for Internet hospitals
CN103107903B (en) A kind of resource data shares method and resource data shared device
CN117201571A (en) Cross-service calling method and device, electronic equipment and storage medium
CN107196800B (en) Overtime hierarchical control method based on configuration
CN115834701A (en) A K8S application environment management method, system and storage medium
CN117596294A (en) Data-centric publishing and subscribing middleware and method based on PCIE bus
CN114594935A (en) SOA service application development framework and method based on IDL compiler and DDS-RPC framework
US12452940B2 (en) Apparatus and method for configuring data communication between robot components in different networks
CN105376273A (en) Standard cloud service interface and standard cloud service method
Luo et al. Study on computing grid distributed middleware and its application
CN112702415B (en) Method for converting Kafka long connection consumption into service

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