TimerManによる非同期制御の解説

分散自己安定化リレー制御(Distributed Self-Stabilizing Relay Control)[仮想アカウント版]

原型版から仮想アカウント対応に拡張しました。

中央サーバーに頼らず、ユーザー同士が局所的な情報だけで関係性を調整していく仕組みの研究です。

これは何?

P2P環境で仮想アカウント(ユーザー)が「Rank(安定性・信頼度)」と「Value(現在の状態・興味)」を持ち、
必要最小限の通信だけで自己組織化を目指すアルゴリズムです。

主な特徴

応用について

本アルゴリズムは、既存の中央集権的な推薦システムを置き換えるものではありません。
ただし、補助的なレイヤーとして興味を持っていただけるかもしれません。

特に大規模ソーシャルサービスにおける多様性の向上や、将来的な分散型アーキテクチャでの利用などを模索しています。

ソースコードはGPLv3です。興味がある方は自由に改良・実験してください。

背景と目的

現在のアカウント連携はOAuthやOpenID Connectなど、中央集権的なサーバーを前提としたものが主流です。しかしP2P環境では、通信路が確立した後の「アカウント間の関係性維持」や「状態の協調」が大きな課題となります。

本研究では、通信インフラそのものではなく、その上で動作する自己組織化レイヤーを提案します。

特徴は以下の通りです:

位置づけ

技術 主な役割
NAT Traversal / WebRTC通信路を確立する
OAuth / OpenID認証・ID連携を行う
CRDT / Consensusアルゴリズムデータの一貫性を保つ
本提案(DSSRC 仮想アカウント版) 通信確立後のアカウント関係性・役割分担・状態遷移を
自己安定化させる

想定用途例:

P2P型分散SNS: サーバーを介さない、ユーザー間の自律的な信頼関係構築。

分散型オンラインゲームの同期: プレイヤー間での高速かつ公平な役割・状態の伝播。

TimerMan 追いかけっこシミュレーション[仮想アカウント版]

最大行数 PING待ちカウント 安定性 Auto50

GUIモードノード数:

Rank
O   Value

アルゴリズム概要


仮想アカウント生成(Rankは個別の信頼度・安定性の指標)

近傍探索(Rank指向サンプリング)

乖離チェック → 大きければHello通信

Swap要求・実行(Rank交換)

速度調整(ブースト/ブレーキ)

繰り返し → 自己安定化へ収束

なぜRank交換するの?

ノード自身の状態(Valueなど)は移動させず、Rankだけを交換します。これは大量のデータを移動させる代わりにインデックスだけを並べ替える発想に近く、局所的な通信だけで全体の順序を自己組織化することを目的としています。

Source Code



    
    

ログの例:アカウント間の自律的な対話

乖離が閾値を超えたノード間で、動的に「Hello(再同期)」や「Swap(調整)」が発生している様子です。

...
--- GUI Mode Started (100 nodes) ---
ThreadNo.#000086 says Hello to ThreadNo.#000021! (Val Diff: 0.8904)
ThreadNo.#000032 says Hello to ThreadNo.#000038! (Val Diff: 0.9461)
ThreadNo.#000034 says Hello to ThreadNo.#000006! (Val Diff: 0.9279)
ThreadNo.#000041 says Hello to ThreadNo.#000064! (Val Diff: 0.8987)
ThreadNo.#000077 says Hello to ThreadNo.#000034! (Val Diff: 0.8535)
ThreadNo.#000095 says Hello to ThreadNo.#000010! (Val Diff: 0.8821)
ThreadNo.#000048 says Hello to ThreadNo.#000052! (Val Diff: 0.9521)
ThreadNo.#000026 says Hello to ThreadNo.#000044! (Val Diff: 0.9143)
--- System Paused ---
...

まとめ

本実験により、仮想アカウント同士が中央制御なしでRankを介して自己組織化し、乖離の大きい相手と選択的にコミュニケーションを取る様子を確認しました。今後は実WebRTC環境での分散実験や、Rankの動的計算式の高度化を予定しています。



操作デモ
ノード数10000においてまるで星間ガスがy=xに収縮するようです

ノード数10000、安定性100の場合







<< 分散自己安定化リレー制御原版 : 重力多体問題をマネージドクラス化する >>




戻る