CN107025126B - 一种资源调度方法、nfvo和系统 - Google Patents

一种资源调度方法、nfvo和系统 Download PDF

Info

Publication number
CN107025126B
CN107025126B CN201610066301.3A CN201610066301A CN107025126B CN 107025126 B CN107025126 B CN 107025126B CN 201610066301 A CN201610066301 A CN 201610066301A CN 107025126 B CN107025126 B CN 107025126B
Authority
CN
China
Prior art keywords
resource
virtualization platform
available
nfvo
virtualization
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
CN201610066301.3A
Other languages
English (en)
Other versions
CN107025126A (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.)
China Mobile Communications Group Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
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 China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201610066301.3A priority Critical patent/CN107025126B/zh
Publication of CN107025126A publication Critical patent/CN107025126A/zh
Application granted granted Critical
Publication of CN107025126B publication Critical patent/CN107025126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Abstract

本发明实施例公开了一种资源调度方法,所述方法包括:接收资源请求信息;根据所述资源请求信息,确定可用虚拟化平台的属性信息;根据所述属性信息,确定所述可用虚拟化平台中可调度资源的资源信息;根据所述可调度资源的资源信息,调用所述可调度资源。本发明实施例还同时公开了一种NFVO和资源调度系统。

Description

一种资源调度方法、NFVO和系统
技术领域
本发明涉及虚拟化领域,尤其涉及一种资源调度方法、网络功能虚拟化编排器(Network Functions Virtualization Orchestrator,NFVO)和系统。
背景技术
在目前的实现方案中,将NFVO和虚拟化的网络功能管理器(Virtualized NetworkFunction Manager,VNFM)作为一个软件模块紧耦合在一起,而现实情况中很多虚拟化的网络功能(Virtualized Network Function,VNF)厂商除提供VNF网元外还配套提供VNFM功能的网元,厂商配套的VNFM针对自家的VNF网元有独特配置参数和配置方式,这些都是设备厂商私有的实现,因此在实现方案的设计过程中应该考虑集成设备厂商的VNFM网元的方案。另外,对于虚拟化设施管理器(Virtualized Infrastructure Manager,VIM)管理的虚拟化平台的现在也有多种选择,比如云端运算软件、威睿等常见的虚拟化基础设施平台,因此设计VIM的资源管理的功能模块时不能考虑同时管理并兼容多种平台,只能使用相对封闭的私有虚拟化平台实现方案,这样,不利于NFV的后续演进和发展。
发明内容
为解决上述技术问题,本发明实施例期望提供一种资源调度方法、NFVO和系统,能够调度不同厂商配置的VIM或VNFM,实现兼容不同的VIM或VNFM。
本发明的技术方案是这样实现的:
第一方面,提供一种资源调度方法,所述方法包括:
接收资源请求信息;
根据所述资源请求信息,确定可用虚拟化平台的属性信息;
根据所述属性信息,确定所述可用虚拟化平台中可调度资源的资源信息;
根据所述可调度资源的资源信息,调用所述可调度资源。
可选的,所述资源请求信息包括所述可用虚拟化平台的指示参数;所述根据所述资源请求信息,确定可用虚拟化平台的属性信息包括:
根据所述可用虚拟化平台的指示参数,从多个虚拟化平台中确定出所述可用虚拟化平台。
可选的,所述根据所述属性信息,确定所述可用虚拟化平台中可调度资源的资源信息包括:
根据所述属性信息,采集所述可用虚拟化平台的空闲资源;
按照预设规则,从所述空闲资源中选择一个资源作为所述可调度资源。
可选的,所述虚拟化平台包括虚拟化设施管理器VIM和\或虚拟化的网络功能管理器VNFM。
第二方面,提供一种网络功能虚拟化编排器NFVO,所述NFVO包括:
应用程序编程接口API路由模块,用于接收资源请求信息;
执行模块,用于根据所述资源请求信息,确定可用虚拟化平台的属性信息;还用于根据所述可调度资源的资源信息,调用所述可调度资源;
调用模块,用于根据所述属性信息,确定所述可用虚拟化平台中可调度资源的资源信息。
可选的,所述资源请求信息包括所述可用虚拟化平台的指示参数;
所述执行模块具体用于:根据所述可用虚拟化平台的指示参数,从多个虚拟化平台中确定出所述可用虚拟化平台。
可选的,所述调用模块具体用于:
根据所述属性信息,采集所述可用虚拟化平台的空闲资源;
按照预设规则,从所述空闲资源中选择一个资源作为所述可调度资源。
可选的,所述虚拟化平台包括VIM和\或VNFM。
可选的,所述API路由模块还用于:向执行模块发送资源请求信息;
所述调用模块还用于:向所述执行模块发送所述可调度资源的资源信息;
所述执行模块还用于:向调度模块发送所述可用虚拟化平台的属性信息;
其中,所述API路由模块与所述执行模块通信,所述执行模块和所述调用模块通信。
第三方面,提供一种资源调度系统,所述系统包括:
NFVO;
与所述NFVO连接的多个虚拟化平台。
可选的,所述与所述NFVO连接的多个虚拟化平台包括:
与所述NFVO连接的多个VIM;
和/或,与所述NFVO连接的多个VNFM。
本发明实施例提供了一种资源调度方法、NFVO和系统,先接收资源请求信息;根据资源请求信息,确定可用虚拟化平台的属性信息;根据属性信息,确定可用虚拟化平台中可调度资源的资源信息;根据可调度资源的资源信息,调用可调度资源。这样一来,资源请求信息不相同,调用的虚拟化平台也不相同,因此,NFVO能够调度不同厂商配置的虚拟化平台,打破了虚拟化平台的私有问题,实现兼容不同的可用虚拟化平台。
附图说明
图1为现有技术中的NFV-MANO的示意图;
图2为本发明实施例提供一种资源调度方法的流程图;
图3为本发明实施例提供的一种资源调度的示意图;
图4为本发明实施例提供一种资源调度方法的流程图;
图5为本发明实施例提供一种NFVO的结构示意图;
图6为本发明实施例提供的一种资源调度的结构示意图;
图7为本发明实施例提供的另一种资源调度的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
如图1所示,现有欧洲电信标准化协会规范中的NFV的管理与(业务)编排(NetworkFunctions Virtualisation Management and Orchestration,NFV-MANO)主要包含NFVO、VNFM、VIM三个模块。NFV-MANO分别与网元管理(Elelment Management,EM)、虚拟化的网络功能(Virtualized Network Function,VNF)、运维支撑系统(Operations SupportSystem,OSS)/业务支撑系统(Business Support System,BSS)、网络功能虚拟化基础设施(Network Functions Virtualisation Infrastructure,NFVI);NFVO与网络业务(NetworkService,NS)目录、虚拟化的网络功能模块(Virtualised Network Function,VNF)目录、网络功能虚拟化(Virtualised Network Function,NFV)实例、NFVI资源相连。NFV-MANO连接主要分工如下:
VIM:完成虚拟化基础设施的管理,包括计算、存储、网络等虚拟化资源的管理;VNFM:主要完成VNF网元的生命周期管理,包括VNF的部署、配置、监控、自愈、缩扩容、销毁等。
NFVO:主要完成网络业务的声明周期管理,包括网络业务的部署、配置、监控、自愈、缩扩容、销毁等。
实施例一
本实施例提供一种资源调度方法,应用于资源调度系统的NFVO,该系统包括NFVO,与NFVO连接的多个虚拟化平台。如图2所示,该方法包括:
步骤101、接收资源请求信息。
步骤102、根据资源请求信息,确定可用虚拟化平台的属性信息。
具体的,当资源请求信息包括可用虚拟化平台的指示参数时,根据可用虚拟化平台的指示参数,从多个虚拟化平台中确定出可用虚拟化平台。这里,属性信息可以包括虚拟化平台的名称、标识等能够表示该虚拟化平台的信息。
步骤103、根据属性信息,确定可用虚拟化平台中可调度资源的资源信息。
具体的,根据属性信息,采集可用虚拟化平台的空闲资源;按照预设规则,从空闲资源中选择一个资源作为可调度资源。
优选的,虚拟化平台包括VIM和\或VNFM。
假设虚拟化平台是VIM,相应的资源是VIM资源管理实例(该实例可以是具有完全相同软件功能的进程或线程等)。若空闲的VIM资源管理实例有多个符合条件的VIM资源管理实例,可以再通过二次调度的方式,即轮训或随机从空闲的VIM资源管理实例中选出一个实例通过点对点(单播)的消息传递方式来完成后续的业务处理逻辑;也可以通过广播消息的方式将请求传递到第一次选出的所有VIM资源管理实例中,由多个符合条件的VIM资源管理实例通过抢占消息的方式来实现VIM资源管理实例的最终选取。
假设虚拟化平台是VNFM,相应的资源是VNFM驱动实例(该实例可以是具有完全相同软件功能的进程或线程等)。若空闲的VNFM驱动实例有多个符合条件的VNFM驱动实例,此时可以再通过二次调度的方式,轮训或随机从空闲的VNFM驱动实例中选择某一个实例通过点对点(单播)的消息传递方式来完成后续的业务处理逻辑。也可以通过广播消息的方式将请求传递到第一次调度选出的所有VNFM驱动实例中,由多个符合条件的VNFM驱动实例通过抢占消息的方式来实现VNFM驱动实例的最终选取。
值得说明的是,NFVO可以同时与多厂商的VNFM进行消息交互,比如不同厂商的信息可以作为调度选择的指示参数;也可以同时与代表不同虚拟化平台的VIM进行消息交互,比如不同的虚拟化平台信息可以作为指示参数。进而提高系统的灵活性和应用的广泛性。
步骤104、根据可调度资源的资源信息,调用可调度资源。
这样一来,资源请求信息不相同,调用的虚拟化平台也不相同,因此,NFVO能够调度不同厂商配置的虚拟化平台,打破了虚拟化平台的私有问题,实现兼容不同的可用虚拟化平台。
实施例二
本发明实施例提供一种资源调度系统,如图3所示,该系统包括NFVO、与NFVO连接的多个VIM和与NFVO连接的多个VNFM。该NFVO包括应用程序编程接口(ApplicationProgramming Interface,API)路由模块、执行模块和调用模块,执行模块中包括VIM驱动和VNFM驱动。如图4所示,该方法包括:
步骤201、运营商服务器向API路由模块发送资源请求信息。
该资源请求信息中包括可用VIM的厂商号,这里,厂商号是指示参数。
步骤202、API路由模块向执行模块发送资源请求信息。
步骤203、执行模块根据可用VIM的厂商号,从多个VIM中确定可用VIM。
步骤204、执行模块向调用模块发送可用VIM的属性信息。
步骤205、调用模块根据属性信息,获取可用VIM的空闲的VIM资源管理实例。
这里,步骤205是通过属性信息的过滤算法选择符合此能力要求的VIM资源管理实例。
步骤206、调用模块从空闲的VIM资源管理实例任选一个VIM资源管理实例作为可用VIM资源管理实例。
步骤207、调用模块向执行模块发送可用VIM资源管理实例的资源信息。
步骤208、执行模块根据资源信息,调用可用VIM资源管理实例。
步骤209、执行模块向API路由模块和运营商服务器发送调用成功响应。
实施例三
本发明实施例提供一种NFVO30,如图5所示,所述NFVO30包括:
应用程序编程接口(Application Programming Interface,API)路由模块301,用于接收资源请求信息。
执行模块302,用于根据所述资源请求信息,确定可用虚拟化平台的属性信息;还用于根据所述可调度资源的资源信息,调用所述可调度资源。
调用模块303,用于根据所述属性信息,确定所述可用虚拟化平台中可调度资源的资源信息。
这样一来,可以针对不同的资源你请求信息,为不同的需求自动的选择最为合适的虚拟平大,因此,能够调度不同厂商配置的虚拟平台,实现兼容不同的虚拟平台。
进一步的,所述资源请求信息包括所述可用虚拟化平台的指示参数;所述执行模块302具体用于:
根据所述可用虚拟化平台的指示参数,从多个虚拟化平台中确定出所述可用虚拟化平台。
进一步的,所述调用模块303具体用于:
根据所述属性信息,采集所述可用虚拟化平台的空闲资源;
按照预设规则,从所述空闲资源中选择一个资源作为可调度资源。
优选的,所述虚拟化平台包括VIM和\或VNFM。
进一步的,所述API路由模块301还用于:向执行模块发送资源请求信息;
所述调用模块303还用于:向所述执行模块发送所述可调度资源的资源信息;
所述执行模块302还用于:向调度模块发送所述可用虚拟化平台的属性信息;
其中,所述API路由模块301与所述执行模块302通信,所述执行模块302和所述调用模块303通信。
实施例四
本发明实施例提供一种资源调度系统40,如图6所示,所述系统40包括:
NFVO30。
与NFVO连接的多个虚拟化平台10。
其中,NFVO30用于接收资源请求信息;根据所述资源请求信息,确定可用虚拟化平台的属性信息;根据所述属性信息,确定可用虚拟化平台中可调度资源的资源信息;根据所述可调度资源的资源信息,调用所述可调度资源。
优选的,如图7所示,与NFVO30连接的多个虚拟化平台包括:
与NFVO30连接的多个VIM50;
和/或,与NFVO30连接的多个VNFM60。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (7)

