CN116711289A - 服务器之间的远程数据处理迁移 - Google Patents

服务器之间的远程数据处理迁移 Download PDF

Info

Publication number
CN116711289A
CN116711289A CN202180088027.9A CN202180088027A CN116711289A CN 116711289 A CN116711289 A CN 116711289A CN 202180088027 A CN202180088027 A CN 202180088027A CN 116711289 A CN116711289 A CN 116711289A
Authority
CN
China
Prior art keywords
data stream
data
remote server
gateway system
client device
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.)
Pending
Application number
CN202180088027.9A
Other languages
English (en)
Inventor
J·W·M·克莱因鲁韦勒
T·迪米特洛夫斯基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO
Koninklijke KPN NV
Original Assignee
Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO
Koninklijke KPN NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO, Koninklijke KPN NV filed Critical Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO
Publication of CN116711289A publication Critical patent/CN116711289A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

描述了一种用于用作客户端设备与远程服务器之间的网关的网关系统。该客户端设备可以经由该网关系统将数据流流式传输到该远程服务器以进行远程处理。该网关系统可以接收该数据流和标识该数据流中的相应数据包块的标记,其中,每个所标识的数据包块是可独立处理的。响应于用于实现将该远程处理从该远程服务器迁移到另一远程服务器的指令或配置,该网关系统可以确定该数据流中的数据包块,从该数据包块开始,该另一远程服务器要开始处理该数据流以便实现或初始化该迁移,并且当被接收时将该数据流的所确定的数据包块和后续数据包块流式传输到该另一远程服务器。

Description

