Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD, COMPUTER PROGRAM PRODUCT AND SYSTEM FOR PROVIDING SERVICES
Document Type and Number:
WIPO Patent Application WO/2023/001563
Kind Code:
A1
Abstract:
The present invention relates to a method, a computer program product and a system for providing services, in particular in an industrial automation system. Users of control applications implemented for industrial automation systems by way of container virtualization expect the integration of such applications into their existing infrastructure to be as straightforward as possible. Depending on the network connection and the flow control environment used, in particular OPC UA servers encounter different configurations that need to be taken into consideration by developers of control applications for automated configuration methods for the control applications. For this purpose, a smart proxy for OPC UA servers in virtual machines or Docker environments, such as in Industrial Edge, is used and intervenes in the initially still unsecure service communication in order to ensure that OPC UA clients can successfully connect to OPC UA servers in a container host/Industrial Edge.

Inventors:
ALBRECHT HARALD (DE)
BALDUF JOCHEN (DE)
VOLKMANN FRANK (DE)
Application Number:
PCT/EP2022/068820
Publication Date:
January 26, 2023
Filing Date:
July 07, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
H04L67/51; H04L67/56; H04L67/563
Foreign References:
US20170111476A12017-04-20
EP20198692A2020-09-28
EP20193690A2020-08-31
Other References:
PROFANTER STEFAN ET AL: "OPC UA for plug & produce: Automatic device discovery using LDS-ME", 2017 22ND IEEE INTERNATIONAL CONFERENCE ON EMERGING TECHNOLOGIES AND FACTORY AUTOMATION (ETFA), IEEE, 12 September 2017 (2017-09-12), pages 1 - 8, XP033292903, DOI: 10.1109/ETFA.2017.8247569
Download PDF:
Claims:
Patentansprüche / Patent Claims

1. Verfahren zur Bereitstellung von Diensten mittels Ablauf- steuerungskomponenten in einer Ablaufsteuerungsumgebung an einen Dienstabnehmer (UAC, 100), wobei

- den Diensten jeweils zumindest eine Server-Komponente (UAS, 101) zugeordnet ist, die durch eine in die Ablauf- steuerungsumgebung ladbare und dort ausführbare Ablauf- steuerungskomponente gebildet wird,

- zumindest eine Proxy-Komponente (UAP, 200) eines die Ab laufsteuerungsumgebung umfassenden Teilnetzes, Anfragen von einem Dienstabnehmer (UAC, 100) annimmt,

-- eine zentrale Verzeichnisdienst-Komponente (LDS) die in nerhalb des Teilnetzes gültigen AdressierungsInformationen an die Proxy-Komponente (UAP, 200) übermitteln

- Registrierung der Server-Komponente (UAS, 101) an der zentralen Verzeichnisdienst-Komponente (LDS) mit seinen inneren Verbindungsdaten (111)

- Ermittlung zu jeweils innerhalb des Teilnetzes gültigen AdressierungsInformationen der Server-Komponente (UAS,

101) zugeordnete global gültige Zugangsinformationen,

- Modifikation der inneren Verbindungsdaten mittels der er mittelten externen Netzwerk-AdressierungsInformationen (102) in der zentralen Verzeichnisdienst-Komponente (LDS), so dass die zumindest eine Proxy-Komponente (UAP, 200)

Dienstanfragen entsprechend den modifizierten Adressierungs informationen an die Server-Komponente (UAS, 101) weiterlei ten kann.

2. Verfahren zur Bereitstellung von Diensten mittels einer Ablaufsteuerungsumgebung, gemäß Patentanspruch 1, dadurch ge kennzeichnet, dass die Proxy-Komponente (200) eine Dienstanfrage empfängt und den darin ersten unverschlüsselten Teil dahingehend prüft, ob der darin adressierte Empfänger die zentrale Verzeichnis dienst-Komponente (LDS, 201) ist, und die Dienstanfrage an diesen weitergeleitet wird, so dass nachfolgende Dienstanfragen von der zentralen Verzeichnis dienst-Komponente (LDS, 201) beantwortet werden.

3. Verfahren zur Bereitstellung von Diensten mittels einer Ablaufsteuerungsumgebung, gemäß einem der vorherigen Pa tentansprüche, dadurch gekennzeichnet, dass die Proxy-Komponente (UAP, 200) eine Dienstanfrage mit einem darin ersten enthaltenen unverschlüsselten Teil empfängt und dahingehend prüft, ob der darin adressierte Empfänger einen Dienste-Server (UAS, 101) ist, und die AdressInformation des entsprechenden inneren Dienste- Server (UAS, 101) ermittelt wird und

- der Verbindungsaufbau mit den ermittelten AdressInformatio nen des inneren Server-Komponente (UAS, 101) fortgesetzt wird.

