Ownership of notiffication message retransmission queue |OPC UA Standard|Forum|OPC Foundation

Avatar
Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
sp_Feed sp_PrintTopic sp_TopicIcon
Ownership of notiffication message retransmission queue
Avatar
Mattias Bornhager
Member
Members
Forum Posts: 3
Member Since:
11/13/2017
sp_UserOfflineSmall Offline
1
11/13/2017 - 06:12
sp_Permalink sp_Print

Hi,

I have a question regarding the ownership of the notification retransmisson queue. 

Below are two exmaples  where the spec says two differnt things:

Version: OPC Unified Architecture Specification Part 4: Services Release 1.03

In 5.13.5.2 Table 93
A list of sequence number ranges that identify unacknowledged NotificationMessages that are available for retransmission from the Subscription’s retransmission queue. This list is prepared after processing the acknowledgements in the request (see 7.5 for Counter definition).

Subscription Service Set  5.13.1.1

i) Sessions maintain a retransmission queue of sent NotificationMessages. NotificationMessages are retained in this queue until they are acknowledged. The Session shall maintain a retransmission queue size of at least two times the number of Publish requests per Session the Server supports. The minimum size of the retransmission queue may be changed by a Profile in Part 7.

 

Should the retransmission queue be held by the session or subscription?

Is the sequence number unique per session or subscription?

Avatar
Matthias Damm
Moderator
Members

Moderators-Companion
Forum Posts: 10
Member Since:
02/24/2014
sp_UserOfflineSmall Offline
2
11/16/2017 - 07:37
sp_Permalink sp_Print

Logically the sent NotificationMessages belong to a Subscription and the sequence numbers are incremented per Subscription.

But the Publish Request queue is per Session and the size of the sent NotificationMessage queue depends on this size and the whole Publish handling is related to the Session and the Publish Request queue. Therefore the specification defines also the sent NotificationMessage queue as part of the Session.

You can see the combination of the SubscriptionId and the SequenceNumber as the key for finding a NotificationMessage in the sent NotificationMessage queue of the Session.

If you look at the Republish Service, the Service is called on the Session and has the parameters SubscriptionId and SequenceNumber.

Avatar
Mattias Bornhager
Member
Members
Forum Posts: 3
Member Since:
11/13/2017
sp_UserOfflineSmall Offline
3
11/20/2017 - 02:04
sp_Permalink sp_Print

Thanks for your answer, this is how we interpreted it also. 

But I think that some clarifications are needed.

"You can see the combination of the SubscriptionId and the SequenceNumber as the key for finding a NotificationMessage in the sent NotificationMessage queue of the Session."

Yes, but the NotificationMessage type only holds the SequenceNumber and not the SubscriptionId. This is confusing when the  specification states that the queue belongs to the session.

The wording  'Subscription’s retransmission queue'  In 5.13.5.2 Table 93 also feels contradictory for the same reason.

/ Mattias

Avatar
Matthias Damm
Moderator
Members

Moderators-Companion
Forum Posts: 10
Member Since:
02/24/2014
sp_UserOfflineSmall Offline
4
12/03/2017 - 07:38
sp_Permalink sp_Print

The NotificationMessage is used in the Publish Response and in the Republish Response.

In the Publish Response, the SubscriptionId is a parallel parameter to the NotificationMessage.
The Republish is for a specific subscription and the SubscriptionId is a parameter in the Republish Request.

Forum Timezone: America/Phoenix
Most Users Ever Online: 510
Currently Online:
Guest(s) 28
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Forum Stats:
Groups: 2
Forums: 10
Topics: 1347
Posts: 4567