CN112654081B - 用户分簇及资源分配优化方法、系统、介质、设备及应用 - Google Patents
用户分簇及资源分配优化方法、系统、介质、设备及应用 Download PDFInfo
- Publication number
- CN112654081B CN112654081B CN202011462575.7A CN202011462575A CN112654081B CN 112654081 B CN112654081 B CN 112654081B CN 202011462575 A CN202011462575 A CN 202011462575A CN 112654081 B CN112654081 B CN 112654081B
- Authority
- CN
- China
- Prior art keywords
- user
- fireworks
- users
- resource block
- calculating
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000013468 resource allocation Methods 0.000 title claims abstract description 37
- 238000005457 optimization Methods 0.000 title claims abstract description 35
- 238000005265 energy consumption Methods 0.000 claims abstract description 71
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 30
- 230000005540 biological transmission Effects 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 23
- 238000011217 control strategy Methods 0.000 claims abstract description 6
- 238000004891 communication Methods 0.000 claims abstract description 5
- 238000001228 spectrum Methods 0.000 claims abstract description 5
- 238000004364 calculation method Methods 0.000 claims description 59
- 238000004880 explosion Methods 0.000 claims description 44
- 239000011159 matrix material Substances 0.000 claims description 17
- 230000009467 reduction Effects 0.000 claims description 12
- 238000006073 displacement reaction Methods 0.000 claims description 5
- 230000035772 mutation Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 6
- 230000008569 process Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/04—TPC
- H04W52/18—TPC being performed according to specific parameters
- H04W52/24—TPC being performed according to specific parameters using SIR [Signal to Interference Ratio] or other wireless path parameters
- H04W52/242—TPC being performed according to specific parameters using SIR [Signal to Interference Ratio] or other wireless path parameters taking into account path loss
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0833—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network energy consumption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/04—TPC
- H04W52/30—TPC using constraints in the total amount of available transmission power
- H04W52/34—TPC management, i.e. sharing limited amount of power among users or channels or data types, e.g. cell loading
- H04W52/346—TPC management, i.e. sharing limited amount of power among users or channels or data types, e.g. cell loading distributing total power among users or channels
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于无线通信技术领域,公开了一种用户分簇及资源分配优化方法。本发明在基于非正交多址的边缘计算系统中,通过协同优化用户分簇、计算资源块分配和发送功率控制策略,在保证用户任务处理时延的QoS需求的条件下,容纳尽可能多的用户,并尽可能减小用户和MEC服务器的总能耗。本发明将非正交多址引入移动边缘计算系统中,缓解了移动边缘计算系统中无线资源短缺所引起的系统容量小、及频谱利用率低导致的计算卸载过程中数据传输速率低的问题,减少移动设备在计算卸载过程中的发送能耗,提高了系统容纳的用户数;有利于在MEC服务器不方便连接电源时减小其能耗,延长其工作时间;启发式优化算法复杂度低,有利于应用于实际系统中。
Description
技术领域
本发明属于无线通信技术领域,尤其涉及一种用户分簇及资源分配优化方法、系统、介质、设备及应用。
背景技术
目前:移动边缘计算(MEC)技术通过将用户设备上的计算、能耗密集型任务卸载到MEC服务器上执行,能够有效解决设备处理能力不足问题,并大大提高能量效率。非正交多址接入(NOMA)通过让多个用户同时使用相同的无线资源,可以大大提高无线频谱效率以及容纳更多的用户。
由于用户设备或物联网设备电池容量的限制,能耗的减少或者能效的提高是基于NOMA的MEC系统研究中的主要研究目标,而用户分簇和资源分配是主要的优化途径,同时,用户任务处理时延是不可忽略的因素。大量的文献已经对基于NOMA的MEC系统中的优化策略做了研究,其中MEC服务器连接着电源,无需考虑其能耗。当MEC服务器是充电式服务器时,除了用户的能耗之外,MEC服务器的能耗也需要考虑,然而现有文献没有考虑到这种情况,缺少对这种场景的理论支持。另外,涉及到上述优化途径的问题往往都是非凸的,因而难以求解或者求解复杂度过高,难以在实际中应用,低复杂度的启发式算法更容易实现,从而更容易在实际中应用。
通过上述分析,现有技术存在的问题及缺陷为:现有文献没有考虑到MEC服务区是充电式服务器的情况,涉及到优化途径的问题往往都是非凸的,因而难以求解。
解决以上问题及缺陷的意义为:本发明考虑了实际中MEC服务器可能是充电型的场景,有利于在MEC服务器不方便连接电源时减小其能耗,延长其工作时间。本发明所提出的启发式优化算法复杂度低,有利于应用于实际系统中。
发明内容
针对现有技术存在的问题,本发明提供了一种用户分簇及资源分配优化方法、系统、介质、设备及应用。
本发明是这样实现的,一种用户分簇及资源分配优化方法,所述用户分簇及资源分配优化方法包括:
初始化用户个数N、总的计算资源块个数Mc,初始化分簇总数I=N/2,初始化给每个用户分配的资源块个数为0,初始化烟花弹种群(每个烟花弹为用户初始发送功率矩阵),初始化烟花算法的相关参数;
把所有用户按照信道增益大小降序排序,前面I个用户中的第i个用户,和后面I个用户中的第i+N个用户配对,实现用户分簇;
采用两轮计算资源块分配。第一轮分配保证每个用户的任务执行时延要求,第二轮分配保证能耗减少量最大,直到所有的计算资源块分配完毕,得到用户计算资源块分配策略;
采用烟花算法实现发送功率控制优化。对于每一个烟花弹,计算其适应度值;根据适应度值,获得每个烟花弹的爆炸火星个数;对每个烟花弹执行爆炸操作,产生若干个爆炸火星;计算每个爆炸火星的适应度值;从烟花弹种群中随机选择若干个烟花弹进行变异操作,产生若干个变异火星;计算每个变异火星的适应度值;在包含所有烟花弹和火星的种群中,保留适应度值最好的个体作为下一代的一个烟花弹,然后基于概率公式,从其余个体中随机选择其他的烟花弹;获得的所有烟花弹作为下一代的烟花弹种群,进行下一次迭代,直到收敛,最终得到最优的发送功率控制策略。
进一步,所述用户分簇及资源分配优化方法的用户分簇及计算资源块分配方法包括以下步骤:
步骤二:把所有用户按照信道增益大小降序排序h1≥h2≥...≥hU;
步骤三:分别把第1,2,...,N/2个用户作为第1,2,…,I个簇的第一个用户;
步骤四:分别把第N/2+1,N/2+2,...,N个用户作为第1,2,…,I个簇的第二个用户,完成用户分簇;
步骤五:开始第一轮计算资源块分配,以保证每个用户的任务执行时延要求:
(2):判断是否满足如果不满足,继续给当前用户u分配资源块,执行(1);如果满足,判断当前用户是否为最后一个用户,如果是,执行步骤六;如果否,开始对下一个用户进行计算资源块分配,执行u=u+1,接着执行(1);
步骤六:开始第二轮计算资源块分配:
步骤七:算法执行结束,得到用户分簇及计算资源块分配策略。
进一步,在步骤一中,每个簇中有2个用户,在频谱效率和实现复杂度之间进行折中;
在步骤五中涉及到的计算资源以计算资源块作为单位进行分配,每个用户分配到若干个计算资源块;计算资源块个数充足;进行第一轮计算资源块分配时,给每个用户分配足够多的计算资源块以满足该用户的任务处理时延约束。
进一步,在步骤六中进行的第二轮计算资源块分配,是将第一轮剩下的计算资源块一个一个地分配出去,对于每个计算资源块分配,首先计算将其分配给每个用户后的能耗相比没有分配到该计算资源块的能耗的减少量,找出分配到该计算资源块能耗增益最大的用户u*,把该计算资源块分配给该用户。循环执行步骤六,直到所有资源块分配完成。
进一步,所述用户分簇及资源分配优化方法的发送功率控制算法包括以下步骤:
步骤三:判断循环对于每一个烟花弹l,计算其适应度值;
步骤六:计算每个爆炸火星的适应度值;
步骤七:从烟花弹种群中随机选择γ个烟花弹,对每个烟花弹执行变异操作,每个烟花弹产生1个变异火星,同样每个变异火星是一个I*2维的功率分配矩阵;
步骤八:计算每个变异火星的适应度值;
步骤九:在包含所有烟花弹和火星的种群中,保留最好的个体作为下一代的一个烟花弹,然后基于概率公式,从其余个体中随机选择其他的L-1个烟花弹;
步骤十:将步骤九中获得的烟花弹种群作为下一代的烟花弹,进行下一次迭代,即从步骤三再开始执行,直到收敛,最终得到最优的策略。
在步骤二、在步骤五、及步骤七中的所有烟花弹、爆炸火星和变异火星统称为种群,其中每个烟花弹、爆炸火星或变异火星称为个体;
在步骤五中的爆炸操作包括如下步骤:
(1)生成随机数:D=round(I·rand(0,1));
(2)从烟花Πl中随机选择D列;
(3)计算位移h=rand(0,Al);
在步骤七中的变异操作包括如下步骤:
(1)生成随机数:D=round(I·rand(0,1));
(2)从烟花Πl中随机选择D列;
(3)计算变异系数g=Gaussian(1,1);
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
初始化用户个数、分簇总数、总的计算资源块个数以及给每个用户分配的资源块个数;
把所有用户按照信道增益大小降序排序,实现用户分簇;
采用两轮计算资源块分配,以保证每个用户的任务执行时延要求,得到用户分簇及计算资源块分配策略;
设置网络中的用户数、簇的个数、烟花算法的相关参数;初始化拥有烟花弹的初始种群;
判断循环对于每一个烟花弹,计算其适应度值;获得每个烟花弹的爆炸火星个数;对每个烟花弹执行爆炸操作;计算每个爆炸火星的适应度值;
从烟花弹种群中随机选择:烟花弹,对每个烟花弹执行变异操作;计算每个变异火星的适应度值;在包含所有烟花弹和火星的种群中,保留最好的个体作为下一代的一个烟花弹,然后基于概率公式,从其余个体中随机选择其他的烟花弹;
获得的烟花弹种群作为下一代的烟花弹,进行下一次迭代,直到收敛,最终得到最优的策略。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
初始化用户个数、分簇总数、总的计算资源块个数以及给每个用户分配的资源块个数;
把所有用户按照信道增益大小降序排序,实现用户分簇;
采用两轮计算资源块分配,以保证每个用户的任务执行时延要求,得到用户分簇及计算资源块分配策略;
设置网络中的用户数、簇的个数、烟花算法的相关参数;初始化拥有烟花弹的初始种群;
判断循环对于每一个烟花弹,计算其适应度值;获得每个烟花弹的爆炸火星个数;对每个烟花弹执行爆炸操作;计算每个爆炸火星的适应度值;
从烟花弹种群中随机选择:烟花弹,对每个烟花弹执行变异操作;计算每个变异火星的适应度值;在包含所有烟花弹和火星的种群中,保留最好的个体作为下一代的一个烟花弹,然后基于概率公式,从其余个体中随机选择其他的烟花弹;
获得的烟花弹种群作为下一代的烟花弹,进行下一次迭代,直到收敛,最终得到最优的策略。
本发明的另一目的在于提供一种无线通信信息数据处理终端,所述无线通信信息数据处理终端用于实现所述的用户分簇及资源分配优化方法。
本发明的另一目的在于提供一种实施所述用户分簇及资源分配优化方法的用户分簇及资源分配优化系统,所述用户分簇及资源分配优化系统包括:
用户分簇模块,用于初始化用户个数、分簇总数、总的计算资源块个数以及给每个用户分配的资源块个数;把所有用户按照信道增益大小降序排序,实现用户分簇;
计算资源块分配模块,用于采用两轮计算资源块分配,以保证每个用户的任务执行时延要求,得到用户分簇及计算资源块分配策略;
发送功率控制模块,用于设置网络中的用户数、簇的个数、烟花算法的相关参数;初始化拥有烟花弹的初始种群;判断循环对于每一个烟花弹,计算其适应度值;获得每个烟花弹的爆炸火星个数;对每个烟花弹执行爆炸操作;计算每个爆炸火星的适应度值;从烟花弹种群中随机选择烟花弹,对每个烟花弹执行变异操作;计算每个变异火星的适应度值;在包含所有烟花弹和火星的种群中,保留最好的个体作为下一代的一个烟花弹,然后基于概率公式,从其余个体中随机选择其他的烟花弹;获得的烟花弹种群作为下一代的烟花弹,进行下一次迭代,直到收敛,最终得到最优的策略。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明基于非正交多址的边缘计算系统中的协同优化用户分簇、计算资源块分配和功率控制方法,在保证用户任务处理时延的QoS需求的条件下,容纳尽可能多的用户,减小用户和MEC服务器的总能耗。本发明把非正交多址引入移动边缘计算系统中,缓解了移动边缘计算系统中无线资源短缺所引起的系统容量小、及频谱利用率低导致的计算卸载过程中数据传输速率低的问题,从而能够减少移动设备在计算卸载过程中的发送能耗,并提高了系统容纳的用户数。
另外,本发明考虑了实际中MEC服务器可能是充电型的场景,有利于在MEC服务器不方便连接电源时减小其能耗,从而延长其工作时间。此外,针对本发明提出的联合用户分簇、计算资源分配、发送功率控制的联合优化,设计了两个低复杂度的启发式式算法,操作简便,易于实现。涉及移动边缘计算(MEC)和非正交多址接入(NOMA)集成系统的联合优化。本发明可以在保证用户任务执行时延的前提下,通过协同用户分簇、计算资源分配和功率控制的联合优化,有效减少系统的能量消耗。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的用户分簇及资源分配优化方法流程图。
图2是本发明实施例提供的用户分簇及资源分配优化系统的结构示意图;
图2中:1、用户分簇模块;2、计算资源块分配模块;3、发送功率控制模块。
图3是本发明实施例提供的可应用的一个场景图。
图4是本发明实施例提供的用户分簇及计算资源块分配流程图。
图5是本发明实施例提供的发送功率分配流程图。
图6是本发明与现有联合用户分簇及资源分配方法对不同任务处理密度的能耗比较图。
图7是本发明与现有联合用户分簇及资源分配方法对不同任务输入数据量的能耗比较图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种用户分簇及资源分配优化方法、系统、介质、设备及应用,下面结合附图对本发明作详细的描述。
如图1所示,本发明提供的用户分簇及资源分配优化方法包括以下步骤:
S101:初始化用户个数N、总的计算资源块个数Mc,初始化分簇总数I=N/2,初始化给每个用户分配的资源块个数为0,初始化烟花弹种群(每个烟花弹为用户初始发送功率矩阵),初始化烟花算法的相关参数;
S102:把所有用户按照信道增益大小降序排序,前面I个用户中的第i个用户,和后面I个用户中的第i+N个用户配对,实现用户分簇;
S103:采用两轮计算资源块分配。第一轮分配保证每个用户的任务执行时延要求,第二轮分配保证能耗最小化,直到所有的计算资源块分配完毕,得到用户计算资源块分配策略;
S104:对于每一个烟花弹,计算其适应度值;根据适应度值,获得每个烟花弹的爆炸火星个数;对每个烟花弹执行爆炸操作,产生若干个爆炸火星;计算每个爆炸火星的适应度值;
S105:从烟花弹种群中随机选择若干个烟花弹进行变异操作,产生若干个变异火星;计算每个变异火星的适应度值;
S106:在包含所有烟花弹和火星的种群中,保留适应度值最好的个体作为下一代的一个烟花弹,然后基于概率公式,从其余个体中随机选择其他的烟花弹;
S107:获得的所有烟花弹作为下一代的烟花弹种群,进行下一次迭代,直到收敛,最终得到最优的发送功率控制策略。
本发明提供的用户分簇及资源分配优化方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的用户分簇及资源分配优化方法仅仅是一个具体实施例而已。
如图2所示,本发明提供的用户分簇及资源分配优化系统包括:
用户分簇模块1,用于初始化用户个数、分簇总数、总的计算资源块个数以及给每个用户分配的资源块个数;把所有用户按照信道增益大小降序排序,实现用户分簇;
计算资源块分配模块2,用于采用两轮计算资源块分配,以保证每个用户的任务执行时延要求,得到用户分簇及计算资源块分配策略;
发送功率控制模块3,用于设置网络中的用户数、簇的个数、烟花算法的相关参数;初始化拥有烟花弹的初始种群;判断循环对于每一个烟花弹,计算其适应度值;获得每个烟花弹的爆炸火星个数;对每个烟花弹执行爆炸操作;计算每个爆炸火星的适应度值;从烟花弹种群中随机选择烟花弹,对每个烟花弹执行变异操作;计算每个变异火星的适应度值;在包含所有烟花弹和火星的种群中,保留最好的个体作为下一代的一个烟花弹,然后基于概率公式,从其余个体中随机选择其他的烟花弹;获得的烟花弹种群作为下一代的烟花弹,进行下一次迭代,直到收敛,最终得到最优的策略。
下面结合附图对本发明的技术方案作进一步的描述。
图3是本发明的方法可应用的一个场景图。系统中包含一个充电式的基于WiFiAP的边缘计算服务器,其周围分布着U个移动用户设备。每个用户有一个计算密集型任务要卸载到边缘计算服务器上去执行。每个用户的任务可以表示为Λu={Du,λu,Tu max},其中Du为输入数据量大小(单位为比特),λu是处理密度,单位为CPUcycles/bit,表示任务的复杂度,Tu max表示任务的处理时延约束。另外Cu=Du*λu表示的Λu的任务量,即处理完该任务需要的CPUcycles。
本发明中用户以非正交多址的方式与服务器通信,以尽可能充分使用有限的无线资源,从而容纳更多的用户。所有U个用户分成I个簇,每个簇中的所有用户使用相同的无线资源,不同的簇使用相互正交的无线频带资源。然而,使用相同无线资源的用户过多会导致系统实现复杂,从而导致成本太高。为了在频带利用率和系统复杂性之间进行一个较好的折中,本发明中一个簇中容纳两个用户。这样,不同簇的用户之间由于无线信道正交互不干扰,而同一个簇内的用户会相互干扰。为了克服簇内干扰,保证多个用户既能够以非正交多址的方式共享无线资源,又能够保证每个用户满意的数据传送速率,可以通过合理的用户分簇,保证簇内用户之间信道有一定的差异,配合发送端进行发送功率控制以及接收端的串行干扰消除来实现。
此外,由于不同任务的参数不同,信道质量不同,当这些任务卸载到边缘服务器时,边缘服务器有限的计算资源需要在这些用户之间进行优化的分配,从而在保证每个用户的最低任务处理时延要求的前提下,尽可能减小系统的总能耗。
如图4所示,本发明的基于非正交多址的边缘计算系统中的用户分簇及计算资源块分配方法包括以下步骤:
步骤一:初始化参数:用户个数N,分簇的总数I=N/2,总的计算资源块个数Mc,以及给每个用户分配的资源块个数xu=0,u∈u;
步骤二:把所有用户按照信道增益大小降序排序h1≥h2≥...≥hU;
步骤三:分别把第1,2,...,N/2个用户作为第1,2,…,I个簇的第一个用户;
步骤四:分别把第N/2+1,N/2+2,...,N个用户作为第1,2,…,I个簇的第二个用户,完成用户分簇;
步骤五:开始第一轮计算资源块分配,以保证每个用户的任务执行时延要求:
(5b):判断是否满足如果不满足,继续给当前用户u分配资源块,执行步骤5a;如果满足,判断当前用户是否为最后一个用户,如果是,执行步骤六;如果否,开始对下一个用户进行计算资源块分配,执行u=u+1,接着执行步骤5a;
步骤六:开始第二轮计算资源块分配:
步骤七:算法执行结束,得到用户分簇及计算资源块分配策略。
在步骤一中,每个簇中有2个用户,用来在频谱效率和实现复杂度之间进行折中。
在步骤五中涉及到的计算资源是以计算资源块作为单位进行分配,每个用户可以分配到若干个计算资源块;计算资源块个数充足;进行第一轮计算资源块分配时,给每个用户分配足够多的计算资源块以满足该用户的任务处理时延约束。
在步骤六中进行的第二轮计算资源块分配,是将第一轮剩下的计算资源块一个一个地分配出去。对于每个计算资源块分配,首先计算将其分配给每个用户后的能耗相比没有分配到该计算资源块的能耗的减少量(即能耗增益),找出分配到该计算资源块能耗增益最大的用户u*,把该计算资源块分配给该用户。循环执行步骤六,直到所有资源块分配完成。步骤六可以保证通过计算资源分配所得到的能耗增益达到最大。
如图5所示,本发明采用的基于非正交多址的边缘计算系统中的发送功率控制算法包括以下步骤:
步骤三:判断循环对于每一个烟花弹l,计算其适应度值;
步骤六:计算每个爆炸火星的适应度值;
步骤七:从烟花弹种群中随机选择γ个烟花弹,对每个烟花弹执行变异操作,每个烟花弹产生1个变异火星,同样每个变异火星是一个I*2维的功率分配矩阵;
步骤八:计算每个变异火星的适应度值;
步骤九:在包含所有烟花弹和火星的种群中,保留最好的个体作为下一代的一个烟花弹,然后基于概率公式,从其余个体中随机选择其他的L-1个烟花弹;
步骤十:将步骤九中获得的烟花弹种群作为下一代的烟花弹,进行下一次迭代,即从步骤三再开始执行,直到收敛,最终得到最优的策略。
在步骤二、在步骤五、及步骤七中的所有烟花弹、爆炸火星和变异火星统称为种群,其中每个烟花弹、爆炸火星或变异火星称为个体。
在步骤五中的爆炸操作包括如下步骤:
(1)生成随机数:D=round(I·rand(0,1));
(2)从烟花Πl中随机选择D列;
(3)计算位移h=rand(0,Al);
在步骤七中的变异操作包括如下步骤:
(1)生成随机数:D=round(I·rand(0,1));
(2)从烟花Πl中随机选择D列;
(3)计算变异系数g=Gaussian(1,1);
本发明提出的基于非正交多址接入的移动边缘计算系统能够解决由于用户设备处理能力不足带来的时延、能耗高的问题,能够缓解由于无线频带资源不足带来的系统容量少的问题。此外,本发明提出的协同用户分簇、计算资源分配及发送功率控制方法,操作简便,而且更具有实时性,更接近真实场景,利于网络优化,系统性能的提高。
下面结合实验对本发明的技术效果作详细的描述。
如图6、图7所示,本发明(记为Proposed)和现有的两个方案进行对比:
在Random-clustering-computing方案中,用户随机进行分簇,即随意挑两个用户组成一个簇;另外,为了基本的公平性保证,每个用户首先被分配一个计算资源块,然后,从第一个簇中的用户依次开始,每个用户会被随机分配给若干个计算资源块,直到所有资源块分配完毕。
在Random-power方案中,每个用户以一个随机的功率发送其数据。
图6给出了用户任务的处理密度对系统总能耗的影响。随着处理密度的增加,任务越来越复杂,处理任务需要的能耗越来越多,因此三个方案的能耗都呈增长趋势。另外,当处理密度很小的时候,能耗主要来自用户的数据传输能耗,此时功率控制起着主要的作用。由于在本发明提出的方案和Random-clustering-computing方案中,对功率控制进行优化,这两个算法的能耗非常小,几乎接近于0。随着处理密度增加,任务越来越复杂,此时计算资源分配起着主要的作用。由于在Random-clustering-computing中没有计算资源分配优化,该方案的能耗增长很快。另外,由于本发明在用户分簇、计算资源块分配、发送功率控制方面的联合优化,本发明提出的方案无论在何种情况下,能耗总是最小。
图7给出了用户任务的输入数据量对系统总能耗的影响。由于任务量随着发送功率线性增长,当输入数据量很小时,一方面发送能耗也很小,另一方面任务量也很小,所以任务处理能耗也很小。因此,三个方案在数据量很小时的能耗都很小。随着输入数据量增加,需要的发送能耗增加,同时任务量也增加,导致处理能耗也增加,因此三个方案的能耗都增加。另外,由于本发明在用户分簇、计算资源块分配、发送功率控制方面的联合优化,本发明提出的方案无论在何种情况下,能耗总是最小。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种用户分簇及资源分配优化方法,其特征在于,所述用户分簇及资源分配优化方法包括:
初始化用户个数N、总的计算资源块个数Mc,初始化分簇总数I=N/2,初始化给每个用户分配的资源块个数为0,初始化烟花弹种群,每个烟花弹为用户初始发送功率矩阵,初始化烟花算法的相关参数;
把所有用户按照信道增益大小降序排序,前面I个用户中的第i个用户,和后面I个用户中的第i+N个用户配对,实现用户分簇;
采用两轮计算资源块分配,第一轮分配保证每个用户的任务执行时延要求,第二轮分配保证能耗减少量最大,直到所有的计算资源块分配完毕,得到用户计算资源块分配策略;
采用烟花算法实现发送功率控制优化;对于每一个烟花弹,计算其适应度值;根据适应度值,获得每个烟花弹的爆炸火星个数;对每个烟花弹执行爆炸操作,产生若干个爆炸火星;计算每个爆炸火星的适应度值;从烟花弹种群中随机选择若干个烟花弹进行变异操作,产生若干个变异火星;计算每个变异火星的适应度值;在包含所有烟花弹和火星的种群中,保留适应度值最好的个体作为下一代的一个烟花弹,然后基于概率公式,从其余个体中随机选择其他的烟花弹;获得的所有烟花弹作为下一代的烟花弹种群,进行下一次迭代,直到收敛,最终得到最优的发送功率控制策略;
所述用户分簇及资源分配优化方法的用户分簇及计算资源块分配方法包括以下步骤:
步骤二:把所有用户按照信道增益大小降序排序h1≥h2≥...≥hU;
步骤三:分别把第1,2,...,N/2个用户作为第1,2,…,I个簇的第一个用户;
步骤四:分别把第N/2+1,N/2+2,...,N个用户作为第1,2,…,I个簇的第二个用户,完成用户分簇;
步骤五:开始第一轮计算资源块分配,以保证每个用户的任务执行时延要求:
(2):判断是否满足如果不满足,继续给当前用户u分配资源块,执行(1);如果满足,判断当前用户是否为最后一个用户,如果是,执行步骤六;如果否,开始对下一个用户进行计算资源块分配,执行u=u+1,接着执行(1);其中,表示任务的处理时延约束;
步骤六:开始第二轮计算资源块分配:
步骤七:算法执行结束,得到用户分簇及计算资源块分配策略;
所述爆炸操作包括如下步骤:
(1)生成随机数:D=round(I·rand(0,1));
(2)从烟花Πl中随机选择D列;
(3)计算位移h=rand(0,Al);
所述变异操作包括如下步骤:
(1)生成随机数:D=round(I·rand(0,1));
(2)从烟花Πl中随机选择D列;
(3)计算变异系数g=Gaussian(1,1);
2.如权利要求1所述的用户分簇及资源分配优化方法,其特征在于,在步骤一中,每个簇中有2个用户,在频谱效率和实现复杂度之间进行折中;
在步骤五中涉及到的计算资源以计算资源块作为单位进行分配,每个用户分配到若干个计算资源块;计算资源块个数充足;进行第一轮计算资源块分配时,给每个用户分配计算资源块以满足该用户的任务处理时延约束。
3.如权利要求1所述的用户分簇及资源分配优化方法,其特征在于,在步骤六中进行的第二轮计算资源块分配,是将第一轮剩下的计算资源块一个一个地分配出去,对于每个计算资源块分配,首先计算将其分配给每个用户后的能耗相比没有分配到该计算资源块的能耗的减少量,找出分配到该计算资源块能耗增益最大的用户u*,把该计算资源块分配给该用户;循环执行步骤六,直到所有资源块分配完成。
4.如权利要求1所述的用户分簇及资源分配优化方法,其特征在于,所述用户分簇及资源分配优化方法的发送功率控制算法包括以下步骤:
步骤三:判断循环对于每一个烟花弹l,计算其适应度值;
步骤六:计算每个爆炸火星的适应度值;
步骤七:从烟花弹种群中随机选择γ个烟花弹,对每个烟花弹执行变异操作,每个烟花弹产生1个变异火星,同样每个变异火星是一个I*2维的功率分配矩阵;
步骤八:计算每个变异火星的适应度值;
步骤九:在包含所有烟花弹和火星的种群中,保留最好的个体作为下一代的一个烟花弹,然后基于概率公式,从其余个体中随机选择其他的L-1个烟花弹;
步骤十:将步骤九中获得的烟花弹种群作为下一代的烟花弹,进行下一次迭代,即从步骤三再开始执行,直到收敛,最终得到最优的策略。
6.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
初始化用户个数N、总的计算资源块个数Mc,初始化分簇总数I=N/2,初始化给每个用户分配的资源块个数为0,初始化烟花弹种群,每个烟花弹为用户初始发送功率矩阵,初始化烟花算法的相关参数;
把所有用户按照信道增益大小降序排序,前面I个用户中的第i个用户,和后面I个用户中的第i+N个用户配对,实现用户分簇;
采用两轮计算资源块分配;第一轮分配保证每个用户的任务执行时延要求,第二轮分配保证能耗减少量最大,直到所有的计算资源块分配完毕,得到用户计算资源块分配策略;
采用烟花算法实现发送功率控制优化;对于每一个烟花弹,计算其适应度值;根据适应度值,获得每个烟花弹的爆炸火星个数;对每个烟花弹执行爆炸操作,产生若干个爆炸火星;计算每个爆炸火星的适应度值;从烟花弹种群中随机选择若干个烟花弹进行变异操作,产生若干个变异火星;计算每个变异火星的适应度值;在包含所有烟花弹和火星的种群中,保留适应度值最好的个体作为下一代的一个烟花弹,然后基于概率公式,从其余个体中随机选择其他的烟花弹;获得的所有烟花弹作为下一代的烟花弹种群,进行下一次迭代,直到收敛,最终得到最优的发送功率控制策略;
所述用户分簇及资源分配优化方法的用户分簇及计算资源块分配方法包括以下步骤:
步骤二:把所有用户按照信道增益大小降序排序h1≥h2≥...≥hU;
步骤三:分别把第1,2,...,N/2个用户作为第1,2,…,I个簇的第一个用户;
步骤四:分别把第N/2+1,N/2+2,...,N个用户作为第1,2,…,I个簇的第二个用户,完成用户分簇;
步骤五:开始第一轮计算资源块分配,以保证每个用户的任务执行时延要求:
(2):判断是否满足如果不满足,继续给当前用户u分配资源块,执行(1);如果满足,判断当前用户是否为最后一个用户,如果是,执行步骤六;如果否,开始对下一个用户进行计算资源块分配,执行u=u+1,接着执行(1);
步骤六:开始第二轮计算资源块分配:
步骤七:算法执行结束,得到用户分簇及计算资源块分配策略;
所述爆炸操作包括如下步骤:
(1)生成随机数:D=round(I·rand(0,1));
(2)从烟花Πl中随机选择D列;
(3)计算位移h=rand(0,Al);
所述变异操作包括如下步骤:
(1)生成随机数:D=round(I·rand(0,1));
(2)从烟花Πl中随机选择D列;
(3)计算变异系数g=Gaussian(1,1);
7.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
初始化用户个数N、总的计算资源块个数Mc,初始化分簇总数I=N/2,初始化给每个用户分配的资源块个数为0,初始化烟花弹种群,每个烟花弹为用户初始发送功率矩阵,初始化烟花算法的相关参数;
把所有用户按照信道增益大小降序排序,前面I个用户中的第i个用户,和后面I个用户中的第i+N个用户配对,实现用户分簇;
采用两轮计算资源块分配;第一轮分配保证每个用户的任务执行时延要求,第二轮分配保证能耗减少量最大,直到所有的计算资源块分配完毕,得到用户计算资源块分配策略;
采用烟花算法实现发送功率控制优化;对于每一个烟花弹,计算其适应度值;根据适应度值,获得每个烟花弹的爆炸火星个数;对每个烟花弹执行爆炸操作,产生若干个爆炸火星;计算每个爆炸火星的适应度值;从烟花弹种群中随机选择若干个烟花弹进行变异操作,产生若干个变异火星;计算每个变异火星的适应度值;在包含所有烟花弹和火星的种群中,保留适应度值最好的个体作为下一代的一个烟花弹,然后基于概率公式,从其余个体中随机选择其他的烟花弹;获得的所有烟花弹作为下一代的烟花弹种群,进行下一次迭代,直到收敛,最终得到最优的发送功率控制策略;
所述用户分簇及资源分配优化方法的用户分簇及计算资源块分配方法包括以下步骤:
步骤二:把所有用户按照信道增益大小降序排序h1≥h2≥...≥hU;
步骤三:分别把第1,2,...,N/2个用户作为第1,2,…,I个簇的第一个用户;
步骤四:分别把第N/2+1,N/2+2,...,N个用户作为第1,2,…,I个簇的第二个用户,完成用户分簇;
步骤五:开始第一轮计算资源块分配,以保证每个用户的任务执行时延要求:
(2):判断是否满足如果不满足,继续给当前用户u分配资源块,执行(1);如果满足,判断当前用户是否为最后一个用户,如果是,执行步骤六;如果否,开始对下一个用户进行计算资源块分配,执行u=u+1,接着执行(1);
步骤六:开始第二轮计算资源块分配:
步骤七:算法执行结束,得到用户分簇及计算资源块分配策略;
所述爆炸操作包括如下步骤:
(1)生成随机数:D=round(I·rand(0,1));
(2)从烟花Πl中随机选择D列;
(3)计算位移h=rand(0,Al);
所述变异操作包括如下步骤:
(1)生成随机数:D=round(I·rand(0,1));
(2)从烟花Πl中随机选择D列;
(3)计算变异系数g=Gaussian(1,1);
8.一种无线通信信息数据处理终端,其特征在于,所述无线通信信息数据处理终端用于实现权利要求1~5任意一项所述的用户分簇及资源分配优化方法。
9.一种实施权利要求1~5任意一项所述用户分簇及资源分配优化方法的用户分簇及资源分配优化系统,其特征在于,所述用户分簇及资源分配优化系统包括:
用户分簇模块,用于初始化用户个数、分簇总数、总的计算资源块个数以及给每个用户分配的资源块个数;把所有用户按照信道增益大小降序排序,实现用户分簇;
计算资源块分配模块,用于采用两轮计算资源块分配,以保证每个用户的任务执行时延要求,得到用户分簇及计算资源块分配策略;
发送功率控制模块,用于设置网络中的用户数、簇的个数、烟花算法的相关参数;初始化拥有烟花弹的初始种群;判断循环对于每一个烟花弹,计算其适应度值;获得每个烟花弹的爆炸火星个数;对每个烟花弹执行爆炸操作;计算每个爆炸火星的适应度值;从烟花弹种群中随机选择烟花弹,对每个烟花弹执行变异操作;计算每个变异火星的适应度值;在包含所有烟花弹和火星的种群中,保留最好的个体作为下一代的一个烟花弹,然后基于概率公式,从其余个体中随机选择其他的烟花弹;获得的烟花弹种群作为下一代的烟花弹,进行下一次迭代,直到收敛,最终得到最优的策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011462575.7A CN112654081B (zh) | 2020-12-14 | 2020-12-14 | 用户分簇及资源分配优化方法、系统、介质、设备及应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011462575.7A CN112654081B (zh) | 2020-12-14 | 2020-12-14 | 用户分簇及资源分配优化方法、系统、介质、设备及应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112654081A CN112654081A (zh) | 2021-04-13 |
CN112654081B true CN112654081B (zh) | 2023-02-07 |
Family
ID=75353699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011462575.7A Active CN112654081B (zh) | 2020-12-14 | 2020-12-14 | 用户分簇及资源分配优化方法、系统、介质、设备及应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112654081B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282394B (zh) * | 2021-06-07 | 2022-03-22 | 河北工业大学 | 面向协作机制资源受限边缘服务器间任务调度方法 |
CN113573280B (zh) * | 2021-06-08 | 2023-09-19 | 西安邮电大学 | 一种车辆边缘计算成本效益优化方法、系统、设备、终端 |
CN113543271B (zh) * | 2021-06-08 | 2022-06-07 | 西安交通大学 | 一种面向有效容量的资源分配方法及系统 |
CN114363962A (zh) * | 2021-12-07 | 2022-04-15 | 重庆邮电大学 | 一种协作式边缘服务器部署和资源调度方法、存储介质及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490234A (zh) * | 2019-07-19 | 2019-11-22 | 武汉大学 | 基于聚类分类联合机制的分类器的构建方法以及分类方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6733448B2 (ja) * | 2016-09-15 | 2020-07-29 | 日本電気株式会社 | 無線通信制御装置、無線通信システム、プリアンブル系列配分方法およびプログラム |
CN109697000B (zh) * | 2017-10-24 | 2022-09-16 | 阿里巴巴集团控股有限公司 | 资源分配方法及相关设备、显示方法及相关设备 |
CN108809470B (zh) * | 2018-07-04 | 2020-04-07 | 西安邮电大学 | 一种超密集蜂窝网络中的分簇算法 |
US20200074348A1 (en) * | 2018-08-30 | 2020-03-05 | Fujitsu Limited | Multi-function improvement for machine learning systems |
CN109614216A (zh) * | 2018-08-30 | 2019-04-12 | 广东工业大学 | 一种基于烟花算法的云平台能耗优化管理方法 |
CN111800828B (zh) * | 2020-06-28 | 2023-07-18 | 西北工业大学 | 一种超密集网络的移动边缘计算资源分配方法 |
-
2020
- 2020-12-14 CN CN202011462575.7A patent/CN112654081B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490234A (zh) * | 2019-07-19 | 2019-11-22 | 武汉大学 | 基于聚类分类联合机制的分类器的构建方法以及分类方法 |
Non-Patent Citations (2)
Title |
---|
Enhancing interaction in the fireworks algorithm by dynamic resource allocation and fitness-based crowdedness-avoiding strategy;Junzhi Li等;《2016 IEEE Congress on Evolutionary Computation (CEC)》;20161121;第4015-4021页 * |
基于烟花算法的D2D资源分配方案;刘辉等;《计算机工程与应用》;20180524;第86-91页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112654081A (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112654081B (zh) | 用户分簇及资源分配优化方法、系统、介质、设备及应用 | |
CN111447619B (zh) | 一种移动边缘计算网络中联合任务卸载和资源分配方法 | |
CN111586720B (zh) | 一种多小区场景下的任务卸载和资源分配的联合优化方法 | |
WO2022121097A1 (zh) | 一种移动用户计算任务的卸载方法 | |
CN112000481B (zh) | 一种d2d-mec系统计算能力最大化的任务卸载方法 | |
CN109413724A (zh) | 一种基于mec的任务卸载和资源分配方案 | |
CN107426773B (zh) | 无线异构网络中面向能效的分布式资源分配方法和装置 | |
CN109756912B (zh) | 一种多用户多基站联合任务卸载及资源分配方法 | |
CN112738185B (zh) | 基于非正交多址的边缘计算系统控制联合优化方法及应用 | |
CN111885147A (zh) | 边缘计算中的一种资源动态定价方法 | |
CN108712746B (zh) | 一种部分重叠信道聚合博弈模型及学习方法 | |
CN114375058A (zh) | 任务队列感知的边缘计算实时信道分配和任务卸载方法 | |
CN114885418A (zh) | 5g超密集网络中任务卸载及资源分配的联合优化方法、装置及介质 | |
CN115396953B (zh) | 移动边缘计算中一种基于改进粒子群算法的计算卸载方法 | |
CN115103326B (zh) | 基于联盟博弈的车联网任务卸载与资源管理方法及装置 | |
CN110996390B (zh) | 一种无线接入网络计算资源分配方法及网络系统 | |
CN114189521B (zh) | 在f-ran架构中协作计算卸载的方法 | |
CN113573280A (zh) | 一种车辆边缘计算成本效益优化方法、系统、设备、终端 | |
CN113556760B (zh) | 一种移动边缘计算成本效益优化方法、系统及应用 | |
CN116016502A (zh) | Vr系统卸载成本最小化的通信和计算资源的联合分配方法 | |
CN112367644B (zh) | 一种基于d2d的无线缓存网络中系统吞吐量优化方法 | |
CN111464216B (zh) | 一种基于大规模mimo的移动边缘计算时延最小化方法 | |
CN110856215B (zh) | 一种多接入边缘计算的资源分配算法 | |
CN114567909A (zh) | 一种联合优化计算卸载和资源分配的方法及系统 | |
CN113055854A (zh) | 基于noma的车辆边缘计算网络优化方法、系统、介质及应用 |
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 |