服务器之间的远程数据处理迁移
技术领域
本发明涉及通过比如云服务器或电信网络中的边缘节点等远程服务器来远程处理客户端设备的数据流。本发明进一步涉及将远程处理从远程服务器迁移到另一远程服务器。本发明进一步涉及一种用于用作客户端设备与远程服务器之间的网关的网关系统,并且涉及一种用于提供对应网关功能的计算机实施的方法。本发明进一步涉及该客户端设备和一种对应的计算机实施的方法、涉及该远程服务器和一种对应的计算机实施的方法、并且涉及一种用于编排远程处理迁移的编排系统和计算机实施的方法。本发明进一步涉及一种包括计算机程序的计算机可读介质,并且涉及一种包括数据流的数据包的计算机可读介质。
背景技术
多接入边缘计算(MEC)[1](或简称为边缘计算)是计算节点可以位于相对靠近客户端设备处(例如在移动网络的边缘处)的计算范式。因此,这种计算节点还可以被称为边缘节点,并且它们的位置可以实现客户端设备与边缘节点之间的高带宽和低时延连接。因此,边缘计算可以被视为对计算和带宽资源有高要求的应用(包括实时数据处理和高清扩展(例如,增强或虚拟)现实流式传输应用)的促成者。
典型的边缘计算用例可以是客户端设备可以向边缘节点发送连续的高带宽数据流,其中,边缘节点处理数据流以获得输出(例如,分析结果),并且然后将输出发射到云服务器或其他接收实体。例如,可以将轻度压缩的高清视频流上传到边缘节点;然后,边缘节点可以分析视频流以从视频流中提取元数据标签,并且将元数据标签潜在地与视频流的重度压缩版本一起转发到云服务器或其他接收实体,以对边缘节点上游的回程网络施加更轻的联网要求。
尽管从性能的角度看客户端设备附近的边缘节点的位置通常是主要优点,但也可能发生特定应用的边缘处理功能可能需要迁移到另一边缘节点。例如,由于客户端移动性(例如,另一边缘节点可以向客户端设备提供更好的连接性)或由边缘提供方进行资源优化(例如,可以通过将处理中的部分移动到另一边缘节点来减轻重负载边缘节点,或可以将多个轻负载边缘节点上的处理合并到单个节点上),可能会触发边缘迁移。迁移可以发生在物理上不同位置处的边缘群集之间或群集内的服务器之间。
然而,当执行边缘节点之间的迁移时,依赖于从客户端设备连续地流式传输到边缘节点的数据流的应用可能出现处理中断。在除了边缘节点之外远程服务器也对客户端设备的数据流进行处理的其他情况下,例如在客户端设备的数据流可以由一个或多个云服务器处理的云计算中,这种处理中断也可能是不期望的。这种服务器和它们的处理在下文中还可以简单地被称为远程服务器和远程处理,并且包括由边缘节点进行的前述边缘处理和由云服务器进行的云处理。
可能期望能够实现边缘节点之间、或通常在处理客户端设备的数据流的远程服务器之间的更加无缝的迁移。
Govindaraj等人在[2]中描述了一种冗余迁移方案。据说,从触发迁移的时间实例开始,客户端将数据包流发射到目的地服务器。目的地服务器缓冲这些数据包并且将这些数据包转发到源服务器。同时,在要迁移的服务继续在源服务器上运行的同时,源服务器开始迭代地将与该服务相关的文件和检查点发射到目的地服务。目的地服务器恢复由源服务器提供的检查点。一旦该服务启动并且运行,目的地服务器开始重放所有被缓冲的数据包,这涉及从检查点开始精确重放数据包以追赶源服务器的状态。一旦赶上,比较两个服务器的输出,并且如果相同,则声明目的地服务器已准备好接管。
不利地,在许多应用中,在迁移期间的数据包缓冲以及在最终接管(‘切换阶段’,见[2]的图2)之前以更高的速度进行的后续处理以进行追赶(‘重放’)可能是不可行的。例如,在视频处理中,以高于实时速度进行的处理的计算复杂性可能(太)高。因此,追赶可能花费较长时间,或可能需要计算能力的显著的或甚至过度的临时增加。
在[3]中,Govindaraj等人描述了一种不中断的热备份迁移,该热备份迁移基于冗余迁移方案,但与冗余服务器的概念结合。即,源服务器和目的地服务器现在都被冗余地实例化。在迁移期间,在主源服务器继续不中断地服务于客户端设备的同时创建辅助源服务器的快照。在两个目的地服务器上同时恢复快照。在目的地服务器上接收应用之后,两个目的地服务器重放由SDN交换机缓冲的数据包。在重放之后,比较所有四个服务器的输出,并且如果相同,则目的地服务器接管服务。
[3]自己也承认,缺点是冗余服务器的资源开销非常高,因为资源实际上是翻倍的。
参考文献
[1]ETSI白皮书第28号-MEC in 5G networks[5G网络中的MEC];第一版–2018年6月,ISBN第979-10-92620-22-1号。
[2]Govindaraj,K.和Artemenko,A.Container live migration for latencycritical industrial applications on edge computing[边缘计算上的时延关键型工业应用的容器实时迁移]。2018年IEEE第23届新兴技术与工厂自动化国际会议,第1卷,第83至90页。
[3]Govindaraj,K.、Saha,M.、Artemenko,A.和Kirstaedter,A.InvestigationofUninterrupted Service Live Migration Using Software-Defined Networking[使用软件定义联网进行不中断服务实时迁移的研究]。2019年国际联网系统会议,第1至6页。
发明内容
可能期望能够以避免或至少减少数据流的处理方面的中断的方式实现客户端的数据流的远程处理从一个远程服务器到另一远程服务器的迁移,同时解决[2]和[3]的缺点中的至少一个,例如,需要通过更快的处理追赶和/或必须实例化所有远程服务器两次。
根据本发明的第一方面,可以提供一种网关系统用于用作客户端设备与远程服务器之间的网关,其中,该客户端设备可以被配置成经由该网关系统将数据流流式传输到该远程服务器以进行远程处理。该网关系统可以包括:
-网络接口,该网络接口用于接收该数据流和标识该数据流中的相应数据包块的标记,其中,每个所标识的数据包块可以是可独立处理的;
-处理器子系统,该处理器子系统可以被配置成使用网络接口进行以下操作:
-响应于用于实现将该远程处理从该远程服务器迁移到另一远程服务器的指令或配置,确定该数据流中的数据包块,从该数据包块开始,该另一远程服务器要开始处理该数据流以实现或初始化该迁移;
-当接收到所确定的数据包块时,将该数据流的所确定的数据包块和后续数据包块流式传输到该另一远程服务器。
根据本发明的另一方面,可以提供客户端设备并且该客户端设备被配置成将数据流流式传输到远程服务器以进行远程处理。该客户端设备可以包括:
-到网络的网络接口;
-处理器子系统,该处理器子系统可以被配置成使用网络接口进行以下操作:
-在流式传输该数据流之前或同时,为该数据流生成标识该数据流中的相应数据包块的标记,其中,每个所标识的数据包块可以是可独立处理的;
-将该数据流与这些标记一起流式传输,以使接收该数据流的网关能够确定该数据流中的数据包块,从该数据包块开始,另一远程服务器要开始处理该数据流以实现或初始化从该远程服务器到该另一远程服务器的迁移。
根据本发明的另一方面,可以提供一种编排系统,该编排系统用于编排远程处理从远程服务器到另一远程服务器的数据流的迁移,其中,该数据流可以由客户端设备流式传输到网关系统,并且在该迁移之前由该网关系统流式传输到该远程服务器。该编排系统可以包括:
-到网络的网络接口;
-处理器子系统,该处理器子系统可以被配置成使用网络接口进行以下操作:
-设置该另一远程服务器以进行该远程处理;
-向该网关系统发送用于通过将该数据流流式传输到该另一远程服务器来实现或初始化该远程处理从该远程服务器到该另一远程服务器的迁移的指令消息,其中,该指令消息可以指示该网关系统基于标记该数据流的标记来确定何时开始将该数据流流式传输到该另一远程服务器,其中,每个标记可以标识该数据流中的相应数据包块,每个所标识的数据包块是可独立处理的。
根据本发明的另一方面,可以提供一种用于处理由客户端设备流式传输的数据流的服务器。该服务器可以包括:
-网络接口,该网络接口用于接收该数据流的数据包;
-处理器子系统,该处理器子系统被配置成经由该网络接口进行以下操作:
-在操作模式中,处理该数据流以生成由该客户端设备或另一实体使用的输出,其中,该数据流包括数据包块,其中,每个数据包块是可独立处理的,其中,该处理器子系统被配置成通过至少最初独立地处理这些数据包块来处理该数据流;以及
-在调用该操作模式之前,响应于指示初始化该数据流的处理的指令或配置开始处理该数据流的数据包而不生成该输出。
根据本发明的另一方面,可以提供一种计算机实施的方法,该计算机实施的方法用于在客户端设备与远程服务器之间提供网关功能,其中,该客户端设备可以被配置成经由该网关功能将数据流流式传输到该远程服务器以进行远程处理。该方法可以包括:
-接收该数据流和标识该数据流中的相应数据包块的标记,其中,每个所标识的数据包块可以是可独立处理的;
-响应于用于实现将该远程处理从该远程服务器迁移到另一远程服务器的指令或配置,确定该数据流中的数据包块,从该数据包块开始,该另一远程服务器要开始处理该数据流以实现或初始化该迁移;
-当接收到所确定的数据包块时,将该数据流的所确定的数据包块和后续数据包块流式传输到该另一远程服务器。
根据本发明的另一方面,可以提供一种计算机实施的方法,该计算机实施的方法用于将数据流流式传输到远程服务器以进行远程处理。该方法可以包括:
-在流式传输该数据流之前或同时,为该数据流生成标识该数据流中的相应数据包块的标记,其中,每个所标识的数据包块可以是可独立处理的;
-将该数据流与这些标记一起流式传输,以使接收该数据流的网关能够确定该数据流中的数据包块,从该数据包块开始,另一远程服务器要开始处理该数据流以实现或初始化从该远程服务器到该另一远程服务器的迁移。
根据本发明的另一方面,可以提供一种计算机实施的方法,该计算机实施的方法用于编排远程处理从远程服务器到另一远程服务器的数据流的迁移,其中,该数据流可以由客户端设备流式传输到网关系统,并且在该迁移之前由该网关系统流式传输到该远程服务器。该方法可以包括:
-设置该另一远程服务器以进行该远程处理;
-向该网关系统发送用于通过将该数据流流式传输到该另一远程服务器来实现或初始化该远程处理从该远程服务器到该另一远程服务器的迁移的指令消息,其中,该指令消息可以指示该网关系统基于标记该数据流的标记确定何时开始将该数据流流式传输到该另一远程服务器,其中,每个标记可以标识该数据流中的相应数据包块,其中每个所标识的数据包块可以是可独立处理的。
根据本发明的另一方面,可以提供一种计算机实施的方法,该计算机实施的方法用于处理由客户端设备流式传输的数据流。该方法可以包括:
-接收该数据流的数据包;
-处理该数据流以生成由该客户端设备或另一实体使用的输出,其中,该数据流包括数据包块,其中,每个数据包块可以是可独立处理的,其中,该处理可以包括至少最初独立地处理这些数据包块;以及
-在处理该数据流以生成该输出之前,响应于指示初始化该数据流的处理的指令或配置开始处理该数据流的数据包而不生成该输出。
根据本发明的另一方面,一种计算机可读介质可以包括表示计算机程序的暂态或非暂态数据。该计算机程序可以包括用于使处理器系统执行本说明书中描述的任何计算机实施的方法的指令。
以上措施提供了一种客户端设备,该客户端设备可以发射要远程处理的数据流。通过数据流发射的数据可以但不需要由客户端设备本身获取。例如,客户端设备可以使用(多个)传感器来捕获传感器数据,并且实时或接近实时地将传感器数据编码为数据流并发射。在其他示例中,客户端设备可以发射不是实时捕获的和/或不是由客户端设备本身捕获的,而是例如从存储装置转发或检索的数据流。通常,例如,操纵数据流的应用可以优选或要求以基本上不中断和连续的方式处理数据流。
可以提供一种远程服务器来处理数据流,例如通过将图像或视频分析算法应用于数据流、通过对数据流进行转码、通过增强数据流或以任何其他方式。远程服务器的输出还可以是另一数据流,比如原始数据流的经处理的版本(例如,经转码、增强等)或包含处理结果(例如分析结果)的数据流。然而,远程服务器的输出也可以呈非流式传输形式,例如,单个输出实例。远程服务器的示例包括但不限于边缘节点和云服务器。应注意,术语‘远程’可以指服务器是与客户端设备分离的实体,并且通常位于网络中客户端设备的上游,并且因此在客户端设备的‘远程’。然而,在客户端设备与服务器之间的(最小)物理或网络距离方面没有限制。术语‘远程处理’可以简单地指由远程服务器进行的处理。
例如,因为客户端移动性、第一远程服务器的过载或对跨服务器负载平衡的期望,可以在某个时间点决定将先前可以由第一远程服务器远程处理的数据流的处理迁移到另一远程服务器。这两个服务器还可以被称为‘该’与‘另一’或‘另一个’远程服务器,或被称为源服务器和目的地服务器,或被称为源边缘节点和目的地边缘节点等。
为了编排远程处理的迁移,可以提供一种编排系统,该编排系统可以包括用于编排处理从一个远程服务器到另一远程服务器的迁移的已知功能。例如,编排系统可以被配置成布置应用和应用的状态从远程服务器到另一个远程服务器的传输,该应用可以用于处理数据流。编排系统还可以被配置成确定何时启动迁移,例如基于比如表征客户端移动性的数据、服务器负载数据等外部数据。
根据以上措施,可以经由网关系统将数据流发送到远程服务器。客户端设备可以为数据流提供标记,一旦被指示为或被配置成这样做,网关系统就可以使用这些标记来向另外远程服务器发送数据流和/或停止向远程服务器发送数据流。标记可以由客户端设备生成,以标识数据流中的相应数据包块,其中每个所标识的数据包块可以由远程服务器独立处理。在此,术语‘可独立处理’可以指在由远程服务器处理的至少一些方面中,数据包块之间不存在依赖关系。例如,数据包块可以通过至少第一处理步骤(例如,初始或低级别处理)独立地解码和独立地处理。然而,不排除由远程服务器的后续(例如,更高级别)进行的处理步骤可以一起应用于几个块的第一处理的相应输出,并且从而(重新)建立连续块之间的依赖关系。
以上措施可以基于这样的见解,即在远程服务器之间迁移远程处理方面的主要挑战之一可能是在处理中可能存在时间依赖性,这意味着表征数据包的处理以及因此处理的输出的当前状态可能取决于先前的数据包。这可能意味着,目的地服务器不能在任何时刻简单地承担来自源服务器的责任,例如,从任何数据包到下一数据包。相反,可能需要确保在源服务器与目的地服务器之间处理状态相同,以使目的地服务器接管。实际上,[2]和[3]监测源服务器和(多个)目的地服务器的输出,以确保(多个)目的地服务器已经考虑到处理中的时间依赖性,例如,通过在最终完成向(多个)目的地服务器迁移之前处理足够数量的连续数据包。
根据以上措施,为数据流生成标记,这些标记可以指示数据流中的点,即块之间的点,在这些点处,目的地服务器可以开始处理数据流,而不具有相对于来自先前块的数据包的时间依赖性(该先前块可能不被目的地服务器接收)。因此,标记可以指示从哪一点开始,数据包可以由目的地服务器执行的至少第一(例如,初始或低级别)处理步骤独立处理。这些标记可以作为数据流的一部分或以任何其他方式对网关系统可用,这些标记的可用性可以使网关系统能够确定何时开始向另一远程服务器发送数据流。例如,如果网关系统被指示为或被配置成实现迁移,则它可以监测标记以确定下一块的数据包何时到达,并且开始将数据包从至少那个点开始发送到目的地服务器以进行远程处理。
因此,以上措施可以避免缓冲数据包的需要,因为目的地服务器可以预先设置以用于迁移,并且一旦被设置就仅被提供数据流的数据包。特别地,基于标记,迁移中涉及的实体可以知道,一旦目的地服务器开始处理新块的数据包,则目的地服务器的输出可以用于替换源服务器的输出,因为两个服务器的输出在至少第一处理步骤方面可以是相同的。这种标记还可以用于延迟源服务器对处理的确定,直到新的块被至少部分地发送或完全地发送到目的地服务器。
使用标记的优点可以是,这些标记的使用可以避免在目的地服务器处或为目的地服务器缓冲数据包的需要,从而避免了如[2]中的通过必须处理先前缓冲的数据包来‘追赶’的需要。此外,通过观察数据流中的标记,网关系统可以确定目的地服务器已准备好接管,并且因此停止向源服务器发送数据包,并且由源服务器处理数据包。这可以避免需要监测和比较两个服务器的输出,以确定目的地服务器何时准备好接管,如[2]和[3]中那样。也就是说,这种比较可能需要在长时间内执行,以在输出中具有相同的足够置信度;例如,单个输出实例的比较可能不足够。此外,当网关系统在新的块的开始时将数据流完全重定向到目的地服务器时,甚至可能不需要向两个服务器同时发送数据包以及它们的同时处理,因为目的地服务器可以在重定向之后从源服务器接管。这可以减少网络分配和对重复处理的需要。也可能不需要如[3]中一样使用重复的服务器。
再另一优点可以是,当在远程服务器之间迁移时,可以不需要传输状态信息,或至少可以减小这种状态信息的大小,因为可能另外需要这种状态信息来反映数据流的数据包处理中的依赖性。换句话说,如果要在对先前数据包具有处理依赖性的数据包处开始执行迁移,则可能需要在远程服务器之间传输状态信息以反映这种依赖性。通过从块边界处开始迁移,另一远程服务器可以在没有这种状态信息的情况下立即开始处理块,因为至少在解码和第一处理步骤中可能不存在对先前块的任何依赖性。
又另一优点可以是,由于网关系统可以基于与数据流相关联的标记来推断块边界,并且从而推断适当的迁移切割,因此在另一远程服务器、网关系统和/或编排系统之间可能存在较少或没有关于流量重定向的定时的消息交换。考虑到网络中处理数据包的速度,使用信号来编排流量重定向可能不起作用。发射和处理信号的时延可能导致数据包被路由到错误的远程服务器,从而导致数据处理损坏和其他问题。
基于指示数据包属于哪个块的标记的迁移的又另一优点是,这种迁移可以对数据包的重新排序具有弹性。例如,具有较老的‘预迁移’标记的数据包仍可以被转发到源远程服务器,从而确保源远程服务器具有可用于处理的来自数据块中的所有数据。这种数据包可以不被转发到目的地远程服务器,这可以确保目的地远程服务器边缘仅从数据块接收它应该接收的数据包。
在实施例中,网关系统的处理器子系统可以被配置成,当将所确定的数据包块流式传输到另一远程服务器时,停止将数据流流式传输到远程服务器,或暂时继续将数据流重复地流式传输到远程服务器。通过停止从所确定的数据包块开始将数据流流式传输到远程服务器,网关系统可以有效地将数据流从这个块开始并且包括这个块重定向到另一远程服务器。这也可以被称为‘直接迁移’,并且可能涉及网关系统在开始将数据包转发到另一远程服务器时终止将数据包转发到远程服务器。这可以避免对到远程服务器的重复流量以及由远程服务器进行处理的需要。相比之下,通过临时继续将数据流重复地流式传输到远程服务器,例如在由编排系统指示的持续时间内,远程服务器可以临时继续处理数据流并且产生输出,如果更高级别的处理步骤的确表现出块之间的依赖性,这可能是有利的,在这种情况下,可以选择持续时间以确保在切换到另一远程服务器之前该另一远程服务器已经处理了足够数量的块。这可以允许另一远程服务器从所确定的块开始已经初始化其整个处理链,同时可以暂时继续从远程服务器获得实际输出。同时,数据包的复制和并行地到两个远程服务器的路由可能仅需要在必要时进行。当另一远程服务器已经接收到足够的数据来接管时,数据流中的标记可以指示何时以及何地可以停止数据包的复制和到远程服务器的路由。
在实施例中,网关系统的处理器子系统可以被配置成响应于指令或配置在所确定的数据包块之前已经开始将数据包流式传输到另一远程服务器,以使另一远程服务器能够初始化其对数据流的处理。这也可以被称为‘脏迁移’,并且例如可以涉及网关系统立即开始将当前块的数据包转发到另一远程服务器。尽管可能已知或预期另一远程服务器可能还不能基于这些立即转发的数据包产生准确的输出,但这种转发的数据包可能已经允许另一远程服务器设置其处理,例如,在视频流的情况下,通过从所转发的数据包推断使用哪个视频编解码器,并且随后初始化适当的解码器流水线。换句话说,网关系统可能已经转发了部分块,以允许另一远程服务器设置其处理以匹配正在发送的数据流。
在实施例中,指令可以由网关系统作为指令消息从被配置成编排远程处理的迁移的编排系统接收,并且网关系统的处理器子系统可以被配置成将指示迁移已实现或初始化的响应消息发送到编排系统。可以从编排系统接收用于实现迁移的指令。为了确认迁移是由网关系统实现或初始化,网关系统可以向编排系统发送响应消息。例如,一旦网关系统开始向另一远程服务器转发所确定的块的数据包,或当停止向远程服务器转发数据包时,该网关系统可以发送响应消息。这种响应可以允许编排系统采取进一步的动作,例如释放分配在远程服务器上用于处理的资源。
在实施例中,网关系统的处理器子系统可以被配置成通过以下各项中的至少一项向该另一远程服务器发送该数据流:
-转发该数据流的数据包;
-利用该另一远程服务器的网络地址创建新的数据包;
-改变从该客户端设备接收的这些数据包中的网络地址字段以标识该另一远程服务器,并且随后将所述经改变的数据包发送到该另一远程服务器;以及
-如果这些数据包是封装要远程处理的数据的已封装的数据包并且在这些已封装的数据包的标头中包括这些标记,则对这些封装数据包进行解包并且将要远程处理的该数据作为该数据流发送到该另一远程服务器。
根据以上措施,网关系统可以不简单地重新发射数据包,而是修改或创建新的数据包,以能够将数据流发送到另一远程服务器。例如,这可以使网关系统能够将数据包重定向到另一远程服务器,即使它们最初被寻址到远程服务器。特别地,网关系统可以从数据流提取标记,例如从封装数据包的标头提取标记,并且以重新打包的形式将数据流中包含的数据发送到另一远程服务器,因为另一远程服务器可能不需要这些标记。
在实施例中,可以提供一种移动网络,该移动网络包括:
-第一基站,以及用于服务连接到该第一基站的客户端设备的第一网关系统和第一远程服务器;
-第二基站,以及用于服务连接到该第二基站的客户端设备的第二网关系统和第二远程服务器;
其中,该第一网关系统和该第二网关系统各自是根据权利要求1至4中任一项所述的网关系统的实例;
-其中,该第一网关系统被配置成:
-接收连接到该第一基站的客户端设备的数据流,并且将该数据流流式传输到该第一远程服务器,
-响应于用于在预期该客户端设备切换到该第二基站时实现将该远程处理从该第一远程服务器迁移到该第二远程服务器的指令或配置,经由该第二网关系统将该数据流流式传输到该第二远程服务器;
-其中,该第二网关系统被配置成在将该客户端设备切换到该第二基站之后从该第一网关系统接管作为该客户端设备的网关系统的角色。
在实施例中,客户端设备的处理器子系统可以被配置成在数据流中包括标记。客户端设备因此可以将标记包括在数据流本身中,例如作为元数据。这可以避免要将标记分离地发送到网关系统的需要,例如‘带外’。
在实施例中,该客户端设备的处理器子系统可以被配置成在数据流的每个数据包中包括一个标记,其中,该标记可以包括标识相应数据包属于哪个数据包块的块标识符。通过在数据包中包括块标识符,可以使网关系统能够确定哪个数据包属于哪个块。这又可以允许网关系统检测块标识符方面的改变,并且从而确定新接收的数据包何时属于新的块。例如,标记可以被生成为伪随机标识符,或通过对块进行顺序编号来生成。
在实施例中,客户端设备的处理器子系统可以被配置成在以下各项中的至少一项中包括这些标记:
-用于传输该数据流的传输协议的标头;
-封装要远程处理的数据的封装数据包的标头;
-在该客户端设备与接收该数据流的实体之间建立的隧道,其中,这些标记被包括在形成该隧道的封装数据包中。
以上表示了在分离数据流的传送时在不需要设置到网关系统的标记的另一传送机制的情况下向网关系统提供标记的各种有利方式。
使用数据包封装的优点是可以使用非应用特定(‘通用’)网关系统,并且网关系统可能不需要访问数据流中包含的应用数据。因此,网关系统可以更高效地处理数据包(例如,不必解析应用数据或传输协议),并且在需要这个时可以对应用数据进行加密。
在传输协议中包括标记的优点可以是,网关系统可以使用现有的编程库来实施,并且网关系统可以服务于多个应用,前提是它们使用相同的传输协议并且一致地标记数据包(例如,在HTTP请求中使用相同的标头字段)。
在实施例中,编排系统的处理器子系统可以被配置成生成指示该数据流中的数据包块的该指令消息,该网关系统从该数据包块开始将该数据流流式传输到该另一远程服务器。例如,指令消息可以指示绝对块或相对块。后者的示例是指示‘下一’块要流式传输到另一远程服务器的指令消息。指示相对块的优点在于,编排系统和网关系统可能都不需要知道块标识符的确切值。相反,网关系统可以简单地监测或计数块标识符中的转换。
在实施例中,编排系统的处理器子系统可以被配置成在指令消息中包括以下各项中的至少一项:
-该另一远程服务器的网络地址;
-迁移类型,该迁移类型指示在开始将该数据流流式传输到该另一远程服务器之后是否要临时地继续将该数据流重复地流式传输到该远程服务器;
-迁移持续时间,该迁移持续时间指示在开始将该数据流流式传输到该另一远程服务器之后要临时地继续将该数据流重复地流式传输到该远程服务器的数据包块的数量;以及
-信息,该信息通知该网关系统如何标识该数据流中或与该数据流相关联的元数据中的这些标记。
除了指示要实现迁移之外,编排系统还可以在其对网关系统的指令中提供进一步的信息,比如另一远程服务器的网络地址、迁移类型(例如,前述的‘直接’或‘脏’迁移类型,或如本说明书其他地方所述的‘加载’迁移类型),对于一些迁移类型,要向两个远程服务器重复地发送数据包的块数量、和/或网关系统的关于如何标识数据流中或与数据流相关联的元数据中的标记的信息。后一种类型的信息可以采取例如‘标记过滤器’的形式,网关系统可以通过该标记过滤器从数据流或从与其相关联的元数据中过滤掉标记。使用标记过滤器的优点是,当网关系统可以处理不同的数据流时,其标记位于数据包中的不同位置处;标记过滤器可以允许网关系统在任何这种数据流中找到标记。
在实施例中,(远程)服务器可以是例如电信网络的和/或在电信网络中的边缘节点或边缘节点系统。
本领域的技术人员可以理解,可以以任何认为有用的方式组合上文提到的本发明的实施例、实施方式和/或各方面中的两个或更多个。
本领域技术人员可以在本说明书的基础上对本说明书中描述的例如任何系统、服务器、设备、方法或计算机程序等任何实体进行修改和变化,这些修改和变化对应于这些实体中的另一的所描述的修改和变化。
附图说明
依据下文所描述的实施例明白并且将参考这些实施例阐明本发明的这些方面和其他方面。在附图中:
图1A示出了用户设备经由网关系统将数据流流式传输到第一边缘节点,以及编排系统指示网关系统实现远程处理到第二边缘节点的迁移;
图1B示出了网关系统响应于来自编排系统的指令,向第二边缘节点发送数据流的数据包;
图1C示出了网关系统通过停止向第一边缘节点发送数据流的数据包来完成向第二边缘节点的迁移;
图2A展示了包括数据包序列的数据流,该数据包序列被示出为由网关系统发送到第一边缘节点;
图2B展示了数据流包括数据包块,以及网关系统从第一块与第二块之间的块边界开始将数据流重定向到第二边缘节点;
图2C展示了图2B的替代性方案,示出了网关系统向第二边缘节点发送给定的数据包块,同时继续重复地向第一边缘节点发送给定数据包块,并且仅从随后的数据包块开始停止向第一边缘节点发送数据包;
图2D展示了图2B和图2C的替代性方案,示出了网关系统响应于将远程处理迁移到第二边缘节点的指令已经开始部分地转发给定的数据包块;
图3A至图3D示出了客户端设备的物理移动并从第一基站切换到第二基站,同时展示了与从客户端设备到相应边缘节点的数据流相关联的流量流;
图4示出了处理器系统,该处理器系统可以是网关系统、编排系统或远程服务器的示例;
图5示出了处理器系统,该处理器系统可以是客户端设备的示例,其中该处理器系统包括到相机的相机接口;
图6示出了包括非暂态数据的计算机可读介质;
图7示出了示例性数据处理系统。
应注意,在不同的附图中具有相同附图标记的项具有相同的结构特征和相同的功能,或者是相同的信号。在已经解释了这种项的功能和/或结构的情况下,在具体实施方式中没有必要再重复对其的解释。
附图标记清单
以下附图标记和缩写词列表被提供以便于解释附图,并且不应被解释为对权利要求的限制。
BS(X)基站(X)
EN(X)边缘节点(X)
GW(X)网关系统(X)
OC 编排系统
UE 用户设备
100数据流到第一边缘节点
110最近实例化的数据流到第二边缘节点
120 数据流到第二边缘节点
150 指令消息
160 响应消息
200 数据流的数据包
210 数据包块
212 不完全数据包块
230 由标记指示的块边界
240 下一数据包块
300 数据流到第一边缘节点
310最近实例化的数据流到第二边缘节点
320 数据流到第二边缘节点
350 客户端设备移动
400表示网关系统、编排系统或远程服务器的处理器系统
410 网络接口
420 处理器子系统
430 数据存储装置
500表示客户端设备的处理器系统
510 网络接口
520 处理器子系统
530 数据存储装置
540 相机接口
550 相机
600 计算机可读介质
610 非暂态数据
1000 示例性数据处理系统
1002 处理器
1004 存储器元件
1006 系统总线
1008 本地存储器
1010 大容量存储设备
1012 输入设备
1014 输出设备
1016 网络适配器
1018 应用
具体实施方式
以下实施例涉及由客户端设备将数据流流式传输到远程服务器以进行远程处理,该流式传输可以经由网关系统进行。作为示例,以下假设远程服务器是可以被配置成向客户端设备提供应用服务(其中这种应用服务也被称为‘边缘应用服务’或简称为‘边缘服务’)的边缘节点或边缘节点系统,并且数据流的远程处理是由应用服务执行的远程处理。然而,本说明书中描述的概念和机制同样适用于任何其他类型的远程服务器和适用于任何其他类型的远程处理,比如向客户端提供云处理服务的云服务器,并且在本说明书中给出了远程服务器的其他示例。
此外,还作为示例,以下示例中的客户端设备是遵守一个或多个3GPP标准的移动网络的所谓用户设备(UE)。这个设备可以通过与移动网络具有连接性而在下文中还被称为‘移动设备’。应注意,尽管UE在以下示例中被描述为能够移动并且实际上被示出为移动,但是这并不是限制,因为所描述的措施同样适用于与移动网络(并且因此为‘移动设备’)具有连接性的静止或不移动的设备。应注意,本说明书中描述的概念和机制同样适用于任何其他类型的客户端设备,包括与其他例如非3GPP类型的移动网络基础设施(比如基于Wi-Fi或基于卫星的移动网络基础设施)一起使用的移动设备,以及与非移动、固定线路网络基础设施一起使用的客户端设备。
图1A示出了呈用户设备UE的形式的客户端设备,该客户端设备经由网关系统GW将数据流100流式传输到第一边缘节点EN1。这种流式传输可以经由网络(未明确示出)进行,比如具有其移动网络基础设施的移动网络。第一边缘节点EN1可以处理数据流100以生成输出。例如,输出可以包括数据流100的经处理的版本,例如经提高的或增强的,或任何其他类型的输出结果,例如由数据流100分析产生的分析结果。数据流100的流式传输可以经由网关系统GW进行,因为网关系统GW可以从客户端设备UE接收数据流的数据包并且随后向第一边缘节点EN1发送数据包。这种发送可以包括以未修改或基本上未修改的方式转发数据包,但也可以包括修改数据包,例如,通过改变数据包的标头,或通过将接收到的数据包的数据内容重新打包为要发送到第一边缘节点EN1的新数据包。应理解,基于所述数据流包含基本相同的数据内容,由网关系统GW接收的数据流和由网关系统GW发送的数据流两者可以被称为‘该’(相同的)数据流。还应注意,本段所描述实体的功能本身可以被视为已知。
网关系统GW可以被配置成协助远程处理从第一边缘节点EN1到第二边缘节点EN2的迁移。这种迁移可以由编排系统OC来编排。编排系统OC可以被配置成例如基于各种已知的考虑和标准来确定何时开始这种迁移,并且通过指令消息150指示网关系统GW协助迁移,即通过重定向客户端设备的数据流来实现迁移。此处,术语‘实现’可以指网关系统GW采取行动来实现迁移。然而,应理解,比如编排系统OC等其他实体通常也可以在整体迁移中发挥重要作用。发送到网关系统GW的指令消息150可以向网关系统GW指示它将开始向第二边缘节点EN2发送数据流,并且在给定的时间点停止向第一边缘节点EN1发送数据流。因此,还如图1B中示出的,网关系统GW可以开始向第二边缘节点EN2发送数据包,并且从而开始将数据流110流式传输到第二边缘节点EN2,而在本示例中继续将数据流100流式传输到第一边缘节点EN1。在这段时间内,第二边缘节点EN2也可以被称为‘加载’边缘节点,而第一边缘节点EN1可以继续服务于客户端设备UE,并且因此被称为‘服务’边缘节点。图1C示出了网关系统GW通过停止向第一边缘节点EN1发送数据流的数据包来完成它在到第二边缘节点EN2的迁移中的部分。网关系统GW然后可以通过向编排系统OC发送响应消息160来向编排系统OC确认迁移已经完成。
在图1A至图1C和其他图的示例中,数据流可以包含可以由相应边缘节点EN1、EN2独立处理的数据包块,因为这种块可以至少独立地解码,并且在一些示例中,可根据第一或第一组(多个)处理步骤来处理。客户端设备UE可以被配置成例如通过将相同的块标识符分配给数据包块的相应数据包来生成标识这种相应数据包块的标记。可以使这种标记可用于网关系统GW。例如,标记可以被包括在由客户端设备UE发送到网关系统GW的数据流中。然后,网关系统GW可以基于与数据流相关联的标记来确定何时开始向第二边缘节点EN2发送数据流的数据包,和/或何时停止向第一边缘节点EN1发送数据流的数据包。应注意,由客户端设备生成的标记在下文中也可以被称为‘迁移标记’,因为它们可以由客户端设备UE针对协助数据流的远程处理的迁移的特定目的而生成。
继续参考图1A至图1C,具体示例可以涉及以下内容。此处和其他地方,远程服务器也可以被称为‘边缘’而不是‘边缘节点’,以包括远程服务器是单个边缘节点的实施例和远程服务器由边缘节点系统体现的实施例。
1.客户端设备UE上的应用可以由在第一边缘EN1上运行的处理功能来服务。客户端设备UE可以经由网关系统GW连接到第一边缘EN1。
2.当期望迁移到另一边缘时,编排系统OC可以将第二边缘EN2上的处理功能实例化,并且可以等待在第二边缘EN2上安装和/或引导处理功能。
3.编排系统OC可以例如通过前述指令消息150指示网关系统GW协助从第一边缘EN1到第二边缘EN2的迁移。
4.在接收指令消息150时,网关系统GW可以开始监测从客户端设备UE接收的数据流以找到迁移标记,并且可以采取以下动作中的一个:
a.直接迁移:在接收属于下一数据块的数据包时,网关系统GW可以停止将数据流转发到第一边缘EN1,并且开始将数据流转发到第二边缘EN2;
b.加载迁移:在接收属于下一数据块的数据包时,网关系统GW可以开始将数据流复制到第二边缘EN2,并且在已经接收下一块或通常多个进一步的数据块之后,停止将数据流转发到第一边缘EN1;
c.“脏”迁移:网关系统GW可以直接开始将数据流复制到第二边缘EN2,并且由此转发数据包块,其中的(多个)第一数据包可能已经被发送到第一边缘EN1并且因此该(多个)第一数据包可能不再可用于第二边缘EN2。实际上,网关系统GW可以开始转发当前接收的数据包,而不管其在块中的位置(例如,开始、中间、结束)如何。在接收一个或多个数据块之后,或者在接收属于下一数据块的数据包之后,网关系统GW可以停止将数据流转发到第一边缘EN1。
动作类型也可以被称为‘迁移类型’,并且其选择可能取决于与数据流相关联的应用,因为对于一些类型的应用来说,可能需要或优选特定的迁移类型。
5.网关系统GW可以例如使用前述响应消息160通知编排系统OC迁移已完成。
6.第二边缘EN2可以继续作为服务边缘,即,通过远程处理其数据流来服务于客户端设备UE提供的边缘。
7.编排系统OC可以终止并且清除第一边缘EN1上的处理功能的实例。
图2A至图2D展示了前述迁移类型。通常,取决于迁移类型,可以不复制任何数据块、部分数据块或全部数据块,并将其路由到两个边缘。可以基于应用要求来选择迁移类型。在接收数据块之后不需要任何初始化的应用可以使用直接迁移,这在网络资源分配方面可能是最高效的。其他应用可能受益于流量的临时复制。
图2A展示了包括数据包序列200的数据流,该数据包序列被示出为由网关系统GW发送到第一边缘EN1。
图2B示出了数据流中的数据包的两个连续块210、240,以及网关系统从第一块210与第二块240之间的块边界230开始将数据流重定向到第二边缘EN2。这种类型的迁移可以对应于前述‘直接’迁移类型。
图2C展示了图2B的替代性方案,示出了网关系统GW向第二边缘EN2发送第一数据包块210,同时继续向第一边缘EN1重复地发送第一块210,并且仅从第二(或稍后)块240开始停止向第一边缘EN1发送数据包;
图2D展示了图2B和图2C的替代性方案,示出了网关系统GW响应于迁移远程处理的指令,即通过迅速转发第一块210的当前数据包立即开始将第一块210的数据包转发到第二边缘EN2。此处,术语‘立即’可以指不等待块边界的转发。由于这个当前数据包可能不是第一块210的第一数据包,因此这可能导致第一块210的不完整版本212传输到第二边缘EN2。这种类型的迁移可以对应于前述‘脏’迁移类型。
应理解,尽管‘脏’迁移可能看起是低效率的,但由于非完整数据块的数据可能被发射到第二边缘EN2,第二边缘EN2在初始化处理时可能已经使用了这个数据。例如,在视频流的情况下,第二边缘EN2可以使用部分数据块来推断视频/音频编解码器,并且初始化适当的解码器流水线。一旦接收到可以完全可解码和可处理的新的数据块,就可以设置解码器流水线,从而减少在产生输出之前的启动。
以下描述网关系统的各种实施例(包括分布式和非分布式实施例)以及迁移标记的各种实施例。此处,继续将远程服务器作为边缘节点或边缘进行参考。
网关系统
取决于客户端设备与边缘之间的连接性的类型,网关系统的实施可以采取各种形式。
例如,客户端设备与边缘之间的传送协议可以是有状态的(例如,当使用TCP时),或是无状态的(例如,当使用UDP时),并且在一定程度上,当使用短寿命TCP会话时也是如此。在一些示例中,传送协议可以是基于会话的,并且网关系统可以用作代理服务器或转发单元。在这种情况下,网关系统可以断开客户端设备与边缘之间的连接,使得客户端设备连接到网关系统,网关系统连接到边缘,并且网关系统将流量从一个连接转发到另一个连接。当网关系统从编排系统接收执行迁移的指令时,网关系统可以与第二边缘建立第二连接,从而现在将传入数据转发到两个边缘连接。在其他示例中,传送协议可以是无状态的。在这种情况下,网关系统还可以用作代理服务器,从而重新创建具有相同数据的数据包并且将它们发送到(多个)目的地边缘。
还在其他示例中,网关系统可以由属于网络的元件(即网络元件)来实施,而转发可以基于路由和切换原理。网络级下的复制可能意味着复制实际的网络数据包,从而潜在地重写标头中的网络级地址。在固定网络中,可以利用其形成网关系统的网络元件可以是支持软件定义网络(SDN)的交换机。在这种情况下,编排系统可以指示网络控制器执行迁移。在5G网络和基于服务的体系结构(SBA)的场景下,体现为应用功能(AF)的编排系统可以经由策略控制功能(PCF)和会话管理功能(SMF)请求关于用户平面功能(UPF)的新规则。在这种示例中,可以添加表示网关系统的监测数据包和执行迁移功能的功能。
从客户端设备的角度看,对边缘进行寻址可以是透明的,这意味着客户端设备可能不需要通过使用不同的网络地址来选择不同的边缘,而是可以经由单个网络地址和网络来对边缘进行寻址,而网关系统可以将路由处理到适当边缘。这种透明寻址可以以各种方式建立。
例如,实际边缘实例(或在真实硬件之上的虚拟边缘实例)可以具有不同的网络地址,例如IP地址。这些网络地址可以被屏蔽,并且在一些示例中甚至可以在私有IP地址空间中,并且对于编排系统和网关系统是已知的,但是对于客户端设备不是已知的。网关系统的网络地址可以被通信传送到客户端设备。客户端设备的数据包然后可以到达网关系统,该网关系统可以将数据包转发到(多个)边缘,并且从而转发到新的网络地址。取决于网关系统的类型,网关系统可以创建具有边缘的目的地网络地址的新的数据包,或网关系统可以在转发这些数据包之前执行改变数据包中的目的地网络地址的网络地址转换(NAT)机制。
另一示例是边缘实例和网关系统可以共用单个网络地址,该单个网络地址可以是可以被通信传送到客户端设备的网络地址。网络地址例如可以是重复使用的IPv4地址或IPv6选播地址。为了防止数据包的误导,可以根据区域(有时称为分段)来组织网络组织和路由,其中网关系统是来自一个区域的数据包可以进入其他区域的点。在具有两个边缘的配置中,可以标识至少三个区域:在客户端设备与网关系统之间、在网关系统与第一边缘实例之间以及在网关系统与第二边缘实例之间。网络区域可以相互隔开,这意味着到网络地址的路由可能仅可到一个目的地,例如取决于区域,即网关系统或边缘中的一个。网关系统可以具有到不同网络区域的多个(虚拟)网络接口。
集中式网关系统与分布式网关系统
网关系统可以是位于客户端设备与两个(源和目的地)边缘之间的网络中的单个实例。当不存在客户端移动性或客户端移动性很小但仍需要迁移时,这可能是相关的实施方式。例如,单个网关节点可以用于优化资源、放大或缩小计算资源。在一些示例中,网关系统可以实现边缘之间的迁移。在其他示例中,网关系统可以促进边缘集群中的计算节点之间的迁移。在其他示例中,网关系统可以促进从云节点到边缘节点的迁移,或从边缘节点到云节点的迁移。在其他示例中,网关系统可以促进云节点或任何其他远程服务器之间的迁移。
继续参考图1A至图1C,此处使用一个网关系统GW示出了两个边缘EN1、EN2之间的迁移。最初,流量可以被路由到第一边缘EN1(例如,当前服务边缘)。当期望迁移时,并且遵守来自编排器系统OC的指令,网关系统GW可以将流量复制到第二边缘EN2。一旦第二边缘EN2已准备好并且网关系统GW已经基于数据流中的迁移标记推断出第二边缘EN2的状态,则到第一边缘EN1的流量路由可以停止,并且第二边缘EN2可以继续作为服务节点。此处,短语‘基于迁移标记...推断状态’可以指网关系统GW能够通过基于数据流中的标记来确定多个完整的数据块何时已经被发送到第二边缘EN并且已经由第二边缘处理确定第二边缘EN2的状态是否(足够)匹配第一边缘EN1的状态,以及因此第二边缘EN2何时已经准备好从第一边缘EN1接管远程处理任务。
图3A至图3D展示了网关系统也可以被实例化多次。例如,第一网关系统GW1可以位于第一基站BS1与第一边缘EN1之间,而第二网关系统GW2可以位于第二基站BS2与第二边缘EN2之间。网关系统可以一起形成网关超系统。可以存在在两个或更多个网关系统之间的(直接连接或间接连接例如经由第三(中央)网关系统)。如图3A中示出的那样,客户端设备UE最初可以连接到第一基站BS1,并且经由第一网关系统GW1将其数据流300发送到第一边缘EN1。然后,客户端设备UE可以移动,如图3A至图3C中由箭头350示出那样。如图3B中示出的那样,当预期到第二基站BS2的切换时,第一网关系统GW1可以复制数据流,并且可以将复制的数据流310向第二网关系统GW2路由。如果到第二基站BS2的切换已经发生但是第一网关系统GW1仍附接到客户端设备UE,例如当UPF重选还没有发生时,也可以执行到第二网关系统GW2的这种路由。然后,第二网关系统可以将数据流310转发到第二边缘EN2。如图3C中示出的那样,当客户端设备到第二基站BS2的切换已经发生并且第二网关系统GW2接管第一网关系统GW1的角色时,第二网关系统GW2可以将流量转发到第一网关系统GW1,而第一边缘EN1可以继续作为服务边缘节点。如图3D中示出的那样,一旦第二边缘EN2已加载,则第二网关系统GW2可以基于数据流中的迁移标记,停止从块边界开始向第一网关系统GW1转发数据流300,同时第二边缘EN2可以成为服务边缘节点。在网关系统由UPF(用户平面功能)体现的5G网络的示例中,可以通过修改SSC模式2或3PDU会话锚重定位程序以结合迁移标记的检测和使用来获得上述功能。
当使用单个网关系统时,例如,如图1A至图1C所示,基于会话和无状态传送协议的使用可能被认为很容易获得,因为客户端设备与网关系统之间的连接可能不会改变。然而,可能更多地涉及使用几个网关系统(例如,如图3A至图3C所示)。例如,当使用无状态协议时,以及当基于网络数据包进行转发时,执行从第一网关系统到第二网关系统的切换可以是透明的。然而,当使用基于会话的传送协议时,会话可能在切换之后被破坏。服务网关系统可能必须通知客户端设备它可能需要重新建立连接(例如,使用TCP RST(重置)),或必须使用比如在A SDN Based Method of TCP Connection Handover[基于SDN的TCP连接切换方法](ICT EurAsia,第9357卷,2015年)中描述的技术来促进TCP切换。然而,应注意,重新建立连接或执行TCP切换相对较快,并且在其路径中没有网关系统的边缘迁移的情况下也可能发生。
关于寻址,在几个网关系统的情况下,可以定义关于路由和网络区域围栏的附加规则。当对边缘使用不同的网络地址时,来自网关系统的路由可能需要仅限于一个边缘。例如,第二网关系统GW2可以直接寻址边缘EN2,但是网络可以被配置成不将流量直接路由到边缘EN1。相反,网络可以以这样的方式被配置,即到第一边缘EN1的流量通过第一网关系统GW1路由。类似地,当使用单个网络地址和网络中的不同区域之间的围栏时,第二网关系统GW2可以使用其网络接口(区域)中的一个上的网络地址来寻址第二边缘EN2,同时在另一网络接口(区域)上寻址第一网关系统GW1。通过确保所有涉及的网关系统处理相同的数据包,网关系统可以被配置成保持相同的状态,并且可以彼此独立地执行它们在迁移中的部分。
数据流标记
客户端设备可以标记数据流的数据包,以允许将数据包分配到相应块。在一些示例中,在客户端设备上运行的客户端应用可以标记或控制数据包的标记,因为应用可以知道数据块中的数据包之间的关系,并且可能地知道数据块之间的关系。取决于标记的类型,客户端应用可以在数据包中包括标记,或向操作系统(OS)提供标记信息以使OS能够代表客户端应用执行标记。
基于消息的标记
在一些示例中,客户端应用可以格式化应用数据以被远程处理,使得消息(例如,自包含的数据单元)可以被标识,而数据块可以由几个消息组成。每个消息可以包含相关联的数据块的标记。网关系统可以用作应用级代理服务器,从而将消息转发到边缘节点。标记可以是应用数据结构的一部分,或集成在传输协议中。
示例1:下面给出了标记被包括在数据结构中的示例,该数据结构使用常见的JSON格式进行格式化。
利用这种类型的标记,消息可以按原样转发到(多个)目的地边缘。具有被包括在数据结构中的标记的消息可以被包括在UDP数据包中,或TCP流的一部分中,或可以使用诸如WebSockets的网络协议来传送。网关系统可以是特定于应用的。
示例2:下面给出了标记被包括在传输协议中的示例,该标记是HTTP POST请求中的标头字段。
POST/message HTTP/1.1
Host:example.org
Content-Type:application/j son
Content-Length:148
X-Marker:aGVsbG8taS1hbS1hLW1hcmtlcg==
<application data>
尽管以上示例使用基于文本的协议,但基于消息的标记也可以应用于二进制消息。应注意,利用基于消息的标记,网关系统可能需要被客户端应用信任,因为网关系统可能用作中间人。包括数据块标记的应用数据可以在客户端应用与网关系统之间被加密。然而,为了执行迁移,网关系统可能需要访问经解密的标记,并且从而还需要访问其他应用数据。
基于数据包封装的标记
在一些示例中,要远程处理的应用数据可以在它们被发射之前封装在标记数据包中,进而有效地为TCP/IP或UDP/IP堆栈添加了额外层。这可以由不需要访问应用数据的非应用特定网关系统(‘通用’,因为它可以服务于多个应用)执行。例如,网关系统可以被实施为代理服务器,或使用软件定义联网(SDN)技术实施。
在一些示例中,客户端应用可以在向OS提供数据包之前执行封装。客户端应用可以被配置成防止数据包碎片化(例如,通过不超过最大数据包大小)并且避免数据包被组合成流(例如,通过在使用TCP时禁用Nagle算法)。在其他示例中,OS可以向客户端应用提供标记即服务,例如可经由API由客户端应用接入。除了提供允许打开TCP/UDP套接字和从它们读取/向它们写入的低级原语之外,OS还可以提供这些TCP/UDP套接字的标记版本和相关联的功能。例如,OS可以提供写入原语,其中客户端应用可以向标记的套接字提供文件描述、数据和数据的长度以及用于传送所提供的数据的数据包的标记。OS可以确保所有数据被封装在标记数据包中,从而使能够实现网关系统的基于网络级别的实施。
网关系统和边缘节点的OS可以提供用于从套接字的标记版本读取的类似功能。当从标记的套接字读取时,OS可以向应用提供数据及其相关联的标记。OS可以确保读取调用可以仅提供属于单个数据块的数据,从而允许实施基于代理服务器的网关系统。
基于隧道的标记
基于隧道的标记可以被视为是基于封装的标记的特殊形式。在一些示例中,客户端设备可以与网关系统建立隧道,并且标记可以是形成隧道的封装数据包的一部分。在一些示例中,隧道可以是客户端设备与网关系统之间的VPN(虚拟专用网络)连接(或可以是其一部分)。在其他示例中,隧道可以是LTE/5G网络连接的一部分,隧道例如是用于PDU(数据包数据单元)会话的GTP(GPRS隧道协议),并且网关系统被体现为UPF。
当使用隧道时,OS可以向应用提供虚拟网络接口,写入网络接口的数据包将针对该虚拟网络接口隧道传输。在一些示例中,标记可能类似于基于封装的标记,其中,OS可能为API提供包括标记参数的写入原语。在另一实施例中,OS可以提供配置网络接口的功能,从而允许应用将标记设置为用于所有转出数据包,直到标记被清除或设置了新的标记。在网关系统处,隧道可以被终止,并且网关系统可以在将数据包转发到一个或多个边缘服务器之前对数据包进行解包。
迁移指令
编排系统可以指示网关系统执行迁移。取决于网关系统的实施例,这个指令可以具有不同的形式,包括但不限于SDN规则、5G网络中的PCF规则、对API的调用等。在一些示例中,指令可以由网关系统的适当配置表示。独立于指令的实施例,指令可以包含比如以下各项的字段:
·目的地边缘:迁移中目的地边缘的地址。例如,地址可以是URL、主机名、IP地址、网络区域的标识符或网络接口标识符。URL、主机名或IP地址可以包括或可以附带有(UDP/TCP)端口号。
·迁移类型:这可以指示迁移类型,比如前述直接迁移、加载迁移或脏迁移。
·迁移持续时间:在加载迁移或脏迁移的情况下,网关系统可以向两个边缘发送至少一个数据块,但在需要这个时可以复制更多的数据块。持续时间可以是在目的地边缘可以接管并且网关系统可以停止向第一边缘转发数据包之前,在迁移中可以发送到两个边缘的数据块的数量。
·标记过滤器:网关系统的关于如何找到标记的指令或格式。过滤器可以例如描述数据包中的数据类型、字节偏移和长度。替代性地,过滤器可以是JSON格式文档的键/路径,或者其他基于文本的消息的正则表达式。
图4示出了处理器系统400,该处理器系统可以是本说明书中描述的网关系统、编排系统或远程服务器的示例,这意味着处理器系统400可以体现这些实体中的任何一个。处理器系统400可以包括用于经由网络(其本身未示出)进行数据通信的网络接口410。网络接口410例如可以是有线通信接口,比如以太网接口或基于光纤的接口。网络例如可以是互联网或移动网络,其中,处理器系统400是移动网络的固定部分的一部分并且连接到该固定部分。替代性地,网络接口410可以是例如以下针对图5的客户端设备500描述的类型的无线通信接口。在其他示例中,处理器系统400可以是较大系统(例如,超系统)的子系统。在这种情况下,网络接口410可以是超系统的内部接口,例如虚拟的、基于软件的网络接口。
处理器系统400可以进一步包括处理器子系统420,该处理器子系统可以例如通过硬件设计或软件被配置成执行本说明书中描述的关于处理器系统体现的实体(例如网关系统、编排系统或远程服务器)的操作。通常,处理器子系统420可以由单个中央处理单元(CPU)体现,比如x86或基于ARM的CPU,但也可以由这种CPU和/或其他类型的处理单元的组合或系统来体现。在处理器系统400分布在不同的实体上(例如,分布在不同的服务器上)的实施例中,处理器子系统420也可以分布在例如这种不同的服务器的CPU上。同样如图4中示出的,处理器系统400可以包括比如硬盘驱动器、固态驱动器或这种硬盘和/或固态驱动器的阵列等数据存储装置430,该数据存储装置可以用于存储数据。
在一些示例中,处理器系统400可以由网络节点或网络节点的系统来实施。在一些示例中,处理器系统400可以被配置成将网关系统实施为用户平面功能(UPF)。在一些示例中,处理器系统400可以被配置成将编排系统实施为开源NFV管理和编排(MANO)系统。在一些示例中,作为编排系统的处理器系统400可以是客户端设备的一部分,或者分布在不同的客户端设备上。
图5示出了处理器系统500,该处理器系统可以是本说明书中描述的客户端设备的示例,并且在下文中也可以简称为客户端设备500。客户端设备500可以包括到网络的网络接口510,以能够经由数据通信与网关系统通信。网络接口510可以是例如无线通信接口,该无线通信接口也可以被称为无线电接口并且可以被配置成连接到移动网络基础设施。在一些示例中,网络接口510可以包括无线电和天线,或者包括无线电和天线连接。在特定示例中,网络接口510可以是用于连接到遵守一个或多个3GPP标准的4G或5G移动网络的4G或5G无线电接口,或者可以是用于连接到Wi-Fi网络基础设施的Wi-Fi通信接口等。在其他示例中,网络接口510可以是例如针对图4的处理器系统400描述的类型的有线通信接口。应注意,客户端设备500与网关系统和/或远程服务器之间的数据通信可能涉及多个网络。例如,客户端设备500可以经由无线电接入网络连接到移动网络的基础设施,并且经由移动网络的基础设施连接到互联网,其中,远程服务器是也连接到互联网的服务器。在其他示例中,网关和/或远程服务器可以是客户端设备500可以连接到的相同(移动)网络的一部分或连接到该网络。
客户端设备500可以进一步包括相机接口540,通过该相机接口,处理器系统500可以例如以(接近)实时的方式获取相机数据,进而(接近)实时地流式传输到远程服务器以进行处理。在其他示例中,客户端设备500可以包括作为内部部件的相机。还在其他示例中,除了相机接口之外或替代该相机接口,客户端设备500可以包括到外部或内部传感器的传感器数据接口,并且可以被配置成将所获取的传感器数据流式传输到远程服务器以进行处理。还在其他示例中,客户端设备500可以从其他地方(例如,从内置存储装置、另一网络连接实体等)检索要流式传输的数据。
客户端设备500可以进一步包括处理器子系统520,该处理器子系统可以例如通过硬件设计或软件被配置成执行本说明书中描述的关于客户端设备或UE的操作,或通常关于数据流的客户端侧流式传输和数据流的标记的生成的操作。通常,处理器子系统520可以由单个中央处理器(CPU)来体现,比如x86或基于ARM的CPU,但也可以由这种CPU和/或比如图形处理单元(GPU)等其他类型的处理单元的组合或系统来体现。客户端设备500进一步示出为包括数据存储装置530,该数据存储装置可以具有与图4的处理器系统400所描述的相同或相似的类型,并且该数据存储装置可以由客户端设备500用于存储数据,例如存储和/或缓冲要发送到远程服务器的数据流、和/或为数据流生成的标记。
尽管图5中没有明确示出,但客户端设备500可以进一步包括用于向显示器输出显示数据的显示器输出。这可以使客户端设备能够显示数据,比如所获取的相机数据或从远程服务器接收(返回)的数据流。这种接收到的数据流例如可以是发送到远程服务器的数据流的经处理的版本。在特定示例中,客户端设备500可以获取相机数据流并且将该相机数据流发送到远程服务器,该远程服务器可以在虚拟环境中渲染相机数据流和其他相机数据流,并且将表示所渲染的虚拟环境的数据流发送回客户端设备500以在其上显示。
通常,客户端设备500可以由(单个)设备或装置来体现,例如,智能手机、个人计算机、膝上型计算机、平板设备、游戏控制台、机顶盒、电视、监视器、投影仪、智能手表、智能眼镜、媒体播放器、媒体记录器等。在一些示例中,客户端设备500可以是比如5G或下一代移动网络的移动电信网络的所谓的用户设备(UE)。在一些示例中,客户端设备500可以由设备的分布式系统来体现,或可以表示虚拟的、基于软件的客户端。
通常,本说明书中描述的每个实体都可以体现为设备或装置,或在设备或装置中体现。该设备或装置可以包括执行适当软件的一个或多个(微)处理器。相应实体的(多个)处理器可以由这些(微)处理器中的一个或多个来体现。实施相应实体功能的软件可以已经被下载和/或存储在对应的一个或多个存储器中,例如,存储在比如RAM的易失性存储器中或比如闪存的非易失性存储器中。可替代地,相应实体的(多个)处理器可以以可编程逻辑的形式在设备或装置中实施,例如,作为现场可编程门阵列(FPGA)。任何输入和/或输出接口都可以由设备或装置的相应接口来实施。通常,相应实体的每个功能单元可以以电路或电路系统的形式来实施。相应的实体也可以以分布式方式来实施,例如涉及不同的设备或装置。
注意,在本说明书中描述的任何方法,例如,在任何权利要求中描述的任何方法,可以在计算机上实施为计算机实施的方法、专用硬件、或两者的组合。用于计算机的指令(例如可执行代码)可以存储在例如图6所示的计算机可读介质600上,例如呈一系列机器可读物理标记610的形式和/或作为具有不同电(例如磁)或光性质或值的一系列元件。可执行代码可以以暂态或非暂态的方式存储。计算机可读介质的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。图6通过示例的方式示出了光学存储设备600。
在计算机可读介质600的替代性实施例中,计算机可读介质600可以包括表示本说明书中描述的标记的数据结构形式的暂态或非暂态数据610。
图7是展示了可以在本说明书中描述的实施例中使用的示例性数据处理系统1000的框图。这种数据处理系统包括本说明书中描述的数据处理实体,包括但不限于网关系统、编排系统、远程服务器和客户端设备。数据处理系统1000可以包括通过系统总线1006耦合到存储器元件1004的至少一个处理器1002。如此,数据处理系统可以将程序代码存储在存储器元件1004内。此外,处理器1002可以执行经由系统总线1006从存储器元件1004接入的程序代码。在一个方面,数据处理系统可以被实施为适合于存储和/或执行程序代码的计算机。然而,可以理解,数据处理系统1000可以以包括能够执行本说明书内描述的功能的处理器和存储器的任何系统的形式来实施。
存储器元件1004可以包括一个或多个物理存储器设备,例如本地存储器1008和一个或多个大容量存储设备1010。本地存储器可以是指在程序代码的实际执行期间通常使用的随机存取存储器或其他(多个)非持久性存储器设备。大容量存储设备可以被实施为硬盘驱动器、固态盘或其他持久性数据存储设备。数据处理系统1000还可以包括一个或多个高速缓存存储器(未示出),这些高速缓存存储器提供至少一些程序代码的临时存储,以减少在执行期间以其他方式从大容量存储设备1010检索程序代码的次数。
被描绘为输入设备1012和输出设备1014的输入/输出(I/O)设备可以可选地耦合到数据处理系统。例如,输入设备的示例可以包括但不限于麦克风、键盘、比如鼠标等指向设备、游戏控制器、蓝牙控制器、VR控制器和基于手势的输入设备等。例如,输出设备的示例可以包括但不限于监视器或显示器、扬声器等。输入设备和/或输出设备可以直接或通过中间I/O控制器耦合到数据处理系统。网络适配器1016还可以耦合到数据处理系统,以使其能够通过中间私有或公共网络耦合到其他系统、计算机系统、远程网络设备和/或远程存储设备。网络适配器可以包括用于接收由所述系统、设备和/或网络向所述数据发射的数据的数据接收器和用于向所述系统、设备和/或网络发射数据的数据发射器。调制解调器、电缆调制解调器和以太网卡是可以与数据处理系统1000一起使用的不同类型的网络适配器的示例。
如图7所示,存储器元件1004可以存储应用1018。应当理解,数据处理系统1000可以进一步执行能够促进应用的执行的操作系统(未示出)。以可执行程序代码的形式实施的应用可以由数据处理系统1000(例如,由处理器1002)执行。响应于执行应用,数据处理系统可以被配置成执行将在本文进一步详细地描述的一个或多个操作。
例如,数据处理系统1000可以表示本说明书中描述的网关系统。在这种情况下,应用1018可以表示在被执行时配置数据处理系统1000以执行参考网关系统描述的功能的应用。在另一示例中,数据处理系统1000可以表示如本说明书中描述的编排系统。在这种情况下,应用1018可以表示在被执行时配置数据处理系统1000来执行参考编排系统描述的功能的应用。在又一示例中,数据处理系统1000可以表示如本说明书中描述的远程服务器。在这种情况下,应用1018可以表示在被执行时配置数据处理系统1000来执行参考远程服务器描述的功能的应用。数据处理系统1000还可以表示如本说明书中描述的(客户端)设备。在这种情况下,应用1018可以表示在被执行时配置数据处理系统1000来执行参考客户端设备描述的功能的应用。
应注意,上文提到的实施例说明而非限制本发明,并且本领域的技术人员将能够设计许多替代性实施例而不背离所附权利要求的范围。
在权利要求中,置于括号间的任何附图标记不应被解释为限制权利要求。使用动词“包括”和其词形变化不排除存在除权利要求中陈述的元素或级以外的元素或级。元素前面的冠词“一个”或“一种”不排除存在多个这种元素。在元件列表或群组之前的比如“至少一个”等表达表示从列表或组中选择所有元件或任何元件子集。例如,表达“A、B和C中的至少一个”应理解为包括仅A,仅B,仅C,A和B两者,A和C两者,B和C两者或A、B和C的全部。本发明可以通过包括几个不同元件的硬件以及通过适当编程的计算机来实施。在列举了若干装置的设备权利要求中,这些装置中的若干装置可以由同一个硬件体现。在相互不同的从属权利要求中陈述某些措施这一事实,并不表示不能有利地使用这些措施的组合。