1.一种资源调度方法,其特征在于,包括:
接收资源请求信息;
根据所述资源请求信息,确定可用虚拟化平台的属性信息;
根据所述属性信息,确定所述可用虚拟化平台中可调度资源的资源信息;
根据所述可调度资源的资源信息,调用所述可调度资源;
所述资源请求信息包括所述可用虚拟化平台的指示参数;所述根据所述资源请求信息,确定可用虚拟化平台的属性信息包括:根据所述可用虚拟化平台的指示参数,从多个虚拟化平台中确定出所述可用虚拟化平台;所述指示参数包括厂商号;
其中,所述虚拟化平台包括:虚拟化设施管理器VIM和\或虚拟化的网络功能管理器VNFM。
2.根据权利要求1所述的方法,其特征在于,所述根据所述属性信息,确定所述可用虚拟化平台中可调度资源的资源信息包括:
根据所述属性信息,采集所述可用虚拟化平台的空闲资源;
按照预设规则,从所述空闲资源中选择一个资源作为所述可调度资源。
3.一种网络功能虚拟化编排器NFVO,其特征在于,所述NFVO包括:
应用程序编程接口API路由模块,用于接收资源请求信息;
执行模块,用于根据所述资源请求信息,确定可用虚拟化平台的属性信息;还用于根据可调度资源的资源信息,调用所述可调度资源;
调用模块,用于根据所述属性信息,确定所述可用虚拟化平台中可调度资源的资源信息;
所述资源请求信息包括所述可用虚拟化平台的指示参数;所述执行模块具体用于:根据所述可用虚拟化平台的指示参数,从多个虚拟化平台中确定出所述可用虚拟化平台;所述指示参数包括厂商号;
其中,所述虚拟化平台包括:虚拟化设施管理器VIM和\或虚拟化的网络功能管理器VNFM。
4.根据权利要求3所述的NFVO,其特征在于,所述调用模块具体用于:
根据所述属性信息,采集所述可用虚拟化平台的空闲资源;
按照预设规则,从所述空闲资源中选择一个资源作为所述可调度资源。
5.根据权利要求3所述的NFVO,其特征在于,所述API路由模块还用于:向执行模块发送资源请求信息;
所述调用模块还用于:向所述执行模块发送所述可调度资源的资源信息;
所述执行模块还用于:向调度模块发送所述可用虚拟化平台的属性信息;
其中,所述API路由模块与所述执行模块通信,所述执行模块和所述调用模块通信。
6.一种资源调度系统,其特征在于,所述系统包括:
网络功能虚拟化编排器NFVO;
与所述NFVO连接的多个虚拟化平台;
所述NFVO用于接收所述资源请求信息;其中,所述资源请求信息包括可用虚拟化平台的指示参数;
所述NFVO还用于根据所述可用虚拟化平台的指示参数,从多个虚拟化平台中确定出所述可用虚拟化平台;所述指示参数包括厂商号;
其中,所述虚拟化平台包括:虚拟化设施管理器VIM和\或虚拟化的网络功能管理器VNFM。
7.根据权利要求6所述的系统,其特征在于,所述与所述NFVO连接的多个虚拟化平台包括:
与所述NFVO连接的多个VIM;
和/或,与所述NFVO连接的多个VNFM。
CN201610066301.3A 2016-01-29 2016-01-29 一种资源调度方法、nfvo和系统 Active CN107025126B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610066301.3A CN107025126B (zh) 2016-01-29 2016-01-29 一种资源调度方法、nfvo和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610066301.3A CN107025126B (zh) 2016-01-29 2016-01-29 一种资源调度方法、nfvo和系统

