View Issue Details

IDProjectCategoryView StatusLast Update
000297510000-005: Information ModelSpecpublic2016-02-19 17:59
ReporterMatthias Damm Assigned ToMatthias Damm  
PriorityhighSeveritymajorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version1.02 
Summary0002975: Getting large dictionaries is very inefficient - request optimization
Description

At the moment the data type dictionary is not enough to handle unknown data types. We need also two NodeIds, the DataType NodeId and the encoding NodeId. To get both and the link into the dictionary requires several browse, translate and read calls to the OPC UA Server.

This is getting extremely slow for huge dictionaries.

The current TypeDescription in the dictionary XML schema allows to add additional attributes. Therefore it would be a non breaking extension to add to additional attributes for DataType NodeId and Encoding NodeId.

With this additional information it is not longer necessary to browse all data type and encoding nodes if a client has already the dictionary.

Additional Information

There are users from PLC or numeric controllers that have this issue since they have dictionaries with a size up to 10MB containing a large number of data types. Browsing all necessary NodeIds to get all relations takes for ever.

Got this feedback from PLCopen working group and also numeric controller working group who try to implement OPC UA structure data types for their systems at the moment.

TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

duplicate of 0003120 closedWolfgang Mahnke Handling of DictionaryFragments 

Activities

randyarmstrong

2015-02-18 19:39

administrator   ~0005827

The format for XML schema is well defined and does allow arbitrary attributes to be added. You can add annotations but this mechanism is cumbersome and it also means schemas exposed by UA servers need to have custom UA modifications added to them.

Matthias Damm

2015-02-18 20:30

developer   ~0005829

After a discussion with Randy I want to change my proposed resolution of the problem.

Instead of changing the OPC Binary Schema I want to propose to add a new optional Property to the DataTypeDictionaryType. This Property would contain an array of structures with an entry for every data type in the dictionary. The structure will contain the data type name, the data type NodeId and the Encoding NodeId.

This does not change the OPC Binary Schema and would also work for the XML or other encodings.

It is just an optional Property for optimization but everything would also work if it is not available.

We need to move this issue to Part 5 for this change

Matthias Damm

2015-02-18 22:10

developer   ~0005831

Added proposed changes to document OPC UA Part 5 - Information Model 1.03 Draft 11_RedundancyChanges.docx posted in Meetings -> 2015 -> 2015-02-23

Matthias Damm

2015-02-24 18:28

developer   ~0005843

Did not agree on solution yet

Matthias Damm

2015-02-24 19:58

developer  

Wolfgang Mahnke

2016-02-18 13:28

developer   ~0006731

fixed in 1.04.00 by adding attribute to DataType Node (in Part 3 - version 1.04.02) and move old approach to annex.

Jim Luth

2016-02-19 17:59

administrator   ~0006746

Agreed to edited changes in San Ramon meeting.

Issue History

Date Modified Username Field Change
2015-02-18 16:48 Matthias Damm New Issue
2015-02-18 16:48 Matthias Damm Status new => assigned
2015-02-18 16:48 Matthias Damm Assigned To => Wolfgang Mahnke
2015-02-18 19:39 randyarmstrong Note Added: 0005827
2015-02-18 20:30 Matthias Damm Note Added: 0005829
2015-02-18 20:30 Matthias Damm Assigned To Wolfgang Mahnke => Matthias Damm
2015-02-18 22:10 Matthias Damm Project 10000-003: Address Space => 10000-005: Information Model
2015-02-18 22:10 Matthias Damm Note Added: 0005831
2015-02-18 22:10 Matthias Damm Status assigned => resolved
2015-02-18 22:10 Matthias Damm Resolution open => fixed
2015-02-24 18:28 Matthias Damm Note Added: 0005843
2015-02-24 18:28 Matthias Damm Status resolved => feedback
2015-02-24 18:28 Matthias Damm Resolution fixed => reopened
2015-02-24 18:30 Matthias Damm Target Version 1.03 => 1.04
2015-02-24 19:58 Matthias Damm File Added: OPC UA Part 5 - DataTypeDictionary optimization.docx
2016-02-18 13:27 Wolfgang Mahnke Relationship added duplicate of 0003120
2016-02-18 13:28 Wolfgang Mahnke Note Added: 0006731
2016-02-18 13:28 Wolfgang Mahnke Status feedback => resolved
2016-02-18 13:28 Wolfgang Mahnke Resolution reopened => fixed
2016-02-19 17:59 Jim Luth Note Added: 0006746
2016-02-19 17:59 Jim Luth Status resolved => closed
2016-02-19 17:59 Jim Luth Fixed in Version => 1.04