4. Verfahren zur Bereitstellung von Diensten mittels einer Ablaufsteuerungsumgebung, gemäß einem der vorherigen Pa tentansprüche 2 oder 3, wobei die Proxy-Komponente (UAP, 200) die Verbindung auf das Über tragen weiterer unverschlüsselte Dienstanfragen überwacht.

5. Verfahren zur Bereitstellung von zeitkritischen Diensten mittels einer Ablaufsteuerungsumgebung, gemäß Patentanspruch 4, wobei die Proxy-Komponente die Dienstanfrage selbst beantwortet, ohne diese an den Dienste-Server weiterzuleiten.

6. Verfahren zur Bereitstellung von Diensten mittels einer Ablaufsteuerungsumgebung, gemäß Patentanspruch 4, wobei die Proxy-Komponente die Diensteanfrage an die Verzeichnis dienst-Komponente (LDS, 201) weiterleitet, der sie stellver tretend für den adressierten Dienste-Server mit korrekten Ad- ressangaben beantwortet.

7. Verfahren zur Bereitstellung von Diensten mittels einer Ablaufsteuerungsumgebung, gemäß einem der vorherigen Pa tentansprüche, wobei der Dienste-Server (UAS, 101) über die Proxy-Komponente (UAP, 200) vorzugsweise über nur einen zuvor festgelegten Port an sprechbar ist.

8. Verfahren zur Bereitstellung von Diensten mittels einer Ablaufsteuerungsumgebung, gemäß einem der vorherigen Pa tentansprüche, wobei ein Dienst jeweils eine eigene Verzeichnisdienst-Komponente umfasst und die Registrierung der Server-Komponente (UAS,

101) an der dem Dienst zugeordneten Verzeichnisdienst- Komponente (LDS) mit seinen inneren Verbindungsdaten (111) erfolgt .

9. Computerprogrammprodukt zur Bereitstellung von Diensten mittels einer Ablaufsteuerungsumgebung, gemäß den Verfahrens schritten eines der vorherigen Patentansprüche.

10. System zur Bereitstellung von Diensten mittels Ablauf- steuerungskomponenten in einer Ablaufsteuerungsumgebung, mit - jeweils mindestens eine einem Dienst zugeordnete Server-

Komponente (UAS, 101), die durch eine in die AblaufSteue rungsumgebung ladbare und dort ausführbare AblaufSteue rungskomponente gebildet wird, - zumindest eine Proxy-Komponente (UAP, 200) eines die Ab laufsteuerungsumgebung umfassenden Teilnetzes, zur Annahme von Anfragen von einem Dienstabnehmer (UAC, 100),

- eine zentrale Verzeichnisdienst-Komponente (LDS, 201) die innerhalb des Teilnetzes gültigen AdressierungsInformatio nen an die Proxy-Komponente (UAP, 200) übermittelt, zur Entgegennahme der Registrierung des Servers (UAS, 101) mit seinen inneren Verbindungsdaten (111) und Ersetzen der in neren Verbindungsdaten (DiscoveryURI) durch die ermittel ten externen Netzwerk-AdressierungsInformationen (102)

- wobei die zumindest eine Proxy-Komponente (UAP, 200) Dienstzugriffsanfragen entsprechend den modifizierten AdressierungsInformationen an die Server-Komponenten wei terleitet.

11. System zur Bereitstellung von Diensten mittels Ablauf- steuerungskomponenten in einer Ablaufsteuerungsumgebung gemäß Patentanspruch 10, dadurch gekennzeichnet, dass die Proxy-Komponente (UAP, 200) als OPC UA Proxy mit Local Discovery Server Funktionalität (LDS, 201) ausgebildet ist.

12. System zur Bereitstellung von Diensten mittels Ablauf- steuerungskomponenten in einer Ablaufsteuerungsumgebung gemäß Patentanspruch 10 oder 11, dadurch gekennzeichnet, dass die Proxy-Komponente (200) geeignet und eingerichtet ist, ei ne Dienstanfrage zu empfangen und einen darin enthaltenen un verschlüsselten Teil dahingehend zu prüfen, ob der darin adressierte Empfänger die zentrale Verzeichnisdienst- Komponente (LDS, 201) ist, und die Dienstanfrage an diesen weiterleitet, so dass nach folgende Dienstanfragen von der zentralen Verzeichnisdienst- Komponente (LDS, 201) beantwortet werden.

