Hi,
I’m trying to figure out the minimum resource config of the Standard Datachange Subscription Server Facet profile.
So far I got the following numbers:
- 2 sessions (Micro embedded profile requirement)
- 2 Subscriptions (“Support at least 2 Subscriptions per Session. This number has to be supported for at least half of the minimum required sessions”. 2 should be enough as no minimum requirement per session is defined. Half of the minimum required sessions == 1)
- 100 monitored items (“Support at least 100 MonitoredItems per Subscription. This number has to be supported for at least half of the required Subscriptions for half of the required Sessions.”. No minimum requirement per subscription is set, so 100 monitored items in total should be enough as half of the required subscriptions for half of the required sessions == 1.)
When it comes to number of Publish requests and the retransmission queue length I get confused. Number of publish request according to the profile:
“Support at least 5 Publish Service requests per Session.
This number has to be supported for at least half of the minimum required sessions. Support, as a minimum, the number of Publish requests per session as the size of the NotificationMessage retransmission queue for Republish.”
According to the first two sentences it should be enough to support 5 publish requests in the server as half of the minimum required sessions == 1. But the last sentence says that each session shall at least support the same number of publish requests as the size of the NotificationMessage retransmission queue. But the size of the retransmission queue is according to the specification defined to be a multiple of the number of publish requests: “The Session shall maintain a retransmission queue size of at least two times the number of Publish requests per Session the Server supports”. For me it seems like we have two requirements which depends on each other where none of them define an absolute number.
What is the minimum configuration of publish requests and the retransmission queue length per session of a server?
To somehow answer my own question I found the following statement in Part 4 (1.04), chapter 5.13.1.1: “The minimum size of the retransmission queue may be changed by a Profile in Part 7.”
So, any profile can override the requirement about the relation between retransmission queue length and number of supported Publish requests.
The Standard DataChange Subscription Server Facet doesn’t specify any minimum length of the retransmission queue. It only says that a server shall support the number of Publish requests per session as the size of the Notification retransmission queue. If falling back to the Embedded DataChange Subscription Server Facet, which is a subset of the Standard DataChange Subscription Facet, the requirement “Subscription Publish Min 02” says: “Support of a NotificationMessage retransmission queue is not required; if not available the Republish Service returns Bad_MessageNotAvailable.”.
So, I interpret the specification as no retransmission queue is required to be implemented. In that case a minimum configuration would be:
- 2 sessions (Micro embedded profile requirement)
- 2 Subscriptions (“Support at least 2 Subscriptions per Session. This number has to be supported for at least half of the minimum required sessions”. 2 should be enough as no minimum requirement per session is defined. Half of the minimum required sessions == 1)
- 100 monitored items (“Support at least 100 MonitoredItems per Subscription. This number has to be supported for at least half of the required Subscriptions for half of the required Sessions.”. No minimum requirement per subscription is set, so 100 monitored items in total should be enough as half of the required subscriptions for half of the required sessions == 1.)
- No retransmission queue.
- 5 publish requests shared between the 2 sessions (“Support at least 5 Publish Service requests per Session.
This number has to be supported for at least half of the minimum required sessions. Support, as a minimum, the number of Publish requests per session as the size of the NotificationMessage retransmission queue for Republish.”. As no retransmission queue is required to be implemented the minimum number of publish requests per session is 0. Half of the minimum required sessions == 1, and therefore 5 publish requests would be enough).
Am I right about this minimum configuration for an Embedded UA server? Is there something I’m missing?
1 Guest(s)