Method for transmitting data streams and data stream generation apparatus in a publish-subscribe system
The method uses side channels in publish-subscribe systems to efficiently transmit continuous data streams, addressing transmission inefficiencies and real-time needs, maintaining system performance and flexibility.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SIEMENS AG
- Filing Date
- 2024-05-14
- Publication Date
- 2026-06-04
AI Technical Summary
Existing publish-subscribe systems struggle to efficiently transmit continuous data streams due to increased load and delay in message delivery, particularly in industrial networks, and cannot accommodate real-time or near-real-time requirements.
The method employs side channels separate from the publish-subscribe system for data stream transmission, dynamically mediated between sender and receiver, using suitable protocols based on sender and receiver requirements, allowing flexible and efficient data stream delivery.
Maintains low latency and throughput of publish-subscribe systems while enabling real-time data stream transmission, reducing configuration effort and network overload, and accommodating diverse data types and rates.
Smart Images

Figure 2026518237000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method for transmitting a data stream in a publish-subscribe system and a data stream generation device.
Background Art
[0002] In an IoT system configured based on a distributed infrastructure, there is a need for a method of transmitting a data stream for autonomous and loosely coupled system participants, such as IoT devices, to exchange messages by publish-subscribe communication.
[0003] This need exists particularly as part of the continuous digitalization in the fields of Industry 4.0, i.e., flexible and / or autonomous production and logistics, and technologies in the fields of IoT, AI, edge, cloud, mobile and distributed computing, and further new communication technologies, such as 5G and 6G. In this field, there is an increasing demand for transmitting data streams that form continuous data sets and are continuously provided frequently and / or on a large scale by IoT system components in the IT and OT fields. Such data streams are regularly transmitted to consumer-side system components in industrial working environments for the purpose of data analysis, further processing and storage.
[0004] Typical applications of such data streams include continuously progressing telemetric process data from manufacturing or work processes, processed on a serverless edge cloud infrastructure within a functional pipeline, and / or high-frequency and / or high-volume field data from field instruments and sensor systems, such as ultrasound, infrared, or tomographic images, and / or recorded or real-time audio and / or video streams, or file uploads or downloads, or exports or imports of data stocks to and from external systems. Processing such data streams is often required in time-critical application contexts or (near) real-time systems.
[0005] The objective of the present invention is to enable such data streams through published and subscribed messages.
[0006] This object of the present invention is achieved by a method having the features described in claim 1, and by a data stream generator having the features described in claim 9. Preferred variations of the present invention are described in the corresponding dependent claims, the following description and drawings.
[0007] In the method according to the present invention for transmitting a data stream in a publish-subscribe system, a publish-subscribe message presents an offer for one or more side channels for transmitting the data stream, and the publish-subscribe message receives the side channel offers, these offers are examined, and one or more side channels are used to transmit the data stream depending on the results of the examination.
[0008] According to the method of the present invention, it is still possible to transmit a data stream even by a publish-subscribe message that is not configured to transmit a continuous data stream by itself. A publish-subscribe message cannot, by itself, guarantee the transmission of such a data stream. This is because the transport protocol for publish-subscribe messages is designed to distribute discrete, complete, and intrinsically self-contained information, such as signals and / or events and / or status notifications, in the form of messages with limited payloads, and these messages can be encoded and interpreted in isolation from other messages, i.e., independently of other messages. This does not automatically apply to the continuous data streams mentioned above. Furthermore, publish-subscribe messages cannot accommodate real-time or near-real-time requirements. This is because dedicated transport protocols with real-time communication capabilities over point-to-point connections are used for this purpose, such as WebRTC, which is a transport protocol for audio streaming and / or video streaming.
[0009] In a broker-based publish-subscribe system where communication is conducted according to established standards such as the MQTT standard, routing a continuous data stream through the broker in the form of individual messages with fragmented data blocks leads to increased load on the broker and increased delay in message delivery, which negatively impacts the throughput of the publish-subscribe system and can cause network overload. In contrast, in the method according to the present invention, the data stream is transmitted over a communication channel separate from the publish-subscribe system, and these communication channels are mediated between the sender and receiver dynamically at runtime and through the publish-subscribe system only when necessary. In this way, it is possible to achieve optimal transmission efficiency between the sender and receiver. In the context of the present invention, the sender is also called a data stream generator, and the receiver is also called a data stream consumer.
[0010] Therefore, in the method according to the present invention, a publish-subscribe message can present and receive offers for one or more side channels in a conventional manner. In this respect, the communication process of the publish-subscribe system is unaffected, and the method according to the present invention does not require any special adjustments in this regard. Industrial networks that already use a publish-subscribe system to communicate between components of that system can easily extend new types of data streams and their transmission protocols by the method according to the present invention. This is because only the affected data stream generators and data stream consumers need to be modified to implement the side channels.
[0011] According to the present invention, the fundamental advantages of a publish-subscribe system, such as achieving low latency and throughput, are maintained in principle. This is because the publish-subscribe scheme only involves the allocation of side channels and / or their parameters, and not the transmission of the data stream itself.
[0012] According to the method of the present invention, the data stream is not transmitted as a publish-subscribe message or by a publish-subscribe message via one or more side channels themselves. According to the present invention, an offer for one or more side channels for transmitting a data stream is presented by a publish-subscribe message, and the offer for the side channels is received by a publish-subscribe message, and these offers are further examined, but the use of one or more side channels themselves to transmit the data stream in response to the examination results, i.e., transmitting the data stream via one or more side channels themselves, is preferably done as a message of a different protocol or by a message of a different protocol, rather than as a publish-subscribe message or by a publish-subscribe message.
[0013] In one preferred evolution of the method according to the present invention, the offer for one or more side channels includes parameters for transmitting a data stream, the inspection is performed taking these parameters into consideration, and the data stream is transmitted according to these parameters. In the method according to the present invention, the parameter preferably includes the endpoint address of the side channel.
[0014] In the method according to the present invention, the parameters include one or more transport protocols for side-channel SK, and / or the content type of the data stream, which is video and / or audio in particular, and / or the encoding of the data stream, which is in particular the MPEG-4 format.
[0015] In this advanced form of the present invention, each type of data stream can be advantageously transmitted using a transmission protocol that is suitable for it and corresponds to the respective prior art. Similar advantages can be obtained with respect to other parameters of communication over each side channel.
[0016] Industrial networks that already use a publish-subscribe system to communicate between components of that system can easily extend new types of data streams and their transmission protocols by the method according to the present invention. This is because only the affected data stream generators and data stream consumers need to be modified to implement the side channels.
[0017] In one preferred evolution of the method according to the present invention, the parameters include the data rate and / or quality of service of the data stream.
[0018] In this advanced form of the present invention, the publish-subscribe message advantageously enables flexible mediation of optimal transmission efficiency of data streams between sender and receiver, satisfying the requirements of both the sender and receiver. In particular, this method makes it possible to avoid problems that arise, for example, when the sender transmits the data stream at a data rate higher than the receiver can receive or process.
[0019] In the method according to the present invention, a data stream is constructed from a data stream generating device toward a data stream consuming device.
[0020] The publish-subscribe message used in accordance with the present invention can be used to easily loosely couple the sender and receiver of a data stream in order to transmit a data stream. In particular, the data stream generator is the sender of the data stream, and the data stream consumer is the receiver of each data stream. For transmission, the data stream generator does not need to have prior knowledge of the data stream consumer, and in particular does not need to know connection data such as its endpoint address in the initial stages. According to the present invention, the system configuration of the data stream generator is not particularly required in this respect, which makes it possible to transmit data streams ad hoc and greatly reduces the effort required to configure and start up the data stream generator and data stream consumer.
[0021] In the method according to the present invention, the data stream consuming device and / or the data stream generating device are components of an Internet of Things system, particularly for industrial use.
[0022] The data stream generation apparatus according to the present invention particularly includes a processor and is configured to perform the method according to the present invention described above.
[0023] The data stream generation apparatus according to the present invention is configured and designed to perform, in particular, a preferred evolution of the method according to the present invention. The same advantages already described with respect to the method according to the present invention are also obtained with respect to the data stream generation apparatus according to the present invention.
[0024] In the data stream generation device according to the present invention, it is preferable that the processor is configured to perform the method according to the present invention described above.
[0025] The data stream generation device according to the present invention is preferably an industrial Internet of Things device and / or includes a camera and / or a microphone, and these cameras and / or microphones are preferably configured to generate a data stream.
[0026] Hereinafter, the present invention will be described in more detail with reference to the embodiments shown in the drawings.
Brief Description of the Drawings
[0027] FIG. 1 shows an Internet of Things network, which is hereinafter also mainly referred to as the IoT network IOTN. In the illustrated embodiment, the IoT network IOTN includes a data stream consumption device DSK and a data stream generation device DSP. In the illustrated embodiment, the data stream consumption device DSK and the data stream generation device DSP are implemented as wirelessly interconnected components of a manufacturing plant. The components of the manufacturing plant are interconnected via a publish-subscribe system PUBSUB. The data stream consumption device DSK is a distributed control device that receives a continuous measurement signal in the form of a video feed. This video feed is provided by a data stream generation device DSP configured by a computer-controlled surveillance camera. The data stream consumption device, i.e., the control device, can monitor process parameters using the video feed and control control variables to control the process parameters. Each distributed control device receives a respective copy of the entire video feed. Therefore, the data stream generation device DSP transmits the data stream DS to each data stream consumption device DSK.
[0028] In the illustrated IoT network IOTN, data stream DS is transmitted via a side channel SK, i.e., a separate communication channel separated from the publish - subscribe system PUBSUB. This communication channel has a specific transport protocol suitable for each type of data stream. In this example, it is configured not to transmit the data stream as a publish - subscribe message. The side channel SK is, if necessary, dynamically mediated at runtime and distributedly between the data stream generation device DSP and the data stream consumption device DSK via the available publish - subscribe system, aiming to achieve an optimal balance between the requirements of the data stream generation device and the requirements of the data stream consumption device.
[0029] For this purpose, the data stream generation device DSP is loosely coupled to all data stream consumption devices DSK via the publish - subscribe system PUBSUB. Via the publish - subscribe system PUBSUB, the data stream generation device DSP sends a request ANF for transmitting the data stream DS to all data stream consumption devices DSK that are interested, receives offers AGB from them, constructs the side channel SK for the offer creator, and transmits the data stream DS to each data stream consumption device DSK via each individual side channel SK.
[0030] The method according to the present invention includes the steps described below.
[0031] Steps S1, S2, and S3 relate to a balancing method for establishing a side channel SK by publish-subscribe communication between a data stream consumer DSK and a data stream generator DSP, which provide an offer AGB for consuming a data stream. Steps S4, S5, and S6 relate to subsequent processing of transmitting a data stream from the data stream generator DSP to the data stream consumer DSK via the established side channel SK.
[0032] In the first step S1 forming the request step, the data stream generator DSP sets up a subscription to a topic called "Side Channel Offer" by specifying a clear request identifier, and then publishes a message to the topic called "Side Channel Request" by specifying the request identifier and specific request parameters in its payload. Such specific request parameters specify the transport protocol available for the side channel SK, and other characteristics of the data stream DS to be transmitted, such as the content type of the data stream DS, which in this example is video, and the encoding of the data stream DS, which in this example is MPEG-4 format. Alternatively, in other embodiments, the content type may indicate an audio signal, in which case the video feed is replaced with an audio feed from a surveillance microphone. Furthermore, other characteristics of the data stream DS may optionally include a predefined data compression method, minimum and maximum possible data rates, a desired data rate, and quality of service guarantees.
[0033] In the second step S2, which forms the offer step, the data stream consumer DSK permanently sets up a subscription to a topic called "Side Channel Requests" using an arbitrary request identifier as a wildcard. When a message is received on this topic, it is checked whether the target data stream DS having the requirements in the message's payload can be correlated with the requirements of each data stream consumer DSK. If this is not possible, the data stream consumer DSK does not output an offer. On the other hand, if correlation is possible, an offer is created and published as a payload to the topic called "Side Channel Offers" by specifying the correlated request identifier. This offer includes the requirement parameters of the data stream consumer DSK and additionally includes specific connection parameters, including an endpoint address, which enables the data stream generator DSP to construct a side channel SK for the data stream consumer.
[0034] In the third step S3, which forms the offer selection step, the data stream generator DSP receives offer messages from offer creators on the subscription set up in the first step S1 and collects them until a predetermined offer period has elapsed. Then, it cancels the subscription so that late-arriving offers are not delivered. Next, the data stream generator DSP compares each received offer with its own request parameters presented in the request ANF. All offer AGBs that satisfy both its own request parameters and the request parameters of each offer creator are selected for the establishment of side channels and transmission through those respective side channels.
[0035] In the fourth step S4, which forms the setup step, the data stream generator DSP opens a side channel SK for each selected offer creator, i.e., each selected data stream consumer DSK. This is done by establishing a connection to the endpoint address specified in the offer via a transport protocol that satisfies common requirements and has matching request parameters.
[0036] In the fifth step S5, the data stream generator DSP encodes the data stream and transmits it simultaneously through the opened side channel SK. The data stream consumer DSK simultaneously decodes the transmitted data and passes it on to components for further processing.
[0037] In the sixth step S6, which forms the termination step, the data stream DS is either completely transmitted to each side channel SK, or the data stream DS is no longer intended to be consumed by the corresponding data stream consumer DSK. In step S6, the side channels SK are then closed. This sixth step S6 can generally be initiated from both the transmitting and receiving sides, i.e., by both the data stream generating device DSP and the data stream consumer DSK.
[0038] The process of adapting the sender and receiver requirements, i.e., the requested parameters, to transmission in the method of the present invention described above aims to find an optimal transmission protocol with optimal transmission parameters that technically supports both the data stream generator DSP and the data stream consumer DSK. In the method described, the data stream consumer DSK is considered only if at least one of the transport protocols included in its offer matches the transport protocol (hereinafter also referred to as the protocol for simplicity) specified in the request.
[0039] If a data stream consuming device (DSK) and a data stream generating device (DSP) each specify a maximum data rate, the sender ensures that the selected transmission rate does not exceed the minimum of the maximum data rates of the data stream consuming device (DSK) and the data stream generating device (DSP), i.e., that both maximum data rates are met simultaneously.
[0040] If the data stream consuming device DSK and the data stream generating device DSP each specify a minimum data rate, the sender ensures that the selected transmission rate does not fall below the maximum of the two minimum data rates, i.e., that both minimum data rates are met simultaneously. Such adjustments apply equally to all other request parameters.
[0041] In this example, the side channel SK operates in a client / server model, with the data stream generator DSP acting as the client requesting transmission services from the data stream consumer DSK, which acts as the server. The server service associated with the data stream consumer DSK is permanently running and listening at the endpoint address specified in the offer AGB, so the client can establish a connection to the server via the side channel SK without prior notification to the data stream consumer DSK.
[0042] This means that the data stream generator DSP does not need to send a confirmation message to the offer creator clarifying whether the offer AGB has been considered. Such an additional step is only necessary in the described method if the server service operated by the offer creator that output the offer AGB is intended to be started with a delay only if the offer AGB has been considered, i.e., only if necessary.
Claims
1. A method for transmitting a data stream (DS) in a publish-subscribe system (PUBSUB), A publish-subscribe message presents an offer for one or more side channels (SKs) for transmitting a data stream (DS), and a publish-subscribe message receives an offer (AGB) for a side channel (SK). The aforementioned offer (AGB) is examined, Depending on the results of the inspection, one or more side channels (SK) are used to transmit the data stream (DS). A method characterized by the following:
2. In the method described in the prior claims, Data streams (DS) are not transmitted as publish-subscribe messages, or by publish-subscribe messages, through one or more side channels (SK) themselves. A method characterized by the following:
3. In the method described in the prior claims, The offer for one or more side channels (SK) includes parameters for transmitting the data stream (DS), The aforementioned inspection is performed taking the aforementioned parameters into consideration. The data stream (DS) is transmitted according to the parameters. A method characterized by the following:
4. In the method according to any one of the prior claims, The aforementioned parameter includes the endpoint address of the side channel (SK). A method characterized by the following:
5. In the method according to any one of the prior claims, The parameters include one or more transport protocols for the side channel (SK), and / or the content type of the data stream (DS), particularly video and / or audio, and / or the encoding of the data stream (DS), particularly the MPEG-4 format. A method characterized by the following:
6. In the method of any one of the above claims, The aforementioned parameters include the data rate and / or quality of service of the data stream (DS). A method characterized by the following:
7. In the method of any one of the above claims, The aforementioned data stream (DS) is constructed from the data stream generator (DSP) to the data stream consumer (DSK). A method characterized by the following:
8. In the method according to any one of the prior claims, The method is characterized in that the data stream consuming device (DSK) and / or the data stream generating device (DSP) are components of an Internet of Things system (IoTN), particularly for industrial use.
9. A data stream generation device, In particular, equipped with a processor, The method described in any one of the preceding claims is configured to perform the method described in any one of the preceding claims. A data stream generation device characterized by the following features.
10. In the data stream generation device described in the preceding claim, The processor is configured to perform the method described in any one of claims 1 to 8. A data stream generation device characterized by the following features.
11. A data stream generation device according to any one of the preceding claims, An industrial Internet of Things device, and / or equipped with a camera and / or microphone. A data stream generation device characterized by the following features.