特許第6957443号(P6957443)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

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

<>
  • 特許6957443-通信装置、通信方法およびプログラム 図000003
  • 特許6957443-通信装置、通信方法およびプログラム 図000004
  • 特許6957443-通信装置、通信方法およびプログラム 図000005
  • 特許6957443-通信装置、通信方法およびプログラム 図000006
  • 特許6957443-通信装置、通信方法およびプログラム 図000007
  • 特許6957443-通信装置、通信方法およびプログラム 図000008
  • 特許6957443-通信装置、通信方法およびプログラム 図000009
  • 特許6957443-通信装置、通信方法およびプログラム 図000010
  • 特許6957443-通信装置、通信方法およびプログラム 図000011
  • 特許6957443-通信装置、通信方法およびプログラム 図000012
  • 特許6957443-通信装置、通信方法およびプログラム 図000013
  • 特許6957443-通信装置、通信方法およびプログラム 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6957443
(24)【登録日】2021年10月8日
(45)【発行日】2021年11月2日
(54)【発明の名称】通信装置、通信方法およびプログラム
(51)【国際特許分類】
   H04W 56/00 20090101AFI20211021BHJP
   H04W 74/08 20090101ALI20211021BHJP
   H04L 7/00 20060101ALI20211021BHJP
【FI】
   H04W56/00 130
   H04W74/08
   H04L7/00 990
