DE10332360A1 - Verfahren und System zur Ereignisübertragung - Google Patents

Verfahren und System zur Ereignisübertragung Download PDF

Info

Publication number
DE10332360A1
DE10332360A1 DE10332360A DE10332360A DE10332360A1 DE 10332360 A1 DE10332360 A1 DE 10332360A1 DE 10332360 A DE10332360 A DE 10332360A DE 10332360 A DE10332360 A DE 10332360A DE 10332360 A1 DE10332360 A1 DE 10332360A1
Authority
DE
Germany
Prior art keywords
event
client
server
service
registration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE10332360A
Other languages
English (en)
Other versions
DE10332360B4 (de
Inventor
Eckhard Dr.-Ing. Kruse
Zaijun Dr.-Ing. Hu
Yauheni Dipl.-Ing. Veryha
Jens Dipl.-Inform. Doppelhamer
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.)
ABB Schweiz AG
Original Assignee
ABB Research Ltd Switzerland
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 ABB Research Ltd Switzerland filed Critical ABB Research Ltd Switzerland
Priority to DE10332360.0A priority Critical patent/DE10332360B4/de
Priority to PCT/EP2004/003837 priority patent/WO2005018193A1/de
Priority to US10/562,046 priority patent/US8005941B2/en
Publication of DE10332360A1 publication Critical patent/DE10332360A1/de
Application granted granted Critical
Publication of DE10332360B4 publication Critical patent/DE10332360B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable

Abstract

Die Erfindung betrifft Verfahren und ein System zur Verwaltung und Übertragung von Ereignissen von einem Server (2) über eine Kommunikationsverbindung (9) zu mindestens einem Client (1), wobei der Server (2) mindestens einen Server-Ereignisdienst (7), der über eine Kommunikationsverbindung (9) mit mindestens einem Client (1) kommuniziert, und mindestens eine Anlagenschnittstelle (10), die mit dem mindestens einen Server-Ereignisdienst (7) kommuniziert, aufweist. Der Client (1) weist mindestens einen Client-Ereignisdienst (6) auf, der über eine Kommunikationsverbindung (9) mit dem Server (2) kommuniziert. Eine Registrierung möglicher Ereignisse findet sowohl in dem Client-Ereignisdienst (6) als auch in dem Server-Ereignisdienst (7) statt. Eintretende Ereignisse werden von der Anlagenschnittstelle (10) an den Server-Ereignisdienst (7) übergeben, der Client-Ereignisdienst (6) initiiert Anfragen an den Server-Ereignisdienst (7), und aufgrund einer eingegangenen Anfrage an den Server-Ereignisdienst (7) werden die erfassten Ereignisse zum Client-Ereignisdienst (6) übertragen. Vom Client-Ereignisdienst (6) empfangene Ereignisse werden zu einer Client-Anwendung (4) übertragen.

