DE112014004467T5 - Systeme und Verfahren zur automatisierten Inbetriebsetzung virtualisierter, verteilter Steuersysteme - Google Patents

Systeme und Verfahren zur automatisierten Inbetriebsetzung virtualisierter, verteilter Steuersysteme Download PDF

Info

Publication number
DE112014004467T5
DE112014004467T5 DE112014004467.9T DE112014004467T DE112014004467T5 DE 112014004467 T5 DE112014004467 T5 DE 112014004467T5 DE 112014004467 T DE112014004467 T DE 112014004467T DE 112014004467 T5 DE112014004467 T5 DE 112014004467T5
Authority
DE
Germany
Prior art keywords
network
virtual
host
configuration
host server
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.)
Pending
Application number
DE112014004467.9T
Other languages
English (en)
Inventor
Dirk Thiele
Forrest Stallings
Joel Nicholas Ohmart
Jessica Siu
Shaobo Qiu
Milena Ramirez Rojas Laura
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.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems 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 Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of DE112014004467T5 publication Critical patent/DE112014004467T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41845Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0883Semiautomatic configuration, e.g. proposals from system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31018Virtual factory, modules in network, can be selected and combined at will
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32345Of interconnection of cells, subsystems, distributed simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

Es werden Systeme und Verfahren zur automatisierten Inbetriebsetzung virtualisierter, verteilter Steuersysteme offenbart. Ein beispielhaftes Verfahren umfasst den Zugriff auf eine Datenstruktur, umfassend eine Liste von Konfigurationsnamen für Netzwerkkarten, die mit dem ersten und dem zweiten Host-Servern einer virtuellen Prozesssteuerumgebung verknüpft sind. Der erste und zweite Host-Server implementieren virtuelle Maschinen, die Workstations für ein Prozesssteuersystem entsprechen. Das beispielhafte Verfahren umfasst auch beim Konfigurieren des ersten Host-Servers das Zuteilen eines ersten Namens an eine erste der Netzwerkkarten, die mit dem ersten Host-Server verknüpft ist. Das beispielhafte Verfahren umfasst weiterhin beim Konfigurieren des zweiten Host-Servers das Zuteilen des ersten Namens an eine zweite der Netzwerkkarten, die mit dem zweiten Host-Server basierend auf einer Nutzerauswahl des ersten Namens der Liste von Konfigurationsnamen verknüpft ist. Der zweite Host-Server wird nach dem ersten Host-Server konfiguriert.

