CN105607590B - 用于在过程控制系统中提供冗余性的方法和装置 - Google Patents
用于在过程控制系统中提供冗余性的方法和装置 Download PDFInfo
- Publication number
- CN105607590B CN105607590B CN201510780732.1A CN201510780732A CN105607590B CN 105607590 B CN105607590 B CN 105607590B CN 201510780732 A CN201510780732 A CN 201510780732A CN 105607590 B CN105607590 B CN 105607590B
- Authority
- CN
- China
- Prior art keywords
- network
- host
- integrity
- interface
- network interface
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication
- G05B19/41855—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication by local area network [LAN], network structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/026—Details of "hello" or keep-alive messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34482—Redundancy, processors watch each other for correctness
Abstract
本发明公开了用于在过程控制系统中提供冗余性的方法和装置。一种示例性方法包括:在第一网络主机处,通过第一网络接收从第二网络主机所发送的第一完整性消息。该方法包括:当第一网络主机的第一网络接口无法接收到从第二网络主机的第一网络接口所预期的第一完整性消息中的一个时,检测到经由第一网络的在第一网络主机的第一网络接口与第二网络主机的第一网络接口之间的第一通信路径上的网络故障。该方法包括:响应于所检测到的网络故障,自动地在第一网络主机与第二网络主机之间建立第二通信路径。
Description
技术领域
概括地说,本公开内容涉及过程控制系统,更具体地说,涉及用于在过程控制系统中提供冗余性的方法和装置。
背景技术
过程控制系统(如,化工,石油或者其它过程中使用的那些过程控制系统)通常包括一个或多个过程控制器,该一个或多个过程控制器经由模拟、数字或组合的模拟/数字总线来通信地耦合到一个或多个现场设备。现场设备(其可以例如是阀、阀定位器、开关和发送器(例如,温度、压力和流速传感器))在过程中执行过程控制功能,例如,打开或关闭阀,测量过程控制参数。过程控制器接收用于指示现场设备所进行的过程测量值的信号,随后对该信息进行处理以用于:生成用于实现控制例程的控制信号,进行其它过程控制决策,以及发起过程控制系统报警。
来自于现场设备和/或控制器的信息通常通过数据高速通道或者通信网络而可用于一个或多个其它硬件设备,例如,操作者工作站、个人计算机、数据历史库(datahistorian)、报告生成器、集中式数据库等等。这些设备通常位于控制室中和/或其它相对于较苛刻的工厂环境而言位于远离的位置。例如,这些硬件设备运行使操作者能够执行关于过程控制系统的过程的以下各种功能中的任何一种的应用:例如,查看过程的当前状态、改变操作状态、改变过程控制例程的设置、修改过程控制器和/或现场设备的操作、查看现场设备和/或过程控制器所产生的报警、模拟该过程的操作以便训练人员和/或对过程进行评估等等。
计算机架构、网络化和虚拟化的技术进步的组合,已使得能够开发出有效的、容易管理的可以实现某些控制系统的虚拟化计算环境。也就是说,可以利用在虚拟过程控制环境中实现的虚拟机,来替代在传统控制系统中使用的工作站、个人计算机和其它硬件设备。末端用户经由连接到虚拟系统的瘦客户端,来访问在这些虚拟机上实现的应用和软件。用此方式,可以减少传统上所需要的用于获取、配置和维护所有硬件组件的显著成本和复杂度。
附图说明
图1是可以在其中可以实现本公开内容的教导的示例性过程控制系统的示意性视图。
图2是图1的示例性过程控制系统的一部分的示例性网络布置的示意性视图。
图3是图1和/或图2的示例性过程控制系统中的网络主机中的任何一个网络主机的示例性实现的框图。
图4是经由两个共同网络来连接的网络主机的示例性系统的示意性视图。
图5是表示图4的网络主机之间的通信状态的表。
图6是图4的示例性系统的示意性视图,其中该示例系统具有与这些网络主机中的一个网络主机相关联的网络故障。
图7是表示图6的网络主机之间的通信状态的表。
图8是用于示出在网络主机的初始发现和围绕图6的网络故障期间,图4的网络主机中的每一个网络主机所发送的完整性消息的示例性随时间推移的变化的表。
图9是用于示出在网络主机的初始发现期间,图4的网络主机中的每一个网络主机所发送的完整性消息的不同的示例性随时间推移变化的表。
图10是具有经由两个共同网络来连接的两个示例性网络主机的示例性系统的示意性视图。
图11和图12分别是图10的示例性系统在这两个网络中的各个网络中具有网络故障的示意性视图。
图13A-图13B是示出用于实现图1-图4、图6和/或图10-图12的示例性网络主机,以提供这些网络主机之间的冗余性的示例性方法的流程图。
图14是一种示例性处理器平台的示意性视图,其中可以对该示例性处理器平台进行使用和/或编程,以执行图13A-图13B的示例性方法,和/或更一般地来说,以实现图1-图4、图6和/或图10-图12的示例性网络主机。
具体实施方式
可靠性是在实现过程控制系统时共同关注的问题,尤其是关注虚拟化控制系统,在虚拟化控制系统中,很多传统上单独的工作站和其它计算机组件全部实现成主机服务器集群上的虚拟机(VM)。为了解决这些关注的问题,硬件制造商提供用于增强可靠性的硬件解决方案,例如,具有冗余磁盘阵列、控制器和电源的存储区域网络(SAN)设备。通常,将多个主机服务器与一个高度冗余的SAN聚集在一起,以增加整体系统的可用性和留出用于维护的空间,例如,在无需关闭整个物理系统的情况下进行组件升级或替换。诸如WindowsServer 2012之类的现有操作系统有助于将VM从物理系统的一个部分(例如,硬盘驱动器)移动到该系统的另一个部分,或者甚至移动到外部备份系统,同时VM继续运行,并且对于目前可能在该VM上进行中的这些应用的操作或通信和用户交互不会具有任何明显的影响。这些解决方案增加了诸如电子邮件服务器、web服务器和其它后端服务器之类的各种各样的虚拟机的可用性,其中这些服务器可以由外部计算机节点或网络主机上安装的软件客户端(例如,瘦客户端)经由以太网来进行访问。
很多传统(即,物理)控制系统具有很多操作者面对的软件组件,它们是该系统的集成部分,例如,操作者接口应用、资产管理应用、报警管理应用等等。当这些组件与控制系统的其它组件进行通信时,这些组件执行相当大量的业务逻辑,使用专有协议来确保高可用性。例如,操作者站通常与控制系统中的多个控制器和/或历史库进行通信。在这些例子中,如果在操作者站和特定的历史库之间丢失了连接,操作者站仍然能够通过从其它历史库访问信息来获取任何期望的历史数据。同样,如果操作者站和特定的控制器之间丢失了连接,操作者站仍然能够从控制系统中具有类似测量点的另一个控制器获得期望的运行时数据。
当对过程控制系统进行虚拟化时,上面的冗余中的一些变得不可用,这是由于向操作者呈现数据的末端用户终端与执行业务逻辑(其产生要呈现的数据)的应用是分离的。也就是说,在一些虚拟化控制系统中,该业务逻辑由在集中式主机系统上实现的VM来执行,而末端终端通常是使用远程显示协议来从VM访问数据以进行显示的瘦客户端。因此,VM是否可以从替代的控制器或历史库获取数据(如果其丢失了与主控制器或历史库的连接的话),与是否在瘦客户端处将显示该数据无关(如果瘦客户端和VM之间的连接失败的话)。因此,当存在植入到实现虚拟化环境的主机服务器和相关硬件中的很多冗余时,系统的可用性和/或可靠性中的弱点是与末端用户终端节点(如,瘦客户端)的连接。
通常,瘦客户端没有装备很多冗余特征(其导致很多单点的故障),其假定如果与虚拟控制系统相关联的瘦客户端中的任何一个经历了停工,则可以通过另一个终端来访问与该发生故障瘦客户端相关联的VM。利用冗余的网络卡来实现了一些瘦客户端,使得如果丢失了网络连接,则瘦客户端可以切换到备份网络。虽然这是一种改进,但这种解决方案仍然承受着某些限制。例如,在重传期间,通常将再次尝试对未被确认的数据传输进行传送。但是,如果存在网络故障,则重传时的任何尝试将仍然失败,并且将重复该过程直到网络连接超时为止。在一些这种例子中,仅仅在连接超时之后才对网络故障进行确认,此时可以经由备份网络来建立替代的通信路径。通常,用于检测这种网络故障和在冗余网络上重新建立连接的时间,可能也要花费一分钟以上。在很多过程控制设置中,一分钟不进行通信是不可接受的。通常,可接受的时延是不超过五秒。此外,在很多这种环境下,在故障和重新连接之间的大部分时间期间,末端用户不了解发生了故障,因此,末端用户可能在观看和依赖于在瘦客户端处的屏幕上显示的已经过期的信息。另外,在发生网络故障之后和建立新连接之前尝试传送的任何数据发生丢失。
在不会丢失任何数据的情况下,向冗余网络提供无缝故障切换的一种解决方案涉及使用并行冗余协议(PRP)。通过将每一个数据分组发送两次(在至少两个网络的每一个网络接口上一次),甚至当一个网络发生故障时,PRP也实现数据通信的成功传送。这种方法在故障恢复时没有延迟,并且确保不会丢失数据。但是,由于发送和接收了两倍的数据,因此这种方法涉及网络流量和计算机处理量的显著增加。
使用诸如能够对冗余进行处理的外部交换机之类的特殊硬件和/或利用支持链路聚合以便与瘦客户端一起来使用的网络接口卡来实现了其它冗余方案。但是,在获取和维护另外的硬件设备时存在另外的成本。此外,在根据网络架构来配置交换机与虚拟局域网(VLAN)和/或链路聚合时,存在增加的复杂度。此外,这些硬件组件通常是由与虚拟化软件的提供商不同的制造商来提供的。
本文所公开的例子提供了克服上面的限制,以在不损失数据和不显著增加数据处理或带宽需求的情况下提供快速恢复时间(小于五秒)的冗余网络系统。本文所公开的例子可以在任何网络主机组上实现,每一个网络主机具有两个网络接口,这两个网络接口中的每一个连接到两个网络中的一个网络。如本文所使用的,术语“网络主机”(或者“主机”)指代连接到网络并使用传输控制协议/互联网协议(TCP/IP)协议栈进行通信的任何计算机或其它设备(无论是虚拟实现的,还是经由物理硬件来实现)。示例性网络主机包括虚拟机、瘦客户端、胖客户端、嵌入式控制器和/或任何其它适当的计算设备。
本文所公开的例子涉及多归属网络主机。也就是说,旨在是本文所描述的冗余方案的一部分的每一个主机,经由两个网络接口(例如,NIC)来连接到两个独立的网络。此外,参与同一冗余方案的每一个主机与该方案中的每一个其它主机连接到相同的两个网络。也就是说,这些网络主机中的每一个网络主机包括在两个单独的网络上实现面向连接的通信的两个网络接口,这两个单独的网络对于包括成该冗余方案的一部分的所有主机是共同的。虽然形成冗余方案的一部分的网络主机具有两个共同网络,但在一些例子中,这些网络中的任意一个网络也可以包括没有连接到另一个网络的一个或多个其它主机。虽然在本文所描述的冗余方案中将不包括这些主机,但这些主机并不妨碍该方案。此外,这些主机中的一个或多个主机可以连接到另外的网络,而不影响本文所公开的教导。另外,在一些例子中,在过程控制系统中可以存在多组的网络主机,每组的网络主机都包括两个共同网络。在这些例子中,每一组的网络可以单独地实现本文所公开的教导。
虽然本文所描述的冗余方案有益于解决在虚拟过程控制系统背景下的对可用性的特定关注,但本文所描述的教导也可以替代地在完全的物理环境中(即,不具有虚拟化)实现。也就是说,本文所公开的教导适用于共享两个共同网络,并基于TCP/IP协议进行通信的任何网络主机集合。
通过在对于网络主机来说共同的两个独立的网络上监测这些网络主机之间的连接状态,来实现本文所描述的示例性冗余方案。通过对网络连接进行基本实时地监测,快速地检测到网络故障。一旦在这些网络中的一个中检测到网络故障,则根据本文所公开的教导,相关联的网络主机使用互联网协议(IP)路由标准来自动地建立替代的通信路径,该替代的通信路径绕过出故障的网络。更具体地说,网络主机将来自这些网络接口中的一个网络接口(其连接到出故障的网络)的传输,重新路由经过(与操作的网络相连接的)另一个网络接口。
在一些所公开的例子中,网络故障的检测和替代通信路径的建立花费不超过五秒。在一些例子中,更短的时间是可能的(例如,500毫秒或者更少)。因此,本文所公开的例子提供了过程控制系统环境所需要的要求之内的恢复时间,以确保可靠的和最新的数据可用于操作者和其它末端用户。此外,检测网络故障和建立替代通信路径所花费的时间,小于用于数据传输的连接超时时段。也就是说,在网络主机停止尝试数据的重传之前,将建立替代的路由。因此,不会丢失数据,并且将延迟至多是几秒。
如本文所描述的基本实时地检测网络故障以实现从这些故障中快速地恢复,是通过在连接网络主机的两个网络中的每一个网络上,对这些主机之间的连接性进行连续地监测来实现的。在一些例子中,每一个网络主机都准备了在网络上向每一个其它网络主机进行频繁地发送的完整性消息。在一些例子中,该完整性消息不同于与过程控制系统的普通操作相关联的主机之间的典型数据传输。在一些例子中,在相应的网络上广播该完整性消息。在其它例子中,仅仅将完整性消息组播到被配置为接收这些消息的那些网络主机。在一些例子中,在每一个网络接口之间,交替地传输来自每一个网络主机的每一个连续的完整性消息。在一些例子中,在从网络接口中的任何一个网络接口发送后续的完整性消息之前,从每一个连接的主机的每一个网络接口都发送完整性消息。也就是说,在返回到第一网络主机重复该过程之前,一些例子循环地通过每一个网络主机的每一个网络接口。在一些例子中,在一秒的一部分之内,发生循环地通过每一个网络主机的每一个网络接口。用此方式,每一个网络主机在频繁的基础上,经由每一个网络接口来向每一个其它网络主机发送完整性消息。因此,可以对经由每一个网络接口的每一个网络主机之间的连接进行连续地监测,以快速地检测到任意两个网络主机之间的故障。
每一个完整性消息用于测试发送方主机与每一个其它主机在相应的网络上的连接性。如果每一个其它网络主机都在特定的网络上从发送方主机接收到完整性消息,则这些网络主机中的每一个可以确认其自己与发送方主机之间在该网络上的通信状态是良好的。另一方面,如果这些网络主机中的一个或多个网络主机无法接收到从特定的主机所发送的完整性消息,则完整性消息的缺失指示发生网络故障。因此,无法接收到所预期的完整性消息的网络主机,可以确认自己和从其预期该消息的主机之间的连接状态是坏的。
在一些例子中,按照已知的时间间隔来定期地发送完整性消息,使得如果在与该已知时间间隔相比更长的时间段上没有从特定网络主机的特定网络接口接收到消息,则可以假定发生网络故障。在一些例子中,基于在阈值时间段上没有接收到完整性消息来检测到网络故障,其中该阈值时间段是从同一网络主机的同一网络接口所发送的各个连续完整性消息之间的时间间隔的三倍。在一些例子中,与该时间间隔的三倍相比,所述阈值时间段可以更长或者更短。
在每一个网络上从每一个主机向每一个其它主机发送的定期完整性消息,用作对于经由各个网络的各个网络主机之间的连接的检查或者测试。如果网络主机接收到完整性消息,则确认在该主机和发送该消息的网络主机之间的连接或通信状态是良好的。如果网络主机没有接收到完整性消息(在阈值时间段之后),则确认该主机和从其预期消息的网络主机之间的连接状态是坏的。因此,在一些例子中,基于是否独立于这些消息中包含的内容来接收到消息,来确定每一个主机之间的连接或通信状态。但是,在一些例子中,完整性消息的内容包括用于为每一个网络主机提供另外的信息,以便对不同的主机在不同的网络上的之间的连接状态进行验证的完整性信息。
在一些例子中,完整性消息包括主机信息,该主机信息标识发送该完整性消息的网络主机。在一些例子中,该主机信息包括发送该消息的网络主机的两个网络接口的IP地址。用此方式,每一个网络主机具有在检测到网络故障时,创建替代的通信路径所必需的IP信息。在一些例子中,各个网络主机使用该主机信息来发现网络上的其它主机。
另外,在一些例子中,完整性消息包括用于指示在发送该消息的网络主机与每一个其它主机之间针对两个网络接口的连接或通信状态的完整性信息。在一些例子中,通过生成该信息和接收与其它网络主机中的每一个网络主机相关联的通信状态(当它们发送它们的完整性消息时),这些网络主机中的每一个网络主机可以生成用于表示自身与每一个其它主机之间的通信状态的完整性表。在一些例子中,这种信息依赖于在由于网络故障而使得直接连接发生失败时,来规定替代的通信路径。另外地或替代地,在一些例子中,将每一个完整性消息中所包括的完整性信息,使用成基于每一个主机是否从其它主机接收到完整性消息以及其何时从其它主机接收到完整性消息,对由每一个主机确定的通信状态进行的冗余检查。
虽然完整性消息的频繁传输对于网络施加了某种另外的负载,但网络业务的总量仍然充分地小于在使用PRP的系统中实现时所涉及的网络流量。例如,如果网络包括10个主机,每一个主机每秒接收与过程控制系统相关联的1000个数据分组,则在使用PRP时向每一个主机发送的数据总量,加倍到每秒2000个数据分组。相比而言,如果根据本文所公开的教导,10个主机中的每一个主机每秒发送2个完整性消息分组,则向每一个主机传送的数据总量将是每秒1020个数据分组(1000个过程控制数据分组加上2x 10=20个完整性消息数据分组)。显而易见的,在所公开的例子中发送的1020个数据分组充分地小于使用PRP所需要的2000个数据分组。完整性消息所产生的网络负载取决于网络主机的数量和完整性消息的频率,但独立于在网络上发送的过程控制数据的量。因此,如果上面的例子中的每一个网络主机每秒接收到5000个过程控制数据分组,则完整性分组的量将保持在每秒20个分组。但是,如果更频繁地发送完整性消息(例如,每秒5个消息)来实现网络故障的更快速检测,则由于完整性消息造成的负载将成比例地增加(例如,增加到每秒5x 10=50个数据分组),但仍然导致总量低于PRP所施加的负载(例如,与每秒2000个分组相比,每秒1050个分组)。同样,如果主机的数量增加(例如,增加到50),但完整性消息的频率保持在每秒2个数据分组,则在每一个网络主机处每一秒接收的完整性数据的总量是每秒2x 50=100个分组(对应于每秒总共1100个数据分组)。因此,虽然另外的主机和/或更频繁的完整性消息对于网络施加了另外的负担,但与实现PRP时所需要的对网络业务的量进行加倍相比,其负担水平仍然更小很多。
此外,本文所描述的教导是基于软件的,所以不需要获取、配置、依赖于和/或维护任何特殊或者另外的硬件(例如,可以提供冗余性的网络交换机)。因此,本文所公开的例子可以被现成使用以用于任何适当的网络,同时减小配置和设置的复杂度。
在一些例子中,在虚拟过程控制系统的背景下,用于实现本文所公开的教导的网络冗余性软件和相关联的配置工具,被包括在虚拟化软件(例如,DeltaV VirtualStudioTM)中以便自动地并入到生成该软件的虚拟机中。在一些例子中,在向虚拟机上的网络接口卡(NIC)分配IP地址之后,可以运行该配置工具以便在任何两个网络之中建立冗余性。另外地或替代地,在一些例子中,虚拟化软件可以将盘附连至包含所必要的文件和脚本的虚拟机,其中这些文件和脚本自动地创建冗余服务,将这些文件复制到虚拟机,启动配置工具并弹出该盘。该盘使得这些冗余方案在利用虚拟化软件的更早版本所生成的虚拟机上生成。
在一些例子中,网络冗余软件和配置工具都包括在远程桌面连接安装包(例如,DeltaV远程桌面连接)中。在这些例子中,如果远程桌面连接安装包检测到已经建立了两个网络,则其可以自动地配置用于这些网络的冗余。否则,在向每一个网络主机分配IP地址之后,可以手动地运行配置工具。
本文所公开的例子可以集成到可靠性监测系统中,该系统对于损害系统的可用性的场景向用户进行报警。例如,如果冗余网络路径中的一个冗余网络路径已变得不可用或者不起作用(无论是活动还是待机),则可以生成警告或者报警以向末端用户(例如,操作者或者维护技术员)通知该故障,并提供用于解决该问题的机会。另外,在一些例子中,可以在数据历史库中记录网络故障的发生。在一些这种例子中,该记录包括故障的发生时间以及受到影响的网络主机的标识。
详细地转到附图,图1是可以在其中实现本公开内容的教导的示例性过程控制系统或者分布式控制系统(DCS)100的示意性视图。如本文所使用的,互换地使用短语“过程控制系统”与短语“分布式控制系统”。图1的示例性DCS 100包括过程控制器102,过程控制器102使用任何期望的通信介质(例如,无线、硬件连线等等)和协议(例如,Foundation现场总线、Profibus、HART等等)来通信地耦合到多个智能和/或非智能现场设备104。例如,图1的示例性控制器102可以是Fisher-Rosemount系统公司、Emerson Process Management公司所出售的DeltaVTM控制器。虽然结合DeltaVTM硬件、软件和/或固件来描述本文公开的教导,但这些教导也可用于由其它实体制造和/或开发的其它硬件(例如,其它控制器)、固件和/或软件。此外,虽然在图1中示出了两个控制器102,但在示例性DCS 100中也可以实现另外的和/或更少的任何期望类型和/或类型的组合的控制器和/或过程控制平台。
通常,过程控制系统中的控制器通信地耦合到可以与一个或多个计算机相关联的一个或多个操作者站、应用站和/或其它工作站(本文统称为工作站)。但是,在所示出的例子中,控制器102通信地耦合到示例性虚拟过程控制环境106。图1的示例性虚拟过程控制环境106包括示例性域控制器108、示例性第一主机服务器110、示例性第二主机服务器112、示例性第三主机服务器114和示例性存储区域网络(SAN)116。在所示出的例子中,虚拟过程控制环境106实现与在表118中列出的多个虚拟工作站117相对应的虚拟机。
如表118中所表示的,针对DCS 100实现的虚拟工作站117包括八个虚拟操作者站120、四个虚拟应用站122和一个虚拟主控制系统应用站124(例如,DeltaVTMProPlus工作站)。具体而言,在所示出的例子中,第一主机服务器110实现虚拟操作者站120中的三个虚拟操作者站和虚拟应用站122中的两个虚拟应用站,第二主机服务器112实现虚拟操作者站120中的三个其它虚拟操作者站和虚拟应用站122中的一个虚拟应用站,第三主机服务器114实现虚拟操作者站120中的剩余两个虚拟操作者站、最后的虚拟应用站122和虚拟主控制系统应用站124。虽然在表118中示出了示例性虚拟工作站117的示例性划分,但可以根据主机服务器110、112、114中的每一个主机服务器的需求,以任意组合将示例性虚拟工作站117分配给主机服务器110、112、114中的任何一个。另外地或替代地,在一些例子中,可以在主机服务器110、112、114中的单独的主机服务器上,实现虚拟工作站117中的一个或多个虚拟工作站的重复的复本。
在所示出的例子中,主机服务器110、112、114和SAN 116通信地互连,以形成通常称为集群的网络。域控制器108与该集群进行通信并对集群进行管理,控制对在该集群中存储的信息的访问。在所示出的例子中,SAN 116用作这些主机服务器110、112、114中的每一个可以对于相同逻辑单元的存储器(例如,相同的逻辑单元号)执行读/写操作的公共或共享的存储(例如,集群共享容量)。用此方式,与虚拟工作站117的实现相关联的数据与每一个主机服务器110、112、114中的本地硬盘驱动器进行单独地存储,以便提供该系统的高可用性。例如,如果主机服务器110、112、114中的一个主机服务器出现故障,则由该主机服务器实现的虚拟工作站117可以在其它主机服务器110、112、114中的一个主机服务器上启动。在一些例子中,不包括SAN 116,使得每一个主机服务器110、112、114只依赖于其自己的本地硬盘驱动器。
在图1的所示出的例子中,虚拟过程控制环境106的主机服务器110、112、114中的每一个(和相关联的SAN 116)经由总线和/或局域网(LAN)128(其通常称为应用控制网络(ACN))通信地耦合到控制器102。可以使用任何期望的通信介质和协议来实现图1的示例性LAN 128。例如,示例性LAN 128可以是基于硬件连线和/或无线以太网通信方案。但是,可以使用任何其它适当的通信介质和/或协议。此外,虽然在图1中示出了单个的LAN 128,但可以使用一个以上的LAN和/或其它替代的通信硬件来提供图1的示例性组件之间的冗余通信路径。
在一些例子中,虚拟过程控制环境106(例如,域控制器108、主机服务器110、112、114和SAN 116)通信地耦合到瘦客户端126,其中瘦客户端126可以远程地访问在虚拟过程控制环境106中实现的虚拟工作站117,以使操作者、工程人员和/或其它工厂人员能够以如同这些虚拟工作站117是使用与瘦客户端126的显示器相关联的物理计算机系统和/或其它处理器平台来实现的相同方式,经由在该显示器上呈现的用户界面与这些工作站进行交互。
虽然图1示出了可以在其中有利地使用本文所公开的教导的示例性DCS 100,但如果期望的话,本文所公开的教导可以有利地用于与图1所示出的例子相比具有更多或者更小复杂度(例如,具有一个以上的虚拟过程控制环境106,具有更多的工作站(物理和/或虚拟),跨越一个以上的地理位置等等)的其它过程工厂和/或过程控制系统。此外,本文所公开的教导还可以用于完全物理的过程控制系统(例如,不具有虚拟过程控制环境106的系统)。
图2是图1的示例性DCS 100的一部分的示例性网络布置200的示意性视图。在所示出的图2的例子中,将瘦客户端126中的三个瘦客户端示出为通信地耦合到工作站117中的三个工作站。在所示出的例子中,将工作站117实现成虚拟过程控制环境106中的虚拟机,而瘦客户端126是物理计算设备。如图2中所示,瘦客户端126中的每一个瘦客户端和工作站117中的工作站每一个连接到主网络202和单独的辅助网络204。也就是说,瘦客户端126和工作站117中的每一个被多归属到相同的共同网络202、204。更具体地说,在一些例子中,瘦客户端126和工作站117中的每一个包括连接到主网络202的第一网络接口206(例如,网络接口控制器(NIC))。此外,在一些例子中,瘦客户端126和工作站117中的每一个包括连接到辅助网络202的第二网络接口208。如本文所使用的,使用术语“主”和“辅助”来在网络之间进行区分(例如,网络202、204),这些网络在不同的网络主机之间是共同的,并且不是旨在建议一个网络必须首先使用、缺省地使用、更经常地使用或者更重要。
为了便于说明起见,本文通常将瘦客户端126和工作站117称为网络主机210,其在于它们全部连接到相同的网络202、204。在一些例子中,除了或者替代图2中所示出的瘦客户端126和工作站117,可以存在其它类型的网络主机210(例如,胖客户端、独立的物理工作站、嵌入式控制器等等)。网络主机210与上面所描述的用于形成虚拟过程控制环境106的主机服务器110、112、114不同。但是,主机服务器110、112、114可以实现虚拟机(例如,工作站117)和/或其它虚拟设备,根据本文所公开的教导,它们可以被视作为网络主机。
图3是根据本文所公开的教导来构建的示例性网络主机210的示例性实现。在图3所示出的例子中,网络主机210包括示例性第一网络接口302、示例性第二网络接口304、示例性完整性消息分析器306、示例性完整性表生成器308、示例性完整性消息生成器310、示例性通信路径确定器312、示例性通信管理器314和示例性报警管理器316。
示例性网络主机210可以用于实现图1和/或图2的示例性DCS 100中的瘦客户端126或者工作站117中的任何一个。但是,为了便于解释起见,将结合图4中所示出的网络主机402、404、406的简化系统400来描述网络主机210。可以使用图3的示例性网络主机210来实现主机402、404、406中的每一个。如图4所示出的例子中所示,主机402、404、406中的每一个主机是连接到主网络408和辅助网络410的多归属网络主机。此外,如所示出的例子中所示,主网络408和辅助网络410对于三个网络主机402、404、406中的每一个来说是共同的。更具体地说,网络主机402、404、406中的每一个主机都包括第一网络接口302,其中每一个网络主机402、404、406通过第一网络接口302连接到主网络408。此外,在所示出的例子中,网络主机402、404、406中的每一个主机都包括第二网络接口304,其中每一个网络主机402、404、406通过第二网络接口304连接到辅助网络408。结果,所有网络主机402、404、406可以在主网络408上,经由它们相应的第一网络接口302来彼此之间进行直接通信,和/或在辅助网络410上,经由它们相应的第二网络接口304来彼此之间进行直接通信。在一些例子中,在主机402、404、406之间,在网络408、410中的任意一个上可以存在一个或多个交换机。但是,为了便于说明本公开内容起见,当相应的网络接口302、304在它们所连接到网络上进行通信时,将网络主机402、404、406说成是“直接”通信,而不管该传输是否经由了多少交换机。
返回到图3,示例性网络主机210(其对应于图4的网络主机402、404、406中的任何一个)提供有第一网络接口302以连接到主网络408,从而实现在主网络408上与其它网络主机(例如,网络主机402、404、406)进行通信。示例性网络主机210提供有第二网络接口304以连接到辅助网络410,从而实现在辅助网络410上与其它网络主机(例如,网络主机402、404、406)进行通信。在一些例子中,经由物理网络接口卡(NIC)来实现第一和第二网络接口302、304(例如,在图1和/或图2的物理瘦客户端126中)。在其它例子中,将第一和第二网络接口302、304实现成虚拟机的虚拟组件(例如,在图1和/或图2的虚拟工作站117中)。在一些例子中,在第一和第二网络接口302、304之间实现互联网协议(IP)路由,而不管第一和第二网络接口302、304是物理还是虚拟实现的。用此方式,向第一网络接口302传送的以发往第二网络接口304为最终目的地的通信,可以传送到第二网络接口304。在这种例子中,将第一网络接口302规定成关于第二网络接口304的路由器或网关,以用于转发以第二网络接口304为目的地的任何数据。同样,在所示出的例子中,向第二网络接口304传送的以发往第一网络接口302为最终目的地的通信,可以经由第二网络接口304来传送到第一网络接口302。
在图3所示出的例子中,网络主机210提供有完整性消息分析器306来分析从其它网络主机接收的完整性消息,以确定网络主机210与发送该完整性消息的其它网络主机之间的连接或通信状态。如本文所使用的,通信状态指代对在相应的网络408、410上,两个特定网络主机402、404、406的相应网络接口302、304之间是否发生直接通信的指示。当两个网络主机的两个相应网络接口之间的直接通信是可能的时,该通信状态是“良好的”。当存在网络故障使得不能在相应的网络上,在两个网络接口之间直接发送数据时,该通信状态是“坏的”。网络故障的具体本质与本文所公开的教导无关。因此,无论是电缆未插上、断裂(如,切断),还是网络接口302、304中的一个内部出故障和/或阻止相应的接口之间发生通信的任何其它环境,在受影响的接口之间设置坏的通信状态。
随着每一个网络主机402、404、406接收到定期从其它网络主机中的每一个网络主机的第一网络接口302(通过主网络408)发送的完整性消息,完整性消息分析器306确认接收方网络主机和发送方网络主机之间在主网络408上的通信状态是良好的(这是由于成功地接收到完整性消息)。同样,随着网络主机402、404、406中的每一个网络主机接收到定期从其它网络主机中的每一个网络主机的第二网络接口304(通过辅助网络410)发送的完整性消息,完整性消息分析器306确认接收方网络主机和发送方网络主机之间在主网络408上的通信状态是良好的。也就是说,在一些例子中,该消息的接收用作确认该通信状态是良好的基础。因此,在一些例子中,每一个完整性消息的具体内容与连接或通信状态的确定无关。但是,在其它例子中,完整性消息的内容可以提供通信状态的第二层级的确认,和/或提供在实现本文所公开的教导时有用的其它细节。
相比而言,如果存在网络故障(例如,网络主机402、404、406中的一个网络主机的网络接口302、304中的一个网络接口发生故障),则具有该出故障接口的网络主机尝试经由该出故障网络接口来发送的任何完整性消息将不会被传送。当预期接收但没有接收到完整性消息时(例如,由于网络故障),在一些例子中,完整性消息分析器306确定存在网络故障,因此,相应的网络接口之间的通信状态是坏的。具体而言,在一些例子中,经由相应的第一和第二网络接口302、304,通过主网络408和辅助网络410中的每一个来定期地发送完整性消息。在一些例子中,从特定网络主机的特定网络接口发送的每一个完整性消息,是在与相同的网络主机的相同网络接口发送的先前的完整性消息的特定时间间隔之内发送的。因此,如果超过该时间间隔(其开始于接收到完整性消息(这指示该通信状态是良好的)之后)而没有接收到新的完整性消息,则接收方网络主机的完整性消息分析器306可以确定所预期的传输出现故障。在这些例子中,缺失所预期的完整性消息指示关于发送方网络主机的特定网络接口的出故障或者坏的通信状态。在一些情形下,对于是否在所配置的时间间隔之内传输特定的完整性消息以实现连续消息,不同于网络故障的因素可以发挥作用。因此,在一些例子中,仅仅在阈值时间段之后,完整性消息分析器306可以确定两个不同网络主机的相应网络接口之间的通信状态是坏的,其中与来自相同网络主机的相同网络接口的连续消息之间所预期的时间间隔相比,该阈值时间段更长(例如,所述时间间隔的三倍)。在其它例子中,该时间间隔可以对应于在不管发送完整性消息的网络接口的情况下,从特定网络主机接收到三个完整性消息的预期持续时间。例如,每一个主机可以在每一个时间间隔期间发送两个完整性消息(经由每个网络接口来发送一个)(其循环通过没能进行传送的所有网络主机的所有网络接口),使得下一个失败的传输(不管网络接口)足够用于指示坏的通信状态。在一些例子中,完整性消息分析器306对从其它网络主机402、404、406接收的完整性消息的内容进行分析,以确定和/或更新其自己的完整性信息,如下面所进一步详细描述的。
在图3所示出的例子中,网络主机210提供有完整性表生成器308以生成存储完整性信息的完整性表或者其它数据结构,其中该完整性信息指示各个网络主机(例如,网络主机402、404、406)之间在主网络408和辅助网络410中的每一个网络上的连接或通信状态(例如,经由第一和第二网络接口302、304中的每一个网络接口)。
在所示出的例子中,每一个网络主机的每一个网络接口302、304相对于连接到相同网络的每一个其它网络接口302、304,关联有单独的通信状态。因此,在图4所示出的例子中,第一网络主机402(主机A)的第一网络接口302具有针对于第二网络主机404(主机B)和第三网络主机406(主机C)的第一网络接口302中的每一个网络接口的单独通信状态,这是由于网络主机402、404、406的网络接口302中的每一个网络接口连接到相同的主网络408。但是,在所示出的例子中,由于第一网络主机402的第一网络接口302和其它网络主机404、406的第二网络接口304连接到不同的网络,并因此从不进行直接通信,因此在第一网络主机402的第一网络接口302与第二和第三网络主机404、406的第二网络接口304中的任意一个网络接口之间没有规定的通信状态。
在一些例子中,基于如上面所描述的如完整性消息分析器306所确定的通信状态,来填充该完整性表。也就是说,当完整性消息分析器306从特定的主机接收到完整性消息时,完整性表生成器308将与该特定主机的通信状态(在接收到该消息的网络上)设置成良好。当完整性消息分析器306确定没有接收到从特定主机所预期的完整性消息时(例如,在没有接收到消息的情况下,流逝了一阈值时间段),完整性表生成器308将与该特定主机的通信状态(在应当接收到该消息的网络上)设置成坏的。用此方式仅仅依赖于是否接收到完整性消息,完整性消息分析器306不能直接确定不同于自己的两个不同网络主机之间的通信状态。因此,在一些例子中,完整性表生成器308所创建的完整性表只包括与相应的网络主机210相关联的通信状态信息。在其它例子中,完整性消息分析器306对从其它网络主机接收的完整性消息的内容进行分析,以确定其它主机之间的通信状态。
在图5中,示出了用于表示图4的系统400的完整性信息的示例性表500。在一些例子中,完整性表生成器308包括图5的表500中所包含的信息中的至少一些,但并不必需包含所有的内容,也不必需以相同的方式进行组织。在图5的表500中,沿着表500的顶行和沿左边列向下,来标识图4的网络主机402、404、406中的每一个网络主机的网络接口302、304中的每一个网络接口(基于相关联的主网络408或辅助网络410)。网络主机402、404、406中的任意两个网络主机之间经由相应网络接口302、304中的任意一个网络接口的直接通信链路的状态,在与相应网络408、410上的相连接主机402、404、406的行和列相对应的方框中指出。
如所示出的例子中所示,将表500划分成四个象限502、504、506、508。第一象限502表示网络主机402、404、406之间在主网络408上的通信状态(例如,经由第一网络接口302)。第四象限508表示网络主机402、404、406之间在辅助网络410上的通信状态(例如,经由第二网络接口304)。如图所示,沿着表500的对角线的穿过第一和第四象限502、508的方框,对应于与相同网络主机的相同网络接口相关联的行和列。因此,由于这些方框不规定不同的点之间的通信链路,所以对这些方框进行阴影化。
示例性表500的第二和第三象限504、506并不表示如本文所描述的通信状态,这是由于相应的行和列并不与相同的网络408、410相关联,因此并不表示直接通信链路。因此,第二象限504和第三象限506中的大部分方框被打叉。但是,第二象限504和第三象限506的每一个象限中与相同网络主机402、404、406的第一和第二网络接口302、304相关联的方框,利用标记“本地”来表示,以指示当在如上所述的主机中实现IP路由时,可以进行在主机网络402、404、406中的网络接口302、304之间的本地通信。但是,由于相同网络主机的两个网络接口之间的本地通信并不通过网络408、410中的任意一个网络,因此根据本文所公开的教导,这些通信与规定网络的通信状态无关。也就是说,在示例性表500中表示的本地通信,只是被示出用于解释目的。因此,在一些例子中,由完整性表生成器308创建的完整性表可以排除在第二象限504和第三象限506中所表示的信息。此外,在一些例子中,完整性表生成器308可以只包括与完整性表生成器308所属于的网络主机402、404、406相关联的信息。例如,用于主机A的完整性表可以只包括与主机A相关联的行和/或列中的信息。
如图5所示出的例子中所示,网络主机402、404、406中的每一个网络主机的网络接口302、304中的每一个网络接口之间的通信状态是“良好的”,其指示不存在网络故障。相比而言,在图6中复制图4的示例性系统,但其具有与第二网络主机404(主机B)的第一网络接口302相关联的网络故障602,在图7中示出了相应的通信状态表700。如图7所示出的例子中所示,第四象限508与图5的示例性表500中的第四象限相同,其在于每一个网络连接的通信状态都是良好的。在图5中所示的表500和图7中所示的表700之间,第四象限508未发生改变,这是由于第四象限508表示与辅助网络410相关联的通信状态,并且图6中所示出的网络故障602只影响主网络408。在所示出的例子中,图7的示例性表700的第一象限502(其与主网络408相关联)指示第二网络主机404与第一和第三网络主机402、406二者之间是坏的通信状态。但是,第一和第三网络主机402、406之间在主网络408上的通信状态仍然是良好的。
由于图4和图6的示例性系统400的拓扑结构,只要发生了网络故障,该故障就导致网络主机402、404、406中的一个网络主机丢失与所有其它网络主机(例如,其它两个)的连接,但其它网络主机将仍然能够进行通信。在包括更多的网络主机和/或更复杂的网络拓扑的其它例子中(例如,具有一个或更多交换机),其可能导致要涉及各个网络主机之间的通信状态的不同划分。例如,网络故障可能导致一个网络主机在特定的网络上丢失与其它网络主机中的仅仅一些网络主机的连接,同时保持在相同的网络上与其它网络主机进行通信。类似地,在一些例子中,网络故障可能造成第一组的网络主机丢失与第二组的网络主机的连接,但这些网络主机仍然维持与相应组中的其它网络主机的连接。
返回到图3,示例性网络主机210提供有完整性消息生成器310,以生成用于在与第一和第二网络接口302、304相关联的每一个网络上,定期地向其它网络主机发送的完整性消息。在一些例子中,完整性消息包括用于标识该完整性消息的源或者来源(例如,发送该完整性消息的网络主机)的主机信息。更具体地说,在一些例子中,该主机信息包括对向发送该完整性消息的网络主机的第一和第二网络接口302、304中的每一个网络接口所分配的IP地址的指示。
另外,在一些例子中,完整性消息包括用于指示发送方网络主机(例如,该完整性消息的源)与其它网络主机中的每一个网络主机之间在主网络408和辅助网络410中的每一个网络上的连接或通信状态。在一些例子中,完整性消息中所包括的完整性信息对应于在由完整性表生成器308生成的完整性表中所包含的信息。在一些例子中,在特定网络主机的完整性消息生成器310所准备的每一个完整性消息中发送的完整性信息,只包括与该特定网络主机相关联的通信状态信息。在一些这种例子中,所发送的完整性消息包括与主网络408和辅助网络410的网络主机相关联的通信状态信息,即使该特定的完整性消息在任何一个时间只在这些网络中的一个网络上进行发送。
在一些例子中,完全性消息分析器306对完整性消息进行分析,以基于从其它网络主机中的每一个网络主机接收的初始完整性消息,来自动地发现主网络408和辅助网络410中的每一个网络上的其它网络主机。如上所述,每一个完整性消息包括对发送该完整性消息的网络主机进行标识的主机信息。因此,在一些例子中,如果接收到标识新的网络主机的完整性消息(即,先前没有从其接收到完整性消息的网络主机),则接收方网络主机的完整性消息分析器306基于所接收的主机信息(发送该消息的网络主机的相关联的网络接口302、304的IP地址),在IP路由表中为该主机创建新的条目。另外,在一些例子中,完整性消息分析器306向完整性表生成器308提供该主机信息以更新和/或扩展完整性表,从而存储在新发现的发送该完整性消息的网络主机与接收该完整性消息的网络主机之间的通信的状态。在下面所描述的图8中,说明了新网络主机的发现和所得到的对于后续完整性消息的改变。
图8是用于示出在网络主机402、404、406的初始发现和围绕图6的网络故障602的发生期间,图4的网络主机402、404、406中的每一个网络主机所发送的完整性消息的示例性随时间推移的变化的表800。在图8所示出的例子中,表800的每一行对应于不同的时间点,其中较低的行对应于时间上较晚的点,如第一列802中所指示的。因此,(在第一行上的)时间T1是时间中的第一点,其后跟着(第二行上的)时间T2,其后跟着(第三行上的)时间T3等等。在所示出的例子中,在每一个离散时间点(例如,T1、T2、T3等等),网络主机402、404、406中的一个网络主机经由发送方网络主机402、404、406的相应网络接口302、304,在主网络408或辅助网络410中的任意一个网络之上发送完整性消息。在图8的示例性表800中,在第二列804中标识在任何特定的时间点发送完整性消息的网络主机402、404、406,而在第三列806中指示发送该完整性消息的网络408、410。在所示出的例子中,在表800中所列出的连接到网络408、410的网络接口302、304,是发送每一个相应的完整性消息的接口。
如所示出的例子中所示,在使用相同的网络接口302、304来发送后续的完整性消息之前,按照连续的时间点发送的完整性消息的源或者来源循环地通过每一个网络408、410上的每一个网络主机402、404、406的网络接口302、304中的每一个网络接口。例如,在时间T1,第一网络主机402(主机A)在主网络408上发送第一完整性消息(经由第一网络接口302)。直到时间T7,相同网络主机402的相同网络接口302才再次发送完整性消息,这是由于在时间T2-T6发送来自第二和第三网络主机404、406的网络接口302、304以及第一网络主机402的第二网络接口304的完整性消息。在一些例子中,在示例性表800中表示的每一个时间点之间的时间间隔是近似相同的。因此,每一个连续完整性消息的近似调度或者时序是已知的,使得来自相同网络主机的相同网络接口的每一个连续完整性消息之间的时间间隔同样也是已知的。换句话说,在一些例子中,用于系统400循环通过每一个网络节点的每一个网络接口来发送完整性消息的时间间隔是已知的。结果,可以对自从从特定的网络主机的特定网络接口接收到上一次完整性消息以来的时间段进行监测,以确定何时预期来自相同的源的下一个完整性消息。在一些例子中,如果在所预期的时间段之内没有接收到完整性消息,则检测到网络故障。用于循环通过每一个网络主机的每一个网络接口的时间段可以根据所涉及的网络的本质和大小以及发送完整性消息的频率,而在系统与系统之间不同。在一些例子中,一个循环的时间段可以是100毫秒。结果,可以检测到网络故障,转而在重要的数据丢失之前对网络故障进行快速地响应(例如,几乎实时地响应)。例如,500毫秒的循环时间段将导致小于2秒的切换时间。
图8的示例性表800还指示在各个时间点发送的各个完整性消息的内容。具体而言,第四列808指示利用每一个完整性消息来发送的标识信息。如上所述,每一个完整性消息包括对发送该消息的网络主机进行标识的主机信息,其包括对该网络主机的网络接口302、304中的每一个网络接口的IP地址的指示。因此,虽然在所示出的例子中,在时间T1和T7在主网络408上从第一网络主机402发送完整性消息,但在时间T4,也经由辅助网络410向其它网络主机404、406发送相同的主机信息。
在示例性表800的第五列810中,表示各个完整性消息中所包括的完整性信息。如上所述,在一些例子中,网络主机402、404、406可以基于从彼此接收的完整性消息来发现彼此。在这种例子中,在网络主机被发现之前,完整性消息不能包括任何完整性信息(例如,这些主机之间的通信状态),这是由于这种信息是未知的。因此,如图8中所示,在时间T1,主机A发送包括主机A的主机信息的完整性消息,但不包括任何完整性信息。由于主机B接收到从主机A在时间T1发送的完整性消息,因此启用主机B的完整性消息分析器306来识别主机A(基于所发送的主机信息),并因此在IP路由表中创建用于主机A的新条目(以及相应的网络接口302、304)。另外,由于主机B在主网络408上接收到从主机A发送的完整性消息,因此主机B的完整性消息分析器306确认经由主网络408的通信是可能的,以使主机B的完整性表生成器308将该通信状态设置成良好。因此,在时间T2,从主机B发送的完整性消息包括用于指示存在主机A(如主机B所发现的),并且它们之间在主网络408上的通信状态是良好的(通过字母“G”来指示)的完整性信息。
在时间T3,从主机C发送的完整性消息包括:分别基于在时间T1和时间T2从每一个主机发送的先前完整性消息,而关于主机A和主机B二者的完整性信息。一旦在时间T3从主机C发送了该完整性消息,则从每一个网络主机发送了主机信息一次,使得现在相对于其它主机发现了每一个主机,以根据需要能实现直接的数据通信(例如,通过使用从每一个其它网络主机提供的IP信息)。
如图8所示出的例子中所示,在主网络408上发送前三个完整性消息中的每一个(在时间T1、T2和T3)。因此,如每一个完整性消息中所提供的在网络主机402、404、406(主机A、主机B、主机C)的每一个网络主机之间指示的通信状态,仅仅是针对主网络408来提供的。直到(在时间T4)在辅助网络410上从主机A发送第一完整性消息,主机B的完整性消息分析器306才确认主机A和主机B之间在辅助网络410上的通信是可能的。在时间T5从主机B发送的后续完整性信息中,反映对这种连接的确认。主机C也接收在时间T4从主机A发送的完整性消息,以确认经由辅助网络410的它们之间的通信也是可以的。一旦在时间T6从主机C发送了完整性消息,则每一个网络主机402、404、406的每一个网络接口302、304都发送了完整性消息,使得每一个网络主机402、404、406可以确定其相对于系统400中的每一个其它主机的连接状态。从每一个主机发送的后续完整性消息(其开始于时间T7)使得网络主机402、404、406能够持续地检查彼此之间的通信状态,并提供关于完整性信息的任何改变的更新。
如果每一个网络主机402、404、406的每一个网络接口302、304都维持工作连接,则作为每一个后续完整性消息的一部分发送的完整性信息保持所有通信状态不发生变化(其是良好),如时间T7、T8和T9处所示。但是,如果发生网络故障,则受影响的网络主机的后续完整性消息将最终被更新,以反映在受影响网络主机之间的通信状态的改变。
在图8所示出的例子中,在时间T8和T9之间(例如,在时间T8.5)发生了图6的网络故障602。如所示出的例子中所示,虽然由于发生故障602,不再可能进行去往或来自主机B(第二网络主机404)的通信,但在时间T9和T10(分别从主机C和主机A)发送的完整性信息所指示的所有连接的通信状态仍然显示成是良好的。如上所述,在一些例子中,关于特定的网络接口的坏连接(例如,网络故障)的检测是基于:在从该特定网络接口接收到上一次(例如,最近)传输之后,没有接收到新传输的时间流逝达到阈值时间段。在所示出的例子中,在主网络408上从主机B成功发送的上一次完整性消息(在网络故障602之前)发生在时间T8。由于存在六个不同的网络接口要进行循环通过,所以直到时间T14为止,都不会预期在主网络408上从主机B发送下一个完整性消息。因此,基于在时间T8接收的消息,在时间T9和T10发送的完整性消息继续表示所有通信状态都是良好。在一些例子中,时间T8和时间T14之间的时间小于一秒,所以通信状态的这种错误将能快速地得到解决。
在所示出的例子中,在时间T11发送的完整性信息指示主机B(发送完整性消息的网络主机)与主机C之间在主网络408上的通信状态是坏的(其通过字母“B”来指示),而主机B与主机A之间的通信状态仍然是良好的。关于主机A和主机C所指示的不同通信状态,是网络故障602的时序相对于在主机B处经由主网络408从主机A和主机B中的每一个主机接收的上一次完整性消息的时序的结果。如示例性表800中所示,在主网络408上从主机A发送的上一次完整性消息是在时间T7,其位于时间T8.5处的网络故障602之前。直到时间T13为止,不会预期在主网络上从主机A期望的下一个完整性消息。因此,在时间T11,还没有流逝达到从主机A所预期的下一个完整性消息的时间间隔,所以主机B的完整性消息分析器306将仍然不会确认这些主机之间的网络已发生故障。相比而言,主机C在时间T9发送完整性消息,其在时间T8.5处的网络故障602之后发生。结果,在时间T9从主机C发送的完整性消息将不会按照预期被传送到主机B,使得完整性消息分析器306确定这些主机之间的连接是坏的。
如上所述,在一些例子中,完整性消息分析器306对每一个完整性消息的内容(例如,完整性信息)进行分析,以便更新要在后续的完整性消息中呈现的在这些网络主机之间的通信状态。这通过主机C在时间T12发送的完整性消息来说明。如上所述,由于仍然没有发生网络故障602,所以主机B在时间T8所发送的完整性消息在主机C处被成功地接收。此外,直到时间T14为止,都不会预期经由主网络408的来自主机B的下一个完整性消息。但是,在一些例子中,主机C的完整性消息分析器306识别在辅助网络410上从主机B发送的完整性信息所指示的坏的通信状态(在时间T11)。在一些这种例子中,完整性消息分析器306确定其自身与主机B之间在主网络408上的通信状态是坏的。
主机A在时间T13所提供的完整性信息仍然指示主机A与主机B之间的通信状态是良好的,这是由于下一个所预期的来自主机B的完整性消息仍处于未来(在时间T14),并且没有其它完整性消息指示主机A与主机B之间的坏连接。但是,虽然主机A在时间T13发送了完整性消息,但由于网络故障602,主机B将没有接收到该消息。因此,主机B的完整性消息分析器306确定在时间T13该通信状态是坏的,这是由于该时间是从主机A预期下一个完整性消息的时间,但却没有接收到该消息。
在时间T14,主机B可以尝试发送用于指示主机A与主机B之间的通信故障(在时间T13处确定)和主机B与主机C之间的通信故障(在时间T9处确定)的完整性消息。但是,由于网络故障602,来自主机B的完整性消息的传送将失败,使得没有什么被传送到主机A和主机C。在一些这种例子中,随着主机B尝试发送完整性消息(例如,在时间T14),但该传输可能未被确认,从而向主机B指示发生了网络故障(独立于自从从其它主机接收到一传输以来,是否超过了阈值时间段)。关于主机A和主机C而言,在时间T14处预期新的消息,在主网络408上的上一次从主机B成功发送完整性消息的时间T8与时间T15之间的时间段,超过了在其期间预期另一个完整性消息的阈值时间段。在一些这种例子中,主机C的完整性消息分析器306确定在主机B与主机C之间存在经由主网络408的网络故障,并相应地更新完整性信息(其在时间T15处发送)。在其它例子中,主机C的完整性消息分析器306可以基于(在时间T11)从主机B接收的完整性信息,已经确定发生故障的通信状态,如上所述。因此,在这种例子中,主机C(在时间T15)发送的完整性消息中所包括的完整性信息继续反映这种坏的通信状态。同样,在所示出的例子中,由于在时间T14,预期来自主机B的完整性消息,所以主机A的完整性消息分析器306确定在主机A与主机B之间存在经由主网络408的网络故障。因此,在时间T16,对主机A所提供的完整性信息进行更新以反映这种坏的通信状态。因此,截至时间T16,所有的网络主机都检测到了网络故障602,并发送了反映通信状态的改变的完整性消息。来自每一个主机的每一个后续完整性消息中的完整性信息将继续保持不变,直到检测到另一种改变为止(例如,网络故障602被修复和/或在这些网络主机中的至少两个网络主机之间发生另一个网络故障)。虽然所示出的例子示出了在单一时间间隔(例如,循环通过所有网络接口的一个循环)之后对通信状态进行更新,但在一些例子中,该阈值时间段可以更长(例如,循环通过网络接口的两个或三个完整循环的持续时间)。
虽然示例性表800示出了主机A经由主网络,在时间T13和T19发送完整性消息,以及示出了主机C经由主网络,在时间T9和T15发送完整性消息,但由于关于主机B的网络故障602,来自主机A和主机C的消息仅仅只能成功地传送到彼此。也就是说,虽然主机A和主机C将会接收到对方所发送的完整性消息,但主机B将不会接收到这些完整性消息中的任何一个。
在一些例子中,如图8的示例性表800中所示,从各个网络主机402、404、406发送的完整性消息在主网络408和辅助网络410之间交替。也就是说,主机A、B和C中的每一个主机在主网络408上发送完整性消息,接着主机A、B和C中的每一个主机在辅助网络410上发送完整性消息。其它排列是可能的。例如,图9是用于示出在网络主机的初始发现期间,图4的网络主机中的每一个网络主机所发送的完整性消息的不同的示例性随时间推移变化的表900。在图9所示出的例子中,在另一个网络主机402、404、406通过各个网络408、410发送完整性消息之前,各个网络主机402、404、406做相同的事情。也就是说,在主机B发送任何完整性消息(其开始于时间T3)之前,主机A(在时间T1)在主网络408上发送第一完整性消息,接着(在时间T2)在辅助网络410上发送第二完整性消息。图9的示例性表900中示出了随着发现网络主机中的每一个网络主机而在连续的完整性消息中获得的完整性信息。
如上所述,在一些例子中,每一个网络主机可以基于在期望时是否从其它主机接收到完整性消息,来确定自身与其它网络主机之间的通信状态。因此,在一些例子中,在各个完整性消息中所包括的唯一事情就是主机信息。在这种例子中,在第五列810中示出的完整性信息对应于在完整性表生成器308所创建的完整性表中存储的信息。但是,该信息可以没有与其它网络主机进行共享。也就是说,在一些例子中,每一个主机生成其自己的完整性表,而没有共享所获得的完整性信息。在其它例子中,在主机之间共享完整性信息,以实现对这些网络主机中的每一个网络主机之间所确定的通信状态进行比较。在一些例子中,使用由一个网络主机从其它网络主机接收的完整性信息来更新或者完成完整性表(例如,如果该完整性表要包括所有网络连接的通信状态的话)。此外,在一些例子中,使用由一个网络主机从另一个主机接收的完整性信息,来更新在该网络主机将发送出的下一个完整性消息中所包括的完整性信息。
返回到图3,示例性网络主机210提供有示例性通信路径确定器312,以确定和设置用于该网络主机210与其它网络主机之间的数据通信的路径。在一些例子中,当特定的网络接口(例如,第一网络接口302)与另一个网络主机的相应接口之间在相关联的网络(例如,主网络408)上的通信状态是良好的时,通信路径确定器312将该通信路径规定成经过与所连接的网络接口相关联的网络。因此,该网络主机经由相应的网络进行直接通信。但是,当完整性消息分析器306检测到网络接口之间的网络故障时(例如,坏的通信状态),通信路径确定器312可以识别网络接口之间的替代路径。例如,当两个网络主机之间存在经由主网络408的网络故障时,通信路径确定器312可以将替代的通信路径规定为经过连接这两个网络主机的辅助网络410。下面结合图10-图12来全面地描述示例性通信路径。
在一些例子中,只要一检测到坏的通信状态,通信路径确定器312就建立替代的通信路径。在其它例子中,在过了确定通信路径是坏的阈值数量时间之后,通信路径确定器312建立替代的通信路径。在一些例子中,在从特定的主机网络发送的阈值数量的连续完整性消息指示主机之间的通信状态是坏的之后,特定网络主机的通信路径确定器312关于另一个主机建立替代的通信路径。例如,具有坏的通信状态的完整性消息的阈值数量可以是三个。如图8所示出的例子中所示,从主机B发送的指示关于主机C的坏通信状态的第一完整性消息,是在时间T11在辅助网络410上发送的。具有相同信息(主机B与主机C之间的坏通信状态)的第二完整性消息是在时间T14,经由主网络408来发送的,该消息由于网络故障602而从未到达其它主机(这是表800指示什么也未传送的原因)。从主机B发送的指示关于主机C的坏通信状态的第三完整性消息,是在时间T17在辅助网络410上发送的。因此,在这种例子中,主机B的通信路径确定器312在时间T17,在主机B与主机C之间建立替代的通信路径。
相比而言,在上面的例子中,由于是从主机B发送的指示主机B与主机A之间的坏通信状态的第三完整性消息(虽然从未传送),因此主机B的通信路径确定器312在时间T20,在主机B与主机A之间建立替代的通信路径。具有这种信息的从主机B发送的第一完整性消息(其经由主网络408进行尝试)是处于时间T14,发送的第二完整性消息(并经由辅助网络410来成功地传送)是处于时间T17。关于主机A而言,指示与主机B的失败连接的三个连续完整性消息是处于时间T16、T19和T22(没有示出)。因此,主机A的通信路径确定器312在时间T20,在主机A与主机B之间建立替代的通信路径。关于主机C而言,指示与主机B的失败连接的三个连续完整性消息是处于时间T12、T15和T18。因此,主机C的通信路径确定器312在时间T18,在主机C与主机B之间建立替代的通信路径。
图10是具有经由主网络1006和辅助网络1008来连接的两个示例性网络主机1002、1004的示例系统1000的示意性视图。在一些例子中,网络主机1002、1004功能类似于上面所描述的网络主机210(其对应于图1和/或图2的瘦客户端126和/或工作站117、和/或图4和/或图6的网络主机402、404、406)。因此,如所示出的例子中所示,网络主机1002、1004中的每一个网络主机具有连接到主网络1006的第一网络接口1010和连接到辅助网络1008的第二网络接口1012。图10的主网络1006和辅助网络1008可以对应于图4的主网络408和辅助网络410。
在图10所示出的例子中,利用表示成X.X.X的IP网络号来标识主网络1006。第一网络主机1002和第二网络主机1004的第一网络接口1010分别利用分配的IP地址X.X.X.1和X.X.X.2来连接到主网络1006。利用表示成Y.Y.Y的IP网络号来标识所示出的例子的辅助网络1008,第一网络主机1002和第二网络主机1004的第二网络接口1012分别利用分配的IP地址Y.Y.Y.1和Y.Y.Y.2来连接到辅助网络1006。
如所示出的例子中所示,从第一网络主机1002到第二网络主机1004存在两个直接通信路径。这两个通信路径是在主网络1006上直接从第一网络主机1002的第一网络接口1010到第二网络主机1002的第一网络接口1010,或者在辅助网络1006上直接从第一网络主机1002的第二网络接口1012到第二网络主机1004的第二网络接口1012。同样,存在从第二网络主机1004到第一网络主机1002的两个直接路径,其与上面所概述的路径相反。在图10的表1014中,概括了这些直接通信路径。
如果在网络1006、1008中的一个网络上存在网络故障,则连接到出故障网络的网络接口1010、1012之间的直接通信不再是可用的。但是,一个网络中的故障将不会影响其它网络,使得在其它(适当功能的)网络上的直接通信仍然可用。在一些这种例子中,间接通过良好的网络来实现与出故障网络相关联的网络接口之间的通信。例如,图11示出了在主网络1006中具有网络故障1102的示例系统1000。虽然第一和第二网络主机1002、1004的第二网络接口1012可以直接通过辅助网络1008进行通信,但第一和第二网络主机1002、1004的第一网络接口1010由于网络故障1102而不能通过主网络1006进行通信。
在一些例子中,通过启用IP路由,在每一个网络主机1002、1004的网络接口1010、1012之间使用网络主机1002、1004中的每一个网络主机中的内部或本地路由1104来绕过上面的网络故障1102。利用在网络主机中启用的IP路由,在一些例子中,当关于这些网络接口中的一个网络接口和另一个网络主机的相应网络接口,检测到坏的通信状态时,通信路径确定器312规定新的或者替代的路径,其中该新的或替代的路径依赖于该网络主机连接到的良好网络。具体而言,在一些例子中,通信路径确定器312利用以下的条目来自动地更新针对连接到出故障网络的网络接口的IP路由表:其中该条目将相同网络主机的其它网络接口规定成在具有坏连接的网络接口与具有良好连接的网络之间的网关或路由器。由于发送数据的网络主机和接收该数据的网络主机都检测到网络故障,因此每一个主机上连接到良好网络的网络接口都将被规定成用于相应网络主机的其它网络接口的网关,以允许根据需要将数据通信转发到最终的目的地。
例如,第一网络主机1002的第一网络接口1010可以尝试向第二网络主机1002的第一网络接口1010发送数据(例如,与过程控制系统的操作相关联的数据)。但是,在图11中所表示的情形中,这种数据通信将由于网络故障1102而发生失败。但是,如上所述,网络主机1002、1004监测到从其它主机发送的完整性消息的频繁传输,使得可以非常快速地检测到网络故障1102(例如,在几秒或者更短时间之内)。在一些例子中,只要检测到网络故障1102,第一网络主机1002的通信路径确定器312就规定新的通信路径,其中在该新的通信路径中,将第二网络接口1012规定成用于来自第一网络主机1002的第一网络接口1010的通信的网关。结果,源自于第一网络主机1002的第一网络接口1010的通信(例如,经由内部路由1104)被路由到第二网络接口1012,并通过辅助网络1008来发送。同时,在这些例子中,第二网络主机1004的通信路径确定器312类似地将第二网络接口1012规定成用于与第二网络主机1004的第一网络接口1010相关联的通信的网关。结果,在第二网络主机1004的第二网络接口1012处所接收的寻址到第一网络接口1010的通信,被转发到第一网络接口1010(例如,经由内部路由1104)。因此,在图11所示出的例子中,在网络主机1002、1004之间存在一个直接通信路径和一个间接通信路径,如表1106中所概括的。
一旦通信路径确定器312建立了如上所述的新通信路径,则可以在第一和第二网络主机1002、1004的第一网络接口1010之间继续数据通信。在一些例子中,在网络故障与建立替代的通信路径之间的时间小于五秒。在一些例子中,其小于两秒。因此,其相对于现有的方法具有明显的改进,其中现有方法要花费一分钟或者更多时间来检测网络故障,随后在可以再次开始数据传输之前,必须建立新的通信路径。
在一些例子中,虽然经由通信路径确定器312所规定的替代通信路径来发送数据通信,但源自于第一网络接口1010的完整性消息仍然通过主网络1006所规定的直接路径来进行发送。在这些例子中,只要网络故障1102持续进行,则完整性消息传输将不会成功。因此,预期这种完整性消息的其它主机网络,将继续确认在相应的网络接口之间的连接的通信状态是坏的。但是,一旦修复了网络故障,就将成功地传送下一个完整性消息,使得接收到该消息的网络主机可以确认该连接已经被恢复。在一些例子中,一旦网络主机确定修复了网络故障(即,通信状态从坏改变成良好),则通信路径确定器312可以调整针对相关联的网络接口的IP路由表,以再次在现在修复的主网络1006的直接路径上发送过程控制数据。
图12示出了在辅助网络1008中具有网络故障1202的示例系统1000。在一些例子中,以如上面参照图11的网络故障1102所描述的相同方式,来完成网络主机1002、1004的辅助网络接口1012之间的替代通信路径的检测和建立,但第二网络接口1012之间的通信被重新路由通过主网络1006。图12中的表1204概括了由于图12的网络故障1202而产生的直接和间接通信路径。
返回到图3,示例性网络主机210提供有示例性通信管理器314,以管理对来自于网络主机210的完整性消息的传输。例如,通信管理器314控制何时要经由第一网络接口302来发送完整性消息,以及何时要经由第二网络接口304来发送完整性消息。如上所述,在一些例子中,完整性消息的传输在第一和第二网络接口302、304之间交替。在一些例子中,通信管理器314对每一个完整性消息的时序进行控制,以便位于针对各个连续消息所设置的时间间隔之内。
另外,在一些例子中,通信管理器314对网络408、410上从网络主机210到任何指定地址的数据(例如,过程控制数据)的传输进行管理。例如,通信管理器准备具有适当的路由信息的数据分组,以发送到正确的目的地。在一些例子中,当第一次检测到网络故障时,通信管理器314使得对旨在在替代路径建立(其通常仅仅几秒)之前进行传输的任何数据进行排队,以便进行重传。一旦建立了替代路径,则可以将任何排队的数据连同任何后续数据进行一起重传。因此,与很多已知方法相比,本文所公开的教导不仅更快速地检测和解决网络故障,而且本文所公开的例子实现了确保数据不丢失并且将全部进行适当地传送的另外优点。
虽然在图3中示出了实现主机网络210(其对应于图1-图2、图4、图6和/或图10-图12中的工作站117、瘦客户端126、网络主机402、404、406和/或网络主机1002、1004中的任何一个)的示例性方式,但可以以任何其它方式对图3中所示出的单元、处理和/或设备中的一个或多个进行组合、划分、重新排列、省略、消除和/或实施。此外,示例性第一网络接口302、示例性第二网络接口304、示例性完整性消息分析器306、示例性完整性表生成器308、示例性完整性消息生成器310、示例性通信路径确定器312、示例性通信管理器314、示例性报警管理器316和/或(更一般地说)图3的示例性网络主机210,可以通过硬件、软件、固件和/或硬件、软件和/或固件的任意组合来实现。因此,例如,示例性第一网络接口302、示例性第二网络接口304、示例性完整性消息分析器306、示例性完整性表生成器308、示例性完整性消息生成器310、示例性通信路径确定器312、示例性通信管理器314、示例性报警管理器316和/或(更一般地说)示例性网络主机210中的任意一个,可以通过一个或多个模拟或数字电路、逻辑电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)和/或现场可编程逻辑器件(FPLD)来实现。当阅读本专利的装置或系统权利要求中的任何一个以覆盖纯粹的软件和/或固件实现时,故明确地规定示例性第一网络接口302、示例性第二网络接口304、示例性完整性消息分析器306、示例性完整性表生成器308、示例性完整性消息生成器310、示例性通信路径确定器312、示例性通信管理器314和/或示例性报警管理器316中的至少一个,以包括对软件和/或固件进行存储的有形计算机可读存储设备或存储盘,诸如存储器、数字多功能光盘(DVD)、压缩盘(CD)、蓝光光盘等等。此外,图3的示例性网络主机210可以包括除了图3中所示出的那些单元、处理和/或设备之外的一个或多个单元、处理和/或设备,或者替代这些单元、处理和/或设备,和/或可以包括所示出的单元、处理和设备中的任何一个或全部中的一个以上的单元、处理和/或设备。
在图13A和图13B中,示出了表示用于实现图3的网络主机210的示例性方法的流程图1300。在该例子中,可以使用机器可读指令来实现这些方法,其中该机器可读指令包括用于由处理器(例如,下面结合图14所讨论的示例性处理器平台1400中所示出的处理器1412)执行的程序。该程序可以用存储在有形计算机可读存储介质(例如,CD-ROM、软盘、硬盘驱动器、数字多功能光盘(DVD)、蓝光光盘或者与处理器1412相关联的存储器)上的软件来体现,但整个程序和/或其一部分可以替代地由不同于处理器1412的设备来执行,和/或体现在固件或专用硬件中。此外,虽然参照图13A和图13B中示出的流程图来描述了该示例性程序,但也可以替代地使用用于实现示例性网络主机210的多种其它方法。例如,可以改变这些方框的执行顺序,和/或可以对所描述的这些方框中的一些方框进行改变、消除或者组合。
如上所述,可以使用在诸如硬盘驱动器、闪存、只读存储器(ROM)、压缩盘(CD)、数字多功能光盘(DVD)、高速缓存、随机存取存储器(RAM)之类的有形计算机可读存储介质,和/或将信息存储任何持续时间的任何其它存储器件或者存储盘(例如,其用于延长的时间段、永久性地、用于很短的时间、用于临时缓冲和/或用于信息的缓存)上存储的编码指令(例如,计算机可读指令和/或机器可读指令),来实现图13A和图13B的示例性过程。如本文所使用的,明确地规定术语有形计算机可读存储介质以包括任何类型的计算机可读存储设备和/或存储盘,其排除传播信号,并排除传输介质。如本文所使用的,可互换地使用“有形计算机可读存储介质”和“有形机器可读存储介质”。另外地或替代地,可以使用在诸如硬盘驱动器、闪存、只读存储器、压缩盘、数字多功能光盘、高速缓存、随机存取存储器之类的非暂时性计算机可读介质和/或机器可读介质,和/或将信息存储任何持续时间的任何其它存储器件或者存储盘(例如,其用于延长的时间段、永久性地、用于很短的时间、用于临时缓冲和/或用于信息的缓存)上存储的编码指令(例如,计算机可读指令和/或机器可读指令),来实现图13A和图13B的示例性方法。如本文所使用的,明确地规定术语非暂时性计算机可读介质包括任何类型的计算机可读存储设备和/或存储盘,其排除传播信号,并排除传输介质。如本文所使用的,当将短语“至少”使用成权利要求书的前序部分中的过渡术语时,它是开放性的,如同术语“包括”是开放性的一样。
图13A和图13B的示例性方法1300开始于方框1302,其中在方框1302处,示例性完整性消息分析器306判断是否经由指定的网络接口(例如,第一或第二网络接口302、304中的任意一个)从网络主机(例如,不同于与该完整性消息分析器306相关联的网络主机)接收到所预期的完整性消息。指定的网络接口对应于第一网络接口302还是第二网络接口304,取决于网络主机如何循环通过经由两个共同网络来连接的每一个网络主机的网络接口中的每一个网络接口。在一些例子中,基于在从相同的网络接口接收到上一次完整性消息以来的一阈值时间段,来预期完整性消息。在一些例子中,该阈值时间段与单一循环通过这些网络接口中的每一个网络接口的持续时间相对应。在其它例子中,该阈值时间段更长,例如,三个循环通过这些网络接口中的每一个网络接口的持续时间。
如果完整性消息分析器306确定接收到完整性消息(方框1302),则控制转到方框1304处,示例性完整性消息分析器306判断是否从新网络主机接收到完整性消息。完整性消息分析器306基于在完整性消息中所包括的主机信息来进行该判断。如果主机信息标识了消息分析器306先前没有从其接收到完整消息的网络主机,则完整性消息分析器306确定该网络主机是新的。如果完整性消息分析器306确定该网络主机是新的(方框1304),则控制转到方框1306,其中在方框1306,示例性完整性消息分析器306在IP路由表中生成针对该新网络主机的条目。在方框1307处,示例性完整性表生成器308在完整性表中创建针对该新网络主机的条目。在方框1308处,示例性完整性表生成器308在完整性表中将对经由指定的网络接口与该网络主机的通信状态的指示设置为良好的。也就是说,由于接收到完整性消息(如方框1302处所确定的),与发送该完整性消息的网络主机的连接被确认成是良好的,并相应地填充完整性表。返回到方框1304,如果完整性消息分析器306确定该网络主机不是新的,则控制直接转到方框1308。
在方框1309处,示例性通信路径确定器312判断该通信状态先前是否是坏的(其在下面所描述的方框1330处设置)。如果是,则控制转到方框1310,其中在方框1310,示例性通信路径确定器重新建立至该网络主机的指定网络接口的直接通信路径(来自于在下面所描述的方框1338处建立的替代通信路径)。也就是说,如果指定的网络接口与该网络主机之间的通信状态是坏的,但其现在被指示成良好的(即,该网络连接刚刚被修复),则通信路径确定器312可以恢复在该指定的网络接口与从其接收到完整性消息的网络主机之间的直接通信。在一些例子中,通信路径确定器312通过更新与指定的网络接口相关联的IP路由信息以启用与其它网络主机直接传输,来建立该直接通信路径。在方框1311处,示例性报警管理器316移除(在下面所描述的方框1332处生成的)警告,并记录该网络恢复。随后,控制转到方框1312。返回到方框1309,如果示例性通信路径确定器312确定该通信状态先前不是坏的,则控制直接转到方框1312。
在方框1312处,示例性通信管理器314经由指定的网络接口,直接向网络主机发送过程控制数据。也就是说,该过程控制数据是在相关联的网络上,直接从相应的网络接口发送的(这是由于已确定该路径上的通信是良好的)。
在方框1314处,示例性通信管理器314判断是否经由第一网络接口302来发送完整性消息。如果是,则控制转到方框1316,其中在方框1316处,其中在方框1316,示例性完整性消息生成器310生成完整性消息。在一些例子中,该完整性消息包括对第一和第二网络接口302、304的IP地址进行标识的主机信息。另外,在一些例子中,该完整性消息包括对网络接口302、304中的每一个网络接口与其它网络主机的相应网络接口之间的通信状态进行指示的完整性信息。在方框1318处,示例性通信管理器314经由第一网络接口302,向其它网络主机发送该完整性消息。随后,控制转到方框1326,以判断是否继续图13A和图13B的示例性方法。如果是,则控制返回到方框1302,以利用所接收的后续完整性消息来重复该过程。否则,图13A和图13B的示例性方法结束。
返回到方框1314,如果示例性通信管理器314确定不经由第一网络接口302来发送完整性消息,则控制转到方框1320。在方框1320处,示例性通信管理器314判断是否经由第二网络接口304来发送完整性消息。如果示例性通信管理器314确定不经由第二网络接口304来发送完整性消息,则控制返回到方框1302。如果示例性通信管理器314确定经由第二网络接口304来发送完整性消息,则控制转到方框1322,其中在方框1322,示例性完整性消息生成器310生成完整性消息。在方框1324处,示例性通信管理器314经由第二网络接口304,向其它网络主机发送该完整性消息。随后,控制转到方框1326,以判断是返回到方框1302来重复该方法,还是结束该示例性方法。
返回到方框1302,如果完整性消息分析器306确定没有接收到所预期的完整性消息,则控制转到方框1328,其中在方框1328,示例性完整性消息分析器306判断自从从指定的网络接口接收到上一次完整性消息以来,是否超过了阈值时间段。如果没有超过该阈值时间段,则控制返回到方框1312以发送过程控制数据。如果已超过该阈值时间段,则控制转到方框1330。在方框1330处,示例性完整性表生成器308在完整性表中将对经由指定的网络接口与该网络主机的通信状态的指示设置为坏的。在方框1332处,示例性报警管理器316生成警告,并记录该网络故障。在一些例子中,向末端用户(例如,操作者)提供该警告以指示发生了网络故障。
在方框1334处,示例性通信路径确定器312判断是否建立了替代的通信路径(例如,在该示例方法的先前迭代期间)。如果是,则控制直接转到下面描述的方框1342处。如果示例性通信路径确定器312确定还没有建立替代的通信路径,则控制转到方框1336。在方框1336处,示例性通信管理器314将(例如,在方框1312处)向网络主机发送的失败的过程控制数据通信存储在队列中,以便进行重传。在方框1338处,示例性通信路径确定器312建立至该网络主机的指定网络接口的替代通信路径。在一些例子中,该替代的路径依赖于源网络主机和目的网络主机中的每一个网络主机中的在第一和第二网络接口302、304之间的本地路由。在这些例子中,该路径被规定为经过与不同于所指定的网络接口的网络接口相关联的网络。
一旦建立了替代的通信路径(方框1338),则在方框1340处,示例性通信管理器314就经由该替代通信路径,向所述网络主机重传队列中的过程控制数据通信。在方框1342处,示例性通信管理器314经由该替代通信路径,向所述网络主机发送过程控制数据(例如,其不同于先前排队的数据)。
图14是能够执行用于执行图13A和图13B中的方法的指令,从而实现图3的网络主机210的示例性处理器平台1400的框图。例如,处理器平台1400可以是服务器、个人计算机、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM之类的平板设备)、个人数字助理(PDA)、互联网设备、DVD播放器、CD播放器或者任何其它类型的计算设备。
所示出的例子的处理器平台1400包括处理器1412。所示出的例子的处理器1412是硬件。例如,处理器1412可以通过来自任何期望的家族或制造商的一个或多个集成电路、逻辑电路、微处理器或控制器来实现。
所示出的例子的处理器1412包括本地存储器1413(例如,高速缓存)。所示出的例子的处理器1412经由总线1418,与包括易失性存储器1414和非易失性存储器1416的主存储器进行通信。易失性存储器1414可以通过同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其它类型的随机存取存储器设备来实现。非易失性存储器1416可以通过闪存和/或任何其它期望类型的存储器设备来实现。对于主存储器1414、1416的存取由存储器控制器进行控制。
此外,所示出的例子的处理器平台1400还包括接口电路1420。接口电路1420可以通过任何类型的接口标准(例如,以太网接口、通用串行总线(USB)和/或PCI Express接口)来实现。
在所示出的例子中,一个或多个输入设备1422连接到接口电路1420。输入设备1422准许用户向处理器1412输入数据和命令。例如,输入设备可以通过音频传感器、麦克风、照相机(静态或视频)、键盘、按钮、鼠标、触摸屏、轨迹板、轨迹球、等位点装置(isopoint)和/或语音识别系统来实现。
此外,一个或多个输出设备1424也连接到所示出的例子的接口电路1420。例如,输出设备1424可以通过显示设备(如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器、阴极射线管(CRT)、触摸屏、触觉输出设备、发光二极管(LED)、打印机和/或扬声器)来实现。因此,所示出的例子的接口电路1420通常包括图形驱动卡、图形驱动芯片或者图形驱动处理器。
此外,所示出的例子的接口电路1420还包括诸如发射机、接收机、收发机、调制解调器和/或网络接口卡之类的通信设备,以有助于经由网络1426(例如,以太网连接、数字用户线(DSL)、电话线、同轴线缆、蜂窝电话系统等等)与外部机器(例如,任何类型的计算设备)实现数据的交换。
此外,所示出的例子的处理器平台1400还包括用于对软件和/或数据进行存储的一个或多个大容量存储设备1428。这种大容量存储设备1428的例子包括软盘驱动器、硬盘驱动器、压缩盘驱动器、蓝光光盘驱动器、RAID系统和数字多功能光盘(DVD)驱动器。
用于实现图13A和图13B的方法的编码指令1432可以存储在大容量存储设备1428、易失性存储器1414、非易失性存储器1416和/或诸如CD或DVD之类的可移动有形计算机可读存储介质中。
根据前述内容,将理解的是,上面所公开的方法、装置和制品相对于过程控制系统(无论其是物理和/或虚拟实现的)中所使用的现有冗余方案,提供了多种的优点。具体而言,本文所公开的例子并不依赖于与获取、配置和/或维护外部硬件来促进冗余相关联的成本和/或复杂度。另外,与其它现有的方法相比,本文所公开的例子持续地监测通信网络的完整性以便更加快速地检测故障,并响应于这种故障来建立替代通信路径。此外,本文所公开的例子在足够量的时间之内恢复网络连接,以便允许对在网络故障之后发送的数据进行重传,使得没有数据丢失。虽然存在一些公知的方法,这些公知的方法通过在单独的网络上将所有数据发送两次,以在不会由于网络故障而丢失数据的情况下,提供可靠的连接,但本文所公开的例子避免了对向网络施加这种另外的负载的需求,从而实现了更多数据被发送和/或按照更快的速率来发送数据。
虽然本文已公开了某些示例性方法、装置和制品,但本专利的覆盖范围并不受此限制。相反,本专利覆盖明确地落入本专利的权利要求的保护范围之内的所有方法、装置和制品。
Claims (39)
1.一种用于在过程控制系统中提供冗余性的方法,所述方法包括:
在第一网络主机处通过第一网络接收从第二网络主机所发送的第一完整性消息,所述第一完整性消息中的连续完整性消息的时序是由所述第二网络主机确定,而不管所述第二网络主机是否从所述第一网络主机接收到通信;
当所述第一网络主机的第一网络接口无法接收到从所述第二网络主机的第一网络接口所预期的所述第一完整性消息中的一个时,在所述第一网络主机处检测到经由所述第一网络的在所述第一网络主机的所述第一网络接口与所述第二网络主机的第一网络接口之间的第一通信路径上的网络故障;以及
响应于所检测到的网络故障,自动地在所述第一网络主机的所述第一网络接口与所述第二网络主机的所述第一网络接口之间建立第二通信路径;
在所述第一网络主机处通过第二网络接收从所述第二网络主机所发送的第二完整性消息;
其中,所述第二通信路径是经由所述第一网络主机的第二网络接口和所述第二网络主机的第二网络接口来路由通过所述第二网络;
其中,所述第一完整性消息和所述第二完整性消息中的每一个均包括:对在所述第二网络主机与所述第一网络主机之间经由相应的第一网络接口和第二网络接口,在所述第一网络和所述第二网络中的每一个上所确定的通信状态进行指示的完整性信息。
2.根据权利要求1所述的方法,还包括:
将所述第一网络主机的所述第二网络接口规定成用于所述第一网络主机的所述第一网络接口的网关,以使数据从所述第一网络主机的所述第一网络接口被路由到所述第一网络主机的所述第二网络接口。
3.根据权利要求1所述的方法,其中,在发生所述网络故障之后的小于五秒之内建立所述第二通信路径。
4.根据权利要求1所述的方法,其中,所述第一完整性消息和所述第二完整性消息中的每一个均包括对所述第二网络主机、所述第二网络主机的所述第一网络接口和所述第二网络主机的第二网络接口进行标识的主机信息。
5.根据权利要求4所述的方法,还包括:
在所述第一网络主机处,基于在所述第一完整性消息中的一个中所包括的所述主机信息来在所述第一网络上检测所述第二网络主机;以及
在路由表中创建条目,以规定从所述第一网络主机的所述第一网络接口到所述第二网络主机的所述第一网络接口的所述第一通信路径。
6.根据权利要求1所述的方法,其中,所述完整性信息还指示在所述第二网络主机与经由所述第一网络和所述第二网络通信地耦合到所述第一网络主机和所述第二网络主机的其它网络主机之间所确定的通信状态。
7.根据权利要求1所述的方法,还包括:
通过所述第一网络从所述第一网络主机发送第三完整性消息;以及
通过所述第二网络从所述第一网络主机发送第四完整性消息,所述第三完整性消息和所述第四完整性消息均响应于所检测到的网络故障而指示在所述第一网络上在所述第一网络主机的所述第一网络接口与所述第二网络主机的所述第一网络接口之间的网络故障。
8.根据权利要求1所述的方法,还包括:
响应于所检测到的网络故障,生成事件;以及
记录所述事件。
9.根据权利要求8所述的方法,其中,所述事件包括:对所述第一网络主机的所述第一网络接口和所述第二网络主机的所述第一网络接口进行标识的信息。
10.根据权利要求1所述的方法,还包括:
响应于所检测到的网络故障,生成警告;以及
记录所述警告。
11.根据权利要求10所述的方法,其中,所述警告包括:对所述第一网络主机的所述第一网络接口和所述第二网络主机的所述第一网络接口进行标识的信息。
12.根据权利要求1所述的方法,还包括:
响应于所检测到的网络故障,生成报警;以及
记录所述报警。
13.根据权利要求12所述的方法,其中,所述报警包括:对所述第一网络主机的所述第一网络接口和所述第二网络主机的所述第一网络接口进行标识的信息。
14.一种包括指令的有形计算机可读存储介质,当所述指令被执行时,使得第一网络主机至少执行以下操作:
通过第一网络接收从第二网络主机所发送的第一完整性消息,所述第一完整性消息中的连续完整性消息的时序是由所述第二网络主机确定,而不管所述第二网络主机是否从所述第一网络主机接收到通信;
当所述第一网络主机的第一网络接口无法接收到从所述第二网络主机的第一网络接口所预期的所述第一完整性消息中的一个时,检测到经由所述第一网络的在所述第一网络主机的所述第一网络接口与所述第二网络主机的所述第一网络接口之间的第一通信路径上的网络故障;以及
响应于所检测到的网络故障,自动地在所述第一网络主机的所述第一网络接口与所述第二网络主机的所述第一网络接口之间建立第二通信路径;
通过第二网络接收从所述第二网络主机所发送的第二完整性消息;
其中,所述第二通信路径是经由所述第一网络主机的第二网络接口和所述第二网络主机的第二网络接口来路由通过所述第二网络;
其中,所述第一完整性消息和所述第二完整性消息中的每一个均包括:对在所述第二网络主机与所述第一网络主机之间经由相应的第一网络接口和第二网络接口,在所述第一网络和所述第二网络中的每一个上所确定的通信状态进行指示的完整性信息。
15.根据权利要求14所述的存储介质,其中,当所述指令被执行时,还使得所述第一网络主机将所述第一网络主机的所述第二网络接口规定成用于所述第一网络主机的所述第一网络接口的网关,以使数据从所述第一网络主机的所述第一网络接口被路由到所述第一网络主机的所述第二网络接口。
16.根据权利要求14所述的存储介质,其中,在发生所述网络故障之后的小于五秒之内建立所述第二通信路径。
17.根据权利要求14所述的存储介质,其中,所述第一完整性消息和所述第二完整性消息中的每一个均包括:对所述第二网络主机、所述第二网络主机的所述第一网络接口和所述第二网络主机的第二网络接口进行标识的主机信息。
18.根据权利要求17所述的存储介质,其中,当所述指令被执行时,还使得所述第一网络主机执行以下操作:
基于在所述第一完整性消息中的一个中所包括的所述主机信息来在所述第一网络上检测所述第二网络主机;以及
在路由表中创建条目,以规定从所述第一网络主机的所述第一网络接口到所述第二网络主机的所述第一网络接口的所述第一通信路径。
19.根据权利要求14所述的存储介质,其中,所述完整性信息还指示在所述第二网络主机与经由所述第一网络和所述第二网络通信地耦合到所述第一网络主机和所述第二网络主机的其它网络主机之间所确定的通信状态。
20.根据权利要求14所述的存储介质,其中,当所述指令被执行时,还使得所述第一网络主机执行以下操作:
通过所述第一网络发送第三完整性消息;以及
通过所述第二网络发送第四完整性消息,其中所述第三完整性消息和所述第四完整性消息均响应于所检测到的网络故障而指示在所述第一网络上在所述第一网络主机的所述第一网络接口与所述第二网络主机的所述第一网络接口之间的网络故障。
21.根据权利要求14所述的存储介质,其中,当所述指令被执行时,还使得所述第一网络主机执行以下操作:
响应于所检测到的网络故障,生成事件;以及
记录所述事件。
22.根据权利要求21所述的存储介质,其中,所述事件包括:对所述第一网络主机的所述第一网络接口和所述第二网络主机的所述第一网络接口进行标识的信息。
23.根据权利要求14所述的存储介质,其中,当所述指令被执行时,还使得所述第一网络主机执行以下操作:
响应于所检测到的网络故障,生成警告;以及
记录所述警告。
24.根据权利要求23所述的存储介质,其中,所述警告包括:对所述第一网络主机的所述第一网络接口和所述第二网络主机的所述第一网络接口进行标识的信息。
25.根据权利要求14所述的存储介质,其中,当所述指令被执行时,还使得所述第一网络主机执行以下操作:
响应于所检测到的网络故障,生成报警;以及
记录所述报警。
26.根据权利要求25所述的存储介质,其中,所述报警包括:对所述第一网络主机的所述第一网络接口和所述第二网络主机的所述第一网络接口进行标识的信息。
27.一种包括第一网络主机的系统,所述第一网络主机包括处理器和存储器,所述处理器用于执行存储在所述存储器上的指令以执行以下操作:
通过第一网络接收从第二网络主机所发送的第一完整性消息,所述第一完整性消息中的连续完整性消息的时序是由所述第二网络主机确定,而不管所述第二网络主机是否从所述第一网络主机接收到通信;
当所述第一网络主机的第一网络接口无法接收到从所述第二网络主机的第一网络接口所预期的所述第一完整性消息中的一个时,检测到在所述第一网络主机的所述第一网络接口与所述第二网络主机的所述第一网络接口之间经由所述第一网络在第一通信路径上的网络故障;以及
响应于所检测到的网络故障,自动地在所述第一网络主机的所述第一网络接口与所述第二网络主机的所述第一网络接口之间建立第二通信路径;
通过第二网络接收从所述第二网络主机所发送的第二完整性消息;
其中,所述第二通信路径是经由所述第一网络主机的第二网络接口和所述第二网络主机的第二网络接口来路由通过所述第二网络;
其中,所述第一完整性消息和所述第二完整性消息中的每一个均包括:对在所述第二网络主机与所述第一网络主机之间经由相应的第一网络接口和第二网络接口,在所述第一网络和所述第二网络中的每一个上所确定的通信状态进行指示的完整性信息。
28.根据权利要求27所述的系统,其中,当所述指令被执行时,还使得所述第一网络主机将所述第一网络主机的所述第二网络接口规定成用于所述第一网络主机的所述第一网络接口的网关,以使数据从所述第一网络主机的所述第一网络接口被路由到所述第一网络主机的所述第二网络接口。
29.根据权利要求27所述的系统,其中,在发生所述网络故障之后的小于五秒之内建立所述第二通信路径。
30.根据权利要求27所述的系统,其中,所述第一完整性消息和所述第二完整性消息中的每一个均包括:对所述第二网络主机、所述第二网络主机的所述第一网络接口和所述第二网络主机的第二网络接口进行标识的主机信息。
31.根据权利要求30所述的系统,其中,当所述指令被执行时,还使得所述第一网络主机执行以下操作:
基于在所述第一完整性消息中的一个中所包括的所述主机信息来在所述第一网络上检测所述第二网络主机;以及
在路由表中创建条目,以规定从所述第一网络主机的所述第一网络接口到所述第二网络主机的所述第一网络接口的所述第一通信路径。
32.根据权利要求27所述的系统,其中,所述完整性信息还指示在所述第二网络主机与经由所述第一网络和所述第二网络通信地耦合到所述第一网络主机和所述第二网络主机的其它网络主机之间所确定的通信状态。
33.根据权利要求27所述的系统,其中,当所述指令被执行时,还使得所述第一网络主机执行以下操作:
通过所述第一网络发送第三完整性消息;以及
通过所述第二网络发送第四完整性消息,其中所述第三完整性消息和所述第四完整性消息均响应于所检测到的网络故障而指示在所述第一网络上在所述第一网络主机的所述第一网络接口与所述第二网络主机的所述第一网络接口之间的网络故障。
34.根据权利要求27所述的系统,其中,当所述指令被执行时,还使得所述第一网络主机执行以下操作:
响应于所检测到的网络故障,生成事件;以及
记录所述事件。
35.根据权利要求34所述的系统,其中,所述事件包括:对所述第一网络主机的所述第一网络接口和所述第二网络主机的所述第一网络接口进行标识的信息。
36.根据权利要求27所述的系统,其中,当所述指令被执行时,还使得所述第一网络主机执行以下操作:
响应于所检测到的网络故障,生成警告;以及
记录所述警告。
37.根据权利要求36所述的系统,其中,所述警告包括:对所述第一网络主机的所述第一网络接口和所述第二网络主机的所述第一网络接口进行标识的信息。
38.根据权利要求27所述的系统,其中,当所述指令被执行时,还使得所述第一网络主机执行以下操作:
响应于所检测到的网络故障,生成报警;以及
记录所述报警。
39.根据权利要求38所述的系统,其中,所述报警包括:对所述第一网络主机的所述第一网络接口和所述第二网络主机的所述第一网络接口进行标识的信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/541,932 US10003525B2 (en) | 2014-11-14 | 2014-11-14 | Methods and apparatus to provide redundancy in a process control system |
US14/541,932 | 2014-11-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105607590A CN105607590A (zh) | 2016-05-25 |
CN105607590B true CN105607590B (zh) | 2021-06-08 |
Family
ID=55855541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510780732.1A Active CN105607590B (zh) | 2014-11-14 | 2015-11-13 | 用于在过程控制系统中提供冗余性的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10003525B2 (zh) |
JP (2) | JP7046473B2 (zh) |
CN (1) | CN105607590B (zh) |
DE (1) | DE102015119643A1 (zh) |
GB (1) | GB2536750B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6348655B2 (ja) * | 2015-03-04 | 2018-06-27 | 日本電信電話株式会社 | セキュリティ対処無効化防止装置、セキュリティ対処無効化防止方法およびセキュリティ対処無効化防止プログラム |
US10333772B2 (en) * | 2016-06-07 | 2019-06-25 | Quanta Computer Inc. | Remote keyboard-video-mouse technologies |
DE102017103418B4 (de) * | 2017-02-20 | 2019-01-24 | Infineon Technologies Ag | Verfahren zum Bestimmen von Informationen über eine Integrität von Signalverarbeitungskomponenten innerhalb eines Signalpfades, Signalverarbeitungsschaltung und elektronische Steuerungseinheit |
CN108512753B (zh) * | 2017-02-28 | 2020-09-29 | 华为技术有限公司 | 一种集群文件系统中消息传输的方法及装置 |
DE102017109030A1 (de) * | 2017-04-27 | 2018-10-31 | Endress+Hauser Process Solutions Ag | Verfahren zum Betreiben eines Feldgeräts |
DE102017123222A1 (de) | 2017-10-06 | 2019-04-11 | Endress + Hauser Process Solutions Ag | Verfahren zum Betreiben einer Anlage der Automatisierungstechnik |
CN109274553A (zh) * | 2018-09-26 | 2019-01-25 | 北京广利核系统工程有限公司 | 核安全级dcs系统通信的自诊断方法和装置 |
CN109802571A (zh) * | 2018-12-29 | 2019-05-24 | 国网天津市电力公司电力科学研究院 | 一种应用于三相固态变压器的冗余控制系统及方法 |
CN110119111B (zh) * | 2019-02-26 | 2021-04-16 | 北京龙鼎源科技股份有限公司 | 通信方法及装置、存储介质、电子装置 |
TWI722447B (zh) * | 2019-06-03 | 2021-03-21 | 瑞昱半導體股份有限公司 | 傳輸介面的錯誤處理方法以及相關的錯誤處理架構 |
US11846934B2 (en) | 2019-09-23 | 2023-12-19 | Fisher-Rosemount Systems, Inc. | Industrial control system hyperconverged architecture |
US11671314B2 (en) * | 2020-06-11 | 2023-06-06 | Dell Products L.P. | Configuring HCI management network via management controller |
TWI796693B (zh) * | 2021-05-17 | 2023-03-21 | 象量科技股份有限公司 | 路燈系統、主動檢查路燈狀態的方法和例行自動檢查路燈是否正常的方法 |
CN113934135B (zh) * | 2021-12-14 | 2022-04-01 | 国网江苏省电力工程咨询有限公司 | 一种基于电力管廊的复式监控系统 |
CN114660974B (zh) * | 2022-04-22 | 2022-11-08 | 珠海市洛奇云联科技有限公司 | 一种工业制造智能系统及其远程控制方法 |
WO2023237217A1 (en) * | 2022-06-10 | 2023-12-14 | Abb Schweiz Ag | Automation system and method for investigating, in the automation system, the performance of a wireless communication network |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6392990B1 (en) * | 1999-07-23 | 2002-05-21 | Glenayre Electronics, Inc. | Method for implementing interface redundancy in a computer network |
CN102611598A (zh) * | 2012-01-31 | 2012-07-25 | 长沙中联消防机械有限公司 | 控制器局域网络总线冗余系统及冗余切换的方法和装置 |
CN103647781A (zh) * | 2013-12-13 | 2014-03-19 | 大连理工计算机控制工程有限公司 | 一种基于设备冗余和网络冗余的混合冗余可编程控制系统 |
CN103826253A (zh) * | 2014-02-26 | 2014-05-28 | 江苏林洋电子股份有限公司 | 一种ZigBee网络协调器冗余备份方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6178178B1 (en) * | 1994-06-01 | 2001-01-23 | Nortel Networks Limited | Switching module for redundant local area network |
US6181677B1 (en) * | 1998-02-18 | 2001-01-30 | Milgo Solutions, Inc. | Method and apparatus for detection and protection against data loss in a fractional T1/E1 communications environment |
JP3954217B2 (ja) | 1998-10-02 | 2007-08-08 | 東芝ソリューション株式会社 | ネットワークシステムに適用されるネットワーク切り替え方法 |
EP1192755B1 (en) * | 1999-06-21 | 2011-06-01 | Fieldbus Foundation | Block-oriented control system on high speed ethernet |
CN100391190C (zh) * | 2000-02-25 | 2008-05-28 | 霍尼韦尔国际公司 | 经由冗余网络控制的多重网络故障容错管理的方法和装置 |
US7284147B2 (en) * | 2003-08-27 | 2007-10-16 | International Business Machines Corporation | Reliable fault resolution in a cluster |
US7813263B2 (en) * | 2004-06-30 | 2010-10-12 | Conexant Systems, Inc. | Method and apparatus providing rapid end-to-end failover in a packet switched communications network |
JP4498871B2 (ja) * | 2004-09-22 | 2010-07-07 | 株式会社エヌ・ティ・ティ・ドコモ | 無線通信装置 |
US20060291378A1 (en) * | 2005-06-28 | 2006-12-28 | Alcatel | Communication path redundancy protection systems and methods |
US8134928B1 (en) * | 2005-12-15 | 2012-03-13 | Nvidia Corporation | Technique for identifying a failed network interface card within a team of network interface cards |
US7606143B2 (en) * | 2007-02-28 | 2009-10-20 | Embarq Corporation | System and method for advanced fail-over for packet label swapping |
EP1995918A1 (en) * | 2007-05-25 | 2008-11-26 | British Telecommunications Public Limited Company | Alternative route selection in Telecommunications networks |
JP4966927B2 (ja) * | 2008-07-31 | 2012-07-04 | 株式会社日立製作所 | プラント監視・制御システムおよび通信経路の迂回方法 |
JP5163479B2 (ja) * | 2008-12-19 | 2013-03-13 | 富士通株式会社 | パス切替え方法 |
US8619605B2 (en) | 2009-05-13 | 2013-12-31 | Avaya Inc. | Method and apparatus for maintaining port state tables in a forwarding plane of a network element |
JP5531831B2 (ja) * | 2010-07-06 | 2014-06-25 | 富士通株式会社 | 通信装置、及び通信方法 |
CN102082695B (zh) * | 2011-03-07 | 2013-01-02 | 中控科技集团有限公司 | 热备冗余网络系统及其冗余实现方法 |
-
2014
- 2014-11-14 US US14/541,932 patent/US10003525B2/en active Active
-
2015
- 2015-11-13 CN CN201510780732.1A patent/CN105607590B/zh active Active
- 2015-11-13 DE DE102015119643.3A patent/DE102015119643A1/de active Pending
- 2015-11-13 GB GB1520094.2A patent/GB2536750B/en active Active
- 2015-11-16 JP JP2015223632A patent/JP7046473B2/ja active Active
-
2020
- 2020-06-17 JP JP2020104604A patent/JP7009560B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6392990B1 (en) * | 1999-07-23 | 2002-05-21 | Glenayre Electronics, Inc. | Method for implementing interface redundancy in a computer network |
CN102611598A (zh) * | 2012-01-31 | 2012-07-25 | 长沙中联消防机械有限公司 | 控制器局域网络总线冗余系统及冗余切换的方法和装置 |
CN103647781A (zh) * | 2013-12-13 | 2014-03-19 | 大连理工计算机控制工程有限公司 | 一种基于设备冗余和网络冗余的混合冗余可编程控制系统 |
CN103826253A (zh) * | 2014-02-26 | 2014-05-28 | 江苏林洋电子股份有限公司 | 一种ZigBee网络协调器冗余备份方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2020167714A (ja) | 2020-10-08 |
DE102015119643A1 (de) | 2016-05-19 |
US10003525B2 (en) | 2018-06-19 |
CN105607590A (zh) | 2016-05-25 |
JP2016096549A (ja) | 2016-05-26 |
GB201520094D0 (en) | 2015-12-30 |
GB2536750A (en) | 2016-09-28 |
GB2536750B (en) | 2021-07-14 |
JP7046473B2 (ja) | 2022-04-04 |
JP7009560B2 (ja) | 2022-01-25 |
US20160142283A1 (en) | 2016-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105607590B (zh) | 用于在过程控制系统中提供冗余性的方法和装置 | |
US10114713B1 (en) | Systems and methods for preventing split-brain scenarios in high-availability clusters | |
JP5187249B2 (ja) | 冗長化システム用コネクションリカバリ装置,方法および処理プログラム | |
CN106330475B (zh) | 一种通信系统中管理主备节点的方法和装置及高可用集群 | |
US9218230B2 (en) | Method for transmitting messages in a redundantly operable industrial communication network and communication device for the redundantly operable industrial communication network | |
WO2018233645A1 (zh) | 基于CANopen协议的列车网络数据传输方法、系统及其装置 | |
JP2004192642A (ja) | 設定変更可能な信頼性の高いメッセージ通信システム | |
CN104168193A (zh) | 一种虚拟路由器冗余协议故障检测的方法及路由设备 | |
US20150113313A1 (en) | Method of operating a server system with high availability | |
JP2010103695A (ja) | クラスタシステム、クラスタサーバ及びクラスタ制御方法 | |
US20120254377A1 (en) | Redundant Automation System | |
CN101729426A (zh) | 一种虚拟路由冗余协议主备用设备快速切换的方法及系统 | |
JP4964666B2 (ja) | 冗長化された通信経路を切り替える計算機、プログラム及び方法 | |
CN111030877A (zh) | 主备设备切换方法和装置 | |
JP2013167922A (ja) | 冗長化通信システムおよび冗長化通信方法 | |
CN102143011A (zh) | 一种实现网络保护的装置及方法 | |
CN104125079A (zh) | 一种确定双机热备份配置信息的方法及装置 | |
JP2002344450A (ja) | 高可用性処理方法及びその実施システム並びにその処理プログラム | |
JP2012142710A (ja) | Lani/f切替制御システムと方法およびプログラム | |
US8903991B1 (en) | Clustered computer system using ARP protocol to identify connectivity issues | |
CN111510336B (zh) | 一种网络设备状态管理方法及装置 | |
EP3627766B1 (en) | Method and system for switching between active bng and standby bng | |
CN113852514A (zh) | 服务不中断的数据处理系统、处理设备切换方法、连接设备 | |
KR20150059697A (ko) | 소프트웨어 정의 네트워크에서의 네트워크 결함 검출 방법 및 시스템 | |
CN112769600B (zh) | 一种dhcp逃生方法、装置、设备及机器可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |