CN103164190A - 一种全分布式流域生态水文模型的快速并行化方法 - Google Patents

一种全分布式流域生态水文模型的快速并行化方法 Download PDF

Info

Publication number
CN103164190A
CN103164190A CN2013100664031A CN201310066403A CN103164190A CN 103164190 A CN103164190 A CN 103164190A CN 2013100664031 A CN2013100664031 A CN 2013100664031A CN 201310066403 A CN201310066403 A CN 201310066403A CN 103164190 A CN103164190 A CN 103164190A
Authority
CN
China
Prior art keywords
grid
task
eco
model
hydrological
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
Application number
CN2013100664031A
Other languages
English (en)
Other versions
CN103164190B (zh
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.)
CENTER FOR EARTH OBSERVATION AND DIGITAL EARTH CHINESE ACADEMY OF SCIENCES
Original Assignee
CENTER FOR EARTH OBSERVATION AND DIGITAL EARTH CHINESE ACADEMY OF SCIENCES
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 CENTER FOR EARTH OBSERVATION AND DIGITAL EARTH CHINESE ACADEMY OF SCIENCES filed Critical CENTER FOR EARTH OBSERVATION AND DIGITAL EARTH CHINESE ACADEMY OF SCIENCES
Priority to CN201310066403.1A priority Critical patent/CN103164190B/zh
Publication of CN103164190A publication Critical patent/CN103164190A/zh
Application granted granted Critical
Publication of CN103164190B publication Critical patent/CN103164190B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种全分布式流域生态水文模型的快速并行化方法,该方法以栅格为基本计算单元,通过DEM地形分析获得流域栅格流向图并建立栅格的计算依赖关系,将栅格单元垂向的生态水文过程模拟作为独立计算任务,根据栅格单元间的依赖关系解耦栅格单元计算任务并构建任务树,采用DAG模型表达任务树,利用DAG模型和边消除的动态调度算法动态地生成任务调度序列,并通过PBS动态调度器将栅格计算任务分配到不同的节点上进行运算,实现全分布式流域生态水文模型的并行化。本发明的有益效果为:本方法操作简单,实用性强,极大的简化并行处理算法的并行逻辑控制,有效提高并行计算效率,提高了并行稳定性。

Description

