DE102019202134A1 - Method and device for transmitting and providing data in a publish-subscribe system - Google Patents
Method and device for transmitting and providing data in a publish-subscribe system Download PDFInfo
- Publication number
- DE102019202134A1 DE102019202134A1 DE102019202134.4A DE102019202134A DE102019202134A1 DE 102019202134 A1 DE102019202134 A1 DE 102019202134A1 DE 102019202134 A DE102019202134 A DE 102019202134A DE 102019202134 A1 DE102019202134 A1 DE 102019202134A1
- Authority
- DE
- Germany
- Prior art keywords
- specific
- topic
- publish
- client
- metadata
- 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.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/216—Handling conversation history, e.g. grouping of messages in sessions or threads
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/48—Message addressing, e.g. address format or anonymous messages, aliases
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Es wird ein Verfahren zum Übertragen und zum Bereitstellen von Daten in einem Topic-basierten Publish-Subscribe-System (1) umfassend zumindest eine Server-Vorrichtung (20) und eine Anzahl von Client-Vorrichtungen (31 - 34) vorgeschlagen, mit:a) Empfangen (S1) einer von einer bestimmten Client-Vorrichtung (31 - 34) der Anzahl gesendeten Nachricht zu einem bestimmten Topic,b) Ableiten (S2) von Metadaten aus der empfangenen Nachricht, undc) Bereitstellen (S3) einer Wissensbasis (W) für die Client-Vorrichtungen (31 - 34) unter Verwendung der abgeleiteten Metadaten.Durch die bereitgestellte Wissensbasis werden die Übertragung und die Bereitstellung von Daten in dem Publish-Subscribe-System verbessert.Ferner werden ein Computerprogrammprodukt und eine Vorrichtung zum Übertragen und zum Bereitstellen von Daten in einem Publish-Subscribe-System sowie ein solches Publish-Subscribe-System vorgeschlagen.A method for transmitting and providing data in a topic-based publish-subscribe system (1) comprising at least one server device (20) and a number of client devices (31-34) is proposed, with: a ) Receiving (S1) a message sent by a specific client device (31-34) of the number on a specific topic, b) deriving (S2) metadata from the received message, and c) providing (S3) a knowledge base (W) for the client devices (31-34) using the derived metadata. The knowledge base provided improves the transmission and provision of data in the publish-subscribe system. Furthermore, a computer program product and a device for transmitting and providing Data in a publish-subscribe system and such a publish-subscribe system are proposed.
Description
Die vorliegende Erfindung betrifft ein Verfahren sowie ein Computerprogrammprodukt zum Übertragen und zum Bereitstellen von Daten in einem Publish-Subscribe-System. Des Weiteren betrifft die vorliegende Erfindung eine Vorrichtung zum Übertragen und zum Bereitstellen von Daten in einem Publish-Subscribe-System und ein solches Publish-Subscribe-System.The present invention relates to a method and a computer program product for transmitting and providing data in a publish-subscribe system. The present invention also relates to a device for transmitting and providing data in a publish-subscribe system and to such a publish-subscribe system.
Das technische Gebiet der Erfindung betrifft Publish-Subscribe-Systeme. Mit der Öffnung von geschlossenen Systemen zu offenen IoT-Systemen (IoT; Internet-of-Things) ergeben sich Anforderungen für die Kommunikation in Industrienetzen, welche aus dem Telekommunikationsumfeld und dem öffentlichen Internet bekannt sind. Durch die zunehmende Dezentralisierung der Systeme befinden sich Komponenten auch hinter Firewall-Systemen und sind damit nicht direkt vom Internet erreichbar.The technical field of the invention relates to publish-subscribe systems. With the opening of closed systems to open IoT systems (IoT; Internet of Things), there are requirements for communication in industrial networks that are familiar from the telecommunications environment and the public Internet. Due to the increasing decentralization of the systems, components are also located behind firewall systems and are therefore not directly accessible from the Internet.
Beispielsweise hier kommen sogenannte Publish-Subscribe-Systeme zum Einsatz, die zum einen die Discovery-Phase, das heißt das Auffinden des Kommunikationspartners, aber auch den Aufbau einer Ende-zu-Ende-Kommunikationsbeziehung unterstützen. Publish-Subscribe-Systeme können auch als Publikations- und Subskription-Systeme bezeichnet werden. Bei Publish-Subscribe-Systemen kann sowohl die klassische Punkt-zu-Punkt-Kommunikation als auch eine Gruppenkommunikation zum Einsatz kommen, um auf eine möglichst effiziente Art eine Vielzahl von Systemen zu erreichen.For example, so-called publish-subscribe systems are used here, which on the one hand support the discovery phase, i.e. finding the communication partner, but also support the establishment of an end-to-end communication relationship. Publish-subscribe systems can also be referred to as publication and subscription systems. In the case of publish-subscribe systems, both classic point-to-point communication and group communication can be used in order to reach a large number of systems in the most efficient way possible.
Als Publish-Subscribe-System kommen zum Beispiel Message-Broker-Systeme, wie MQTT (Message Queuing Telemetry Transport) zum Einsatz, um Daten eines publizierenden Clients mittels eines Topics an verschiedene subskribierte Clients zu verteilen. Ein typisches Szenario hierfür ist, dass Sensordaten, wie Temperatur, Füllstand und dergleichen, von verschiedenen Sensoren, die als publizierende Clients agieren, in einem Cloudbasierten System, welches eine Mehrzahl von subskribierten Clients umfasst, übertragen werden.Message broker systems such as MQTT (Message Queuing Telemetry Transport) are used as publish-subscribe systems in order to distribute data from a publishing client to various subscribed clients using a topic. A typical scenario for this is that sensor data, such as temperature, fill level and the like, are transmitted from various sensors that act as publishing clients in a cloud-based system that includes a plurality of subscribed clients.
Des Weiteren kann ein Message-Broker auch derart aufgesetzt sein, dass auch Aktor-basiertes Handeln, z. B. Ansteuern einer Pumpe oder Einstellen der Helligkeit einer Lampe, umgesetzt werden kann. Dabei nimmt der Aktor die Rolle eines subskribierten Clients mit einem bestimmten Topic ein und wartet auf eine Nachricht eines publizierenden Clients auf diesem Topic, um z. B. seinen Zustand zu ändern, d. h. eine Pumpe von AN nach AUS zu schalten.Furthermore, a message broker can also be set up in such a way that actor-based action, e.g. B. controlling a pump or adjusting the brightness of a lamp can be implemented. The actor assumes the role of a subscribed client with a specific topic and waits for a message from a publishing client on this topic, for B. to change its state, d. H. to switch a pump from ON to OFF.
Allerdings kann mit den Standardmitteln von Message-Brokern, wie MQTT, ein Systemabbild von außen nur schwer erkannt werden. Zum Beispiel ein Discovery, d. h. welche Topics stammen von einem Aktor oder von einem Sensor, ist nicht möglich. Dies erschwert beispielsweise die Hinzunahme (On-Boarding) von neuen IoT-Geräten in ein bestehendes System und setzt implizites Wissen voraus, um an dem bestehenden System teilzuhaben und eine IoT-Anwendung umzusetzen.However, with the standard means of message brokers such as MQTT, a system image can only be recognized with difficulty from the outside. For example a Discovery, i. H. It is not possible to determine which topics originate from an actuator or a sensor. This makes it more difficult, for example, to add (on-board) new IoT devices to an existing system and requires implicit knowledge in order to participate in the existing system and implement an IoT application.
Die Bedeutung eines Topics, z. B. welches Topic bietet welche Sensordaten an oder steuert welche Aktorik, ist sowohl für einen Menschen als auch für ein Computersystem schwer ableitbar und damit faktisch nicht nutzbar, wenn nicht weiteres externes Wissen zur Verfügung steht.The importance of a topic, e.g. B. which topic offers which sensor data or controls which actuators is difficult to derive both for a person and for a computer system and thus in fact cannot be used if further external knowledge is not available.
Vor diesem Hintergrund besteht eine Aufgabe der vorliegenden Erfindung darin, die Übertragung und Bereitstellung von Daten in einem Publish-Subscribe-System zu verbessern.Against this background, an object of the present invention is to improve the transmission and provision of data in a publish-subscribe system.
Gemäß einem ersten Aspekt wird ein Verfahren zum Übertragen und zum Bereitstellen von Daten in einem Topic-basierten Publish-Subscribe-System umfassend zumindest eine Server-Vorrichtung und eine Anzahl von Client-Vorrichtungen vorgeschlagen. Das Verfahren umfasst die folgenden Schritte:
- a) Empfangen einer von einer bestimmten Client-Vorrichtung der Anzahl gesendeten Nachricht zu einem bestimmten Topic,
- b) Ableiten von Metadaten aus der empfangenen Nachricht, und
- c) Bereitstellen einer Wissensbasis für die Client-Vorrichtungen unter Verwendung der abgeleiteten Metadaten.
- a) receiving a message sent by a specific client device of the number on a specific topic,
- b) deriving metadata from the received message, and
- c) providing a knowledge base for the client devices using the derived metadata.
Gemäß einem Schritt d) können Daten in dem Topic-basierten Publish-Subscribe-System unter Verwendung der bereitgestellten Wissensbasis bereitgestellt, beispielsweise von der Server-Vorrichtung für eine bestimmte der Client-Vorrichtungen, und übertragen werden. Die Client-Vorrichtung kann auch als Client oder als Kommunikations-Vorrichtung bezeichnet werden. Die Client-Vorrichtung ist beispielsweise als PC, Laptop, Tablet, Smartphone oder Mikrokontroller, zum Beispiel Systems-on-Chip (SoC), ausgebildet.According to a step d), data can be provided in the topic-based publish-subscribe system using the knowledge base provided, for example by the server device for a specific one of the client devices, and can be transmitted. The client device can also be referred to as a client or a communication device. The client device is designed, for example, as a PC, laptop, tablet, smartphone or microcontroller, for example systems-on-chip (SoC).
Das Publish-Subscribe-System ist vorliegend insbesondere ein System, welches zumindest einen Publisher als Client-Vorrichtung, der Daten veröffentlicht, und einen Subskribenten als Client-Vorrichtung, der Daten subskribieren und empfangen kann, umfasst. Subskribieren kann beispielsweise auch als Abonnieren verstanden werden. Das Publish-Subscribe-System kann auch als Publikations- und Subskriptions-System bezeichnet werden. Das Veröffentlichen und Subskribieren von Daten erfolgt dabei Topic-basiert. Das Topic des Publish-Subscribe-Systems ist beispielsweise ein Thema oder ein Dienst des Publish-Subscribe-Systems. Das Topic kann auch hierarchisch strukturiert sein, zum Beispiel mittels eines Topic-Baums, zum Beispiel Topic
Die Wissensbasis wird insbesondere mittels eines semantischen Modells, vorzugsweise mittels W3C Web-of-Things Thing-Description (TD), repräsentiert. Das semantische Modell ist vorzugsweise Maschinen-interpretierbar als auch für einen Menschen verständlich. Somit kann das semantische Modell der Wissensbasis sowohl von einer Maschine, wie einem Rechner, interpretiert werden wie auch von einem Menschen gelesen werden.The knowledge base is represented in particular by means of a semantic model, preferably by means of a W3C Web-of-Things Thing Description (TD). The semantic model is preferably machine-interpretable and also understandable for humans. The semantic model of the knowledge base can thus be interpreted by a machine, such as a computer, as well as read by a person.
Das Verfahren ist insbesondere ein Computer-implementiertes Verfahren. Die semantische Wissensbasis wird aus den über das Publish-Subscribe-System übertragenen Daten oder Nachrichten mittels der abgeleiteten Metadaten automatisch erzeugt und dem Publish-Subscribe-System, insbesondere den angeschlossenen Client-Vorrichtungen, bereitgestellt. Die semantische Wissensbasis wird insbesondere Topic-spezifisch erzeugt. Insbesondere umfasst die semantische Wissensbasis für einen jeden Topic des Publish-Subscribe-Systems zugeordnete Metadaten.The method is in particular a computer-implemented method. The semantic knowledge base is automatically generated from the data or messages transmitted via the publish-subscribe system using the derived metadata and made available to the publish-subscribe system, in particular the connected client devices. The semantic knowledge base is generated in a topic-specific manner. In particular, the semantic knowledge base includes metadata assigned to each topic of the publish-subscribe system.
Durch die bereitgestellte Wissensbasis ist beispielsweise die Hinzunahme von neuen Geräten, beispielsweise Client-Vorrichtungen, deutlich erleichtert, da sie Wissen über das Publish-Subscribe-System, insbesondere zu den Topics, den Client-Vorrichtungen und den über das Publish-Subscribe-System übertragenen Daten, insbesondere deren Datenformate, bereitstellt.The knowledge base provided, for example, makes it much easier to add new devices, for example client devices, since they transfer knowledge about the publish-subscribe system, in particular about the topics, the client devices and the information about the publish-subscribe system Provides data, in particular their data formats.
Wie oben ausgeführt, wird die Wissensbasis insbesondere mittels einer Thing-Description (TD) repräsentiert. Die TD bietet die Möglichkeit, ein Thing, z. B. ein Topic, mit ihren Daten und Funktionen in Properties, Actions und Events zu charakterisieren und zu beschreiben. Aktor-basierte Topics einer aktiven Client-Vorrichtung können beispielsweise als Aktion und Sensor-basierte Daten als Event innerhalb der TD deklariert werden. Es können auch weitere Informationen hinterlegt werden, z. B. welche Datentypen verwendet werden oder welches Codierungsformat verwendet wird, zum Beispiel JSON, XML oder dergleichen. Vorzugsweise wird die TD selbst in JSON-LD realisiert und bietet somit eine gute Verständlichkeit für den Menschen und auch eine geeignete Interpretierbarkeit für Maschinen.As stated above, the knowledge base is represented in particular by means of a Thing Description (TD). The TD offers the possibility of a thing, e.g. B. a topic to characterize and describe with their data and functions in properties, actions and events. Actor-based topics of an active client device can, for example, be declared as an action and sensor-based data as an event within the TD. Further information can also be stored, e.g. B. which data types are used or which coding format is used, for example JSON, XML or the like. The TD itself is preferably implemented in JSON-LD and is therefore easy to understand for people and also suitable for machines to interpret.
Durch das vorgeschlagene Verfahren haben Clients, wie beispielsweise PCs, die Möglichkeit, die bereitgestellte Wissensbasis zu durchsuchen, um Topics mit Metadaten zu identifizieren, z. B. welche Daten sind Sensor-basiert oder womit kann eine bestimmte Aktorik angesteuert werden. Des Weiteren kann eine manuell verwaltete Wissensbasis vorteilhafterweise vermieden werden.With the proposed method, clients, such as PCs, have the option of searching through the knowledge base provided in order to identify topics with metadata, e.g. B. which data is sensor-based or what can be used to control a certain actuator. Furthermore, a manually managed knowledge base can advantageously be avoided.
Gemäß einer Ausführungsform umfasst der Schritt b):
- Ableiten der Metadaten aus einer aktuellen empfangenen Nachricht, zumindest einer älteren empfangenen Nachricht und/oder aus einer Relation zwischen der aktuellen empfangenen Nachricht und der zumindest einen älteren empfangenen Nachricht.
- Deriving the metadata from a current received message, at least one older received message and / or from a relation between the current received message and the at least one older received message.
Vorteilhafterweise können die Metadaten nicht nur aus einer aktuellen Nachricht, sondern auch aus älteren Nachrichten und aus Relationen zwischen Nachrichten generiert werden. Damit wird der Informationsgehalt der Wissensbasis vorteilhafterweise erhöht.The metadata can advantageously be generated not only from a current message, but also from older messages and from relations between messages. This advantageously increases the information content of the knowledge base.
Gemäß einer weiteren Ausführungsform umfassen die Metadaten Client-spezifische Metadaten, Nachrichten-spezifische Metadaten und/oder Topic-spezifische Metadaten.According to a further embodiment, the metadata comprise client-specific metadata, message-specific metadata and / or topic-specific metadata.
Gemäß einer weiteren Ausführungsform umfassen die Client-spezifischen Metadaten eine Klassifikations-Information zur Klassifizierung der bestimmten Client-Vorrichtung als einen bestimmten einer Mehrzahl von Client-Typen, eine Rollen-Angabe zur Angabe einer Rolle der bestimmten Client-Vorrichtung innerhalb des Publish-Subscribe-Systems, eine Identifikations-Information zur Identifikation der bestimmten Client-Vorrichtung, eine Adresse der bestimmten Client-Vorrichtung und/oder eine Funktionalitäts-Beschreibung zur Angabe der Funktionalität der bestimmten Client-Vorrichtung.According to a further embodiment, the client-specific metadata includes classification information for classifying the particular client device as a particular one of a plurality of client types, a role specification for specifying a role of the particular client device within the publish-subscribe System, identification information for identifying the specific client device, an address of the specific client device and / or a functionality description for specifying the functionality of the specific client device.
Gemäß einer weiteren Ausführungsform umfassen die Client-Typen eine Anzahl von aktiven Client-Typen, welche zumindest einen Dienst in dem Publish-Subscribe-System anbieten, und eine Anzahl von passiven Client-Typen, welche ausschließlich auf zumindest einen in dem Publish-Subscribe-System angebotenen Dienst subskribiert sind.According to a further embodiment, the client types include a number of active client types, which offer at least one service in the publish-subscribe system, and a number of passive client types, which exclusively rely on at least one in the publish-subscribe system. System offered service are subscribed.
Gemäß einer weiteren Ausführungsform umfassen die aktiven Client-Typen zumindest einen Sensor-Typen, welcher die Bereitstellung von Sensordaten als Dienst in dem Publish-Subscribe-System anbietet, und zumindest einen Aktor-Typen, welcher dazu eingerichtet ist, eine Aktorik in Abhängigkeit einer über das Publish-Subscribe-System übertragenen Topic-basierten Nachricht anzusteuern.According to a further embodiment, the active client types include at least one sensor type, which offers the provision of sensor data as a service in the publish-subscribe system, and at least one actuator type, which is set up to provide an actuator system depending on a to control the topic-based message transmitted to the publish-subscribe system.
Gemäß einer weiteren Ausführungsform umfassen die Nachrichten-spezifischen Metadaten eine Datentyp-Angabe zur Angabe eines von der bestimmten Client-Vorrichtung unterstützten Datentyps und/oder einen Datenformat-Indikator zur Angabe eines von der bestimmten Client-Vorrichtung unterstützten Datenformats.According to a further embodiment, the message-specific metadata comprise a data type specification for specifying a data type supported by the specific client device and / or a data format indicator to indicate a data format supported by the particular client device.
Gemäß einer weiteren Ausführungsform umfassen die Topic-spezifischen Metadaten einen Namen des bestimmten Topics, eine Klassifizierungs-Angabe zur Klassifizierung des bestimmten Topics, insbesondere als Sensor-spezifischen Topic oder als Aktor-spezifischen Topic, und/oder eine Beschreibung des bestimmten Topics.According to a further embodiment, the topic-specific metadata includes a name of the specific topic, a classification specification for classifying the specific topic, in particular as a sensor-specific topic or as an actuator-specific topic, and / or a description of the specific topic.
Gemäß einer weiteren Ausführungsform wird die Wissensbasis mittels eines semantischen Modells repräsentiert.According to a further embodiment, the knowledge base is represented by means of a semantic model.
Wie oben bereits ausgeführt, ist die Wissensbasis beispielsweise mittels der semantischen Beschreibung W3C Web-of-Things Thing-Description (TD) oder durch W3C Semantic Sensor Network (SSN) repräsentiert.As already stated above, the knowledge base is represented, for example, by means of the semantic description W3C Web of Things Thing Description (TD) or by W3C Semantic Sensor Network (SSN).
Gemäß einer weiteren Ausführungsform ist das semantische Modell sowohl Maschinen-interpretierbar als auch für einen Menschen verständlich.According to a further embodiment, the semantic model is both machine-interpretable and understandable for a person.
Damit kann das durch die Wissensbasis bereitgestellt Wissen sowohl direkt von einer Maschine, wie einer Client-Vorrichtung, als auch durch einen Menschen, wie einen Operator, interpretiert werden.The knowledge provided by the knowledge base can thus be interpreted both directly by a machine, such as a client device, and by a person, such as an operator.
Das folgende Beispiel kann den Aufbau der Wissensbasis illustrieren. Hierbei gelten insbesondere die beiden folgenden Vorbedingungen:
- 1. Es wird vorausgesetzt, dass es eine Möglichkeit gibt, am Message-Broker neue aktive Clients mit ihren Topics zu detektieren. Dabei wird insbesondere detektiert, welche Topics gepublished sind und auf welche Topics eine Subskription besteht, insbesondere auch welche. Dies kann auch durch einen zu dem Message-Broker externen Service bereitgestellt werden, welcher dazu geeignet ist, das Verhalten des Message-Brokers zu detektieren.
- 2. Des Weiteren wird vorzugsweise vorausgesetzt, dass jedes Topic der aktiven Clients individuell ist.
- 1. It is assumed that there is a possibility of detecting new active clients with their topics on the message broker. In particular, it is detected which topics are published and which topics are subscribed to, and in particular which ones. This can also be provided by a service external to the message broker, which service is suitable for detecting the behavior of the message broker.
- 2. Furthermore, it is preferably assumed that each topic of the active clients is individual.
Nun zum Aufbau der Wissensbasis:Now to build the knowledge base:
Mit den definierten Rollen und Vorbedingungen kann mit den folgenden Schritten eine Wissensbasis aufgebaut werden und z. B. in einer TD abgebildet werden:
- 1. Die aktiven Clients registrieren ihre Topics beim Message-Broker. Dabei wird ein Sensor (Client vom Sensor-Typ) detektiert, wenn eine Publikation auf ein Topic durchgeführt wird. Demgegenüber wird ein Aktor (Client vom Aktor-Typ) detektiert, wenn eine Subskription auf einem nicht existierenden Topic durchgeführt wird.
- 2. Optional wird detektiert, welche Datentypen und welche Datenformate bei dem jeweiligen Topic verwendet werden. Hierbei können Algorithmen der Mustererkennung und/oder Lernalgorithmen eingesetzt werden.
- 3. Die gewonnenen Informationen werden in eine TD überführt. Dabei werden vorzugsweise die folgenden Teilschritte i) bis iv) durchgeführt:
- i) Topics, die als Sensor deklariert wurden, werden in ein Event überführt. Dabei kann optional der letzte Topic-Pfad-Eintrag als Name des Events verwendet werden. Bei Namenskollisionen kann optional auch das vollständige Topic als Name vergeben werden.
- ii) Topics, welche als Aktor deklariert wurden, werden als Aktion deklariert. Der Name kann dann wie unter i) zugewiesen werden.
- iii) Weitere Metadaten des Publish-Subscribe-Systems, z. B. die Broker-Adresse oder der Broker-Name des Message-Brokers, können mit in die TD aufgenommen werden.
- iv) Die Events und Actions werden vorzugsweise mit weiteren Metadaten angereichert, wie z. B. Media-Typ und konkrete Datentypen.
- 1. The active clients register their topics with the message broker. A sensor (sensor-type client) is detected when a publication is carried out on a topic. In contrast, an actor (client of the actor type) is detected when a subscription is carried out on a topic that does not exist.
- 2. Optionally, it is detected which data types and which data formats are used for the respective topic. Pattern recognition algorithms and / or learning algorithms can be used here.
- 3. The information obtained is transferred to a TD. The following sub-steps i) to iv) are preferably carried out:
- i) Topics that have been declared as sensors are transferred to an event. The last topic path entry can optionally be used as the name of the event. In the event of name collisions, the complete topic can optionally be assigned as a name.
- ii) Topics that have been declared as actors are declared as actions. The name can then be assigned as under i).
- iii) Further metadata of the publish-subscribe system, e.g. B. the broker address or the broker name of the message broker can be included in the TD.
- iv) The events and actions are preferably enriched with further metadata, such as B. Media type and concrete data types.
Gemäß einem zweiten Aspekt wird ein Computerprogrammprodukt vorgeschlagen, welches auf einer programmgesteuerten Einrichtung die Durchführung des wie oben erläuterten Verfahrens veranlasst.According to a second aspect, a computer program product is proposed which causes the method as explained above to be carried out on a program-controlled device.
Ein Computerprogrammprodukt, wie z.B. ein Computerprogramm-Mittel, kann beispielsweise als Speichermedium, wie z.B. Speicherkarte, USB-Stick, CD-ROM, DVD, Blue-Ray oder auch in Form einer herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden. Dies kann zum Beispiel in einem drahtlosen Kommunikationsnetzwerk durch die Übertragung einer entsprechenden Datei mit dem Computerprogrammprodukt oder dem Computerprogramm-Mittel erfolgen.A computer program product such as a computer program means, for example, as a storage medium, e.g. Memory card, USB stick, CD-ROM, DVD, Blue-Ray or in the form of a downloadable file can be provided or delivered from a server in a network. This can be done, for example, in a wireless communication network by transmitting a corresponding file with the computer program product or the computer program means.
Gemäß einem dritten Aspekt wird eine Vorrichtung zum Übertragen und zum Bereitstellen von Daten in einem Topic-basierten Publish-Subscribe-System, welches zumindest eine Server-Vorrichtung und eine Anzahl von Client-Vorrichtung umfasst, vorgeschlagen. Die Vorrichtung umfasst:
- eine Empfangs-Einheit zum Empfangen einer von einer bestimmten Client-Vorrichtung der Anzahl gesendeten Nachricht zu einem bestimmten Topic,
- eine Ableitungs-Einheit zum Ableiten von Metadaten aus der empfangenen Nachricht, und
- eine Bereitstellungs-Einheit zum Bereitstellen einer Wissensbasis für die Client-Vorrichtungen unter Verwendung der abgeleiteten Metadaten.
- a receiving unit for receiving a message sent by a certain client device of the number on a certain topic,
- a derivation unit for deriving metadata from the received message, and
- a providing unit for providing a knowledge base for the client devices using the derived metadata.
Die Vorrichtung ist vorzugsweise eine Computer-implementierte Vorrichtung. Sie ist insbesondere Teil einer Server-Vorrichtung.The device is preferably a computer implemented device. In particular, it is part of a server device.
Die jeweilige Einheit, zum Beispiel die Ableitungs-Einheit, kann hardwaretechnisch und/oder auch softwaretechnisch implementiert sein. Bei einer hardwaretechnischen Implementierung kann die jeweilige Einheit als Vorrichtung oder als Teil einer Vorrichtung, zum Beispiel als Computer oder als Mikroprozessor oder als Steuerrechner eines Fahrzeuges ausgebildet sein. Bei einer softwaretechnischen Implementierung kann die jeweilige Einheit als Computerprogrammprodukt, als eine Funktion, als eine Routine, als Teil eines Programmcodes oder als ausführbares Objekt ausgebildet sein.The respective unit, for example the derivation unit, can be implemented in terms of hardware and / or also in terms of software. In the case of a hardware implementation, the respective unit can be designed as a device or as part of a device, for example as a computer or as a microprocessor or as a control computer of a vehicle. In a software implementation, the respective unit can be designed as a computer program product, as a function, as a routine, as part of a program code or as an executable object.
Die für das vorgeschlagene Verfahren beschriebenen Ausführungsformen und Merkmale gelten für die vorgeschlagene Vorrichtung entsprechend.The embodiments and features described for the proposed method apply accordingly to the proposed device.
Gemäß einem vierten Aspekt wird ein Topic-basiertes Publish-Subscribe-System mit zumindest einer Server-Vorrichtung, einer Anzahl von Client-Vorrichtungen und einer Vorrichtung gemäß dem dritten Aspekt vorgeschlagen.According to a fourth aspect, a topic-based publish-subscribe system with at least one server device, a number of client devices and a device according to the third aspect is proposed.
Gemäß einer Weiterbildung ist die Server-Vorrichtung als ein Message-Broker ausgebildet, wobei die Vorrichtung in dem Message-Broker integriert ist.According to one development, the server device is designed as a message broker, the device being integrated in the message broker.
Gemäß einer anderen Weiterbildung ist die Server-Vorrichtung als ein Message-Broker ausgebildet und die Vorrichtung ist extern zu dem Message-Broker.According to another development, the server device is designed as a message broker and the device is external to the message broker.
Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale oder Ausführungsformen. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen.Further possible implementations of the invention also include combinations, not explicitly mentioned, of features or embodiments described above or below with regard to the exemplary embodiments. The person skilled in the art will also add individual aspects as improvements or additions to the respective basic form of the invention.
Weitere vorteilhafte Ausgestaltungen und Aspekte der Erfindung sind Gegenstand der Unteransprüche sowie der im Folgenden beschriebenen Ausführungsbeispiele der Erfindung. Im Weiteren wird die Erfindung anhand von bevorzugten Ausführungsformen unter Bezugnahme auf die beigelegten Figuren näher erläutert.
-
1 zeigt ein schematisches Ablaufdiagramm eines Ausführungsbeispiels eines Verfahrens zum Übertragen und zum Bereitstellen von Daten in einem Topic-basierten Publish-Subscribe-System; -
2 zeigt ein schematisches Blockdiagramm eines Ausführungsbeispiels einer Vorrichtung zum Übertragen und zum Bereitstellen von Daten in einem Topic-basierten Publish-Subscribe-System; -
3 zeigt ein schematisches Blockdiagramm eines ersten Ausführungsbeispiels eines Publish-Subscribe-Systems; und -
4 zeigt ein schematisches Blockdiagramm eines zweiten Ausführungsbeispiels eines Publish-Subscribe-Systems.
-
1 shows a schematic flow chart of an embodiment of a method for transmitting and providing data in a topic-based publish-subscribe system; -
2 shows a schematic block diagram of an embodiment of a device for transmitting and providing data in a topic-based publish-subscribe system; -
3 shows a schematic block diagram of a first embodiment of a publish-subscribe system; and -
4th FIG. 3 shows a schematic block diagram of a second exemplary embodiment of a publish-subscribe system.
In den Figuren sind gleiche oder funktionsgleiche Elemente mit denselben Bezugszeichen versehen worden, sofern nichts anderes angegeben ist.In the figures, elements that are the same or have the same function have been provided with the same reference symbols, unless otherwise stated.
Im Folgenden wird auf die
- Das Publish-Subscribe-Systems
1 der3 hat eine Vorrichtung10 (siehe auch2 ), eine Server-Vorrichtung 20 sowie eine Anzahl N von Client-Vorrichtungen 31 - 34. Ohne Einschränkung der Allgemeinheit ist N = 4 in3 (N = 4).
- The publish-subscribe system
1 of the3 has a device10 (see also2 ), a server device20th and a number N of client devices 31-34. Without loss of generality, N = 4 in3 (N = 4).
Weiter mit Bezug zu
- In Schritt
S1 wird eine von einer bestimmten Client-Vorrichtung 31 - 34 der Anzahl gesendete Nachricht zu einem bestimmten Topic empfangen, insbesondere durch die Empfangs-Einheit 11 der Vorrichtung10 (siehe2 ).
- In step
S1 a message sent by a specific client device 31-34 of the number on a specific topic is received, in particular by the receivingunit 11 the device10 (please refer2 ).
In Schritt
Die Client-spezifischen Metadaten umfassen insbesondere eine Klassifikationsinformation zur Klassifizierung der bestimmten Client-Vorrichtung 31 - 34 als einen bestimmten einer Mehrzahl von Client-Typen.The client-specific metadata include, in particular, classification information for classifying the specific client device 31-34 as a specific one of a plurality of client types.
Der jeweilige Client-Typ kann ein aktiver Client-Typ oder ein passiver Client-Typ sein. Insbesondere ist eine Mehrzahl von unterschiedlichen aktiven Client-Typen vorgesehen. Entsprechendes gilt für eine Mehrzahl von passiven Client-Typen. Ein aktiver Client-Typ ist ein solcher, welcher zumindest einen Dienst in dem Publish-Subscribe-System
Die aktiven Client-Typen umfassen beispielsweise Sensor-Typen, welche die Bereitstellung von Sensordaten als Dienst in dem Publish-Subscribe-System
Die Client-spezifischen Metadaten umfassen weiter beispielsweise eine Rolle-Angabe zur Angabe einer Rolle der jeweiligen Client-Vorrichtung 31 - 34 innerhalb des Publish-Subscribe-Systems
Auch können die Client-spezifischen Metadaten eine Identifikations-Information zur Identifikation der bestimmten Client-Vorrichtung 31 - 34 umfassen. Diese Identifikations-Information kann auch kurz als „ID“ bezeichnet werden. Des Weiteren können die Client-spezifischen Metadaten eine Adresse der bestimmten Client-Vorrichtung 31 - 34 umfassen. Die Adresse kann beispielsweise eine Internet-Adresse oder eine spezifische Intranet-Adresse sein. Außerdem können die Client-spezifischen Metadaten eine Funktionalitäts-Beschreibung zur Angabe der Funktionalität der bestimmten Client-Vorrichtung 31 - 34 in dem Publish-Subscribe-System
Des Weiteren können die in Schritt
In Schritt
In Schritt
Die Server-Vorrichtung
Im Weiteren wird detailliert das Ausführungsbeispiel
Die Empfangs-Einheit
Die Ableitungs-Einheit
Die Bereitstellungs-Einheit ist dazu eingerichtet, eine Wissensbasis
In der
Obwohl die vorliegende Erfindung anhand von Ausführungsbeispielen beschrieben wurde, ist sie vielfältig modifizierbar.Although the present invention has been described on the basis of exemplary embodiments, it can be modified in many ways.
BezugszeichenlisteList of reference symbols
- 11
- Publish-Subscribe-SystemPublish-subscribe system
- 1010
- Vorrichtungcontraption
- 1111
- Empfangs-EinheitReceiving unit
- 1212
- Ableitungs-EinheitDissipation unit
- 1313
- Bereitstellungs-EinheitProvisioning unit
- 1414th
- Speicher-EinheitStorage unit
- 2020th
- Server-VorrichtungServer device
- 31 - 3431 - 34
- Client-Vorrichtung Client device
- S1 - S4S1 - S4
- VerfahrensschritteProcedural steps
- WW.
- WissensbasisKnowledge base
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019202134.4A DE102019202134A1 (en) | 2019-02-18 | 2019-02-18 | Method and device for transmitting and providing data in a publish-subscribe system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019202134.4A DE102019202134A1 (en) | 2019-02-18 | 2019-02-18 | Method and device for transmitting and providing data in a publish-subscribe system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102019202134A1 true DE102019202134A1 (en) | 2020-08-20 |
Family
ID=71843721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102019202134.4A Ceased DE102019202134A1 (en) | 2019-02-18 | 2019-02-18 | Method and device for transmitting and providing data in a publish-subscribe system |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102019202134A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060031076A1 (en) * | 2004-08-03 | 2006-02-09 | Hui Lei | Apparatus and method of semantic-based publish-subscribe system |
US7349980B1 (en) * | 2003-01-24 | 2008-03-25 | Blue Titan Software, Inc. | Network publish/subscribe system incorporating Web services network routing architecture |
US20090248612A1 (en) * | 2008-03-31 | 2009-10-01 | Morris Robert P | Methods, Systems, And Computer Program Products For Providing Prior Values Of A Tuple Element In A Publish/Subscribe System |
EP2154639A1 (en) * | 2008-08-13 | 2010-02-17 | EADS Deutschland GmbH | Publication subscription and accompanying method |
US20120197852A1 (en) * | 2011-01-28 | 2012-08-02 | Cisco Technology, Inc. | Aggregating Sensor Data |
-
2019
- 2019-02-18 DE DE102019202134.4A patent/DE102019202134A1/en not_active Ceased
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7349980B1 (en) * | 2003-01-24 | 2008-03-25 | Blue Titan Software, Inc. | Network publish/subscribe system incorporating Web services network routing architecture |
US20060031076A1 (en) * | 2004-08-03 | 2006-02-09 | Hui Lei | Apparatus and method of semantic-based publish-subscribe system |
US20090248612A1 (en) * | 2008-03-31 | 2009-10-01 | Morris Robert P | Methods, Systems, And Computer Program Products For Providing Prior Values Of A Tuple Element In A Publish/Subscribe System |
EP2154639A1 (en) * | 2008-08-13 | 2010-02-17 | EADS Deutschland GmbH | Publication subscription and accompanying method |
US20120197852A1 (en) * | 2011-01-28 | 2012-08-02 | Cisco Technology, Inc. | Aggregating Sensor Data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102008019040B4 (en) | Method and control device for controlling an automation system | |
DE112005001044T5 (en) | Service-oriented architecture for process control | |
WO2011088878A1 (en) | Connecting module for connecting at least one sensor, actuator, or effector to a service-oriented-architecture network | |
EP2902857B1 (en) | Method for providing functions within an industrial automation system and industrial automation system | |
WO2016141998A1 (en) | Device and method for providing a digital representation of a physical entity | |
WO2018091658A1 (en) | Concept for controlling a message transmission between communication subscribers in an automation system | |
DE10251523A1 (en) | System and method for providing data and services for devices, and device that uses the data and services provided | |
DE602005002919T2 (en) | Adaptive software component techniques | |
DE102015102434A1 (en) | Method and system for providing a robust and efficient virtual asset vulnerability management and verification service | |
EP3637205A1 (en) | Image activation on an operator station client | |
DE102010040055A1 (en) | System for communication of several clients with several field devices in automation technology | |
EP1653308A1 (en) | Method and apparatus for providing and storing information | |
DE102019202134A1 (en) | Method and device for transmitting and providing data in a publish-subscribe system | |
EP2620868A1 (en) | Work flow management system for computer networks | |
EP3991037B1 (en) | Controller for a vehicle, system, method, and motor vehicle comprising such a controller | |
DE10354938B4 (en) | Automated management data processing system and method for automated management of a data processing system | |
DE102019119354A1 (en) | FIRMWARE UPDATE OF COMPONENTS OF A MODULAR NODE | |
EP3399375B1 (en) | Method for configuring control devices | |
DE102019208715A1 (en) | Method for configuring an application protocol in a manufacturing plant, computer program and process module | |
WO2021093928A1 (en) | Method and apparatus for discovering subscribers using the opc ua pubsub protocol | |
DE112013002191T5 (en) | Message processing in a data processing system | |
DE102022207594A1 (en) | Method for forming a communication interface between a software module and an addressee | |
EP3376736A1 (en) | Method and device for communications of data in a computer network and computer program with an implementation of the method | |
WO2022238482A1 (en) | Management of runtime containers for an industrial automation system | |
DE102020005055A1 (en) | Adaptation of data transmission from a control device to a cloud system using machine learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R002 | Refusal decision in examination/registration proceedings | ||
R003 | Refusal decision now final |