広域データ収集・解析プログラム開発⽀援ソフトウェア

SINETStreamの概要，アップデート
https://sinetstream.net/
⽵房 あつ⼦

国⽴情報学研究所 クラウド基盤研究開発センター
NII学術情報基盤オープンフォーラム クラウドトラック2
2022年6⽉1⽇（⽔)© 2022 National Institute of Informatics

1

モバイルSINET (旧︓SINET広域データ収集基盤)• 超⾼速学術情報ネットワークSINETをモバイル網に拡張• 研究プロジェクトごとに隔離されたモバイルネットワークをSINETに直結してセキュアなネットワーク環境（VPN）を提供• 多様なデータ処理環境との連携で最先端のIoT系研究を⽀援

SINET6から5Gにも対応© 2022 National Institute of Informatics

2

SINETStreamでIoTアプリ開発⽀援• IoTアプリシステム開発のためのソフトウェアライブラリを提供• Java/Python版に加え，Android版の共通APIを提供• バックエンドのメッセージングシステムを意識せずIoTアプリを容易に開発可能• データの収集・蓄積・解析に必要な機能を提供• 安全確実なデータ収集，認証・認可，暗号化，メトリクス収集，サンプルAndroidアプリ
データ解析プログラム
解析プログラム

ストレージ© 2022 National Institute of Informatics

モバイルSINET+SINETStreamで，安全・確実なIoTデータの収集・蓄積・解析が可能に
解析
プログラム(オフライン)

3

SINETStreamを⽤いたIoTデータ処理事例
1. 脳波データ解析ライフサイエンスアプリケーション
2. 監視カメラ画像のオンラインイベント検出
3. ⻑期間環境モニタリング
4. スマートフォンを⽤いたセンサデータ収集© 2022 National Institute of Informatics

4

1. 脳波データ解析ライフサイエンスアプリ• オンライン脳波データ(EEG)解
析システム


 
#$"

広島⼤ 町澤まろ先⽣，近堂徹先⽣• 利⽤者の脳波データや画像，位置情報等関連センサデータを収集，蓄積，解析• 要件︓秘匿情報を扱うため，⾼いセキュリティ必要 +
.*-#$")"#+à モバイルSINETの閉域網＋SINETStreamの認証・認可，通信・データ暗号化機能利⽤  $' &%
!


'&%
!

"# %© 2022 National Institute of Informatics',/!&(

近堂徹先⽣＠広島⼤ 提供5

2. 監視カメラ画像のオンラインイベント検出• 監視カメラを⽤いた⾒守り，防犯サービスではリアルタイムイ
ベント検出が必要• キャプチャされた動画像データを適切にリサイズ，送信し，クラウドのHPCサーバでAI処理• 要件︓• ポータビリティ︓通信状況等に適したシステム構成変更• 性能チューニング︓画像サイズ，送信頻度の調整• セキュリティ︓プライバシ保護

à SINETStreamで⽀援© 2022 National Institute of Informatics

処理前
遠隔カメラ画像

⼤学・研究機関
安全なデータ収集

GPU or HPC nodes

HPC nodes

Kafka

YOLO

OpenPose

⾼速データ
解析

Storage

Storage
Data

処理後
遠隔カメラ画像

クラウド

Data

Data

Data

DataYOLOを⽤いた物体認識
SINET
モバイル網

カメラ付センサ
SINET SIM

⼤学 企業 地⽅公共団体

Raspberry Pi

OpenPoseを⽤いた特徴抽出
YOLO (https://pjreddie.com/darknet/yolo/)
OpenPose (https://github.com/CMU-PerceptualComputing-Lab/openpose)3) Online App

1) Messaging Infrastructure
SINETMobileNetwork

2) Sensor
VideoCamera

Raw imagestreamOnlineAnalysis
Application
Processed image stream

Kafka
Kafka connect(S3 connector)

Raspberry Pi

Processed movie5) Video Streaming
ReceiverWebUINII (On-premises)

4) Offline App

ObjectStorage

OfflineAnalysis
Application

AWS (Cloud)S363. ⻑期間環境モニタリング• 容易に開発可能• 容易に状況監視可能
&%#54,
6=:#78!2;
AWS (Cloud)  Temperature • 室内温度・湿度センサ
データを可視化する
⻑期間ライブデモ 
• 要件:Temperature

