用于对不同技术领域的信息物理网络、特别是工业自动化网络进行软件定义联网的方法、软件代理、联网设备和SDN控制器与流程

文档序号:17816220发布日期:2019-06-05 21:43阅读:269来源:国知局
用于对不同技术领域的信息物理网络、特别是工业自动化网络进行软件定义联网的方法、软件代理、联网设备和SDN控制器与流程

一般而言,并且根据出版物“software-definednetworkingguide”;worldwidetechnology,inc.;2014;第1至20页,由开放网络基金会(opennetworkingfoundation)(onf)推广的“softwaredefinednetworking(sdn)”具有两个特性——(i)控制平面与实现在设备上的数据平面分离,以及(ii)单个控制平面管理多个网络设备。

这样说,sdn本质上专注于使用通信协议(诸如openflow®)的sdn控制器作为它们与网络设备的“南向接口”。

sdn控制器是在至少一个服务器上运行的软件程序,其配置和控制多个网络设备。通过表述“南向(southbound)”,注意到sdn控制器与网络设备之间的通信信道的建立。除了“南向接口”之外,sdn控制器还包括“北向接口”,该北向接口是用以将sdn控制器的动作引导朝向底层网络的请求服务的用户和编程接口。

所引用的协议在某种程度上是下述通信信道:该通信信道在网络设备(诸如交换机、路由器或网关)与sdn控制器之间使用传输控制协议(tcp),以控制网络设备从sdn控制器的转发路径。这是通过规定数据分组的报头上的众多匹配以及利用动作列表而达成和实现的。这些动作指定数据分组是否要通过使用流表而被修改、泛洪、丢弃以及被输出到一个或多个端口。可以在数据分组到达网络设备之前主动地、或者在数据分组已经由网络设备接收到之后反应式地使用流表。在反应式模式中,数据分组被拷贝并发送到sdn控制器以进行进一步分析,并且sdn控制器将流元素发送到网络设备来处理数据分组。可以对sdn控制器进行编程以使用反应式处理和主动处理的组合。对于该处理,网络设备包括代理,该代理通常是下述软件程序:其在网络设备上运行以终止来自sdn控制器的通信信道或者在服务器上的软件中运行的“应用编程接口(api)”。进而,该代理与在联网设备上运行的操作系统通信,该联网设备有时被称为网络元件。

特定于sdn的通信协议(诸如openflow®)专注于提供用以配置转发路径和基本的基于流的分组匹配和过滤的措施。除转发配置外,openflow®还支持基本网络qos(服务质量),例如通过诸如“差分服务代码点(dscp;diffserv)”标记、流量计量和快速重新路由之类的机制进行的通用流量优先级划分。

openflow®协议不仅是处理sdn原则的孤单实体。sdn的目标是使得能够实现对网络设备的更高程度的控制。这可以通过openflow®来达成,但是它并不如已经所述的那样,是用以达成或完成该目标的仅有工具。

图1示出了工业自动化环境中的典型的常规(现有技术)sdn场景。这是信息物理网络的软件定义联网可以被应用的众多其他技术领域(比如医疗、功率生成和功率分配技术)的仅一个示例。关于之后结合图2和图3所描述的本发明,也可以做出这种陈述,图2和图3作为示例与工业自动化网络相关。

所引用的图1描绘了技术领域td的信息物理网络nw’,该技术领域td由在工业自动化环境中使用的物理机phm表示。在所描绘的信息物理网络nw’中,存在六个物理机phm1...phm6。给这些物理机phm1...phm6中的每一个均分配设备nwdd’,其负责控制所分配的物理机phm,使得每个物理机phm1...phm6被涉及在工业自动化过程中。由于这个原因,在信息物理网络nw’中还存在六个设备nwdd1’...nwdd6’。应当注意的是,所引用的设备的数量可以小于物理机的数量。然而,这意味着在保持物理机的数量不变的情况下,还有可能一个设备控制多于一个物理机。

根据所描绘的信息物理网络nw’,设备nwdd1’...nwdd6’和物理机phm1...phm6处于“软件定义联网(sdn)”被应用的子网络snw’的外部。被称为sdn网络的该子网络snw’在图1中由虚线椭圆示出。用于实现“软件定义联网(sdn)”的sdn网络snw’由至少一个sdn控制器sdnc’根据关于“软件定义联网(sdn)”的序言(preliminaryremark)来控制。这通过sdn控制器sdnc’与sdn网络snw’之间的双线-双箭头象征性地示出。sdn网络snw’和sdn控制器sdnc’两者都被设计为sdn系统sdns’。

在“软件定义联网(sdn)”的情境中的sdn网络snw内,并且再次遵循关于sdn的序言,存在多个网络设备nwd’,其关于sdn实现方式而通过物理信道phc彼此连接。根据图1中的图示,sdn网络snw’包括十个网络设备ndw1’...nwd10’,与六个设备nwdd1’...nwdd6’相反,这十个网络设备全部在sdn网络snw’内部,并且因此受到sdn控制器sdnc’关于上文所呈现的sdn方面的影响。

关于信息物理网络nw’,六个设备nwdd1’...nwdd6’现在再次经由物理信道phc与子网络或sdn网络snw’连接。在当前情况下,这些连接被限于十个网络设备nwd1’...nwd10’中的一些。

在说出哪个设备与哪个网络设备相配之前,关于sdn网络sdw’并且遵循表述网络设备的六个设备nwdd1’...nwdd6’被指明为联网设备,其指代信息物理网络nw’的“软件定义联网(sdn)”,并且鉴于sdn控制器sdnc’是端节点,而因此网络设备是中间节点。