13. System zur Bereitstellung von Diensten mittels Ablauf steuerungskomponenten in einer Ablaufsteuerungsumgebung gemäß einem der Patentansprüche 10 bis 12, dadurch gekennzeichnet, dass die Proxy-Komponente (UAP, 200) dazu geeignet und eingerich tet ist, eine einen darin enthaltenen unverschlüsselten Teil der Dienstanfrage zu empfangen und dahingehend zu prüfen, ob der darin adressierte Empfänger einen Dienste-Server (UAS, 101) ist, und die AdressInformation des entsprechenden inneren Dienste- Server (UAS, 101) ermittelt wird und

- der Verbindungsaufbau mit den ermittelten AdressInformatio nen des inneren Dienste-Servers (UAS, 101) fortgesetzt wird.

14. System zur Bereitstellung von Diensten mittels Ablauf- steuerungskomponenten in einer Ablaufsteuerungsumgebung gemäß einem der Patentansprüche 10 bis 13, dadurch gekennzeichnet, dass die Proxy-Komponente (UAP, 200) dazu geeignet und eingerich tet ist, die Verbindung auf das Übertragen weiterer darin enthaltenen unverschlüsselten Teil einer Diensteanfragen zu überwachen.

15. System zur Bereitstellung von Diensten mittels Ablauf- steuerungskomponenten in einer Ablaufsteuerungsumgebung gemäß Patentanspruch 14, dadurch gekennzeichnet, dass die Proxy-Komponente (UAP, 200) dazu geeignet und eingerich tet ist, die Diensteanfrage selbst zu beantworten, ohne diese an den Dienste-Server weiterzuleiten.

16. System zur Bereitstellung von Diensten mittels Ablauf- steuerungskomponenten in einer Ablaufsteuerungsumgebung gemäß Patentanspruch 14, dadurch gekennzeichnet, dass die Proxy-Komponente (UAP, 200) dazu geeignet und eingerich tet ist, die Dienstanfrage an die Verzeichnisdienst- Komponente (LDS, 201) weiterzuleiten, der sie stellvertretend für den adressierten Dienste-Server mit korrekten Adressanga- ben beantwortet.

17. System zur Bereitstellung von Diensten mittels Ablauf- steuerungskomponenten in einer Ablaufsteuerungsumgebung gemäß einem der Patentansprüche 10 bis 16, dadurch gekennzeichnet, dass der Dienste-Server (UAS, 101) über die Proxy-Komponente (UAP, 200) vorzugsweise über nur einen zuvor festgelegten Port an sprechbar ist.

Description:
Beschreibung

Verfahren, Computerprogrammprodukt sowie System zur Bereit stellung von Diensten

Die vorliegende Erfindung betrifft ein Verfahren, ein Compu- terprogrammprodukt sowie ein System zur Bereitstellung von Diensten, insbesondere in einem industriellen Automatisie rungssystem.

Industrielle AutomatisierungsSysteme umfassen üblicherweise eine Vielzahl von über ein industrielles Kommunikationsnetz miteinander vernetzten Automatisierungsgeräten und dienen im Rahmen einer Fertigungs- oder Prozessautomatisierung zur Steuerung oder Regelung von Anlagen, Maschinen bzw. Geräten. Aufgrund zeitkritischer Rahmenbedingungen in industriellen AutomatisierungsSystemen werden zur Kommunikation zwischen Automatisierungsgeräten überwiegend Echtzeit-Kommunika- tionsprotokolle, wie PROFINET, PROFIBUS, Real-Time-Ethernet oder Time-Sensitive Networking (TSN), verwendet. Insbesondere können Steuerungsdienste bzw. -anwendungen automatisiert und auslastungsabhängig auf aktuell verfügbare Server oder virtu- alisierten Umgebungen eines industriellen Automatisierungs systems verteilt werden.

Unterbrechungen von KommunikationsVerbindungen zwischen Rech nereinheiten eines industriellen AutomatisierungsSystems oder Automatisierungsgeräten können zu einer unerwünschten oder unnötigen Wiederholung einer Übermittlung einer Dienstanfor derung führen. Außerdem können nicht oder nicht vollständig übermittelte Nachrichten beispielsweise einen Übergang oder Verbleib eines industriellen AutomatisierungsSystems in einen sicheren Betriebszustand verhindern. In Ethernet-basierten Kommunikationsnetzen können Probleme entstehen, wenn Netzressourcen für eine Übermittlung von Da tenströmen oder von Datenrahmen mit Echtzeitanforderungen konkurrierend für eine Übermittlung von Datenrahmen mit gro ßem Nutzdateninhalt ohne spezielle Dienstgüteanforderungen beansprucht werden. Dies kann schließlich dazu führen, dass Datenströme oder Datenrahmen mit Echtzeitanforderungen nicht entsprechend einer angeforderten bzw. benötigten Dienstgüte übermittelt werden.

