View Issue Details

IDProjectCategoryView StatusLast Update
000094010000-007: Profilespublic2010-05-04 17:07
ReporterNathan PocockAssigned ToPaul Hunkar  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Fixed in Version1.01 
Summary0000940: Change the "10 Session Minimum" in "Core Server Facet"
Description

When looking at the "Low End Embedded Device Server" profile it contains the "Core Server Facet", which further contains the "Session Minimum 10 Parallel" conformance unit.

This 10-session minimum makes it very difficult for Server vendors looking to reduce an embedded UA Server down to the smallest footprint possible.

A request has been received to change this structure such that a truly small embedded device can in fact be allowed to support ONLY ONE session. Picture the following scheme:

Standard UA Server (50-sessions)
+- Embedded UA Server (10-sessions)
+- Low End Embedded Device Server (1-session)

The thought is that the lowest denominator requires 1-session support, but with derived conformance units placing further restrictions such as 10-minimum or 50-minimum etc.

There are many options available as to how we enable this. This is the kind of change that could allow UA to be implemented in far-smaller devices than quite probably initially thought of.

TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

related to 0000942 closedPaul Hunkar Renaming "Low End Embedded Device Server" Profile 

Activities

user2

2010-01-19 17:40

  ~0001491

Issue will be resolved by creating a new embedded server facet that does not inherit from Core Server Facet. Need to get more feedback on any other things that should be removed from Core Server Facet for embeded (security for example).

user2

2010-01-19 17:40

  ~0001492

Randy will get more feedback from the source of the request.

Claude Lafond

2010-04-14 12:14

reporter   ~0001675

If you build an OPC UA / ADI server which has to publish a 1 KPts spectrum every 2 seconds AND you want to survive to a disconnection of 10 minutes, requesting a minimum of 10 sessions will put a lot of pressure on the embedded server. If you put on top of that the encryption, the result will be that everybody will want to implement a "Low End Embedded Device".
The "goal" of Embedded versus Low End Embedded should be clarified:
1) Is it for small sensors or actuators (only few tags with very limited processings)?
2) Is it for a small number of clients?
3) Is it to avoid using security? Putting to much pressure on Embedded Server will push in the field more unsecure servers!
4) Is it to avoid Subscription support?

For example, most of the actual PC embedded in current analyzers will be barly able to sustain two ADI connections without security and one with security. But for ADI, so forcing an Embedded Sever to 10 connections will create a lot of problems and cost.
If this decision is maintained, the ADI spec shall be updated to move from Embedded Server to Low End Embedded server.

Liam Power

2010-04-14 15:19

reporter   ~0001676

We have proposed that the profiles be reorganised as follows (exact details will be provided to Randy in a few days time):

Standard UA Server (50-sessions)
+- Embedded UA Server (10-sessions)
+- Micro Embedded Device Server (5-sessions)
+- Nano Embedded Device Server (1-session)

Security would be optional for Micro and Nano Server Profiles (it is presently optional for Micro).

Enhanced Datachange Subscription Server (500-Monitor Items, 5-Subscriptions, 10-Publish)
+- Standard Datachange Subscription Server (100-Monitor Items, 2-Subscriptions, 5-Publish)
+- Embedded Datachange Subscription Server (10-Monitor Items, 1-Subscriptions, 2-Publish)

The subscription facets would be optional for Nano and Micro Server profiles (although in practice many device vendors will want to support the Embedded Datachange Subscription Server facet).

We see Micro Embedded Devices as devices such as single axis servo-amplifiers. They have many hundreds of internal parameters but access is only required to a small number of these parameters at any point in time by a very small number of clients.

Nano Embedded Devices are sensor type devices that are exposing a very small number of data values via an aggregator.

Security and subscriptions are very important features, but they are not necessary for every application and to mandate their support in all devices would prevent UA adoption in a large number of device categories.

The key features that really need to be optional in the Nano Profile are multiple sessions, subscriptions and security. Each of these features has the potential to push bill of materials costs up to an unsustainable level in the presence of competing technologies.

Claude Lafond

2010-04-15 13:18

reporter   ~0001685

Here is an example of an actual OPC UA implementation of a small spectrometer analyzer that shall be moved to ADI.

The configuration is:

  • AMD Geode processor (kind of 586 class processor)
  • Windows CE or Windows XP embedded
  • Perform data spectroscopic analysis to convert analyzer data to some
    meaningfull values
  • Generate a spectrum every second, which is an array of 1000 float points
    plus let say 20 other values
  • Using the Ascolabs OPC UA C++ SDK, without security, it already requires
    80% of the CPU for a single session
  • One client subscribing to the spectrum and 20 values

Also, it shall be noted that many of these systems work with WiFi connection that I would say are not that stable:

  • Drop out of few seconds
  • Brownout
  • Long disconnections; up to 2 hours in some cases

The previous configuration can sustain a disconnection of 2 hours without loosing anything, not a single element. So in terms of robustness, it is important to have longer monitoring queues or WiFi subscription will not be reliable at all.

As you can see, we may perhaps ask for light encryption and two sessions, but certainly not 10 sessions.

Also, it is probably a good idea to express the monitoring queue size in terms of seconds rather than count when no data shall be lost due to disconnection

Also in the case of ADI, the number of monitored items is more defined by what is located in the AcquisitionResult and
AcquisitionStatus folders that is published with each acquisition.
The minimal content of these folders are defined by the ADI specification, but each vendor may and will add more.

Based on the previous comment, the ADI definition will be:

  • Nano Server
  • Minimum monitoring queue size should be at least 60s
  • The server shall be able to handle as many items as the AcquisitionResult
    and the AcquisitionStatus folders contain

If I have to do a trade off, I will increase the monitoring queue size and decrease the session count.
The Liam Power proposal looks fine to me:

  • Standard Server 50
  • Embedded 10
  • Micro 5
  • Nano 1

Paul Hunkar

2010-04-29 07:31

developer   ~0001737

Updated to reflect smaller requirements of core and added addition numbers to large profiles

Randy Armstrong

2010-05-04 17:07

administrator   ~0001779

Closed by UA Weekly Telecon 2010-05-04

Issue History

Date Modified Username Field Change
2010-01-15 00:22 Nathan Pocock New Issue
2010-01-15 17:21 Nathan Pocock Relationship added related to 0000942
2010-01-19 17:40 user2 Note Added: 0001491
2010-01-19 17:40 user2 Note Added: 0001492
2010-01-19 17:40 user2 Assigned To => Randy Armstrong
2010-01-19 17:40 user2 Status new => feedback
2010-04-13 22:50 Paul Hunkar Status feedback => assigned
2010-04-13 22:50 Paul Hunkar Assigned To Randy Armstrong => Paul Hunkar
2010-04-14 12:14 Claude Lafond Note Added: 0001675
2010-04-14 15:19 Liam Power Note Added: 0001676
2010-04-15 13:18 Claude Lafond Note Added: 0001685
2010-04-29 07:31 Paul Hunkar Status assigned => resolved
2010-04-29 07:31 Paul Hunkar Resolution open => fixed
2010-04-29 07:31 Paul Hunkar Note Added: 0001737
2010-05-04 17:07 Randy Armstrong Status resolved => closed
2010-05-04 17:07 Randy Armstrong Note Added: 0001779
2010-05-04 17:07 Randy Armstrong Fixed in Version => 1.01