AllJoyn

AllJoynメモ

More than 3 years have passed since last update.

https://ms-iot.github.io/content/en-US/win10/AllJoyn.htm を見てかいた自分用のメモです。

  • AllJoynでは中間サーバ無しにノード間で通信ができる仕様
  • OS/Transport層フリー
  • 全てのノードと通信できるノードをRouting Note(RN:Router)と呼び、端末間で通信するノードをLeaf Nodes(LF:Application)と呼ぶ。Leaf NodesはRNを通じてLNと通信する。

AllJoyn_Routers_Apps.png

https://ms-iot.github.io/content/images/AllJoyn/AllJoyn_Routers_Apps.png

AllJoynのソフトウエアはこのような構成

  • AllJoyn App Layer
  • AllJoyn Service Frameworks デバイス間の相互接続のための共通インタフェース定義
  • AllJoyn Core Libs RNとデバイス間をセキュアに接続させるためのコアライブラリ群
  • AllJoyn Router デバイスとアプリケーション間の通信レイヤ

AllJoyn_Architecture.png

https://ms-iot.github.io/content/images/AllJoyn/AllJoyn_Routers_Apps.png

またフレームワークは以下の2種類

  • Standard 非組み込み機器(PC?)向けでコアライブラリを全てサポート
  • Thin 組み込み機器向けでリソースの制約やルータとの接続機能のみサポート

AllJoynはethernet, Wi-Fi, Serial, PLCなどでも通信可能。しかし実装があるかどうかは別。
さらに、AllJoynのフレームワークを他のシステムとブリジッジするようなシステムを組むことも可能。(Zigbee, Z-wave, クラウドなど)MSからのAllSeenアライアンスへのコントリビューションをチェックするとサンプルや詳細がわかる。

AllJoyn_Frameworks.png

https://ms-iot.github.io/content/images/AllJoyn/AllJoyn_Frameworks.png

AllJoyn Device System Bridge

AllJoynへの他のシステム(デバイス)をブリッジさせる仕組みの紹介

デバイスシステムブリッジ(DSBs)が既存の他システムとAllJoynをつなげる仕組みを提供する。基本的にはDSBsの提供するAPIを実装するアダプタとして、デバイスプロトコルプラグインを実装する。AllJoyn側には仮想デバイスとして検出/通信が可能となる。

AllJoyn_DSBArch.png

https://ms-iot.github.io/content/images/AllJoyn/AllJoyn_DSBArch.png