所以第一联网设备nwdd1’经由物理信道phc与第一网络设备nwd1’连接,第二联网设备nwdd2’经由物理信道phc与第二网络设备nwd2’连接,第三联网设备nwdd3’经由物理信道phc与第三网络设备nwd3’连接,第四联网设备nwdd4’经由物理信道phc与第五网络设备nwd5’连接,第五联网设备nwdd5’经由物理信道phc与第六网络设备nwd6’连接,并且第六联网设备nwdd6’经由物理信道phc与第十网络设备nwd10’连接。

在被嵌入sdn网络snw’中的情况下,原则上可以在六个联网设备nwdd1’...nwdd6’中的每一个上运行——尽管这是仅参考第一联网设备nwdd1’而描绘的——具有至少一个“实时应用软件(app)”rt-as的至少一个“实时”虚拟机rt-vm和具有至少一个“非实时应用软件(app)”nrt-as的至少一个“非实时”虚拟机nrt-vm。然而,在虚拟机上并且因此间接在联网设备上运行的app还可以直接在联网设备上运行。例如,对于第二联网设备nwdd2’至第六联网设备nwdd6’而言就是这种情况。所以,在第二联网设备nwdd2’、第三联网设备nwdd3’和第五联网设备nwdd5’上均直接运行至少一个“非实时应用软件(app)”nrt-as,而在第四联网设备nwdd4’和第六联网设备nwdd6’上均直接运行至少一个“实时应用软件(app)”rt-as。

为了托管虚拟机rt-vm、nrt-vm(相应地,apprt-as、nrt-as),并且经由物理信道phc对接与sdn网络snw’的通信,每个联网设备nwdd1’...nwdd6’——尽管这是仅参考第一联网设备nwdd1’而再次描绘的——包括:具有其系统资源的操作系统ops,该系统资源诸如中央处理单元cpu和存储器mem;以及通信接口coi,其被示例性地设计为虚拟网络接口卡vnic。

取决于应当处理哪个种类的过程(“实时”和/或“非实时”过程),在物理信道phc上设立不同的控制信道ccrt、ccnrt。所以在第一联网设备nwdd1’与第一网络设备nwd1’之间建立“实时”控制信道ccrt(图1中的虚线)和“非实时”控制信道ccnrt(图1中的点线)。

此外,在第二联网设备nwdd2’与第二网络设备nwd2’之间、在第三联网设备nwdd3’与第三网络设备nwd3’之间、以及在第五联网设备nwdd5’与第六网络设备nwd6’之间,因为其均托管“非实时应用软件(app)”nrt-as,所以设立了“非实时”控制信道ccnrt(图1中的点线),而在第四联网设备nwdd4’与第五网络设备nwd5’之间以及在第六联网设备nwdd6’与第十网络设备nwd10’之间,因为其均托管“实时应用软件(app)”rt-as,所以建立了“实时”控制信道ccrt(图1中的虚线)。

当一般而言的网络设备以及第一网络设备nwd1’、第二网络设备nwd2’、第三网络设备nwd3’、第五网络设备nwd5’、第六网络设备nwd6’和第十网络设备nwd10’特别地均是sdn网络snw’的节点时,sdn网络snw’内的其他节点也通过物理信道phc而连接,并且sdn网络snw’内的连接的起点和终点是路径,然后sdn网络内关于控制信道ccrt、ccnrt的连接的起点和终点是控制路径cp。根据图1中的描绘,指代“实时”控制信道ccrt的控制路径是控制路径cprt,并且指代“非实时”控制信道ccnrt的控制路径是控制路径cpnrt。

在继续“软件定义联网(sdn)”的各方面和目的之前,应当注意的是(因为图1没有示出这一点):在经修改的实现/实现方式中的sdn网络snw’内的网络设备nwd’可以被实现为联网设备nwdd’中的虚拟机。由于这个原因,谈及网络组件nwc是更精确的,这意味着所定义的网络组件nwc是网络设备或虚拟网络设备。

关于“软件定义联网(sdn)”的目的——一般而言并且上文已经暗示——在网络nw内对数据分组和路由或控制决策的处理是分离的,使得数据分组处理、特别是由中间节点转发的数据分组和由端节点传输的数据分组的处理是经由数据路径完成的,并且路由或控制决策的处理是经由控制路径cp完成的,该控制路径cp涉及至少一个网络组件nwc’,并且由sdn控制器sdnc’使用诸如openflow®协议之类的通信协议来远程控制,根据该通信协议,发送和接收基于push/pull的命令和基于push/pull的消息中的至少一个。

由于托管图1中的所描绘场景的多个虚拟机和/或app的联网设备nwdd1’...nwdd6’不是sdn系统sdns的部分并且由此没有在sdn的意义上受sdn控制器sdnc’控制的设备,因此针对具有诸如工业级之类的要求的、作为如关于图1所描述的用于对信息物理网络进行软件定义联网的适当候选者的工业自动化网络背景,无法确保至少上述“实时”过程由所涉及的网络设备(例如,图1中的网络设备nwd1)(相应地,在适用的情况下为所涉及的网络组件)支持。由于图1中的所描述的sdn系统sdns’,“实时”过程通过使用根据图1的常规sdn控制器sdnc’而失去“端到端”确定性“实时”行为。由于这个原因,sdn网络snw’内的中间节点、相应地网络组件nwc’或网络设备nwd’(除了所引用的流表之外,其还控制例如流量类等)将不支持包括“实时”控制信道ccrt的“实时”过程。

到目前为止,大多数sdn解决方案都专注于控制可由sdn控制器远程配置的路由/交换基础设施。如上文所描述的那样均包括具有其系统资源的操作系统的联网设备(相应地,其中托管虚拟机、app或用户(或租户)的网络端设备或端节点)不是作为由sdn控制器控制的受控实体的网络设备(相应地,网络组件)的部分。