Description

  • Die Erfindung betrifft ein Verfahren und ein System zur Übertragung von Ereignissen in einer web-basierten Client-Server-Umgebung von einem Server zu einem Client, insbesondere zur Übertragung von Alarm- und Ereignismeldungen einer zu überwachenden technischen Anlage. Unter der Übertragung eines Ereignisses ist in diesem Zusammenhang und im folgenden insbesondere die Übertragung von Informationen zu verstehen, die ein Ereignis beschreiben.
  • Client/Server-Systeme werden vielfach zur dezentralen Überwachung und auch zur Steuerung technischer Anlagen, wie beispielsweise Fertigungsanlagen, oder Anlagen der Gebäudeleittechnik, eingesetzt. Die jeweilige technische Anlage ist dabei üblicherweise mit einer Datenerfassungseinheit ausgestattet, beispielsweise einer speicherprogrammierbaren Steuerung (SPS), die in der Anlage eintretende Ereignisse und Alarme erfasst und an einen Leitrechner übermittelt. Der Leitrechner befindet sich in der Regel räumlich in der Nähe der Anlage und ist durch ein Bussystem mit der Datenerfassungseinheit verbunden. Der Leitrechner verfügt unter anderem über eine Datenbank, in der ein aktuelles Abbild des Zustandes der Anlage enthalten ist, und über eine Ereignisliste, in der die von der Datenerfassungseinheit übermittelten Ereignisse, insbesondere Zustandsänderungen, eingetragen und gespeichert werden. Der Leitrechner fungiert als Server, der über eine Kommunikationsverbindung, beispielsweise über das Internet, Daten mit einem oder mehreren Clients austauscht, die sich räumlich getrennt vom Server befinden.
  • Der Client verfügt über eine Applikation, die als Schnittstelle zum Bediener fungiert, und mit deren Hilfe die technische Anlage überwacht und gesteuert werden kann. Eine wesentliche Aufgabe eines solchen Client/Server-Systems besteht darin, in der Anlage eintretende Ereignisse möglichst schnell zur Applikation des Clients (Client-Anwendung) zu übertragen.
  • In üblichen Kommunikationsnetzwerken, die auf dem Anfrage-Antwort-Modell basieren, wie beispielsweise dem Internet, hat der Server keine Möglichkeit, von sich aus aktiv Nachrichten an den Client zu senden. Deshalb ist er nicht in der Lage, Ereignisse spontan zu einem oder mehreren Clients zu übertragen. Bei herkömmlichen Client/Server-Systemen stellt der jeweilige Client Anfragen zur Ereignisübermittlung an den Server, woraufhin der Server die Ereignisse übermittelt, die seit der letzten Anfrage eingetreten sind. Dieses Verfahren erfüllt nicht die Anforderungen an eine Ereignisübertragung, bei welcher der Server aktiv die Clients über eintretende Ereignisse benachrichtigen muss.
  • Aufgabe der Erfindung ist es, ein Verfahren und ein System zur Verwaltung und Übertragung von Ereignissen von einem Server zu einem Client zu schaffen, bei dem die Datenübertragung aus Sicht des Clients durch den Server initiiert erfolgt.
  • Die Aufgabe wird erfindungsgemäß durch ein Verfahren mit den im Anspruch 1 angegebenen Merkmalen gelöst. Ein entsprechendes System und vorteilhafte Ausgestaltungen sind in weiteren Ansprüchen und in der Figurenbeschreibung angegeben.
  • Das erfindungsgemäße Verfahren sieht vor, dass für jedes Ereignis, das von einem Server über eine Kommunikationsverbindung zu einem Client, beziehungsweise einer Client-Anwendung, zu übertragen ist, eine Registrierung des Ereignisses mittels eines Client-Ereignisdienstes und eines Server-Ereignisdienstes vorgenommen wird. Es werden nur die Ereignisse vom Server zum Client übertragen, für die eine Registrierung vorgenommen wurde. Durch eine solche Ereignisregistrierung findet jeweils eine Aktualisierung, beziehungsweise durch die erste Registrierung eine Initialisierung, des Client/Server-Systems statt. Tritt ein Ereignis ein, so wird es zunächst einer Anlagenschnittstelle des Servers gemeldet. Wurde für das betreffende Ereignis eine Registrierung vorgenommen, so wird es von der Anlagenschnittstelle an den Server-Ereignisdienst übergeben. Der Client-Ereignisdienst stellt, beispielsweise periodisch; über die Kommunikationsverbindung Anfragen zur Ereignisübermittlung an den Server-Ereignisdienst. Liegt ein vom Server-Ereignisdienst erfasstes Ereignis vor, so wird es aufgrund der eingegangenen Anfrage über die Kommunikationsverbindung zum Client-Ereignisdienst übertragen. Innerhalb des Clients überträgt der Client-Ereignisdienst empfangene Ereignisse zur Client-Anwendung, wo das Ereignis beispielsweise zur Meldung gebracht wird, indem ein das Ereignis beschreibender Eintrag in einer Ereignisliste erzeugt wird. Somit sind zur Übertragung eines eingetretenes Ereignis zur Client-Anwendung keine aktive Anfragen der Client-Anwendung nötig. Da die Client-Anwendung nicht mit dem Server sondern nur mit dem Client-Ereignisdienst kommuniziert, ist sie vom Server unabhängig. Mit Hilfe des Verfahrens geschieht die Ereignisbehandlung aus Sicht der Client-Anwendung wie in einer lokalen Umgebung.
  • Eine Anwendung des erfindungsgemäßen Verfahrens liegt beispielsweise in der Überwachung technischer Anlagen. Zu übertragende Ereignisse werden in diesem Fall von der Datenerfassungseinheit einer zu überwachenden technischen Anlage erfasst und an die Anlagenschnittstelle des Servers gemeldet.
  • In einer vorteilhaften Ausgestaltung der Erfindung registriert die Client-Anwendung für jedes Ereignis, über das sie zu benachrichtigen ist, beim Client-Ereignisdienst eine entsprechende Client-Rückruffunktion. Der Client-Ereignisdienst registriert daraufhin über die Kommunikationsverbindung eine entsprechende Server-Rückruffunktion beim Server-Ereignisdienst. Diese Registrierung wird für jedes Ereignis, über das die Client-Anwendung zu benachrichtigen ist, separat durchgeführt. Auf diese Weise ist es möglich, alle Ereignisse unabhängig voneinander zu behandeln.
  • Vorteilhafterweise wird verfahrensvorbereitend eine Zuordnung, beispielsweise in Form einer Liste, vorgenommen, so dass anhand dieser Zuordnung jedem in der Anlage möglicherweise auftretenden Ereignis ein eindeutiger Name zugeordnet wird. Diese Zuordnung ist im Client und im Server vorhanden. Somit ist sichergestellt, dass im Client und im Server jedem Ereignis der gleiche Name zugeordnet ist. Zur Registrierung der Rückruffunktionen ruft die Client-Anwendung eine Client- Registrierungsfunktion des Client-Ereignisdienstes auf und übergibt ihr den Namen des betreffenden Ereignisses und einen Zeiger auf die zu registrierende Client-Rückruffunktion. Die Client-Registrierungsfunktion generiert daraufhin eine eindeutige Ereigniskennung und übermittelt diese Ereigniskennung zusammen mit dem Ereignisnamen über die Kommunikationsverbindung an eine Server-Registrierungsfunktion des Server-Ereignisdienstes. Die Server-Registrierungsfunktion registriert bei der Anlagenschnittstelle eine Server-Rückruffunktion durch Übergabe des Ereignisnamens. Daraufhin speichert die Server-Registrierungsfunktion einen Datensatz, der die Ereigniskennung, einen Zeiger auf die zu registrierende Server-Rückruffunktion und gegebenenfalls weitere Daten, wie beispielsweise den Ereignisnamen, enthält, in einer Server-Ereignistabelle. Anschließend meldet die Server-Registrierungsfunktion die Durchführung der Registrierung über die Kommunikationsverbindung zurück an die Client-Registrierungsfunktion des Client-Ereignisdienstes. Daraufhin registriert die Client-Registrierungsfunktion die Client-Rückruffunktion, indem sie einen Datensatz, der die Ereigniskennung, einen Zeiger auf die zu registrierende Client-Rückruffunktion und gegebenenfalls weitere Daten, wie beispielsweise den Ereignisnamen, enthält, in einer Client-Ereignistabelle speichert.
  • Von Vorteil ist es, wenn die Client-Registrierungsfunktion nach der erstmaligen Registrierung einer Client-Rückruffunktion einen Anfragegenerator des Client-Ereignisdienstes startet. Der Anfragegenerator stellt ab diesem Zeitpunkt Anfragen zur Ereignisübermittlung an den Server-Ereignisdienst. Dadurch ist sichergestellt, dass beim Server-Ereignisdienst nur Anfragen von Clients eintreffen, für die auch Ereignisse registriert sind.
  • Ein weiterer Vorteil ist es, dass der Anfragegenerator die Anfragen zur Ereignisübermittlung an den Server-Ereignisdienst zyklisch stellt. Die Zykluszeit ist dabei variabel und kann somit an die jeweiligen Bedingungen angepasst werden.
  • In einer vorteilhaften Ausgestaltung läuft die Übertragung von Ereignissen in mehreren Schritten ab. Dabei erfasst zunächst die Anlagenschnittstelle das eingetretene Ereignis und ruft die für dieses Ereignis registrierte Server-Rückruffunktion des Server-Ereignisdienstes auf. Daraufhin erzeugt die Server-Rückruffunktion einen das Ereignis beschreibenden Eintrag in einer Ereigniswarteschlange. Da für jeden Client, der mit dem Server kommuniziert, eine eigene Ereigniswarteschlange angelegt ist, wird der Eintrag gegebenenfalls in mehreren Ereigniswarteschlangen erzeugt, sofern mehrere Clients für dieses Ereignis eine Rückruffunktion registriert haben. Bei der nächsten Anfrage des Client-Ereignisdienstes zur Ereignisübermittlung liest der Server-Ereignisdienst den erzeugten Eintrag aus der dem Client zugeordneten Ereigniswarteschlange aus und übermittelt ihn über die Kommunikationsverbindung an den Client-Ereignisdienst. Der Client-Ereignisdienst ermittelt aus dem vom Server-Ereignisdienst erhaltenen Eintrag die für dieses Ereignis registrierte Client-Rückruffunktion und ruft diese auf. Die Client-Rückruffunktion führt anschließend in der Client-Anwendung eine Aktion aus, die für das entsprechende Ereignis definiert ist, beispielsweise wird ein Eintrag in einer Ereignisliste erzeugt oder es erfolgt eine Anzeige in einer graphischen Darstellung.
  • In einer vorteilhaften Ausgestaltung der Erfindung wird fakultativ eine Aufräumfunktion des Server-Ereignisdienstes aufgerufen, welche die Kommunikation mit dem Client-Ereignisdienst überwacht. Werden von einem Client-Ereignisdienst über einen vorgebbaren Zeitraum keine Anfragen mehr übermittelt, so erkennt die Aufräumfunktion, dass der Client nicht mehr mit dem Server kommuniziert, und löscht daraufhin die Server-Ereignistabelle und die Ereigniswarteschlange. Auf diese Weise wird sichergestellt, dass nicht benötigte Ressourcen, insbesondere Speicherplatz, wieder freigegeben werden. Im Normalbetrieb meldet der Client-Ereignisdienst alle Ereignisbehandlungen ab bevor er die Kommunikation mit dem Server-Ereignisdienst beendet, wodurch die Ressourcen automatisch freigegeben werden. Aufgabe der Aufräumfunktion ist es, Ressourcen freizugeben, wenn keine Abmeldung von Ereignisbehandlungen stattgefunden hat, beispielsweise nach einem Ausfall des Clients oder einem unvorhergesehenen Verbindungsabbruch. Die Aufräumfunktion kann beispielsweise von einem Benutzer bei Bedarf aufgerufen werden, oder sie kann automatisch zu festlegbaren Zeiten, beispielsweise einmal täglich, aufgerufen werden. Eine effiziente Methode besteht darin, bei Zugriffen auf Funktionen des Server-Ereignisdienstes, beispielsweise der Server-Registrierungsfunktion, zusätzlich automatisch die Aufräumfunktion aufzurufen.
  • Des weiteren betrifft die Erfindung ein System zur Verwaltung und Übertragung von Ereignissen von einem Server über eine Kommunikationsverbindung zu einem Client. Der Client, zu dem die Ereignisse der Anlage übertragen werden, weist zur Registrierung möglicher Ereignisse mindestens einen Client-Ereignisdienst auf, der über die Kommunikationsverbindung, beispielsweise das Internet oder ein internes Netzwerk, Anfragen zur Ereignisübermittlung an einen Server-Ereignisdienst stellt. Weiterhin überträgt der Client-Ereignisdienst empfangene Ereignisse an eine Client-Anwendung. Der Server weist zur Registrierung möglicher Ereignisse mindestens einen Server-Ereignisdienst auf, der über eine Kommunikationsverbindung erfasste Ereignisse zu einem Client-Ereignisdienst überträgt. Weiterhin weist der Server eine Anlagenschnittstelle auf, die eingetretene Ereignisse an den Server-Ereignisdienst übergibt.
  • Ein Einsatz des erfindungsgemäßen Systems liegt beispielsweise in der Überwachung technischer Anlagen. Zu diesem Zweck steht die Anlagenschnittstelle des Servers mit einer Datenerfassungseinheit einer technischen Anlage in Verbindung, um von der Datenerfassungseinheit erfasste Ereignisse einzulesen.
  • Gemäß einer vorteilhaften Ausgestaltung verfügt der Server-Ereignisdienst über eine oder mehrere Server-Rückruffunktionen, die jeweils für mindestens ein Ereignis registrierbar sind. Eine Server-Rückruffunktion wird bei Eintritt des Ereignisses, für das sie registriert ist, von der Anlagenschnittstelle aufgerufen.
  • Gemäß einer vorteilhaften Weiterbildung der Erfindung besitzt der Server-Ereignisdienst mindestens eine Server-Registrierungsfunktion zur Registrierung von Server-Rückruffunktionen, mindestens eine Server-Ereignistabelle zur Aufnahme von Datensätzen, die jeweils eine Registrierung beschreiben, und mindestens eine Ereigniswarteschlange zur Aufnahme von Einträgen, die jeweils ein Ereignis beschreiben.
  • Von Vorteil ist auch, dass der Server-Ereignisdienst für jeden Client-Ereignisdienst, mit dem er über die Kommunikationsverbindung kommuniziert, einen separaten Client-Datensatz aufweist, der jeweils mindestens eine Server-Ereignistabelle und eine Ereigniswarteschlange enthält. Das heißt, dass für jeden Client, der mindestens eine Server-Rückruffunktion registriert hat, ein separater Client-Datensatz angelegt ist, in dem die Seever-Ereignistabelle und die Ereigniswarteschlange zusammengefasst sind.
  • In einer vorteilhaften Ausgestaltung der Erfindung weist der Server-Ereignisdienst eine Aufräumfunktion auf, die alle vorhandenen Client-Datensätze und die Kommunikation mit den zugehörigen Client-Ereignisdiensten überwacht. Werden von einem Client-Ereignisdienst über einen vorgebbaren Zeitraum keine Anfragen mehr übermittelt, so erkennt die Aufräumfunktion, dass der zugehörige Client nicht mehr mit dem Server kommuniziert, und löscht daraufhin den zugehörigen Client-Datensatz. Auf diese Weise wird sichergestellt, dass nicht benötigte Ressourcen, insbesondere Speicherplatz, wieder freigegeben werden.
  • Eine vorteilhafte Ausführungsform der Erfindung sieht vor, dass die in einem Client-Datensatz enthaltene Server-Ereignistabelle als Hash-Tabelle ausgeführt ist. Sie nimmt Datensätze auf, die mindestens eine Ereigniskennung und einen Zeiger auf die zu registrierende Server-Rückruffunktion enthalten. Optional können in den Datensätzen weitere Daten, beispielsweise der Ereignisname, vorhanden sein. Eine Hash-Tabelle bietet den Vorteil, dass beispielsweise mit der Ereigniskennung als Schlüssel ein sehr effizienter Zugriff auf den zugehörigen Datensatz möglich wird, insbesondere bei einer großen Anzahl zu verwaltender Tabelleneinträge. Die Verwendung anderer Datenstrukturen wie Bäume, lineare Listen oder einfache Arrays ist ebenfalls möglich.
  • Vorteilhafterweise besitzt der Client mindestens eine Client-Rückruffunktion, die für mindestens ein Ereignis registrierbar ist und die bei Eintritt des Ereignisses, für das sie registriert ist, aufgerufen wird. Die Client-Rückruffunktion benachrichtigt die Client-Anwendung über ein in der Anlage eingetretenes Ereignis.
  • In diesem Zusammenhang ist es auch von Vorteil, dass der Client-Ereignisdienst mindestens eine Client-Registrierungsfunktion zur Registrierung von einer oder mehreren Client-Rückruffunktionen besitzt. Weiterhin besitzt er eine Client-Ereignistabelle zur Aufnahme von Datensätzen, welche die Registrierung beschreiben, und einen Anfragegenerator zur Durchführung von zyklischen Anfragen an einen oder mehrere Server-Ereignisdienste zur Ereignisübermittlung.
  • Eine vorteilhafte Ausführungsform der Erfindung sieht vor, dass auch die Client-Ereignistabelle als Hash-Tabelle ausgeführt ist. Sie nimmt Datensätze auf, die mindestens eine Ereigniskennung und einen Zeiger auf die zu registrierende Client-Rückruffunktion enthalten. Optional können in den Datensätzen weitere Daten, beispielsweise der Ereignisname, vorhanden sein.
  • Anhand nachfolgender Zeichnungen werden Ausführungsbeispiele und vorteilhafte Ausgestaltungen der Erfindung näher erläutert.
  • Es zeigen:
  • 1 ein Verfahren zur An- und Abmeldung einer Ereignisbehandlung und zur Ereignisübertragung anhand eines Sequenzdiagramms,
  • 2 eine beispielhafte Architektur eines erfindungsgemäßen Client/Server-Systems und
  • 3 Datenstrukturen zur Speicherung der Daten der Ereignisbehandlung.
  • In 1 ist in einem Sequenzdiagramm das Verfahren zur An- und Abmeldung einer Ereignisbehandlung sowie zur Übertragung eingetretener Ereignisse an den Client dargestellt.
  • Zur Anmeldung einer Ereignisbehandlung ruft eine Client-Anwendung 4 in einem ersten Schritt 101 eine Client-Registrierungsfunktion 61 auf. Diese ruft in einem zweiten Schritt 102 eine Server-Registrierungsfunktion 71 auf, welche daraufhin in einem dritten Schritt 103 eine entsprechende Registrierung in einer Anlagenschnittstelle 10 des Servers veranlasst. Das Ergebnis der Registrierung wird in einem vierten Schritt 104 an die Client-Registrierungsfunktion 61 und von dort in einem fünften Schritt 105 an die Client-Anwendung 4 zurückgesendet. Bei erstmaliger Registrierung eines Ereignisses wird darüber hinaus in einem zusätzlichen Schritt 106 von der Client-Registrierungsfunktion 61 ein Anfragegenerator 63 gestartet.
  • Der Anfragegenerator 63 läuft parallel zu den anderen clientseitigen Prozessen und sendet zyklisch Anfragen an eine Ereigniswarteschlange 75, beziehungsweise an eine Warteschlangenverwaltung 76. In einem ersten Schritt 107 erfolgt eine solche Anfrage des Anfragegenerators 63, die von der Ereigniswarteschlange 75 in einem zweiten Schritt 108 mit der Übertragung einer Ereignisliste beantwortet wird. Liegt kein zu übertragendes Ereignis vor, so ist diese Ereignisliste leer. Die Frequenz, mit der die zyklischen Anfragen durchgeführt werden, ist vorgebbar. Eine sinnvolle Auslegung muss berücksichtigen, dass die Zyklusdauer entscheidenden Einfluss auf die maximale Verzögerung bei der Benachrichtigung über ein Ereignis hat. Andererseits wird der Server bei kurzen Zyklen durch häufige Anfragen stärker belastet, so dass für die konkrete Situation ein Kompromiss zwischen Server-Belastung und akzeptabler Verzögerungszeit gefunden werden muss. Kommt es zu einem Ereignis, für das eine Registrierung durchgeführt wurde, so ruft die Anlagenschnittstelle 10 in einem dritten Schritt 109 eine registrierte Server-Rückruffunktion 72 auf. Diese erzeugt in einem vierten Schritt 110 einen entsprechenden Eintrag in der Ereigniswarteschlange 75. Aufgrund der nächsten Anfrage des Anfragegenerators 63 in einem fünften Schritt 111 wird der Eintrag aus der Ereigniswarteschlange 75 ausgelesen und in einem sechsten Schritt 112 an den Anfragegenerator 63 des Clients zurückgeliefert. Der Anfragegenerator 63 ruft daraufhin, eventuell über einen Rückrufgenerator 64, in einem siebten Schritt 113 eine registrierte Client-Rückruffunktion 41 der Client-Anwendung 4 auf.
  • Zur Abmeldung einer Ereignisbehandlung ruft die Client-Anwendung 4 in einem ersten Schritt 114 die Client-Registrierungsfunktion 61 auf. Diese ruft in einem zweiten Schritt 115 die Server-Registrierungsfunktion 71 auf, welche daraufhin in einem dritten Schritt 116 in der Anlagenschnittstelle 10 des Servers eine Entfernung der zuvor erfolgten Registrierung veranlasst. Das Ergebnis der Entfernung der Registrierung wird in einem vierten Schritt 117 an die Client-Registrierungsfunktion 61 und von dort in einem fünften Schritt 118 an die Client-Anwendung 4 zurückgesendet. Wenn für den Client 4 nach Abmeldung einer Ereignisbehandlung keine weiteren Ereignisbehandlungen mehr vorhanden sind, so wird in einem zusätzlichen Schritt 119 der Anfragegenerator 63 gestoppt.
  • In 2 ist eine mögliche Architektur des Client/Server-Systems gezeigt.
  • Das System weist einen Client 1 und einen Server 2 auf, die über eine Kommunikationsverbindung 9, beispielsweise das Internet, miteinander kommunizieren.
  • Der Client 1 weist eine oder mehrere Anwendungen 4, wie beispielsweise Bedienoberflächen oder Anwendungsprogramme zur Anlagensteuerung, auf, welche über die Kommunikationsverbindung 9 mit Server-Applikationen 5 kommunizieren, beispielsweise um Datenbankabfragen vorzunehmen oder um Steuersignale zu senden. Gegebenfalls erfolgt die Kommunikation mit dem Server 2 über einen clientseitigen Stellvertreter (Proxy), so dass die Client-Anwendung 4 nur lokal mit entsprechenden Diensten des Clients 1 kommuniziert. Die Übertragung über das Internet kann beispielsweise über einen Web-Service oder SOAP-Aufrufe (Simple Object Access Protocol) erfolgen.
  • Die Client-Anwendung 4 verfügt über mehrere Client-Rückruffunktionen 41 ; die bei der Anmeldung von Ereignisbehandlungen registrierbar sind und bei Eintritt eines Ereignisses aufrufbar sind. Der Client 1 weist weiterhin einen Client-Ereignisdienst 6 auf, der die An- und Abmeldungen von Ereignisbehandlungen für die Client-Anwendung 4 durchführt, und der von dem Server 2 übermittelte Ereignisse an die Client-Anwendung 4 überträgt.
  • Der Client-Ereignisdienst 6 verfügt über eine Client-Registrierungsfunktion 61, die von der Client-Anwendung 4 zur Registrierung einer Client-Rückruffunktion 41 aufrufbar ist, und eine Client-Ereignistabelle 62, in welche die Daten der Ereignisbehandlung, wie Ereigniskennung, Ereignisname und Zeiger auf zu registrierende Client-Rückruffunktionen 41, eintragbar sind, und aus welcher diese Daten auslesbar sind. Weiterhin weist der Client-Ereignisdienst 6 einen Anfragegenerator 63 auf, der zyklisch Anfragen zur Ereignisübermittlung an den Server 2 sendet, und der vom Server 2 übermittelte Ereignisse aufnimmt. Zusätzlich verfügt der Client-Ereignisdienst 6 über einen Rückrufgenerator 64, an den der Anfragegenerator 63 übermittelte Ereignisse weiterleitet, und der die für ein betreffendes Ereignis registrierte Client-Rückruffunktion 41 aufruft.
  • Der Server 2 verfügt über eine Anlagenschnittstelle 10, die über ein lokales Netzwerk mit einer technischen Anlage 3, beziehungsweise ihrer Datenerfassungseinheit, kommuniziert. Anstelle des lokalen Netzwerkes kann auch eine direkte drahtgebunden Verbindung oder eine Funkverbindung vorhanden sein; auch eine Kommunikation über ein globales Netzwerk wie das Internet ist möglich. Weiterhin besitzt der Server 2 eine Server-Applikation 5, die beispielsweise als Datenbank aufgebaut ist, und die ein Abbild der zu überwachenden Anlage 3 enthält.
  • Der Server 2 weist weiterhin einen Server-Ereignisdienst 7 auf, der die An- und Abmeldungen von Ereignisbehandlungen durchführt, und der von der Anlagenschnittstelle 10 übermittelte Ereignisse über die Kommunikationsverbindung 9 an den Client-Ereignisdienst 6 überträgt.
  • Der Server-Ereignisdienst 7 weist eine Server-Registrierungsfunktion 71 auf, welche über die Kommunikationsverbindung 9 mit der Client-Registrierungsfunktion 61 kommuniziert, und welche die Registrierung von Server-Rückruffunktionen 72 für eintretende Ereignisse sowohl bei der Anlagenschnittstelle 10 als auch bei dem Server-Ereignisdienst 7 durchführt. Zu diesem Zweck weist der Server-Ereignisdienst 7 eine oder mehrere Server-Rückruffunktionen 72 auf, die für eintretende Ereignisse registrierbar sind, und die bei Eintritt eines Ereignisses aufrufbar sind.
  • Weiterhin weist der Server-Ereignisdienst 7 für jeden Client, der mit dem Server kommuniziert, eine Server-Ereignistabelle 74 auf, in welche die Daten der Ereignisbehandlung, wie Ereignis-Kennung, Ereignisnamen und ein Zeiger auf die zu registrierende Server-Rückruffunktion 72, eintragbar sind. Auch verfügt der Server-Ereignisdienst 7 für jeden Client, der mit dem Server kommuniziert, über eine Ereigniswarteschlange 75, in welche Datensätze, die eingetretene Ereignisse beschreiben, eintragbar sind.
  • Die Server-Ereignistabelle 74 und die zugehörige Ereigniswarteschlange 75 bilden je einen Client-Datensatz 73. Alle Client-Datensätze 73 sind in einer Client-Datenbank 78 des Server-Ereignisdienstes 7 zusammengefasst.
  • Weiterhin besitzt der Server-Ereignisdienst 7 eine Warteschlangenverwaltung 76, welche die Anfragen des Anfragegenerators 63 beantwortet, und welche Einträge aus der Ereigniswarteschlange 75 entnimmt und an den Anfragegenerators 63 übermittelt.
  • Zusätzlich verfügt der Server-Ereignisdienst 7 über eine Aufräumfunktion 77, welche die Kommunikation mit dem Client-Ereignisdienst 6 überwacht, und welche den Client-Datensatz 73 löscht, wenn der zugehörige Client-Ereignisdienst 6 nicht mehr mit dem Server-Ereignisdienst 7 kommuniziert. Treffen von einem Anfragegenerator 63 über einen vorgebbaren Zeitraum keine Anfragen mehr ein, so erkennt die Aufräumfunktion 77, dass der zugehörige Client 1 nicht mehr mit dem Server 2 kommuniziert, und löscht daraufhin den zugehörigen Client-Datensatz 73. Der besagte Zeitraum ist dabei deutlich größer vorzugeben als die Zykluszeit des Anfragegenerators 63, also der Zeitspanne zwischen zwei Anfragen. Auf diese Weise wird sichergestellt, dass nicht benötigte Ressourcen, insbesondere Speicherplatz, wieder freigegeben werden.
  • Nachfolgend wird das Verfahren zur Anmeldung einer Ereignisbehandlung anhand des Systems nach 2 beschrieben. Zur Registrierung einer Client-Rückruffunktion 41 ruft die Client-Anwendung 4 die Client-Registrierungsfunktion 61 des Client-Ereignisdienstes 6 auf und übergibt einen Zeiger auf die zu registrierende Client-Rückruffunktion 41. Die Client-Registrierungsfunktion 61 generiert daraufhin eine eindeutige Ereigniskennung, mit deren Hilfe die Daten der Ereignisbehandlung bei dem Server 2 und dem Client 1 einander zugeordnet werden. Danach leitet die Client-Registrierungsfunktion 61 den Namen des Ereignisses, für das eine Registrierung erfolgen soll, zusammen mit der generierten Ereigniskennung Kommunikationsverbindung 9 an die Server-Registrierungsfunktion 71 des Server-Ereignisdienstes 7 weiter. Die Server-Registrierungsfunktion 71 registriert eine Server-Rückruffunktion 72 bei der Anlagenschnittstelle 10 durch Übergabe des Ereignisnamens und eines Zeigers auf die Server-Rückruffunktion 72. Weiterhin speichert die Server-Registrierungsfunktion 71 alle relevanten Daten der Ereignisbehandlung, wie beispielsweise die Ereignis-Kennung, den Ereignisnamen und einen Zeiger auf die Server-Rückruffunktion 72, in der Server-Ereignistabelle 74, die Teil eines für jeden Client in der Client-Datenbank 78 abgelegten Datensatzes 73 ist. Anschließend sendet die Server-Registrierungsfunktion 71 eine Nachricht über die erfolgreiche Registrierung des Ereignisses an die Client-Registrierungsfunktion 61 zurück. Diese trägt in die Client-Ereignistabelle 62 die Ereigniskennung, den Ereignisnamen und den Zeiger auf die Client-Rückruffunktion 41 ein. Sofern dies nicht bereits zuvor geschehen ist, wird der Anfragegenerator 63 als neuer paralleler Prozess gestartet, der zyklisch Anfragen zur Ereignisübermittlung an die Warteschlangenverwaltung 76 des Server-Ereignisdienstes 7 sendet. Damit ist die Anmeldung einer Ereignisbehandlung abgeschlossen.
  • Nachfolgend wird das Verfahren zur Abmeldung einer Ereignisbehandlung anhand des Systems nach 2 beschrieben. Zum Entfernen einer Ereignisbehandlung ruft die Client-Anwendung 4 die Client-Registrierungsfunktion 61 auf. Die Client-Registrierungsfunktion 61 sendet eine entsprechende Nachricht an die Server-Registrierungsfunktion 71, welche einerseits die Anlagenschnittstelle 10 über die Freigabe der entsprechenden Server-Rückruffunktion 72 benachrichtigt und anschließend den entsprechenden Client-Datensatz 73 aktualisiert. Dazu wird der entsprechende Eintrag aus der Server-Ereignistabelle 74 entfernt. Darüber hinaus wird die Ereigniswarteschlange 75 daraufhin überprüft, ob sie noch zu der Ereignisbehandlung gehörige, noch nicht abgefragte Datensätze enthält. Je nach Anwendungsfall ist es dann sinnvoll, die zugehörigen Ereignisdatensätze ebenfalls zu löschen oder sie in der Warteschlange zu belassen, bis sie von dem Anfragegenerator 63 des Client-Ereignisdienstes 6 abgefragt werden. Sind für den Client 1 keine Ereignisbehandlungen mehr in der Server-Ereignistabelle 74 registriert und ist auch die Ereigniswarteschlange 75 leer, so ist es möglich, den gesamten Client-Datensatz 73 zu entfernen. Dies spart einerseits System-Ressourcen, erfordert aber einen höheren Aufwand, um den Datensatz bei Registrierung neuer Ereignisbehandlungen wieder anzulegen. Ist die Entfernung der Ereignisbehandlung im Server-Ereignisdienst 7 abgeschlossen, so sendet die Server-Registrierungsfunktion 71 eine entsprechende Nachricht an die Client-Registrierungsfunktion 61 zurück. Die Client-Registrierungsfunktion 61 entfernt daraufhin den entsprechenden Eintrag aus der Client-Ereignistabelle 62. Ist in der Client-Ereignistabelle 62 kein Ereignis mehr registriert, so ist es sinnvoll, den Anfragegenerator 63 zur zyklischen Anfrage solange zu stoppen, bis wieder neue Ereignisse registriert werden. Um sicherzustellen, dass keine unbehandelten Ereignisse mehr in der Ereigniswarteschlange 75 des Servers 2 vorliegen, wird, bevor der Anfragegenerator 63 gestoppt wird, noch eine letzte Anfrage an die Warteschlangenverwaltung 76 gestellt.
  • Nachfolgend wird der Ablauf einer Ereignisübermittlung anhand des Systems nach 2 beschrieben. Von der Datenerfassungseinheit in der Anlage 3 wird ein Ereignis, beispielsweise Überschreiten von Grenzwerten oder Aktivierung von Schaltern oder Sensoren, erfasst, und an die Anlagenschnittstelle 10 gemeldet. Wurde für dieses Ereignis eine Server-Rückruffunktion 72 registriert, so ruft die Anlagenschnittstelle 10 die registrierte Server-Rückruffunktion 72 auf und übergibt als Parameter den Ereignisnamen. Die Server-Rückruffunktion 72 entnimmt den Server-Ereignistabellen 74 der verschiedenen Client-Datensätze 73 die dem betreffenden Ereignisnamen zugeordneten Ereigniskennungen und schreibt je einen das Ereignis beschreibenden Datensatz in die Ereigniswarteschlangen 75 der zugehörigen Client-Datensätze 73. Damit endet die Ausführung der Server-Rückruffunktion 72.
  • Alternativ wird bei der Ereignisregistrierung für jedes zu registrierende Ereignis eine separate Instanz der Server-Rückruffunktion 72 angelegt, so dass für jeden Eintrag in einer Server-Ereignistabelle 74 eine eigene Rückruffunktion vorhanden ist. In diesem Fall muss der Ereignisname nicht in den Server-Ereignistabellen 74 abgelegt werden. In der Anlagenschnittstelle 10 ist die Zuordnung zwischen Ereignisnamen und Instanz der Server-Rückruffunktion 72 bekannt. Bei Eintritt des Ereignisses ruft die Anlagenschnittstelle 10 die dem Ereignisnamen zugeordnete Instanz der Server-Rückruffunktion 72 auf, ohne den Ereignisnamen als Parameter zu übergeben. Diese Instanz der Server-Rückruffunktion 72 entnimmt den Server-Ereignistabellen 74 die zugehörigen Ereigniskennungen und schreibt einen das Ereignis beschreibenden Datensatz in die Ereigniswarteschlange 75 des zugehörigen Client-Datensatzes 73.
  • Das Ereignis wird solange in der Ereigniswarteschlange 75 zwischengespeichert, bis die nächste Anfrage des Anfragegenerators 63 an die Warteschlangenverwaltung 76 übermittelt wird. Ist die dem Client 1 zugeordnete Ereigniswarteschlange 75 leer, so wird eine leere Ereignisliste an den Anfragegenerators 63 zurückgesendet. Ist jedoch zuvor, wie oben beschrieben, ein Ereignis eingetreten, so liefert die Warteschlangenverwaltung 76 eine Liste der zwischenzeitlich eingetretenen Ereignisse an den Anfragegenerator 63 zurück. Jeder Eintrag der Liste enthält die zu dem Ereignis gehörigen Parameter und die ursprünglich von der Client-Registrierungsfunktion 61 erzeugte Ereigniskennung. Die übertragenen Ereignisse werden aus der Ereigniswarteschlange 75 entfernt. Beim Client-Ereignisdienst 6 wird das Ergebnis der Anfrage des Anfragegenerators 63 von dem Rückrufgenerator 64 ausgewertet. Der Rückrufgenerator 64 entnimmt der Client-Ereignistabelle 62 die der jeweiligen Ereigniskennung zugehörige Client-Rückruffunktion 41 und ruft diese Client-Rückruffunktionen 41 mit den Ereignisdaten als Parameter auf.
  • In 3 sind systemgemäße Datenstrukturen zur Speicherung der Daten der Ereignisbehandlung auf dem Client 1 und dem Server 2 gezeigt.
  • Vom Client-Ereignisdienst 6 werden für jede Ereignisbehandlung Datensätze in einer Client-Ereignistabelle 62 gespeichert. Jeder der Datensätze enthält eine Ereigniskennung, einen Verweis auf die zugehörige Client-Rückruffunktion 41 und optional einen Ereignisnamen. Die Realisierung des Verweises hängt von der konkreten Implementierung, beziehungsweise der verwendeten Programmiersprache ab. Beispielsweise werden in C/C++ typischerweise Funktionspointer, auch Zeiger genannt, verwendet. Die Client-Ereignistabelle 62 lässt sich auf günstige Weise als Hash-Tabelle realisieren, bei der die Ereigniskennung als Schlüssel verwendet wird. Dadurch lässt sich beim Eintreffen eines Ereignisses auf effiziente Weise der zugehörige Datensatz auffinden.
  • Auf dem Server 2 werden für jeden Client 1, der Ereignisbehandlungen registriert hat, Daten gespeichert. Dies kann effizient in einer als Hash-Tabelle realisierten Client-Datenbank 78 erfolgen, über die mit einer Client/D als Schlüssel zugegriffen wird. Für jeden Client 1 wird ein eigener Client-Datensatz 73 abgelegt, der neben der Client/D eine Server-Ereignistabelle 74 und eine Ereigniswarteschlange 75 enthält. Die Server-Ereignistabelle 74 kann analog zu der Client-Ereignistabelle 62 als Hash-Tabelle realisiert werden und enthält entsprechende Datensätze, wobei jedoch als Rückruffunktion ein Verweis auf die Server-Rückruffunktion 72 gespeichert ist. Die Ereigniswarteschlange 75 wird sinnvollerweise als Warteschlangen- (Queue-) Datenstruktur realisiert, wobei die einzelnen Datensätze mindestens die Ereigniskennung und optional weitere Parameter, die das Ereignis näher beschreiben, enthalten.
  • 1
    Client
    2
    Server
    3
    technische Anlage
    4
    Client-Anwendung
    5
    Server-Applikation
    6
    Client-Ereignisdienst
    7
    Server-Ereignisdienst
    9
    Kommunikationsverbindung
    10
    Anlagenschnittstelle
    41
    Client-Rückruffunktion
    61
    Client-Registrierungsfunktion
    62
    Client-Ereignistabelle
    63
    Anfragegenerator
    64
    Rückrufgenerator
    71
    Server-Registrierungsfunktion
    72
    Server-Rückruffunktion
    73
    Client-Datensatz
    74
    Server-Ereignistabelle
    75
    Ereigniswarteschlange
    76
    Warteschlangenverwaltung
    77
    Aufräumfunktion
    78
    Client-Datenbank