一种全分布式流域生态水文模型的快速并行化方法
技术领域
本发明涉及计算机技术及流域水资源技术领域,具体涉及一种全分布式流域生态水文模型的快速并行化方法。
背景技术
流域生态水文模型是全球变化研究的重要工具,通过定量评估人类活动和气候变化对流域生态水文过程的影响,为全球变化下流域管理决策的制定提供科学支撑,是当前国内外研究的前沿和热点问题。全分布式流域生态水文模型通过将流域划分为异质性空间计算单元,充分考虑水文水资源要素在空间上的变化,充分考虑流域内空间计算单元之间数量交换和相互影响,从而更为合理地刻画气候变化和人类活动影响下的流域生态水文过程。全分布式的流域生态水文模型具有时空数据密集和计算密集的特点,主要体现在:1)流域生态水文模拟高度复杂,需大量的数据和参数输入,同时生成大量的中间变量,具有计算密集的特点;2)全空间分布式的生态水文模型涉及大量的栅格数据,随着流域面积的扩大(如大尺度流域),栅格单元急剧增加,所涉及的数据量和计算量也急剧增加,具有计算密集型特点;3)流域生态水文过程计算要求较高的时间动态性,时间步长往往为小时或分钟尺度,具有数据密集的特点。生态水文模型对高性能计算提出了很高的要求,传统的串行计算模式难以满足其要求,迫切需要发展流域全分布式生态水文模型的并行技术。
目前,并行计算技术在流域生态水文过程模拟中的应用尚且处于起步阶段,主要集中于水文过程模拟,对于流域生态水文耦合模型的并行计算研究较少;现有研究大多采用基于消息传递模型的MPI、共享内存模型的OpenMP以及MPI+OpenMP的混合并行模型,然而,随着流域面积的增加,不仅带来数据量的增加,任务之间更为复杂的数据依赖关系也使得传统的并行处理算法在并行处理过程中的控制逻辑非常复杂,从而导致算法的并行处理性能的扩展性差。
发明内容
本发明的目的是提供一种全分布式流域生态水文模型的快速并行化方法,以克服目前现有方法存在上述不足。
本发明的目的是通过以下技术方案来实现:
一种全分布式流域生态水文模型的快速并行化方法,所述方法包括以下步骤:
步骤一:将流域划分为栅格单元,以栅格单元为基本计算单元,同时根据DEM进行地形分析,从而获取栅格流向关系,并建立流域内所有栅格计算任务依赖关系;
步骤二:按生态水文过程计算的数据传递关系,对全分布式生态水文模型的栅格计算任务进行分解;
步骤三:步骤二中栅格计算任务分解后,将栅格计算任务封装为独立运行的计算任务,每个计算任务具有相同的计算方法和输入输出文件,保证每个计算任务可以分配到不同的处理器上进行独立运算;
步骤四:根据步骤一中得到的所述流域内栅格的水流依赖关系,将全分布式生态水文模型的所有栅格计算任务进行解耦,并构建基于栅格计算任务依赖关系的任务树;
步骤五:采用DAG模型对步骤四中的任务树进行表示;
步骤六:根据DAG模型和边际消除的动态调度算法求解有效的任务调度方案,动态的生成任务调度序列; 
步骤七:根据任务调度序列,提交PBS任务调度器,实现模型的并行计算。
进一步的,栅格计算任务可并行性分解为弱数据相关性的垂向生态水文过程计算和强数据相关性的侧向生态水文过程计算;所述垂向的生态水文过程计算主要包括降雨、蒸发、坡面产流、植物光合、蒸腾、根系吸水等过程的输入和输出的计算;所述侧向生态水文过程计算为坡面汇流过程的计算,即水流在栅格单元与栅格单元之间的迁移过程,下游栅格的计算考虑上游栅格的来水量,栅格单元之间存在较强的数据依赖性。
进一步的,为实现栅格单元的计算任务封装为独立运算的任务,需调整流域生态水文模型的时空循环顺序,在每一个栅格完成整个模拟时段的生态水文过程计算后,再进行下一个栅格整个模拟时段的运算,上下游栅格之间的水流交换通过文本方式传递,避免复杂的参数传递。
进一步的,步骤四中所述的任务树中设有若干节点,所述节点与全流域内栅格计算任务相对应,若两个栅格计算任务之间存在依赖关系,在树中对应节点就存在父子关系,即上游栅格为父结点,其下游栅格作为其子结点,子结点的计算任务需等父结点完成了才能执行。
缩略语:DEM:数字高程模型;DAG:数据库可用性组;PBS:工作负载管理器和调度器;XML:可扩展标记语言。
本发明的有益效果为:(1)本发明将流域生态过程和水文过程的耦合模拟进行并行化,突破了现有的流域模型并行化的单一性;(2)本发明以栅格为基本计算单元,将栅格的计算任务分配到多个计算节点,大大降低模型的并行粒度,有效提高并行计算效率;(3)本发明中采用的基于DAG模型和边消除的动态调度算法,极大简化并行处理算法的并行逻辑控制;(4)本发明通过修改模型时空循环设计,将栅格单元的计算任务可作为独立运算的任务,在流域栅格计算任务解耦基础上将栅格计算任务直接提交给PBS任务调度器,从而避免了复杂的逻辑控制和消息传递,大大提高并行稳定性。
附图说明
下面根据附图对本发明作进一步详细说明。
图1是本发明实施例所述的一种全分布式流域生态水文模型的快速并行化方法的流程图;
图2是本发明实施例所述的一种全分布式流域生态水文模型的快速并行化方法中任务树的构建示意图;
图3是本发明实施例所述的一种全分布式流域生态水文模型的快速并行化方法中基于DAG模型和边消除的动态任务树调度方法的流程图。
具体实施方式
如图1所示,本发明实施例所述的一种全分布式流域生态水文模型的快速并行化方法,以全分布式流域生态水文模型DisVOM的并行化实现为例,所述方法包括以下步骤:
步骤一:将流域划分为栅格单元,以栅格单元为基本计算单元,同时根据DEM(数字高程模型)进行地形分析,从而获取栅格流向关系,并建立流域内所有栅格计算任务依赖关系,其中,栅格流向计算采用的算法为Arcinfo的单流向算法;
步骤二:对全分布式生态水文模型的栅格计算任务进行分解,栅格计算任务可并行性分解为弱数据相关性的垂向生态水文过程计算和强数据相关性的侧向生态水文过程计算,DisVOM模型的垂向的生态水文过程计算主要包括降雨、蒸发、坡面产流、植物光合、蒸腾、根系吸水等过程的计算;所述侧向生态水文过程计算为坡面汇流过程的计算;
步骤三:栅格计算任务分解后,将栅格计算任务封装为独立运行的计算任务,具体如下:
将DisVOM模型运算的时空循环设置为先做空间循环再做时间循环,栅格完成整个模拟时段的生态水文过程计算后,再进行下一个栅格的运算,将栅格单元生态水文过程计算封装为可独立运行的计算任务,上下游栅格之间的水流交换通过文本方式传递;每个栅格的计算任务具有相同的程序代码(exe文件)、输入输出文件和XML文件,其中,XML文件记录每一个栅格的基本信息(栅格序号、上游栅格ID、下游栅格ID,栅格流向等)、输入输出文件(如气象输入、模型参数、模型控制文件、模型输出结果文件等)。
如图2所示,步骤四:根据步骤一中得到的所述流域内栅格的水流依赖关系,将全分布式生态水文模型的所有栅格计算任务进行解耦,并构建基于栅格计算任务依赖关系的任务树,所述的任务树中设有若干节点,所述节点与全流域内栅格计算任务相对应,具体如下:
根据栅格的水流依赖关系,将流域内所有栅格的计算任务进行解耦,具体方法如下:将流域内最上游栅格(即没有上游栅格水流流入)作为优先级最高的计算任务(如图2中栅格1-4),最上游栅格的流出栅格(图2中栅格5、6、7)则作为优先级次之的栅格,即栅格1计算任务完成后才能运算栅格5,栅格2和栅格3的任务都完成了,才能计算栅格6,栅格8和栅格9计算任务优先级更次之,依次类推,直到流域的出口栅格,建立全流域的栅格计算顺序关系;将优先级最高的栅格作为父结点,其流出栅格作为子结点,从而建立了全流域内栅格计算的任务树。该任务树为多叉任务树,子结点的计算任务需等父结点完成了才能执行,多叉树中的任何一条通路都需要按照从上游到下游的顺序依次执行。
如图3所示,步骤五:采用DAG模型G= (V, E ,W, H, LS)对步骤四中的任务树进行描述。其中,V为结点集合,对应于流域中的栅格单元:V = { v1, v2, v3, v4,v5,v6,v7,v8,v9,v10 };E为有向边的集合,对应于具有上下游关系的栅格对:E= { ( v1 , v5 ) , ( v 2, v6 ) , ( v3 , v6 ) , ( v4, v7),( v5 , v8 ) , ( v6 , v9 ) , ( v7, v9 ) , ( v8, v10),( v9, v10) };W是每个结点(任务)的计算时间估计值;任务高度Hp(Vi)表示DAG图中,从一个入结点到结点Vi的最长距离,它不包括结点Vi本身的计算时间估计值;任务高度Hb(Vi)则表示由结点Vi的到出口结点的最长距离。
步骤六:根据DAG模型和边际消除的动态调度算法求解有效的任务调度方案,动态的生成任务调度序列,具体步骤如下:
1)建立任务调度序列出事优先级。在本发明中,任务高度Hb值较小的任务将被赋予较高的任务优先级,被优先调度。在估计任务树中每个任务计算时间基础上,建立初始任务调度序列。
2)在任务树的初始调度序列确定后,构建就绪队列(ReadyQueue)和运行队列(RunningQueue)两个状态队列,并根据任务执行情况动态调整后续任务结点的任务优先级,并将该任务结点和及其所有的边从任务树中移除,随后将就绪任务放入就绪队列,就绪队列将就绪任务提交给PBS调度器在集群多处理上进行任务调度。
3)任务完成后,移除该任务结点,更新任务树任务优先级,重新计算DAG模型中任务结点参数,构建新的状态队列并对任务进行动态调度。
步骤七:根据任务调度序列,提交PBS任务调度器,实现模型的并行计算。
全分布式的流域生态水文过程模拟中,栅格计算单元之间存在复杂的水流交换,但非上下游关系的栅格单元之间不存在依赖关系,可以进行并行计算,因此,可以根据流域栅格单元的依赖关系,可将流域内所有的栅格计算任务划分为存在依赖关系的和不存在依赖关系,其中不存在依赖关系的可并行计算,存在依赖关系的,可根据其前驱后继的数据依赖关系进行任务树构建,依次顺序计算;流域内栅格上下游依赖关系的解耦,基本原理是基于栅格流向关系,将最上游栅格作为最高级别的父结点,其下游栅格即水流流出的栅格,作为其子结点,依次类推,直到流域的出口栅格,从而就建立了全流域内栅格计算的任务树。本发明中所采用的任务树动态调度算法是一种改进的动态表调度算法,该算法的基本原理是通过构建状态队列对调度序列进行动态调度,给就绪的任务动态分配处理器资源并提交PBS调度器,任务完成后更新任务树并消除该任务结点,从而保证任务集在完全符合任务间数据依赖关系的逻辑顺序下并行地调度和执行,并使任务的完成时间最小。
本发明不局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。