然而,许多现有技术操作系统提供了用以控制虚拟机和/或app的资源使用的多个选项。例如,可以对虚拟机和/或app进行优化以接收更好的“实时”体验,可以限制存储器空间,或者可以授权或否认对某些操作系统资源(例如,图形卡、网络)的访问。存在用以配置这些方面的各种接口,这也取决于操作系统。因此,存在下述规则:该规则典型地是操作系统广泛(operatingsystem-wide)和每用户(per-user)。

信息物理网络的工业级sdn网络必须为每个租户递送分离的可配置网络路径,其是沿着多个准则而形成尺寸并被选择的。这不仅要求联网中间设备中的路径定义,而且还提供“端到端”地从服务器跨越到io设备和io控制器的保证。

出于这个目的,经修改的sdn控制器必须通过保证“端到端”地分派的网络资源来“端到端”地递送工业级通信服务,由此涉及网络端设备或端节点。计算平台的异构性及其不同的所使用的运行时间必须被添加到sdn控制器必须配置的各种各样的控制方法。在先前的sdn方法中做出的假设在端节点的情况下不成立,该假设为:定义到新标准化类型的平台的单个接口是可能的。

新的sdn方法还被用来强制执行限制或控制资源使用,例如,除非由包括sdn控制器和sdn网络的sdn系统授权,否则数据流不能超出某个带宽。

端节点中的sdn强制执行的类型还可以包括超出了针对网络接口(例如,队列(queue)、网络成形器(shaper)等)的sla的配置或强制执行的方法。还存在通过控制被分派给虚拟机(沙盒)、虚拟网络设备(例如,交换机、网络接口等)的资源,来针对同一主机内的不同应用强制执行资源分离的其他可能性。诸如openflow®之类的现有的sdn特定的通信协议不覆盖所有上述方法。

本发明的目的(目标)是提出一种用于对不同技术领域的信息物理网络、特别是工业自动化网络进行软件定义联网的方法、软件代理、联网设备和sdn控制器,其扩展了信息物理网络(相应地,工业自动化网络)的“软件定义联网”,使得联网的质量被改善高达工业级,并且其解决了上面讨论的一堆问题。

基于在权利要求1的前序部分中限定的方法,通过在权利要求1的特征部分中的特征来解决该目的(目标)。

基于在权利要求9的前序部分中限定的软件代理,通过在权利要求9的特征部分中的特征来进一步解决该目的(目标)。

此外,基于在权利要求17的前序部分中限定的联网设备,通过在权利要求17的特征部分中的特征来解决该目的(目标)。

此外,基于在权利要求24的前序部分中限定的sdn控制器,通过在权利要求24的特征部分中的特征来解决该目的(目标)。

根据权利要求1、9、17和24的本发明的基本思想是:将在包括信息物理网络中的操作系统的联网设备上运行/由该联网设备托管的app和/或虚拟机的操作系统资源的使用控制(例如,用以接收更好的“实时”体验的优先级划分、存储器空间的限制、对某些操作系统资源的访问的授权或拒绝等)与控制经修改的sdn系统合并,从而将常规的sdn系统扩展到在每个应用基础上提供的信息物理网络内的“端到端”通信;以及从适配于这些环境和要求的sdn控制器来控制所有这些。因此,针对本发明的背景,可以谈到经适配的sdn控制器。

该合并由软件代理来实现,该软件代理作为被分配给联网设备中的操作系统的附加逻辑和配置元件,从而管理联网设备以及在联网设备上运行/由联网设备托管的app和/或虚拟机的属性,这允许引入灵活数据模型,并且除了由转发规则管理协议所提供的所有特征外,还使得能够实现与app和/或虚拟机、容器实例化、信息物理网络相关的电器的配置等有关的远程访问管理。

软件代理运行在全部联网设备以及信息物理网络的网络设备(相应地,网络组件)中。关于由经适配的sdn控制器通过联网设备与经适配的sdn控制器之间的信息物理网络内的“端到端”通信而可控制的所引用的联网设备的先决条件在于:它们提供了通过通信接口、特别是通过网络接口卡(nic)连接到信息物理网络的可能性,它们具有操作系统,该操作系统可以支持包括某种类型的qos控制的许多联网堆栈协议,并且它们包括用以控制app和/或虚拟机的资源使用的适当装置。

软件代理在每个联网设备/网络设备(相应地,网络组件)内将用以访问这些实现方式中的任一个的方法封装到模块化功能列表中。通过允许引入指定的灵活数据模型,软件代理将暴露管理接口,以用于远程修改任何可配置的sdn系统参数。可以借助于过程隔离机制来确保软件代理的完整性。

软件代理为每个联网设备/网络设备(相应地,网络组件)提供单个接口,其允许控制信道存在于联网设备/网络设备(相应地,网络组件)与经适配的sdn控制器之间。

由软件代理发送到经适配的sdn控制器以及由软件代理从经适配的sdn控制器发送的接收到的命令和消息是通用命令,它们是技术独立的并且是实现方式独立的。软件代理实现方式的模块化功能模型具有两个作用

a)提供并且允许对于sdn控制器通过通用且实现方式独立的控制信道和通信协议来远程控制不同的联网设备/网络设备(相应地,网络组件)的能力;

b)通过允许在通用sdn控制器消息与技术的内部实现方式之间的双向转换,来封装软件代理的模块化功能及其不同的技术实现方式。

对于这样的软件代理的必要性是因为

(i)常规的sdn特定的配置协议(诸如openflow®)专注于提供用以配置转发路径和基本的基于流的分组匹配和过滤的措施。除转发配置外,openflow®还支持基本网络qos(服务质量),例如,通过诸如“差分服务代码点(dscp;diff-serv)”标记、流量计量和快速重新路由之类的机制进行的通用流量优先级划分。