Mit der Industrial Edge können beispielsweise automatisie rungstechnische Anwender einfach und modular die von ihnen gewünschten Funktionalitäten für ihre Automatisierung in Form sogenannter Apps (Applikationen) installieren, aktualisieren und erweitern. Einerseits profitieren Anwendern von zentrali sierter und einfach skalierbarer Verwaltung auch vieler In dustrial Edge-Geräte, andererseits vom Markt, der ebenfalls Drittanbieter dieser Applikationen umfasst. Ein wesentlicher weiterer Aspekt, ist der Wunsch der Automatisierungsanwender, Applikationen unterschiedlicher Anbieter möglichst ohne zu sätzlichen Integrationsaufwand einfach installieren und so fort in Betrieb nehmen zu können.

Für einen semantisch hochwertigen und sicheren Datenaustausch hat sich in der Automatisierungstechnik OPC UA (OPG Unified Architecture, www.opcfoundation.org) etabliert. Applikations- Anbieter steigern die Attraktivität ihrer Apps, indem sie beispielsweise die von diesen berechneten Daten aus einer Produktionsdatenanalyse, Bildanalyse und dergleichen mehr, über einen integrierten OPC UA Server anderen Automatisie rungsfunktionen bereitstellen. Gegenüber der klassischen Ge rätewelt sind nun aber in das gleiche (Industrial Edge) Gerät nicht nur ein klassischer Geräte-OPC-Server zu integrieren, sondern mehrere Applikationen mit OPC UA Server Funktionali tät von verschiedener (Dritt-) Anbieter.

Eine manuelle Integration wie in der bisherigen Einzelgeräte weit ist aufwändig und fehlerträchtig, teilweise aufgrund mangelnder Konfigurationspunkte in den OPC UA Servern sogar unmöglich . Diese Integration umfasst aber nicht nur die Ap plikationen im Gerät, sondern auch das Zusammenspiel Geräte externer Anteile der Automatisierungs-Apps mit den Geräte- Apps.

Wird eine OPC UA Server-Applikation in einer Virtualisie- rungslösung wie beispielsweise einem (Docker) Container aus geführt, dann ist die Applikation zunächst einmal frei in den von ihr belegten Netzwerkressourcen wie insbesondere TCP- Ports - hier ist insbesondere bei OPC UA der Port 4840 für einen einzelnen Server vordefiniert.

Anwender von mittels Containervirtualisierung oder vergleich baren Virtualisierungskonzepten realisierten Steuerungsanwen dungen für industrielle AutomatisierungsSysteme erwarten eine möglichst unkomplizierte Integration derartiger Anwendungen in ihre bestehende Infrastruktur. Je nach Netzwerkanbindung und verwendeter Ablaufsteuerungsumgebung treffen insbesondere OPC UA Server auf höchst unterschiedliche anwenderseitige Konfigurationen, die durch Entwickler von Steuerungsanwendun gen bei automatisierten Konfigurationsverfahren für die Steu- erungsanwendungen berücksichtigt werden müssen. Bei der Netz- werkanbindung stellen anwenderseitig knappe IP-Adress- und TCP-Portnummernbereiche besondere Herausforderungen im Rahmen der Integration von Steuerungsanwendungen in eine bestehende Infrastruktur dar. Die OPC UA Server-Applikationen sind jedoch ohne weitere Maß nahmen nicht von außen erreichbar, so dass der Anwender die Server-Ports zwischen der App-Sicht und der Industrial Edge- Geräte-Sicht rangieren muss und dabei auf Port-Konflikte und das Einhalten möglicher Einschränkungen der Netzwerkumgebung achten muss - wie beispielsweise die begrenzte Menge der in Firewalls freischaltbaren Ports und deren konkrete Wertebe reiche bzw. voreingestellte Standardregeln ohne weiteren (Konfigurations-) Aufwand verwenden kann.

Außerdem muss der automatisierungstechnische Anwender die an deren Anteile seiner Automatisierungsapplikation mit den Ser vern über die konkreten NetzwerkadressierungsInformationen verknüpfen .

Stand der Technik

Die OPC Foundation beschreibt die Funktion des „Local Dis covery Server" LDS, über den die OPC UA Server innerhalb ei nes direkt erreichbaren Netzwerksegments aufgefunden werden können, nachdem sich die OPC UA Server zuvor am LDS - über den sogenannten „RegisterServer" Service - angemeldet haben. Bekannt ist die grundsätzliche Funktion eines OPC UA Proxy. Dieser agiert beispielsweise analog zu (Ingress) Web-Proxies, indem sie die auf einem gemeinsamen Netzwerkport eingehende Verbindungen anhand zusätzlicher Kriterien auf der Ebene der OPC UA-ApplikationsSchicht (aus Sicht des ISO/OSI- Schichtenmodells ) weiterschalten.