Claims (4)

1.一种全分布式流域生态水文模型的快速并行化方法,其特征在于,所述方法包括以下步骤:
步骤一:将流域划分为栅格单元,以栅格单元为基本计算单元,同时根据DEM进行地形分析,从而获取栅格流向关系,并建立流域内所有栅格计算任务依赖关系;
步骤二:按生态水文过程计算的数据传递关系,对全分布式生态水文模型的栅格计算任务进行分解;
步骤三:步骤二中栅格计算任务分解后,将栅格计算任务封装为独立运行的计算任务,每个计算任务具有相同的计算方法和输入输出文件,保证每个计算任务可以分配到不同的处理器上进行独立运算;
步骤四:根据步骤一中得到的所述流域内栅格的水流依赖关系,将全分布式生态水文模型的所有栅格计算任务进行解耦,并构建基于栅格计算任务依赖关系的任务树;
步骤五:采用DAG模型对步骤四中的任务树进行表示;
步骤六:根据DAG模型和边际消除的动态调度算法求解有效的任务调度方案,动态的生成任务调度序列; 
步骤七:根据任务调度序列,提交PBS任务调度器,实现模型的并行计算。
2.根据权利要求1所述的全分布式流域生态水文模型的快速并行化方法,其特征在于:步骤二中栅格计算任务可并行性分解为弱数据相关性的垂向生态水文过程计算和强数据相关性的侧向生态水文过程计算。
3.根据权利要求2所述的全分布式流域生态水文模型的快速并行化方法,其特征在于:所述垂向的生态水文过程计算主要包括降雨、蒸发、坡面产流、植物光合、蒸腾、根系吸水等过程的输入和输出的计算;所述侧向生态水文过程计算为坡面汇流过程的计算,即水流在栅格单元与栅格单元之间的迁移过程,下游栅格的计算考虑上游栅格的来水量,栅格单元之间存在较强的数据依赖性。
4.根据权利要求3所述的全分布式流域生态水文模型的快速并行化方法,其特征在于:步骤四中所述的任务树中设有若干节点,所述节点与全流域内栅格计算任务相对应。
CN201310066403.1A 2013-03-02 2013-03-02 一种全分布式流域生态水文模型的快速并行化方法 Active CN103164190B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310066403.1A CN103164190B (zh) 2013-03-02 2013-03-02 一种全分布式流域生态水文模型的快速并行化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310066403.1A CN103164190B (zh) 2013-03-02 2013-03-02 一种全分布式流域生态水文模型的快速并行化方法