(ii)openflow®标准没有定义用以配置和监控网络组件(相应地,网络设备)的其他sdn系统方面的元件,该其他sdn系统方面诸如虚拟接口配置、转发表大小、管理访问策略以及类似物。管理超出了基本转发规则和相关联的qos的配置的个体设备和系统资源的用例在openflow®中的范围之外。

根据本发明的软件代理的任务是:

1)在托管虚拟机逻辑和/或app逻辑的联网设备上执行的控制的程度。

2)可以被分配给虚拟机和/或app的任何类型的资源管理,虚拟机和/或app两者既是网络相关的,也是计算的或参考存储器的。

3)在工业自动化网络环境中就资源隔离和资源共享方法方面的所有自动化应用要求的考虑,包括在“app/虚拟机托管工业联网设备”上的所有可能的可控资源。重点还在于工业app/虚拟机要求以及它们可以在多用途计算联网设备上运行的方式,该多用途计算联网设备同时托管其他非工业app/虚拟机。

这样的复杂联网设备是比常规的传统可编程逻辑控制器(plc)更先进的计算平台,其提供特征而不是它分派“实时”应用独占访问,并且从计算能力到网络访问进行保证。可以提供这样的保证的操作系统的类型不在此重点关注,即使当今具有一些“实时”扩展的linuxos具有提供不同级别的可视化和一些“实时”网络访问的可能性。软件代理的作用还有要确保该保证不受破坏(从对计算资源的app/虚拟机“实时”访问到由sdn网络堆栈处理该app/虚拟机相关流量的方式)。

软件代理还提供上传“网络相关app”的可能性,该app还作为通用功能而运行,或者仅仅作为诸如“防火墙功能”、dns服务器功能等的应用过程在联网设备中起作用。

由经适配的sdn控制器控制的工业级服务包括:

sdn网络相关的问题:

1.流[1]和切片(slice)[2]的标识以及地址映射和配置。

2.以及它们在sdn网络中被识别的方式。

3.将转发条目分发和配置到每个联网设备/网络设备(相应地,网络组件)中的随后的跃点(hop)。

4.在队列长度或qos标记方面的sdn网络资源分派,或针对给定的流、租户、切片的流量成形规则。

5.监控联网设备/网络设备(相应地,网络组件),并且基于实际利用来不断优化资源共享和分派。

6.确保并且验证所配置的转发和资源分派的运行时间正确性。

在联网设备处的sdn网络支持功能:

7.在作为单个同步领域的部分的那些联网设备处启动同步协议实例(即,使用共享时钟信息,或协调对同步通信信道的时分复用访问,例如,profinetirt、tsn的时间感知调度器(tas))。

8.启动联网功能(诸如dns、dhcp、网络访问控制注册表或防火墙)的本地实例,以用于支持特定切片成员。

9.配置联网功能(诸如dns、dhcp、网络访问控制注册表或防火墙)以反映对“端到端”连接的联网设备要求。

对真实和虚拟计算资源起作用:

10.针对给定虚拟机或向给定app分派并启动具有其系统资源[例如,存储器、“中央处理单元(cpu)”]的操作系统的切片。

11.在私有云或服务器基础设施中启动虚拟网络和交换机。

软件代理还实现以下功能:

a.管理作为sdn网络的部分的所管理的联网设备/网络设备(相应地,网络组件)的自举(bootstrapping)。这包括直接邻居的引导顺序(bootsequence)和发现过程以及到达最近的sdn控制器的方式。软件代理还被视为安全策略强制执行者,其能够阻止被发送到相邻联网设备/网络设备(相应地,网络组件)的任何消息。这可以被用来隔离联网设备/网络设备(相应地,网络组件),直到它被认证,或者被明确提供了对sdn网络的访问或对经适配的sdn控制器的远程访问为止。然后,软件代理可以将认证信道设置成正确的实例。

b.已经“操作的”联网设备/网络设备(相应地,网络组件)的软件代理可以在其自举阶段期间充当“新连接的”相邻代理的代理器,从而限制新节点可以在sdn网络中进一步连接的方式。例如,新邻居可以在已经连接的代理允许到配置切片的进一步连接之后到达经适配的sdn控制器。只有这样其他服务才是可到达的,该其他服务诸如通过dhcp服务器的ip地址分派或者甚至id分派(例如,dsn名称)。这样的配置切片可以使用与生成树(spanningtree)类似的方法,其中根是经适配的sdn控制器。新设备首先启动其“网络代理”;之后,发现已经操作的直接相邻的代理。然后,相邻代理中的一个接管代理器角色。

c.注册过程还包括表示经适配的sdn控制器可以在对节点提供的服务进行寻址中使用的通用节点模型中的节点能力、类型或所提供的服务,该节点提供的服务诸如在所宣布的范围内配置抖动或延迟保证的能力、虚拟接口实例化、应用沙盒化等。

d.将本地可用的技术和所提供的资源封装到软件代理可以提供并且可以由工业sdn控制器控制的服务列表中。所提供的资源的类型超出了仅递送网络qos的可能性,而且还包括计算资源以及保证某种行为(诸如“实时操作系统”行为)的能力或接收cpu功率和存储器的经保证的份额的能力。所提供的资源的服务表示允许描述资源和可以提供资源的方式两者(例如,完全保证隔离的资源,诸如“实时”-“cpu核心”、统计资源份额或可以访问和调度资源的方式的粗略估计)。软件代理宣布这样的资源、以及保证这些资源或以与呈现或提供网络特征和资源的方式类似的方式隔离这些资源的可能性。软件代理使用通用模型来描述这样的能力,然后可以将其呈现给经适配的sdn控制器。