Publications (2)

Publication Number Publication Date
CN107025126A CN107025126A (zh) 2017-08-08
CN107025126B true CN107025126B (zh) 2021-03-05

Family

ID=59524316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610066301.3A Active CN107025126B (zh) 2016-01-29 2016-01-29 一种资源调度方法、nfvo和系统

Country Status (1)

Country Link
CN (1) CN107025126B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110351104A (zh) * 2018-04-02 2019-10-18 中国移动通信有限公司研究院 一种vim选择方法及装置
CN112860370B (zh) * 2019-11-27 2024-02-13 中国电信股份有限公司 虚拟机资源分配方法、装置、系统和存储介质
CN113691383B (zh) * 2020-05-18 2023-03-31 中国电信股份有限公司 部署虚拟化网络功能实体的方法以及管理器和编排器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104170323A (zh) * 2014-04-09 2014-11-26 华为技术有限公司 基于网络功能虚拟化的故障处理方法及装置、系统
WO2015113234A1 (zh) * 2014-01-28 2015-08-06 华为技术有限公司 网络功能虚拟化的方法及装置
EP2940968A1 (en) * 2014-04-30 2015-11-04 Hewlett-Packard Development Company, L.P. Network infrastructure management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015113234A1 (zh) * 2014-01-28 2015-08-06 华为技术有限公司 网络功能虚拟化的方法及装置
CN104170323A (zh) * 2014-04-09 2014-11-26 华为技术有限公司 基于网络功能虚拟化的故障处理方法及装置、系统
EP2940968A1 (en) * 2014-04-30 2015-11-04 Hewlett-Packard Development Company, L.P. Network infrastructure management