Publications (2)

Publication Number Publication Date
CN103164190A true CN103164190A (zh) 2013-06-19
CN103164190B CN103164190B (zh) 2016-06-01

Family

ID=48587315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310066403.1A Active CN103164190B (zh) 2013-03-02 2013-03-02 一种全分布式流域生态水文模型的快速并行化方法

Country Status (1)

Country Link
CN (1) CN103164190B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914619A (zh) * 2014-03-31 2014-07-09 河海大学 一种河流网络的建模方法
CN104142812A (zh) * 2014-07-30 2014-11-12 中国水利水电科学研究院 一种分布式水文模型并行运算方法
CN105472014A (zh) * 2015-12-23 2016-04-06 浪潮(北京)电子信息产业有限公司 一种基于OSGi的存储管理软件性能扩展方法与系统
CN106875045A (zh) * 2017-01-23 2017-06-20 杭州电子科技大学 考虑地块拓扑关系的流域最佳管理措施优化方法
CN108196951A (zh) * 2018-01-30 2018-06-22 成都信息工程大学 Gpu流域径流模拟分布式调度系统及方法
CN109190160A (zh) * 2018-07-27 2019-01-11 华中科技大学 一种分布式水文模型的矩阵化模拟方法
CN109753362A (zh) * 2019-01-14 2019-05-14 中国水利水电科学研究院 一种分布式水文模型的汇流并行调度方法
CN109767120A (zh) * 2019-01-11 2019-05-17 中国水利水电科学研究院 一种基于分布式水文模型的产流并行任务调度方法
CN109900242A (zh) * 2019-04-08 2019-06-18 中科海慧(天津)科技有限公司 一种跨国流域生态监测方法及系统
CN109902366A (zh) * 2019-02-14 2019-06-18 中国水利水电科学研究院 一种分布式水文模型汇流并行方法
CN110377340A (zh) * 2019-07-24 2019-10-25 北京中科寒武纪科技有限公司 运算方法、装置及相关产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100541930B1 (ko) * 2003-06-02 2006-01-10 학교법인 인하학원 지리정보시스템(지아이에스)을 기반으로 하는 수문모델링방법
CN102034001A (zh) * 2010-12-16 2011-04-27 南京大学 一种以栅格为模拟单元的分布式水文模型设计方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100541930B1 (ko) * 2003-06-02 2006-01-10 학교법인 인하학원 지리정보시스템(지아이에스)을 기반으로 하는 수문모델링방법
CN102034001A (zh) * 2010-12-16 2011-04-27 南京大学 一种以栅格为模拟单元的分布式水文模型设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王皓等: "时空域双重离散下的流域并行特性", 《中国科技论文在线》, vol. 5, no. 7, 31 July 2010 (2010-07-31), pages 494 - 498 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914619A (zh) * 2014-03-31 2014-07-09 河海大学 一种河流网络的建模方法
CN104142812A (zh) * 2014-07-30 2014-11-12 中国水利水电科学研究院 一种分布式水文模型并行运算方法
CN104142812B (zh) * 2014-07-30 2017-02-01 中国水利水电科学研究院 一种分布式水文模型并行运算方法
CN105472014A (zh) * 2015-12-23 2016-04-06 浪潮(北京)电子信息产业有限公司 一种基于OSGi的存储管理软件性能扩展方法与系统
CN106875045A (zh) * 2017-01-23 2017-06-20 杭州电子科技大学 考虑地块拓扑关系的流域最佳管理措施优化方法
CN108196951A (zh) * 2018-01-30 2018-06-22 成都信息工程大学 Gpu流域径流模拟分布式调度系统及方法
CN109190160B (zh) * 2018-07-27 2020-12-01 华中科技大学 一种分布式水文模型的矩阵化模拟方法
CN109190160A (zh) * 2018-07-27 2019-01-11 华中科技大学 一种分布式水文模型的矩阵化模拟方法
CN112380684A (zh) * 2018-07-27 2021-02-19 华中科技大学 一种分布式水文模型的矩阵化处理方法
CN109767120A (zh) * 2019-01-11 2019-05-17 中国水利水电科学研究院 一种基于分布式水文模型的产流并行任务调度方法
CN109753362B (zh) * 2019-01-14 2020-03-24 中国水利水电科学研究院 一种分布式水文模型的汇流并行调度方法
CN109753362A (zh) * 2019-01-14 2019-05-14 中国水利水电科学研究院 一种分布式水文模型的汇流并行调度方法
CN109902366A (zh) * 2019-02-14 2019-06-18 中国水利水电科学研究院 一种分布式水文模型汇流并行方法
CN109902366B (zh) * 2019-02-14 2020-05-05 中国水利水电科学研究院 一种分布式水文模型汇流并行方法
CN109900242A (zh) * 2019-04-08 2019-06-18 中科海慧(天津)科技有限公司 一种跨国流域生态监测方法及系统
CN109900242B (zh) * 2019-04-08 2021-06-15 中科海慧(天津)科技有限公司 一种跨国流域生态监测方法及系统
CN110377340A (zh) * 2019-07-24 2019-10-25 北京中科寒武纪科技有限公司 运算方法、装置及相关产品