e.然后,经适配的sdn控制器可以接收虚拟机和/或app的请求,并且决定精心安排在托管虚拟机和/或app的联网设备上可用的系统资源。经适配的sdn控制器通过软件代理访问资源管理服务,并且以通用方式触发资源强制执行,这是通过定义目标资源而不是强制执行它的方法。软件代理包含如何在内部分派资源的细节,诸如知道终端主机可以支持容器,或者在某种类型的保证的情况下可以被分派一种类型的cpu功率或cpu核心以及给定份额的存储器的完整虚拟机。一种封装和强制执行方法是启动虚拟机和/或app,从而希望访问虚拟化中的切片(例如,容器或完整虚拟操作系统),并且将上面步骤d中建立的切片接口绑定到该虚拟化中的虚拟接口。另一种方法是使用被映射到操作系统用户(相应地,操作系统用户组)的操作系统的用户权限和访问控制列表,并且在这些用户或组下运行虚拟机和/或app。

f.在提到本发明的上文页面上,解释了对接到并且扩展常规通信协议openflow®和能够“时间敏感联网(tsn)”的网络节点的方式,以提供未在原始标准化工作中处理的更宽泛的特征集合。进一步解释的是,如何通过定义用以访问在底层实现方式中提供的能够实时进行的例如工业、通信和应用功能的方法来提供工业级服务。

通过使用、部署、实现软件代理,以下益处是相关联的:

1.由任何单个联网设备提供的信息物理(例如,工业)联网功能和服务的定义被视为提供和可控功能的模块化、可扩展列表,这些功能全部都可由经适配的sdn控制器远程控制或访问。联网设备的这种模块化能力超出了仅联网特征,并且还允许管理与由联网设备托管的信息物理(例如工业)虚拟机和/或app关联的其他资源,诸如分派“实时”-“cpu核心”、分派和保证cpu/存储器份额(参考从属权利要求2至5、10至13、以及18至21)。

2.在受控联网设备/网络设备(相应地,网络组件)上存在一个软件代理,其独立于联网设备/网络设备(相应地,网络组件)中托管的功能的类型。软件代理能够在联网设备/网络设备(相应地,网络组件)与经适配的sdn控制器之间创建控制信道。

3.对每个联网设备/网络设备(相应地,网络组件)的控制信道需要技术独立的实现方式或语言,该技术独立的实现方式或语言指定如何通过任何类型的联网设备/网络设备(相应地,网络组件)与所有类型的可控功能或产品进行交互。经适配的sdn控制器与联网设备/网络设备(相应地,网络组件)之间的交互包括功能所需的任何模式的消息,该消息诸如:从经适配的sdn控制器到联网设备/网络设备(相应地,网络组件)的远程推送的消息、从软件代理到其直接邻域的广播、从软件代理推送到经适配的sdn控制器的消息更新或事件触发消息、或者从联网设备/网络设备(相应地,网络组件)到经适配的sdn控制器的所拉动(pull)的信息。每个功能都需要特定模式的消息交互,并且该类型的消息遵循通用语言。

4.软件代理协调下述功能:其中,在通用控制器命令与内部技术相关的功能之间发生转换。

5.在设备上运行的软件代理还可以充当协调器,其引导单个联网设备/网络设备(相应地,网络组件)和需要与后端基础设施的交互的内部功能。

6.在已经连接的联网设备/网络设备(相应地,网络组件)上运行的软件代理可以充当新的联网设备/网络设备(相应地,网络组件)的代理器,以允许新的联网设备/网络设备(相应地,网络组件)找到它到经适配的sdn-控制器的方式,或者实现不可信设备的认证机制。

7.功能的模块性可以允许以“虚拟机和/或app”类的方式的可扩展性,其中软件代理可以接收一段代码以作为新的“平台独立的”功能来运行。

8.在较大服务器的情况下,软件代理的多个实例均控制虚拟资源和/或不相交(disjoint)技术的仅一个部分,从而灵活地连接到不同的sdn控制器。

此外,本发明的有利的进一步开发出现于根据图2和图3的本发明的优选实施例的以下描述。它们示出了:

图2基于图1,图1指代工业自动化环境中的典型常规sdn系统的现有技术,图2是基于扩展的“端到端”通信的经修改的“软件定义联网(sdn)”系统;

图3基于简化图,是根据图2的经修改的“软件定义联网(sdn)”系统的系统组件在网络/传输层级上的协作。

图2基于图1(其指代根据现有技术的涉及常规sdn系统的工业自动化环境中的典型常规sdn场景)示出了关于与图1中相同的技术领域td的经修改的信息物理网络nw的经修改的“软件定义联网(sdn)”场景,由此涉及基于扩展的“端到端”通信的经修改的“软件定义联网(sdn)”系统sdns。

所引用的图2描绘了技术领域td的信息物理网络nw,该技术领域td由工业自动化环境中使用的物理机phm表示。在所描绘的信息物理网络nw中,再次存在六个物理机phm1...phm6。给这些物理机phm1...phm6中的每一个均分配经修改的设备nwdd,其再次负责控制所分配的物理机phm,使得每个物理机phm1...phm6被涉及在工业自动化过程中。由于这个原因,在信息物理网络nw中还存在六个经修改的设备nwdd1...nwdd6。应当注意的是,所引用的设备的数量再次可以小于物理机的数量。然而,这意味着在保持物理机的数量不变的情况下,还有可能一个设备控制多于一个物理机。

根据所描绘的经修改的信息物理网络nw,经修改的设备nwdd1...nwdd6和物理机phm1...phm6现在与图1相反,处于“软件定义联网(sdn)”被应用的经修改的子网络snw内部。被称为sdn网络的该子网络snw在图2中由虚线曲线示出。用于实现“软件定义联网(sdn)”的sdn网络snw由至少一个经修改的sdn控制器sdnc根据关于“软件定义联网(sdn)”的序言来控制。这通过sdn控制器sdnc与sdn网络snw之间的双线-双箭头再次象征性地示出。sdn网络snw和sdn控制器sdnc两者都形成经修改的sdn系统sdns。

