CN117581239A - 用于人工智能定义网络的***和方法 - Google Patents

用于人工智能定义网络的***和方法 Download PDF

Info

Publication number
CN117581239A
CN117581239A CN202280026741.XA CN202280026741A CN117581239A CN 117581239 A CN117581239 A CN 117581239A CN 202280026741 A CN202280026741 A CN 202280026741A CN 117581239 A CN117581239 A CN 117581239A
Authority
CN
China
Prior art keywords
model
network
routing
sdn
training
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
CN202280026741.XA
Other languages
English (en)
Inventor
R·德舍纳
M·卡塔拉诺
S·巴德瓦杰
N·布里奇兰
A·夏尔马
X·乌尔里希
N·阿加瓦尔
T·肖赫
R·张
P·S·瓜尔
T·西普雷尔
J·马尔奇
H·斯托尔滕贝格
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.)
Global Technology Holdings Ltd
Original Assignee
Global Technology Holdings Ltd
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 Global Technology Holdings Ltd filed Critical Global Technology Holdings Ltd
Priority claimed from PCT/US2022/014263 external-priority patent/WO2022165143A1/en
Publication of CN117581239A publication Critical patent/CN117581239A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/08Learning-based routing, e.g. using neural networks or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0843Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种***包括一个或多个处理器以及存储计算指令的一个或多个非暂时性计算机可读介质,所述计算指令在一个或多个处理器上执行时执行某些动作。动作可以包括生成通过软件定义网络(SDN)控制***控制的物理计算机网络的数字孪生网络模拟。动作还可以包括使用关于流经数字孪生网络模拟的节点的流量的强化学习模型来训练数字孪生网络模拟上的路由代理模型。路由代理模型包括机器学习模型。动作可以另外包括将经过训练的路由代理模型从数字孪生网络模拟部署到物理计算机网络的SDN控制***。提供了其他实施方案。

Description

