本公开涉及一种用于为工业网络提供网络配置的计算机实现的方法、网络配置代理nca、远程网络引擎以及用于提供网络配置的系统。
背景技术:
1、本公开的一般背景是提供网络配置数据,特别是网络配置。
2、如今,时间敏感联网(tsn)的使用正成为自动化系统有前途的连接性人生就是博尊龙ag旗舰厅的解决方案中的一种连接性人生就是博尊龙ag旗舰厅的解决方案,因为它为高性能以太网上的工业级(即,时间敏感的、确定性的、冗余的)数据传输提供了机制。tsn网络的这种确定性行为完全依赖于每个工业系统和网络部署特定的网络组件的细粒度配置和管理。当前,集中式配置模型是tsn定义的主要配置方法中的一种主要配置方法,它依赖于网络中的中央软件或硬件组件,该中央软件或硬件组件收集关于通信要求和可用网络资源的信息,计算网络配置并且将其分配给每个组件。集中式配置模型通常由集中式网络控制器cnc、集中式用户配置cuc和用户/网络接口uni组成,该uni标识cnc和cuc之间的通信。由于适合于工业系统,这种集中式配置模型正成为更优选的人生就是博尊龙ag旗舰厅的解决方案,因为它提供了相对静态的网络,并且仍然对网络进行最终控制。这种方法通常依赖于网络配置实体(即,用于tsn的cuc和cnc)、网络设备(即,tsn交换机)和终端站/终端设备之间的直接交互,以发现网络拓扑,获取网络通信要求并且下载所产生的网络配置。
3、然而,针对一些部署,在工业设备和网络配置引擎之间具有端到端连接或直接交互可能不是优选的/合适的。例如,针对更简单的部署,使用集中式配置模型不是最优人生就是博尊龙ag旗舰厅的解决方案,尤其是考虑到额外的成本、可缩放性、灵活性、可维护性和复杂性方面的限制。
4、因此,需要为工业网络(特别是tsn)提供更灵活和强大的网络配置机制。
技术实现思路
1、在本发明的一个方面中,提出了一种用于为工业网络提供网络配置的计算机实现的方法,包括:
2、由网络配置代理nca发现网络拓扑数据;
3、由nca从网络的至少一个网络设备接收通信意图数据;
4、当发现网络拓扑数据并且接收通信意图数据时,
5、由nca调试和标识远程网络引擎;
6、由nca将所发现的网络拓扑数据和所接收的通信意图数据转发给远程网络引擎,并且由nca请求远程网络引擎,用于计算指示网络配置的网络配置数据;
7、由远程网络引擎基于所提供的网络拓扑数据和所接收的通信意图数据来计算网络配置数据;
8、将所计算的网络配置数据提供给nca,并且由nca将所计算的网络配置数据分配给网络上的至少一个网络设备中的每个网络设备,
9、基于经分配的所计算的网络配置数据,在工业网络中发起网络配置。
10、本文使用的术语网络配置数据将被广泛理解,并且表示指示、提供、应用和/或实施网络(特别是物理网络)中的网络配置的任何数据。网络配置可以是用于设置网络的控制、流程和操作以支持和/或提供组织和/或网络所有者的网络通信和/或在网络内提供通信的任何过程,但不被限于此。该术语还包含网络硬件、软件以及其他支持设备和组件的多个配置和设置过程。例如,网络配置可以是数据调度、规划、在物理网络中实施通信/数据交换和/或利用优化和实施物理网络中的优化通信/数据交换来进行评估。
11、本文使用的术语数据在当前情况下将被广泛理解,并且表示任何种类的数据。数据可以是单个数字/数值、多个数字/数值、布置在列表内的多个数字/数值、整数和字符串,但不被限于此。
12、本文使用的术语工业网络将被广泛理解,并且表示在工业区域、域、制造厂或工厂内使用和/或提供的任何网络,特别是计算机网络或物理网络。在工业网络内,提供了以直接或间接通信方式彼此连接的多个网络组件/网络设备。通信可以通过有线或无线提供。
13、本文使用的术语发现将被广泛理解,并且表示用于提供、接收和/或查询网络拓扑数据的任何方法。网络拓扑的发现可以基于标准化链路层发现协议(lldp),但不被限于此。例如,发现通过执行标识网络中的一个、至少一个或所有网络设备的标识过程来提供。在典型的网络发现过程中,启用lldp的设备在接收和记录关于其邻居的信息时开始发送关于其自身的广告。这允许网络中的设备了解与其连接的所有设备。在该步骤之后,nca可以开始借助于网络管理协议(例如netconf)从网络设备获取lldp邻居信息。这将允许nca逐渐发现网络设备和拓扑:从网络中具有网络的空白图片的一个点开始,遍历网络中新发现的设备并且递归地收集邻居信息,最后通过带来所有这些邻居数据来完成网络拓扑。
14、本文使用的术语网络拓扑数据将被广泛理解,并且表示指示/呈现网络拓扑的任何数据,即,网络中的节点(分别为组件/设备)的物理和逻辑关系、链路和节点的示意性布置或其某种混合组合。网络数据的拓扑结构可以以标准化数据模型的形式提供,优选地基于yang。
15、本文使用的术语网络配置代理nca将被广泛理解,并且表示网络的任何终端设备,该终端设备通过远程连接或互联网与远程网络引擎交互,并且代理网络配置,该网络配置在需要的任何地方和任何时间向连接的网络和网络设备提供服务。换言之,网络配置代理是提供服务/设备的网络配置与网络之间的接口。例如,nca可以是启用tsn的工业设备,如驱动器或边缘网关,它在工业系统中具有主要功能性,但也执行经由另一网络连接所接收的所需配置转发操作,如来自外部网络或互联网的驱动器中的蜂窝连接,但不被限于此。备选地,nca也可以是非常简单的终端设备,它专用于在新的网络部署中实现网络配置数据,但不提供任何网络智能。附加地,如果有足够的存储装置可用,则nca还可以存储接收到的不同网络设备的网络配置数据,并且在未来重新分配。接收到的网络配置数据的存储导致有用的情况,即,由于网络/设备重置或设备替换而失去先前提供的网络配置的网络设备或终端设备的网络配置不必被再次计算和/或提供。附加地或备选地,nca可以包括匿名化过程/方法,通过利用其他地址或标识符改变网络设备和终端设备的唯一的指派地址(即,mac、ip)来提供网络设备和最终设备的匿名化,以便解决与远程网络引擎共享设备信息的隐私或安全问题。
16、本文使用的术语接收将被广泛理解,并且表示用于接收或被提供通信意图数据的任何方法/方式。示例性地,接收可以通过使用标准化协议和自动化方法(如链路层发现协议lldp或网络配置协议netconf)来提供,但不被限于此。备选地,网络的网络设备也可以发布、提供、传输或广播它们的通信意图数据,其中这些数据由nca接收。
17、本文使用的术语通信意图数据将被广泛理解,并且表示指示通信意图的任何数据。通信意图可以包括关于哪个网络设备正在接收、需要和/或提供具有哪种联网行为(例如频率、大小等)和连接性要求(例如时延、可靠性、抖动)的什么数据的信息,并且还包括关于至少一个网络设备中的每个网络设备的连接性的信息。例如,通信意图数据可以包括对tsn流建立的请求和对应的服务质量要求。
18、本文使用的术语调试和标识将被广泛理解,并且表示用于选择、标识、选择、检查和/或认证远程网络引擎的任何过程或方法。调试和标识由nca执行。例如,调试和标识可以由ip地址、zrl、凭证和/或证书提供,但不被限于此。当接收到网络拓扑数据和通信意图数据时,开始调试和标识过程(分别为步骤)。
19、本文使用的术语远程网络引擎将被广泛理解,并且表示能够提供和计算和/或查询网络配置数据的任何引擎。网络引擎是远程网络引擎,因为它经由远程连接或互联网被连接至nca。因此,远程网络引擎和nca位于不同的地点,特别是空间地点,即,网络引擎未被布置在网络内,并且nca被布置在网络中。因此,远程网络引擎和nca都不位于同一网络和/或网络环境内。例如,网络引擎是位于云中或第一公司处的引擎,而nca位于第二公司处,其中,无论何时何地需要,网络引擎和nca都经由远程连接进行通信耦合。然而,在该上下文中,术语不同地点并不表示、描述和定义nca和远程网络引擎位于/布置在同一网络和/或网络环境内。备选地,一个或多个远程网络引擎和多个nca可以由同一公司所有,甚至位于同一站点中,但通过不同的网络技术(如蜂窝5g)彼此连接,这将允许从一个或多个本地远程网络引擎远程配置多个网络段。
20、本文使用的术语转发将被广泛理解,并且表示用于将所发现的网络拓扑数据和所接收的通信意图数据传输到远程网络引擎的任何过程或方法。转发可以包括远程网络引擎从nca接收和/或查询所发现的网络拓扑数据和所接收的通信意图数据,nca向远程网络引擎传输、发送和/或提供所发现的网络拓扑数据和所接收的通信意图数据。转发可以由分别包括在远程网络引擎和/或nca中的传输和/或接收单元来提供。转发可以通过有线或无线提供。
21、本文使用的术语计算将被广泛理解,并且表示用于提供网络配置数据的任何过程或方法。计算由远程网络引擎执行。该计算可以包括基于所提供的网络拓扑数据和所接收的通信意图数据来确定、提供和/或计算网络配置数据。例如,针对冗余管理,网络引擎需要确定所提供的源和目的地之间的网络拓扑中的所有可能路径,选择(基于意图定义中所提供的冗余要求)提供最佳冗余的不相交路径的数目,确定帧复制和消除点,并且为那些设备生成配置以执行所需的动作来从特定流复制或丢弃某些分组。类似地,网络引擎还应该提供低时延调度和业务整形,具有保证的分组传送、满足意图定义中定义的有界时延、吞吐量和可靠性保证的算法。网络配置数据可以由多个网络引擎的协作或者单独由多个网络引擎中的每个网络引擎提供。
22、本文使用的术语请求将被广泛理解,并且表示用于命令、授权和/或指示远程网络引擎计算网络配置数据的任何过程或方法。请求由nca经由预定义接口(如rest api)执行,该预定义接口允许远程网络引擎与nca交互以执行上面列出的所有管理和监测操作。
23、本文使用的术语发起将被广泛理解,并且表示用于基于经分配的所计算的网络配置数据在工业网络中提供、开始、触发、产生、操作、引起和/或激活网络配置的过程或方法。发起通过向至少一个网络设备中的每个网络设备分配(即,发送和/或传输)所计算的网络配置数据来提供,其中至少一个网络设备的每个网络设备实施、执行和/或实现所提供的已分配网络配置数据中所包括的网络配置。至少一个网络设备中的每个网络设备可以被提供并且实施、执行和/或实现整个分配的网络配置数据或者分配的网络配置数据的仅一部分。换言之,每个网络设备都可以接收它们的具体配置,其中,网络分别满足每个应用(分别为网络设备)的通信要求。nca对网络配置数据的分配可以借助于网络管理协议(如netconf、restconf或snmp)来提供,但不被限于此。
24、nca的使用以及将远程网络引擎定位在与nca不同的地点处使得能够容易地为网络和物理网络中的网络设备提供网络配置数据,而不需要该特定网络中的专用网络管理实体,即,集中式配置模型的cnc和cuc。进一步地,nca的使用以及将远程网络引擎定位在与nca不同的地点处使得能够以最小的努力和复杂性来提供若干不同物理网络的网络配置数据以用于网络管理和规划。因此,通过去除对网络资源管理/规划的任何额外组件的需要,可以促进工业网络的部署和调试,使得可以提高新兴网络技术的采用速度。进一步地,使用nca作为网络配置进入网络的唯一入口点能够以更安全的方式从网络引擎实现网络配置,而无需直接访问实际网络或网络设备。进一步地,nca可以被容易地重新配置为使用另一远程网络引擎,使得可以容易地提供选择的灵活性以及此后用于网络配置的供应商和工具的改变。此外,nca的使用使得能够从来自不同地点和/或供应商的多个远程网络引擎连接和请求网络配置数据,这带来了组合不同网络配置能力和/或从具有不同能力的不同远程网络引擎所提供的配置中选择最合适/最优配置的机会。通过将远程网络引擎定位在与nca不同的地点处,特别是nca和远程网络引擎的分离,使得在更新的情况下,仅需要更新nca或远程网络引擎,而不需要更新整个网络。
25、在用于为工业网络提供网络配置的方法的实施例中,该方法包括在向至少一个网络设备区分所计算的网络配置数据之前验证网络配置数据的步骤。
26、本文使用的术语验证将被广泛理解,并且表示能够验证所计算的网络配置数据的质量并因此验证已计算网络配置的任何相关性、检查和/或证明过程。如果验证过程的结果可能低于预定义的、预设的、预定的或预先提供的阈值,则初始化用于为工业网络提供网络配置的计算机实现的方法以再次执行方法步骤,直到验证过程的结果高于阈值。预定义的、预设的、预定的或预先提供的阈值可以由用户提供,但不被限于此。
27、通过验证所计算的网络配置数据,可以确保只有包括网络配置的正确且适当的网络配置数据由nca提供,并且由nca分配给网络中的至少一个网络设备中的每个网络设备,用于发起网络中的网络配置。
28、在用于为工业网络提供网络配置的方法的实施例中,该网络是时间敏感网络tsn。
29、在用于为工业网络提供网络配置的方法的实施例中,nca是网络终端设备。
30、在用于为工业网络提供网络配置的方法的实施例中,其中将所计算的网络配置数据从远程网络引擎提供给nca被提供为标准化数据模型。
31、本文使用的术语标准化数据模型将被广泛理解,并且表示能够向nca提供(分别为返回)所计算的网络配置数据的任何模型。例如,标准化数据模型可以是yang或管理信息库(mib)模块或者用于基础网络模型的opc ua信息模型,但不被限于此。
32、通过使用标准化数据模型,可以提供所计算的网络数据从远程网络引擎到nca的可靠提供。
33、在用于为工业网络提供网络配置的方法的实施例中,nca将所计算的网络配置数据分配给至少一个网络设备由网络管理协议提供。
34、本文使用的术语网络管理协议将被广泛理解,并且表示能够由nca将所计算的网络配置数据分配给网络中所提供的至少一个网络设备的任何协议。例如,网络管理协议可以是netconf或restconf或简单网络管理协议snmp。
35、通过使用网络管理协议,可以提供所计算的网络配置数据到网络的至少一个网络设备的可靠分配。
36、在用于为工业网络提供网络配置的方法的实施例中,远程网络引擎对网络配置数据的计算包括从数据库接收和/或查询网络配置数据,其中接收和/或查询基于所提供的网络拓扑数据和所接收的通信意图数据。
37、本文使用的术语数据库将被广泛理解,并且表示存储网络配置数据的任何存储器、存储单元、存储设备、云存储装置和/或缓存,但不被限于此。远程网络引擎能够从数据库接收和/或查询网络配置数据。
38、通过从数据库接收和/或查询网络配置数据,可以显著减少网络配置数据的计算时间,特别是提供时间,并且可以使整个计算机实现的方法更快。存储网络配置数据还能够备份或暂停网络配置过程。
39、在用于为工业网络提供网络配置的方法的实施例中,当所发现的网络拓扑数据和所接收的通信意图数据被转发给多个远程网络引擎并且多个远程网络引擎由nca请求以计算网络配置数据时,该计算包括:由多个网络引擎的协作或单独由多个网络引擎中的每个网络引擎计算网络配置数据,接收任务数据;基于任务数据、所提供的网络拓扑数据和所接收的通信意图数据来标识具有最优网络配置的一个或预定义数目的网络配置数据;以及提供所标识的一个或预定义数目的最优网络配置数据。
40、本文使用的术语任务数据将被广泛理解,并且表示指示(分别为标识)具有最优网络配置的一个或预定义数目的网络配置数据的任何数据。最优网络配置可以由用户预先形成、预先提供、预定、预处理或预设,但不被限于此。
41、通过标识具有最优网络配置的一个或预定义数目的网络配置数据,可以确保只有包括最优网络配置的网络配置数据可以通过nca提供,并且由nca分配给网络中的至少一个网络设备中的每个网络设备。
42、在又一方面中,提出了一种网络配置代理nca,包括:
43、网络拓扑发现单元,用于发现网络拓扑数据;
44、通信接收单元,用于从网络的至少一个网络设备接收通信意图数据;
45、通信单元,包括:
46、调试和标识单元,用于在网络拓扑数据被发现并且通信意图数据被接收到时调试和标识网络引擎,
47、传输单元,用于将所发现的网络拓扑数据和所接收的通信意图数据转发给远程网络引擎;
48、请求单元,用于请求远程网络引擎计算网络配置数据;以及
49、接收和分配单元,用于从远程网络引擎接收所计算的网络配置数据,并且用于将所计算的网络配置数据分配给至少一个网络设备中的每个网络设备,并且用于基于经分配的所计算的网络配置数据在工业网络中发起网络配置。
50、在又一方面中,提出了一种远程网络引擎,包括:
51、接收单元,用于从nca接收所发现的网络拓扑数据和所接收的通信意图数据,并且用于接收从nca计算网络配置数据的请求;
52、网络配置计算单元,用于计算、接收和/或查询至少一个网络配置数据;
53、传输单元,用于将所计算的网络配置数据提供给nca。
54、在远程网络引擎的实施例中,网络配置计算单元包括:确定单元,包括用于提供时间敏感资源调度、确定性性能评估的算法;查询单元,用于从数据库查询网络配置数据和/或接收单元,用于从数据库接收网络配置数据。
55、在又一方面中,提出了一种用于提供网络配置的系统,包括:
56、上述网络配置代理nca;
57、网络;以及
58、上述远程网络引擎。
59、在用于提供网络配置的系统的实施例中,nca位于与远程网络引擎不同的地点处。
60、在又一方面中,提出了一种具有指令的计算机程序元件,当在计算环境的计算设备上执行时,该指令被配置为在上述系统中执行上述方法的步骤。
61、在又一方面中,提出了一种包括指令的计算机可读存储介质,在由计算机执行时,该指令使计算机执行上述方法。
62、本文描述的任何公开和实施例涉及上面列出的方法、网络配置代理、远程网络引擎和系统,反之亦然。有利地,由任何实施例和示例所提供的益处同样适用于所有其他实施例和示例,反之亦然。
63、如本文使用的,“确定”还包括“发起或促使确定”,“生成”还包括“发起或促使生成”,并且“提供”还包括“发起或促使确定、生成、选择、发送或接收”。“发起或促使执行动作”包括触发计算设备执行相应动作的任何处理信号。