在“软件定义联网(sdn)”的情境中的sdn网络snw内,并且再次遵循关于sdn的序言,再次并且附加地存在多个经修改的网络设备nwd,其关于sdn实现方式而通过物理信道phc彼此连接。根据图2中的图示,sdn网络snw包括十个网络设备ndw1...nwd10和六个设备nwdd1...nwdd6,它们全部在sdn网络snw内部,并且因此受到经修改的sdn控制器sdnc关于上文所呈现的sdn方面的影响。以这种方式,实现了扩展的“端到端”通信,这是因为经修改的sdn控制器sdnc现在可以与六个经修改的设备nwdd1...nwdd6关于sdn方面进行通信。

因此,六个设备nwdd1...nwdd6再次经由物理信道phc在子网络或sdn网络snw内与十个网络设备nwd1...nwd10中的一些连接。关于sdn网络sdn并且遵循表述网络设备的六个设备nwdd1...nwdd6再次被指明为联网设备,其指代信息物理网络nw的“软件定义联网(sdn)”,并且鉴于sdn控制器sdnc是端节点,而因此网络设备是中间节点。

所以再次地,第一经修改的联网设备nwdd1经由物理信道phc与第一经修改的网络设备nwd1连接,第二经修改的联网设备nwdd2经由物理信道phc与第二经修改的网络设备nwd2连接,第三经修改的联网设备nwdd3经由物理信道phc与第三经修改的网络设备nwd3连接,第四经修改的联网设备nwdd4经由物理信道phc与第五经修改的网络设备nwd5连接,第五经修改的联网设备nwdd5经由物理信道phc与第六经修改的网络设备nwd6连接,并且第六经修改的联网设备nwdd6经由物理信道phc与第十经修改的网络设备nwd10连接。

在被嵌入经修改的sdn网络snw中的情况下,原则上可以再次在六个经修改的联网设备nwdd1...nwdd6中的每一个上运行——尽管这是仅参考第一联网设备nwdd1而描绘的——具有至少一个“实时应用软件(app)”rt-as的至少一个“实时”虚拟机rt-vm和具有至少有一个“非实时应用软件(app)”nrt-as的至少一个“非实时”虚拟机nrt-vm。然而,在虚拟机上运行并且因此间接在联网设备上运行的app再次还可以直接在联网设备上运行。例如,对于第二经修改的联网设备nwdd2至第六经修改的联网设备nwdd6而言就是这种情况。所以,在第二经修改的联网设备nwdd2、第三经修改的联网设备nwdd3和第五经修改的联网设备nwdd5上均直接运行至少一个“非实时应用软件(app)”nrt-as,而在第四经修改的联网设备nwdd4和第六经修改的联网设备nwdd6上均直接运行至少一个“实时应用软件(app)”rt-as。

为了托管虚拟机rt-vm、nrt-vm(相应地,apprt-as、nrt-as),并且经由物理信道phc对接与sdn网络snw的通信,每个经修改的联网设备nwdd1...nwdd6——尽管这是仅参考第一联网设备nwdd1而再次描绘的——再次包括:具有其系统资源的操作系统ops,该系统资源诸如中央处理单元cpu和存储器mem;以及通信接口coi,其再次被示例性地设计为虚拟网络接口卡vnic。

此外,每个经修改的联网设备nwdd1...nwdd6及其操作系统ops包括与图1中的联网设备nwdd1’...nwdd6’相反的进一步的实体/模块,仅在本图2中暗示的该实体/模块将结合图3明确地被标明并描述。

再次,取决于应当处理哪个种类的过程(“实时”和/或“非实时”过程),在物理信道phc上设立不同的控制信道ccrt、ccnrt。所以,再次在第一经修改的联网设备nwdd1与第一经修改的网络设备nwd1之间建立“实时”控制信道ccrt(图2中的虚线)和“非实时”控制信道ccnrt(图2中的点线)。此外,再次地,在第二经修改的联网设备nwdd2与第二经修改的网络设备nwd2之间、在第三经修改的联网设备nwdd3与第三经修改的网络设备nwd3之间、以及在第五经修改的联网设备nwdd5与第六经修改的网络设备nwd6之间,因为其均托管“非实时应用软件(app)”nrt-as,所以了“非实时”控制信道ccnrt(图1中的点线),而再次地,在第四经修改的联网设备nwdd4与第五经修改的网络设备nwd5之间、以及在第六经修改的联网设备nwdd6与第十经修改的网络设备nwd10之间,因为其均托管“实时应用软件(app)”rt-as,所以建立了“实时”控制信道ccrt(图1中的虚线)。

当一般而言的网络设备和联网设备、以及第一网络设备nwd1、第二网络设备nwd2、第三网络设备nwd3、第五网络设备nwd5、第六网络设备nwd6和第十网络设备nwd10、以及联网设备nwdd1...nwdd6特别地均是经修改的sdn网络snw的节点时,sdn网络内的其他节点也通过物理信道phc而连接,并且sdn网络snw内的连接的起点和终点再次是路径,然后再次地,关于控制信道ccrt、ccnrt的经修改的sdn网络内的连接的起点和终点是控制路径cp。根据图2中的描绘,指代“实时”控制信道ccrt的控制路径是控制路径cprt,并且指代“非实时”控制信道ccnrt的控制路径是控制路径cpnrt。

再次应当注意的是(因为图2没有示出这一点):在进一步的经修改的实现/实现方式中的经修改的sdn网络snw内的经修改的网络设备nwd可以被实现为经修改的联网设备中的虚拟机。由于这个原因,谈及经修改的网络组件nwc是更精确的,这意味着所定义的经修改的网络组件nwc是经修改的网络设备或经修改的虚拟网络设备。