Humidity  & Humidity
Sensor

GitHub Pages?1

 +-"&%) "6=:

>1

>1?1&%#
94© 2022 National Institute of Informatics

.3/!
$('<0)-"&%*&%

>1

à SINETStreamで⽀援

S3?1

https://sinetstream.net/docs/livedemo/livedemo.html 7

4. スマートフォンを⽤いたセンサデータ収集• SINETStreamでAndroidスマホの多種センサ情報を収集する
Androidアプリも提供• 開発不要，ダウンロードで利⽤可能• IoTシステムのセンサとしてそのまま利⽤可能• 東京海洋⼤の練習船に設置• センサアプリからモバイル
SINET経由でクラウドに送信• 3⽇間の練習航海で14種類のセンサ情報を30秒毎に取得できることを確認（協⼒︓東京海洋⼤ ⼤島浩太先⽣）© 2022 National Institute of Informatics

選択したセンサ情報をクラウドへ送信
SINETStreamセンサアプリで収集した
東京海洋⼤練習船の位置情報

国⼟地理院提供の地理院タイルを加⼯して作成
https://maps.gsi.go.jp/development/ichiran.html

New

GPS対応版はv1.6で提供（2021年12⽉）

8東京海洋⼤の練習船でのSINETStream実証実験
ここに設置

カメラ＋
ラズパイ
Sensor app+スマホ© 2022 National Institute of Informatics

デモ動画

9

4. スマートフォンを⽤いたセンサデータ収集
センサアプリを⽤いたチュートリアルも提供 à ご活⽤ください︕• Android端末を⽤いたIoTアプリシステム構築を体験できる• システム構築を容易にするため，センサデータの受信，蓄積，可視化を⾏うサーバ⽤Dockerコンテナイメージを開発• ⼿順︓サーバ設定àAndroid端末でアプリ設定，実⾏à結果確認
Sensor App
SINETStream
Core

Tutorial Docker Container
Message Broker

Message Broker

Object Storage

Mosquitto

Kafka

MinIO

SINETStream
HelperWeb Browser
Kafka Connect 1

センサアプリ画⾯

nginx

Kafka Connect 2

AndroidSensors

Androidスマホ© 2022 National Institute of Informatics

Web Server

SINETStreamサーバ設定

JavaScript
Chart.js

可視化結果Visualization

利⽤者PC

https://sinetstream.net/docs/tutorial-android/

10

SINETStreamの特徴とアップデート© 2022 National Institute of Informatics

11

SINETStreamの特徴• IoTシステム開発のためのソフト
ウェアライブラリを提供• MQTTブローカ• Apache Kafka© 2022 National Institute of Informatics

API

Network

Analysis
App.

App. Developer• データの収集・蓄積・解析に必要な機能を提供

App. Developer

BrokerTopic B

Pub-Sub
ServiceService
Topic B

ReaderReader

MQTT
Kafka

Topic A

:Writer

R-API

WriterMessages
Topic A

R-API

Writer

W-API

SINETStream Architecture

W-API• 共通APIからの安全確実なデータ収集• 認証・認可• 通信暗号化(TLS)，データ暗号化• メトリクス収集• 多種メッセージブローカ対応

API

SensorApp.

W-API• Java, Python, Android⽤共通APIを提供• バックエンドのメッセージブローカを意識せずIoTアプリを容易に開発可能

SINETStream Overview

Storage/ DB

StreamFramework

12

New

SINETStreamアップデート• 秘匿情報共有⽀援コンフィグサーバと対応ライブラリ公開• SINETStreamデモパッケージの公開• S3互換ストレージ対応• メッセージ圧縮／解凍機能© 2022 National Institute of Informatics

13

New

秘匿情報共有⽀援コンフィグサーバと対応ライブラリ
RDB

2つの機能を持つコンフィグサーバを開発

設定情報• 設定情報の容易な配布• SINETStreamの設定情報(ブローカの種類，アドレス，共通鍵等)の登録，共有• 対応ライブラリの利⽤で，複数のセンサプログラムに⾃動(再)配布も可能

コンフィグサーバ
設定情報の登録

設定情報© 2022 National Institute of Informatics

SINETStream

SINETStream

センサプログラム センサプログラム センサプログラム

Secure KVS• 安全な秘匿情報共有• 秘匿情報は暗号化されて設定情報に埋め込まれる

設定
情報

設定情報

SINETStream• Java版，Python版を2021年12⽉より公開• SINETStreamのデータ暗号化機能で⽤いる
共通鍵の管理• 研究グループメンバ間で共通鍵を共有可能

ブローカ

共通鍵

コンフィグサーバ
共通鍵，メンバの登録

共通鍵情報は各⾃の公開鍵で暗号化して提供

2022年3⽉ IPSJ SPT研究会で発表(北川)

14

New

SINETStreamデモパッケージ

DICOMO2022で発表予定(⼩林)SINETStreamを⽤いた典型的なIoTシステムのプログラム，構築⼿順を公開
数値センサデータを扱うIoTシステム
センサ端末

温度，湿度，CO2濃度

⽵島先⽣，森松先⽣
ZabbixKafka(例︓Raspberry Pi)

徳島⼤学で利⽤

クラウド／
学内サーバ

Elasticsearch +Grafana

動画像を扱うIoTシステム
クラウド／
学内サーバ
センサ端末

Kafka

(例︓Raspberry Pi)

動画像を指定画素数，フレーム数で切り出す© 2022 National Institute of Informatics

可視化
プログラム

YOLO
OpenPose

https://github.com/nii-gakunin-cloud/sinetstream-demo

15

New

S3互換ストレージ対応
Amazon S3互換オブジェクトストレージ⽤SINETStreamプラグインを開発

R-API

ReaderStreamFramework

ブローカ経由でストレージに格納© 2022 National Institute of Informatics

ReaderTopic A

Topic A

R-API

W-API

Storage/ DB

ObjectStorage

Pub-Sub
Service

MQTT
Writer:Writer

ReaderTopic B

Reader

MQTT
Kafka

Kafka

R-API

Topic B

Reader

R-API

Topic B

Pub-Sub
Service

WriterServiceService
Topic B

W-API

Broker

R-API

Messages
Topic A

Messages
Topic A

W-API

WriterW-API

Writer

W-API

SINETStream

W-API• S3互換オブジェクトストレージ（S3，MinIO他）にメッセージを直接格納• サーバ側のブローカ設定が不要︕• ただし，低頻度，粒度⼤きめの通信パターンでの利⽤を推奨• 例︓静⽌画を○秒毎に1枚送る
SINETStream

Writerストレージに直接格納，ブローカ不要︕
16

New

メッセージ圧縮／解凍機能
送信するセンサデータを圧縮／解凍する機能を提供• 圧縮機能を有するブローカはあるが，データ暗号化後の圧縮は効果が薄いà SINETStreamで圧縮／解凍機能をサポート• データ通信量を低減できる︕• ただし，圧縮効果の検討が必要（圧縮・解凍時間増 vs. 通信データ量減）
SINETStream© 2022 National Institute of Informatics

解凍Broker

R-APIWriter

W-API

圧縮Reader17まとめ• SINETStream 広域データ収集・解析プログラム開発⽀援ソフトウェア• SINETStreamの開発状況• 2019年12⽉ v1.0 – Python(P), Java(J) APIを提供

SINET以外の環境でも使えます• 2020年3⽉ v1.1 - タイムスタンプ機能，プラグイン開発ガイド• 2020年6⽉ v1.2 - ⾮同期API，SINETStreamサーバ設定ガイド• 2020年7⽉ v1.3 - メトリクス収集機能• 2020年10⽉ v1.4 – Android(A)版（コア／ヘルパライブラリ）• 2021年3⽉ v1.5 - Android版アプリEcho/Sensor，チュートリアル• 2021年12⽉ v1.6 - コンフィグサーバ(J,P)，SensorアプリGPS対応(A)• 2022年4⽉ - SINETStreamデモパッケージ公開• 2022年7⽉頃公開予定 - S3互換ストレージ対応(J,P)，メッセージ圧縮機能(J,P)

SINETStream公開中︓https://sinetstream.net/• オープンソース（Apache License v2.0），チュートリアル，ライブデモあり• ユーザ登録をお願いいたします（MLへの登録，最新情報案内）© 2022 National Institute of Informatics

18