用于人工智能定义网络的***和方法
相关申请的交叉引用
本申请要求2021年1月29日提交的美国专利申请号17/162,691;2021年1月29日提交的美国专利申请号17/162,704;2021年1月29日提交的美国专利申请号17/162,719的权益。美国专利申请号17/162,691、17/162,704和17/162,719的全部内容通过引用并入本文。
技术领域
本公开总体上涉及人工智能定义的计算机网络。
背景技术
计算机网络传统上利用静态或动态生成的路由表条目来确定数据包路径选择。在诸如BGP(边界网关协议)、EIGRP(增强型内部网关路由协议)和OSPF(开放最短路径优先)的动态路由协议中,路由表是在路由选择过程之后填充的。路由选择发生在复杂的路由器对等和表或路由交换过程(称为收敛)之后。收敛时间和复杂性随着路由域的大小而增加,这导致拓扑变化时故障恢复延迟和大量计算开销。
路由协议通常由人类管理员配置。管理员可以通过汇总、路由度量、权重调整和其他协议特定的调整参数来操纵协议的路由域和性能。协议管理可能容易出错,需要花费大量精力进行路由调整和流量工程以强制执行业务规范或策略。更改路由行为以反映业务规范,诸如对某些流量类型或链路进行优先级排序,是通过简单的匹配、分类、标记或路由优先级标准来执行的。
传统网络还受到有限的可观察集空间的限制,路由协议可以利用该空间来确定首选动作。局域网(LAN)内的典型路由实现包括经由特定网关地址到未知网络的静态定义的默认路由,以及从路由过程动态生成的路由。动态生成的路由在收敛过程中按优先级排列,以提供主要、次要路径,有时还提供第三路径。通常根据诸如跳数、路径链路速度、路由起源、可靠性或管理距离的基本观察来对可用路由进行优先级排列。当附加的路由可用时,节点分配宝贵的硬件资源和表空间来保存路由和候选路由。这些操作通常使用专用且昂贵的芯片组来执行。
附图说明
为了便于对实施方案进行进一步描述,提供了以下附图,在附图中:
图1示出了适合于实现图3中公开的***的实施方案的计算机***的前正视图;
图2示出了图1的计算机***的机箱内的电路板中所包括的元件的示例的代表性框图;
图3示出了根据一个实施方案的可用于AI定义的网络的***的框图;
图4示出了根据一个实施方案的强化学习模型的框图;
图5示出了分层强化学习模型的框图;
图6示出了根据一个实施方案的可用于AI定义的网络的***的框图;
图7示出了根据一个实施方案的元强化学习模型的框图;
图8示出了根据一个实施方案的用于使用用户界面***来创建和使用流量简档的方法的流程图,以及网络控制***和训练***中的相关联的数据流;
图9示出了根据一个实施方案的使用分层算法聚类进行渲染的方法的流程图;
图10示出了根据一个实施方案的用于应用和层分类的方法的流程图;
图11示出了根据一个实施方案的用于使用用户界面***来训练具有应用简档的数字孪生的方法的流程图,以及训练***中的相关联的数据流;
图12示出了根据任何实施方案的AI模型生命周期的框图;
图13示出了网络控制***部署模型的框图,包括集中式网络控制***部署模型、分散式网络控制***部署模型和分布式网络控制***部署模型;
图14示出了根据一个实施方案的模型-视图-控制器模型的框图;
图15和图16示出了展示拓扑编辑器的示例性用户界面显示;
图17示出了用于定义训练场景的示例性用户界面显示;
图18示出了用于定义训练场景设置的示例性用户界面显示;
图19示出了展示网络监视仪表板的示例性用户界面显示;
图20示出了根据另一实施方案的在AI定义的网络中训练数字孪生的方法的流程图;
图21示出了根据另一实施方案的提供强化学习建模接口的方法的流程图;以及
图22示出了根据另一实施方案的在AI定义的网络中提供网络控制的方法的流程图。
为了说明的简单和清楚起见,附图示出了构造的一般方式,并且可以省略公知特征和技术的描述和细节,以避免不必要地模糊本公开。另外,附图中的元件未必按比例绘制。例如,附图中的一些元件的尺寸相对于其它元件可能被放大以帮助提高本公开实施方案的理解。不同图中相同的附图标记表示相同的元件。
说明书和权利要求书中的术语“第一”、“第二”、“第三”、“第四”等(如有)用于区分相似的元件,而不一定用于描述特定的顺序或时间顺序。应当理解,如此使用的术语在适当的情况下可互换,使得本文描述的实施方案例如能够以不同于本文示出或以其他方式描述的顺序操作。此外,术语“包括”和“具有”和其任何变体意图涵盖非排他性的包括,使得包括一系列元素的过程、方法、***、物品、装置或设备不必限于那些元素,而且可以包括没有明确列出或此类过程、方法、***、物品、装置或设备所固有的其它元素。
在说明书和权利要求书中(如有)使用术语“左”、“右”、“前”、“后”、“顶部”、“底部”、“上方”、“下方”等是出于描述目的,不一定用于描述永久的相对位置。应当理解,如此使用的术语在适当的情况下可互换,使得本文描述的设备、方法和/或制品的实施方案例如能够以不同于本文示出或以其他方式描述的顺序操作。
术语“耦合”、“耦合的”等应当被广泛地理解并且指的是机械地和/或以其他方式连接两个或更多个元件。两个或更多个电气元件可以电耦合在一起,但不能机械地或以其他方式耦合在一起。耦合可以持续任何时间长度,例如永久或半永久或仅瞬时。“电耦合”等应当被广义地理解并且包括所有类型的电耦合。在“耦合”等词语附近缺少“可移除地”、“可移除”等词语并不意味着所讨论的耦合等是可移除的或不可移除的。
如本文所定义的,在一些实施方案中,“实时”可以相对于在发生触发事件时实际上尽可能快地执行的操作定义。触发事件可以包括接收到执行任务或以其他方式处理信息所需的数据。由于传输和/或计算速度中固有的延迟,术语“实时”涵盖“接近”实时或从触发事件稍微延迟发生的操作。在多个实施方案中,“实时”可以意味着实时减去用于处理(例如,确定)和/或传输数据的时间延迟。特定的时间延迟可以根据数据的类型和/或数量、硬件的处理速度、通信硬件的传输能力、传输距离等而变化。然而,在许多实施方案中,时间延迟可以小于1毫秒(ms)、10ms、50ms、100ms、500ms或1秒(s)。
具体实施方式
在多个实施方案中,本文描述的***和方法可以用于在计算机网络内训练和实现基于被称为AI定义的网络的网络策略做出路由决策的人工智能(AI)代理。AI代理进程本身可以在网络的“数字孪生”模拟上进行训练。可以使用表示真实流量模式的模拟网络流量来训练代理。AI定义的网络解决方案的各种实施方案可以通过支持AI训练场景和参数调整的用户界面(UI)进行管理。
AI定义的网络解决方案可以通过使用经过强化学习(RL)训练的神经网络代理做出路由决策,来缓解传统方法中遇到的挑战。代理本身可以通过具有代表性网络流量的网络环境的数字孪生模拟进行训练。
各种实施方案包括一种经由在一个或多个处理器处执行计算指令来实现的方法。该方法可以包括生成通过软件定义网络(SDN)控制***控制的物理计算机网络的数字孪生网络模拟。该方法还可以包括使用关于流经数字孪生网络模拟的节点的流量的强化学习模型来训练数字孪生网络模拟上的路由代理模型。路由代理模型包括机器学习模型。该方法可以另外包括将经过训练的路由代理模型从数字孪生网络模拟部署到物理计算机网络的SDN控制***。
多个实施方案包括一种***,该***包括一个或多个处理器以及存储计算指令的一个或多个非暂时性计算机可读介质,所述计算指令在一个或多个处理器上执行时执行某些动作。动作可以包括生成通过软件定义网络(SDN)控制***控制的物理计算机网络的数字孪生网络模拟。动作还可以包括使用关于流经数字孪生网络模拟的节点的流量的强化学习模型来训练数字孪生网络模拟上的路由代理模型。路由代理模型包括机器学习模型。动作可以另外包括将经过训练的路由代理模型从数字孪生网络模拟部署到物理计算机网络的SDN控制***。
另外的实施方案包括一种经由在一个或多个处理器处执行计算指令来实现的方法。该方法可以包括向用户传输要显示的用户界面。用户界面可以包括一个或多个第一交互元素。一个或多个第一交互元素显示强化学习模型的策略设置。一个或多个第一交互元件被配置为允许用户更新强化学习模型的策略设置。该方法还可以包括接收来自用户的一个或多个输入。输入包括对用户界面的一个或多个第一交互元素的至少一部分的一个或多个修改,以更新强化学习模型的策略设置。该方法可以另外包括使用带有所述策略设置的强化学习模型来训练神经网络模型,所述策略设置由所述用户更新以调整在所述强化学习模型中分配的奖励。
另外的实施方案包括一种***,该***包括一个或多个处理器以及存储计算指令的一个或多个非暂时性计算机可读介质,所述计算指令在一个或多个处理器上执行时执行某些动作。动作可以包括向用户传输要显示的用户界面。用户界面可以包括一个或多个第一交互元素。一个或多个第一交互元素显示强化学习模型的策略设置。一个或多个第一交互元件被配置为允许用户更新强化学习模型的策略设置。动作还可以包括接收来自用户的一个或多个输入。输入包括对用户界面的一个或多个第一交互元素的至少一部分的一个或多个修改,以更新强化学习模型的策略设置。动作可以另外包括使用带有所述策略设置的强化学习模型来训练神经网络模型,所述策略设置由所述用户更新以调整在所述强化学习模型中分配的奖励。
另外的实施方案包括一种经由在一个或多个处理器处执行计算指令来实现的方法。该方法可以包括接收软件定义网络(SDN)控制服务的部署模型选择。部署模型选择包括集中式模型、分散式模型、分布式模型或混合模型之一。该方法还可以包括在部署模型选择中部署SDN控制服务以控制物理计算机网络。SDN控制服务使用利用强化学习模型训练的路由代理模型。
另外的实施方案包括一种***,该***包括一个或多个处理器以及存储计算指令的一个或多个非暂时性计算机可读介质,所述计算指令在一个或多个处理器上执行时执行某些动作。动作可以包括接收软件定义网络(SDN)控制服务的部署模型选择。部署模型选择包括集中式模型、分散式模型、分布式模型或混合模型之一。动作还可以包括在部署模型选择中部署SDN控制服务以控制物理计算机网络。SDN控制服务使用利用强化学习模型训练的路由代理模型。
电脑硬件
转向附图,图1示出了计算机***100的示例性实施方案,其全部或一部分可以适合于(i)实现技术、方法和***的一个或多个实施方案的部分或全部和/或(ii)实现和/或操作本文描述的非暂时性计算机可读介质的一个或多个实施方案的部分或全部。作为示例,计算机***100(及其内部组件,或者计算机***100的一个或多个元件)中的不同或单独的一个可以适合于实现本文描述的技术的部分或全部。计算机***100可以包括包含一个或多个电路板(未示出)的机箱102、通用串行总线(USB)端口112、压缩盘只读存储器(CD-ROM)和/或数字视频盘(DVD)驱动器116和硬盘驱动器114。图2示出了机箱102内的电路板上所包括的元件的代表性框图。图2中的中央处理单元(CPU)210耦合到图2中的***总线214。在各种实施方案中,CPU210的架构可以符合多种商业分布式架构系列中的任何一种。
继续图2,***总线214还耦合到存储器存储单元208,该存储器存储单元包括只读存储器(ROM)和随机存取存储器(RAM)两者。存储器存储单元208或ROM的非易失性部分可以用适合于在***重置之后将计算机***100(图1)恢复到功能状态的引导代码序列进行编码。另外,存储器存储单元208可以包括诸如基本输入输出***(BIOS)的微代码。在一些示例中,本文公开的各种实施方案的一个或多个存储器存储单元可以包括存储器存储单元208、配备有USB的电子装置(例如,耦合到通用串行总线(USB)端口112(图1至图2)的外部存储器存储单元(未示出))、硬盘驱动器114(图1至图2),和/或CD-ROM、DVD、蓝光或其他合适的介质,诸如被配置为在CD-ROM和/或DVD驱动器116(图1至图2)中使用的介质。非易失性或非暂时性存储器存储单元是指存储器存储单元中属于非易失性存储器且不是瞬态信号的部分。在相同或不同的示例中,本文公开的各种实施方案的一个或多个存储器存储单元可以包括操作***,其可以是管理计算机和/或计算机网络的硬件和软件资源的软件程序。操作***可以执行基本任务,例如诸如控制和分配存储器、对指令的处理进行优先级排序、控制输入和输出装置、促进联网以及管理文件。示例性操作***可以包括以下各项中的一种或多种:(i)美国华盛顿州雷蒙德市的微软公司的操作***(OS),(ii)美国加利福尼亚州库比蒂诺市的苹果公司的/>OS X,(iii)/>OS,以及(iv)OS。另外的示例性操作***可以包括以下各项中的一者:(i)美国加利福尼亚州库比蒂诺市的苹果公司的/>操作***,(ii)加拿大安大略省滑铁卢市的Research InMotion(RIM)的/>操作***,(iii)韩国首尔LG Electronics的WebOS操作***,(iv)美国加利福尼亚州山景城Google开发的AndroidTM操作***,(v)美国华盛顿州雷蒙德市的微软公司的Windows MobileTM操作***,或(vi)爱尔兰都柏林的Accenture PLC的SymbianTM操作***。
如本文所使用的,“处理器”和/或“处理模块”是指任何类型的计算电路,诸如但不限于微处理器、微控制器、控制器、复杂指令集计算(CISC)微处理器、精简指令集计算机(RISC)微处理器、超长指令字(VLIW)微处理器、图形处理器、数字信号处理器或能够执行所需功能的任何其他类型的处理器或处理电路。在一些示例中,本文公开的各种实施方案的一个或多个处理器可以包括CPU 210。
在图2所示的实施方案中,诸如磁盘控制器204、图形适配器224、视频控制器202、键盘适配器226、鼠标适配器206、网络适配器220和其他I/O装置222的各种I/O装置可以耦合到***总线214。键盘适配器226和鼠标适配器206分别耦合到计算机***100(图1)的键盘104(图1至图2)和鼠标110(图1至图2)。虽然图形适配器224和视频控制器202在图2中被指示为不同的单元,但视频控制器202可以集成到图形适配器224中,或者在其他实施方案中反之亦然。视频控制器202适合于刷新监视器106(图1至图2)以在计算机***100(图1)的屏幕108(图1)上显示图像。磁盘控制器204可以控制硬盘驱动器114(图1至图2)、USB端口112(图1至图2)以及CD-ROM和/或DVD驱动器116(图1至图2)。在其他实施方案中,可以使用不同的单元来单独地控制这些装置中的每一者。
在一些实施方案中,网络适配器220可以包括和/或被实现为***或耦合到计算机***100(图1)中的扩展端口(未示出)的WNIC(无线网络接口控制器)卡(未示出)。在其他实施方案中,WNIC卡可以是内置于计算机***100(图1)中的无线网卡。无线网络适配器可以通过将无线通信能力集成到主板芯片组(未示出)中而内置到计算机***100(图1)中,或者经由通过计算机***100(图1)的PCI(***组件互连器)或PCI Express总线或者USB端口112(图1至图2)连接的一个或多个专用无线通信芯片(未示出)来实现。在其他实施方案中,网络适配器220可以包括和/或被实现为有线网络接口控制器卡(未示出)。
尽管未示出计算机***100(图1)的许多其他组件,但是这些组件及其互连对于本领域普通技术人员来说是公知的。因此,本文未讨论关于计算机***100(图1)和机箱102(图1)内的电路板的构造和组成的进一步细节。
当图1中的计算机***100运行时,存储在USB端口112中的USB驱动器上、CD-ROM或CD-ROM和/或DVD驱动器116中的DVD上、硬盘驱动器114上或存储器存储单元208(图2)中的程序指令由CPU 210(图2)执行。存储在这些装置上的程序指令的一部分可以适合于执行本文描述的技术的全部或至少部分。在各种实施方案中,计算机***100可以用一个或多个模块、***、应用程序和/或数据库(诸如本文描述的那些)重新编程,以将通用计算机转换为专用计算机。为了说明的目的,程序和其他可执行程序组件在本文中被示出为分立***,但是应当理解,此类程序和组件可以在各种时间驻留在计算装置100的不同存储组件中,并且可以由CPU 210执行。替代地或附加地,本文描述的***和过程可以以硬件或者硬件、软件和/或固件的组合来实现。例如,一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)可被编程以执行本文描述的***和过程中的一者或多者。例如,本文描述的程序和/或可执行程序组件中的一者或多者可以在一个或多个ASIC或FPGA中实现。
虽然计算机***100在图1中被示为台式计算机,但是可以存在这样的示例,其中计算机***100可以采用不同的形状因数,同时仍然具有与针对计算机***100描述的那些类似的功能元件。在一些实施方案中,计算机***100可以包括单个计算机、单个服务器、或者计算机或服务器的集群或集合、或者计算机或服务器的云。通常,当对计算机***100的需求超过单个服务器或计算机的合理能力时,可以使用服务器的集群或集合。在某些实施方案中,计算机***100可以包括便携式计算机,诸如膝上型计算机。在某些其他实施方案中,计算机***100可以包括移动装置,诸如智能电话。在某些附加实施方案中,计算机***100可以包括嵌入式***。
***架构
继续看附图,图3示出了根据一个实施方案的可用于AI定义的网络的***300的框图。***300仅是示例性的,并且***的实施方案不限于本文呈现的实施方案。该***可用于本文未具体描绘或描述的许多不同实施方案或示例中。在一些实施方案中,***300的某些元件、模块或服务可以执行各种过程、进程和/或活动。在其他实施方案中,过程、进程和/或活动可以由***300的其他合适的元件、模块或服务来执行。如本文所描述的,***300可以用硬件和/或软件来实现。在一些实施方案中,部分或全部硬件和/或软件可以是常规的,而在这些或其他实施方案中,部分或全部硬件和/或软件可以被定制(例如,优化)以用于实现本文描述的***300的部分或全部功能。在许多实施方案中,***300可以包括用户界面***310、网络控制***315和/或训练***320。
用户界面***310、网络控制***315和/或训练***320可各自是计算机***,诸如如上所述的计算机***100(图1),并且可各自是单个计算机、单个服务器,或计算机或服务器的集群或集合,或计算机或服务器的云。在另一个实施方案中,单个计算机***可以托管用户界面***310、网络控制***315和/或训练***320。本文描述了关于用户界面***310、网络控制***315和/或训练***320的附加细节。
在一些实施方案中,用户界面***310可以诸如通过网络与一个或多个用户装置(诸如用户计算机340)进行数据通信。用户计算机340可以是***300的一部分或者在***300的外部。该网络可以是互联网或其他合适的网络。在一些实施方案中,用户计算机340可以由诸如用户350的用户使用。在许多实施方案中,用户界面***310可以托管一个或多个网站和/或移动应用程序服务器。例如,用户界面***310可以托管网站,或者提供与用户计算机340上的应用程序(例如,移动应用程序)交互的服务器,这可以允许用户(例如,350)与***300交互。在某些实施方案中,用户装置(例如,用户装置340)可以是台式计算机、膝上型计算机、移动装置和/或由一个或多个用户(例如,用户350)使用的其他终端装置。
在许多实施方案中,网络控制***315可以与诸如计算机网络节点330的物理计算机网络进行数据通信。计算机网络节点330可以是路由器、交换机和/或其他计算机网络元件。在许多实施方案中,计算机网络节点330中的每个节点可以支持软件定义网络(SDN)协议,其中网络控制***315可以用于定义计算机网络节点330的网络路由决策。
在许多实施方案中,用户界面***310、网络控制***315和/或训练***320可各自包括一个或多个输入装置(例如,一个或多个键盘、一个或多个小键盘、一个或多个指示装置诸如一个或多个计算机鼠标、一个或多个触摸屏显示器、传声器等),和/或可以各自包括一个或多个显示装置(例如,一个或多个监视器、一个或多个触摸屏显示器、投影仪等)。在这些或其他实施方案中,一个或多个输入装置可以与键盘104(图1)和/或鼠标110(图1)相似或相同。此外,一个或多个显示装置可以与监视器106(图1)和/或屏幕108(图1)相似或相同。输入装置和显示装置可以以有线方式和/或无线方式耦合到需求塑造***310和/或网络服务器,并且耦合可以是直接和/或间接的,以及本地和/或远程的。作为间接方式(其可以是或也可以不是远程方式)的示例,键盘-视频-鼠标(KVM)切换器可以用于将输入装置和显示装置耦合到处理器和/或存储器存储单元。在一些实施方案中,KVM切换器还可以是用户界面***310、网络控制***315和/或训练***320的一部分。以类似的方式,处理器和/或非暂时性计算机可读介质可以是彼此本地的和/或远程的。
同时,在许多实施方案中,用户界面***310、网络控制***315和/或训练***320还可被配置为与一个或多个数据库通信。一个或多个数据库可以存储在一个或多个存储器存储单元(例如,非暂时性计算机可读介质)上,其可以与上面关于计算机***100(图1)描述的一个或多个存储器存储单元(例如,非暂时性计算机可读介质)相似或相同。此外,在一些实施方案中,对于一个或多个数据库中的任何特定数据库,根据特定数据库的大小和/或存储器存储单元的存储容量,该特定数据库可以存储在单个存储器存储单元上,或者该特定数据库的内容可以分布在存储一个或多个数据库的多个存储器存储单元上。
一个或多个数据库可以各自包括结构化的(例如,索引的)数据集合,并且可以由被配置为定义、创建、查询、组织、更新和管理数据库的任何合适的数据库管理***来管理。示例性数据库管理***可以包括MySQL(结构化查询语言)数据库、PostgreSQL数据库、MicrosoftSQL Server数据库、Oracle数据库、SAP(***、应用程序和产品)数据库、IBM DB2数据库、Neo4j图形数据库和MongoDB。
同时,用户界面***310、网络控制***315、训练***320和/或一个或多个数据库可以使用任何合适的有线和/或无线通信方式来实现。因此,***300可以包括被配置为实现有线和/或无线通信的任何软件和/或硬件组件。此外,有线和/或无线通信可以使用有线和/或无线通信网络拓扑(例如,环形、线形、树形、总线、网状、星形、菊花链、混合、脊叶形、Clos等)和/或协议(例如,个域网(PAN)协议、局域网(LAN)协议、广域网(WAN)协议、蜂窝网络协议、电力线网络协议等)中的任意一种或任意组合来实现。示例性PAN协议可以包括蓝牙、Zigbee、无线通用串行总线(USB)、Z-Wave等;示例性LAN和/或WAN协议可以包括电气和电子工程师协会(IEEE)802.3(也称为以太网)、IEEE 802.11(也称为WiFi)等;并且示例性无线蜂窝网络协议可以包括全球移动通信***(GSM)、通用分组无线电服务(GPRS)、码分多址(CDMA)、演进数据优化(EV-DO)、增强数据速率GSM演进(EDGE)、通用移动电信***(UMTS)、数字增强型无绳电信(DECT)、数字AMPS(IS-136/时分多址(TDMA))、集成数字增强型网络(iDEN)、演进型高速分组接入(HSPA+)、长期演进(LTE)、WiMAX等。实现的特定通信软件和/或硬件可以取决于实现的网络拓扑和/或协议,反之亦然。在许多实施方案中,示例性通信硬件可以包括有线通信硬件,包括例如一个或多个数据总线例如诸如通用串行总线、一个或多个网络电缆例如诸如同轴电缆、光纤电缆和/或双绞线电缆、任何其他合适的数据电缆等。另外的示例性通信硬件可以包括无线通信硬件,包括例如一个或多个无线电收发器、一个或多个红外收发器等。附加示例性通信硬件可以包括一个或多个网络组件(例如,调制器-解调器组件、网关组件等)。
在许多实施方案中,训练***320可以生成可以发布到网络控制***315以做出路由决策的AI代理模型。训练***320可以包括强化学习服务321、数字孪生服务322、网络流量服务323、策略服务324、训练服务325和/或流量分类服务326。在许多实施方案中,训练***320可以由强化学习(RL)服务运行,诸如Deep-Q元强化学习服务,其可以寻求训练AI代理。RL训练环境可以基于数字孪生服务322提供的模拟数字孪生网络拓扑,并且可以利用网络流量服务323提供的合成网络流量来增强。诸如网络拓扑、合成网络流量、训练场景(诸如节点添加或故障)和AI超参数的不同配置项可以被调整以定制(例如,优化)代理模型,诸如通过策略服务324。训练服务325可用于在不同场景中训练AI代理。流量分类服务326可以促进智能流量和应用程序指纹识别以在训练场景中使用。训练***320可以驻留在网络控制***315的本地环境之内或之外,因为训练可以从网络控制中抽象出来。在一些实施方案中,训练服务325可以从网络控制***315接收用于训练的模糊元数据,诸如当由策略规定时。
在若干实施方案中,网络控制***315可以允许受训练的AI代理与SDN模型中的网络节点(诸如计算机网络节点330)集成。计算机网络节点330中的节点可以包括供应商控制的或开源的软件,并且可以支持网络控制***315使用的SDN协议。网络控制***315可以包括AI代理路由服务316、控制服务317和/或监视服务318。AI代理路由服务316可以包括可以被训练来为计算机网络节点330做出路由决策的AI代理。控制服务317可以是SDN控制器或集群,其中SDN控制器可以直接托管一个或多个代理,分散的分层代理可以跨多个控制器托管,或者完全分布式的代理可以跨节点托管,如图7所示并在下文描述。在AI代理不可用和初始训练的情况下,代理可以使用非AI路由技术,诸如最短路径转发(SPF)。代理可以响应来自计算机网络节点330中的参与节点的路由请求,和/或可以在请求之前主动地对本地节点路由条目进行编程。网络状态,包括拓扑、邻接、流量和性能数据,可以经由监视服务318来观察。监视服务318可以处理和存储状态以用于代理推理、未来的AI训练和可审计性。网络控制***315可以支持应用程序可编程接口(API),用于其自身与用户界面***310和/或训练***320之间、网络控制***315内其组件之间、其自身与计算机网络节点330中的节点之间的编程交互,以及/或用于编程管理员访问。
在许多实施方案中,用户界面***310可以允许用户与训练***320和/或网络控制***315交互。用户界面***310可以包括图形用户界面(GUI)服务311、视图服务312、模型服务313和/或管理服务314。GUI服务311可以实现***和组件管理、AI训练和模型管理。用户可以通过视图服务312查看设置并通过管理服务314控制设置以更新在模型服务313中运行的模型。用户界面***310可以允许直接配置RL奖励以使用声明性网络策略来训练AI网络,从而提供基于意图的网络。
在多个实施方案中,用户界面***310可以从网络控制***315和/或训练***320读取状态信息。用户界面***310可以向训练***320提供建模信息和/或可以向网络控制***315提供管理。训练***320可以从网络控制***315读取状态信息,并且可以向网络控制***315提供更新。
用户界面***310、网络控制***315和/或训练***320的服务可以是存储在在一个或多个处理器上操作的非暂时性计算机可读介质处的计算指令的模块(例如,软件模块)。在其他实施方案中,用户界面***310、网络控制***315和/或训练***320的服务可以硬件或硬件和软件的组合来实现。下面更详细地描述关于用户界面***310、网络控制***315和/或训练***320及其服务的附加细节。
训练
训练***320可以提供稳健的环境来开发、训练、测试和/或验证网络控制***315使用的AI模型。训练***320可以经由API通过用户界面310来管理。训练***320不需要专门的硬件来运行,但是可以通过高性能和并行计算(包括图形处理单元(GPU)和FPGA)来提高其效率。
继续看附图,图4示出了强化学习模型400的框图。RL模型400仅仅是示例性的,并且RL模型的实施方案不限于本文中呈现的实施方案。训练***320(图3)可以使用强化学习,诸如RL模型400,作为AI模型训练方法。RL允许训练诸如神经网络模型431的模型,而无需规定模型应如何运作。该模型可以经由RL训练情景(诸如情景410)内的代理进程进行学习。AI代理(诸如代理430)在情景(例如,410)内采取一系列动作(例如,动作421),称为步骤(例如,步骤420)。每个动作(例如,421)可以通过对环境440(例如,计算机网络的训练或现场环境)的状态432和预期奖励(例如,奖励423)的观察来通知。可以在动作(例如,421)之前和/或之后进行观察(例如,观察422)以向代理430提供关于其有效性的反馈。观察(例如,422)可以利用采样技术来提高性能效率。代理430的动作最终可以寻求实现由策略或价值决定的最佳奖励函数以追求训练目标。在整个训练情景(例如,410)中寻求最佳奖励,并且该最佳奖励不会被限制在一个步骤(例如,420)内,从而允许AI模型在其动作中使用预见。训练信号θ指示情景中某个步骤的开始,表明代理可以查看观察并采取动作。
作为一个简单的示例,动作(例如,421)可以是选择路由通过公共互联网或通过MPLS(多协议标签交换)网络。环境440的一个或多个观察(例如,422)可以包括链路标识符、当前带宽和网络中的可用带宽,并且此类状态信息可以存储在状态432中。奖励(例如,423)可以为各种动作分配奖励分数,诸如使用MPLS的分数为1,其中有保证成功,使用具有足够带宽的公共互联网的分数为3,使用带宽有限的公共互联网的分数为-2,以及网络错误的分数为-5。
代理430的动作可以通过奖励优化与探索的权衡来定义。例如,通过网络的最短路径可以提供最佳奖励,但代理在尝试了多种潜在路径之前无法知道最短路径。基于价值和策略的算法可以通过不同的形式实现这一结果。
基于策略的模型寻求使用策略函数π生成轨迹τ以最大化目标J(τ)。策略函数使用状态s来产生动作a~π(s)。基于策略的算法包括诸如策略梯度的模型。
基于价值的模型经由状态Vπ(s)或状态-动作对Qπ(s,s)学习价值。Q方法往往更有效,并且在RL背景下被称为Deep-Q强化学习。诸如Actor Critic和Proximal PolicyOptimization(PPO)的算法可以将价值模型和策略模型结合起来,义进一步增强训练能力。
在许多实施方案中,***300(图3)可以允许根据定义的目标:基于价值、基于策略或其组合,经由用户界面***310选择和实现用于神经网络训练的不同RL算法。对于复杂的目标,诸如网络区域内的不同微观目标或非常大的网络,可以使用分层强化学习(HRL)方法。
继续看附图,图5示出了分层强化学习模型500的框图。HRL模型500仅仅是示例性的,并且HRL模型的实施方案不限于本文中呈现的实施方案。HRL模型500可以与RL模型400(图4)相似,并且可以包括多个相同的方面,但存在一些差异。例如,代理430(图4)可以被替换为代理530,该代理可以包括用于在状态532上操作的一组子策略533(例如,从1到n)和主策略534的神经网络模型531,以产生动作535。
在许多实施方案中,HRL模型500可以实现单独的RL代理(例如,530)和/或可以选择适当的RL训练算法来支持宏观目标。与路由域类似,可以通过管理方式定义分层代理域。另外,可以通过聚类AI智能地定义分层域,诸如通过k均值和分层算法聚类(HAC),其可以考虑节点之间的关系的强度和接近度。
HRL(例如,HRL模型500)可以提供训练有效性之外的附加模型益处。例如,HRL方法可以与分散或分布式部署模型(如图13中所示并在下面描述的)组合以允许网络控制***315(图3)内的多个AI路由代理。在分散式模型中,可以基于聚类的节点区域部署一个父代理和多个子代理,类似于针对不同的路由域具有单独的本地路由进程。在分布式模型中,参与节点可以在整个网络中运行本地训练代理。
数字孪生
继续看附图,图6示出了根据一个实施方案的可用于AI定义的网络的***600的框图。***600仅是示例性的,并且***的实施方案不限于本文呈现的实施方案。该***可用于本文未具体描绘或描述的许多不同实施方案或示例中。在一些实施方案中,***600的某些元件、模块或服务可以执行各种过程、进程和/或活动。在其他实施方案中,过程、进程和/或活动可以由***600的其他合适的元件、模块或服务来执行。
在许多实施方案中,在AI定义的网络解决方案中,RL算法可用于训练AI模型以支持网络路由。AI代理从其观察状态并针对其采取动作的AI环境可以是被称为数字孪生的模拟网络拓扑,诸如在训练***620内模拟的数字孪生622。训练***620可以与训练***320(图3)相似或相同,并且训练***620的各种元素可以与训练***320(图3)的各种元素相似或相同。数字孪生622可以由数字孪生服务提供,诸如数字孪生服务322(图3)。
数字孪生622可以是真实的物理计算机网络的功能表示。例如,数字孪生622可以是实时网络601的模拟表示。实时网络601可以包括网络控制***615和计算机网络节点630。网络控制***615可以与网络控制***315(图3)相似或相同,并且网络控制***615的各种元素可以与网络控制***315(图3)的各种元素相似或相同。例如,网络控制***615可以包括控制器617和监视器618。控制器617可以与控制服务317(图3)相似或相同,并且监视器618可以与监视服务318(图3)相似或相同。计算机网络节点630可以与计算机网络节点330(图3)相似或相同,并且可以包括诸如路由器和交换机的节点以及这些节点之间的链路。
在许多实施方案中,数字孪生(例如,622)可以与合成网络流量一起被实例化以创建更真实的训练场景。数字孪生网络还可以作为训练环境改变,以创建诸如交换机离线的训练场景,以实现AI模型的强大训练能力。涉及环境偏差的训练场景可以手动指定,也可以使用诸如元强化学习的方法自动定义。
继续看附图,图7示出了元强化学习模型700的框图。元RL模型700仅仅是示例性的,并且元RL模型的实施方案不限于本文中呈现的实施方案。元RL模型700可以与RL模型400(图4)相似,并且可以包括多个相同的方面,但存在一些差异。例如,环境偏差集750可以包括环境,诸如环境751-754,其是模拟实时网络601(图6)的环境440的变体,诸如没有某些节点、具有附加节点、没有某些链路、具有附加链路等。环境440可以替换为环境偏差集750中的环境之一,以跨环境偏差集750中的变体训练AI模型431。
返回到图6,数字孪生622可以手动或自动生成。手动创建可以通过用户界面***310(图3)来执行,并且可以包括对自动创建的数字孪生环境的手动调整。用于构建数字孪生的拓扑可以保存在***300(图3)中的数据库中,以允许在过去、现在和期望的未来状态之间进行比较。
通过自动化构建数字孪生(例如622)可以从捕获运营网络的拓扑开始。拓扑发现可以由网络控制***615执行。发现可以涉及将所有参与网络节点(例如,630)注册到诸如SDN控制器服务的中央机构,以定义网络域。每个注册节点的详细信息可以收集到数据库中,包括元数据,诸如软件版本控制和硬件能力。然后,注册的节点可以请求并报告邻居邻接关系和链路状态,并且它们的响应可以记录在同一拓扑数据库中。所得到的信息可以允许网络控制***615构建网络拓扑的逻辑表示并确定自上次拓扑发现以来是否发生了任何改变。拓扑改变事件可以触发发现请求,以及按时间间隔进行的连续发现工作。可以评估网络的先前拓扑捕获以确定是否对网络进行了任何重大改变,这可以指示是否对路由代理进行完整或增量更新。
一旦网络控制***615已经捕获并存储网络拓扑,并且确定已经发生改变,则新的拓扑可以由网络控制***615和训练***620两者使用。网络控制***615可以利用所发现的拓扑数据来计算基于回退最短路径优先(SPF)的路由并通知训练的AI模型的动作空间,如下所述。训练***620可以单独访问拓扑数据以构建将成为RL训练环境的数字孪生。
训练***620可以访问所存储的网络拓扑数据以在网络模拟器中构建网络的有限代表性模型,其中实际模拟不包括网络及其配套基础设施的所有方面,而是包括与训练目标相关的方面。该模拟可以支持核心路由、转发和状态报告机制,例如可以在不完全复制节点(例如630)的操作***的情况下对其进行模拟。数字孪生模拟可以根据训练目标支持附加功能,诸如利用在模拟中执行离散动作(服务器、防火墙等)的虚拟设备。有限的表示还可以允许数字孪生在模拟上下文中利用比例尺。例如,真实网络可包括所有交换机之间的10兆比特每秒(Gbps)链路,但该网络的数字孪生模拟可包括使用1:100比例尺的100兆比特每秒(Mbps)链路。可以利用该技术来减少用于数字孪生和流量生成子***的计算资源。
其基本形式的数字孪生(例如,622)可以支持与网络控制***615内存在的相同***的模拟。由于网络控制***615使用SDN控制器(例如,617)和监视器(例如,618),控制器和监视器可以与网络节点(例如,630)一起在数字孪生(例如,622)内进行模拟以用于训练目的。此设置允许RL训练来观察状态并采取与将部署训练模型的实时网络相同的动作。
一旦建立了准确的数字孪生规范,就可以将其存储起来,以供RL训练环境的数字孪生模拟器将来使用。数字孪生模拟器可以充当RL训练过程的环境,其可以在RL训练情景开始时被实例化。在许多情况下,可以使用前面描述的有限表示和扩展技术以及诸如计算机聚类和扩展的并行处理技术立即打开整个数字孪生模拟器。
流量生成
在代表性数字孪生上训练RL路由模型可以允许AI学习适用于现实世界拓扑的行为。可以将合成网络流量注入RL训练情景中以改进模型,使得其可优化现实场景中的决策。
生成合成流量(例如,使用网络流量服务323(图3))可以允许AI定义的网络解决方案在多种场景上进行训练。合成流量可以在数字孪生模型中生成,用于RL代理动作和奖励中的直接训练使用,或者作为与合法训练流量竞争的流量的噪声。生成的合成流量可以是来自模型的实际同类流量,也可以是模糊的(即实际更改的)以避免过度拟合训练模型。模糊流量可以通过与原始模型的微小偏差(例如,将流量增加10%)、蒙特卡罗等采样技术或通过更智能的生成方法(例如,通过生成对抗网络(GAN))来创建。
流量模型可以根据监视***捕获的历史数据或通过人员或过程定义的声明性模型来构建。为模型提供数据的合成流量本质上可能是良性的,也可能是有害的,无论是有意还是无意。有害流量可以允许RL训练针对恶意行为和不良降级场景提供强大的保护。总之,下面的表1显示了合成流量的分类类型。
表1
经由集成在数字孪生环境中的生成工具,可以将各种类型的合成流量注入到RL训练情景或情景内的步骤中。情景级别的流量生成可以允许持续说话者在整个训练过程中存在,诸如持续不断的竞争背景噪声。特定于某个步骤的流量生成可以关于当前的动作来生成,诸如做出友好的流量路由决策或停止对抗性流量攻击。
合成流量可以经由流量简档应用于模型,流量简档可以定义训练内的一组行为。具体而言,流量简档可用于将流量数据转换为可由合成流量生成工具使用以在训练期间应用的指令。流量简档可以手动或自动生成。自动生成的流量简档可以根据需要进一步手动细化。可以通过捕获、存储和分析现实世界的流量状况来生成自动流量简档。图8中示出了流量简档的创建和使用的示例,并在下文描述。
继续看附图,图8示出了根据一个实施方案的用于使用用户界面***810来创建和使用流量简档的方法800的流程图,以及网络控制***815和训练***820中的相关联的数据流。方法800仅是示例性的并且不限于本文呈现的实施方案。方法800可用于本文未具体描绘或描述的许多不同实施方案或示例中。在一些实施方案中,方法800的过程、进程和/或活动可以按照所呈现的顺序来执行。在其他实施方案中,方法800的过程、进程和/或活动可以以任何合适的顺序执行。在又其他实施方案中,可以组合或跳过方法800的过程、进程和/或活动中的一者或多者。
用户界面***810可以与用户界面***310(图3)相似或相同,并且用户界面***810的各种元素可以与用户界面***310(图3)的各种元素相似或相同。网络控制***815可以与网络控制***315(图3)相似或相同,并且网络控制***815的各种元素可以与网络控制***315(图3)的各种元素相似或相同。网络控制***815可以包括实时网络830和监视器818。实时网络830可以与计算机网络节点330(图3)、实时网络601(图6)和/或计算机网络节点630(图6)相似或相同。监视器818可以与监视服务318(图3)和/或监视器618(图6)相似或相同。训练***820可以与训练***320(图3)相似或相同,并且训练***820的各种元素可以与训练***320(图3)的各种元素相似或相同。训练***820可以包括数字孪生822。数字孪生822可以与数字孪生622(图6)相似或相同。
在多个实施方案中,如图8所示,方法800可以开始于监视器818的流量收集活动831,该监视器可以从实时网络830收集实时流量。收集到的流量可以被存储为历史流量,以供将来的训练使用。接下来,方法800可以包括用户(例如,350(图3))采用用户界面***810来执行选择历史流量以在训练中使用的活动801。接下来,方法800可以包括将所选择的历史流量从网络控制***815中的监视器818转移到训练***820中作为原始流量数据833的活动832。接下来,方法800可以包括用户采用启用“模糊”重播选项的用户界面***810的活动802,该活动可以指示用户期望流量生成相对于实际收集的流量有一些变化。方法800可以继续预处理原始数据的活动834和GAN流量变换的活动835以基于原始流量数据833执行合成流量的模糊生成。方法800可以继续进行发布作为处理后的流量数据837生成的合成流量的活动836。接下来,方法800可以包括转换处理后的流量数据以创建可以由生成工具使用以在训练期间应用的指令839的活动838。接下来,方法800可以包括将这些指令发布为流量简档841的活动840。方法800可以继续用户采用用户界面***810来选择用于训练的流量简档(例如,从已经创建的多个流量简档中)的活动803。接下来,方法800可以包括训练***820加载所选择的流量简档(例如,841)以生成合成流量843的活动842。方法800可以继续进行用户采用用户界面***810来发起对数字孪生822的模型训练的活动804,并且方法800可以继续进行将合成流量843注入到数字孪生822中以训练RL模型的活动844。
为了捕获网络流量,诸如在活动831中,可以在实时网络830的参与节点上实现收集器,作为网络上的分接头,或者通过流量收集服务。收集器可以报告有关流量的所有数据,但更常见的是向中央监视器报告有关流量的元数据。收集器和监视器还可以支持汇总(诸如在一段时间内收集的数据)和采样技术。流量捕获可以按定期采样间隔或根据请求连续进行。流量捕获被视为时间序列数据,并且可以由监视器存储在数据库中。
一旦流量数据被收集和存储,其就可以被网络控制***815和训练***820访问。网络控制***815可以利用流量数据来实现性能和可审计性目的。训练***820可以使用流量数据来创建可以注入到数字孪生训练环境中的合成流量流,如上所述。
流量捕获方法可取决于AI定义的网络解决方案的状态。如果RL路由代理已经过训练,其可以用作网络的主要路由机制。模型发布后可以捕获网络流量,用于模型质量控制和未来的增强。如果RL路由代理尚未经过训练,但实施了AI定义的网络解决方案,则可以捕获网络流量以进行代理训练。同时,网络可以运行更直接的机制,诸如SPF。替代地,在AI定义的网络解决方案实现之前,可以提前实现流量收集器能力,以便在实现之前向模型提供训练数据。此能力可以允许客户在实现完整的AI定义的网络解决方案之前开始针对其目标网络拓扑训练AI代理。
可扩展性
在非常大或复杂的场景中,在大型模拟环境上训练的计算开销可能会导致扩展问题。在这些情况下,可以利用各种新方法来减少用于训练的计算资源。AI定义的网络解决方案可以利用可扩展性技术,诸如数字孪生和合成流量模拟中的“渲染”和“缩减”,如下所述。
渲染可能涉及在给定时间模拟部分环境而不是整个环境。与视频游戏中在玩家在地图中前进时渲染的视觉概念类似,渲染可以允许模拟在特定的情景步骤期间显现与训练中代理的观察空间相关的自身部分。渲染可以应用于数字孪生的网络拓扑(例如,实例化的节点的数量)和/或流量生成(例如,那些渲染的节点之间的流量)。渲染距离,或者从代理的角度观察到的训练环境可见距离,可以经由静态管理距离或相关算法来定义。距离相关算法可以根据观察与动作的相关性来确定距离范围,这可以是算法的可配置属性。经由渲染使用有限的镜头模拟,可以更有效地训练代理,同时保持训练的完整性。
继续看附图,图9示出了根据一个实施方案的使用分层算法聚类(HAC)进行渲染的方法900的流程图。方法900仅是示例性的并且不限于本文呈现的实施方案。方法800可用于本文未具体描绘或描述的许多不同实施方案或示例中。在一些实施方案中,方法900的过程、进程和/或活动可以按照所呈现的顺序来执行。在其他实施方案中,方法900的过程、进程和/或活动可以以任何合适的顺序执行。在又其他实施方案中,可以组合或跳过方法900的过程、进程和/或活动中的一者或多者。方法900可以在训练***(例如,训练***620(图6))上运行的大型数字孪生模拟(例如,数字孪生622(图6))上执行。
在多个实施方案中,如图9所示,方法900可以开始于观察关于物理网络的网络信息的活动910。网络信息可以包括网络拓扑、流量信息和/或物理网络中的链路和节点之间的关系。通过网络的动态发现或经由用户界面***310(图3)的人为配置的拓扑,渲染过程可以访问网络拓扑。管理员可以选择保存的网络拓扑来启用训练渲染,这可以通过训练设置来启用渲染。在训练过程中,可以将目标拓扑设置为初始RL环境训练空间。例如,可以观察到训练网络911。然而,当训练开始时,并不是所有的网络节点和链路都立即被模拟。相反,可以利用HAC聚类方法来确定在训练情景中的哪个点打开哪些对象。
在若干实施方案中,方法900可以继续进行活动920或确定集群。层次算法聚类算法可以在训练开始之后、执行第一步之前执行。HAC过程可以首先识别网络内的节点和链路,以及这些节点和链路之间的关系强度以进行一阶聚类。关系强度主要受节点接近度(例如,节点在逻辑上彼此之间有多近)、连接频率和数量(例如,节点之间发送流量的频率以及发送量)、地理接近度(例如,节点在世界上的物理距离有多近)、链路速度和/或节点之间的延迟的影响。例如,训练网络911可以包括一阶集群922-926。HAC聚类的结果可以是一组节点以及它们之间的依赖关系。
获得初始集群定义后,可以确定集群内的关系和依赖性。可以通过相似的邻近度、频率、数量和/或性能指标,根据彼此之间的关系强度对集群进行有效分组。与简单地聚类一阶集群相比,HAC中的另一个概念是关系依赖性的想法。捕获了一阶集群关系,但这些关系的性质也很重要。例如,美国西部的两个数据中心可能是各自独立的一阶节点和链路集群。二阶分层集群可以包括这两个西部数据中心对象,而来自美国东部的数据中心存在不同的集群。多个一阶集群可以存在于二阶集群中,并且可以共享对二阶集群的依赖性。在该示例中,本地数据中心最终可以共享区域之间的专用通信链路。例如,训练网络911可以包括二阶集群927和二阶集群928,二阶集群927包括一阶集群923和924,二阶集群928包括一阶集群925和926。
在多个实施方案中,方法900可以继续确定集群的层次结构的活动930,诸如层次结构931中的集群932-936。集群932-936可以分别对应于一阶集群922-926。二阶集群927可以由层次结构931中的集群933和934的分组来表示。二阶集群928可以由层次结构931中的集群935和936的分组来表示。
在若干实施方案中,方法900可以继续确定动作和观察空间的活动940。对于每个训练步骤,训练过程可以确定哪些对象集群与该步骤相关。在若干实施方案中,方法900可以继续渲染用于训练步骤的数字孪生的活动950。对于每个训练步骤,训练过程可以模拟与步骤相关的对象集群。例如,如果两个聚类区域与训练步骤的动作空间强相关,则可以为训练步骤“打开”或启用这两个区域内的节点,从而启用其相关联的链路。如图9所示,可以选择包括一阶集群925和926的二阶集群928来进行模拟渲染。该选择可以基于一阶集群916中的主机尝试在特定训练步骤中与一阶集群915中的主机通信以从源941到目的地942进行通信。不启用与训练步骤具有低相关性的集群(例如,一阶集群922-924),这可以显著减少用于模拟的计算资源的使用。未启用的集群仍然可以提供对环境的观察,诸如向已启用的集群注入流量,但这可以通过集群边界处的汇总而不是直接模拟来完成。HAC算法的输出可以是节点和链路的集群,以及集群关系,其用于在分层强化学习中的训练和域定义中呈现决策。
另一种可扩展性技术可以包括缩减。缩减可以涉及通过比例尺来减少用于模拟的计算资源。比例尺可以通过模拟网络的能力与实时网络能力的比较来定义。例如,模仿实时100千兆位每秒(Gbps)物理网络的所有其他方面(速度除外)的用于训练的1Gbps模拟网络的比例尺将是1:100。为了实现扩展,配置的数字孪生的互连可以设置为实时网络速度的1/100,模拟中的合成流量也是如此。此方法可能涉及根据比例对训练场景进行一些调整,因为网络协议的元素可能会随着配置的速度而变化。缩减方法适合减少用于数字孪生训练场景的计算资源。缩减可以单独使用,也可以与渲染结合使用。在较小的数字孪生模拟中,缩减可以在不使用渲染的情况下提供足够的计算节约。
渲染和缩减可以减少用于运行训练模拟的计算资源,但并不直接帮助大型部署环境的AI定义的网络解决方案的可扩展性。在大型部署环境中,训练部分中描述的分层强化学习方法可以提供可扩展性和/或可以与应用于模拟的相同HAC聚类相结合。该技术允许在路由域之间以联合方式训练和分配经过训练的代理。
训练场景
在若干实施方案中,通过组合数字孪生网络拓扑、合成流量生成和AI策略的元素,可以创建RL情景来训练用于路由的AI模型。这些元素的组合可以考虑到训练场景。训练场景可以类似于合成流量生成场景,因为它们可以体现多种类型的正面和负面条件。正面条件可以包括引入新的主机或网络节点、提高吞吐量或对网络条件有利的其他改变。负面场景可以包括分别经由故障条件或不良行为者攻击而无意或有意降低网络性能。
在一些实施方案中,AI定义的网络解决方案可以利用自定义训练场景来避免过度拟合训练模型和/或针对用户特定需求定制AI代理训练。在多个实施方案中,训练场景可以旨在解决业务问题。训练场景可以被配置为复制正常的操作更改条件,包括添加或删除节点。替代地,训练场景可以反映意外的变化,诸如不良行为者攻击或复杂的故障条件。这些选项可以通过用户界面***310(图3)来定义。在一些实施方案中,训练场景可以包括允许管理员在变化实现之前模拟变化。此特征可以允许AI定义的网络解决方案在解决方案安装或更改之前进行预训练。其还可以允许管理员重播历史事件以进行故障排除和/或优化。
从管理角度定义未知的退化场景可能具有挑战性。在若干实施方案中,AI定义的网络解决方案可以通过使用自主场景编程来解决这个问题。例如,退化场景可以经由其影响的大小来定义。高影响场景可包括网络中因意外或故意而发生的多个重复节点故障。低影响场景可包括单个可恢复的故障,诸如正常操作导致的链路退化。无论选择哪种场景,管理员都不需要定义每个条件。环境退化本质上可以是用户定义的或自动化的。自动化可以包括预定义场景的综合复制,包括指纹安全攻击、历史事件和流量简档。
在许多实施方案中,训练场景可以包括基于策略优化场景的能力。在这种情况下,策略可以是可以应用于网络行为规范的业务策略,如通过用户界面***310(图3)配置的奖励所定义的。奖励可以是数字,其描述整个训练场景中RL代理过程的结果是正面还是负面。由用户界面***310(图3)定义的策略可以被映射到在训练AI代理时使用的奖励。策略示例可以包括业务目标,诸如优化视频流量、确保某些应用程序始终可用、遵守政府政策、防止攻击或其他合适的策略。策略到奖励映射的示例如下表2所示。
表2
应用程序感知
AI定义的网络解决方案可以为开放***互连(OSI)层2-4的网络流量提供强大的本机训练能力。这是由于基于流的AI训练,包括源/目的地地址和流量类型,通常源自数据包标头中的层4端口和/或协议规范。然而,当利用智能应用程序分类方法时,AI定义的网络解决方案内的流量捕获和生成能力可以提供OSI层4之上的强大能力。
可以通过对源自网络控制***315(图3)的流量数据的指纹技术来执行智能应用程序分类,这可以超越简单的流识别。识别可以从流量收集、深度数据包检查、行为分析(诸如流量大小和频率)和/或使用专用代理的基于主机的报告中获取观察。识别可以以半监督的方式进行,从而允许监督和无监督学习方法。分类可以是监督的或无监督的。可以对已知应用程序的先前训练的识别模式执行无监督分类。监督分类可涉及人员确定应用程序的身份和标签以及元数据。结合起来,半监督方法可以允许从已知应用程序的模型发起分类,其中管理员能够覆盖应用程序的初始分类和相关联元数据。
AI定义的网络解决方案内的应用程序识别可以利用应用程序分层方法。应用程序层可以表示更广泛的应用程序的组件,可以独立于应用程序来识别该组件。例如,典型的三层应用程序可包括网络服务器前端、由网络服务器访问的应用程序,以及支持应用程序和网络服务器的数据库后端。所有三个组件或层都包括接收其自己的分类的应用程序标识。本示例中的每一层网络、应用程序和数据库都是单独的层标识,该标识既独立分类又与应用程序标识相关地进行分类。
继续看附图,图10示出了根据一个实施方案的用于应用程序和层分类的方法1000的流程图。方法1000仅是示例性的并且不限于本文呈现的实施方案。方法1000可用于本文未具体描绘或描述的许多不同实施方案或示例中。在一些实施方案中,方法1000的过程、进程和/或活动可以按照所呈现的顺序来执行。在其他实施方案中,方法1000的过程、进程和/或活动可以以任何合适的顺序执行。在又其他实施方案中,可以组合或跳过方法1000的过程、进程和/或活动中的一者或多者。
在多个实施方案中,如图10所示,方法1000可以开始于数据收集,例如收集流数据的活动1010。可以使用网络控制***315(图3)的监视服务318(图3)来收集流量流数据,如计算机网络节点330(图3)的每个节点所报告的。流量数据可以包括源地址、目的地地址和/或协议字段。基本流量标识可以从流内的协议数据导出,这可以允许简单的流量标识。流的源字段和目的地字段可以允许进一步检查与流量关联的模式,该模式可用于帮助通过神经网络确定潜在的层标识。例如,使用众所周知的数据库访问端口一致地从多个主机发送到单个主机的流量可指示与该流标识匹配的流量可能是候选应用程序层。
当报告流量数据时,诸如在活动1011和1012中,可以任选地通过基于主机的识别方法来增强流量数据。若干网络设备制造商提供具有嵌入式指纹识别机制的本地应用程序或流量识别,诸如通过深度数据包检测(DPI),其可以在活动1011中收集。如果AI定义的网络内的节点可以使用这种支持,那么它报告的流数据可以包括可直接用于构建候选应用程序层的分类信息。流量数据还可以与各种网络管理解决方案相关,诸如配置管理数据库(CMDB),其可以提供用于应用程序和/或层识别的附加信息,其可以在活动1012中收集。例如,CMDB可以包含与流中的地址相关联的应用程序或服务的识别信息,该信息可以由应用程序识别机制查询以包括在识别机制中。
一旦通过一个或多个流量收集源识别出模式,它就可以在活动1015中被存储为潜在应用程序层列表中的候选者。然后可以在活动1040中检查每个候选层以确定层分类。层分类机制可以通过自动化过程开始,其中可以将候选者与先前分类的应用程序或层标识进行比较。由于先前分类的应用程序将流模式视为识别的维度,因此匹配可以基于概率相关性,而不是基于确定性相关性。如果发现与已知应用程序匹配,则可以在活动1045中相应地标记候选层。如果未找到匹配或先前相关性的可能性较低,则可以对候选层进行标记以进行管理定义。然后,在活动1031中,管理员可以对层进行标记和/或可以覆盖初始分类标签。分类标签和关系识别还可以包括关于数据的元数据,诸如应用程序或层的描述。可以以类似的方式导出层和应用程序之间的关系。例如,可以在活动1032中基于已知应用程序的现有源来使用手动标记,之后可以执行训练已知应用程序标识和分类的活动1033,随后执行为已知应用程序生成已建立模型的活动1034,该已建立模型可以用在确定层标识和分类的活动1040中。
在某些网络架构中,有可能收集超出流量报告机制中可用的流量数据的额外流量数据。具体来说,如果网络架构利用向监视设备报告完整的流量重放(包括数据字段),则可以执行DPI以超越典型的流元数据。DPI可以允许对完整数据报进行模式分析和识别,而不仅仅是来自流量的元数据。为了从网络的中心点执行DPI,AI定义的网络解决方案可以对流量应用类似的识别和分类机制,但还可以使用神经网络检查数据包内容,以识别数据报中与应用程序或层一致的模式。AI定义的网络解决方案可以在活动1020中可选地使用该架构中的外部收集和识别服务,和/或可以使用服务的建议分类作为预期应用程序或层候选的维度。
一旦被识别和分类,可以在活动1050中创建应用简档以用于活动1055中的AI代理训练。应用简档可以包括用于生成流量简档的指令,该流量简档本身包含用于将合成流量注入数字孪生的指令。应用简档可以与流量简档不同,因为应用简档可以包括应用程序的行为特征,诸如依赖于应用程序的层的流量中的操作顺序。在用户通过后续数据库调用访问网络应用程序的示例中,应用简档将定义用户到网络应用程序的流量,然后定义网络应用程序到数据库的流量,用作作为后续时间序列流量活动填充到流量简档的单独动作。然后后续流量简档可在合成流量生成服务中用作支持业务规范的训练或噪声流量。该方法可以允许专门针对应用程序的性能来配置训练场景,包括可以通过用户界面***310(图3)定义的每个应用程序的奖励。
继续看附图,图11示出了根据一个实施方案的用于使用用户界面***1110来训练具有应用简档的数字孪生1122的方法1100的流程图,以及训练***1120中的相关联的数据流。方法1100仅是示例性的并且不限于本文呈现的实施方案。方法1100可用于本文未具体描绘或描述的许多不同实施方案或示例中。在一些实施方案中,方法1100的过程、进程和/或活动可以按照所呈现的顺序来执行。在其他实施方案中,方法1100的过程、进程和/或活动可以以任何合适的顺序执行。在又其他实施方案中,可以组合或跳过方法1100的过程、进程和/或活动中的一者或多者。
用户界面***1110可以与用户界面***310(图3)相似或相同,并且用户界面***1110的各种元素可以与用户界面***310(图3)的各种元素相似或相同。训练***1120可以与训练***320(图3)相似或相同,并且训练***1120的各种元素可以与训练***320(图3)的各种元素相似或相同。训练***1120可以包括数字孪生1122。数字孪生1122可以与数字孪生622(图6)相似或相同。
在多个实施方案中,如图11所示,方法1100可以开始于训练***1120执行应用程序识别的活动1131,这可以与上面所描述的相似或相同。接下来方法1100可以包括发布应用程序识别的活动1132,其可以在应用程序分类的活动1133中使用。接下来,方法1100可以包括用户(例如,350(图3))采用用户界面***1110来执行选择用于训练的应用程序的活动1101,随后是选择用于训练场景的应用简档的活动1102。方法1110可以包括训练***1120使用所选择的应用简档的活动1134。接下来,方法1100可以包括转换应用简档以创建可以由流量生成工具使用以在训练期间应用的指令1136的活动1135。接下来,方法1100可以包括将这些指令发布为流量简档1138的活动1137。接下来,方法1100可以包括训练***1120加载流量简档以生成合成流量1140的活动1139。方法1100可以继续进行用户采用用户界面***1110来发起对数字孪生1122的模型训练的活动1103,并且方法1100可以继续进行将合成流量1140注入到数字孪生1122中以训练RL模型的活动1141。
安全与分段
在许多实施方案中,用于训练AI定义的网络解决方案的RL方法可以使其自身具有除网络路由之外的更大应用。例如,网络控制***315(图3)对网络动作和观察的可见性可以允许训练包括适用于安全性的非路由方面。例如,RL路由代理可以因正确缓解基于网络的攻击(诸如拒绝服务攻击)而获得奖励。
AI定义的网络解决方案可以通过其基于策略的奖励功能进行针对不良行为者攻击的训练。声明性管理策略可以允许对代理训练进行奖励,以包括安全重点,诸如防止攻击。这种方法可以允许AI定义的网络解决方案针对攻击提供主动和/或强大的保护,否则在传统网络中需要进行大量配置。在其他AI定义的网络组件的背景下,针对不良行为者攻击的训练可以与应用感知训练类似地进行,但目标相反。AI代理可以优化不良行为者攻击的缓解。这种训练可以允许AI定义的网络解决方案实时响应攻击、快速适应和/或最大限度地减少对网络的影响。
针对不良行为者攻击的训练可能涉及AI定义的网络解决方案内的额外自动化组件。自动攻击服务(例如渗透测试)可以用于训练场景中的数字孪生训练环境,并使用路由后监视机制来确定攻击成功或失败并向训练中的代理提供奖励反馈。当缩减为数字孪生内的单节点网络时,此功能可以充当可以为网络提供增强的保护的防火墙或入侵防御服务(IPS)。应用于多节点网络,网络本身可以被训练以提供类似的安全机制。
在若干实施方案中,管理策略还可以被并入安全模型中以允许分段。分段可以支持安全概念,即某些端点不应直接相互通信,或者在某些情况下不应通过同一路径进行通信。可以经由默认开放或默认关闭方法的训练中的定义将分段合并到AI定义的网络解决方案中。在默认开放的方法中,所有流量都可以到达RL代理训练中的所有目的地,并且RL代理可以优化路径选择。为了使流量分段,可以实施特定的策略,该策略定义对允许某些主机之间或跨某些路径的通信的严重负面奖励。在默认关闭的方法中,训练场景可以为所有通信配置严重的负面奖励,诸如低于某个负面阈值的奖励,这可以有效地创建通用分段。为了允许端点进行通信,可以为端点组合定义正面奖励。
数据和模型管理
继续看附图,图12示出了AI模型生命周期1200的框图。AI模型生命周期1200仅仅是示例性的,并且AI模型生命周期的实施方案不限于本文中呈现的实施方案。AI模型生命周期1200可以包括策略1220,诸如业务策略1221、网络策略1222、安全策略1223、应用策略1224和/或操作策略1225。AI模型生命周期1200还可以包括拓扑建模1210,其可以包括获得关于网络拓扑的信息1211、执行拓扑操纵1212以及生成拓扑模型1213。拓扑建模1210可以从策略1220接收输入以生成拓扑模型1213。AI模型生命周期1200还可以包括流量建模1230,其可以包括获得关于流量的信息1231、执行流量操纵1232以及生成流量模型1233。流量建模1230可以从策略1220接收输入以生成流量模型1233。AI模型生命周期1200还可以包括RL建模1240,其可以包括定义RL训练参数1242、定义RL情景设置1243以及生成RL模型1241。RL建模1240可以从策略1220接收输入以生成RL模型1241。AI模型生命周期1200还可以包括AI代理建模1250,其可以包括定义AI算法1252和AI参数1253,以及生成AI代理模型1251。AI代理建模1250可以从策略1220接收输入以生成AI代理模型1251以及模型评估信息1271,如下所述。
在多个实施方案中,策略1220可用于定义奖励1261,拓扑建模1210可用于定义训练环境1262,流量建模1230可用于定义合成流量1263,RL建模1240可用于定义情景1265,并且/或者AI建模1250可用于定义AI代理1264。奖励1261、训练环境1262、合成流量1263、AI代理1264和/或情景1265可以在训练场景1266中使用来训练AI代理1264。质量保证(QA)模型1267可用于评估经过训练的AI代理,其随后可被发布1268到生产模型1269以用于在真实网络上进行路由。来自质量保证模型1267和/或生产模型1269的性能信息可用于测量关键性能指标(KPI),其可被评估以进一步细化AI建模1250。
在许多实施方案中,AI定义的网络解决方案可以利用称为机器学习操作(MLOps)的方法来实现整个AI开发生命周期的可审计性、可见性和/或可再现性。MLOps方法可以在整个训练、测试、验证、部署和/或操作过程中将AI模型、代码和数据视为配置项(CI)。考虑到这些原则,AI定义的网络***的许多元素都可以被视为具有版本控制的独特CI。例如,从实时***发现的网络拓扑或流量模式可以是存储在数据库中的唯一对象。CI对象可以随时间更新以反映状态更改转换,同时维护更改之前和/或之后的状态记录。默认情况下,CI状态可以无限期存储,除非经由管理保留策略进行其他配置。
经训练的模型表示经测试、对照其他模型经验证和/或最终发布到网络控制***315(图3)的附加CI。模型的输入可以按时间序列进行跟踪并与模型相关,包括数字孪生训练环境简档、流量简档、训练场景、训练参数和/或训练目标。培训后活动,包括质量保证活动,也可以与模型相关。模型发布可以是训练***320(图3)的输出。对模型性能的连续监视可以从网络控制***315(图3)内提供已发布模型的质量保证,该网络控制***可以将KPI报告回训练***320(图3)。将MLOps概念应用于AI定义的网络解决方案可以允许已发布的AI模型进行持续评估和/或可以允许增量模型改进而无需完全重新训练。
网络控制
网络控制***315(图3)可以使得AI定义的网络解决方案能够在实时生产网络内实现经过训练的AI模型的优势。网络控制***315(图3)可以提供AI代理可以在没有直接用户交互的情况下控制网络的路由行为的机制。网络控制***315(图3)可以选择性地以集中式、分散式、分布式或混合方式来实现。环境内的路由可以基于由源/目的地地址和消息分类元组定义的流来进行。当节点做出路由或转发决策时,它可以在流级别执行此操作,从而允许在路径选择中以不同的方式处理不同的流量类型,诸如电子邮件和语音。
继续看附图,图13示出了网络控制***部署模型1300的框图,包括集中式网络控制***部署模型1310、分散式网络控制***部署模型1330和分布式网络控制***部署模型1350。网络控制***部署模型1300仅仅是示例性的,并且网络控制***部署模型的实施方案不限于本文中呈现的实施方案。
在若干实施方案中,集中式网络控制***部署模型1310可以利用集中式SDN控制器1311来促进路由决策,其可以包括中央代理和监视器。每个参与SDN节点1312可以维持到SDN控制器的管理连接。管理连接可以允许SDN控制器注册节点、对节点配置进行编程、提供路由指令、监视节点状态和/或以其他方式从中央机构管理网络。节点间路由决策可以经由SPF或AI代理推理等确定性方法在控制器级别确定。
在多个实施方案中,分散式网络控制***部署模型1330可以利用中央SDN控制器1331和本地SDN控制器1332-1334。中央SDN控制器1331可以包括中央代理和监视器。本地SDN控制器1332-1334可以在SDN节点的每个域内本地使用,诸如用于节点1335的本地SDN控制器1332、用于节点1337的本地SDN控制器1333以及用于节点1336的本地SDN控制器1334。中央SDN控制器1331仍然充当中央机构。AI代理模型可以在参与的控制器之间分层发布。具体来说,经过分层训练的AI代理可以作为特定路由域的联合代理在整个网络环境中运行。
在若干实施方案中,分布式网络控制***部署模型1350可以利用每个SDN节点(例如,1352)处的本地代理。例如,节点1352中的节点1353可以包括实现经过训练的AI模型的本地代理1354,并且其他节点1352中的每一个可以类似地包括相应的本地代理。部署到本地代理(例如,1354)的AI模型仍然可以由训练***320(图3)构建,并且可以发布到参与网络节点。在分布式网络控制***部署模型1350中,SPF计算也可以由训练***320(图3)构建并作为后备机制分布到节点。部署的路由模型可以作为应用程序运行在节点上,以在本地实现路由。不使用中央代理,但是可以使用中央监视器1351。
在许多实施方案中,观察可以保持集中于每个部署模型中的监视服务,因为即使在分布或分散时,网络的整体视图也可以用于做出智能路由决策。监视器服务本身可以是分层的,但最终允许在监视器之间复制状态观察。分布式节点可以查询监视服务以获取观察以确定最佳动作,就像分散模型中的分散SDN控制过程一样。
路径编程
在若干实施方案中,在每个网络控制***部署模型1300内,路由可以优先选择本地查找而不是外部查找。接收到数据报后,接收节点可以首先执行本地表查找以确定该流的目的地地址是否可用。如果此查找成功,则节点无需外部协助即可转发。如果本地查找不成功,节点可以请求SDN控制服务基于流进行最佳路径选择。
可以利用路径编程的交错方法来最小化基于流的路径查找的延迟和/或提供连续性。路径编程可以根据节点的能力进行平衡,特别是可用于本地存储路径的内存和表空间。AI定义的网络解决方案可以支持预测性、主动性、反应性和/或混合流编程方法。交错路径编程方法可以在每个网络控制***部署模型1300内使用,其可以优选预测方法而不是主动方法,并且优选主动方法而不是反应方法。
在反应式流编程方法中,每个节点都可以按需方式填充本地流表条目。当节点将数据报转发到本地未知的目的地时,它可以查询SDN控制服务以获取流条目。由于除非在请求之后,否则本地流表是空的,因此流编程方法被认为是反应式的。反应式流编程可以单独使用,也可以在具有预测性和/或主动式编程的混合模型中使用,作为后备路径编程机制(如果预编程流条目缺乏要处理请求的流数据)。反应式流编程非常有效,但导致SDN查找请求延迟。查找延迟随着路由路径中的节点数量线性增加,因为路径中的每个节点都执行自己的SDN查找。
主动流编程可以通过执行单个SDN查找来减少多节点路径中产生的总查找延迟。主动流编程方法可以以与反应模型类似的流查找请求开始,但可以在节点编程方法上与SDN控制服务不同。在收到初始查找请求后,SDN控制服务可以确定流的整个节点路径。主动编程不仅可以对发送请求的初始节点上的流条目进行编程,还可以针对所确定的路径中的所有后续节点对流条目进行编程。这允许穿越路径中多个节点的流体验单个请求的SDN查找延迟,而不是每个节点的一个请求。因此,当考虑查找延迟时,诸如对于给定流需要遍历大量节点的网络,主动流编程比反应式编程更具优势。主动编程的条目可以允许低延迟本地转发,同时在控制器服务无法访问时还允许自主操作和连续性。
预测流编程方法可以寻求完全减少SDN查找请求,同时将本地流表空间的可用性视为约束。根据路由代理记录的先前路由查找和监视服务捕获的历史流量数据,可以预测给定时间段内哪些流与节点最相关。然后,网络控制***315(图3)可以在请求预测的流条目之前对其进行编程。还可以使用数字孪生上的合成流量流数据从训练***320(图3)构建预测模型。可以基于给定操作时间的建模频率和使用关键性来从所有可用候选条目中选择预测条目。
预测流模型的基本示例如下所示。该模型旨在通过考虑流频率的概率来最大化预测流编程的最高优先级流条目。该模型基于缩放参数α为每个潜在的flowi条目分配惩罚,从而允许管理员针对流相关性定义权重。流选择被限制为适合表大小nmax-m。对于网络内要编程的每个nodej,重复该过程。
找到一组最大化∑i(P(flowi)-Penalty(flowi)),的流
对于所有j,受nmin<Count(nodej)<nmax约束
其中
其中P(flowi)是(flowi)发生的概率,nmin和nmax分别是节点上可以编程的流条目的最小和最大数量,Count(nodej)是节点在一组流中出现的总次数,α是调整惩罚值的自由参数,tavg(flowbest)是一组端点之间最快流的平均时间,并且tavg(flowi)是(flowi)的平均时间。
外部连接
在一些实施方案中,AI定义的网络解决方案的AI能力可以集中在解决方案的控制域内,但不禁止外部连接。可以经由网络控制***315(图3)将直接连接的主机作为已知拓扑的边缘进行跟踪。可以经由传统的邻接机制发现未知主机,包括思科发现协议(CDP)和链路层发现协议(LLDP)查询机制、经由监视和检查流量流进行发现,以及包括地址解析协议(ARP)和广播在内的控制平面机制。网络控制***315(图3)还可以执行对未知主机解析的有针对性的查询,诸如在显示活动但尚不具有已知主机条目的链路上发送请求。
网络控制***315(图3)外部的网络可以通过静态或动态编程获知。在动态场景中,网络控制***315(图3)内的边界节点可以运行传统路由协议并与外部建立邻居关系。与外部对等点交换路由信息可以允许网络控制***315(图3)动态地通告和接收外部路由。边界节点可以直接用控制器服务发布外部路由信息,然后控制器服务可以与训练服务共享该信息。训练***320(图3)可以将外部网络视为用于训练目的的可行目的地,并为成功地将训练流量转发到目的地网络的正确边界节点而累积奖励。
客户简档
在多个实施方案中,AI定义的网络解决方案内的数据可由实施组织使用并且默认情况下不与外部共享。例如,默认情况下,一个客户的配置和状态不会直接与其他客户或AI定义的网络解决方案提供商共享。如果客户选择选择改进解决方案,AI定义的网络供应商可以收集他们的数据,以改进解决方案产品。可以在删除客户特定信息的情况下收集数据和/或可以通过类似于流量生成中使用的“模糊”过程来收集数据。收集的数据示例包括网络拓扑、流量简档、性能统计、超参数设置等。
AI定义的网络解决方案提供商可以使用捕获的数据来增强和改进客户产品。在最基本的层面上,捕获的数据可用于提供商故障排除和支持。如果客户选择加入此过程,捕获的数据还可以跨客户匿名聚合,以增强产品特征。聚合数据可用于创建新的产品功能和产品,包括可供AI定义的网络客户使用的基线超参数、建模、训练或流量简档。
用户界面
用户界面***310(图3)可以提供用户界面以允许与AI定义的网络解决方案交互,从而为用户抽象化网络控制的方面,诸如网络的监视和/或管理。用户界面***310(图3)可以充当底层训练***320(图3)和网络控制***315(图3)之上的管理层。用户可以通过一系列页面和特征来管理解决方案的每个方面。AI定义的网络解决方案可能够观察实时网络并解决通过用户界面出现的问题。用户界面***310(图3)可以包含调整网络性能、主动防御攻击和故障以及在发生故障时快速恢复的功能。用户界面***310(图3)可以允许管理员维护不同的AI模型并将其发布到网络控制***315(图3)。
继续看附图,图14示出了根据一个实施方案的模型-视图-控制器(MVC)模型1400的框图。MVC模型1400仅仅是示例性的,并且MVC模型的实施方案不限于本文中呈现的实施方案。由用户界面***310(图3)提供的用户界面可以利用MVC模型1400作为软件设计模式。MVC模型1400可以不同于网络控制***315(图3)内的SDN控制器服务。用户1410可以使用1415控件1420来操纵1425底层数据模型1430。对数据模型1430的更新1435可以由看到1445数据模型1430的状态的用户1410查看1440。用户1410因此可以通过查看和/或控制训练***320(图3)和/或网络控制***315(图3)来影响底层数据模型。MVC模式可适用于用户界面中的每个CI,包括AI代理建模。
继续看附图,图15和图16示出了展示拓扑编辑器的用户界面的示例性用户界面显示1500和1600。用户界面显示1500和1600可以是由用户界面***310(图3)提供的用户界面的显示。用户界面显示1500和1600仅仅是示例性的,并且用户界面的实施方案不限于所呈现的实施方案。用户界面显示1500可以包括菜单1510、控件1530、拓扑显示1520和/或包括主机1501和交换机1502的元素菜单。用户界面显示1600可以类似地包括菜单1610、控件1630、拓扑显示1620和/或包括主机1601和交换机1602的元素菜单,但是用户界面显示1600可以包括元素细节组件1640。菜单1610可以与菜单1510相似或相同,控件1630可以与控件1530相似或相同,拓扑显示1520可以与拓扑显示1520相似或相同,主机1601可以与主机1501相似或相同,并且/或者交换机1602可以与交换机1502相似或相同。
在多个实施方案中,用户通过用户界面***310(图3)交互的模型可以基于每个定义的集中式、分散式或分布式部署模型(例如,1300)的网络拓扑。用户可以检查和修改现有的网络拓扑、下载外部创建的拓扑,或者使用菜单1510和/或1610中的拓扑操纵选项创建新的拓扑。这些模型是网络的数字孪生模型。网络拓扑可以通过网络元素的交互式菜单来编辑,诸如一系列拖放图标,诸如主机1501和/或1601、交换机1502和/或1601,和/或其他网络元素。类似于数字地图,数字孪生网络拓扑可以在拓扑显示1520和/或1620中遍历,从而允许用户放大或缩小并滚动到不同的焦点区域。
用户可以诸如通过元素细节组件1640来指定与这些元素(即,容量、IP地址或类似物)中的每一者相关联的元数据。拓扑的视觉设计可以基于用户的偏好进行定制。例如,用户可以更改链接的颜色以表示特定的链接速度。用户可以经由图形特征(诸如悬停在网络特定元素或过滤列表上的指针)来操纵元数据。在菜单1510和/或1610中选择的拓扑操纵页面可以允许用户从现有导入的网络添加或移除特征,这可以有助于在拓扑改变之前准备适当的模型。在多个实施方案中,模型的每个变体可以单独保存到数据库以供比较和/或再使用。
一旦设置了给定拓扑,下一步就是通过用户界面***310(图3)设置网络的声明性策略训练场景。继续看附图,图17示出了用于定义训练场景的示例性用户界面显示1700。用户界面显示1700可以是由用户界面***310(图3)提供的用户界面的显示。用户界面显示1700仅仅是示例性的,并且用户界面的实施方案不限于所呈现的实施方案。用户界面显示1700可以包括菜单1710、拓扑组件1720和/或训练场景组件1730。菜单1710可以与菜单1510(图15)和/或菜单1610(图15)相似或相同。在许多实施方案中,用户可以选择菜单1710中的策略设置选项来指定训练场景的策略设置。拓扑组件1720可以显示当前选择的拓扑1723,其可以使用拓扑选择器1721来调整,并且可以使用控件1722以不同的缩放级别来查看。
在若干实施方案中,用户可以通过训练场景组件1730中的交互式按钮、滑块和可编辑文本字段来指定训练场景。用户可以定制策略权衡并优化网络中的数据流,从而根据用户的主题专业知识和意图有效地调整RL模型及其超参数。网络速度和可靠性、优先级数据类型和预期季节性流量变化是用户可以创建和修改的维度类型的示例。可以为用户预加载若干常见的训练场景,并支持完全定制。例如,如训练场景组件1730所示,用户可以选择或取消选择选项1731以优选路由器CPU较低的路由,选择或取消选择选项1732以包括部分和/或全部链路故障,选择或取消选择选项1733以包括部分和/或全部节点故障,使用滑块1734指定语音优先和视频优先之间的设置,使用滑块1735指定延迟敏感流量的最短路径和抖动敏感流量的稳定路径之间的设置,和/或使用滑块1736来指定季节性需求水平,诸如用于秋季需求的滑块1737、用于冬季需求的滑块1738、用于春季需求的滑块1739和/或用于夏季需求的滑块1740。
在许多实施方案中,一旦拓扑具有相关联的策略设置,就可以利用合成网络流量数据来执行底层RL模型中的神经网络的训练,并且用户可能够选择期望的流量简档和/或应用简档。流量简档和/或应用简档可以定义训练中使用的合成流量,如上所述。用户可以选择用于训练模型的流量类型以及其他细节,诸如流量源和/或目的地。流量简档可以足够细化,以指定在训练过程中特定事件何时发生,诸如在一定时间长度后发生恶意攻击或流量突然增加。
在若干实施方案中,一旦拓扑具有相关联的策略设置和训练简档两者,它就可以准备好进行训练。用户可以基于期望的结果选择不同的算法进行训练,甚至可以针对多个训练场景训练相同的拓扑和策略来比较性能。训练可以在训练***320(图3)中进行并且可以按需或按计划发起。训练、基于意图的策略和拓扑的适当组合可以为RL模型提供正常网络性能的足够经验,同时也使RL模型准备好应对故障场景或不良行为者攻击。用户可以控制配置项(例如,策略设置、训练简档和/或RL算法),这可以改变RL模型的奖励矩阵。
继续看附图,图18示出了用于定义训练场景设置的示例性用户界面显示1800。用户界面显示1800仅仅是示例性的,并且用户界面的实施方案不限于所呈现的实施方案。用户界面显示1800可以是由用户界面***310(图3)提供的用户界面的显示。用户界面显示1800可以选择指定用于训练AI代理模型的参数和/或设置。例如,用户界面显示1800可以包括简档字段1810、用于选择探索率或数据生成的选择器1820、用于指定模型中的层数的层字段1830、用于指定模型中的隐藏值的数量的隐藏值字段1840、用于指定模型的学习率的滑块1850、用于指定模型的探索率的滑块1860、用于指定模型探索率的降低的滑块1870、用于关闭而不保存的取消按钮1881和/或用于保存选择的保存按钮1882。
在许多实施方案中,用户能够通过用户界面***310(图3)提供的用户界面来训练、部署和/或回滚不同的AI模型,包括RL路由代理模型和主动流编程模型。用户界面可以包括随着时间的推移构建的所有模型及其相关联CI数据、训练历史和当前状态的菜单。模型的训练历史记录可以作为与模型关联的元数据来查看,并且可以记录训练运行的日志,使得用户可以在部署之前或之后审查任何特别感兴趣的时期。可以将模型设置为主要模型,并将附加模型设置为备用模型。备用模型可以允许***在模型故障时快速回滚,同时还保持在操作场景(例如,正常操作与高峰需求期间)期间快速应用不同的模型。
继续看附图,图19示出了展示网络监视仪表板的示例性用户界面显示1900。用户界面显示1900仅仅是示例性的,并且用户界面的实施方案不限于所呈现的实施方案。用户界面显示1900可以是由用户界面***310(图3)提供的用户界面的显示。用户界面显示1900可以包括菜单1710、拓扑显示1920、控件1930和/或仪表板1940。菜单1910可以与菜单1510(图15)、菜单1610(图16)和/或菜单1710(图17)相似或相同;拓扑显示1920可以是类似的拓扑显示1520(图15)、拓扑显示1620(图16)和/或拓扑组件1720(图17);并且/或者控件1930可以与控件1530(图15)、控件1630(图16)和/或控件1722(图17)相似或相同。拓扑显示1920可以包括当前部署的拓扑的标识符1921和/或当前拓扑的显示1922。
在许多实施方案中,一旦AI模型部署在实时网络上,用户就可以在菜单1910中选择当前状态监视选项来监视AI模型的状态和/或性能。当部署模型时,用户可以通过诸如仪表板1940的交互式仪表板来了解实时网络,其可以帮助对照相关基准来跟踪性能,以及警告用户任何性能问题或安全威胁。仪表板可以包括描述网络健康状况的度量和/或可视化。在一些实施方案中,仪表板菜单1941可以允许用户选择各种不同的仪表板显示选项,诸如数据、图表和/或警报。例如,当在仪表板菜单1941中选择数据选项时,数据组件1942-1947可以显示各种性能度量的度量和/或可视化。KPI可以包括节点硬件状态、数据包丢失、计数器、错误、延迟和/或利用率。KPI可以在不同级别查看,包括每个装置、域或整个网络。用户界面内可以存在警报和通知特征,以向用户突出显示任何重要的KPI更改。
除了为用户提供对模型创建到部署的整个生命周期的控制之外,用户界面还可以包括用于附加管理配置的选项。管理配置的示例可以包括基于角色的访问控制(RBAC)和/或高级用户选项,诸如证书配置、服务器管理、日志下载和***关闭。
示例流程图
继续看附图,图20示出了根据另一实施方案的在AI定义的网络中训练数字孪生的方法2000的流程图。方法2000仅是示例性的并且不限于本文呈现的实施方案。方法2000可用于本文未具体描绘或描述的许多不同实施方案或示例中。在一些实施方案中,方法2000的过程、进程和/或活动可以按照所呈现的顺序来执行。在其他实施方案中,方法2000的过程、进程和/或活动可以以任何合适的顺序执行。在又其他实施方案中,可以组合或跳过方法2000的过程、进程和/或活动中的一者或多者。
在许多实施方案中,***300(图3)、训练***320(图3)、用户界面***310(图3)和/或网络控制***315(图3)可以适合于执行方法2000和/或方法2000的一项或多项活动。在这些或其他实施方案中,方法2000的一项或多项活动可以被实现为一个或多个计算指令,所述指令被配置为在一个或多个处理器处运行并且被配置为存储在一个或多个非暂时性计算机可读介质处。此类非暂时性计算机可读介质可以是***300(图3)的一部分。处理器可以与上面关于计算机***100(图1)描述的处理器类似或相同。
参考图20,方法2000可以包括生成通过软件定义网络(SDN)控制***控制的物理计算机网络的数字孪生网络模拟的活动2010。数字孪生网络模拟可以与数字孪生622(图6)、数字孪生822(图6)和/或数字孪生1122(图11)相似或相同。物理计算机网络可以与计算机网络节点330(图3)、实时网络601(图6)和/或计算机网络节点630(图6)相似或相同。SDN控制***可以与网络控制***315(图3)、网络控制***615(图6)和/或网络控制***815(图8)相似或相同。数字孪生网络模拟可以使用用户界面***310(图3)手动生成和/或自动生成,如上所述。
在多个实施方案中,数字孪生网络模拟可用于训练路由代理模型,如下面描述的活动2040中所示。在多个实施方案中,路由代理模型可以与上述AI代理模型相似或相同。在一些实施方案中,路由代理模型可以包括多个分层路由代理,每个分层路由代理控制多个分层域中的相应分层域,如图5和图13中所示,并且如上所述。在若干实施方案中,强化学习模型可以包括分层强化学习模型,如图5和图9所示,并且如上所述。在若干实施方案中,可以针对从不同流量简档生成的流量来训练路由代理模型的多个替代版本。
在若干实施方案中,方法2000可以另外且可选地包括基于数字孪生网络模拟的节点之间的关系的强度和接近度度量使用分层算法聚类来生成分层域的活动2015,如图5和图9所示,并且如上所述。
在多个实施方案中,方法2000可以进一步且可选地包括基于一个或多个流量简档综合生成流量的活动2020。流量简档可以与流量简档841(图8)和/或流量简档1138(图11)相似或相同。在多个实施方案中,一个或多个流量简档中的至少一者可以包括模糊流量简档。
在若干实施方案中,方法2000可以另外且可选地包括根据从SDN控制***捕获的元数据生成应用程序的分类的活动2025。例如,应用程序的分类可以与如图10所示并如上所述的相似或相同。
在多个实施方案中,方法2000还可以在活动2025之后包括基于分类生成各自与相应流量简档相关联的一个或多个应用简档的活动2030。例如,应用简档可以与在活动1055(图10)中创建和/或在活动1134(图11)中使用的应用简档相似或相同,其可以与流量简档(诸如流量简档1138(图11))相关联。
在若干实施方案中,方法2000可以另外且可选地包括存储路由代理模型的相应版本、物理计算机网络的网络拓扑的相应版本以及从物理计算机网络捕获的流量模式的相应版本作为具有版本控制的相应配置项的活动2035。配置项可以与上面结合图12和图17描述的配置项相似或相同。
在多个实施方案中,方法2000还可以包括使用针对流经数字孪生网络模拟的节点的流量的强化学习模型来针对数字孪生网络模拟训练路由代理模型的活动2040。路由代理模型可以与AI代理路由服务316(图3)、代理430(图4和图7)、代理530(图5)、代理模型1251(图12)和AI代理1264(图12)相似或相同。强化学习模型可以与RL模型400(图4)、HRL模型500(图5)、元RL模型700(图7)和/或RL模型1241(图12)相似或相同。在一些实施方案中,路由代理模型可以包括机器学习模型,诸如神经网络、随机森林模型、梯度增强模型和/或另一合适的模型。在多个实施方案中,强化学习模型可以包括深度Q元强化学习模型。
在一些实施方案中,使用针对流经数字孪生网络模拟的节点的流量的强化学习模型来在数字孪生网络模拟上训练路由代理模型的活动2040还可以包括在强化学习模型中应用基于策略的奖励函数来训练路由代理模型以实现以下各项中的一项或多项:(1)限制物理计算机网络中的安全攻击;(2)适应物理计算机网络的变化;(3)适应物理计算机网络的故障;(4)对通过物理计算机网络路由的一种或多种类型的流量进行优先级排序;(5)对通过物理计算机网络通信的一种或多种类型的应用程序进行优先级排序;(6)优化物理计算机网络中的装置容量;(7)优化物理计算机网络中的***容量;(8)优化通过物理计算机网络的流量流;和/或(9)考虑物理计算机网络中的需求和消耗的变化。
在一些实施方案中,数字孪生网络模拟可以在训练路由代理模型的不同情景步骤的不同部分中呈现,如图9所示,并如上所述。在多个实施方案中,数字孪生网络模拟的连接速度可以被设置为物理计算机网络的连接速度的可配置的按比例缩小的比率,诸如使用上述缩减技术。
在若干实施方案中,方法2000可以另外包括将经过训练的路由代理模型从数字孪生网络模拟部署到物理计算机网络的SDN控制***的活动2045。例如,在训练***320(图3)中训练的路由代理模型可以部署在网络控制***315(图3)中以为计算机网络节点330(图3)提供路由。
继续看附图,图21示出了根据另一实施方案的提供强化学习建模界面的方法2100的流程图。方法2100仅是示例性的并且不限于本文呈现的实施方案。方法2100可用于本文未具体描绘或描述的许多不同实施方案或示例中。在一些实施方案中,方法2100的过程、进程和/或活动可以按照所呈现的顺序来执行。在其他实施方案中,方法2100的过程、进程和/或活动可以以任何合适的顺序执行。在又其他实施方案中,可以组合或跳过方法2100的过程、进程和/或活动中的一者或多者。
在许多实施方案中,***300(图3)、用户界面***310(图3)、训练***320(图3)和/或网络控制***315(图3)可以适于执行方法2100和/或方法2100的一个或多个活动。在这些或其他实施方案中,方法2100的一项或多项活动可以被实现为一个或多个计算指令,所述指令被配置为在一个或多个处理器处运行并且被配置为存储在一个或多个非暂时性计算机可读介质处。此类非暂时性计算机可读介质可以是***300(图3)的一部分。处理器可以与上面关于计算机***100(图1)描述的处理器类似或相同。
参考图21,方法2100可以包括向用户传输要显示的用户界面的活动2110。用户界面可以由用户界面***310(图3)的GUI服务311提供,并且用户界面的示例性显示可以与用户界面显示1500(图15)、1600(图16)、1700(图17)、1800(图18)和/或1900(图19)相似或相同。在一些实施方案中,用户界面可以包括显示强化学习模型的策略设置的一个或多个第一交互元素。例如,策略设置可以与策略1220(图12)相似或相同,并且/或者第一交互元素可以与训练场景组件1730(图17)的一个或多个元素和/或用户界面显示1800(图18)的一个或多个元素相似或相同。强化学习模型可以与RL模型400(图4)、HRL模型500(图5)、元RL模型700(图7)和/或RL模型1241(图12)相似或相同。在多个实施方案中,一个或多个第一交互元件可以被配置为允许用户更新强化学习模型的策略设置。
在一些实施方案中,策略设置可以包括声明性路由策略设置。在多个实施方案中,声明性路由策略设置可以包括网络可靠性设置、网络速度设置、优先级数据类型设置和/或季节性流量设置中的一项或多项。
在若干实施方案中,方法2100还可以包括从用户接收一个或多个输入的活动2115。在一些实施方案中,输入可以包括对用户界面的一个或多个第一交互元素的至少一部分的一个或多个修改,以更新强化学习模型的策略设置。
在多个实施方案中,方法2100可以另外包括使用强化学习模型来训练神经网络模型的活动2120,其中策略设置由用户更新以调整在强化学习模型中分配的奖励。神经网络模型可以与神经网络模型431(图4)和/或神经网络模型531(图5)相似或相同。在许多实施方案中,神经网络模型可以包括被配置为通过软件定义网络(SDN)控制***控制物理计算机网络的路由代理模型。在其他实施方案中,神经网络模型可以用于其他合适的应用程序。
在一些实施方案中,用户界面还可以包括被配置为定义网络拓扑的第二交互元素。第二交互元素可以与拓扑显示1520(图15)、拓扑显示1620(图16)、拓扑组件1720(图17)和/或拓扑显示1920相似或相同。在若干实施方案中,来自用户的一个或多个输入还可包括网络拓扑的定义。在多个实施方案中,网络拓扑的定义可以包括发现和导入现有网络拓扑、创建新网络拓扑或修改现有网络拓扑中的一项或多项。在许多实施方案中,可以使用基于流经网络拓扑的节点的流量的强化学习模型来训练路由代理模型。
在若干实施方案中,用户界面还可以包括被配置为选择用于训练路由代理模型的一个或多个流量简档的第三交互元素。流量简档可以与流量简档841(图8)和/或流量简档1138(图11)相似或相同。在一些实施方案中,来自用户的一个或多个输入还可包括一个或多个流量简档的一个或多个选择。在多个实施方案中,可以使用一个或多个流量简档来训练路由代理模型。
在各种实施方案中,用户界面还可以包括第四交互元素,其被配置为选择与用于训练路由代理模型的一个或多个流量简档相关联的一个或多个应用简档。应用简档可以与在活动1055(图10)中创建和/或在活动1134(图11)中使用的应用简档相似或相同。在一些实施方案中,来自用户的一个或多个输入还可包括一个或多个应用简档的一个或多个选择。在若干实施方案中,可以使用与一个或多个应用简档相关联的一个或多个流量简档来训练路由代理模型。
在多个实施方案中,用户界面还可以包括被配置为定义一个或多个路由代理模型中的每个相应路由代理模型的相应配置设置的第五交互元素。第五交互元素可以与用户界面显示1800(图18)的一个或多个元素相似或相同。一个或多个路由代理模型可以包括路由代理模型。在一些实施方案中,来自用户的一个或多个输入还可以包括相应配置设置的一个或多个定义,该一个或多个定义包括相应路由代理模型的一个或多个相应发布设置、相应路由代理模型的一个或多个更新间隔、相应路由代理模型的一个或多个目标网络和/或相应路由代理模型的实现设置。在许多实施方案中,可以基于配置设置来调整相应的路由代理模型。在若干实施方案中,路由代理模型的配置设置可以包括路由代理模型的多个训练时期或多个层中的至少一者。在一些实施方案中,用户界面还可以包括已使用强化学习模型训练的路由代理模型的菜单,并且可操作以通过SDN控制***控制物理计算机网络。在多个实施方案中,在选择一个或多个路由代理模型用于在SDN控制***上部署之前,用户界面还可以显示路由代理模型之间的比较。
在若干实施方案中,方法2100可以进一步且可选地包括生成使用用户更新的策略设置训练的神经网络模型的性能结果的活动2125。例如,性能结果可以与结合仪表板1940(图19)描述的性能度量相似或相同。
在多个实施方案中,方法2100可以另外在活动2125之后包括向用户传输要显示的性能结果的活动2130。例如,可以如仪表板1940(图19)中所示显示性能结果。
在若干实施方案中,方法2100可以进一步且可选地包括记录与训练神经网络模型相关联的元数据的活动2135。在多个实施方案中,可以使用包括节点硬件状态、数据包丢失、计数器、错误、延迟或利用率中的至少一项的基准来测量性能结果。
在多个实施方案中,方法2100可以另外在活动2135之后包括当一个或多个性能结果超出一个或多个预定义阈值时,向用户传输要显示的警报的活动2140。
继续看附图,图22示出了根据另一实施方案的在AI定义的网络中提供网络控制的方法2200的流程图。方法2200仅是示例性的并且不限于本文呈现的实施方案。方法2200可用于本文未具体描绘或描述的许多不同实施方案或示例中。在一些实施方案中,方法2200的过程、进程和/或活动可以按照所呈现的顺序来执行。在其他实施方案中,方法2200的过程、进程和/或活动可以以任何合适的顺序执行。在又其他实施方案中,可以组合或跳过方法2200的过程、进程和/或活动中的一者或多者。
在许多实施方案中,***300(图3)、网络控制***315(图3)、用户界面***310(图3)和/或训练***320(图3)可以适于执行方法2200和/或方法2200的一个或多个活动。在这些或其他实施方案中,方法2200的一项或多项活动可以被实现为一个或多个计算指令,所述指令被配置为在一个或多个处理器处运行并且被配置为存储在一个或多个非暂时性计算机可读介质处。此类非暂时性计算机可读介质可以是***300(图3)的一部分。处理器可以与上面关于计算机***100(图1)描述的处理器类似或相同。
参考图22,方法2200可以包括接收软件定义网络(SDN)控制服务的部署模型选择的活动2210。SDN控制服务可以与控制服务317(图3)、控制器617(图6)、集中式SDN控制器1311(图13)、中央SDN控制器1331(图13)、本地SDN控制器1332-1334(图13)和/或本地代理1354(图13)相似或相同。在一些实施方案中,部署模型选择可以是集中式模型、分散式模型、分布式模型或混合模型之一。
集中式模型可以与集中式网络控制***部署模型1310(图13)相似或相同。在许多实施方案中,集中式模型中的SDN控制服务可以包括中央监视服务、中央SDN控制器上的中央SDN代理以及到物理计算机网络的每个节点的相应管理连接。中央SDN控制器可以与集中式SDN控制器1311(图13)相似或相同。
分散式模型可以与分散式网络控制***部署模型1330(图13)相似或相同。在许多实施方案中,分散式模型中的SDN控制服务可以包括中央监视服务、中央SDN控制器上的中央SDN代理以及与物理计算机网络的每个相应分层域相关联的相应SDN子代理。中央SDN控制器可以与中央SDN控制器1331(图13)相似或相同。SDN子代理可以与本地SDN控制器1332-1334(图13)相似或相同。在多个实施方案中,相应的SDN子代理可以包括到相应分层域中的每个节点的相应管理连接。
分布式模型可以与分布式网络控制***部署模型1350(图13)相似或相同。在若干实施方案中,分布式模型中的SDN控制服务可以包括中央监视服务和与物理计算机网络中的每个节点相关联的相应本地SDN代理。中央监视器服务可以与中央监视器1351相似或相同。本地SDN代理可以与本地代理1354(图13)相似或相同。在一些实施方案中,混合模型中的SDN控制服务可以包括集中式模型、分散式模型或分布式模型中的两者或更多者的元素。
在若干实施方案中,方法2200可以另外且可选地包括训练SDN控制服务的活动2215。在一些实施方案中,活动2215可以包括使用分层强化学习模型在分散式模型中训练SDN控制服务的相应SDN子代理。分层强化学习模型可以与HRL模型500(图5)相似或相同。在一些实施方案中,活动2215可以包括使用强化学习模型在分布式模型中本地训练SDN控制服务的相应本地SDN代理中的每一者。
在多个实施方案中,方法2200可以另外包括在部署模型选择中部署SDN控制服务以控制物理计算机网络的活动2220。物理计算机网络可以与计算机网络节点330(图3)、实时网络601(图6)和/或计算机网络节点630(图6)相似或相同。在一些实施方案中,物理计算机网络可以连接到不受SDN控制服务控制的外部网络,并且SDN控制服务可以被配置为从外部网络接收路由信息。
在许多实施方案中,SDN控制服务可以使用利用强化学习模型训练的路由代理模型。路由代理模型可以与AI代理路由服务316(图3)、代理430(图4和图7)、代理530(图5)、代理模型1251(图12)和AI代理1264(图12)相似或相同。在若干实施方案中,SDN控制服务内的路由是基于由源地址、目的地地址和数据报分类元组定义的流来执行的。在多个实施方案中,可以使用具有一个或多个流量简档或一个或多个应用简档的强化学习模型来训练路由代理模型,以使用强化学习模型的策略来对物理计算机网络中的流量进行分段,所述策略在以下各项的至少一者上具有高于预定阈值的负面奖励:预定端点之间的通信或通过预定路径的通信,诸如使用上述分段技术。
在若干实施方案中,方法2200可以进一步且可选地包括使用SDN控制服务来聚合来自客户的客户简档的数据的活动2225。
在多个实施方案中,方法2200可以另外在活动2225之后包括使用来自客户简档的数据生成模板简档的活动2230。
在若干实施方案中,方法2200可以进一步且可选地包括活动2235:在SDN控制服务中,基于路由代理模型提供的路由决策,生成由经过节点的流的目的地地址索引的物理计算机网络的节点的查找数据。
在多个实施方案中,方法2200可以另外在活动2235之后包括使用预测模型来至少部分地基于流的频率从查找数据中选择节点的预测条目的活动2240。
在若干实施方案中,方法2200还可以在活动2240之后包括将预测条目发送到节点以在节点中进行本地查找的活动2245。
在多个实施方案中,方法2200可以另外且可选地包括在SDN控制服务处从物理计算机网络的节点接收针对流的初始查找请求的活动2250。
在若干实施方案中,方法2200还可以在活动2250之后包括确定流的物理计算机网络的完整节点路径的活动2255。
在多个实施方案中,方法2200可以另外在活动2255之后包括将完整节点路径的流条目发送到该节点的活动2260。
结论
尽管上面描述的方法是参考示出的流程图,但是应当理解,可以使用执行与该方法相关联的动作的许多其他方式。例如,一些操作的顺序可以改变,并且所描述的一些操作可以是可选的。
另外,本文描述的方法和***可以至少部分地以计算机实现的过程和用于实践这些过程的设备的形式体现。所公开的方法还可以至少部分地以用计算机程序代码编码的有形的非暂时性机器可读存储介质的形式来体现。例如,方法的步骤可以体现在硬件中、体现在由处理器执行的可执行指令(例如,软件)中或者体现在两者的组合中。该介质可以包括例如RAM、ROM、CD-ROM、DVD-ROM、BD-ROM、硬盘驱动器、闪存或任何其他非暂时性机器可读存储介质。当计算机程序代码被加载到计算机中并由计算机执行时,计算机就成为实践该方法的设备。这些方法还可以至少部分地以加载或执行计算机程序代码的计算机的形式来实现,使得该计算机成为用于实践这些方法的专用计算机。当在通用处理器上实现时,计算机程序代码段配置处理器以创建特定逻辑电路。替代地,这些方法可以至少部分地体现在用于执行这些方法的专用集成电路中。
提供前述内容是为了说明、解释和描述这些公开的实施方案的目的。对这些实施方案的修改和变化对于本领域技术人员来说是显而易见的,并且可以在不脱离本公开的范围或精神的情况下做出。
虽然已经参考具体实施方案对AI定义的网络、AI定义的网络中的数字孪生训练、强化学习建模接口以及AI定义的网络中的网络控制进行了描述,但是本领域技术人员应当理解,在不脱离本公开的精神或范围的情况下,可以做出各种改变。因此,实施方案的公开旨在说明本公开的范围,而不旨在限制。旨在将本公开的范围仅限制于所附权利要求所要求的范围。例如,对于本领域普通技术人员来说,显而易见的是,图1至图22的任何元素都可以被修改,并且这些实施方案中的某些实施方案的前述讨论不一定代表所有可能实施方案的完整描述。例如,图8至图12、图14和图20至图22的过程、进程或活动中的一者或多者可以包括不同的过程、进程和/或活动,并且可以由许多不同的模块以许多不同的顺序执行,和/或图8至图12、图14和图20至图22的过程、进程或活动中的一者或多者可以包括图8至图12、图14和图20至图22中的另一不同图的过程、进程或活动中的一者或多者。作为另一个示例,***300(图3)和/或***600(图6)内的***,以及用户界面***310(图3)、网络控制***315(图3)和/或训练***320(图3)内的服务可以互换或以其他方式修改。
更换一个或多个要求保护的元素构成重建而不是修复。另外,已经就特定实施方案描述了益处、其它优势和问题的解决方案。然而,益处、优势、问题的解决方案以及可能导致任何益处、优势或解决方案发生或变得更加明显的任何一个或多个元素,不应被解释为任何或所有权利要求的关键、必需或基本特征或元素,除非在该权利要求中陈述了这些益处、优势、解决方案或元素。
此外,如果实施方案和/或限制:(1)在权利要求中没有明确要求保护;和(2)是或可能是等同原则下权利要求中明示要素和/或限制的等同物,则本文公开的实施方案和限制在专用原则下不专用于公众。

