首页 / 动态地促进无边界、高可用性系统管理的方法、系统和设备

动态地促进无边界、高可用性系统管理的方法、系统和设备有效专利 发明

技术内容

动态地促进无边界、高可用性系统管理的方法、系统和设备 [0001] 相关申请的交叉引用 [0002] 本申请声明以下临时专利申请的优先权并从中受益:(1)在2016年6月24日提交的题为“Boundaryless High Availability(无边界高可用性)”的序列号为62/354,669的美国临时申请。上述专利申请的全部内容通过引用明确地并入本文。 附图说明 [0003] 图1A至图1B是示出可靠系统和可用系统的方面的框图。 [0004] 图1C1是示出实现1:1硬件故障转移/冗余架构的系统的示例的框图。 [0005] 图1C2是示出根据所公开技术的一些实施例的实现M:N工作配置架构的无边界、高可用性(“BCHA”)系统的示例的框图。 [0006] 图2A示出与无边界控制高可用性(BCHA)架构相关联的组件的方面。 [0007] 图2B是示出BCHA委派(commnission)模块如何开发BCHA系统的方面的流程图。 [0008] 图3A示出使用BCHA委派模块和BCHA数据服务模块的实例化开发的BCHA架构的方面。 [0009] 图3B示出提供无边界控制高可用性(BCHA)计算资源的方面。 [0010] 图3C示出委派无边界控制高可用性(BCHA)应用的方面。 [0011] 图3D示出提供无边界控制高可用性(BCHA)控制应用程序-高可用性控制的各个方面。 [0012] 图3E示出提供无边界控制高可用性(BCHA)工作项的方面。 [0013] 图3F是示出用于BCHA架构属性的分层继承关系的各示例方面的框图 [0014] 图4示出无边界控制高可用性(BCHA)BCHA应用如何执行的方面; [0015] 图5A示出BCHA系统如何监视操作状态以促进资源故障检测负载平衡和HA-M:N验证负载平衡的方面; [0016] 图5B1是示出资源故障检测负载-平衡的方面的流程图; [0017] 图5B2是示出资源故障检测负载-平衡修复操作状态确定的方面的流程图; [0018] 图5C是示出HA-M:N验证负载-平衡的方面的流程图; [0019] 图6A是示出BCHA系统M:N工作配置的方面的系统图; [0020] 图6B1是示出在计算资源故障之前的操作状态评估的操作状态数据图; [0021] 图6B2是示出故障检测-检测到CR4故障/故障的操作状态数据图; [0022] 图6B3是示出BCHA系统重新分配元素能力/特性确定的方面的操作状态数据图; [0023] 图6B4是示出BCHA系统重新分配池能力/特性确定的方面的操作状态数据图; [0024] 图6B5是示出BCHA系统重新分配目标选择的方面的操作状态数据图; [0025] 图6B6是示出BCHA系统重新分配修复的方面的操作状态数据图 [0026] 图6B7是示出BCHA系统执行目标选择/非关键应用暂停的方面的操作状态数据图; [0027] 图6B8是示出修复操作状态确定/验证M:N工作配置的方面的操作状态数据图; [0028] 图7A是示出将补充BCHA计算资源开发为M:N+R工作配置的方面的流程图; [0029] 图7B是示出作为M:N+R工作配置的补充BCHA计算资源的方面的操作状态数据图; [0030] 图7C是示出作为M:N+R工作配置的补充BCHA计算资源的方面的系统图; 背景技术 [0031] 现有系统通过使用相同的几乎相同的硬件来利用专门的1:1物理、冗余故障转移配置来促进高可用性特征和功能。这种1:1物理、冗余故障转移配置既昂贵又难以有效和高效地扩展。此外,使用这种1:1故障转移配置的现有系统通常需要在更换完成之前延长数十年的运行时间。因此,1:1物理、冗余故障转移配置涉及支持具有过时组件的旧硬件模块的重大工程挑战,因为各种组件遇到寿命终止硬件故障并且需要物理替换。这是更复杂的,因为现有系统通常需要正式的硬件/软件系统定义,其需要工程努力以在工厂扩展以增加产量时进行调整。 发明内容 [0032] 本公开的至少一个方面涉及一种用于跨一组计算资源动态地负载-平衡重新分配元素(诸如但不限于应用和/或工作项)的系统,其促进工业执行过程或工业执行过程的一个方面,所述系统包括:系统,配置为:监视与执行过程控制系统组件和/或计算资源相关联的操作状态数据和可用性度量;识别负载-平衡机会以触发将至少一个重新分配元素重新分配到建议的重新分配目标;处理所述执行过程控制系统组件/计算资源,以确定维持系统可用性约束的潜在重新分配候选的目标重新分配池;以及将所述至少一个重新分配元素重新分配到从所述目标重新分配池中选择的至少一个目标重新分配组件/计算资源。 [0033] 在所述系统的一些实施例中,所述负载-平衡机会涉及资源故障检测负载-平衡。 此外,可从根据负载-平衡重新部署类型从所述目标重新分配池中选择所述重新分配目标。 另外地,所述负载-平衡重新部署类型可包括以下中的一个:最快故障转移负载平衡、最佳故障负载平衡或平衡的故障负载平衡。 [0034] 在所述系统的一些实施例中,所述负载-平衡机会可涉及HA-M:N验证负载-平衡。 另外地,所述系统可以还包括:将一个或多个应用重新分配为所述至少一个重新分配元素。 [0035] 在一些实施例中,所述系统可以还包括:将一个或多个应用和相应的工作项重新分配为所述至少一个重新分配元素。此外,所述至少一个重新分配元素可与故障的计算资源相关联。另外地,所述HA-M:N验证负载-平衡可执行Z验证度计算资源故障模拟,其中Z大于或等于1。 [0036] 在所述系统的一些实施例中,所述系统可以还包括:为每个执行过程控制系统组件/计算资源迭代地模拟计算资源故障。 [0037] 在所述系统的一些实施例中,所述系统可以还包括确定用于所述HA-M:N验证负载-平衡的聚合操作状态。 [0038] 在所述系统的一些实施例中,聚合操作状态可以用于确定转变补充资源请求,以促进将操作状态转变回可行的M:N工作配置并维持高可用性要求。 [0039] 在一些实施例中,所述系统可以还包括执行修复操作状态确定。另外地,所述修复操作状态确定可以验证所述计算资源正在促进可行的M:N工作配置并维持高可用性要求。 [0040] 在所述系统的一些实施例中,所述修复操作状态确定验证所述计算资源正在促进可行的M:N工作配置并且不维持高可用性要求。另外地,所述修复操作状态确定可验证所述计算资源不促进可行的M:N工作配置并且不维持高可用性要求。 [0041] 在一些实施例中,所述系统可以还包括:生成操作状态转变补充计算资源请求,以促进转变回维持高可用性要求的可行的M:N工作配置。 [0042] 在一些实施例中,所述系统可以还包括:执行自动修复以获得和提供补充计算资源;以及将至少一个重新分配元素重新分配到所述补充计算资源。 [0043] 在所述系统的一些实施例中,可以基于具体过程控制模型和执行过程的相关计算或控制组件元素生成计算或控制组件。另外地,可基于与所述工作项相关联的操作特征和功能生成抽象模型组件。 [0044] 在一些实施例中,所述系统可还包括:在所述计算资源故障时或接近所述计算资源故障时激活重新分配的元素以及存储在数据服务模块中的相应的应用或工作项操作数据。 [0045] 根据一个实施例,一种用于跨一组计算资源动态地负载-平衡重新分配元素(诸如但不限于应用和/或工作项)的方法,其促进工业执行过程或的工业执行过程至少一个方面,所述方法包括:监视与执行过程控制系统组件/计算资源相关的操作状态数据和可用性度量;识别负载-平衡机会以触发将至少一个重新分配元素重新分配到建议的重新分配目标;处理执行过程控制系统组件/计算资源,以确定维持系统可用性约束的潜在重新分配候选的目标重新分配池;以及将所述至少一个重新分配元素重新分配到从所述目标重新分配池中选择的至少一个目标重新分配组件/计算资源。 [0046] 在所述方法的一些实施例中,所述负载-平衡机会涉及资源故障检测负载-平衡。 此外,可根据负载-平衡重新部署类型从所述目标重新分配池中选择所述重新分配目标。另外,所述负载-平衡重新部署类型可包括以下中的一个:最快故障转移负载平衡、最佳故障负载平衡或平衡的故障负载平衡。 [0047] 在所述方法的一些实施例中,所述负载-平衡机会可涉及HA-M:N验证负载-平衡。 另外,所述方法可还包括:将一个或多个应用重新分配为所述至少一个重新分配元素。 [0048] 在一些实施例中,所述方法可还包括:将一个或多个应用和相应的工作项重新分配为所述至少一个重新分配元素。此外,所述至少一个重新分配元素可与故障的计算资源相关联。另外,所述HA-M:N验证负载-平衡可执行Z验证度计算资源故障模拟,其中Z大于或等于1。 [0049] 在一些实施例中,所述方法可还包括:为每个执行过程控制系统组件/计算资源迭代地模拟计算资源故障。 [0050] 在一些实施例中,所述方法可还包括:确定用于所述HA-M:N验证负载-平衡的聚合操作状态。 [0051] 在所述方法的一些实施例中,聚合操作状态可用于确定转变补充资源请求,以促进将操作状态转变回可行的M:N工作配置并维持高可用性要求。 [0052] 在一些实施例中,所述方法可还包括:执行修复操作状态确定。另外,所述修复操作状态确定可验证所述计算资源正在促进可行的M:N工作配置并维持高可用性要求。 [0053] 在所述方法的一些实施例中,所述修复操作状态确定验证所述计算资源正在促进可行的M:N工作配置并且不维持高可用性要求。另外地,所述修复操作状态确定可验证所述计算资源不促进可行的M:N工作配置并且不维持高可用性要求。 [0054] 在一些实施例中,所述方法可还包括:生成操作状态转变补充计算资源请求,以促进转变回维持高可用性要求的可行的M:N工作配置。 [0055] 在一些实施例中,所述方法可还包括:执行自动修复以获得和提供补充计算资源; 以及将至少一个重新分配元素重新分配到所述补充计算资源。 [0056] 在所述方法的一些实施例中,可基于具体过程控制模型和执行过程的相关计算或控制组件元素生成计算或控制组件。另外地,可基于与所述工作项相关联的操作特征和功能生成抽象模型组件。 [0057] 在一些实施例中,所述方法可还包括:在所述计算资源故障时或接近所述计算资源故障时激活重新分配的元素以及存储在数据服务模块中的相应的应用或工作项操作数据。 [0058] 根据一方面,一种存储计算机可执行指令序列的非暂时性计算机可读介质,所述计算机可执行指令用于跨一组计算资源动态地负载-平衡重新分配元素(诸如但不限于应用和/或工作项),其促进工业执行过程或工业执行过程的至少一个方面,所述计算机可执行指令序列包括指令,所述指令指示至少一个处理器执行以下操作:监视与执行过程控制系统组件和/或计算资源相关的操作状态数据和可用性度量;识别负载-平衡机会以触发将至少一个重新分配元素重新分配到建议的重新分配目标;处理执行过程控制系统组件/计算资源,以确定维持系统可用性约束的潜在重新分配候选的目标重新分配池;以及将所述至少一个重新分配元素重新分配到从所述目标重新分配池中选择的至少一个目标重新分配组件和/或计算资源。 具体实施方式 [0059] 本公开描述了这样的特征和功能性:特征和功能性有助于管理BCHA计算资源的BCHA系统以实现BCHA系统(例如,工业控制系统)的指定可用性,以使BCHA系统能够递送和维持具有指定质量和更低成本的所需可用性和/或功能性,而无需为每个计算资源/机器提供1:1物理故障转移冗余。所公开的技术利用多个BCHA计算资源池来促进动态地实现和维持特定BCHA系统的必要高可用性要求。在一些实施例中,所公开的技术监视并报告关键性能指标(KPI),例如BCHA系统和/或BCHA计算资源可用性,并为系统操作员生成操作系统度量/推荐,以实现为特定BCHA系统建立的实时可靠性和可用性目标。所描述的BCHA系统还可以模拟某些动作(例如,添加或移除一个或多个计算资源)将如何作用、影响这种可用性和可靠性度量,并相应地动态地进行负载-平衡,以便于实现BCHA系统/或特定的BCHA系统组件的可靠性和可用性目标。 [0060] 图1A至图1B是示出可靠系统和可用系统之间的关系的方面的框图,这是无边界计算高可用性(“BCHA”)系统解决的两个关键问题-更具体地说是BCHA系统分析BCHA系统、BCHA组件计算资源、BCHA组件应用和所需的BCHA组件工作项可用性,以便分配BCHA系统重新分配元素,包括BCHA应用和BCHA工作项(“WI”),以便动态管理和最大化系统可用性。 [0061] 图1A示出在该图的左侧没有修复的故障的通用马尔可夫图。图1A的右侧示出可以修复的故障的通用马尔可夫图,并且因此示出“可用性”的方面。在图1A和图1B所示的示例中,可用性(“A”)是系统/系统应用在需要使用时正常运行的概率。换句话说,可用性是系统工作(即,没有故障)或正在经历修复动作并因此不可用的概率。可靠性考虑了组件、部件或系统在运行时发生故障所需的时间。它没有反映将维修单元恢复到工作状态需要多长时间、可以维修或需要更换。例如,灯泡是一个可靠的元素-最终它会发生故障。然而,一旦发生故障,它就无法修复并被丢弃。建筑物的照明系统是可用的系统。当灯泡发生故障时,可以用另一个灯泡替换它,但更换系统组件涉及资源协调以及可能系统组件停机时间。 [0062] 如果可以跨多个计算资源分割和管理系统,则相对于一个计算资源系统增加系统的可靠性。例如,可以使用 确定改进的可靠性/可用性。在十六个机器节点分为四个离散系统并进行管理的示例中,涉及以下计算: 示例系统具有五倍以 上的可用性,这意味着如果要维持满容量并且单个系统具有十年的平均故障间隔时间(MTBF),则拆分系统具有五十年的MTBF。如果系统被分成k个部分,则丢失超过1/k容量的几率比在单个计算资源上实现的单个系统失去其所有容量时的变化要小很多倍。根据系统的范围/规模,分布式可用性可以用几个世纪来衡量。 [0063] 在BCHA系统中,其可以包括BCHA计算资源,其包括控制处理或者处理段的软件和硬件元素(例如,应用、组件、模块、机器、逻辑硬件元素、软件框架、通信框架等),可用性确保重要的控制算法、应用和工作项继续运行而不会中断。因此,系统可用性是基于机器、计算资源、控制应用、应用的冗余方案等的计算的可用性,以及维持高可用性操作状态的能力(其通过管理和协调BCHA计算资源、BCHA应用和BCHA工作项来确保系统可用)。 [0064] 如图1C1中所示,现有实施通过构建具有重复、物理冗余备份/故障转移硬件的系统来实现工业控制系统(“ICS”)的高可用性。这些一对一(1:1)冗余硬件专用计算资源对高可用性解决方案可能成本过高,具体取决于系统的范围和规模。此类系统使用多个一对一(1:1)冗余硬件专用计算资源对,其中部署在主机器上的控制应用可在主计算资源/机器发生故障时故障转移到辅助或备用计算资源/机器。这种1到1冗余硬件专用计算资源对的设置提供了高可用性,但是具有对于每个控制应用需要两个专用计算资源/机器的缺点,导致机器成本加倍以及可扩展性差。此外,现有技术使用平均故障间隔时间和平均修复时间(MTBF和MTTR)功能集来确定传统硬件组件故障计算的可靠性度量。这些计算在设计和制造期间执行,并且主要是静态的,并且只有在硬件元素(并且其冗余故障转移硬件被引入系统和/或当系统组件发生变化时)才可以更新。 [0065] 通过本文描述的无边界计算高可用性(“BCHA”)系统的特征和功能克服了1:1架构以及MTBF和MTTR可靠性度量的这些和各种其他缺点。通过将BCHA系统实现为图1C2中所示的M:N工作配置冗余系统,利用BCHA计算资源、BCHA应用和BCHA工作项,可以实现额外的益处。例如,对于BCHA系统: [0066] (a)可以根据特定应用的需要并基于相关的控制需求来指定可用性,而不是简单地遵守1:1冗余控制要求; [0067] (b)应用工程师不必考虑将控制回路分配到特定硬件-从而减少工程时间并简化工程工作; [0068] (c)通过使用在IT服务器上提供的虚拟化BCHA计算资源,消除1:1硬件要求开启了支持可用性要求的可能性;和 [0069] (d)在某些情况下,IO可以远离BCHA计算资源。 [0070] 如本文所使用的,无边界控制(BC或bc)是利用无边界计算来控制工业过程、工厂或操作。更具体地说,无边界控制涉及一组灵活的体系结构原理、技术、方法和工具,通过利用不断发展的IT技术和抽象高级功能来实现自动化解决方案在整个生命周期中的优化,从而促进可扩展和可扩展的系统,而不受基于底层操作硬件或软件组件、平台或应用的限制。 无边界控制系统通过利用软件定义的应用层、灵活可靠的通信骨干网、智能连接资产和硬件平台(旨在以可扩展和可更新的方式随着技术的不断发展,与硬件资源协同工作利用当前技术)来促进和实现这种灵活性。 [0071] 有利地,BCHA机器或BCHA计算资源可以是具有能够托管一个或多个BCHA应用的操作系统的物理机器或虚拟机。如这里所使用的,虚拟机(VM)包括模仿特定(或部分)计算机系统的BCHA计算资源。VM基于计算机体系结构和真实或假设计算机的功能来操作,并且它们的实现可以涉及专用硬件、软件或两者的组合。根据一些实施例,BCHA计算资源具有BC软件资源,其具有促进BCHA系统/组件操作基础设施特征/功能的三个组件/方面:(1)BCHA机器配置方面,(2)BCHA物理计算资源/机器方面,以及(3)系统管理方面。如这里所使用的,BCHA计算资源是能够运行一个或多个BC应用的资源。在一些实施例中,BCHA应用可具有四个方面。这些包括(1)角色方面,(2)实例(运行时间)方面,(3)可视化方面,以及(4)系统管理方面。 [0072] BCHA应用或BCHA控制应用具有执行BCHA计算资源内的一个或多个功能的可执行代码。在一些实施例中,BCHA应用(运行时间)实例被提供为独立于其他BCHA应用的单独可执行程序。在各种实施例中,BCHA应用可以促进处理控制特征和功能性,例如控制算法、处理优化、网络物理计算等。在一些实现中,BCHA应用可以被配置为执行BCHA工作项。 [0073] 对于BCHA工作项,基本概念是软件和固件应用执行工作,例如计算或控制元素。这项工作可以是控制算法的执行、IO的扫描、多变量计算、网络物理计算等等。BCHA应用作为软件/固件部署到BCHA计算资源,BCHA计算资源又是被定义为BCHA计算资源/机器(其将基础结构元素与计算元素绑定)的计算元素。形成BCHA计算资源/机器的计算引擎可以是物理计算机、虚拟机或容器。 [0074] BCHA应用可以使用BCHA数据服务来与其他BCHA应用、应用、遗产服务、IA运行时间等交换信息。在一些实施例中,开发组织外部的组可以创建BC应用,从而实现BC应用或在云/雾/边缘/薄雾中执行的一系列应用(和/或其某种组合)的完全第三方可扩展性。BCHA应用程可以是提供者端点(EP)和/或消费者EP。 [0075] 在涉及工业控制系统(ICS)的示例BCHA系统实现中,专用于处理控制的一些BCHA控制应用用于控制关键处理,例如安全地在由安全系统设置的阈值内运行(例如,以避免被安全系统关闭)和以尽可能低的成本生产符合特定规格的产品。一些BCHA应用还可用于优化处理(和/或处理的方面)和/或确保与ICS处理操作相关联的BCHA系统监管控制合规性。 例如,一些控制应用有助于更经济地运行处理,例如,使用更少的能量、减少峰值功率的使用、减少昂贵的原料的使用,同时保持质量,减少溶液的占地面积等。 [0076] 本文描述的BCHA系统和架构以对BCHA应用进行负载平衡的方式管理BCHA计算资源,同时管理和协调BCHA系统组件以实现系统可用性度量。可以建立BCHA系统可用性要求以维持BCHA应用特征/功能。在一些实现中,可以利用基于系统操作员的风险容忍度、与特定处理和/或应用相关联的特性/操作约束,和/或各种其他操作度量来启动重新操作的附加阈值来建立BCHA系统可用性。在一些实现中,BCHA系统包括实现所需可用性的操作特性/约束优化特征和功能,以及平衡一个或多个操作约束(例如在指定的制造质量、可接受的安全度量和/或最低可能成本)的功能。 [0077] 在M:N工作配置操作实现中,避免了每个机器的一对一冗余要求,导致进一步的系统/操作成本效率。在M:N操作实现中,BCHA控制模块跨当前BCHA计算资源管理和协调BCHA应用268,以仅利用现有BCHA系统组件来实现并动态维持必要的高可用性操作状态。在M:N+R操作实现中,BCHA控制模块跨当前BCHA计算资源管理和协调BCHA应用,但是除了提供的现有BCHA计算资源之外还请求额外的资源“R”以实现必要的高可用性操作状态。有利地,在M: N+R工作配置中,仍然可以避免1:1物理冗余的硬件要求-BCHA控制模块可以计算/确定适当数量的“R”补充/附加请求的BCHA计算资源以供应现有的BCHA计算资源来实现和维持建立的可用性要求,并在配置额外的BCHA计算资源后转变到可行的M:N工作配置。BCHA控制模块可以基于BCHA系统属性确定、协调和管理BCHA计算资源,以实时实现机器/整体系统可用性-包括BCHA系统组件能力和BCHA计算资源的特性、BCHA应用、BCHA工作项和BCHA系统组件的分配/管理。如本文所使用的,BCHA能力或特性是BCHA属性,其定义BCHA计算资源、BCHA应用和/或BCHA工作项的操作参数或约束。示例包括但不限于:CPU影响、托管要求、存储器需求、数据服务需求、CPU类型要求和与其他BC应用的共址、应用进程关键性等。 [0078] 在一些实施例中,BCHA系统通过BCHA控制应用实现高可用性,以跨M到N工作配置中的计算资源部署、协调和管理BCHA应用/BCHA工作项。只要BCHA属性-BCHA系统组件能力/特性使其成为合适的主机,BCHA计算资源就可以托管所提供的任何配置的BCHA应用。单个BCHA计算资源本质上不一定需要完全冗余,但是可能需要不止一个BCHA计算资源来实现高可用性。 [0079] 以下序列的附图讨论了额外的BCHA系统特征/功能的各种示例,其复合了通过BCHA应用实现的高可用性效率。例如,BCHA系统可以具有(1)增加的可靠性度量,(2)提供可靠的BCHA系统组件/计算资源,(3)减少/最小化BCHA系统停机时间,(4)减少检测BCHA计算资源/BCHA应用故障的时间,(5)减少从/向BCHA数据服务读/写数据的时间,6)减少BCHA应用重新部署的时间,(8)提供备用BCHA计算资源,而不需要1:1物理,冗余故障转移要求,(9)通过BCHA计算资源动态分配BCHA应用程序,创建最佳物理/虚拟/BCHA计算资源平衡使用,(10)在BCHA计算资源在M:N工作配置中出现故障时,将BCHA应用切换到备用BCHA计算资源或适当的M:N+R工作配置,(11)最小化BCHA重新分配元素(例如,BCHA应用和/或BCHA工作项)重新部署和继续进行备用BCHC计算资源的时间,以及关于附图更详细描述的其他BCHA益处、解决方案、特征和功能。 [0080] 在一些实施例中,BCHA系统高可用性要求可以通过BCHA可靠性引擎模块来实现,该模块使用约束(例如,资源约束、应用约束、处理约束单独或与BCHA系统组件能力、特性和/或操作数据协调)来计算BCHA系统的可用性。在一些实施例中,BCHA可靠性引擎模块可以实现为与BCHA控制模块集成的组件,并且提出可用性改进建议或采取诸如以下的动作: [0081] (i)考虑到安全系统的潜在行动,使用可用的(例如,重新获得的)计算资源/计算能力来移动和重启关键应用;和/或 [0082] (ii)在资源有限状态下,关闭最不重要或非关键的应用。 [0083] BCHA系统通过提供关于整体BCHA系统可用性和/或许多其他BCHA系统平衡优化特性(例如,计算资源应用负载水平)的实时反馈,促进基于可用性选择的优化和负载平衡。最佳可用性M:N工作配置可能不涉及某些BCHA应用的活动冗余(例如,在机器或资源发生故障和/或容易在其他BCHA计算资源上重新启动时,非关键控制应用可能被禁用或停用)。在其他示例中,通过运行活动的冗余BCHA计算资源/BCHA应用(例如,N到N冗余,其中每个在线BCHA计算资源可能潜在地用于故障转移;M:N冗余,如果一个BCHA计算资源发生故障,则在BCHA计算资源上执行的BCHA应用/BCHA工作项被重新分配到与M:N工作配置相关联的剩余M BCHA计算资源),最佳可用性可涉及甚至更多可用性。BCHA系统所需的或指定的可用性使得处理能够以指定的质量和更低的成本交付产品,而无需为每个计算资源提供1:1物理冗余的硬件。 [0084] 所公开技术的另一个优点是该系统是自我修复的。在具有M:N冗余的控制系统中和/或如果BCHA控制模块请求额外的BCHA计算资源(例如,M:N+R工作配置),则重新部署目标被选择(和/或配置并且可用于M:N+R工作配置),它们可用于促进增加的可用性指标以及降低生产成本。 [0085] 根据所公开的技术,可以通过以下方式实现高可用性(例如,在BCHA计算资源发生故障的情况下): [0086] (i)动态管理M:N工作配置以促进冗余系统架构;和/或 [0087] (ii)BCHA控制应用活动监视系统健康状况/动态管理BCHA系统组件作为BCHA计算资源、BCHA应用和/或BCHA工作项,以促进工业执行过程或与工业执行过程相关联的工业系统控制组件。 [0088] 在一些实现中,BCHA控制模块可以临时或无限地暂停具有较低优先级/关键性的BCHA应用,并使用可用的BCHA计算资源来运行较高优先级/关键BCHA应用。如本文所使用的,BCHA应用优先级/关键性是特定BCHA应用对于工业执行过程有多重要的指示。在一些实现中,高BCHA应用优先级/关键性指示BCHA应用的故障可导致安全系统比低BCHA应用优先级更快地使过程进入安全状态。这是一种有用的措施,用于确定可以快速有效地请求和提供哪种类型的BCHA计算资源,以促进在安全系统关闭工业执行过程之前发生的BCHA系统修复时间。 [0089] 图1C2介绍了BCHA系统架构的方面以及核心BCHA系统特征和功能的方面-在随后的附图和说明书中的相应文本中更详细地讨论了这两者。 [0090] 在一些实施例中,高可用性控制器与可靠性引擎协同工作,以为整个BCHA系统提供实时度量,以提供控制系统的可靠性和可用性度量的指示。例如,某些度量可以指示一些备用机器可能提供比专用的一对一冗余方法可提供的更高的可用性。 [0091] 图1C1是示出实现1:1物理硬件故障转移/冗余架构的系统的示例的框图。更具体地,计算资源105A1-105E1中的每一个具有专用的1:1物理冗余计算资源,其可操作地并联连接105A2-105E2。在这种类型的示例中,计算资源每个都具有可以处于非活动状态的专用冗余计算资源,直到检测到故障时才使用。或者,在一些时间敏感的实现中,计算资源105E1和105E2可以同时运行相同的应用,只有一个活动参与系统。因此,如果计算资源105E1故障,则计算资源105E2步入活动角色,同时最小化任何数据、时间切换损失。然而,如上所述,这种类型的系统具有显著的缺点。 [0092] 图1C2是示出根据所公开技术的一些实施例的实现M:N工作配置架构的BCHA系统 100的示例的框图。BCHA应用(“BCHAApp X”)可以分布在多个计算资源105A3-105E3上。可以将一个或多个BCHA应用(bcApp)提供给BCHA计算资源。例如,BCHA计算资源105B可以执行BCHAApp A和BCHAApp D。BCHA系统100还包括具有BCHA可靠性引擎模块120的BCHA控制模块 120。通过实现BCHA数据服务模块130还实现了效率和系统功效的额外改进。根据特定实现,数据存储服务可以是分布式的或集中式的。出于本讨论的目的,BCHA数据服务被示为中央数据存储,每个计算资源连接并提供BCHA计算资源、BCHA应用、以及BCHA工作项配置数据、状态数据、输出数据和其他相关的BCHA系统运行数据参数。如本文所使用的,供应是在硬件起点实例上安装和激活计算资源的能力,以及在特定BCHA计算资源上发起BCHA应用和/或BCHA工作项的能力。 [0093] 在一些实施例中,BCHA控制模块115和BCHA可靠性引擎模块120监视系统健康和操作数据,例如BCHA计算资源可用性和对在跨越M…N工作配置的每个相应计算资源105A- 105E上执行的每个BCHA应用实例的加载。在图1C2中,BCHA控制模块115可以检测BCHA计算资源105E3是否发生故障并且工作以将BCHAApp E重新分配到M:N工作配置内的适当的备用BCHA计算资源。如图所示,BCHAApp 3被重新部署到BCHA计算资源105A3。此外,在一些实现中,BCHA控制模块115还可以临时暂停BCHAApp A或将BCHAApp A重新部署到合适的不同的BCHA计算资源,以便于重新部署。如图所示,BCHA控制模块将BCHAApp A转移到BCHA计算资源105B3,以便于将BCHA App E重新部署到BCHA计算资源105A3。BCHA系统负载平衡的方面会参考图5A-7C更详细地讨论。 [0094] 在一些实施例中,BCHA系统协调BCHA计算资源活动以实现可用性至少与针对无论哪个BCHA应用是最高优先级/最关键BCHA应用所定义的高可用性要求一样高。BCHA可靠性引擎模块120利用BCHA应用属性,其识别BCHA应用/BCHA计算资源(“BCHA系统属性”)的可用性能力/特性,以管理和监视系统的可用性。在一些实施例中,BCHA可靠性引擎模块120在管理BCHA系统可用性要求时可以利用BCHA计算资源属性并最终识别哪些计算资源适合作为用于重新部署给定BCHA应用的重新分配目标。 [0095] 管理BCHA系统可用性可以包括,例如,使用BCHA应用属性来确定BCHA系统对BCHA计算资源的要求,然后可以使用该要求来促进协调和管理供应规则、活动BCHA应用管理、BCHA计算资源负载-平衡等。如这里所使用的,BCHA应用属性是BCHA计算资源、BCHA应用和/或BCHC工作项的可访问参数。取决于BCHA应用、应用或工作项,属性通常具有标识、数据类型、安全性、分类(运行时间和/或输入和/或配置)等。一些BCHA属性为用户提供了配置BCHA应用的可能性。运行时间属性可以具有质量指示和/或时间指示。可以基于系统中的另一个BCHA属性(即,输入参数)动态地改变一些属性的值。BCHA属性是存储在BCHA数据服务模块 130中的数据参数,并且将在下面作为特征、能力和/或操作约束更详细地讨论。 [0096] 在一些实施例中,BCHA可靠性引擎模块120可以在控制器(未示出)上实现。在其他实施例中,BCHA可靠性引擎模块120可以与BCHA控制模块115协调或集成部署,或者在BCHA计算资源(例如,资源105A-E)中的一个或多个上独立地执行。如上所述的BCHA控制应用BCHA委派模块110、BCHA控制模块115和BCHA可靠性引擎模块120可以促进控制应用供应、负载平衡、数据的高速缓存(例如,控制应用数据)、监视状态、操作、性能等等。在一些实施例中,BCHA计算资源/BCHA应用通过应用编程接口(API)与控制应用接口。 [0097] BCHA数据服务模块130可以使用多种技术。例如,提供高速和低延迟的更快技术可用于运行时间和外部IO数据访问,并且较慢的技术可用于配置数据访问。在一些实施例中,一些数据可以被更加本地地缓存到BCHA应用实例,例如在BC资源上,以提高性能。BCHA数据服务模块110确保可以及时地写入数据,并且数据及时地可用于BCHA计算资源、BCHA应用和BCHA工作项。在一些实施例中,数据服务读/写访问能力至少与加快的BCHA应用所需的一样快。 [0098] 根据所公开的技术,BCHA控制模块115可以活动地管理BCHA应用/BCHA工作项并将其从一个BCHA计算资源重新部署到另一个BCHA计算资源。例如,在系统100中,BCHA控制模块可以将BCHA App A从BCHA计算资源105A3移动到资源105B3(例如,由于资源105A关闭或者为重新部署创建可用性)。移动到资源105B的决定可以基于操作特性和/或系统度量(例如,从BCHA数据服务模块130高速缓存和/或访问)。例如,BCHAApp A可以是关键应用,并且资源105B可以具有可用于执行BCHA App A的计算资源。从一个资源移动到另一个资源的BCHA App A可以在控制应用(本例中为BCHA App A)控制的处理部分或段的时间常数内恢复。 [0099] 在所公开技术的一些实施例中,一些BCHA应用可能是关键的,而其他BCHA应用可能是非关键的。在某些情况下,非关键BCHA应用可以被赋予较低的优先级以进行故障转移。 例如,在BCHA系统100中,BCHA App E可以是非关键控制应用,并且为了维持整个系统的可用性,如果不存在处理可用性,则可以暂停bcApp E不在另一资源上重新启动。例如,当BCHA处理可用性确实存在时,在BCHA计算资源105A上,可以在其上提供非关键BCHA应用App E,并且通过从BCHA数据服务模块130访问最后可行日期状态,在处理过程中重新启动/或拾取。 [0100] 因此,所描述的BCHA系统、特征和功能促进了BCHA系统的能力的显著增益以: [0101] -为许多联网的连接设备实现、监控和维持高可用性系统要求; [0102] -通过实施M..N故障转移架构而不是1:1物理冗余、故障转移架构,显著降低硬件和资源要求和费用;和 [0103] -通过M:N+R工作配置实现改进的系统架构管理,最终通过补充资源委派/部署促进更强大的M:N工作配置。 [0104] 因此,为了示出这些核心BCHA系统益处/优化中的每一个的各个方面,以及通过实现BCHA系统架构实现的相关系统益处和效率,以下描述将讨论以下方面: [0105] (1)如何开发/委派BCHA系统; [0106] (2)BCHA系统的特性和功能,以及与HA-M:N验证负载-平衡的各种操作特性和功能相关的相关逻辑流程,以及故障检测/修复; [0107] (3)BCHA负载-平衡故障检测/重新调解的工作示例;以及 [0108] (4)BCHA系统HA-M:N验证负载-平衡补充计算资源委派/分配。 [0109] 图2A示出与无边界控制高可用性(BCHA)架构相关联的组件和BCHA系统200的组件的方面。BCHA系统委派模块210是BCHA系统模块,其负责在初始BCHA系统开发期间接收和执行BCHA系统开发委派计划。在系统委派之后,操作管理转变到BCHA控制模块215以协调工作项管理和BCHA系统负载平衡(资源故障检测负载-平衡,以及活动负载平衡/M:N工作配置验证)。在一些实现中,BCHA系统委派模块210/BCHA控制模块215还可以在初始BCHA系统开发之后具有供应计算资源、应用和/或工作项的角色,因为为BCHA系统200提供补充/附加BCHA计算资源240/250。根据具体的实现细节,BCHA委派模块210可以在其自己的BCHA计算资源上实例化,与BCHA控制模块215合并,或者在一些实现中,委派特征/功能或者与BCHA控制模块215集成和/或远程地执行为云服务。 [0110] 在BCHA系统委派模块210验证BCHA系统200的初始配置和委派之后,BCHA控制模块 215驱动操作运行时间管理工作以实现在BCHA系统开发委派计划中定义的可用性要求/度量。可以由BCHA系统委派模块210提供一个或多个BCHA计算资源240/250,以有效地托管由BCHA系统200执行的BCHA应用268,以及在各个BCHA应用上执行的BCHA工作项270。BCHA系统委派模块210被配置为实现与BCHA系统200相关联的大部分委派功能,但是与具有专用实用的两个BCHA控制应用205一起工作:(1)BCHA应用配置器211-用于开发BCHA工作项;(2)BCHA控制应用配置器212,用于开发BCHA控制应用205,例如BCHA控制模块215、BCHA可靠性引擎模块220和BCHA WI池管理器模块221。最后,委派和管理BCHA计算资源240/250、BCHA应用 268和相应的BCHA工作项270以促进工业执行过程。考虑到BCHA系统200的灵活性,工业执行过程可以是整个工作流、工业控制过程或工业控制过程内的元素/组件工作流-例如,协调生产线或生产线的元素,例如输送机部件。 [0111] 用于BCHA系统200的配置、操作和BCHA系统管理数据被存储在BCHA数据服务模块 230中。BCHA控制模块215管理(或与BCHA WI池管理器模块221一起工作以管理)工作项分配。在BCHA计算资源240/250故障-BCHA应用/BCHA工作项故障,则集中存储BCHA计算资源、BCHA应用、BCHA工作项配置数据以及操作/输出数据(或分布但独立于在相应的计算资源上的本地存储)导致显著的系统灵活性并且促进M:N架构的关键优势之一-如果一个计算资源发生故障,则高可用性控制器可以快速有效地从一个计算资源到另一个计算资源重新分配/重新部署应用和工作项。 [0112] 如图2A所示,BCHA数据服务模块230被配置为集中式数据存储/数据库,其存储并使得可访问各种委派系统/计算资源/应用特性和能力。存储在BCHA数据服务模块230中的数据由BCHA控制模块215使用(其与BCHA可靠性引擎模块220协同工作以活动/被动地监视系统健康、系统操作特性)并且工作以实现用于系统200和BCHA工作项(“WI”)池管理器221的BCHA系统可用性度量/要求。 [0113] 取决于可用资源的性质,与特定BCHA系统相关联的BCHA计算资源240/250可以是基于异构计算资源硬件起点的不同频谱提供的各种物理BCHA计算资源240或虚拟BCHA计算资源250的异构混合。可以在任何数量的裸金属平台上配置和构建物理和虚拟计算资源。例如,在图2A中,物理BCHA计算资源240被示为基于BCHA HW资源243供应,其可以是与Raspberry Pi一样简单的东西,可替换地,物理计算资源241可以从预置PC-服务器硬件资源246开发。类似地,虚拟BCHA计算资源250可以使用托管在计算资源起点的预置PC服务器硬件(HW)资源253、预置云计算资源256和/或公共云计算资源259的虚拟机来开发。对于BCHA系统200,不管底层计算资源起点如何,BCHA系统委派模块210用BC资源操作系统264和BCHA资源266(其包括诸如BCHA技术栈服务、BC机器软件和/或容器管理服务,以及BCHA应用 268的物流软件组件)实例化BC HW资源起点262。如将在图3D中更详细地描述的那样,BCHA应用268是执行BCHA工作项270的BCHA系统元素,并且最终实现工业执行过程。 [0114] 应当理解,所描述的各种BCHA系统架构有助于显著的灵活性,因此,各种BCHA系统 200实现是可能的。可以重新配置BCHA系统200特征、功能、数据处理和存储的各个方面,以满足各种不同的最终实现/工业执行过程的操作约束、需求和要求。例如,尽管图2A示出用于BCHA数据服务模块230、BCHA系统委派模块210、BCHA控制模块215以及BCHA可靠性引擎模块220的分立系统模块,但是与这些模块中的一个或多个相关联的特征/功能可以实现为分立模块或者对于一些BCHA系统架构实现,与一个或多个其他BCHA系统控制应用205和/或其他BCHA系统模块/计算资源结合和/或分布。此外,取决于与BCHA系统200相关联的特定工业执行过程应用的性质,基础特征或功能的方面可被配置为作为事件驱动任务、连续循环活动和/或事件/循环的某种组合来执行。 [0115] 图2B是说明BCHA系统委派模块210如何开发BCHA系统200的方面的流程图。更具体地,图2B是说明BCHA系统委派模块210如何开发和委派与BCHA系统200相关联的各种BCHA计算资源240/250以及根据BCHA系统开发委派计划与其他BCHA控制应用205协同工作(在步骤 273)的方面的流程图。在步骤275中,BCHA系统委派模块210实例化BCHA数据服务模块230。 在建立BCHA数据服务模块230之后,BCHA系统委派模块210将可用计算资源硬件起点与BCHA系统开发委派计划进行比较,以在步骤276检查是否有足够的计算资源可以开发BCHA计算资源240/250以促进工业执行过程。步骤281和284涉及识别任何额外的裸硬件起点资源需求、访问和任何提供的额外资源。 [0116] 在步骤287中,BCHA系统委派模块210迭代地提供BCHA计算资源240/250以及在相应BCHA计算资源240/250上实例化适当的BCHA应用268。在步骤290中,每个BCHA计算资源 240/250和各个BCHA应用268又向BCHA数据服务模块230注册(尽管示出为离散步骤,但是当委派模块与每个相应的计算资源一起工作时,可以发生实例化和注册)。 [0117] 在步骤293中,BCHA系统委派模块210或BCHA控制应用配置器211与BCHA计算资源 240/250中的一个一起工作以实例化一个或多个BCHA控制应用205和相应的计算资源。更具体地,BCHA控制应用可以被配置为BCHA控制模块215,其还包括BCHA可靠性引擎模块220和/或BCHAWI池管理器模块221,两者也都向BCHA数据服务模块230注册。委派/实例化BCHA控制模块215和可靠性引擎模块220的方面涉及处理BCHA系统开发委派计划的各方面,以开发BCHA系统的可用性和操作要求度量。BCHA控制模块215、BCHA可靠性引擎模块220和BCHAWI管理池管理器221跨注册的BCHA计算资源240/250管理和协调BCHA工作项270以维持:(1)BCHA系统操作,(1A)可行的M:N工作配置和(1B)BCHA高可用性操作要求。 [0118] 在一些实现中,BCHA控制模块215将基于操作状态或基于计算资源故障检测来发起负载平衡活动。在步骤294中,作为BCHA控制模块215委派的一部分,BCHA系统控制应用配置器模块212还实例化BCHAWI管理池管理器221。一旦创建了WI池,在步骤295中,BCHA系统委派模块210就实例化并向BCHA数据服务模块230注册工作项的初始集合,以及用注册的工作项填充池以供BCHAWI管理池管理器221分配。在实例化各种BCHA系统元素之后,在步骤 297中,BCHA系统控制应用205为BCHA系统关键元素(例如BCHA数据服务模块230、BCHA控制模块215和BCHA可靠性引擎模块220)建立高可用性/冗余。BCHA系统委派模块210验证委派的BCHA系统架构以确认与BCHA系统开发委派计划的一致性。如果验证成功,则BCHA系统200然后在步骤298中转变到操作状态。如果验证有任何问题,则BCHA系统委派模块210与BCHA系统控制应用205一起工作以纠正在验证期间识别的任何问题/不一致,然后转变到操作状态。 [0119] 在基线BCHA系统200开发和实例化之后,当BCHA系统200工作以实现工业执行过程时,BCHA控制模块215监视与BCHA应用268相关联的系统健康/负载平衡度量,该BCHA应用 268跨相应的BCHA计算资源240/250处理BCHA工作项270。工业执行过程是过程控制系统(或相应的工作流[或子工作流]的最终执行目标,这是创建BCHA系统200的原因-驱动生产线或生产线的组件。针对特定BCHA系统识别和定义工业执行过程,并且工业执行过程包括关于BCHA计算资源240/250、BCHA应用268、BCHA系统可用性/可靠性度量的要求的一些方面的操作/配置细节以及用于开发BCHA基线系统要求的各种其他操作特性/能力定义。基线要求被下载到BCHA系统委派模块210并有效地用作开发与BCHA系统委派计划相关的各种组件/元素的路线图。 [0120] 提供相应的系统元素和组件(例如BCHA计算资源240/250、BCHA应用268、BCHA工作项270、BCHA数据服务模块)的BCHA系统委派模块210的方面会参考图3A至图3F更详细地描述。 [0121] 图3A示出BCHA系统委派模块的方面以及BCHA数据服务模块230的实例化。BCHA系统委派计划被下载到BCHA系统委派模块210,并且进而用于实例化BCHA数据服务模块230。 该过程开始于BCHA系统委派模块210根据委派计划实例化一些基线BCHA系统架构数据300。 例如,BCHA系统委派模块210实例化与委派计划相关联的BCHA计算资源240/250的初步数据记录。当BCHA系统委派模块210继续开发执行配置/委派过程的BCHA系统200时,当实例化每个其他组件/元素时,填充实例化的计算资源数据和其他BCHA系统组件数据305。BCHA数据服务模块230包括与BCHA系统架构300、工业执行过程301、BCHA组件能力/特性数据302、操作数据输出数据303相关联的数据参数。BCHA数据服务模块230还包括与BCHA控制应用205相关的数据记录。BCHA系统委派模块数据306、BCHA控制模块数据307、BCHA可靠性引擎模块数据308以及BCHA WI池管理器数据309。BCHA系统组件数据记录310和相关参数数据也被维持用于与相应BCHA计算资源311、312,在相应计算资源上执行的BCHA应用313、314和315以及由BCHA应用314执行的BCHA工作项316、317和318相关联的数据。 [0122] BCHA控制模块 [0123] BCHA数据服务模块230可以是高度可用(集中式或分布式)数据存储/服务(例如,实现冗余),其可访问所有BCHA计算资源240/250、在BCHA计算资源240/250上执行的BCHA应用268/工作项270、BCHA委派模块210、BCHA控制模块215和BCHA可靠性引擎模块220以及BCHA WI池管理器221。在一些实施例中,数据服务可用性至少与最关键的BC应用的可用性一样高。在一些实施例中,BCHA数据服务模块230还可以存储数据,例如但不限于: [0124] -无边界名称空间管理所有BCHA计算资源240/250、BCHA应用268和BCHA工作项270运行时间数据方面 [0125] -BCHA应用能力/特征数据/参数、应用配置数据/参数、应用约束数据/参数[0126] -BCHA应用操作状态数据/参数;和 [0127] -由外部IO接口收集并由一个或多个BC IO应用存储在数据服务中的所有外部IO数据、IO VTQ。 [0128] 图3B示出开发无边界控制高可用性(BCHA)架构计算资源的方面。在图3B中,步骤 325,BCHA系统委派模块210使用BCHA系统委派计划来开发执行BCHA应用268和BCHA工作项 270所必需的BCHA计算资源240/250,BCHA应用268和BCHA工作项270又执行工业执行过程。 在步骤327,BCHA系统委派模块210访问委派计划以确定可用的BCHA计算资源240/250的数量/类型满足在委派计划中建立的要求。更具体地,BCHA系统委派模块210确认现有的物理/虚拟裸金属/起点资源存储,并且能够配置以满足工业执行过程BCHA计算资源处理要求。在步骤329中,BCHA系统委派模块210请求额外的资源起点以满足执行计划计算资源需求与可用资源起点之间的任何差异。一旦提供了附加资源,在步骤331,BCHA系统委派模块重新验证该计划和可用的启动资源。在验证之后,BCHA系统委派模块210系统地为每个BCHA计算资源起点提供物流软件/固件模块配置以促进BCHA服务。 [0129] 在步骤333中,计算资源起点配置有操作系统。一旦操作系统被实例化,BCHA系统委派模块210可以在步骤335中配置(a)计算资源技术堆栈服务,(b)BCHA机器软件和/或(c)容器管理服务。利用适当的计算资源逻辑软件组件,对于与实例化的特定BCHA计算资源 240/250相关联的BCHA应用268,BCHA系统委派模块210在步骤337、338中迭代地实例化计算资源BCHA应用268。BCHA应用268根据在委派计划中确定的要求,针对特定BCHA计算资源 240/250进行配置和委派,并且便于工业执行过程。BCHA应用实例化在图3C中更详细地讨论。在步骤340中,相应的BCHA计算资源240/250和相应的BCHA应用268向BCHA数据服务模块 230注册。尽管这被示为离散步骤,但取决于实现,在BCHA系统委派模块210完成实例化过程之后,每个BCHA计算资源240/250和相应的BCHA应用268可以向BCHA数据服务模块230注册。 步骤342,示出当BCHA系统委派模块210通过实例化和注册与BCHA系统200相关联的每个BCHA计算资源240/250而进行的迭代循环。在BCHA计算资源240/250和相应的BCHA应用268已被委派和注册之后,在步骤344,BCHA系统委派模块210开始实例化BCHA控制应用和工作项270(分别在图3D和3E中更详细地讨论)。 [0130] 图3C示出委派无边界控制高可用性(BCHA)应用的方面。如关于图3B所讨论的那样,委派BCHA计算资源240/250的一个方面涉及实例化各个计算资源将执行以促进工业执行过程的各种BCHA应用268。图3C示出如何实例化每个BCHA应用268的方面。对于与BCHA计算资源240/250相关联的每个BCHA应用268,BCHA系统控制应用205实例化为一系列服务。更具体地,如为每个BCHA应用268建立的状态服务345、WI管理服务346、健康服务347和数据服务348所示。 [0131] 图3D示出实例化BCHA系统控制应用205的方面。BCHA控制应用配置器212负责BCHA系统控制应用205的初始供应。BCHA系统控制应用205具有与上面关于图3C讨论的与BCHA应用268类似的开始,并且作为在BCHA计算资源240/250上实例化的BCHA应用268开始。BCHA系统委派模块210进一步向BCHA控制应用提供附加的增强特征/功能模块(其促进BCHA系统 200内的密钥分层控制角色355)。例如,BCHA控制模块215被开发为具有BCHA应用268的BCHA计算资源240/250,其通过附加的负载平衡操作能力得到增强,BCHA可靠性引擎模块220和BCHA WI池管理器221也是如此。 [0132] BCHA可靠性引擎模块220主要负责与BCHA控制模块215一起工作以促进资源故障检测负载-平衡部署和HA-M:N验证负载-平衡。BCHA可靠性引擎模块220还可以监视活动BCHA系统200可用性/操作度量以确定何时WI负载-平衡是合适的。当BCHA可靠性引擎模块 220进行操作状态评估并确定负载平衡是适当的时,BCHA控制模块215与BCHA WI池管理器模块221协调并促进重新部署。 [0133] BCHA可靠性引擎模块220/BCHA WI池管理器221通过监视操作状态/加载数据和BCHA工作项270的重新部署来促进各种负载平衡类型。在资源故障检测负载-平衡中,BCHA可靠性引擎模块220可以检测BCHA计算资源240/250故障并启动BCHA控制模块215/BCHA WI池管理器221重新分配元素重新部署以重新部署和负载平衡与故障的BCHA计算资源240/ 250相关联的BCHA应用268/BCHA工作项270。 [0134] 作为另一示例,BCHA控制模块221可以促进HA-M:N验证负载-平衡并且模拟BCHA计算资源故障以确定和验证M:N工作配置能力以维持高可用性要求,尽管模拟BCHA计算资源故障。 [0135] BCHA系统加载-平衡的这两个示例示出了与BCHA系统相关联的特征和功能的方面,并且应当理解,其他类型的BCHA系统加载-平衡也是可能的。这两种类型的BCHA系统加载-平衡将是图5A-7C的焦点 [0136] 图3E示出开发无边界控制高可用性(BCHA)架构工作项的方面。在图3E中,作为执行BCHA系统开发委派计划的部分,在BCHA系统200实例化过程期间创建BCHA工作项270。在步骤357中,BCHA系统委派模块210与BCHA应用配置器211一起工作,将工业执行过程的元素原子化以创建BCHA工作项270,作为可由BCHA应用268执行的计算或控制元素单元。更具体地,在步骤358,BCHA系统委派模块210/BCHA应用配置器211处理具有具体生成模型-例如IAS 88控制模型358A或61850控制模型358B的工业执行过程元素。在步骤360中,作为WI生成的部分,BCHA系统委派模块210/BCHA应用配置器211为工作项创建两个部分:(1)基于具体模型的分隔的、独立的计算/控制单元;(2)工作项抽象模型,其包括与BC工作项270相关联的元数据(例如,BCHA应用执行类型、WI处理执行/负载需求、定时约束、输入/输出数据元素要求等)。 [0137] 在步骤362中,WI池管理器221处理抽象模型以匹配和分配工作项270BCHA控制模块215以供BCHA过程应用268/BCHA计算资源240/250执行。例如,在WI分配步骤364中,BCHA WI池管理器221处理WI抽象模型364A并确定WI元数据指示WI具有两个操作特性(1)WI需要IEC 61131BC应用来执行;和(2)WI将在工作项270被最终分配到的任何BC计算资源240/250上消耗五个执行/加载单元。WI池管理器221访问BCHA数据服务模块230并搜索可能匹配的任何BCHA计算资源240/250并且标识364B-具有WI API度量的计算资源240/250,其指示BC应用是IEC 61131BC应用运行时间实例;并具有25个执行/加载单元可用。取决于应用和实现的性质,BCHA控制模块215/BCHA WI池管理器模块可以被配置为一旦找到匹配就分配BC工作项270。或者,它可以迭代通过BCHA计算资源240/250以不仅识别潜在匹配,而且还基于各种优化方法/标准来识别最佳匹配。 [0138] 在备选实施例中,BCHA工作项270(或工作项组)可以预先配置用于各种过程控制、优选的故障转移默认目标和/或作为预配置组件包括在BCHA系统开发委派计划内。用于PLC和DCS中的控制和其他功能的BC应用268专注于高粒度控制应用。高粒度有助于将工业执行过程分解为这些原子化元素并且反过来在工作项270和底层计算资源240/250之间创建独立性的能力。只要能够执行BCHA工作项270的BCHA应用268正在运行,执行BCHA应用268的BCHA计算资源240/250就不是直接关键的。在PLC环境中,通常使用任何IEC 61131语言创建“程序”。然后将创建的程序发送到执行它的PLC。在DCS系统中,存在程序控制应用和基于配置的控制应用的混合。但是,在这两种情况下,配置都针对系统中的特定控制器。 [0139] BCHA工作项270定义要由BCHA系统200中的任何BCHA应用268执行的工作,诸如控制、IO扫描、报警、多变量优化、资产管理等。BCHA工作项270类型将增长并且随着新的BC应用程序的开发而扩展。BCHA系统200必须提供围绕BC工作项管理的抽象,以支持多样性和可扩展性。如图3E中所示,在步骤358中,由BCHA委派模块利用BCHA应用配置器211和与BCHA系统200相关联的各种BCHA应用268,创建BCHA工作项270的抽象模型/定义。 [0140] 该信息可用于在WI负载-平衡事件期间促进与BCHA应用268的最佳匹配。BCHA工作项270还包含所有BCHA工作项270共有的一组通用数据参数/字段(例如,用于执行的计算加载单元的数量等)。通用信息用于将BCHA工作项270分配到BCHA应用268。通用信息是BCHA应用配置器211外部的BCHA系统200可见的唯一工作项数据。独立于任何用户交互,BCHA应用配置器211将创建的定义进行分段为BCHA工作项270。基于特定于BCHA应用配置器211的规则来创建BCHA工作项270。 [0141] 作为示例,循环编辑器可以将循环定义分段为多个BCHA工作项270:主控制、辅助控制、用于主输入的IO、用于辅助输入的IO、用于输出的IO。生成的BCHA工作项270的数量的确定由BC应用配置器211基于其内部处理规则、工业执行过程的范围/规模以及BCHA系统架构委派计划和其他操作能力/特性来完成。通过BCHA工作项270的抽象允许BCHA系统200管理BCHA工作项270到BCHA应用268的分配,而不知道工作分配中包含的信息或底层计算元素或控制元素的性质。这种抽象提供了高水平的可扩展性。 [0142] 将具体和抽象行为分离到BCHA工作项270的另一个好处是能够将各种具体模型应用于BCHA系统200。具体模型及其具体定义对于BCHA系统200是未知的,例如BCHA控制模块 215和/或管理抽象模型的其他BCHA系统架构。这允许BCHA系统200的灵活性和可扩展性。作为示例,与BCHA委派模块210相关联的BCHA应用配置器211可以向用户呈现用于控制定义的ISA88视图。相同的BCHA应用配置器211可以向用户呈现BCHA系统200的IEC61850视图。在两种情况下,BCHA应用配置器211可以向用户呈现循环编辑器以生成用于执行的具体工作项单元。然而,在一种情况下,BCHA应用配置器211可以单独显示过程资产,或者与包括电站组件的第二场景组合显示过程资产。在该示例中,实现两个物理资产模型而不对BCHA系统200进行架构改变。BCHA系统200和BCHA控制模块215在不知道底层具体单元/表示的情况下分配所创建的BCHA工作项270。新的具体模型仅仅是BCHA应用配置器的新输入和由BCHA委派模块210促成的系统中的新BCHA应用268,因此,有利地,BCHA系统200可以促进新的数据模型、特征和/或功能,而不必要求BCHA系统架构改变。 [0143] 基于包括特性和能力的BCHA系统200属性来抽象BCHA工作项270到BCHA应用268的分配。然而,BCHA系统200确实需要关于哪个BCHA应用268可处理BCHA工作项270的信息以及支持该分配的其他信息。BCHA工作项270抽象模型包含元数据信息,该元数据信息表征BC工作项270及其预期用途,而不涉及与具体模型相关联的细节。BCHA应用268还公布描述它们在BCHA数据服务模块230中工作的能力的元数据。元数据不是固定的,并且随着BCHA系统 200的发展是可扩展的。包含在BCHA工作项270中的元数据也可以随时间更新、补充、补足或以其他方式改变。旧的BCHA工作项270可以具有比较新的BCHA工作项270更少的元数据信息。BCHA系统200和BCHA控制模块215将使用存在的尽可能多的信息来确定负载平衡事件期间的分配和重新部署。类似地,新的BCHA工作项270可以包含BCHA系统200不知道的附加元数据信息。再次,BCHA系统200将使用可用且已知的尽可能多的元数据来确定分配。在所有情况下,BCHA应用268可拒绝要求BCHA系统200将BC工作项270分配到不同的目标重新部署BCHA应用268的分配/重新部署。参考图4A1和4A2会更详细地讨论工作项匹配、管理和重新部署。 [0144] BCHA系统组件识别负载-平衡机会,并且通过重新分配BCHA组件作为重新分配元素来执行WI负载平衡事件。取决于特定实现,所实现的负载平衡的类型可以由系统操作员建立,并且使用所描述的系统可以实现若干类型的负载平衡(例如,操作状态、活动系统负载平衡故障检测等)。此外,可以实现优化模型,该优化模型根据多于一种负载平衡类型来优化系统负载平衡。然而,为了示出通过实现BCHA控制模块215实现的灵活性和益处,以下示例可以首先关注负载平衡事件以实现维持所需的“可用性”水平和/或分配重新分配元素(例如,BCHA应用268/工作项270)以最大化系统可用性和/或在与BCHA系统200相关联的计算资源240/250上广泛地分配工作项执行/处理器负载。BCHA控制模块215还可以通过临时暂停关键BCHA应用268/工作项270来实现负载平衡。在某些情况下,非关键BCHA应用268/工作项270可以无限期地暂停或直到向BCHA系统200提供额外资源。 [0145] BCHA控制模块215/BCHA WI池管理器221利用工作项元数据来促进WI重新分配。 BCHA工作项270将包含可变数量的信息,包括操作数据、配置元数据(如上面关于图3E所讨论的抽象模型)。元数据至少指定BCHA应用类型和性能特征。它还可以包括其他能力或特征,例如WI优先级;中断/暂停能力或WI操作执行的其他方面。 [0146] 尽管在以下示例中,BCHA控制模块215/BCHA WI池管理器221基于匹配可以执行BCHA工作项270的BCHA应用268的类型以及系统计算资源重新分配可用性来重新分配BCHA工作项270,辅助重新分配度量涉及在BCHA计算资源240/250上广泛地分配处理负载。重新分配度量和/或工作项270性能特征不是静态的。建立初始配置的BCHA委派模块210将执行初始分配并生成用于BCHA工作项270加载特性的估计。当BCHA应用268执行BCHA工作项270时,它可以生成和跟踪诸如实际加载特性的操作度量。这些操作度量(和基础数据/统计)在BCHA数据服务模块230中维持,并且可能需要比BCHA委派模块210最初生成的信息更多的信息。性能特征的运行时间改进将被写回BCHA工作项270。如果BCHA工作项270被重新分配到不同的BCHA应用268以及BCHA系统委派模块210、BCHA控制模块215和/或用于资源计划,调整和BCHA组件重新分配的相关BCHA控制应用,则BCHA系统200将使用该改进的信息。 [0147] 加载特性特定于分配用于处理BCHA工作项270的BCHA应用268。加载是BCHA工作项 270在BCHA应用268中消耗的计算资源的表示,并将被描述为执行单位。BCHA应用管理器使用BCHA应用268加载来实例化BCHA应用的新实例以进行负载平衡,更重要的是维持BCHA系统200所需的可用性级别。BCHA工作项中的特征将被分类为“必须有”和“理想的”。在进行重新分配/分配之前,BCHA系统200必须匹配所有“必须有”特征。如果可能的话,将匹配“理想的”特征。然而,诸如缺乏可用资源之类的其他限制可能导致与“期望的”特性不匹配的分配。 [0148] 用于分配的规则将与BCHA系统200一起发展。初始规则可以仅考虑匹配的BCHA应用类型和总执行单元加载。但是,未来可能会应用诸如多核、资产类型、平台类型等规则。当生成和/或更新BCHA工作项时,BCHA应用配置器可以扩展这些分配规则。如前所述,如果元数据丢失或者如果存在的元数据多于理解数量,则BCHA工作项分配可能不会成功。在这些情况下,可能会发生次优分配,但不会出现系统故障。新规则将遵循必要和辅助的范例。请注意,如果无边界系统不知道所需规则,则仍将执行分配,期望BC应用运行时间实例将拒绝分配(如果不适当)。BCHA应用268应该匹配配置器并理解由配置器指定的最新特性。 [0149] 资源计划是与BCHA工作项和BCHA工作项分配相关但是完全分开的。用于BCHA工作项分配的BCHA系统200服务仅将BCHA工作项270分配到可用的BCHA计算资源240/250。如果资源不足,则生成错误并且错误将由BCHA WI池管理器模块221修复。BCHA系统控制应用的另一个是BCHA应用计划器模块213。通过BCHA应用计划器模块,BCHA应用268以及核心BCHA服务和应用被指定用于部署到BCHA计算资源240/250。来自BCHA应用计划器模块213的输出由供应服务用于为BCHA系统200建立资源(在图3A中描述)。BCHA应用计划器213可以利用BCHA工作项270中的信息作为计划指南。当计算推荐的BCHA系统200配置、实现特定工业执行过程所需的可用性所需的BCHA应用268和BCHA计算资源240/250的数量时,BCHA应用计划器213可以使用BCHA工作项270中的容量能力特性。类似地,BCHA控制模块215和BC工作项池管理器模块221可以提供可用资源不足的系统通知。类似地,可以创建额外的系统加载,因为BCHA应用配置器211生成用于执行的附加BCHA工作项270。用户可以与BCHA应用计划器 213/BCHA系统委派模块210交互以提供额外的BCHA计算资源240/250。 [0150] 与部署到特定PLC或DCS控制器的传统配置相比,BCHA工作项提供更精细粒度的工作定义。更精细粒度的一个优点是BCHA系统200中的自动BCHA控制器模块215/BCHA WI池管理器模块221负载平衡。而不是要求用户计算系统加载并将BCHA应用268分配到不同的BCHA计算资源240/250,BCHA系统200可以连续监视和调整在BCHA计算资源240/250上放置的负载。负载平衡最初将实现初步规则,例如在每个BCHA计算资源240/250上维持偶数BCHA工作项270负载。然而,可以扩展负载平衡以结合更复杂的规则,例如将工作转移到低能耗资源,从而允许更有利的BCHA系统200利用。 [0151] 粒度还允许在BCHA计算资源240/250故障的情况下(在下面的图5A、5B1和5B2中描述),在给定BCHA应用268中执行的工作可以在其他BCHA应用268之间重新分配。不是将所有工作转移到备用BCHA计算资源240/250中的BCHA应用,而是可以在与M:N工作配置相关联的剩余活动BCHA计算资源240/250相关联的任何BCHA应用之间划分工作。该BCHA工作项管理实现M:N工作配置冗余模型。在一些实例中,可以实现M:N+R工作配置冗余模型,其中需要请求和提供一个或多个附加BCHA计算资源240/250以补充现有BCHA计算资源240/250并为特定重新分配元素提供重新分配目标。性能考虑可能要求BCHA应用268具有为BCHA工作项270预加载的可以要求它们执行但当前不执行的配置数据。这允许更快的故障转移作为BCHA工作项的重新分配,并且将要求新的BCHA应用268加载最新的状态数据而不是BC工作项的完整配置。 [0152] 图3F1示出使用BCHA数据服务模块230如何管理和协调无边界控制高可用性(BCHA)架构属性、能力和特性的方面。与BCHA系统架构相关联的每个BCHA组件具有包括BCHA组件能力和特性的BCHA系统属性,当在BCHA系统开发过程期间实例化/注册每个组件时,BCHA组件能力和特性被存储在HA数据服务模块230中。图3F1示出与BCHA系统组件相关联的分层元素的分层相互依赖性。具体如图3F所示,每层BCHA应用工作项层376、BCHA应用层377、BCHA控制应用层378、BCHA容器/资源层379和BCHA计算资源层380分别贡献用于BCHA系统组件的BCHA系统属性作为能力/特性。BCHA系统属性最终在BCHA控制模块中影响BCHA系统管理和/或BCHA重新分配元素重新部署。 [0153] BCHA系统控制应用205(例如BCHA控制模块和/或BCHA可靠性引擎模块)使用这些要求来确定用于BCHA计算资源240/250的系统需求以促进负载平衡。BCHA控制模块215可以使用BCHA系统属性来基于预定的应用特性(例如,应用元数据)来识别哪个BCHA计算资源 240/250适合于给定应用。BCHA可靠性引擎模块220可以使用BCHA应用特性来管理供应规则。BCHA可靠性引擎模块220还可以计算BCHA系统200的系统可用性度量。用于计算实时BCHA系统200可用性度量的算法最大化系统用户在负面影响之前获得响应的最佳机会的机会(例如,在安全系统关闭BCHA系统之前提供额外的请求的资源)。在一些实施例中,系统的实际可用性基于当前可用的BCHA计算资源240/250和BCHA活动/非活动应用268、故障资源的数量、运行的BCHA应用268的数量、应用及其优先级/关键性、非活动应用的数量及其关键性、需要提供以运行每个所需的应用的额外资源的数量等。BCHA系统促进系统实现中的显著灵活性,并且被配置为实现涉及各种不同实现/配置中的BCHA系统管理的所述益处。以下序列的附图和相应的描述将更详细地描述如何实现这些特征和功能,并因此描述如何实现效率和系统功效改进。 [0154] 图4示出如何执行无边界控制高可用性(BCHA)应用的方面。在图4中,BCHA应用268在BCHA计算资源240/250上作为App_1 450执行。当在监视BCHA计算资源240/250数据的控制回路中检测到任何变化时,用BCHA数据服务230更新BCHA计算资源240/250注册的能力/特性。App_1450,在451中与BCHA数据服务连接,在步骤452中更新BCHA应用能力/特性(如果适用),并在步骤453中获得任何分配的BCHA工作项270。 [0155] 在执行分配的BCHA工作项270时,App 1在步骤455中更新操作状态,在步骤456中处理工作项1_1,在步骤457中更新工作项能力/特性(如果适当的话)。步骤BCHA工作项执行 458、操作状态更新459、BCHA数据服务模块220中的WI数据记录更新和循环直到完成步骤 461示出与应用工作项处理相关联的元素的示例。在步骤462,BCHA应用周期性地检查以确定BCHA数据服务模块230是否具有要分配到特定BCHA应用的附加BCHA工作项。 [0156] 图5A示出BCHA系统的BCHA负载-平衡机会的方面。BCHA系统200功能的一个关键方面是负载平衡系统元素以实现与特定工业执行过程和相关过程控制应用要求相关的高可用性要求的能力。动态地负载平衡是一个关键特征,其还有助于使M:N工作配置成为可能并且对于BCHA系统200可行,其中冗余和高可用性是BCHA系统200的关键要求。图5A示出与BCHA系统200相关联的负载平衡类型的方面,诸如资源故障检测负载-平衡/重新分配和HA-M:N验证负载平衡。应当理解,其他类型的负载-平衡也是可能的,这取决于特定实现的性质和BCHA系统组件、特性和/或能力。 [0157] 在图5A中,在步骤500中,当系统转变到“操作”状态时,BCHA应用配置器211提供用于分配的BCHA工作项270的初始池。在步骤503,BCHA控制应用205参与BCHA系统200。BCHA WI池管理器模块将BCHA工作项270分配到适当的BCHA应用268/BCHA计算资源240/250。在步骤506中,BCHA控制模块215/BCHA可靠性引擎220开始监视在BCHA数据服务模块230中维持的系统健康/操作状态数据。BCHA控制模块215/BCHA可靠性引擎模块220正在监视BCHA系统 200健康/操作状态,以识别资源故障检测负载-平衡机会509并循环通过步骤511,并返回到步骤506以连续监视直到检测到故障。根据具体实施和工业执行过程要求,可以根据具体实施调整循环频率,范围从作为后台工作流的恒定循环到5ms、到5秒、到5分钟到每5小时,或者否则基于可能适合于特定BCHA系统200实现的内容进行调整。 [0158] 在步骤509中,如果识别出资源故障检测负载-平衡机会,则在步骤513中启动资源故障检测负载-平衡机会,并且将确定BCHA系统动作的后续步骤/时间线。在步骤515中,BCHA系统200和BCHA控制模块资源故障检测负载-平衡基于哪个BCHA计算资源240/250已经故障来确定应该将哪个BCHA系统组件重新分配为重新分配元素。BCHA控制模块215在步骤 517中确定重新分配类型,在步骤518中确定重新分配池以及在步骤519中确定特定重新分配目标。在步骤521中,BCHA控制模块215执行将重新分配元素转移到重新分配目标的重新分配。BCHA控制模块215试图维持(1)系统可行性;(1A)系统高可用性操作特性,因此可行的M:N工作配置。对于资源故障检测重新分配,尽管实际计算资源240/250故障,但是BCHA系统面临着这样的挑战:维持(1)系统可行性;以及(1A)系统高可用性操作特性。 [0159] 在步骤523中,BCHA控制模块215运行后台任务,其迭代地模拟BCHA系统200计算资源240/250故障以验证BCHA系统高可用性要求和可行的M:N工作配置-作为HA-M:N验证负载-平衡。在步骤525中,BCHA控制模块215迭代地循环,并且模拟与BCHA系统故障相关联并且根据资源故障检测重新分配而重新部署的相应计算资源240/250。在资源故障检测之后重新分配,BCHA控制模块215在步骤527中确定修复操作状态。如果在模拟每个计算资源 240/250之后,资源故障检测重新分配导致所有绿色状态重新部署-BCHA系统确实是可行的M:N工作配置。如果在每次模拟资源故障检测重新分配之后存在非绿色状态,则BCHA系统 200是M:N+R工作配置-需要额外的计算资源来维持BCHA系统200的高可用性要求和将BCHA系统转变到可行的M:N工作配置。分别关于图5B1-5B2和5C更详细地描述资源故障检测重新分配和活动负载平衡/模拟。 [0160] 图5B1示出与BCHA系统的故障检测/修复相关联的BCHA负载-平衡机会的方面。在BCHA计算资源240/250发生故障的情况下,BCHA系统200执行资源故障负载-平衡重新分配并且用于工作以维持(1)系统可行性、(1A)可行的M:N工作配置以及(1B)系统高可用性操作特性。取决于特定的工业执行过程和应用,BCHA系统200可以被配置为主要关注于1和1A,而 1B可能不是关于操作要求的关键。BCHA系统200可被快速且有效地预先配置请求、接收、提供和转变重新分配元素到补充资源-有效地操作M:N+R工作配置。在一些实现中,BCHA系统 200可以通过与BCHA计算资源提供者一起工作来自动修复,以获得预先配置的BCHA计算资源240/250,而不生成对附加资源的请求。M:N和M:N+R BCHA系统工作配置都可以实现避免 1:1物理硬件冗余工作配置的所有额外成本/费用的好处。此外,与1:1物理硬件冗余工作配置相比,它们还实现了更好的操作效率和资源利用特性。 [0161] 在图5B1的步骤531中,监视BCHA数据服务模块230的BCHA控制器215/BCHA可靠性 220引擎检测BCHA计算资源240/250故障。在步骤533中,在检测到故障之后,BCHA控制器215确定哪些BCHA系统组件正在故障的BCHA计算资源240/250上执行并且需要被重新分配为重新分配元素(例如,BCHA应用268和/或BCHA工作项270)。一旦确定了重新分配元素,在步骤 535中,除了当前重新分配类型设置之外,与故障的BCHA计算资源240/250相关联的特征/能力以及重新分配元素被分析。各种重新分配类型是可能的,包括最快的重新分配、平衡的重新分配、最佳的重新分配、关键的重新分配元素重新部署或最大化使用现有资源(补充/额外的BCHA计算资源240/250可能稀缺和/或难以提供)。这些重新分配类型作为非限制性示例被提供,取决于特定BCHA系统实现、相应的工业执行过程和/或其他配置或操作特性/能力,其他类型是可能的。在步骤538中,BCHA控制模块215开始确定重新分配目标池(基于来自步骤533和535的确定和分析),其识别潜在地可用于重新部署重新分配元素的可能的重新分配目标(例如,BCHA应用268和/或BCHA计算资源240/250)。 [0162] 为了最大化可行的现有资源重新分配目标池的可能性,匹配匹配方法关注于与BCHA系统组件能力和特征相关联的两组参数-(1)BCHA重新部署要求(例如,高可用性要求; 特定的I/O类型;执行单元处理负载;以及(2)BCHA重新部署首选(例如,近实时执行等)。通常有两种可能类型的重新分配目标池:(1)仅使用现有资源(例如,M:N工作配置)的目标池,其中所有BCHA重新部署要求被满足并且最大化满足的BCHA重新部署首选的数量的重新部署选项被选择;或(2)使用现有资源和补充请求的资源(例如,M:N+1或M:N+R)的目标池。在图5B1中,步骤539涉及确定可能的最佳解决方案作为具有用于各种重新分配元素重新部署目标的多个选项的从现有BCHA系统组件创建的重新分配目标池。此选项的变体是一个完美的拟合方案,其中至少一个现有BCHA目标可以促进单个重新部署选项-满足所有BCHA重新部署要求。在步骤539中,BCHA控制模块确定是否存在可用的即时目标重新部署选项。如果在步骤541中确定存在多个潜在的再分配目标选项,则BCHA控制模块215分析BCHA重新部署要求和BCHA重新部署首选以识别符合重新分配类型的选项(例如,最快的故障转移类型是识别的第一个再分配选项,即使其他可能存在;最佳是满足大多数重新部署要求/首选的重新分配选项),并在步骤543中选择重新分配目标。在步骤544中,重新分配元素转变到重新分配目标并在步骤544中激活。在一些实施中,重新分配元素访问BCHA数据服务模块230并在BCHA计算资源故障的时间(或之前)获得与部署相关联的操作/配置数据。因此,重新分配元素可以有效地拾取他们具有最小化时间/数据丢失的停止位置。 [0163] 如果在步骤539中没有可用的即时目标,则在步骤545中,BCHA控制模块215可执行模拟的工作配置负载重新分配以确定转变活动的BCHA应用268/BCHA工作项270是否为重新分配元素创建可用目标,而不停止BCHA组件或请求补充BCHA计算资源240/250。如果模拟的工作配置负载重新分配创建重新分配目标,则BCHA控制模块重新分配活动的BCHA应用268/BCHA工作项270以在步骤542中创建目标,并在步骤543中选择目标。在步骤544中,重新分配元素被分配到重新分配目标并使其活动。 [0164] 如果在步骤545中模拟的工作配置负载重新分配没有创建可用的重新分配目标,则在步骤547中BCHA控制模块215尝试停止非关键(和/或一些实现低优先级)组件以尝试创建可用的重新分配目标。如果停止非关键BCHA计算资源240/250创建可用的重新分配目标,则BCHA控制模块215在步骤548中确定是否启用降级的非关键时间分片处理,并且如果它将非关键的BCHA组件转移到时间分片队列,其中队列的成员每个是步骤549中的专用处理执行资源的一部分(如果和作为附加处理资源被提供)。例如,如果两个非关键应用在队列中,则每个都会得到正常的处理执行资源。队列还可以基于BCHA应用优先级重新平衡,例如,如果App_1可以获得75%的处理执行资源,因为它比仅获得25%的处理执行资源的App 2具有更高的优先级。BCHA控制模块215在步骤550中停止非关键BCHA组件并在步骤552中创建目标池。在步骤544中,将重新分配元素分配到重新分配目标并使其激活。如果停止非关键组件没有创建可用的再分配目标,则BCHA控制模块215尝试也通过在步骤551中停止关键BCHA组件来尝试创建可用的重新分配目标来尝试创建可用的重新分配目标。如果在步骤551中停止关键BCHA组件创建可用的重新分配目标,则BCHA控制模块分别在步骤552和550中停止至少一个关键BCHA组件和一个或多个非关键组件,以分别地在步骤542中创建目标重新分配池,并且在步骤543中选择重新分配目标。在步骤544中,将重新分配元素分配到重新分配目标并使其活动。 [0165] 此时,在进行模拟工作配置负载重新分配,检查非关键组件以及检查关键组件(单独或与非关键组件组合)之后,BCHA控制模块215在步骤553中可能必须请求(或自动修复)补充BCHA计算资源240/250,并在步骤554中提供补充BCHA计算资源240/250。在进行了每个先前检查之后,BCHA控制模块可以识别哪个尝试最接近于实际创建可用性重新分配目标并且定义与所请求的补充BCHA计算资源相关联的类型、大小能力/特性,以最小化成本或供应时间或BCHA计算资源参数的数量。在一些实现中,补充BCHA计算资源配置可以基于BCHA控制模块确定提供什么是所必需的以确保鲁棒的M:N工作配置。利用所提供的补充BCHA计算资源240/250,BCHA控制模块可以在步骤442中创建重新分配目标池,并在543中选择重新分配目标。在步骤544中,将重新分配元素分配到重新分配目标并使其激活。 [0166] 图5B2示出BCHA系统的BCHA系统恢复操作状态相关的故障检测/修复负载-平衡机会的方面。在图5B2中,在步骤560中,在BCHA系统200促进重新分配/重新部署以维持系统可行性作为BCHA系统200的主要目标之后,在步骤560中,BCHA控制模块215/BCHA可靠性引擎 220检查BCHA操作状态以尝试遵守BCHA系统目标1A-符合BCHA系统高可用性要求。在步骤 563中,BCHA可靠性引擎模块220检查BCHA数据服务模块230中的操作度量/状态数据,并确认已经实现了绿色状态修复。更具体地,在状态图元素565中,所有BCHA应用268和BCHA工作项270已经被重新部署并且在所有BCHA系统高可用性要求下完全可操作。如果实现了绿色状态修复,则在步骤568中,BCHA控制模块215转变回周期性/连续BCHA系统健康/操作状态监视。 [0167] 在步骤563中,如果BCHA控制模块215确定尚未实现绿色状态修复,则控制器将在步骤571中开发并执行BCHA系统恢复计划。在图5B2中,开发BCHA系统恢复计划的第一方面是确定哪个非绿色状态与BCHA系统200操作状态相关联。如果作为故障检测重新分配,则BCHA控制模块215能够保持系统运行但是必须暂停关键BCHA应用268,以便保持较高优先级的关键BCHA应用268运行,BCHA系统200被认为是在红色操作状态-如状态图元素573。如果BCHA控制模块215能够保持系统运行但是必须暂停一个或多个非关键BCHA应用268,则认为BCHA系统200是在橙色操作状态中-如状态图元素575。第三非绿色操作状态是黄色状态(状态图元素577),其中所有重新分配元素已被成功重新部署,但BCHA系统200具有一个或多个不符合BCHA系统200高可用性要求的BCHA应用268。 [0168] 在一些实现中,可以将暂停的非关键应用维持在活动但降级的操作状态。更具体地,可以将暂停的非关键应用添加到降级的进展队列中,并且BCHA控制模块215可以顺序地迭代暂停的应用以为重新分配元素的某些方面提供部分处理/计算资源,以便保持系统可操作,直到可以提供额外的资源。BCHA控制模块215顺序地迭代降级的应用268/工作项270队列,并系统地提供重新分配元素的所请求的计算资源执行单元要求的至少一部分。 [0169] 在所有红色和橙色操作状态中,BCHA控制模块215可以确定将BCHA系统200转变回完全绿色操作状态所需的补充BCHA计算资源的数量和类型(565)。BCHA系统还可以确定并报告在工业执行过程安全系统转变关闭工业执行过程之前是否可以实现维修时间-转变回绿色操作状态(565)的时间,以避免不安全的情况/操作。根据具体实施,以及当前的操作特性,确定的操作状态和补充BCHA计算资源240/250的可用性,转变回绿色状态可以是从红色、橙色到绿色的完全、直接过渡或者它可以是渐进的转变回绿色状态(任一路径的修复时间都少于工业执行过程安全系统关闭时间)。 [0170] 图5B2中作为绿色、黄色,橙色和红色操作状态被讨论的操作状态被提供以帮助说明BCHA系统200如何能够动态地管理和协调各种BCHA系统组件的方面,包括BCHA计算资源 240/250、BCHA应用268和BCHA工作项,以维持一个或多个BCHA系统200操作完整性、可行的M:N工作配置、以及根据BCHA系统200/BCHA应用高可用性要求的操作。根据实施,可以实现不同的功能操作状态名称、操作特性和甚至操作次数。例如,绿色可以重命名为“可行MNHA操作状态(Viable MNHA Operational State)”并缩写为“MNOK_HAOK”,黄色可以重命名为“可行MN操作状态(Viable MN Operational State)”并缩写为“MNOK_HADG”,橙色可以重命名为“降级MN操作状态(Degraded MN Operational State)”并且缩写为“MNDG_HACRT”,红色可以重命名为“危急系统(Critical Systems)”操作状态“并缩写为”C“S或”MNCRT_HACRT“。而不是涉及M:N和HA操作状态,也可以将一个子集集中在一个BCHA操作参数。例如,配置有关注于一个BCHA操作参数的三个操作状态(或子状态)的BCHA系统可以作为“可行HA”或“可行MN”;“降级HA”或“降级MN”;“危急HA”或“危急M:N”。其他BCHA操作参数也可用于开发状态控制(例如,工作项执行负载分配为“重”、“中”和/或“轻”。另一个例子,BCHA系统200可以配置有二进制操作状态,其中系统是“操作的或不操作的”。这些示例被提供为非限制性示例,并且BCHA系统200可以被配置为促进多个其他操作实施。 [0171] 图5C示出与M:N验证相关联的活动BCHA系统负载平衡/修复的方面。图5C示出与HA-M:N验证负载平衡和M:N工作组验证/修复相关联的方面。更具体地,为了确保具有足够的备用计算资源执行可用性的可行M:N工作配置而没有实际的1:1冗余物理硬件,BCHA控制模块220执行涉及HA-M:N验证负载平衡的后台活动,以促进M:N工作组验证/修复方案测试。 M:N工作组验证/修复作为辅助BCHA应用268执行以迭代地模拟BCHA计算资源240/250故障、资源故障检测负载平衡和后续操作状态测试,以确定对于特定BCHA计算资源240/250故障,M:N工作配置是否具有足够的计算资源执行可用性,以便于仅使用现有计算资源240/250促进重新部署,同时维持与BCHA系统200相关联的高可用性操作要求。HA-M:N验证负载平衡是灵活的仿真过程并且可以验证各种BCHA系统配置。在图5C中描述的示例中,BCHA控制模块 215逐步通过并模拟第一级故障,其中验证报告反映了聚合的修复状态-一次一个地模拟与M:N工作配置相关联的每个BCHA计算资源240/250的故障的结果-例如具有五个BCHA计算资源240/250的BCHA系统将执行五个模拟循环-并且在每个模拟循环期间,不同的BCHA计算资源240/250将故障。如果五个模拟循环中的每一个都具有绿色修复状态,则M:N工作配置已经过验证。如果任何一个模拟循环导致非绿色修复状态,则M:N工作配置可能必须进一步发展为M:N+R工作配置,即,可能需要补充资源来实现可行的M:N工作配置,使用优化的备用执行资源平衡来执行,同时最小化额外的计算资源要求,并仍然完全避免旧的1:1冗余物理硬件要求。 [0172] 在图5C中,BCHA控制模块在步骤575中启动HA-M:N验证负载平衡执行周期。根据实现、相应的工业执行过程和其他操作特性,HA-M:N验证负载平衡可以执行为连续循环,或具有静态或动态执行频率-与石油和天然气炼油厂操作控制系统相关的工业执行过程可能涉及更多时间关键/敏感操作,而不是与废水处理厂相关的工业执行过程或其他时间较少的关键/敏感操作。在步骤577中,BCHA控制器220确定HA-M:N验证负载平衡验证程度,例如第一级故障模拟。在一些实现,模拟故障程度可以被建立为系统默认值并且由系统操作员适当地更新。验证程度设置BCHA控制器220将在迭代期间将模拟的计算资源240/250的数量(例如,第一度故障模拟验证M:N工作配置,其中一个计算资源240/250故障,第二度故障模拟验证两个计算资源240/250故障的实例,等等......)。在图5C的示例中,BCHA控制器220在BCHA数据服务模块230的隔离段中工作,该BCHA数据服务模块230填充有BCHA系统200架构、组件、作为启动HA-M:N验证负载平衡的实例的时间的与系统相关联的操作数据。在步骤 579中,BCHA控制器220模拟与BCHA系统200相关联的第一计算资源240/250的故障。在步骤 581中,BCHA控制器模块215模拟如图5B1和图5B中所描述的BCHA故障检测资源重新部署。在步骤583中,BCHA控制器模块215在将故障重新分配元素重新部署到重新分配目标之后确定修复操作状态。如果在步骤585中修复操作状态涉及绿色状态,则针对相应BCHA计算资源 240/250的故障验证M:N工作配置。然而,鲁棒的可行的M:N工作配置,与BCHA系统200相关联的每个BCHA计算资源240/250也必须具有绿色状态修复操作状态。因此,在步骤587中针对HA-M:N验证负载平衡验证的相应循环记录修复操作状态,BCHA控制器220在步骤589检查是否需要模拟额外的BCHA计算资源240/250故障以进行验证。在步骤591中,M:N工作配置计算资源计数递增,并且模拟启动下一循环,模拟序列中下一个BCHA计算资源240/250的故障,循环回到步骤579。 [0173] 在图5C中,如果步骤583中的修复操作状态如在步骤593中识别非绿色状态,则相应计算资源240/250的模拟故障不符合M:N工作配置。该系统可能仍然是可操作的,但是在M:N+R工作配置中,其中可能需要补充/附加计算资源240/250以将修复操作状态转变回绿色状态并实现可行的M:N工作配置。基于故障的计算资源240/250的能力/特性以及重新分配元素的能力/特性,BCHA控制器220可以确定可能需要什么类型/多少补充/附加计算资源 240/250以从M:N+R工作配置转变为可行的M:N工作配置。根据特定的系统配置,可以在检测到M:N+R工作配置转变要求时报告它们。或者,如在图5C中所示的示例中那样,M:N+R工作配置转变要求在步骤593中被确定并在步骤587中被记录。 [0174] 如果在与BCHA系统200相关联的步骤589中针对所有工作配置BCHA计算资源240/ 250模拟了所有故障,则步骤595涉及开发M:N工作配置验证报告和用于基于与执行的HA-M: N验证负载平衡验证相关联的任何M:N+R工作配置转变要求确认对于补充/附加BCHA计算资源240/250的系统请求的自动执行。在一些实现中,M:N工作配置验证报告可以识别各种操作验证结果,以及系统生成的修复措施以解决在模拟/验证期间识别的问题。例如,系统生成的修复动作可以包括将被要求、提供和供应的建议的系统生成的补充计算资源240/250的列表,以实现BCHA系统200的可行的M:N工作配置。还可以包括关于在所提出的系统生成的补充计算资源的列表中如何考虑一个或多个特定计算资源240/250故障的细节。 [0175] 在一个实施方式中,BCHA控制模块215可以包括如595中的自动修复特征。更具体地,BCHA控制模块215可以被配置为与预先批准的BCHA计算资源240/250提供者(例如,公共云服务提供商)连接。一旦与提供商连接,BCHA控制模块215可以直接访问并请求提供一个或多个预配置或定制的BCHA计算资源240/250。因此,BCHA控制模块215可以快速、有效地修复通过HA-M:N验证负载平衡确定的问题,请求、提供和重新部署重新分配元素到补充BHCA计算资源240/250。BCHA控制模块215可以选择将预先配置的BCHA计算资源240/250与重新分配所需的能力和特性进行比较,以确定最佳拟合的预先配置的BCHA计算资源240/250。 BCHA控制模块215可以选择比较预先配置的BCHA计算资源240/250,其具有比识别的那些附加的能力和特性,以修复在修复操作状态确定期间识别的问题。BCHA控制模块215可以生成针对定制的BHCA计算资源240/250的类似请求-具体地向定制的BHCA计算资源240/250请求比识别的那些附加的能力和特性,以修复在修复操作状态确定期间识别的问题。 [0176] 利用附加能力和特性,BCHA控制模块215可以执行最佳负载重新分配以跨越可用BCHA计算资源来转移应用以最小化处理器负载、BCHA工作项执行单元负载、BCHA应用负载和/或两个或更多个最小化参数(例如,第一个BCHA工作项执行单元负载和第二个BCHA应用负载)的组合。BCHA控制模块215可以在请求预先配置的或定制的BCHA计算资源240/250之前进行最佳负载重新分配确定。 [0177] 图6A-图6B7示出BCHA系统200如何工作以修复BCHA计算资源240/250故障并维持可行的M:N工作配置的示例的方面。图6A示出这样的BCHA系统,其包括五个BCHA计算资源 240/250(在图6A中标识为CR-1 610、CR-2 620、CR-3 630、CR-4 640和CR-5 650),在BCHA计算资源240/250上执行的各自的BCHA应用268(在图6A中标识为App_1 612、App_2 614、App_ 3 616、App_4 626、App_5 642、App_6 645和App_7 654)以及在相应的BCHA应用268上执行的BCHA工作项270(在图6A中标识为WI 1_1 613、WI 2_1 615、WI 3_1 617、WI 4_1 627、WI  5_1 633、WI 6_1 645和App_7_1 655)。每个BCHA系统组件与BCHA数据服务230和BCHA控制应用205进行操作通信,特别是BCHA控制模块215、BCHA可靠性引擎模块220和BCHA WI池管理器模块221正在积极地参与BCHA系统200组件。 [0178] 图序列6B1-6B7是BCHA系统200如何工作以识别和修复BCHA计算资源240/250的故障以及重新部署与故障BCHA计算资源240/250相关联的重新分配元素的示例实现。重新分配元素可以包括在BCHA计算资源上执行的BCHA应用268和/或由相应BCHA应用268执行的相应BCHA工作项270。每个图6B1-6B7示出与BCHA系统执行以将资源故障检测修复为执行时间线699的每个步骤相关联的关键操作状态。 [0179] 图6B1示出BCHA计算资源240/250和BCHA应用268能力、特性以及与BCHA工作项270相关联的BCHA操作状态。在图6B1中,BCHA系统在绿色状态下操作,满足所有高可用性要求。 [0180] 图6B1中所示的BCHA系统200组件是作为与时间/状态160相关联并存储在BCHA日期服务中的BCHA数据服务数据的稳态操作视图。在状态1,所有BCHA计算资源240/250作为可行的M:N工作配置在绿色状态下执行,其中满足所有BCHA系统200高可用性操作要求。状态1图600示出计算资源CR1-CR5、APP_1-App_7和相应工作项1_1-7_1的相应能力/特性,以及分别为活动,非活动,保持的与每个BCHA系统组件相关联的BCHA系统组件操作状态(在计算资源CR-4故障后的图6B2中-“故障”)。图序列是BCHA系统200如何工作以识别和修复BCHA计算资源240/250,图6B2中的BCHA应用268的故障的示例实现-BCHA-故障检测/HA操作评估-CR4故障/故障检测; [0181] 图6B2示出当BCHA计算资源CR-4故障时的操作状态,以及App_5/工作项5_1和App6/工作项6_1的实例。在CR-4故障之后,BCHA控制模块215检测BCHA数据服务模块230中的故障并更新与CR-4相关联的操作状态。 [0182] 在图6B3中,BCHA控制模块215确定与故障的计算资源240/250相关联的能力和特性,包括计算资源可用性要求以及实时操作要求。BCHA控制模块215还确定与App_5/工作项 5_1和App_65/工作项6_1相关联的能力和特性,包括应用优先级、应用可用性要求以及应用实时要求。在一些BCHA系统200实现中,BCHA应用268优先级用于执行重新分配类型-例如,可以在较低优先级重新分配元素之前将较高优先级重新分配元素重新部署到具有快速重新部署重新分配类型的潜在重新分配目标中。在最佳重新部署重新分配类型中,BCHA控制模块可以尝试暂停较低优先级的应用,以支持为更高优先级的应用的重新部署创建可用性。取决于实现,其他能力/特性可以包括与特定计算资源240/250或BCHA应用268/BCHA工作项270相关联的专用I/O连接,以及处理器加载能力或处理器执行要求。 [0183] 在图6B4中,BCHA控制模块215评估与BCHA系统200相关联的其他现有计算资源 240/250(例如,CR-1、CR-2、CR-3和CR-5)的能力、特性和可用性要求。在该示例中,每个计算资源240/250具有关于处理存储器/处理能力的能力,以支持三个BCHA应用268/工作项270。 因此,BCHA控制模块215从潜在重新部署目标的重新分配池排除CR1和CR-2。因此,生成的重新分配池包括CR-3和CR-5。为了维持可行的M:N工作配置,BCHA控制模块215将检查CR-3和CR-5的其他特征/能力,以及App_5/工作项5_1和App 6/工作项5_1并且发现CR-3和CR-5都是能够同时采用重新分配元素的潜在目标-本例中故障的应用/工作项作为重新分配池。 [0184] BCHA控制模块215选择CR-3作为App 5的重新分配目标,因为CR-3满足前两个检查(即,(1)获取重新分配元素的可用性;以及(2)已存在处于活动/非活动状态的重新分配的实例)。BCHA控制模块215尝试平衡快速故障转移,同时还尝试在重新分配池潜在目标之间平衡/扩展重新分配元素以最小化处理器加载并且保持在与特定M:N工作配置相关联的BCHA计算资源240/250之间开放的尽可能多的可用重新分配槽。通过努力最大化尽可能多的可用重新分配槽,BCHA控制模块最大化在现有M:N工作配置中重新部署的可能性,特别是在这样的工作配置中,包括广泛的BCHA计算资源240/250异构池和具有相应的广泛范围的功能和特性的BCHA应用系统类型/硬件类型。 [0185] 图6B5示出BCHA控制模块215如何选择特定BCHA计算资源240/250作为相应重新分配元素的重新分配目标的方面。在该示例中,BCHA控制模块215确定所选择的重新分配类型(而不是“平衡故障转移重新部署”、“最佳故障转移重新部署”或“最快故障转移重新部署”)。重新分配类型在确定重新分配目标时特别有用,其中特定重新分配池的几种可能的重新部署目标方案。根据实施,M:N工作配置操作数据、BCHA系统组件功能/特性以及特定可用的重新分配类型,可能存在每个重新部署类型将导致选择相同的重新分配目标的情况。 可能还存在一些实例,具体取决于特定M:N工作配置的加载特性以及资源故障的特定类型,其中补充/额外计算资源将是维持系统可行性以及BCHA系统高可用性要求所必需的。对于平衡重新分配类型,在检查现有的非活动实例并且可以使其处于活动状态并采用再分配元素,或具有处理负载可用性(例如,在评估时执行少于3个应用)之后。 [0186] 在该示例中,BCHA控制模块215的“平衡故障转移类型”检查重新分配池中的任何重新分配目标当前是否具有在活动/非活动状态下执行的应用的现有实例(这也是对于最快故障转移重新部署重新分配类型的首次检查)。因此,在图6B5中,BCHA控制模块215识别在非活动状态下在CR-3上执行的App_5的实例。在确认CR-3没有满载处理器之后,BCHA控制模块215确认CR-3是否匹配与故障的App_5相关联的任何其他所需的重新分配特性/能力,以及检查是否存在与故障的App_5相关的任何辅助重新分配特性/能力(例如,特定处理速度/处理能力)。在“平衡故障转移类型”中,如果重新分配池中的多个潜在重新分配目标满足所有必需的重新分配特征/功能,则可以选择满足最大次要重新分配特征/功能的潜在重新分配目标作为重新分配目标(此对于最佳故障转移重新部署重新分配类型也是如此)。 [0187] 图6B6示出BCHA控制模块将App_5/工作项5_1和App_6/工作项6_1从故障的计算资源CR-4重新分配到选定的重新分配目标上,其中App_5/工作项5_1转移到CR-3和App_6/工作项6_1被实例化并且在CR-5上分别执行工作项6-1。对于此示例,BCHA控制器通过从现有M:N工作配置资源开发重新分配池来重新部署系统。 [0188] 在一些实施方式中,为了确保BCHA系统200使用M:N工作配置内的现有BCHA系统组件继续操作,BCHA控制器215可以临时/无限地暂停非关键BCHA应用。例如,在图6B7示出的替代实施例中,改变了与图6B1-6B6中描述的示例实施例相关联的一些能力/特性。更具体地,在图6B6所示的示例中,CR-4,App_6具有不能重新部署到CR-5的重新分配能力/特征要求。例如,CR-4,App可能具有未连接到CR-5的I/O传感器输入要求。相反,在该示例中,CR-2是满足在CR-4针对M:N工作配置故障时的I/O传感器输入要求的唯一的其他BCHA计算资源 240/250。因此,如在图6B1-6B6中描述的示例实施例中所述,基于处理器/负载要求从重新分配目标池中排除CR-2,其中计算资源240/250在给定时间不能执行多于三个BCHA应用。但是,在此示例中,与App_6协调的BCHA应用IO要求具有应用优先级为3,而App_4的应用优先级为6。BCHA应用也可以标记为“严重”或“非严重”,这是确定BCHA应用268是否可以临时/无限期地暂停以创建处理器负载可用性并适应重新分配元素的关键参数。在图6B7中,临时暂停App_4,其创建处理器负载可用性以适应故障的App_6的重新部署。 [0189] 一旦重新分配元素已被重新部署到所选目标并且是活动的,BCHA控制器215就执行修复状态确定以验证即使BCHA重新分配元素已经被重新部署并且是活动的,BCHA系统可用性要求也被保持。如果修复操作状态(图5B2中所示)是绿色,则BCHA系统目标,(1)维持系统操作,(1A)仅使用现有BCHA系统组件来促进资源故障重新分配;以及(1B)维持BCHA系统高可用性要求,已全部满足。如果修复操作状态不是绿色,则仅(1)如果状态为红色或(1)和(1A)如果状态为橙色或黄色,BCHA系统可能实现。在任何情况下,如果修复操作状态不是绿色,则BCHA控制模块可能需要请求BCHA补充/附加资源以执行转变回绿色操作状态,其中(1)、(1A)和(1B)都被满足。 [0190] 在图6B8中,BCHA控制模块215通过分析特定BCHA应用的高可用性要求并添加计算资源-执行特定的BCHA应用的活动/非活动实例的每个计算资源的可用性特征,通过修复状态确定每个应用执行是否具有所需的高可用性。在所示示例中,APP_1具有设置为0.999999的高可用性要求;并且App-1在两个离散的BCHA计算资源240/250上执行,特别是CR-1和CR- 2。因此,尽管计算资源CR-4故障并且仅使用从M:N工作配置中选择的现有计算资源240/250重新部署重新分配元素,BCHA系统200仍满足App_1高可用性要求。BCHA控制模块215迭代地检查每个BCHA应用268的高可用性要求(在图6A-6B中针对App_1-App7的示例中)。如果验证是否定的-例如App_5的高可用性要求为0.99999,则重新部署到CR-3,其具有0.9999的高可用性特征。由于CR-4的故障,App_5高可用性要求0.99999不再是绿色状态。当CR-4处于“在线”状态时,CR-4的高可用性特性0.99999足以满足App_5的高可用性要求。但是,资源故障检测修复状态确定表明已满足BCHA系统目标(1)和(1A),1B故障,因为如果未满足至少一个BCHA应用268高可用性要求,则BCHA系统高可用性要求也会发生故障。 [0191] 应理解,本文使用的示例旨在示出与BCHA系统负载平衡(资源故障检测负载平衡和活动负载平衡两者)相关联的各种特征/功能。BCHA系统可能使用或实施其他方法来计算高可用性要求/确定高可用性合规性。此外,应该理解,添加BCHA计算资源240/250高可用性特性以及与BCHA应用高可用性的比较仅仅是计算高可用性要求/确定高可用性合规性的一个非限制性示例-其他BCHA系统操作参数计算是可能的,并且可以以与本文描述的方式类似的方式与BCHA系统组件协调使用,以实现(1)、(1A)和(1B)的BCHA系统目标。 [0192] 关于图6B8讨论的高可用性合规性故障是通过参考图5C描述的BCHA活动负载平衡已经识别和修复的故障的示例。在图6B8的上下文中,在Z度验证设置为1的情况下,在CR-4的实际故障之前,BCHA控制器215将在执行时间线699期间-状态1“绿色”,所有BCHA计算资源都是在线的,迭代通过模拟故障CR-1、CR-2、CR-3、CR-4和CR-5中的每一个。在模拟CR-1、CR-2、CR-3的资源故障检测重新分配之后,由于鉴于CR-4的0.99999高可用性特性的丢失App_5高可用性要求不符合App_5的0.9999高可用性要求,BCHA控制器215将模拟CR-4的故障并识别出黄色修复操作状态。根据图5C的步骤595,BCHA控制模块开发M:N工作配置验证报告,并且在该示例中将识别App_5的高可用性要求不合规(以及基于迭代BCHA计算资源故障模拟的其他BCHA应用的任何其他不合规问题)。除了生成报告之外,BCHA控制模块还可以生成对其他BCHA计算资源的请求,以修复任何高可用性要求不合规和/或M:N工作配置不合规。此类修复将涉及从M:N+R工作配置转变回可行的绿色状态M:N工作配置的过渡计划,其中满足所有高可用性要求。 [0193] 图7A示出流程图,其示出基于(a)没有足够的重新分配潜在目标来生成可行的重新分配池的控制模块;或(b)由Z度HA-M:N验证负载=平衡生成以实现工作配置验证的结果报告而开发的补充/附加计算资源240/250请求,BCHA控制模块215如何从非绿色修复操作状态转变到绿色修复操作状态的方面。在步骤700中,BCHA控制模块215识别非绿色修复操作状态并确定最小BCHA计算资源能力/特性以将修复操作状态转变回绿色状态并实现也符合BCHA系统200BCHA应用268高可用性要求的M:N工作配置。在一些情况下,BCHA系统可以执行自动修复以获得适当的BCHA计算资源240/250。 [0194] 取决于实施方式,转变到绿色状态操作的最小BCHA计算资源能力/特性可以从由Z度活动负载平衡生成的验证报告导出,或者包括在资源故障检测负载均衡期间生成的补充/附加资源请求。在一些实现中,在步骤706中,BCHA控制模块215包括补充/附加BCHA计算资源请求信息,其被包括并且不一定需要促进转变到绿色状态操作,而是补充/附加BCHA计算资源请求信息可以有助于提供更强大的M:N工作配置。可以生成补充/附加BCHA计算资源请求信息,并从在Z度实时负载平衡/M:N工作配置验证期间执行的计算资源故障模拟中导出。在步骤709中,可以将计算资源请求组合成单个请求,或者可以与补充/附加BCHA计算资源请求分开地发出用于促进绿色状态转变的最小计算资源请求的请求。在步骤715中,BCHA委派模块210和BCHA控制模块215一起工作以将在步骤712中提供的任何所请求的BCHA硬件资源起点提供到在线BCHA计算资源240/250中。在步骤718中,BCHA控制模块215重新部署适当的BCHA应用268和相应的BCHA工作项270,以便于转变回绿色状态。BCHA控制模块确定是否在步骤721中还提供了超出最小请求资源的任何补充/附加BCHA,其可用于附加系统利用或作为更鲁棒的M:N工作配置操作。在步骤724中,BCHA控制模块实例化BCHA应用以促进更鲁棒的M:N工作配置。在步骤727中,BCHA控制模块进行转变后操作状态验证,并且如果识别出任何问题则循环回到步骤700。在步骤730,BCHA控制模块215转变为监视BCHA系统健康/操作数据并执行活动负载平衡。 [0195] 图7B中所示的操作图图示出请求的完全供应的BCHA计算资源240/250作为CR-6  735。在该示例中,BCHA控制模块215识别出涉及先前在故障的CR-4上执行的App_6的I/O连接的重新分配元素能力/特性要求。与上面在6B8中的示例相反,其中CR-2满足重新分配元素能力/特性要求,在该示例中仅符合故障的CR-4。因此,作为由BCHA控制模块215发起的资源故障检测负载平衡的部分,BCHA控制模块215识别出当前M:N工作配置不能遵守并立即发出对符合要求的补充/附加计算资源240/250的请求。 [0196] 在图7B的示例中,基于活动负载平衡,BCHA控制模块215还请求补充/附加计算资源以确保鲁棒的绿色状态,M:N工作配置。具体地,进行Z=1度活动负载平衡,BCHA控制模块 215识别出促进更鲁棒的绿色状态的机会,操作请求具有0.99999高可用性特征的BCHA计算资源,使得App_1、App_2和App_3将具有可行的故障转移目标,如果满载CR-1故障,则App_3(也具有0.99999应用可用性要求)应该需要计算资源。图7C示出对应于图7B的操作图部署的附加CR-6BCHA计算资源。 [0197] 在一些实施例中,BCHA控制模块215可以使用可靠性监视器度量的方面来促进系统负载平衡。例如,可靠性引擎模块可以使用能力、特性作为重新分配约束(例如,对特定BC应用、应用元素和/或工作项类型的OS要求)来: [0198] (i)确定运行所有应用所需的资源数量。 [0199] (ii)确定具有不同OS要求的各种应用所需的系统可用性。这可以针对整个过程或过程段(例如单元、火车和设备)进行计算。 [0200] (iii)确定哪些应用对过程或运行工厂至关重要。如果关键应用停止并且未在备用资源上重新启动,则安全系统可以终止该过程以使工厂进入安全状态。 [0201] (iv)确定每个BC应用所需的关键性。 [0202] (v)确定应用约束是什么(例如,可能需要在同一资源上运行两个控制应用)。 [0203] 这些是可靠性引擎可以监视的一些示例/不同的负载平衡/可用性管理度量。通过与高可用性控制器协同动态协调计算资源/应用/工作项管理,这些模块可帮助确保高效、有效的系统操作参数,并有助于实现系统的目标可用性指标。 [0204] 基于上述确定中的一个或多个,与可靠性监视器115协同工作的BCHA控制120可以计算系统的可用性并促进负载平衡优化。例如,在机器故障或资源受限状态的情况下,高可用性控制器120/可靠性监视器115可以临时或关闭非关键或最不重要的应用(例如,优化控制应用),以便可用的计算能力可用于运行关键控制应用。高可用性控制器120/可靠性监视器115可以快速实现该故障转移,而不会触发过程终止/安全系统。作为另一示例,高可用性控制器120/可靠性监视器115可以使用可用或重新获得的计算资源/可用性(或附加/补充提供的资源(例如,一旦机器重新联机)以重新分配移动并重新启动考虑到安全系统的潜在动作(例如,关闭动作)的关键应用。在一些实施例中,可靠性监视器还可以跨多个BC资源分布BC应用实例工作项以管理资源加载。 [0205] 在一些实施例中,可以实时计算BCHA系统200的各种系统度量。这些系统度量可以指示BCHA系统200可靠性和/或可用性。在一些实施例中,BCHA系统200度量也可以被传送给用户(例如,传送到客户端设备、人机界面)。BCHA系统200度量的示例包括但不限于: [0206] (a)在所期望或所需可用性下运行所有应用所必需的硬件和资源数量。 [0207] (b)运行超过规定临界点的应用所需的机器数量。 [0208] (c)高可用性编号(HAN)、表示系统总体可用性的关键性能指标(KPI)以及BCHA系统操作度量,包括: [0209] i.基于当前可用的BCHA计算资源240/250和活动BCHA应用268的BCHA系统200的实际可用性。 [0210] ii.故障的BCHA计算资源的数量240/250。 [0211] iii.运行的BCHA应用268的数量及其关键性和/或优先级。 [0212] iv.非活动BCHA应用268的数量及其关键性和/或优先级。 [0213] v.由于非关键BCHA应用268的不活动而导致的收入损失。 [0214] vi.要供应以运行每个BCHA应用268的附加BCHA计算资源240/250的数量。 [0215] vii.如果从可用BCHA计算资源240/250池中添加或移除BCHA计算资源240/250,则改变整体BCHA系统200的可靠性和可用性。 [0216] 计算机系统化 [0217] BCHA系统组件可以包括物理机器或物理计算机硬件(“计算机系统”),其中现在将讨论用于使计算机系统执行本文所讨论的任何一种或多种方法的一组指令。有助于在附图中讨论并在此描述的特征和/或功能的在BCHA系统中使用的软件或固件可以存储在机器可读存储介质上,并且可以由一个或多个通用或专用可编程微处理器执行。 [0218] 计算机系统可包括处理器、主存储器、非易失性存储器和接口设备。为简单起见,省略了各种通用组件(例如,高速缓冲存储器)。计算机系统旨在示出可以在其上实现本说明书中描述的任何组件和方法的硬件设备。计算机系统可以是任何适用的已知或方便类型。计算机系统的组件可以通过总线或通过一些其他已知或方便的设备耦合在一起。 [0219] 处理器可以是例如传统的微处理器,例如Intel Pentium微处理器或Motorola power PC微处理器、单核处理器或任何多核处理器。相关领域的技术人员将认识到,术语“机器可读(存储)介质”或“计算机可读(存储)介质”包括可由处理器访问的任何类型的设备。 [0220] 存储器通过例如总线耦合到处理器。作为示例而非限制,存储器可以包括随机存取存储器(RAM),诸如动态RAM(DRAM)和静态RAM(SRAM)。内存可以是本地、远程或分布式的。 [0221] 总线还将处理器耦合到非易失性存储器和驱动单元。非易失性存储器通常是磁性软盘或硬盘、磁光盘、光盘、只读存储器(ROM),例如CD-ROM、EPROM或EEPROM,磁卡或光卡、或大量数据的其他形式的存储。在计算机系统中执行软件期间,这些数据中的一些通常由直接存储器访问过程写入存储器。非易失性存储可以是本地的、远程的或分布式的。非易失性存储器是可选的,因为可以使用存储器中可用的所有适用数据来创建系统。典型的计算机系统通常包括至少处理器、存储器和将存储器耦合到处理器的设备(例如,总线)。 [0222] 软件通常存储在非易失性存储器和/或驱动单元中。实际上,对于大型程序,甚至可能无法将整个程序存储在存储器中。然而,应该理解,对于运行的软件,如果需要,将其移动到适于处理的计算机可读位置,并且出于说明的目的,该位置在本文中被称为存储器。即使当软件被移动到存储器以供执行时,处理器通常也将利用硬件寄存器来存储与软件和本地高速缓存相关联的值。理想情况下,这可以加快执行速度。如本文所使用的,当软件程序被称为“在计算机可读介质中实现”时,假设软件程序存储在任何已知或方便的位置(从非易失性存储器到硬件寄存器)。当与程序相关联的至少一个值存储在处理器可读的寄存器中时,处理器被认为“被配置为执行程序”。 [0223] 总线还将处理器耦合到网络接口设备。该接口可以包括调制解调器或网络接口中的一个或多个。可以理解,调制解调器或网络接口可以被认为是计算机系统的部分。该接口可以包括模拟调制解调器、isdn调制解调器、电缆调制解调器、令牌环接口、卫星传输接口(例如,“直接PC”)或用于将计算机系统耦合到其他计算机系统的其他接口。该接口可以包括一个或多个输入和/或输出设备。作为示例而非限制,I/O设备可以包括键盘、鼠标或其他指示设备、磁盘驱动器、打印机、扫描仪以及包括显示设备的其他输入和/或输出设备。作为示例而非限制,显示装置可包括阴极射线管(CRT)、液晶显示器(LCD)或一些其他适用的已知或方便的显示装置。为简单起见,假设本文未描述的任何设备的控制器可以驻留在接口中。 [0224] 在操作中,计算机系统可以由操作系统软件控制,该操作系统软件可以包括文件管理系统,例如磁盘操作系统。具有相关文件管理系统软件的操作系统软件的一个例子是来自华盛顿州雷德蒙德的微软公司的称为 的操作系统系列及其相关的文件管 理系统。操作系统软件及其相关文件管理系统软件的另一个例子是Linux操作系统及其相关的文件管理系统。文件管理系统通常存储在非易失性存储器和/或驱动单元中,并使处理器执行操作系统输入和输出数据以及将数据存储在存储器中所需的各种动作,包括在非易失性存储器和/或驱动单元上存储文件。 [0225] 可以根据对计算机存储器内的数据位的操作的算法和符号表示来呈现详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域其他技术人员的手段。这里的算法通常被认为是导致期望结果的自洽操作序列。操作是需要物理操纵物理量的操作。通常,尽管不是必需的,这些量采用能够被存储、传输、组合、比较和以其他方式操纵的电信号或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为比特、值、元素、符号、字符、术语、数字等是方便的。 [0226] 然而,应该记住,所有这些和类似术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便标签。除非从以下讨论中明确说明,否则应当理解,在整个说明书中,利用诸如“处理”或“计算”或“计算”或“确定”或“显示”等术语的讨论指的是计算机系统或类似电子计算设备的动作和过程,其将表示为计算机系统的寄存器和存储器内的物理(电子)量的数据操作和转变成类似地表示为计算机系统存储器或寄存器或其他此类内的信息存储、传输或显示设备内的物理量的其他数据。 [0227] 本文呈现的算法和显示并非固有地与任何特定计算机或其他装置相关。各种通用系统可以与根据本文的教导的程序一起使用,或者可以证明构造更专用的装置以执行一些实施例的方法是方便的。各种这些系统所需的结构将从下面的描述中看出。另外,没有参考任何特定编程语言描述这些技术,因此可以使用各种编程语言来实现各种实施例。 [0228] 在替代实施例中,机器作为独立设备操作或者可以连接(例如,联网)到其他机器。 在联网部署中,机器可以在客户端-服务器网络环境中以服务器或客户端机器的能力运行,或者作为对等(或分布式)网络环境中的对等机器运行。 [0229] 该机器可以是服务器计算机、客户端计算机、个人计算机(PC)、平板电脑、膝上型计算机、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、iPhone、黑莓、处理器、电话、网络设备、网络路由器、交换机或网桥,或能够执行指定该机器要采取的操作的一组指令(顺序或其他)的任何机器。 [0230] 虽然机器可读介质或机器可读存储介质在示例性实施例中被示为单个介质,但是术语“机器可读介质”和“机器可读存储介质”应被视为包括存储一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库、和/或相关联的高速缓存和服务器)。术语“机器可读介质”和“机器可读存储介质”还应被视为包括能够存储、编码或携带一组指令以供机器执行并且使机器执行本公开技术和创新的一种或多种方法的任何介质。 [0231] 通常,被执行以实现本公开的实施例的例程可以被实现为操作系统或特定应用、组件、程序、对象、模块或被称为“计算机程序”的指令序列的部分。计算机程序通常包括在计算机中的各种存储器和存储设备中在不同时间设置的一个或多个指令,并且当由计算机中的一个或多个处理单元或处理器读取和执行时,使计算机执行操作以执行涉及本公开的方面的元素。 [0232] 此外,虽然已经在完全运行的计算机和计算机系统的背景下描述了实施例,但是本领域技术人员将理解,各种实施例能够以各种形式被分配为程序产品,并且无论用于实际影响分配的特定类型的机器或计算机可读介质如何,该公开均适用。 [0233] 机器可读存储介质、机器可读介质或计算机可读(存储)介质的其他示例包括但不限于可记录类型介质,诸如易失性和非易失性存储器设备、软盘和其他可移动磁盘、硬盘驱动器、光盘(例如,光盘只读存储器(CD ROM)、数字通用盘(DVD)等)等以及诸如数字和模拟通信链路的传输类型介质。 [0234] 除非上下文明确要求,否则在整个说明书和权利要求书中,词语“包括”、“包含”等应以包含性的含义来解释,而不是排他性或穷举性的含义;也就是说,在“包括但不限于”的意义上。如本文所使用的,术语“连接”、“耦合”或其任何变体意指两者或更多元素之间的任何直接或间接连接或耦合;元素之间的连接的耦合可以是物理的、逻辑的或其组合。另外,当在本申请中使用时,词语“在这里”、“上方”、“下方”和类似含义的词语应当指代本申请的整体而不是本申请的任何特定部分。在上下文允许的情况下,使用单数或复数的上述具体实施方式中的词语也可以分别包括复数或单数。单词“或”参考两个或多个项目的列表涵盖了该单词的所有以下解释:列表中的任何项目、列表中的所有项目以及列表中的项目的任何组合。 [0235] 本公开的实施例的以上详细描述并非旨在穷举或将教导限制为上文公开的精确形式。虽然以上出于说明性目的描述了本公开的特定实施例和示例,但是如相关领域的技术人员将认识到的,在本公开的范围内可以进行各种等同修改。例如,虽然以给定顺序呈现过程或块,但是备选实施例可以执行具有步骤的例程,或者采用具有不同顺序的块的系统,并且可以删除、移动、添加、细分、组合和/或修改一些过程或块,以提供替代或子组合。这些过程或块中的每一个可以以各种不同的方式实现。而且,虽然有时将过程或块示出为串行执行,但是这些过程或块可以替代地并行执行,或者可以在不同时间执行。此外,本文中提到的任何具体数字仅是示例:替代实施可以采用不同的值或范围。 [0236] 本文提供的本公开的教导可以应用于其他系统,不一定是上述系统。可以组合上述各种实施例的元素和动作以提供进一步的实施例。 [0237] 上面提到的任何专利和申请以及其他参考文献,包括可能在随附的文件中列出的任何参考文献,都通过引用结合在此。如果需要,可以修改本公开的方面以采用上述各种参考的系统、功能和概念来提供本公开的又一些实施例。 [0238] 根据以上详细描述,可以对本公开做出这些和其他改变。虽然以上描述描述了本公开的某些实施例,并且描述了预期的最佳模式,但无论上文在文本中如何详细描述,该教导可以以多种方式实践。系统的细节在其实现细节方面可以有很大不同,同时仍然包含在本文公开的主题中。如上所述,在描述本公开的某些特征或方面时使用的特定术语不应被视为暗示本文中重新定义术语以限于与该术语相关联的本公开的任何特定特性、特征或方面。通常,以下权利要求中使用的术语不应被解释为将本公开限制于说明书中公开的特定实施例,除非上述具体实施方式部分明确地定义了这些术语。因此,本公开的实际范围不仅包括所公开的实施例,还包括在权利要求下实践或实现本公开的所有等同方式。 [0239] 从前述内容可以理解,本文已经出于说明的目的描述了所公开技术的特定实施例,但是在不脱离实施例的精神和范围的情况下可以进行各种修改。