Also Published As

Publication number Publication date
CN107025126A (zh) 2017-08-08

Similar Documents

Publication Publication Date Title
US20200218582A1 (en) System and method for processing task resources
CN107896162B (zh) 监控系统的部署方法、装置、计算机设备及存储介质
KR102354536B1 (ko) 하이퍼레저 패브릭 네트워크 구축 방법과 컨트롤러 및 저장 매체
CN109376088B (zh) 一种自动化测试系统及自动化测试方法
EP3913859A1 (en) Vnf life cycle management method and apparatus
CN107807815B (zh) 分布式处理任务的方法和装置
CN104765678A (zh) 对移动终端设备上的应用进行测试的方法及装置
CN109995814B (zh) 云主机资源的迁移方法及装置、通信设备、存储介质
CN110389843B (zh) 一种业务调度方法、装置、设备及可读存储介质
US20110258620A1 (en) Method and Apparatus for Making a BPM Application Available to Multiple Tenants
CN107025126B (zh) 一种资源调度方法、nfvo和系统
CN110058894B (zh) 在混合云中执行应用的方法、设备和计算机程序产品
CN104461562A (zh) 一种任务创建的方法及系统
CN104850491A (zh) 一种软件测试方法、设备及系统
EP4161014A1 (en) Cloud computing power allocation method, user terminal, cloud computing power platform and system
CN111143031A (zh) 一种虚拟机的容量更改方法及装置
CN113033814A (zh) 训练机器学习模型的方法、装置以及存储介质
CN111399968B (zh) 一种基于容器的虚拟资源管理方法、装置及系统
CN111953503B (zh) Nfv资源部署编排方法和网络功能虚拟化编排器
CN107526584B (zh) 数据接入方法和装置
CN104702534A (zh) 一种实现多进程共享端口的数据处理的方法及装置
CN111131440B (zh) 资源调度方法、装置和服务器
CN111104331A (zh) 软件管理方法、终端设备及计算机可读存储介质
CN109660575B (zh) Nfv业务部署的实现方法和装置
CN104092794A (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