Skip to content
Snippets Groups Projects

SDS-2025-0017R04-ogc_ipe_configuration_aspects_supl

Merged Ingo Friese requested to merge SDS-2025-0017-ogc_ipe_configuration_aspects_supl into R5
1 file
+ 8
5
Compare changes
  • Side-by-side
  • Inline
@@ -180,7+180,7 @@
- sensor (IoT-data); and
- administrative data (like historic locations or historic products IDs).
The IPE shall map the 'result' attribute of an OGC/STA 'Observation' to the 'content' attribute of a oneM2M `<contentInstance>`, and vice versa as shown in Figure 6.1-1. The data type of the 'result' field of an "Observation" is according to SensorThings API <a href="#_ref_i.1">[i.1]</a> 'any' and depends on the 'observationType' defined in the associated "Datastream". The 'content' attribute of an oneM2M instance may be stringified data <a href="#_ref_3">[3]</a> understandable with the help of the 'contentInfo' attribute. The 'contentInfo' attribute on the oneM2M side may be added by the IPE. The original timestamps, present in the "Observation" as 'phenomenonTime' and in the `<contentInstance>` as "creationTime," shall be discarded. These timestamps are to be reset by the OGC /STA server and the CSE. They may be transmitted for informational purposes as part of the 'result' or the 'content' fields.
![Figure 6.1-1: OGC / STA-to-oneM2M data model mapping](media/data_mapping.svg)
@@ -188,7+188,7 @@
## 6.2 Communication Flow
Figure 6.2-1 shows the oneM2M-to-OGC/STA direction. In order to transfer data from a oneM2M sensor to the OGC/STA server the IPE creates a `<subscription>` to the `<container>` resource in the CSE containing the desired data. Triggered by a sensor event a new `<contentInstance>` is added to the `<container>` by the `<AE>`. The IPE gets a `<notification>` containing the `<contentInstance>` resource.
The IPE constructs an "Observation" creation request and copies the 'content' attribute of the `<contentInstance>` to the 'result' attribute of the "Observation" and sends it to a "Datastream" to be created as detailed in Section 6.3.1 at the OGC/STA server. The OGC/STA applcation gets the sensor data either by polling the OGC/STA server or subscribing to the corresponding "Datastream" at the MQTT broker of the OGC/STA server.
![Figure 6.2-1: Communication oneM2M-to-OGC/STA direction](media/com_flow_1.png)
**Figure 6.2-1: Communication oneM2M-to-OGC/STA direction**
Figure 6.2-2 shows the OGC/STA-to-oneM2M direction. The IPE subscribes to the desired "Datastream" of the MQTT-Broker at the OGC/STA server. The OGC/STA server publishes a new "Observation" via the MQTT broker triggered by a OGC/STA sensor. The IPE creates a `<contentInstance>` in a container, to be created as detailed in Section 6.3.2 in the CSE and copies the 'result' attribute of the "Observation" to the 'content' attribute of the `<contentInstance>`. The oneM2M applcation gets the sensor data either by polling the CSE or subscribing to the desired `<container>` at the CSE.
![Figure 6.2-2: Communication OGC/STA-to-oneM2M direction](media/com_flow_2.png)
@@ -208,7+208,7 @@
### 6.3.0 Introduction
To enable interworking, preparation is required for both the oneM2M-CSE and the OGC/STA server (see Figure 6.3.0-1). As described in Section 6.0, the IPE maps data from an OGC/STA "Observation" to a oneM2M `<contentInstance>` and vice versa. This specification defines a 1-to-1 relationship in each direction between the "Datastream" associated with the "Observation" and the `<container>` associated with the `<contentInstance>`. An IPE may implement multiple 1-to-1 relationships.
![Figure 6.3.0-1: Both sides of the IPE configuration](media/config.png)
@@ -236,7+236,7 @@
The IPE requires a destination-"Datastream" to send an "Observation" containing data from the oneM2M side. If no associated "Datastream" exists on the OGC/STA server, it shall be created. This can be done beforehand or at the IPE's start-up, depending on the implementation.
When a "Datastream" is created on the OGC/STA server, a reference ID (e.g. {"@iot.id:3635353"}) is returned. This reference is required by the IPE to associate an "Observation" with a "Datastream" and shall be available during IPE operation. In addition to the "Datastream" other entities of the STA Sensing Entities Data Model <a href="#_ref_i.1">[i.1]</a>, such as "Location" or "Sensor," may be created.
The creation of entities like "Datastream" and "Thing" requires several mandatory properties that shall be known at configuration time (e.g., 'name' and 'description'). These property fields may be automatically derived, for example, from the "Label" or "ResourceName" attributes of the corresponding oneM2M `<container>` resource or if existing, from the corresponding `<AE>` resource during IPE configuration. The OGC/STA procedures for creating OGC entities are described in SensorThing API documentation <a href="#_ref_i.1">[i.1]</a>.
Once the destination-"Datastream" is created, the IPE can send an "Observation" to the OGC/STA server as HTTP POST message. An interested OGC/STA client can subscribe to the destination-"Datastream" at the MQTT Broker of the OGC/STA server to receive each "Observation" forwarded by the IPE (see Figure 6.3.1.2-1). Alternatively, the OGC/STA client may use an HTTP-GET request to retrieve the data as needed.
@@ -253,7+253,7 @@
#### 6.3.2.1 Communication direction oneM2M CSE towards IPE
As a first step the IPE shall register itself as an Application Entity (AE) that is represented as an `<AE>` resource in a oneM2M resource tree.
The CSE uses notifications to communicate with the IPE (AE).
The CSE uses notifications to communicate new events to the IPE (AE).
In the registration request the *requestReachability* (rr) atttribute shall be set to 'True' indicating that the AE is able to receive notifications.
Furthermore the *pointofAccess* (poa) attribute of the `<AE>` may be set to one or more addresses where it can receive notifications from the CSE.
Alternativly the *notificationURI* may be set in the `<subscription>` resource creation request.
Alternativly the *notificationURI* may be set in the `<subscription>` resource creation request in the next steps.
It needs two `<container>` resources for the operation of the IPE, one for outgoing data and one for incoming data.
In a second step a `<container>` resource that is appointed to hold the data to be forwarded to the OGC/STA side (outgoing data) has to be created, if not alredy existing.
In Figure 6.3.2.1-1 a oneM2M AE, triggered by a sensor, sends data to the CSE by creating a `<contentInstance>` in a `<container>` at the CSE.
The IPE subscribes to the `<container>`by creating a `<subscription>` and receives a `<notification>` message along with the `<contentInstance>` when new data arrives.
In a third step a `<subscription>` resource shall be creted under this `<container>` resource. During the creation of the `<subscription>` resource a verification notification request is sent to the IPE. The IPE must respond with a http status code of 200 and a oneM2M response status code of 2000.
IPE and CSE are now prepared to send data from CSE to IPE. As shown in Figure 6.3.2.1-1 a oneM2M application entitiy (AE), triggered by a sensor, sends data to the CSE by creating a `<contentInstance>` resource under the `<container>` resource that was appointed for outgoing data.
Since the IPE has subscribed to the this `<container>` resource it receives a notification message along with all attributes of the `<contentInstance>` resource when new data arrives.
![Figure 6.3.2.1-1: Message flow from AE to CSE to IPE](media/config_cse1.png)
**Figure 6.3.2.1-1: Message flow from AE to CSE to IPE**
The IPE shall set a `<subscription>` to the `<container>` that holds the data to be forwarded to OGC/STA server.
![Figure 6.3.2.1-2: Configuration message flow for CSE to IPE direction](media/config_cse_flow13.png)
Loading