Claims (18)

  1. Verfahren zur Verwaltung und Übertragung von Ereignissen von einem Server (2) über eine Kommunikationsverbindung (9) zu mindestens einem Client (1), wobei – für eine Initialisierung und/oder Aktualisierung des Clients (1) eine Registrierung möglicher Ereignisse in einem Client-Ereignisdienst (6) erfolgt, – für eine Initialisierung und/oder Aktualisierung des Servers (2) eine Registrierung möglicher Ereignisse in einem Server-Ereignisdienst (7) erfolgt, – erfasste Ereignisse, für die eine Registrierung vorgenommen wurde, von einer Anlagenschnittstelle (10) an den Server-Ereignisdienstes (7) übergeben werden; – vom Client-Ereignisdienst (6) initiierte Anfragen der erfassten Ereignisse an den Server-Ereignisdienst (7) erfolgen, – aufgrund einer eingegangenen Anfrage an den Server-Ereignisdienst (7) die erfassten Ereignisse zum Client-Ereignisdienst (6) übertragen werden und – vom Client-Ereignisdienst (6) empfangene Ereignisse zu einer Client-Anwendung (4) übertragen werden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die zu übertragenden Ereignisse von einer Datenerfassungseinheit in einer technischen Anlage (3) erfasst und an die Anlagenschnittstelle (10) des Servers (2) gemeldet werden.
  3. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass die Client-Anwendung (4) für jedes Ereignis, über das sie zu benachrichtigen ist, beim Client-Ereignisdienst (6) eine Client-Rückruffunktion (41) registriert und der Client-Ereignisdienst (6) über die Kommunikationsverbindung (9) beim Server-Ereignisdienst (7) eine entsprechende Server-Rückruffunktion (72) registriert.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass zur Registrierung der Rückruffunktionen (41, 72) für ein Ereignis, dem beim Client (1) und beim Server (2) verfahrensvorbereitend der gleiche Ereignisname zugeordnet ist, schrittweise – die Client-Anwendung (4) eine Client-Registrierungsfunktion (61) des Client-Ereignisdienstes (6) aufruft und ihr den Namen des betreffenden Ereignisses und einen Zeiger auf die zu registrierende Client-Rückruffunktion (41) übergibt, – die Client-Registrierungsfunktion (61) eine eindeutige Ereigniskennung generiert und die Ereigniskennung und den Ereignisnamen über die Kommunikationsverbindung (9) an eine Server-Registrierungsfunktion (71) des Server-Ereignisdienstes (7) übermittelt, – die Server-Registrierungsfunktion (71) eine Server-Rückruffunktion (72) bei der Anlagenschnittstelle (10) durch Übergabe des Ereignisnamens registriert, – die Server-Registrierungsfunktion (71) einen Datensatz, der mindestens die Ereigniskennung und einen Zeiger auf die zu registrierende Server-Rückruffunktion (72) enthält, in einer Server-Ereignistabelle (74) speichert, – die Server-Registrierungsfunktion (71) die Durchführung der Registrierung über die Kommunikationsverbindung (9) an die Client-Registrierungsfunktion (61) des Client-Ereignisdienstes (6) meldet und – die Client-Registrierungsfunktion (61) die Client-Rückruffunktion (41) durch Speichern eines Datensatzes in einer Client-Ereignistabelle (62) registriert, wobei der Datensatz mindestens die Ereigniskennung und einen Zeiger auf die zu registrierende Client-Rückruffunktion (41) enthält.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Client-Registrierungsfunktion (61) nach erstmaliger Registrierung einer Client-Rückruffunktion (41) einen Anfragegenerator (63) startet, der daraufhin Anfragen zur Ereignisübermittlung an den Server-Ereignisdienst (7) stellt.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der Anfragegenerator (63) des Client-Ereignisdienstes (6) die Anfragen zur Ereignisübermittlung an den Server-Ereignisdienst (7) zyklisch stellt.
  7. Verfahren nach einem der Ansprüche 3 bis 6, dadurch gekennzeichnet, dass zur Übertragung von Ereignissen schrittweise – die Anlagenschnittstelle (10) ein eingetretenes Ereignis erfasst und die für dieses Ereignis registrierte Server-Rückruffunktion (72) aufruft, – die Server-Rückruffunktion (72) einen das Ereignis beschreibenden Eintrag in mindestens einer Ereigniswarteschlange (75) erzeugt, – der Server-Ereignisdienst (7) bei der nächsten Anfrage des Client-Ereignisdienstes (6) zur Ereignisübermittlung den erzeugten Eintrag aus der Ereigniswarteschlange (75) ausliest und ihn über die Kommunikationsverbindung (9) an den Client-Ereignisdienst (6) übermittelt, – der Client-Ereignisdienst (6) aus dem erhaltenen Eintrag die für dieses Ereignis registrierte Client-Rückruffunktion (41) ermittelt und aufruft und – die Client-Rückruffunktion (41) eine für das entsprechende Ereignis definierte Aktion in der Client-Anwendung (4) ausführt.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass fakultativ eine Aufräumfunktion (77) des Server-Ereignisdienstes (7) aufgerufen wird, welche die Server-Ereignistabelle (74) und die Ereigniswarteschlange (75) löscht, wenn der Client-Ereignisdienst (6) nicht mehr mit dem Server-Ereignisdienst (7) kommuniziert.
  9. System zur Verwaltung und Übertragung von Ereignissen von einem Server (2) über eine Kommunikationsverbindung (9) zu mindestens einem Client (1), wobei – der Client (1) zur Registrierung möglicher Ereignisse mindestens einen Client-Ereignisdienst (6) aufweist, der über eine Kommunikationsverbindung (9) Anfragen zur Ereignisübertragung an einen Server-Ereignisdienst (7) stellt und empfangene Ereignisse an eine Client-Anwendung (4) überträgt, – der Server (2) zur Registrierung möglicher Ereignisse mindestens einen Server-Ereignisdienst (7) aufweist, der über eine Kommunikationsverbindung (9) Ereignisse zu einem Client-Ereignisdienst (6) überträgt, – der Server (2) mindestens eine Anlagenschnittstelle (10) aufweist, die eingetretene Ereignisse an den mindestens einen Server-Ereignisdienst (7) übergibt.
  10. System nach Anspruch 9, dadurch gekennzeichnet, dass die Anlagenschnittstelle (10) mit einer Datenerfassungseinheit einer technischen Anlage (3) in Verbindung steht um von der Datenerfassungseinheit erfasste Ereignisse einzulesen.
  11. System nach einem der Ansprüche 9 oder 10, dadurch gekennzeichnet, dass der Server-Ereignisdienst (7) mindestens eine Server-Rückruffunktion (72) aufweist, die für mindestens ein Ereignis registrierbar ist und bei Eintritt eines Ereignisses, für das sie registriert ist, aufgerufen wird.
  12. System nach einem der Ansprüche 9 bis 11, dadurch gekennzeichnet, dass der Server-Ereignisdienst (7) mindestens eine Server-Registrierungsfunktion (71) zur Registrierung von Server-Rückruffunktionen (72), mindestens eine Server-Ereignistabelle (74) zur Aufnahme von jeweils eine Registrierung beschreibenden Datensätzen und mindestens eine Ereigniswarteschlange (75) zur Aufnahme von jeweils ein Ereignis beschreibenden Einträgen aufweist.
  13. System nach einem der Ansprüche 9 bis 12, dadurch gekennzeichnet, dass der Server-Ereignisdienst (7) für jeden Client-Ereignisdienst (6), mit dem er über eine Kommunikationsverbindung (9) kommuniziert, einen separaten Client-Datensatz (73) aufweist, der jeweils mindestens eine Server-Ereignistabelle (74) und mindestens eine Ereigniswarteschlange (75) enthält.
  14. System nach Anspruch 13, dadurch gekennzeichnet, dass der Server-Ereignisdienst (7) eine Aufräumfunktion (77) aufweist, die den Client-Datensatz (73) löscht, wenn der zugehörige Client-Ereignisdienst (6) nicht mehr mit dem Server-Ereignisdienst (7) kommuniziert.
  15. System nach einem der Ansprüche 12 bis 14, dadurch gekennzeichnet, dass die Server-Ereignistabelle (74) als Hash-Tabelle ausgeführt ist und Datensätze aufnimmt, die mindestens eine Ereigniskennung und einen Zeiger auf eine zu registrierende Server-Rückruffunktion (72) enthalten.
  16. System nach einem der Ansprüche 9 bis 15, dadurch gekennzeichnet, dass der Client (1) mindestens eine Client-Rückruffunktion (41) aufweist, die für mindestens ein Ereignis registrierbar ist und bei Eintritt des Ereignisses, für das sie registriert ist, aufgerufen wird.
  17. System nach einem der Ansprüche 9 bis 16, dadurch gekennzeichnet, dass der Client-Ereignisdienst (6) mindestens eine Client-Registrierungsfunktion (61) zur Registrierung von Client-Rückruffunktionen (41), mindestens eine Client-Ereignistabelle (62) zur Aufnahme von die Registrierung beschreibenden Datensätzen und mindestens einen Anfragegenerator (63) zur Durchführung von zyklischen Anfragen zur Ereignisübermittlung aufweist.
  18. System nach Anspruch 17, dadurch gekennzeichnet, dass die Client-Ereignistabelle (62) als Hash-Tabelle ausgeführt ist und Datensätze aufnimmt, die mindestens eine Ereigniskennung und einen Zeiger auf eine zu registrierende Client-Rückruffunktion (41) enthalten.
