ミドルウェア SALTYSTER 概要
SALTYSTERはデータベースとエッジコンピューティングを融合させたミドルウェアです。
クラウド一辺倒に頼っていた今までのIoT を、エッジ/ゲートウェイ側機能をインテリジェンス化することで高速性や大幅な利便性向上を追求しました。
IoT の課題「ビッグデータはゴミ屋敷」
- 全てのデータを収集しクラウド/サーバーに集めていませんか?
- 具体的な目的を設定せずに無駄なデータを大量に集めていませんか?
- 通信、クラウド/サーバー、システム開発に大きなコストが発生していませんか?
- データ量の増大化に比例して、実存するデータが分析精度を下げていませんか?
ビックデータがゴミ屋敷化していませんか?
エッジコンピューティングの加速化
全てのセンシングデータをクラウドへアップロード送信して処理する方法が一般的ですが、「SALTYSTER」は端末やセンサーなどIoTデバイス機器の近く(エッジ側)にて高速データベースを活用することでデータの一次分析処理、フィルタリング、クレンジングなどを行い、IoTシステム全般の負荷の軽減、コスト削減を実現するミドルウェアです。

エッジコンピューティングによる3つの効果
クラウド/サーバー負荷の低減
不要なデータを削除することで分析精度がアップ
通信負荷の低減
不要なデータを削除することで通信料、コストの大幅な削減(ex. SIM利用)
高速デバイス制御
クラウドを経由した「数百msec」での制御から「数msec」以下の制御へ
SALTYSTERが提供する4つの特徴

特徴1:高速&各種データ取込と時間軸でのマージ
- 各種デバイスからのデータの取込み:PLCシーケンサー/ロボット/各種センサー/カメラ等のデータ
- ロガー専用C-APLとMQTTをサポート
- 時間軸でのデータ連携
- 一定時間、一定件数のデータをバックアップしローカル/クラウド/オンプレサーバーへアップロード
(PLC監視/制御用APL、センサー監視/制御用APL、APL監視/制御用APL)
データ登録時に取りこぼさない高速処理
- 世界最速を誇るデータベース、トランザクション機能をエッジ側に実装済み
- エッジ側のDB活用によりデータをアップロードする前に各種分析処理を実現

C言語インターフェース(CS型)
関数名 | 説明 |
---|---|
ss_connect | Saltysterサーバに接続 |
ss_close | Saltysterサーバを切断 |
ss_get_err | エラーコードの取得 |
ss_get_err_inf | エラー情報の取得 |
ss_localtime_to_ts | タイムスタンプの生成 |
ss_log_insert | 時間文字列への変換 |
MQTTインターフェース
項目 | 説明 |
---|---|
TOPIC名 | /${プレフィックス}/${DEV-ID}/${DBリソース名} |
MESSAGE仕様 | [TMS] + Sensing Data |
・プレフィックスはシステム構成により決定(設定ファイルで定義)
・DEV-ID(デバイスID)は10進の整数値
・TMS(タイムスタンプ、マイクロ秒)は省略可能
(省略可否は設定ファイルで定義)
・TMSが省略された場合、Saltyster内で受信時間を自動設定
・TMSは以下のどちらかの形式
*UNIX時間 * 1000000 + μ秒 ※8バイト
*ISO 8601形式の時形式 20161111T122119+0900+μ秒 ※26バイトテキスト
特徴2:一次分析処理&バックアップ
- ノイズ等データのフィルタリング
- アラート&イベント起動による異常値の検知
- 統計処理、エッジでのローカルバックアップ
簡単定義ファイルによるデータの分析処理
- 全件データのアップロード
(クラウド送信) - フィルタリングデータのアップロード
(ごみデータ排除) - 統計処理データのアップロード
(指定件数/時間単位) - 指定期間/件数分のデータをゲートウェイ側で保持(生データ保存)

統計処理の項目例
「平均」「標準誤差」「中央値」「最頻値」「標準偏差」「分散」「劣度」「歪度」「範囲」…他多数
止まらないDBエンジン「リング構造」
各種デバイスからのデータを常時ローカルにバックアップすることで、連続稼働における課題を解決します。
【一般的な課題】
アップロードする前の最新データを一定時間/量を自動バックアップする
↓
ストレージ容量が固定化されているため、DBの肥大化に伴いデータを削除する必要がある
↓
削除によるフラグメーション領域の発生
停止を伴うDBメンテナス

特徴3:高速&低コストなデータアップローダ
- 圧縮転送技術による通信パケット量の大幅削減
- 簡単な定義ファイルによるクラウド/サーバー連携
通信料の大幅削減
データ圧縮(暗号化)によるバイナリ転送とトランザクション処理によりデータの欠損を回避します。取得したビッグデータ専用にSIM回線を使用するなど上りのパケット費用を大幅に削減することが可能です。

定義ファイルによるクラウドDB/システム連携


特徴4:データベース/システム連携
- PostgreSQL/Oracle/MongoDB等をサポート
- Azure/MotionBoardをサポート
- SON/CSVファイルによるシステム連携
エッジ、他社クラウドサービス/DBとの連携例

センシングデータの収集と一次分析 (SALTYSTER)
クラウドサービス
データの可視化
- マイクロソフト社「Azure」、ウイングアーク1st社様「MotionBoard」と連携し(定義ファイル指定)、ミドルウェア「SALTYSTER」上のデータを送信
- CSV/JSON形式のファイルを通じて、他サービス/システムなどへ「ミドルウェア」SALTYSTERのデータを送信
既存システムからのデータを取込み(定義ファイル形式への個別実装可能) - PostgreSQL、MongoDBなど製品個別に連携
SALTYSTER導入メリット
1. コスト削減
- 通信コスト
GATEWAY~クラウド/サーバー間の 通信パケット - リソースコスト
クラウド/サーバー上のCPU/メモリ/ストレージなど、有料のクラウドサービス利用料 - 開発コスト
簡便なスクリプト利用による生産性向上、短期間/低コストでのPOC開発に最適
2. エッジコンピューティングの付加価値
- PLC/ロボット/センサー等の異常値検知ロジック実装により高速なデバイス制御を実現
- ローカルデータベースとして一定期間内のデータをバックアップ(サーバへの問い合わせが不要)
- 高速&連続稼働可能なデータベースを搭載(電源遮断時のデータの保全、ユーザアプリの実装等)
- C-API&MQTTによるデータ登録/更新/検索
動作環境
SALTYSTER Serviceモジュール(Gateway上で稼働)
項目 | GATEWAYなど |
---|---|
CPU | X86 64bit、ARM 64bit |
OS | CentOS 6/7, Ubuntu 15/16, Raspbian JESSIE Debian LinuxのKernel 4.4.x,Windows7/8/10 |
フットプリント | Serviceモジュール 500KB (OS環境などに依存、実行モジュールサイズ) |
ファイルシステム | ext4,xfs |
推奨メモリ | 1MB以上 |
データモデル | KeyValueStore 型/Keyはログ型:タイムスタンプ+8byte |
MQTTブローカー | Mosquitto/RabbitMQ |
製品連携 | Microsoft“Azure”、ウイングアーク1st“Motion Board” |
SALTYSTER Receiverモジュール(クラウド/サーバ上で稼働)
項目 | クラウド/サーバーなど |
---|---|
CPU | Intel x86(64bit) |
OS | CentOS 6/7, Ubuntu 15/16 Debian LinuxのKernel 4.4.x,Windows Server |
フットプリント | Receiverモジュール 120KB (OS環境などに依存) |
ファイルシステム | ext4 |
推奨メモリ | 4MB以上 |
DB連携 | PostgreSQL Ver9系 / MongoDB Ver3系 |
システム連携 | JSON形式/CSV形式の中間ファイル |
【SALTYSTER 移植に関する注意事項】
・Gateway、クラウド/サーバ上の各種LinuxOSに関しては、ライブラリVersionがHW環境に依存しているなど特殊なことがない限り、
1~2日間程度の作業期間で移植ができます。ただしHW/SW環境のご提供と、サポート窓口の開示をお願いします。
・上記以外のHW/SW、OS環境に関しては、個別にご相談願います。
・SALTYSTERのMQTT機能を利用する際には、Mosquittoのライブラリが、移植対象のHW/SW環境で
稼働することが前提条件となります。Mosquittoのライブリが稼働しない際は、MQTT機能を削除した上での移植などをご相談願います。
お気軽にお問い合わせください。0263-51-9296塩尻本社: 受付時間 9:00-17:00 [ 土日・祝日除く ]
メールでのお問い合わせはこちら:info@saltyster.com