用于在多址边缘计算平台架构中支持应用移动性的方法和装置与流程
未命名
08-07
阅读:95
评论:0
1.本发明大体涉及用于数字计算、第五代(5g)电信、自主驾驶的方法和装置,并且在具体实施例中涉及用于在多址边缘计算(mec)平台架构中支持应用移动性的方法和装置。
背景技术:
2.传统的云计算模型可用于不强加位置或定时约束并且不考虑服务质量(qos)的某些移动服务。随着移动计算的日益普及,移动应用的定时和qos限制提出了独特的挑战。具体地,移动车辆可以请求可能超过当前基于云的方案的能力的服务,这可能导致无法满足应用的一些要求(例如,延迟要求、qos要求等)。因此,为移动应用提供服务成为更大的挑战。
3.多址边缘计算(mec)通常提供一种新的计算模型,这种计算模型扩展了移动设备中通常可用的算力资源的能力,从而使得资源有限的移动设备不仅能够将计算密集型任务的执行算力卸载到mec节点上(例如,有利于节能),还能够为需求不断增长的移动用户实现新服务。
4.移动设备可以简单地向mec发起请求或任务,提供用户与任务或请求之间的交互,并且向用户提供所完成任务的结果(其中用户可以是人,也可以是其它设备)。将计算密集型任务算力卸载到mec节点上能够执行通常不可能在移动设备上执行的任务。此外,通过不再需要提供大量计算能力,对任务进行算力卸载的能力允许设计更小且功率低的电池高效移动设备。
5.然而,当移动设备移动时,可能需要将与移动设备相关联的服务从一个mec节点迁移到另一个mec节点,以向移动设备提供最佳服务。例如,移动设备可以由第一mec节点提供服务。然而,当移动设备远离第一mec节点时,第二mec节点能够更好地为移动设备提供服务。如果在第一mec节点上执行的任务未完成,则可能需要将任务迁移到第二mec节点。任务迁移可能会产生显著的延迟和巨大的成本,这将对整个用户体验产生负面影响。因此,需要用于在多址边缘计算平台架构中支持服务移动性的方法和装置。
技术实现要素:
6.根据第一方面,提供了一种由多址边缘计算(mec)分布式控制器实现的方法。方法包括:由mec分布式控制器从移动设备接收mec计算任务请求,mec计算任务请求用于请求支持在由mec分布式控制器控制的mec节点上执行服务的计算节点;由mec分布式控制器获取与移动设备相关联的地理位置信息;由mec分布式控制器确定执行计划和mec节点池,执行计划和mec节点池用于服务的执行,确定是根据与移动设备相关联的地理位置信息进行的;由mec分布式控制器在mec节点池上调度执行计划;以及由mec分布式控制器部署所调度的执行计划。
7.根据第一方面,在方法的第一种实现中,执行计划和mec节点池与针对时间窗口或
指定数量的mec节点的服务的执行相关联。
8.根据第一方面或第一方面的上述任一种实现,在方法的第二种实现中,确定执行计划包括:由mec分布式控制器将服务的执行划分为多个任务,其中每个任务可在mec节点上执行;以及由mec分布式控制器根据选择功能为多个任务中的每个任务选择mec节点池的子集。
9.根据第一方面或第一方面的上述任一种实现,在方法的第三种实现中,mec节点池是根据移动设备的用户帐户级别或与服务相关联的应用的所有者的帐户级别中的一个来确定的。
10.根据第一方面或第一方面的上述任一种实现,在方法的第四种实现中,选择mec节点池的子集包括:由mec分布式控制器为mec节点池中的每个mec节点生成在mec节点上执行多个任务中的每个任务的成本和值;以及由mec分布式控制器为多个任务中的每个任务从mec节点池中选择用于执行任务的mec节点,选择是根据在mec节点上执行任务的成本和值进行的,从而产生mec节点池的子集。
11.根据第一方面或第一方面的上述任一种实现,在方法的第五种实现中,调度执行计划包括:由mec分布式控制器将释放时间和截止时间分配给所选择的mec节点池的子集。
12.根据第一方面或第一方面的上述任一种实现,在方法的第六种实现中,部署所调度的执行计划包括:由mec分布式控制器将与服务的执行相关联的应用数据提供给所选择的mec节点池的子集,提供是根据释放时间和截止时间进行的。
13.根据第一方面或第一方面的上述任一种实现,在方法的第七种实现中,释放时间包括多个任务的所需开始时间,并且截止时间包括多个任务的所需结束时间。
14.根据第一方面或第一方面的上述任一种实现,在方法的第八种实现中,mec计算任务请求包括以下至少一项:服务帐户、移动设备用户标识符或执行计划预期覆盖的多个mec节点;并且地理位置信息至少包括移动设备的路线。
15.根据第一方面或第一方面的上述任一种实现,在方法的第九种实现中,方法还包括:由mec分布式控制器根据交通信息或紧急情况信息中的至少一个更新移动设备的地理位置信息;由mec分布式控制器根据所更新的地理位置信息确定更新的执行计划和更新的mec节点池;由mec分布式控制器在更新的mec节点池上调度更新的执行计划,以产生更新的调度执行计划;以及由mec分布式控制器部署更新的调度执行计划。根据第二方面,提供了一种mec分布式控制器。mec分布式控制器包括:一个或多个mec节点,用于执行作业;接收器,被配置为从移动设备接收mec计算任务请求,mec计算任务请求用于请求支持在由mec分布式控制器控制的mec节点上执行服务的计算节点;编排器,可操作地耦合到接收器和一个或多个mec节点,编排器被配置为:获取与移动设备相关联的地理位置信息;确定执行计划和mec节点池,执行计划和mec节点池用于服务的执行,确定是根据与移动设备相关联的地理位置信息进行的;在mec节点池上调度执行计划;以及部署所调度的执行计划。
16.根据第二方面,在mec分布式控制器的第一种实现中,编排器还被配置为:将服务的执行划分为多个任务,其中每个任务可在mec节点上执行;根据选择功能为多个任务中的每个任务选择mec节点池的子集。
17.根据第二方面或第二方面的上述任一种实现,在mec分布式控制器的第二种实现中,mec节点池是根据移动设备的用户帐户级别或与服务相关联的应用的所有者的帐户级
别中的一个来确定的。
18.根据第二方面或第二方面的上述任一种实现,在mec分布式控制器的第三种实现中,编排器还被配置为:为mec节点池中的每个mec节点生成在mec节点上执行多个任务中的每个任务的成本和值;以及为多个任务中的每个任务从mec节点池中选择用于执行任务的mec节点,选择是根据在mec节点上执行任务的成本和值进行的,从而产生mec节点池的子集。
19.根据第二方面或第二方面的上述任一种实现,在mec分布式控制器的第四种实现中,编排器还被配置为:将释放时间和截止时间分配给所选择的mec节点池的子集。
20.根据第二方面或第二方面的上述任一种实现,在mec分布式控制器的第五种实现中,编排器还被配置为:将与服务的执行相关联的应用数据提供给所选择的mec节点池的子集,应用数据是根据释放时间和截止时间提供的。
21.根据第二方面或第二方面的上述任一种实现,在mec分布式控制器的第六种实现中,mec计算任务请求包括以下至少一项:服务帐户、移动设备用户标识符或执行计划预期覆盖的多个mec节点;并且地理位置信息至少包括移动设备的路线。
22.根据第二方面或第二方面的上述任一种实现,在mec分布式控制器的第七种实现中,编排器还被配置为:根据交通信息或紧急情况信息中的至少一个更新移动设备的地理位置信息;根据所更新的地理位置信息确定更新的执行计划和更新的mec节点池;在更新的mec节点池上调度更新的执行计划,以产生更新的调度执行计划;部署更新的调度执行计划。
23.根据第三方面,提供了一种mec分布式控制器。mec分布式控制器包括:非瞬时性存储器,包括指令;一个或多个处理器,与存储器进行通信;其中一个或多个处理器执行指令以使mec分布式控制器:从移动设备接收mec计算任务请求,mec计算任务请求用于请求支持在由mec分布式控制器控制的mec节点上执行服务的计算节点;获取与移动设备相关联的地理位置信息;确定执行计划和mec节点池,执行计划和mec节点池用于服务的执行,确定是根据与移动设备相关联的地理位置信息进行的;在mec节点池上调度执行计划;以及部署所调度的执行计划。
24.根据第三方面,在mec分布式控制器的第一种实现中,指令还使mec分布式控制器:将服务的执行划分为多个任务,其中每个任务可在mec节点上执行;以及根据选择功能为多个任务中的每个任务选择mec节点池的子集。
25.根据第三方面或第三方面的上述任一种实现,在mec分布式控制器的第二种实现中,mec节点池是根据移动设备的用户帐户级别或与服务相关联的应用的所有者的帐户级别中的一个来确定的。
26.根据第三方面或第三方面的上述任一种实现,在mec分布式控制器的第三种实现中,指令还使mec分布式控制器:为mec节点池中的每个mec节点生成在mec节点上执行多个任务中的每个任务的成本和值;以及为多个任务中的每个任务从mec节点池中选择用于执行任务的mec节点,选择是根据在mec节点上执行任务的成本和值进行的,从而产生mec节点池的子集。
27.根据第三方面或第三方面的上述任一种实现,在mec分布式控制器的第四种实现中,指令还使mec分布式控制器:将释放时间和截止时间分配给所选择的mec节点池的子集。
28.根据第三方面或第三方面的上述任一种实现,在mec分布式控制器的第五种实现中,指令还使mec分布式控制器:将与服务的执行相关联的应用数据提供给所选择的mec节点池的子集,应用数据是根据释放时间和截止时间提供的。
29.根据第三方面或第三方面的上述任一种实现,在mec分布式控制器的第六种实现中,mec计算任务请求包括以下至少一项:服务帐户、移动设备用户标识符或执行计划预期覆盖的多个mec节点;并且地理位置信息至少包括移动设备的路线。
30.根据第三方面或第三方面的上述任一种实现,在mec分布式控制器的第七种实现中,指令还使mec分布式控制器:根据交通信息或紧急情况信息中的至少一个更新移动设备的地理位置信息;根据所更新的地理位置信息确定更新的执行计划和更新的mec节点池;在更新的mec节点池上调度更新的执行计划,以产生更新的调度执行计划;以及部署更新的调度执行计划。
31.优选实施例的优点在于,根据移动设备的地理位置信息执行任务分配的规划。因此,任务根据移动设备的预测位置和时间进行分配,从而防止发生在执行期间必须暂停和移动任务的情况。由于与应用相关联的任务和作业的规划和调度是根据移动设备的地理位置信息(包括移动设备的规划路线、地理信息、实时交通信息、紧急情况信息、天气等)执行的,因此最大限度地减少了任务迁移(可能发生在分配给处理资源的任务无法在移动设备离开与处理资源相关联的服务区域之前完成时)。
附图说明
32.为了更完整地理解本发明及其优点,现在参考下文结合附图进行的描述,在附图中:
33.图1示出了示例自动驾驶车辆;
34.图2示出了服务迁移的示意图;
35.图3示出了本文所述示例实施例的服务到多址边缘计算(mec)网络的mec节点的示例映射的示意图,其中mec节点将执行服务的至少一部分;
36.图4示出了本文所述示例实施例的通信系统,该通信系统强调对移动设备的算力卸载服务执行的支持;
37.图5示出了本文所述示例实施例的通信系统,该通信系统强调用于对移动设备的算力卸载服务执行提供支持的虚拟资源池;
38.图6示出了本文所述示例实施例的mec站点的高级视图;
39.图7a示出了本文所述示例实施例的mec节点连接的第一示例配置;
40.图7b示出了本文所述示例实施例的mec节点连接的第二示例配置;
41.图8示出了本文所述示例实施例的mec平台,该mec平台强调mec站点的mec系统编排功能的分散规划功能;
42.图9示出了本文所述示例实施例的mec平台,该mec平台强调由mec框架提供的基础设施的虚拟化;
43.图10示出了本文所述示例实施例的在mec框架工作流程中发生的示例操作的流程图;
44.图11示出了本文所述示例实施例的在将服务算力卸载到mec平台的移动设备中发
生的示例操作的流程图;
45.图12示出了本文所述示例实施例的在将服务算力卸载到mec平台时发生的示例操作的流程图;
46.图13示出了本文所述示例实施例的在执行算力卸载服务的mec节点中发生的示例操作的流程图;
47.图14a示出了本文所述示例实施例的移动设备和mec节点的示意图,该mec节点在第一时间实例处执行移动设备的算力卸载服务的作业;
48.图14b示出了本文所述示例实施例的移动设备和mec节点的示意图,该mec节点在第二时间实例处执行移动设备的算力卸载服务的作业;
49.图15示出了本文所述示例实施例的将与算力卸载服务相关联的任务调度到mec节点的示意图;
50.图16示出了本文所述示例实施例的将与算力卸载服务相关联的任务调度到mec节点的示意图,其中该调度强调资源优化;
51.图17为可以用于实现本文公开的各种设备和方法的计算系统的框图。
具体实施方式
52.下面详细论述所公开实施例的结构和用途。但是,应理解,本发明提供了许多可应用的概念,这些概念可以体现在各种各样的具体上下文中。所论述的具体实施例仅仅对实施例的具体结构和使用进行了说明,并不限制本发明的范围。
53.图1示出了示例自动驾驶车辆100。自动驾驶车辆100包括多个用户,例如用户105至107,这些用户具有移动设备,例如pc 110至111、玩具112、健康传感器113等。移动设备可以执行应用,例如游戏、生产力应用、视频会议应用、内容消费应用等。这些应用可以使用游戏服务、媒体内容流服务、会议服务、数据聚合服务、监视服务等服务。除用户及其移动设备之外,自动驾驶车辆100还包括跟踪、自主驾驶、安全、导航、机器学习、机器视觉、语音识别、手势识别等应用。本文中使用的术语“移动设备”将用于指代位于自动驾驶车辆100中的电子设备(例如,用于跟踪、自主驾驶、安全、导航、机器学习、机器视觉、语音识别、手势识别等的计算机模块)和位于自动驾驶车辆100中的用户所使用的移动设备(例如,pc、玩具、游戏机、健康传感器等)。
54.通常,移动设备的应用或在移动设备上执行的应用所使用的服务可能具有高计算需求。在许多情况下,计算需求可能超过移动设备的计算能力。在多个应用同时在单个设备上执行的情况下尤其如此。
55.已经利用多址边缘计算(mec)平台架构,使得能够将应用的执行算力卸载到mec节点上,这些mec节点拥有的计算资源多于与应用交互的移动设备。mec节点可以从移动设备接收执行与应用相关联的服务的请求、要由服务处理的数据以及与用户的交互(如有),并且执行服务。然后,mec节点将服务的执行结果提供回移动设备。
56.因此,尽管在mec节点上执行服务,但是服务的输入和输出以及与服务的交互都通过移动设备进行。换句话说,mec节点提供用于执行服务的计算资源,但目的是使服务看起来好像在移动设备上执行。
57.mec节点具有大量计算资源和超低延迟。为了提供良好的性能并满足用户体验期
望,当移动设备从出发点移动到目的地时,应用需要mec节点提供的连续服务以及与不间断的用户交互。没有显著或明显中断的服务是mec智能道路情景的要求。
58.然而,如果移动设备移动得太快或者如果服务的执行需要更长的时间,则移动设备可以从第一mec站点的服务区域移动到第二mec站点的服务区域中,第一mec站点包括正在执行服务的第一mec节点。在这种情况下,可能需要暂停在第一mec节点处执行服务,并将服务迁移到位于第二mec站点处的第二mec节点。迁移服务可能对服务的执行引入延迟,这可能会对应用的性能或应用的用户的用户体验产生不利影响。例如,可能违反服务质量(qos)要求或延迟要求。例如,延迟可能导致机器视觉应用中自动驾驶车辆100前方的物体发生误检测,从而造成严重的安全状况。又例如,延迟可能导致用户丢失视频游戏。又例如,延迟可能向视频流引入抖动,从而导致糟糕的视频消费体验。
59.因此,需要在多址边缘计算平台架构中支持服务移动性的方法和装置。该方法和装置支持服务移动性,使得服务的执行在mec节点和mec站点之间无缝切换,从而防止服务中断。对服务移动性的支持解决了由于在mec节点之间迁移与服务相关联的任务而引起的服务中断。由于服务支持应用,因此服务移动性通常被称为应用移动性。因此,可以使用应用移动性来代替服务移动性。
60.通常,自动驾驶车辆和车载应用具有以下技术要求:
[0061]-mec间服务移动性:汽车应用在大带宽和低延迟的基础上增加了新的要求。超快服务移动性需要在不同mec节点之间的mec辅助计算迁移。
[0062]-交叉边缘节点服务连续性:对于沿着汽车路径的mec节点,汽车应用(例如先前描述的那些应用)需要与mec节点进行高频交互(大约每秒40-60次)。
[0063]-低延迟保证:由于自动驾驶车辆具有高移动性,在mec节点(以及自动驾驶车辆)
[0064]
之间移动大量实时数据使得难以保证低延迟和其它qos要求。
[0065]
与mec相关联的挑战包括:
[0066]-mec环境中的移动设备移动性和应用服务连续性:服务移动性可能不是云中的主要场景。由于客户端(即,移动设备)的移动,因此不需要迁移应用。迁移通常涉及整个虚拟机(vm)的迁移,这可能导致高昂的成本。此外,不处理跟随移动设备的移动性的顺序迁移。
[0067]-保证用于迁移应用的qos要求:在迁移期间在保持服务高可用性的同时满足qos要求,可能极具挑战性。
[0068]-动态调度:去耦mec应用部署和mec节点映射可以自动调度服务执行计划。
[0069]
一个目的可以是满足第五代核心(5gc)mec网络中快速移动应用的服务连续性要求。
[0070]
图2示出了服务迁移的示意图200。图2示出了服务从源mec节点205到目标mec节点207的迁移,其中时间从左到右增加。在源mec节点205处,服务的迁移可以包括获取vm最小状态(事件210),其包括正在执行服务的vm的状态机的状态,以及由vm处理的数据和该服务的任何未处理输入或输出。将vm最小状态从源mec节点205传输到目标mec节点207(事件212)。vm最小状态可以很大,特别是对于涉及大量数据的服务,例如机器视觉、手势检测、特征检测等。然后,vm最小状态的传输可以涉及在mec节点或mec站点之间移动大量数据。
[0071]
在目标mec节点207处,恢复vm(事件214)。例如,恢复vm可以包括启动具有所传输的vm最小状态的新vm。目标mec节点207运行恢复后的vm(事件216)。如果服务在移动设备离
开包括目标mec节点207的mec站点的覆盖范围之前没有完成执行,则可能需要进一步的服务迁移。
[0072]
根据一个示例实施例,提供了支持服务移动性的应用框架。应用框架使用数据流图来分解服务的计算和数据相关性以及服务的执行顺序。该服务可以分解成多个计算和数据独立层,本文中称为独立层。在一个实施例中,每个独立层映射到mec资源以供执行。应用框架规范了用于在不同的mec资源之间逐层传输计算结果的软件架构范式。
[0073]
在一个实施例中,根据移动设备执行交互式应用的速度,在不同的执行步骤中解析数据流,并将其映射到抽象mec节点。
[0074]
数据流图的各层表示各种操作的组合方式。在一个实施例中,计算任务被映射到具有约束参数的不同mec节点,使得执行时间能够满足用户服务水平协议(sla)要求和qos限制。
[0075]
图3示出了服务到mec网络305的mec节点的示例映射的示意图300,其中mec节点将执行服务的至少一部分。尽管在mec节点上执行服务,但是服务的输入和输出以及与服务的交互都通过移动设备进行。换句话说,mec节点提供用于执行服务的计算资源,但目的是使得看起来好像服务在移动设备上执行。因此,在mec节点上执行服务对移动设备或移动设备的用户而言是透明的。
[0076]
mec网络305包括无线接入网络(ran)307,其为移动设备提供到mec平台309的无线连接。ran 307可以利用一个或多个无线通信协议,例如,第三代合作伙伴计划(3gpp)长期演进(lte)、高级lte(lte-a)、5g、5g lte、5g nr、第六代(6g)、高速分组接入(hspa)、ieee 802.11系列标准,如802.11a/b/g/n/ac/ad/ax/ay/be等。
[0077]
mec平台309为与设备的应用相关联的执行服务提供计算资源。mec平台309可以包括部署在各个位置的多个mec站点,例如沿着主要道路和高速公路的位置、建筑物、蜂窝电话塔、学校、购物中心、商场、交通灯等。每个mec站点可以包括用于执行vm中的应用的一个或多个mec节点(提供计算资源、存储器资源、存储资源等)。通常,每个mec节点拥有的资源比移动设备要多得多(多个多核处理器、多个千兆字节存储器、高带宽连接等)。
[0078]
mec平台309连接到分组核心311,其在网络上提供语音和数据服务。例如,分组核心311提供移动性管理、数据路由管理、接口管理等。mec网络305还包括耦合到分组核心311的互联网313。例如,互联网313提供到服务的连接。如本文中所示和所使用,组件互联网313仅包括到互联网的接口。
[0079]
mec平台309可以包括mec抽象层320和m-app框架层340。mec抽象层320包括抽象的mec站点,例如mec站点322至326。每个mec站点可以分配用于执行与服务的一个或多个层相关联的任务。下面提供应用层映射的示例。
[0080]
如图3所示,移动设备要进行算力卸载的服务330根据计算和数据相关性被分解成n个层(层332至336)。服务330表示移动设备要算力卸载到mec平台309以供执行的服务。除了通过计算和数据相关性进行分解之外,还对各层按顺序编号以指示执行顺序。服务330的各层被映射到m-app框架层340,其中这些层使用类似的附图标记来标记,但是这些标记添加了单引号(')以简化讨论并减少混淆。例如,在服务330中,层1用附图标记332来指代,但在映射到m-app框架层340之后用附图标记332'来指代。
[0081]
在一个实施例中,应用框架将服务的一个或多个层映射到mec站点的一个或多个
mec节点上。例如,层1 332'被映射到mec站点323的mec节点。又例如,层3 334'和层4 335'被映射到mec站点325的mec节点。
[0082]
如图3所示,服务330的各层未被映射到mec站点322。通常,如果mec站点不满足用于将应用的各层映射到mec站点的选择标准,则可以不将服务的层映射到mec站点。选择标准的示例可以包括预期完成时间、应用优先级、移动设备优先级、用户优先级、可用计算资源等。例如,在mec站点处可能没有足够的处理资源来映射服务的层。又例如,在mec站点处可能有足够的处理资源,但是该层的预期完成时间是在该层的期望完成之后。尽管服务330的各层未被映射到mec站点322,但是其它服务的一个或多个层可以映射到mec站点322的mec节点。
[0083]
图4示出了通信系统400,该通信系统强调对移动设备405的算力卸载服务执行的支持。如图4所示,移动设备405沿着路线406运动并且与应用407交互。应用407与服务409交互。移动设备405不是使用其自身的计算资源来执行与应用407相关联的服务409,而是将服务409的执行算力卸载到mec平台309上。移动设备405使用ran 307(示为天线)与mec平台309通信。
[0084]
移动设备405可以向mec控制器410发送mec任务请求以发起对服务409的算力卸载。例如,mec任务请求可以指定服务409的服务名称。如前所述,例如m-app框架层340将服务409分解成独立层。在一个实施例中,m-app框架层340响应于接收到mec任务请求而对服务409进行分解。在另一个实施例中,mec平台309所支持的服务被先验地分解并存储在存储器或数据库中以供后续使用。mec抽象层320将服务409的独立层映射到mec站点的mec节点。下面详细讨论将服务409的独立层映射到mec站点的mec节点。
[0085]
作为说明性示例,服务409被分解成三个独立层:层1 410、层2 411和层3 412。如前所述,移动设备405沿着路线406移动,并且mec平台309包括沿着路线406定位的mec站点420、421、422和423。这三个独立层被映射到mec站点420、421和422上,这些站点具有包括路线406的覆盖区域。如图4所示,层1 410被映射到mec站点420的mec节点430。mec节点431未被分配服务409的层,但是,mec节点431可能并非处于空闲状态,因为其可能正在执行另一服务的层。类似地,层2 411被映射到mec站点421的mec节点432,并且层3 412被映射到mec站点422的mec节点434。
[0086]
在一个实施例中,从独立层到mec站点的mec节点的映射是根据移动设备405的地理位置信息进行的。地理位置信息包括移动设备405的地理和位置信息,并且可以包括由全球导航卫星系统(gnss)(例如全球定位系统(gps)、格洛纳斯(glonass)、伽利略、北斗导航卫星系统(bds)等)提供的位置信息、基于蜂窝通信系统的位置测量信息、速度信息、地形信息、地理信息、导航系统信息、交通信息、紧急服务信息、天气信息等信息。地理位置信息可以提供关于移动设备405的当前位置以及移动设备405在未来不同时间的预测位置的信息。例如,gnss信息可以用于提供移动设备405的当前位置、速度和方向。可以根据导航信息、交通信息、紧急服务信息、地形信息、地理信息、天气信息等来预测移动设备405的未来位置。
[0087]
图5示出了通信系统500,该通信系统强调用于对移动设备405的算力卸载服务执行提供支持的虚拟资源池。如图5所示,移动设备405沿着路线406运动并且和与应用407相关联的服务409交互。移动设备405不是使用其自身的计算资源来执行服务409,而是将服务409的执行算力卸载到mec平台309上。移动设备405使用ran 307(示为天线505、506和507)
与mec平台309通信。
[0088]
当移动设备405沿着路线406移动时,移动设备405可能会离开第一天线的覆盖范围或者进入第二天线的覆盖范围。在一些情况下,移动设备可能处于多个天线的覆盖范围内。如图5所示,移动设备405在天线505、506和507的覆盖范围内。
[0089]
虚拟资源池509表示当移动设备405沿着路线406移动时能够与移动设备405通信的mec站点的可用mec节点。在一个实施例中,虚拟资源池509包括能够在特定时间窗口内与移动设备405通信的可用mec节点。因此,虚拟资源池509可以排除能够与移动设备405通信的mec节点,但仅在将来的很长时间内是如此。排除这些mec节点可能是有利的,因为移动设备405将来可能不再位于路线406上,并且针对这种可能性的规划可能是资源浪费。此外,不确定性通常随时间的推移而增加,因此对将来的规划可能会产生不准确的结果。
[0090]
例如,虚拟资源池509可以包括mec站点510、511、512和513的mec节点的子集。通常,如果mec节点具有足够的计算资源来执行服务409的特定层并且在截止时间之前完成执行,则mec节点可以是移动设备405的虚拟资源池509的一部分。当移动设备405在包括mec节点的mec站点的覆盖范围内时,截止时间与特定层的执行相关联。如果mec节点没有足够的计算资源或者不能在截止时间之前完成执行,则不包括mec节点作为虚拟资源池509的成员。
[0091]
图6示出了mec站点600的高级视图。mec站点600的高级视图呈现了mec站点600的软件框架的视图。mec站点600的高级视图包括mec服务609和mec分布式控制器603。mec分布式控制器603包括mec基础设施层605、mec托管基础设施607和mec系统编排功能611。
[0092]
mec分布式控制器603包括用于控制mec站点600的操作以及规划、调度和分发在mec站点600的资源上执行的算力卸载服务的各层的组件。在一个实施例中,mec分布式控制器603执行在mec站点600的资源上以及在非常接近mec站点600的其它mec站点的资源上执行的算力卸载服务的各层的规划、调度和分发。
[0093]
mec基础设施层605包括与mec站点600的配置相关的信息,包括:控制面信息615,用于配置mec站点600的控制面;数据面信息617,用于配置mec站点600的数据面;以及移动设备或接入节点信息619,用于配置耦合到mec站点600的移动设备或接入节点。接入节点通常也可以称为node b(节点b)、演进型node b(enb)、下一代(ng)node b(gnb)、主enb(menb)、辅enb(senb)、主gnb(mgnb)、辅gnb(sgnb),网络控制器、控制节点、基站、接入点、传输点(tp)、传输接收点(trp)、小区、载波、宏小区、毫微微小区、微微小区等,而移动设备通常也可以称为移动站、移动台、终端、用户、订阅者、工作站、用户设备(ue)等。
[0094]
mec托管基础设施607包括与mec站点600的资源配置相关的信息。在所示的实施例中,mec托管基础设施607包括mec网络功能(nf)621(包括但不限于用户面功能(upf)623),其负责支持促进用户面操作的特征和能力,例如分组路由和转发、与数据网络的互连、策略实施、数据缓冲等。mec托管基础设施607还包括关于mec站点600的资源的信息,例如用于mec站点600的数据输入或输出资源的输入/输出(i/o)资源625、用于由mec站点600存储数据或信息的存储资源627、用于由mec站点600进行通信的网络资源629以及用于由mec站点600在vm中执行程序或应用的虚拟化层631(即,支持在mec站点600的mec节点上的vm中执行服务的虚拟化层631的信息)。
[0095]
mec系统编排功能611接受服务任务请求、验证策略、执行规划(例如,资源规划、优
先级规划、基于地理位置的规划等)、调度任务和作业以及分发作业。mec系统编排611包括规划功能639、策略管理功能641和调度功能643。
[0096]
规划功能639执行资源规划、优先级规划、基于地理位置的规划等。规划功能639还接受(例如,从移动设备接收的)任务请求。规划功能639还共享关于资源状态(例如计算资源状态)、可用计算资源的数量、空闲计算资源的数量、可用计算资源的百分比、空闲计算资源的百分比等信息。换句话说,规划功能639根据地理位置信息执行对资源、优先级等的高层规划,并根据计算资源可用性划分服务。如果影响构成虚拟资源池的mec站点和mec节点的某些地理位置信息发生变更(例如,移动设备的路线发生变更等),则规划功能639可能需要重复服务的高层规划以反映变更后的地理位置信息。
[0097]
策略管理功能641验证策略,例如qos策略匹配、安全匹配等。调度功能643调度与服务(由规划功能639划分的服务)相关联的任务和作业,并将作业分发到mec节点。可以使用策略限制、优先级要求、输出截止时间等将作业分配给mec节点。换句话说,调度功能643执行将与服务相关联的任务和作业调度到mec节点和mec站点的低层调度。通常,调度功能643根据地理位置信息的变更(例如,移动设备遇到交通阻塞并且必须减慢速度,事故导致移动设备行进延迟等)来动态地调度与服务相关联的任务和作业,该地理位置信息不改变移动设备的路线,而是根据时间改变移动设备沿着路线的位置。
[0098]
mec服务609包括在mec站点600中执行的服务。如图6所示,mec站点600支持三个服务(例如,服务633、635和637)的执行。然而,实际上,mec站点支持的服务数量取决于mec站点的资源以及服务的规模和复杂性。例如,mec站点可以支持执行大量较小且不太复杂的服务,而同一mec站点能够支持相对较小数量的较大且较复杂的服务。
[0099]
在一个实施例中,mec分布式控制器603以分布式方式操作。每个mec站点可以包括mec分布式控制器,并且每个mec分布式控制器与其它mec分布式控制器一起操作。在一个实施例中,彼此相对接近的mec分布式控制器彼此协同操作,其中相对接近度可以定义为距离参数、行进时间参数、时间参数等。相对接近度可以根据环境因素、交通信息、紧急情况信息等改变。例如,第一mec站点的mec分布式控制器可以与第二mec站点的mec分布式控制器共享与服务的执行相关的信息,并且两个mec分布式控制器可以针对各自的mec节点执行规划、调度和分发。如本文中所使用的,例如,任务和作业的分发可以沿着移动设备的路线按顺序或线性方式进行。任务和作业的顺序分发遵循任务或作业的服务时间。下面详细讨论mec分布式控制器603和mec系统编排功能611。
[0100]
在一个实施例中,单个mec站点可以具有一个或多个mec节点。在mec站点包括多于一个mec节点的情况下,mec节点可以多种方式中的任意方式连接。例如,mec节点可以全部连接。又例如,mec节点也可以部分连接。
[0101]
图7a示出了mec节点连接的第一示例配置700。如图7a所示,多个mec节点(包括但不限于mec节点705、706、707和708)部分连接,其中一些mec节点彼此直接连接,例如mec节点705和706、mec节点705和707等,而一些mec节点彼此间接连接,例如mec节点705和708、mec节点706和707等。
[0102]
图7b示出了mec节点连接的第二示例配置750。如图7b所示,多个mec节点(包括但不限于mec节点755、756、757和758)部分连接,其中mec节点仅连接到其近邻,例如mec节点755和756、mec节点757和758等。此外,每个mec节点连接到流760,其向mec节点提供指令流、
数据流或指令流和数据流两者。
[0103]
在一个实施例中,mec分布式控制器为分散型,其中每个mec站点均具有mec分布式控制器实现。例如,每个mec站点具有mec系统编排功能,该mec系统编排功能具有分散规划功能、分散策略管理功能和分散调度功能。在一个实施例中,尽管每个mec站点包括分散型mec分布式控制器,但是在mec分布式控制器之间执行协作。mec分布式控制器之间的协作可以包括共享规划信息、策略信息、调度信息、优先级信息、任务时间和截止时间、地理位置信息等。
[0104]
在一个实施例中,mec站点的mec分布式控制器之间的协作取决于移动设备的地理位置和移动设备的路线。例如,在移动设备的路线上的mec站点的mec分布式控制器可以协作规划、调度和分发与由移动设备进行算力卸载的服务的执行相关联的任务。下面详细讨论该协作。又例如,在移动设备的路线上的mec站点的mec分布式控制器之间的协作程度取决于mec站点的相对接近度。例如,与不相邻但仍在移动设备的路线上的mec站点相比,相邻且在移动设备的路线上的mec站点通常具有更大程度的协作。
[0105]
各种mec分布式控制器之间的协作程度可以取决于不同mec站点的相对接近度。例如,两个物理上接近的mec站点的mec分布式控制器之间的协作程度高于两个相隔较远的mec站点的mec分布式控制器之间的协作程度。类似地,位于繁忙的高速公路上的两个相邻mec站点的mec分布式控制器之间的协作程度高于位于未连接的不同高速公路上的两个mec站点的mec分布式控制器之间的协作程度。
[0106]
图8示出了mec平台800,该mec平台800强调mec站点的mec分布式控制器的分散规划功能。mec平台800包括多个mec站点(包括mec站点805至808)。多个mec站点中的mec站点相互连接。每个mec站点包括多个mec节点。例如,mec站点808包括mec节点810至812。尽管多个mec站点中的每个mec站点示为具有相同数量的mec节点,但是不同的mec站点可以具有不同数量的mec节点。
[0107]
在分散mec系统编排功能814中,规划功能(例如,规划功能815至818)的多个实例被示为执行规划操作,包括资源规划、优先级规划、基于地理位置的规划等。每个规划功能与mec站点相关联。例如,规划功能815与mec站点805相关联,规划功能816与mec站点806相关联,以此类推。mec系统编排功能814中的其它功能的实例也可以包括在分散mec系统编排功能814中,包括策略管理功能和调度功能。
[0108]
根据一个示例实施例,mec框架提供单一工作负载管理接口。单一工作负载管理接口在地理上分布的mec站点和mec节点上提供虚拟单一资源接口。mec框架应用编程接口(api)可以实现单一工作负载管理接口,其中在概念上,移动设备与单个分散型mec分布式控制器而不是与多个单独的mec站点交互,以执行规划功能、策略管理功能和调度功能。然而,多个mec站点可以实现其自己的分散型mec分布式控制器。在一个实施例中,每个mec站点实现其自己的分散型mec分布式控制器。在另一个实施例中,mec站点的子集实现分散型mec分布式控制器。例如,在存在多个位置较近的mec站点的部署中,这些mec站点中的一个可以实现分散型mec分布式控制器,该控制器执行用于一般区域中多个mec站点的规划功能、策略管理功能和调度功能。mec框架管理与沿着mec平台的算力卸载服务相关联的任务。此外,提供了一种基于优先级、地理位置(例如,位置、路线等)、应用qos、帐户qos、计算类型等的服务工作负载抽象的方法和装置。
[0109]
mec站点提供的基础设施被虚拟化,并提供以下功能:
[0110]-动态资源管理,跟踪移动设备的移动(例如,路线)。为沿着移动设备的路线的mec站点和mec节点的资源提供管理,使得能够及时执行与由移动设备进行算力卸载的服务相关联的任务。
[0111]-同步相邻mec节点和mec站点的状态,能够将任务调度到可用的计算资源。
[0112]-不同mec节点计算资源和资源类型及其相应能力的知识。
[0113]-映射工作负载(与移动设备的算力卸载服务相关联的任务,以及其它移动设备的任务)到计算资源的映射以及任务到计算资源的映射。
[0114]
图9示出了mec平台900,该mec平台强调由mec框架提供的基础设施的虚拟化。mec平台900包括mec站点(例如,mec站点905至908),其中每个mec站点包括多个mec节点(例如,mec站点905包括mec节点910、911和912)。天线915、916和917等天线为移动设备920提供到mec站点的ran连接。如图9所示,天线915为mec站点905提供连接,天线916为mec站点906提供连接,天线917为mec站点907提供连接。
[0115]
虚拟资源池925表示mec平台900的mec站点和mec节点的资源虚拟化,例如资源组930至932。例如,资源组930表示mec站点905的资源,资源组931表示mec站点906的资源,资源组932表示mec站点907的资源。如每个资源组中所示,每个黑色实心圆(例如,黑色圆935和936)表示mec站点的单个计算资源,例如mec节点。
[0116]
分散型mec分布式控制器的系统编排功能选择一个或多个资源以执行与算力卸载服务相关联的任务的至少一部分。例如,分散型mec分布式控制器的系统编排功能选择与资源组930中高亮显示的圆937相对应的资源来执行mec站点905上任务的一部分。类似地,分散型mec分布式控制器的系统编排功能选择与资源组931的高亮显示的圆938相对应的资源来执行mec站点906上任务的一部分,并且选择与资源组932的高亮显示的圆939相对应的资源来执行mec站点907上任务的一部分。
[0117]
在一个实施例中,根据资源可用性和与算力卸载服务相关联的任务的要求,分散型mec分布式控制器能够选择零个或多个资源来执行任务的一部分。例如,分散型mec分布式控制器可以从第一资源组中选择一个资源来执行与算力卸载服务相关联的任务的第一部分。如果资源组中没有足够的资源可用于执行任务的第一部分,则可能需要选择其它资源组中的资源来执行任务的第一部分。又例如,分散型mec分布式控制器可以从第二资源组中选择两个资源来执行与算力卸载服务相关联的任务的第二部分。分散型mec分布式控制器可以因多种因素而选择第二资源组中的两个资源(与第一资源组中仅有的一个资源相比),包括:任务的第二部分具有比任务的第一部分更大的资源需求;移动设备在第二资源组附近停留的时间比第一资源组更长(例如,通过移动设备的路线确定),因此,当移动设备在第二资源组附近时,预计执行服务的更大部分;任务的第一部分未被分配给第一资源组中的任何资源,并且必须分配第二资源组中的资源来执行任务的第一部分,以此类推。
[0118]
图10示出了在mec框架工作流程中发生的示例操作1000的流程图。操作1000可以指示以下情况下在mec框架中发生的操作:mec框架接收mec计算任务请求以对服务的执行进行算力卸载,并将与服务的执行相关联的作业部署到mec站点的资源上,以便支持服务移动性并确保提供可接受的用户体验。
[0119]
操作1000从mec框架接收mec计算任务请求开始(框1005)。mec框架可以从连接到
mec平台的移动设备接收mec计算任务请求。mec计算任务请求可以是对服务的执行进行算力卸载的请求,其中服务的执行将从单个服务器算力卸载到mec平台的资源。例如,mec计算任务请求可以由在移动设备上使用mec api执行的移动应用发起。mec流体框架api是mec api的示例。
[0120]
mec计算请求可以提供用于对服务进行算力卸载的信息,包括正在进行算力卸载的服务、移动设备(或移动设备的用户)的优先级、用户信息(例如,帐户信息、优先级信息、qos要求和限制等)、移动设备信息(例如,帐户信息、优先级信息、qos要求和限制等)、地理位置信息(包括当前位置、目的地),移动设备的路线(例如,由导航应用提供)等。
[0121]
发出mec节点请求(框1007)。例如,可以沿着移动设备的路线向各个mec站点和mec节点发出mec节点请求。mec节点请求用于核实和确认移动设备(例如,移动设备的用户或移动应用的用户)请求(框1009和框1011)。执行策略管理(框1013)。策略管理由分散型mec分布式控制器的策略管理功能执行,并且(例如)可以匹配服务、移动设备、用户和mec平台的资源的策略(例如,qos策略、安全策略等)(框1015)。例如,策略管理可以包括流体框架策略管理。
[0122]
执行规划(框1017)。例如,规划可以包括流体框架规划。规划确定在mec平台上执行算力卸载服务的执行计划。例如,执行计划指定与算力卸载服务器相关联的任务,指定执行任务的资源,等等。规划由分散型mec分布式控制器的规划功能执行,并且(例如)包括资源规划(框1019)、优先级规划(框1021)和地理位置规划(框1023)。资源规划可以包括确定执行算力卸载服务所需的资源。例如,资源规划确定执行算力卸载服务所需的资源总量。又例如,资源规划确定在移动设备连接到mec站点时在每个mec站点处执行预期执行的算力卸载服务的一部分所需的资源量。在该示例中,资源规划利用移动设备的路线以及交通信息(例如,交通状况、交通拥堵等)、地形信息(例如,备选道路或路线信息等)、地理信息(例如,可能影响移动设备连接的地理特征等)等。
[0123]
优先级规划可能类似于资源规划,但需要考虑优先级信息。例如,优先级规划可以利用优先级信息来帮助确保满足qos和安全限制及要求。例如,可以根据算力卸载服务、移动设备或算力卸载服务和移动设备两者的优先级对资源进行分层。
[0124]
地理位置规划利用移动设备的地理位置信息来帮助资源规划和优先级规划。例如,地理位置信息可以帮助确定在沿着移动设备的路线的每个mec站点处所需的资源,以提供足够的性能来满足用户体验期望,满足qos和安全限制等。此外,地理位置信息(例如交通状况信息、紧急情况信息等)可用于调整资源规划和优先级规划。例如,意外的交通阻塞可能需要在一些mec站点处分配额外的资源,以确保有足够的资源可用于执行算力卸载服务。相反,意外快速的交通可能导致一些mec站点处的一些先前分配的资源变得可用于重新分配用于其它服务的执行。
[0125]
执行调度(框1025)。调度可以由分散型mec分布式控制器的调度功能来执行。调度涉及将与算力卸载服务相关联的任务划分为可以由mec站点的资源执行的作业(框1027)。如果任务的计算量太大,无法在某个时间要求内完成,则可以将该任务划分为多个作业。调度还涉及将释放时间和截止时间分配给任务或作业,以确保作业在适当的释放时间开始,从而确保任务或作业在截止时间之前完成(框1029)。遵守释放时间和截止时间可以确保满足用户体验以及qos和安全限制及要求。可以满足不同mec站点的容量的方式执行调度。此
外,调度可以有助于保持mec站点的高效率(框1031)。例如,如果在调度任务或作业时不考虑最大限度地减少远距离mec站点之间的通信,则可能在mec站点之间执行不必要的通信,这可能导致通信链路饱和,并可能导致通信性能变差、总体性能下降。类似地,过度使用的mec站点可能会导致在mec站点的程序存储器中进出的服务切换过多,这可能导致用于切换服务的时间比服务本身的实际执行时间更长。
[0126]
部署调度的任务或作业(框1033)。部署调度的任务或作业可以包括向mec站点的不同mec节点分发数据和信息。例如,可以向mec节点提供关于已被调度用于mec节点的算力卸载服务(例如,算力卸载服务的哪一部分已被调度用于mec节点)、mec节点在算力卸载服务的执行时要处理的数据、预期的用户交互、释放时间和截止时间等。在一个实施例中,作业部署可以包括对所调度任务或作业的任何实时变更。例如,意外的交通阻塞或突然清除的交通阻塞(或移动设备路线的任何其它未计划的停止或变更)可能导致对所调度任务或任务的变更。例如,可以通过将数据和信息重新分配给受影响的mec节点来实现对所调度任务或作业的变更。
[0127]
图11示出了在将服务算力卸载到mec平台的移动设备中发生的示例操作1100的流程图。操作1100可以指示当移动设备将服务的执行算力卸载到mec平台时在移动设备中发生的操作。移动设备并非直接执行服务,因为这可能需要比移动设备处可用的资源更多的资源,而是将服务算力卸载到mec平台,mec平台将提供用于执行服务的资源。mec平台还提供规划和调度基础设施以支持服务的执行。
[0128]
操作1100从移动设备请求mec计算任务开始(框1105)。mec计算任务可以是将应用算力卸载到mec平台的请求,其中mec平台提供用于执行算力卸载服务的资源。移动设备可以通过向当前与其连接的mec站点发送mec计算请求来请求mec计算任务。mec计算请求可以提供用于对服务进行算力卸载的信息,包括正在进行算力卸载的服务、移动设备(或移动设备的用户)的优先级、用户信息(例如,帐户信息、优先级信息、qos要求和限制等)、移动设备信息(例如,帐户信息、优先级信息、qos要求和限制等)、地理位置信息(包括当前位置、目的地),移动设备的路线(例如,由导航应用提供)等。
[0129]
验证请求(框1107)。验证请求可以包括核实请求和确认请求。核实请求可以包括对移动设备(或用户)的帐户进行认证,包括帐户的优先级、帐户的安全级别、帐户的状态等。例如,确认请求可以包括提示用户确认算力卸载服务的期望。
[0130]
移动设备与mec节点和mec站点交互(框1109)。作为服务执行的一部分,移动设备(或移动设备的用户)可以向服务提供输入并且从服务接收输出。移动设备还可以与服务交互。移动设备接收服务执行的结果(框1111)。服务的执行可以产生在产生结果时提供给移动设备的结果。服务的执行也可以在执行完成时产生结果。在任一情况下都将结果提供给移动设备。
[0131]
图12示出了在将服务算力卸载到mec平台时发生的示例操作1200的流程图。操作1200可以指示当分散型mec分布式控制器参与将服务算力卸载到mec平台时在分散型mec分布式控制器中发生的操作。
[0132]
如前所述,分散型mec分布式控制器执行操作,以帮助确保算力卸载服务的执行在满足qos和安全要求和限制的同时提供良好的用户体验。此外,分散型mec分布式控制器有助于确保维持mec站点和节点的容量和效率。例如,分散型mec分布式控制器可以执行负载
平衡,以帮助确保没有一个特定的mec站点或mec节点过载,这可能会降低mec平台的容量和效率。
[0133]
操作1200从接收mec计算任务请求开始(框1205)。例如,mec计算任务请求可以提供用于算力卸载服务的信息。可以从正在算力卸载服务的移动设备接收mec计算任务请求。验证mec计算任务请求(框1207)。验证请求可以包括核实请求和确认请求。验证请求可以包括沿着移动设备的路线向mec节点和mec站点发出mec节点请求,以核实和确认移动设备。例如,在mec节点和mec站点处验证移动设备的订阅或帐户。
[0134]
分散型mec分布式控制器执行策略管理(框1209)。策略管理可以包括匹配服务、移动设备和mec平台资源的策略,例如qos策略、安全策略等。分散型mec分布式控制器执行规划(框1211)。规划包括资源规划、优先级规划和地理位置规划。资源规划可以包括确定执行算力卸载服务所需的资源。优先级规划可能类似于资源规划,但需要考虑优先级信息。地理位置规划利用移动设备的地理位置信息来帮助实现资源规划和优先级规划。
[0135]
分散型mec分布式控制器执行调度(框1213)。调度还涉及将与算力卸载服务相关联的任务划分为作业,如果一些任务的计算量太大,使得单个mec节点无法在分配的时间内完成这些任务,则这些作业可以由mec站点的资源执行。调度还可以包括将任务或作业映射到被选择用于执行任务或作业的mec节点。调度还确定所选择的mec节点的最坏情况执行时间。调度还涉及将释放时间和截止时间分配给任务或作业,以确保任务或作业在适当的释放时间开始,从而确保任务或作业在截止时间之前完成。调度利用地理位置信息来调度任务或作业,使得任务或作业在移动设备处于具有执行作业的(多个)资源的mec站点的范围内时或临近该时刻完成。调度还利用交通信息、紧急情况信息、地形信息、地理信息等。遵守释放时间和截止时间可以确保满足用户体验以及qos和安全限制及要求。调度还考虑到mec站点和mec节点处已存在的负载。可以满足不同mec站点的容量的方式执行调度。此外,调度可以有助于保持mec站点的高效率。
[0136]
分散型mec分布式控制器部署任务或作业(框1215)。任务或作业由分散型mec分布式控制器按计划进行部署。部署调度的任务或作业可以包括向mec站点的不同mec节点分发数据和信息。导致所调度任务或作业发生变更的任何变更都可能导致分散型mec分布式控制器重复对任务或作业的部署。例如,可以通过将数据和信息重新分配给受影响的mec节点来实现对所调度作业的变更。
[0137]
图13示出了在执行算力卸载服务的mec节点中发生的示例操作1300的流程图。操作1300可以指示当mec节点执行算力卸载服务时在mec节点中发生的操作。mec节点可以执行为mec节点调度的作业。
[0138]
操作1300从mec节点接收(多个)任务或(多个)作业开始(框1305)。mec节点接收与分配给mec节点的(多个)任务或(多个)作业相关的数据和信息。例如,可以向mec节点提供关于已被调度用于mec节点的算力卸载服务(例如,算力卸载服务的哪一部分被调度用于mec节点)、mec节点在算力卸载服务的执行时要处理的数据、预期的用户交互、释放时间和截止时间等的信息。对mec节点的(多个)调度作业的任何更新都可能导致mec节点接收更新的数据和信息。mec节点执行(多个)任务或(多个)作业并与移动设备交互(框1307)。mec节点基于所提供的释放时间和截止时间来执行任务或作业,以确保mec节点在截止时间之前完成任务或作业的执行。mec节点可以与移动设备交互。例如,mec节点可以从移动设备接收
数据。mec节点还可以从移动设备接收用户输入。mec节点还可以向移动设备提供信息或数据。
[0139]
根据一个示例实施例,规划与算力卸载服务相关联的资源是根据目标函数进行的。可以简单地将与算力卸载服务相关联的任务或作业分配给其资源足以及时执行这些作业的mec站点和mec节点。然而,这种简单的规划方法可能会导致一些mec站点和mec节点负担过重,而其它mec站点和mec节点利用不充分。这会导致mec平台效率低下以及mec平台容量利用率低下。
[0140]
在一个实施例中,规划资源涉及优化mec平台效率和容量的目标函数。使用目标函数规划资源有助于在多个mec站点上分发与服务相关联的任务或作业,并且mec节点有助于防止一些mec站点和mec节点负担过重。
[0141]
作为说明性示例,考虑以下情况:移动设备沿着路线移动,并且准备将服务的执行算力卸载到mec平台。该服务包括任务ti,其被分配给mec平台的mec站点和mec节点的适当资源。使用了以下符号:
[0142]
nn:规划中mec节点的数量;
[0143]
mec={mn1,mn2,
…
,mnnn}:正在考虑的mec节点集合,其中mni表示mec节点i;
[0144]
mnci:mec节点mni的计算能力;
[0145]
t={t1,t2,
…
,tm}:计划在mec节点上执行的任务集合,其中m是所考虑的任务的数量;
[0146]
ti={ji,1,
…
,ji,ji}:任务i包含ji作业序列。作业必须按序列执行,即ji,j+1在ji,j结束后才能开始;
[0147]
jci,j:任务ji,j的计算需求;
[0148]
jrti,j:任务ji,j的释放时间;以及
[0149]
pij:在一个时间段的预测持续时间内(对于特定节点,因为不同的设施计算能力不同),每个ti的作业必须在其释放之后结束。这意味着,对于ti中的任何连续对ji,j和ji,j+1,jri,j+1》=jri,j+pij。
[0150]
上面给出的所有符号都具有用于规划的已知值:
[0151]
jsti,j:执行作业ji,j的实际开始时间;以及
[0152]
jmni,j:分配给执行作业ji,j的mec节点。
[0153]
示例规划如下:
[0154]
给定i∈[1,m]和j∈ti,
[0155]
(1)jrti,j《=jsti,j
[0156]
(2)1《=jmni,j《=jmni,j+1《=nn
[0157]
给定i∈[1,m]和j∈ti和jmni,j=k,k∈[1,nn](k:节点)
[0158]
(3)jsti,j+jci,j/mnck《=jrti,j+pij
[0159]
给定k∈[1,nn],i∈[1,m],j∈ti,jmni,j=k,t0=min(jsti,j),以及t1=max(jsti,j
[0160]
+pij)
[0161]
(4)∑jci,j《=mnck*(max({jsti,j+pij})
–
min({jsti,j}))
[0162]
其中:方程(1)、(2)和(3)是约束方程。一种可能的方案是确定满足约束方程的
jsti,j和jmni,j。在多个方案中,选择将体现预定服务策略的最佳方案。
[0163]
在一个实施例中,规划资源是动态规划问题。在规划资源的问题中,对于给定任务ti,可以定义目标函数。例如,每个mec节点具有相关联的成本和值,该成本和值可以用于确定mec节点是否应分配用于执行任务ti。mec节点的示例关联成本可以是计算时间。mec节点的示例关联值可以是地理位置、优先级、计算能力或容量等的函数。
[0164]
在特定时间t处,mec节点可以动态地加入虚拟资源池。例如,在特定时间t处,因为预期移动设备正在接近包括mec节点的mec站点(其中根据移动设备的路线确定移动设备正在接近mec站点的预期),因此mec节点可以加入虚拟资源池。类似地,可以从虚拟资源池中丢弃mec节点。例如,在特定时间t处,因为预期移动设备正在离开包括mec节点的mec站点(其中根据移动设备的路线确定移动设备正在离开mec站点的预期),因此可以从虚拟资源池中丢弃mec节点。如本讨论中所使用的,接近和离开mec站点是指接近和离开mec站点的覆盖区域。
[0165]
通常,每个mec节点可以处于以下三种状态之一:空闲、获取(锁定)和服务,其中空闲表示mec节点未在执行任务,获取表示mec节点已被分配任务,服务表示mec节点正在执行任务。
[0166]
因此,为了在有限的总计算时间t(这是规划资源的总成本)内找到方案(即,规划资源或将任务分配给mec节点),选择一个或多个既可以执行应用(应用的任务)又可以使值最大化的mec节点。
[0167]
解决方案的示例实施例的算法描述如下:
[0168]
e[0][t]=0;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
///初始状态。e是要最大化的能量。
[0169]
如果c[i]》t,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
///如果mec节点i的成本超过总计算成本
[0170]
则e[i][t]=e[i-1][t];
ꢀꢀꢀꢀꢀ
///则不选择mec节点i。
[0171]
否则
[0172]
e[i][t]=max{e[i-1][t-c[i]+v[i]],e[i-1][t]};
[0173]
///e[i][t]-具有时间t约束的mec节点i的能量,
[0174]
///e[i-1][t-c[i]+v[i]]-示出当选择mec节点i-1时
[0175]
///剩余mec节点的总可用时间减去成本:c[i]
[0176]
///(此处,成本为e[i-1][t-c[i]]),且总能量加上
[0177]
///值:v[i]。
[0178]
e[i-1][t]-示出当不选择mec节点i-1时总能量
[0179]
///与上一步骤相同。
[0180]
///根据使总能量最大化的标准选择两个部分中
[0181]
///较大的一个。
[0182]
在一个实施例中,一旦mec节点被选择用于执行与算力卸载服务相关联的任务或作业,则任务或作业的部署包括设置即将到来的mec节点资源的状态,这些mec节点资源被选择用于获取或锁定,以帮助确保这些mec节点不被选择用于其它服务。并非所有被选择用于执行算力卸载服务的mec节点都必须锁定。只有那些非常接近移动设备的mec节点才应该更改其状态。如果在指定的时间段内不需要所选择的mec节点,则不改变每个所选择mec节点的状态,使得这些mec节点用于执行其它服务。例如,指定的时间段可以由mec平台的运营
商指定。指定的时间段也可以根据执行任务或作业的时间来确定,例如最坏情况执行时间(wcet)。在mec节点完成执行其分配的任务或作业之后,mec节点被释放回虚拟资源池中。例如,可以通过将mec节点的状态设置为空闲,将mec节点释放回虚拟资源池。
[0183]
图14a示出了移动设备1405和mec节点的示意图1400,该mec节点在第一时间实例处执行移动设备1405的算力卸载服务的作业。在第一时间实例处,mec节点1411、1412、1413和1414(如虚线圆圈所示)正在执行与移动设备1405的算力卸载服务相关联的作业(遍历路线1406),而mec节点1410和1415(如清晰圆圈所示)等其它mec节点未被选择用于执行与算力卸载服务相关联的作业(或者至少尚未执行与算力卸载服务相关联的作业)。
[0184]
mec节点1411、1412、1413和1414可以是在移动设备1405的当前位置的时间窗口内的mec节点。在时间窗口内的mec节点可以预期为移动设备1405提供服务或将以一定概率为移动设备1405提供服务。时间窗口的大小可能根据包括环境因素、交通信息、紧急情况信息等因素而变化。通常,时间窗口应该足够大,使得能够在任何一个时间处高效地调度多个mec节点,但是时间窗口不应过大,或者与移动设备1405的移动性相关联的不确定性可能导致必须重新调度太多已调度的作业和任务。
[0185]
作为时间窗口的替代方案,执行移动设备1405的作业的mec节点的数量可以是预先指定的值。例如,在图14a中,mec节点的数量是4,但也可以预先指定其它数量。mec节点的数量可以与时间窗口相关。例如,如果移动设备1405快速移动,则mec节点的数量可以更大,而如果移动设备1405缓慢移动,则mec节点的数量可以更小。
[0186]
图14b示出了移动设备1405和mec节点的示意图1450,该mec节点在第二时间实例处执行移动设备1405的算力卸载服务的作业。第二时间实例在时间上晚于第一时间实例。在第二时间实例处,mec节点1412、1413、1414和1415在时间窗口内,并且正在执行与移动设备1405的算力卸载服务相关联的作业(遍历路线1406),而mec节点1410、1411和1416等其它mec节点未被选择用于执行与算力卸载服务相关联的作业(或者至少尚未执行与算力卸载服务相关联的作业)。
[0187]
图15示出了将与算力卸载服务相关联的任务调度到mec节点的示意图1500。如图15所示,mec站点1510、1512和1514的mec节点被选择用于执行与移动设备1505的算力卸载服务相关联的任务。
[0188]
如前所述,mec平台的分散型mec分布式控制器从移动设备1505接收mec计算任务请求以算力卸载服务,并将算力卸载服务的任务部署到mec站点1510至1514。在一个实施例中,分散型mec分布式控制器接收在当前mec站点(例如,mec站点1510)处执行算力卸载服务的任务的结果,并将结果提供给下一mec站点(例如,mec站点1512)。控制计算结果传播的分散型mec分布式控制器可以有助于确保正确、及时地将结果提供给下一个mec站点。
[0189]
分散型mec分布式控制器为任务ti规划计算mec节点和输出mec节点。分散型mec分布式控制器控制处理流的序列以及mec节点之间的结果传递。在给定n个任务和总共m个mec节点的情况下,分散型mec分布式控制器确定为保证满足截止时间(例如,qos限制和要求)而应该执行任务的位置、时间和时长。
[0190]
如图15所示,服务的周期为pi,其大于或等于算力卸载服务的wcet。任务ti对应于多个作业,其中j(i,j)对应于任务ti(j=1,2,...)的第j个作业。此外,每个作业具有释放时间r(i,j)和截止时间d(i,j),其中d(i,j)=r(i,j)+pi。通常,每个作业需要ci个资源,其
中ci是整数。如图15所示,任务ti的作业j具有释放时间r(i,j)1520和截止时间d(i,j)1522。作业j(如框1524所示)由mec站点1510执行。类似地,任务ti的作业j+1具有释放时间r(i,j+1)1525和截止时间d(i,j+1)1527。作业j+1(如框1528和1529所示)由mec站点1512执行。
[0191]
图16示出了将与算力卸载服务相关联的任务调度到mec节点的示意图1600,其中该调度强调资源优化。如图16所示,mec站点1510、1512和1514的mec节点被选择用于执行与移动设备1505的算力卸载服务相关联的任务。调度任务或作业时,mec系统编排功能1605还利用资源优化作为输入。例如,任务ti的利用率可表示为
[0192]
ui=ci/pi。
[0193]
任务集包括n个任务t1,t2,...,tn,并且总利用率可表示为
[0194]
u_total=summation(ui)=summation(ci/pi)。
[0195]
图17是可用于实现本文公开的设备和方法的计算系统1700的框图。例如,计算系统可以是mec节点或mec站点。特定设备可利用所有所示的组件或这些组件的仅一子集,且设备之间的集成程度可能不同。此外,设备可以包括多个组件实例,例如多个处理单元、处理器、存储器、发送器、接收器,等等。计算系统1700包括处理单元1702。处理单元包括中央处理单元(cpu)1714、存储器1708,还可以包括与总线1720相连的大容量存储器设备1704、视频适配器1710以及i/o接口1712。
[0196]
总线1720可以是任何类型的若干总线架构中的一个或多个,包括存储总线或存储控制器、外设总线、或视频总线。cpu 1714可包括任何类型的电子数据处理器。存储器1708可包括任何类型的非瞬时性系统存储器,例如静态随机存取存储器(sram)、动态随机存取存储器(dram)、同步dram(sdram)、只读存储器(rom)或其组合。在实施例中,存储器1708可包括在开机时使用的rom以及在执行程序时使用的存储程序和数据的dram。
[0197]
大容量存储器1704可包括任何类型的非瞬时性存储设备,用于存储数据、程序和其它信息,并使这些数据、程序和其它信息可通过总线1720访问。大容量存储器1704可包括例如固态驱动器、硬盘驱动器、磁盘驱动器或光盘驱动器中的一种或多种。
[0198]
视频适配器1710和i/o接口1712提供接口以将外部输入和输出设备与处理单元1702耦合。如图所示,输入和输出设备的示例包括与视频适配器1710耦合的显示器1718和与i/o接口1712耦合的鼠标、键盘、打印机1716。其它装置可以与处理单元1702耦合,并且可以利用额外的或较少的接口卡。例如,通用串行总线(usb)(未示出)等串行接口可以用于将接口提供给外部设备。
[0199]
处理单元1702还包括一个或多个网络接口1706,网络接口可以包括以太网电缆等有线链路,或用以接入节点或不同网络的无线链路。网络接口1706允许处理单元1702通过网络与远程单元通信。例如,网络接口1706可以通过一个或多个发送器/发送天线以及一个或多个接收器/接收天线提供无线通信。在一个实施例中,处理单元1702与局域网1722或广域网耦合以用于处理数据以及与其它处理单元、互联网或远程存储设施等远程设备进行通信。
[0200]
应当理解,此处提供的实施例方法的一个或多个步骤可以由对应的单元或模块执行。例如,信号可以由发送单元或发送模块进行发送。信号可以由接收单元或接收模块进行接收。信号可以由处理单元或处理模块进行处理。各个单元或模块可以是硬件、软件或其组
合。例如,这些单元或模块中的一个或多个可以是集成电路,例如现场可编程门阵列(fpga)或专用集成电路(asic)。
[0201]
虽然已详细地描述了本发明及其优点,但是应理解,可以在不脱离如所附权利要求书所界定的本发明的范围的情况下在本文中做出各种改变、替代和更改。
技术特征:
1.一种由多址边缘计算(mec)分布式控制器实现的方法,所述方法包括:由所述mec分布式控制器从移动设备接收mec计算任务请求,所述mec计算任务请求用于请求支持在由所述mec分布式控制器控制的mec节点上执行服务的计算节点;由所述mec分布式控制器获取与所述移动设备相关联的地理位置信息;由所述mec分布式控制器确定执行计划和mec节点池,所述执行计划和所述mec节点池用于所述服务的所述执行,所述确定是根据与所述移动设备相关联的所述地理位置信息进行的;由所述mec分布式控制器在所述mec节点池上调度所述执行计划;以及由所述mec分布式控制器部署所调度的所述执行计划。2.根据权利要求1所述的方法,所述执行计划和所述mec节点池与针对时间窗口或指定数量的mec节点的所述服务的所述执行相关联。3.根据权利要求1至2中任一项所述的方法,确定所述执行计划包括:由所述mec分布式控制器将所述服务的所述执行划分为多个任务,其中每个任务可在mec节点上执行;以及由所述mec分布式控制器根据选择功能为所述多个任务中的每个任务选择所述mec节点池的子集。4.根据权利要求3所述的方法,所述mec节点池是根据所述移动设备的用户级别或与所述服务相关联的应用的所有者的帐户级别中的一个来确定的。5.根据权利要求3所述的方法,选择所述mec节点池的所述子集包括:由所述mec分布式控制器为所述mec节点池中的每个mec节点生成在所述mec节点上执行所述多个任务中的每个任务的成本和值;以及由所述mec分布式控制器为所述多个任务中的每个任务从所述mec节点池中选择用于执行所述任务的mec节点,所述选择是根据在所述mec节点上执行所述任务的所述成本和所述值进行的,从而产生所述mec节点池的所述子集。6.根据权利要求5所述的方法,调度所述执行计划包括:由所述mec分布式控制器将释放时间和截止时间分配给所选择的所述mec节点池的所述子集。7.根据权利要求5至6中任一项所述的方法,部署所调度的所述执行计划包括:由所述mec分布式控制器将与所述服务的所述执行相关联的应用数据提供给所选择的所述mec节点池的所述子集,所述提供是根据所述释放时间和所述截止时间进行的。8.根据权利要求6至7中任一项所述的方法,所述释放时间包括所述多个任务的所需开始时间,并且所述截止时间包括所述多个任务的所需结束时间。9.根据权利要求1至8中任一项所述的方法,所述mec计算任务请求包括以下至少一项:服务帐户、移动设备用户标识符或所述执行计划预期覆盖的多个mec节点;并且所述地理位置信息至少包括所述移动设备的路线。10.根据权利要求1至9中任一项所述的方法,还包括:由所述mec分布式控制器根据交通信息或紧急情况信息中的至少一个更新所述移动设备的所述地理位置信息;由所述mec分布式控制器根据所更新的所述地理位置信息确定更新的执行计划和更新的mec节点池;
由所述mec分布式控制器在所述更新的mec节点池上调度所述更新的执行计划,以产生更新的调度执行计划;以及由所述mec分布式控制器部署所述更新的调度执行计划。11.一种多址边缘计算(mec)分布式控制器,包括:一个或多个mec节点,被配置为执行作业;接收器,被配置为从移动设备接收mec计算任务请求,所述mec计算任务请求用于请求支持在由所述mec分布式控制器控制的mec节点上执行服务的计算节点;编排器,可操作地耦合到所述接收器和所述一个或多个mec节点,所述编排器被配置为:获取与所述移动设备相关联的地理位置信息;确定执行计划和mec节点池,所述执行计划和所述mec节点池用于所述服务的所述执行,所述确定是根据与所述移动设备相关联的所述地理位置信息进行的;在所述mec节点池上调度所述执行计划;以及部署所调度的所述执行计划。12.根据权利要求11所述的mec分布式控制器,所述编排器还被配置为:将所述服务的所述执行划分为多个任务,其中每个任务可在mec节点上执行;根据选择功能为所述多个任务中的每个任务选择所述mec节点池的子集。13.根据权利要求12所述的mec分布式控制器,所述mec节点池是根据所述移动设备的用户帐户级别或与所述服务相关联的应用的所有者的帐户级别中的一个来确定的。14.根据权利要求12所述的mec分布式控制器,所述编排器还被配置为:为所述mec节点池中的每个mec节点生成在所述mec节点上执行所述多个任务中的每个任务的成本和值;以及为所述多个任务中的每个任务从所述mec节点池中选择用于执行所述任务的mec节点,所述选择是根据在所述mec节点上执行所述任务的所述成本和所述值进行的,从而产生所述mec节点池的所述子集。15.根据权利要求14所述的mec分布式控制器,所述编排器还被配置为:将释放时间和截止时间分配给所选择的所述mec节点池的所述子集。16.根据权利要求14至15中任一项所述的mec分布式控制器,所述编排器还被配置为:将与所述服务的所述执行相关联的应用数据提供给所选择的所述mec节点池的所述子集,所述应用数据是根据所述释放时间和所述截止时间提供的。17.根据权利要求11至16中任一项所述的mec分布式控制器,所述mec计算任务请求包括以下至少一项:服务帐户、移动设备用户标识符或所述执行计划预期覆盖的多个mec节点;并且所述地理位置信息至少包括所述移动设备的路线。18.根据权利要求11至17中任一项所述的mec分布式控制器,所述编排器还被配置为:根据交通信息或紧急情况信息中的至少一个更新所述移动设备的所述地理位置信息;根据所更新的所述地理位置信息确定更新的执行计划和更新的mec节点池;在所述更新的mec节点池上调度所述更新的执行计划,以产生更新的调度执行计划;以及部署所述更新的调度执行计划。19.一种多址边缘计算(mec)分布式控制器,包括:非瞬时性存储器,包括指令;以及
一个或多个处理器,与所述存储器进行通信;其中所述一个或多个处理器执行所述指令以使所述mec分布式控制器:从移动设备接收mec计算任务请求,所述mec计算任务请求用于请求支持在由所述mec分布式控制器控制的mec节点上执行服务的计算节点;获取与所述移动设备相关联的地理位置信息;确定执行计划和mec节点池,所述执行计划和所述mec节点池用于所述服务的所述执行,所述确定是根据与所述移动设备相关联的所述地理位置信息进行的;在所述mec节点池上调度所述执行计划;以及部署所调度的所述执行计划。20.根据权利要求19所述的mec分布式控制器,所述指令还使所述mec分布式控制器:将所述服务的所述执行划分为多个任务,其中每个任务可在mec节点上执行;以及根据选择功能为所述多个任务中的每个任务选择所述mec节点池的子集。21.根据权利要求20所述的mec分布式控制器,所述mec节点池是根据所述移动设备的用户帐户级别或与所述服务相关联的应用的所有者的帐户级别中的一个来确定的。22.根据权利要求21所述的mec分布式控制器,所述指令还使所述mec分布式控制器:为所述mec节点池中的每个mec节点生成在所述mec节点上执行所述多个任务中的每个任务的成本和值;以及为所述多个任务中的每个任务从所述mec节点池中选择用于执行所述任务的mec节点,所述选择是根据在所述mec节点上执行所述任务的所述成本和所述值进行的,从而产生所述mec节点池的所述子集。23.根据权利要求22所述的mec分布式控制器,所述指令还使所述mec分布式控制器:将释放时间和截止时间分配给所选择的所述mec节点池的所述子集。24.根据权利要求22至23中任一项所述的mec分布式控制器,所述指令还使所述mec分布式控制器:将与所述服务的所述执行相关联的应用数据提供给所选择的所述mec节点池的所述子集,所述应用数据是根据所述释放时间和所述截止时间提供的。25.根据权利要求19至24中任一项所述的mec分布式控制器,所述mec计算任务请求包括以下至少一项:服务帐户、移动设备用户标识符或所述执行计划预期覆盖的多个mec节点;并且所述地理位置信息至少包括所述移动设备的路线。26.根据权利要求19至25中任一项所述的mec分布式控制器,所述指令还使所述mec分布式控制器:根据交通信息或紧急情况信息中的至少一个更新所述移动设备的所述地理位置信息;根据所更新的所述地理位置信息确定更新的执行计划和更新的mec节点池;在所述更新的mec节点池上调度所述更新的执行计划,以产生更新的调度执行计划;以及部署所述更新的调度执行计划。
技术总结
一种由多址边缘计算(MEC)分布式控制器实现的方法包括:接收MEC计算任务请求,该MEC计算任务请求用于请求支持在由MEC分布式控制器控制的MEC节点上执行服务的计算节点;获取与移动设备相关联的地理位置信息;确定执行计划和MEC节点池,执行计划和MEC节点池用于服务的执行,确定是根据与移动设备相关联的地理位置信息进行的;在MEC节点池上调度执行计划;以及部署所调度的执行计划。部署所调度的执行计划。部署所调度的执行计划。
技术研发人员:朱佳峰 沈洁 陈丽亚 叶枫
受保护的技术使用者:华为技术有限公司
技术研发日:2020.11.23
技术公布日:2023/8/6
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:限制随机接入过程的制作方法 下一篇:自动驾驶控制方法以及自动驾驶控制装置与流程