Claims (76)

1.一种经由在一个或多个处理器处执行计算指令来实现的方法,所述方法包括:
生成通过软件定义网络(SDN)控制***控制的物理计算机网络的数字孪生网络模拟;
使用关于流经所述数字孪生网络模拟的节点的流量的强化学习模型来针对所述数字孪生网络模拟训练路由代理模型,其中所述路由代理模型包括机器学习模型;以及
将经过训练的所述路由代理模型从所述数字孪生网络模拟部署到所述物理计算机网络的所述SDN控制***。
2.根据权利要求1所述的方法,其中所述强化学习模型包括深度Q元强化学习模型。
3.根据权利要求1或2中任一项所述的方法,其中:
所述路由代理模型包括多个分层路由代理,每个分层路由代理控制多个分层域中的相应分层域;并且
所述强化学习模型包括分层强化学习模型。
4.根据权利要求3所述的方法,其还包括:
基于所述数字孪生网络模拟的所述节点之间的关系的强度和邻近度度量,使用分层算法聚类生成所述分层域。
5.根据权利要求1、2、3或4中任一项所述的方法,其中在训练所述路由代理模型的不同情景步骤处以不同部分呈现所述数字孪生网络模拟。
6.根据权利要求1、2、3、4或5中任一项所述的方法,其中所述数字孪生网络模拟的连接速度被设置为所述物理计算机网络的连接速度的可配置的缩小比率。
7.根据权利要求1、2、3、4、5或6中任一项所述的方法,其还包括基于一个或多个流量简档综合生成所述流量。
8.根据权利要求7所述的方法,其中所述一个或多个流量简档中的至少一者包括模糊流量简档。
9.根据权利要求1、2、3、4、5、6、7或8中任一项所述的方法,其还包括存储所述路由代理模型的相应版本、所述物理计算机网络的网络拓扑的相应版本,以及从所述物理计算机网络捕获的流量模式的相应版本作为具有版本控制的相应配置项。
10.根据权利要求1、2、3、4、5、6、7、8或9中任一项所述的方法,其中训练所述数字孪生网络模拟的所述路由代理模型还包括:
在所述强化学习模型中应用基于策略的奖励函数来训练所述路由代理模型以实现以下各项中的一者或多者:
限制所述物理计算机网络中的安全攻击;
适应所述物理计算机网络中的变化;
适应所述物理计算机网络中的故障;
对通过所述物理计算机网络路由的一种或多种类型的流量进行优先级排序;
对通过所述物理计算机网络进行通信的一种或多种类型的应用程序进行优先级排序;
优化所述物理计算机网络中的装置容量;
优化所述物理计算机网络中的***容量;
优化通过所述物理计算机网络的流量流;或者
考虑所述物理计算机网络中需求和消耗的变化。
11.根据权利要求1、2、3、4、5、6、7、8、9或10中任一项所述的方法,其还包括:
根据从所述SDN控制***捕获的元数据生成应用程序的分类;以及
基于所述分类生成一个或多个应用简档,每个应用简档与相应的流量简档相关联。
12.根据权利要求1、2、3、4、5、6、7、8、9、10或11中任一项所述的方法,其中针对从不同流量简档生成的流量来训练所述路由代理模型的多个替代版本。
13.根据权利要求1、2、3、4、5、6、7、8、9、10、11或12中任一项所述的方法,其中所述路由代理模型包括机器学习模型,所述机器学习模型包括神经网络模型、随机森林模型或梯度增强模型中的一者或多者。
14.一种***,其包括:
一个或多个处理器;和
一个或多个非暂时性计算机可读介质,所述一个或多个非暂时性计算机可读介质存储计算指令,所述计算指令在所述一个或多个处理器上执行时执行:
生成通过软件定义网络(SDN)控制***控制的物理计算机网络的数字孪生网络模拟;
使用关于流经所述数字孪生网络模拟的节点的流量的强化学习模型来针对所述数字孪生网络模拟训练路由代理模型,其中所述路由代理模型包括机器学习模型;以及
将经过训练的所述路由代理模型从所述数字孪生网络模拟部署到所述物理计算机网络的所述SDN控制***。
15.根据权利要求14所述的***,其中所述强化学习模型包括深度Q元强化学习模型。
16.根据权利要求14或15中任一项所述的***,其中:
所述路由代理模型包括多个分层路由代理,每个分层路由代理控制多个分层域中的相应分层域;并且
所述强化学习模型包括分层强化学习模型。
17.根据权利要求16所述的***,其中所述计算指令在所述一个或多个处理器上执行时还执行:
基于所述数字孪生网络模拟的所述节点之间的关系的强度和邻近度度量,使用分层算法聚类生成所述分层域。
18.根据权利要求14、15、16或17中任一项所述的***,其中在训练所述路由代理模型的不同情景步骤处以不同部分呈现所述数字孪生网络模拟。
19.根据权利要求14、15、16、17或18中任一项所述的***,其中所述数字孪生网络模拟的连接速度被设置为所述物理计算机网络的连接速度的可配置的缩小比率。
20.根据权利要求14、15、16、17、18或19中任一项所述的***,其中所述计算指令在所述一个或多个处理器上执行时还执行:
基于一个或多个流量简档综合生成所述流量。
21.根据权利要求20所述的***,其中所述一个或多个流量简档中的至少一者包括模糊流量简档。
22.根据权利要求14、15、16、17、18、19、20或21中任一项所述的***,其中所述计算指令在所述一个或多个处理器上执行时还执行:
存储所述路由代理模型的相应版本、所述物理计算机网络的网络拓扑的相应版本,以及从所述物理计算机网络捕获的流量模式的相应版本作为具有版本控制的相应配置项。
23.根据权利要求14、15、16、17、18、19、20、21或22中任一项所述的***,其中训练所述数字孪生网络模拟的所述路由代理模型还包括:
在所述强化学习模型中应用基于策略的奖励函数来训练所述路由代理模型以实现以下各项中的一者或多者:
限制所述物理计算机网络中的安全攻击;
适应所述物理计算机网络中的变化;
适应所述物理计算机网络中的故障;
对通过所述物理计算机网络路由的一种或多种类型的流量进行优先级排序;
对通过所述物理计算机网络进行通信的一种或多种类型的应用程序进行优先级排序;
优化所述物理计算机网络中的装置容量;
优化所述物理计算机网络中的***容量;
优化通过所述物理计算机网络的流量流;或者
考虑所述物理计算机网络中需求和消耗的变化。
24.根据权利要求14、15、16、17、18、19、20、21、22或23中任一项所述的***,其中所述计算指令在所述一个或多个处理器上执行时还执行:
根据从所述SDN控制***捕获的元数据生成应用程序的分类;以及
基于所述分类生成一个或多个应用简档,每个应用简档与相应的流量简档相关联。
25.根据权利要求14、15、16、17、18、19、20、21、22、23或24中任一项所述的***,其中针对从不同流量简档生成的流量来训练所述路由代理模型的多个替代版本。
26.根据权利要求14、15、16、17、18、19、20、21、22、23、24或25中任一项所述的***,其中所述路由代理模型包括机器学习模型,所述机器学习模型包括神经网络模型、随机森林模型或梯度增强模型中的一者或多者。
27.一种经由在一个或多个处理器处执行计算指令来实现的方法,所述方法包括:
向用户传输要显示的用户界面,其中所述用户界面包括一个或多个第一交互元素,其中所述一个或多个第一交互元素显示强化学习模型的策略设置,并且其中所述一个或多个第一交互元素被配置为允许所述用户更新所述强化学习模型的所述策略设置;
接收来自所述用户的一个或多个输入,其中所述输入包括对所述用户界面的所述一个或多个第一交互元素的至少一部分的一个或多个修改,以更新所述强化学习模型的所述策略设置;以及
使用带有所述策略设置的强化学习模型来训练神经网络模型,所述策略设置由所述用户更新以调整在所述强化学习模型中分配的奖励。
28.根据权利要求27所述的方法,其中所述策略设置包括声明性路由策略设置。
29.根据权利要求28所述的方法,其中所述声明性路由策略设置包括网络可靠性设置、网络速度设置、优先级数据类型设置或季节性流量设置中的一者或多者。
30.根据权利要求27、28或29中任一项所述的方法,其中:
所述神经网络模型包括被配置为通过软件定义网络(SDN)控制***控制物理计算机网络的路由代理模型。
31.根据权利要求30所述的方法,其中:
所述用户界面还包括被配置为定义网络拓扑的第二交互元素;
来自所述用户的所述一个或多个输入还包括所述网络拓扑的定义,其中所述网络拓扑的所述定义包括发现和导入现有网络拓扑、创建新网络拓扑或修改现有网络拓扑中的一者或多者;并且
使用基于流经所述网络拓扑的节点的流量的所述强化学习模型来训练所述路由代理模型。
32.根据权利要求30或31中任一项所述的方法,其中:
所述用户界面还包括被配置为选择用于训练所述路由代理模型的一个或多个流量简档的第三交互元素;
来自所述用户的所述一个或多个输入还包括对所述一个或多个流量简档的一个或多个选择;并且
使用所述一个或多个流量简档来训练所述路由代理模型。
33.根据权利要求32所述的方法,其中:
所述用户界面还包括被配置为选择与用于训练所述路由代理模型的所述一个或多个流量简档相关联的一个或多个应用简档的第四交互元素;
来自所述用户的所述一个或多个输入还包括对所述一个或多个应用简档的一个或多个选择;并且
使用与所述一个或多个应用简档相关联的所述一个或多个流量简档来训练所述路由代理模型。
34.根据权利要求30、31、32或33中任一项所述的方法,其中:
所述用户界面还包括被配置为定义一个或多个路由代理模型中的每个相应路由代理模型的相应配置设置的第五交互元素,其中所述一个或多个路由代理模型包括所述路由代理模型;
来自所述用户的所述一个或多个输入还包括所述相应配置设置的一个或多个定义,所述一个或多个定义包括所述相应路由代理模型的一个或多个相应发布设置、所述相应路由代理模型的一个或多个更新间隔、所述相应路由代理模型的一个或多个目标网络或所述相应路由代理模型的实现设置;并且
所述相应路由代理模型基于所述相应配置设置进行调整。
35.根据权利要求34所述的方法,其中:
所述路由代理模型的所述相应配置设置包括所述路由代理模型的多个训练时期或多个层中的至少一者。
36.根据权利要求30、31、32、33、34或35中任一项所述的方法,其中:
所述用户界面还包括路由代理模型的菜单,所述路由代理模型已使用所述强化学习模型训练并且可操作以通过所述SDN控制***来控制所述物理计算机网络;并且
在选择所述路由代理模型中的一者或多者用于在所述SDN控制***上部署之前,所述用户界面还显示所述路由代理模型之间的比较。
37.根据权利要求27、28、29、30、31、32、33、34、35或36中任一项所述的方法,其还包括:
生成使用由所述用户更新的所述策略设置训练的所述神经网络模型的性能结果;以及
向所述用户传输要显示的所述性能结果。
38.根据权利要求37所述的方法,其还包括:
记录与训练所述神经网络模型相关联的元数据,其中使用包括节点硬件状态、数据包丢失、计数器、错误、延迟或利用率中的至少一者的基准来测量所述性能结果;以及
当所述性能结果中的一者或多者超出一个或多个预定义阈值时,向所述用户传输要显示的警报。
39.一种***,其包括:
一个或多个处理器;和
一个或多个非暂时性计算机可读介质,所述一个或多个非暂时性计算机可读介质存储计算指令,所述计算指令在所述一个或多个处理器上执行时执行:
向用户传输要显示的用户界面,其中所述用户界面包括一个或多个第一交互元素,其中所述一个或多个第一交互元素显示强化学习模型的策略设置,并且其中所述一个或多个第一交互元素被配置为允许所述用户更新所述强化学习模型的所述策略设置;
接收来自所述用户的一个或多个输入,其中所述输入包括对所述用户界面的所述一个或多个第一交互元素的至少一部分的一个或多个修改,以更新所述强化学习模型的所述策略设置;以及
使用带有所述策略设置的强化学习模型来训练神经网络模型,所述策略设置由所述用户更新以调整在所述强化学习模型中分配的奖励。
40.根据权利要求39所述的***,其中所述策略设置包括声明性路由策略设置。
41.根据权利要求40所述的***,其中所述声明性路由策略设置包括网络可靠性设置、网络速度设置、优先级数据类型设置或季节性流量设置中的一者或多者。
42.根据权利要求39、40或41中任一项所述的***,其中:
所述神经网络模型包括被配置为通过软件定义网络(SDN)控制***控制物理计算机网络的路由代理模型。
43.根据权利要求42所述的***,其中:
所述用户界面还包括被配置为定义网络拓扑的第二交互元素;
来自所述用户的所述一个或多个输入还包括所述网络拓扑的定义,其中所述网络拓扑的所述定义包括发现和导入现有网络拓扑、创建新网络拓扑或修改现有网络拓扑中的一者或多者;并且
使用基于流经所述网络拓扑的节点的流量的所述强化学习模型来训练所述路由代理模型。
44.根据权利要求42或43中任一项所述的***,其中:
所述用户界面还包括被配置为选择用于训练所述路由代理模型的一个或多个流量简档的第三交互元素;
来自所述用户的所述一个或多个输入还包括对所述一个或多个流量简档的一个或多个选择;并且
使用所述一个或多个流量简档来训练所述路由代理模型。
45.根据权利要求44所述的***,其中:
所述用户界面还包括被配置为选择与用于训练所述路由代理模型的所述一个或多个流量简档相关联的一个或多个应用简档的第四交互元素;
来自所述用户的所述一个或多个输入还包括对所述一个或多个应用简档的一个或多个选择;并且
使用与所述一个或多个应用简档相关联的所述一个或多个流量简档来训练所述路由代理模型。
46.根据权利要求42、43、44或45中任一项所述的***,其中:
所述用户界面还包括被配置为定义一个或多个路由代理模型中的每个相应路由代理模型的相应配置设置的第五交互元素,其中所述一个或多个路由代理模型包括所述路由代理模型;
来自所述用户的所述一个或多个输入还包括所述相应配置设置的一个或多个定义,所述一个或多个定义包括所述相应路由代理模型的一个或多个相应发布设置、所述相应路由代理模型的一个或多个更新间隔、所述相应路由代理模型的一个或多个目标网络或所述相应路由代理模型的实现设置;并且
所述相应路由代理模型基于所述相应配置设置进行调整。
47.根据权利要求46中任一项所述的***,其中:
所述路由代理模型的所述相应配置设置包括所述路由代理模型的多个训练时期或多个层中的至少一者。
48.根据权利要求42、43、44、45、46或47中任一项所述的***,其中:
所述用户界面还包括路由代理模型的菜单,所述路由代理模型已使用所述强化学习模型训练并且可操作以通过所述SDN控制***来控制所述物理计算机网络;并且
在选择所述路由代理模型中的一者或多者用于在所述SDN控制***上部署之前,所述用户界面还显示所述路由代理模型之间的比较。
49.根据权利要求39、40、41、42、43、44、45、46、47或48中任一项所述的***,其中所述计算指令在所述一个或多个处理器上执行时还执行:
生成使用由所述用户更新的所述策略设置训练的所述神经网络模型的性能结果;以及
向所述用户传输要显示的所述性能结果。
50.根据权利要求49所述的***,其中所述计算指令在所述一个或多个处理器上执行时还执行:
记录与训练所述神经网络模型相关联的元数据,其中使用包括节点硬件状态、数据包丢失、计数器、错误、延迟或利用率中的至少一者的基准来测量所述性能结果;以及
当所述性能结果中的一者或多者超出一个或多个预定义阈值时,向所述用户传输要显示的警报。
51.一种经由在一个或多个处理器处执行计算指令来实现的方法,所述方法包括:
接收软件定义网络(SDN)控制服务的部署模型选择,其中所述部署模型选择包括集中式模型、分散式模型、分布式模型或混合模型中的一种;以及
在所述部署模型选择中部署所述SDN控制服务来控制物理计算机网络,其中所述SDN控制服务使用利用强化学习模型训练的路由代理模型。
52.根据权利要求51所述的方法,其中所述集中式模型中的所述SDN控制服务包括中央监视服务、中央SDN控制器上的中央SDN代理以及到所述物理计算机网络的每个节点的相应管理连接。
53.根据权利要求51所述的方法,其中所述分散式模型中的所述SDN控制服务包括中央监视服务、中央SDN控制器上的中央SDN代理以及与所述物理计算机网络的每个相应分层域相关联的相应SDN子代理,其中所述相应SDN子代理包括到所述相应分层域中的每个节点的相应管理连接。
54.根据权利要求53所述的方法,其还包括:
使用分层强化学习模型训练所述SDN控制服务的所述相应SDN子代理。
55.根据权利要求51所述的方法,其中所述分布式模型中的所述SDN控制服务包括中央监视服务和与所述物理计算机网络中的每个节点相关联的相应本地SDN代理。
56.根据权利要求55所述的方法,其还包括:
使用所述强化学习模型在本地训练所述SDN控制服务的所述相应本地SDN代理中的每一者。
57.根据权利要求51所述的方法,其中所述混合模型中的所述SDN控制服务包括所述集中式模型、所述分散式模型或所述分布式模型中的两者或更多者的元素。
58.根据权利要求51、52、53、54、55、56或57中任一项所述的方法,其中所述SDN控制服务内的路由是基于由源地址、目的地地址和数据报分类元组定义的流来执行的。
59.根据权利要求51、52、53、54、55、56、57或58中任一项所述的方法,其中使用具有一个或多个流量简档或一个或多个应用简档的所述强化学习模型来训练所述路由代理模型以使用所述强化学习模型的策略对所述物理计算机网络中的流量进行分段,所述策略在以下各项中的至少一者上具有高于预定阈值的负面奖励:预定端点之间的通信或通过预定路径的通信。
60.根据权利要求51、52、53、54、55、56、57、58或59中任一项所述的方法,其还包括:
使用所述SDN控制服务聚合来自客户的客户简档的数据;以及
使用来自所述客户简档的所述数据生成模板简档。
61.根据权利要求51、52、53、54、55、56、57、58、59或60中任一项所述的方法,其还包括:
在所述SDN控制服务中,基于所述路由代理模型提供的路由决策,生成由经过所述节点的流的目的地地址索引的所述物理计算机网络的节点的查找数据;
使用预测模型至少部分地基于所述流的频率从所述查找数据中选择所述节点的预测条目;以及
将所述预测条目发送到所述节点以在所述节点中进行本地查找。
62.根据权利要求61所述的方法,其还包括:
在所述SDN控制服务处接收来自所述物理计算机网络的节点的针对流的初始查找请求;
针对所述流确定所述物理计算机网络的完整节点路径;以及
将所述完整节点路径的流条目发送到所述节点。
63.根据权利要求51、52、53、54、55、56、57、58、59、60、61或62中任一项所述的方法,其中:
所述物理计算机网络连接到不受所述SDN控制服务控制的外部网络;并且
所述SDN控制服务被配置为从所述外部网络接收路由信息。
64.一种***,其包括:
一个或多个处理器;和
一个或多个非暂时性计算机可读介质,所述一个或多个非暂时性计算机可读介质存储计算指令,所述计算指令在所述一个或多个处理器上执行时执行:
接收软件定义网络(SDN)控制服务的部署模型选择,其中所述部署模型选择包括集中式模型、分散式模型、分布式模型或混合模型中的一种;以及
在所述部署模型选择中部署所述SDN控制服务来控制物理计算机网络,其中所述SDN控制服务使用利用强化学习模型训练的路由代理模型。
65.根据权利要求64所述的***,其中所述集中式模型中的所述SDN控制服务包括中央监视服务、中央SDN控制器上的中央SDN代理以及到所述物理计算机网络的每个节点的相应管理连接。
66.根据权利要求64所述的***,其中所述分散式模型中的所述SDN控制服务包括中央监视服务、中央SDN控制器上的中央SDN代理以及与所述物理计算机网络的每个相应分层域相关联的相应SDN子代理,其中所述相应SDN子代理包括到所述相应分层域中的每个节点的相应管理连接。
67.根据权利要求66所述的***,其中所述计算指令在所述一个或多个处理器上执行时还执行:
使用分层强化学习模型训练所述SDN控制服务的所述相应SDN子代理。
68.根据权利要求64所述的***,其中所述分布式模型中的所述SDN控制服务包括中央监视服务和与所述物理计算机网络中的每个节点相关联的相应本地SDN代理。
69.根据权利要求68所述的***,其中所述计算指令在所述一个或多个处理器上执行时还执行:
使用所述强化学习模型在本地训练所述SDN控制服务的所述相应本地SDN代理中的每一者。
70.根据权利要求64所述的***,其中所述混合模型中的所述SDN控制服务包括所述集中式模型、所述分散式模型或所述分布式模型中的两者或更多者的元素。
71.根据权利要求64、65、66、67、68、69或70中任一项所述的***,其中所述SDN控制服务内的路由是基于由源地址、目的地地址和数据报分类元组定义的流来执行的。
72.根据权利要求64、65、66、67、68、69、70或71中任一项所述的***,其中使用具有一个或多个流量简档或一个或多个应用简档的所述强化学习模型来训练所述路由代理模型以使用所述强化学习模型的策略对所述物理计算机网络中的流量进行分段,所述策略在以下各项中的至少一者上具有高于预定阈值的负面奖励:预定端点之间的通信或通过预定路径的通信。
73.根据权利要求64、65、66、67、68、69、70、71或72中任一项所述的***,其中所述计算指令在所述一个或多个处理器上执行时还执行:
使用所述SDN控制服务聚合来自客户的客户简档的数据;以及
使用来自所述客户简档的所述数据生成模板简档。
74.根据权利要求64、65、66、67、68、69、70、71、72或73中任一项所述的***,其中所述计算指令在所述一个或多个处理器上执行时还执行:
在所述SDN控制服务中,基于所述路由代理模型提供的路由决策,生成由经过所述节点的流的目的地地址索引的所述物理计算机网络的节点的查找数据;
使用预测模型至少部分地基于所述流的频率从所述查找数据中选择所述节点的预测条目;以及
将所述预测条目发送到所述节点以在所述节点中进行本地查找。
75.根据权利要求74所述的***,其中所述计算指令在所述一个或多个处理器上执行时还执行:
在所述SDN控制服务处接收来自所述物理计算机网络的节点的针对流的初始查找请求;
针对所述流确定所述物理计算机网络的完整节点路径;以及
将所述完整节点路径的流条目发送到所述节点。
76.根据权利要求64、65、66、67、68、69、70、71、72、73、74或75中任一项所述的***,其中:
所述物理计算机网络连接到不受所述SDN控制服务控制的外部网络;并且
所述SDN控制服务被配置为从所述外部网络接收路由信息。
CN202280026741.XA 2021-01-29 2022-01-28 用于人工智能定义网络的***和方法 Pending CN117581239A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US17/162,719 US11606265B2 (en) 2021-01-29 2021-01-29 Network control in artificial intelligence-defined networking
US17/162,719 2021-01-29
US17/162,704 2021-01-29
US17/162,691 2021-01-29
PCT/US2022/014263 WO2022165143A1 (en) 2021-01-29 2022-01-28 Systems and methods for artificial intelligence-defined networking