DE10332360.0A 2003-07-17 2003-07-17 Verfahren und System zur Verwaltung und Übertragung von Ereignissen einer zu überwachenden technischen Anlage in einer web-basierten Client-Server-Umgebung Expired - Lifetime DE10332360B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE10332360.0A DE10332360B4 (de) 2003-07-17 2003-07-17 Verfahren und System zur Verwaltung und Übertragung von Ereignissen einer zu überwachenden technischen Anlage in einer web-basierten Client-Server-Umgebung
PCT/EP2004/003837 WO2005018193A1 (de) 2003-07-17 2004-04-10 Verfahren und system zur ereignisübertragung
US10/562,046 US8005941B2 (en) 2003-07-17 2004-04-10 Method and system for event transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10332360.0A DE10332360B4 (de) 2003-07-17 2003-07-17 Verfahren und System zur Verwaltung und Übertragung von Ereignissen einer zu überwachenden technischen Anlage in einer web-basierten Client-Server-Umgebung

Publications (2)

Publication Number Publication Date
DE10332360A1 true DE10332360A1 (de) 2005-02-03
DE10332360B4 DE10332360B4 (de) 2023-06-29

Family

ID=33560164

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10332360.0A Expired - Lifetime DE10332360B4 (de) 2003-07-17 2003-07-17 Verfahren und System zur Verwaltung und Übertragung von Ereignissen einer zu überwachenden technischen Anlage in einer web-basierten Client-Server-Umgebung