Description

  • VERWANDTE ANMELDUNG
  • Dieses Patent beansprucht die Priorität der US-Patentanmeldung Nr. 61/883,737, die am 27. September 2013 eingereicht wurde und die hiermit durch Querverweis vollständig einbezogen wird.
  • GEBIET DER OFFENBARUNG
  • Diese Offenbarung betrifft allgemein Prozesssteuersysteme und insbesondere Systeme und Verfahren zur automatisierten Inbetriebsetzung virtualisierter, verteilter Steuersysteme.
  • HINTERGRUND
  • Ein typisches Steuersystem umfasst ein Netz vieler Workstations, Server, Controller und I/O-Untersysteme. Einrichten und Warten vielfacher Systeme, die für Entwicklung, Tests, Training und Online-Produktion benötigt werden, kann teuer und zeitaufwändig sein. Unterstützung für diese Systeme wird weiter erschwert, wenn mehrere Software- und Hardware-Versionen zu warten sind; insbesondere, wenn Alt-Betriebssystem(OS)-Software nicht von neuerer Austausch-Hardware der Workstation unterstützt wird.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine schematische Darstellung eines beispielhaften Prozesssteuersystems, in dessen Umfang die Lehren dieser Offenbarung implementierbar sind.
  • 2 ist ein Blockdiagramm eines beispielhaften virtuellen Netzkonfigurationssystems zum Konfigurieren der virtuellen Prozesssteuerumgebung von 1.
  • 3 ist ein beispielhafter Konfigurationsdialog, der in Verbindung mit dem beispielhaften Konfigurationssystems für virtuelle Netzwerke von 2 verwendet wird.
  • 4 ist ein beispielhafter Konfigurationsdatenstruktur-Dialog, der in Verbindung mit dem Konfigurationssystems für virtuelle Netzwerke von 2 verwendet wird.
  • 5A und 5B stellen beispielhafte Konfigurationsdatenstrukturen dar, die in Verbindung mit dem beispielhaften Konfigurationssystems für virtuelle Netzwerke von 2 verwendet werden.
  • 6 ist ein beispielhafter Netzwerkkartenkonfigurationsdialog, der in Verbindung mit dem beispielhaften Konfigurationssystem für virtuelle Netzwerke von 2 verwendet wird.
  • 7 und 8 sind beispielhafte Netzwerkkartenkonfigurationsdialoge, die in Verbindung mit dem beispielhaften Konfigurationssystem für virtuelle Netzwerke von 2 verwendet wird.
  • 9 ist ein beispielhafter SAN-Konfigurationsdialog, der in Verbindung mit dem beispielhaften Konfigurationssystem für virtuelle Netzwerke in 2 verwendet wird.
  • 10 ist ein beispielhafter Netzwerkkartenkonfigurationsdialog, der in Verbindung mit dem beispielhaften Konfigurationssystem für virtuelle Netzwerke von 2 verwendet wird.
  • 11 ist ein beispielhafter Erstellungsdialog für virtuelle Maschinen, der in Verbindung mit dem beispielhaften Konfigurationssystem für virtuelle Netzwerke von 2 verwendet wird.
  • 12 stellt ein beispielhaftes visuelles Schema eines virtuellen Prozesssteuersystem-Netzes dar, das durch das beispielhafte Konfigurationssystem für virtuelle Netzwerke von 2 erstellt wird.
  • 13 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Implementieren des beispielhaften Konfigurationssystems für virtuelle Netzwerke von 2 darstellt, um die virtuelle Prozesssteuerumgebung von 1 zu konfigurieren.
  • 14 ist ein Flussdiagramm 1400, das ein beispielhaftes Verfahren zum Implementieren des beispielhaften Konfigurationssystems für virtuelle Netzwerke von 2 darstellt, um die Host-Server von 1 zu konfigurieren oder einzurichten.
  • 15 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Implementieren des beispielhaften Konfigurationssystems für virtuelle Netzwerke von 2 darstellt, um Netzwerkkarten der Host-Server von 1 zu konfigurieren.
  • 16 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Implementieren des beispielhaften Konfigurationssystems für virtuelle Netzwerke von 2 darstellt, um Netzwerkkarten zu konfigurieren, die mit den Host-Servern von 1 verknüpft sind.
  • 17 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Implementieren des beispielhaften Konfigurationssystems für virtuelle Netzwerke von 2 darstellt, um Netzwerkkarten zu konfigurieren, die mit den Host-Servern von 1 verknüpft sind.
  • 18 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Implementieren des beispielhaften Konfigurationssystems für virtuelle Netzwerke von 2 darstellt, um das SAN von 1 zu konfigurieren.
  • 19 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Implementieren des beispielhaften Konfigurationssystems für virtuelle Netzwerke von 2 darstellt, um den integrierten gemeinsamen Speicher von 1 zu konfigurieren.
  • 20 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Implementieren des beispielhaften Konfigurationssystems für virtuelle Netzwerke von 2 darstellt, um eine virtuelle Workstation in einer virtuellen Prozesssteuerumgebung zu erzeugen.
  • 21 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Implementieren des beispielhaften Konfigurationssystems für virtuelle Netzwerke von 2 darstellt, um ein virtuelles Prozesssteuersystem basierend auf einem bestehenden Prozesssteuersystem zu erzeugen.
  • 22 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Implementieren des beispielhaften Konfigurationssystems für virtuelle Netzwerke von 2 darstellt, um ein Netz eines bestehenden Prozesssteuersystems aufzufinden.
  • 23 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Implementieren des beispielhaften Konfigurationssystems für virtuelle Netzwerke von 2 darstellt, um ein visuelles Schema eines Prozesssteuersystemnetzes zu erzeugen.
  • 24 ist eine schematische Darstellung einer beispielhaften Prozessorplattform, die verwendet und/oder programmiert werden kann, um die beispielhaften Verfahren der 13 bis 23 auszuführen und/oder, allgemeiner, das beispielhafte Konfigurationssystem für virtuelle Netzwerke von 2 zu implementieren.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die Kombination technologischer Fortschritte in Computerarchitektur, Vernetzung und Virtualisierung hat die Entwicklung wirksamer, leicht handhabbarer virtualisierter Rechenumgebungen ermöglicht. Diese virtualisierten Umgebungen sind von IT-Abteilungen verwendet worden, um Kosten zu senken und die Systembetriebszeit zu verbessern. Einfach gesprochen, ist Virtualisierung ein Weg, einen Computer, einschließlich seines Betriebssystems und seiner Anwendungen, zu verkapseln, so dass er auf einem Host-Computer als ein Gast laufen kann, bezeichnet als eine virtuelle Maschine (VM). Es ist auch möglich, mehrere virtuelle Maschinen von einem Host-Computer zu betreiben. Eine virtuelle Maschine ist eine Datei, die alles Erforderliche zum Starten und Ausführen von Anwendungen enthält, mit Ausnahme von Hardware. Zum Betreiben einer virtuellen Maschine benötigt der Host-Computer typischerweise eine Virtualisierungssoftwareschicht (z.B. ein Hypervisor, wie Hyper-VTM von MicrosoftTM), die die Zuordnung zwischen der virtuellen Maschine und der Hardware des Host-Computers, umfassend Netzwerkverbindungen, USB-Ports und weitere Peripheriegeräte, bereitstellt.
  • Eine der größten Herausforderungen für den Erfolg virtueller Systeme, umfassend Prozesssteuersysteme, sind das anfängliche Einrichten und die laufende Wartung der Basisinfrastruktur. Das aktuelle Einsatzmodell eines Leitsystems (DCS), wie Delta VTM ohne Virtualisierung kann Hunderte von Computer-Workstations und Server-Knoten zusätzlich zu der proprietären Leitsystem-Hardware umfassen. Bei diesem Volumen von Computern wird es für Erstausrüster und/oder Händler (z.B. Dell) kosteneffektiv, Computer-Hardware vorzukonfigurieren. So werden z.B. Festplattenbilder in Verbindung mit dem Steuersystem-Händler erzeugt, die im Werk vor Versand der Computer-Hardware angewendet werden. Virtualisierung in mittlerem und großem Maßstab erfordert jedoch viele weitere Komponenten, die nicht abbildbar sind, wie z.B. Switch und/oder Storage-Area-Network (SAN). Im Ergebnis umfasst das Einrichten des Systems vor Ort durch Endkunden erhebliche IT-Betriebskosten. In anderen Worten, während Virtualisierung einfache Computereinrichtungs-Betriebskosten, wie das Routen von Ethernet, Monitor- und oder weiteren Computerkabeln und -Komponenten reduziert, geht die Virtualisierung mit erhöhten Betriebskosten für komplexe IT-Einrichtung einher, wie Konfigurieren von Switches für virtuelle Netzwerke, SAN-Geräte, VLANs (Virtual Local Area Networks) etc., die jegliche erwarteten Gewinne aus Virtualisierung in Bezug auf Installationsarbeitskosten aufwiegen. Zusätzlich bringt die Möglichkeit, ein komplexeres virtuelles Anwendungssystem zu diagnostizieren und zu warten, weitere damit verknüpfte Kosten mit sich.
  • Einer der komplexesten Schritte beim Einrichten eines hochverfügbaren virtualisierten DCS ist das Storage-Area-Network (SAN) und die Cluster-Konfiguration. Ein Cluster ist ein Netzwerk von Host-Servern, die das physische Rückgrat für das Implementieren des virtualisierten Prozesssteuersystems bereitstellen. Regelmäßig wird ein Cluster von Host-Servern konfiguriert, um an einen allgemeinen oder geteilten Speicherort (Festplatte) angeschlossen zu werden. Der Cluster ist so konfiguriert, dass jeder Host mit dem gemeinsamen Speicher interagiert, als wäre der Speicher in dem einzelnen Host beheimatet. Häufig ist der mit einem Cluster verbundene gemeinsame Speicher mit einer SAN-Vorrichtung (häufig zur Vereinfachung als SAN bezeichnet) implementiert, die Block Level Storage bereitstellt. Ein SAN-konfigurierter Cluster ermöglicht Hochverfügbarkeit derart, dass bei Ausfall eines Host-Servers eine virtuelle Maschine, die auf dem Host läuft, automatisch auf einem anderen Host-Server implementiert werden kann.
  • Häufig umfasst SAN- und Cluster-Konfiguration das Verdrahten jedes Host-Servers und der SAN-Vorrichtung gemäß dem Internet Small Computer System Interface(iSCSI)-Protokoll. Solche Konfigurationsverfahren sind anfällig für menschliche Fehler, weil es viele Gelegenheiten gibt, dass ein oder mehrere Kabel an einer falschen Schnittstelle angeschlossen werden, das Netzwerkkarten und/oder entsprechende Hosts inkonsistent gekennzeichnet oder markiert werden, dass Internet-Protocol(IP)-Informationen (z.B. IP-Adressen) falsch eingegeben werden (z.B. aufgrund eines Tippfehlers) etc. Aufgrund der technischen Natur der Konfiguration ist es nicht selten, dass ein Techniker mehrere Tage für das Einrichten einer virtuellen Prozesssteuerumgebung benötigt. Weiterhin kann ein vollständig konfiguriertes System relativ anfällig sein. Das Umbenennen von Host-Computern oder das Ändern von Zeitzonen kann z.B. bewirken, dass der Cluster unbrauchbar wird und Teile des Einrichtens wiederholt werden müssen. Weiterhin sind Fehler beim Einrichten nicht unbedingt leicht zu entdecken.
  • Einige dieser oben erwähnten Schwierigkeiten können teilweise durch Integrieren der Host-Server und des gemeinsamen Speichers (z.B. des SAN) in eine Einzelkomponente überwunden werden. Die Host-Server können z.B. einzelne Blades in einem Gehäuse mit integriertem, gemeinsamem Speicher (z.B. dem PowerEdge VRTX von DellTM) sein. In einigen solchen Beispielen sind die Bladeserver und der gemeinsame Speicher direkt gemäß dem Serial Attached SCSI-Protokoll verbunden. Implementieren einer virtuellen Prozesssteuerumgebung über Bladeserver in einem Gehäuse mit gemeinsamem Speicher reduziert einen Teil der Komplexität, da die Netzwerkstruktur zwischen den Blades, dem gemeinsamem Speicher und den Netzwerkkarten-Anordnungen festgelegt ist. Als solches können bestimmte Konfigurationsschritte durch den Erstausstatter des Gehäuses vorkonfiguriert werden. Die Host(Blade)-Server (umfassend die verbundenen Netzwerkkarten) und der gemeinsame Speicher müssen immer noch für eine bestimmte Anwendung (z.B. Prozesssteuersystem) konfiguriert werden, in der sie zu implementieren sind. Als solches umfasst die Konfiguration eines solchen virtuellen Systems immer noch Komplexitäten, die zu den oben beschriebenen Fehlern führen können.
  • Hier offenbarte Beispiele überwinden diese Schwierigkeiten durch Automatisieren von Konfigurationsentscheidungen, die redundant sind, indem jede solche Einstellung einmalig vorgenommen und dann auf das gesamte System angewendet wird. Eine typische SAN-Konfiguration umfasst z.B. die Eingabe eines einzigen Parameterwerts (z.B. Netzwerkkartenname) an mehreren Orten auf derselben oder über verschiedene Hardware (z.B. in jedem Host-Server und in der SAN-Vorrichtung). Die hier offenbarten Beispiele erzwingen eine gemeinsame Benennungskonvention, die von allen Servern in einem Cluster verwendet werden. Implementieren einer festen Benennungskonvention auf diese Weise hilft, häufige Fehlerquellen zu vermeiden, z.B. Tippfehler und menschliches Übersehen bei der Netzwerkkartenauswahl. In einigen Beispielen wird Endnutzern ein Dialog gezeigt, der es ermöglicht, feste (d.h. vordefinierte) Kennzeichen, Markierungen oder Namen jeder physischen Netzwerkkarte zuzuweisen und/oder Namen jeder der einzelnen Netzwerk-Ports zuzuweisen. In einigen Beispielen werden die festen Namen als Standardnamen entsprechend der häufigsten Anwendungsfälle des oder der Steuersystemanwendungen bereitgestellt, die von den Host-Servern bedient werden. In anderen Beispielen kann der Endnutzer die festen Namen definieren (z.B. zur Einbindung eigener Hardware-Konfigurationen). In jedem Fall können feste Namen in einer einzigen Konfigurationsdatenstruktur oder einer einzigen Konfigurationsdaten-Datei gespeichert werden (z.B. in einer einfachen Comma Separated Value (.CSV)-Datei). Zusätzlich kann die Konfigurationsdatenstruktur in einigen Beispielen auch IP-Informationen umfassen, wie Werte, die IP-Adressen, Subnet-Adressen und/oder Domain Name System(DNS)-Adressen (zusammen hier als IP-Informationen bezeichnet) für verschiedene Netzwerkkarten und/oder Netzwerk-Ports definieren, die mit den verschiedenen Host-Servern verknüpft sind. Die Konfigurationsdatenstruktur/-datei mit den darin umfassten festen Namen dient dem Zweck eines Bildes, das von einem Computer-Erstausstatter/Händler bereitgestellt wird. In einigen Beispielen ist die Konfigurationsdatenstruktur/-datei durch den Erstausstatter vor-ausgefüllt und/oder wird von einem Prozesssteuersystem-Händler in einem Softwarepaket bereitgestellt, das zum Konfigurieren der Hardware zum Implementieren mit einem Prozesssteuersystem verwendet wird.
  • In einigen Beispielen basiert die Konfiguration der Host-Server und des gemeinsamen Speichers auf den Werten (z.B. Namen, IP-Informationen etc.) in der Konfigurationsdatenstruktur/-datei. D.h., in einigen Beispielen wird die Konfigurationsdatenstruktur/-datei über den gesamten Konfigurationsprozess einer virtuellen Prozesssteuerumgebung referenziert, um zu gewährleisten, dass in jedem entsprechenden Fall derselbe Name verwendet wird. Auf diese Weise besteht keine Gefahr, dass Namen oder Werte nicht übereinstimmen. Weiterhin wird in einigen Beispielen automatisch auf die Informationen, die in der Konfigurationsdatenstruktur/-datei enthalten sind, von einem Konfigurationssystem für virtuelle Netzwerke mit wenig oder ohne Eingabe von einem Endnutzer zugegriffen, so dass Zeit, Kosten und die Gefahr eines Fehlers erheblich reduziert werden, die daraus resultieren, dass ein Techniker beim Einrichten des Systems Konfigurationsentscheidungen fällt.
  • Zusätzlich stellen hier offenbarte Beispiel relativ schnelle Konfiguration virtueller Workstations in einem Prozesssteuersystem basierend auf Masken für virtuelle Maschinen bereit, die alle die generalisierten Einstellungen für jeden gewünschten Workstation-Typ enthalten (z.B. Bedienerstation, Verlaufsdatensammlung etc.). Weiterhin ermöglichen hier offenbarte Beispiele das Auffinden vollständiger Prozesssteuersystem-Netzwerkverbindungen, um ein visuelles Schema der Verbindungen zu Referenzzwecken (z.B. während der Fehlersuche) zu erzeugen. Weiterhin können Auffinden und Erzeugen von Netzwerkverbindungen verwendet werden, um ein virtualisiertes Duplikatsystem für Fehlersuche, Simulation, Training und/oder Systemmigration zu erzeugen. Zusätzlich ist die hier beschriebene Netzwerkauffindung auf physische Netzwerke anwendbar und ermöglicht damit die Wandlung eines physischen Steuersystems in ein virtuelles Steuersystem.
  • Allgemeine Hintergrundinformation in Bezug auf Virtualisierung im Zusammenhang mit Prozesssteuersystemen wird bereitgestellt unter “DeltaVTM Virtualization” (Emerson Process Management, DeltaV Whitepaper, erhältlich unter http://www2.emersonprocess.com/siteadmincenter/PM%20DeltaV%20Documents/Whitepapers/DV_WP_Virtualization.pdf, June 2014), und unter “DeltaVTM Virtual Studio” (Emerson Process Management, DeltaV-Produktdatenblatt, erhältlich unter http://www2.emersonprocess.com/siteadmincenter/PM%20DeltaV%20Documents/ProductDataSheets/PDS_DeltaV_Virtual_Studio.pdf, Juli 2014), von denen beide hier durch Querverweis vollständig einbezogen werden.
  • Um nun ausführlich auf die Figuren einzugehen, ist 1 eine schematische Darstellung eines beispielhaften Prozesssteuersystems oder DCS 100, innerhalb dessen die Lehren dieser Offenbarung implementierbar sind. Wie hier verwendet, wird der Begriff "Prozesssteuersystem" austauschbar mit dem Begriff "Leitsystem" (Distributed Control System, DCS) verwendet. Das beispielhafte Leitsystem DCS 100 von 1 umfasst Prozess-Controller 102, die kommunikativ mit einer Mehrzahl von Smart- und Non-Smart-Feldgeräten 104 unter Verwendung eines beliebigen Kommunikationsmediums (z.B. kabellos, verdrahtet etc.) und beliebiger Protokolle (z.B. Foundation Fieldbus, Profibus, HART etc.) gekoppelt sind. Die beispielhaften Controller 102 von 1 können z.B. DeltaVTM-Controller sein, vertrieben von Fisher-Rosemount Systems, Inc., einer Emerson Process Management-Firma. Obwohl die hier offenbarten Lehren in Zusammenhang mit DeltaVTM-Hardware, -Software und/oder -Firmware beschrieben wird, können die Lehren für andere Hardware (z.B. weitere Controller), Firmware, und/oder Software angepasst werden, die von anderen Einrichtungen hergestellt und/oder entwickelt wurden. Weiterhin, obwohl zwei Controller 102 in 1 gezeigt sind, können zusätzliche und/oder weniger Controller und/oder Prozesssteuerplattformen eines beliebigen gewünschten Typs und/oder Kombinationen von Typen in dem beispielhaften DCS 100 implementiert werden.
  • Typischerweise sind Controller in einem Prozesssteuersystem kommunikativ mit einer oder mehreren Bedienerstationen, Anwendungsstationen und/oder anderen Workstations (zusammen hier als Workstations bezeichnet) gekoppelt, die mit einem oder mehreren Computern verknüpft sein können. In dem dargestellten Beispiel sind die Controller 102 jedoch kommunikativ mit einer beispielhaften virtuellen Prozesssteuerumgebung 106 gekoppelt. Die beispielhafte virtuelle Prozesssteuerumgebung 106 von 1 umfasst einen beispielhaften Domain-Controller 108, einen beispielhaften ersten Host-Server 110, einen beispielhaften zweiten Host-Server 112, einen beispielhaften dritten Host-Server 114 und ein beispielhaftes Storage Area Network (SAN) 116. In dem dargestellten Beispiel implementiert die virtuelle Prozesssteuerumgebung 106 virtuelle Maschinen, die einer Mehrzahl virtueller Workstations 117 entsprechen, die in Tabelle 118 aufgeführt sind.
  • Wie in Tab. 118 dargestellt, umfassen die für das DCS 100 implementierten virtuellen Workstations 117 acht virtuelle Betreiberstationen 120, vier virtuelle Anwendungsstationen 122 und eine virtuelle primäre Steuersystem-Anwendungsstation 124 (z.B. eine DeltaVTM ProPlus-Workstation). Insbesondere implementiert der erste Host-Server 110 in dem dargestellten Beispiel drei der virtuellen Bedienerstationen 120 und zwei der virtuellen Anwendungsstationen 122, der zweite Host-Server 112 implementiert drei weitere der virtuellen Bedienerstationen 120 und eine der virtuellen Anwendungsstationen 122, und der dritte Host-Server 114 implementiert die verbleibenden zwei der virtuellen Bedienerstationen 120, die letzte virtuelle Anwendungsstation 122 und die virtuelle primäre Steuersystem-Anwendungsstation 124. Obwohl in der Tab. 118 ein Aufteilungsbeispiel der beispielhaften virtuellen Workstations gezeigt wird, können die beispielhaften virtuellen Workstations einem beliebigen aus den Host-Servern 110, 112, 114 in einer beliebigen Kombination entsprechend den Anforderungen jedes der Host-Server 110, 112, 114 zugeteilt werden. Zusätzlich oder alternativ können Duplikate einer oder mehrerer virtueller Workstations auf gesonderten der Host-Server 110, 112, 114 implementiert werden.
  • In dem dargestellten Beispiel sind die Host-Server 110, 112, 114 und das SAN 116 kommunikativ verknüpft, um ein Netzwerk zu bilden, das allgemein als Cluster bezeichnet wird. Der Domain-Controller 108 ist kommunikativ mit dem Cluster verknüpft und verwaltet diesen und steuert den Zugriff auf in dem Cluster gespeicherte Informationen. In dem dargestellten Beispiel dient das SAN 116 als ein allgemeiner oder gemeinsamer Speicher (z.B. ein gemeinsames Cluster-Laufwerk), auf dem jeder der Host-Server 110, 112, 114 Lese-/Schreib-Operationen auf dieselbe logische Speichereinheit (z.B. dieselbe logische Einheitsnummer) ausführen können. Auf diese Weise werden Daten, die mit der Implementierung der virtuellen Workstations 117 verknüpft sind, gesondert von der nativen Festplatte in jedem Host-Server 110, 112, 114 gespeichert, um für das System eine Hochverfügbarkeit bereitzustellen. Wenn z.B. einer der Host-Server 110, 112, 114 ausfällt, können die virtuellen Workstations 117, die durch diesen Host-Server implementiert werden, auf einem der anderen Host-Server 110, 112, 114 gestartet werden. In einigen Beispielen ist das SAN 116 nicht umfasst, so dass jeder Host-Server 110, 112, 114 auf seine lokale Festplatte angewiesen ist.
  • In dem dargestellten Beispiel von 1 ist jeder der Host-Server 110, 112, 114 (und das verknüpfte SAN 116) der virtuellen Prozesssteuerumgebung 106 kommunikativ mit den Controllern 102 über einen Bus und/oder ein Local Area Network (LAN) 128 gekoppelt, welches allgemein als ein Application Control Network (ACN) bezeichnet wird. Das beispielhafte LAN 128 von 1 kann unter Verwendung eines beliebigen gewünschten Kommunikationsmediums und -protokolls implementiert werden. Das beispielhafte LAN 128 kann z.B. auf einem verdrahteten und/oder einem kabellosen Ethernet-Kommunikationsschema beruhen. Es können jedoch ein oder mehrere beliebige weitere geeignete Kommunikationsmedien und/oder -protokolle verwendet werden. Obwohl in 1 ein einzelnes LAN 128 dargestellt ist, können weiterhin mehr als ein LAN und/oder weitere alternative Teile Kommunikations-Hardware verwendet werden, um redundante Kommunikationswege zwischen den beispielhaften Komponenten von 1 bereitzustellen.
  • In einigen Beispielen ist die virtuelle Prozesssteuerumgebung 106 (z.B. der Domain-Controller 108, die Host-Server 110, 112, 114 und das SAN 116) kommunikativ mit Thin Clients 126 gekoppelt, die Remote auf die virtuellen Workstations 117, die in der virtuellen Prozesssteuerumgebung 106 implementiert sind, zugreifen können, um Bedienern, Technikern und/oder weiterem Werkspersonal die Interaktion mit den Workstations über eine Nutzerschnittstelle, die auf einer Anzeige der Thin Clients 126 auf dieselbe Weise ausgeführt werden, als wenn die virtuellen Workstations 117 mit einem physischen Computersystem und/oder einer anderen Prozessorplattform, die mit der Anzeige verknüpft sind. Die beispielhafte virtuelle Prozesssteuerumgebung 106 kann als das DCS 100 auf eine Weise betätigen und steuern, die andernfalls 13 verschiedene Computersysteme erfordern würde, die jedem der 8 Bedienerstationen 120, 4 Anwendungsstationen 122 und der 1 primären Steuersystem-Anwendungsstation 124 entsprechen. Als solches kann die beispielhafte virtuelle Prozesssteuerumgebung 106, die die Workstations virtuell implementiert, Hardware-, Installations- und Wartungskosten eines herkömmlicheren (d.h. nicht virtuellen) Prozesssteuersystems erheblich reduzieren. Weiterhin reduziert weniger Hardware auch bestimmte Betriebskosten, wie z.B. Energiebedarf und Kühlung der Computerausstattung.
  • Implementieren des Beispiels DCS 100, wie in 1 dargestellt, mit der beispielhaften virtuellen Prozesssteuerumgebung 106 kann die Hardware-Nutzung verbessern, während gleichzeitig der Fußabdruck des Systems reduziert wird. Die beispielhafte virtuelle Prozesssteuerumgebung 106 stellt auch erhöhte Flexibilität bei Entwicklung und/oder Betrieb des Systems bereit. Die Virtualisierung ermöglicht z.B. relativ leicht die Zugabe oder Entfernung virtueller Workstations, wenn z.B. für Trainingszwecke verschiedene Szenarien zu entwickeln sind. Weiterhin ermöglicht das beispielhafte
  • DCS 100 mit der virtuellen Prozesssteuerumgebung 106 die Unterstützung verschiedener Systeme unter Verwendung verschiedener Software-Versionen, da Software und Hardware unabhängig sind. Auf gleiche Weise ermöglicht die virtuelle Prozesssteuerumgebung 106 eine Aktualisierung von Software und Hardware unabhängig voneinander und ohne die Sorge, ob Erstere von Letzterer unterstützt wird.
  • In einigen Beispielen kann die virtuelle Prozesssteuerumgebung 106 (d.h. der getrennte Domain-Controller 108, Host-Server 110, 112, 114 und SAN 116) basierend auf einer integrierten Server- und Speicherlösung über eine andere virtuelle Prozesssteuerumgebung 130 ersetzt und/oder implementiert werden. Wie in dem dargestellten Beispiel gezeigt, umfasst die virtuelle Prozesssteuerumgebung 130 drei Host-Server 132, 134, 136, die als Bladeserver in einem Gehäuse mit einem integrierten gemeinsamen Speicher 138 implementiert sind. Wie in dem dargestellten Beispiel gezeigt, kann die virtuelle Prozesssteuerumgebung 130 die virtuelle Prozesssteuerumgebung 106 ersetzen, um dieselbe Funktionalität, wie oben beschrieben, zum Implementieren der virtuellen Workstations 117 bereitzustellen und sie kommunikativ mit den Prozess-Controllern 102 und dem Rest des DCS 100 zu koppeln. Konfiguration und interner Betrieb der virtuellen Prozesssteuerumgebung 130 können sich jedoch von der virtuellen Prozesssteuerumgebung 106 unterscheiden. Wo z.B. das SAN 116 getrennt von den Host-Servern 110, 112, 114 vorliegt, können solche Komponenten kommunikativ unter Verwendung des Internet Small Computer System Interface(iSCSI)-Protokolls miteinander verbunden werden. Im Gegensatz dazu, weil das Gehäuse 138 einen integrierten Speicher (z.B. ein SAN) umfasst, sind in einigen Beispielen die Host-Server 132, 134, 136 direkt über das Serial Attached SCSI(SAS)-Protokoll verbunden. Die Integration des gemeinsamen Speichers und der Host-Server in einem einzelnen Gehäuse der virtuellen Prozesssteuerumgebung 130 kann weitere Kosteneinsparungen und einen geringeren Footprint als die virtuelle Prozesssteuerumgebung 106 ergeben. Da der gemeinsame Speicher in dem Gehäuse 138 mit den Host-Servern 132, 134, 136 integriert ist, kann weiterhin ein Teil der Verdrahtung und Konfiguration, die andernfalls von einem Endnutzer vorzunehmen wäre, von dem Erstausstatter des Gehäuses ausgeführt werden.
  • Obwohl zwei beispielhafte virtuelle Prozesssteuerumgebungen 106, 130 beschrieben wurden, können auch weitere Ausformungen und/oder Variationen eingesetzt werden. Host-Server können z.B. mit einem drahtgebundenen Speicher oder einem extern verbundenen SAS-Speicher (im Gegensatz zu direkt verbunden, wie oben beschrieben) implementiert werden. Weiterhin werden die hier zu Erklärungszwecken offenbarten Beispiele in Bezug auf die virtuelle Prozesssteuerumgebung 106 beschrieben, sie treffen jedoch gleichermaßen für die virtuelle Prozesssteuerumgebung 130, sofern nicht anders angegeben.
  • Obwohl 1 ein beispielhaftes DCS 100 darstellt, in dem die hier offenbarten Lehren vorteilhaft einsetzbar sind, können die hier offenbarten Lehren ggf. auch vorteilhaft in anderen Prozessanlagen und/oder Prozesssteuersystemen mit größerer oder geringerer Komplexität (z.B. mit mehr als einer virtuellen Prozesssteuerumgebung 106, mit mehr Workstations (physisch und/oder virtuell), über mehr als einen geografischen Standort etc. als in dem dargestellten Beispiel von 1 eingesetzt werden.
  • Wie ausführlicher unten beschrieben, automatisieren die hier offenbarten Beispiele Einrichtung und Konfiguration einer virtuellen Prozesssteuerumgebung, wie die beispielhaften virtuellen Prozesssteuerumgebungen 106, 130 von 1, in einem Prozesssteuersystem, wie das beispielhafte DCS 100 von 1. Zur Umsetzung der hier offenbarten Lehren wird angenommen, dass jegliche Hardware-Einrichtung für das System abgeschlossen ist, bis zur, jedoch nicht umfassend, Prüfung, welche bestimmte Netzwerkkarte (z.B. der Host-Server 110, 112, 114) mit welchem Netzwerk verbunden ist. D.h., es wird angenommen, dass der Domain-Controller 108, die Host-Server 110, 112, 114, und das SAN 116 korrekt angeschlossen sind (wenn auch nicht konfiguriert), um miteinander zu kommunizieren, aber die Verbindungen (z.B. über Ethernet-Kabel) von den Controllern 102 und Feld-Geräten 104 des DCS 100 sind noch nicht an die Host-Server 110, 112, 114 gekoppelt. Weiterhin wird angenommen, dass der Domain-Controller korrekt an die Host-Server 110, 112, 114 und SAN 116 gekoppelt ist, um Anforderungen von jedem der Host-Server 110, 112, 114 und SAN 116 zu empfangen, um der Domain beizutreten. Entsprechend wird mit Bezug auf die virtuelle Prozesssteuerumgebung 130 angenommen, dass die Host-Server 132, 134, 136 korrekt in dem Gehäuse 138 verbunden sind, um miteinander, dem integrierten Speicher und dem verbundenen Domain-Server zu kommunizieren. Weiterhin beginnen die hier offenbarten Lehren nachdem ein Betriebssystem und alle Treiber für die Netzwerkkarten auf jedem der Host-Server 110, 112, 114 installiert wurden.
  • 2 ist ein Blockdiagramm eines beispielhaften Konfigurationssystems für virtuelle Netzwerke 200, das gemäß den hier offenbarten Lehren konstruiert ist, um die virtuellen Prozesssteuerumgebungen 106, 130 von 1 zu konfigurieren. Das beispielhafte Konfigurationssystem für virtuelle Netzwerke 200 umfasst ein beispielhaftes Implementationsmodul für virtuelle Netzwerke 202; ein beispielhaftes Konfigurationsparameter-Modul 204; ein beispielhaftes Host-Konfigurationsmodul 206, das einen beispielhaften Namenszuteiler für Netzwerkkarten 208, einen beispielhaften IP-Adressen-Bezeichner 210 und einen beispielhaften Frame Size-Zuteiler 212; ein beispielhaftes Konfigurationsmodul für gemeinsame Speicher 214; einen beispielhaften Erzeuger für virtuelle Maschinen 216; eine beispielhafte Template-Datenbank 218; einen beispielhaften Analysator für virtuelle Netzwerke 220, der einen beispielhaften Netzwerk-Auffinder 222 und einen beispielhaften Visualisierungserzeuger für virtuelle Maschinen 224 umfasst; eine beispielhafte Nutzer-Eingabeschnittstelle 226; und eine beispielhafte Nutzer-Anzeigenschnittstelle 228.
  • In dem dargestellten Beispiel von 2 wird das Konfigurationssystem für virtuelle Netzwerke 200 mit dem beispielhaften Implementierungsmodul für virtuelle Netzwerke 202 bereitgestellt, um den Betrieb verschiedener Teile des Konfigurationssystems für virtuelle Netzwerke 200 zu überwachen. Das beispielhafte Implementierungsmodul für virtuelle Netzwerke 202 kann z.B. Anweisungen oder Befehle an andere Teile des beispielhaften Konfigurationssystems für virtuelle Netzwerke 200 kommunizieren, um den Betrieb dieser Teile zu steuern. In einigen Beispielen bestimmt das Implementierungsmodul für virtuelle Netzwerke 202 basierend auf der Natur der virtuellen Prozesssteuerumgebung die auszuführenden Konfigurationsverfahren oder -typen. D.h., die befolgten Konfigurationsverfahren können abhängig davon variieren, ob die virtuelle Prozesssteuerumgebung unter Verwendung mehrerer Host-Server mit getrenntem Storage Area Network (z.B. die virtuelle Prozesssteuerumgebung 106 von 1) implementiert ist, oder ob die virtuelle Prozesssteuerumgebung unter Verwendung eines Gehäuses mit integriertem gemeinsamem Speicher (z.B. die virtuelle Prozesssteuerumgebung 130 von 1) implementiert ist.
  • In einigen Beispielen bestimmt das Implementierungsmodul für virtuelle Netzwerke 202 basierend auf Nutzerrückmeldung, die in einen über die Nutzeranzeigeschnittstelle 228 angezeigten Dialog eingebeben wurde, die Konfigurationsverfahren. Ein beispielhafter Dialog 300 zum Erhalten solcher Rückmeldung ist in 3 dargestellt. Wie in dem dargestellten Beispiel gezeigt, stellt der Dialog 300 einem Nutzer vier verschiedene Optionen beriet. Eine erste Option 302 kann gewählt werden, um Host-Server (und deren verknüpfte Netzwerkkarten) kommunikativ an ein SAN (z.B. die Hosts 110, 112, 114 und das SAN 116 der virtuellen Prozesssteuerumgebung 106 von 1) zu koppeln. Eine zweite Option 304 kann gewählt werden, um Host-Server (und deren verknüpfte Netzwerkkarten) in einem Gehäuse mit einem integrierten gemeinsamen Speicher (z.B. die Hosts 110, 112, 114 und SAN 116 der virtuellen Prozesssteuerumgebung 106 von 1) zu konfigurieren. Eine dritte Option 306 kann gewählt werden, um Host-Server (und deren verknüpfte Netzwerkkarten) zu konfigurieren, die nicht zu einem Cluster konfiguriert sind und die also nicht mit einem Storage Area Network (SAN) verknüpft sind. Eine vierte Option 308 kann gewählt werden, wenn ein Nutzer die Host-Server manuell einrichten will und/oder der Nutzer nur ein Upgrade (z.B. von bereits konfigurierten Host-Servern) durchführen will. Die Art, wie die virtuelle Prozesssteuerumgebung konfiguriert wird, hängt davon ab, welche Option 302, 304, 306 ein Nutzer wählt. Beispielhafte Verfahren zur Konfiguration einer virtuellen Prozesssteuerumgebung basierend auf den ersten beiden Optionen werden nachstehend ausführlicher beschrieben. Die hier beschriebenen Lehren können jedoch auch angepasst werden, um nicht-geclusterte Host-Server (z.B. die dritte Option 306) und/oder weitere Konfigurationen, die nicht in dem beispielhaften Dialog von 3 dargestellt sind (z.B. ein Gehäuse mit externem SAS-Speicher, ein Fasernetz etc.), zu konfigurieren.
  • Zurück zu 2, wird das Konfigurationssystem für virtuelle Netzwerke 200 mit dem beispielhaften Konfigurationsparametermodul 204 bereitgestellt, um eine Konfigurationsparameter-Datenstruktur und/oder -datei mit Informationen und/oder Parametern zu erzeugen, zu speichern und/oder zu verwalten, die während der Konfiguration der virtuellen Prozesssteuerumgebungen 106, 130 verwendet wurden. In einigen Beispielen ist die Konfigurationsdatenstruktur/-datei eine Comma-Separated Value(.CSV)-Datei mit einer Liste von Parametern und verknüpften Werten, die während des Konfigurationsprozesses verwendet wurden. Eine solche Konfigurationsdaten-Datei kann verwendet werden, um die virtuelle Prozesssteuerumgebung 106 zu konfigurieren, die das getrennte SAN 116 umfasst. In einigen solchen Beispielen kann die Konfigurationsdaten-Datei von einem Nutzer erzeugt und dann durch das Konfigurationsparametermodul 204 (z.B. nach Identifizieren eines Dateipfads zur Konfigurationsdaten-Datei, wie in einem beispielhaften Dialog 400 von 4 gezeigt) importiert werden. In einigen Beispielen kann die Konfigurationsdaten-Datei mit Parameterwerten vor -ausgefüllt sein, die von einem Entwickler des Konfigurationssystems für virtuellen Netze 200 bereitgestellt werden, die über den Dialog 400 importiert oder automatisch während des Konfigurationsprozesses bereitgestellt werden können. In einigen Beispielen, wo die Verbindungen und Beziehungen zwischen den Host-Servern und dem gemeinsamen Speicher bekannt (z.B. der integrierte Speicher in der virtuellen Prozesssteuerumgebung 130) sind, können die Konfigurationsdatenstrukturen in einem anderen Format als einer .CSV-Datei vorliegen, die in der vor-geladenen Software durch den Erstausstatter und/oder Händler integriert ist. In einigen Beispielen wird die Konfigurationsdatenstruktur durch das beispielhafte Konfigurationsparametermodul 204 während des Konfigurationsprozesses eines Host-Servers erzeugt. In einigen solcher Beispiele kann ein Nutzer Werte für Parameter in der Konfigurationsdatenstruktur während des Prozesse einfügen, ändern und/oder zufügen.
  • 5A und 5B zeigen beispielhafte Konfigurationsdatenstrukturen oder -dateien 500, 502, die als Tabellen dargestellt sind. Wie oben beschrieben, kann die virtuelle Prozesssteuerumgebung 106 mit oder ohne einen gemeinsamen Speicher (z.B. mit oder ohne einen Cluster) implementiert werden. Demzufolge entspricht die beispielhafte Konfigurationsdatenstruktur 500 von 5A Einstellungen für ein nicht-geclustertes System (z.B. die dritte Option 306 in 3), wohingegen die Konfigurationsdatenstruktur 502 von 5B Einstellung für ein System entspricht, das ein SAN umfasst, entweder extern (z.B. die erste Option von 3) oder integriert in ein Gehäuse mit den Host-Servern (z.B. die zweite Option von 3).
  • In den gezeigten Beispielen umfassen beide der Konfigurationsdatenstrukturen 500, 502 eine erste Zeile 504, die Namen oder Kennzeichen für jeden der Host-Server 110, 112, 114 bereitstellt. Ein erster Name 506 ("VHOST1") kann z.B. dem ersten Host-Server 110 entsprechen, ein zweiter Name 508 ("VHOST2") kann dem zweiten Host-Server 112 entsprechen und ein dritter Name 510 ("VHOST3" kann dem dritten Host-Server 114 entsprechen. In einigen Beispielen werden die Namen 506, 508, 510 in den Konfigurationsdatenstrukturen 500, 502 als Standard von Hersteller und/oder Händler bereitgestellt. In einigen Beispielen kann jedoch ein Nutzer die Konfigurationsdatenstrukturen 500, 502 editieren, um den Namen für die Host-Server 110, 112, 114 geeignet zu ändern (z.B. wenn die Host-Server bereits mit einem anderen Namen verknüpft sind). Weiterhin können in einigen Beispielen mehr oder weniger Namen in der Konfigurationsdatenstruktur umfasst sein (z.B. als Standard und/oder von einem Endnutzer hinzugefügt/entfernt werden), um der entsprechenden Anzahl an den in dem System zu konfigurierenden Host-Servern zu entsprechen.
  • In den gezeigten Beispielen umfassen beide der Konfigurationsdatenstrukturen 500, 502 einen Einrichtungsbereich für Netzwerkkarten 512, der eine Liste von Konfigurationsnamen 514 umfasst, die bestimmten Netzwerkkarten und/oder Netzwerk-Ports zugeordnet werden können, die mit den Host-Servern verknüpft sind. In einige Beispielen ist die Liste der Konfigurationsnamen 514, die in dem Einrichtungsbereich für Netzwerkkarten 512 umfasst ist, in den Konfigurationsdatenstrukturen 500, 502 als Standard von Hersteller und/oder Händler basierend auf den am häufigsten genutzten Fällen für Prozesssteuersystemen bereitgestellt. Die Liste von Konfigurationsnamen 514, die in den Beispielen gezeigt sind, entsprechen den allgemeinen Namen in vielen DeltaVTM-Prozesssteuersystemen. Entsprechend werden sich viele Endnutzer auf die bereitgestellte Konfigurationsdatenstruktur 500, 502 verlassen können, ohne dass weitere eigene Eigenstellungen erforderlich wären. Weiterhin, obwohl Netzwerkkartennamen 514 als Standard bereitgestellt werden können, kann ein Endnutzer in einigen Beispielen Namen in dem Einrichtungsbereich für Netzwerkkarten 512 der Konfigurationsdatenstrukturen 500, 502 editieren, hinzufügen oder löschen.
  • Im Gegensatz zu der beispielhaften Konfigurationsdatenstruktur 500 von 5A umfasst die beispielhafte Konfigurationsdatenstruktur 502 von 5B auch einen Cluster-Einrichtungsbereich 516, der relevante Informationen zum Konfigurieren des SAN 116 enthält. Insbesondere stellt der beispielhafte Einrichtungsbereich 516 eine Liste von Konfigurationsnamen 518 bereit, die Netzwerkkarten und/oder bestimmte Netzwerk-Ports zuzuweisen sind. Weiterhin, wie in dem Beispiel von 5B gezeigt, befindet sich neben jedem Namen in der Liste von Konfigurationsnamen 518 in der Konfigurationsdatenstruktur 502 IP-Informationen 520 (z.B. IP-Adressen, Subnet-Adressen oder DNS-Adressen). Wie in dem dargestellten Beispiel gezeigt, stellt die IP-Information 520 IP-Werte für jeden der Netzwerk-Ports (identifiziert durch die Konfigurationsnamen 518), entsprechend jedem der Hosts (identifiziert durch die Host-Namen 506, 508, 510) bereit. In dem dargestellten Beispiel ist die Liste der Konfigurationsnamen 518 festgelegt, während die verknüpften IP-Informationen 520 als Standardwerte bereitgestellt werden (z.B. durch Hersteller und/oder Händler). D.h., obwohl der Endnutzer die Liste der Konfigurationsnamen 518 nicht ändern kann, können die verknüpften IP-Informationen 520 durch einen Endnutzer nach Bedarf ediert werden. Allgemeiner können alle Parameter in den Konfigurationsdatenstrukturen 500, 502, die grau unterlegt sind, durch einen Nutzer geändert werden.
  • Zurück zu 2, prüft in einigen Beispielen das Konfigurationsparametermodul 204 die Konfigurationsdatenstrukturen 500, 502 auf Fehler (z.B., wenn diese durch den Endnutzer erzeugt wurden). Weiterhin erzwingt in einigen Beispielen das Konfigurationsparametermodul 204 die Benennungskonvention, die durch die Konfigurationsdatenstruktur zugewiesen wird. Insbesondere schränkt in einigen Beispielen das Konfigurationsparametermodul 204 den Nutzer bei der Benennung von Host-Servern, Netzwerkkarten und/oder Netzwerk-Ports gemäß den Namen ein, die in den Konfigurationsdatenstrukturen 500, 502 bereitgestellt werden, um zu gewährleisten, dass in dem gesamten Konfigurationsprozess konsistente Namen und Werte eingesetzt werden. D.h., während des Konfigurationsprozesses wird einem Nutzer eine Liste von Konfigurationsnamen (die beide Listen 514, 518 umfassen kann) bereitgestellt, aus der der Nutzer einen Namen für eine bestimmte, zu benennende Netzwerkkarte auswählen kann. Wenn also der Nutzer einer Netzwerkkarte einen anderen Namen als den in der Konfigurationsdatenstruktur bereitgestellten zuteilen will, ändert der Nutzer zuerst die Konfigurationsdatenstruktur. In einigen Beispielen werden Änderungen an den Konfigurationsdatenstrukturen vor Beginn des Konfigurationsprozesses durchgeführt. In weiteren Beispielen kann ein Nutzer während des Konfigurationsprozesses eine Änderung an einem bestimmten Parameter in der Konfigurationsdatenstruktur vornehmen. In solchen Beispielen bestätigt das Konfigurationsparametermodul 204, dass Änderung nicht inkonsistent mit bereits konfigurierten Parametern ist, und aktualisiert dann die Datenstruktur, so dass alle Änderungen für alle künftigen Fälle der bestimmten Namens- oder Werteänderung verfügbar werden. Auf diese Weise wird jeder Fall des gewünschten Namen oder Werts konstant gehalten, so dass im Wesentlichen die Gefahr reduziert wird, dass der Nutzer während des Einrichtens einen Fehler macht, indem er Parameter der Netzwerkkarten an einem Ort ändert (z.B. verknüpft mit einem ersten Host-Server), ohne den Parameter an einem anderen Ort zu ändern (oder falsch zu schreiben) (z.B. beim Konfigurieren einer entsprechenden Netzwerkkarte verknüpft mit einem anderen Host-Server).
  • In dem in 2 gezeigten Beispiel wird das Konfigurationssystem für virtuelle Netzwerke 200 mit dem beispielhaften Host-Konfigurationsmodul 206 zum Konfigurieren der Host-Server 110, 112, 114 bereitgestellt. Wie in dem dargestellten Beispiel gezeigt, umfasst das Host-Konfigurationsmodul 206 den beispielhaften Namenszuteiler für Netzwerkkarten (208), den beispielhaften IP-Adressen-Bezeichner 210, den beispielhaften Frame Size-Zuteiler 212. In einigen Beispielen funktioniert der Namenszuteiler für Netzwerkkarten (208) in Verbindung mit dem Konfigurationsparametermodul 204, um den Netzwerkkarten und/oder Netzwerk-Ports, die mit jedem der Host-Server 110, 112, 114 verbunden sind und durch das Host-Konfigurationsmodul 206 konfiguriert sind, Namen zuzuweisen. In einigen Beispielen erzeugt der Namenszuteiler für Netzwerkkarten 208 einen Netzwerkkarten-Konfigurationsdialog, der eine Liste aktueller Namen (z.B. Hersteller-Standardnamen) für jede der Netzwerkkarten und/oder -Ports, die mit einem bestimmten Host-Server verknüpft sind, bereit. Zusätzlich umfasst in einigen Beispielen der Netzwerkkarten-Konfigurationsdialog die Liste der Konfigurationsnamen, aus der neue Namen für die Netzwerkkarten und/oder -Ports ausgewählt und dann zugeteilt werden können. In einigen Beispielen entspricht die Liste von Konfigurationsnamen, die von dem Namenszuteiler für Netzwerkkarten 208 bereitgestellt werden, der Liste von Konfigurationsnamen 514, 519 in den Konfigurationsdatenstrukturen 500, 502.
  • Ein beispielhafter Netzwerkkarten-Konfigurationsdialog 600 ist in 6 dargestellt. Der beispielhafte Netzwerkkarten-Konfigurationsdialog 600 umfasst vier Spalten, umfassend eine Spalte für den Gerätenamen 602, eine Spalte für den aktuellen Namen 604, eine Spalte für den neuen Namen 606 und eine Spalte für den Verbindungsstatus 608. In einigen Beispielen identifiziert die Spalte für den Gerätenamen 602 den Gerätenamen jeder Netzwerkkarte, verknüpft mit dem einzurichtenden Host-Server. Häufig, wie in 6 gezeigt, sind die Gerätenamen für die Netzwerkkarten in dem Host-Server nicht-beschreibend und willkürlich. Weiterhin, da die Gerätenamen willkürlich sind, ist der Gerätename für eine mit einem ersten Host-Server verknüpfte Netzwerkkarte nicht notwendigerweise derselbe wie der Gerätename, der der entsprechenden physischen Netzwerkkarte gegeben wurde, die mit einem anderen Host-Server verknüpft ist. D.h., dass die ursprünglichen Gerätenamen für Netzwerkkarten an verschiedenen Servern nicht immer passen und diese daher nicht zuverlässig sind, um entsprechende Netzwerkkarten zu identifizieren. Daher resultiert diese willkürliche Benennung von Netzwerkkarten in vielen Fällen in einem Durcheinander und ist eine mögliche Fehlerquelle beim Einrichten eines virtuellen Prozesssteuersystems, wie DCS 100 von 1.
  • In einigen Beispielen identifiziert die Spalte für den aktuellen Namen 604 aktuelle Namen, Kennzeichen oder Markierungen, die mit jeder Netzwerkkarte des einzurichtenden Hostservers verknüpft sind, wie in dem Speicher des Host-Servers gespeichert. In einigen Beispielen, wenn die Hardware anfänglich konfiguriert wird, kann der aktuelle physische Netzwerkkartenname dem willkürlichen und/oder nicht-beschreibenden Gerätenamen der Netzwerkkarte (z.B., wie in der ersten Spalte der Gerätenamen 602 in 6 gezeigt) entsprechen, so dass der anfängliche physische Netzwerkkartenname den Techniker nicht darin unterstützt, die Netzwerkkarten richtig zu konfigurieren.
  • Dieses Durcheinander und Fehlerpotenzial wird in den offenbarten Beispielen durch Umbenennung der Netzwerkkarten unter Verwendung vordefinierter oder fester Namen überwunden, die in den Konfigurationsdatenstrukturen 500, 502 bereitgestellt werden. Insbesondere, wie in dem Beispiel von 6 gezeigt, umfasst die Spalte für den neuen Namen 606 für jede Netzwerkkarte ein Dropdown-Menü 610, umfassend jeden der Namen in der Liste von Konfigurationsnamen in der Konfigurationsdatenstruktur, wie oben im Zusammenhang mit 5A und 5B beschrieben. Durch Bereitstellen der Namen von der Konfigurationsdatenstruktur in einem Dropdown-Menü ist der Nutzer beim Zuteilen jeder Netzwerkkarte an einen Namen, der bereits durch die Konfigurationsdatenstruktur definiert ist, beschränkt. Als solches kann das Potenzial für ungünstige Namensänderungen (z.B. durch Tippfehler und/oder durch Vergessen des Technikers, welcher Name in einem zuvor konfigurierten Host-Server zugeteilt wurde) reduziert werden.
  • Festgelegte Nehmen in den Konfigurationsdatenstrukturen 500, 502 sind jedoch für einen Techniker nur hilfreich, wenn der Techniker weiß, welchen Namen er für eine bestimmte umzubenennende Netzwerkkarte er auswählen muss. Dieses Hindernis wird in dem gezeigten Beispiel von 6 durch die Spalte für den Verbindungsstatus 608 überwunden, die einen Hinweis des Verbindungsstatus des bzw. der Netzwerk-Ports bereitstellt, der bzw. die mit der bestimmten Netzwerkkarte verknüpft ist/sind. Insbesondere stellt die Spalte für den Verbindungsstatus 608 eine Verbindungsstatusanzeige bereit, die von "nicht verbunden" auf "verbunden" schaltet, wenn ein Ethernet-Kabel in die Netzwerkkarte eingesteckt wird. Wenn also ein Techniker weiß, mit welchem Netz mit einem bestimmten Kabel verknüpft ist, wenn der Techniker es in eine Netzwerkkarte steckt, indem er die Änderung der Verbindungsstatusanzeige in der Spalte für den Verbindungsstatus 608 beobachtet, kann der Techniker dann den entsprechenden Konfigurationsnamen auswählen, der mit dem Netz verknüpft ist, mit dem die Netzwerkkarte soeben verbunden war. Wenn ein Techniker z.B. Kabel an die Host-Server anschließt, sind die Kabel typischerweise gekennzeichnet oder anderweitig durch der Techniker identifizierbar (z.B. durch Einpfeifen der Drähte). Wenn der Techniker ein Kabel in einen Port des Host-Servers einführt, ändert sich der Verbindungsstatus der Netzwerkkarte dahingehend, dass er anzeigt, dass sie verbunden ist. Durch Identifizieren dieser Änderung kann der Techniker basierend auf der bekannten Quelle des soeben angeschlossenen Kabels, wie durch die Identifikation des Drahtes angezeigt, der soeben eingesteckt wurde, den richtigen Namen für die Netzwerkkarte auswählen. Auf diese Weise werden Aufwand und Zeit, die erforderlich sind, die Drähte nachzuverfolgen und Ports in jedem der Host-Server zu identifizieren, erheblich reduziert. In einigen Beispielen wird der Netzwerkkarten-Konfigurationsdialog 600 periodisch (z.B. alle 5 Sekunden) aktualisiert, um die Verbindungsstatusanzeige aktuell zu halten.
  • In einigen Beispielen umfasst der Netzwerkkarten-Konfigurationsdialog 600 ein nutzerwählbares Ankreuzfeld 612, um anzuzeigen, ob ein Endnutzer die IP-Adressen und verwandte Informationen für das Storage Area Network einrichten will. In einigen Beispielen, wenn das Ankreuzfeld 612 angekreuzt ist, erhält der beispielhafte IP-Adressen-Bezeichner 210 die IP-Information von der Konfigurationsdatenstruktur und teilt sie den entsprechenden Netzwerk-Ports der entsprechenden Host-Server zu. In einigen Beispielen, wenn das Ankreuzfeld 612 nicht angekreuzt ist, teilt der Namenszuteiler für Netzwerkkarten 208 die Netzwerkkarte und/oder den Netzwerk-Port zu, aber die entsprechende IP-Information wird nicht eingerichtet. In einigen Beispielen, wenn die Konfigurationsdatenstruktur kein SAN umfasst, kann das Ankreuzfeld 612 grau unterlegt oder anderweitig für den Nutzer nicht verfügbar sein.
  • Ein weiterer beispielhafter Netzwerkkarten-Konfigurationsdialog 700 ist in dem Beispiel von 7 gezeigt. Der beispielhafte Netzwerkkarten-Konfigurationsdialog 700 umfasst eine Tabelle 701 mit einer Spalte für den aktuellen Port-Namen 702, einer Spalte für den neuen Port-Namen 704, einer Spalte für die IP-Konfiguration 706 und einer Spalte für den Verbindungsstatus 708. Der beispielhafte Netzwerkkarten-Konfigurationsdialog 700 von 7 wird für die Konfiguration einer virtuellen Prozesssteuerumgebung angepasst, die über Host-Server in einem Gehäuse mit einem integrierten gemeinsamen Speicher implementiert wird (z.B. die virtuelle Prozesssteuerumgebung 130 von 1). Entsprechend enthält die Spalte für den aktuellen Port-Namen 702 den aktuellen Namen für jeden der Netzwerk-Ports an dem Gehäuse 138, verknüpft mit den Host-Servern 132, 134, 136. Die Spalte für den neuen Port-Namen 704 umfasst eine Identifikation des Namens, zu dem der entsprechende Port umbenannt werden soll, wenn ein Nutzer den Dialog 700 beendet hat. In dem dargestellten Beispiel entspricht jeder Name in der Spalte für den neuen Port-Namen 704 einem Namen aus der Liste in der Konfigurationsdatenstruktur, ähnlich dem oben beschriebenen beispielhaften Netzwerkkarten-Konfigurationsdialog 600.
  • Anders als in 6 stellt jedoch der beispielhafte Netzwerkkarten-Konfigurationsdialog 700 eine Sichtanzeige des physischen Netzwerk-Ports bereit, der jedem der aufgeführten aktuellen Port-Namen entspricht, ohne dass ein Techniker jeweils Draht für Draht einpfeifen und einstecken und die Änderung der Verbindungsstatusanzeige beobachten muss. Insbesondere umfasst der beispielhafte Netzwerkkarten-Konfigurationsdialog 700 von 7 eine graphische Darstellung der Vorderseite 710 und der Rückseite 712 des Gehäuses 138, die Anordnung von vier Server-Slots 714 (zur Aufnahme der Host-Server 132, 134, 136), die Anordnung von acht Netzwerkkarten 716 (von denen zwei mit jedem Slot 714 verknüpft sind) sowie der Anordnung von acht gemeinsamen Switches 718 zeigt. Weil die virtuelle Prozesssteuerumgebung 130 ein integriertes System ist, sind die internen Netzwerkverbindungen zwischen den Server-Slots 714 bekannt. Entsprechend wird in dem dargestellten Beispiel die Anordnung der aktuell zu konfigurierenden Host-Server (z.B. die Anordnung des Server-Slots 714) sichtbar auf der Vorderseite 710 der graphischen Darstellung des Gehäuses 138 z.B. durch ein Feld 720 um den entsprechenden Slot 714 identifiziert. In weiteren Beispielen können weitere visuelle Anzeigen zusätzlich oder alternativ verwendet werden. In einigen Beispielen werden entsprechende Felder 722 um die Netzwerkkarten wiedergegeben, die mit dem bestimmten Host-Server verknüpft sind, sowie ein Feld 724 um die gemeinsamen Switches 718, die für den Host-Server verfügbar sind. Auf diese Weise sind der bestimmte Host-Server und die verknüpften Netzwerk-Ports leicht für einen Nutzer für einen einfachen Bezug identifizierbar, während Kabel eingesteckt werden. Weiterhin, wenn ein Nutzer einen in der Tabelle 701 aufgeführten bestimmten Netzwerk-Port auswählt, wird in einigen Beispielen eine weitere visuelle Anzeige (z.B. ein farbiger Punkt 726) in der graphischen Darstellung des Gehäuses 138 wiedergegeben, um spezifisch die Anordnung des ausgewählten Netzwerk-Ports zu identifizieren. Wie gezeigt, ist z.B. der erst Netzwerk-Port ausgewählt und entspricht dem ersten (NIC 1) der gemeinsamen Switches 718. Entsprechend wird der farbige Punkt 726 in der graphischen Darstellung des Gehäuses 138 oberhalb des ersten gemeinsamen Switches wiedergegeben.
  • In dem dargestellten Beispiel von 7 umfasst die Spalte für die IP-Konfiguration 706 ein Ankreuzfeld für jeden Netzwerk-Port, der von einem Nutzer ankreuzbar ist, wenn der Nutzer die IP-Informationen für den bzw. die ausgewählten Netzwerk-Ports konfigurieren will. Wenn eins der Ankreuzfelder angekreuzt ist, wenn ein Nutzer OK klickt, wird ein zweiter Netzwerkkarten-Konfigurationsdialog 800 bereitgestellt, wie in 8 gezeigt. Wie in dem Beispiel von 8 gezeigt, umfasst der Netzwerkkarten-Konfigurationsdialog 800 eine Tabelle 802, die jeden der Netzwerk-Ports aufführt, die in der Spalte für die IP-Konfiguration 706 des beispielhaften Netzwerkkarten-Konfigurationsdialogs 700 von 7 ausgewählt ist. Zusätzlich umfasst der Netzwerkkarten-Konfigurationsdialog 800 die IP-Informationen, die den Netzwerk-Ports zugeteilt sind. In einigen Beispielen werden die IP-Informationen, die die Tabelle 802 füllen, von den Werten in der oben beschriebenen Konfigurationsdatenstruktur genommen. Durch Erzeugen der Konfigurationsdatenstruktur, wie oben beschrieben, wie oben beschrieben, können Konfiguration und Einrichten von Host-Servern erheblich vereinfacht und die Fehlergefahr für Techniker verringert werden, weil sie keine Werte eingeben oder von einem Ort zum anderen kopieren müssen. Wie in dem Beispiel gezeigt, werden dieselben visuellen Anzeigen (z.B. die Felder 720, 722, 724 und der Punkt 726), die in dem beispielhaften Netzwerkkarten-Konfigurationsdialog 700 von 7 gezeigt sind, in dem beispielhaften Netzwerkkarten-Konfigurationsdialog 800 von 8 bereitgestellt.
  • Zurück zu dem dargestellten Beispiel von 2, umfasst das beispielhafte Host-Konfigurationsmodul 206 den beispielhaften Frame Size-Zuteiler, um die Frame Size für jeden der Netzwerk-Ports für jeden Host zu konfigurieren. Insbesondere werden in manchen Beispielen die Netzwerk-Ports, die dem SAN-Primärnetzwerk und dem SAN-Sekundärnetzwerk entsprechen (wie durch den entsprechenden Konfigurationsnamen identifiziert, der den Ports durch den Namenszuteiler für Netzwerkkarten 208 zugeteilt wurde), automatisch konfiguriert und stellen Kommunikation unter Verwendung von Jumbo-Frames bereit. Auf diese Weise wird der Overhead, der erforderlich ist, um eine relevante Datenmenge über das SAN zu empfangen, wenn ein virtuelles Prozesssteuersystem implementiert wird, erheblich reduziert.
  • In dem dargestellten Beispiel von 2 wird das Konfigurationssystem für virtuelle Netzwerke 200 mit dem beispielhaften Konfigurationsmodul für gemeinsamen Speicher 214 zur Konfiguration des SAN 116 bereitgestellt. Insbesondere erzielt in einigen Beispielen das Konfigurationsmodul für gemeinsamen Speicher 214 die SAN-Konfiguration basierend auf Informationen in der Konfigurationsdatenstruktur, die verwendet wird, um die Host-Server 110, 112, 114 zu konfigurieren, sowie zusätzliche Informationen, die durch einen Nutzer bereitgestellt werden. 9 stellt einen beispielhaften SAN-Konfigurationsdialog 900 dar, der durch das Konfigurationsmodul für gemeinsamen Speicher 214 erzeugt werden kann, um die erforderlichen Informationen zu erhalten. Wie in dem dargestellten Beispiel gezeigt, umfasst der SAN-Konfigurationsdialog 900 ein Eingabefeld 902, wo ein Nutzer die Anordnung (z.B. Dateipfad) der Konfigurationsdatenstruktur (z.B. eine .CSV-Datei) identifiziert. In einigen Beispielen wird der beispielhafte SAN-Konfigurationsdialog 900 automatisch nach Beenden des Netzwerkkarten-Konfigurationsdialogs 600 von 6 angezeigt, wenn das Ankreuzfeld 612 angekreuzt ist. In solchen Beispielen kann ein Dateipfad zur Konfigurationsdatenstruktur automatisch in das Eingabefeld 902 gefüllt werden. In einigen Beispielen, wenn die Host-Server 110, 112, 114 zuvor konfiguriert wurden, kann der SAN-Konfigurationsdialog 900 manuell durch einen Nutzer geöffnet werden. In solchen Beispielen kann der Nutzer den Dateipfad für die Konfigurationsdatenstruktur in das Eingabefeld 902 eingeben (z.B. durch Browsen). In weiteren Beispielen ruft das Konfigurationsmodul für gemeinsamen Speicher 214 automatisch die Konfigurationsdatenstruktur von dem Konfigurationsparametermodul 204 ab. In einigen Beispielen wird der Fortschritt des beispielhaften Konfigurationsprozesses in dem SAN-Konfigurationsdialog 900 in einem Fortschrittsfeld 904 dargestellt, wie in 9 gezeigt. In Bezug auf die virtuelle Prozesssteuerumgebung 130 (z.B. die Host-Server 132, 134, 136 in einem Gehäuse 138 mit integriertem gemeinsamen Speicher) wird ein beispielhafter Cluster-Konfigurationsdialog 1000 in 10 dargestellt, um bestimmte Parameternamen als Teil des Konfigurationsprozesses zusätzlich zur Information zu sammeln, die in der Konfigurationsdatenstruktur 500, 502 enthalten ist.
  • Zurück zu dem dargestellten Beispiel von 2, wird das Konfigurationssystem für virtuelle Netzwerke 200 mit dem beispielhaften Erzeuger für virtuelle Maschinen 216 bereitgestellt, um virtuelle Maschinen (z.B. virtuelle Workstations 117 von 1) zum Implementieren durch die virtuelle Prozesssteuerumgebung 106 bereitgestellt. In einigen Beispielen wird die Erzeugung virtueller Workstations durch vordefinierte Templates für virtuelle Maschinen, verknüpft mit DeltaVTM-Software, gespeichert in der Template-Datenbank 218. Ein Template für virtuelle Maschinen ist eine virtuelle Maschine mit voll installiertem Betriebssystem und DeltaVTM-Software, die jedoch durch Entfernen bestimmter DeltaVTM- und Netzkonfigurationsinformation verallgemeinert bzw. abstrahiert wurde. Auf diese Weise integriert das Template Prozesssteuerkomponenten (z.B. DeltaVTM), ermöglicht aber die Verwendung und Wiederverwendung des Templates in verschiedenen Situationen basierend darauf, wie steuer- und netzwerkspezifische Informationen definiert sind. Templates können an Nutzer bereitgestellt werden, die Leitstationen, professionellen Stationen, Wartungsstationen, Anwendungsstationen, Zonenservern und Endservern entsprechen. Solche Software kann vorinstallierte DeltaVTM-Software und vordefinierte Netzwerkverbindungen umfassen, so dass ein Nutzer nur das gewünschte Template wählen, den Standort (z.B. den Host) in der virtuellen Prozesssteuerumgebung 106, wo die virtuelle Maschine liegen soll, zuteilen, und die erforderlichen Konfigurationsdetails für die Workstations bereitstellen muss. In einigen Beispielen beruht die Benennungskonvention virtueller Komponenten der virtuellen Maschine (z.B. virtuelle Netzwerk-Ports) auf den Namen in der Liste von Konfigurationsnamen in der Konfigurationsdatenstruktur, die verwendet wird, um anfänglich die virtuelle Prozesssteuerumgebung 106 einzurichten. In dem dargestellten Beispiel erhält der Erzeuger für virtuelle Maschinen 216 anwendungsspezifische Daten von einem Nutzer und kombiniert diese mit einem Template für virtuelle Maschinen, um eine bestimmte virtuelle Maschine zu erzeugen.
  • Ein beispielhafter Erzeugungsdialog für virtuelle Maschinen 1100, erzeugt durch den Erzeuger für virtuelle Maschinen 216, ist in 11 gezeigt, die die von einem Nutzer einzugebenden Informationen darstellt. Von diesen beschränkten Informationen und dem vorkonfigurierten Template kann eine voll funktionsfähige und verbundene virtuelle Workstation erzeugt werden. Weiterhin können in einigen Beispielen auch Templates für virtuelle Controller bereitgestellt werden, um virtuelle Steuersysteme für Simulations- und Trainingszwecke zu erzeugen. Ein Vorteil, virtuelle Prozesssteuerumgebungen basierend auf solchen Templates zu entwickeln, ist, dass die Templates als voll konfigurierte virtuelle Maschinen (z.B. umfassend die Installation der Steuersystem-Software und aller Treiber) vollkommen unabhängig von Hardware sind. Als solches können die Templates durch den Steuersystem-Software-Entwickler vorzeitig getestet werden, so dass sich der Endnutzer auf Bedienbarkeit und Funktionsfähigkeit der resultierenden virtuellen Maschine unabhängig von der vom Endnutzer verwendeten Hardware verlassen kann.
  • In dem dargestellten Beispiel von 2 wird das Konfigurationssystem für virtuelle Netzwerke 200 mit dem beispielhaften Analysator für virtuelle Netzwerke 220 bereitgestellt, um die Verbindungen eines Prozesssteuersystemnetzes zur Visualisierung und/oder Duplikation zu analysieren oder aufzufinden. Wie in dem dargestellten Beispiel gezeigt, umfasst der Analysator für virtuelle Netzwerke 220 den beispielhaften Netzwerk-Auffinder 222 und den beispielhaften Visualisierungserzeuger für virtuelle Netzwerke 224. Der beispielhafte Netzwerk-Auffinder 222 ist konfiguriert, durch ein Prozesssteuersystem-Netz zu kriechen, um die logischen und oder physischen Verbindungen zwischen verschiedenen Komponenten zu identifizieren und dadurch das Prozesssteuersystem zu kartieren. In dem Zusammenhang eines virtuellen Prozesssteuersystems umfasst der Netz-Auffindungsprozess das Durchmustern aller Partitionen, um virtuelle Netzwerkadapter und physische Netzwerkadapter zu identifizieren (z.B. verknüpft mit den physischen Host-Servern) und die virtuellen Switches zu identifizieren, die die beiden miteinander verbinden, sowie die Natur der Verbindungen. In einigen Beispielen erzeugt der Netzwerk-Auffinder 222 eine Extensible Markup Language(XML)-Datei, die das aufgefundene Netz definiert.
  • Erzeugen einer XML-Datei, die ein gesamtes virtualisiertes System beschreibt, kann bei technischer Unterstützung und/oder Fehlerdiagnose in dem System helfen. Wenn z.B. Probleme mit einem bestehenden Prozesssteuersystem auftreten, kann eine XML-Datei erzeugt werden, um die Einrichtung des gesamten Netzsystems zu erfassen, das dann außerhalb von einem technischen Kundendienst für Fehlersuche und/oder Fehlerbeseitigung virtuell reproduziert oder geklont werden kann. Weiterhin kann das Duplizieren eines Prozesssteuersystems für Simulationen und/oder Bediener-Schulungssysteme hilfreich sein. In einigen Beispielen ermöglicht das Klonen eines virtuellen Systems, wie hier beschrieben, dass Techniker validieren, ob zwischen alten und neuen Systemen keine funktionellen Unterschiede bestehen. Der beispielhafte Analysator für virtuelle Netzwerke 220 ermöglicht die Rationalisierung des Migrationsprozesses beim Aktualisieren der betreffenden Virtualisierungs-Software. Unter Verwendung der hier offenbarten Lehren kann z.B. eine XML-Datei, die repräsentativ für eine bestehend Netzsystem-Einrichtung ist, in einen anderen Raum exportiert werden, eine neue Version der betreffenden Virtualisierungs-Software kann installiert werden, und die XML-Datei kann importiert werden, um dasselbe Netzsystem auf der neuen betreffenden Software einzurichten.
  • Neben virtuellen Prozesssteuersystem-Netzen kann in einigen Beispielen der Netzwerk-Auffinder 222 angepasst werden, um ein Netz aus physischen Workstations in einem physisch implementierten Prozesssteuersystem aufzufinden. Von der resultierenden XML-Datei kann ein vollständig konfiguriertes virtuelles System automatisch erzeugt werden, das das physische System dupliziert. Durch diesen Prozess kann ein physisches System leicht in ein virtualisiertes System konvertiert werden, ohne dass Zeit und Kosten aufgewendet werden müssen, einzelne virtuelle Maschinen für jede Workstation zu erzeugen und das gesamte System zu konfigurieren, da alles bereits in der XML-Datei erhalten ist, die durch den Netz-Auffindungsprozess erzeugt wurde.
  • Zusätzlich kann durch die in der XML-Datei enthaltenen Informationen der Erzeuger für virtuelle Netzvisualisierung ein visuelles Schema der virtuellen Netzwerkverbindungen erzeugen, die in der virtuellen Prozesssteuerumgebung 106 implementiert sind. Ein beispielhaftes visuelles Schema 1200 eines Teils eines virtuellen Prozesssteuersystems ist in 12 dargestellt. Insbesondere umfasst das Schema ein Host-Feld 1202, das stellvertretend für einen der Host-Server ist. In dem Host-Feld 1202 befinden sich graphische Darstellungen virtueller Maschinen 1204, virtueller Switches 1206 und Host-Verbindungen oder Netzwerkadapter 1208. Weiterhin sind in einigen Beispielen die virtuellen Maschinen durch Felder mit graphischen Symbolen dargestellt, die Netzwerkkarten entsprechen, die die virtuellen Netzwerkadapter darstellen, die für jede identifizierte virtuelle Maschine implementiert sind. Wie in dem dargestellten Beispiel gezeigt, sind die Netzwerkkartensymbole in den verschiedenen virtuellen Maschinen ebenfalls mit dem entsprechenden Namen für Schnellerkennung durch einen Nutzer gekennzeichnet. In einigen Beispielen, wie oben beschrieben, entsprechen die Namen der Netzwerkkarten den Namen in der Liste von Konfigurationsnamen in der Konfigurationsdatenstruktur, wie oben im Zusammenhang mit 5 beschrieben. Wie in 12 gezeigt, sind einzelne Switch-Ports auch durch graphische Symbole dargestellt, die Ethernet-Ports entsprechen und in den Feldern gruppiert sind, die den verschiedenen Netzen entsprechen, die die virtuellen Switches verbinden. In dem dargestellten Beispiel sind die physischen Netzwerkadapter durch graphische Symbole dargestellt, die Netzwerkkarten entsprechen, die ähnlich den virtuellen Netzwerkkarten in den virtuellen Maschinen sind, außer dass sie sich durch einen anderen Buchstaben unterscheiden (z.B. "V" für virtuell, "I" für intern (z.B. in einem Gehäuse mit einem integrierten Speicher) und "P" für physisch). Obwohl bestimmte graphische Symbole gezeigt sind, können andere Symbole und/oder unterscheidbare Funktionen (z.B. Farbe) zusätzlich oder alternativ verwendet werden. Außerhalb des Host-Feldes 1202 umfasst das beispielhafte visuelle Schema 1200 Symbole, die externen Netzwerkverbindungen 1210 entsprechen. In einigen Beispielen sind die externen Netzwerkverbindungen mit der entsprechenden IP-Adresse gekennzeichnet, um ihre Identifikation an einen Nutzer zu erleichtern. In einigen Beispielen sind weitere Komponenten in dem Schema 1200 (z.B. die Host-Verbindungen 1208) ebenfalls mit entsprechenden IP-Adressen und/oder MAC(Media Access Control)-Adressen gekennzeichnet. Wie in dem dargestellten Beispiel gezeigt, ist jeder der Netzwerkadapter für virtuelle Maschinen, der virtuellen Schalt-Ports, der Host-Verbindungen und der externen Netzwerkverbindungen mit den Leitungen 1212 verbunden, die die Verbindung zwischen Komponenten darstellen. Auf diese Weise kann ein Endnutzer Art und Einrichtung des gesamten Prozesssteuersystems schnell erfassen, was bei Fehlersuche und/oder dem allgemeinen Verständnis des Netzes sehr hilfreich sein kann (z.B. um Konfigurationen zu dokumentieren und/oder archivieren).
  • Zurück zu dem dargestellten Beispiel von 2, wird das Konfigurationssystem für virtuelle Netzwerke 200 mit der beispielhaften Nutzer-Eingabeschnittstelle 226 bereitgestellt, um Eingaben von einem Nutzer (z.B. in Zusammenhang mit Befehlen von einem der oben beschriebenen Dialoge) zu empfangen, und der beispielhaften Nutzer-Anzeigenschnittstelle 228, um dem Nutzer Informationen bereitzustellen (z.B. Anzeige der oben beschriebenen Dialoge).
  • Obwohl eine beispielhafte Art, das Konfigurationssystem für virtuelle Netzwerke 200 zu implementieren, in 2 dargestellt ist, können ein oder mehrere der in 2 dargestellten Elemente, Prozesse und/oder Vorrichtungen kombiniert, geteilt, neu angeordnet, weggelassen, eliminiert und/oder auf andere Weise implementiert werden. Weiterhin können das beispielhafte Implementierungsmodul für virtuelle Netzwerke 202, das beispielhafte Konfigurationsparametermodul 204, das beispielhafte Host-Konfigurationsmodul 206, der beispielhafte Namenszuteiler für Netzwerkkarten 208, der beispielhafte IP-Adressen-Bezeichner 210, der beispielhafte Frame Size-Zuteiler 212, das beispielhafte Speicher-Konfigurationsmodul 214, der beispielhafte Erzeuger für virtuelle Maschinen 216, die beispielhafte Template-Datenbank 218, der beispielhafte Analysator für virtuelle Netzwerke 220, der beispielhafte Netzwerk-Auffinder 222, der beispielhafte Visualisierungserzeuger für virtuelle Netzwerke 224, die beispielhafte Nutzer-Eingabeschnittstelle 226, die beispielhafte Nutzer-Anzeigenschnittstelle 228 und/oder allgemeiner das beispielhafte Konfigurationssystem für virtuelle Netzwerke 200 von 2 durch Hardware, Software, Firmware und/oder eine beliebige Kombination von Hardware, Software und/oder Firmware implementiert werden. So kann z.B. ein beliebiges Element aus dem beispielhaften Implementierungsmodul für virtuelle Netzwerke 202, dem beispielhaften Konfigurationsparametermodul 204, dem beispielhaften Host-Konfigurationsmodul 206, dem beispielhaften Namenszuteiler für Netzwerkkarten 208, dem beispielhaften IP-Adressen-Bezeichner 210, dem beispielhaften Frame Size-Zuteiler 212, dem beispielhaften Speicher-Konfigurationsmodul 214, dem beispielhaften Erzeuger für virtuelle Maschinen 216, der beispielhaften Template-Datenbank 218, dem beispielhaften Analysator für virtuelle Netzwerke 220, dem beispielhaften Netzwerk-Auffinder 222, dem beispielhaften Visualisierungserzeuger für virtuelle Netzwerke 224, der beispielhaften Nutzer-Eingabeschnittstelle 226, der beispielhaften Nutzer-Anzeigenschnittstelle 228 und/oder allgemeiner dem beispielhaften Konfigurationssystem für virtuelle Netzwerke 200 durch einen oder mehrere analoge oder digitale Schaltkreise, Logikkreise, programmierbare Prozessoren, Application Specific Integrated Circuits (ASICs), Programmable Logic Devices (PLDs) und/oder Field Programmable Logic Devices (FPLDs) implementiert werden. Beim Lesen einer der Apparat- oder System-Ansprüche dieses Patents, die eine reine Software- und/oder Firmware-Implementierung abdecken, ist hiermit mindestens ein Element aus dem beispielhaften Implementierungsmodul für virtuelle Netzwerke 202, dem beispielhaften Konfigurationsparametermodul 204, dem beispielhaften Host-Konfigurationsmodul 206, dem beispielhaften Namenszuteiler für Netzwerkkarten 208, dem beispielhaften IP-Adressen-Bezeichner 210, dem beispielhaften Frame Size-Zuteiler 212, dem beispielhaften Speicher-Konfigurationsmodul 214, dem beispielhaften Erzeuger für virtuelle Maschinen 216, der beispielhaften Template-Datenbank 218, dem beispielhaften Analysator für virtuelle Netzwerke 220, dem beispielhaften Netzwerk-Auffinder 222, dem beispielhaften Visualisierungserzeuger für virtuelle Netzwerke 224, der beispielhaften Nutzer-Eingabeschnittstelle 226 und/oder der beispielhaften Nutzer-Anzeigenschnittstelle 228 definiert als eine materielle, computerlesbare Speichervorrichtung oder Speicherscheibe umfassend, wie ein Speicher, eine Digital Versatile Disk (DVD), eine Compact Disk (CD), eine Bluray-Disk etc., die die Software und/oder Firmware speichert. Weiterhin kann das beispielhafte Konfigurationssystem für virtuelle Netzwerke 200 von 2 ein oder mehrere Elemente, Prozesse und/oder Vorrichtungen zusätzlich zu oder anstelle von denen in 2 dargestellten umfassen und/oder mehr als eine oder alle der dargestellten Elemente, Prozesse und Vorrichtungen umfassen.
  • Flussdiagramme, stellvertretend für beispielhafte Verfahren das Konfigurationssystem für virtuelle Netzwerke 200 von 2 zu implementieren, sind in 13 bis 23 gezeigt. In diesem Beispiel können die Verfahren unter Verwendung maschinenlesbarer Anweisungen implementiert werden, die ein Programm zur Ausführung durch einen Prozessor umfassen, wie der Prozessor 2412, wie in der beispielhaften Prozessorplattform 2400 gezeigt und unten im Zusammenhang mit 24 diskutiert. Das Programm kann in Software ausgeführt werden, die auf einem materiellen, computerlesbaren Speichermedium gespeichert ist, wie einer CD-ROM, einer Floppy-Disk, einer Festplatte, einer Digital Versatile Disk (DVD), einer Bluray-Disk oder einem Speicher, verknüpft mit dem Prozessor 2412, aber das gesamte Programm und/oder Teile davon können alternativ durch eine andere Vorrichtung als Prozessor 2412 ausgeführt werden und/oder in Firmware oder spezieller Hardware ausgeführt werden. Weiterhin, obwohl das beispielhafte Programm in Bezug auf das in 13 bis 23 dargestellte Flussdiagramm beschrieben wird, können viele andere Verfahren zum Implementieren des beispielhaften Konfigurationssystems für virtuelle Netzwerke 200 alternativ verwendet werden. Es kann z.B. die Ausführungsreihenfolge der Blocks geändert und/oder einige der beschriebenen Blocks können geändert, eliminiert oder kombiniert werden.
  • Wie oben erwähnt, können die beispielhaften Verfahren von 13 bis 23 unter Verwendung kodierter Anweisungen (z.B. computer- und/oder maschinenlesbare Anweisungen) implementiert werden, die auf einem materiellen computerlesbaren Speichermedium gespeichert sind, wie einer Festplatte, einem Flash-Speicher, einem Read-Only Memory (ROM), einer Compact Disk (CD), einer Digital Versatile Disk (DVD), einem Cache, einem Random-Access Memory (RAM) und/oder einer beliebigen anderen Speichervorrichtung oder Speicher-Disk, in der Informationen für eine beliebige Zeitspanne (z.B. für eine ausgedehnte Zeitspanne, permanent, für einen kurzen Moment, zum temporären Puffern und/oder zum Cachen der Informationen) gespeichert werden. Wie hier verwendet, ist der Begriff "materielles, computerlesbares Speichermedium" ausdrücklich definiert als einen beliebigen Typ computerlesbarer Speichervorrichtung und/oder Speicher-Disk umfassend und das Weiterleiten von Signalen ausschließend, um Übertragungsmedien auszuschließen. Wie hier verwendet, werden "materielles, computerlesbares Speichermedium" und "materielles, maschinenlesbares Speichermedium" austauschbar verwendet. Zusätzlich oder alternativ können die beispielhaften Verfahren von 13 bis 23 unter Verwendung codierter Anweisung (z.B. computer- und/oder maschinenlesbare Anweisungen) implementiert werden, die auf einem nicht-flüchtigen computer- und/oder maschinenlesbaren Medium gespeichert sind, wie einer Festplatte, einem Flash-Speicher, einem Read-Only Memory, einer Compact Disk, einer Digital Versatile Disk, einem Cache, einem Random Access Memory und/oder einer beliebigen anderen Speichervorrichtung oder Speicher-Disk, in der Informationen für eine beliebige Zeitspanne gespeichert ist (z.B. für ausgedehnte Zeitspannen, permanent, für kurze Momente, zum temporären Puffern und/oder zum Cachen der Informationen). Wie hier verwendet, ist der Begriff "nicht-flüchtiges, computerlesbares Medium" ausdrücklich definiert als einen beliebigen Typ computerlesbare Speichervorrichtung und/oder Speicher-Disk umfassend und das Weiterleiten von Signalen ausschließend, um Übertragungsmedien auszuschließen. Wie hier verwendet, wenn der Begriff "mindestens" als Übergangsbegriff in einer Einleitung eines Anspruchs verwendet wird, versteht er sich als offen in der gleichen Weise wie der Begriff "umfassend" offen ist.
  • Zurück zu den Figuren im Einzelnen; 13 ist ein Flussdiagramm 1300, das ein beispielhaftes Verfahren zum Konfigurieren einer virtuellen Prozesssteuerumgebung (z.B. die virtuelle Prozesssteuerumgebungen 106, 130 von 1) für ein Prozesssteuersystem darstellt (z.B. das DCS 100 von 1). Das beispielhafte Verfahren beginnt bei Block 1302, wo das beispielhafte Implementierungsmodul für virtuelle Netzwerke 202 bestimmt, ob eine Konfigurationsdaten-Datei erforderlich ist. Wenn die Konfiguration z.B. für die virtuelle Prozesssteuerumgebung 106 mit getrennten Host-Servern 110, 112, 114 und ein getrenntes SAN 116 (z.B. angezeigt durch die erste Option 302 von 3) ist, kann eine Konfigurationsdaten-Datei erforderlich sein (z.B. die Konfigurationsdatenstruktur 502, beschrieben im Zusammenhang mit 5A und 5B als ein .CSV-Datei). Wenn im Gegensatz die Konfiguration für die virtuelle Prozesssteuerumgebung 130 mit Host-Servern 132, 134, 136 in einem Gehäuse 138 mit integriertem gemeinsamen Speicher ist (z.B. angezeigt durch die zweite Option 302 von 3), ist eine Konfigurationsdaten-Datei nicht erforderlich, weil die Konfigurationsdatenstruktur von einem Hersteller und/oder Steuersystem-Händler bereitgestellt werden kann. Wenn das beispielhafte Implementationsmodul für virtuelle Netzwerke 202 bestimmt, dass eine Konfigurationsdaten-Datei erforderlich ist (Block 1302), fährt die Steuerung zu Block 1304 fort, wo das beispielhafte Konfigurationsparametermodul eine Konfigurationsdaten-Datei erzeugt (z.B. die Konfigurationsdatenstrukturen 500, 502). In einigen Beispielen kann der Nutzer eine unabhängig erzeugte Konfigurationsdaten-Datei besitzen, und das Konfigurationsparametermodul 204 importiert diese zur Verwendung in dem Konfigurationsprozess. In einigen Beispielen stellt der Hersteller Standardwerte für mindestens einige der Parameter (z.B. Namen und Werte) in der Konfigurationsdaten-Datei bereit. Wenn die Konfigurationsdaten-Datei erzeugt wird, fährt die Steuerung zu Block 1306 fort. Wenn das beispielhafte Implementationsmodul für virtuelle Netzwerke 202 bestimmt, dass eine Konfigurationsdaten-Datei nicht erforderlich ist (Block 1302), fährt die Steuerung direkt zu Block 1306 fort.
  • Bei Block 1306 richtet das beispielhafte Host-Konfigurationsmodul 206 einen Host-Server ein (z.B. einen der Host-Server 110, 112, 114, 132, 134, 136). In einigen Beispielen basiert die anfängliche Einrichtung oder Konfiguration jedes Host-Servers auf Informationen, die in der Konfigurationsdatenstruktur oder -Datei enthalten ist, die in Block 1304 erzeugt wurde und/oder einer anderweitig bereitgestellten entsprechenden Konfigurationsdatenstruktur (z.B. von einem Hersteller). Konfigurieren oder Einrichten der Host-Server 110, 112, 114, 132, 134, 136 wird ausführlicher unten im Zusammenhang mit 14 bis 17 beschrieben. Nach Einrichten der Host-Server 110, 112, 114, 132, 134, 136 bestimmt das beispielhafte Implementierungsmodul für virtuelle Netzwerke, ob ein weiterer Host-Server zum Einrichten existiert (Block 1308). In einigen Beispielen wird das Konfigurieren eines weiteren Host-Servers bestimmt, wenn ein Nutzer den Konfigurationsprozess für einen weiteren Host-Server initiiert. Wenn dies der Fall ist, kehrt die Steuerung zu Block 1306 zurück. Andernfalls fährt die Steuerung zu Block 1310 fort.
  • Bei Block 1310 bestimmt das Implementierungsmodul für virtuelle Netzwerke 202, ob die virtuelle Prozesssteuerumgebung 106, 130 ein Storage Area Network (z.B. das SAN 116 der virtuellen Prozesssteuerumgebung 106 oder das den integrierten gemeinsamen Speicher der virtuellen Prozesssteuerumgebung 130) umfasst. Wenn das beispielhafte Implementierungsmodul für virtuelle Netzwerke 202 bestimmt, dass ein Storage Area Network vorhanden ist (Block 1310), fährt die Steuerung zu Block 1312 fort, wo das beispielhafte Implementierungsmodul für virtuelle Netzwerke 202 bestimmt, ob das Storage Area Network unabhängig von den Host-Servern (z.B. das SAN 116 der virtuellen Prozesssteuerumgebung 106 von 1) oder integriert mit den Host-Servern ist (z.B. der integrierte, gemeinsame Speicher der virtuellen Prozesssteuerumgebung 130 von 1). Wenn das beispielhafte Implementierungsmodul für virtuelle Netzwerke 202 bestimmt, dass das Storage Area Network unabhängig ist (Block 1312), fährt die Steuerung zu Block 1314 fort, wo das beispielhafte Implementierungsmodul für virtuelle Netzwerke 202 das unabhängige Storage Area Network konfiguriert, bevor das beispielhafte Verfahren von 13 endet. Ein beispielhaftes Verfahren zum Konfigurieren des unabhängigen Speichers wird ausführlicher unten im Zusammenhang mit 18 beschrieben. Wenn das beispielhafte Implementierungsmodul für virtuelle Netzwerke 202 bestimmt, dass das Storage Area Network integriert ist (Block 1312), fährt die Steuerung fort zu Block 1316, wo das beispielhafte Implementierungsmodul für virtuelle Netzwerke das integrierte Storage Area Network konfiguriert, bevor das beispielhafte Verfahren von 13 endet. Ein beispielhaftes Verfahren zum Konfigurieren des unabhängigen Speichers wird ausführlicher unten im Zusammenhang mit 19 beschrieben. Zurück zu Block 1310, wenn das beispielhafte Implementierungsmodul für virtuelle Netzwerke 202 bestimmt, dass die virtuelle Prozesssteuerumgebung kein Storage Area Network umfasst, endet das beispielhafte Verfahren von 13.
  • 14 ist ein beispielhaftes Flussdiagramm 1400, das ein beispielhaftes Verfahren zum Konfigurieren oder Einrichten eines Host-Servers darstellt (z.B. der Host-Server 110, 112, 114, 132, 134, 136 von 1). Das beispielhafte Verfahren von 14 ist eine beispielhafte Implementierung von Block 1306 von 13. Das beispielhafte Verfahren beginnt bei Block 1402, wo das beispielhafte Host-Konfigurationsmodul 206 bestimmt, ob der Host mit einem externen SAN verbunden ist (z.B. dem SAN 116 in der virtuellen Prozesssteuerumgebung 106 von 1). Wenn das beispielhafte Host-Konfigurationsmodul 206 bestimmt, dass der Host-Server mit einem externen SAN verbunden ist (z.B. es wurde die erste Option 302 von 3 gewählt), fährt die Steuerung zu Block 1404 fort, wo das beispielhafte Host-Konfigurationsmodul 206 Netzwerkkarten konfiguriert (z.B. synchronisiert), die mit dem Host-Server, der mit dem SAN verbunden ist, verknüpft ist. Weitere Einzelheiten in Bezug auf die Synchronisation von Netzwerkkarten werden unten im Zusammenhang mit 15 und 16 bereitgestellt. Wenn die Netzwerkkarten konfiguriert sind (Block 1404), fährt die Steuerung zu Block 1410 fort.
  • Zurück zu Block 1402, wenn das beispielhafte Host-Konfigurationsmodul 206 bestimmt, dass der Host nicht mit einem externen SAN verbunden ist, fährt die Steuerung fort zu Block 1406, wo das beispielhafte Host-Konfigurationsmodul 206 bestimmt, ob der Host-Server mit einem integrierten Speicher verbunden ist (z.B. dem integrierten, gemeinsamen Speicher von Gehäuse 138 der virtuellen Prozesssteuerumgebung 130 von 1). Wenn das beispielhafte Host-Konfigurationsmodul 206 bestimmt, dass der Host nicht mit einem integrierten Speicher verbunden ist (z.B. es wurde die zweite Option 304 von 3 gewählt), fährt die Steuerung fort zu Block 1408, wo das beispielhafte Host-Konfigurationsmodul 206 Netzwerkkarten konfiguriert, die mit dem Host-Server, der mit dem integrierten Speicher verbunden ist, verknüpft sind. Weitere Einzelheiten in Bezug auf die Synchronisation von Netzwerkkarten werden unten im Zusammenhang mit 17 bereitgestellt. Wenn die Netzwerkkarten konfiguriert sind (Block 1408), fährt die Steuerung fort zu Block 1410. Wenn das beispielhafte Host-Konfigurationsmodul 206 bestimmt, dass der Host nicht mit einem integrierten Speicher verbunden ist (z.B. es wurde die dritte Option 306 von 3 gewählt), fährt die Steuerung direkt fort zu Block 1410.
  • Bei Block 1410 konfiguriert das beispielhafte Host-Konfigurationsmodul 206 Remote-Verwaltungseinstellungen (z.B. MMC (MicrosoftTM Management Console) für die virtuelle Prozesssteuerumgebung 106, 130. Bei Block 1412 aktiviert das beispielhafte Host-Konfigurationsmodul 206 Remote-Desktop (zum Aktivieren von Interaktionen mit der virtuellen Prozesssteuerumgebung 106, 130 über Thin Clients 126 von 1). Bei Block 1414 konfiguriert das beispielhafte Host-Konfigurationsmodul 206 ein Task Automation Framework (z.B. PowerShellTM von WindowsTM). Bei Block 1416 aktiviert das beispielhafte Host-Konfigurationsmodul 206 einen Hypervisor (z.B. Hyper-VTM). Bei Block 1418 aktiviert das beispielhafte Host-Konfigurationsmodul 206 Failover Clustering. Failover Clustering ist die Fähigkeit, eine virtuelle Maschine automatisch zu anderen Hosts zu verschieben, wenn einer der Hosts einen Hardware-Ausfall hat. Bei Block 1420 implementiert das beispielhafte Host-Konfigurationsmodul 206 weitere Standard-Host-Einrichtungsverfahren.
  • Bei Block 1422 bestimmt das beispielhafte Host-Konfigurationsmodul 206, ob eine Domäne existiert. Wenn eine Domäne existiert, fährt die Steuerung fort zu Block 1424, wo das beispielhafte Host-Konfigurationsmodul 206 den Host-Server mit der Domäne verbindet. Wenn keine Domäne existiert, endet das beispielhafte Verfahren von 14. Bei Block 1426 bestimmt das beispielhafte Host-Konfigurationsmodul 206, ob ein Storage Area Network existiert (z.B. entweder ein externes SAN oder inkorporiert als ein integrierter, gemeinsamer Speicher). Wenn ein Storage Area Network existiert, fährt die Steuerung fort zu Block 1428, wo das beispielhafte Host-Konfigurationsmodul 206 modulare Speicher-Software (z.B. DellTM MD) installiert, an welchem Punkt das beispielhafte Verfahren von 14 endet oder zurückkehrt (z.B. um die Implementierung von Verfahren von 13 abzuschließen). Wenn das beispielhafte Host-Konfigurationsmodul 206 bestimmt, das kein Storage Area Network (Block 1426) existiert, endet das beispielhafte Verfahren von 14 oder es kehrt zurück.
  • 15 ist ein beispielhaftes Flussdiagramm 1500, das ein beispielhaftes Verfahren darstellt, das als Teil von Block 1404 von 14 implementiert werden kann, um Netzwerkkarten zu konfigurieren, die mit einem Host-Server, der mit einem SAN verbunden ist, verknüpft sind (z.B. die Host-Server 110, 112, 114 der virtuellen Prozesssteuerumgebung 106 von 1). Das beispielhafte Verfahren beginnt mit Block 1502, wo das beispielhafte Konfigurationsparametermodul 204 die Konfigurationsdaten-Datei aufruft (z.B. erzeugt bei Block 1304 von 13). Bei Block 1504 bestimmt das beispielhafte Konfigurationsparametermodul 204, ob Fehler in der Konfigurationsdaten-Datei vorliegen. In einigen Beispielen umfassen Fehler, die geprüft werden, ob die Konfigurationsdaten-Datei den richtigen Dateityp besitzt (z.B. eine .CSV-Datei); ob die identifizierte Konfigurationsdaten-Datei auf einem identifizierten Dateipfad existiert, der von dem Nutzer bereitgestellt wurde; ob die Konfigurationsdaten-Datei leer ist und/oder Leerwerte enthält; ob der Name des einzurichtenden Host-Servers einem der Namen der Konfigurationsdaten-Datei entspricht (wenn nicht, ist eine Fehlermeldung auszugeben, um die Konfigurationsdaten-Datei zu editieren oder den Namen des Host-Servers zu ändern, bevor der Host-Einrichtungsprozess erneut gestartet wird); ob ein Cluster-Einrichtungsbereich (z.B. der Cluster-Einrichtungsbereich 516 von 5B) in der Konfigurationsdaten-Datei identifiziert wird (wenn nicht, werden alle Kennzeichen in der Konfigurationsdaten-Datei als Teil des Einrichtungsbereichs für Netzwerkkartennamen 512 behandelt); ob alle erforderlichen Kennzeichen (z.B. die festgelegten Kennzeichen in dem Cluster-Einrichtungsbereich 516) in der Konfigurationsdaten-Datei vorliegen; ob die Werte im richtigen Format vorliegen (z.B. IP-Adresse oder Subnet-Format); etc. Wenn ein Fehler in der Konfigurationsdaten-Datei detektiert wird, endet das beispielhafte Verfahren und der Nutzer erhält eine Gelegenheit, die Datei zu korrigieren und dann den Host-Server-Konfigurationsprozess 1400 von 14 erneut zu starten. Wenn keine Fehler detektiert werden (Block 1504), fährt die Steuerung fort zu Block 1506, wo der beispielhafte Namenszuteiler für Netzwerkkarten die Netzwerkkarten des Host-Servers umbenennt. Ein beispielhaftes Verfahren zum Umbenennen von Netzwerkkarten wird ausführlicher unten im Zusammenhang mit 16 beschrieben. Bei Block 1508 teilt der IP-Adressen-Bezeichner 210 die IP-Informationen (z.B. enthalten in der Konfigurationsdatenstruktur/datei) an die entsprechenden Netzwerk-Ports, wonach das beispielhafte Verfahren von 15 endet und zurückkehrt, um das beispielhafte Verfahren von 14 abzuschließen, wie oben beschrieben.
  • 16 ist ein beispielhaftes Flussdiagramm 1600, das ein beispielhaftes Verfahren darstellt, das als Teil von Block 1506 von 15 implementierbar ist, um Netzwerkkarten eines Host-Servers umzubenennen. Das beispielhafte Verfahren von 16 beginnt mit Block 1602, wo die beispielhafte Nutzer-Anzeigenschnittstelle 228 einen Verbindungsstatus für jede Netzwerkkarte anzeigt (z.B. die Anzeigen in der Spalte für den Verbindungsstatus 608 von 6). Bei Block 1604 aktualisiert die beispielhafte Nutzer-Anzeigenschnittstelle 228 den Verbindungsstatus für eine neue Verbindung in einer der Netzwerkkarten. In einigen Beispielen tritt eine neue Verbindung auf, wenn ein Nutzer (z.B. ein Techniker) ein Kabel in einen der Ports der Netzwerkkarten steckt, die mit dem zu konfigurierenden Host-Server verknüpft ist. Bei Block 1606 stellt die beispielhafte Nutzer-Anzeigenschnittstelle 228 eine Liste verfügbarer Namen für die neu verbundene Netzkarte bereit. In einigen Beispielen entspricht die Liste verfügbarer Namen der Liste von Konfigurationsnamen, die in der Konfigurationsdatenstruktur oder -datei umfasst ist, die von dem beispielhaften Konfigurationsparametermodul 204 erzeugt wurden. Bei Block 1608 empfängt die beispielhafte Nutzer-Eingabeschnittstelle 226 eine Auswahl (z.B. von einem Nutzer) eines Namens für die Netzkarte. In einigen Beispielen wählt der Nutzer den Namen entsprechend dem Netzwerk, das dem Kabel das zuletzt in die Netzwerkkarte eingesteckt wurde, entspricht, wie durch die Änderung in der Verbindungsstatusanzeige identifiziert. Bei Block 1610 teilt der beispielhafte Namenszuteiler für Netzwerkkarten 208 den gewählten Namen der entsprechenden Netzwerkkarte zu. Bei Block 1612 bestimmt der beispielhafte Namenszuteiler für Netzwerkkarten 208, ob eine weitere zu benennende Netzwerkkarte existiert. In einigen Beispielen wird dies basierend darauf bestimmt, ob alle Netzwerkkarten in der Spalte für den Verbindungsstatus 608 in 6 als verbunden angezeigt werden. Wenn keine Netzwerkkarten mehr zu benennen sind, kehrt die Steuerung zurück zu Block 1602. Wenn alle Netzwerkkarten gekennzeichnet wurden, endet das beispielhafte Verfahren von 16 und kehrt zurück, um das Verfahren von 15 abzuschließen.
  • 17 ist ein beispielhaftes Flussdiagramm 1700, das ein beispielhaftes Verfahren darstellt, das als Teil von Block 1408 von 14 implementierbar ist, um Netzkarten zu konfigurieren, die mit einem Host-Server, der mit einem integrierten Speicher verbunden ist (z.B. die Host-Server 132, 134, 136 der virtuellen Prozesssteuerumgebung 130 von 1), verknüpft sind. Das beispielhafte Verfahren von 17 beginnt mit Block 1702, wo das beispielhafte Host-Konfigurationsmodul 206 Netzwerk-Port-Zuteilungen für den Host-Server detektiert. In einigen Beispielen ist dies möglich, weil die Host-Server (und verknüpfte Netzwerkkarten) in bekannter Weise in einem Gehäuse 138 mit einem integrierten, gemeinsamen Speicher, wie oben beschrieben, kommunikativ gekoppelt sind. Bei Block 1704 zeigt die beispielhafte Nutzer-Anzeigenschnittstelle 228 eine graphische Darstellung des Gehäuses 138 mit dem Host-Server (z.B. die Vorderseite 710 und die Rückseite 712 des Gehäuses 138, wie in dem dargestellten Beispiel von 7 gezeigt). Bei Block 1706 identifiziert die beispielhafte Nutzer-Anzeigenschnittstelle 228 den Host-Server und die verknüpften Netzwerk-Ports in der graphischen Darstellung (z.B. über die Felder 720, 722, 724 von 7). Bei Block 1708 stellt die beispielhafte Nutzer-Anzeigenschnittstelle 228 eine Liste aktueller Namen von verknüpften Netzwerk-Ports an den Nutzer bereit (z.B. über die Spalte für aktuelle Port-Namen 702 von 7). Bei Block 1710 identifiziert die beispielhafte Nutzer-Anzeigenschnittstelle 228 visuell einen der aus der Liste aktueller Namen ausgewählten Netzwerk-Ports über die graphische Darstellung (z.B. über den Punkt oder eine andere Anzeige 726 von 7).
  • Bei Block 1712 stellt die beispielhafte Nutzer-Anzeigenschnittstelle 228 eine Liste verfügbarer Namen für den ausgewählten Netzwerk-Port bereit. In einigen Beispielen entspricht die Liste verfügbarer Namen der Liste von Konfigurationsnamen, die in der Konfigurationsdatenstruktur oder -datei umfasst sind, die durch das beispielhafte Konfigurationsparametermodul 204 erzeugt wurden. Bei Block 1714 empfängt die beispielhafte Nutzer-Eingabeschnittstelle 226 eine Auswahl (z.B. von einem Nutzer) eines Namens für den Netzwerk-Port. Bei Block 1716 bestimmt der beispielhafte Namenszuteiler für Netzwerkkarten 208, ob die Auswahl valide ist. Der Namenszuteiler für Netzwerkkarten 208 kann z.B. verifizieren, ob der ausgewählte Name bereits einem anderen Netzwerk-Port zugeteilt wurde. Wenn der beispielhafte Namenszuteiler für Netzwerkkarten 208 bestimmt, dass die Auswahl nicht valide ist, fährt die Steuerung fort zu Block 1718, wo die beispielhafte Nutzer-Anzeigenschnittstelle eine andere Auswahl vom Nutzer anfordert. Wenn der beispielhafte Namenszuteiler für Netzwerkkarten 208 bestimmt, dass die Auswahl valide ist, fährt die Steuerung zu Block 1720 fort, wo der beispielhafte Namenszuteiler für Netzwerkkarten 208 den ausgewählten Namen dem entsprechenden Netzwerk-Port zuteilt.
  • Bei Block 1722 bestimmt der beispielhafte Namenszuteiler für Netzwerkkarten 208, ob ein weiterer Netzwerk-Port zu benennen ist. In einigen Beispielen wird dies basierend darauf bestimmt, ob der Nutzer einen weiteren der Ports zur Benennung auswählt. Wenn weitere Netzwerkkarten zu benennen sind, kehrt die Steuerung zurück zu Block 1710. Wenn alle Netzwerkkarten benannt sind, fährt die Steuerung fort zu Block 1724, wo der beispielhafte IP-Adressen-Bezeichner 210 IP-Informationen an einen bzw. mehrere ausgewählte Netzwerk-Ports zuteilt (z.B. ausgewählt über die Spalte für IP-Konfiguration 706 von 7). In einigen Beispielen werden die IP-Informationen automatisch an den bzw. die ausgewählten Netzwerk-Ports basierend auf den IP-Informationen zugeteilt, die in der Konfigurationsdatenstruktur für die virtuelle Prozesssteuerumgebung enthalten sind. In einigen Beispielen wird die Zuteilung der IP-Informationen dem Nutzer angezeigt (z.B. über den Netzwerkkarten-Konfigurationsdialog 800 von 8), um dem Nutzer zu ermöglichen, die zugeteilten Informationen zu ändern und/oder zu akzeptieren. Wenn den ausgewählten Netzwerk-Ports die entsprechenden IP-Informationen zugeteilt sind, endet das beispielhafte Verfahren von 17 und kehrt zurück, um das Verfahren von 14 abzuschließen.
  • 18 ist ein beispielhaftes Flussdiagramm 1800, das ein beispielhaftes Verfahren darstellt, das als Teil von Block 1314 von 13 implementierbar ist, um ein unabhängiges Storage Area Network (z.B. das SAN 116 von 1) zu konfigurieren. In einigen Beispielen wird das Verfahren über den Domain-Controller 108 von 1 implementiert (z.B. ein Cluster-Manager and Domain Controller (CDC)). In einigen Beispielen wird ein Virtualisierungs-Softwarepaket (z.B. DeltaVTM Virtual Studio), das Prozesssteuerprodukte und den Hypervisor integriert, um Workstation-Visualisierung zu verwalten, auf dem Domain-Controller 108 vor dem Implementieren des beispielhaften Verfahrens von 18 installiert, um das Einrichten von Zugangsdaten für Remote-Steuerung des Rests der virtuellen Prozesssteuerumgebung 106 zu ermöglichen. Weiterhin wird in einigen Beispielen die modulare Speichersoftware (z.B. installiert auf den Host-Servern 110, 112, 114 bei Block 1428 von 14) auf der SAN-Verwaltungsmaschine vor Implementieren des beispielhaften Verfahrens von 18 installiert. Zusätzlich kann in einigen Beispielen ein Nutzer das SAN 116 automatisch auffinden und vor Implementieren des beispielhaften Verfahrens von 18 benennen.
  • Das beispielhafte Verfahren von 18 beginnt mit Block 1802, wo das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 bestimmt, ob das Virtualisierungs-Softwarepaket (z.B. DeltaVTM Virtual Studio) installiert ist. Wenn dies der Fall ist, fährt die Steuerung zu Block 1806 fort, andernfalls installiert das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 vor dem Fortschreiten zu Block 1806 das Virtualisierungs-Softwarepaket (Block 1804). Bei Block 1806 bestimmt das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214, ob Netzwerkverbindung zu jedem Host-Server 110, 112, 114 besteht. Wenn das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 bestimmt, dass keine Netzwerkverbindung besteht, endet das beispielhafte Verfahren von 18 (z.B. mit einer Fehlermeldung, die anzeigt, dass der Konfigurationsprozess fehlgeschlagen ist). Wenn Netzwerkverbindung mit jedem Host-Server 110, 112, 114 besteht, fährt die Steuerung zu Block 1810 fort. Bei Block 1810 richtet das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 die Internet Small Computer System Interface(iSCSI)-Host-Ports des SAN 116 ein. Bei Block 1812 erzeugt das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 das SAN 116 unter Verwendung eines SAN-Einrichtungsskripts. Bei Block 1814 setzt das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 iSCSI-Targets für einen Host-Server (z.B. einen der Host-Server 110, 112, 114). Bei Block 1816 fügt das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 den Host-Server zu einer Host-Gruppe hinzu (z.B. erzeugt unter Verwendung des SAN-Einrichtungsskripts). Bei Block 1818 bestimmt das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214, ob ein weiterer Host-Server zu der Host-Gruppe hinzuzufügen ist. Wenn ein weiterer Host-Server existiert, kehrt die Steuerung zu Block 1814 zurück. Wenn keine weiteren Host-Server zuzufügen sind, fährt die Steuerung fort zu Block 1820, wo das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 die SAN-Disks partitioniert und formatiert. Bei Block 1822 bestimmt das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214, ob die Host-Server auf das SAN 116 zugreifen können. Wenn dies nicht der Fall ist, endet das beispielhafte Verfahren (z.B. mit einer Fehlermeldung, die anzeigt, dass der Konfigurationsprozess fehlgeschlagen ist). Wenn das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 bestimmt, dass die Host-Server auf das SAN 116 zugreifen können (Block 1822), fährt die Steuerung fort zu Block 1824, wo das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 den Cluster erzeugt und validiert. Schließlich fügt bei Block 1826 das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 das SAN 116 als ein Cluster Shared Volume (CSV) hinzu, an welchem Punkt das beispielhafte Verfahren von 18 endet.
  • 19 ist ein beispielhaftes Flussdiagramm 1900, das ein beispielhaftes Verfahren darstellt, das als Teil von Block 1316 von 3 implementierbar ist, um ein integriertes Storage Area Network zu konfigurieren (z.B. der integrierte, gemeinsame Speicher von Gehäuse 138 von 1). In einigen Beispielen, wie bei dem beispielhaften Verfahren von 18, wird das Verfahren über den Domain-Controller 108 von 1 implementiert (z.B. ein Cluster Manager and Domain Controller (CDC)). In einigen Beispielen wird ein Virtualisierungs-Softwarepaket (z.B. DeltaTM Virtual Studio), das Prozesssteuerprodukte und den Hypervisor integriert, um Workstation-Visualisierung zu verwalten, auf dem Domain-Controller 108 vor Implementieren des beispielhaften Verfahrens von 19 installiert, um das Einrichten der Zugangsdaten für Remote-Steuerung des Rests der virtuellen Prozesssteuerumgebung 106 zu aktivieren. Weiterhin wird in einigen Beispielen die modulare Speichersoftware (z.B. installiert auf den Host-Servern 110, 112, 114 bei Block 1428 von 14) auf der Storage Area Network-Verwaltungsmaschine vor Implementieren des beispielhaften Verfahrens von 19 installiert.
  • Das beispielhafte Verfahren von 19 beginnt bei Block 1902, wo das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 bestimmt, ob das Virtualisierungs-Softwarepaket (z.B. DeltaVTM Virtual Studio) installiert ist. Wenn dies der Fall ist, fährt die Steuerung fort zu Block 1906, andernfalls installiert das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 das Virtualisierungs-Softwarepaket (Block 1904), bevor es zu Block 1906 fortfährt. Bei Block 1906 bestimmt das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214, ob Netzwerkverbindung zu jedem Host-Server 132, 134, 136 besteht. Wenn das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 bestimmt, dass keine Netzwerkverbindung besteht, endet das beispielhafte Verfahren von 19 (z.B. mit einer Fehlermeldung, die anzeigt, dass der Konfigurationsprozess fehlgeschlagen ist). Wenn Netzwerkverbindung mit jedem Host-Server 132, 134, 136 besteht, fährt die Steuerung fort zu Block 1910, wo das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 die SAN-Disks partitioniert und formatiert. Bei Block 1912 bestimmt das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214, ob die Host-Server auf den integrierten Speicher zugreifen können. Wenn dies nicht der Fall ist, endet das beispielhafte Verfahren (z.B. mit einer Fehlermeldung, die anzeigt, dass der Konfigurationsprozess fehlgeschlagen ist). Wenn das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 bestimmt, dass die Host-Server auf den integrierten Speicher zugreifen können (Block 1912), fährt die Steuerung fort zu Block 1914, wo das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 den Cluster erzeugt und validiert. Schließlich fügt bei Block 1916 das beispielhafte Konfigurationsmodul für gemeinsamen Speicher 214 den integrierten Speicher als ein Cluster Shared Volume (CSV) hinzu, an welchem Punkt das beispielhafte Verfahren von 19 endet.
  • In einigen Beispielen wird jeder der Blocks, die in den beispielhaften Verfahren von 18 und 19 dargestellt sind, automatisch ohne Nutzereingabe oder andere Beteiligung als Bereitstellen grundlegender Konfigurationsparameter (z.B. über den SAN-Konfigurationsdialog 900 von 9 oder den Cluster-Konfigurationsdialog 1000 von 10) zusammen mit der Konfigurationsstruktur oder -datei, die während des Konfigurationsprozesses verwendet wurde, implementiert. Auf diese Weise wird das Einrichten des Storage Area Network von vielen Stunden mühevoller Arbeit (z.B. Befolgen von Anweisungen in der Produktdokumentation) auf die einfache Aufgabe reduziert, die Konfigurationsparameter in der Konfigurationsdatenstruktur/datei zu identifizieren, wobei die Möglichkeiten für menschliche Fehler vermieden werden, die zu Diskrepanzen bei der Konfiguration führen können. Aktuelle Verfahren zum Konfigurieren von Storage Area Networks umfassen z.B. das Befolgen von Anweisungen in der Produktdokumentation, die einen Techniker mehrere Tage bis zum Abschluss kosten können, wobei zahlreiche Gelegenheiten für Fehler resultieren (z.B. das Lesen und richtige Eingaben von mehreren IP-Adressen, die im Bereich von Dutzenden liegen können, richtiges Erzeugen verschiedener Logical Unit Numbers (LUNs) zum Speichern und Konfigurieren eines Quorums etc.). Weiterhin sind solche Fehler nicht unbedingt leicht zu entdecken, so dass der Einrichtungsprozess erneut gestartet werden muss, um eine unbekannte Fehlerquelle zu korrigieren.
  • 20 ist ein Flussdiagramm 2000, das ein beispielhaftes Verfahren darstellt, um eine virtuelle Workstation (z.B. die virtuellen Workstations 117) zu erzeugen, die in einer virtuellen Prozesssteuerumgebung implementiert sind (z.B. den virtuellen Prozesssteuerumgebungen 106, 130). Das beispielhafte Verfahren beginnt bei Block 2002, wo der beispielhafte Erzeuger für virtuelle Maschinen 216 ein nutzergewähltes Template für virtuelle Maschinen (z.B. von der Template-Datenbank 218) aufruft. Bei Block 2004 fragt der beispielhafte Erzeuger für virtuelle Maschinen 216 Workstationspezifische Parameter (z.B. Gruppenname, Maschinenname, Workstation-Typ, Knotentyp etc.) für die Erzeugung der virtuellen Workstation (z.B. basierend auf Eingaben in den Erzeugungsdialog für virtuelle Maschinen 1100 von 11). Bei Block 2006 ruft der beispielhafte Erzeuger für virtuelle Maschinen 216 eine Workstation-Konfigurationsdatei für die Erzeugung der virtuellen Workstation ab. Bei Block 2008 werden die virtuellen Komponenten (z.B. virtuelle Netzwerkadapter) automatisch gemäß den Namen der physischen Netzwerkkarten (verknüpft mit den Host-Servern) benannt, wie durch die Konfigurationsdatenstruktur definiert, wie bei deren Konfiguration verwendet. Bei Block 2010 wird eine virtuelle Workstation 216 zu der virtuellen Prozesssteuerungsumgebung 106 hinzu, wonach das beispielhafte Verfahren von 20 endet.
  • 21 ist ein Flussdiagramm 2100, das ein beispielhaftes Verfahren zum Erzeugen eines virtuellen Prozesssteuersystems in einer virtuellen Prozesssteuerumgebung basierend auf einem bestehenden Prozesssteuersystem darstellt. Der beispielhafte Prozess beginnt bei Block 2102, wo der beispielhafte Netzwerk-Auffinder 222 ein Netzwerk eines bestehenden Prozesssteuersystems auffindet. In einigen Beispielen ist das bestehende Prozesssteuersystem ein virtuelles Prozesssteuersystem. In einigen solchen Beispielen wird das Auffinden des Netzwerks durch einen Netzwerk-kriechenden Mechanismus erzielt, wie ausführlicher unten im Zusammenhang mit 22 beschrieben. Bei Block 2104 erzeugt der beispielhafte Visualisierungserzeuger für Netzwerke 224 ein visuelles Schema des gefundenen Netzwerks (z.B. das beispielhafte visuelle Schema 1200 von 12). Bei Block 2106 exportiert der beispielhafte Analysator für virtuelle Netzwerke 220 eine XML-Datei (z.B. erzeugt durch den Netzwerk-Auffinder 222). Bei Block 2108 importiert der beispielhafte Analysator für virtuelle Netzwerke 220 die XML-Datei in einen neuen Speicherraum, um ein neues virtuelles Prozesssteuersystem zu erzeugen. Wenn das neue Prozesssteuersystem erzeugt ist, endet das beispielhafte Verfahren von 21.
  • 22 ist ein Flussdiagram 2200, das ein beispielhaftes Verfahren darstellt, das als Teil von Block 2102 von 21 implementierbar ist, um ein Netzwerk eines bestehenden Prozesssteuersystems aufzufinden. Das beispielhafte Verfahren beginnt bei Block 2202, wo der beispielhafte Netzwerk-Auffinder 222 eine Partition eines Host-Servers identifiziert. Bei Block 2204 bestimmt der beispielhafte Netzwerk-Auffinder 222, ob die Partition einer Host-Partition oder einer Guest-Partition entspricht (z.B. verknüpft mit einer virtuellen Maschine auf dem Host-Server). Wenn die Partition eine Host-Partition ist, fährt die Steuerung fort zu Block 2206, wo der beispielhafte Netzwerk-Auffinder 222 die entsprechenden virtuellen Netzwerkadapter identifiziert. Bei Block 2208 identifiziert der beispielhafte Netzwerk-Auffinder 222 die entsprechenden physischen Netzwerkadapter. Bei Block 2210 bestimmt der beispielhafte Netzwerk-Auffinder 222, ob eine weitere Partition existiert. Wenn eine weitere Partition existiert, kehrt die Steuerung zurück zu Block 2202. Wenn der beispielhafte Netzwerk-Auffinder 222 bestimmt, dass die Partition eine Guest-Partition ist (Block 2204), fährt die Steuerung fort zu Block 2212, wo der beispielhafte Netzwerk-Auffinder 222 die entsprechenden virtuellen Adapter identifiziert, wonach die Steuerung zu Block 2210 fortfährt. Wenn der beispielhafte Netzwerk-Auffinder 222 bestimmt, dass keine weiteren Partitionen existieren (Block 2210), fährt die Steuerung fort zu Block 2214, wo der beispielhafte Netzwerk-Auffinder 222 virtuelle Switch in dem Netzwerk identifiziert. Bei Block 2216 verarbeitet der beispielhafte Netzwerk-Auffinder 222 die Bindungen und Verbindungen in dem aufgefundenen Netzwerk. Bei Block 2218 bestimmt der beispielhafte Netzwerk-Auffinder 222, ob ein weiterer zu analysierender Host-Server existiert. Wenn dies der Fall ist, kehrt die Steuerung zurück zu Block 2202, um den Prozess für den nächsten Host-Server zu wiederholen. Andernfalls fährt die Steuerung fort zu Block 2220, wo der beispielhafte Netzwerk-Auffinder 222 eine XML-Datei erzeugt, die das aufgefundene Netzwerk definiert oder repräsentiert, wonach das beispielhafte Verfahren von 22 endet, um zurückzukehren und das beispielhafte Verfahren von 21 abzuschließen.
  • 23 ist ein Flussdiagramm 2300, das ein beispielhaftes Verfahren darstellt, dass als Teil von Block 2104 von 21 implementiert ist, um ein visuelles Schema eines Netzwerks zu erzeugen (z.B. das Prozesssteuernetzwerk, das über das beispielhafte Verfahren von 22 aufgefunden wurde). Das beispielhafte Verfahren von 23 beginnt mit Block 2302, wo der beispielhafte Visualisierungserzeuger für virtuelle Netzwerke 224 eine graphische Anzeige eines Host-Servers erzeugt (z.B. das Host-Feld 1202, gezeigt in 12). Bei Block 2304 erzeugt der beispielhafte Visualisierungserzeuger für virtuelle Netzwerke 224 graphische Anzeigten virtueller Maschinen, virtueller Switches und Netzwerkkarten, die mit dem Host-Server verknüpft sind. In einigen Beispielen umfassen solche graphischen Anzeigen gekennzeichnete Teilfelder in dem Host-Feld 1202. In einigen Beispielen können die graphischen Darstellungen graphische Symbole sein, darstellend die Netzwerkkarten-Schnittstellen (anzeigend die aufgefundenen Netzwerkadapter), und/oder Symbole, darstellend Switch-Ports (anzeigend die aufgefundenen virtuellen Switch). Bei Block 2206 bestimmt der beispielhafte Visualisierungserzeuger für virtuelle Netzwerke 224, ob ein weiterer Host-Server existiert. Wenn dies der Fall ist, kehrt die Steuerung zurück zu Block 2302, um den Prozess für den nächsten Host-Server zu wiederholen. Andernfalls fährt die Steuerung fort zu Block 2308, wo der beispielhafte Visualisierungserzeuger für virtuelle Netzwerke 224 graphische Anzeigen (oder Symbole) erzeugt, darstellend externe Netzwerkverbindungen. In einigen Beispielen umfassen solche Symbole die IP-Adresse, die mit der entsprechenden externen Verbindung verknüpft ist. Bei Block 2310 gibt die beispielhafte Nutzer-Anzeigenschnittstelle die graphischen Anzeigen wieder (z.B. von Host, virtuellen Maschinen, virtuellen Switches, Netzwerkkarten, externen Host-Verbindungen etc.), wobei die Verbindungen durch Linien dargestellt werden (z.B. die Linie 1212 von 12). Das beispielhafte Verfahren von 23 endet dann oder kehrt zurück, um das beispielhafte Verfahren von 21 abzuschließen.
  • 24 ist ein Blockdiagramm einer beispielhaften Prozessorplattform 2400, die Anweisungen zur Ausführung der Verfahren von 13 bis 23 ausführen kann, um das Konfigurationssystem für virtuelle Netzwerke 200 von 2 zu implementieren. Der Prozessor von Plattform 2400 kann z.B. ein Server, ein PC, ein Mobilgerät (z.B. ein Cell Phone, ein Smart Phone, ein Tablet, wie ein iPadTM), ein Personal Digital Assistant (PDA), eine Internet-Anwendung, ein DVD-Player, ein CD-Player, ein digitaler Videorekorder, ein Bluray-Player, eine Spielkonsole, ein Personal Video Recorder, eine Set Top Box oder ein beliebiger anderer Typ einer Rechenvorrichtung.
  • Der Prozessor 2412 des dargestellten Beispiels umfasst einen lokalen Speicher 2413 (z.B. Cache). Der Prozessor 2412 des dargestellten Beispiels steht in Kommunikation mit einem Hauptspeicher, umfassend einen flüchtigen Speicher 2414 und einen nicht-flüchtigen Speicher 2416 über einen Bus 2418. Der volatile Speicher 2414 kann durch Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) und/oder einen beliebigen anderen Typ einer Random Access Memory-Vorrichtung implementiert werden. Der nicht-flüchtige Speicher 2416 kann durch Flash-Speicher und/oder einen beliebigen anderen Typ Speichervorrichtung implementiert werden. Zugriff auf den Hauptspeicher 2414, 2416 wird durch einen Speicher-Controller gesteuert.
  • Die Prozessor-Plattform 2400 des dargestellten Beispiels umfasst auch einen Schnittstellenkreis 2420. Der Schnittstellenkreis 2420 kann durch einen beliebigen Typ eines Schnittstellenstandards implementiert werden, wie eine Ethernet-Schnittstelle, ein Universal Serial Bus (USB) und/oder eine PCI-Expressschnittstelle.
  • In dem dargestellten Beispiel sind eine oder mehrere Eingabevorrichtungen 2422 mit dem Schnittstellenkreis 2420 verbunden. Die Eingabevorrichtung(en) 2422 ermöglichen es einem oder mehreren Nutzern, Daten und Befehle in den Prozessor 2412 einzugeben. Die Eingabevorrichtung(en) können z.B. durch einen Audiosensor, ein Mikrophon, eine Kamera (stehend oder Video), eine Tastatur, eine Taste, eine Maus, einen Touchscreen, ein Trackpad, einen Trackball, Isopoint und/oder ein Stimmenerkennungssystem implementiert werden.
  • Eine oder mehrere Ausgabevorrichtungen 2424 sind auch mit dem Schnittstellenkreis 2410 des dargestellten Beispiels verbunden. Die Ausgabevorrichtungen 2424 können z.B. durch Anzeigenvorrichtungen (z.B. eine Leuchtdiode (LED), eine organische Leuchtdiode (OLED), eine Flüssigkristallanzeige, eine Kathodenstrahlröhren(CRT)-Anzeige, einen Touchscreen, eine taktile Ausgabevorrichtung, einen Druck und/oder Lautsprecher) implementiert werden. Der Schnittstellenkreis 2420 des dargestellten Beispiels umfasst also typischerweise eine Grafiktreiberkarte, einen Grafiktreiberchip oder einen Grafiktreiberprozessor.
  • Der Schnittstellenkreis 2420 des dargestellten Beispiels umfasst auch eine Kommunikationsvorrichtung, wie einen Transmitter, einen Receiver, einen Transceiver, ein Modem und/oder eine Netzwerkschnittstellenkarte, um den Austausch von Daten mit externen Maschinen (z.B. Rechenvorrichtungen jeglicher Art) über ein Netzwerk 2426 (z.B. eine Ethernet-Verbindung, eine Digital Subscriber Line (DSL), eine Telefonleitung, ein Coaxialkabel, eine Mobiltelefonanlage etc.) zu erleichtern.
  • Die Prozessorplattform 2400 des dargestellten Beispiels umfasst auch eine oder mehrere Massenspeichervorrichtungen 2428 zum Speichern von Software und/oder Daten. Beispiele für solche Massenspeichervorrichtungen 2428 umfassen Floppy Disk-Laufwerke, Festplatten, Compact Disk-Laufwerke, Bluray-Laufwerke, RAID-Systeme und Digital Versatile Disk(DVD)-Laufwerke.
  • Kodierte Anweisungen 2432 zum Implementieren der Verfahren von 13 bis 23 können in der Massenspeichervorrichtung 2428, in dem flüchtigen Speicher 2414, in dem nicht-flüchtigen Speicher 2416 und/oder einem zu entfernenden, materiellen, computerlesbaren Speichermedium, wie eine CD oder DVD, gespeichert werden.
  • Obwohl bestimmte beispielhafte Verfahren, Fertigapparate und Fertigartikel hier offenbart wurden, wird der Umfang dieses Patents dadurch nicht beschränkt. Im Gegenteil deckt dieses Patent alle Verfahren, Fertigapparate und Fertigartikel ab, die berechtigt in den Umgang der Ansprüche dieses Patents fallen.

Claims (30)

  1. Verfahren, umfassend Zugreifen auf eine Datenstruktur, die eine Liste von Konfigurationsnamen für Netzwerkkarten umfasst, die mit einem ersten und einem zweiten Host-Server einer virtuellen Prozesssteuerumgebung verknüpft ist, wobei der erste und der zweite Host-Server virtuelle Maschinen implementieren, die Workstations für ein Prozesssteuersystem entsprechen; beim Konfigurieren des ersten Host-Servers das Zuteilen eines ersten Namens an eine erste der Netzwerkkarten, die mit dem ersten Host-Server verknüpft sind; und beim Konfigurieren des zweiten Host-Servers das Zuteilen des ersten Namens an eine zweite der Netzwerkkarten, die mit dem zweiten Host-Server verknüpft sind, basierend auf einer Nutzerauswahl des ersten Namens aus der Liste von Konfigurationsnamen, wobei der zweite Host-Server nach dem ersten Host-Server konfiguriert wird.
  2. Verfahren nach Anspruch 1, das weiterhin das Aktualisieren der Liste von Konfigurationsnamen mit dem ersten Namen umfasst, wenn der erste Host-Server konfiguriert wird.
  3. Verfahren nach Anspruch 1, wobei die Liste von Konfigurationsnamen den ersten Namen umfasst, bevor darauf zugegriffen wird.
  4. Verfahren nach Anspruch 1, weiterhin umfassend: Anzeigen der Liste von Konfigurationsnamen für die Netzwerkkarten für einen Nutzer zur Auswahl; und Ändern der Verbindungsstatus-Anzeige der zweiten der Netzwerkkarten, wenn der Nutzer ein Kabel in die zweite der Netzwerkkarten steckt.
  5. Verfahren nach Anspruch 1, wobei der erste und der zweite Host-Server kommunikativ als Cluster gekoppelt sind und kommunikativ an einen gemeinsamen Speicher gekoppelt sind.
  6. Verfahren nach Anspruch 5, wobei die Datenstruktur Internet Protocol-Informationen für jeden des ersten und des zweiten Host-Servers umfasst, die einem der Konfigurationsnamen in der Liste von Kommunikationsnamen entsprechen, wobei das Verfahren weiterhin das Zuteilen der Internet Protocol-Informationen, die dem ersten Namen für den zweiten Host-Server entsprechen, an die zweite der Netzwerkkarten umfasst, wenn der zweite Host-Server konfiguriert wird.
  7. Verfahren nach Anspruch 5, wobei der erste und der zweite Host-Server Bladeserver sind, die in ein Gehäuse mit gemeinsamem darin integriertem Speicher zu installieren sind.
  8. Verfahren nach Anspruch 7, weiterhin umfassend: Anzeigen einer Liste aktueller Namen, die Netzwerk-Ports zugeteilt sind, die mit Netzwerkkarten verknüpft sind; und Anzeigen einer graphischen Darstellung des Gehäuses an einen Nutzer, wobei die graphische Darstellung visuell eine Anordnung des ersten der Netzwerk-Ports identifiziert, der von einem Nutzer aus der Liste aktueller Namen ausgewählt ist.
  9. Verfahren nach Anspruch 1, weiterhin umfassend: Empfangen von Eingaben von einem Nutzer zum Erzeugen einer neuen virtuellen Maschine, die als neue Workstation in dem Prozesssteuersystem dienen soll; Aufrufen eines Templates für virtuelle Maschinen, das der neuen Workstation entspricht; und Automatisches Konfigurieren der neuen virtuellen Maschine basierend auf den Eingaben und basierend auf dem Template für virtuelle Maschinen; und Implementieren der neuen virtuellen Maschine in der virtuellen Prozesssteuerumgebung.
  10. Verfahren nach Anspruch 1, das weiterhin das Erzeugen eines visuellen Schemas von virtuellen Netzwerkverbindungen umfasst, die in der virtuellen Prozesssteuerumgebung implementiert sind, wobei die virtuellen Netzwerkverbindungen durch Linien zwischen Symbolen dargestellt sind, die mindestens einem aus virtuellen Maschinen, virtuellen Switches oder Netzwerkkarten entsprechen, die mit dem ersten und zweiten der Host-Server verknüpft sind.
  11. System, umfassend: ein Host-Konfigurationsmodul zum Zugriff auf eine Datenstruktur, die eine Liste von Konfigurationsnamen für Netzwerkkarten umfasst, die mit dem ersten und zweiten der Host-Server einer virtuellen Prozesssteuerumgebung verknüpft sind, wobei der erste und zweite der Host-Server virtuelle Maschinen implementiert, die Workstations für ein Prozesssteuersystem entsprechen; und einen Namenszuteiler für Netzwerkkarten zum Zuteilen eines ersten Namens an eine erste der Netzwerkkarten, die mit dem ersten Host-Server verknüpft ist, wenn das Host-Konfigurationsmodul den ersten Host-Server konfiguriert, und, nach Konfigurieren des ersten Host-Servers, um einen ersten Namen an eine zweite der Netzwerkkarten zuzuteilen, die mit dem zweiten Host-Server verknüpft ist, basierend auf einer Nutzer-Auswahl des ersten Namens aus der Liste von Konfigurationsnamen, wenn das Host-Konfigurationsmodul den zweiten Host-Server konfiguriert.
  12. System nach Anspruch 11, wobei der erste Name zu der Liste von Konfigurationsnamen hinzugefügt wird, wenn das Host-Konfigurationsmodul den ersten Host-Server konfiguriert.
  13. System nach Anspruch 11, wobei die Liste von Konfigurationsnamen den ersten Namen umfasst, bevor das Host-Konfigurationsmodul den ersten Host-Server konfiguriert.
  14. System nach Anspruch 11, das weiterhin eine Nutzer-Schnittstelle für Folgendes umfasst: Anzeigen der Liste von Konfigurationsnamen für die Netzwerkkarten für einen Nutzer zur Auswahl; und Ändern einer Verbindungsstatusanzeige der zweiten der Netzwerkkarten, wenn der Nutzer ein Kabel in die zweite der Netzwerkkarten steckt.
  15. System nach Anspruch 11, wobei der erste und der zweite Host-Server kommunikativ als Cluster gekoppelt sind und kommunikativ an einen gemeinsamen Speicher gekoppelt sind.
  16. System nach Anspruch 15, wobei die Datenstruktur Internet-Protocol-Informationen für jeden des ersten und zweiten Host-Servers umfasst, die einem der Konfigurationsnamen in der Liste von Konfigurationsnamen entsprechen, wobei das System weiterhin einen Internet Protocol-Adressen-Bezeichner umfasst, um die Internet Protocol-Informationen zuzuteilen, die dem ersten Namen für den zweiten Host-Server entsprechen, an die zweite der Netzwerkkarten zuzuteilen, wenn das Host-Konfigurationsmodul den zweiten Host-Server konfiguriert.
  17. System nach Anspruch 15, wobei der erste und der zweite Host-Server Bladeserver sind, die in ein Gehäuse mit dem gemeinsamen, darin integrierten Speicher zu installieren sind.
  18. System nach Anspruch 17, das weiterhin eine Nutzer-Schnittstelle für Folgendes umfasst: Anzeigen einer Liste aktueller Namen, die Netzwerk-Ports zugeteilt sind, die mit Netzwerkkarten verknüpft sind; und Anzeigen einer graphischen Darstellung des Gehäuses für einen Nutzer, wobei die graphische Darstellung visuell eine Anordnung eines ersten der Netzwerk-Ports identifiziert, der von einem Nutzer aus der Liste aktueller Namen ausgewählt wurde.
  19. System nach Anspruch 11, das weiterhin einen Erzeuger für virtuelle Maschinen für Folgendes umfasst: Empfangen von Eingaben von einem Nutzer zur Erzeugung einer neuen virtuellen Maschine, die als neue Workstation in einem Prozesssteuersystem dienen soll; Aufrufen eines Templates für virtuelle Maschinen, das einer neuen Workstation entspricht; und automatisches Konfigurieren der neuen virtuellen Maschine basierend auf den Eingaben und basierend auf dem Template für virtuelle Maschinen, wobei die neue virtuelle Maschine in der virtuellen Prozesssteuerumgebung zu implementieren ist.
  20. System nach Anspruch 11, das weiterhin einen Visualisierungserzeuger für virtuelle Netzwerke umfasst, um ein visuelles Schema virtueller Netzwerkverbindungen zu erzeugen, das in der virtuellen Prozesssteuerumgebung implementiert ist, wobei die virtuellen Netzwerkverbindungen durch Linien zwischen Symbolen dargestellt sind, die stellvertretend für mindestens eine der virtuellen Maschinen, virtuellen Switches oder Netzwerkkarten sind, die mit dem ersten und dem zweiten Host-Server verknüpft sind.
  21. Materielles, computerlesbares Speichermedium, umfassend Anweisungen, die bei Ausführung bewirken, dass eine Maschine mindestens Folgendes ausführt: Zugreifen auf eine Datenstruktur, umfassend eine Liste von Konfigurationsnamen für Netzwerkkarten, die mit dem ersten und dem zweiten Host-Server einer virtuellen Prozesssteuerumgebung verknüpft sind, wobei der erst und der zweite Host-Server virtuelle Maschinen implementieren, die Workstations für ein Prozesssteuersystem entsprechen; beim Konfigurieren des ersten Host-Servers Zuteilen eines ersten Namens an eine erste der Netzwerkkarten, die mit dem ersten Server verknüpft sind; und beim Konfigurieren des zweiten Host-Servers Zuteilen des ersten Namens an eine zweite der Netzwerkkarten, die mit dem zweiten Host-Server verknüpft sind, basierend auf einer Nutzer-Auswahl des ersten Namens aus der Liste von Konfigurationsnamen, wobei der zweite Host-Server nach dem ersten Host-Server konfiguriert wird.
  22. Speichermedium nach Anspruch 21, wobei die Anweisungen weiterhin bewirken, dass die Maschine beim Konfigurieren des ersten Host-Servers die Liste von Konfigurationsnamen um den ersten Namen aktualisiert.
  23. Speichermedium nach Anspruch 21, wobei die Liste von Konfigurationsnamen den ersten Namen vor dem Zugriff darauf umfasst.
  24. Speichermedium nach Anspruch 21, wobei die Anweisungen weiterhin bewirken, dass die Maschine Folgendes ausführt: Anzeigen der Liste von Konfigurationsnamen für die Netzwerkkarten für einen Nutzer zur Auswahl; und Ändern einer Verbindungsstatusanzeige der zweiten der Netzwerkkarten, wenn der Nutzer ein Kabel in die zweite der Netzwerkkarten steckt.
  25. Speichermedium nach Anspruch 21, wobei der erste und der zweite Host-Server kommunikativ als ein Cluster gekoppelt sind und an einen gemeinsamen Speicher gekoppelt sind.
  26. Speichermedium nach Anspruch 25, wobei die Datenstruktur Internet Protocol-Informationen für jeden des ersten und des zweiten Host-Servers umfasst, die einem der Konfigurationsnamen in der Liste von Konfigurationsnamen entsprechen, wobei die Anweisungen weiterhin bewirken, dass die Maschine die Internet Protocol-Informationen, die dem ersten Namen für den zweiten Host-Server entsprechen, an die zweite der Netzwerkkarten zuteilt, wenn der zweite Host-Server konfiguriert wird.
  27. Speichermedium nach Anspruch 25, wobei der erste und der zweite Host-Server Bladeserver sind, die in ein Gehäuse zusammen mit dem gemeinsamen, darin integrierten Speicher zu installieren sind.
  28. Speichermedium nach Anspruch 27, wobei die Anweisungen weiterhin bewirken, dass die Maschine Folgendes ausführt: Anzeigen einer Liste aktueller Namen, die an Netzwerk-Ports zugewiesen sind, die mit den Netzwerkkarten verknüpft sind; und Anzeigen einer graphischen Darstellung des Gehäuses für einen Nutzer, wobei die graphische Darstellung eine Anordnung einer ersten der Netzwerk-Ports, die von einem Nutzer aus der Liste aktueller Namen ausgewählt wurde, identifiziert.
  29. Speichermedium nach Anspruch 21, wobei die Anweisungen weiterhin bewirken, dass die Maschine Folgendes ausführt: Empfangen von Eingaben eines Nutzers zum Erzeugen einer neuen virtuellen Maschine, die als neue Workstation in dem Prozesssteuersystem dienen soll; Aufrufen eines Templates für virtuelle Maschinen, das der neuen Workstation entspricht; und automatisches Konfigurieren der neuen virtuellen Maschine basierend auf den Eingaben und basierend auf dem Template für virtuelle Maschinen; und Implementieren der neuen virtuellen Maschine in der virtuellen Prozesssteuerumgebung.
  30. Speichermedium nach Anspruch 21, wobei die Anweisungen weiterhin bewirken, dass die Maschine ein virtuelles Schema virtueller Netzwerkverbindungen erzeugt, die in der virtuellen Prozesssteuerumgebung implementiert sind, wobei die virtuellen Netzwerkverbindungen durch Linien zwischen Symbolen dargestellt wird, die stellvertretend für mindestens eine der virtuellen Maschinen, virtuellen Switches oder den Netzwerkkarten stehen, die mit dem ersten und dem zweiten Host-Server verknüpft sind.
DE112014004467.9T 2013-09-27 2014-09-26 Systeme und Verfahren zur automatisierten Inbetriebsetzung virtualisierter, verteilter Steuersysteme Pending DE112014004467T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361883737P 2013-09-27 2013-09-27
US61/883,737 2013-09-27
PCT/US2014/057608 WO2015048384A1 (en) 2013-09-27 2014-09-26 Systems and methods for automated commissioning of virtualized distributed control systems

Publications (1)

Publication Number Publication Date
DE112014004467T5 true DE112014004467T5 (de) 2016-08-04

Family

ID=51842772

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112014004467.9T Pending DE112014004467T5 (de) 2013-09-27 2014-09-26 Systeme und Verfahren zur automatisierten Inbetriebsetzung virtualisierter, verteilter Steuersysteme

Country Status (6)

Country Link
US (1) US10432456B2 (de)
JP (1) JP6437535B2 (de)
CN (1) CN105593773B (de)
DE (1) DE112014004467T5 (de)
GB (1) GB2536810B (de)
WO (1) WO2015048384A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3339994A1 (de) * 2016-12-21 2018-06-27 Siemens Aktiengesellschaft Verfahren zum überprüfen einer mandantenzuordnung, computerprogrammprodukt und vorrichtung

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012047654A1 (en) * 2010-09-27 2012-04-12 Fisher-Rosemount Systems, Inc. Methods and apparatus to virtualize a process control system
US10628193B2 (en) * 2014-02-07 2020-04-21 Telefonaktiebolaget Lm Ericsson (Publ) Technique for operating a system controller of a virtualized application cluster
WO2015172107A1 (en) 2014-05-09 2015-11-12 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
US9367414B2 (en) * 2014-06-27 2016-06-14 Vmware, Inc. Persisting high availability protection state for virtual machines stored on distributed object-based storage
WO2016056445A1 (ja) * 2014-10-06 2016-04-14 株式会社Nttドコモ ドメイン制御方法及びドメイン制御装置
US9854042B2 (en) * 2015-01-23 2017-12-26 Dell Products, Lp Automated assessment report generation
US11579861B2 (en) 2016-02-12 2023-02-14 Nutanix, Inc. Virtualized file server smart data ingestion
US10043005B2 (en) * 2016-03-31 2018-08-07 Bitdefender IPR Management Ltd. Systems and methods for application control in virtualized environments
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
US10628182B2 (en) * 2016-07-11 2020-04-21 Pure Storage, Inc. Generation of an instruction guide based on a current hardware configuration of a system
EP3287861A1 (de) * 2016-08-24 2018-02-28 Siemens Aktiengesellschaft Verfahren zum testen eines autonomen systems
GB2558366B (en) * 2016-10-24 2022-08-10 Fisher Rosemount Systems Inc Systems and methods for merging modular control systems into a process plant
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US11562034B2 (en) * 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
CN108845548B (zh) * 2018-07-04 2021-01-05 深圳库博能源科技有限公司 一种基于软件组态实现io硬接线分配的dcs及分配方法
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US10620987B2 (en) 2018-07-27 2020-04-14 At&T Intellectual Property I, L.P. Increasing blade utilization in a dynamic virtual environment
US10924422B2 (en) * 2018-08-30 2021-02-16 International Business Machines Corporation Implementing enhanced network device labeling via ethernet
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
CN109683814A (zh) * 2018-12-03 2019-04-26 郑州云海信息技术有限公司 一种共享存储创建方法、装置、终端及存储介质
EP3671378A1 (de) * 2018-12-17 2020-06-24 Siemens Aktiengesellschaft Datencontainer für ein steuersystem einer technischen anlage
US11635980B2 (en) * 2019-09-20 2023-04-25 Fisher-Rosemount Systems, Inc. Modular process control system
US11846934B2 (en) 2019-09-23 2023-12-19 Fisher-Rosemount Systems, Inc. Industrial control system hyperconverged architecture
CN111045408B (zh) * 2019-12-23 2020-08-25 深圳市安科讯电子制造有限公司 一种分布式自动化控制系统
CN111651234B (zh) * 2020-04-07 2023-09-08 福建福清核电有限公司 一种全范围模拟机dcs与虚拟化dcs切换系统及方法
CN111552244A (zh) * 2020-04-23 2020-08-18 江西瑞林电气自动化有限公司 一种利用虚拟技术解决dcs控制系统维护问题的方法
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
CN114267264B (zh) * 2021-12-14 2023-06-06 浙江华章科技有限公司 一种大型led电子信息看板系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838907A (en) * 1996-02-20 1998-11-17 Compaq Computer Corporation Configuration manager for network devices and an associated method for providing configuration information thereto
JP3972683B2 (ja) * 2002-03-01 2007-09-05 ソニー株式会社 カットリスト生成システム,センタサーバ,広告制作端末装置,コンピュータプログラム,記憶媒体,およびセンタサーバのカットリスト生成方法。
US7330907B2 (en) * 2003-10-02 2008-02-12 Internet Associates, Llc Methods, computer systems, and computer readable media for controlling the status of network address space
EP2013794A4 (de) 2006-04-10 2010-07-28 Embedded Technologies Corp Pty Prozesssteuersystem und verfahren
US8825806B2 (en) 2006-07-26 2014-09-02 International Business Machines Corporation Selection and configuration of storage-area network storage device and computing device
DE102007032611A1 (de) * 2007-07-11 2009-01-15 Abb Technology Ag Bedien- und Beobachtungssystem für Kraftwerksanwendungen
US20100036948A1 (en) * 2008-08-06 2010-02-11 Sun Microsystems, Inc. Zoning scheme for allocating sas storage within a blade server chassis
JP5233756B2 (ja) * 2009-03-06 2013-07-10 富士通株式会社 情報処理装置、識別情報設定プログラム、識別情報設定方法
US8291070B2 (en) * 2009-08-31 2012-10-16 Red Hat Israel, Ltd. Determining an operating status of a remote host upon communication failure
US8463417B2 (en) * 2009-09-04 2013-06-11 Csi Technology, Inc. Method and apparatus to configure control system to link to machinery monitoring system
WO2012047654A1 (en) * 2010-09-27 2012-04-12 Fisher-Rosemount Systems, Inc. Methods and apparatus to virtualize a process control system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3339994A1 (de) * 2016-12-21 2018-06-27 Siemens Aktiengesellschaft Verfahren zum überprüfen einer mandantenzuordnung, computerprogrammprodukt und vorrichtung
WO2018114102A1 (de) * 2016-12-21 2018-06-28 Siemens Aktiengesellschaft Verfahren zum überprüfen einer mandantenzuordnung, computerprogrammprodukt und vorrichtung

Also Published As

Publication number Publication date
GB2536810B (en) 2020-10-28
CN105593773B (zh) 2019-04-05
JP2016541037A (ja) 2016-12-28
GB2536810A (en) 2016-09-28
CN105593773A (zh) 2016-05-18
US20150095788A1 (en) 2015-04-02
JP6437535B2 (ja) 2018-12-12
GB201603888D0 (en) 2016-04-20
US10432456B2 (en) 2019-10-01
WO2015048384A1 (en) 2015-04-02

Similar Documents

Publication Publication Date Title
DE112014004467T5 (de) Systeme und Verfahren zur automatisierten Inbetriebsetzung virtualisierter, verteilter Steuersysteme
DE69821844T2 (de) Verfahren zur automatischen Installierung und übertragung von Daten auf ein Rechnerplattenlaufwerk
DE112019001481T5 (de) Selektives bereitstellen gegenseitiger transportschichtsicherheit mittels alternativer servernamen
DE112012006925B4 (de) Systemkonstruktions-Unterstützungswerkzeug und System
EP2789145B1 (de) Vorrichtung zur bedienung von mindestens einem feldgerät der automatisierungstechnik
DE102018124411A1 (de) I/o-virtualisierung für die inbetriebnahme
DE112013001889B4 (de) Dynamische Zuweisung einer Arbeitslast über eine Vielzahl von Clouds hinweg
DE112010004160T5 (de) Portieren virtueller Abbilder zwischen Plattformen
DE112016004668T5 (de) Ermitteln von Vorrichtungssystemkennzeichnungen zur Inbetriebnahme von Teilen eines getrennten Prozessegelkreises
DE102014116808B4 (de) Verfahren und System zum Realisieren einer dynamischen Virtualisierung eines SRIOV-fähigen SAS-Adapters
DE112011102243T5 (de) Konfigurieren eines Computersystems für die Installation von Softwarepaketen
DE102009054901A1 (de) Verfahren zur offline Bedienung eines Feldgeräts der Automatisierungstechnik
DE112012004776T5 (de) Erzeugen einer Produktionsserver-Lastaktivität für einen Testserver
DE112012002404B4 (de) Konfiguration und Management virtueller Netzwerke
DE102019131039A1 (de) Systeme und methoden für die live-validierung der gerätekonfiguration
CN107209773A (zh) 自动调用统一的可视化界面
DE112017005453T5 (de) Konfiguration verteilter Datenverarbeitungssysteme
EP2595016A1 (de) Verfahren, Computerprogramm, computerlesbares Medium und Recheneinheit zur Bedienung von Feldgeräten
DE112013006481B4 (de) Systementwicklungsgerät, Systementwicklungsverfahren und Systementwicklungsprogramm
DE10352811B4 (de) Verfahren und System für die Herstellung eines informationsverarbeitenden Systems gemäß einer Kundenkonfiguration
DE102016123692A1 (de) Verfahren, Vorrichtungen und Systeme für ein Multimodul-Prozesssteuerungsmanagement
EP2620868A1 (de) Arbeitsfluss-Management-System für Computernetze
EP2642359A1 (de) Entwicklungseinrichtung und Verfahren zum Erstellen eines Steuergeräteprogramms
DE102018116742A1 (de) Verfahren und System zur Simulation
DE102021212155A1 (de) Zusammensetzbare Informationsverarbeitungssysteme in einem offenen Netzwerk unter Verwenden von Zugriffssteuerungsverwaltern

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: MEISSNER BOLTE PATENTANWAELTE RECHTSANWAELTE P, DE

R083 Amendment of/additions to inventor(s)
R083 Amendment of/additions to inventor(s)
R012 Request for examination validly filed
R016 Response to examination communication