【請求項の数】10
【全頁数】18
(21)【出願番号】特願2018-231831(P2018-231831)
(22)【出願日】2018年12月11日
(65)【公開番号】特開2020-96256(P2020-96256A)
(43)【公開日】2020年6月18日
【審査請求日】2020年8月24日
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】向本 将規
(72)【発明者】
【氏名】伊藤 俊夫
【審査官】 石田 信行
(56)【参考文献】
【文献】 米国特許出願公開第2018/0020447(US,A1)
【文献】 特開2013−187762(JP,A)
【文献】 IEEE-SA Standard Board,IEEE Std 802.15.4-2015:IEEE Standard for Low-Rate Wireless Networks,2015年12月05日,P42,46-47,50,64,86-87,93-97,185-186,190,https://standards.ieee.org/standard/802_15_4-2015.html または https://ieeexplore.ieee.org/document/7460875,https://www.silabs.com/content/usergenerated/asi/cloud/attachments/siliconlabs/en/community/wireless/proprietary/forum/jcr:content/content/primary/qna/802_15_4_promiscuous-tbzR/hivukadin_vukadi-iTXQ/802.15.4-2015.pdf
(58)【調査した分野】(Int.Cl.,DB名)
H04W 4/00 − 99/00
H04B 7/24 − 7/26
H04L 7/00
3GPP TSG RAN WG1−4
SA WG1−4
CT WG1,4
(57)【特許請求の範囲】
【請求項1】
時分割多重方式により送受信されるデータを用いて、他の通信装置との間で時刻を同期する同期制御部と、
前記時分割多重方式のタイムスロット内でのキャリアセンスの終了タイミングを決定する通信制御部と、
決定された終了タイミングでキャリアセンスが終了するように制御するキャリアセンス制御部と、
決定された前記終了タイミングを特定可能なタイミング情報を含むデータを、前記他の通信装置に送信するデータとして生成するデータ制御部と、
を備え、
前記通信制御部は、通信状態に応じて送信するデータの優先度を設定し、設定した前記優先度に応じて前記終了タイミングを決定する、
信装置。
【請求項2】
前記通信状態は、データの送信が失敗した回数、および、同期の基準となる時刻を管理する通信装置からのホップ数、の少なくとも一方である、
請求項1に記載の通信装置。
【請求項3】
前記通信制御部は、前記他の通信装置が決定したキャリアセンスの終了タイミングを特定可能なタイミング情報を含むデータを前記他の通信装置から受信し、
前記同期制御部は、受信した前記データに含まれる前記タイミング情報と、受信した前記データの受信時刻と、に基づいて、時刻を補正する、
請求項1に記載の通信装置。
【請求項4】
前記データ制御部は、決定した前記終了タイミングと規定値との差分を示す前記タイミング情報を含むデータを生成する、
請求項1に記載の通信装置。
【請求項5】
前記データ制御部は、前記タイミング情報をヘッダまたはペイロードの特定位置に含むデータを生成する、
請求項1に記載の通信装置。
【請求項6】
TSCH(TimeSlotted Channel Hopping)に準拠した時分割多重方式により送受信されるデータを用いて、他の通信装置との間で時刻を同期する同期制御部と、
TSCHに準拠した前記時分割多重方式のタイムスロット内でのキャリアセンス期間であるTsCcaの終了タイミングを決定する通信制御部と、
決定された終了タイミングでキャリアセンスが終了するように制御するキャリアセンス制御部と、
決定された前記終了タイミングを特定可能なタイミング情報を含むデータを、前記他の通信装置に送信するデータとして生成するデータ制御部と、
を備え、
前記通信制御部は、通信状態に応じて送信するデータの優先度を設定し、設定した前記優先度に応じて前記終了タイミングを決定する、
信装置。
【請求項7】
時分割多重方式によりデータの送受信を制御し、他の通信装置が決定したキャリアセンスの終了タイミングを特定可能なタイミング情報を含むデータを前記他の通信装置から受信する通信制御部と、
受信した前記データに含まれる前記タイミング情報と、受信した前記データの受信時刻と、に基づいて、前記他の通信装置との間で同期する時刻を補正する同期制御部と、
を備え、
前記終了タイミングは、通信状態に応じて設定した前記データの優先度に応じて、前記他の通信装置により決定される、
信装置。
【請求項8】
時分割多重方式により送受信されるデータを用いて、他の通信装置との間で時刻を同期する同期制御部と、
前記時分割多重方式のタイムスロット内でのキャリアセンスの終了タイミングを決定する通信制御部と、
決定された終了タイミングでキャリアセンスが終了するように制御するキャリアセンス制御部と、
決定された前記終了タイミングを特定可能なタイミング情報を含むデータを、前記他の通信装置に送信するデータとして生成するデータ制御部と、
を備え、
前記通信制御部は、通信状態に応じて送信するデータの優先度を設定し、設定した前記優先度に応じて前記終了タイミングを決定する、
第1通信装置と、
時分割多重方式によりデータの送受信を制御し、前記第1通信装置が決定したキャリアセンスの終了タイミングを特定可能なタイミング情報を含むデータを前記第1通信装置から受信する通信制御部と、
受信した前記データに含まれる前記タイミング情報と、受信した前記データの受信時刻と、に基づいて、前記第1通信装置との間で同期する時刻を補正する同期制御部と、
を備える、
第2通信装置と、
を含む通信システム。
【請求項9】
時分割多重方式により送受信されるデータを用いて、他の通信装置との間で時刻を同期する同期制御ステップと、
前記時分割多重方式のタイムスロット内でのキャリアセンスの終了タイミングを決定する通信制御ステップと、
決定された終了タイミングでキャリアセンスが終了するように制御するキャリアセンス制御ステップと、
決定された前記終了タイミングを特定可能なタイミング情報を含むデータを、前記他の通信装置に送信するデータとして生成するデータ制御ステップと、
を含み、
前記通信制御ステップは、通信状態に応じて送信するデータの優先度を設定し、設定した前記優先度に応じて前記終了タイミングを決定する、
信方法。
【請求項10】
コンピュータを、
時分割多重方式により送受信されるデータを用いて、他の通信装置との間で時刻を同期する同期制御部と、
前記時分割多重方式のタイムスロット内でのキャリアセンスの終了タイミングを決定する通信制御部と、
決定された終了タイミングでキャリアセンスが終了するように制御するキャリアセンス制御部と、
決定された前記終了タイミングを特定可能なタイミング情報を含むデータを、前記他の通信装置に送信するデータとして生成するデータ制御部と、
して機能させ、
前記通信制御部は、通信状態に応じて送信するデータの優先度を設定し、設定した前記優先度に応じて前記終了タイミングを決定する、
ログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、通信装置、通信方法およびプログラムに関する。
【背景技術】
【0002】
設置コストおよび運用の容易さから、特に産業分野では無線通信の需要が高まっている。例えばIEEE 802.15.4-2015は、TSCH(TimeSlotted Channel Hopping)の送受信方法を定義している。TSCHでは時分割多重通信(TDMA:Time Division Multiple Access)を用いてシステム内での電波干渉を回避するとともに、周波数ホッピングによって周波数をランダムに変更しながら通信を行い、他システムによる外乱の影響を低減している。また、TSCHでは高精度な時刻同期機能を保持することで精密な時分割通信を実現している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2013−187762号公報
【非特許文献】
【0004】
【非特許文献1】IEEE 802.15.4-2015 - IEEE Standard for Low-Rate Wireless Networks
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、時刻同期の精度が低下する場合があった。例えば、キャリアセンスを有効に動作させるために衝突の可能性があるタイムスロットではキャリアセンス開始タイミングを変更する技術を適用したとする。このような技術は、パケットの送信時刻にずれを生じさせるため、TSCHなどのようにパケットの受信時刻によって時刻同期を行う機能に影響を与える可能性がある。
【課題を解決するための手段】
【0006】
実施形態の通信装置は、同期制御部と、通信制御部と、キャリアセンス制御部と、データ制御部と、を備える。同期制御部は、時分割多重方式により送受信されるデータを用いて、他の通信装置との間で時刻を同期する。通信制御部は、時分割多重方式のタイムスロット内でのキャリアセンスの終了タイミングを決定する。キャリアセンス制御部は、決定された終了タイミングでキャリアセンスが終了するように制御する。データ制御部は、決定された終了タイミングを特定可能なタイミング情報を含むデータを、他の通信装置に送信するデータとして生成する。
【図面の簡単な説明】
【0007】
図1】本実施形態の通信装置を含む無線通信システムの構成例を示す図。
図2】TSCHに準拠した時刻同期の仕組みを説明するための図。
図3】TSCHに準拠した時刻同期の仕組みを説明するための図。
図4】本実施形態にかかる通信装置のブロック図。
図5】本実施形態におけるパケット送信処理のフローチャート。
図6】本実施形態におけるパケット受信処理のフローチャート。
図7】本実施形態の通信装置による衝突回避方法を説明するための図。
図8】通知方法の概要を説明するための図。
図9】Vendor Specific IEのフレームフォーマットの一例を示す図。
図10】通知方法の概要を説明するための図。
図11】変形例の通信装置のブロック図。
図12】本実施形態にかかる通信装置のハードウェア構成図。
【発明を実施するための形態】
【0008】
以下に添付図面を参照して、この発明にかかる通信装置の好適な実施形態を詳細に説明する。
【0009】
TDMAをベースとした通信では、システム内で複数の通信装置(ノード)が同一タイミングでパケット(データ)を送信する場合、電波衝突を避けられない場合がある。通常、無線通信する通信装置は、送信前に周囲の電波状況を把握するキャリアセンスを行い、干渉のおそれがないことを確認した上でパケットを送信する。しかし高精度な時刻同期機能を有するTDMAでは、各通信装置は同時に送信を行うため、事前にキャリアセンスを行ったとしても電波を検出できず電波衝突を回避できない。
【0010】
このような問題を解消するため、衝突の可能性があるタイムスロットではキャリアセンス開始タイミングを変更し、各通信装置の送信タイミングにずれを生じさせることでキャリアセンスを有効化する方式がある。しかし、TSCHではパケット受信時刻によって時刻同期を行うため、送信時刻にずれが生じるこの方式を用いると時刻同期の精度が劣化するおそれがある。
【0011】
本実施形態では、同一のタイムスロットで送信する通信装置間のキャリアセンスが有効に機能し、かつ、時刻同期の精度を維持することができる通信装置、通信方法およびプログラムを実現する。
【0012】
図1は、本実施形態の通信装置を含む無線通信システムの構成例を示す図である。図1に示すように、無線通信システムは、無線通信する複数の通信装置100a〜100fと、外部ネットワーク200と、を含む。通信装置100a〜100fは、同様の構成を備えるため、区別する必要がない場合は単に通信装置100という場合がある。通信装置100の個数は6台に限られず、何台であってもよい。
【0013】
複数の通信装置100a〜100fは、マルチホップネットワークを構成する。各通信装置100は、例えば、標準規格IEEE 802.15.4-2015で定められたMAC(Medium Access Control)レイヤプロトコルであるTSCHの機能を備える。なお、適用可能なプロトコルはTSCHに限られるものではなく、その他の時分割多重通信方式および時刻同期方式を適用してもよい。
【0014】
マルチホップネットワーク内の通信装置100のうち1台はコーディネータ(Coordinator)と呼ばれる役割を持つ。コーディネータは、当該マルチホップネットワークにおける同期の基準となる時刻(真の時刻)を管理する通信装置100である。図1では、例えば通信装置100aがコーディネータに相当する。
【0015】
コーディネータ以外の通信装置100は、通信範囲内に存在する他の通信装置100から、タイムソース(Time Source)と呼ばれる通信装置100を1台以上選択し、選択した通信装置100を、自装置内の時刻の参照元とする。各通信装置100は、タイムソースからパケットを受信した際に、以下に示す手順で時刻同期を行う。
【0016】
図2および図3は、各通信装置100におけるTSCHに準拠した時刻同期の仕組みを説明するための図である。マルチホップネットワーク内のすべての通信装置100は、時分割多重通信(TDMA)を行い、各タイムスロット内で必要に応じてパケット送信、キャリアセンス、および、ACK送信を行う。また、これらを行うタイミング(例えばキャリアセンスはタイムスロット開始後何ミリ秒後に行うかなど)は、予め定められている。予め定められたタイミングを示す情報(タイミング情報)は、通信装置100間で共有されている。また、このような情報を参照することで、各通信装置100は、通信相手となる他の通信装置100からのパケットが到着する時刻を予想することができる。
【0017】
図2は、送信側の通信装置100および受信側の通信装置100が互いに時刻同期が取れている状態でのパケット送受信の様子を示す。タイミング情報が事前に共有されており、正確に時刻が同期されていれば、図2に示すように予想時刻にパケットが到着する。
【0018】
一方、図3は、送信側の通信装置100および受信側の通信装置100間の時刻同期にずれがある場合のパケット送受信の様子を示す。時刻同期にずれがあると、予想時刻に前後してパケットが到着する。図3は、予想時刻より後にパケットが到着した場合の例を示す。予想時刻と実際の到着時刻のずれが時刻同期の誤差301に等しくなるので、タイムソースとの通信でこの誤差301を検出した場合は、通信装置100は自装置の時刻情報をその誤差301の分だけ補正する。これをマルチホップネットワーク内のすべての通信装置100が行うことで、マルチホップネットワーク全体で時刻同期が維持される。
【0019】
以上の通り、通信装置100の時刻同期にはパケット到着時刻の予想が大きな役割を果たす。そのため、事前に共有された情報とは異なるタイミングでパケット送信を行うと、時刻同期精度が劣化するおそれがある。
【0020】
図4は、本実施形態にかかる通信装置100の構成の一例を示すブロック図である。図4に示すように、通信装置100は、記憶部121と、アンテナ122と、送受信部101と、通信制御部102と、データ制御部103と、同期制御部104と、キャリアセンス制御部105と、を備えている。
【0021】
なお、通信装置100は、例えば日本国内では特定小電力無線局として無線通信を運用し、キャリアセンスおよび送信時間等に、電波法および国内標準規格ARIB Std−T108の制約を受ける。
【0022】
また、図4では、無線通信に関連する機能のみを例示しているが、例えば、無線通信を利用するアプリケーションなどの上位層の機能が通信装置100内に備えられていてもよい。通信制御部102は、例えばこのような上位層からのパケットの送受信の依頼に応じて、無線通信を制御する。
【0023】
記憶部121は、通信装置100が実行する各種処理で用いられる各種情報を記憶する。例えば記憶部121は、送受信結果などから得られる通信状態を記憶する。通信状態は、例えば、通信装置100から送信したパケットの送信失敗回数、および、コーディネータから通信装置100までのホップ数の少なくとも一方である。これらの通信状態は一例であり、通信装置100による通信の状態を示す情報であれば、どのような情報を通信状態として用いてもよい。
【0024】
アンテナ122は、無線信号を送受信するためのアンテナである。
【0025】
通信制御部102は、通信装置100による無線通信を制御する。例えば通信制御部102は、送受信部101、データ制御部103、同期制御部104、および、キャリアセンス制御部105を制御し、無線信号を送受信する。通信制御部102による制御処理の詳細は後述する。
【0026】
送受信部101は、通信制御部102の制御に従い、パケットの送受信を行う。
【0027】
データ制御部103は、送受信するパケット(データ)の内容を制御する。例えばデータ制御部103は、送信するパケットの生成、および、受信したパケットの解析などを実行する。またデータ制御部103は、通信制御部102により決定された、キャリアセンスの終了タイミングを特定可能なタイミング情報を含む送信パケットを生成する。
【0028】
同期制御部104は、時分割多重方式により送受信されるデータを用いて、他の通信装置100との間で時刻を同期する処理を制御する。例えば、同期制御部104は、通信制御部102の制御に従い、通信装置100内の時刻を他の通信装置100と同期させる。
【0029】
キャリアセンス制御部105は、通信制御部102の制御に従い、キャリアセンスを実行する時間(キャリアセンス時間)およびタイミングを制御する。例えばキャリアセンス制御部105は、通信制御部102により決定された終了タイミングで終了するように、キャリアセンスを制御する。
【0030】
通信制御部102による無線通信の制御処理の手順の一例について説明する。通信制御部102は、パケット送信時には送信パケットおよび送信タイミングを制御する。通信制御部102は、パケット受信時には受信パケットの解析および時刻同期などを制御する。
【0031】
パケット送信時、通信制御部102は、データ制御部103から送信すべきパケット(送信パケット)を受け取る。通信制御部102は、記憶部121から通信状態を読み出し、通信状態を参照して送信パケットの優先度を設定し、優先度に基づいてキャリアセンス時間を変動させるか否かを判定し、変動させる場合、変動量を決定する。
【0032】
キャリアセンス時間を変動させるとは、少なくともキャリアセンスの終了タイミングを変動させることを意味する。キャリアセンスの終了タイミングが同じであると、キャリアセンスの終了後に複数の通信装置100が同時にパケットを送信することによる電波衝突を回避できないためである。キャリアセンスの終了タイミングが異なれば、キャリアセンスの開始タイミングを変動させてもよいし、変動させなくてもよい。開始タイミングと終了タイミングを同じ分だけ変動させる場合には、キャリアセンス時間の長さは不変となる。開始タイミングと終了タイミングの変動量が異なる場合は、キャリアセンス時間の長さも変動することになる。以下では、開始タイミングは変動させず、終了タイミングを予め定められた規定値から変動させる場合を例として説明する。この場合、変動させた終了タイミングと規定値との差分が、変動量に相当する。
【0033】
キャリアセンス時間を変動させる場合、通信制御部102は、終了タイミングを特定可能なタイミング情報を送信パケットに含めるように、データ制御部103に対してパケットの変更を依頼する。
【0034】
通信制御部102は、送信パケットを送信する前に、キャリアセンス制御部105に対してキャリアセンス処理を依頼する。キャリアセンス時間が変動された場合、キャリアセンス制御部105は、変動後のキャリアセンス時間にキャリアセンスを実行し、その結果を通信制御部102に報告する。
【0035】
通信制御部102は、キャリアセンスの結果に基づき、送信パケットを送信できるか否かを判定する。送信できると判定した場合、通信制御部102は、送受信部101に対して送信パケットの送信命令を発行する。送受信部101は、送信命令に従い送信パケットを送信する。
【0036】
パケット受信時は、以下のように動作する。送受信部101はパケット(受信パケット)を受信した場合、受信パケットを通信制御部102へ送る。通信制御部102は、受信パケットをデータ制御部103へ送る。データ制御部103は、受信パケットの構成を解析し、解析結果を通信制御部102へ通知する。通信制御部102は、解析結果および受信パケットの受信時刻を基に、補正すべき時刻を算出し、補正すべき時刻を同期制御部104へ通知する。同期制御部104は、通知された時刻の値を基に、通信装置100内部の時刻を補正する。
【0037】
なお記憶部121は、フラッシュメモリ、メモリカード、RAM(Random Access Memory)、HDD(Hard Disk Drive)、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
【0038】
また、上記各部(送受信部101、通信制御部102、データ制御部103、同期制御部104、および、キャリアセンス制御部105)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
【0039】
次に、このように構成された本実施形態にかかる通信装置100によるパケット送信処理について説明する。図5は、本実施形態におけるパケット送信処理の一例を示すフローチャートである。
【0040】
通信制御部102は、例えば上位層から、送信パケットとともに送信パケットの送信命令を受け取る(ステップS101)。通信制御部102は、記憶部121に記憶された通信状態を参照し、送信パケットの送信が、他の通信装置100による通信と衝突する可能性があるか否かを判定する(ステップS102)。
【0041】
例えば記憶部121に送信失敗回数が通信状態として記憶されている場合、通信制御部102は、送信失敗回数が予め定められた閾値より大きい場合に、衝突する可能性があると判定する。判定方法はこれに限られず、どのような方法であってもよい。例えば通信制御部102は、現在接続されている他の通信装置100の個数が閾値より大きい場合に、衝突する可能性があると判定してもよい。
【0042】
送信パケットが衝突する可能性がある場合(ステップS103:Yes)、通信制御部102は、キャリアセンス時間を変動させることでキャリアセンスを有効化し、衝突回避を試みる。例えば通信制御部102は、通信状態に応じて変動させたキャリアセンス時間を算出する(ステップS104)。算出方法の詳細は後述する。通信制御部102は、変動させたキャリアセンス時間の終了タイミングを示すタイミング情報を含むように送信パケットを変更することをデータ制御部103に依頼する(ステップS105)。送信パケットの変更方法の詳細は後述する。
【0043】
通信制御部102は、キャリアセンス制御部105に対してキャリアセンスの実行を依頼する(ステップS106)。ステップS105でキャリアセンス時間を変動した場合、通信制御部102は、変動後のキャリアセンス時間でキャリアセンスするようにキャリアセンス制御部105に依頼する。
【0044】
ステップS103で、送信パケットが衝突する可能性がないと判定した場合(ステップS103:No)、通信制御部102は、キャリアセンス時間は変動せず、事前に定められたキャリアセンス時間でキャリアセンスするようにキャリアセンス制御部105に依頼する。
【0045】
キャリアセンスにより送信パケットが送信可能と判定された場合は、通信制御部102は、送受信部101に送信パケットの送信を依頼する(ステップS107)。なお、キャリアセンスにより送信パケットが送信できないと判定された場合は、通信制御部102は、例えばランダムな時間待機した後、再度キャリアセンスを実行してもよい。
【0046】
なお、ステップS103の判定処理は省略されてもよい。例えば、ステップS104で、衝突する可能性が低いときには事前に定められたキャリアセンス時間が算出されるような算出方法を用いる場合は、ステップS103の判定処理は実行されなくてもよい。
【0047】
次に、本実施形態にかかる通信装置100によるパケット受信処理について説明する。図6は、本実施形態におけるパケット受信処理の一例を示すフローチャートである。
【0048】
送受信部101は、他の通信装置100などからパケット(受信パケット)を受信する(ステップS201)。通信制御部102は、受信パケットに基づいて時刻同期を行う必要があるか否かを判定する(ステップS202)。
【0049】
通信装置100は、TSCHの機能によって時刻同期精度を維持している。TSCHでは、タイムソースとして定めた通信装置100から受信したパケットにより時刻同期を補正する。従って、通信制御部102は、例えば受信パケットの送信元アドレスを確認し、送信元アドレスがタイムソースである場合に、時刻同期が必要であると判定する。
【0050】
時刻同期が必要である場合(ステップS202:No)、通信制御部102は、受信パケットの送信タイミングが変動されているか否かを確認する。上述のように、送信元の通信装置100がキャリアセンス時間を変動していた場合、変動量を特定可能なタイミング情報が受信パケットに含まれている。従って、通信制御部102は、受信パケットに含まれるタイミング情報により、送信タイミングが変動されているか、および、変動量を特定する(ステップS203)。
【0051】
通信制御部102は、受信パケットの到着予想時刻、実際の到着時刻、および、変動量から、タイムソースとの時刻同期の誤差を把握する。通信制御部102は、この誤差の分だけ、自装置の時刻情報を補正するように、同期制御部104を制御する(ステップS204)。
【0052】
時刻同期が必要でない場合(ステップS202:No)、および、時刻同期を実行後、通信制御部102は、通信制御部102の層(レイヤ)で必要な処理を行ったのち上位層へ受信パケットを送信する(ステップS205)。
【0053】
図5に示すように、通信装置100は、他の通信装置100と同時にパケットを送信する可能性がある場合に、衝突回避策を講じる。具体的には、通信装置100は、キャリアセンス時間を変動させることでキャリアセンスを有効化し、パケットの衝突を回避する。以下、この機能の詳細について説明する。図7は、本実施形態の通信装置100による衝突回避方法を説明するための図である。
【0054】
送信側の通信装置100は、パケットを送信するためのタイムスロット(送信タイムスロット)の開始後、一定の時間TsCcaOffsetだけ待機した後、時間TsCcaの分キャリアセンスを行い、干渉のおそれがないと判定した場合に、パケットの送信を開始する。一方、受信側の通信装置100は、タイムスロットの開始後、時間TsRxOffsetの分だけ待機した後、受信待機処理を開始する。受信待機は、時間TsRxWaitの分だけ行われる。時間TsRxWaitの間にパケットの先頭が到着すれば、受信側の通信装置100は受信を開始する。これらの時間TsCcaOffset、TsCca、TsRxOffset、および、TsRxWaitは、事前に各通信装置100間で共有されている。なおTx Packetは、送信されるパケットを表す。またTsTxOffsetは、タイムスロットの開始からパケットの送信を開始するまでの時間を表す。
【0055】
本実施形態の通信装置100は、キャリアセンスの時間TsCca(TsCcaの終了タイミング)を変動させることができる。これにより、その後のパケット送信の開始時刻も変動させることができ、時刻同期された通信装置100間でもキャリアセンスが有効化される。
【0056】
図7の「通常」は、キャリアセンスの時間TsCcaを変動させない通信装置100に対するタイムスロットを表す。「優先」は、キャリアセンスの時間TsCcaを変動させる通信装置100に対するタイムスロットを表す。
【0057】
ある通信装置100の通信を優先させる場合、図7に示すように、この通信装置100のキャリアセンス時間を事前に定められた時間より短い時間に設定する。これにより優先する通信装置100のパケットが他の通信装置100のキャリアセンス中に送信される。他の通信装置100は、キャリアセンス中の時刻701で、送信されたパケットを検知することができる。すなわち、各通信装置100の間で時刻が同期されていたとしても、キャリアセンスを有効化し、パケット送信を成功させることが可能となる。
【0058】
通信装置100のキャリアセンス時間は2つの制約を受ける。1つ目は、ARIB Std−T108による制約である。この規格では、キャリアセンス時間に最小値(下限)が設けられている。通信装置100のキャリアセンス時間も、この最小値より小さくならないように設定する必要がある。
【0059】
2つ目は、時間TsRxWaitによる制約である。受信側の通信装置100は、通常時、時間TsRxWaitの中点でパケット受信が開始されることを想定している。そのため、時間TsRxWaitの半分以上の時間だけパケット送信を早める、または、遅くすると、パケットが受信できなくなる。従って、キャリアセンス時間の変動量は、時間TsRxWaitの半分以内とする必要がある。この制約は、キャリアセンス時間の最大値(上限)が設けられていると言い換えることができる。
【0060】
通信制御部102は、これらの制約の中で変動量を決定する。例えば通信制御部102は、これらの制約を満たし、かつ、キャリアセンス終了からパケット送信開始までにかかる時間(図7の「1Unit」)の整数倍の時間を変動量とする。変動量の算出方法の詳細は後述する。
【0061】
上述の通り、時刻同期の精度を維持するためには、送信タイミングの変動量を受信側の通信装置100に通知する必要がある。以下、この機能の詳細について説明する。
【0062】
変動量は、例えば以下の2種類の方法のいずれかにより通知することができる。
【0063】
1つ目は、送信パケットのフレームチェックシーケンス(Frame Check Sequence)の直前に変動量の値に等しい長さのデータを挿入することで通知する方法である。通信装置100が通信するパケットには、パケットの先頭にペイロード長(MACペイロード長)が記載されている。送信側の通信装置100(データ制御部103)は、送信パケットに変動量に等しい長さのデータを挿入するとともに、変動量を挿入する前のペイロードの長さをペイロード長に記載する。受信側の通信装置100は、パケット解析によって得られたサイズと、実際に検知したサイズとの差によって変動量を把握する。
【0064】
図8は、1つ目の通知方法の概要を説明するための図である。図8では、送信側の通信装置100が、変動量に相当する、サイズが5の追加データを送信パケットに挿入する例が示されている。受信側の通信装置100は、ペイロード長に記載されたサイズ10と、実際に検知したサイズ15との差分から、変動量が5であることを検知できる。なお受信側の通信装置100は、検知した変動量とともに、パケットの実際の到着時刻と、到着の予想時刻との差を用いて、時刻を同期させる。
【0065】
変動量の値に等しい長さのデータをフレームチェックシーケンスの直前に挿入する方法では、ペイロード長に記載されたサイズ分のデータを先頭から読み出すことで、挿入前のパケットのペイロードを得ることができる。従って、例えばデータの挿入位置を通知する必要はない。データの挿入位置はこれに限られず、どのような位置であってもよい。ただし、フレームチェックシーケンスの直前以外の位置に挿入する場合、挿入位置を示す情報を、何らかの方法(ヘッダまたはペイロード内の特定の位置に記載する方法など)で通知する必要がある。
【0066】
また、キャリアセンス時間の増加および減少のいずれも可能とする場合、すなわち、変動量が正負の両方の値を取り得る場合、正負のいずれであるかを示す情報を通知する必要がある。このため、例えば、追加データのうち予め定められた位置(例えば、先頭ビット、または、末尾ビットなど)に、正負のいずれであるかを示す情報を含めるように構成してもよい。
【0067】
2つ目は、MACヘッダ、または、ペイロード内の特定のフィールド(特定位置)に変動量を記載して通知する方法である。送信側の通信装置100と受信側の通信装置100とは、変動量を通知するフィールド(通知フィールド)を事前に共有しておく。送信側の通信装置100(データ制御部103)は、送信パケットの通知フィールドに変動量を記載する。受信側の通信装置100は、通知フィールドを参照して変動量を把握する。
【0068】
通知フィールドとしては、例えば、Vendor Specific IE(Information Element)を用いることができる。Vendor Specific IEは、TSCHで規定されているMACフレーム上のフィールドである。このフィールドは、TSCHの規格内では使い方は規定されておらず、特定の用途でのみ必要な情報を送受信するために使用される。Vendor Specific IEは、MACヘッダとMACペイロードの両方で用いられるフィールドであるが、どちらを使用してもよい。
【0069】
図9は、Vendor Specific IEのフレームフォーマットの一例を示す図である。このフォーマットは、ヘッダとペイロードのいずれに記載する場合にも用いられる。Vendor OUI(Organizationally Unique Identifier)は、通信装置100のベンダーの識別情報を示す。Vendor Specific Informationは、所望の用途に用いる情報を示す。本実施形態では、Vendor Specific Informationに、変動量を示す情報が設定される。
【0070】
図10は、2つ目の通知方法の概要を説明するための図である。図10では、送信側の通信装置100が通知フィールドに変動量の値として5が設定された送信パケットを送信する例が示されている。受信側の通信装置100は、通知フィールドにより変動量が5であることを特定できる。なお、2つ目の通知方法では、キャリアセンス時間の増加および減少のいずれも可能とする場合には、正負の情報も含む変動量の値を通知フィールドに記載すればよい。例えば変動量が−5である場合には、通知フィールドに−5を記載すればよい。
【0071】
次に、変動量の算出方法について説明する。図5でも説明したように、送信側の通信装置100は、キャリアセンス時間を変動させる前に、パケット衝突の可能性を算出する。例えば通信装置100は、送信パケットの優先度により変動量を算出する。通信制御部102は、例えば、記憶部121に記憶されている通信状態を示す情報を用いて優先度を設定する。優先度の設定方法はこれに限られない。例えば通信制御部102は、送信パケットの内容の重要度などに応じて優先度を設定してもよい。また、通信制御部102は、送信パケットの送信を依頼したアプリケーションなどの上位層の機能の重要度に応じて優先度を設定してもよい。
【0072】
変動量を考慮したキャリアセンス時間は以下の(1)式により算出される。
CCATime=CCABase−CCAChange ・・・(1)
【0073】
CCATimeは、算出されるキャリアセンス時間、CCABaseは、変動処理を行わない場合のキャリアセンス時間、CCAChangeは、キャリアセンス時間の変動量を示す。(1)式は変動量CCAChangeが大きな値になるほどキャリアセンス時間が短くなることを示す。また、CCAChangeは負の値でもよい。その場合は、通常時よりもキャリアセンス時間が長くなる。
【0074】
CCAChangeは以下のように算出される。最初に、優先度を基にした値であるCCAChangeBaseが算出される。CCAChangeBaseは、例えば以下の(2)式により算出される。
CCAChangeBase=Priority×TxRx ・・・(2)
【0075】
Priorityは、送信パケットの優先度を示す。TxRxは、キャリアセンス終了からパケット送信までにかかる時間であり、図7の「1Unit」に相当する時間を示す。本実施形態では、TxRxを1単位としてその整数倍の時間だけキャリアセンス時間を変動させる。このため、優先度は整数の値となる。また、優先度が高いパケットほど、優先度の値は大きくなる。
【0076】
優先度を整数とすることにより、処理を簡略化できるが、優先度は整数でなくてもよい。すなわち、キャリアセンス時間の変動量はTxRxの整数倍でなくてもよい。例えば、通信制御部102は、1以上の実数となる優先度を用いることにより、TxRx以上であり、TxRxの実数倍となるような変動量を算出してもよい。
【0077】
上述の通りCCATimeには上限および下限を示す制約値が存在する。このため、それらを超える値の変動量を設定することはできない。そこで通信制御部102は、CCAChangeBaseと制約値とを比較することでCCAChangeを算出する。例えば通信制御部102は、以下の(3)式に従いCCAChangeを算出する。
【数1】
【0078】
RxWaitは、受信側の通信装置100がパケットの先頭を待ち受ける時間を示す。図7では、時間TsRxWaitが(3)式のRxWaitに相当する。受信側の通信装置100は、RxWaitの中点でパケットが到着することを想定している。このため、何らかの理由で、パケット送信タイミングにRxWait/2の分だけ誤差(正方向および負方向の両方を含む)が生じるとパケット受信に失敗する。
【0079】
CCALimitは、CCABaseと、ARIB Std−T108で規定されたキャリアセンスの最小時間と、の差に相当する値である。言い換えると、CCALimitは、キャリアセンス時間をARIB Std−T108の最小値とするような値を示す。
【0080】
キャリアセンス時間の最小時間への制約値、すなわちCCAChangeの最大値には、RxWait/2およびCCALimitのうち小さな値が用いられる((3)式のmin(RxWait/2,CCALimit))。
【0081】
優先度Priorityを設定するための通信状態は、どのような情報であってもよい。例えば通信状態として、パケットの送信に失敗した回数(送信失敗回数または再送回数)、および、コーディネータから通信装置100までのホップ数の少なくとも一方を用いることができる。どのような情報を通信状態として用いるかによってマルチホップネットワークを特徴づけることができる。
【0082】
例えば、パケットの送信失敗回数(再送回数)を通信状態として用いる場合は、送信失敗回数(再送回数)が多いほど優先度を上げてもよい。これにより、送信にかかる時間が平滑化されて最大送信時間を抑えられるマルチホップネットワークを構築できる。
【0083】
各通信装置100のコーディネータからのホップ数を通信状態として用いる場合は、ホップ数が小さいほど優先度を上げてもよい。これにより、コーディネータに近い通信装置100にパケットが集中しやすいセンシングに向いたマルチホップネットワークを構築できる。
【0084】
反対に、ホップ数が大きいほど、すなわち、コーディネータから遠いほど優先度を上げてもよい。これにより、コーディネータから遠い通信装置100がビーコン情報を得られやすくなり、より早くマルチホップネットワークに参入しやすくなるため領域拡張に向いたマルチホップネットワークを構築できる。
【0085】
通信状態としてその他にも様々な情報を用いることが考えられるが、どのような情報を用いても本実施形態の手法を用いることができる。
【0086】
(変形例)
図4に示す通信装置100は、キャリアセンス時間を変動させる機能、および、受信パケット内のタイミング情報を用いて時刻を同期させる機能をともに備えている。通信装置が、後者の機能のみを備えるように構成してもよい。
【0087】
図11は、このように構成される変形例の通信装置100−2の構成の一例を示すブロック図である。図11に示すように、通信装置100−2は、記憶部121と、アンテナ122と、送受信部101と、通信制御部102−2と、データ制御部103−2と、同期制御部104と、キャリアセンス制御部105と、を備えている。
【0088】
変形例の通信装置100−2は、通信制御部102−2およびデータ制御部103−2の機能が、上記実施形態の通信装置100と異なっている。その他の構成は図4と同様であるため同一の符号を付し説明を省略する。
【0089】
データ制御部103−2は、キャリアセンスの終了タイミングを特定可能なタイミング情報を送信パケットに挿入する機能を備えない点が、上記実施形態のデータ制御部103と異なっている。
【0090】
通信制御部102−2は、送信パケットの優先度に応じてキャリアセンス時間を変動させる機能を備えない点が、上記実施形態の通信制御部102と異なっている。なお通信装置100−2は、パケット受信時に、例えば図6と同様の手順でパケット受信処理を実行する。
【0091】
このように、変形例の通信装置100−2は、他の通信装置から受信したパケットに含まれるタイミング情報を用いて時刻を同期させる機能は備えているが、キャリアセンス時間を変動させる機能は備えていない。しかし、他の通信装置がキャリアセンス時間を変動させる機能は備えていれば、キャリアセンスを有効に機能させ、かつ、時刻同期の精度を維持することが可能となる。
【0092】
以上のように、本実施形態にかかる通信装置では、通信状態に応じてキャリアセンス時間を変動可能となるため、時刻が高精度に同期されていたとしても、キャリアセンスを有効に動作させることができる。また、変動量(キャリアセンスの終了タイミング)を特定可能な情報を送信パケットに含めるため、この情報を参照することで時刻同期を高精度に維持することが可能となる。
【0093】
次に、本実施形態にかかる通信装置のハードウェア構成について図12を用いて説明する。図12は、本実施形態にかかる通信装置のハードウェア構成例を示す説明図である。
【0094】
本実施形態にかかる通信装置は、CPU51などの制御装置と、ROM(Read Only Memory)52やRAM53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
【0095】
本実施形態にかかる通信装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。
【0096】
本実施形態にかかる通信装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【0097】
さらに、本実施形態にかかる通信装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態にかかる通信装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【0098】
本実施形態にかかる通信装置で実行されるプログラムは、コンピュータを上述した通信装置の各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【0099】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0100】
100、100−2 通信装置
101 送受信部
102、102−2 通信制御部
103、103−2 データ制御部
104 同期制御部
105 キャリアセンス制御部
121 記憶部
122 アンテナ
200 外部ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12