Country Status (3)

Country Link
US (1) US8005941B2 (de)
DE (1) DE10332360B4 (de)
WO (1) WO2005018193A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3863231A1 (de) * 2020-02-04 2021-08-11 Siemens Aktiengesellschaft Automatisierungsnetzwerk mit paketbasierter kommunikation zwischen host und client sowie verfahren zum betrieb eines automatisierungsnetzwerks

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571150B2 (en) * 2005-04-15 2009-08-04 Microsoft Corporation Requesting, obtaining, and processing operational event feedback from customer data centers
KR100818296B1 (ko) * 2005-12-08 2008-03-31 한국전자통신연구원 무선 인식을 이용한 우편기기 관리 시스템 및 방법
US7487201B1 (en) * 2006-06-30 2009-02-03 Sun Microsystems, Inc. Method and system for providing framework for Java based AJAX web applications
US20080065688A1 (en) * 2006-09-07 2008-03-13 Research In Motion Limited Mediated plug-in registration of client applications and content providers with push content delivery system
US20120005324A1 (en) * 2010-03-05 2012-01-05 Telefonica, S.A. Method and System for Operations Management in a Telecommunications Terminal
US9330234B1 (en) * 2010-04-13 2016-05-03 West Corporation Method, apparatus and computer program to provide access to client records and data resources
JP5885839B2 (ja) * 2012-07-02 2016-03-16 三菱電機株式会社 通信システム、gui装置及びサービス装置
CN102722800A (zh) * 2012-07-05 2012-10-10 甘肃银光聚银化工有限公司 基于客户端的事件路由管理系统
US10075425B1 (en) * 2016-08-26 2018-09-11 Amazon Technologies, Inc. Verifiable log service
US10901724B2 (en) * 2016-10-28 2021-01-26 Kabushiki Kaisha Toshiba Software update system for mobile body using vehicle-mounted gateway apparatus
US11372685B2 (en) * 2018-02-21 2022-06-28 Rapid7, Inc. Hash-based routing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19832482A1 (de) * 1998-07-20 2000-01-27 Abb Patent Gmbh Verfahren zur Informationsübertragung
DE10131553A1 (de) * 2000-07-10 2002-02-14 Ibm Ereignis-basierte Benachrichtigung über ein Netzwerk
DE10038562A1 (de) * 2000-08-03 2002-02-21 Siemens Ag System und Verfahren zur Übertragung von Daten über Datennetze mit Datenumsetzung durch einen COM Automarschaller
DE10132038A1 (de) * 2001-07-03 2003-01-23 Siemens Ag Automatisierungssystem und Verfahren zur Anlagenvisualisierung

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621892A (en) * 1995-10-10 1997-04-15 Intel Corporation Method and apparatus for managing alerts and events in a networked computer system
EP0825506B1 (de) 1996-08-20 2013-03-06 Invensys Systems, Inc. Verfahren und Gerät zur Fernprozesssteuerung
WO1998053581A1 (en) * 1997-05-19 1998-11-26 Coactive Networks, Inc. Server system and method for networking control networks and direct input/output devices with the world wide web
US6473407B1 (en) 1997-09-05 2002-10-29 Worldcom, Inc. Integrated proxy interface for web based alarm management tools
US6788315B1 (en) * 1997-11-17 2004-09-07 Fujitsu Limited Platform independent computer network manager
US6664978B1 (en) * 1997-11-17 2003-12-16 Fujitsu Limited Client-server computer network management architecture
DE69903711T2 (de) 1998-02-26 2003-06-26 Sun Microsystems Inc Hinausgezögerte wiederherstellung von objekten und entfernte ladung für die mitteilung von ereignissen in einem verteilten system
US6378004B1 (en) * 1998-05-07 2002-04-23 Compaq Computer Corporation Method of communicating asynchronous elements from a mini-port driver
US6363421B2 (en) * 1998-05-31 2002-03-26 Lucent Technologies, Inc. Method for computer internet remote management of a telecommunication network element
US6308205B1 (en) * 1998-10-22 2001-10-23 Canon Kabushiki Kaisha Browser-based network management allowing administrators to use web browser on user's workstation to view and update configuration of network devices
US6356282B2 (en) * 1998-12-04 2002-03-12 Sun Microsystems, Inc. Alarm manager system for distributed network management system
US6298378B1 (en) * 1998-12-04 2001-10-02 Sun Microsystems, Inc. Event distribution system for computer network management architecture
US6349333B1 (en) * 1998-12-04 2002-02-19 Sun Microsystems, Inc. Platform independent alarm service for manipulating managed objects in a distributed network management system
US6430616B1 (en) * 1998-12-04 2002-08-06 Sun Microsystems, Inc. Scalable system method for efficiently logging management information associated with a network
US6243746B1 (en) * 1998-12-04 2001-06-05 Sun Microsystems, Inc. Method and implementation for using computer network topology objects
US6470388B1 (en) * 1999-06-10 2002-10-22 Cisco Technology, Inc. Coordinated extendable system for logging information from distributed applications
EP1125215A1 (de) * 1999-08-03 2001-08-22 Sony Electronics Inc. System und verfahren um gerätemodelle in einem elektronischen netzwerk anzuwenden
US7010586B1 (en) * 2000-04-21 2006-03-07 Sun Microsystems, Inc. System and method for event subscriptions for CORBA gateway
US7500249B2 (en) * 2000-05-02 2009-03-03 Sun Microsystems, Inc. Cluster event service method and system
US7117268B2 (en) * 2000-11-30 2006-10-03 Matsushita Electric Works, Ltd. Architecture for communicating with one or more electronic devices through a gateway computer
US7171475B2 (en) * 2000-12-01 2007-01-30 Microsoft Corporation Peer networking host framework and hosting API
US20030018705A1 (en) 2001-03-31 2003-01-23 Mingte Chen Media-independent communication server
US20030037102A1 (en) * 2001-08-14 2003-02-20 Philippe Eckert Message broker
US7152104B2 (en) * 2001-10-17 2006-12-19 Sun Microsystems, Inc. Method and apparatus for notifying administrators of selected events in a distributed computer system
US7051105B2 (en) * 2002-08-08 2006-05-23 International Business Machines Corporation System and method for distributing management events to external processes
US7107497B2 (en) * 2002-09-30 2006-09-12 Sun Microsystems, Inc. Method and system for event publication and subscription with an event channel from user level and kernel level
US7552445B2 (en) * 2002-12-13 2009-06-23 Savvis Communications Corporation Systems and methods for monitoring events from multiple brokers
US20040226022A1 (en) * 2003-05-09 2004-11-11 Prabhu Sameer D. Method and apparatus for providing a client-side local proxy object for a distributed object-oriented system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19832482A1 (de) * 1998-07-20 2000-01-27 Abb Patent Gmbh Verfahren zur Informationsübertragung
DE10131553A1 (de) * 2000-07-10 2002-02-14 Ibm Ereignis-basierte Benachrichtigung über ein Netzwerk
DE10038562A1 (de) * 2000-08-03 2002-02-21 Siemens Ag System und Verfahren zur Übertragung von Daten über Datennetze mit Datenumsetzung durch einen COM Automarschaller
DE10132038A1 (de) * 2001-07-03 2003-01-23 Siemens Ag Automatisierungssystem und Verfahren zur Anlagenvisualisierung

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3863231A1 (de) * 2020-02-04 2021-08-11 Siemens Aktiengesellschaft Automatisierungsnetzwerk mit paketbasierter kommunikation zwischen host und client sowie verfahren zum betrieb eines automatisierungsnetzwerks
US11509430B2 (en) 2020-02-04 2022-11-22 Siemens Aktiengesellschaft Method for operating an automation network having packet-based communication between a host and client

