Weave プロファイル

プロフィールを編む

完全な Weave スタックには多数の要素がありますが、機能の大部分はプロファイルという論理構造にまとめられています。各プロファイルは、以下を含む特定の Weave 機能セットに対応しています。

  • プロトコル
  • プロトコルのロール(パブリッシャー、サブスクライバー)
  • メッセージのタイプ
  • スキーマと公開されているデータ
  • ステータス コード
  • エラーコード

これらの要素はプロファイルによって異なるため、ここでは説明しません。

メッセージの場合、プロファイル メッセージは通常、Weave TLV でエンコードされた一般的なメッセージです。ただし、スペースがプレミアムな場合、またはペイロードに柔軟性が必要ない場合は、TLV は使用されません。TLV でメッセージをエンコードしないプロファイルの例として、エコーとハートビートがあります。

Weave には、次のようなさまざまなプロファイルが組み込まれています。

プロフィール
共通 Service Directory セキュリティ
データ管理 繰り返す ハートビート
一括データ転送 ステータス レポート デバイスの説明
デバイス コントロール タイムサービス タイムゾーン
ネットワーク プロビジョニング Fabric Provisioning サービス プロビジョニング
ソフトウェア アップデート 言語 / 地域 アラーム
トンネリング トークンのペアリング  

そのいくつかを簡単に見てみましょう。

データ管理

データ管理 プロファイルは、publish-subscribe モデルを使用してトレイトのリクエストをすべて管理します。Google Nest エコシステムの日々の運用におけるほぼすべての機能が、Weave スキーマの一部としてリソースとトレイトにマッピングされています。

スキーマとデータ管理プロファイルについては後で詳しく説明しますが、このプロファイルは Weave の主軸です。

たとえば、モバイル デバイスから Google Nest Secure の監視状態を変更する場合は、データ管理を使用します。このプロファイルは、サブスクライバー(モバイル デバイス)からファブリック内の他のリソース(Nest Secure とサービス)にリクエストを送信します。これらのリソースは、リクエストを承認し、スキーマの監視状態を変更し、変更を確認するレスポンスを送信します。

エコー

Echo プロファイルは、ネットワーク接続とレイテンシをテストするための基本的なメカニズムを備えています。これは、ICMP エコー リクエストに基づいてモデル化されており、同様の用途を対象としています。これはネットワーク ping に似ていますが、指定されている場合は Weave メッセージと暗号化を使用します。

Echo ペイロードは、リクエスト元のノードから提供される任意のデータで構成され、レスポンスではそのままのエコーバックが期待されます。Echo は、Weave ファブリックの接続性、セキュリティ、接続性のテストに使用されます。

単刀直入に

Heartbeat プロファイルは、1 つのノードがネットワーク内の他のノードに対してどの状態であるかを示す手段を提供します。Weave ハートビートは通常、定期的に送信されます。構成されたタイムアウト前に受信されなかった場合、ノードは失敗したとみなされます。

ハートビートとは、Weave ノードがファブリックにまだ接続されているかどうかを確認する方法です。たとえば、Google Nest Detect と Google Nest Guard はハートビートを使用して、Google Nest Secure システムのライブ性を確保します。

バルクデータ転送

Bulk Data Transfer(BDX)プロファイルを使用すると、ノード間でファイルを転送できます。このコンテキストでのファイルは、無線(OTA)アップデート用のセンサーデータ、ログ、ソフトウェア イメージなどです。

BDX は、TCP や Weave Reliable Messaging など、さまざまな信頼性の高いトランスポート プロトコルで実行できます。

プロビジョニング中

リソースのペア設定、認証、サービス登録に関連するタスクに使用されるプロビジョニング プロファイルはいくつかあります。

ネットワークのプロビジョニング

ネットワーク プロビジョニング プロファイルは、ネットワークのスキャン、ファブリック内のリソースの追加や有効化などのタスクを処理します。

サービスのプロビジョニング

サービス プロビジョニング プロファイルは、アカウントとリソースのペア設定や、サービスへの登録などのタスクを処理します。

ファブリック プロビジョニング

ファブリック プロビジョニング プロファイルは、ファブリックの作成、参加、退出、ファブリック構成の取得などのタスクを処理します。

内容のまとめ

学習した内容:

  • Weave の機能の多くはプロファイルにより管理されています。
  • プロファイルは、特定の機能セットに対応するアプリケーション プロトコルです。
  • 各プロファイルには、固有のメッセージ タイプのセットがあります。 通常は Weave TLV でエンコードされます。