CN108604183B - 用于高效同时使用的存储器映像的复制 - Google Patents

用于高效同时使用的存储器映像的复制 Download PDF

Info

Publication number
CN108604183B
CN108604183B CN201780011743.0A CN201780011743A CN108604183B CN 108604183 B CN108604183 B CN 108604183B CN 201780011743 A CN201780011743 A CN 201780011743A CN 108604183 B CN108604183 B CN 108604183B
Authority
CN
China
Prior art keywords
memory
copy
image
memory image
function
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
Application number
CN201780011743.0A
Other languages
English (en)
Other versions
CN108604183A (zh
Inventor
E.拉克林
A.克里什纳墨菲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honeywell International Inc
Original Assignee
Honeywell International Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honeywell International Inc filed Critical Honeywell International Inc
Publication of CN108604183A publication Critical patent/CN108604183A/zh
Application granted granted Critical
Publication of CN108604183B publication Critical patent/CN108604183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/151Emulated environment, e.g. virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/285Redundant cache memory
    • G06F2212/286Mirrored cache memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Image Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种装置,包括计算架构(200、300),所述计算架构(200、300)具有包括第一存储器(212、214)和第二存储器(326)的多个存储器。多个存储器被配置成存储存储器映像的多个副本,所述存储器映像的多个副本包括第一副本(216a、328a)和第二副本(216b、328b),其中存储器映像包含要由计算架构执行的指令和要由计算架构使用的数据。计算架构可以被配置成执行包括第一功能和第二功能的多个功能。第一存储器可以被定位在计算架构内,使得存储器映像的第一副本位于对第一功能而言是更高效的第一位置中。第二存储器可以被定位在计算架构中,使得存储器映像的第二副本位于对第二功能而言是更高效的第二位置中。

Description

用于高效同时使用的存储器映像的复制
技术领域
本公开一般地涉及计算设备。更具体地,本公开涉及用于高效同时使用的存储器映像的复制。
背景技术
工业过程控制与自动化系统通常被用于使大而且复杂的工业过程自动化。这些类型的系统常规地包括传感器、致动器和控制器。控制器通常从传感器接收测量结果并且生成用于致动器的控制信号。经常,控制器或其他计算设备使用存储器映像,所述存储器映像包含要由计算设备执行的处理指令和要由计算设备使用的数据二者。
发明内容
本公开涉及用于高效同时使用的存储器映像的复制。
在第一实施例中,一种装置,包括具有多个存储器的计算架构,所述多个存储器包括第一存储器和第二存储器。多个存储器被配置成存储包括第一副本和第二副本的存储器映像的多个副本,其中存储器映像包含要由计算架构执行的指令和要由计算架构使用的数据。
在第二实施例中,一种方法,包括将存储器映像的多个副本存储在计算架构的多个存储器中,所述存储器映像的多个副本包括第一副本和第二副本。多个存储器包括第一存储器和第二存储器。存储器映像包含要由计算架构执行的指令和要由计算架构使用的数据。方法还包括使用存储器映像的多个副本来执行计算架构的多个功能。多个功能包括使用存储器映像的第一副本的第一功能和使用存储器映像的第二副本的第二功能。
在第三实施例中,一种装置,包括至少一个处理设备,其被配置成执行指令。装置还包括接口卡,其被配置成通过网络来通信并且与至少一个处理设备通信。装置进一步包括多个存储器,所述多个存储器包括第一存储器和第二存储器。多个存储器被配置成存储存储器映像的多个副本,其中存储器映像包含要由至少一个处理设备执行的指令和要由至少一个处理设备使用的数据。第一存储器被更靠近于至少一个处理设备来定位或者被定位在至少一个处理设备内,并且被配置成存储存储器映像的副本中的第一个,以及至少一个处理设备被配置成使用存储器映像的第一副本来执行指令。第二存储器被定位在接口卡内并且被配置成存储存储器映像的副本中的第二个,以及接口卡被配置成使用存储器映像的第二副本来向网络以及从网络传递数据。
根据以下附图、说明书和权利要求,其他技术特征对本领域技术人员来说可以是容易显而易见的。
附图说明
为了对本公开的更完整的理解,现在结合附图参考以下描述,其中:
图1图示了根据本公开的示例工业过程控制与自动化系统;
图2图示了根据本公开的支持用于高效同时使用的存储器映像的复制的示例计算设备;
图3图示了根据本公开的支持用于高效同时使用的存储器映像的复制的计算设备的具体示例;以及
图4图示了根据本公开的针对用于高效同时使用的存储器映像的复制的示例方法。
具体实施方式
以下讨论的图1到4以及用于在本专利文档中描述本发明的原理的各种实施例仅作为说明,并且不应当以任何方式被解释为限制本发明的范围。本领域技术人员将理解,本发明的原理可以在任何类型的适当布置的设备或系统中实现。
图1图示了根据本公开的示例工业过程控制与自动化系统100。如在图1中示出的那样,系统100包括促进至少一个产品或其他材料的生产或处理的各种部件。例如,系统100此处被用于促进对一个或多个车间101a-101n中的部件的控制。每个车间101a-101n表示一个或多个处理设施(或者其一个或多个部分),诸如用于生产至少一个产品或其他材料的一个或多个制造设施。通常,每个车间101a-101n可以实现一个或多个过程,并且可以单独地或者集体地被称为过程系统。过程系统通常表示配置成以某种方式处理一个或多个产品或其他材料的任何系统或其部分。
在图1中,使用过程控制的Purdue模型来实现系统100。在Purdue模型中,“层级0”可以包括一个或多个传感器102a和一个或多个致动器102b。传感器102a和致动器102b表示可以执行各种各样的功能中的任一个的过程系统中的部件。例如,传感器102a可以测量过程系统中的各种各样的特性,诸如,温度、压力或流速。此外,致动器102b可以变更过程系统中的各种各样的特性。传感器102a和致动器102b可以表示任何合适的过程系统中的任何其他或附加的部件。传感器102a中的每个包括用于测量过程系统中的一个或多个特性的任何合适的结构。致动器102b中的每个包括用于在过程系统中的一个或多个条件下操作或者影响过程系统中的一个或多个条件的任何合适的结构。
至少一个网络104被耦合到传感器102a和致动器102b。网络104促进与传感器102a和致动器102b的交互。例如,网络104可以将来自传感器102a的测量数据传输到致动器102b并且向致动器102b提供控制信号。网络104可以表示任何合适的网络或者网络的组合。作为特定示例,网络104可以表示以太网网络、电气信号网络(诸如,HART或者FOUNDATIONFIELDBUS网络)、气动控制信号网络或者任何其他或附加的(一个或多个)类型的(一个或多个)网络。
在Purdue模型中,“层级1”可以包括一个或多个控制器106a-106b,所述一个或多个控制器106a-106b被耦合到网络104。除其他之外,控制器106a-106b中的每个还可以使用来自一个或多个传感器102a的测量结果来控制一个或多个致动器102b的操作。例如,每个控制器106a-106b可以从一个或多个传感器102a接收测量数据并且使用测量数据来生成用于一个或多个致动器102b的控制信号。多个控制器106a-106b还可以在冗余配置中操作,诸如,当一个控制器106a作为主要控制器操作同时另一个控制器106b作为备用控制器(其与主要控制器同步并且可以在关于主要控制器的故障的情况下接管主要控制器)操作时。每个控制器106a-106b包括用于与一个或多个传感器102a交互和控制一个或多个致动器102b的任何合适的结构。每个控制器106a-106b可以例如表示多变量控制器,诸如,鲁棒型多变量预测控制技术(RMPCT)控制器或者实现模型预测控制(MPC)或其他高级预测控制(APC)的其他类型的控制器。作为特定示例,每个控制器106a-106b可以表示运行实时操作系统的计算设备。
两个网络108被耦合到控制器106a-106b。网络108促进与控制器106a-106b的交互,诸如通过向控制器106a-106b以及从控制器106a-106b传输数据来促进与控制器106a-106b的交互。网络108可以表示任何合适的网络或者网络的组合。作为特定示例,网络108可以表示以太网网络的对或者以太网网络的冗余的对,诸如,来自HONEYWELL国际公司的容错以太网(FAULT TOLERANT ETHERNET)(FTE)网络。
至少一个交换机/防火墙110将网络108耦合到两个网络112。交换机/防火墙110可以从一个网络向另一个传输业务。交换机/防火墙110还可以阻挡一个网络上的业务到达另一个网络。交换机/防火墙110包括用于提供网络之间的通信的任何合适的结构,诸如HONEYWELL CONTROL FIREWALL(CF9)设备。网络112可以表示任何合适的网络,诸如,以太网网络的对或者FTE网络。
在Purdue模型中,“层级2”可以包括耦合到网络112的一个或多个机器级控制器114。机器级控制器114执行各种功能来支持可以与特定件工业仪器(诸如,锅炉或其他机器)相关联的控制器106a-106b、传感器102a和制动器102b的操作和控制。例如,机器级控制器114可以日志记录(log)由控制器106a-106b收集或生成的信息,诸如,来自传感器102a的测量数据或者用于致动器102b的控制信号。机器级控制器114还可以执行控制控制器106a-106b的操作的应用,由此控制致动器102b的操作。此外,机器级控制器114可以提供对控制器106a-106b的安全访问。机器级控制器114中的每个包括用于提供对机器或其他各件仪器的访问、机器或其他各件仪器的控制或与机器或其他各件仪器相关的操作的任何合适的结构。机器级控制器114中的每个可以例如表示运行MICROSOFT WINDOWS操作系统的服务器计算设备。尽管未示出,但是可以使用不同的机器级控制器114来控制过程系统中的不同件仪器(其中每件仪器与一个或多个控制器106a-106b、传感器102a和致动器102b相关联)。
一个或多个操作员站116被耦合到网络112。操作员站116表示提供对机器级控制器114的用户访问的计算或通信设备,其然后可以提供对控制器106a-106b(以及可能地传感器102a和致动器102b)的用户访问。作为特定示例,操作员站116可以允许用户使用由控制器106a-106b和/或机器级控制器114收集的信息来回顾传感器102a和致动器102b的操作历史。操作员站116还可以允许用户调节传感器102a、致动器102b、控制器106a-106b或者机器级控制器114的操作。此外,操作员站116可以接收和显示由控制器106a-106b或机器级控制器114生成的警告、警报或者其他消息或显示。操作员站116中的每个包括用于支持系统100中的一个或多个部件的用户访问和控制的任何合适的结构。操作员站116中的每个可以例如表示运行MICROSOFT WINDOWS操作系统的计算设备。
至少一个交换机/防火墙118将网络112耦合到两个网络120。交换机/防火墙118包括用于提供网络之间的通信的任何合适的结构,诸如,安全交换机或者组合交换机/防火墙。网络120可以表示任何合适的网络,诸如,以太网网络的对或者FTE网络。
在Purdue模型中,“层级3”可以包括耦合到网络120的一个或多个单元级控制器122。每个单元级控制器122通常与过程系统中的单元相关联,所述过程系统表示一起操作以实现过程的至少部分的不同机器的集合。单元级控制器122执行各种功能以支持对较低层级中的部件的操作和控制。例如,单元级控制器122可以日志记录由较低层级中的部件收集或生成的信息,执行控制较低层级中的部件的应用,并且提供对较低层级中的部件的安全访问。单元级控制器122中的每个包括用于提供对一个或多个机器或者过程单元中的其他件仪器的访问、一个或多个机器或者过程单元中的其他件仪器的控制或与一个或多个机器或者过程单元中的其他件仪器相关的操作的任何合适的结构。单元级控制器122中的每个可以例如表示运行MICROSOFT WINDOWS操作系统的服务器计算设备。尽管未示出,但是可以使用不同的单元级控制器122来控制过程系统中的不同单元(其中每个单元与一个或多个机器级控制器114、控制器106a-106b、传感器102a和致动器102b相关联)。
对单元级控制器122的访问可以由一个或多个操作员站124提供。操作员站124中的每个包括用于支持系统100中的一个或多个部件的用户访问和控制的任何合适的结构。操作员站124中的每个可以例如表示运行MICROSOFT WINDOWS操作系统的计算设备。
至少一个路由器/防火墙126将网络120耦合到两个网络128。路由器/防火墙126包括用于提供网络之间的通信的任何合适的结构,诸如,安全路由器或者组合路由器/防火墙。网络128可以表示任何合适的网络,诸如,以太网网络的对或者FTE网络。
在Purdue模型中,“层级4”可以包括耦合到网络128的一个或多个车间级控制器130。每个车间级控制器130通常与车间101a-101n中的一个相关联,所述车间101a-101n可以包括实现相同、相似或不同过程的一个或多个过程单元。车间级控制器130执行各种功能来支持较低层级中的部件的操作和控制。作为特定示例,车间级控制器130可以执行一个或多个制造执行系统(MES)操作、调度应用或者其他或附加的车间或过程控制应用。车间级控制器130中的每个包括用于提供对过程车间中的一个或多个过程单元的访问、过程车间中的一个或多个过程单元的控制或与过程车间中的一个或多个过程单元相关的操作的任何合适的结构。车间级控制器130中的每个可以例如表示运行MICROSOFT WINDOWS操作系统的服务器计算设备。
对车间级控制器130的访问可以由一个或多个操作员站132提供。操作员站132中的每个包括用于支持系统100中的一个或多个部件的用户访问和控制的任何合适的结构。操作员站132中的每个可以例如表示运行MICROSOFT WINDOWS操作系统的计算设备。
至少一个路由器/防火墙134将网络128耦合到一个或多个网络136。路由器/防火墙134包括用于提供网络之间的通信的任何合适的结构,诸如安全路由器或者组合路由器/防火墙。网络136可以表示任何合适的网络,诸如,企业范围的以太网或者其他网络或者更大的网络(诸如,因特网)的全部或部分。
在Purdue模型中,“层级5”可以包括耦合到网络136的一个或多个企业级控制器138。每个企业级控制器138通常能够执行对多个车间101a-101n的计划操作并且能够控制车间101a-101n的各种方面。企业级控制器138还可以执行各种功能来支持车间101a-101n中的部件的操作和控制。作为特定示例,企业级控制器138可以执行一个或多个订单处理应用、企业资源计划(ERP)应用、高级计划与调度(APS)应用或者任何其他或附加的企业控制应用。企业级控制器138中的每个包括用于提供对一个或多个车间的控制的访问、一个或多个车间的控制的控制或与一个或多个车间的控制相关的操作的任何合适的结构。企业级控制器138中的每个可以例如表示运行MICROSOFT WINDOWS操作系统的服务器计算设备。在本文档中,术语“企业”指代具有要管理的一个或多个车间或其他处理设施的组织。注意,如果要管理单个车间101a,企业级控制器138的功能可以被并入到车间级控制器130中。
对企业级控制器138的访问可以由一个或多个操作员站140提供。操作员站140中的每个包括用于支持系统100中的一个或多个部件的用户访问和控制的任何合适的结构。操作员站140中的每个可以例如表示运行MICROSOFT WINDOWS操作系统的计算设备。
Purdue模型的各种层级可以包括其他部件,诸如一个或多个数据库。与每个层级相关联的(一个或多个)数据库可以存储与该层级或者系统100的一个或多个其他层级相关联的任何合适的信息。例如,历史记录器(historian)142可以被耦合到网络136。历史记录器142可以表示存储关于系统100的各种信息的部件。历史记录器142可以例如存储在生产调度和优化期间使用的信息。历史记录器142表示用于存储和促进信息的取回的任何合适的结构。尽管示出为耦合到网络136的单个集中式部件,但是历史记录器142可以位于系统100中的其他地方,或者多个历史记录器可以被分布在系统100中的不同位置中。
在特定实施例中,图1中的各种控制器和操作员站可以表示计算设备。例如,控制器和操作员站中的每个可以包括一个或多个处理设备以及用于存储指令和由(一个或多个)处理设备使用、生成或收集的数据的一个或多个存储器。指令和由控制器或其他设备使用的数据可以采取包含指令和数据二者的存储器映像的形式。控制器和操作员站中的每个还可以包括至少一个网络接口,诸如一个或多个以太网接口或者无线收发器。
如以上指出的那样,控制器或其他计算设备可以使用存储器映像,所述存储器映像包含要由计算设备执行的处理指令和要由计算设备使用的数据二者。经常,设计者或其他人员面临着决定在计算架构内将存储器映像定位到哪里的问题。取决于存储器映像被定位的地方,涉及存储器映像的一些操作将是更加高效的,而涉及存储器映像的其他操作将是较不高效的。在许多情况下,在架构中不存在存储器映像可以被放置的对于大多数或所有操作都高效的单个位置。在常规架构中,设计者或其他人员通常通过在可以针对要被执行的各种操作实现的不同等级的效率之间进行权衡来选择用于存储器映像的位置。然而,以该方式做出的任何选择是妥协,一些操作对于其而言是低效的,这显然是不期望的情况。
根据本公开,控制器或其他计算设备包含相同存储器映像的多个副本或者具有对相同存储器映像的多个副本的访问,并且存储器映像的不同副本位于计算架构内的不同位置处。这允许通过针对不同操作将存储器映像的不同副本定位在不同位置中来实现操作的更高效率。每当要执行操作时,可以在对于该操作而言是最高效的特定存储器映像副本上执行所述操作。
作为示例,考虑被用于机器指令执行和输入/输出(I/O)数据的缓冲二者的存储器映像的区。存储器映像的一个副本可以更靠近于指令执行功能来存储,使得可以更加快速地取出指令,这导致更快的执行时间。同时,存储器映像的另一个副本可以被存储在一个或多个I/O设备附近的架构边缘处。这导致与使用更靠近于指令执行功能的存储器映像相比的潜在地更高的数据传输速度。
以下提供关于存储器映像的多个副本的使用的附加细节。以下还描述了可以被用于帮助确保存储器映像的多个副本由不同部件适当地使用的各种技术。
尽管图1图示了工业过程控制与自动化系统100的一个示例,但是可以对图1做出各种改变。例如,系统100可以包括任何数量的传感器、致动器、控制器、服务器、操作员站、网络和其他部件。此外,图1中的系统100的构成和布置仅用于说明。根据特定需要,可以添加、省略、组合或者在任何其他合适的配置中放置部件。另外,已经将特定功能描述为由系统100的特定部件执行。这仅用于说明。通常,控制与自动化系统是高度可配置的并且可以根据特定需要以任何合适的方式来配置。此外,图1图示了其中可以支持存储器映像的复制的一个示例操作环境。该功能可以在任何其他合适的系统中使用,并且系统不需要与工业过程控制与自动化相关。
图2图示了根据本公开的支持用于高效同时使用的存储器映像的复制的示例计算设备200。在图2中示出的计算设备200可以例如表示在图1中示出并且在上文描述的控制器、操作员站或其他计算设备中的任一个。然而,计算设备200可以被用于支持任何其他合适的功能,并且可以或者可以不与工业过程控制和自动化系统结合地使用。
如在图2中示出的那样,计算设备200包括总线系统202,所述总线系统202支持至少一个处理设备204、至少一个存储设备206、至少一个通信单元208和至少一个I/O单元210之间的通信。处理设备204执行可以被加载到存储器212中的指令。处理设备204可以包括以任何合适的布置的(一个或多个)任何适合数量和(一个或多个)类型的处理器或其他设备。处理设备204的示例类型包括微处理器、微控制器、数字信号处理器、现场可编程门阵列、专用集成电路以及分立电路。
存储器212和持久存储设备214是表示能够存储和促进信息(诸如,在临时或永久基础上的数据、程序代码和/或其他合适的信息)的取回的任何(一个或多个)结构的存储设备206的示例。存储器212可以表示随机存取存储器或者任何其他合适的(一个或多个)易失性或非易失性存储设备。持久存储设备214可以包含支持数据的更长期存储的一个或多个部件或设备,诸如只读存储器、硬盘驱动器、闪存或光盘。
通信单元208支持与其他系统或设备的通信。例如,通信单元208可以包括促进通过网络的通信的网络接口卡或无线收发器。通信单元208可以支持通过任何合适的(一个或多个)物理或无线通信链路的通信。
I/O单元210允许数据的输入和输出。例如,I/O单元210可以提供连接,用于通过键盘、鼠标、小键盘、触摸屏或其他合适的输入设备的用户输入。I/O单元210还可以向显示器、打印机或其他合适的输出设备发送输出。此外,I/O单元210可以支持与各种其他I/O设备的通信和交互。
至少一个存储器映像的多个副本216a-216b可以在计算设备200中使用。例如,存储器映像的一个副本216a可以被存储在处理设备204的内部存储器中或者在存储设备206中的一个或多个(诸如存储器212)中。存储器映像的另一个副本216b可以被存储在通信单元208或者I/O单元210中。副本216a可以更靠近(逻辑上)于处理设备204提供以便支持包含在存储器映像中的指令的更快执行。副本216b可以更靠近(逻辑上)于参加利用外部设备或系统的输入或输出的计算设备200的部件提供以便支持更快的数据传递。然而,注意,存储器映像的任何数量的副本可以被用于支持计算设备中的任何合适的功能。
尽管图2图示了支持用于高效同时使用的存储器映像的复制的计算设备200的一个示例,但是可以对图2做出各种改变。例如,计算设备可以以各种各样的配置出现。在图2中示出的计算设备意在用于说明一个示例实现并且不将本公开限制于特定类型的计算设备。
图3图示了根据本公开的支持用于高效同时使用的存储器映像的复制的计算设备300的具体示例。如在图3中示出的那样,计算设备300的该特定示例包括在计算机硬件(诸如处理设备204)上运行的仿真架构302。计算设备300还包括接口卡304,所述接口卡304促进经由介质访问单元(MAU)308对本地控制网络(LCN)306访问和通过本地控制网络(LCN)306的通信。
仿真架构302包括被用于在另一类型的处理器(诸如INTEL x86处理器)上对具体类型的处理器(在该示例中的MOTOROLA 68040处理器)仿真的仿真框架。框架包括内核仿真器310、指令仿真器312和I/O仿真器314。如名称暗示的那样,内核仿真器310被用于仿真所谓的内核功能(通常不由主处理器执行的计算功能,下面列举其示例)。此外,指令仿真器312被用于对处理器上的指令的执行仿真,并且I/O仿真器314被用于对处理器上的输入和输出操作仿真。
取决于被仿真的具体内核,内核仿真器310可以包括各种类型的仿真。例如,内核仿真器310可以包括用于68040处理器的通用异步接收器/发送器(UART)仿真器316和时钟仿真器318。UART仿真器316被用于对68040处理器的UART接口仿真,而时钟仿真器318被用于对68040处理器的时钟源仿真。
指令仿真器312被用于实现未在内核仿真器310内执行的各种指令。例如,指令仿真器312可以被用于执行传统源代码中的各种指令以便对68040处理器上的传统源代码的执行仿真。在一些实施例中,指令仿真器312可以表示来自MICROAPL公司的指令仿真器。
I/O仿真器320被用于仿真一个或多个I/O接口。在该示例中,I/O仿真器320包括小型计算机系统接口(SCSI)设备仿真器320和HONEYWELL PDG视频设备仿真器322。这些仿真器320和322被用于仿真通常用于68040处理器的不同类型的输入和输出接口。然而,注意,还可以将其他或附加的I/O仿真器实现为I/O仿真器320的部分。
仿真器310-314传送并且交换访问通知和中断通知。访问通知被用来指示一个仿真器需要访问与另一个仿真器相关联的数据或其他信息。中断通知由一个仿真器使用来通知另一个仿真器已经发生中断,使得另一个仿真器可以响应于中断而采取合适的动作。
接口卡304在该示例中包括门阵列324和存储器326。门阵列324起提供去往外部网络(在该情况下,LCN)的物理连接的作用。存储器326被用来存储流过接口卡304的数据。门阵列324包括提供去往外部网络的连接的任何合适的电路。存储器326包括用于存储和促进信息的取回的任何合适的结构,诸如动态随机存取存储器(DRAM)。
在该示例中,在架构的不同位置处提供存储器映像的多个副本328a-328b。特别地,存储器映像的一个副本328a作为指令仿真器312的部分来提供。因为仿真器312负责仿真处理器上的指令的执行,所以指令仿真器312内的存储器映像副本328a的存在帮助加速指令的执行。存储器映像的另一个副本328b作为接口卡304的部分来提供,诸如在接口卡304的存储器326内。因为接口卡304被用于促进经由存储器映像将I/O数据传递到LCN 306以及从LCN 306传递,所以接口卡304内的存储器映像副本328b的存在帮助加速通过接口卡304的数据传递。
因为在图2和3中存在相同存储器映像的多个副本,所以可以使用一种机制来确保访问存储器映像的副本的每个部件正从该副本获得有效数据。可以使用各种技术来帮助确保存储器映像的多个副本216a-216b、328a-328b由不同部件适当地使用。下文描述了示例技术,尽管还可以使用其他技术。
一种技术涉及将涉及存储器映像的读操作引导至存储器映像的最靠近副本以及将写操作引导至存储器映像的所有副本。在该方法中,当从存储器映像读数据时,可以将读请求提供给最靠近于请求数据的部件的存储器映像的副本。因此,在图2中,来自处理设备204的读请求可以被引导至存储器映像的副本216a,而来自通信单元208或者I/O单元210的读请求可以被引导至存储器映像的副本216b。来自处理设备204、通信单元208或者I/O单元210的写请求可以被引导至存储器映像的两个副本216a-216b。在图3中,来自指令仿真器312的读请求可以被引导至存储器映像的副本328a,而来自接口卡304的读请求可以被引导至存储器映像的副本328b。来自指令仿真器312或者接口卡304的写请求可以被引导至存储器映像的两个副本328a-328b。
另一种技术涉及将存储器映像的总存储器空间划分为组块(chunk)。对存储器映像的访问(读操作和写操作二者)然后可以基于正被访问的组块来被引导至存储器映像的一个且仅一个副本。该方法在以下假设之下操作:将使用存储器映像副本中的单个存储器映像副本来访问存储器映像的任何给定区。连续地或者在各种时间点处,不同存储器映像副本中的存储器映像组块的内容可以被基本上同步,使得例如可以在正使用不同存储器映像副本操作的不同部件之间传递数据。
第二方法的特定示例可以如下发生。可以允许内核仿真器310访问存储器映像副本328a的存储器位置$E000-$FFFF,并且内核仿真器310可以遮蔽与内核的操作相关联的任何内核寄存器。可以允许I/O仿真器314访问存储器映像副本328a的存储器位置$40000-$4FFFF,并且I/O仿真器314可以遮蔽与输入或输出操作相关联的任何I/O寄存器。此外,可以允许接口卡304访问存储器映像副本328b的存储器位置$80000以及以上。以该方式,不同部件能够访问和使用存储器映像的不同部分。
实现第二方法的一种具体方式是拦截所有存储器映像读和写请求并且将被访问的相关联的存储器地址分类为诸如“可执行代码”、“栈存储器”、“堆存储器”和“I/O地址空间”之类的种类。对于每个请求,基于该请求的种类,可以选择和访问存储器映像副本中的一个,这帮助确保对存储器映像的公共区的访问使用存储器映像的相同副本来发生。可以直接或者通过偏移来对存储器映像副本访问,所述偏移唯一地瞄准总架构内的各种存储器映像位置。虚拟存储器偏移是用于在支持虚拟寻址的系统中实现此的一种方式。在没有虚拟寻址的系统中,索引寄存器可以提供需要的偏移以瞄准存储器映像中的各个区域。
注意,在任一种方法中,各种信息可以在指令仿真器312与接口卡304之间交换,诸如寄存器访问、DRAM访问、输入-输出时钟块(IOCB)和缓冲器。这是因为通过LCN 308传递的数据流过接口卡304去往仿真架构302以及从仿真架构302流过接口卡304,所以在仿真架构302与接口卡304之间需要数据传递。然而,不存在对在指令仿真器312与接口卡304之间交换指令的需要,因为每个部件312、304具有对指令的本地访问。
尽管图3图示了支持用于高效同时使用的存储器映像的复制的计算设备300的一个具体示例,但是可以对图3做出各种改变。例如,图3中的各种部件可以被组合、进一步细分或者省略,并且可以根据特定需要来添加附加部件。此外,尽管图3图示了涉及68040处理器的一个具体仿真,但是还可以支持涉及不同处理器的任何其他合适的仿真。此外,可以在没有仿真的计算设备中使用存储器映像的副本。
图4图示了根据本公开的针对用于高效同时使用的存储器映像的复制的示例方法400。为了易于解释,关于图2和3的计算设备200和300来描述方法400,尽管方法400可以用于任何其他合适的设备以及在任何合适的系统中使用。
如在图4中示出的那样,在步骤402处,存储器映像的多个副本被存储在计算架构中的多个位置处。这可以包括例如将存储器映像的多个副本216a-216b、328a-328b存储在其中要执行计算架构中的不同功能的不同位置处。不同功能可以包括处理或分析功能、输入/输出功能或者其他功能。
在步骤404处从第一源接收用于访问存储器映像的第一读/写请求,并且在步骤406处将第一读/写请求引导至存储器映像副本中的至少一个。这可以包括例如处理设备204或者指令仿真器312发布用于从存储器映像的一个或多个存储器位置读数据或者向存储器映像的一个或多个存储器位置写数据的请求。这还可以包括系统将读请求引导至存储器映像的最靠近副本216a、328a或者将写请求引导至存储器映像的所有副本216a-216b、328a-328b。这可以进一步包括系统标识与第一读/写请求相关联的存储器映像组块以及将第一读/写请求引导至其中可以访问该组块的存储器映像的副本。
在步骤408处从第二源接收用于访问存储器映像的第二读/写请求,并且在步骤410处将第二读/写请求引导至存储器映像副本中的至少另一个。这可以包括例如通信单元208、I/O单元210或者接口卡304发布用于从存储器映像的一个或多个存储器位置读数据或者向存储器映像的一个或多个存储器位置写数据的请求。这还可以包括系统将读请求引导至存储器映像的最靠近副本216b、328b或者将写请求引导至存储器映像的所有副本216a-216b、328a-328b。这可以进一步包括系统标识与第二读/写请求相关联的存储器映像组块以及将第二读/写请求引导至其中可以访问该组块的存储器映像的副本。
以该方式,存储器映像的不同副本可以基于例如要使用存储器映像执行的功能来存储在多个位置处。因此,通过允许在对于操作而言是最高效的特定存储器映像副本上执行那些操作,可以使用存储器映像的多个副本来实现操作的更高效率。
尽管图4图示了针对用于高效同时使用的存储器映像的复制的方法400的一个示例,但是可以对图4做出各种改变。例如,尽管示出为一系列步骤,但是在图4中示出的各种步骤可以重叠、并行发生、以不同次序发生或者发生多次。此外,可以组合或者移除一些步骤,并且可以根据特定需要添加附加步骤。此外,可以在方法400中使用任何数量的存储器映像副本和请求源。
在一些实施例中,在本专利文档中描述的各种功能通过计算机程序来实现或者支持,所述计算机程序由计算机可读程序代码形成并且在计算机可读介质中实现。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够由计算机访问的任何类型的介质,诸如只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱动器、压缩盘(CD)、数字视频盘(DVD)或者任何其他类型的存储器。“非暂时性”计算机可读介质排除了传输暂时性电信号或其他信号的有线、无线、光学或其他通信链路。非暂时性计算机可读介质包括其中数据可以被永久存储的介质以及其中数据可以被存储并且之后被重写的介质,诸如可重写光盘或者可擦除存储器设备。
阐述贯穿本专利文档使用的某些词和短语的定义可能是有利的。术语“应用”和“程序”指代适用于以合适的计算机代码(包括源代码、目标代码或可执行代码)实现的一个或多个计算机程序、软件部件、指令的集合、过程、功能、对象、类别、实例、相关数据或其部分。术语“通信”以及其派生词包含直接和间接通信二者。术语“包括”和“包含”以及其派生词意味着包括而不限制。术语“或”是包含性的,意味着和/或。短语“与……相关联”以及其派生词可以意味着包括、被包括在……内、与……互连、包含、被包含在……内、连接到或与……连接、耦合到或与……耦合、是与……可通信的、与……合作、交错、并列、是接近于……的、被绑定到或与……绑定、具有、具有……的性质、与……有关或和……有关或者诸如此类。当与条目的列表一起使用时,短语“……中的至少一个”意味着可以使用列出的条目中的一个或多个的不同组合,并且可能需要列表中的仅一个条目。例如,“A、B和C中的至少一个”包括以下组合中的任一个:A、B、C、A和B、A和C、B和C以及A和B和C。
本申请中的描述不应被理解为暗示任何特定元素、步骤或功能是必须被包括在权利要求范围中的必要的或关键的元素。取得专利权的主题的范围仅由允许的权利要求来限定。此外,没有权利要求旨在关于所附权利要求或权利要求元素中的任一个援引35 U.S.C.§ 112(f),除非在特定权利要求中明确地使用确切的词“用于……的装置”或“用于……的步骤”,之后是标识功能的分词短语。诸如(但不限于)权利要求内的“机制”、“模块”、“设备”、“单元”、“部件”、“元素”、“构件”、“架构”、“装置”、“机器”、“系统”、“处理器”或“控制器”的术语的使用被理解并且旨在指代为相关领域中的技术人员所知的结构,如由权利要求本身的特征进一步修改或增强的那样,并且不旨在援引35 U.S.C. § 112(f)。
尽管本公开已经描述了某些实施例和通常相关联的方法,但是这些实施例和方法的变更和置换对本领域技术人员而言将是显而易见的。因此,示例实施例的以上描述不限定或约束本公开。在不脱离如由以下权利要求限定的本公开的范围的情况下,其他改变、代替和变更也是可能的。

Claims (7)

1.一种装置,包括:
包括多个存储器的计算架构,所述多个存储器包括第一存储器和第二存储器,其中多个存储器被配置成存储存储器映像的多个副本,所述存储器映像的多个副本包括第一副本和第二副本,存储器映像包含要由计算架构执行的指令和要由计算架构使用的数据,其中第一存储器被配置成存储存储器映像的第一副本并且第二存储器被配置成存储存储器映像的第二副本,计算架构被配置成执行包括指令执行功能和输入/输出功能的多个功能;
至少一个处理设备,其被配置成执行指令仿真器,所述指令仿真器被配置成使用存储器映像的第一副本来执行指令执行功能,第一存储器包括在指令仿真器内的存储器或者相较于第二存储器更靠近指令仿真器的存储器;以及
接口卡,其被配置成通过网络通信并且使用存储器映像的第二副本来执行输入/输出功能,第二存储器包括在接口卡内的存储器或者相较于第一存储器更靠近接口卡的存储器。
2.如权利要求1所述的装置,其中:
计算架构被配置成执行包括第一功能和第二功能的多个功能;
第一存储器被定位在计算架构中,使得存储器映像的第一副本位于对第一功能而言是更高效的第一位置中;以及
第二存储器被定位在计算架构中,使得存储器映像的第二副本位于对第二功能而言是更高效的第二位置中。
3.一种方法,包括:
将包括第一副本和第二副本的存储器映像的多个副本存储在计算架构的多个存储器中,所述多个存储器包括第一存储器和第二存储器,其中第一存储器存储存储器映像的第一副本并且第二存储器存储存储器映像的第二副本,存储器映像包含要由计算架构执行的指令和要由计算架构使用的数据,
使用存储器映像的多个副本来执行计算架构的多个功能,所述多个功能包括使用存储器映像的第一副本的第一功能和使用存储器映像的第二副本的第二功能,所述多个功能包括指令执行功能和输入/输出功能,其中第一功能对应于指令执行功能并且第二功能对应于输入/输出功能;
通过至少一个处理设备来执行指令仿真器,所述指令仿真器被配置成使用存储器映像的第一副本来执行指令执行功能,第一存储器包括在指令仿真器内的存储器或者相较于第二存储器更靠近指令仿真器的存储器;并且
接口卡通过网络通信并且使用存储器映像的第二副本来执行输入/输出功能,第二存储器包括在接口卡内的存储器或者相较于第一存储器更靠近接口卡的存储器。
4.如权利要求3所述的方法,进一步包括:
将与第一和第二功能相关的读和写存储器访问请求引导至第一和第二存储器。
5.如权利要求4所述的方法,其中引导读和写存储器访问请求包括:
将与第一功能相关的读存储器访问请求引导至第一存储器并且将与第一功能相关的写存储器访问请求引导至第一和第二存储器;以及
将与第二功能相关的读存储器访问请求引导至第二存储器并且将与第二功能相关的写存储器访问请求引导至第一和第二存储器。
6.如权利要求4所述的方法,其中引导读和写存储器访问请求包括针对每个存储器访问请求:
标识与存储器访问请求相关的存储器映像的部分;以及
基于存储器映像的标识的部分来将存储器访问请求引导至存储器映像的多个副本中的一个。
7.如权利要求4所述的方法,其中引导读和写存储器访问请求包括针对每个存储器访问请求:
将存储器访问请求分类为多个种类中的一个;
基于分类来选择存储器映像的多个副本中的一个;
将存储器访问请求引导至存储器映像的选择的副本;以及
直接地或者使用偏移来访问存储器映像的选择的副本中的存储器的部分。
CN201780011743.0A 2016-02-17 2017-01-20 用于高效同时使用的存储器映像的复制 Active CN108604183B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/045,947 US10466927B2 (en) 2016-02-17 2016-02-17 Replication of memory image for efficient simultaneous uses
US15/045947 2016-02-17
PCT/US2017/014398 WO2017142675A1 (en) 2016-02-17 2017-01-20 Replication of memory image for efficient simultaneous uses

Publications (2)

Publication Number Publication Date
CN108604183A CN108604183A (zh) 2018-09-28
CN108604183B true CN108604183B (zh) 2023-06-06

Family

ID=59562128

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780011743.0A Active CN108604183B (zh) 2016-02-17 2017-01-20 用于高效同时使用的存储器映像的复制

Country Status (6)

Country Link
US (1) US10466927B2 (zh)
EP (1) EP3417370B1 (zh)
JP (1) JP7053476B6 (zh)
CN (1) CN108604183B (zh)
AU (1) AU2017221140B2 (zh)
WO (1) WO2017142675A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10810086B2 (en) 2017-10-19 2020-10-20 Honeywell International Inc. System and method for emulation of enhanced application module redundancy (EAM-R)
US10783026B2 (en) 2018-02-15 2020-09-22 Honeywell International Inc. Apparatus and method for detecting network problems on redundant token bus control network using traffic sensor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102652308A (zh) * 2009-12-13 2012-08-29 国际商业机器公司 将数据高效地载入计算系统的存储器中

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728736B2 (en) * 2001-03-14 2004-04-27 Storage Technology Corporation System and method for synchronizing a data copy using an accumulation remote copy trio
JP2004005139A (ja) 2002-05-31 2004-01-08 Aplix Corp 中間コード実行装置
US7953819B2 (en) * 2003-08-22 2011-05-31 Emc Corporation Multi-protocol sharable virtual storage objects
JP2010182270A (ja) * 2009-02-09 2010-08-19 Toshiba Corp 携帯可能電子装置および携帯可能電子装置におけるデータ管理方法
JP2010191650A (ja) 2009-02-18 2010-09-02 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置及び制御方法
JP5452148B2 (ja) 2009-09-24 2014-03-26 三菱電機株式会社 メモリ制御システム
JP5199212B2 (ja) 2009-09-29 2013-05-15 富士通株式会社 プログラム生成方法およびシステムの動作方法
US9311262B2 (en) 2010-02-09 2016-04-12 Mitsubishi Electric Corporation Transmission control device, memory control device, and PLC including the transmission control device
WO2013140459A1 (en) * 2012-03-23 2013-09-26 Hitachi, Ltd. Method for accessing mirrored shared memories and storage subsystem using method for accessing mirrored shared memories
US9170948B2 (en) * 2012-12-23 2015-10-27 Advanced Micro Devices, Inc. Cache coherency using die-stacked memory device with logic die
US9734079B2 (en) * 2013-06-28 2017-08-15 Intel Corporation Hybrid exclusive multi-level memory architecture with memory management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102652308A (zh) * 2009-12-13 2012-08-29 国际商业机器公司 将数据高效地载入计算系统的存储器中

Also Published As

Publication number Publication date
CN108604183A (zh) 2018-09-28
WO2017142675A1 (en) 2017-08-24
JP7053476B6 (ja) 2022-05-16
AU2017221140B2 (en) 2022-01-27
EP3417370A4 (en) 2019-10-16
EP3417370B1 (en) 2021-07-28
US20170235520A1 (en) 2017-08-17
JP2019511772A (ja) 2019-04-25
US10466927B2 (en) 2019-11-05
EP3417370A1 (en) 2018-12-26
JP7053476B2 (ja) 2022-04-12
AU2017221140A1 (en) 2018-06-28

Similar Documents

Publication Publication Date Title
CN1318932C (zh) 用于自动确定程序的潜在蠕虫样行为的方法与装置
EP3469430B1 (en) System and method for legacy level 1 controller virtualization
US20170228225A1 (en) System and method for preserving value and extending life of legacy software in face of processor unavailability, rising processor costs, or other issues
CN108604183B (zh) 用于高效同时使用的存储器映像的复制
CN108604208B (zh) 用以促进与不可访问的输入/输出(i/o)设备的处理器通信的中继机制
WO2017222889A1 (en) System and method for identifying and managing defects in industrial process control and automation systems
US11574090B2 (en) System and method for simulating field device in industrial plant
US10810086B2 (en) System and method for emulation of enhanced application module redundancy (EAM-R)
US11709480B2 (en) System and method for automatic data classification for use with data collection system and process control system
US20200134507A1 (en) Distribution system, data management apparatus, data management method, and computer-readable recording medium
US9892011B2 (en) Apparatus and method for autodetection of HART devices over PROFIBUS
EP4369120A1 (en) Industrial automation data quality and analysis
EP4369119A1 (en) Industrial automation data staging and transformation
EP4369121A1 (en) Industrial data extraction
US20240160805A1 (en) Industrial asset model rollback

Legal Events

Date Code Title Description
PB01 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