用于5g网络中的边缘服务器之间的应用程序上下文迁移的方法
1.相关申请的交叉引用
2.本技术要求于2021年11月3日在美国专利商标局提交的申请号为63/275,370的美国临时专利申请和于2022年11月2日在美国专利商标局提交的申请号为17/979,399的美国专利申请的优先权,这两个申请的公开内容通过引用以其整体并入本技术中。
技术领域
3.本公开总体上涉及第5代(5g)媒体流(5gms),并且涉及在5g网络中将应用程序上下文从一个边缘应用服务器迁移到另一个应用服务器。
背景技术:
4.用于宽带网络的第五代(5g)标准允许应用在边缘网络上运行,实现高带宽、低延迟和分布式处理。
5.第3代j9九游会真人的合作伙伴项目(3gpp)ts23.558(第3代j9九游会真人的合作伙伴项目;技术规范组服务和系统方面;用于启用边缘应用的架构(版本17),v2.0.0)定义了用于启用边缘应用的一般架构,包括边缘元件的硬件能力的发现。3gpp ts26.501(3gpp ts26.501,第3代j9九游会真人的合作伙伴项目;技术规范组服务和系统方面;5g媒体流(5gms);一般描述和架构(版本16),v16.3.1)定义了5g媒体流应用的一般架构,并且ts26.512定义了调用该架构的应用编程接口(api)。3gpp tr 26.803(第3代j9九游会真人的合作伙伴项目;技术规范组服务和系统方面;关于用于边缘处理的5g媒体流扩展的研究(版本17)v1.5.1)也涉及第5代媒体流(5gms)和边缘处理。
6.在3gpp ts23.558中定义的5g边缘架构仅支持通过5g边缘架构并经过该架构中的各个集线器实际数据的迁移。然而,这样的迁移可能不是非常有效。网络中的应用服务器可以具有更有效的直接连接。
技术实现要素:
7.根据一个或多个实施例,一种通过第五代(5g)边缘网络迁移应用程序上下文的方法包括:通过源边缘使能服务器(ees)从源边缘应用服务器(eas)接收与目标eas交换应用程序上下文数据的请求,其中,应用程序上下文数据涉及要从源eas迁移到目标eas的应用程序;从源ees向目标ees发送请求;通过源ees从目标ees接收包括用于迁移应用程序上下文数据的连接信息的响应;以及向源eas发送响应,其中,应用程序上下文数据是基于连接信息在源eas和目标eas之间直接进行交换。
8.根据一个或多个实施例,一种用于通过第五代(5g)边缘网络迁移应用程序上下文的设备包括:至少一个存储器,其被配置为存储程序代码;以及至少一个处理器,其被配置为读取程序代码并且按照程序代码的指示进行操作,程序代码包括:第一接收代码,其被配置为使至少一个处理器通过源边缘使能服务器(ees)从源边缘应用服务器(eas)接收与目标eas交换应用程序上下文数据的请求,其中,应用程序上下文数据涉及要从源eas迁移到
目标eas的应用程序;第一发送代码,其被配置为使至少一个处理器从源ees向目标ees发送请求;第二接收代码,其被配置为使至少一个处理器通过源ees从目标ees接收包括用于迁移应用程序上下文数据的连接信息的响应;以及第二发送代码,其被配置为使至少一个处理器向源eas发送响应,其中,应用程序上下文数据是基于连接信息在源eas和目标eas之间直接进行交换。
9.根据一个或多个实施例,一种存储指令的非易失性计算机可读介质,指令包括:一个或多个指令,其在由用于通过第五代(5g)边缘网络迁移应用程序上下文的设备的一个或多个处理器执行时,使一个或多个处理器:通过源边缘使能服务器(ees)从源边缘应用服务器(eas)接收与目标eas交换应用程序上下文数据的请求,其中,应用程序上下文数据涉及要从源eas迁移到目标eas的应用程序;从源ees向目标ees发送请求;通过源ees从目标ees接收包括用于迁移应用程序上下文数据的连接信息的响应;以及向源eas发送响应,其中,应用程序上下文数据是基于连接信息在源eas和目标eas之间直接进行交换。
附图说明
10.根据以下详细描述和附图,所公开的主题的其它特征、性质和各种优点将变得更加明显,在附图中:
11.图1是根据实施例的其中可以实现本文描述的方法、装置和系统的环境的图。
12.图2是图1的一个或多个设备的示例部件的框图。
13.图3是根据实施例的第5代(5g)边缘网络架构图。
14.图4是根据实施例的用于迁移应用程序上下文的示例过程的流程图。
15.图5是根据实施例的用于迁移应用程序上下文的示例过程的流程图。
具体实施方式
16.图1是根据实施例的可以实施本文所描述的方法、装置和系统的环境100的示意图。如图1所示,环境100可以包括用户设备110、平台120和网络130。环境100的设备可以通过有线连接、无线连接或有线和无线连接的组合进行互连。
17.用户设备110包括一个或多个设备,该一个或多个设备能够接收、生成、存储、处理和/或提供与平台120相关的信息。例如,用户设备110可以包括计算设备(例如,台式计算机、膝上型计算机、平板计算机、手持式计算机、智能扬声器、服务器等)、移动电话(例如,智能电话、无线电话等)、可穿戴设备(例如,智能眼镜或智能手表)或相似设备。在一些实施方式中,用户设备110可以从平台120接收信息和/或向平台120发送信息。
18.平台120包括如本文中其它地方所描述的一个或多个设备。在一些实施方式中,平台120可以包括云服务器或云服务器组。在一些实施方式中,平台120可以被设计成模块化,使得软件组件可以根据特定需要被换入或换出。这样,可以容易地和/或快速地重新配置平台120以具有不同的用途。
19.在一些实施方式中,如图所示,平台120可以被托管(hosted)在云计算环境122中。值得注意的是,虽然本文所述的实施方式将平台120描述为托管在云计算环境122中,但是在一些实施方式中,平台120不是基于云的(即,可以在云计算环境外部实现)或者可以是部分基于云的。
network,wan)、城域网(metropolitan area network,man)、电话网络(例如,公共交换电话网络(public switched telephone network,pstn))、专用网络、自组织网络、内联网、因特网、基于光纤的网络等,和/或这些或其它类型的网络的组合。
28.图1所示的设备和网络的数量和排列被作为示例来提供。实际上,与图1所示的设备和/或网络相比,可以有更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或排列不同的设备和/或网络。此外,图1所示的两个或更多个设备可以在单个设备内实现,或者图1所示的单个设备可以实现为多个分布式设备。另外或可替代地,环境100的一组设备(例如,一个或多个设备)可以执行被描述为由环境100的另一组设备执行的一个或多个功能。
29.图2是图1中一个或多个设备的示例组件的框图。设备200可以对应于用户设备110和/或平台120。如图2所示,设备200可以包括总线210、处理器220、存储器230、存储组件240、输入组件250、输出组件260和通信接口270。
30.总线210包括允许设备200的组件之间进行通信的组件。处理器220以硬件、固件或硬件和软件的组合来实现。处理器220是中央处理单元(cpu)、图形处理单元(gpu)、加速处理单元(apu)、微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、专用集成电路(asic)或另一类型的处理组件。在一些实施方式中,处理器220包括一个或多个能够被编程以执行功能的处理器。存储器230包括随机存取存储器(ram)、只读存储器(rom)和/或另一类型的动态或静态存储设备(例如,闪存、磁存储器和/或光存储器),其存储供处理器220使用的信息和/或指令。
31.存储组件240存储与设备200的操作和使用相关的信息和/或软件。例如,存储组件240可以包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘)、光盘(cd)、数字通用盘(dvd)、软盘、盒式磁带、磁带和/或另一类型的非易失性计算机可读介质,以及相应的驱动器。
32.输入组件250包括允许设备200例如通过用户输入接收信息的组件,例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风。另外或可替代地,输入组件250可以包括用于感测信息的传感器(例如,全球定位系统(gps)组件、加速计、陀螺仪和/或致动器)。输出组件260包括提供来自设备200的输出信息的组件,例如,显示器、扬声器和/或一个或多个发光二极管(led)。
33.通信接口270包括类似收发器的组件(例如,收发器和/或单独的接收器和发送器),该组件使设备200能够例如通过有线连接、无线连接或有线和无线连接的组合与其它设备通信。通信接口270可以允许设备200从另一设备接收信息和/或向另一设备提供信息。例如,通信接口270可以包括以太网接口、光接口、同轴接口、红外接口、射频(rf)接口、通用串行总线(usb)接口、wi-fi接口、蜂窝网络接口等。
34.设备200可以执行本文中所描述的一个或多个过程。设备200可以响应于处理器220执行由非易失性计算机可读介质(例如存储器230和/或存储组件240)存储的软件指令来执行这些过程。计算机可读介质在本文中被定义为非易失性存储器设备。存储器设备包括单个物理存储设备内的存储空间或分布在多个物理存储设备上的存储空间。
35.软件指令可以通过通信接口270从另一计算机可读介质或从另一设备读入存储器230和/或存储组件240。当被执行时,存储在存储器230和/或存储组件240中的软件指令可以使处理器220执行本文中所描述的一个或多个过程。另外或可替代地,可以使用硬件连线
电路来代替软件指令或与软件指令结合以执行本文中所描述的一个或多个过程。因此,本文中所描述的实施方式不限于硬件电路和软件的任何特定组合。
36.图2所示的组件的数量和排列被作为示例来提供。实际上,与图2所示的组件相比,设备200可能包括更多的组件、更少的组件、不同的组件或排列不同的组件。另外或可替代地,设备200的一组组件(例如,一个或多个组件)可以执行被描述为由设备200的另一组组件执行的一个或多个功能。
37.图3是根据实施例的5g边缘网络架构300的图。边缘数据网络(edn)301是本地数据网络。一个或多个边缘应用服务器(eas)302和一个或多个边缘使能服务器(ees)303包含在edn 301内。在实施例中,一个或多个eas 302可以包括源eas 302a和目标eas 302b,一个或多个ees 303可以包括源ees 303a和目标ees 303b,如下面关于图3更详细的讨论。在实施例中,一个或多个ees 303可以使用链路增强型数据速率gsm演进技术第9版本(edge-9)彼此通信。边缘配置服务器(ecs)304提供与ees 303相关的配置,包括托管ees 303的edn 301的细节。用户设备(ue)305包含应用客户端(ac)306和边缘使能客户端(eec)307。eas 302、ees 303和ecs 304可以与3gpp核心网络308交互。
38.ees 303提供eas 302和eec 307所需的支持功能。ees 303的功能性可以包括:为eec 307提供配置信息,使其能够与eas交换应用程序数据业务;支持api调用程序和api开放功能的功能性,例如,如3gpp ts23.222中所规定的;与3gpp核心网络308交互,以直接地(例如,经由pcf)或间接地(例如,经由服务能力开放功能(scef)/nef/scef nef)访问网络功能的功能性;支持应用程序上下文迁移的功能性;支持3gpp网络和服务能力通过链路edge-3外部开放于eas 302;支持eec 307和eas的注册(即,注册、更新和注销)功能性;以及支持按需触发eas 302实例化的功能性。
39.eec 307提供ac所需的支持功能。eec 307的功能性可以包括:检索和提供配置信息,使其能够与eas 302交换应用程序数据流量;以及发现edn 301中可用的eas 302。
40.ecs 304提供eec 307与ees 303连接所需的支持功能。ecs 304的功能性为:为eec 307提供边缘配置信息,例如,供eec 307与ees 303连接的信息(例如,ladn适用的服务区信息)和用于与ees 303建立连接的信息(如uri);支持ees 303的注册(即,注册、更新和注销)功能性;支持在3gpp ts23.222中所规定的api调用程序和api开放功能的功能性;以及与3gpp核心网络308交互,以直接地(例如,pcf)或间接地(例如经由scef/nef/scef nef)访问网络功能的能力。
41.ac 306是驻留在ue 305中的应用程序,执行客户端功能。
42.eas 302是驻留在edn 301中的应用服务器,执行服务器功能。ac 306与eas 302连接,以便利用边缘计算的优势来利用应用程序的服务。应用程序的服务器功能有可能仅作为eas 302可用。然而,某些服务器功能也可能在边缘和云中都可用,分别作为驻留在云中的eas 302和应用服务器。eas 302及其云应用服务器对应设备提供的服务器功能可以相同或不同;如果它们不同,则与ac交换的应用程序数据业务也可以不同。eas 302可以以不同的方式消耗3gpp核心网络308能力,例如:如果它是3gpp核心网络308信任的实体,则它可以直接调用3gpp核心网络308的功能api;它可以通过ees 303调用3gpp核心网络308能力;并且它可以通过诸如scef或nef的能力开放功能调用3gpp核心网络308能力。
43.架构300可以包括用于启用边缘应用的多个不同的接口,其可以被称为参考点。例
如,链路edge-1可以是使ees 303和eec 307之间能够交互的参考点。该链路支持:向ees 303注册和注销eec 307;检索和提供eas 302配置信息;以及发现edn 301中可用的eas 302。
44.链路edge-2可以是使ees 303和3gpp核心网络308之间能够交互的参考点。该链路支持:例如,通过3gpp ts23.501、3gpp ts23.502、3gpp ts29.522、3gpp ts23.682、3gpp ts29.122中定义的scef和nef api;或者使用在mno信任域内部署的ees 303(参见3gpp ts23.501条款5.13、3gpp ts23.503、3gpp ts23.682),访问3gpp核心网络308功能和api,以检索网络能力信息。考虑到不同的部署模型,链路edge-2可以再利用eps或5gs的3gpp参考点或接口。
45.链路edge-3可以是使ees 303和eas 302之间能够交互的参考点。该链路支持:使用可用性信息(例如,时间限制、位置限制)注册eas 302;从ees 303注销eas 302;发现目标eas 302的信息,以支持应用程序上下文迁移;提供对网络能力访问的信息(例如,位置信息、服务质量(qos)相关信息);以及请求在ac和eas 302之间建立具有特定qos的数据会话。
46.链路edge-4可以是使ecs 304和eec 307之间能够交互的参考点。该链路支持:为eec 307提供边缘配置信息。
47.链路edge-5可以是使ac和eec 307之间能够交互的参考点。
48.链路edge-6可以是使ecs 304和ees 303之间能够交互的参考点。该链路支持:向ecs 304注册ees 303的信息。
49.链路edge-7可以是使eas 302和3gpp核心网络308之间能够交互的参考点。该链路支持:例如通过3gpp ts23.501、3gpp ts23.502、3gpp ts29.522、3gpp ts23.682、3gpp ts29.122中定义的scef和nef api;或者使用在mno信任域内部署的eas 302(参见3gpp ts23.501条款5.13、3gpp ts23.682),访问3gpp核心网络308功能和api,以检索网络能力信息。考虑到不同的部署模型,链路edge-7可以再利用eps或5gs的3gpp参考点或接口。
50.链路edge-8可以是使ecs 304和3gpp核心网络308之间能够交互的参考点。该链路支持:a)例如,通过3gpp ts23.501、3gpp ts23.502、3gpp ts29.522、3gpp ts23.682、3gpp ts29.122中定义的scef和nef api;以及使用在mno信任域内部署的ecs 304(参见3gpp ts23.501条款5.13、3gpp ts23.682),访问3gpp核心网络308功能和api,以检索网络能力信息。考虑到不同的部署模型,链路edge-8可以再利用eps或5gs的3gpp参考点或接口。
51.ac 306可以通过eec 307向ees 303发送查询,以发现合适的eas。在该查询中,ac 306包括eas发现过滤器,其定义合适的eas所需的特性。在响应中,eec 307为ac 306提供匹配eas的列表及其一些特性。然后,ac 306从列表中选择最佳eas。
52.在上述架构中,根据ue的位置变化,或所需的资源变化,可能需要将在eas 302中的一个之上(例如,源eas 302a)运行的应用程序,迁移或移动到eas 302中的另一个(例如,目标eas 302b)。在这种情况下,由于源eas 302a中正在运行的应用程序具有一些上下文,因此需要将该上下文迁移到目标eas(目标eas 302b)。
53.3gpp ts23.558中定义的5g边缘架构定义了经过两个集线器迁移的方法:
54.源eas 302a
◇
源ees 304a
◇
目标ees 304b
◇
目标eas 302b
55.edge-9api提供用于这种迁移的机制。然而,在该方式中,实际的应用程序上下文数据(可能较大)必须通过上述路径进行迁移。
302a可以使用该响应中的信息,例如上下文属性和/或连接信息,将诸如应用程序上下文数据的上下文迁移到目标eas 302b。
82.因此,可以通过edge-9接口,在源eas 302a和目标eas 302b之间通过源ees 304a和目标ees 304b交换上下文属性和/或连接信息,应用程序上下文的实际数据迁移可以直接发生在源eas 302a和目标eas 302b之间。因此,在实施例中,可以使用边缘网络交换上下文属性,并且可以使用不同的网络交换对应于应用程序上下文数据的实际的数据迁移。
83.在实施例中,连接信息可以被存储在可表征性状态转移的(restful)资源中。资源可以包含用于从点迁移或迁移到点的所有信息,包括统一资源定位符(url)、诸如超文本传输协议(http)post或get的协议、迁移所需的认证和/或加密/解密,以及到期时间、应用程序上下文的采集时间和应用程序上下文的唯一id。restful资源可以是例如包含这种信息的javascript对象符号(json)对象。
84.因此,在实施例中,连接信息可能很小,这种信息的迁移可能是高效且快速的。在实施例中,应用程序上下文迁移可以使用首选协议在诸如两个eas 302的两个源和目标应用服务器之间发生,因此迁移速度可能更有效。在实施例中,连接信息可以在实际迁移数据之前更新。在这种情况下,更新的成本是最小的。
85.相应地,实施例可以在5g边缘网络中提供应用程序上下文迁移信息,其中用于迁移应用程序内容数据的连接信息通过5g边缘网络及其使能服务器来传输,而实际迁移数据直接发生在两个边缘应用服务器之间,其中,连接信息提供应用程序上下文数据的源或目的地,以及支持的协议、上下文唯一id、安全性和认证信息和迁移的到期日期和时间以及任何其它附加的信息。此外,实施例可以为连接信息提供restful资源,其中,数据存储在restful资源中,并且http方法用于发送、检索、更新和删除该数据。
86.图5是根据实施例的用于启用边缘应用的示例过程500的流程图。在一些实施方式中,图5的一个或多个处理框可以由以上关于图1至图4所讨论的任何元件来执行。
87.如图5所示,过程500可以包括通过源边缘使能服务器(ees)从源边缘应用服务器(eas)接收与目标eas交换应用程序上下文数据的请求,其中,应用程序上下文数据涉及要从源eas迁移到目标eas的应用程序(框502)。在实施例中,源ees可以对应于源ees 303a,源eas可以对应于源eas 302a,目标ees可以对应于目标ees 303b,目标eas可以对应于目标eas 302b。
88.如图5进一步所示,过程500可以包括从源ees向目标ees发送请求(框504)。
89.如图5进一步所示,过程500可以包括通过源ees从目标ees接收包括用于迁移应用程序上下文数据的连接信息的响应(框506)。
90.如图5进一步所示,过程500可以包括向源eas发送响应(框508)。在实施例中,应用程序上下文数据可以基于连接信息,在源eas和目标eas之间直接进行交换。
91.在实施例中,可以使用5g边缘网络来发送请求和响应,并且可以不通过5g边缘网络来交换应用程序上下文数据。
92.在实施例中,可以使用edge-9接口从源ees向目标ees发送请求,并且可以使用edge-9接口从目标ees向源ees发送响应。
93.在实施例中,请求可以包括来自以下中的至少一个:对应于应用程序上下文数据的存储的源地址、对应于应用程序上下文数据的应用程序上下文标识符、由源eas支持的至
少一个协议、与请求相关联的到期时间,以及与请求相关联的安全信息。
94.在实施例中,连接信息可以包括来自以下中的至少一个:对应于应用程序上下文数据的存储的目标地址、对应于应用程序上下文数据的应用程序上下文标识符、由目标eas支持的至少一个协议、与请求和响应中的至少一个相关联的到期时间,以及与请求和响应中的至少一个相关联的安全信息。
95.在实施例中,请求和响应中的至少一个可以包括用于发信号通知对应于应用程序上下文数据的方案的方案标识符。
96.在实施例中,连接信息可以被存储在restful资源中,并且restful资源可以包括用于交换应用程序上下文数据的超文本传输协议(http)信息。
97.虽然图5示出了过程500的示例框,但是在一些实施方式中,过程500可以包括与图5中描绘的那些框相比附加的框、更少的框、不同的框或以不同方式布置的框。附加地或可选地,可以并行地执行过程500的两个或多个框。
98.进一步地,所提出的方法可以通过处理电路(例如,一个或多个处理器或一个或多个集成电路)来实现。在一个示例中,一个或多个处理器执行存储在非易失性计算机可读介质中的程序以执行所提出的方法中的一种或多种。
99.上述技术可以使用计算机可读指令被实现为计算机软件,并物理地被存储在一个或多个计算机可读介质中。
100.本公开的实施例可以被单独地使用或按照任何顺序组合使用。进一步地,实施例(及其方法)中的每一者可以通过处理电路(例如,一个或多个处理器或者一个或多个集成电路)实施。在一个示例中,一个或多个处理器执行存储在非易失性计算机可读介质中的程序。
101.上述公开提供了说明和描述,但并不旨在穷举或将实施方式限制为所公开的精确形式。根据上述公开,修改和变化是有可能的,或者可以从实施方式的实践中获得修改和变化。
102.如本文所使用的术语“部件”旨在被广泛地解释为硬件、固件或硬件和软件的组合。
103.即使特征的组合在权利要求中陈述和/或在说明书中公开,这些组合也并不旨在限制可能实施方式的公开内容。实际上,这些特征中的许多特征可以以在权利要求中未具体陈述和/或在说明书中公开的方式组合。虽然以下列出的每个从属权利要求可以直接从属于仅一个权利要求,但是可能的实施方式的公开内容包括与权利要求组中的每个其它权利要求组合的每个从属权利要求。
104.本文使用的元素、动作或指令不应被理解为关键的或必要的,除非明确地这样描述。另外,如本文使用的冠词“一”和“一个”旨在包括一个或多个项,并且可以与“一个或多个”可互换地使用。此外,如本文使用的术语“组”旨在包括一个或多个项(例如,相关项、不相关项、相关项和不相关项的组合等),并且可以与“一个或多个”可互换地使用。在仅意指一个项的情况下,使用术语“一个”或类似语言。另外,如本文使用的术语“具有”、“有”、“含有”等旨在是开放式术语。进一步地,短语“基于”旨在表示“至少部分地基于”,除非另有明确说明。