value from the underlying data source, if its copy of
the data is older than that which the maxAge
specifies. OPC UA specifications requires that if the
Server does not have a value that is within the
maximum age, it shall attempt to read a new value
from the data source. Also, in the case the maxAge is
set to 0, the Server shall attempt to read a new value
from the data source. In these two cases, the
procedure called “Direct Data Access” may be
preferred to the other one.
If maxAge is set to the max Int32 value or greater,
the Server shall attempt to get a cached value. If the
Server cannot meet the requested maxAge, it returns
its “best effort” value rather than rejecting the request.
This may occur when the time it takes the Server to
process and return the new data value after it has been
accessed is greater than the specified maximum age.
In these two cases, the procedure called “Use of Data
Cache” may be used.
About Write request, no parameters have been
identified that may have a direct influence of the
choice of one of the two procedures. However, it is
important to point out some reasonings about this
service. As shown by Figures 4 and 7, in the two
scenarios “Direct Data Access” and “Use of Data
Cache”, the Server provide a Write Response to the
client, featuring a different meaning. In the “Direct
Data Access” procedure, the OPC UA Client will
receive the confirm that the requested update has been
actually done in the original system (i.e. the
oneMe2M resources). In the other scenario the
confirm is about the temporary update of the local
Data Cache; in this case, the OPC UA Client will not
receive an acknowledgement about the actual update
of the Data Cache. On the other hand, the first
procedure requires longer updating time (i.e. a longer
interval between the Write Request and the Write
Response); the other solution implies a shorter delay.
This consideration may be taken into account when
one procedure or the other one could be used, on the
basis of the kind of confirm requested by the client
and on the basis of the delay in the receiving of the
Write Response.
About MonitoredItem Services Set, choice of
some of the relevant parameters (e.g.
SamplingInterval) plays an important role in the
overall performance and has a great impact on the
choice of one of the two procedures. Setting a low
value for the SamplingInterval means requiring a
minimal latency for the Server to access the data.
Figures 5 and 8 show a parameter called Delay, used
to identify the time interval needed to the Server to
update each Monitored Item in the relevant queue. It
is clear that the duration of this parameter is different
in the two cases. According to the “Direct Data
Access” procedure, the Delay mainly depends on
HTTP Request-Response Round trip time (RTT).
Although the Restful approach doesn’t retain status,
bringing benefits in terms of RTT, the delay may
increase due to problems with the underlying
network. When the other procedure “Use of Data
Cache” is considered, it is conceivable that the Delay
is shorter as the Data Source is “close” to the Server,
not connected to a network.
On the basis of what said until now, some
guidelines about the use of the proposed procedures
may be outlined.
The advantage of “Direct Data Access” is the
simplicity of the representation and implementation.
The OPC Server maintains the actual information
contained in the Registrar CSE, thus avoiding
problems of inconsistency. The need to wait for a
response from the CSE is a disadvantage in terms of
latency, but useful when unconfirmed answers are not
accepted. Many requests from the Client can overload
the network and increase response time. The
MonitoredItem service may suffer from this
configuration if the SamplingInterval is very low.
The other procedure “Use of Data Cache”
overcomes the limits of the first one but introduces
other problems. The OPC UA Server accesses more
quickly the information within the Data Cache,
avoiding network overloading. The services called up
by the OPC UA Client are served with contained
delays. The notification mechanism allows the
OPCUA-IPE to be always updated on state changes
and to reflect them on the Data Source through
updates. These updates need to be handled quickly to
avoid inconsistency issues.
6 CONCLUSIONS
The paper has presented an interworking proposal
between oneM2M and OPC UA. The proposal is
original as no other complete contributions are
present in the current literature with the same subject.
The authors believe that interworking between these
standards is important as they are considered strategic
communication frameworks in Industry 4.0 reference
architecture. Implementation of the OPC UA
AddressSpace exposing oneM2M resources has been
released by the same authors on GitHub (Cavalieri et
al., 2019). This repository contains the XML
representation of the OPC UA Nodes proposed for the
mapping between oneM2M resources and OPC UA
Nodes. This representation can be used to populate
the AddressSpace of OPC UA Server inside the