【課題】無線通信が失敗した複数の通信データを効率よくアグリゲートして中継通信できるようにするために、適切なアグリゲート数を設定することが可能な無線通信ノードおよび無線通信システムを提供する。
【解決手段】通信データの通信の成否を判定する通信成否判定部205と、通信が失敗したオーバーヒアした複数の通信データの宛先が同一である場合に、通信データをアグリゲートする通信データ合成部207と、一定のサイクルの間にアグリゲートされた通信データの個数をアグリゲート数として演算するアグリゲート数演算部209と、アグリゲート数がアグリゲート基準数になった場合に中継送信を開始する通信タイミング管理部208と、を備える。通信タイミング管理部208は、一定のサイクルの間の通信が失敗したと判定されたオーバーヒアした通信データの数を次のサイクルにおける中継送信を開始するアグリゲート基準数として設定する。
前記通信データ合成部は、前記あらかじめ定められたサイクルの間に、自ノードで発生した通信データの宛先の無線通信ノードと、前記他の無線通信ノードからオーバーヒアした自ノード宛てではない通信データであって通信が失敗した通信データの宛先の無線通信ノードとが同一の場合には、自ノードで発生した通信データと、前記宛先の無線通信ノードが同一の通信データとをアグリゲートし、前記通信タイミング管理部はアグリゲートされた通信データを1つのパケットとして送信することを特徴とする請求項1に記載の無線通信ノード。
前記あらかじめ定められたサイクルの間に、自ノードで発生した通信データの宛先の無線通信ノードと、前記他の無線通信ノードからオーバーヒアした自ノード宛てではない通信データであって通信が失敗した通信データの宛先の無線通信ノードとが同一の場合には、前記通信タイミング管理部は、自ノードで発生した通信データの数と前記宛先の無線通信ノードが同一の通信データの数を加算し、加算された通信データの数を次のサイクルにおける中継送信を開始する前記アグリゲート基準数として設定することを特徴とする請求項1または2に記載の無線通信ノード。
前記通信タイミング管理部は、前記通信データの宛先の無線通信ノードごとに、次のサイクルにおける前記アグリゲート基準数を設定することを特徴とする請求項1乃至3のいずれか一項に記載の無線通信ノード。
前記アグリゲート数演算部が前記アグリゲート基準数として演算する通信データは、前記あらかじめ定められたサイクルの間に再送または中継送信された通信データ、および、送信ノードと宛先ノードが同一で発生イベントの違いを示すシーケンス番号が異なる通信データを除くことを特徴とする請求項1乃至4のいずれか一項に記載の無線通信ノード。
前記通信タイミング管理部は、前記通信データの宛先の無線通信ノード毎にアグリゲート待ち時間を設定し、アグリゲート待ち時間になった場合に中継送信を開始し、前記アグリゲート待ち時間は前記アグリゲート基準数に1通信フレーム長を乗算した時間であることを特徴とする請求項4に記載の無線通信ノード。
前記あらかじめ定められたサイクルは、前記無線通信ノードの通信フレームの整数倍の期間、または、あらかじめ定められた固定の期間であることを特徴とする請求項1乃至6のいずれか一項に記載の無線通信ノード。
前記あらかじめ定められたサイクルは、同一の無線通信ノードにおいて、発生イベントの違いを示すシーケンス番号が異なる通信データが発生する間の期間であることを特徴とする請求項1乃至6のいずれか一項に記載の無線通信ノード。
前記無線通信システムは車両に搭載され、前記通信データは前記車両に備えられる電子機器から出力されるデータであることを特徴とする請求項9に記載の無線通信システム。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、中継ノードに適切なアグリゲート数が設定されていないと、通信データが許容遅延時間内に宛先の無線通信ノードに届かなかったり、トラヒックの増加が発生する場合がある。
【0008】
例えば、特許文献1の構成によれば、複数の宛先への通信が発生した場合には、データの発生頻度によっては、中継ノードでアグリゲートされた通信データの中継送信の順番が前後するなどして中継送信が遅れる場合があるという課題がある。また、特許文献2の構成によれば、データ発生数が変化する場合に、中継待ち時間が適切に設定されない場合があるという課題がある。例えば、
図7に示すノード1〜ノード7を有する無線通信システムについて説明する。この場合に、
図8に示すようにアグリゲートされるべき通信データの発生数が「2→3→1→4→1→4」と変化した場合に、中継待ち時間が「0→0→0→3→2→2」と変化し、中継待ち時間が長くなる場合がある。さらに、特許文献3の構成によれば、通信数の変化の周期が長い場合には、乱数表を用いているために、安定的に動作できない場合があるという課題がある。
そこで、本発明はこのような課題を解決する手段を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の第1の態様に係る無線通信ノードは、他の無線通信ノードが送信した自ノード宛てではない通信データをオーバーヒアする無線通信ノードであって、前記他の無線通信ノードからオーバーヒアした自ノード宛てではない通信データの通信の成否を判定する通信成否判定部と、前記通信成否判定部によって通信が失敗したと判定された、前記他の無線通信ノードからオーバーヒアした自ノード宛てではない複数の通信データの宛先の無線通信ノードが同一である場合に、前記通信データをアグリゲートする通信データ合成部と、あらかじめ定められたサイクルの間にアグリゲートされた前記通信データの個数をアグリゲート数として演算するアグリゲート数演算部と、前記アグリゲート数がアグリゲート基準数になった場合に、アグリゲートされた通信データを1つのパケットとして中継送信を開始する通信タイミング管理部であって、前記あらかじめ定められたサイクルの間の前記通信が失敗したと判定された、前記他の無線通信ノードからオーバーヒアした自ノード宛てではない通信データの数を、次のサイクルにおける中継送信を開始する前記アグリゲート基準数として設定する通信タイミング管理部を備えることを特徴とする。
【0010】
本発明の第2の態様に係る無線通信ノードは、第1の態様の無線通信ノードに関し、前記通信データ合成部は、前記あらかじめ定められたサイクルの間に、自ノードで発生した通信データの宛先の無線通信ノードと、前記他の無線通信ノードからオーバーヒアした自ノード宛てではない通信データであって通信が失敗した通信データの宛先の無線通信ノードとが同一の場合には、自ノードで発生した通信データと、前記宛先の無線通信ノードが同一の通信データとをアグリゲートし、前記通信タイミング管理部はアグリゲートされた通信データを1つのパケットとして送信することを特徴とする。
【0011】
本発明の第3の態様に係る無線通信ノードは、第1または第2の態様の無線通信ノードに関し、前記あらかじめ定められたサイクルの間に、自ノードで発生した通信データの宛先の無線通信ノードと、前記他の無線通信ノードからオーバーヒアした自ノード宛てではない通信データであって通信が失敗した通信データの宛先の無線通信ノードとが同一の場合には、前記通信タイミング管理部は、自ノードで発生した通信データの数と前記宛先の無線通信ノードが同一の通信データの数を加算し、加算された通信データの数を次のサイクルにおける中継送信を開始する前記アグリゲート基準数として設定することを特徴とする。
【0012】
本発明の第4の態様に係る無線通信ノードは、第1乃至第3の態様のいずれかの無線通信ノードに関し、前記通信タイミング管理部は、前記通信データの宛先の無線通信ノードごとに、次のサイクルにおける前記アグリゲート基準数を設定することを特徴とする。
【0013】
本発明の第5の態様に係る無線通信ノードは、第1乃至第4の態様のいずれかの無線通信ノードに関し、前記アグリゲート数演算部が前記アグリゲート基準数として演算する通信データは、前記あらかじめ定められたサイクルの間に再送または中継送信された通信データ、および、送信ノードと宛先ノードが同一で発生イベントの違いを示すシーケンス番号が異なる通信データを除くことを特徴とする。
【0014】
本発明の第6の態様に係る無線通信ノードは、第4の態様の無線通信ノードに関し、前記通信タイミング管理部は、前記通信データの宛先の無線通信ノード毎にアグリゲート待ち時間を設定し、アグリゲート待ち時間になった場合に中継送信を開始し、前記アグリゲート待ち時間は前記アグリゲート基準数に1通信フレーム長を乗算した時間であることを特徴とする。
【0015】
本発明の第7の態様に係る無線通信ノードは、第1乃至第6の態様のいずれかの無線通信ノードに関し、前記あらかじめ定められたサイクルは、前記無線通信ノードの通信フレームの整数倍の期間、または、あらかじめ定められた固定の期間であることを特徴とする。
【0016】
本発明の第8の態様に係る無線通信ノードは、第1乃至第6の態様のいずれかの無線通信ノードに関し、前記あらかじめ定められたサイクルは、同一の無線通信ノードにおいて、発生イベントの違いを示すシーケンス番号が異なる通信データが発生する間の期間であることを特徴とする。
【0017】
本発明の第9の態様に係る無線通信システムは、第1乃至第8の態様のいずれかに記載の少なくとも一つの無線通信ノードと、前記無線通信ノードでオーバーヒアされる通信データを送信する少なくとも一つの他の無線通信ノードと、第1乃至第8の態様のいずれかに記載の少なくとも一つの前記無線通信ノードからアグリゲートされた通信データを受信する少なくとも1つの別の無線通信ノードと、を備えることを特徴とする。
【0018】
本発明の第10の態様に係る無線通信システムは、第9の態様の無線通信システムに関し、前記無線通信システムは車両に搭載され、前記通信データは前記車両に備えられる電子機器から出力されるデータであることを特徴とする。
【発明の効果】
【0019】
本発明によれば、通信データの発生数が変化する場合にも、アグリゲートされた通信データを中継送信するための中継送信待ち時間が適切な範囲に収まることが可能になる。また、本発明によれば、通信データの発生数に対応してアグリゲートされるべき通信データの数が設定されるので、乱数値を用いた場合に比べて安定的に中継送信機能が動作することが可能となる。
【発明を実施するための形態】
【0021】
(無線通信システムの概要)
本実施形態の無線通信システムは複数の無線通信ノードを含み、各無線通信ノードは送信ノード、中継ノード、受信ノードとして機能することができる。すなわち、各無線通信ノードは、受信した通信データが自ノード宛ての場合には受信ノードとして機能し、自ノード宛てではない通信データであって通信が失敗した通信データを有する場合には中継ノードとして機能する。
【0022】
中継ノードとして機能する場合には、自ノード宛てではない宛先が同一の通信データであって、通信が失敗した当該通信データをアグリゲートするように機能する。なお、オーバーヒアした当該通信データと宛先が同一の通信データが自ノードで発生し、自ノードが送信順番の場合にも、自ノードで発生した通信データはアグリゲートされる。また、アグリゲートされた通信データは、中継送信条件が満たされた場合、または、自ノードが送信順番になった場合に中継通信される。中継送信条件は、アグリゲート基準数またはアグリゲート待ち時間によって規定される。アグリゲート基準数はあらかじめ定められた期間におけるアグリゲート数であり、各無線通信ノードが決定する。詳細については後述する。また、アグリゲート待ち時間は無線通信システムが任意の時間に設定することができるが、各無線通信ノードが決定することも可能である。
【0023】
さらに、各無線通信ノードは、自ノードで発生した送信するべき通信データを有している場合には送信ノードとして機能する。さらに、上述したように、無線通信ノードが自ノード宛てではない通信データであって通信が失敗した通信データをさらに有する場合には、自ノードで発生した通信データと宛先ノードが同じ通信データをアグリゲートして送信する機能も有する。詳細については後述する。なお、各無線通信ノードには送信順番情報が記憶されており、自ノードの送信順番を判定することができる。
【0024】
以上の説明による本実施形態に係わる無線通信システムは車両等の移動体に搭載されることができる。この場合には、送信ノードが送信する通信データは、移動体の状況を検知するセンサーの情報、移動体を制御する情報、移動体に搭載された電子機器の情報等の情報である場合がある。以下の説明では、送信ノードが送信する通信データを車両の各シートに乗員が着座しているか否かを通知するシートセンサのデータとして説明する。
【0025】
なお、本実施形態に係わる無線通信システムには、各無線通信ノードの送受信タイミングを制御するコントローラは存在する場合と存在しない場合がある。例えば、コントローラが存在しない場合には、無線通信システムはCSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)等のプロトコルを採用する。
【0026】
(無線通信システムの動作例)
図1〜
図4を参照して無線通信システム1000の動作例について説明する。
【0027】
図1は、車両および当該車両に乗車する乗員の各座席における、通信データ数の変化の周期が長いシートセンサの位置を示す。シートセンサは座席に乗員が座っていれば通信データが発生し、座席に乗員が座っていなければ通信データが発生しない。シートセンサ300aは運転席に配置され、シートセンサ300bは助手席に配置され、シートセンサ300cは運転席の後部座席に配置される。また、シートセンサ300dは助手席の後部座席に配置され、シートセンサ300eは運転席と助手席の間の後部座席に配置される。なお、シートセンサ300a、シートセンサ300b、シートセンサ300c、シートセンサ300dおよびシートセンサ300eを総称してシートセンサ300と記載する場合がある。
図1に示されるシンク100は各シートセンサ300からの通信データを収集する電子機器であって、一例として、ECU(Electronic Control Unit)がシンク100に挙げられるが、シンク100はこれに限定されるわけではない。
【0028】
図2に示すように、無線通信システム1000の無線通信ノード200a〜200dには各シートセンサ300a〜300e(
図2では図示せず)がそれぞれに接続されており、送信ノードおよび中継ノードとして機能する。すなわち、シートセンサ300aには無線通信ノード200aが接続され、シートセンサ300bには無線通信ノード200bが接続され、シートセンサ300cには無線通信ノード200cが接続される。そして、シートセンサ300dには無線通信ノード200dが接続され、シートセンサ300eには無線通信ノード200eが接続される。なお、無線通信ノード200a、無線通信ノード200b、無線通信ノード200c、無線通信ノード200dおよび無線通信ノード200eを総称して無線通信ノード200と記載する場合がある。無線通信システム1000は無線通信ノード200とシンク100を含む構成である。
【0029】
無線通信ノード200の送信順番はあらかじめ送信順番情報によって定められており、各無線通信ノード200が当該送信順番情報を記憶している。送信順番は、無線通信ノード200c(運転席の後部座席)→無線通信ノード200d(助手席の後部座席)→無線通信ノード200b(助手席)→無線通信ノード200a(運転席)→無線通信ノード200e(運転席と助手席の間の後部座席)の順番である。
【0030】
以下の説明では、
図2に示すように、シートセンサ300a、シートセンサ300b、シートセンサ300cおよびシートセンサ300dの位置に乗員が乗車している場合について説明をする。また、無線通信ノード200aとシンク100との通信は成功するが、無線通信ノード200b〜200eとシンク100との通信は失敗するものとして説明する。
【0031】
さらに、以下の説明において、アグリゲート基準数の初期値は2であり、アグリゲート基準数を更新する時間間隔であるアグリゲート数変更時間は5であるとする。アグリゲート数変更時間5とは1つの無線通信ノード200の通信フレームの5倍の時間をここでは意味するが、アグリゲート数変更時間はこの時間に限定されるわけではない。無線通信システムは、任意の時間をアグリゲート数変更時間に設定することが可能である。
【0032】
図2および
図3に基づいて、無線通信システム1000の動作の一例を説明する。
【0033】
時間t1において、運転席の後部座席の無線通信ノード200cがシンク100に対して、運転席の後部座席に乗員がいることを示す通信データを送信する。シンク100は無線通信ノード200cが送信した通信データを受信することができないので、当該通信データをオーバーヒアしていた運転席の無線通信ノード200aが当該通信データを通信データ記憶部206(
図5参照)に記憶する。アグリゲート基準数の初期設定数は2であるので、ノード200aは中継通信を実行しない。
【0034】
時間t2において、助手席の後部座席の無線通信ノード200dがシンク100に対して、助手席の後部座席に乗員がいることを示す通信データを送信する。シンク100は無線通信ノード200dが送信した通信データも受信することができないので、当該通信データをオーバーヒアしていた運転席の無線通信ノード200aが当該通信データを通信データ記憶部206に記憶する。運転席の無線通信ノード200aは、通信データ記憶部206に記憶された通信データの宛先の無線通信ノードを確認し、同じ無線通信ノードを宛先とする通信データをアグリゲートする。アグリゲート基準数の初期設定数は2であるので、無線通信ノード200aはシンク100に向けて中継通信を実行する。シンク100は無線通信ノード200aからのアグリゲートされた通信データの受信に成功する。したがって、無線通信ノード200aは通信データ記憶部206をクリアする。
【0035】
時間t3において、助手席の無線通信ノード200bがシンク100に対して、助手席に乗員がいることを示す通信データを送信する。シンク100は無線通信ノード200bが送信した通信データを受信することができないので、当該通信データをオーバーヒアしていた運転席の無線通信ノード200aが当該通信データを通信データ記憶部206に記憶する。時間t2において通信データ記憶部206はクリアされているので、時間t3では無線通信ノード200bからシンク100に向けて送信された通信データだけが記憶される。アグリゲート基準数の初期設定数は2であるので、無線通信ノード200bは中継通信を実行しない。
【0036】
時間t4において、運転席の無線通信ノード200aがシンク100に対して、運転席に乗員がいることを示す通信データを送信しようとする。この場合に、運転席の無線通信ノード200aはシンク100に対して運転席に乗員がいることを示す通信データをシンク100に送信する前に、通信データ記憶部206に運転席に乗員がいることを示す当該通信データを記憶する。通信データ記憶部206には、時間t3において通信が失敗したシンク100を宛先とする通信データが記憶されているので、シンク100を宛先とする2つの通信データはアグリゲートされ、1つの通信データとしてシンク100に送信される。すなわち、中継通信するタイミングは、アグリゲート基準数が満たされた場合と自ノードの送信タイミングとなる。
【0037】
時間t5において、運転席と助手席の間の後部座席の無線通信ノード200eの送信順番であるが、運転席と助手席の間の後部座席には乗員がいなので無線通信ノード200eはシンク100に対して通信データの送信動作を行わない。したがって、時間t5の終了時点における無線通信ノード200aにおける所定の通信データの発生数は4であったために、次回のサイクルの無線通信ノード200aのアグリゲート基準数は4に変更される。このように、アグリゲート数変更時間のあいだに発生する所定の通信データの個数に対して次回のサイクルのアグリゲート数変更時間のあいだのアグリゲート基準数が設定される。
【0038】
以上の時間t1から時間t5における、無線通信ノード200の動作を表にまとめたものが
図3である。
図3に示されるように、アグリゲート数変更時間である時間t1〜時間t5のあいだに発生した所定の通信データの個数である積算通信データ数が4であるので、次サイクルのアグリゲート基準数は4に設定される。
【0039】
なお、オーバーヒアする無線通信ノードは、無線通信ノード200aだけではなく、無線通信ノード200b〜200eも、他の無線通信ノードが送信した通信データをオーバーヒアすることが可能である。しかし、本実施形態では、無線通信ノード200b〜200eとシンク100との無線通信は失敗するので、無線通信ノード200b〜200eからの中継通信は失敗する。また、中継通信が競合した場合には、前述したCSMA/CA等のプロトコルによって通信順番の調停が実行される。
【0040】
次に、運転席の後部座席および助手席の後部座席に着座していた乗員が車両から降車した後の時間t6〜t10の動作について
図2および
図4を参照して説明する。
【0041】
時間t6は、運転席の後部座席の無線通信ノード200cの送信順番であるが、運転席の後部座席には乗員がいなので無線通信ノード200cはシンク100に対して通信データの送信動作を行わない。したがって、オーバーヒアされるべき通信データは発生しない。
【0042】
時間t7は、助手席の後部座席の無線通信ノード200dの送信順番であるが、助手席の後部座席にも乗員がいなので無線通信ノード200dもシンク100に対して通信データの送信動作を行わない。したがって、オーバーヒアされるべき通信データは発生しない。
【0043】
時間t8において、助手席の無線通信ノード200bがシンク100に対して、助手席に乗員がいることを示す通信データを送信する。シンク100は無線通信ノード200bが送信した通信データを受信することができないので、当該通信データをオーバーヒアしていた運転席の無線通信ノード200aが当該通信データを通信データ記憶部206に記憶する。時間t3では無線通信ノード200bからシンク100に向けて送信された通信データだけが記憶される。アグリゲート基準数の設定値は前のサイクルの2から4に変更されているので、無線通信ノード200bは中継通信を実行しない。
【0044】
時間t9において、運転席の無線通信ノード200aがシンク100に対して、運転席に乗員がいることを示す通信データを送信しようとする。この場合に、運転席の無線通信ノード200aはシンク100に対して運転席に乗員がいることを示す通信データをシンク100に送信する前に、通信データ記憶部206に運転席に乗員がいることを示す当該通信データを記憶する。通信データ記憶部206には、時間t3において通信が失敗したシンク100を宛先とする通信データが記憶されているので、シンク100を宛先とする2つの通信データはアグリゲートされ、1つの通信データとしてシンク100に送信される。すなわち、中継通信するタイミングは、アグリゲート基準数が満たされた場合と自ノードの送信タイミングとなる。
【0045】
時間t10において、運転席と助手席の間の後部座席の無線通信ノード200eの送信順番であるが、運転席と助手席の間の後部座席には乗員がいなので無線通信ノード200eはシンク100に対して通信データの送信動作を行わない。アグリゲート数変更時間の時間t6〜t10において、無線通信ノード200aにおいて発生した所定の通信データ数は2であったために、次回のサイクルの無線通信ノード200aのアグリゲート基準数は2に変更される。このように、アグリゲート数変更時間のあいだに発生する所定の通信データの個数に対して次回のサイクルのアグリゲート基準数が設定される。
【0046】
以上の時間t6から時間t10における、無線通信ノード200の動作を表にまとめたものが
図4である。
図4に示されるように、アグリゲート数変更時間である時間t6〜時間t10のあいだに発生した所定の通信データの個数である積算通信データ数が2であるので。無線通信ノード200aの次サイクルの設定アグリゲート基準数は2に設定される。
【0047】
(無線通信ノードの構成例)
上述の機能を実現するための無線通信ノード200(以下単にノードと称する場合がある)の主な機能について
図5のブロック図を参照して説明する。
【0048】
無線通信ノード200は、アンテナANT、無線受信部202、無線送信部203、宛先判定部204、通信成否判定部205、通信データ記憶部206、通信データ合成部207、通信タイミング管理部208、アグリゲート数演算部209を含む。さらに、無線通信ノード200はI/F(InterFace)部210、211を含んで構成される。なお、無線通信ノード200は送受信切り替え部201を含んで構成される場合もある。
【0049】
無線受信部202は、他のノードから送信された通信データを受信する機能を有する。当該通信データは自ノード宛ての通信データである場合と、自ノード宛ての通信データではない場合がある。自ノード宛てではない通信データを受信することをオーバーヒア(傍受)すると称する。
【0050】
無線送信部203は、自ノードから通信データを送信する機能を有する。当該通信データは自ノードで発生したデータである場合と、オーバーヒアした自ノード宛てではない、通信が失敗した通信データであって、中継通信する通信データである場合がある。なお、中継通信する通信データに自ノードで発生した通信データが含まれる場合がある。本実施形態では、通信データはシートセンサ300で乗員を検知したデータである場合を例示する。
【0051】
宛先判定部204は、無線受信部202で受信した通信データの宛先情報を参照して、自ノード宛ての通信データと他のノード宛ての通信データとを区別する機能を有する。一例として宛先情報はノードの識別情報であって、ヘッダに含まれる情報として参照可能な情報である。
【0052】
通信成否判定部205は、他のノード宛ての通信データをオーバーヒアした場合に、当該他のノード宛ての通信データの通信が成功したか否かを判定する機能を有する。例えば、他のノード宛ての通信データに対する肯定応答(ACK(ACKnowledgement))をオーバーヒアできた場合には、通信成否判定部205は当該通信データの通信が成功したと判定することができる。また、例えば、他のノード宛ての通信データに対する否定応答(NACK(Negative ACKnowledgement))をオーバーヒアできた場合には、通信成否判定部205は当該通信データの通信が失敗したと判定することができる。また、肯定応答(ACK)および否定応答(NACK)をオーバーヒアできない場合にも、通信成否判定部205は当該通信データの通信が失敗したと判定することができる。通信が失敗したと判定された他のノード宛ての通信データは通信データ記憶部206に記憶される。
【0053】
通信データ記憶部206は、オーバーヒアした他のノード宛ての通信データであって通信が失敗した通信データを一時的に記憶する機能を有する。また、通信データ記憶部206は、I/F部211を介して自ノードで発生したデータを通信データとして記憶する機能も有する。
【0054】
通信データ合成部207は、通信データ記憶部206に通信データが複数存在する場合に、宛先が同じ複数の通信データを合成(アグリゲート)して1つのパケットに一体化する機能を有する。すなわち、合成により、送信される総パケット数を低減することが可能になる。通信データ記憶部206に記憶される通信データには、無線通信のオーバーヒアにより自ノード宛てではない通信が失敗した通信データ、および、自ノードで発生した通信データが含まれる。
【0055】
通信タイミング管理部208は、通信データ記憶部206に記憶された通信データを自ノードが通信する通信タイミングを決定する機能を有する。自ノードが通信する通信タイミングには、アグリゲート数が設定された値(アグリゲート基準数)になった場合、アグリゲート待ち時間が経過した場合、および、送信順番情報によって自ノードの通信タイミングになった場合がある。なお、送信順番情報は各ノードに記憶されている情報であり、ノードの識別情報が送信順番に対応して記憶されている情報である。
【0056】
アグリゲート数演算部209は、アグリゲート数変更時間の間に発生した所定の通信データの個数を演算し、当該所定の通信データの個数を次のサイクルのアグリゲート数変更時間におけるアグリゲート基準数として設定する。所定の通信データとは、宛先ノードが同一である、オーバーヒアにより他のノードから取得した自ノード宛てではない通信が失敗した通信データの個数、および、自ノードで発生した通信データの個数の加算値である。したがって、アグリゲート基準数は、通信データの宛先のノード毎に設定される。そのために、通信データの宛先のノード毎にアグリゲート基準数が異なる場合がある。
【0057】
I/F部210は、受信された自ノード宛ての通信データを自ノードに接続された車載電子機器(ECU(Electronic Control Unit)等)などの電子機器に対して出力する機能を有する。なお、電子機器は車両に搭載された電子機器に限定されるわけではない。
【0058】
I/F部211は、自ノードに接続された車載機器(例えばスイッチやセンサー)などの電子機器から出力されるデータ情報を入力し、通信データを生成し、通信データ記憶部206および通信タイミング管理部208に出力する機能を有する。一例として、センサーはシートセンサ300である場合がある。しかし、上述したように、電子機器は車両に搭載された電子機器に限定されるわけではない。
【0059】
オプションとしての送受信切り替え部201は、アンテナANTと無線受信部202との接続、および、アンテナANTと無線送信部203との接続を切り替える機能を有する。すなわち、送受信切り替え部201は通信データを受信する場合にはアンテナANTと無線受信部202とを接続し、通信データを送信する場合にはアンテナANTと無線送信部203とを接続する機能を有する。
【0060】
しかし、オプションとしての送受信切り替え部201を備えないノードの場合には、無線受信部202にアンテナANT1(図示せず)を固定的に接続し、無線送信部203にアンテナANT2(図示せず)を固定的に接続する構成とすることもできる。また、アンテナANT、ANT1、ANT2はノードの内部または外部に配置することが可能である。
【0061】
(無線通信ノードの動作例のフローチャート)
以上の構成を有する無線通信ノード200が中継ノードとして機能する場合の動作例のフローチャートについて
図6を用いて説明する。
【0062】
ステップS501において、アグリゲート数演算部209は、アグリゲート数変更時間が経過したか否かを判断する。アグリゲート数変更時間が経過した場合(ステップS501:YES)には、無線通信ノード200は、ステップS502に進む。アグリゲート数変更時間が経過していない場合(ステップS501:NO)には、無線通信ノード200は、ステップS504に進む。なお、無線通信システムはアグリゲート数変更時間を1通信フレーム長の整数倍とすることができるが、任意の値に設定することが可能である。
【0063】
ステップS502において、アグリゲート数演算部209は、アグリゲート数演算部209に記憶されている所定の通信データの発生数をアグリゲート基準数として更新して記憶する。更新されたアグリゲート基準数は次のアグリゲート数変更時間の間において中継送信を開始する条件になる。なお、当該所定の通信データの発生数はオーバーヒアされて、通信が失敗した通信データの宛先のノード毎に分類されて記憶されている。したがって、アグリゲート基準数はオーバーヒアされて、通信が失敗した通信データの宛先のノード毎に分類されて更新される。次に、無線通信ノード200は、ステップS503に進む。
【0064】
ステップS503において、アグリゲート数演算部209は、オーバーヒアされて、通信が失敗した通信データの宛先のノード毎に分類された、所定の通信データの発生数を記憶する通信データ発生数バッファ(図示せず)の値を「0」にクリアする。通信データ発生数バッファはアグリゲート数演算部209に確保されるバッファである。
【0065】
ステップS504において、無線受信部202、宛先判定部204および通信成否判定部205は、オーバーヒアした通信データであって、無線通信に失敗した通信データを受信したか否かを判断する。オーバーヒアした通信データであって、無線通信に失敗した通信データを受信した場合(ステップS504:YES)には、無線通信ノード200は、ステップS505に進む。オーバーヒアした通信データであって、無線通信に失敗した通信データを受信していない場合(ステップS504:NO)には、無線通信ノード200は、ステップS510に進む。
【0066】
ステップS505において、アグリゲート数演算部209は、受信された通信データの種別を判定する。受信された通信データが、同一のアグリゲート数変更時間内に既に受信されたか、あるいは、送信ノードおよび宛先ノードが同じでシーケンスが異なる場合(ステップS505:YES)には、無線通信ノード200は、ステップS507に進む。受信された通信データが、同一のアグリゲート数変更時間内に既に受信されていない、あるいは、送信ノードおよび宛先ノードが同じでシーケンスが同じ場合(ステップS505:NO)には、無線通信ノード200は、ステップS506に進む。なお、シーケンスは発生イベントごとに設定され、シーケンス番号が異なれば発生イベントが異なることを意味する。
【0067】
ステップS506において、アグリゲート数演算部209は、受信された通信データの宛先ノード毎に分類された通信データ発生数バッファをインクリメントする。したがって、アグリゲート数演算部209は、宛先ノードが異なる通信データ発生数バッファに対してはインクリメントを実行しない。次に、無線通信ノード200は、ステップS507に進む。
【0068】
ステップS507において、通信データ合成部207は、通信データ記憶部206に記憶された通信データに宛先ノードが同一の通信データがあるか否かを判定する。通信データ記憶部206に記憶された通信データに宛先ノードが同一の通信データがある場合(ステップS507:YES)には、無線通信ノード200は、ステップS508に進む。通信データ記憶部206に記憶された通信データに宛先ノードが同一の通信データがない場合(ステップS507:NO)には、無線通信ノード200は、ステップS509に進む。
【0069】
ステップS508において、通信データ合成部207は、通信データ記憶部206に記憶された、宛先ノードが同一の複数の通信データを1つの通信データとして合成(アグリゲート)する。次に、無線通信ノード200は、ステップS509に進む。
【0070】
ステップS509において、アグリゲート数演算部209は、ステップS508においてアグリゲートされた通信データの個数が、ステップS502において設定されたアグリゲート基準数になったか否かを判定する。ステップS508においてアグリゲートされた通信データの個数が、ステップS502において設定されたアグリゲート基準数になった場合(ステップS509:YES)には、無線通信ノード200は、ステップS511に進む。ステップS508においてアグリゲートされた通信データの個数が、ステップS502において設定されたアグリゲート基準数になっていない場合(ステップS509:NO)には、無線通信ノード200は、ステップS510に進む。
【0071】
ステップS510において、通信タイミング管理部208は、アグリゲート待ち時間が経過したか否かを判定する。アグリゲート待ち時間が経過した場合(ステップS510:YES)には、無線通信ノード200は、ステップS511に進む。アグリゲート待ち時間が経過していない場合(ステップS510:NO)には、無線通信ノード200は処理を終了する。
【0072】
ステップS511において、通信タイミング管理部208は、通信データ記憶部206にアグリゲートされた通信データが記憶されている場合には、無線送信部203を介して当該アグリゲートされた通信データを中継送信する。さらに、通信データ記憶部206に記憶された通信データであって、アグリゲートされていない通信データも中継送信することが可能である。そして、無線通信ノード200は処理を終了する。
【0073】
図6のフローチャートの説明においては、中継送信を開始する条件として、アグリゲート基準数またはアグリゲート待ち時間が満足された場合について説明したが、前述したように、自ノードが送信順番になった場合にも中継送信を開始する場合がある。例えば、
図3において説明したように、自ノードが送信順番になった場合に、自ノードの通信データとアグリゲートされるべき通信データがある場合には、アグリゲート処理を実行し、中継送信を実行する。
【0074】
(変形例1)
以上の実施形態の説明では、アグリゲート基準数をあらかじめ定められたアグリゲート数変更時間内に発生した所定の通信データの数に基づいて設定していたが、あらかじめ定められたアグリゲート数変更時間は固定の時間である必要はない。例えば、同一の無線通信ノードの送信であっても、シーケンス番号が異なる通信データが発生するまでに発生した所定の通信データの数に基づいてアグリゲート基準数が設定されてもよい。所定の通信データとは、オーバーヒアした通信データであって、無線通信に失敗した通信データの個数である場合がある。また、所定の通信データとは、オーバーヒアした通信データであって、無線通信に失敗した通信データの個数と、当該通信データと宛先が同一の自ノードで発生した通信データの個数とを加算演算した総数である場合がある。
【0075】
このように、例えばシーケンス番号Nとシーケンス番号N+1の間の所定の通信データをカウントすることによって、通信フレーム長の変動や無線通信ノードの動作タイミングの変動等の要因によるアグリゲート基準数の変動を抑制することが可能になる。なおNは自然数である。
【0076】
(変形例2)
以上の実施形態の説明では、通信データとしてシートセンサのデータについて説明したが、アプリケーションについてはこれに限定されるわけではない。例えば、移動体の状況を検知する他のセンサーの情報、移動体を制御する情報、移動体に搭載された電子機器の情報等の情報である場合がある。他のセンサーには、ドアの開閉検知センサー、シートベルトのセンサー、エンジンの回転センサー、車両の速度センサー、ブレーキやアクセルのセンサー等の各種のセンサーが一例として挙げられる。電子機器には、ナビゲーション機器、ラジオやテレビ等のエンタテイメント機器が一例として挙げられる。
【0077】
(変形例3)
各種パラメータは、無線通信システムの構成や規模等から変更可能である。例えば、無線通信ノードの数、アグリゲート数変更時間、アグリゲート待ち時間、初期のアグリゲート基準数などの各種パラメータは、無線通信システムおよび/または無線通信ノードにおいて任意の値に設定されることが可能である。
また、各種時間間隔は、無線通信ノードおよび/または通信データごとに設定されてもよい。
【0078】
以下に、本実施形態の無線通信ノード200および無線通信システム1000の特徴について記載する。
【0079】
本発明の第1の態様に係る無線通信ノード200は、他の無線通信ノードが送信した自ノード宛てではない通信データをオーバーヒアする無線通信ノード200である。無線通信ノード200は他の無線通信ノードからオーバーヒアした自ノード宛てではない通信データの通信の成否を判定する通信成否判定部205を含む。さらに、無線通信ノード200は通信成否判定部205によって通信が失敗したと判定された、オーバーヒアした複数の通信データの宛先の無線通信ノードが同一である場合に、通信データをアグリゲートする通信データ合成部207を含む。さらに、無線通信ノード200はあらかじめ定められたサイクルの間にアグリゲートされた通信データの個数をアグリゲート数として演算するアグリゲート数演算部209を含む。さらに、無線通信ノード200はアグリゲート数がアグリゲート基準数になった場合に、アグリゲートされた通信データを1つのパケットとして中継送信を開始する通信タイミング管理部208を含む。通信タイミング管理部208はあらかじめ定められたサイクルの間の通信が失敗したと判定された、他の無線通信ノードからオーバーヒアした自ノード宛てではない通信データの数を次のサイクルにおける中継送信を開始する前記アグリゲート基準数として設定する。
【0080】
上記構成によれば、通信データの発生数が変化する場合にも、アグリゲートされた通信データを中継送信するための中継送信待ち時間が適切な範囲に収まることが可能になる。また、上記構成によれば、通信データの発生数に対応してアグリゲートされるべき通信データの数が設定されるので、乱数値を用いた場合に比べて安定的に中継送信機能が動作することが可能となる。
【0081】
本発明の第2の態様に係る無線通信ノード200は、第1の態様の無線通信ノード200に関し、通信データ合成部207は、所定のサイクルの間に、自ノードで発生した通信データの宛先の無線通信ノードを抽出する。また、通信データ合成部207はオーバーヒアした通信データであって通信が失敗した通信データの宛先の無線通信ノードを抽出する。さらに、通信データ合成部207は抽出した無線通信ノードが同一の場合には、自ノードで発生した通信データと、宛先の無線通信ノードが同一の通信データとをアグリゲートする。通信タイミング管理部208はアグリゲートされた通信データを1つのパケットとして送信する。
【0082】
上記構成によれば、無線通信ノードは自ノードが通信ノードになった場合には、宛先の無線通信ノードが同一の場合には、自ノードで発生した通信データと、オーバーヒアした通信データとをアグリゲートし、1つのパケットとして送信できる。したがって、無線通信ノードは宛先が同一の通信データのトラフィックを適切に抑制することが可能になる。
【0083】
本発明の第3の態様に係る無線通信ノード200は、第1または第2の態様の無線通信ノード200に関し、あらかじめ定められたサイクルの間に、自ノードで発生した通信データの宛先の無線通信ノードを抽出する。また、無線通信ノード200は他の無線通信ノードからオーバーヒアした自ノード宛てではない通信データであって通信が失敗した通信データの宛先の無線通信ノードを抽出する。抽出した通信データの宛先が同一の場合には、通信タイミング管理部208は、自ノードで発生した通信データの数と宛先の無線通信ノードが同一の通信データの数を加算し、加算された通信データの数を次のサイクルにおけるアグリゲート基準数として設定する。
【0084】
上記構成によれば、アグリゲート基準数には、自ノードで発生した通信データが適切に含まれることになるので、あらかじめ定められたサイクルの間に発生する通信データを適切に反映したアグリゲート基準数が設定可能となる。
【0085】
本発明の第4の態様に係る無線通信ノード200は、第1乃至第3の態様のいずれかの無線通信ノード200に関し、通信タイミング管理部208は、通信データの宛先の無線通信ノードごとに、次のサイクルにおける前記アグリゲート基準数を設定する。
【0086】
上記構成によれば、宛先の無線通信ノードが複数存在すれば、宛先の異なる無線通信ノード毎に通信データの発生頻度が異なる場合もあることが予想されるので、アグリゲート基準数を宛先の異なる無線通信ノード毎に適切に設定することが可能となる。
【0087】
本発明の第5の態様に係る無線通信ノード200は、第1乃至第4の態様のいずれかの無線通信ノード200に関し、アグリゲート数演算部209がアグリゲート基準数に演算する通信データは、所定のサイクルの間に再送または中継送信された通信データを除く。さらに、アグリゲート数演算部209がアグリゲート基準数として演算する通信データは、送信ノードと宛先ノードが同一で発生イベントの違いを示すシーケンス番号が異なる通信データを除く。
【0088】
上記構成によれば、アグリゲート基準数として演算する通信データは、再送、中継送信および発生イベント等が異なる通信データを除くことができるので、アグリゲート基準数を適切に設定することが可能になる。
【0089】
本発明の第6の態様に係る無線通信ノード200は、第4の態様の無線通信ノード20に関し、通信タイミング管理部208は、通信データの宛先の無線通信ノード毎にアグリゲート待ち時間を設定し、アグリゲート待ち時間になった場合に中継送信を開始する。アグリゲート待ち時間はアグリゲート基準数に1通信フレーム長を乗算した時間である。
【0090】
上記構成によれば、アグリゲート数がアグリゲート基準数に達しない状況が続くことが予想される場合にも、適切にアグリゲート待ち時間を設定することによって、中継送信の遅延を抑制し、適切に中継通信を行うことが可能になる。また、アグリゲート待ち時間は、オーバーヒアして通信が失敗した通信データの宛先の無線通信ノード毎に設定されるので、宛先の無線通信ノードに対する通信データの発生頻度に対応して、適切に設定されることが可能になる。
【0091】
本発明の第7の態様に係る無線通信ノード200は、第1乃至第6の態様のいずれかの無線通信ノード200に関し、あらかじめ定められたサイクルは、無線通信ノードの通信フレームの整数倍の期間、または、あらかじめ定められた固定の期間である。
【0092】
上記構成によれば、無線通信ノードの通信フレームの整数倍の期間に発生した所定の通信データの数をアグリゲート基準数に設定することで、各無線通信ノードで発生した所定の通信データの数を正確にカウントすることが可能になる。また、あらかじめ定められた固定の期間に発生した所定の通信データの数をアグリゲート基準数に設定することで、アグリゲート基準数の対象期間を任意に設定することが可能となる。
【0093】
本発明の第8の態様に係る無線通信ノード200は、第1乃至第6の態様のいずれかの無線通信ノード200に関し、所定のサイクルは、同一の無線通信ノードにおいて、発生イベントの違いを示すシーケンス番号が異なる通信データが発生する間の期間である。
【0094】
本発明の第9の態様に係る無線通信システム1000は、第1乃至第8の態様のいずれかに記載の少なくとも一つの無線通信ノード200を含む。また、無線通信ノードでオーバーヒアされる通信データを送信する少なくとも一つの他の無線通信ノード200を含む。さらに、第1乃至第8の態様のいずれかに記載の少なくとも一つの前記無線通信ノードからアグリゲートされた通信データを受信する少なくとも1つの別の無線通信ノード200を含む。
【0095】
上記構成によれば、通信データの発生数が変化する場合にも、アグリゲートされた通信データを中継送信するための中継送信待ち時間が適切な範囲に収まることが可能になる。また、上記構成によれば、通信データの発生数に対応してアグリゲートされるべき通信データの数が設定されるので、乱数値を用いた場合に比べて安定的に中継送信機能が動作することが可能となる。
【0096】
本発明の第10の態様に係る無線通信システム1000は、第9の態様の無線通信システム1000に関し、無線通信システム1000は車両に搭載され、通信データは車両に備えられる電子機器から出力されるデータである。
【0097】
上記構成によれば、車両においては、多数のセンサーやECU(Electronic Control Unit)等が配置され、多量のデータが発生し、ネットワークにけるトラフィックの増大が懸念される。しかし、上記構成による無線通信システムを使用することによって、ネットワークにおけるトラフィックの増大を抑制し、通信の遅延を抑制することが可能となる。
【0098】
実施形態につき、図面を参照しつつ詳細に説明したが、以上の実施形態に記載した内容により本発明が限定されるものではない。また、上記に記載した構成要素には、当業者が容易に想定できるもの、実質的に同一のものが含まれる。さらに、上記に記載した構成は適宜組み合わせることが可能である。また、本発明の要旨を逸脱しない範囲で構成の種々の省略、置換又は変更を行うことができる。