Der Local Discovery Server LDS hält eine Liste von allen OPC UA Applikationen vor.

Bei Virtualisierungsumgebungen wie (Docker) Containern be steht das Problem, dass ein OPC UA Server sich nur mit seinen „inneren" Netzwerkinformationen (IP-Adresse / Hostname und Port) am Local Discovery Server LDS registrieren kann. Diese inneren Netzwerkinformationen sind dabei die für den Contai ner selbst sichtbaren Netzwerkadressen und -ports, diese sind jedoch grundsätzlich von der Außenansicht auf Ebene eines Clusters oder eines Industrial Edge-Geräts verschieden.

In der Patentanmeldung mit dem Anmeldeaktenzeichen EP 20198692 Al „Verfahren und System zur Bereitstellung von zeitkritischen Diensten mittels einer Ablaufsteuerungsumge- bung" wird ein Mechanismus beschrieben, um die Registrie rungsinformationen aus Apps mit OPC UA-Servern beispielsweise in einem Cloud-System über sogenannte „Sidecar"-Container zu erfassen und gemäß einer gewünschten Cluster-Ingress- Betriebsart aufzubereiten und den am Eintrittspunkt des Clus ters betriebenen Load Balancer/Ingress-Einheiten zur Verfü gung zu stellen.

Die ältere Patentanmeldung mit dem Anmeldeaktenzeichen EP 20193690.3 betrifft ein Verfahren zur Bereitstellung von zeitkritischen Diensten, denen jeweils zumindest eine Server- Komponente zugeordnet ist, die durch eine in eine AblaufSteu erungsumgebung ladbare und dort ausführbare Ablaufsteuerungs- komponente gebildet wird. Für die Server-Komponenten wird je weils eine Funktionseinheit zur Verarbeitung eines Kommunika tionsprotokollstapels verfügbar gemacht, die mit einer der Ablaufsteuerungsumgebung zugeordneten Funktionseinheit zur Verarbeitung eines Kommunikationsprotokollstapels verbunden ist. Die Dienste umfassen jeweils eine Verzeichnisdienst- Komponente zur Ermittlung mittels der Ablaufsteuerungsumge bung bereitgestellter Dienste. Die Verzeichnisdienst- Komponenten werden miteinander über eine separierte Kommuni kationsschnittstelle verbunden. Mit der separierten Kommuni kationsschnittstelle ist eine mittels einer weiteren Ablauf- steuerungskomponente gebildete Aggregator-Komponente verbun- den, die Angaben über die mittels der Server-Komponenten be reitgestellten Dienste außerhalb der Ablaufsteuerungsumgebung verfügbar macht.

In der oben zitierten Anmeldung werden keine technischen Fra gen beim Verbindungsaufbau auf der Dienstebene von OPC UA ge klärt.

Bestehende Diensterkennungsverfahren (service / device dis- covery), insbesondere für OPC UA, sind primär auf eine Er mittlung von Diensten ausgelegt, die mittels physikalischer oder virtueller, Hypervisor-basierte Maschinen zur Nutzung verfügbar gemacht werden. Insbesondere relativ hohe Betriebs und Wartungskosten für Hypervisor-basierte virtuelle Maschi nen machen Virtualisierungskonzepte mit geringerem Ressour cenbedarf, z. B. Containervirtualisierung, gegenüber einer vollständigen Systemvirtualisierung zunehmend attraktiv. Dies gilt auch für industrielle Automatisierungssysteme.

Entsprechend der OPC UA-Spezifikationen ist zwar der Local Discovery Server LDS für OPC-UA basierte Dienste vorgesehen. Allerdings können mittels entsprechender Erkennungsverfahren lediglich jeweils Hosts innerhalb einer Broadcast-Domäne auf gefunden werden. Außerdem wird eine Multicast-Kommunikation innerhalb von Systemen zur Containervirtualisierung üblicher weise blockiert.

Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Bereitstellung von Diensten zu schaffen, das eine zuverlässige nutzerseifige Ermittlung von mittels Con tainervirtualisierung oder vergleichbarer Virtualisierungs konzepte bereitgestellten Diensten ermöglicht, sowie eine ge eignete Vorrichtung zur Durchführung des Verfahrens anzuge ben. Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den in Anspruch 1 angegebenen Merkmalen, einem Computerpro grammprodukt mit den im Anspruch 9 angegebenen Merkmalen und durch ein System mit den im Anspruch 10 angegebenen Merkmalen gelöst.

Vorteilhafte Weiterbildungen sind in den abhängigen Ansprü chen wiedergegeben.