Publications (1)

Publication Number Publication Date
CN117581239A true CN117581239A (zh) 2024-02-20

Family

ID=82612890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280026741.XA Pending CN117581239A (zh) 2021-01-29 2022-01-28 用于人工智能定义网络的***和方法

Country Status (2)

Country Link
US (1) US11606265B2 (zh)
CN (1) CN117581239A (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12041297B2 (en) * 2014-11-04 2024-07-16 Gt Systems Pty Ltd. Media distribution and management system and apparatus
US11858514B2 (en) 2021-03-30 2024-01-02 Zoox, Inc. Top-down scene discrimination
US11810225B2 (en) * 2021-03-30 2023-11-07 Zoox, Inc. Top-down scene generation
US11848838B2 (en) * 2021-06-24 2023-12-19 Hewlett Packard Enterprise Development Lp Communicating node events in network configuration
CN115099009B (zh) * 2022-05-31 2023-08-29 同济大学 一种基于推理图的混合交通流运动行为建模方法
CN116055324B (zh) * 2022-12-30 2024-05-07 重庆邮电大学 一种用于数据中心网络自优化的数字孪生方法
CN117240774B (zh) * 2023-11-15 2024-01-23 云南省地矿测绘院有限公司 一种跨域智能sdn路由方法

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000045584A1 (en) 1999-01-28 2000-08-03 Bios Group Lp A method and system for routing control in communication networks and for system control
US6804201B1 (en) 2000-10-05 2004-10-12 S. Erol Gelenbe Cognitive packet network
FR2818850B1 (fr) 2000-12-22 2003-01-31 Commissariat Energie Atomique Procede de routage adaptatif par reflexion avec apprentissage par renforcement
US8305926B2 (en) 2002-09-04 2012-11-06 At&T Intellectual Property Ii, L.P. Method and apparatus for self-learning of call routing information
US20040148391A1 (en) 2003-01-11 2004-07-29 Lake Shannon M Cognitive network
US8423483B2 (en) 2008-05-16 2013-04-16 Carnegie Mellon University User-controllable learning of policies
WO2010069395A1 (en) 2008-12-19 2010-06-24 Telefonaktiebolaget Lm Ericsson (Publ) A method and apparatus for routing data
US8560647B2 (en) * 2011-07-19 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) Controller placement for split architecture networks
US9191304B1 (en) 2013-08-12 2015-11-17 The United States Of America As Represented By The Secretary Of The Navy Reinforcement learning-based distributed network routing method utilizing integrated tracking and selective sweeping
US9847951B2 (en) 2013-11-04 2017-12-19 Ciena Corporation Dynamic bandwidth allocation systems and methods using content identification in a software-defined networking controlled multi-layer network
US9432257B2 (en) * 2013-12-27 2016-08-30 Huawei Technologies Co., Ltd. Traffic behavior driven dynamic zoning for distributed traffic engineering in SDN
US9774522B2 (en) 2014-01-06 2017-09-26 Cisco Technology, Inc. Triggering reroutes using early learning machine-based prediction of failures
US9438341B2 (en) 2014-01-21 2016-09-06 Laser Light Communications Llc Optical communication system
US10102474B2 (en) 2014-03-28 2018-10-16 International Business Machines Corporation Event-based neural network with hierarchical addressing for routing event packets between core circuits of the neural network
US9749188B2 (en) 2014-05-13 2017-08-29 Cisco Technology, Inc. Predictive networking architecture for next-generation multiservice, multicarrier WANs
US9552550B2 (en) 2014-05-13 2017-01-24 Cisco Technology, Inc. Traffic shaping based on predicted network resources
US9838268B1 (en) * 2014-06-27 2017-12-05 Juniper Networks, Inc. Distributed, adaptive controller for multi-domain networks
US9853882B2 (en) 2014-07-23 2017-12-26 Cisco Technology, Inc. Dynamic path switchover decision override based on flow characteristics
US10320824B2 (en) 2015-01-22 2019-06-11 Cisco Technology, Inc. Anomaly detection using network traffic data
US20170012866A1 (en) * 2015-07-09 2017-01-12 Infinera Corporation Systems, methods, and apparatus for forwarding a data flow
US9929933B1 (en) 2015-09-01 2018-03-27 Netronome Systems, Inc. Loading a flow table with neural network determined information
US9729582B2 (en) 2015-09-29 2017-08-08 The Trustees Of The University Of Pennsylvania Methods, systems, and computer readable media for generating software defined networking (SDN) policies
US10142909B2 (en) 2015-10-13 2018-11-27 The Board Of Trustees Of The University Of Alabama Artificial intelligence-augmented, ripple-diamond-chain shaped rateless routing in wireless mesh networks with multi-beam directional antennas
US9948606B2 (en) * 2015-12-25 2018-04-17 Kn Group, Ghq Enhancing privacy and security on a SDN network using SDN flow based forwarding control
CN105634992B (zh) 2015-12-29 2019-01-11 网宿科技股份有限公司 Cdn平台自适应带宽控制方法和***
WO2017113238A1 (zh) 2015-12-30 2017-07-06 华为技术有限公司 一种建立路由表的方法、电子设备及网络
US11343226B2 (en) 2016-02-26 2022-05-24 Cable Television Laboratories, Inc. Systems and methods for micro network segmentation
US10187413B2 (en) 2016-03-25 2019-01-22 Cisco Technology, Inc. Network-based approach for training supervised learning classifiers
US10404727B2 (en) 2016-03-25 2019-09-03 Cisco Technology, Inc. Self organizing learning topologies
US10217060B2 (en) 2016-06-09 2019-02-26 The Regents Of The University Of California Capacity augmentation of 3G cellular networks: a deep learning approach
CN107547379B (zh) 2016-06-23 2020-08-25 华为技术有限公司 软件定义网络中生成路由控制动作的方法和相关设备
US20180183726A1 (en) 2016-12-27 2018-06-28 Netspeed Systems, Inc. Traffic mapping of a network on chip through machine learning
US11177996B2 (en) 2017-04-04 2021-11-16 Telefonaktiebolaget Lm Ericsson (Publ) Training a software agent to control a communication network
US10686669B2 (en) * 2017-06-16 2020-06-16 Cisco Technology, Inc. Collecting network models and node information from a network
US10331973B2 (en) * 2017-06-26 2019-06-25 Nicira, Inc. System and method for deploying graphical diagram topologies
US10735273B2 (en) 2017-07-31 2020-08-04 Accenture Global Solutions Limited Using machine learning to make network management decisions
US10257072B1 (en) 2017-09-28 2019-04-09 Cisco Technology, Inc. Weight initialization for random neural network reinforcement learning
US11126929B2 (en) 2017-11-09 2021-09-21 Ciena Corporation Reinforcement learning for autonomous telecommunications networks
US10608893B2 (en) * 2017-12-06 2020-03-31 Nokia Technologies Oy SDN control plane performance testing
US10693740B2 (en) 2017-12-07 2020-06-23 Accenture Global Solutions Limited Data transformation of performance statistics and ticket information for network devices for use in machine learning models
WO2019114959A1 (en) * 2017-12-13 2019-06-20 Telefonaktiebolaget Lm Ericsson (Publ) Methods in a telecommunications network
US10728773B2 (en) 2018-01-26 2020-07-28 Verizon Patent And Licensing Inc. Automated intelligent self-organizing network for optimizing network performance
US10805185B2 (en) 2018-02-14 2020-10-13 Cisco Technology, Inc. Detecting bug patterns across evolving network software versions
EP3531580B1 (en) 2018-02-21 2021-08-11 ADVA Optical Networking SE A method and apparatus for optimizing dynamically the operation of an optical network
US11368476B2 (en) 2018-02-22 2022-06-21 Helios Data Inc. Data-defined architecture for network data management
US10476779B1 (en) 2018-03-19 2019-11-12 Juniper Networks, Inc. Configuring a topology of devices to support scaling of an exchange point
US20190306030A1 (en) 2018-03-29 2019-10-03 Kuang Yi Chen Modular Meshed Radio Nodes Networking Topology for Kinematic Objects
US10153978B1 (en) 2018-05-04 2018-12-11 Nefeli Networks, Inc. Distributed anticipatory bidirectional packet steering for software network functions
US11050656B2 (en) 2018-05-10 2021-06-29 Dell Products L.P. System and method to learn and prescribe network path for SDN
US11140019B2 (en) 2018-06-01 2021-10-05 David M. Sherr Software-defined network resource provisioning architecture
CA3046235A1 (en) 2018-06-11 2019-12-11 Pungle Inc. Systems and methods of transaction routing
US10560334B2 (en) 2018-06-29 2020-02-11 Juniper Networks, Inc. Determining and implementing egress peer engineering and/or ingress peer engineering for destinations in a network
US20200021490A1 (en) 2018-07-10 2020-01-16 Cable Television Laboratories, Inc Systems and methods for advanced core network controls
US10999730B2 (en) 2018-07-26 2021-05-04 Hewlett Packard Enterprise Development Lp Adaptive wireless client steering
US10728954B2 (en) 2018-08-07 2020-07-28 At&T Intellectual Property I, L.P. Automated network design and traffic steering
CN108900419B (zh) 2018-08-17 2020-04-17 北京邮电大学 Sdn架构下基于深度强化学习的路由决策方法及装置
US12040897B2 (en) 2018-08-21 2024-07-16 The George Washington University Learning-based high-performance, energy-efficient, fault-tolerant on-chip communication design framework
US20200084142A1 (en) 2018-09-12 2020-03-12 Ca, Inc. Predictive routing in multi-network scenarios
US10666547B2 (en) 2018-10-25 2020-05-26 Ca, Inc. Efficient machine learning for network optimization
US10652154B1 (en) 2018-11-09 2020-05-12 Innovium, Inc. Traffic analyzer for autonomously configuring a network device
US11063837B2 (en) 2018-11-28 2021-07-13 Cisco Technology, Inc. Customized network load-balancing using machine learning
US20200186433A1 (en) 2018-12-05 2020-06-11 At&T Intellectual Property I, L.P. Adaptive coordinator system
US10862758B2 (en) 2019-01-02 2020-12-08 Hewlett Packard Enterprise Development Lp Generation of network configuration and configuration commands for impacted nodes of a software defined wide area network
EP3912095A1 (en) * 2019-01-18 2021-11-24 Telefonaktiebolaget LM Ericsson (publ) Using generative adversarial networks (gans) to enable sharing of sensitive data
US10880811B2 (en) 2019-02-08 2020-12-29 Johann Donikian System and method for selecting an electronic communication pathway from a pool of potential pathways
US11483212B2 (en) * 2019-02-08 2022-10-25 Ciena Corporation Safeguarding artificial intelligence-based network control
US11070483B2 (en) 2019-02-11 2021-07-20 Cisco Technology, Inc. Discovering and mitigating MTU/fragmentation issues in a computer network
US10805211B2 (en) * 2019-02-13 2020-10-13 Cisco Technology, Inc. Forecasting SDN fabric saturation and machine learning-based flow admission control
US11044309B2 (en) 2019-06-27 2021-06-22 Intel Corporation Optimizing operations in ICN based networks
US10873533B1 (en) * 2019-09-04 2020-12-22 Cisco Technology, Inc. Traffic class-specific congestion signatures for improving traffic shaping and other network operations
US11695682B2 (en) * 2019-09-30 2023-07-04 Ciena Corporation Optimizing Border Gateway Protocol (BGP) traffic using reinforcement learning
CN110986979B (zh) 2019-11-27 2021-09-10 浙江工商大学 一种基于强化学习的sdn多路径路由规划方法
CN111010294B (zh) 2019-11-28 2022-07-12 国网甘肃省电力公司电力科学研究院 一种基于深度强化学习的电力通信网路由方法
CN111106999A (zh) 2019-12-27 2020-05-05 国网江苏省电力公司信息通信分公司 一种ip-光网络通信业务联合分配方法及装置
CN111416771B (zh) 2020-03-20 2022-02-25 深圳市大数据研究院 基于多智能体强化学习路由策略控制路由动作的方法

