CN107911299B - 一种基于深度q学习的路由规划方法 - Google Patents
一种基于深度q学习的路由规划方法 Download PDFInfo
- Publication number
- CN107911299B CN107911299B CN201711002456.1A CN201711002456A CN107911299B CN 107911299 B CN107911299 B CN 107911299B CN 201711002456 A CN201711002456 A CN 201711002456A CN 107911299 B CN107911299 B CN 107911299B
- Authority
- CN
- China
- Prior art keywords
- state
- value
- neural network
- learning
- training
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/08—Learning-based routing, e.g. using neural networks or artificial intelligence
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种基于深度Q学习的路由规划方法,该方法为:根据网络拓扑生成奖励值矩阵,使用一个训练好的深度神经网络模型代替普通Q学习的Q值表进行路由规划。本发明利用了神经网络抽象化高层数据、自动学习的特点,相比于传统的Dijkstra算法,在大规模应用部署时能更快速地规划出最短路径。
Description
技术领域
本发明涉及网络通信技术和强化学习领域,具体涉及一种基于深度Q学习的路由规划方法。
背景技术
近年来,社交网络、移动互联网和物联网等领域正在快速发展,大数据正逐步成为当前关注的焦点。海量数据也对网络服务质量提出了更高的要求。大数据依赖于事先定义好的计算模式,在集中化的管理架构下操作,通常存在着非常大量的数据传输以及聚合和划分的操作。大数据每次聚合划分操作都将会导致服务器之间有海量数据进行交换,从而需要极高网络服务质量支持。传统的网络难以满足云计算和大数据等相关业务所需要的资源需求。正是在上述背景下,SDN概念被大家逐渐广泛接受和认可。
SDN的概念由美国斯坦福大学Clean Slate课题组第一次提出。SDN旨在实现网络设备的数据层和控制层的彻底分离。数据层面只关注数据的传输,控制层面则关注网络的管理。随着控制层面需要管理的功能的逐步增多,学术界提出了将控制层管理系统化,抽象化。大致总结一下,SDN的精髓主要是把控制层面管理的复杂度以三种方式抽象出来:
第一种是分布状态抽象。一个网络当中的多个状态主要是分散在各个路由器上面,路由器物理层面上的分散导致了处理上的困难。于是,分布状态抽象所做的工作就是将分散在各处的路由器上大量复杂状态抽象出来,然后向外部提供一个集中管理这些复杂状态的方式。这样其他部分就不需要一个一个路由器地去处理路由器查询问题,它们处理的是一个集中化的任务,这便是分布状态抽象。
第二种是网络虚拟化。软件定义网络的目标就是希望网络管理员可以通过开放的编程接口来表达自己管理网络的实际需求。他们只要关心自己的网络需求,而不需要去关注这些需求具体是如何被实现的。网络控制程序不需要看到整个网络的复杂拓扑,它看到的网络只要复杂到能够实现它的需求就可以。即你看到的网络是一个虚拟的网络,这便是网络虚拟化。
第三种是转发的抽象。SDN不仅仅要管理路由器上的状态,同时也需要向路由器发送相应的处理指令。各路由器由于硬件上的差异,路由器设置的细节也不尽相同。转发抽象要完成的工作就是忽略硬件上的差异,给外界抽象出一个统一的对所有路由器进行操作的界面。
要实现上述功能,通信协议非常关键,现在SDN中比较流行的是OpenFlow,OpenFLow在得到了OVS(Open Virtual Switch)的支持后获得了广泛的应用。OpenFlow通过多级流表实现对SDN中数据流的控制。
目前主流的SDN控制器如POX、FloodLight等均提供了完成数据包转发的模块,采用的也基本都是Dijkstra最短路径算法。所有数据包的转发如果都仅仅依赖于最短路径算法将会带来一个严重的问题,所有数据流很容易因为选择同一条转发路径而聚集到一起,这极大降低了网络率用率,同时也很容易导致网络拥塞。因此,需要一个更好的路由策略来管理SDN网络的路由。控制器集中式的管理模式,网络数据流量的逐步增加,急需一种新的SDN网络路由策略来保障网络的服务质量。新的网络路由策略不仅仅要考虑到面对海量数据的时候可以采用最短路径算法找到一条最短转发路径。同时还需要考虑到网络的可用带宽、时延和延迟抖动等其他链路因素,综合考虑网络各种因素的影响,给数据包选择出一条综合最优的路由策略。
强化学习是多门学科多个领域交叉结合的产物,最早可以追溯到巴普洛夫的条件反射实验,但直到上世纪九十年代才逐渐被人们应用于自动控制、机器学习等领域。这主要得益于数学基础得到的突破性的进展,强化学习逐渐成为人工智能领域的核心技术之一,对强化学习的研究和应用也逐渐成为人们研究的热点。强化学习的本质是一个“decisionmaking”问题,即智能体自行做出一个最优抉择。强化学习的基本原理是:如果一个智能体的某个行为策略导致环境给出一个正的奖赏(强化信号),那么智能体之后再次产生这个行为策略的趋势便会增强。智能体的目标是在每个离散状态发现最优策略以获得最大期望奖励。现在常用的强化学习算法有TD(Temporal Difference)算法、Q学习算法、Sarsa算法等。
深度Q学习(DeepQLearning,DQN),是第一个成功地将深度学习和强化学习结合起来的模型,它由Google的DeepMind首先提出。DQN算法的主要做法是通过经验回放(Experience Replay),将智能体探索环境得到的数据存储起来,之后随机采样,得到样本训练神经网络,更新神经网络中的参数。
Experience Replay的动机是:1)深度神经网络作为有监督学习模型,要求数据满足独立同分布;2)Q学习算法得到的样本前后是有关系的。为了打破数据之间的关联性,Experience Replay通过存储-再采样的方法将数据前后的关联性打破了,使得用于训练的样本更加具有科学性。
针对日益扩大的网络流量,为了解决现有路由规划方法速度慢、易拥塞等问题,研究设计一种更加合理的SDN路由策略是保证SDN网络架构下业务部署和最优化利用网络链路的前提。
发明内容
本发明为了克服Dijkstra算法的不足,提出了一种基于深度Q学习的路由规划方法。该方法利用了神经网络抽象化高层数据、自动学习的特点,相比于传统的Dijkstra算法,在大规模应用部署时能更快速地规划出最佳路径。
本发明解决技术问题所采用的技术方案如下:一种基于深度Q学习的路由规划方法,该方法为:根据网络拓扑生成奖励值矩阵,使用一个训练好的深度神经网络模型代替普通Q学习的Q值表进行路由规划。
进一步的,该方法具体为:
对一个已训练完成的三层BP神经网络模型,输入当前状态s,输出当前状态可以执行的动作的q值表Q(s,all actions),根据q值表得到下一步状态s',然后,再将状态s'输入BP神经网络,重复上述操作,最终到达终点d。
进一步的,所述已训练完成的三层BP神经网络模型通过以下方法训练得到:
(1)训练样本m,单个样本是一个六元组{s,a,r,s',d,done},其中s代表当前状态,a代表执行动作,r代表奖励值,s'代表下一步状态,d代表终点状态,done代表是否结束,将每个样本中的s'作为一个三层BP神经网络(激活函数Relu,输入节点的数目等于网络节点的个数,输出节点数目等于动作的数目)的输入值,进行批量处理,得到s'状态下选择每个行为的q值组成的表Q(s',all actions);
(2)根据公式计算出q值对应的target_q值,公式为target_q=r+γ×Max[Q(s',allactions)],g为经验折损率;
(3)使用q与target_q计算损失函数loss=(target_q-q)2,优化神经网络参数,训练该三层BP神经网络模型。
进一步的,所述训练样本m由深度Q学习的经验回放得到,具体如下:
(1)随机初始化一个起点so和终点d,初始化经验池M,并且设置观察值(样本训练之前观察的次数);
(2)自定义评价函数R,可以对状态和动作进行评价,给出奖励值r;
(3)当前状态s,初始值等于so,根据随机策略选择一个行为a;
(4)执行该行为a,得到对应的奖励值r,进入状态s',判断是否结束done,即s'是否为终点d;
(5)将前三步所涉及的相关参数s、a、r、s'、d、done作为一条记录保存到经验池M中;
(6)判断经验池中的数据是否足够,即经验池里的数据数量是否超过设置的观察值,如果不够,判断这次查找过程是否结束,如果过程未结束,则当前状态s更新为状态s',反之,过程结束,将当前状态s随机置为某一状态;回到步骤(3);如果数据足够的话,转到第(7)步;
(7)在经验池M里随机抽取出一部分数据作为训练样本m。
与现有技术相比,本发明的有益效果如下:在SDN中还没有一种固定的路由算法,基于SDN已知整体网络拓扑的情况下,控制器根据训练好的BP神经网络模型,更快速地找到两节点间的最短路径,且更适用于交换机数目众多的大型网络环境,该方法不必每次遍历网络拓扑结构,能够大大减少找路时间。
附图说明
图1为总体结构图;
图2为三层BP神经网络模型图;
图3为样本获取流程图。
具体实施方式
下面结合附图详细说明本发明。
针对现有的SDN控制均采用Dijkstra算法作为最短路由查找算法,本发明尝试将强化学习应用到SDN的选路当中。利用控制器拥有的全局网络视图,直接将网络拓扑节点的连接关系用于Q矩阵的训练。当状态数量过多的时候,普通的Q矩阵将难以满足训练的要求,神经网络恰好可以用来解决这个问题。利用神经网络来替代普通Q学习算法中的Q矩阵,训练的结果将是一个逼近函数。
本发明提供的一种基于深度Q学习的路由规划方法利用了神经网络抽象化高层数据、自动学习的特点,相比于传统的Dijkstra算法,在大规模应用部署时能更快速地规划出最佳路径。该方法为:根据网络拓扑生成奖励值矩阵,使用一个训练好的深度神经网络模型代替普通Q学习的Q值表进行路由规划。
1.结构如图1所示,对一个已训练完成的三层BP神经网络模型,输入当前状态s,输出当前状态可以执行的动作的q值表Q(s,all actions),根据q值表得到下一步状态s',然后,再将状态s'输入神经网络。重复上述操作,最终到达终点状态d。
2.神经网络模型如图2所示,该训练过程包含如下步骤:
(1)训练样本m,单个样本是一个六元组{s,a,r,s',d,done},其中s代表当前状态,a代表执行动作,r代表奖励值,s'代表下一步状态,d代表终点状态,done代表是否结束,将每个样本中的s'作为一个三层BP神经网络(激活函数Relu,输入节点的数目等于网络节点的个数,输出节点数目等于动作的数目)的输入值,进行批量处理,得到s'状态下选择每个行为的q值组成的表Q(s',all actions);
(2)根据公式计算出q值对应的target_q值,公式为target_q=r+γ×Max[Q(s',allactions)],g为经验折损率;
(3)使用q与target_q计算损失函数loss=(target_q-q)2,优化神经网络参数,训练该三层BP神经网络模型。
3.训练样本获取流程如图3所示,该方法包含如下步骤:
(1)随机初始化一个起点so和终点d,初始化经验池M,并且设置观察值(样本训练之前观察的次数);
(2)自定义评价函数R,可以对状态和动作进行评价,给出奖励值r;
(3)当前状态s,初始值等于so,根据随机策略选择一个行为a;
(4)执行该行为a,得到对应的奖励值r,进入状态s',判断是否结束done,即s'是否为终点d;
(5)将前三步所涉及的相关参数s、a、r、s'、d、done作为一条记录保存到经验池M中;
(6)判断经验池中的数据是否足够,即经验池里的数据数量是否超过设置的观察值,如果不够,判断这次查找过程是否结束,如果过程未结束,则当前状态s更新为状态s',反之,过程结束,将当前状态s随机置为某一状态;回到步骤(3);如果数据足够的话,转到第(7)步;
(7)在经验池M里随机抽取出一部分数据作为训练样本m。
实施例:
下面结合实施例对本发明作进一步说明。
本发明中涉及到的最短路径规划方法具体可以描述如下:
在一个有六个节点的网络中,其中一个节点希望发送服务到达另一节点,发送方为起点,接收方为终点,已知起点、终点和网络拓扑结构的控制器在此情况下进行路由规划,实现从起点到终点的最短路由。
随机选择一个节点作为起点so,一个节点作为终点d。自定义评价函数R,可以根据状态和动作计算奖励值r。然后根据上述具体实施方案训练BP神经网络模型。
模型训练完成后,每当一个服务请求到达控制器,控制器将起点so输入三层BP神经网络模型,然后神经网络输出当前状态s(s初始等于so)可以执行的动作的Q值表Q(s,allactions),我们就可以得到下一步状态s'。然后,将状态s'输入神经网络,又可以得到下一步状态,重复上述操作,最终到达终点d。因此,控制器可以得到一条从起点so到终点d的路径,且该路径是最短路径。
Claims (1)
1.一种基于深度Q学习的路由规划方法,其特征在于,该方法具体为:
对一个已训练完成的三层BP神经网络模型,输入当前状态s,输出当前状态可以执行的动作的q值表Q(s, all actions),根据q值表决定下一步状态s',然后,再将状态s'输入BP神经网络;重复迭代操作,最终到达终点状态d;
所述已训练完成的三层BP神经网络模型通过以下方法训练得到:
步骤(1.1)训练样本m,单个样本是一个六元组{s,a,r,s',d,done},其中s代表当前状态,a代表执行动作,r代表奖励值,s'代表下一步状态,d代表终点状态,done代表是否结束,将每个样本中的 s'作为一个三层BP神经网络的输入值,进行批量处理,得到s'状态下选择每个行为的q值组成的表Q(s', all actions);
所述训练样本m由深度Q学习的经验回放得到,具体如下:
步骤(2.1)随机初始化一个起点so和终点d,初始化经验池M,并且设置观察值;
步骤(2.2)自定义评价函数R,可以对状态和动作进行评价,给出奖励值r;
步骤(2.3)当前状态s,初始值等于so,根据随机策略选择一个行为a;
步骤(2.4)执行该行为a,得到对应的奖励值r,进入状态s',判断是否结束done,即s'是否为终点d;
步骤(2.5)将前三步所涉及的相关参数s、a、r、s'、d、done作为一条记录保存到经验池M中;
步骤(2.6)判断经验池中的数据是否足够,即经验池里的数据数量是否超过设置的观察值,如果不够,判断这次查找过程是否结束,如果过程未结束,则当前状态s更新为状态s',反之,过程结束,将当前状态s随机置为某一状态;回到步骤(2.3);如果数据足够的话,转到步骤(2.7);
步骤(2.7)在经验池M里随机抽取出一部分数据作为训练样本m。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711002456.1A CN107911299B (zh) | 2017-10-24 | 2017-10-24 | 一种基于深度q学习的路由规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711002456.1A CN107911299B (zh) | 2017-10-24 | 2017-10-24 | 一种基于深度q学习的路由规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107911299A CN107911299A (zh) | 2018-04-13 |
CN107911299B true CN107911299B (zh) | 2020-12-29 |
Family
ID=61840839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711002456.1A Active CN107911299B (zh) | 2017-10-24 | 2017-10-24 | 一种基于深度q学习的路由规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107911299B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108873687B (zh) * | 2018-07-11 | 2020-06-26 | 哈尔滨工程大学 | 一种基于深度q学习的智能水下机器人行为体系结规划方法 |
CN109413707B (zh) * | 2018-08-03 | 2021-10-08 | 南京工业大学 | 无线网络环境下基于深度强化学习技术的智能路由方法 |
CN108900419B (zh) * | 2018-08-17 | 2020-04-17 | 北京邮电大学 | Sdn架构下基于深度强化学习的路由决策方法及装置 |
CN109238297B (zh) * | 2018-08-29 | 2022-03-18 | 沈阳理工大学 | 一种用户最优及系统最优的动态路径选择方法 |
CN109120457B (zh) * | 2018-09-13 | 2022-01-28 | 余利 | 基于分布式软件定义架构的智能云的业务处理方法 |
CN109445437A (zh) * | 2018-11-30 | 2019-03-08 | 电子科技大学 | 一种无人电动车的路径规划方法 |
CN109803344B (zh) * | 2018-12-28 | 2019-10-11 | 北京邮电大学 | 一种无人机网络拓扑及路由联合构建方法 |
CN109857107A (zh) * | 2019-01-30 | 2019-06-07 | 广州大学 | Agv小车导航方法、装置、系统、介质和设备 |
CN111914069A (zh) * | 2019-05-10 | 2020-11-10 | 京东方科技集团股份有限公司 | 训练方法和装置、对话处理方法和系统及介质 |
CN110535770B (zh) * | 2019-08-30 | 2021-10-22 | 西安邮电大学 | 一种SDN环境下基于QoS感知的视频流智能路由方法 |
CN110986979B (zh) * | 2019-11-27 | 2021-09-10 | 浙江工商大学 | 一种基于强化学习的sdn多路径路由规划方法 |
CN110995858B (zh) * | 2019-12-17 | 2022-02-25 | 大连理工大学 | 一种基于深度q网络的边缘网络请求调度决策方法 |
CN111010341B (zh) * | 2019-12-19 | 2020-10-27 | 南京大学 | 一种基于深度学习的覆盖网络路由决策方法 |
CN111416774B (zh) * | 2020-03-17 | 2023-03-21 | 深圳市赛为智能股份有限公司 | 网络拥塞控制方法、装置、计算机设备及存储介质 |
CN111415048B (zh) * | 2020-04-10 | 2024-04-19 | 大连海事大学 | 一种基于强化学习的车辆路径规划方法 |
CN111626489B (zh) * | 2020-05-20 | 2023-04-18 | 杭州安恒信息技术股份有限公司 | 基于时序差分学习算法的最短路径规划方法和装置 |
CN113014484B (zh) * | 2021-02-09 | 2022-09-27 | 浙江工商大学 | 一种基于bp神经网络蚁群算法的网络路由规划方法及系统 |
CN113132232B (zh) * | 2021-03-10 | 2022-05-20 | 清华大学 | 一种能量路由优化方法 |
CN113343725B (zh) * | 2021-04-14 | 2022-07-19 | 厦门大学 | Rfid多阅读器的防碰撞方法及系统 |
CN113612692B (zh) * | 2021-08-11 | 2022-06-07 | 西安电子科技大学 | 基于dqn算法的集中式光片上网络自适应路由规划方法 |
CN114500360B (zh) * | 2022-01-27 | 2022-11-11 | 河海大学 | 一种基于深度强化学习的网络流量调度方法以及系统 |
CN115242271B (zh) * | 2022-07-27 | 2023-06-16 | 南京邮电大学 | 一种强化学习辅助的大规模MIMO的Damped-BP检测方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035889A (zh) * | 2014-06-18 | 2014-09-10 | 中国人民解放军信息工程大学 | 一种多态路由派生方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9679258B2 (en) * | 2013-10-08 | 2017-06-13 | Google Inc. | Methods and apparatus for reinforcement learning |
CN105137967B (zh) * | 2015-07-16 | 2018-01-19 | 北京工业大学 | 一种深度自动编码器与q学习算法相结合的移动机器人路径规划方法 |
US10572797B2 (en) * | 2015-10-27 | 2020-02-25 | Pusan National University Industry—University Cooperation Foundation | Apparatus and method for classifying home appliances based on power consumption using deep learning |
CN106570597B (zh) * | 2016-11-14 | 2020-06-05 | 广州大学 | 一种sdn架构下基于深度学习的内容流行度预测方法 |
CN107065881B (zh) * | 2017-05-17 | 2019-11-08 | 清华大学 | 一种基于深度强化学习的机器人全局路径规划方法 |
-
2017
- 2017-10-24 CN CN201711002456.1A patent/CN107911299B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035889A (zh) * | 2014-06-18 | 2014-09-10 | 中国人民解放军信息工程大学 | 一种多态路由派生方法及系统 |
Non-Patent Citations (1)
Title |
---|
《Deep Q-Network 学习笔记(二)—— Q-Learning与神经网络结合使用(有代码实现)》;gongxiaojiucom足球资讯转载;《https://blog.csdn.net/gongxiaojiu/article/details/73345808》;20170616;参见第1页至第21页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107911299A (zh) | 2018-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107911299B (zh) | 一种基于深度q学习的路由规划方法 | |
CN108667734B (zh) | 一种基于q学习和lstm神经网络的快速路由决策方法 | |
CN113328938B (zh) | 一种基于深度强化学习的网络自主智能管控方法 | |
CN110601973B (zh) | 一种路由规划方法、系统、服务器及存储介质 | |
US10033623B2 (en) | Multithreaded system and method for establishing network connections | |
US10389585B2 (en) | System and method for data flow optimization | |
JP6271039B2 (ja) | ハイブリッドネットワークにおけるパス選択 | |
WO2018223617A1 (zh) | 一种多域控制器的跨域路径计算方法 | |
CN106487558B (zh) | 一种实现接入设备扩缩容的方法和装置 | |
CN104935476B (zh) | 一种基于sdn的网络流量矩阵测量方法 | |
CN114500360A (zh) | 一种基于深度强化学习的网络流量调度方法以及系统 | |
CN111340192B (zh) | 网络路径分配模型训练方法、路径分配方法、以及装置 | |
CN108011827A (zh) | 一种基于sdn的数据转发方法、系统以及控制器 | |
Nguyen et al. | Efficient virtual network embedding with node ranking and intelligent link mapping | |
CN112015518B (zh) | 增量式部署sdn环境下实现多虚拟机实时迁移方法及系统 | |
CN105453494B (zh) | 虚拟最短路径树建立及处理的方法及路径计算单元 | |
CN111901237B (zh) | 源路由选路方法及系统、相关设备及计算机可读存储介质 | |
CN110138674B (zh) | 可编程数据平面流调度方法、系统、介质及网络设备 | |
CN114125595A (zh) | Otn网络资源优化方法、装置、计算机设备和介质 | |
CN108933737A (zh) | 负载均衡方法及装置 | |
WO2022232994A1 (en) | Devices and methods for autonomous distributed control of computer networks | |
CN115037669A (zh) | 一种基于联邦学习的跨域数据传输方法 | |
Wang et al. | Research on deep reinforcement learning multi-path routing planning in SDN | |
CN114938374A (zh) | 跨协议负载均衡方法及系统 | |
Ren et al. | End-to-End Network SLA Quality Assurance for C-RAN: A Closed-Loop Management Method Based on Digital Twin Network |
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 |