Das beanspruchte Verfahren zur Bereitstellung von zeitkriti schen Diensten mittels Ablaufsteuerungskomponenten in einer Ablaufsteuerungsumgebung an einen Dienstabnehmer umfasst fol gende Schritte

- den Diensten wird jeweils zumindest eine Server-Komponente (UAS, 101) zugeordnet, die durch eine in die AblaufSteue rungsumgebung ladbare und dort ausführbare AblaufSteue rungskomponente gebildet wird,

- zumindest eine Proxy-Komponente eines die AblaufSteue rungsumgebung umfassenden Teilnetzes nimmt Dienst-Anfragen an,

- eine zentrale Verzeichnisdienst-Komponente (LDS, 201) übermittelt die innerhalb des Teilnetzes gültigen Adres sierungsinformationen an die Proxy-Komponente

- Registrierung der Server-Komponente (UAS, 101) an der zentralen Verzeichnisdienst-Komponente (LDS, 201) mit sei nen inneren Verbindungsdaten (111)

- Ermittlung zu jeweils innerhalb des Teilnetzes gültigen AdressierungsInformationen der Server-Komponente (UAS,

101) zugeordnete global gültige Zugangsinformationen,

- Modifikation der inneren Verbindungsdaten (DiscoveryURI und/oder EndpointURI) mittels der ermittelten externen Netzwerk-AdressierungsInformationen (102) in der zentralen Verzeichnisdienst-Komponente (LDS, 201), so dass die zumindest eine Proxy-Komponente (UAP, 200)

Dienstanfragen entsprechend den modifizierten Adressierungs informationen an die Server-Komponente (UAS, 101) weiterlei ten kann.