Also Published As

Publication number Publication date
US11606265B2 (en) 2023-03-14
US20220247643A1 (en) 2022-08-04

Similar Documents

Publication Publication Date Title
US20220245462A1 (en) Training a digital twin in artificial intelligence-defined networking
CN117581239A (zh) 用于人工智能定义网络的***和方法
US11936663B2 (en) System for monitoring and managing datacenters
Wang et al. A graph neural network-based digital twin for network slicing management
US20220245441A1 (en) Reinforcement-learning modeling interfaces
Amin et al. A survey on machine learning techniques for routing optimization in SDN
US20210012239A1 (en) Automated generation of machine learning models for network evaluation
Lange et al. Heuristic approaches to the controller placement problem in large scale SDN networks
CN105976031B (zh) 多个语义推理引擎对数据的并行处理
US20160357424A1 (en) Collapsing and placement of applications
Ridwan et al. Applications of machine learning in networking: a survey of current issues and future challenges
US20180262585A1 (en) Sub-second network telemetry using a publish-subscribe messaging system
CA3210058A1 (en) Systems and methods for artificial intelligence-defined networking
Masaracchia et al. Digital twin for open ran: Towards intelligent and resilient 6g radio access networks
El Rajab et al. Zero-touch networks: Towards next-generation network automation
US11627166B2 (en) Scope discovery and policy generation in an enterprise network
US10454776B2 (en) Dynamic computer network classification using machine learning
US11716352B2 (en) Application protectability schemes for enterprise applications
US11860744B2 (en) Communication network data fault detection and mitigation
US12052166B2 (en) Predicting impending change to interior gateway protocol (IGP) metrics
US20240171505A1 (en) Predicting impending change to Interior Gateway Protocol (IGP) metrics
US20240171486A1 (en) Leveraging temporal-based datapoints for predicting network events
US20240232649A9 (en) Network Machine Learning (ML) Model Feature Selection
US20230385708A1 (en) Reconciling computing infrastructure and data in federated learning
Ospina Cifuentes et al. Analysis of the Use of Artificial Intelligence in Software-Defined Intelligent Networks: A Survey. Technologies 2024, 12, 99

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