Also Published As

Publication number Publication date
WO2005018193A1 (de) 2005-02-24
DE10332360B4 (de) 2023-06-29
US8005941B2 (en) 2011-08-23
US20060224699A1 (en) 2006-10-05

Similar Documents

Publication Publication Date Title
DE60215002T2 (de) Verfahren und system für effiziente verteilung von netzwerk-ereignisdaten
EP0825524B1 (de) Verfahren zur Verwaltung der Benennung von Objekten
EP0635784B1 (de) Multiprozessorsystem
DE69829759T2 (de) Verteilung von nachrichten zu dienststeuereinrichtungen
DE60214862T2 (de) Methode für die verbesserte verwaltung von einer ereignisdatenbasis und system für ereignismeldung in einem netzwerk
DE60122691T2 (de) Verfahren und vorrichtung zum verteilten cachen
DE60220287T2 (de) System und verfahren zur überwachung von software-warteschlangenanwendungen
DE60306932T2 (de) Schnelle Datenbankreplikation
DE602005004334T2 (de) Nms zur Verarbeitung von Multi-Server Ereignissen
DE60204031T2 (de) Hierarchische cachespeicherung in telekommunikationsnetzen
DE10392438T5 (de) Vorrichtung und Verfahren zur zentralen Überwachung und Steuerung von Anlagen
EP1810523B1 (de) Verfahren und produkte zum informationsabgleich zwischen manager und agent in einem managementnetz
DE10332360B4 (de) Verfahren und System zur Verwaltung und Übertragung von Ereignissen einer zu überwachenden technischen Anlage in einer web-basierten Client-Server-Umgebung
EP0959588A2 (de) Netzelement mit einer Steuerungseinrichtung und Steuerungsverfahren
EP1959639B1 (de) Ausfallsicheres System zum Verwalten von Client-Server-Kommunikation
DE112005001995B4 (de) Computeranordnung und Verfahren zum Anbieten von Diensten für Benutzer über ein Netzwerk
EP1668822B1 (de) Verfahren zur synchronisierung von alarmen in einem managementsystem eines kommunikationsnetzes
EP1813091B1 (de) Anrufverteilung in einem direktkommunizierenden netzwerk
DE602005002418T2 (de) Verwaltungsverfahren und -system für Netzverwaltungssysteme
EP1798892A1 (de) Verfahren zum Laden einer Liste von Alarmen durch eine Alarmapplikation
EP1619849B1 (de) Verfahren zum Synchronisieren eines verteilten Systems
EP1145538B1 (de) Verfahren und kommunikationssystem zur behandlung von zustandsinformationen durch ein mehrere managementebenen aufweisendes managementnetz
EP1254539B1 (de) Serversystem zum bereitstellen von informationen für teilnehmer in zumindest einem kommunikationsnetz
DE60036503T2 (de) Verfahren zur Kommunikation zwischen Fernobjekten
DE10229879A1 (de) Datenverarbeitungssystem mit Diensten zur Bereitstellung von Funktionalitäten

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: ABB SCHWEIZ AG, CH

Free format text: FORMER OWNER: ABB RESEARCH LTD., ZUERICH, CH

R082 Change of representative

Representative=s name: MILLER, TOIVO, DIPL.-ING., DE

Representative=s name: MAIWALD PATENTANWALTS- UND RECHTSANWALTSGESELL, DE

R082 Change of representative

Representative=s name: MAIWALD GMBH, DE

Representative=s name: MAIWALD PATENTANWALTS- UND RECHTSANWALTSGESELL, DE

R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R071 Expiry of right