Also Published As

Publication number Publication date
CN103164190B (zh) 2016-06-01

Similar Documents

Publication Publication Date Title
CN103164190B (zh) 一种全分布式流域生态水文模型的快速并行化方法
Cheng et al. Parallel discrete differential dynamic programming for multireservoir operation
CN107122243B (zh) 用于cfd仿真计算的异构集群系统及计算cfd任务的方法
CN103345657B (zh) 云计算环境下基于遗传和蚁群的任务调度方法
CN106339351B (zh) 一种sgd算法优化系统及方法
CN101593132B (zh) 基于线程构造模块的多核并行模拟退火方法
CN103345580B (zh) 基于格子Boltzmann方法的并行CFD方法
CN102831011A (zh) 一种基于众核系统的任务调度方法及装置
CN103970609A (zh) 一种基于改进蚁群算法的云数据中心任务调度方法
CN103401939A (zh) 一种采用混合调度策略的负载均衡方法
Liao et al. Long-term generation scheduling of hydropower system using multi-core parallelization of particle swarm optimization
Zidenberg et al. Multiamdahl: How should i divide my heterogenous chip?
CN104793993B (zh) 基于Levy飞行的人工蜂群粒子群算法的云计算任务调度方法
CN105893158A (zh) 私有云条件下的大数据混合调度模型
Huo et al. An improved multi-cores parallel artificial Bee colony optimization algorithm for parameters calibration of hydrological model
CN103226759A (zh) 基于遗传算法的动态云工作流调度方法
CN101639788B (zh) 一种基于tbb线程构建块的连续系统仿真多核并行方法
CN112948123B (zh) 一种基于Spark的网格水文模型分布式计算方法
CN109753362A (zh) 一种分布式水文模型的汇流并行调度方法
CN101957760A (zh) 一种过程执行时间的测定方法
CN109582457A (zh) 片上网络异构多核系统任务调度与映射
CN112231081B (zh) 云环境下基于pso-ahp的单调速率资源调度方法及系统
He et al. Haas: Cloud-based real-time data analytics with heterogeneity-aware scheduling
CN106802822A (zh) 一种基于飞蛾算法的云数据中心认知资源调度方法
CN104166593A (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
C14 Grant of patent or utility model
GR01 Patent grant