Soracom

Users

アーキテクチャーセンター
Home アーキテクチャーセンター デバイス設計と実装

接続と通信の設計

接続回数、通信量、接続時間、プロトコル、通信モジュールの扱いを見直したいときに参照するページ

このページを利用する際の注意事項
  • 接続回数、通信量、接続時間、プロトコル、通信モジュールの扱いを見直したい場合は、このページを参照してください。
  • 正確な内容や最新の情報は、必ず ソラコム デバイス実装ガイドライン を確認してください。
  • 判断に迷う場合は、このページだけで判断せず、末尾の元記事・元資料もあわせて確認してください。
  • このページの内容は、最終更新日 2025/05/02、バージョン 1.0.1 のガイドラインをもとにしています。

このページでは、ソラコム デバイス実装ガイドラインの 過度な接続や切断を避ける から 通信モジュールの動作を理解する までに記載された内容をまとめています。

この内容が役立つケース

  • 接続回数や再接続の挙動を見直したい。
  • 多数デバイスの同時接続や同期送信を避けたい。
  • 通信量、接続時間、プロトコル選定を見直したい。

ソラコム デバイス実装ガイドラインとの対応

ページこのページでの扱い
過度な接続や切断を避ける5-6接続と通信の設計で確認すること
多数のデバイスの同期動作を避ける6接続と通信の設計で確認すること
デバイスあたりのネットワーク接続数を減らす6接続と通信の設計で確認すること
データ転送サイズを小さくする6-7接続と通信の設計で確認すること
アクティブ接続時間の短縮7接続と通信の設計で確認すること
プロトコルを適切に選択する7-8接続と通信の設計で確認すること
無線アクセス技術の動作を理解する8接続と通信の設計で確認すること
通信モジュールの動作を理解する8-9接続と通信の設計で確認すること
改版履歴17冒頭の版情報

接続と通信の設計で確認すること

過度な接続や切断を避ける

ソラコム デバイス実装ガイドラインでは、通信モジュールの電源を過度にオン・オフする挙動は避けるべきとされています。4G (LTE) では、接続中の状態である RRC CONNECTED と、待機中の状態である RRC IDLE の間を行き来します。頻繁な電源断と再投入は、ネットワーク観点では信号メッセージを増やして負荷を高めます。

図: RRC CONNECTED と RRC IDLE の考え方

省電力のために電源を切りたくなる場面でも、ソラコム デバイス実装ガイドラインでは eDRX や PSM といったモバイルネットワーク側の省電力機能を優先して検討するよう求めています。

多数のデバイスの同期動作を避ける

多数のデバイスが同じ時刻に再接続やファームウェア更新を行うと、接続要求が一斉に集中します。ソラコム デバイス実装ガイドラインでは、開発時の少数台テストでは見えにくいものの、実運用では基地局やコアネットワークの負荷上昇につながるため、ランダム化タイマーなどで接続要求を分散させることが重要だと説明しています。

デバイスあたりのネットワーク接続数を減らす

リアルタイム性が不要な用途では、送信回数を減らせないかを見直します。ソラコム デバイス実装ガイドラインでは、10 秒ごとに 10 バイト を送る代わりに、60 秒ごとに 60 バイト を送れるかを検討する例を挙げています。接続回数を減らすことは、デバイスの消費電力とネットワーク負荷の両方を下げる方向に働きます。

データ転送サイズを小さくする

ソラコム デバイス実装ガイドラインでは、データ圧縮や差分送信で総転送量を減らすことを求めています。例として、前回値から変化したセンサーデータだけを送る実装や、デバイス上で要約して重要部分だけを送るエッジ処理が示されています。

また、ソラコム デバイス実装ガイドラインでは バイナリパーサー にも触れており、デバイスからはコンパクトなバイナリで送り、クラウド側では JSON として扱う方法が、通信量と消費電力の削減に役立つと説明しています。

アクティブ接続時間の短縮

ソラコム デバイス実装ガイドラインでは、送信頻度とサイズだけでなく、送信完了までの時間も重要だとしています。高速な接続方式のほうが短時間で送信を終えられるため、低速方式より結果的に電力効率が良い場合があります。どの方式が有利かは一律ではなく、送信頻度、データサイズ、接続継続時間の組み合わせで変わるため、消費電力テストで判断する必要があります。

プロトコルを適切に選択する

ソラコム デバイス実装ガイドラインでは、ハートビートやキープアライブの間隔を、利用するプロトコルのタイムアウト特性に合わせる必要があるとしています。特に、通信プロトコルの 1 つである Transmission Control Protocol (TCP) を使う場合、ハートビートを速くしすぎても、デバイスがオフラインだと即断できるわけではなく、過剰なメッセージを生むだけです。

ソラコム デバイス実装ガイドラインでは、TCP キープアライブを使うデバイスの既定ポーリング間隔を 29 分 としています。また、Narrowband Internet of Things (NB-IoT) は高遅延で再送が起こりやすいため、TCP 系プロトコルと衝突しやすく、NB-IoT 上では TCP を使うべきではないとしています。

無線アクセス技術の動作を理解する

ソラコム デバイス実装ガイドラインでは、無線アクセス技術ごとにネットワーク検索時間が大きく異なることを踏まえて、アプリケーションのタイムアウトや再起動条件を設計する必要があるとしています。特に NB-IoT では、帯域の広いバンドを複数有効にすると検索時間が伸びやすく、短いタイムアウトで決め打ちした実装では正常な検索を妨げる可能性があります。

チェックリストでも、ネットワーク検索時間は最大で 2〜3 分程度 かかるものとして、検索中に通信不可とみなして再起動しないよう求めています。

通信モジュールの動作を理解する

ソラコム デバイス実装ガイドラインでは、通信モジュールの手動制御を過度に行わないことを求めています。特に AT+COPS で特定のネットワークへ固定すると、自動検索や切替の動作を妨げる可能性があります。

グローバルカバレッジタイプの IoT SIM では、ソラコムは特定の接続先ネットワーク (Public Land Mobile Network, PLMN) への恒久接続を担保していないため、ソラコム デバイス実装ガイドラインでは AT+COPS の自動モードを使い、滞在している国で通信キャリアを固定しないことを強く推奨しています。あわせて、複数ネットワークに対応する IoT SIM を使う場合は、それらすべてに対応した通信モジュールやデバイスを選定することが、チェックリストにも記載されています。

元記事・元資料

このページは、以下の記事・資料をもとにしています。
正確な内容や最新の情報を確認するときは、元の記事・資料もあわせて参照してください。