再次地,关于“软件定义联网(sdn)”的目的——一般而言并且已经暗示——在经修改的网络nw内对数据分组和路由或控制决策的处理是分离的,使得数据分组处理、特别是由中间节点转发的数据分组和由端节点传输的数据分组的处理是经由数据路径完成的,并且路由或控制决策的处理是经由控制路径cp完成的,该控制路径cp涉及至少一个经修改的网络组件nwc,并且由经修改的sdn控制器sdnc使用经修改的通信协议来远程控制,根据该经修改的通信协议,发送和接收基于push/pull的命令和基于push/pull的消息中的至少一个。

现在,由于托管图2中的所描绘场景的多个虚拟机和/或app的经修改的联网设备nwdd1...nwdd6是在sdn的意义上受经修改的sdn控制器sdnc控制的设备,因此针对具有诸如工业级之类的要求的、作为如关于图2所描绘的用于对信息物理网络进行软件定义联网的适当候选者的工业自动化网络背景,可以确保至少上述“实时”过程由所涉及的经修改的网络设备(例如,图2中的第一经修改的网络设备nwd1)(相应地,在适用的情况下为所涉及的网络组件)支持。由于图2中的所描述的经修改的sdn场景,结合图3的以下描述,“实时”过程不会通过结合根据图2的经修改的sdn控制器来使用经修改的联网设备nwdd1...nwdd6和经修改的网络设备nwd1...nwd10(相应地,网络组件)中的附加实体,而失去“端到端”确定性“实时”行为。

图3基于简化图示出了根据图2的经修改的“软件定义联网(sdn)”系统sdns的系统组件在网络/传输层级上的协作。

经修改的sdn系统的系统组件根据图3中的描绘而包括经修改的sdn控制器sdnc、均具有不同的技术重点的两个经修改的联网设备nwdd、具有第一技术重点的经修改的联网设备nwddte1和具有第二技术重点的经修改的联网设备nwddte2、以及经修改的网络设备nwd。

在第一步中,将描述以上文提到的次序设立的单个系统组件及其结构,并且在第二步中,将描述系统组件的协作,由此全部所引用的系统组件都具有用于通信到网络nw/sdn网络snw中的常见技术链路tlnw/snw。

除此技术链路外,经修改的sdn控制器sdnc还包括处理器prc,其被分配有路径查找器程序模块pfpm、计算/调度程序模块cspm、同步程序模块sypm以及远程访问和配置程序模块racpm,并且包括非暂时性处理器可读存储设备std,其具有存储在其中的处理器可读程序指令。处理器可读程序指令可由处理器prc通过涉及路径查找器程序模块pfpm、计算/调度程序模块cspm、同步程序模块sypm、以及远程访问和配置程序模块racpm来执行,以在网络nw内处理数据分组和路由或控制决策。

此外,具有第一技术重点的经修改的联网设备nwddte1(其优选地被设计为计算机、服务器、服务器群、可编程逻辑控制器(plc)等)包括除所引用的技术链路之外的具有各种系统资源的操作系统ops。这些系统资源包括除了其他以外的中央处理单元cpu、与中央处理单元cpu连接的存储器mem、被分配给存储器mem、中央处理单元cpu和技术链路tlnw/snw的调度器scd、被分配给调度器scd的“端到端”同步协议e2e-sp、以及被分配给调度器scd和“端到端”同步协议e2e-sp的时钟clk。

此外,具有第一技术重点的经修改的联网设备nwddte1包括

1)通信接口coi,其包括多个虚拟网络接口卡vnic,该虚拟网络接口卡vnic面向具有第一技术重点的联网设备nwddte1正在托管的虚拟机和/或app的数量,并且该通信接口coi用作操作系统ops与技术链路tlnw/snw之间的链接,

2)管理程序(hypervisor)/虚拟化实体hve,其管理由具有第一技术重点的联网设备nwddte1托管的虚拟机的数量,并且其用作操作系统ops与这些虚拟机之间的链接,以及最后

3)软件代理swa,其作为中央控制实体、特别是关于在经修改的“软件定义联网(sdn)”系统sdns中的“软件定义联网”的中央控制实体而被分配给调度器scd、“端到端”同步协议e2e-sp、操作系统ops和管理程序/虚拟化实体hve。

对于2):虚拟机的数量以及至少一个app是否正在运行由具有第一技术重点的联网设备nwddte1总计托管的虚拟机在原则上是任意的。然而,在目前的情况下,存在其上正在运行一个“实时应用软件(app)”rt-as的一个“实时”虚拟机rt-vm以及其上正在运行“n个”“应用软件(app)”asl...asn的“n个”虚拟机vm1...vmn。这意味着所引用的应用软件(app)rt-as、asl...asn间接地在具有第一技术重点的联网设备nwddte1上运行。

对于3):在其作为中央控制实体、特别是关于在经修改的“软件定义联网(sdn)”系统sdns中的“软件定义联网”的中央控制实体的功能中,软件代理swa包括

a)至少一个传感器se,其感知由网络(相应地,sdn网络)内的联网设备nwdd定义的软件代理swa的操作环境,并且注重经修改的“软件定义联网(sdn)”系统sdns的sdn目的,

b)在该环境中交互的至少一个动作器(actor)ac,以及

c)用于确定软件代理swa将如何与环境交互的确定装置dm。

这些所引用的swa元件被这样设计,并且形成了被称为“代理功能”的功能单元ftu。

