CN104977875A - 具有同级间冗余性的控制器系统和操作该系统的方法 - Google Patents
具有同级间冗余性的控制器系统和操作该系统的方法 Download PDFInfo
- Publication number
- CN104977875A CN104977875A CN201510165063.7A CN201510165063A CN104977875A CN 104977875 A CN104977875 A CN 104977875A CN 201510165063 A CN201510165063 A CN 201510165063A CN 104977875 A CN104977875 A CN 104977875A
- Authority
- CN
- China
- Prior art keywords
- controller
- task
- redundancy
- holotype
- same level
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- 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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- 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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24182—Redundancy
-
- 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/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24192—Configurable redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
Abstract
一种系统(100)中的控制器(110-1,110-2,110-3)与技术实体相关联,并且适合于当控制器关于任务与相关联的技术实体交互时选择性地以主模式(101)执行任务(A,B,C),并且当控制器不关于任务与相关联的技术实体交互时以辅助模式(102)执行任务(A,B,C)。该系统将第一任务(A)的任务指令分配给配置为以主模式(101)执行第一任务的第一控制器(110-1),并将第一任务的任务指令分配给配置为以辅助模式(102)执行第一任务的第二控制器(110-2)。该系统将第二任务(B)的任务指令分配给配置为以主模式执行第二任务的第二控制器。该系统进一步配置为,当第一控制器不可用时,使第二控制器从针对第一任务的辅助模式切换至针对第一任务的主模式,同时第二控制器适合于继续以主模式执行第二任务。
Description
技术领域
本发明大体涉及计算机系统,并且更具体地说涉及控制系统,其以冗余性方案执行任务。
背景技术
技术系统,例如发电厂、能量分配网络、工业中的制造设备、运输设施、电动车充电网络等等具有许多的约束。仅举几个例子而言,这些系统需要是可用性高的,这些系统通常是复杂的,具有许多互相关联的构件,并且某些系统以自动或半自动操作模式进行操作。
为了解决这些和其它约束,相对于技术工艺执行而言非常关键的技术构件具备冗余性,并且这些技术系统连接在控制系统上。控制系统包括基本上所有水平的计算机。计算机可帮助整体地控制技术系统,例如控制中心、控制系统或自动化系统中的计算机。计算机可与实施工业工艺的单独构件相关联,或者与构件的元件相关联。
在工业环境中,计算机时常实施为具有中央处理器(CPU)、通信模块和电源模块的控制器。控制器的一个示例是商业上可从德国曼海姆的ABB自动化公司得到的商标“AC800M”下的控制器。
对于一般计算机和尤其对于控制器而言使用冗余性是很常见的。流行的冗余性解决方案包括暖备用(或热备用)和N-模块化冗余性。通常,根据系统所需的整体可用性来选择冗余性方案。
进一步简化,在暖备用或热备用的条件下,备用控制器基本上提供了与运转中的控制器或起作用的控制器相同的功能,并且如果运转中的控制器失效,那么备用控制器接管(一对一)。在运转中的控制器被替换之前,该系统不再是容错的。
根据基本相同的程序,按照N-模块化布置的控制器基本上是一直运转的。其输出按照投票方案与隐含的错误检测进行比较,从而丢弃故障控制器的输出。用于N-模块化布置的一个典型的示例是三出二布置(2oo3,或“三重模块化冗余性)。
然而,任何冗余性需要技术资源,例如附加控制器的提供和运转。这导致附加的能量消耗和维护工作、计算开销(用于投票方案)等等。这些对技术资源的需求随着所需的整体可用性的增加而增加。这种冲突需要解决。
在一种控制系统和相应地具有三个或多个控制器的控制器系统中,这些控制器与技术实体相关联。控制器单独地且分开地执行任务,但某些控制器作为同级(peer)共享任务指令。关于特定的第一任务,指令分配给第一控制器,其在与相关联的技术实体交互下,按照所谓主模式执行第一任务。指令还分配给第二控制器,其为第一任务提供冗余性。因此,第二控制器按照所谓辅助模式不与相关联的技术实体交互。关于特定的第二任务,指令可分配给第三控制器和第一控制器,第三控制器按照主模式执行第二任务,并且第一控制器为第二任务提供冗余性。
换句话说,第一控制器具有第二控制器作为任务执行同级,并且第一控制器是第三控制器的冗余性同级。如果其中一个控制器变得不可用,那么同级间关系发生改变。
例如,如果第一控制器变得不可用,那么第二控制器接管第一任务。为了恢复针对第三任务的冗余性,第二控制器变为第三任务的冗余性控制器。
不可用可能发生在几种严重程度下:不可用可为完全不可用,其中例如,控制器根本不能执行任何任务。不可用还可为部分不可用,其中例如,控制器至少可执行某些任务,或者可在速度或带宽减少的条件下执行任务。
本发明的实施例容许将不可用风险分布在多个控制器上。为了节省资源,这些任务不需要由两个或多个控制器并行执行(如同N-冗余性方案或热备用中一样)。这种解决方案利用了现代控制器的技术特征,例如足够的容量(存储器和处理器)来同时执行多个任务。
控制器消耗与任务数量相对应的电能,使得用于两个或多个任务的控制器同单任务控制器相比临时增加能量消耗,但一旦替代控制器开始运转,那么能量消耗将得以平衡。
现代控制器通常具有足够的容量来执行多个任务,或临时执行附加任务。控制器可装备有附加硬件(例如存储器),但额外费用是可忽略的,所以同具有专用的控制器用作辅助控制器相比,可节省成本。换句话说,假如作为辅助控制器的任务执行不干扰作为主控制器的(正常)任务执行的话,当控制器作为辅助控制器执行任务时,使用了控制器的空闲容量。同本领域中已知的典型部署相反,基本上不需要用于提供冗余性的附加控制器。
控制器的不可用可能具有各种原因,例如控制器硬件(存储器、处理器、总线、存储等等)或甚至控制器软件中的故障或缺陷。
原则上,这种解决方案对于不可用的原因是不敏感的。这种解决方案还可应用于控制器的维护。维护可为硬件维护或软件维护。负责维护控制器的服务人员可简单地关闭控制器,并且不同的控制器接管操作。单个控制器的维护不会中断控制器系统整体的运转,从而可实现非中断的维护。许多不同的任务可跨几个控制器进行分配,以便按照主模式和辅助模式执行任务。变成不起作用(不可用)的控制器触发辅助模式的控制器以主模式接管任务。这对于多个轨道安装式控制器的实施是特别有用的,因为控制器可以很容易地进行更换。
当其再次可用时或者如果已经安装了替换控制器的话,任务的执行可移回到原始控制器(首先执行任务的控制器)。移回可同步完成。
相对于正在处理的数据、变量或所设定的寄存器而言,执行任务的控制器呈现某些状态。状态信息可被保留并在控制器之间进行通信,例如作为检查地点或数据信号。
发明内容
根据本发明的实施例,分别在一种控制器系统和控制系统中,控制器与技术实体相关联,并适合于当控制器关于这些任务与相关联的技术实体交互时选择性地以主模式执行任务,并且当控制器不关于这些任务与相关联的技术实体交互时以辅助模式执行任务。该系统配置为将第一任务的任务指令分配给第一控制器,第一控制器配置为以主模式执行第一任务,并且将第一任务的任务指令分配给第二控制器,第二控制器配置为以辅助模式执行第一任务。该系统配置为将第二任务的任务指令分配给第二控制器,第二控制器配置为以主模式执行第二任务B。该系统进一步配置为,当第一控制器不可用时,使第二控制器从针对第一任务的辅助模式切换至针对第一任务的主模式,同时第二控制器适合于继续以主模式执行第二任务。
该系统可配置为将第三任务的任务指令分配给第一控制器,以便以辅助模式执行第三任务,并且可配置为,当第一控制器不可用时,切换第二控制器,以便以辅助模式执行第三任务。
针对特定任务处于辅助模式下的控制器可配置为接收来自针对同一特定任务处于主模式下的控制器的活动性消息。针对特定任务处于辅助模式下的控制器可配置为周期性地接收活动性消息。针对特定任务处于辅助模式下的控制器可配置为接收活动性消息,活动性消息具有指示处于主模式下的控制器继续执行同一特定任务的活动性信号。针对特定任务处于辅助模式下的控制器可配置为接收具有数据信号的活动性消息,数据信号包括在主模式下执行任务指令期间所产生的变量的拷贝。针对特定任务处于辅助模式下的控制器可配置为以不同的频率接收活动性消息的活动性信号和活动性消息的数据信号。针对特定任务处于辅助模式下的控制器可配置为将冗余性供给消息发送给以主模式执行特定任务的控制器。冗余性供给消息指示控制器以辅助模式继续执行同一特定任务。
控制器可配置为具有冗余性管理器,其与同级控制器协作,使特定控制器能够成为受管理控制器,受管理控制器适合于标识同级控制器,使得受管理控制器消耗同级冗余性,并提供同级冗余性。受管理控制器以主模式执行第一特定任务,并从而消耗同级冗余性。受管理控制器还以辅助模式执行第二特定任务,并从而提供同级冗余性。当同级不可用时,对于第二特定任务,受管理控制器从辅助模式切换至主模式。
本发明提供了一种用于操作控制器系统的计算机实施式方法,控制器系统具有多个控制器。控制器与技术实体相关联,并且控制器适合于当控制器关于任务与相关联的技术实体交互时,选择性地以主模式执行任务,并且当控制器不关于任务与相关联的技术实体交互时以辅助模式执行任务。在第一动作阶段“标识(identify)”中,该系统通过标识第一同级控制器而标识控制器系统的受管理控制器,以便消耗用于第一特定任务的冗余性,并且标识控制器系统的受管理控制器,从而通过标识以主模式执行第二特定任务的第二同级控制器来提供冗余性。在第二动作阶段“执行”中,该系统让受管理控制器以主模式执行第一特定任务,并且以辅助模式执行第二特定任务,并且让第一同级控制器以辅助模式执行第一特定任务,且第二同级控制器以主模式执行第二特定任务。在第三动作阶段“改变”中,可能发生两种情况。在第一情况下,受管理控制器变成不可用,并且第一同级控制器通过针对第一特定任务从辅助模式切换至主模式从而接管任务的执行。在第二情况下,第二同级变成不可用,并且受管理控制器通过针对第二特定任务从辅助模式切换至主模式从而接管任务的执行。
第二动作阶段“执行”可包括周期性地将第一活动性消息从受管理控制器发送至第一同级控制器,以及周期性地接收来自第二同级控制器的第二活动性消息。
第三动作阶段“改变”可能在第一情况下被触发,其中受管理控制器不再发送活动性消息,或者在第二情况下可能被触发,其中受管理控制器不再接收来自第二同级控制器的第二活动性消息。
第二动作阶段“执行”可包括周期性地针对第二特定任务发送冗余性供给消息至第二同级控制器。第二动作阶段“执行”可包括周期性地从第一同级控制器接收进一步冗余性供给消息,并且如果进一步冗余性供给消息停止的话可重复第一动作阶段“标识”,使得受管理控制器标识替代控制器,以便第一特定任务通过替代控制器以辅助模式来执行。
提供了用于控制器系统中的冗余性管理器。在该系统中,多个控制器与技术实体相关联,控制器适合于当控制器关于任务与相关联的技术实体交互时选择性地以主模式执行任务,并且当控制器不关于任务与相关联的技术实体交互时以辅助模式执行任务。冗余性管理器实施为计算机程序,以便加载到多个控制器的受管理控制器中。冗余性管理器包括模块:通过标识第一同级控制器作为第一特定任务的冗余性控制器,通过让受管理控制器以主模式执行第一特定任务,且通过让第一同级控制器以辅助模式执行第一特定任务,并通过将活动性消息发送给第一同级控制器直至受管理控制器变成不可用,第一模块使受管理控制器能够消耗第一同级控制器的冗余性,第一同级控制器以辅助模式执行第一特定任务。通过标识第二同级控制器,通过让受管理控制器以辅助模式执行第二特定任务,通过确认第二同级控制器以主模式执行第二特定任务,通过接收来自第二同级控制器的活动性消息,并且在接收中断的情况下,通过使第二特定任务实例化(instantiate),以便由受管理控制器以主模式执行,第二模块使受管理控制器能够为第二同级控制器提供冗余性,第二同级控制器以主模式执行第二特定任务。
在工业环境中,控制器可实施为具有中央处理器(CPU)、通信模块和电源模块的轨道安装式模块。
结果,基本上不需要附加的冗余性控制器通过容错来实现高可用。同级冗余性方案根据各种需求来调整规模。在具有N个控制器的系统中,可能有若干种系统布置。例如,N个控制器(主)各具有一个同级控制器(辅助)来提供冗余性。在进一步的示例中,N个控制器各使用来自系统的其它N-1个控制器的冗余性。
附图说明
根据某些说明性的示例和附图将进一步公开和解释本发明本身、优选实施例和本发明的改进之处,其中:
图1显示了带多个控制器的控制器系统,控制器具有冗余性管理器;
图2显示了系统的第一控制器、第二控制器和第三控制器处于不同时间点的情形,其中假定第一控制器从一个特定的时间点完全不可用;
图3显示了如图2中的第一控制器、第二控制器和第三控制器处于不同时间点的情形,但其中假定第一控制器只是部分地不可用;
图4显示了系统控制器中的冗余性管理器;且
图5显示了用于操作控制器系统的计算机实施式方法的框图。
具体实施方式
现在将参照具有同级控制器的系统来解释本发明的实施例,其在动作阶段“标识”、“执行”和“改变”中运转(参照图5)。在阶段“标识”中,在时间点t0,该系统标识控制器,从而以主模式或辅助模式执行任务。在阶段“执行”中,在时间点t1(图1),控制器是可用的,并且执行任务。在阶段“改变”中,在时间点t2和t3(图2,3),至少一个控制器已经变成不可用。某些剩余控制器接管任务执行,并且从辅助模式切换主模式(t2)以及从主模式切换成辅助模式(t3)。
控制器(在动作阶段“标识”、“执行”和“改变”)的操作可被区分为“提供冗余性”和“消耗冗余性”的操作(图3-4)。
图1显示了一种带有多个控制器110-1,110-2,110-3...110-N的控制器系统100,控制器具有冗余性管理器130-1,130-2,130-3...130-N。
控制器通过网络等进行通信联接,例如,利用TCP/IP协议的网络(例如国际计算机互联网、企业内部互联网)、控制网络协议MMS(制造消息服务)、IAC(应用程序间通信)协议或其它网络。底层协议可包括被称为例如现场总线或工业以太网(FF HSE、以太网/IP、Modbus/TCP、PROFINET、IEC-61850等等)的工业控制器网络协议。本领域中的技术人员可提供合适的网络,而不需要在这里进一步解释。网络容许控制器交换消息,例如活动性消息120-1,120-B,120-C(总称120)和冗余性供给消息140-A,140-B,140-C(总称140)。
如将要解释的那样,冗余性是主动提供的,并且冗余性被动地消耗,以便减轻控制器的临时不可用。网络的冗余性可根据传统的冗余性方案(例如备用冗余性)来提供。
如已经提到的那样,控制器与技术实体相关联,例如在制造业中用于执行技术工艺的工业机器或设备。在不同的粒度水平,控制器还可与这种机器的构件相关联。
控制器可与实体物理地分离,或者控制器可为实体的组成部分。在一个示例中,控制器属于一种具有功率自动化、工艺电气化或工艺仪表化集成环境的系统。以工艺仪表化作为一个示例,这些任务涉及技术工艺的各种步骤。
在进一步的示例中,控制器是工业机器人的监测模块的一部分。在该示例中,监测模块执行任务,其涉及监测机器人,并且传感器控制器控制传感器。一个或多个传感器可被指定为一个传感器,使得多个控制器可控制甚至更大量的传感器。
由控制器执行的任务可被分组到应用和程序中。在应用和程序水平提供冗余性是可能的。这里对于任务的教义可应用于应用和程序或其它形式,同样不需要进一步解释。
控制器具有处理器和存储器。控制器可以两种执行模式执行任务:对于以主模式101(或“主要模式”、“主机模式”)执行任务的控制器,任务指令已经经过实例化,使得控制器在预定的交互水平下关于任务与技术实体交互。对于以辅助模式102(或“冗余性模式”、“备用模式”或“从机模式”)执行任务的控制器,任务指令仍没有被处理器访问(即,仍没有实例化),使得在那个交互水平没有技术交互。换句话说,主模式中的控制器作为主控制器执行任务,并且辅助模式中的控制器作为辅助控制器执行任务。
关于上面引入的“消耗/供给”的差别,主控制器消耗来自辅助控制器的冗余性,并且辅助控制器为主控制器提供冗余性。单个控制器可作为主控制器和辅助控制器执行不同的任务。
交互水平可相对于处理器、存储器或其组合来限定。例如,处理器可运转或不运转,可执行任务或不执行任务,可输出信号或不输出信号等等。相对于存储器,也可能存在若干个选项。根据第一选项,任务指令位于主控制器的存储器中;但任务指令仍不处于辅助控制器的存储器中。根据第二选项,在主存储器(RAM)和储存存储器(例如用于储存应用和数据的闪存)之间存在差异。任务指令处于主控制器的主存储器中;但任务指令处于辅助控制器的储存存储器中。根据第三选项,任务指令对于两种模式处于主存储器(RAM)中。用于主模式的任务指令被执行(即,实例化),并且用于辅助模式的任务指令保留在存储器中,直到被实例化。根据第四选项(“热备用”),两个控制器同时执行任务,但只有主控制器的结果用于与技术实体交互。其它选项对于本领域中的技术人员是可用的,而不需要在这里进一步解释。
如提到的那样,这些模式涉及特定任务,所以控制器可同时以主模式和辅助模式执行不同的任务。
现在将针对具有3个控制器110-1,110-2和110-3的一个简化示例来解释控制器系统100的操作,但该原理也可应用于N>3的控制器。出于方便起见,任务和任务指令由大写字母A、B或C来表示。虚的水平线区分模式。该线上面的字母表示主模式101;该线下面的字母表示辅助模式102。
假定动作阶段“标识”在t0时已经完成,而且系统100运转在阶段“执行”。在该示例中,控制器110-1以主模式执行任务A而以辅助模式执行任务C,控制器110-2以主模式执行任务B而以辅助模式执行任务A,并且控制器110-3以主模式执行任务C而以辅助模式执行任务B。其它控制器,例如110-N执行其它任务。
这些模式受到冗余性管理器130-1,130-2,130-3…130-N的控制(图4中的细节)。管理器已经通过活动性消息120和冗余性供给消息140而在控制器之间建立了同级间通信。在该示例中,活动性消息120-A,120-B和120-C分别涉及任务A,B和C。活动性消息120从主控制器去向辅助控制器(相对于任务)。在该图中,活动性消息120由向右的箭头表示。
在该示例中,以主模式执行任务A的控制器110-1发送消息120-A给控制器110-2,控制器110-2以辅助模式执行任务A。控制器110-2(对于B为主模式)将消息120-B发送给控制器110-3(对于B为辅助模式)。控制器110-3(对于C为主模式)将消息120-C发送给控制器110-1(对于C为辅助模式)。活动性消息120被周期性地发送和接收。周期对于每个消息可为不同的。
活动性消息120可通过不同的逻辑来实施。本领域中的技术人员可选择最合适的逻辑。主模式中的控制器发送周期性的消息,即所谓的“心跳”,并且当辅助控制器在周期中不再接收到消息时,辅助控制器检测到不可用(例如意外的故障)(阳性逻辑)。
在备选方案中,主模式中的控制器在变得不可用时发送消息。(术语“活动性消息”包括“不可用消息”。)这种阴性逻辑具有避免网络被周期性消息消耗掉的优点。这种备选方案在故障情形中是有用的(故障消息),并且在有待维护主控制器的维护情形中也是有用的(维护消息)。如下面所示,消息可包括各种任务状态信息。
这两种备选方案可进行组合:周期性消息(心跳)可处理意外故障,并且额外的消息可用于维护情形中的平滑任务过渡。
活动性消息可实施为一对多消息,其意味着携带始发控制器身份的消息,或者实施为一对一消息(例如特定的主控制器对特定的辅助控制器)。
当活动性消息120从主模式下的控制器去向辅助模式下的控制器(对于特定任务;向右的箭头),以便根据需要使任务实例化时(从辅助模式切换至主模式,动作“改变”),主模式下的控制器需要接收信号,其指示辅助模式下的控制器(即,冗余性控制器)的可用性。
在图1的示例中,这通过冗余性供给消息140(向左的箭头)来完成。从控制器110-3至控制器110-2的冗余性供给消息140-B指示对于任务B的冗余性由辅助模式(即备用)下的控制器110-3来提供。冗余性供给消息140-A和140-C应用相同的原理。
在图1的示例中,冗余性供给消息140遵循与活动性消息120相同的逻辑:消息的不可达造成冗余性管理器通过起动搜索例程或控制器标识例程寻求备选同级。
本领域中的技术人员可实施其它消息发送方案,例如对活动性消息使用肯定响应的方案。在那种情况下,肯定响应将与供给消息共享功能性。消息可作为同步消息或异步消息来实施。
在已经聚焦动作阶段“执行”而解释了系统结构之后,图2-3的描述将继续动作阶段“改变”。
图2显示了系统的第一控制器、第二控制器和第三控制器处于不同时间点的情形,其中假定第一控制器从一个特定的时间点(t2)完全不可用。
在时间点t1,控制器110-1,110-2和110-3分别以主模式执行任务A,B和C(如图1中的阶段“执行”)。通过让控制器110-2以辅助模式执行任务A,控制器110-3以辅助模式执行任务B,并且控制器110-1以辅助模式执行任务C从而建立起同级冗余性。如上面结合图1所述,消息120和140继续穿过系统。
控制器给彼此提供冗余性/消耗彼此的冗余性,出于简单解释的目的,现在将解释控制器110-1如何消耗冗余性,并且控制器110-2如何提供冗余性(给控制器110-1,并且在改变之后,提供冗余性给控制器110-3)。
在时间点t2,控制器110-1已经变成完全(整个)不可用。结果,控制器110-2中的冗余性管理器不再接收活动性消息120-A(参照图1)。冗余性管理器130-2使任务指令在控制器110-2中实例化,使得控制器110-2对于任务A从辅助模式切换至主模式。控制器110-2继续以主模式执行任务B。
由于控制器110-1的故障,消息140-C(控制器110-1作为C的冗余性)不再到达控制器110-3。结果,冗余性管理器130-3起动搜索例程,以标识合适的控制器用作用于任务C的辅助控制器(重复动作阶段“标识”)。搜索例程可包括与系统中的其它控制器的消息交换。例如,搜索例程将广播消息发送给系统中的其它控制器。虽然广播消息是去向所有连接的控制器的一对多消息,但是也可使用其它消息,例如当发送控制器已经标识接收控制器时的一对一消息。
在时间点t3,控制器110-2已经被标识作为任务C的冗余性控制器(辅助模式控制器)。这可通过例如将任务指令从控制器110-3(对于C为主控制器)传递给控制器110-2来完成,即动作阶段“执行”。控制器110-2现在为控制器110-3(其消耗了冗余性)提供了用于任务C的冗余性。其它选项是可能的,例如从指令库中加载指令。
图3显示了如图2中的第一控制器、第二控制器和第三控制器处于不同时间点的情形,但其中假定第一控制器110-1只是部分地不可用。该情形类似于图2。图示集中于差异。
在t1,控制器110-1以主模式执行任务A1,A2和A3,并且控制器110-2是以辅助模式(备用)执行任务A1,A2和A3的控制器。
在t2,如虚线框所示,控制器110-1已经部分地变成不可用,结果,其可能不再执行任务A1,A2和A3(主模式),并且不再以任务C的辅助模式起作用。控制器110-1仍然执行A1和A2。消息对于控制器110-1仍然是可用的:消息120-A指示执行A3的不可用(对控制器110-1),并且消息140-C指示用于任务C的冗余性不可用(对控制器110-3)。冗余性管理器已经设置控制器110-2对于A3切换至主模式。
在t3,控制器110-2已经以辅助模式(备用)接管任务C。
换句话说,一个控制器(110-1)有缺陷,并显示了被降级的功能(部分功能),并且同级控制器(110-2)接管了功能(任务A3主模式,任务C辅助模式)。
本说明书继续解释如何可实施冗余性供给和消耗。
图4显示了系统控制器中的冗余性管理器130。本描述以第一控制器的管理器作为一个示例(用于控制器110-1的管理器130-1)。动作阶段可再次进行区分:在t0时的“标识”(标识同级控制器是主/辅助控制器),在t1时的“执行”(参照图2-3)和在t2时的“改变”(参照图2-3)。
考虑到同级控制器,管理器基本上具有两个功能:消耗冗余性131和提供冗余性132。这些功能基本上在所有动作阶段“标识”、“执行”和“改变”期间得以执行。该图显示了通过单独的模块实施的功能,但某些功能可部分地重叠并可以重用方式来实施或以共享-使用方式来实施(公共功能133)。管理器通过例如接收和发送消息120,140而与同级控制器的管理器通信。
第一功能“消耗冗余性”131涉及消耗(或使用)来自同级的备用性。例如,在t0,管理器130-1标识控制器110-2作为备用控制器。这可通过执行上述标识例程来完成。标识例程可包括根据预定准则自动地标识控制器,与管理员用户交互(通过用于系统的用户接口),访问查询分配表(其是网络的一部分),或标识控制器。在t1,控制器110-1作为主控制器执行任务A,并因此消耗来自控制器110-2的冗余性,控制器110-2作为辅助控制器执行任务A(操作同级)。管理器130-1将活动性消息120-A发送给其110-2处的配对物,直至控制器110-1在t2变成不可用(例如由于故障)。
第二功能“提供冗余性”132涉及为同级提供冗余性。在t0,管理器130-1通过标识例程标识控制器110-3。在t1,控制器110-1(备用同级)为控制器110-3(操作同级)提供用于任务C的冗余性。管理器130-1将冗余性供给消息140-C发送给控制器110-3,并接收活动性消息120-C(来自控制器110-3)。在控制器110-3将变成不可用(t2,t3)的情况下,消息120-C将缺失,并且管理器130-1将使任务C在控制器110-1中实例化。换句话说,管理器130-1将使控制器110-1针对任务C从辅助模式切换至主模式。
可选地,管理器130-1可提供公共功能。管理器130-1可储存检查点,其有助于通过从主模式改变至辅助模式的控制器(例如控制器110-1)而恢复操作。检查点是数据结构,其具有与任务执行相关的变量、状态信息等等。检查点可作为数据信号进行传送,其可为活动性消息的一部分(在t1时主至辅助控制器),并且检查点还可用于在t0时标识合适的同级控制器。
换句话说,辅助模式中的控制器/管理器接收具有数据信号的活动性消息120,数据信号包括在以主模式执行任务指令期间所产生的变量拷贝。相同的原理应用于发送这种信号,该变量被同样拷贝到信号中。
虽然活动性消息120可为简单的“是/否”活动性信号,但是数据信号将使用更大的带宽和存储器。以不同的频率发送和接收信号是有利的,例如以更大的周期传送数据信号并以更短周期传送活动性信号。
应该注意其它控制器中的管理器以相似的方式运转。系统中的其它控制器也可被认为是受管理控制器和同级控制器。例如,在t0时,控制器110-3中的管理器130-3也标识控制器110-1作为同级。或者,管理器130-2发送从控制器110-2接收到的活动性消息140-A(参照图1),从而确认仍然(由控制器110-2)提供了冗余性。
控制器还可被认为是计算机。因此,图4也显示了计算机程序或计算机程序产品。计算机程序产品在加载到计算机(例如控制器)的存储器中,并被计算机的至少一个处理器执行时,执行计算机实施式方法的步骤。换句话说,功能131,132和133代表程序模块,并且显示了该方法可在程序控制下进行实施。
图5显示了用于操作控制器系统的计算机实施式方法500的框图。其参考了与图4的示例相对应的控制器和任务。在流程图中,时间进度以自顶向下的方向来表示(t0,t1,t2)。图框显示了控制器的动作。本说明可适用于基本上所有控制器(和冗余性管理器),但出于简单起见,以控制器110-1,110-2和110-3作为说明性的示例。受管理控制器110-1是在其冗余性管理器的控制下用作消耗冗余性和提供冗余性的控制器。控制器110-1和110-3是相对受管理控制器的同级控制器。
如上面解释的那样,多个控制器(例如N=3)与技术实体相关联,并且控制器适合于(当控制器关于任务与相关联的技术实体交互时)选择性地以主模式执行任务,并且(当控制器不关于任务与相关联的技术实体交互时)以辅助模式执行任务。
在第一动作阶段(标识)中,控制器系统标识控制器系统的受管理控制器(例如110-1),以便通过标识501第一同级控制器(例如110-2)从而消耗用于第一特定任务(例如任务A)的冗余性。该系统还标识控制器系统的受管理控制器(110-1),以便通过标识502第二同级控制器(例如110-3)来提供冗余性,第二同级控制器以主模式执行第二特定任务(例如任务C)。
在第二动作阶段(执行)中,系统让受管理控制器(110-1)以主模式执行511-M第一特定任务(A),并以辅助模式执行512-M第二特定任务(C),并且第一同级控制器(110-2)以辅助模式执行511-P第一特定任务(A),并且第二同级控制器(110-3)以主模式执行512-P第二特定任务(C)。
在第三动作阶段(改变)中,存在有待区分的两种情况。在第一情况下,受管理控制器(110-1)本身变成不可用(t2时所示无图框),并且第一同级控制器(110-2)通过针对第一特定任务(A)从辅助模式切换521至主模式从而接管任务的执行。在第二情况下,第二同级(110-3)变成不可用,并且受管理控制器110-1通过对于第二特定任务(C)从辅助模式切换(522)至主模式从而接管任务的执行。
可选地,该方法重复动作“标识”,例如用于标识以辅助模式运转的控制器。结合图2(在t3)给出了一个示例。
着眼于活动性消息120,该方法500的第二动作“执行”可包括周期性地将第一活动性消息120-A从受管理控制器110-1发送给第一同级控制器110-2,并且周期性地从第二同级控制器110-3接收第二活动性消息120-C。在这种情况下,触发了第一情况下的第三动作“改变”,其中受管理控制器(110-1)不再发送活动性消息120-A,或者触发了第二情况下的第三动作“改变”,其中受管理控制器110-1不再接收来自第二同级控制器110-3的第二活动性消息120-C。一般说来,活动性消息从消耗冗余性的控制器去向提供冗余性的控制器。
着眼于冗余性供给消息140,该方法500的第二动作阶段(执行)可包括针对第二特定任务C周期性地将冗余性供给消息140-C发送给第二同级控制器110-3(参照图4)。第二动作阶段(执行)还可包括周期性地接收来自第一同级控制器110-2的进一步的冗余性供给消息(例如图1中的140-A)。如果进一步的冗余性供给消息停止,那么将重复第一动作阶段(标识),使得受管理控制器110-1标识替代控制器,以便第一特定任务(A)被替代控制器以辅助模式执行。结合图2已经解释了一个示例。一般说来,冗余性供给消息从消耗冗余性的控制器去向提供冗余性的控制器。
如上面提到的那样,消息可遵循不同的逻辑,但本领域中的技术人员可在不需要这里进一步解释的条件下修改方法。
上面已经参照系统具有三个控制器,并且针对可在任何这些控制器中实施的冗余性管理器而描述了实施例。然而,各种修改是可能的。不可用可为预期的。这特别适用于维护情形。控制器的检查点状态可在更换控制器之前进行同步。模式可通过例如引入其它模式而进行修改。例如,处于预备主模式(“热”备用)中的控制器起动处理数据,但不输出处理数据,直至其进入有效的主模式(即,处理和输出数据)。这种解决方案可提高切换速度并避免延误等等。
本发明的实施例可在数字电子电路中实施,或者在硬件、固件、软件或其组合中实施。本发明可实施为计算机程序产品,例如有形地体现在信息载体(例如机器可读的存储装置)中的计算机程序,以便被数据处理装置,例如可编程处理器、计算机或多个计算机执行或控制其操作。要求保护的计算机程序可以任何形式的程序设计语言进行编写,包括编译语言或翻译语言,并且其可以任何形式进行部署,包括独立程序或作为模块、构件、子例程或其它适合于在计算环境中使用的单元。计算机程序可经过部署,以便在一个计算机或多个计算机上执行,计算机位于一个站点或跨多个站点分布并通过通信网络进行互连。所述方法可全部在相应的装置上通过相对应的计算机产品来执行,例如第一计算机和第二计算机、被信任的计算机和通信装置。
本发明的方法步骤可通过一个或多个可编程处理器来执行,其执行计算机程序,以便通过操作输入数据和产生输出从而执行本发明的功能。这些方法步骤和本发明的装置还可通过专用逻辑电路,例如现场可编程门阵列(FPGA)或和专用集成电路(ASIC)来执行和实现。
作为示例,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算装置的任何一个或多个处理器。大体,处理器将从只读存储器或随机存取存储器接收指令和数据。计算机的基本元件是至少一个用于执行指令的处理器和一个或多个用于储存指令和数据的存储器装置。大体上,计算机还将包括或操作地联接到一个或多个用于储存数据的大容量存储装置上,以便接收数据或传递数据,例如磁盘、磁光盘、光盘或固态盘。这种存储装置还可根据需求来提供,并可通过国际计算机互联网来访问(例如云计算)。适合于体现计算机程序指令和数据的信息载体包括所有非易失性存储器的形式,其作为示例包括半导体存储器装置,例如EPROM、EEPROM和闪存装置;磁盘,例如内部硬盘或可移走磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可通过专用逻辑电路进行补充或并入到专用逻辑电路中。
为了提供与用户的交互,本发明可在具有显示装置和输入装置的计算机上实施,显示装置包括例如阴极射线管(CRT)或液晶显示(LCD)监视器,用于显示信息给用户,输入装置包括例如键盘、触摸屏或触摸板、定点装置,例如鼠标或跟踪球,由此用户可为计算机提供输入。其它种类的装置也可用于提供与用户的交互;例如,提供给用户的反馈可为任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入可以任何形式来接收,包括声音、语音或触觉输入。
本发明可在计算系统中实施,其包括后端构件,例如数据服务器,或者包括中间件构件,例如应用服务器,或者包括前端构件,例如客户端计算机,其具有图形化用户界面或网叶浏览器,由此用户可与本发明的实施例交互,或者包括这种后端、中间件或前端构件的任意组合。客户端计算机还可为移动装置,例如智能电话、平板PC或任何其它手持或可穿戴的计算装置。该系统的构件可通过任何形式或介质的数字数据通信进行互连,例如通信网络。通信网络的示例包括局域网(LAN)和广域网(WAN),例如国际计算机互联网或无线局域网或电信通信网络。
Claims (15)
1. 一种控制器系统(100),其中,控制器(110-1,110-2,110-3)与技术实体相关联,并且适合于当所述控制器(110-1,110-2,110-3)关于任务与相关联的技术实体交互时选择性地以主模式(101)执行任务(A,B,C),并且当所述控制器(110-1,110-2,110-3)不关于任务与相关联的技术实体交互时以辅助模式(102)执行任务(A,B,C),所述系统(100)的特征在于,所述系统(100)配置为将第一任务(A)的任务指令分配给第一控制器(110-1),所述第一控制器(110-1)配置为以主模式(101)执行第一任务(A),并且所述系统(100)配置为将第一任务(A)的任务指令分配给第二控制器(110-2),所述第二控制器(110-2)配置为以辅助模式(102)执行第一任务(A);所述系统(100)配置为将第二任务(B)的任务指令分配给所述第二控制器(110-2),所述第二控制器(110-2)配置为以主模式(101)执行所述第二任务(B);并且所述系统(100)进一步配置为当所述第一控制器(110-1)不可用时,使所述第二控制器(110-2)从针对所述第一任务(A)的辅助模式(102)切换至针对所述第一任务(A)的主模式(101),同时所述第二控制器(110-2)适合于继续以主模式(101)执行所述第二任务(B)。
2. 根据权利要求1所述的控制器系统,其特征在于,其配置为将第三任务(C)的任务指令分配给所述第一控制器(110-1),以便以辅助模式执行所述第三任务(C),并且配置为当所述第一控制器(110-1)不可用时,使所述第二控制器(110-2)切换成以辅助模式(102)执行所述第三任务(C)。
3. 根据权利要求1或2中的任一项所述的控制器系统(100),其特征在于,针对特定任务(A,B,C)处于辅助模式(102)下的控制器(110-2,110-3,110-1)配置为从针对同一特定任务(A,B,C)处于主模式(101)下的控制器(110-1,110-2,110-3)接收活动性消息(120-A,120-B,120-C)。
4. 根据权利要求3所述的控制器系统(100),其特征在于,针对特定任务(A,B,C)处于辅助模式(102)下的控制器配置为周期性地接收所述活动性消息(120-A,120-B,120-C)。
5. 根据权利要求3至4中的任一项所述的控制器系统(100),其特征在于,针对特定任务(A,B,C)处于辅助模式(102)下的控制器配置为接收具有活动性信号的活动性消息(120-A,120-B,120-C),所述活动性信号指示处于主模式(101)下的控制器(110-1,110-2,110-3)继续执行同一特定任务(A,B,C)。
6. 根据权利要求3至4中的任一项所述的控制器系统(100),其特征在于,针对特定任务(A,B,C)处于辅助模式(102)下的控制器配置为接收具有数据信号的活动性消息(120-A,120-B,120-C),所述数据信号包括在以主模式(101)执行任务指令期间所产生的变量的拷贝。
7. 根据权利要求5和6所述的控制器系统(100),其特征在于,针对特定任务(A,B,C)处于辅助模式(102)下的控制器配置为以不同的频率接收所述活动性消息的活动性信号和所述活动性消息的数据信号。
8. 根据权利要求1至7中的任一项所述的控制器系统(100),其特征在于,针对特定任务(A,B,C)处于辅助模式(102)下的控制器配置为将冗余性供给消息(140-A,140-B,140-C)发送给以主模式(101)执行特定任务的控制器,所述冗余性供给消息指示处于辅助模式(102)下的控制器继续执行同一特定任务(A,B,C)。
9. 根据权利要求1至8中的任一项所述的控制器系统(100),其特征在于,所述控制器(110-1,110-2,110-3)配置为具有冗余性管理器(130-1,130-2,130-3),所述冗余性管理器与同级控制器协作,使特定控制器能够成为受管理控制器(110-1),所述受管理控制器(110-1)适合于标识同级控制器(110-2,110-3),使得所述受管理控制器(110-1)消耗同级冗余性并提供同级冗余性,从而以主模式执行第一特定任务(A)同时消耗同级冗余性,并以辅助模式执行第二特定任务(C)同时提供同级冗余性,并且在所述同级不可用时针对所述第二特定任务(C)从辅助模式切换至主模式。
10. 一种用于操作控制器系统(100)的计算机实施式方法(500),所述控制器系统(100)具有多个控制器(110-1,110-2,110-3),所述控制器(110-1,110-2,110-3)与技术实体相关联,并且适合于当所述控制器(110-1,110-2,110-3)关于任务与相关联的技术实体交互时选择性地以主模式(101)执行任务(A,B,C),并且当所述控制器(110-1,110-2,110-3)不关于任务与相关联的技术实体交互时以辅助模式(102)执行任务(A,B,C),所述方法(500)包括:
第一动作阶段(标识),其中,所述系统(100)标识所述控制器系统(100)的受管理控制器(110-1)以便通过标识(501)第一同级控制器(110-2)而消耗针对第一特定任务(A)的冗余性,并且标识(502)所述控制器系统(100)的受管理控制器(110-1)以便通过标识(502)以主模式执行第二特定任务(C)的第二同级控制器(110-3)从而提供冗余性;
第二动作阶段(执行),其中,所述系统(100)让所述受管理控制器(110-1)以主模式执行(511-M)所述第一特定任务(A),并以辅助模式执行(512-M)所述第二特定任务(C),并且第一同级控制器(110-2)以辅助模式执行(511-P)所述第一特定任务(A),并且所述第二同级控制器(110-3)以主模式执行(512-P)所述第二特定任务(C);以及
第三动作阶段(改变),其中,选择性地,
在第一情况下,所述受管理控制器(110-1)变成不可用,并且所述第一同级控制器(110-2)通过针对所述第一特定任务(A)从辅助模式切换(521)至主模式从而接管所述任务的执行;
在第二情况下,所述第二同级(110-3)变成不可用,并且所述受管理控制器(110-1)通过针对所述第二特定任务(C)从辅助模式切换(522)至主模式从而接管任务的执行。
11. 根据权利要求10所述的计算机实施式方法(500),其特征在于,所述第二动作阶段(执行)包括周期性地将第一活动性消息(120-A)从所述受管理控制器(110-1)发送给所述第一同级控制器(110-2),并且周期性地接收来自第二同级控制器(110-3)的第二活动性消息(120-C)。
12. 根据权利要求11所述的计算机实施式方法(500),其特征在于,所述第三动作阶段(改变)在所述第一情况下是由于所述受管理控制器(110-1)不再发送活动性消息(120-A)而被触发的,或者在所述第二情况下是由于所述受管理控制器(110-1)不再接收来自所述第二同级控制器(110-3)的第二活动性消息(120-C)而被触发的。
13. 根据权利要求10至12中的任一项所述的计算机实施式方法(500),其特征在于,所述第二动作阶段(执行)包括针对所述第二特定任务(C)周期性地将冗余性供给消息(140-C)发送给所述第二同级控制器(110-3)。
14. 根据权利要求13所述的计算机实施式方法(500),其特征在于,所述第二动作阶段(执行)包括周期性地从所述第一同级控制器(110-2)中接收进一步的冗余性供给消息(140-A),并且如果所述进一步的冗余性供给消息停止的话则重复所述第一动作阶段(标识),使得所述受管理控制器标识替代控制器,以便所述第一特定任务(A)通过所述替代控制器以辅助模式来执行。
15. 一种用于控制器系统(100)中的冗余性管理器(130),所述控制器系统(100)具有多个控制器(110-1,110-2,110-3),所述控制器(110-1,110-2,110-3)与技术实体相关联,并且适合于当所述控制器(110-1,110-2,110-3)关于任务与相关联的技术实体交互时选择性地以主模式(101)执行任务(A,B,C),并且当所述控制器(110-1,110-2,110-3)不关于任务与相关联的技术实体交互时以辅助模式(102)执行任务(A,B,C),所述冗余性管理器(130)实施为计算机程序,其被加载到所述多个控制器(110-1,110-2,110-3)的受管理控制器(110-1)中,所述冗余性管理器(130)包括:
第一模块(131),其通过标识所述第一同级控制器(110-2)作为所述第一特定任务(A)的冗余性控制器,通过让所述受管理控制器(110-1)以主模式(101)执行所述第一特定任务(A)并通过让所述第一同级控制器(110-2)以辅助模式(102)执行所述第一特定任务(A),并且通过将活动性消息(120-A)发送给所述第一同级控制器(110-2),直至所述受管理控制器(110-1)变成不可用,从而使所述受管理控制器(110-1)能够消耗来自第一同级控制器(110-2)的冗余性,所述第一同级控制器(110-2)以辅助模式(102)执行第一特定任务(A);
第二模块(132),其通过标识所述第二同级控制器(110-3),通过让所述受管理控制器(110-1)以辅助模式(102)执行所述第二特定任务(C),并确认所述第二同级控制器(110-3)以主模式执行所述第二特定任务(B),通过接收来自所述第二同级控制器(110-3)的活动性消息(120-C),并在接收中断的情况下,通过使所述第二特定任务(C)实例化,以便由受管理控制器(110-1)以主模式(101)执行,从而使所述受管理控制器(110-1)能够为以主模式(101)执行第二特定任务(C)的第二同级控制器(110-3)提供冗余性。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14001298.0A EP2930623B1 (en) | 2014-04-09 | 2014-04-09 | Controller system with peer-to-peer redundancy, and method to operate the system |
EP14001298.0 | 2014-04-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104977875A true CN104977875A (zh) | 2015-10-14 |
CN104977875B CN104977875B (zh) | 2019-10-15 |
Family
ID=50513632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510165063.7A Active CN104977875B (zh) | 2014-04-09 | 2015-04-09 | 具有同级间冗余性的控制器系统和操作该系统的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9361151B2 (zh) |
EP (1) | EP2930623B1 (zh) |
CN (1) | CN104977875B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147081A (zh) * | 2019-05-16 | 2019-08-20 | 北京国电智深控制技术有限公司 | 一种分散控制系统及其控制方法、计算机可读存储介质 |
CN110967970A (zh) * | 2018-09-28 | 2020-04-07 | 罗克韦尔自动化技术公司 | 高可用性工业自动化控制器以及操作该控制器的方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170322521A1 (en) * | 2014-12-09 | 2017-11-09 | General Electric Company | Redundant ethernet-based control apparatus and method |
FR3046861B1 (fr) * | 2016-01-18 | 2018-02-16 | Alstom Transport Technologies | Procede de synchronisation, dispositif et vehicule associes |
DE102016219926A1 (de) * | 2016-10-13 | 2018-04-19 | Siemens Aktiengesellschaft | Verfahren, Sender und Empfänger zum Authentisieren und zum Integritätsschutz von Nachrichteninhalten |
DE102017100618A1 (de) * | 2017-01-13 | 2018-07-19 | HELLA GmbH & Co. KGaA | Kontrollsystem für ein Kraftfahrzeug, Kraftfahrzeug, Verfahren zur Kontrolle eines Kraftfahrzeugs, Computerprogrammprodukt und computerlesbares Medium |
CN108804109B (zh) * | 2018-06-07 | 2021-11-05 | 北京四方继保自动化股份有限公司 | 基于多路功能等价模块冗余仲裁的工业部署和控制方法 |
JP7463615B2 (ja) * | 2020-08-04 | 2024-04-08 | バーブ サージカル インコーポレイテッド | 副ロボットコントローラに制御を移行するための外科用ロボットシステム及び方法 |
US11899410B1 (en) | 2022-12-15 | 2024-02-13 | Halliburton Energy Services, Inc. | Monitoring a wellbore operation using distributed artificial intelligence |
US11899438B1 (en) * | 2022-12-15 | 2024-02-13 | Halliburton Energy Services, Inc. | Distributed control system with failover capabilities for physical well equipment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040001431A1 (en) * | 2002-06-28 | 2004-01-01 | Rostron Andy E. | Hybrid agent-Oriented object model to provide software fault tolerance between distributed processor nodes |
CN101640688A (zh) * | 2009-08-20 | 2010-02-03 | 中兴通讯股份有限公司 | 基于cdn的节点主备用控制器切换方法及cdn网络 |
US20110246815A1 (en) * | 2010-03-31 | 2011-10-06 | Lenovo (Singapore) Pte, Ltd. | Recovering from lost resources in a distributed server environment |
CN102245877A (zh) * | 2008-12-12 | 2011-11-16 | 飞乐特飞机发动机有限公司 | 航空器柴油发动机用的发动机控制系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR960016648B1 (ko) * | 1993-12-29 | 1996-12-19 | 현대전자산업 주식회사 | 커먼 컨트롤 중복 스위치 방법 |
US5644755A (en) * | 1995-02-24 | 1997-07-01 | Compaq Computer Corporation | Processor with virtual system mode |
US6934880B2 (en) * | 2001-11-21 | 2005-08-23 | Exanet, Inc. | Functional fail-over apparatus and method of operation thereof |
-
2014
- 2014-04-09 EP EP14001298.0A patent/EP2930623B1/en active Active
-
2015
- 2015-04-09 CN CN201510165063.7A patent/CN104977875B/zh active Active
- 2015-04-09 US US14/682,519 patent/US9361151B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040001431A1 (en) * | 2002-06-28 | 2004-01-01 | Rostron Andy E. | Hybrid agent-Oriented object model to provide software fault tolerance between distributed processor nodes |
CN102245877A (zh) * | 2008-12-12 | 2011-11-16 | 飞乐特飞机发动机有限公司 | 航空器柴油发动机用的发动机控制系统 |
CN101640688A (zh) * | 2009-08-20 | 2010-02-03 | 中兴通讯股份有限公司 | 基于cdn的节点主备用控制器切换方法及cdn网络 |
US20110246815A1 (en) * | 2010-03-31 | 2011-10-06 | Lenovo (Singapore) Pte, Ltd. | Recovering from lost resources in a distributed server environment |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110967970A (zh) * | 2018-09-28 | 2020-04-07 | 罗克韦尔自动化技术公司 | 高可用性工业自动化控制器以及操作该控制器的方法 |
CN110147081A (zh) * | 2019-05-16 | 2019-08-20 | 北京国电智深控制技术有限公司 | 一种分散控制系统及其控制方法、计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US9361151B2 (en) | 2016-06-07 |
US20150293779A1 (en) | 2015-10-15 |
CN104977875B (zh) | 2019-10-15 |
EP2930623B1 (en) | 2017-08-02 |
EP2930623A1 (en) | 2015-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104977875A (zh) | 具有同级间冗余性的控制器系统和操作该系统的方法 | |
CN100470494C (zh) | 集群可用性管理方法和系统 | |
US8005888B2 (en) | Conflict fast consensus | |
CN105337780B (zh) | 一种服务器节点配置方法及物理节点 | |
KR101635246B1 (ko) | 합의 기반 분산 작업 실행 | |
CN104133734A (zh) | 分布式综合模块化航空电子系统混合式动态重构系统与方法 | |
CN103635884A (zh) | 用于使用控制器操作的冗余的系统和方法 | |
CN110874261B (zh) | 可用性系统、方法和存储有程序的存储介质 | |
JP2000137694A (ja) | 常用冗長コピ―を用いた継続的デ―タベ―スアクセスを提供するシステム及び方法 | |
US20150081043A1 (en) | System for Control Logic Management | |
US20140100670A1 (en) | Method and a system for online and dynamic distribution and configuration of applications in a distributed control system | |
CN101216793A (zh) | 一种多处理器系统故障恢复的方法及装置 | |
CN102117225B (zh) | 一种工业自动化多点集群系统及其任务管理方法 | |
US9231779B2 (en) | Redundant automation system | |
US20190302742A1 (en) | Method for Setting Up a Redundant Communication Connection, and Failsafe Control Unit | |
CN112477919B (zh) | 一种适用于列车控制系统平台的动态冗余备份方法及系统 | |
WO2020024615A1 (zh) | 一种共识流程恢复方法及相关节点 | |
CN110109782A (zh) | 一种故障PCIe设备的更换方法、装置及系统 | |
CN116860463A (zh) | 一种分布式自适应星载中间件系统 | |
CN105301955A (zh) | 一种系统级重构管理应用软件主从切换方法 | |
US20220066436A1 (en) | Industrial field device replacement system | |
CN114531373A (zh) | 节点状态检测方法、节点状态检测装置、设备及介质 | |
CN104866380B (zh) | 一种集群管理系统的状态转换的处理方法和装置 | |
JP2009075710A (ja) | 冗長化システム | |
CN105007293A (zh) | 双主控网络系统及该系统中业务请求的双写方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180514 Address after: Baden, Switzerland Applicant after: ABB TECHNOLOGY LTD. Address before: Zurich Applicant before: ABB T & D Technology Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |