If use this work, please cite our paper
@inproceedings{qarawlus2021sovereign,
title={Sovereign Data Exchange in Cloud-Connected IoT using International Data Spaces},
author={Qarawlus, Haydar and Hellmeier, Malte and Pieperbeck, Johannes and Quensel, Ronja and Biehs, Steffen and Peschke, Marc},
booktitle={2021 IEEE Cloud Summit (Cloud Summit)},
pages={13--18},
year={2021},
organization={IEEE}
}
In order to enable data sovereign message exchange, the International Data Spaces (IDS) is one of the biggest initiatives, led by the International Data Spaces Association (IDSA) for business ecosystems. To allow Internet of Things (IoT) devices with its limited hardware resources to join, we developed two communication schemes based on the request/response and publish/subscribe paradigms.
Both approaches are tested in a simulated use case. We have made five experiments with durations of 30, 60, 120, 180 and 240 seconds, each experiment 30 times in a row to reduce outliers. The CPU usage on consumer side, the duration and the number of exchanged IDS messages are recorded.
This repository contains all the recorded data as raw .csv
files and partly visualized in plots.
The structure of the repository looks as follows:
.
├── plots # Visualized average CPU usage for all 5 experiments
├── publish-subscribe # Raw .csv data for all publish-subscribe experiments,
│ ├── 240seconds-30passes # ↳ one folder for every experiment, each consists of
│ ├── 180seconds-30passes # ↳ one file for CPU metrics, duration and message count
│ ├── 120seconds-30passes
│ ├── 60seconds-30passes
│ └── 30seconds-30passes
├── request-response # Raw .csv data for all request-response experiments,
│ ├── 240seconds-30passes # ↳ one folder for every experiment, each consists of
│ ├── 180seconds-30passes # ↳ one file for CPU metrics, duration and message count
│ ├── 120seconds-30passes
│ ├── 60seconds-30passes
│ └── 30seconds-30passes
└── ...
Every folder in the above mentioned structure contains the following files:
- cpu-usages.csv: Contains the recorded CPU usage on consumer side. One row for each pass. The first column is used as an index to indicate the ID of the pass. The original data source was Prometheus, exported with the
rate(container_cpu_user_seconds_total{name="consumer"}[6s])
command. - duration.csv: Contains the message duration in seconds. One row for each pass, where the first row shows the labels. The first column is used as an index to indicate the ID of the pass.
- message-count.csv: Contains the number of exchanged IDS messages. One row for each pass, where the first row shows the labels. The first column is used as an index to indicate the ID of the pass.
- Haydar Qarawlus (Fraunhofer ISST)
- Malte Hellmeier (Fraunhofer ISST)
- Johannes Pieperbeck (Fraunhofer ISST)
- Ronja Quensel (Fraunhofer ISST)
- Steffen Biehs (Fraunhofer ISST)
- Marc Peschke (Fraunhofer IML)
Copyright © 2021 Fraunhofer ISST + Fraunhofer IML. Distributed under the Apache-2.0 License. See LICENSE
for more information.
This work was partially funded by the "Silicon Economy Logistics Ecosystem (SELE)" project. The project "Silicon Economy Logistics Ecosystem" is funded by the German Federal Ministry of Transport and Digital Infrastructure.