cancel
Showing results for 
Search instead for 
Did you mean: 
SOLVED

Query of QoS of Datalayer

Query of QoS of Datalayer

TheChaser
New Poster

Hi, I have reviewed the documentation but can't seem to see any information in regards to possible QoS settings or capabilities.

Does the Datalayer have built in QoS for message delivery. If so is there any documentation on this capability.

 

Thanks.

2 REPLIES 2

TheCodeCaptain
Community Moderator
Community Moderator

Hi TheChaser,

thanks for your request regarding QoS.

We are clarifing some topics and will answer you soon.

Hi TheChaser,

below I have listed the current implementation what we can say regarding QoS and our system.

Anyway it would be very interesting what exactly you want to do and which part of QoS would be necessary for you.

 

Current state
The ctrlX data layer is based on client/server architecture (misleadingly: "broker"="server") and does not yet offer any explicit features or setting options in the quality of a service level agreement.
The data layer guarantees a response within adjustable timeouts.
For IPC (interprocesscommunication), most of the QoS settings are unnecessary, as defined for TCP in MQTT, for example.
Especially in the RT area hard realtime is guaranteed.
Statements regarding the performance can be determined via benchmarks. Various measurements are already available on request.
Furthermore, there are currently no additional mechanisms as MQTT or UA has set up here (see below) for pub/sub, etc.


Possible Datalayer QoS quality parameters
With respect to the datalayer (IPC, TCP), the following QoS characteristics (at least) come into question

- Latency: the delay of the end-to-end transmission
- Jitter: the deviation of the latency from its mean value
- Packet loss rate: the probability that individual IP packets are lost during transmission (or - for real-time services - reach their destination too late)
- Throughput: the average amount of data transmitted per unit of time
- Prioritization
- ...

QoS with MQTT (Publish / Subscribe Messaging) architecture
Since MQTT was explicitly designed for insecure networks, an overlay on the underlying TCP layer was defined:

Qos Level

Number of send protocols per operation

Remark
0 At most once (fire & forget) 1 Same QoS as TCP
1 At least once 2 "Registered": Faulty protocols are forwarded. Client could receive multiple protocols, but this is usually not a problem.
2 Exactly once 4 "Registered mail with return receipt".
Highest reliability but also high communication overhead

Furthermore there are a lot more quality features, especially with MQTT 5 Essentials (hivemq.com) e.g. Message / Session Expiry etc.

QoS at OPCUA (from Pub/Sub)
Provides here in Spek 1.05 explicit QoS definition for Pub/Sub (not Client/Server) - based on MQTT:
- Broker Transport (Qos): Core Data Types Broker Transport Quality Of Service | OPC UA Online Reference (opcfoundation.org)
- Latency: Core Data Types Receive Qos Latency Data Type | OPC UA Online Reference (opcfoundation.org)
- Receive Qos: Core Data Types Receive Qos Data Type | OPC UA Online Reference (opcfoundation.org)

 

Sources
Quality of Service - Wikipedia
Quality of Service 0,1 & 2 - MQTT Essentials: Part 6 (hivemq.com)
Overview | OPC UA Online Reference (opcfoundation.org)

Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist