ミドルウェア 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_connectSaltysterサーバに接続
ss_closeSaltysterサーバを切断
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メンテナス

連続稼働に対応するKVS型DBを内蔵

特徴3:高速&低コストなデータアップローダ
  • 圧縮転送技術による通信パケット量の大幅削減
  • 簡単な定義ファイルによるクラウド/サーバー連携
通信料の大幅削減

データ圧縮(暗号化)によるバイナリ転送とトランザクション処理によりデータの欠損を回避します。取得したビッグデータ専用にSIM回線を使用するなど上りのパケット費用を大幅に削減することが可能です。

パケット量比較(当社比)
定義ファイルによるクラウドDB/システム連携

PostgreSQL連携
MongoDB連携
特徴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など
CPUX86 64bit、ARM 64bit
OSCentOS 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モジュール(クラウド/サーバ上で稼働)
項目クラウド/サーバーなど
CPUIntel x86(64bit)
OSCentOS 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