Die hier offenbarte Erfindung präzisiert auf der Patentanmel dung EP20198692 Al aufbauend die erforderliche Funktion der Load-Balancer/Ingress-Einheiten („Proxies") für den Betrieb mit OPC UA und insbesondere den Betrieb der Endpunkt- Ermittlung von EinzelServern sowie den sogenannten OPC UA „secure sessions" auf Ebene 7 des ISO/OSI-Schichtenmodells.

Ablaufsteuerungskomponenten sind insbesondere Software- Container, die jeweils von anderen Software-Containern oder Container-Gruppen isoliert innerhalb der Ablaufsteuerungsum- gebung auf einem Host-Betriebssystem einer Server-Einrichtung ablaufen . Grundsätzlich können für die Ablaufsteuerungskompo nenten auch alternative Micro-Virtualisierungskonzepte, wie Snaps, verwendet werden.

Die Ablaufsteuerungsumgebung kann beispielsweise eine Docker Engine oder einen Snap Core umfassen, die auf einer Server- Einrichtung abläuft. Vorteilhafterweise nutzen die Software- Container jeweils gemeinsam mit anderen auf der jeweiligen Server-Einrichtung ablaufenden Software-Containern einen Kernel des Host-BetriebsSystems der Server-Einrichtung. Spei cherabbilder für die Software-Container können beispielsweise aus einem durch eine Vielzahl von Nutzern lesend bzw. schrei bend zugreifbaren Speicher- und Bereitstellungssystem abgeru fen werden.

Jeder Server-Komponente ist eine Verzeichnisdienst-Komponente zugeordnet, mittels der ein Local Discovery Service (Ver zeichnisdienst-Komponente 201) realisiert wird. Ein solcher Ansatz ist in der älteren europäischen Patentanmeldung mit dem Anmeldeaktenzeichen EP 20193690.3, auf deren Offenba rungsgehalt hier Bezug genommen wird, detailliert beschrie ben. In diesem Fall übermitteln die Verzeichnisdienst- Komponenten die innerhalb des Teilnetzes gültigen Adressie rungsinformationen bzw. die lokal gültigen URLs über die Ab- gleich-Einheit an die Konfigurationseinheit und an die Aggre gator-Komponente 104.

Die hier vorgeschlagene Lösung wird auch in der Figur 1 an hand eines Beispiels der Industrial Edge mit OPC UA Kommuni kation dargestellt.

Vorgestellt wird ein Intelligenter Proxy für OPC UA Server in virtuelle Maschinen oder Docker Umgebungen, wie in der In dustrial Edge, der in die zunächst noch ungesicherten Dienstekommunikation eingreift, um sicherzustellen, dass OPC UA Clients sich erfolgreich mit OPC UA Servern in einem Con- tainer-Host/Industrial Edge verbinden können.

Der vorgeschlagene Proxy-Komponente UAP, 200 mit Local Dis covery Server Funktionalität LDS, 201 kann zeitgleich mehrere Probleme lösen.

Zum einen können OPC UA Clients UAC, 100 die auf einem ein zelnen Netzwerkgerät - wie beispielsweise einer Industrial Edge / Container Host - installierte Vielzahl von OPC UA Ser vern UAS, 101 mittels des Local Discovery Server LDS, 201 auffinden .

Die OPC UA Server UAS, 101 sind über die Proxy-Komponente UAP, 200 und vorzugsweise über nur einen Port, wie dem well- known Port 4840, ansprechbar, was die Security Aspekte der Netzwerktopologie aus administrativer Sicht verbessert. Vorteilhaft ist weiterhin, dass die administrative Sicht der Netzwerkressourcen über die Proxy-Komponente (200) von der internen Server- bzw. Container-Sicht entkoppelt ist.

Für die erfindungsgemäße Lösung spielt es keine Rolle, ob die funktionalen Einheiten Proxy-Komponente UAP, 200 und die Ver- zeichnisdienst-Komponente, Local Discovery Server LDS, 201 dabei als eine Einheit oder als getrennte Einheiten (Prozes se, Programme, usw.) ausgestaltet sind. Wichtig ist hingegen der Informationsabgleich (111) zwischen Verzeichnisdienst- Komponente, Local Discovery Server LDS ,201 und Proxy- Komponente UAP, 200. Die vom LDS bereitgestellten Informatio nen 111 ermöglichen es erst der Proxy-Komponente UAP, 200 Verbindungsanforderungen von OPC UA Clients UAC, 100 korrekt weiterzuleiten und bestimmte, noch unverschlüsselten Teil (in der Regel der Beginn) der Kommunikation zur Diensteanforde rung entweder eigenständig auf Basis von der bereitgestellten Information 111 zu beantworten oder alternativ die zugehöri gen Diensteantworten (ACK) korrekt umzuschreiben.

In einer vorteilhaften Ausgestaltungsform kann ein Dienst in seinem Container jeweils eine eigene Verzeichnisdienst- Komponente LDS umfassen und die Registrierung der Server- Komponente (UAS, 101) erfolgt an der dem Dienst zugeordneten Verzeichnisdienst-Komponente (LDS) mit seinen inneren Verbin dungsdaten (111).

Die gewünschte Gesamtfunktionalität wird dabei durch folgende Schritte erreicht:

1. Registrierung:

Bei der Registrierung des Servers am Local Discovery Server LDS, 201 mit seinen inneren Verbindungsdaten, 110, (innere

Host-Adressierungs-Information) werden dessen DiscoveryURI durch die (externen) Netzwerk-Adressierungsinformationen, 102 der (OPC UA) Proxy-Komponente s UAP, 200 ersetzt bzw. ange passt.

Hierbei wird der URI einer einzelnen Server-Instanz (101) beispielsweise durch angefügte individuelle URI Attribute eindeutig identifiziert.

Zum Beispiel:

Rinnere Verbindungsdaten>:Port/Pfad <FQDN/Host-IP>:4840/Roboter,

<FQDN/Host-IP>:4840/Camera

Beim Verbindungsaufbau von einem UA Client UAC, 100 zu einer der (externen) Netzwerk-AdressierungsInformationen (Endpoint URIs), 102, beispielsweise per HEL(LO)-Nachricht gemäß OPC UA-Standard prüft die (OPC UA) Proxy-Komponente UAP, 200:

Adressiert der in der Verbindungsanfrage „HEL(LO) " spezifi zierte Server „EndpointURI" den Local Discovery Server LDS, 201, wird die Verbindung an diesen weitergeleitet, so dass nachfolgende Diensteanfragen und -antworten vom Local Dis covery Server LDS beantwortet werden.

Hierbei handelt es sich bei dem genannten Beispiel OPC UA im Regelfall um die OPC UA Dienste „FindServers" oder „FindServersOnNetwork" .

Mit einer Diensteanfrage wird im Folgenden die gesamte Kommu nikation (z. B. TCP IP Verbindung) bezeichnet, und nicht nur ein einzelner OPC UA Service Request.

Adressiert der in der Verbindungsanfrage „HEL(LO) " spezifi zierte Server „EndpointURI" einen Server UAS, 101, wird dazu der entsprechende innere Server „EndpointURI" ermittelt und der Verbindungsaufbau mit dem inneren Server „EndpointURI" fortgesetzt .

Sofern nachfolgend ungesicherte Diensteanfragen und - antworten über diese Verbindung übertragen werden, greift die Proxy-Komponente gegebenenfalls gemäß nachfolgender Regel in diese Dienste ein:

Wenn sich eine von der Proxy-Komponente UAP, 200 an einen Dienste-Server UAS, 101 weitergeleitete Verbindung zunächst noch in der bestimmungsgemäß ungesicherten Betriebsart (d. h. ohne „secure session", unverschlüsselt) befindet, überwacht die Proxy-Komponente die Verbindung auf das Übertragen einer „GetEndpoints" Diensteanfrage. UA Clients UAC, 100 verwenden regelmäßig die „GetEndpoints" Diensteanfrage, um zwischen un ter Umständen mehreren von Servern zugleich angebotenen End punkten auszuwählen. Da die UA Server UAS, 101 jedoch nur ih re internen Endpunkte kennen, nicht jedoch die Außenansicht mit die Proxy-Komponente UAP, 200, muss die Proxy-Komponente bei diesem Dienst eingreifen; hierbei existieren grundsätz lich mehrere, prinzipiell gleichwertige Ausführungsvarianten:

Die Proxy-Komponente leitet die „GetEndpoints" Diensteanfrage an den betreffenden UA Server UAS weiter, überschreibt (kor rigiert) jedoch dessen Diensteantwort: dabei werden die vom UA Server UAS gemeldeten internen Server gemäß der Endpunkt-Informationen, 111 durch die zugehörigen externen „EndpointURI"s ersetzt.

Wird ein „GetEndpoint" Request von der Verzeichnisdienst- Komponente, Local Discovery Server, LDS, 201 oder Proxy- Komponente UAP, 201 an dem Server durchgeführt, können dessen „EndpointURI" vorab angepasst und gespeichert beziehungsweise gecached werden. Weiter mit dem Beispiel von oben:

<äußere Verbindungsdatenü:Port/Pfad

<FQDN/Host-IP> :4840/<innere Verbindungsdaten'>/Roboter, <FQDN/Host-IP> :4840//<innere Verbindungsdaten'>/Camera

Damit sind folgende weitere Ausprägungen möglich:

Die Proxy-Komponente UAP, 200 beantwortet die „GetEndpoints" Diensteanfrage selbst, ohne diese an den UA Server UAS, 101 weiterzuleiten; die bereits aufgebaute Verbindung zum UA Ser ver UAS wird hierbei nicht weiter benutzt. Die Proxy- Komponente UAP antwortet auf der Basis der ihm übermittelten Endpunkt-Informationen, 111 mit den zur Anfrage gehörigen ex ternen „EndpointURI"s des adressierten Dienste- Servers UAS.

Alternativ leitet die Proxy-Komponente UAP, 200 die „GetEnd points" Diensteanfrage an die Verzeichnisdienst-Komponente, Local Discovery Server LDS, 201 weiter, der sie stellvertre tend für die UA Server UAS mit den korrekten externen „End- pointURIs" beantwortet.

Die Proxy-Komponente UAP, 200 greift nicht in die weitere, und später evtl. gesicherte Kommunikation zwischen OPC UA Client UAC, 100 und OPC UA Server UAS, 101 im Rahmen einer „secure session" ein.

Die verschiedenen Teilnehmer im Ökosystem der Industrial Edge wünschen sich eine automatische Integration von OPC UA Ser ver-Apps, egal, von welchem Anbieter. Dabei muss auch der Einsatz aktueller OPC UA Security-Mechanismen, insbesondere der sogenannten „secure sessions", unterstützt werden. Um die „externe" Integration in Automatisierungsapplikationen mög lichst einfach auch im Hinblick auf spätere Änderungen zu ge- stalten, sollten die extern festzulegenden Netzwerkadressie rungsinformationen minimal gehalten werden, um Adressierungs konflikte beispielsweise mit anderen Apps zu vermeiden.

Weitere vorteilhafte Effekte ergeben sich daraus.

Durch das vorgeschlagene Verfahren und System erreicht man eine Verbesserung bzw. Vereinfachung des Inbetriebsetzens und der Security von Geräten mit mehreren OPC UA Servern bei spielswiese durch Nutzung nur eines einzigen TCP-Ports und damit einhergehende Vereinfachung der in der Kundeninfra struktur erforderlichen Security-Maßnahmen.

Die Abhängigkeit Server-Konfiguration von OPC UA

Apps/Containern wird von der Netzwerkanbindung des Geräts mit den Server-Apps entkoppelt.

OPC UA Clients wird ermöglicht, die beispielsweise auf einer Industrial Edge installierten OPC UA Server-Applikationen korrekt per OPC UA Diensten nicht nur aufzufinden, sondern auch erfolgreich Verbindungen zu diesen aufzubauen.

TCP-Portkonflikte auf Geräten können vermieden werden, bei spielsweise bei um den vordefinierten Port 4840 konkurrieren den OPC UA Server-Apps.

Das fehleranfälligen TCP-Port-Managements (inklusive des Security-Konzepts ) durch den Anwender wird vermieden, in Ko operation mit den einzelnen OPC UA Server-App-Anbietern - so weit überhaupt möglich.