预测工业自动化网络性能的制作方法

文档序号:29612663发布日期:2022-04-13 10:07阅读:61来源:国知局
预测工业自动化网络性能的制作方法

1.本文公开的主题涉及预测工业自动化网络性能。


背景技术:

2.通常在工业自动化设置中提供网络实现。遗憾的是,很难知道网络实现是否会具有足够的性能。


技术实现要素:

3.公开了一种用于预测工业自动化网络性能的方法。该方法根据用于网络实现的设计数据针对网络演算模型以第一标准格式生成算法参数。该方法根据算法参数生成网络演算模型。网络演算模型对网络实现的最坏情况性能进行建模。该方法根据设计数据针对网络仿真模型以第二标准格式生成模型参数。该方法根据模型参数生成网络仿真模型。网络仿真模型对网络实现的概率性能进行建模。该方法执行网络演算模型以确定网络演算结果。该方法执行网络仿真模型以确定网络仿真结果。该方法确定网络演算结果、网络仿真结果和系统策略之间的系统策略差异。该方法基于系统策略差异对设计数据进行更新。
4.公开了一种用于预测工业自动化网络性能的设备。该设备包括处理器和存储器,该存储器存储可由处理器执行的代码。处理器根据用于网络实现的设计数据针对网络演算模型以第一标准格式生成算法参数。处理器根据算法参数生成网络演算模型。网络演算模型对网络实现的最坏情况性能进行建模。处理器根据设计数据针对网络仿真模型以第二标准格式生成模型参数。处理器根据模型参数生成网络仿真模型。网络仿真模型对网络实现的概率性能进行建模。处理器执行网络演算模型以确定网络演算结果。处理器执行网络仿真模型以确定网络仿真结果。处理器确定网络演算结果、网络仿真结果和系统策略之间的系统策略差异。处理器基于系统策略差异对设计数据进行更新。
5.公开了一种用于预测工业自动化网络性能的计算机程序产品。该计算机程序产品包括其中包含有程序代码的非暂态计算机可读存储介质,该程序代码可由处理器读取/执行。处理器根据用于网络实现的设计数据针对网络演算模型以第一标准格式生成算法参数。处理器根据算法参数生成网络演算模型。网络演算模型对网络实现的最坏情况性能进行建模。处理器根据设计数据针对网络仿真模型以第二标准格式生成模型参数。处理器根据模型参数生成网络仿真模型。网络仿真模型对网络实现的概率性能进行建模。处理器执行网络演算模型以确定网络演算结果。处理器执行网络仿真模型以确定网络仿真结果。处理器确定网络演算结果、网络仿真结果和系统策略之间的系统策略差异。处理器基于系统策略差异对设计数据进行更新。
附图说明
6.为了容易理解本发明的实施方式的优点,将通过参照附图中示出的具体实施方式来呈现对以上简要描述的实施方式的更具体的描述。要理解,这些附图仅描绘了一些实施
方式,并因此不被认为是对范围的限制,将通过使用附图使用附加的特征和细节来描述和解释实施方式,在附图中:
7.图1a是根据实施方式的网络实现的示意性框图;
8.图1b是根据替选实施方式的网络实现的示意性框图;
9.图1c是根据实施方式的预测系统的示意性框图;
10.图2a是根据实施方式的系统数据的示意性框图;
11.图2b是根据实施方式的设计数据的示意性框图;
12.图2c是根据实施方式的模型数据的示意性框图;
13.图2d是根据实施方式的模型参数的示意性框图;
14.图2e是根据实施方式的算法数据的示意性框图;
15.图2f是根据实施方式的算法参数的示意性框图;
16.图2g是根据实施方式的计算数据的示意性框图;
17.图2h是根据实施方式的启发式引导索引(heuristic guidance index)的示意性框图;
18.图2i是根据实施方式的变体实例模式(variant instances schema)的示意性框图;
19.图3a是根据实施方式的网络调度器(network scheduler)的示意性框图;
20.图3b是根据实施方式的时间感知调度(time aware scheduling)的框图;
21.图3c是根据实施方式的预测性能的示意性流程图;
22.图4是根据实施方式的计算机的示意性框图;
23.图5a是根据实施方式的离线网络预测方法的示意性流程图;
24.图5b是根据实施方式的在线网络预测方法的示意性流程图;
25.图5c是根据实施方式的设计方法的示意性流程图;以及
26.图5d是根据实施方式的度量测量方法的示意性流程图。
具体实施方式
27.贯穿本说明书对“一个实施方式”、“实施方式”或类似语言的引用意指结合该实施方式描述的特定特征、结构或特性包括在至少一个实施方式中。因此,除非另有明确说明,否则贯穿本说明书,短语“在一个实施方式中”、“在实施方式中”以及类似的语言的出现可以但不一定全部指代同一实施方式,而是意指“一个或更多个实施方式而非所有实施方式”。除非另外明确说明,否则术语“包含”、“包括”、“具有”及其变型意指“包括但不限于”。除非另有明确说明,否则列举项目清单并不暗指项目中的任何或所有项目是相互排斥和/或相互包含的。除非另有明确说明,否则术语“一(a)”、“一个(an)”和“该(the)”还指代“一个或更多个”。术语“和/或”指示所列元件中的一个或更多个的实施方式,其中“a和/或b”指示单独的元件a、单独的元件b或者结合起来的元件a和元件b的实施方式。
28.此外,实施方式的所描述的特征、优点和特性可以以任意合适的方式组合。相关领域的技术人员将认识到,可以在没有特定实施方式的一个或更多个具体特征或优点的情况下实践实施方式。在其他情况下,可以在某些实施方式中识别出可能在所有实施方式中均没有呈现的附加特征和优点。
29.根据以下描述和所附权利要求,实施方式的这些特征和优点将变得更充分地明显,或者可以通过如在下文中所阐述的实施方式的实践来获知实施方式的这些特征和优点。如本领域技术人员将理解的,本发明的方面可以被实施为系统、方法和/或计算机程序产品。因此,本发明的各个方面可以采取以下形式:完全硬件实施方式、完全软件实施方式(包括固件、驻留软件、微代码等)或者结合软件方面和硬件方面的实施方式,这些形式在本文中可以统称为“电路”、“模块”或“系统”。此外,本发明的各方面可以采用包含在一个或更多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质上包含程序代码。
30.本说明书中描述的许多功能单元已经被标记为模块,以更具体地强调其实现方式的独立性。例如,可以将模块实现为包括定制vlsi电路或门阵列的硬件电路、例如逻辑芯片的成品半导体、晶体管或其他离散的部件。模块还可以以例如现场可编程门阵列、可编程阵列逻辑、可编程逻辑装置等的可编程硬件装置来实现。
31.模块还可以以用于由各种类型的处理器执行的软件来实现。程序代码的识别模块可以例如包括计算机指令的一个或更多个物理块或逻辑块,所述一个或更多个物理块或逻辑块可以例如被组织为对象、过程或函数。然而,识别模块的可执行文件不需要物理地定位在一起,而是可以包括存储在不同位置中的不同指令,这些存储在不同位置中的不同指令在逻辑上结合在一起时包括该模块并且实现针对该模块所陈述的目的。
32.实际上,程序代码的模块可以为单个指令或多个指令,并且甚至可以分布在若干个不同的代码段上、分布在不同的程序中以及跨若干个存储装置分布。类似地,在本文中操作数据可以在模块内被识别和示出,并且可以以任何合适的形式来体现且被组织在任何合适类型的数据结构内。操作数据可以被集合为单个数据集,或者可以分布在不同的位置上,包括分布在不同的存储装置上,并且可以至少部分地仅作为电子信号存在于系统或网络上。在以软件来实现模块或模块的部分的情况下,程序代码可以存储在一个或更多个计算机可读介质中和/或在一个或更多个计算机可读介质中传播。
33.计算机可读介质可以是存储程序代码的有形计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子的、磁的、光学的、电磁的、红外的、全息的、微机械的或半导体的系统、设备或装置,或者前述的任何合适的组合。
34.计算机可读存储介质的更具体示例可以包括但不限于:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪速存储器)、便携式致密盘只读存储器(cd-rom)、数字多功能盘(dvd)、光学存储装置、磁性存储装置、全息存储介质、微机械存储装置或前述的任何合适的组合。在本文的上下文中,计算机可读存储介质可以是任何有形介质,该有形介质可以包含和/或存储由指令执行系统、设备或装置使用和/或与指令执行系统、设备或装置结合使用的程序代码。
35.计算机可读介质还可以是计算机可读信号介质。计算机可读信号介质可以包括例如在基带中或作为载波的一部分中的、包含程序代码的传播数据信号。这样的传播信号可以采取各种形式中的任何形式,包括但不限于电的、电磁的、磁的、光学的或其任何合适的组合。计算机可读信号介质可以为不是计算机可读存储介质并且可以传递、传播或传送由指令执行系统、设备或装置使用或者与指令执行系统、设备或装置结合使用的程序代码的任何计算机可读介质。在计算机可读信号介质上包含的程序代码可以使用任何合适的介质来传输,所述介质包括但不限于电线、光纤、射频(rf)等或者前述的任何合适的组合。
36.在一个实施方式中,计算机可读介质可以包括一个或更多个计算机可读存储介质以及一个或更多个计算机可读信号介质的组合。例如,程序代码既可以作为电磁信号通过光纤线缆传播以由处理器执行,又可以被存储在ram存储设备上以由处理器执行。
37.用于执行本发明的各个方面的操作的程序代码可以以一种或更多种编程语言的任何组合来编写,所述编程语言包括:面向对象的编程语言,例如python、ruby、r、java、java script、smalltalk、c++、c sharp、lisp、clojure、php等;以及常规的过程编程语言,例如“c”编程语言或类似的编程语言。程序代码可以完全在用户计算机上执行,部分地在用户计算机上执行,作为独立的软件包执行,部分地在用户计算机上并且部分地在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后者的情况下,远程计算机可以通过包括局域网(lan)或广域网(wan)的任意类型的网络连接至用户计算机,或者可以与外部计算机进行连接(例如,使用因特网服务提供者通过因特网)。计算机程序产品可以被共享,以灵活、自动化的方式同时服务多个客户。
38.计算机程序产品可以通过下述方式集成至客户端、服务器和网络环境中:提供与应用、操作系统和网络操作系统软件共存的计算机程序产品,并且然后将计算机程序产品安装在其中计算机程序产品将起作用的环境中的客户端和服务器上。在一个实施方式中,在计算机程序产品所需要的或者与计算机程序产品结合工作的、包括其中将部署有计算机程序产品的网络操作系统的客户端和服务器上识别软件。这包括作为通过添加联网特征来增强基本操作系统的软件的网络操作系统。
39.此外,实施方式的所描述的特征、结构或特性可以以任何合适的方式组合。在以下描述中,提供了许多特定细节,例如编程、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等的示例以提供对实施方式的透彻理解。然而,相关领域的技术人员将认识到,可以在没有一个或更多个具体细节的情况下实践实施方式,或者利用其他方法、部件、材料等来实践实施方式。在其他实例中,未详细描述或示出公知的结构、材料或操作,以避免使实施方式的方面模糊。
40.实施方式可以在电子装置之间传输数据。实施方式还可以将数据从第一格式转换为第二格式,包括将数据从非标准格式转换为标准格式和/或将数据从标准格式转换为非标准格式。实施方式可以修改、更新和/或处理数据。实施方式可以存储接收的数据、转换的数据、修改的数据、更新的数据和/或处理的数据。实施方式可以提供对包括更新的数据的数据的远程访问。实施方式可以使数据和/或更新的数据实时可用。实施方式可以基于数据和/或更新的数据实时地生成消息并传输消息。实施方式可以安全地传送加密的数据。实施方式可以组织数据以进行高效的验证。另外,实施方式可以响应于动作和/或动作的缺少来验证数据。
41.下面参照根据本发明的实施方式的方法、设备、系统以及计算机程序产品的示意性流程图和/或示意性框图来描述实施方式的方面。应当理解,可以通过程序代码来实现示意性流程图和/或示意性框图中的每个框以及示意性流程图和/或示意性框图中的框的组合。可以将程序代码提供给通用计算机、专用计算机、定序器或其他可编程数据处理设备的处理器以产生机器,使得经由计算机或其他可编程数据处理设备的处理器执行的指令创建用于实现在示意性流程图和/或示意性框图的一个或多个框中所指定的功能/动作的装置。
42.程序代码还可以被存储在计算机可读介质中,该计算机可读介质可以引导计算
机、其他可编程数据处理设备或其他装置以特定方式起作用,使得存储在该计算机可读介质中的指令产生包括指令的制品,该指令实现在示意性流程图和/或示意性框图的一个或多个框中指定的功能/动作。
43.程序代码还可以被加载至计算机、其他可编程数据处理设备或其他装置上,以使在计算机、其他可编程设备或其他装置上执行一系列操作步骤以生成计算机实现的处理,使得在计算机或其他可编程设备上执行的程序代码提供用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的处理。
44.附图中的示意性流程图和/或示意性框图示出了根据本发明的各个实施方式的设备、系统、方法和计算机程序产品的可能的实现方式的架构、功能和操作。就这一点而言,示意性流程图和/或示意性框图中的每个框可以表示包括用于实现所指定的逻辑功能的程序代码中的一个或更多个可执行指令的模块、区段或代码的一部分。
45.还应当注意,在一些替选实现方式中,在框中指出的功能可以不按照附图中指出的顺序发生。例如,根据所涉及的功能,被示出为连续的两个框实际上可以基本上同时执行,或者框有时可以按照相反的顺序执行。可以设想在功能、逻辑或效果上等同于示出的附图中的一个或更多个框或其部分的其他步骤和方法。
46.尽管在流程图和/或框图中可以采用各种箭头类型和线类型,但是它们要被理解为不限制对应的实施方式的范围。实际上,一些箭头或其他连接符可以仅用于指示描绘的实施方式的逻辑流。例如,箭头可以指示在描绘的实施方式的列举步骤之间的未指定持续时间的等待或监视时段。还将要注意,框图和/或流程图中的每个框以及框图和/或流程图中的框的组合可以由执行指定功能或动作的基于专用硬件的系统或者专用硬件和程序代码的组合来实现。
47.对每个图中的元件的描述可以参照前面的图的元件。在包括相似的元件的替选实施方式的所有图中,相似的附图标记指代相似的元件。
48.图1a是网络实现100a的示意性框图。在所描绘的实施方式中,网络实现100a包括多个服务器103、多个交换机105和多个站107。在一个实施方式中,网络实现100a连接至广域网(wan)115。网络实现100a可以是工业自动化网络。站107可以包括传感器、设备柜、电机驱动器等。交换机105、站107、服务器103和/或wan 115之间的互连可以是以太网连接。
49.当对网络实现100a进行设计和/或升级时,预览网络性能是有用的。遗憾的是,仅使用网络性能的计算或网络性能的仿真通常产生不准确的预测。如下文将描述的,实施方式使用模型的组合来执行网络实现100a以改进网络性能的预测。
50.图1b是网络实现100b的示意性框图。网络实现100b可以是更大的网络实现100的一部分。在所描绘的实施方式中,示出了多个站107和交换机105。站107可以是单端口端站107a或双端口端站107b。还示出了数据流102的方向。
51.当对网络实现100b进行设计时,了解整个系统100b的利用率104是有利的。例如,给定站107处的带宽利用率104a可能是容量的95%,导致不可接受的网络实现100b性能。实施方式可以基于带宽利用率104a指示故障,从而可以对系统100b进行升级。
52.类似地,在另一个站107处缓冲区利用率(buffer utilization)104b可以是容量的85%。实施方式可以指示可能引起系统参数改变和/或升级的警报。流裕度利用率(flow margin utilization)104c可以指示35%的流延迟裕度(flow latency margin)和100%的
分组传送。实施方式可以指示不需要系统改变的良好性能。
53.图1c是预测系统120的示意性框图。预测系统120可以预测网络实现100的性能。此外,预测系统120可以迭代地调整网络实现100以生成令人满意的网络设计121。在所描绘的实施方式中,预测系统120包括网络设计121、网络仿真模型125、网络演算模型127、网络优化器123和网络操作模型129。
54.预测系统120可以针对网络实现100的网络演算模型127以第一标准格式生成133算法参数。可以根据算法参数生成网络演算模型127。网络演算模型127可以对网络实现100的最坏情况性能进行建模。
55.此外,预测系统120可以根据设计数据针对网络仿真模型125以第二标准格式生成131模型参数。可以根据模型参数生成网络仿真模型125。网络仿真模型125可以对网络实现100的概率性能进行建模。
56.可以执行网络演算模型127来确定网络演算结果263。可以执行网络仿真模型125来确定网络仿真结果261。网络演算结果263和网络仿真结果可以被网络优化器123采用,以对用于网络设计121的设计数据进行更新143。由于网络演算结果263和网络仿真结果261两者都用于对网络设计121进行更新143,因此得到的网络设计121变得更加鲁棒并且快速收敛于成本效益高的解决方案。
57.在一个实施方式中,根据网络设计121利用网络实现100对网络操作模型129进行配置。网络操作模型129可以包括网络实现100的互连、物理交换机105和站107以及由网络设计121指定的软件。网络操作模型129可以在运行时进行操作。可以针对网络操作模型129测量概率度量269并使用概率度量269来对网络仿真模型125进行更新。因此,网络仿真模型125被进一步增强并且迭代地收敛于网络实现100的更准确的表示。
58.可以测量针对网络操作模型129的最坏情况度量271并且使用最坏情况度量271来对网络演算模型127进行更新。因此,网络演算模型127被改进并且迭代地收敛于网络实现100的更准确的表示。
59.此外,可以通过网络操作模型129针对网络实现100对概率性能进行建模。因此,实施方式快速且迭代地改进网络设计121和对网络设计121的建模。因此,可以准确地预测包括图1b中所示的带宽利用率104a、缓冲区利用率104b和流裕度利用率104c的参数。
60.图2a是系统数据200的示意性框图。系统数据200可以用于实现一种或更多种网络设计121。系统数据200可以被组织为存储器中的数据结构。在所描绘的实施方式中,系统数据200包括用于多个网络实现100的设计数据201。每个设计数据201可以表示独特的网络实现100。
61.此外,系统数据200可以包括网络设计器275。网络设计器275可以用于生成用于网络设计121的设计数据201。在一个实施方式中,网络设计器275包括设计向导界面。此外,网络设计器275可以包括选择算法。如下文将描述的,选择算法可以基于启发式引导索引来选择设计数据201的实例。
62.在一个实施方式中,系统数据200包括度量阈值276。度量阈值276可以指定是否已经从网络仿真模型125、网络演算模型127和/或网络操作模型129测量了足够的度量。
63.图2b是设计数据201的示意性框图。设计数据201可以定义网络实现100。设计数据201可以被组织为存储器中的数据结构。在所描绘的实施方式中,设计数据201包括模板数
据203、应用配置参数205、数据表参数207、网络参数209、流规范219、流路径218、拓扑216、装置和网络约束214、启发式引导索引280、概率性能208、最坏情况性能206、硬件配置204和软件配置202。
64.模板数据203可以包括用于创建网络实现100的一个或更多个模板库。在一个实施方式中,模板数据203可以包括用于经验证的网络实现100的模板。在某些实施方式中,模板数据203包括针对设计数据201的运行时得分(run-time score)。运行时得分可以用于选择用于后续的网络实现100的设计数据201。
65.应用配置参数205可以指定包尺寸、循环数据包间隔、循环数据带宽限制、运动更新循环等。数据表参数207可以包括用于一个或更多个交换机105、站107、wan网络115和/或服务器103的参数。在一个实施方式中,网络参数209包括网络带宽、服务质量、交换机端口最大队列缓冲区、业务监管规则、转发规则、传输规则等。
66.流规范219可以用于实时和非实时业务建模。如本文所使用,实时数据、实时业务和/或实时数据流指的是具有最小指定延迟和抖动(jitter)的通信包。如本文所使用的,非实时数据、非实时业务和/或非实时数据流指的是没有最小延迟和抖动的通信包。流规范219可以指定流路径218上的业务。流路径218可以指定网络实现100中的流包的传输路线(transmission route)。
67.拓扑216可以指定网络实现100的服务器103、交换机105、站107和wan网络115的布局。拓扑216可以影响用于实时业务和非实时业务的流路径。
68.装置和网络约束214可以针对每个交换机105、站107和网络实现100指定最大带宽、最大缓冲区利用率、端口最大队列尺寸以及流延迟和/或抖动裕度。装置和网络约束214可以包括实时业务保证和/或非实时业务保证。在一个实施方式中,装置和网络约束214包括在系统策略265中。
69.启发式引导索引280可以建议用于网络设计121的参数。在图2h中更详细地描述了启发式引导索引280。可以针对网络实现100对概率性能208进行建模。在一个实施方式中,使用网络操作模型129对概率性能进行建模。在另一实施方式中,使用网络仿真模型125对概率性能进行建模。概率性能模型208可以包括针对网络实现100的带宽利用率、缓冲区利用率以及流延迟和/或抖动裕度的统计简档。
70.在一个实施方式中,可以通过用于网络实现100的网络演算模型127对最坏情况性能206进行建模。最坏情况性能206可以是针对网络实现100的带宽利用率、缓冲区利用率以及/或者流延迟和/或抖动裕度的最坏表现简档。
71.硬件配置204可以指定用于网络实现100的服务器103、交换机105和站107。此外,硬件配置204可以指定服务器103、交换机105和站107之间的互连。
72.软件配置202可以指定用于网络实现100的服务器103、交换机105和站107的软件。软件配置202可以指定每个软件元素的版本。
73.图2c是模型数据220的示意性框图。模型数据220可以包括用于多个网络仿真模型125的模型参数221。模型数据220可以被组织为存储器中的数据结构。在一个实施方式中,每个模型参数221对应于网络设计121和/或网络实现100。
74.图2d是模型参数221的示意性框图。模型参数221可以如所示的那样针对网络仿真模型125以第二标准格式来组织。第二标准格式可以支持由网络优化器123对数据的合并
(consolidation)。如本文所使用的,合并指的是将数据组织成网络优化器123、仿真模型125和网络操作模型129之间可互换的格式。模型参数221还可以被组织为存储器中的数据结构。在所描绘的实施方式中,模型参数221包括仿真情况229、装置和网络能力227、流包模式231、网络拓扑233、网络处理时间235、网络服务质量237、链路带宽利用率239、队列缓冲区利用率441、流延迟和/或抖动裕度443、流包丢失率447、流类型449、流路径218、流包尺寸451和流包间隔453。网络实现100可以是通用工业协议(cip)网络并遵循如本技术提交日定义的开放系统互连(osi)模型。流类型449可以是cip运动流、cip安全流、cip输入输出(i/o)流、cip显式消息流或其他类型的cip流。
75.仿真情况229可以包括变体实例模式的特定实现。网络仿真模型125可以生成作为变体实例模式的特定实现的仿真情况229。在某些实施方式中,仿真情况229是根据网络演算模型127的算法参数的变体实例模式的特定实现。在一个实施方式中,仿真情况229基于启发式引导索引280。在下文中,在图2i中对变体实例模式进行描述。
76.装置和网络能力227可以指定用于交换机105的物理网络带宽、队列缓冲区尺寸、等等。流包模式231可以指定在网络实现100的服务器103、交换机105和站107之间流包的分布。流包模式231可以是流规范219的输入。
77.网络拓扑233可以针对网络仿真模型125和/或网络演算模型127指定拓扑216的实例。网络拓扑233可以包括用于网络实现100的服务器103、交换机105和站107的拓扑。网络处理时间235可以包括用于每个交换机105的交换机处理时间和用于站107、交换机105等之间的通信的网络传输时间。网络处理时间可能影响流延迟和/或抖动。
78.网络服务质量237可以指定将由网络仿真模型125和/或网络演算模型127进行建模的服务的水平。在一个实施方式中,网络服务质量237可以在英特网协议(ip)报头中针对一个或更多个流包指定差分服务代码点(dscp)值。在另一实施方式中,网络服务质量237在虚拟局域网(vlan)标签中指定优先级代码点(pcp)值。此外,网络服务质量237可以指定交换机传输算法。网络服务质量237还可以针对指定的流类型449指定分配的带宽。
79.链路带宽利用率239可以指定服务器103、交换机105和/或站107处的最大允许带宽利用率。链路带宽利用率239可以是对网络仿真模型125和/或网络演算模型127的约束。所有链路带宽利用率的最小值可以用作网络带宽利用率。
80.队列缓冲区利用率441可以指定最大允许队列缓冲区利用率。队列缓冲区利用率441可以是对网络仿真模型125和/或网络演算模型127的约束。流延迟和/或抖动裕度443可以指定流路径上或者例如服务器103、交换机105和/或站107的装置处的最大流延迟和/或抖动裕度。流延迟和/或抖动裕度443可以是对网络仿真模型125和/或网络演算模型127的约束。
81.流包丢失率447可以指定流包的最大丢失率。流包丢失率447可以是对网络仿真模型125和/或网络演算模型127的约束。
82.流类型449可以指定网络实现100的流类型。流类型449可以指定业务服务质量并且可以包括dscp值和/或pcp值。流类型449可以是流规范219的输入。流路径218可以针对网络实现100中的流包指定传输路线。
83.流包尺寸451可以指定网络实现100的流中的流包的统计包尺寸。流包尺寸451可以是流规范219的输入。流包间隔453可以指定网络实现100中的两个数据流包之间的统计
时间。流包间隔453可以是流规范219的输入。
84.图2e是算法数据240的示意性框图。算法数据240可以包括用于多个网络演算模型127的算法参数241。算法数据240可以被组织为存储器中的数据结构。每个算法参数241可以对应于网络设计221和/或网络实现100。算法参数241可以对网络实现100的网络服务和业务的粗略粒度(rough granularity)进行建模。
85.图2f是算法参数241的示意性框图。算法参数241可以针对网络演算模型127以第一标准格式组织。第一标准格式可以支持由网络优化器123对数据的合并。如本文所使用的,合并指的是将数据组织成在网络优化器123、演算模型127和网络操作模型129之间可互换的格式。算法参数241还可以被组织为存储器中的数据结构。在所描绘的实施方式中,算法参数241包括变体实例模式249、装置和网络能力227、流包模式231、网络拓扑233、网络处理时间235、网络服务质量237、链路带宽利用率239、队列缓冲区利用率441、流延迟和/或抖动裕度443、流包丢失率447、流类型449、流路径218、流包尺寸451和流包间隔453。在下文中,在图2i中对变体实例模式249进行描述。
86.图2g是计算数据260的示意性框图。计算数据260可以由网络仿真模型125、网络演算模型127和/或网络操作模型129生成。计算数据260可以被网络优化器123采用来对网络设计121进行更新143。在所描绘的实施方式中,计算数据260包括网络仿真结果261、网络演算结果263、实时业务保证273、非实时业务保证274、系统策略差异267、概率度量269和最坏情况度量271。实时业务保证273和非实时业务保证274可以包括在装置和网络约束214中。
87.网络仿真结果261可以包括针对网络仿真模型125的带宽利用率、缓冲区利用率、延迟裕度、抖动裕度等。网络演算结果263可以指定针对网络演算模型127的带宽利用率、缓冲区利用率、延迟裕度、抖动裕度等。第一标准格式和第二标准格式的使用确保了来自网络仿真结果261和网络演算结果263两者的带宽利用率、缓冲区利用率、延迟裕度和抖动裕度是兼容的。
88.实时业务保证273可以指定针对网络实现100的实时建模的最小业务水平。实时业务保证273对于变体实例模式249可以是有效的。非实时业务保证274可以指定针对网络实现100的非实时建模的最小业务水平。非实时业务保证274对于变体实例模式249可以是有效的。
89.系统策略差异267可以记录网络演算结果263、网络仿真结果261和系统策略265之间的差异。系统策略差异267可以用于对用于网络设计121和/或网络实现100的设计数据201进行更新。
90.概率度量269可以统计地描述网络实现100的操作。在一个实施方式中,概率度量269统计地描述带宽利用率、缓冲区利用率、延迟裕度、抖动裕度、包丢失率等。概率度量269可以由网络操作模型129生成。最坏情况度量271可以描述网络实现100的最坏情况操作。在一个实施方式中,最坏情况度量270统计地描述带宽利用率、缓冲区利用率、延迟裕度、抖动裕度、包丢失率等。最坏情况度量271可以由网络操作模型129生成。
91.图2h是启发式引导索引280的示意性框图。可以向用户和/或管理员呈现网络引导索引280的元素以建议用于网络实现100的参数。启发式引导索引280也可以用于自动生成用于网络实现100的参数。启发式引导索引280可以被组织为存储器中的数据结构。在所描绘的实施方式中,启发式引导索引280包括调度支持索引281、业务类型索引283、弹性支持
索引(resilient support index)285、实时业务291、网络服务293和非实时业务295。
92.调度支持索引281可以通过建议是否支持调度功能来引导网络设计121和/或网络实现100。业务类型索引283可以通过建议针对网络实现100中的指定应用业务的业务类型来引导网络设计121和/或网络实现100。弹性支持索引285可以通过建议针对网络实现100中特定应用业务的高弹性、高冗余和/或高鲁棒性方法来引导网络设计121和/或网络实现100。
93.实时业务291、网络服务293和非实时业务295可以各自指定网络实现100的数学表示。实时业务291可以指定网络实现100中的实时业务的数学表示。非实时业务295可以指定网络实现100中的非实时业务的数学表示。网络服务293可以指定网络实现100的网络服务能力的数学表示。
94.图2i是变体实例模式249的示意性框图。变体实例模式249可以包括网络实现100的数学表示。变体实例模式249可以被组织为存储器中的数据结构。在所描绘的实施方式中,变体实例模式249包括实时业务291、网络服务293和非实时业务295。在一个实施方式中,实时业务291、网络服务293和非实时业务295中的一个或更多个的实例被排除在变体实例模式249之外。变体实例模式249可以由网络演算模型127生成。在一个实施方式中,变体实例模式249是基于设计数据201而生成的。
95.图3a是网络调度器300的示意性框图。网络调度器300可以生成流包传输的安排表(schedule)。网络调度器300可以在网络设计121中实施。在所描绘的实施方式中,安排表合成引擎301接收设计数据201。
96.安排表合成引擎301可以针对网络演算模型127和/或网络仿真模型125生成包事务的安排表303。安排表合成引擎301可以采用一种或更多种算法来生成安排表303。网络调度器300可以向网络演算模型127提供安排表303。在一个实施方式中,安排表合成引擎301链接305至网络演算模型127。网络演算模型127可以帮助网络调度器300合成网络安排表。
97.图3b是时间感知调度的框图。时间感知调度可以由交换机105执行。在所描绘的实施方式中,在整形器(shaper)337的接收器313处接收包括实时业务类别319的实时数据流323和包括非实时业务类别321的非实时数据流325。整形器337可以是交换机105的简化转发结构。实时数据流323可以存储在实时队列327中。非实时数据流325可以存储在非实时队列329中。实时数据流323和非实时数据流325通过时间感知门控件(time-aware gate control)311分别从实时队列327和非实时队列329释放。
98.在所描绘的实施方式中,以子循环tx、ty、tz和当前子循环示出两个网络循环317n/n+1。时间感知门控件311可以对向传送器315打开实时队列327或非实时队列329中的任一者进行调度。安排表可以基于在目的地站107和/或服务器103处实时数据流323的到达期限。在所描述的实施方式中,时间感知门控件311对向传送器315打开实时队列327和非实时队列329之间的交替进行调度。因此,在子循环tu中,从传送器315传送多个实时数据流323,并且在子循环tv中,从传送器315传送多个非实时数据流325。然而,时间感知门控件311可以增加对传送器315的实时队列327的打开,以确保满足实时数据流323的到达期限。因此,基于实时业务类别319和非实时业务类别321来对数据流进行调度。
99.图3c是预测性能的示意性流程图。在所描绘的实施方式中,使用应用配置参数205来定义流规范219、流路径218和拓扑216。网络设计器275可以采用应用配置参数205来定义
流规范219、流路径218和拓扑216。
100.可以根据流规范219、流路径218、拓扑216、数据表参数207和/或网络参数209来创建网络设计121。从网络设计121生成131网络仿真模型125。此外,从网络设计121生成133网络演算模型127。执行网络仿真模型125以确定网络仿真结果261。此外,执行网络演算模型127以确定网络演算结果263。将网络仿真结果261和网络演算结果263与装置和网络约束214进行比较以生成针对网络实现100的预测结果450。预测结果450可以是选自带宽利用率、缓冲区利用率、延迟裕度、抖动裕度和包丢失率的关键性能指标。例如,用于实时数据流323的关键性能指标可以是100微秒(μs)的延迟、100纳秒(ns)的抖动和零百分比的包丢失。此外,用于非实时数据流325的关键性能指标可以是10毫秒(ms)的延迟、无抖动要求和0.001%的包丢失。
101.图4是计算机400的示意性框图。计算机400可以在服务器103、交换机105和/或站107中实施。在描绘的实施方式中,计算机400包括处理器405、存储器410和通信硬件415。存储器410可以包括半导体存储装置、硬盘驱动器、光学存储装置或它们的组合。存储器410可以存储代码和/或数据。处理器405可以执行代码和/或处理数据。通信硬件415可以与其他装置通信。
102.图5a是离线网络预测方法500的示意性流程图。方法500可以使用网络仿真模型125和网络演算模型127对网络设计121进行离线建模。方法500还可以对网络设计121的设计数据201进行更新。方法500可以由预测系统120的一个或更多个处理器405执行。
103.方法500开始,并且在一个实施方式中,处理器405生成501算法参数241。可以以第一标准格式生成501算法参数241。例如,可以将设计数据201修改为图2f中所示的第一标准格式。在一个实施方式中,根据用于网络实现100的设计数据201生成算法参数241。此外,可以针对网络演算模型127生成501算法参数241。
104.处理器405可以根据算法参数241生成503网络演算模型127。网络演算模型127可以对网络实现100的最坏情况性能进行建模。
105.处理器405可以生成505模型参数221。可以以第二标准格式生成505模型参数221。例如,可以将设计数据201修改为图2d中所示的第二标准格式。可以根据用于网络实现100的设计数据201生成505模型参数221。此外,可以针对网络仿真模型125生成505模型参数221。
106.处理器405可以根据模型参数221生成507网络仿真模型125。网络仿真模型125可以对网络实现100的概率性能进行建模。
107.处理器405可以执行509网络演算模型127以确定网络演算结果263。此外,处理器405可以执行511网络仿真模型125以确定网络仿真结果261。
108.处理器405可以确定513网络演算结果263、网络仿真结果261和系统策略265之间的系统策略差异267。在一个实施方式中,系统策略差异267包括网络演算结果263的元素与网络仿真结果261的元素之间的差异。此外,系统策略差异267可以包括网络演算结果263的元素与系统策略265的元素之间的差异。系统策略差异267可以包括网络仿真结果261的元素与系统策略265的元素之间的差异。
109.在一个实施方式中,系统策略差异267包括网络仿真结果261和/或网络演算结果263的不满足系统策略265的元素。在某些实施方式中,系统策略差异267仅包括其中网络仿
真结果261和网络演算结果263两者都不满足系统策略265的元素。
110.在一个实施方式中,针对网络演算结果263、网络仿真结果261和系统策略265的对应元素,基于表1确定513系统策略差异267。系统策略265元素可以不具有调整裕度,其中系统策略265元素不能自动改变和/或调整。此外,系统策略265元素可以具有调整裕度,其中系统策略265元素可以自动升级或降级以符合网络仿真结果261和/或网络演算结果263。
111.表1
[0112][0113]
处理器405确定515是否满足系统策略265。如果满足系统策略265,则方法500结束。如果不满足系统策略265,则处理器405可以对设计数据201进行更新517并且循环以生成501算法参数241。对设计数据201进行更新517可以调整网络实现101。可以基于系统策略差异267对设计数据201进行更新517。在一个实施方式中,使用启发式引导索引280来自动对网络设计121进行改变以对设计数据201进行更新。此外,可以向用户和/或管理员呈现启发式引导索引280。用户和/或管理员可以对设计数据201进行改变以对设计数据201进行更新517。因此,可以迭代地对设计数据201和/或网络设计121进行更新517直到满足系统策略265为止。在一个实施方式中,满足系统策略265验证设计数据201和/或网络设计121。
[0114]
使用第一标准格式和第二标准格式来生成各自高效且有效地对网络设计121的不同方面进行建模的网络演算模型127和网络仿真模型125。网络优化器123根据网络仿真结果261和网络演算结果263的相互比较以及与系统策略265的比较确定系统策略差异267。因此,更容易发现与系统策略265的偏差,允许网络优化器123对网络设计121进行更新。
[0115]
图5b是在线网络预测方法550的示意性流程图。方法550可以使用网络操作模型129对网络设计121进行在线建模。方法550可以由预测系统120的一个或更多个处理器405执行。
[0116]
方法550开始,并且在一个实施方式中,处理器405利用网络实现100配置551网络操作模型129。在一个实施方式中,处理器405为网络操作模型129提供由设计数据201的硬件配置204指定的服务器103、交换机105和站107。此外,处理器405可以为网络操作模型129提供由设计数据201的软件配置202指定的软件。
[0117]
处理器405可以在运行时操作553网络操作模型129。在一个实施方式中,网络操作模型129基于设计数据201、网络实现100、流规范219、流路径218和/或拓扑216生成和递送包括实时数据流323和非实时数据流325的业务。
[0118]
处理器405可以测量555针对网络操作模型129的概率度量269。概率度量269可以统计地描述网络实现100的操作。在一个实施方式中,处理器405记录针对网络操作模型129的服务器103、交换机105和/或站107的带宽利用率、缓冲区利用率以及流延迟和/或抖动裕度的统计模型。
[0119]
处理器405还可以基于概率度量269对网络仿真模型125进行更新557。概率度量269可以扩展仿真情况229中的变体实例模式249的实例。在一个实施方式中,基于概率度量269来对用于网络仿真模型125的模型参数221进行更新557。可以对模型参数221进行更新557以与概率度量269匹配。
[0120]
处理器405可以通过执行经更新的网络仿真模型125来预测559网络实现100的概率性能208。
[0121]
处理器405可以测量561针对网络操作模型129的最坏情况度量271。在一个实施方式中,处理器405记录针对网络操作模型129的服务器103、交换机105和/或站107的带宽、缓冲区利用率、流延迟和/或抖动裕度443、延迟、抖动和包丢失率的最差执行实例。
[0122]
处理器405可以基于最坏情况度量271对网络演算模型127进行更新563。在一个实施方式中,调整算法数据241以与最坏情况度量271匹配。
[0123]
处理器405可以通过执行经更新的网络演算模型127来预测565网络实现100的最坏情况性能206。
[0124]
在一个实施方式中,处理器405基于概率度量269和/或最坏情况度量271对设计数据201进行更新567。例如,可以基于概率度量269和最坏情况度量271对概率性能208和最坏情况性能206进行更新。对设计数据201进行更新567还可以调整网络设计121和/或网络实现100。
[0125]
处理器405可以确定569是否满足系统策略265。如果满足系统策略265,则方法550结束。如果不满足系统策略265,则处理器405可以循环以基于经更新的设计数据201来配置551网络操作模型129。
[0126]
图5c是设计方法600的示意性流程图。方法600可以基于设计数据201生成网络实现100。方法600可以由预测系统120的一个或更多个处理器405来执行。此外,方法600可以由网络设计器275和/或在处理器405上执行的网络设计器275的设计向导界面来执行。例如,网络设计器275可以基于模板数据203呈现多个画面,该模板数据203允许用户和/或管理员选择用于网络设计121的设计数据201。
[0127]
方法600开始,并且在一个实施方式中,处理器405确定601针对网络实现100的装置和网络约束214。在一个实施方式中,处理器405确定601针对网络实现100的最大带宽、最大缓冲区利用率以及/或者流延迟和/或抖动裕度。可以基于流规范219、流路径218、网络拓扑216、数据表参数207和/或网络参数209来确定601装置和网络约束214。
[0128]
处理器405可以识别603针对装置和网络约束214的匹配设计数据201。在一个实施方式中,处理器405在系统数据200中搜索与装置和网络约束214匹配的设计数据201。多个设计数据201可以与装置和网络约束214匹配。
[0129]
在一个实施方式中,处理器405基于来自模板数据203的运行时得分来识别603匹配设计数据201。例如,处理器405可以识别603满足装置和网络约束214的并且具有最高的运行时得分的匹配设计数据201。
[0130]
处理器405可以呈现605从系统数据200中选择的匹配设计数据201的启发式引导索引280。可以呈现605针对多个设计数据201的启发式引导索引280。可以向用户和/或管理员呈现605启发式引导索引280。用户和/或管理员可以基于启发式引导索引280从多个设计数据201中选择设计数据201的实例。
[0131]
此外,可以向选择算法呈现605启发式引导索引280。选择算法可以基于用于设计数据201的实例的启发式引导索引280从多个设计数据201中选择设计数据201的实例。
[0132]
处理器405可以接收607设计数据201的选择。可以从用户和/或管理员接收607设计数据201的选择。此外,可以从选择算法接收607设计数据201的选择。
[0133]
处理器405可以基于所选择的设计数据201生成609网络实现100并且方法600结束。在一个实施方式中,处理器405为网络实现100和/或网络操作模型129提供由设计数据201的硬件配置204指定的服务器103、交换机105和/或站107。此外,处理器405可以为网络实现100和/或网络操作模型129提供由设计数据201的软件配置202指定的软件。
[0134]
图5d是度量测量方法650的示意性流程图。方法650可以测量网络设计121的度量并且如果不满足度量阈值276,则测量附加的度量。方法650可以由预测系统120的一个或更多个处理器405执行。
[0135]
方法650开始,并且在一个实施方式中,处理器405操作651网络操作模型129。此外,处理器405可以操作网络仿真模型125和/或网络演算模型127。
[0136]
处理器405可以从网络操作模型129、网络仿真模型125和/或网络演算模型127测量653一个或更多个度量。度量可以选自网络仿真结果261、网络演算结果263、概率度量269和最坏情况度量271。
[0137]
处理器405可以确定655是否满足度量阈值276。如果满足度量阈值276,则方法650结束。如果不满足度量阈值276,则处理器405测量657附加的度量直到满足度量阈值276为止。
[0138]
问题/解决方案
[0139]
通常在工业自动化设置中提供网络实现100。遗憾的是,很难知道网络实现100是否会具有足够的性能。实施方式支持使用网络演算模型127、网络仿真模型125和/或网络操作模型129的组合来计算和/或确定网络实现100。网络演算模型127、网络仿真模型125和网络操作模型129中的每一个允许准确计算和/或确定网络实现100的不同方面,从而提供更准确的性能预测结果450。
[0140]
实施方式还确定系统策略差异267并基于系统策略差异267对用于网络实现100的设计数据201进行更新。因此,实施方式支持用于特定网络设计121的设计数据201和网络实现100的迭代调整和改进。
[0141]
本说明书使用示例来公开本发明,并且还使本领域的任何技术人员能够实践本发明,包括制造和使用任何装置或系统以及执行任何并入的方法。本发明的可专利范围由权利要求限定,并且可以包括本领域技术人员想到的其他示例。如果这些其他示例具有并不与权利要求的字面语言不同的结构元素,或者如果这些其他示例包括与权利要求的字面语言没有实质差异的等同的结构元素,则这些其他示例旨在处于权利要求的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1