DATA PLANE
循環層
機器やサービスから届いたデータを受け取り、必要な先へ振り分けて届ける。
CORE INTERFACE FOR DISTRIBUTED INFORMATION SYSTEMS
CORIDIS(コリディス)は、自作の電子機器、自動で動くスクリプト、自宅のサーバー、外部の Web サービスをつなぎ、動いているかを見守りながらまとめて動かす個人のシステムです。
01 · MANIFESTO
CORIDIS を作るうえで守る決まり。CORIDIS の七文字に合わせて、七つにしてある。
PULSAT, ERGO EST.
稼働は応答で確かめる。応答のない機器やサービスは、止まっているものとして扱う。
外から来たデータは確かめる。確かめていないデータは、システムの中心へ入れない。
時刻は一か所で決める。すべての機器と処理は、同じ基準の時刻に合わせて動く。
つなぎ方は仕様書で決める。書かれていない互換性はあてにしない。
出来事は一か所に記録する。記録しなかった出来事は、あとから起きたかどうかを確かめられない。
すぐ立ち直れるように作る。止まること自体は問題ではない。元の状態に戻せないことが問題である。
どの部品も交換可能にする。中心となる仕組みも例外ではない。
02 · ANATOMY
CORIDIS は四つの層でできている。データを届ける層、通信を仲立ちする層、処理のタイミングを決める層の三つが働き、全体が動いているかを確かめる観測層がそれを支える。
DATA PLANE
機器やサービスから届いたデータを受け取り、必要な先へ振り分けて届ける。
CONTROL PLANE
MQTT・HTTP・Notion API など方式の違う通信を相互に変換し、外から入るデータは確かめてから中へ通す。
TIMING PLANE
全体で共通の時刻を持ち、決まった時刻や間隔で処理を動かす。
OBSERVABILITY
各部が動いているかを確かめ、状態の変化を見えるようにし、起きた出来事を記録に残す。
03 · CAPILLARIES
ESP32 と 2.8 インチのタッチ液晶で作る、手のひらサイズの表示端末。Wi-Fi につないで、時計・予定・天気や CORIDIS の稼働状況を表示する。