Claims (22)

1.一种用于用作客户端设备与远程服务器之间的网关的网关系统,其中,该客户端设备被配置成经由该网关系统将数据流流式传输到该远程服务器以进行远程处理,该网关系统包括:
-网络接口,该网络接口用于接收该数据流和标识该数据流中的相应数据包块的标记,其中,每个所标识的数据包块是可独立处理的;
-处理器子系统,该处理器子系统被配置成使用该网络接口进行以下操作:
-响应于用于实现将该远程处理从该远程服务器迁移到另一远程服务器的指令或配置,确定该数据流中的数据包块,从该数据包块开始,该另一远程服务器要开始处理该数据流以实现或初始化该迁移;
-当接收到所确定的数据包块时,将该数据流的所确定的数据包块和后续数据包块流式传输到该另一远程服务器。
2.根据权利要求1所述的网关系统,其中,该处理器子系统被配置成当将所确定的数据包块流式传输到该另一远程服务器时进行以下操作:
-停止将该数据流流式传输到该远程服务器;或
-临时地继续将该数据流重复地流式传输到该远程服务器。
3.根据权利要求1或2所述的网关系统,其中,该处理器子系统被配置成响应于该指令或配置在所确定的数据包块之前已经开始将数据包流式传输到该另一远程服务器,以使该另一远程服务器能够初始化其对该数据流的处理。
4.根据权利要求1至3中任一项所述的网关系统,其中:
-该指令是作为指令消息从被配置成编排该远程处理的迁移的编排系统接收的;
-该处理器子系统被配置成向该编排系统发送指示该迁移被实现或初始化的响应消息。
5.根据权利要求1至4中任一项所述的网关系统,其中,该处理器子系统被配置成通过以下各项中的至少一项向该另一远程服务器发送该数据流:
-转发该数据流的数据包;
-利用该另一远程服务器的网络地址创建新的数据包;
-改变从该客户端设备接收的这些数据包中的网络地址字段以标识该另一远程服务器,并且随后将所述经改变的数据包发送到该另一远程服务器;以及
-如果这些数据包是封装要远程处理的数据的已封装的数据包并且在这些已封装的数据包的标头中包括这些标记,则对这些封装数据包进行解包并且将要远程处理的该数据作为该数据流发送到该另一远程服务器。
6.一种移动网络,包括:
-第一基站,以及用于服务连接到该第一基站的客户端设备的第一网关系统和第一远程服务器;
-第二基站,以及用于服务连接到该第二基站的客户端设备的第二网关系统和第二远程服务器;
其中,该第一网关系统和该第二网关系统各自是根据权利要求1至4中任一项所述的网关系统的实例;
-其中,该第一网关系统被配置成:
-接收连接到该第一基站的客户端设备的数据流,并且将该数据流流式传输到该第一远程服务器,
-响应于用于在预期该客户端设备切换到该第二基站时实现将该远程处理从该第一远程服务器迁移到该第二远程服务器的指令或配置,经由该第二网关系统将该数据流流式传输到该第二远程服务器;
-其中,该第二网关系统被配置成在将该客户端设备切换到该第二基站之后从该第一网关系统接管作为该客户端设备的网关系统的角色。
7.一种被配置成将数据流流式传输到远程服务器以进行远程处理的客户端设备,该客户端设备包括:
-到网络的网络接口;
-处理器子系统,该处理器子系统被配置成使用该网络接口进行以下操作:
-在流式传输该数据流之前或同时,为该数据流生成标识该数据流中的相应数据包块的标记,其中,每个所标识的数据包块是可独立处理的;
-将该数据流与这些标记一起流式传输,以使接收该数据流的网关能够确定该数据流中的数据包块,从该数据包块开始,另一远程服务器要开始处理该数据流以实现或初始化从该远程服务器到该另一远程服务器的迁移。
8.根据权利要求7所述的客户端设备,其中,该处理器子系统被配置成在该数据流中包括这些标记。
9.根据权利要求8所述的客户端设备,其中,该处理器子系统被配置成在数据流的每个数据包中包括一个标记,其中,该标记包括块标识相应数据包属于哪个数据包块的标识符。
10.根据权利要求7至9中任一项所述的客户端设备,其中,该处理器子系统被配置成作为伪随机标识符或通过按顺序对这些数据包块进行编号来生成这些标记。
11.根据权利要求7所述的客户端设备,其中,该处理器子系统被配置成在以下各项中的至少一项中包括这些标记:
-用于传输该数据流的传输协议的标头;
-封装要远程处理的数据的封装数据包的标头;
-在该客户端设备与接收该数据流的实体之间建立的隧道,其中,这些标记被包括在形成该隧道的封装数据包中。
12.一种用于编排远程处理从远程服务器到另一远程服务器的数据流的迁移的编排系统,其中,该数据流由客户端设备流式传输到网关系统并且在该迁移之前由该网关系统流式传输到该远程服务器,该编排系统包括:
-到网络的网络接口;
-处理器子系统,该处理器子系统被配置成使用该网络接口进行以下操作:
-设置该另一远程服务器以进行该远程处理;
-向该网关系统发送用于通过将该数据流流式传输到该另一远程服务器来实现或初始化该远程处理从该远程服务器到该另一远程服务器的迁移的指令消息,其中,该指令消息指示该网关系统基于标记该数据流的标记来确定何时开始将该数据流流式传输到该另一远程服务器,每个标记标识该数据流中的相应数据包块,每个所标识的数据包块是可独立处理的。
13.根据权利要求12所述的编排系统,其中,该处理器子系统被配置成生成指示该数据流中的数据包块的该指令消息,该网关系统从该数据包块开始将该数据流流式传输到该另一远程服务器。
14.根据权利要求12或13所述的编排系统,其中,该处理器子系统被配置成在该指令消息中包括以下各项中的至少一项:
-该另一远程服务器的网络地址;
-迁移类型,该迁移类型指示在开始将该数据流流式传输到该另一远程服务器之后是否要临时地继续将该数据流重复地流式传输到该远程服务器;
-迁移持续时间,该迁移持续时间指示在开始将该数据流流式传输到该另一远程服务器之后要临时地继续将该数据流重复地流式传输到该远程服务器的数据包块的数量;以及
-信息,该信息通知该网关系统如何标识该数据流中或与该数据流相关联的元数据中的这些标记。
15.一种用于处理由客户端设备流式传输的数据流的服务器,该服务器包括:
-网络接口,该网络接口用于接收该数据流的数据包;
-处理器子系统,该处理器子系统被配置成经由该网络接口进行以下操作:
-在操作模式中,处理该数据流以生成由该客户端设备或另一实体使用的输出,其中,该数据流包括数据包块,其中,每个数据包块是可独立处理的,其中,该处理器子系统被配置成通过至少最初独立地处理这些数据包块来处理该数据流;以及
-在调用该操作模式之前,响应于指示初始化该数据流的处理的指令或配置开始处理该数据流的数据包而不生成该输出。
16.根据权利要求15所述的服务器,其中,该服务器是电信网络中的边缘节点或边缘节点系统。
17.一种用于在客户端设备与远程服务器之间提供网关功能的计算机实施的方法,其中,该客户端设备被配置成经由该网关功能将数据流流式传输到该远程服务器以进行远程处理,该计算机实施的方法包括:
-接收该数据流和标识该数据流中的相应数据包块的标记,其中,每个所标识的数据包块是可独立处理的;
-响应于用于实现将该远程处理从该远程服务器迁移到另一远程服务器的指令或配置,确定该数据流中的数据包块,从该数据包块开始,该另一远程服务器要开始处理该数据流以实现或初始化该迁移;
-当接收到所确定的数据包块时,将该数据流的所确定的数据包块和后续数据包块流式传输到该另一远程服务器。
18.一种用于将数据流流式传输到远程服务器以进行远程处理的计算机实施的方法,该计算机实施的方法包括:
-在流式传输该数据流之前或同时,为该数据流生成标识该数据流中的相应数据包块的标记,其中,每个所标识的数据包块是可独立处理的;
-将该数据流与这些标记一起流式传输,以使接收该数据流的网关能够确定该数据流中的数据包块,从该数据包块开始,另一远程服务器要开始处理该数据流以实现或初始化从该远程服务器到该另一远程服务器的迁移。
19.一种用于编排远程处理从远程服务器到另一远程服务器的数据流的迁移的计算机实施的方法,其中,该数据流由客户端设备流式传输到网关系统并且在该迁移之前由该网关系统流式传输到该远程服务器,该计算机实施的方法包括:
-设置该另一远程服务器以进行该远程处理;
-向该网关系统发送用于通过将该数据流流式传输到该另一远程服务器来实现或初始化该远程处理从该远程服务器到该另一远程服务器的迁移的指令消息,其中,该指令消息指示该网关系统基于标记该数据流的标记确定何时开始将该数据流流式传输到该另一远程服务器,每个标记标识该数据流中的相应数据包块,每个所标识的数据包块是可独立处理的。
20.一种用于处理由客户端设备流式传输的数据流的计算机实施的方法,该计算机实施的方法包括:
-接收该数据流的数据包;
-处理该数据流以生成由该客户端设备或另一实体使用的输出,其中,该数据流包括数据包块,其中,每个数据包块是可独立处理的,其中,该处理包括至少最初独立地处理这些数据包块;以及
-在处理该数据流以生成该输出之前,响应于指示初始化该数据流的处理的指令或配置开始处理该数据流的数据包而不生成该输出。
21.一种计算机可读介质,该计算机可读介质包括表示计算机程序的暂态或非暂态数据,该计算机程序包括用于使处理器系统执行根据权利要求17至20中任一项所述的方法的指令。
22.一种计算机可读介质,该计算机可读介质包括表示数据流的数据包的暂态或非暂态数据和标记,其中,该标记包括标识该数据包属于哪个数据包块的块标识符,其中,该数据包块是可独立处理的。
CN202180088027.9A 2020-12-03 2021-11-30 服务器之间的远程数据处理迁移 Pending CN116711289A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20211429 2020-12-03
EP20211429.4 2020-12-03
PCT/EP2021/083537 WO2022117550A1 (en) 2020-12-03 2021-11-30 Migration of remote data processing between servers

