IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧

<>
  • 特開-無線通信装置及び方法 図1
  • 特開-無線通信装置及び方法 図2
  • 特開-無線通信装置及び方法 図3
  • 特開-無線通信装置及び方法 図4
  • 特開-無線通信装置及び方法 図5
  • 特開-無線通信装置及び方法 図6
  • 特開-無線通信装置及び方法 図7
  • 特開-無線通信装置及び方法 図8
  • 特開-無線通信装置及び方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024176746
(43)【公開日】2024-12-19
(54)【発明の名称】無線通信装置及び方法
(51)【国際特許分類】
   H04W 28/06 20090101AFI20241212BHJP
   H04W 84/18 20090101ALI20241212BHJP
   H04W 88/04 20090101ALI20241212BHJP
【FI】
H04W28/06
H04W84/18
H04W88/04
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023095524
(22)【出願日】2023-06-09
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】向本 将規
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA13
5K067BB27
5K067EE02
5K067EE25
5K067HH36
(57)【要約】
【課題】効率的な通信を実現することが可能な無線通信装置及び方法を提供することにある。
【解決手段】実施形態によれば、無線マルチホップネットワークを介してマルチホップ通信を行う無線通信装置が提供される。無線通信装置は、管理手段と、第1圧縮処理手段と、第1暗号処理手段と、送信手段とを具備する。管理手段は、無線通信装置が送信ノードである場合の第1圧縮ルールを管理する。第1圧縮処理手段は、第1圧縮ルールを適用することによって、ネットワークヘッダまたはトランスポートヘッダを圧縮する。第1暗号処理手段は、圧縮後にネットワークヘッダとネットワークデータとを暗号化する。送信手段は、暗号化されたネットワークヘッダと暗号化されたネットワークデータとを含むパケットを送信する。第1圧縮ルールは、受信ノードである他の無線通信装置と共有される。
【選択図】図3
【特許請求の範囲】
【請求項1】
無線マルチホップネットワークを介してマルチホップ通信を行う無線通信装置において、
前記無線通信装置が前記マルチホップ通信における送信ノードである場合の第1圧縮ルールを管理する管理手段と、
前記第1圧縮ルールを適用することによって、ネットワークヘッダまたはネットワークデータに含まれるトランスポートヘッダを圧縮する第1圧縮処理手段と、
前記圧縮後に前記ネットワークヘッダと前記ネットワークデータとを暗号化する第1暗号処理手段と、
前記暗号化されたネットワークヘッダと前記暗号化されたネットワークデータとを含むパケットを送信する送信手段と
を具備し、
前記第1圧縮ルールは、前記マルチホップ通信における受信ノードである他の無線通信装置と共有される
無線通信装置。
【請求項2】
前記パケットに含まれるネットワークヘッダ及びネットワークデータには、前記ネットワークヘッダまたは前記トランスポートヘッダが圧縮された際に適用された第1圧縮ルールを識別するための圧縮ルール識別情報が付与される請求項1記載の無線通信装置。
【請求項3】
前記第1圧縮ルールは、前記ネットワークヘッダまたは前記トランスポートヘッダを構成するフィールドの候補値を含み、
前記第1圧縮処理手段は、前記第1圧縮ルールに含まれるフィールドの候補値と前記ネットワークヘッダまたは前記トランスポートヘッダを構成する当該フィールドに設定されている値とが一致する場合に、当該フィールドを省略することによって当該ネットワークヘッダまたは当該トランスポートヘッダを圧縮する
請求項1記載の無線通信装置。
【請求項4】
前記第1圧縮処理手段は、前記第1圧縮ルールに含まれるフィールドの候補値と前記ネットワークヘッダまたは前記トランスポートヘッダを構成するフィールドに設定されている値の一部とが一致する場合に、当該値の一部を省略することによって当該ネットワークヘッダまたは当該トランスポートヘッダを圧縮する請求項3記載の無線通信装置。
【請求項5】
前記第1圧縮ルールを適用することによって、前記マルチホップ通信における送信対象のデータを圧縮する第2圧縮処理手段と、
前記圧縮された後の前記データを暗号化する第2暗号化処理手段と
を具備し、
前記ネットワークデータは、前記トランスポートヘッダ及び前記暗号化されたアプリケーションデータを含む
請求項1記載の無線通信装置。
【請求項6】
前記第1圧縮ルールは、前記無線通信装置または前記他の無線通信装置が前記無線マルチホップネットワークに参入する際のプロビジョニング時に、当該無線通信装置及び当該他の無線通信装置に配布される請求項1記載の無線通信装置。
【請求項7】
受信手段を更に具備し、
前記管理手段は、前記無線通信装置が前記マルチホップ通信における受信ノードである場合の第2圧縮ルールを管理し、
前記受信手段は、他の無線通信装置から送信されたパケットであって、当該他の無線通信装置において暗号化されたネットワークヘッダ及び暗号化されたネットワークデータを含むパケットを受信し、
前記第1暗号処理手段は、前記受信されたパケットに含まれるネットワークヘッダ及びネットワークデータを復号し、
前記復号されたネットワークヘッダまたは前記復号されたネットワークデータに含まれるトランスポートヘッダは、前記他の無線通信装置において前記第2圧縮ルールを適用することによって圧縮されており、
前記第1圧縮処理手段は、前記第2圧縮ルールを参照することによって、前記復号されたネットワークヘッダまたは前記復号されたネットワークデータに含まれるトランスポートヘッダを展開する
請求項1記載の無線通信装置。
【請求項8】
前記受信されたパケットに含まれるネットワークヘッダ及びネットワークデータには、前記ネットワークヘッダまたは前記トランスポートヘッダが圧縮された際に適用された第3圧縮ルールを識別するための圧縮ルール識別情報が付与されており、
前記第1暗号処理手段は、前記圧縮ルール識別情報によって識別される第3圧縮ルールが前記第2圧縮ルールとして管理されている場合に、前記ネットワークヘッダまたは前記トランスポートヘッダを復号する
請求項7記載の無線通信装置。
【請求項9】
前記送信手段は、前記受信されたパケットに含まれる圧縮ルール識別情報によって識別される第3圧縮ルールが前記第2圧縮ルールとして管理されていない場合、当該パケットを他の無線通信装置に転送する請求項8記載の無線通信装置。
【請求項10】
前記第2圧縮ルールは、前記無線通信装置または前記マルチホップ通信における送信ノードである他の無線通信装置が前記無線マルチホップネットワークに参入する際のプロビジョニング時に、当該無線通信装置及び当該他の無線通信装置に配布される請求項7記載の無線通信装置。
【請求項11】
前記ネットワークヘッダまたは前記トランスポートヘッダが圧縮されることによって、前記パケットにおいて前記マルチホップ通信における送信対象のデータに割り当てられるデータ領域が拡張される請求項1~10のいずれか一項に記載の無線通信装置。
【請求項12】
無線マルチホップネットワークを介してマルチホップ通信を行う無線通信装置が実行する方法であって、
前記無線通信装置が前記マルチホップ通信における送信ノードである場合の第1圧縮ルールを管理することと、
前記第1圧縮ルールを適用することによって、ネットワークヘッダまたはネットワークデータに含まれるトランスポートヘッダを圧縮することと、
前記圧縮後に前記ネットワークヘッダと前記ネットワークデータとを暗号化することと、
前記暗号化されたネットワークヘッダと前記暗号化されたネットワークデータとを含むパケットを送信することと
を具備し、
前記第1圧縮ルールは、前記マルチホップ通信における受信ノードである他の無線通信装置と共有される
方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、無線通信装置及び方法に関する。
【背景技術】
【0002】
近年では、広範なエリアにおけるセンシング等の用途のために無線マルチホップネットワークを構築し、マルチホップ通信を行うことが知られている。なお、マルチホップ通信は、無線マルチホップネットワークを構成する複数のノード(無線通信装置)がバケツリレー形式でデータ(パケット)を転送することによって長距離通信を実現する通信方式である。マルチホップ通信は、ネットワークを構築するコスト(各ノードの設置コスト)やスケーラビリティの面で利点がある。
【0003】
ところで、上記した無線マルチホップネットワークにおいては、マルチホップ通信において送受信可能なデータのサイズ(つまり、無線マルチホップネットワークにおいて送受信されるパケットに含まれるペイロードに割り当てられるデータ領域)が小さい場合があり、効率的な通信ができない可能性がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特表2020-502833号公報
【非特許文献】
【0005】
【非特許文献1】Bluetooth Mesh プロファイル 1.0.1、[online]、インターネット<URL:https://www.bluetooth.com/ja-jp/specifications/specs/mesh-profile-1-0-1/>
【非特許文献2】RFC 8824 Static Context Header Compression、[online]、インターネット<URL:https://datatracker.ietf.org/doc/rfc8824/>
【発明の概要】
【発明が解決しようとする課題】
【0006】
そこで、本発明が解決しようとする課題は、効率的な通信を実現することが可能な無線通信装置及び方法を提供することにある。
【課題を解決するための手段】
【0007】
実施形態によれば、無線マルチホップネットワークを介してマルチホップ通信を行う無線通信装置が提供される。前記無線通信装置は、管理手段と、第1圧縮処理手段と、第1暗号処理手段と、送信手段とを具備する。前記管理手段は、前記無線通信装置が前記マルチホップ通信における送信ノードである場合の第1圧縮ルールを管理する。前記第1圧縮処理手段は、前記第1圧縮ルールを適用することによって、ネットワークヘッダまたはネットワークデータに含まれるトランスポートヘッダを圧縮する。前記第1暗号処理手段は、前記圧縮後に前記ネットワークヘッダと前記ネットワークデータとを暗号化する。前記送信手段は、前記暗号化されたネットワークヘッダと前記暗号化されたネットワークデータとを含むパケットを送信する。前記第1圧縮ルールは、前記マルチホップ通信における受信ノードである他の無線通信装置と共有される。
【図面の簡単な説明】
【0008】
図1】第1実施形態に係る無線通信装置を含むネットワーク構成の一例を示す図。
図2】無線マルチホップネットワークの適用例を示す図。
図3】無線通信装置の機能構成の一例を示す図。
図4】無線通信装置のハードウェア構成の一例を示す図。
図5】アプリケーションデータ送信処理の処理手順の一例を示すフローチャート。
図6】本実施形態におけるヘッダの圧縮を概念的に説明するための図。
図7】アプリケーションデータ受信処理の処理手順の一例を示すフローチャート。
図8】パケット転送処理の処理手順の一例を示すフローチャート。
図9】第2実施形態における圧縮ルールの一例を示す図。
【発明を実施するための形態】
【0009】
以下、図面を参照して、実施形態について説明する。
(第1実施形態)
図1は、第1実施形態に係る無線通信装置を含むネットワーク構成の一例を示す。図1においては、例えば近距離無線通信を行うことが可能なように構成された無線通信装置10-1~10-6が示されている。
【0010】
なお、本実施形態における近距離無線通信には、BLE(Bluetooth Low Energy(登録商標))に基づく無線通信が含まれる。この場合、無線通信装置10-1~10-6は、BLEに基づく無線通信を行うことが可能な例えばIoT(Internet of Things)デバイスやスマートフォン等の様々な電子機器によって実現される。
【0011】
ここで、BLE(Bluetooth Low Energy)にはBluetooth Meshと称される無線マルチホップネットワークを形成する機能があり、図1に示す無線通信装置10-1~10-6の各々は、当該Bluetooth Meshによって形成された無線マルチホップネットワーク(無線マルチホップメッシュネットワーク)を構成するノードとして動作する。
【0012】
上記した無線マルチホップネットワークにおいては、例えば無線通信装置10-1から送信されたデータを無線通信装置10-2~10-5が中継し、当該無線通信装置10-2~10-5によって中継されたデータを無線通信装置10-6が受信するマルチホップ通信を行うことができる。これによれば、例えば無線通信装置10-1は、当該無線通信装置10-1のBLEに基づく通信範囲を超えた無線通信装置10-6との通信(データの送受信)を実現することが可能となる。
【0013】
なお、図2は、本実施形態における無線マルチホップネットワークの適用例を示す。図2においては、建物に設置されているエレベータの保守管理に無線マルチホップネットワークを適用することを想定しており、図2に示す無線通信装置10-1は、例えば保守員が保有するスマートフォンに相当する。
【0014】
この場合、無線通信装置10-1は、建物内に配置されている他の無線通信装置10-2~10-5を介して、例えば当該建物の屋上に設置されている無線通信装置10-6(エレベータ管理装置またはエレベータ制御装置等)と通信を行うことが可能となる。
【0015】
ここでは無線通信装置10-1から送信されたデータが無線通信装置10-6において受信される場合を想定しているが、当該データの送信元である無線通信装置10-1は送信ノードと称され、当該データの送信先である無線通信装置10-6は受信ノードと称される。また、無線通信装置10-1(送信ノード)から送信されたデータを無線通信装置10-6(受信ノード)に中継する無線通信装置10-2~10-5は、中継ノードと称される。
【0016】
なお、本実施形態において無線マルチホップネットワークを構成する無線通信装置10-1~10-6は、それぞれ送信ノード、受信ノード及び中継ノードとして動作し得る。具体的には、例えば無線通信装置10-4が送信ノードとして動作し、無線通信装置10-1が受信ノードとして動作する場合には、他の無線通信装置10-2、10-3、10-5及び10-6が中継ノードとして動作してもよい。また、複数の無線通信装置10-1~10-6のうちの少なくとも1つは、中継ノードとしてのみ動作する無線通信装置であってもよい。
【0017】
なお、上記したBluetooth Meshはフラッディング通信によって確実性の高いマルチホップ通信を実現する。フラッディング通信において、無線マルチホップネットワークを構成する各ノードは、マルチホップ通信を行う際に当該ノードと通信可能な範囲内にある全てのノードにデータを転送するように動作する。このようなフラッディング通信においては、マルチホップ通信のための特定の経路を選択する必要がないことからネットワーク管理が単純であり、ネットワーク内の一部のノード間で通信断が発生したとしても大きな支障なく通信を継続することができる。
【0018】
ところで、Bluetooth Meshは、BLEにおけるビーコン送信モードを用いることでフラッディング通信を行うが、当該ビーコン送信モードでビーコンとして送信されるパケットは、ペイロードに割り当てられるデータ領域が十数バイトと非常に小さい。このため、パケット単体では単純な制御メッセージのようなデータしか送信することができず、適用できるアプリケーション(送信対象のデータを生成するためのアプリケーション等)が限られる。
【0019】
この場合、サイズが大きいデータを複数のパケットに分割して送信することが考えられる。しかしながら、上記したフラッディング通信ではパケットが中継ノードを経由する度に複製される(周囲の全てのノードに転送される)ため、データを多数のパケットに分割して送信すると、無線マルチホップネットワーク上にパケットが溢れる(ネットワークの負荷が大きくなる)ような事態が生じる。これにより、無線マルチホップネットワークが崩壊し、当該無線マルチホップネットワークを構成するノード間における通信の疎通が取れなくなり、マルチホップ通信(フラッディング通信)を行うことができなくなる可能性がある。
【0020】
このため、多様なアプリケーション(サービス)にBluetooth Meshを用いるためには、パケットに含まれるペイロードに割り当てられるデータ領域(ペイロードサイズ)の拡張が求められる。この場合、Bluetooth Meshにおけるパケット全体のサイズ(最大長)はBluetooth規格により定められているため、ペイロードサイズを拡張するためにはパケットに含まれるヘッダ(情報)等に割り当てられているデータ領域(つまり、ペイロード以外のデータ領域)を削減し、当該削減されたデータ領域をペイロードに割り当てる必要がある。
【0021】
そこで、本実施形態においては、例えばBluetooth Meshによって形成された無線マルチホップネットワークにおいて送受信されるパケットに含まれるヘッダを圧縮することでペイロードに割り当てられるデータ領域を拡張(拡大)する構成について説明する。
【0022】
図3は、本実施形態に係る無線通信装置の機能構成の一例を示す。なお、図3に示す無線通信装置10は、例えば図1に示す無線通信装置10-1~10-6のうちの1つの無線通信装置を表している。以下の説明においても同様である。
【0023】
図3に示すように、無線通信装置10は、圧縮ルール管理部11、送受信部12、アプリケーション管理部13、アプリケーション処理部14、ネットワーク管理部15及びネットワーク処理部16を含む。
【0024】
ここで、Bluetooth Meshによって形成される無線マルチホップネットワークに無線通信装置10が参入する場合、当該無線通信装置10は、プロビジョナーと称される機器から認証を受ける必要がある。このプロビジョナーから認証を受けるための手続きをプロビジョニングという。プロビジョニングにおいては、無線通信装置10に対して2種類の鍵と圧縮ルールとが配布(付与)される。
【0025】
プロビジョニングにおいて配布される2種類の鍵は、データを暗号化及び復号するために利用されるNetwork Key及びApplication Keyを含む。Network Keyは、無線マルチホップネットワーク全体で共有される共通鍵暗号方式に基づく鍵(情報)である。Application Keyは、無線通信装置10に適用されるアプリケーション毎に用意される共通鍵暗号方式に基づく鍵(情報)である。Application Keyはアプリケーションデータを保護する目的で利用され、Network Keyはパケット全体を保護する目的で利用される。そのためアプリケーションデータはApplication Keyで暗号化された上でネットワーク情報等を付与され、それら全体に対してNetwork Keyで暗号化を施される。
【0026】
プロビジョニングにおいて配布される圧縮ルールは、パケット送信時にヘッダを圧縮する及びパケット受信時にヘッダを展開するために利用される。
【0027】
圧縮ルール管理部11は、上記した圧縮ルールを管理(保持)する。具体的には、圧縮ルール管理部11は、例えば無線通信装置10がマルチホップ通信の送信ノードである場合の圧縮ルールを、当該マルチホップ通信における受信ノード毎に管理する。なお、この無線通信装置10がマルチホップ通信における送信ノードである場合の圧縮ルールは、当該マルチホップ通信における受信ノードである他の無線通信装置10と共有される。
【0028】
更に、圧縮ルール管理部11は、例えば無線通信装置10がマルチホップ通信における受信ノードである場合の圧縮ルールを、当該マルチホップ通信における送信ノード毎に管理する。なお、この無線通信装置10がマルチホップ通信における受信ノードである場合の圧縮ルールは、当該マルチホップ通信における送信ノードである他の無線通信装置10と共有される。
【0029】
換言すれば、圧縮ルール管理部11は、無線通信装置10が送受信ノードとなる場合の全ての圧縮ルールを管理する。なお、圧縮ルール管理部11によって管理される圧縮ルールには、プロビジョナーによって当該圧縮ルール(つまり、送受信ノードの組み合わせやアプリケーションの種別)を識別するための識別情報(以下、圧縮ルールIDと表記)が割り当てられている。
【0030】
送受信部12は、パケットの送受信を行う。具体的には、送受信部12は、無線通信装置10が送信ノードとして動作する場合に、他の無線通信装置にパケットを送信する。また、送受信部12は、無線通信装置10が受信ノードまたは中継ノードとして動作する場合に、他の無線通信装置から送信されたパケットを受信する。
【0031】
アプリケーション管理部13は、アプリケーションデータを管理する機能を有する。なお、本実施形態においてアプリケーションデータとは、無線通信装置10に対して適用されるアプリケーションに基づいて生成されるデータ(送信対象のデータ)であり、上記したように無線マルチホップネットワークにおいて送受信されるパケットに含まれるペイロードに相当する。
【0032】
アプリケーション処理部14は、アプリケーションデータに対する各種処理を実行する。アプリケーション処理部14は、上記したプロビジョニングにおいて配布されたApplication Keyを保持する。アプリケーション処理部14は、圧縮処理部14a及び暗号処理部14bを含む。
【0033】
圧縮処理部14aは、圧縮ルール管理部11によって管理されている圧縮ルールを適用することによって、パケット送信時にアプリケーションデータを圧縮する。また、圧縮処理部14aは、圧縮ルール管理部11によって管理されている圧縮ルールを参照することによって、パケット受信時にアプリケーションデータを展開する。
【0034】
暗号処理部14bは、アプリケーション処理部14において保持されているApplication Keyを用いて、パケット送信時にアプリケーションデータを暗号化する。暗号処理部14bは、アプリケーション処理部14において保持されているApplication Keyを用いて、パケット受信時にアプリケーションデータを復号する。
【0035】
ネットワーク管理部15は、無線マルチホップネットワークを介した通信(パケットの伝送)を管理する機能を有する。ネットワーク管理部15は、例えばパケットに含まれるヘッダを生成する処理等を実行する。
【0036】
ネットワーク処理部16は、パケットに含まれるヘッダに対する各種処理を実行する。ネットワーク処理部16は、上記したプロビジョニングにおいて配布されたNetwork Keyを保持する。ネットワーク処理部16は、圧縮処理部16a及び暗号処理部16bを含む。
【0037】
ここで、本実施形態において無線マルチホップネットワークを介して送受信されるパケットは、ネットワークヘッダとネットワークペイロードに相当するネットワークデータを含む。なお、ネットワークヘッダは、ネットワーク層の処理で付与または参照されるヘッダである。
【0038】
また、ネットワークデータは、トランスポートヘッダとトランスポートペイロードに相当するアプリケーションデータを含む。なお、トランスポートヘッダは、トランスポート層の処理で付与または参照されるヘッダである。
【0039】
圧縮処理部16aは、圧縮ルール管理部11によって管理されている圧縮ルールを適用することによって、パケット送信時にネットワークヘッダまたはトランスポートヘッダを圧縮する。また、圧縮処理部16aは、圧縮ルール管理部11によって管理されている圧縮ルールを参照することによって、パケット受信時にネットワークヘッダまたはトランスポートヘッダを展開する。
【0040】
暗号処理部16bは、ネットワーク処理部16において保持されているNetwork Keyを用いて、パケット送信時にネットワークヘッダ及びネットワークデータを暗号化する。暗号処理部16bは、ネットワーク処理部16において保持されているNetwork Keyを用いて、パケット受信時にネットワークヘッダ及びネットワークデータを復号する。
【0041】
また、図3においては主に送受信ノードとして動作する無線通信装置10の機能構成について説明したが、例えば中継ノードとして動作する無線通信装置10は、当該図3に示す機能構成のうちの一部が省略されていてもよい。具体的には、中継ノードとして動作する無線通信装置10は、図3に示す各部11~16のうち、アプリケーション管理部13及びアプリケーション処理部14が省略された機能構成であってもよい。
【0042】
図4は、図3に示す無線通信装置10のハードウェア構成の一例を示す。図4に示すように、無線通信装置10は、CPU101、不揮発性メモリ102、主メモリ103及び通信デバイス104等を備える。
【0043】
CPU101は、無線通信装置10内の各コンポーネントの動作を制御するプロセッサである。CPU101は、ストレージデバイスである不揮発性メモリ102から主メモリ103にロードされる様々なプログラムを実行する。通信デバイス104は、少なくとも上記したBLEに基づく無線通信を実行するように構成されている。
【0044】
なお、図4においては省略されているが、無線通信装置10がスマートフォンによって実現されている場合には、当該無線通信装置10は、入力デバイス及び表示デバイスが一体として構成されたタッチスクリーンディスプレイ等を更に備えていてもよい。
【0045】
また、本実施形態において、図3に示す各部11~16の一部または全ては、図4に示すCPU101に所定のプログラムを実行させること、すなわち、ソフトウェアによって実現されてもよいし、IC(Integrated Circuit)等のハードウェアによって実現されてもよいし、ソフトウェア及びハードウェアを組み合わせた構成によって実現されてもよい。
【0046】
以下、本実施形態に係る無線通信装置10がアプリケーションデータ通信(つまり、アプリケーションデータの送受信)を行う場合の動作について説明する。ここでは、上記した無線マルチホップネットワークを介して他の無線通信装置10に対してアプリケーションデータを送信する際の処理(以下、アプリケーションデータ送信処理と表記)及び当該他の無線通信装置10から送信されたアプリケーションデータを受信する際の処理(以下、アプリケーションデータ受信処理と表記)について説明する。
【0047】
図5のフローチャートを参照して、アプリケーションデータ送信処理の処理手順の一例について説明する。なお、アプリケーションデータ送信処理は、マルチホップ通信において送信ノードとして動作する無線通信装置10によって実行される。
【0048】
まず、アプリケーション管理部13は、無線通信装置10に対して適用されるアプリケーションに基づいてアプリケーションデータを生成する(ステップS1)。なお、アプリケーションデータは、当該無線通信装置10と接続されるセンサ等から取得されるデータであってもよい。
【0049】
次に、アプリケーション処理部14に含まれる圧縮処理部14aは、ステップS1において生成されたアプリケーションデータを圧縮する(ステップS2)。
【0050】
ここで、上記したように圧縮ルール管理部11はマルチホップ通信における受信ノード(つまり、アプリケーションデータの送信先)毎に圧縮ルールを管理しているところ、ステップS2におけるアプリケーションデータの圧縮は、ステップS1において生成されたアプリケーションデータの送信先に応じた圧縮ルールを当該アプリケーションデータに適用することによって行われる。具体的には、ステップS2においては、例えば圧縮ルールとアプリケーションデータとを比較し、当該アプリケーションデータに圧縮可能な部分があれば、当該アプリケーションデータを圧縮するような処理が実行される。なお、圧縮ルール及びアプリケーションデータによっては、当該アプリケーションデータは圧縮されなくてもよい。
【0051】
ステップS2の処理が実行されると、暗号処理部14bは、当該ステップS2において圧縮されたアプリケーションデータを暗号化する(ステップS3)。ステップS3におけるアプリケーションデータの暗号化は、アプリケーション処理部14において保持されているApplication Keyを用いて行われる。
【0052】
次に、ネットワーク管理部15は、トランスポート層の処理を実行することによって、トランスポートヘッダを生成する(ステップS4)。なお、ステップS4において生成されるトランスポートヘッダは、例えば1バイトであり、複数のフィールドから構成される。
【0053】
更に、ネットワーク管理部15は、ネットワーク層の処理を実行することによって、ネットワークヘッダを生成する(ステップS5)。なお、ステップS5において生成されるネットワークヘッダは、上記したトランスポートヘッダと同様に、複数のフィールドから構成される。
【0054】
ここで、上記したフラッディング通信においては、通信可能な範囲内にある全てのノードにパケットが転送される。この場合、無線マルチホップネットワーク内で永続的にパケットが転送され続けることを回避し、当該無線マルチホップネットワークにおける適切な通信を実現するために、当該パケットの転送可能回数をTTL(Time To Live)を用いて管理する。これによれば、例えばTTLが「1」以上である場合には「1」を減じてパケットを他のノードに転送し、当該TTLが「0」である場合にはパケットを転送せずに破棄するという転送処理を実行することができる。
【0055】
上記したネットワークヘッダを構成する複数のフィールドには、送信ノードである無線通信装置10のアドレス及び受信ノードである他の無線通信装置10のアドレスが設定されるフィールドの他に、このTTLが設定されるフィールド(以下、TTLフィールドと表記)等が含まれる。
【0056】
次に、ネットワーク処理部16に含まれる圧縮処理部16aは、ステップS4において生成されたトランスポートヘッダ及びステップS5において生成されたネットワークヘッダを圧縮する(ステップS6)。なお、ステップS6におけるヘッダの圧縮は、上記したアプリケーションデータの送信先に応じた圧縮ルールを当該ヘッダに適用することによって行われる。具体的には、ステップS6においては、圧縮ルールと各ヘッダとを比較し、当該ヘッダに圧縮可能な部分があれば、当該ヘッダを圧縮するような処理が実行される。
【0057】
なお、上記したように圧縮ルールを適用することによってアプリケーションンデータを圧縮することも可能であるから、当該圧縮ルールには、アプリケーションデータを圧縮するためのルール及びヘッダ(トランスポートヘッダ及びネットワークヘッダ)を圧縮するためのルールが含まれているということができる。
【0058】
ステップS6の処理が実行されると、暗号処理部16bは、当該ステップS6において圧縮されたネットワークヘッダ及びネットワークデータ(ネットワークペイロード)を暗号化する(ステップS7)。
【0059】
なお、ステップS7におけるネットワークヘッダ及びネットワークデータの暗号化は上記したようにネットワーク処理部16において保持されているNetwork Keyを用いて行われるが、当該ネットワークヘッダに対しては、例えば難読化と称される技術が適用された暗号化が行われてもよい。
【0060】
また、ステップS7において暗号化されるネットワークデータには、上記したステップS6において圧縮されたトランスポートヘッダ及びステップS3において暗号化されたアプリケーションデータ(トランスポートペイロード)が含まれる。すなわち、本実施形態においては、アプリケーションデータと、ネットワークヘッダ及びネットワークデータとに対して2段階の暗号化が行われているといえる。
【0061】
次に、圧縮処理部16aは、上記したステップS6においてヘッダを圧縮するために適用された圧縮ルール(ステップS2においてアプリケーションデータを圧縮するために適用された圧縮ルール)に割り当てられている圧縮ルールIDを圧縮ルール管理部11から取得する。ネットワーク処理部16は、上記したようにステップS7において暗号化されたネットワークヘッダ及びネットワークデータに対して、圧縮処理部16aによって取得された圧縮ルールIDを付与する(ステップS8)。
【0062】
ステップS8の処理が実行されると、ネットワーク管理部15は、ステップS8において圧縮ルールIDが付与されたネットワークヘッダ及びネットワークデータを含むパケットを生成する(ステップS9)。
【0063】
ステップS9において生成されたパケットは、無線マルチホップネットワークを介して送受信部12から他の無線通信装置10に送信される(ステップS10)。なお、上記したフラッディング通信によれば、ステップS10において送信されたパケットは、無線通信装置10と通信可能な範囲内に位置している全ての無線通信装置10において受信される。
【0064】
ここで、本実施形態においては、ネットワークヘッダまで含めて暗号化の対象とするため、全てのデータを参照することができる(つまり、全てのデータが揃っている)状態、つまり、ネットワークヘッダ及びネットワークデータ(ネットワークペイロード)の暗号化の前に圧縮を行うことが好ましい。しかしながら、Bluetooth Meshにおいては事前にアプリケーションデータを暗号化した上でトランスポートヘッダ及びネットワークヘッダが生成されるため、ネットワークヘッダ及びネットワークデータの暗号化を行うタイミングでは既にアプリケーションデータが暗号化されており、このタイミングで当該アプリケーションデータを圧縮することは困難である。
【0065】
このため、本実施形態においては、上記した2段階の暗号化と同様に圧縮も2段階に分け、各暗号化の直前に圧縮を行うものとする。具体的には、図5に示すステップS3におけるアプリケーションデータの暗号化の直前に当該アプリケーションデータの圧縮を行い、ステップS7におけるネットワークヘッダ及びネットワークデータの暗号化の直前に当該ネットワークヘッダ及び当該ネットワークデータに含まれるトランスポートヘッダの圧縮を行う。このような構成によれば、Bluetooth Meshにおいてもアプリケーションデータ及びヘッダを適切に圧縮することが可能となる。
【0066】
以下、本実施形態におけるヘッダの圧縮の概要を説明する。本実施形態においては、例えば送信ノードである無線通信装置10と受信ノードである他の無線通信装置10との間で、ヘッダ(ネットワークヘッダ及びトランスポートヘッダ)を構成する各フィールドに設定される値を共通に認識している場合には、パケットにおいて当該フィールドを省略することができると考える。すなわち、本実施形態におけるヘッダの圧縮とは、上記したネットワークヘッダ及びトランスポートヘッダの各々を構成する複数のフィールドの少なくとも一部を省略することをいう。
【0067】
ここで、図6は、本実施形態におけるヘッダの圧縮を概念的に示している。図6の上段は、圧縮前のネットワークヘッダ、トランスポートヘッダ及びアプリケーションデータを示している。図6の上段に示すように、ネットワークヘッダは例えばTTLフィールドを含む複数のフィールドから構成されている。また、トランスポートヘッダも同様に複数のフィールドから構成されている。
【0068】
図6の上段に示すネットワークヘッダ及びトランスポートヘッダが圧縮されると、例えばネットワークヘッダを構成する複数のフィールド及びトランスポートヘッダを構成する複数のフィールドの少なくとも1つが省略されることにより、当該ネットワークヘッダ及びトランスポートヘッダが圧縮され、当該ヘッダがパケットにおいて占めるサイズが低減される。
【0069】
なお、図6の下段は、圧縮後のネットワークヘッダ、トランスポートヘッダ及びアプリケーションデータを示している。図6の下段に示す例においては、ネットワークヘッダを構成するTTLフィールド以外の複数のフィールドが省略されるとともに、トランスポートヘッダを構成する全てのフィールド(つまり、トランスポートヘッダ自体)が省略されている。
【0070】
このようなネットワークヘッダ及びトランスポートヘッダの圧縮によれば、上記したように圧縮ルールIDが付与されたとしても、アプリケーションデータがパケットにおいて占めるサイズ(つまり、ペイロードサイズ)を拡張することができる。
【0071】
なお、ネットワークヘッダの圧縮においては、当該ネットワークヘッダを構成する複数のフィールドのうちの少なくとも1つが省略されるが、当該省略されるフィールド(の数)は、上記した圧縮ルールに依存する。ただし、上記したようにネットワークヘッダを構成するTTLフィールドは省略されないものとする。
【0072】
ここではヘッダの圧縮について説明したが、上記したアプリケーションデータの圧縮についても同様の観点で行われる。つまり、送信ノードである無線通信装置10と受信ノードである他の無線通信装置10との間で、例えばアプリケーションデータの一部を共通に認識していれば、当該アプリケーションデータの一部を省略することによって当該アプリケーションデータを圧縮することができる。
【0073】
次に、図7のフローチャートを参照して、アプリケーションデータ受信処理の処理手順の一例について説明する。なお、アプリケーションデータ受信処理は、マルチホップ通信において受信ノードまたは中継ノードとして動作する無線通信装置10によって実行される。
【0074】
まず、送受信部12は、無線マルチホップネットワークを介して他の無線通信装置10から送信または転送されたパケットを受信する(ステップS11)。ステップS1において受信されたパケットは、上記した図5に示すステップS10において送信されたパケットと同様のパケットであり、暗号化(または難読化)されたネットワークヘッダ及び暗号化されたネットワークデータに圧縮ルールIDが付与された構造を有する。
【0075】
次に、ネットワーク処理部16に含まれる圧縮処理部16aは、ステップS11において受信されたパケットから圧縮ルールIDを取得し、当該圧縮ルールIDを用いて圧縮ルール管理部11に対して問い合わせを行う。これにより、圧縮処理部16aは、パケットから取得された圧縮ルールIDが割り当てられている圧縮ルール(以下、対象圧縮ルールと表記)が圧縮ルール管理部11において管理(保持)されているか否かを判定する(ステップS12)。
【0076】
ここで、本実施形態において、圧縮ルール管理部11は、無線通信装置10が送信ノードである場合の圧縮ルール及び当該無線通信装置10が受信ノードである場合の圧縮ルールを管理している。このため、アプリケーションデータ受信処理(つまり、パケットを受信する場合)において対象圧縮ルールが圧縮ルール管理部11において管理されているということは、無線通信装置10が受信ノードであることを意味する。
【0077】
すなわち、対象圧縮ルールが圧縮ルール管理部11において管理されていると判定された場合(ステップS12のYES)、無線通信装置10は、受信ノードとして動作する。この場合、暗号処理部16bは、ステップS11において受信されたパケットからネットワークヘッダ及びネットワークデータを取り出す。
【0078】
ここで、パケットから取り出されたネットワークヘッダ及びネットワークデータは、上記したアプリケーションデータ送信処理において説明したようにNetwork Keyを用いて暗号化されている。このため、暗号処理部16bは、パケットから取り出されたネットワークヘッダ及びネットワークデータを、ネットワーク処理部16において保持されているNetwork Keyを用いて復号する(ステップS13)。ステップS13において復号されたネットワークデータには、トランスポートヘッダ及び暗号化されたアプリケーションデータが含まれる。
【0079】
ステップS13の処理が実行されると、圧縮処理部16aは、上記した対象圧縮ルールを圧縮ルール管理部11から取得する。圧縮処理部16aは、取得された対象圧縮ルールを参照することによって、ステップS13において復号されたネットワークヘッダ及び当該復号されたネットワークデータに含まれるトランスポートヘッダを展開する(ステップS14)。なお、ステップS14においては、上記したアプリケーションデータ送信処理におけるヘッダの圧縮において省略されたフィールドを復元するような処理が実行される。
【0080】
ここで、上記したようにステップS13において復号されたネットワークデータに含まれるアプリケーションデータは、上記したアプリケーションデータ送信処理において説明したようにApplication Keyを用いて暗号化されている。このため、アプリケーション処理部14に含まれる暗号処理部14bは、ネットワークデータに含まれるアプリケーションデータを、アプリケーション処理部14において保持されているApplication Keyを用いて復号する(ステップS15)。
【0081】
なお、アプリケーション処理部14においては複数のApplication Keyが保持されている場合があるが、ステップS15の処理において用いられるApplication Keyは、例えばステップS14において展開されたヘッダ(を構成する所定のフィールドに設定されている値)に基づいて特定することができる。
【0082】
また、図7には示されていないが、無線通信装置10が例えば無線マルチホップネットワークに参入している(つまり、Network Keyを保持している)としても、Apllication Keyを保持していない場合には、無線通信装置10は、アプリケーションンデータを受け取ることはできない。このため、無線通信装置10(アプリケーション処理部14)がApplication Keyを保持していない場合には、ステップS15の処理は実行されず、アプリケーションデータ受信処理は終了される。なお、無線通信装置10(アプリケーション処理部14)がApplication Keyを保持していない場合には、当該無線通信装置10は、後述する中継ノードとしての処理を実行してもよい。
【0083】
ステップS15の処理が実行されると、圧縮処理部14aは、上記した対象圧縮ルールを圧縮ルール管理部11から取得する。圧縮処理部14aは、取得された対象圧縮ルールを参照することによって、ステップS15において復号されたアプリケーションデータを展開する(ステップS16)。なお、ステップS16においては、上記したアプリケーションデータ送信処理におけるアプリケーションデータの圧縮において省略された当該アプリケーションデータの一部を復元するような処理が実行される。
【0084】
次に、アプリケーション管理部13は、ステップS16において展開されたアプリケーションデータを取得する(ステップS17)。
【0085】
上記したように無線通信装置10が受信ノードとして動作する場合には、ステップS13~S17の処理が実行されることにより、受信されたパケットからアプリケーションデータを取り出すことができる。
【0086】
なお、ここではアプリケーションデータ送信処理においてアプリケーションデータが圧縮されている場合を想定しているが、当該アプリケーションデータが圧縮されていない場合にはステップS16の処理は省略されても構わない。
【0087】
一方、対象圧縮ルールが圧縮ルール管理部11において管理されていないと判定された場合(ステップS12のNO)、無線通信装置10は、中継ノードとして動作する。この場合、暗号処理部16bは、ステップS11において受信されたパケットからネットワークヘッダを取り出す。
【0088】
上記したようにパケットから取り出されたネットワークヘッダはNetwork Keyを用いて暗号化されているため、暗号処理部16bは、当該ネットワークヘッダを、ネットワーク処理部16において保持されているNetwork Keyを用いて復号する(ステップS18)。
【0089】
なお、図7には示されていないが、無線通信装置10が例えば無線マルチホップネットワークに参入しておらず、当該無線通信装置10(ネットワーク処理部16)がNetwork Keyを保持していない場合には、ステップS18の処理は実行されず、アプリケーションデータ受信処理は終了される。
【0090】
次に、ネットワーク管理部15は、ステップS18において復号されたネットワークヘッダを構成するTTLフィールドに設定されている値(つまり、TTL)を更新する(ステップS19)。具体的には、ステップS19においては、TTLから「1」を減じることによって当該TTLを更新する。
【0091】
ステップS19の処理が実行されると、暗号処理部16bは、ネットワーク処理部16において保持されているNetwork Keyを用いてネットワークヘッダを再び暗号化する(ステップS20)。
【0092】
ステップS20の処理が実行されると、ネットワーク管理部15は、ステップS11において受信されたパケットに含まれるネットワークヘッダをステップS20において暗号化されたネットワークヘッダとするパケットを生成する(ステップS21)。
【0093】
ステップS21において生成されたパケットは、無線マルチホップネットワークを介して送受信部12から他の無線通信装置10に転送(送信)される(ステップS22)。なお、上記したフラッディング通信によれば、ステップS22において転送されたパケットは、無線通信装置10と通信可能な範囲内に位置している全ての無線通信装置10において受信される。
【0094】
上記したように無線通信装置10が中継ノードとして動作する場合には、ステップS18~S22の処理が実行されることにより、適切にTTLを更新してパケットを転送することができる。
【0095】
なお、ここではパケットが転送される場合について説明したが、上記したようにTTLが「0」である場合には、当該パケットは、転送されず、破棄される。
【0096】
ここで、一般に、上記したように無線マルチホップネットワークを介して受信されるパケットに含まれるネットワークヘッダには当該パケットの送信先のノード(つまり、受信ノード)のアドレスが設定されているフィールド(以下、送信先アドレスフィールドと表記)が存在する。このため、パケットを受信した無線通信装置10は、この送信先アドレスフィールドを参照することによって、当該無線通信装置10が受信ノードであるか中継ノードであるかを判定することができる。
【0097】
しかしながら、送信先アドレスフィールドを参照するためには、暗号化されているネットワークヘッダをNetwork Keyを用いて復号する必要がある。
【0098】
また、本実施形態においてはネットワークヘッダを圧縮することによって送信先アドレスフィールドが省略されている可能性があり、この場合には、当該ネットワークヘッダを展開しなければ送信先アドレスフィールドを参照することができない。
【0099】
フラッディング通信において多数のパケットが送受信されることを鑑みると、上記したネットワークヘッダの復号及び展開を無線通信装置10においてパケットが受信される度に行うことは、円滑なマルチホップ通信を阻害する可能性がある。
【0100】
また、無線通信装置10において受信された全てのパケットに含まれるネットワークヘッダを展開するためには、無線通信装置10(圧縮ルール管理部11)が無線マルチホップネットワークにおいて用意されている全ての圧縮ルールを管理(保持)しておく必要がある。このような構成は、当該圧縮ルールを管理するためのメモリ領域の圧迫や圧縮ルールを配布するプロビジョニングの処理時間の増大の要因となる。
【0101】
このため、本実施形態に係る無線通信装置10は、当該無線通信装置10が送受信ノードである場合の圧縮ルールを管理する構成を採用する。このような構成によれば、無線通信装置10は、ネットワークヘッダの復号及び展開を行うことなく、他の無線通信装置10(送信ノード)において付与された圧縮ルールIDと当該無線通信装置10(圧縮ルール管理部11)において管理されている圧縮ルールに割り当てられている圧縮ルールIDとを比較することによって、当該無線通信装置10が受信ノードであるか中継ノードであるかを判定することができる。
【0102】
また、本実施形態においてはフラッディング通信を行う場合を想定しており、当該フラッディング通信においてはTTLを用いてパケットの転送可能回数が管理されるが、無線通信装置10が中継ノードである場合には当該TTLを更新してパケットを転送する必要がある。しかしながら、上記したように無線通信装置10が送受信ノードである場合の圧縮ルールを管理する構成である場合、当該無線通信装置10が中継ノードである場合には受信されたパケットに含まれるネットワークヘッダを展開するための圧縮ルールを管理していない。このため、本実施形態においては、中継ノードが適切にTTLを更新することができるように、当該TTLが設定されているTTLフィールドを省略するような圧縮は行われないものとする。
【0103】
なお、例えば無線通信装置10において受信されるパケットに含まれるネットワークヘッダを構成するTTLフィールドに設定されているTTLは初期値や当該無線通信装置10に到達するまでのパケットの経路(中継数)に応じて異なるため、当該TTLを送受信ノード間(つまり、圧縮ルール)で予め設定しておくようなことはできない。すなわち、本実施形態においては、TTLフィールドを省略するような圧縮を行うことはできないということもできる。
【0104】
ところで、上記した図7においては受信ノード(送信先)が1つである場合を想定しているが、例えばネットワークヘッダを構成する送信先アドレスフィールドに複数の無線通信装置10のアドレスが設定されている場合には、図7に示す処理が実行される際に、当該パケットを転送する処理(以下、パケット転送処理と表記)が更に実行されてもよい。
【0105】
以下、図8のフローチャートを参照して、上記したパケット転送処理の処理手順の一例を示す。なお、図8に示す処理は、例えば図7に示すステップS15以降の処理とは別に、ステップS14の処理の後に実行されることを想定している。
【0106】
まず、ネットワーク管理部15は、図7に示すステップS14において展開されたネットワークヘッダを構成する複数のフィールドのうちの送信先アドレスフィールドを参照し、パケットを転送する必要があるか否かを判定する(ステップS31)。ステップS31においては、送信先アドレスフィールドに設定されているアドレスが例えばブロードキャストアドレスまたは複数のアドレスが指定されているグループアドレスである(つまり、無線通信装置10以外の受信ノードがある)場合に、パケットを転送する必要があると判定される。一方、ステップS31においては、送信先アドレスフィールドに設定されているアドレスが無線通信装置10のアドレスのみである場合に、パケットを転送する必要がないと判定される。
【0107】
パケットを転送する必要があると判定された場合(ステップS31のYES)、ネットワーク管理部15は、ネットワークヘッダを構成する複数のフィールドのうちのTTLフィールドに設定されている値(つまり、TTL)を更新する(ステップS32)。なお、ステップS32の処理は、上記した図7に示すステップS19の処理に相当する。
【0108】
ステップS32の処理が実行されると、ネットワーク処理部16に含まれる圧縮処理部16aは、ステップS32において更新されたTTLが反映されたネットワークヘッダ及び図7に示すステップS14において展開されたトランスポートヘッダを圧縮する(ステップS33)。なお、ステップS33の処理は上記した図5に示すステップS6の処理と同様であるため、ここではその詳しい説明を省略する。なお、ステップS33における圧縮は、ネットワークヘッダ及びトランスポートヘッダに対して上記した対象圧縮ルールを適用することによって行われる。
【0109】
次に、暗号処理部16bは、ステップS33において圧縮されたネットワークヘッダ及びネットワークデータを暗号化する(ステップS34)。なお、ステップS34の処理は上記した図5に示すステップS7の処理と同様であるため、ここではその詳しい説明を省略する。
【0110】
ステップS34の処理が実行されると、ネットワーク処理部16は、ステップS34において暗号化されたネットワークヘッダ及びネットワークデータに対して、上記した対象圧縮ルールに割り当てられている圧縮ルールIDを付与する(ステップS35)。
【0111】
ステップS35の処理が実行されると、ネットワーク管理部15は、ステップS35において圧縮ルールIDが付与されたネットワークヘッダ及びネットワークデータを含むパケットを生成する(ステップS36)。
【0112】
ステップS36において生成されたパケットは、無線マルチホップネットワークを介して送受信部12から他の無線通信装置10に転送(送信)される(ステップS37)。
【0113】
一方、ステップS31においてパケットを転送する必要がないと判定された場合(ステップS31のNO)、パケット転送処理は終了される。
【0114】
上記した図8に示すパケット転送処理によれば、無線通信装置10は、図7に示すアプリケーションデータ受信処理においてパケットからネットワークヘッダ情報を取得した段階で当該パケットを他の無線通信装置10に更に転送することが可能となる。
【0115】
上記したように本実施形態に係る無線通信装置10(送信ノード)は、当該無線通信装置10がマルチホップ通信における送信ノードである場合の圧縮ルール(第1圧縮ルール)を管理し、当該圧縮ルールを適用することによって、ネットワークヘッダまたはネットワークデータに含まれるトランスポートヘッダを圧縮し、当該圧縮後にネットワークヘッダとネットワークデータとを暗号化し、当該暗号化されたネットワークヘッダと当該暗号化されたネットワークデータとを含むパケットを送信する。
【0116】
また、本実施形態に係る無線通信装置10(受信ノード)は、当該無線通信装置10がマルチホップ通信における受信ノードである場合の圧縮ルール(第2圧縮ルール)を管理し、他の無線通信装置10から送信されたパケットであって、当該他の無線通信装置10において暗号化されたネットワークヘッダ及び暗号化されたネットワークデータを含むパケットを受信し、当該暗号化されたネットワークヘッダ及び当該暗号化されたネットワークデータを復号し、当該復号されたネットワークヘッダまたは当該復号されたネットワークデータに含まれるトランスポートヘッダを、当該圧縮ルールを参照することによって展開する。
【0117】
なお、本実施形態における圧縮ルールは、送受信ノードである無線通信装置10間で共有される。具体的には、この圧縮ルールの共有は、例えば送信ノードまたは受信ノードである無線通信装置10が無線マルチホップネットワークに参入する際のプロビジョニング時に、当該送信ノード及び受信ノードである無線通信装置10に配布されることにより実現可能である。本実施形態においては、このような構成により、送信ノードである無線通信装置10において圧縮されたネットワークヘッダまたはトランスポートヘッダを受信ノードである無線通信装置10において適切に展開することが可能となる。
【0118】
本実施形態においては、上記したようにネットワークヘッダまたはトランスポートヘッダを圧縮することにより、当該ヘッダがパケットにおいて占めるデータ領域を低減することができるため、当該パケットにおいてアプリケーションデータに割り当てられるデータ領域(つまり、ペイロードサイズ)を拡張することができる。すなわち、本実施形態においては、1つのパケットで送信することが可能なアプリケーションデータのデータ量を増加させることができるため、無線マルチホップネットワークを介して送受信されるパケットの数を低減させ、効率的な通信を実現することが可能となる。
【0119】
また、本実施形態に係る無線通信装置10から送信されるパケットに含まれるネットワークヘッダ及びネットワークデータには、当該ネットワークヘッダまたは当該ネットワークヘッダに含まれるトランスポートヘッダが圧縮された際に適用された圧縮ルールを識別するための圧縮ルールIDが付与される。
【0120】
パケットを受信した無線通信装置10は、当該パケットに含まれるネットワークヘッダ及びネットワークデータに付与されている圧縮ルールIDによって識別される圧縮ルールが当該無線通信装置10において管理されている場合には、当該ネットワークヘッダ及びネットワークデータを復号する。一方、パケットを受信した無線通信装置10は、当該パケットに含まれるネットワークヘッダ及びネットワークデータに付与されている圧縮ルールIDによって識別される圧縮ルールが当該無線通信装置10において管理されてない場合には、当該パケットを他の無線通信装置10に転送(送信)する。
【0121】
このような構成によれば、パケットを受信した無線通信装置10は、当該パケットに含まれるネットワークヘッダを復号及び展開する(つまり、送信先アドレスフィールドを参照する)ことなく、当該無線通信装置10が受信ノードまたは中継ノードであること把握し、当該受信ノードまたは中継ノードとして適切に動作することができる。
【0122】
上記した本実施形態の構成によれば、例えばBluetooth Mesh(のパケットフォーマット)に適した圧縮ルールに従ってヘッダの圧縮及び展開を行うことにより、当該Bluetooth Meshのセキュリティ機能(使用)と共存することが可能な形式でペイロードサイズの拡張を行うことができる。
【0123】
なお、本実施形態はネットワークヘッダまたはトランスポートヘッダが圧縮されることによってペイロードサイズ(パケットにおいてアプリケーションデータに割り当てられるデータ領域)を拡張する構成であればよいが、当該パケットが送信される際に、上記した圧縮ルールを適用することによって当該アプリケーションデータが圧縮されてもよい。このような構成によれば、1つのパケットで送信可能なアプリケーションデータのデータ量をより増加させることができるため、更に効率的な通信を実現することができる。
【0124】
また、本実施形態においては無線通信装置10が無線マルチホップネットワークに参入する際のプロビジョニング時に圧縮ルールが配布される(つまり、圧縮ルールの共有をプロビジョニング時に行う)ものとして説明したが、当該圧縮ルールの配布(共有)は、プロビジョニング時以外に行われてもよい。具体的には、圧縮ルールは、例えば適用されるアプリケーションに応じて無線通信装置10の製造時等に予めハードコーディングされていてもよい。また、圧縮ルールは、アプリケーションデータ通信を行う際に、送信ノード及び受信ノードとなる無線通信装置10間で共有されてもよい。この場合、圧縮ルールは、例えば送信ノードとなる無線通信装置10において作成(用意)されて受信ノードとなる無線通信装置10に送信(配布)されてもよいし、受信ノードとなる無線通信装置10において作成(用意)されて送信ノードとなる無線通信装置10に送信(配布)されてもよい。
【0125】
また、本実施形態においてはBluetooth Meshによって形成された無線マルチホップネットワークについて説明したが、本実施形態に係る無線通信装置10は、例えばアプリケーションデータの暗号化とネットワークヘッダ及びネットワークデータの暗号化とのように2段階で暗号化を行ってパケットを送受信するような通信技術によって形成される無線マルチホップネットワークに適用されても構わない。
【0126】
(第2実施形態)
次に、第2実施形態について説明する。本実施形態においては、前述した第1実施形態において説明した圧縮ルールの具体例について説明する。
【0127】
図9は、本実施形態における圧縮ルールの一例を示す。図9に示す例では、SCHC(Static Context Header Compression)を基にした圧縮ルールが示されている。
【0128】
なお、SCHCとは、RFCで標準化されたIPヘッダ圧縮規格である。SCHCにおいては、送受信ノード間でどのように圧縮/展開するかが記された表を圧縮ルールとして共有する。SCHCは、IPヘッダを主な適用先としており、Bluetooth Meshによって形成される無線マルチホップネットワークにおいて送受信されるパケット(Bluetoothパケット)におけるヘッダを圧縮することは想定されていない。
【0129】
このため、本実施形態においては、上記したSCHCを基にしたBluetooth Mesh(Bluetoothパケット)に適用可能な圧縮ルール(ルール表)について説明する。
【0130】
図9に示すように、本実施形態における圧縮ルールは、パケットに含まれるネットワークヘッダ及びトランスポートヘッダ等を構成するフィールドの各々に対応づけて、フィールド長、Target Value(以下、TVと表記)、Match Operation(以下、MOと表記)及びCompression/Decompression Actions(以下、CDAと表記)を含む。なお、TV、MO及びCDAは、SCHCにおいて用いられる用語である。
【0131】
フィールド長は、対応づけられているフィールドに設定される値の長さ(つまり、フィールドサイズ)を示し、例えばビットで表される。TVは、対応づけられているフィールドに設定される候補値(当該フィールドの候補値)を示す。MOは、対応づけられているTVとフィールドに設定されている値との関係性を示し、例えばCDAを適用するか否かに関する判断基準に相当する。CDAは、対応づけられているフィールドに対する圧縮/展開方法を示す。
【0132】
ここで、図9に示すように、フィールドは、IVI、NIC、CTL、TTL、Seq、Src Addr、Dst Addr、SEG、AKF、AID、OpCode、Param、Net MIC及びTrans MICを含む。なお、IVIフィールド、NICフィールド、CTLフィールド、TTLフィールド、Seqフィールド、Src Addrフィールド及びDst Addrフィールドはネットワークヘッダを構成し、SEFフィールド、AKFフィールド及びAIDフィールドはトランスポートヘッダを構成する。
【0133】
IVIフィールドにはNetwork Keyに関連する値が設定され、当該値は同一のネットワーク内で通信を行う限り一意に定まる。このため、IVIフィールドは、圧縮ルールにおいて当該フィールドに設定される値を共有しておくことで省略することができる。この場合、図9に示す圧縮ルールにおいてIVIフィールドには、TV「0」、MO「equal」及びCDA「not-sent」が対応づけられている。これによれば、IVIフィールドに設定されている値が「0」と一致する場合に当該IVIフィールドを省略することが示されている。
【0134】
IVIフィールドと同様に、NICフィールドにはNetwork Keyに関連する値が設定され、当該値は同一のネットワーク内で通信を行う限り一意に定まる。しかしながら、NICフィールドには、ネットワークの構築に応じた特定の値(固定値)が設定される。このため、図9に示す圧縮ルールにおいてNICフィールドには、TV「X1」、MO「equal」及びCDA「not-sent」が対応づけられている。これによれば、NICフィールドに設定されている値が特定の値「X1」と一致する場合に当該NICフィールドを省略することが示されている。
【0135】
CTLフィールドは、パケットに含まれるペイロードがアプリケーションデータであるかネットワークの維持のための制御データであるかによって設定される値が異なる。本実施形態においてはアプリケーションデータ通信を行うことを想定しており、パケットに含まれるペイロードは、アプリケーションデータである。この場合、CTLフィールドに設定される値は0が想定される。このため、図9に示す圧縮ルールにおいてCTLフィールドには、TV「0」、MO「equal」及びCDA「not-sent」が対応づけられている。これによれば、CTLフィールドに設定されている値が特定の値「0」と一致する場合に当該CTLフィールドを省略することが示されている。
【0136】
TTLフィールドには上記したように転送回数に応じて(つまり、1ホップ毎に)更新される値(つまり、転送可能回数)が設定されるため、送受信ノード間で予め値を定めておく(当該値を予測して圧縮ルールに記載しておく)ことができない。このため、図9に示す圧縮ルールにおいて、TTLフィールドに対応するTVは記載されていない。また、図9に示す圧縮ルールにおいてTTLフィールドには、MO「ignore」及びCDA「value-sent」が対応づけられている。これによれば、TTLフィールドに設定されている値とTVを比較することなく当該TTLフィールドを省略しない(つまり、圧縮対象外とする)ことが示されている。
【0137】
Seqフィールドにはシーケンス番号が設定され、当該シーケンス番号は、パケット毎に値が異なる。このため、Seqフィールドに設定される値を特定する(つまり、TVに記載しておく)ことは困難である。しかしながら、Seqフィールドのフィールドサイズ(フィールド長)は24ビットである。この場合、Seqフィールドに設定される値の左端の数ビットは値が頻繁に変動しないと考えると、当該数ビットは部分的に省略することが可能であるといえる。この場合、図9に示す圧縮ルールにおいてSeqフィールドには、TV「0x00」、MO「equal」及びCDA「LSB(Least Significant Bit)」が対応づけられている。これによれば、Seqフィールドに設定されている値の左端1バイトが特定の値、「0x00」と一致する場合に左端の1バイトを省略する(つまり、当該1バイトを除いたLSBを送信する)ことが示されている。
【0138】
Src Addrフィールドには、送信ノードである無線通信装置10のアドレスが設定される。Dst Addrフィールドには、受信ノードである無線通信装置10のアドレスが設定される。なお、本実施形態においては、前述した第1実施形態において説明したように送受信ノードの組み合わせ毎に圧縮ルールを配布する構成により、当該圧縮ルールにおける送受信ノードは一意に定められる。このため、図9に示す圧縮ルールにおいてSrc Addrフィールドには、TV「X2」、MO「equal」及びCDA「not-sent」が対応づけられている。これによれば、Src Addrフィールドに設定されている値が一意に定められる送信ノードのアドレス「X2」と一致する場合に当該Src Addrフィールドを省略することが示されている。同様に、図9に示す圧縮ルールにおいてDst Addrフィールドには、TV「X3」、MO「equal」及びCDA「not-sent」が対応づけられている。これによれば、Src Addrフィールドに設定されている値が一意に定められる受信ノードのアドレス「X3」と一致する場合に当該Dst Addrフィールドを省略することが示されている。すなわち、送受信ノードのアドレスが固定のアドレスであれば、Src Addrフィールド及びDst Addrフィールドを完全に削減する形で圧縮することができる。
【0139】
上記したようにトランスポートヘッダはSEGフィールド、AKFフィールドAIDフィールドから構成されており、当該SEGフィールド、AKFフィールドAIDフィールドのフィールドサイズの合計は1バイトである。
【0140】
SEGフィールドには、アプリケーションデータを複数のパケットに分けて送信するセグメント分割が生じるか否かを示す値が設定される。なお、SEGフィールドに設定される値は、送受信ノードに適用されるアプリケーションに応じたアプリケーションデータのサイズを見積もることによって予測することができる場合がある。図9に示す圧縮ルールにおいてはセグメント分割が生じないことを想定しており、SEGフィールドにはTV「0」、MO「equal」及びCDA「not-sent」が対応づけられている。これによれば、SEGフィールドに設定されている値が特定の値「0」と一致する場合に当該SEGフィールドを省略することが示されている。なお、セグメント分割が生じる場合には、当該セグメント分割を管理するための別のフィールドが追加されることになる。
【0141】
AKFフィールド及びAIDフィールドは、Application Keyに関する値が設定される。Application Keyを用いる場合、AKFフィールドには常に1が設置され、AIDフィールドには送受信ノードに適用されるアプリケーションによって定められたIDが設定される。このため、送受信ノードに適用されるアプリケーションが同一であれば、AKFフィールド及びAIDフィールドに設定される値を送受信ノード間で事前に共有することができる。この場合、図9に示す圧縮ルールにおいてAKFフィールドには、TV「1」、MO「ignore」及びCDA「not-sent」が対応づけられている。これによれば、AKFフィールドに設定されている値とTVとを比較することなく当該AKFフィールドを省略することが示されている。また、図9に示す圧縮ルールにおいてAIDフィールドには、TV「X4」、MO「equal」及びCDA「not-sent」が対応づけられている。これによれば、AIDフィールドに設定されている値がアプリケーションによって定められたID「X4」と一致する場合に当該AIDフィールドを省略することが示されている。
【0142】
なお、圧縮ルールにおけるOpCodeフィールド及びParamフィールドは、アプリケーションデータ(つまり、パケットに含まれるペイロード)に相当する。例えばアプリケーションデータに予め定められた値が含まれる場合には、当該値(つまり、アプリケーションデータの一部)をSCHCにより省略(圧縮)することができる。具体的には、例えばBluetooth Meshにおいてはアプリケーションデータの先頭にOpCodeフィールドが付与されており、当該OpCodeフィールドには、送受信ノードに適用されるアプリケーションの種別(を示す値)が設定される。すなわち、送受信ノードに適用されるアプリケーションの種別が限られている場合には、OpCodeフィールドには特定の値(固定値)が設定される。この場合、図9に示す圧縮ルールにおいてOpCodeフィールドには、TV「X5」、MO「equal」及びCDA「not-sent」が対応づけられている。これによれば、OpCodeフィールドに設定されている値が特定の値「X5」と一致する場合に当該OpCodeフィールドを省略することが示されている。
【0143】
一方、Paramフィールドには、アプリケーションデータ自体が設定される。図9に示す圧縮ルールにおいてParamフィールドには、TV「-」、MO「ignore」及びCDA「value-sent」が対応づけられている。これによれば、Paramフィールドに設定されている値とTVを比較することなく当該Paramフィールドを省略しない(つまり、圧縮対象外とする)ことが示されている。なお、Paramフィールドに特定の値のみが設定されるような場合には、当該ParamフィールドをSCHCにより省略(圧縮)してもよい。更に、例えばSeqフィールドにおいて説明したように、Paramフィールドに設定されている値(アプリケーションデータ自体)の一部のみを省略するような構成とすることも可能である。
【0144】
Net MIC(Network MIC)フィールド及びTrans MIC(Transport MIC)フィールドには、アプリケーションデータ毎に異なる値(例えば、誤り訂正用のハッシュ値等)が設定されるため、送受信ノード間で予め値を定めておく(当該値を予測して圧縮ルールに記載しておく)ことができない。このため、図9に示す圧縮ルールにおいてNet MICフィールド及びTrans MICフィールドには、TV「-」、MO「ignore」及びCDA「value-sent」が対応づけられている。これによれば、Net MICフィールド及びTrans MICフィールドに設定されている値とTVとを比較することなく当該Net MICフィールド及びTrans MICフィールドを省略しない(つまり、圧縮対象外とする)ことが示されている。
【0145】
上記した図9に示す圧縮ルールが適用された場合、送信ノードである無線通信装置10は、ネットワークヘッダを構成するIVIフィールド、NICフィールド、CTLフィールド、Seqフィールドの一部、Src Addrフィールド及びDst Addrフィールドを省略するように当該ネットワークヘッダを圧縮し、トランスポートヘッダを構成するSEGフィールド、AKFフィールド及びAIDフィールドを省略するように当該トランスポートヘッダを圧縮することができる。更に、図9に示す圧縮ルールが適用された場合、OpCodeフィールドを更に省略(圧縮)することができる。
【0146】
この場合、受信ノードである無線通信装置10は、図9に示す圧縮ルールを参照することによって、上記したように圧縮された各フィールドを復元(つまり、ヘッダを展開)することができる。具体的には、例えば1ビットのフィールド長のフィールドに「0」を設定することによってIVIフィールドを復元することができ、7ビットのフィールド長のフィールドに「X1」を設定することによってNICフィールドを復元することができる。圧縮において省略された他のフィールドについても同様に復元していくことで、圧縮される前のネットワークヘッダ及びトランスポートヘッダ等を得ることができる。
【0147】
なお、本実施形態において説明した圧縮ルールは、当該圧縮ルールにおいて省略することができると記載されているフィールド(つまり、図9に示す例では、圧縮対象となるIVIフィールド、NICフィールド、CTLフィールド、Seqフィールド、Src Addrフィールド、Dst Addrフィールド、SEGフィールド、AKFフィールド、AIDフィールド、OpCodeフィールド)の全てを省略することができる場合に適用されるものとする。具体的には、圧縮ルールに記載されている例えばNICフィールド以外の省略可能なフィールド(例えば、IVIフィールド等)を省略することができたとしても、例えばNICフィールドに設定されている値が固定値「X1」と一致しない場合には、当該圧縮ルールは適用されない(つまり、圧縮は行われない)ものとする。圧縮ルールの一部のみを適用することによって圧縮されたネットワークヘッダ及びトランスポートヘッダ等を展開する場合には処理が煩雑になることが考えられるため、本実施形態においては、上記したように圧縮対象となる全てのフィールドを省略することができる場合に当該圧縮ルールを適用する構成を採用することで、圧縮されたネットワークヘッダ及びトランスポートヘッダ等を適切に展開することができるようにする。
【0148】
上記したように本実施形態において、圧縮ルールは例えばネットワークヘッダまたはトランスポートヘッダを構成するフィールドの候補値(TV)を含み、当該フィールドの候補値とネットワークヘッダ及びトランスポートヘッダを構成するフィールドに設定されている値とが一致する場合に、当該フィールドを省略することによって当該ネットワークヘッダ及びトランスポートヘッダを圧縮する。本実施形態においては、このような構成により、図9に示すようなSCHCを基にしたBluetooth Mesh(Bluetoothパケット)に適用可能な圧縮ルールに基づくネットワークヘッダ及びトランスポートヘッダ等の圧縮を実現することが可能となる。
【0149】
なお、本実施形態においては、上記した図9に示すSeqフィールドにおいて説明したように、圧縮ルールに含まれるフィールドの候補値(TV)とヘッダ(ネットワークヘッダまたはトランスポートヘッダ)を構成するフィールドに設定されている値の一部とが一致する場合に、当該値の一部を省略することによって当該ヘッダを圧縮してもよい。このような構成によれば、フィールドの一部でも圧縮することが可能であるため、圧縮効率を向上させることが可能となる。
【0150】
以上述べた少なくとも1つの実施形態によれば、効率的な通信を実現することが可能な無線通信装置及び方法を提供することができる。
【0151】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0152】
10,10-1,10-6…無線通信装置、11…圧縮ルール管理部、12…送受信部、13…アプリケーション管理部、14…アプリケーション処理部、14a…圧縮処理部、14b…暗号処理部、15…ネットワーク管理部、16…ネットワーク処理部、16a…圧縮処理部、16b…暗号処理部、101…CPU、102…不揮発性メモリ、103…主メモリ、104…通信デバイス。
図1
図2
図3
図4
図5
図6
図7
図8
図9