图3图示了软件代理swa在其作为中央控制实体、特别是关于在经修改的“软件定义联网(sdn)”系统sdns中的“软件定义联网”的中央控制实体的功能中的可能实现方式。多个虚拟机和/或app的联网设备为网络(相应地,sdn网络)以及联网设备的其他系统资源而竞争。联网设备上的软件代理swa控制网络访问,在该示例中,它可能已经创建了“虚拟接口”,其看起来像物理接口虚拟机和/或app视角。这些由操作系统支持。此外,软件代理swa已经在联网设备上启动了虚拟交换机或虚拟网桥(没有在图3中示出)以将虚拟网络接口卡vnic连接到物理接口。然后,它可以将流量控制规则附加到该接口,以针对网络(相应地,sdn网络)强制执行资源共享。典型的示例性规则可能是“将一个vnic的传出流量限于5mbps”、“在短缺的情况下优选来自另一个vnic的传出流量”等等。因此,软件代理swa可以设置针对由虚拟机和/或app在操作系统中的mem使用和cpu使用的规则,以及允许对虚拟接口进行访问的规则。

附加地,具有第二技术重点的经修改的联网设备nwddte2(其也被优选地设计为计算机、服务器、服务器群、可编程逻辑控制器(plc)等)包括与具有第一技术重点的经修改的网络设备nwddte1相同的组件、实体和元件。由于这个原因,应当注意到与具有第一技术重点的经修改的联网设备nwddte1的区别。

唯一的区别在于:“n个”虚拟机vml...vmn不运行任何“应用软件(app)”,并且代替这一点,“应用软件(app)”asl...asn和“实时应用软件(app)”rt-as直接在具有第二技术重点的联网设备nwddte2上运行。

最后,经修改的网络设备nwd(其优选地被设计为物理交换机、物理路由器或物理网关)包括

a)转发队列分配实体fqae,其通过分配而包括一些排队(queuing)元素qe,该排队元素qe用作转发队列分配实体fqae与属于通信接口coi的多个网络接口卡nic之间的链接,

b)被分配给转发队列分配实体fqae和技术链路tlnw/snw的调度器scd,

c)被分配给调度器scd的“端到端”同步协议e2e-sp,以及

d)被分配给调度器scd和“端到端”同步协议e2e-sp的时钟clk。

应当注意和提醒的是,经修改的网络设备nwd可以被实现为网络组件,该网络组件再次是由经修改的联网设备nwdd、nwddte1、nwddte2托管的至少一个虚拟机vm1...vmn中的一个虚拟机,诸如虚拟交换机、虚拟路由器或虚拟网关。在这种情况下,网络组件是经修改的联网设备的部分,并且不具有经修改的网络设备nwd的结构元件。

此外,具有第一技术重点的经修改的联网设备nwddte1包括具有与上文所引用的[参见“对于3):”部分]相同的结构元件的软件代理swa,该软件代理swa作为中央控制实体、特别是关于在经修改的“软件定义联网(sdn)”系统sdns中的“软件定义联网”的中央控制实体而被分配给调度器scd、“端到端”同步协议e2e-sp和转发队列分配实体fqae。

经修改的“软件定义联网(sdn)”系统sdns的上述系统组件的协作基于控制信道cc,经由该控制信道cc,通信协议cop被处理,使得通过由传感器se形成的功能单元ftu、在经修改的联网设备nwdd、nwddte1、nwddte2和经修改的网络设备nwd中的软件代理swa中的动作器ac、确定装置dm与涉及路径查找器程序模块pfpm、计算/调度程序模块cspm、同步程序模块sypm以及远程访问和配置程序模块racpm的经修改的sdn控制器sdnc的处理器prc之间的交互

i)服务列表,被嵌入在通信协议cop中,并且通过在通信协议cop的命令和消息与建模数据之间进行双向转换,来封装被涉及到联网设备nwdd的操作系统ops中的灵活数据模型的建模数据,以便使得能够实现

——鉴于联网设备特定的能力而对联网设备nwdd、nwddte1、nwddte2、联网设备托管的apprt-as、as1...asn和联网设备托管的虚拟机rt-vm、vm1...vmn中的至少一个的远程访问管理,特别地包括所提供的操作系统ops资源和由联网设备nwdd、nwddte1、nwddte2支持的网络功能或服务,以及

——联网设备nwdd、nwddte1、nwddte2的远程配置功能,

是经由控制信道cc传输的,以用于联网设备nwdd、nwddte1、nwddte2、网络设备nwd与sdn控制器sdnc之间的基于协议和基于数据模型的交互,该控制信道cc基于通信接口coi而被嵌入到逻辑管理接口lmi中,

ii)服务列表关于用于控制路由或控制决策的处理的“软件定义联网(sdn)”的目的是可评估的。

为了还在经修改的“软件定义联网(sdn)”系统sdns的上述系统组件的协作内解决和达成“实时能力”,该“实时能力”是关于技术领域的至少一个物理机的控制、在联网设备nwdd与sdn控制器sdnc之间“端到端”地实现的,根据

a)选项“a”,软件代理swa利用被分配给中央处理单元cpu和存储器mem的调度器scd而起作用,并且由此使用被分配给调度器scd的“端到端”同步协议e2e-sp,以调度对中央处理单元cpu和存储器mem的访问,并且保证对中央处理单元cpu和存储器mem的所调度的访问。

b)选项“b”,软件代理swa在具有中央处理单元cpu的“实时”核心rtc的操作系统ops内起作用,以分派中央处理单元cpu和存储器mem的份额,并且保证中央处理单元cpu和存储器mem的所分派的份额。

参考文献:

[1]:narayanan,r.;kotha,s.;lin,g.;khan,a.;rizvi,s.;javed,w.;khan,h.;khayam,s.a.:“macroflowsandmicroflows:enablingrapidnetworkinnovationthroughasplitsdndataplane”;

出版于:softwaredefinednetworking(ewsdn),2012年欧洲研讨会(2012europeanworkshop),会议日期:2012年10月25-26日;第79至84页.

印刷isbn:978-1-4673-4554-5.

inspec入藏号:13193986.会议地点:达姆施塔特;doi:10.1109/ewsdn.2012.16;出版商:ieee

[2]:wo2013/110742

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1