Publications (1)

Publication Number Publication Date
CN116711289A true CN116711289A (zh) 2023-09-05

Family

ID=73698567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180088027.9A Pending CN116711289A (zh) 2020-12-03 2021-11-30 服务器之间的远程数据处理迁移

Country Status (4)

Country Link
US (1) US20240098142A1 (zh)
EP (1) EP4256774A1 (zh)
CN (1) CN116711289A (zh)
WO (1) WO2022117550A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117278394B (zh) * 2023-11-21 2024-04-05 京东科技信息技术有限公司 网关流量迁移方法、装置和系统
CN117539647B (zh) * 2024-01-09 2024-04-12 四川华鲲振宇智能科技有限责任公司 基于边缘计算网关节点属性的任务调度规划方法和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7006881B1 (en) * 1991-12-23 2006-02-28 Steven Hoffberg Media recording device with remote graphic user interface
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US7685254B2 (en) * 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
US10834017B2 (en) * 2018-11-11 2020-11-10 International Business Machines Corporation Cloud-driven hybrid data flow and collection

Also Published As

Publication number Publication date
EP4256774A1 (en) 2023-10-11
US20240098142A1 (en) 2024-03-21
WO2022117550A1 (en) 2022-06-09

Similar Documents

Publication Publication Date Title
US20210044675A1 (en) Methods Circuits Devices Systems and Functionally Associated Computer Executable Code for Facilitating Edge Computing on a Mobile Data Communication Network
US10498784B2 (en) Method for an audio/video live broadcast in an HTML5-based browser
US20180302327A1 (en) Load balancing for a virtual networking system
US20240098142A1 (en) Migration of remote data processing between servers
US10855557B2 (en) Method and device for upgrading virtual switch
US8544025B2 (en) Efficient data transfer on local network connections using a pseudo socket layer
EP3223456B1 (en) Method for migration of virtual network function
US10742699B1 (en) Requesting transmission of future encoded segments
US10939358B2 (en) Method and apparatus for business migration
US20150373135A1 (en) Wide area network optimization
US20240069977A1 (en) Data transmission method and data transmission server
CN113746749A (zh) 网络连接设备
CN112771994A (zh) 3gpp(第三代合作伙伴计划)upf(用户平面功能)和边缘计算应用程序服务器的关联
CN112953850A (zh) 数据传输方法、装置、计算机可读介质及电子设备
US7136935B2 (en) Efficient data transmissions based on a policy
CN112673605B (zh) 用于动态多端点生成的方法、装置和计算机程序
Peuster et al. A flow handover protocol to support state migration in softwarized networks
WO2018153357A1 (en) Application instance relocation
WO2015151441A1 (ja) 移動通信システム、通信装置および通信制御方法
US8655986B2 (en) Data path processing
KR102485601B1 (ko) 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치
JP6404915B2 (ja) データの自動圧縮
US20220116831A1 (en) Method and apparatus for providing mec service
RU2801634C2 (ru) Реализация базового сотового сетевого стека в облачной инфраструктуре
US20230269575A1 (en) Base station device and method for operating base station device

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