CN113382066B - 基于联邦边缘平台的车辆用户选择方法及系统 - Google Patents
基于联邦边缘平台的车辆用户选择方法及系统 Download PDFInfo
- Publication number
- CN113382066B CN113382066B CN202110638706.0A CN202110638706A CN113382066B CN 113382066 B CN113382066 B CN 113382066B CN 202110638706 A CN202110638706 A CN 202110638706A CN 113382066 B CN113382066 B CN 113382066B
- Authority
- CN
- China
- Prior art keywords
- vehicle
- customer
- data
- federal
- queue
- 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
- 238000010187 selection method Methods 0.000 title claims abstract description 16
- 238000012549 training Methods 0.000 claims abstract description 33
- 238000005265 energy consumption Methods 0.000 claims abstract description 28
- 230000004083 survival effect Effects 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 53
- 230000006870 function Effects 0.000 claims description 26
- 230000035899 viability Effects 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 15
- 238000005457 optimization Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 3
- 230000003466 anti-cipated effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Operations Research (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了基于联邦边缘平台的车辆用户选择方法及系统。本发明包括:建立车辆网络的联邦边缘学习训练全局模型;控制每个单位时间收集数据的客户车辆数量,根据数据队列的离开率大于数据队列的到达率,联邦边缘平台以平均时间精度最大化来选择收集数据的客户车辆数量;根据收集数据的客户车辆数量,以其中每个客户车辆的数据量大小、预期时间消耗、预期能量消耗以及生存能力来计算权重,根据权重确定优先级并选择客户车辆。本发明解决了同方向不同速度的车辆网络如果采取车辆本地训练的方式可能会导致高延迟、网络拥塞、计算资源缺乏以及本地训练所需的时间可能影响到行驶中的客户车辆等问题。
Description
技术领域
本发明涉及车载联邦边缘学习技术领域,尤其是指基于联邦边缘平台的车辆用户选择方法及系统。
背景技术
深度神经网络在一些机器学习任务中表现出了强大的性能,包括语音识别、目标检测和自然语言处理。使用大量的训练数据和复杂的神经网络架构使生成高质量的模型成为可能,将这些系统推向需要更多计算资源和更大更丰富的数据集的应用。为了应对更大的工作负担,数据中心采用了分布式神经网络训练技术。为了在分布式训练中有效地利用高性能计算集群(HPC),考虑了许多技术,包括同步和异步更新、压缩和量化,以及分层系统。然而,传统的分布式学习需要从多个实体收集和共享数据到一个数据中心。从多个实体收集数据到一个数据中心限制了深度学习算法的应用到以及涉及到数据隐私保护问题。例如,分布式移动设备创建的数据与数据中心收集的数据一样丰富,但这种丰富的数据是隐私敏感的,这可能妨碍集成到数据中心。此外,医学、金融等学科都采用了深度学习算法,并取得了显著的成功;然而,由于数据源之间共享隐私敏感数据的限制而导致的数据短缺是一个关键问题。为了用集成数据训练模型,已经研究了几种分布式学习技术。例如,分裂学习是一种跨越多个数据源的深度神经网络训练新技术;它通过在客户端(数据源)和服务器端之间分割模型层序列来避免原始数据的共享。然而,由于客户端的顺序训练过程,分裂学习的计算资源利用率相对较低。此外,客户端和中央云服务器之间的通信成本与训练数据集的大小成比例地增加。虽然分裂学习的并行方法被认为是可行的,但通信成本在跨设备和跨竖井设置中仍然占主导地位,而不是优化数据中心中的分布式处理。相比之下,联邦学习(FL)提出了一种通过聚合数据中心的本地更新而将训练数据留在分布式客户端来学习共享模型的方法。FL对于不平衡、非独立和非相同分布(非iid)的数据是强大的,对于有大量客户参与的系统也是强大的。此外,FL可以容忍由于不稳定环境(即生存能力耗尽、网络状态不稳定等)而导致的参与客户退出。最近的一些研究将移动边缘计算(MEC)结构应用于FL,形成了一种称为联邦边缘学习(FEEL)的架构。FEEL可以通过层次化的架构来降低高昂的通信成本。
虽然FL在训练深度学习模型的同时将数据留在客户端,但它仍然存在通信成本高、客户车辆生存能力问题、数据集不平衡等问题。特别是,客户车辆计算本地更新时生存能力的耗尽被认为是FL过程的一个约束;因此,应该考虑到这一点。此外,尽管FL能够容忍参与客户退出,但如果有更多的客户参与训练在训练准确性方面具有优势,因为这样涵盖了更大的训练数据集。
由于随机选择方法在选择客户车辆时没有考虑每个客户车辆的资源信息,所以有些客户车辆数据充足但生存能力不足,或者生存能力充足但数据不足。但是本发明提出的算法考虑了可用资源(特别是客户车辆的生存能力),通过对整个客户车辆集合接收更多的数据来实现更大的利用率。
发明内容
为此,本发明所要解决的技术问题在于克服现有技术中针对同方向不同速度的车辆网络如果采取车辆本地训练的方式可能会导致高延迟、网络拥塞、计算资源缺乏以及本地训练所需的时间可能影响到行驶中的客户车辆等问题以及联邦学习在训练深度学习模型的时存在通信成本高、客户车辆生存能力问题、数据集不平衡等问题。
为解决上述技术问题,本发明提供了基于联邦边缘平台的车辆用户选择方法,包括如下步骤:
步骤S1:建立车辆网络的联邦边缘学习训练全局模型,所述全局模型包括客户车辆、联邦边缘平台和中央云服务器,所述客户车辆收集数据并上传联邦边缘平台,所述联邦边缘平台对数据做本地更新,中央云服务器利用本地更新来更新全局模型;
步骤S2:根据全局模型控制每个单位时间收集数据的客户车辆数量,联邦边缘平台以平均时间精度最大化来选择最优客户车辆数量;
步骤S3:根据最优客户车辆的数据量大小、预期时间消耗、预期能量消耗以及生存能力,计算最优客户车辆数量中每一个客户车辆权重,按照权重的大小进一步选择客户车辆。
在本发明的一个实施例中,步骤S2中,控制每个单位时间收集数据的客户车辆数量,联邦边缘平台以平均时间精度最大化来选择收集数据的客户车辆数量的方法为:步骤S21:基于李雅普诺夫方程定义数据队列积压的增长量;步骤S22:根据数据队列的离开率大于数据队列的到达率,在每个单位时间内求解数据队列积压的增长量与选定客户车辆时客户车辆的效用函数之和的最大值,其中数据队列的离开表示中央云服务器接收本地更新,数据队列的到达表示客户车辆收集数据并进行上传联邦边缘平台。
在本发明的一个实施例中,步骤S2中,所述平均时间精度最大化的数学方程可以表述为:
其中,T为总队列循环周期,t为当前时刻,选定客户车辆数s(t)时客户车辆的效用函数记为U(s(t)),表示为:A(s(t))表示选定客户车辆数s(t)时,学习模型的期望精度;公式(2)表示队列稳定性约束,k为当前客户车辆,K为客户车辆总数,Qk为当前队列积压情况。
在本发明的一个实施例中,所述当前队列积压情况用公式表示为:
Qk(t+1)=max{Qk(t)+λk(t)-μk(t),0},k∈{1,...,K}. (3)
其中Qk(t)、λk(t)和μk(t)分别指联邦边缘平台的队列积压大小、t时刻到达联邦边缘平台的数据量和t时刻离开联邦边缘平台的数据量。
在本发明的一个实施例中,步骤S22中,根据数据队列的离开率大于数据队列的到达率,所述在每个单位时间内求解数据队列积压的增长量与选定客户车辆时客户车辆的效用函数之和的最大值的方法为:
借助权重V来调节数据队列积压的增长量与效用函数二者的重视程度:
max:△(Θ(t))+V·U(s(t)) (11)
s.t.Q(t)<∞ (12)
根据数据队列的离开率大于数据队列的到达率得:
常数不被考虑,变为:
s.t.Q(t)<∞
根据李雅普诺夫优化框架,平均时间精度在等间隙近似下进行修正:
其中s*(t),s(t),X,V,U(s(t)),Q(t),λ(s(t))和μ(t)分别表示时间平均的最优车辆用户数、可能的车辆用户数、车辆用户数集合、准确性与数据队列积压的权衡因子、效用函数、数据队列积压、数据队列的到达过程、数据队列的离开过程。
在本发明的一个实施例中,所述权重的表达式为:
其中:Cd为客户车辆的数据量;CT为客户车辆的预期时间消耗;客户车辆的预期能量消耗:CE=ck×δ,c表示客户车辆所需的计算能力,δ表示一个CPU周期的能耗;客户车辆的生存能力:CS=(D-dk)/Uk,D表示联邦边缘平台覆盖范围,d表示客户车辆在联邦边缘平台内的初始位置,U表示客户车辆的车速。
在本发明的一个实施例中,步骤S3中,根据客户车辆的数据量大小、预期时间消耗、预期能量消耗以及生存能力,计算最优客户车辆数量中每一个客户车辆权重,按照权重的大小进一步选择客户车辆的方法为:
步骤S31:联邦边缘平台遍历每一个客户车辆k=1,2,...,K;
步骤S32:当联邦边缘平台收到客户车辆k的回复,客户车辆将自身所携带的数据量Cd k、预期时间消耗CT k、预期能量消耗CE k以及生存能力CS k上传至联邦边缘平台;
步骤S33:计算每一个客户车辆权重Pk(t);
步骤S33:对每一个客户车辆权重记录于权重队列Pt中,Pt=[p1(t),p2(t),p3(t),...,pK(t)],然后按降序重新排列权重队列Pt;
步骤S34:根据当前时刻最优车辆用户数s*(t)和重新排列后的权重队列Pt选择客户车辆。
在本发明的一个实施例中,步骤S34中,计算每一个客户车辆权重Pk的方法包括:
当客户车辆的数据量Cd k、预期时间消耗CT k、预期能量消耗CE k以及生存能力CS k其中一个或多个为0时,则权重pk(t)为0;
否则,则计算权重:
本发明还提供一种基于联邦边缘平台的车辆用户选择系统,包括:
模型建立模块,用于建立车辆网络的联邦边缘学习训练全局模型;
最优客户车辆数量选择模块,用于根据全局模型控制每个单位时间收集数据的客户车辆数量,联邦边缘平台以平均时间精度最大化来选择最优客户车辆数量;
客户车辆选择模块,用于根据最优客户车辆的数据量大小、预期时间消耗、预期能量消耗以及生存能力,计算最优客户车辆数量中每一个客户车辆权重,按照权重的大小进一步选择客户车辆。
本发明的上述技术方案相比现有技术具有以下优点:
本发明所述的基于联邦边缘平台的车辆用户选择方法,决定客户车辆数量并选择客户车辆,考虑联邦边缘平台队列来决定客户车辆数量,考虑数据量、生存能力、预期时间和能量消耗来选择客户车辆,并用一个稳定的、高度精确的、配备队列的联邦边缘平台作为关联客户车辆上传数据的缓冲区;考虑了联邦边缘平台队列系统,利用联邦边缘平台代替客户车辆对客户车辆传输的数据进行本地更新;通过本地训练减少客户车辆对中央云服务器的电池消耗和通信负担,给具有异构资源的客户提供更大的训练数据集。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中
图1为本发明的联邦边缘学习系统模型结构图。
图2为本发明方法以及其它三种算法根据时间t绘制的队列积压图的比较。
图3为预期精度由学习曲线模拟。
图4为本发明方法与随机选择方法所有客户车辆的通信总数情况。
图5为本发明方法与随机选择方法每一时刻选择客户车辆数。
图6为本发明方法的实际训练精度。
图7为本发明方法的训练损失值。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
本发明的基于联邦边缘平台的车辆用户选择方法,步骤如下:
步骤S1:建立车辆网络的联邦边缘学习训练全局模型,如图1所示,所述模型包括客户车辆、联邦边缘平台和中央云服务器,所述客户车辆与关联的(即客户车辆在联邦边缘平台覆盖范围内)联邦边缘平台通信,所述联邦边缘平台和中央云服务器通过回程链路连接;如果客户车辆被关联的联邦边缘平台选择,客户车辆则将数据发送给该客户车辆关联的联邦边缘平台;联邦边缘平台从关联的客户车辆收集数据并使用收集到的数据执行本地更新。
所述联邦边缘平台需要高性能的计算系统和数据队列,由于联邦边缘平台从客户车辆收集数据并上传本地更新,因此它可以减轻中央云服务器的通信负担,并减少客户车辆直接上传/下载本地更新/全局模型导致的长时间延迟。此外,利用联邦边缘平台的丰富计算资源进行本地更新可以缓解执行本地更新时使用客户车辆计算资源的异构性造成的掉队问题。
步骤S2:中央云服务器将全局模型广播到联邦边缘平台,联邦边缘平台对从客户车辆收集到的数据做本地更新,然后中央云服务器利用这些本地更新来更新全局模型。由于联邦边缘平台和中央云服务器通过回程链路连接,回程的通信质量足够,联邦边缘平台会将本地更新上传到中央云服务器。
联邦边缘平台采用联邦边缘学习架构,将客户车辆与联邦边缘平台之间的数据收集和局部更新的计算过程分离,可以缓解中央云服务器的通信瓶颈。
步骤S3:在这种分布式系统结构中,如图1所示,联邦边缘平台充当缓冲区,存储数据并计算本地更新。因此,有必要考虑联邦边缘平台中存在的数据队列以及随后向中央云服务器传输的延迟。数据队列的离开表示从中央云服务器接收到的全局模型的更新,数据队列的到达表示来自客户车辆的数据的传输。与传统联邦学习环境的中央云服务器随机选择客户车辆执行本地更新的方式一样,联邦边缘学习环境中的联邦边缘平台选择向其传输数据的客户车辆。
在基于队列的系统中,必须保证队列的稳定性。随着越来越多的数据用于本地更新,全局模型的准确性也会提高。但是,由于队列积压不能无限期地延长,因此必须防止队列溢出。此外,由于队列依赖于到达和离开的过程,可以通过确保离开率大于到达率实现队列的稳定。为了权衡准确性和队列长度,设计一个随机的、基于李雅普诺夫优化理论的、平均时间的训练精度最大化过程,该过程受系统/队列稳定性算法的约束。
优化控制客户车辆:
用公式表示如何使受队列稳定性约束的联邦边缘平台平均时间精度最大化;这里控制的是客户车辆的数量。这种平均时间优化的数学方程可以表述为:
其中,公式(2)表示队列稳定性约束,T为总队列循环周期,t为当前时刻,k为当前客户车辆,K为客户车辆总数,Qk为当前队列积压情况,在公式(1)中,当选定客户车辆数s(t)时客户车辆的效用函数记为U(s(t))。效用函数U(s(t))表示为A(s(t))表示选定客户车辆数s(t)时,学习模型的期望精度。
联邦边缘平台的虚拟队列可以表述如下
Qk(t+1)=max{Qk(t)+λk(t)-μk(t),0},k∈{1,...,K}. (3)
Qk(t)、λk(t)和μk(t)分别指联邦边缘平台的队列积压大小、t时刻到达联邦边缘平台的数据量和t时刻离开联邦边缘平台的数据量。在这种情况下,t时刻的离开(即μk(t))是不可控制的,因为联邦边缘平台只能在无线信道(联邦边缘平台和中央云服务器之间)允许的范围内从队列传输数据。从客户车辆到联邦边缘平台的数据量是可控的,这取决于所选客户车辆的数量。
由(3)可知:
Qk(t+1)≥Qk(t)+λk(t)-μk(t),k∈{1,...,K}. (5)
由(5)可知:
Qk(t+1)2≤(Qk(t)+λk(t)-μk(t))2,k∈{1,...,K}. (6)
分类讨论:(i)若Qk(t)+λk(t)-μk(t)≥0,则Qk(t+1)=Qk(t)+λk(t)-μk(t),因此
Qk(t+1)2=(Qk(t)+λk(t)-μk(t))2,k∈{1,...,K}. (7)
(ii)若Qk(t)+λk(t)-μk(t)<0,则Qk(t+1)=0>Qk(t)+λk(t)-μk(t),因此
Qk(t+1)2=0<(Qk(t)+λk(t)-μk(t))2,k∈{1,...,K}. (8)
结合(7)和(8)可知(6)成立,在(6)的基础上对所有K个队列累加,可得:
因此有:
其中B是一个常数。在每一个单位时间内求解△(Θ(t))+V·U(s(t))的最大值,也就是求解李雅普诺夫漂移和U(s(t))的最大值,借助权重V来调节二者的重视程度。因此优化问题变为:
max:△(Θ(t))+V·U(s(t)) (11)
s.t.Q(t)<∞ (12)
对△(Θ(t))+V·U(s(t))做一些放缩处理,并且因为离开大于到达所以得:
然后求解(13)的右端的最大值,这样问题就得以解决。因为在优化问题中常数不被考虑,因此,形成的优化问题变为:
s.t.Q(t)<∞
根据(14)可知优化方程的一般形式可表示为:
其中x*(t),x(t),X,V,U(x(t)),Q(t),λ(x(t))和μ(x(t))分别表示时间平均最优解、可能解、可能解集、权衡因子、效用函数、队列积压、到达过程、离开过程。
根据李雅普诺夫优化框架,通过实现所谓的漂移加惩罚(drift-plus-penalty,DPP),该平均时间优化框架可以在等间隙近似下进行修正:
这里s*(t),s(t),X,V,U(s(t)),Q(t),λ(s(t))和μ(t)分别表示时间平均的最优客户数、可能的客户数、客户数集合、准确性与队列积压的权衡因子、效用函数、队列积压、到达过程、离开过程。
在上述系统模型中,联邦边缘平台应该在考虑数据队列后从客户车辆接收数据。虽然使用的数据越多,学习模型的准确性就越高,但实现队列稳定性应优先考虑。在这种情况下,本发明设计了一个动态算法,选择每个单位时间接收数据的客户车辆数量,以使平均时间精度最大化(受队列稳定性的影响),如式(16)。在每个单位时间内,可用来发送数据集的客户车辆通知联邦边缘平台它们的数据量、预期时间消耗、预期能量消耗和生存能力。每个客户车辆的资源信息根据其任务优先级在内部确定。然后,联邦边缘平台使用基于李雅普诺夫优化控制的平均时间优化函数选择接收数据的客户车辆数量。
步骤S4:在实际环境中,客户车辆的资源是异构的。随机选择方法中客户车辆将数据上传到联邦边缘平台可能会导致客户车辆资源的低效使用。因此,为了充分利用客户车辆的异构资源,本发明提出的方法设计为联邦边缘平台根据客户车辆的资源信息和预期资源消耗来选择客户车辆,而不是传统联邦学习方法的随机选择过程。本发明考虑了要传输的数据量,客户车辆在联邦边缘平台范围内所能维持的时间(生存能力),以及客户车辆预期的时间和能量消耗。在确定了联邦边缘平台接收数据的客户车辆数量之后,它将根据每个客户车辆的资源信息和预期资源消耗来确定优先级选择客户车辆。
在由优化函数决定接收数据的客户车辆数量之后,联邦边缘平台会选择客户车辆接收其上传的数据。传统的联邦学习选择一个随机的客户车辆进行更新;然而,这种方法可能会导致客户车辆的网络和异构资源的低效率使用。因此,本发明的算法根据客户车辆数据量大小、预期时间消耗、预期能量消耗以及生存能力来选择客户车辆;此外,通过考虑客户车辆的异构资源信息来有效地运行。因为可用的客户车辆发送与其资源信息有关,联邦边缘平台可以根据它们的资源信息选择客户车辆,而无需进行额外的信息交换。
考虑一种公路机动性拓扑场景,即车辆在同一方向移动,且车辆始终保持速度不变,车辆之间的速度差异不大。该优化模型的主要功能之一是卸载生存能力时间因子。联邦边缘平台允许模型根据每个车辆超出覆盖范围的时间,智能地根据优先级选取客户车辆。下面本发明列出了客户车辆所携带的四种资源信息。
①客户车辆的数据量Cd
②客户车辆的预期时间消耗CT:随即分布在0-0.5秒
③客户车辆的预期能量消耗:
CE=ck×δ
c表示客户车辆所需的计算能力,δ表示一个CPU周期的能耗
④客户车辆的生存能力:
CS=(D-dk)/Uk
D表示联邦边缘平台覆盖范围,d表示客户车辆在联邦边缘平台内的初始位置,U表示客户车辆的车速。
客户车辆k的权重是选择客户车辆的标准,可以根据客户车辆的资源状况来制定,具体如下:
当每个客户车辆拥有更多数据、更低的预期时间和能量消耗以及更小的生存能力时,它们的权重就会增加。生存能力与权重成反比,因为在客户车辆离开联邦边缘平台范围之前发送数据更有效,从而提高了学习模型的准确性。数据量定义为可以用字节表示的数据的大小。
客户车辆选择过程为:
S42:联邦边缘平台遍历每一个客户车辆k=1,2,...,K;
S43:如果联邦边缘平台收到客户车辆k的回复,然后客户车辆将自身所携带的资源信息Cd k,CT k,CE k,CS k上传;
S44:如果生存能力CS k消耗到0则将权重pk(t)赋0;
S45:如果还有足够的生存能力CS k则计算权重;
S46:如果有其它情况将权重pk(t)赋0;
S47:将每一个客户车辆权重计算好后记录在权重队列Pt中,然后按降序排列权重队列Pt;
S48:根据当前时刻最优客户车辆数量s*(t)和重新排列后的权重队列Pt动态控制虚拟队列并且客户车辆上传数据:
Q(t+1)←max{Q(t)+λ(t)-μ(t),0}
本实施例还提供一种基于联邦边缘平台的车辆用户选择系统,包括:
模型建立模块,用于建立车辆网络的联邦边缘学习训练全局模型;
最优客户车辆数量选择模块,用于根据全局模型控制每个单位时间收集数据的客户车辆数量,联邦边缘平台以平均时间精度最大化来选择最优客户车辆数量;
客户车辆选择模块,用于根据最优客户车辆的数据量大小、预期时间消耗、预期能量消耗以及生存能力,计算最优客户车辆数量中每一个客户车辆权重,按照权重的大小进一步选择客户车辆。
图2表示当通过最大选择和静态选择的方法来决定选择的客户车辆数量时,联邦边缘平台系统由于队列溢出而不稳定,并且分别实现了一个非常稳定的队列。然而,由于本发明联邦学习边缘平台系统的主要目标是最大限度地提高学习精度,本发明所提出的算法和随机选择方法都是由相同的客户车辆数量决策控制的,两者都选择相同的最优客户车辆数量来稳定队列。在t=1200之后,随机选择方法的队列积压略有减少,在t=1600之后,本发明提出的算法的队列积压也有所减少。随着时间的推移,生存能力不足和从客户车辆传输的数据不足会导致可用客户车辆数量的减少,这低于最大化利用所需的客户车辆数量。由于随机选择方法在选择客户车辆时没有考虑每个客户车辆的资源,所以有些客户车辆数据充足但生存能力不足,或者反之,在之后的时间段不可用。另一方面,本发明提出的算法考虑了可用资源(特别是客户车辆的生存能力),通过对整个客户车辆集合接收更多的数据来实现更大的利用率。
图3表示预期精度由学习曲线模拟。图4显示了所有客户车辆的通信总数。本发明提出的算法通信次数为8089次,随机选择通信次数为6161次。由于上传的数据总量与通信次数成正比,所以本发明提出的算法上传的数据总量比随机选择客户车辆方法上传的数据总量多。因此,本发明提出的算法可以从客户车辆接收更多的数据,从而训练出更准确的模型。图5表示本发明方案与随机选择方法在每一时刻的选择客户车辆数。图6表示本发明方案的实际训练精度,经过训练最终训练精度达到1。图7表示本发明方案的训练损失值,经过训练最终训练损失值达到0。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (2)
1.基于联邦边缘平台的车辆用户选择方法,其特征在于,包括如下步骤:
步骤S1:建立车辆网络的联邦边缘学习训练全局模型,所述全局模型包括客户车辆、联邦边缘平台和中央云服务器,所述客户车辆与关联的联邦边缘平台通信,所述联邦边缘平台和中央云服务器通过回程链路连接;如果客户车辆被关联的联邦边缘平台选择,客户车辆则将数据发送给该客户车辆关联的联邦边缘平台;联邦边缘平台从关联的客户车辆收集数据并使用收集到的数据执行本地更新,中央云服务器利用本地更新来更新全局模型;
步骤S2:根据全局模型控制每个单位时间收集数据的客户车辆数量,联邦边缘平台以平均时间精度最大化来选择最优客户车辆数量;
步骤S3:根据最优客户车辆的数据量大小、预期时间消耗、预期能量消耗以及生存能力,计算最优客户车辆数量中每一个客户车辆权重,按照权重的大小进一步选择客户车辆;
步骤S2中,控制每个单位时间收集数据的客户车辆数量,联邦边缘平台以平均时间精度最大化来选择收集数据的客户车辆数量的方法为:步骤S21:基于李雅普诺夫方程定义数据队列积压的增长量;步骤S22:根据数据队列的离开率大于数据队列的到达率,在每个单位时间内求解数据队列积压的增长量与选定客户车辆时客户车辆的效用函数之和的最大值,其中数据队列的离开表示中央云服务器接收本地更新,数据队列的到达表示客户车辆收集数据并进行上传联邦边缘平台;
步骤S2中,所述平均时间精度最大化的数学方程可以表述为:
其中,T为总队列循环周期,t为当前时刻,选定客户车辆数s(t)时客户车辆的效用函数记为U(s(t)),表示为:A(s(t))表示选定客户车辆数s(t)时,学习模型的期望精度;公式(2)表示队列稳定性约束,k为当前客户车辆,K为客户车辆总数,Qk为当前队列积压情况;
所述当前队列积压情况用公式表示为:
Qk(t+1)=max{Qk(t)+λk(t)-μk(t),0},k∈{1,...,K}. (3)
其中Qk(t)、λk(t)和μk(t)分别指联邦边缘平台的队列积压大小、t时刻到达联邦边缘平台的数据量和t时刻离开联邦边缘平台的数据量;
步骤S22中,根据数据队列的离开率大于数据队列的到达率,所述在每个单位时间内求解数据队列积压的增长量与选定客户车辆时客户车辆的效用函数之和的最大值的方法为:
借助权重V来调节数据队列积压的增长量与效用函数二者的重视程度:
max:△(Θ(t))+V·U(s(t)) (11)
s.t.Q(t)<∞ (12)
根据数据队列的离开率大于数据队列的到达率得:
常数不被考虑,变为:
根据李雅普诺夫优化框架,平均时间精度在等间隙近似下进行修正:
其中s*(t),s(t),X,V,U(s(t)),Q(t),λ(s(t))和μ(t)分别表示时间平均的最优车辆用户数、可能的车辆用户数、车辆用户数集合、准确性与数据队列积压的权衡因子、效用函数、数据队列积压、数据队列的到达过程、数据队列的离开过程;
所述权重的表达式为:
其中:Cd为客户车辆的数据量;CT为客户车辆的预期时间消耗;客户车辆的预期能量消耗:CE=ck×δ,c表示客户车辆所需的计算能力,δ表示一个CPU周期的能耗;客户车辆的生存能力:CS=(D-dk)/Uk,D表示联邦边缘平台覆盖范围,d表示客户车辆在联邦边缘平台内的初始位置,U表示客户车辆的车速;
步骤S3中,根据客户车辆的数据量大小、预期时间消耗、预期能量消耗以及生存能力,计算最优客户车辆数量中每一个客户车辆权重,按照权重的大小进一步选择客户车辆的方法为:
步骤S31:联邦边缘平台遍历每一个客户车辆k=1,2,...,K;
步骤S32:当联邦边缘平台收到客户车辆k的回复,客户车辆将自身所携带的数据量Cd k、预期时间消耗CT k、预期能量消耗CE k以及生存能力CS k上传至联邦边缘平台;
步骤S33:计算每一个客户车辆权重Pk(t);
步骤S33:对每一个客户车辆权重记录于权重队列Pt中,Pt=[p1(t),p2(t),p3(t),...,pK(t)],然后按降序重新排列权重队列Pt;
步骤S34:根据当前时刻最优车辆用户数s*(t)和重新排列后的权重队列Pt选择客户车辆;
步骤S34中,计算每一个客户车辆权重Pk的方法包括:
当客户车辆的数据量Cd k、预期时间消耗CT k、预期能量消耗CE k以及生存能力CS k其中一个或多个为0时,则权重pk(t)为0;
否则,则计算权重:
2.一种基于联邦边缘平台的车辆用户选择系统,其特征在于,包括:
模型建立模块,用于建立车辆网络的联邦边缘学习训练全局模型;
所述全局模型包括客户车辆、联邦边缘平台和中央云服务器,所述客户车辆与关联的联邦边缘平台通信,所述联邦边缘平台和中央云服务器通过回程链路连接;如果客户车辆被关联的联邦边缘平台选择,客户车辆则将数据发送给该客户车辆关联的联邦边缘平台;联邦边缘平台从关联的客户车辆收集数据并使用收集到的数据执行本地更新,中央云服务器利用本地更新来更新全局模型;
最优客户车辆数量选择模块,用于根据全局模型控制每个单位时间收集数据的客户车辆数量,联邦边缘平台以平均时间精度最大化来选择最优客户车辆数量;
客户车辆选择模块,用于根据最优客户车辆的数据量大小、预期时间消耗、预期能量消耗以及生存能力,计算最优客户车辆数量中每一个客户车辆权重,按照权重的大小进一步选择客户车辆;
其中,最优客户车辆数量选择模块中,控制每个单位时间收集数据的客户车辆数量,联邦边缘平台以平均时间精度最大化来选择收集数据的客户车辆数量的方法为:步骤S21:基于李雅普诺夫方程定义数据队列积压的增长量;步骤S22:根据数据队列的离开率大于数据队列的到达率,在每个单位时间内求解数据队列积压的增长量与选定客户车辆时客户车辆的效用函数之和的最大值,其中数据队列的离开表示中央云服务器接收本地更新,数据队列的到达表示客户车辆收集数据并进行上传联邦边缘平台;
所述平均时间精度最大化的数学方程可以表述为:
其中,T为总队列循环周期,t为当前时刻,选定客户车辆数s(t)时客户车辆的效用函数记为U(s(t)),表示为:A(s(t))表示选定客户车辆数s(t)时,学习模型的期望精度;公式(2)表示队列稳定性约束,k为当前客户车辆,K为客户车辆总数,Qk为当前队列积压情况;
所述当前队列积压情况用公式表示为:
Qk(t+1)=max{Qk(t)+λk(t)-μk(t),0},k∈{1,...,K}. (3)
其中Qk(t)、λk(t)和μk(t)分别指联邦边缘平台的队列积压大小、t时刻到达联邦边缘平台的数据量和t时刻离开联邦边缘平台的数据量;
步骤S22中,根据数据队列的离开率大于数据队列的到达率,所述在每个单位时间内求解数据队列积压的增长量与选定客户车辆时客户车辆的效用函数之和的最大值的方法为:
借助权重V来调节数据队列积压的增长量与效用函数二者的重视程度:
max:△(Θ(t))+V·U(s(t)) (11)
s.t.Q(t)<∞ (12)
根据数据队列的离开率大于数据队列的到达率得:
常数不被考虑,变为:
根据李雅普诺夫优化框架,平均时间精度在等间隙近似下进行修正:
其中s*(t),s(t),X,V,U(s(t)),Q(t),λ(s(t))和μ(t)分别表示时间平均的最优车辆用户数、可能的车辆用户数、车辆用户数集合、准确性与数据队列积压的权衡因子、效用函数、数据队列积压、数据队列的到达过程、数据队列的离开过程;
所述权重的表达式为:
其中:Cd为客户车辆的数据量;CT为客户车辆的预期时间消耗;客户车辆的预期能量消耗:CE=ck×δ,c表示客户车辆所需的计算能力,δ表示一个CPU周期的能耗;客户车辆的生存能力:CS=(D-dk)/Uk,D表示联邦边缘平台覆盖范围,d表示客户车辆在联邦边缘平台内的初始位置,U表示客户车辆的车速;
客户车辆选择模块中,根据客户车辆的数据量大小、预期时间消耗、预期能量消耗以及生存能力,计算最优客户车辆数量中每一个客户车辆权重,按照权重的大小进一步选择客户车辆的方法为:
步骤S31:联邦边缘平台遍历每一个客户车辆k=1,2,...,K;
步骤S32:当联邦边缘平台收到客户车辆k的回复,客户车辆将自身所携带的数据量Cd k、预期时间消耗CT k、预期能量消耗CE k以及生存能力CS k上传至联邦边缘平台;
步骤S33:计算每一个客户车辆权重Pk(t);
步骤S33:对每一个客户车辆权重记录于权重队列Pt中,Pt=[p1(t),p2(t),p3(t),...,pK(t)],然后按降序重新排列权重队列Pt;
步骤S34:根据当前时刻最优车辆用户数s*(t)和重新排列后的权重队列Pt选择客户车辆;
步骤S34中,计算每一个客户车辆权重Pk的方法包括:
当客户车辆的数据量Cd k、预期时间消耗CT k、预期能量消耗CE k以及生存能力CS k其中一个或多个为0时,则权重pk(t)为0;
否则,则计算权重:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110638706.0A CN113382066B (zh) | 2021-06-08 | 2021-06-08 | 基于联邦边缘平台的车辆用户选择方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110638706.0A CN113382066B (zh) | 2021-06-08 | 2021-06-08 | 基于联邦边缘平台的车辆用户选择方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113382066A CN113382066A (zh) | 2021-09-10 |
CN113382066B true CN113382066B (zh) | 2022-08-30 |
Family
ID=77572710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110638706.0A Active CN113382066B (zh) | 2021-06-08 | 2021-06-08 | 基于联邦边缘平台的车辆用户选择方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113382066B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116055489A (zh) * | 2023-01-10 | 2023-05-02 | 江南大学 | 一种基于ddpg算法选择车辆的异步联邦优化方法 |
CN116506829B (zh) * | 2023-04-25 | 2024-05-10 | 广东北斗烽火台卫星定位科技有限公司 | 基于c-v2x通信的联邦边缘学习选择车辆方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708640A (zh) * | 2020-06-23 | 2020-09-25 | 苏州联电能源发展有限公司 | 一种面向边缘计算的联邦学习方法和系统 |
CN112488322A (zh) * | 2020-12-15 | 2021-03-12 | 杭州电子科技大学 | 一种基于数据特征感知聚合的联邦学习模型训练方法 |
CN112532451A (zh) * | 2020-11-30 | 2021-03-19 | 安徽工业大学 | 基于异步通信的分层联邦学习方法、装置、终端设备及存储介质 |
CN112764927A (zh) * | 2021-01-21 | 2021-05-07 | 西安电子科技大学 | 一种车辆选择和资源联合优化方法、系统、介质及应用 |
CN112906911A (zh) * | 2021-02-03 | 2021-06-04 | 厦门大学 | 联邦学习的模型训练方法 |
-
2021
- 2021-06-08 CN CN202110638706.0A patent/CN113382066B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708640A (zh) * | 2020-06-23 | 2020-09-25 | 苏州联电能源发展有限公司 | 一种面向边缘计算的联邦学习方法和系统 |
CN112532451A (zh) * | 2020-11-30 | 2021-03-19 | 安徽工业大学 | 基于异步通信的分层联邦学习方法、装置、终端设备及存储介质 |
CN112488322A (zh) * | 2020-12-15 | 2021-03-12 | 杭州电子科技大学 | 一种基于数据特征感知聚合的联邦学习模型训练方法 |
CN112764927A (zh) * | 2021-01-21 | 2021-05-07 | 西安电子科技大学 | 一种车辆选择和资源联合优化方法、系统、介质及应用 |
CN112906911A (zh) * | 2021-02-03 | 2021-06-04 | 厦门大学 | 联邦学习的模型训练方法 |
Non-Patent Citations (2)
Title |
---|
基于MEC的车联网协作组网关键技术;马小婷等;《电信科学》;20200630;全文 * |
面向视频监控基于联邦学习的智能边缘计算技术;赵羽等;《通信学报》;20201031(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113382066A (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | FedCPF: An efficient-communication federated learning approach for vehicular edge computing in 6G communication networks | |
CN109857546B (zh) | 基于Lyapunov优化的多服务器移动边缘计算卸载方法及装置 | |
CN110275758B (zh) | 一种虚拟网络功能智能迁移方法 | |
CN113382066B (zh) | 基于联邦边缘平台的车辆用户选择方法及系统 | |
CN110955463B (zh) | 支持边缘计算的物联网多用户计算卸载方法 | |
CN113810233B (zh) | 一种在随机网络中基于算网协同的分布式计算卸载方法 | |
CN113989561B (zh) | 基于异步联邦学习的参数聚合更新方法、设备及系统 | |
CN112118312B (zh) | 一种面向边缘服务器的网络突发负载疏散方法 | |
CN113286329B (zh) | 基于移动边缘计算的通信和计算资源联合优化方法 | |
CN113238847B (zh) | 基于分散式网络环境下可分任务的分发和调度方法 | |
CN114039918B (zh) | 一种信息年龄优化方法、装置、计算机设备及存储介质 | |
CN108418718A (zh) | 一种基于边缘计算的数据处理延迟优化方法及系统 | |
CN112486690A (zh) | 一种适用于工业物联网的边缘计算资源分配方法 | |
CN103401939A (zh) | 一种采用混合调度策略的负载均衡方法 | |
CN112511336B (zh) | 一种边缘计算系统中的在线服务放置方法 | |
CN103179171A (zh) | 基于分布式系统架构的文件传输方法及装置 | |
CN112214301B (zh) | 面向智慧城市基于用户偏好的动态计算迁移方法及装置 | |
CN109639833A (zh) | 一种基于无线城域网微云负载均衡的任务调度方法 | |
CN113778691A (zh) | 一种任务迁移决策的方法、装置及系统 | |
CN116489708B (zh) | 面向元宇宙的云边端协同的移动边缘计算任务卸载方法 | |
CN114564304A (zh) | 一种边缘计算的任务卸载方法 | |
CN115033359A (zh) | 一种基于时延控制的物联代理多任务调度方法和系统 | |
CN116916386A (zh) | 一种考虑用户竞争和负载的大模型辅助边缘任务卸载方法 | |
CN111506431A (zh) | 一种云服务器在能耗约束下感知负载性能优化方法 | |
CN113504949A (zh) | Mar客户端在边缘计算中的任务卸载与参数优化方法及系统 |
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 |