本発明は、複数の通信インタフェースを備え、マルチリンク伝送方式により通信を行う通信装置、及び、この通信装置に用いられるプログラムに関する。
近年、大容量データを取扱うアプリケーションソフトウェアの増大と共に、通信装置に対しては、高いデータ伝送能力が求められている。通信装置において大容量伝送を実現するには、複数の物理インタフェース(通信インタフェース)を同時に利用するマルチリンク伝送方式の採用が、有効な手法として知られている(特許文献1参照)。
また、マルチリンク伝送方式に対応したプロトコルとしては、マルチリンクプロトコルRFC1990が知られている。RFC1990は、パケットの送受信に際してパケットの到着順序の入れ替わりを防止することを目的として設計されたプロトコルである。
特開2000−216815号公報
ところで、マルチリンク伝送方式では、各リンク(各通信インタフェースが使用する伝送路)へパケットを振り分ける必要があるが、無線通信のように、リンクの品質が大きく変動する環境下では、パケットを各リンクへ均等に振り分けた場合、品質の悪いリンクでのパケット再送やパケットロスを招き、スループット及びパケット到着順序に悪影響を及ぼす。そのため、無線通信にマルチリンク伝送方式を採用する場合には、無線通信環境を考慮したデータの振り分けが、効率的な通信を実現するために重要となってくる。
データ振分方式に関して、特許文献1では、リンク毎の再送回数をもとに、実効的な伝送速度を算出し、最も高い伝送速度が期待できるリンクへ、パケットを振り分ける手法が採用されている(方式A)。
また、シングルリンク伝送方式に係る周知技術としては、無線LAN等で広く用いられているIEEE802.11において、自局からのデータ送信時に、他通信局がデータ送信しているか否かをキャリアセンスにより判別し、他通信局がデータ送信している場合には自局からのデータ送信を禁止する技術が知られている。このような思想をマルチリンク伝送方式に適用すると、キャリアセンスにより他通信局がデータ送信していると判断した場合には、他通信局によるデータ送信がなされていない他のリンクに、送信対象データを振り分け、データ送信を実現する方法が考えられる(方式B)。
しかしながら、マルチリンク伝送方式では、外部装置として、マルチリンク伝送可能なマルチリンク通信局及び単一の通信インタフェースを持つシングルリンク通信局の両者と通信を行うことができるため、マルチリンク通信局及びシングルリンク通信局が混在した無線通信環境では、各リンクに滞在する通信局の数が異なる場合がある。
例えば、リンクL1,L2を利用することのできるマルチリンク通信局が2台、リンクL1のみを利用することができるシングルリンク通信局が1台存在しており、各通信局が、他通信局を認識できる環境下にある場合、一のマルチリンク通信局から各リンクに滞在する通信局の数を見ると、リンクL1を利用する他通信局が2台、リンクL2を利用する他通信局が1台存在することになる。即ち、マルチリンク通信局は、リンクL1について、自局以外に2台の他通信局と共有することになり、リンクL2について、自局以外に1台の他通信局と共有することになる。
しかしながら、上記方式Aでは、再送回数をもとに各リンクへパケットを振り分けるため、方式Aにてデータを振り分けるマルチリンク通信局では、再送回数は少ないが滞在通信局数の多いリンクへパケットを振り分けてしまうことがある。即ち、方式Aでは、再送回数は少なくてもトラフィックの多いリンクへ優先的にパケットを振り分けてしまい、パケットの送信待ち時間、衝突が増加し、スループットの低下が生じる可能性がある。また、方式Aでは、再送回数に基づいて振分先のリンクを決定するので、一般的に再送処理が行われないマルチキャスト通信に対しては、方式Aを採用して、パケットの振り分けを行うことができないといった問題がある。
また、上記方式Bの技術では、他通信局によるデータ送信の有無により、パケットを振り分けるリンクを決定する程度であるため、リンクの品質やトラフィックに応じて、送信対象データを、適切なリンクに振り分けることができないといった問題があった。そのため、方式Bでは、非効率なパケットの振り分けが行われ、パケットの送信待ち時間、衝突が増加し、スループットの低下が生じる可能性があった。
本発明は、こうした問題に鑑みなされたものであり、複数の通信インタフェースを備え、マルチリンク伝送方式により通信を行う通信装置において、従来よりも効率的に、送信対象データを振り分けることが可能な技術を提供することを目的とする。
かかる目的を達成するためになされた本発明の通信装置は、互いに異なる伝送路で外部装置にデータを送信する通信インタフェースを複数個備えると共に、これら通信インタフェース毎に、通信インタフェースが使用する伝送路においてデータ伝送がなされていない非伝送時間を計測する計測手段を備え、各計測手段の計測結果に基づき、送信制御手段にて、送信対象データを、単位データ毎(例えば、パケット毎)に、複数の通信インタフェースのいずれかに振り分け、振分先の通信インタフェースに、該当するデータを外部装置に向けて送信させるものである。尚、通信インタフェースとしては、有線通信用の通信インタフェースの他、無線通信用の通信インタフェースを挙げることができる。
この通信装置によれば、各通信インタフェースが使用する伝送路(リンク)の非伝送時間に基づいて、データを振り分ける通信インタフェースを決定するので、非伝送時間の長い伝送路に対応する通信インタフェースに対し、優先的にデータを振り分けることができる。
非伝送時間が長い伝送路(リンク)では、割り当てられた送信対象のデータが少なく、データ伝送能力に余裕があるということであるから、非伝送時間の長い伝送路を使用する通信インタフェースに対して優先的にデータを振り分ければ、マルチリンク伝送方式により効率的にデータを外部装置に送信することができる。
例えば、品質が悪い伝送路では、データの再送が頻繁に起こり、伝送路のトラフィックが増大するが、本発明によれば、非伝送時間により、トラフィックの大小を評価することができるので、品質の良い伝送路に対して優先的にデータを振り分けることができる。また、各伝送路を利用する通信局数が異なる場合でも、非伝送時間により、トラフィックの大小を評価することができるので、空いている伝送路に対し、適切にデータを振り分けることができる。その他、本発明によれば、各伝送路の非伝送時間を計測するので、各伝送路の空き状態を従来よりも正しく評価することができ、方式Bよりも、効率的にデータを振り分けることができる。
特に、この送信制御手段は、各計測手段の計測結果に基づき、非伝送時間が最も長い伝送路に対応する通信インタフェースに、データを振り分ける構成にされるとよい。このように構成された通信装置によれば、最も空きのある伝送路にデータを振り分けることができ、効率的に送信対象データを外部装置に送信することができる。
また、上記の通信装置は、各計測手段の計測結果に基づき、各通信インタフェースに対応する伝送路の非伝送時間の比に応じて、データを振り分ける通信インタフェースを決定する構成にされてもよい。このように通信装置を構成しても、各伝送路の空き状態に応じて、適切にデータを振り分けることができる。
この他、計測手段は、通信インタフェースが使用する伝送路においてデータ伝送が終了してから、次のデータ伝送が開始されるまでの時間間隔を、非伝送時間として、データ伝送が終了する度、計測する構成にされてもよいが、次のように構成されてもよい。
即ち、計測手段は、予め設定された計測時間内において、通信インタフェースが使用する伝送路においてデータ伝送がなされていない時間の総和を、非伝送時間として計測する構成にされてもよい。このように構成された通信装置によれば、一定期間においてデータ伝送がなされていない時間の総和に基づいて、データを振り分ける通信インタフェースを決定するので、データ伝送が終了してから、次のデータ伝送が開始されるまでの時間間隔を毎回算出して、この間隔に基づきデータを振り分ける場合よりも、安定的に、適切なデータ振り分け動作を実現することができる。即ち、総和を計測すれば、瞬間的な伝送路の状態変化の影響を受けにくく、空いている伝送路に対し、適切にデータを振り分けることができる。
但し、計測時間が、各伝送路においてデータ伝送が終了してから、次のデータ伝送が開始されるまでの時間間隔よりも短いと、各伝送路に対して算出した非伝送時間が、伝送路の一群に対して一定値となり、どの伝送路がデータの振分先として好ましい伝送路であるかを判別することが難しくなる。従って、通信装置は、次のようにして計測時間を変更する構成にされるとよい。
即ち、通信装置には、通信インタフェース毎の当該通信インタフェースが使用する伝送路においてデータ伝送が終了してから次のデータ伝送が開始されるまでの時間に基づき、これらの時間のいずれよりも短くならないように、計測時間を設定する計測時間設定手段を設けるとよい。
このように構成された通信装置によれば、計測時間が各伝送路の伝送間隔のいずれよりも長い時間(又は同一時間)に設定されるので、どの伝送路がデータの振分先として好ましい伝送路であるかを適切に判断することができ、適切にデータを振り分けることができる。
また、当該通信装置が使用する伝送路群と同一の伝送路群を用いてマルチリンク伝送を行うマルチリンク通信局であって、上記伝送路群に属する各伝送路に、一定間隔で、順に単位データを振り分けて、各単位データを、伝送路群を構成する伝送路のいずれかに送出する外部装置が複数接続されている場合には、上記計測時間として、外部装置が送出するデータの送出間隔に、当該通信装置が備える通信インタフェースの個数(換言すると、当該通信装置が使用する伝送路の個数)を乗じた時間を設定するとよい。このように、計測時間を設定すれば、短い計測時間で、各伝送路の品質を適切に評価することができ、データを適切に振り分けることができる。
また、無線通信では、伝送路(リンク)を通じて受信した信号の強度が、一定の閾値(キャリアセンスレベル)を超えたか否かにより、キャリアセンスを行い、その結果を出力することが一般的であるため、この機能を利用して、各計測手段は、通信インタフェースが受信した信号の強度が閾値以下の時間を、非伝送時間として計測する構成にされるとよい。このように通信装置を構成すれば、簡易に、非伝送時間を計測することができる。
また、各通信インタフェースが使用する伝送路の全てがデータ伝送中であるときに、送信対象データの振り分けを行う場合には、次の手法を採用するとよい。
即ち、通信装置には、通信インタフェースが使用する伝送路においてデータ伝送がなされる度、データ伝送が開始されてからの経過時間を計測する経過時間計測手段と、通信インタフェースが使用する伝送路においてデータ伝送がなされる度、データ伝送が開始されてからデータ伝送が完了するまでの時間としての送信時間を計測する送信時間計測手段とを通信インタフェース毎に設け、送信制御手段は、全伝送路がデータ伝送中である場合、各経過時間計測手段の計測結果と、各送信時間計測手段の計測履歴とに基づき、データを振り分ける通信インタフェースを決定する構成にされるとよい。
このように通信装置を構成すれば、データ伝送が早く終了する通信インタフェースに対して優先的にデータを振り分けることができ、効率的に送信対象データを外部装置に送信することができる。
尚具体的に、送信制御手段は、全伝送路がデータ伝送中である場合、伝送路毎に、対応する送信時間計測手段の計測履歴から過去において頻度が最大の送信時間を導出し、この送信時間と、対応する経過時間計測手段の計測結果とから、該当する伝送路においてデータ伝送が完了するまでの残余時間を推定し、これらの推定結果に基づいて、残余時間が最小の伝送路を使用する通信インタフェースに、データを振り分ける構成にされるとよい。このように通信装置を構成すれば、効率的に送信対象データを外部装置に送信することができる。
その他、各通信インタフェースが使用する伝送路の全てが非データ伝送中であるときに、データの振り分けを行う場合には、次の手法を採用してもよい。
即ち、通信装置には、通信インタフェースが使用する伝送路においてデータ伝送が終了する度、データ伝送が終了してからの経過時間を計測する経過時間計測手段と、通信インタフェースが使用する伝送路においてデータ伝送が終了する度、データ伝送が終了してから次のデータ伝送が開始されるまでの時間としてのアイドル時間を計測するアイドル時間計測手段とを通信インタフェース毎に設けて、送信制御手段は、全伝送路が非データ伝送中である場合、各経過時間計測手段の計測結果と、各アイドル時間計測手段の計測履歴とに基づき、データを振り分ける通信インタフェースを決定する構成にされるとよい。
このように構成された通信装置によれば、他通信局によるデータ伝送が行われるまでの時間が長い伝送路に対応する通信インタフェースに、データを振り分けることができ、他通信局によるデータ送信動作にあまり影響を与えることなく、他通信局がデータ送信を行っていない期間に、自装置から外部装置に向けて、送信対象データを送信することができる。換言すると、他通信局とあまり衝突することなく、データ送信動作を実現することができ、衝突によるスループットの低下を抑制することができる。
尚具体的に、送信制御手段は、全伝送路が非データ伝送中である場合、伝送路毎に、対応するアイドル時間計測手段の計測履歴から過去において頻度が最大のアイドル時間を導出し、このアイドル時間と、対応する経過時間計測手段の計測結果とから、該当する伝送路においてデータ伝送が開始されるまでの残余時間を推定し、これらの推定結果に基づいて、残余時間が最大の伝送路を使用する通信インタフェースに、データを振り分ける構成にされるとよい。このように通信装置を構成すれば、適切なデータ振り分け動作を実現することができる。
また、上述の通信装置を構成する各手段としての機能は、プログラムにより、通信装置のコンピュータに、実現させることができる。また、これらのプログラムは、CD−ROMやDVD等の光ディスク、磁気ディスク、メモリ装置などの記録媒体を通じて、利用者に提供することができる。
以下、本発明の実施例について、図面と共に説明する。
図1は、本発明が適用されたマルチリンク通信装置10を有するネットワークシステム1の構成を表す説明図である。
本実施例のマルチリンク通信装置10は、同種のマルチリンク通信装置10及びシングルリンク通信装置50が参加するネットワークシステム1に所属し、自装置以外のマルチリンク通信装置10及びシングルリンク通信装置50と、リンク(伝送路)を共有し、他の通信装置と無線の形態で双方向通信を行うものである。
このネットワークシステム1には、二つのリンクL1,L2(所謂チャネル)が用意されており、マルチリンク通信装置10は、リンクL1,L2の両者を使用して、他の通信装置と通信を行い、シングルリンク通信装置50は、予め定められたリンクL1又はリンクL2の一方のみを使用して、他の通信装置と通信を行う。
即ち、シングルリンク通信装置50は、無線通信インタフェースを一つのみ備え、この無線通信インタフェースが使用する単一のリンクにて通信を行う。一方、マルチリンク通信装置10は、互いに異なるリンクを使用して無線通信を行う無線通信インタフェース20を複数(具体的には二つ)備え、これら無線通信インタフェース20a,20bを同時使用して、複数のリンクL1,L2により外部装置と通信を行う。
具体的に、本実施例のマルチリンク通信装置10は、図2に示す構成にされている。図2は、本実施例のマルチリンク通信装置10の構成を表すブロック図である。本実施例では、マルチリンク通信装置10が、自動車等の車両に搭載されて使用されるものとし、ナビゲーション装置等の車載装置5が取り扱うデータを送受信するものとする。
図2に示すように、本実施例のマルチリンク通信装置10は、図示しないマイクロコンピュータ、ROM及びRAM等を内蔵し、ROMに記録されたプログラムの実行により各種機能を実現して、装置内各部を統括制御する制御回路30と、リンクL1を使用して無線通信を行う第一無線通信インタフェース20aと、リンクL2を使用して無線通信を行う第二無線通信インタフェース20bと、を備える。
第一及び第二無線通信インタフェース20a,20bは、使用するリンクが異なることを除けば、互いに同一構成にされており、送受信アンテナ21、通信制御部23、受信強度検出部25、及び、キャリアセンス部27を備え、通信制御部23にて、制御回路30により振り分けられた送信対象のパケットを、搬送波(キャリア)に重畳して、送受信アンテナ21を通じて無線の形態で出力する。尚、通信制御部23は、送信対象のパケットを一時的に蓄積しておくための送信バッファ(図示せず)を備え、送信バッファに蓄えられたパケットを、蓄積された順に、送受信アンテナ21を通じて無線の形態で出力する。
その他、通信制御部23は、送受信アンテナ21が受信した信号から受信パケットを抽出し、これを制御回路30に入力して、制御回路30を通じ、車載装置5に受信パケットを伝送する構成にされている。
また、このマルチリンク通信装置10が備える受信強度検出部25は、送受信アンテナ21が受信した信号の強度を検出して、受信強度を表すRSSI信号をキャリアセンス部27に出力する構成にされており、キャリアセンス部27は、受信強度検出部25から出力されるRSSI信号に基づいて、該当無線通信インタフェースで使用するリンク(第一無線通信インタフェース20aの場合にはリンクL1、第二無線通信インタフェース20bの場合にはリンクL2)においてデータ伝送がなされているか否かを判定する。
そして、受信強度が、予め定められた閾値以下である場合、キャリアセンス部27は、該当リンクでデータ伝送が行われていないことを示すキャリアセンスオフ信号を制御回路30に出力し、受信強度が上記閾値より大きい場合、該当リンクでデータ伝送が行われていることを示すキャリアセンスオン信号を制御回路30に出力する。
また、制御回路30は、ROMに記録されたプログラムをマイクロコンピュータで実行することにより、各種機能を実現して、ナビゲーション装置等の車載装置5から送出されてくるパケット化された送信対象データを、パケット単位で第一及び第二無線通信インタフェース20a,20bのいずれかに振り分け、振分先の無線通信インタフェースに、該当パケットを送信させる構成にされている。その他、制御回路30は、プログラムの実行により、各無線通信インタフェース20a,20bが受信した自装置宛てのパケットを、車載装置5に転送する構成にされている。
尚、本実施例では、マイクロコンピュータによるプログラムの実行により、制御回路30において、計測部31及び計測時間設定部33並びにデータ振分部35としての機能が実現される。即ち、制御回路30は、プログラムの実行により、計測部31及び計測時間設定部33並びにデータ振分部35として機能する。
続いて、計測部31が実行する処理について説明する。図3は、計測部31が繰返し実行する計測処理を表すフローチャートである。本実施例においては、第一及び第二無線通信インタフェース20a,20bの夫々に対して(換言すると、リンクL1及びリンクL2の夫々に対して)、計測部31が設けられ、第一無線通信インタフェース20aに対応する計測部31は、第一無線通信インタフェース20aのキャリアセンス部27から出力される信号に基づいて、以下に説明する計測処理を実行し、第二無線通信インタフェース20bに対応する計測部31は、第二無線通信インタフェース20bのキャリアセンス部27から出力される信号に基づいて、以下に説明する計測処理を開始する。
計測部31は、計測処理を開始すると、まず時間計測用のカウンタをクリアする(S110)。その後、対応するキャリアセンス部27からの信号に基づいて、キャリアセンス部27からの出力信号がキャリアセンスオフ信号であるか否かを判断し(S120)、キャリアセンス部27からの出力信号がキャリアセンスオフ信号であると判断すると(S120でYes)、S130に移行する。一方、キャリアセンス部27からの出力信号がキャリアセンスオン信号であると判断すると(S120でNo)、S140に移行する。
S130に移行すると、計測部31は、既にカウンタが作動し時間計測が行われているか否かを判断し、カウンタが作動していない場合には(S130でNo)、カウンタを作動させて時間計測を開始した後(S135)、S150に移行する。一方、S130において、既にカウンタが作動していると判断すると(S130でYes)、計測部31は、S135をスキップして、S150に移行する。
また、S150では、カウンタをクリアしてからの経過時間が、予め当該計測部31に対して設定された計測時間Tmを越えているか否かを判断し、計測時間Tmを越えていない場合には(S150でNo)、S120に移行して、カウンタをクリアしてからの経過時間が計測時間Tmを越えるまで、S120〜S150の処理を繰り返す。
即ち、計測部31は、キャリアセンス部27からの出力信号がキャリアセンスオフ信号である場合、S120でYesと判断して、カウンタによる時間計測を行い、キャリアセンス部27からの出力信号がキャリアセンスオン信号である場合(出力信号がキャリアセンスオフ信号からキャリアセンスオン信号に切り替わった場合)には、S120でNoと判断して、カウンタを一時停止し、時間計測を一時中断した後(S140)、S150に移行する。
このようにして、計測処理では、計測時間Tm内で、キャリアセンス部27からの出力信号がキャリアセンスオフ信号であった時間の総和を、カウンタにより計測する。この動作により、第一無線通信インタフェース20aに対応する計測部31では、計測時間Tm内で、リンクL1においてデータ伝送がなされていない時間の総和を求め、第二無線通信インタフェース20bに対応する計測部31では、計測時間Tm内で、リンクL2においてデータ伝送がなされていない時間の総和を求める。
そして、カウンタをクリアしてからの経過時間が予め設定された計測時間Tmを経過していると判断すると(S150でYes)、計測部31は、当該カウンタを停止し(S160)、このときのカウンタの値を、キャリアセンスオフ時間T_CS[i]として、データ振分部35に出力する(S170)。尚、パラメータiは、リンクL1,L2に対応するインデックス番号であり、リンクL1に対応するキャリアセンスオフ時間を、以下では、T_CS[1]と表し、リンクL2に対応するキャリアセンスオフ時間を、T_CS[2]と表す。
また、S170での処理を終えると、計測部31は、当該計測処理を一旦終了し、再び、S110から計測処理を実行する。
続いて、計測部31に計測時間Tmを設定する計測時間設定部33が実行する処理の内容について説明する。図4は、計測時間設定部33が繰返し実行する計測時間設定処理を表すフローチャートである。
計測時間設定処理を開始すると、計測時間設定部33は、まずリンクL1,L2のトラフィックを検査するために、リンクL1を検査対象に設定し(S210)、リンクL1を使用する第一無線通信インタフェース20aのキャリアセンス部27からの出力信号がキャリアセンスオン信号であるか否かを判断する(S220)。そして、出力信号がキャリアセンスオン信号ではないと判断すると(S220でNo)、出力信号がキャリアセンスオン信号になるまで待機し、出力信号がキャリアセンスオン信号である場合には(S220でYes)、S225に移行して、その後、第一無線通信インタフェース20aのキャリアセンス部27からの出力信号がキャリアセンスオフ信号に切り替わるまで待機する。そして、出力信号がキャリアセンスオフ信号に切り替わると(S225でYes)、この時点から出力信号がキャリアセンスオン信号に切り替わるまでの時間T1を計測する(S230)。
また、出力信号がキャリアセンスオン信号に切り替わり、時間T1の計測が終了すると、予めリンクL1,L2の両者に対応する各計測部31に設定された計測時間Tmよりも、計測された時間T1が大きいか否かを判断し(S240)、Tm<T1であると判断すると(S240でYes)、全ての計測部31に対し、計測時間Tmとして、時間T1に定数αを加算した値(T1+α)を、設定する(S245)。
尚、本実施例のマルチリンク通信装置は、リンク毎(換言すると無線通信インタフェース毎)の計測部31の全てに対し、同一の計測時間Tmを設定する構成にされており、定数αは、当該マルチリンク通信装置10の設計段階でゼロ以上の任意の値に、予め定められているものとする。
また、S245における計測時間Tmの設定動作が終了すると、計測時間設定部33は、S250に移行し、リンクL1に代えて、リンクL2を検査対象に設定する(S250)。一方、時間T1が計測時間Tm以下である場合には(S240でNo)、S245の処理をスキップしてS250に移行し、リンクL2を検査対象に設定する。
また、S250での処理を終えると、計測時間設定部33は、リンクL2を使用する第二無線通信インタフェース20bのキャリアセンス部27からの出力信号がキャリアセンスオン信号であるか否かを判断し(S260)、出力信号が、キャリアセンスオン信号である場合には(S260でYes)、S265に移行し、出力信号がキャリアセンスオン信号ではない場合には(S260でNo)、出力信号がキャリアセンスオン信号になるまで待機して、出力信号がキャリアセンスオン信号に切り替わった時点で、S265に移行する。
一方、S265に移行すると、計測時間設定部33は、第二無線通信インタフェース20bのキャリアセンス部27からの出力信号がキャリアセンスオフ信号に切り替わるまで待機する。そして、出力信号がキャリアセンスオフ信号に切り替わると(S265でYes)、この時点から上記出力信号がキャリアセンスオン信号に切り替わるまでの時間T2を計測する(S270)。
また、第二無線通信インタフェース20bのキャリアセンス部27からの出力信号がキャリアセンスオン信号に切り替わり、時間T2の計測が終了すると、予めリンクL1,L2の両者に対応する各計測部31に設定された計測時間Tmよりも、時間T2が大きいか否かを判断し(S280)、Tm<T2である場合には(S280でYes)、全ての計測部31に対し、計測時間Tmとして、時間T2に定数αを加算した値(T2+α)を、設定する(S285)。
また、S285での処理を終えると、計測時間設定部33は、当該計測時間設定処理を一旦終了し、その後、再びS210から後続の処理を実行する。一方、時間T2が計測時間Tm以下であると判断すると(S280でNo)、計測時間設定部33は、S285の処理をスキップし、当該計測時間設定処理を一旦終了する。その後、再びS210から後続の処理を実行する。
このようにして計測時間設定部33では、各リンクL1,L2のアイドル時間(キャリアセンスオフ信号が継続する時間)よりも短くならないように、計測時間Tmを逐次設定する。
続いて、データ振分部35が実行する処理について説明する。図5は、データ振分部35が繰返し実行するデータ振分処理を表すフローチャートである。データ振分部35は、この処理により、計測部31により得られたキャリアセンスオフ時間T_CS[1],T_CS[2]に基づいて、車載装置5から入力された送信対象の各パケットを、第一及び第二無線通信インタフェース20a,20bのいずれかに振り分け、振分先の無線通信インタフェースに、該当パケットを、無線の形態で送信させる。
データ振分処理を開始すると、データ振分部35は、車載装置5より送信対象のパケットが入力されるまで待機し(S300)、送信対象のパケットが入力されると(S300でYes)、S310以降の処理を実行する。
送信対象のパケットが入力され、S310に移行すると、データ振分部35は、リンクL1に対応する計測部31から得られた最新のキャリアセンスオフ時間T_CS[1]、及び、リンクL2に対応する計測部31から得られた最新のキャリアセンスオフ時間T_CS[2]に基づき、時間T_CS[1]が時間T_CS[2]よりも大きいか否かを判断し(S310)、T_CS[1]>T_CS[2]であると判断すると(S310でYes)、第一無線通信インタフェース20aの送信バッファ量(即ち、送信バッファに蓄積されたパケットの総量)Buf1をチェックする(S320)。
そして、送信バッファ量Buf1が第一無線通信インタフェース20aにおける送信バッファの最大蓄積量(送信バッファが記憶可能なパケットの最大量)よりも小さいと判断すると(S330でYes)、入力された送信対象のパケットを、第一無線通信インタフェース20aに振り分け、この第一無線通信インタフェース20aに、上記パケットを無線の形態で外部装置に向けて送信させる(S340)。また、S340での処理を終えると、データ振分部35は、当該データ振分処理を一旦終了し、その後、S300に再び移行して、次の送信対象パケットが入力されるまで待機する。
また、データ振分部35は、S320においてチェックした送信バッファ量Buf1が送信バッファの最大蓄積量であると(S330でNo)、S333に移行して、第二無線通信インタフェース20bの送信バッファ量Buf2をチェックする。
そして、送信バッファ量Buf2が第二無線通信インタフェース20bにおける送信バッファの最大蓄積量よりも小さいと判断すると(S337でYes)、S380に移行する。一方、送信バッファ量Buf2が第二無線通信インタフェース20bにおける送信バッファの最大蓄積量である場合には(S337でNo)、S390に移行して、今回入力された送信対象のパケットを破棄し、当該データ振分処理を一旦終了する。その後、再びS300に移行する。
その他、S310において、T_CS[1]>T_CS[2]ではないと判断すると(S310でNo)、データ振分部35は、第二無線通信インタフェース20bの送信バッファ量Buf2をチェックする(S360)。そして、送信バッファ量Buf2が第二無線通信インタフェース20bにおける送信バッファの最大蓄積量よりも小さいと判断すると(S370でYes)、入力された送信対象のパケットを、第二無線通信インタフェース20bに振り分け、第二無線通信インタフェース20bに、上記パケットを無線の形態で外部装置に向けて送信させる(S380)。また、S380での処理を終えると、当該データ振分処理を一旦終了し、その後、再びS300に移行する。
この他、データ振分部35は、S360においてチェックした送信バッファ量Buf2が送信バッファの最大蓄積量である場合(S370でNo)、S373に移行して、第一無線通信インタフェース20aの送信バッファ量Buf1をチェックする。
そして、送信バッファ量Buf1が第一無線通信インタフェース20aにおける送信バッファの最大蓄積量よりも小さいと判断すると(S377でYes)、S340に移行する。一方、送信バッファ量Buf1が第一無線通信インタフェース20aにおける送信バッファの最大蓄積量である場合には(S377でNo)、S390に移行して、今回入力された送信対象のパケットを破棄し、当該データ振分処理を一旦終了する。その後、再びS300に移行して、繰返し当該データ振分処理を実行する。
このようにして、データ振分部35は、送信バッファが一杯になっていない限り、車載装置5から送信対象のパケットが入力される度、キャリアセンスオフ時間の長いリンクに対応する無線通信インタフェースに、入力されたパケットを振り分け、振分先の無線通信インタフェースに、該当パケットを、無線の形態で送信させる。
本実施例では、このようにして送信対象のパケットを振り分けるので、例えば、リンクL1の品質が悪い場合には、適切にリンクL2に対して優先的に送信対象のパケットを振り分けることができ、マルチリンク伝送方式において、スループットを従来よりも向上させることができる。
図6(a)に示すように、品質の悪いリンクL1では、パケットの送信エラーが発生するため、パケットの送信動作に関してリトライ回数が増え、リンクL1でのキャリアセンスオフ時間が減る。従って、本実施例によれば、品質の悪いリンクL1にパケットを振り分けずに済み、効率的にマルチリンク伝送方式によって、パケットを外部装置に送信することができるのである。
特に、本実施例のマルチリンク通信装置10では、自装置が送信したパケットの再送回数等を計測することなく、他通信装置によるリンクL1,L2を通じたデータ伝送の有無をキャリアセンスにより判断して、キャリアセンスオフ時間により、パケット振分先の無線通信インタフェースを決定しているので、リンクL1,L2の品質だけでなく、リンクL1,L2の混雑度も評価することができ、一方のリンクに偏って、このリンクを使用するシングルリンク通信装置50がネットワークシステム1に参加している場合でも、混雑しているリンクを避けて、空いているリンクを効率的に使用することができる。
例えば、リンクL1,L2を使用するマルチリンク通信装置10がM1個、リンクL1のみを使用するシングルリンク通信装置50がM2個、ネットワークシステム1に参加している場合、個数M2がM1より十分多いと、リンクL1を使用する装置がM1+M2個、リンクL2を使用する装置がM1個であるから、各リンクに滞在する装置の数がアンバランスになる。従って、このような環境では、リンクL2の品質が悪く多少パケットの再送が行われている状態でも、リンクL2のほうが空いている場合がある(図6(b)参照)。
このような状況下において、従来では再送回数のみを評価していたため、混雑しているリンクL1にパケットを振り分けてしまう可能性があったが、本実施例のマルチリンク通信装置10では、キャリアセンスオフ時間に基づいて、空いているリンクに、パケットを優先的に振り分けるので、従来装置とは異なり、リンクL2を効率的に利用して、高速にパケットを外部装置に送信することができる。即ち、本実施例によれば、リンクの品質及び混雑度を総合的に評価して、適切にパケットを振り分けることができ、高性能なマルチリンク通信装置10を、提供することができる。
尚、本実施例の計測部31は、本発明の計測手段に対応し、データ振分部35は、本発明の送信制御手段に対応し、計測時間設定部33は、本発明の計測時間設定手段に対応する。その他、キャリアセンスオフ時間は、本発明の非伝送時間に対応する。
また、本実施例では、キャリアセンスオフ時間が長いリンクに、パケットを振り分けるようにしたが、マルチリンク通信装置10は、各リンクL1,L2のキャリアセンスオフ時間の比に基づいて、パケットの振り分けを行うように、構成されてもよい。
図7は、第二実施例のマルチリンク通信装置10において、データ振分部35が繰返し実行するデータ振分処理を表すフローチャートである。以下に説明する第二実施例のマルチリンク通信装置10は、第一実施例のマルチリンク通信装置10と、データ振分処理の一部内容が異なる程度であるので、以下では、図7を用いて、第二実施例のマルチリンク通信装置10において、データ振分部35が実行するデータ振分処理についてのみ説明する。また、ここでは、第一実施例と同一内容の処理を実行するステップに対して、同一ステップ番号を付し、そのステップに係る処理内容の説明を、適宜省略することにする。
データ振分処理を開始すると、データ振分部35は、車載装置5より送信対象のパケットが入力されるまで待機し(S300)、送信対象のパケットが入力されると(S300でYes)、S3100に移行して、リンクL1に対応する計測部31から得られた最新のキャリアセンスオフ時間T_CS[1]、及び、リンクL2に対応する計測部31から得られた最新のキャリアセンスオフ時間T_CS[2]に基づき、次式に従って、値Rを算出する。
R=T_CS[1]/(T_CS[1]+T_CS[2])
また、この処理を終えると、データ振分部35は、S3103に移行し、0≦α≦1を満足する乱数αを生成して、閾値Th0に乱数αを設定する(Th0=α)。また、S3103での処理を終えると、データ振分部35は、S3105に移行して、上記算出した値Rが、上記設定された閾値Th0より大きいか否かを判断する(S3105)。
そして、値Rが、閾値Th0より大きいと判断すると(S3105でYes)、S320に移行して、第一無線通信インタフェース20aの送信バッファ量Buf1をチェックし、更に、第一実施例と同様にして、後続の処理を実行する。即ち、第一無線通信インタフェース20aの送信バッファ量Buf1が、第一無線通信インタフェース20aにおける送信バッファの最大蓄積量よりも小さい場合には(S330でYes)、入力された送信対象のパケットを、第一無線通信インタフェース20aに振り分け、この第一無線通信インタフェース20aに、上記パケットを無線の形態で外部装置に向けて送信させる(S340)。その後、当該データ振分処理を終了する。
一方、値Rが、閾値Th0以下であると判断すると(S3105でNo)、データ振分部35は、S360に移行して、第二無線通信インタフェース20bの送信バッファ量Buf2をチェックし、更に、第一実施例と同様にして、後続の処理を実行する。即ち、第二無線通信インタフェース20bの送信バッファ量Buf2が、第二無線通信インタフェース20bにおける送信バッファの最大蓄積量よりも小さいか否かを判断し(S370)、小さい場合には(S370でYes)、入力された送信対象のパケットを、第二無線通信インタフェース20bに振り分け、この第二無線通信インタフェース20bに、上記パケットを無線の形態で外部装置に向けて送信させる(S380)。その後、当該データ振分処理を一旦終了する。
このようにして、第二実施例におけるマルチリンク通信装置10のデータ振分部35は、送信バッファが一杯になっていない限り、車載装置5から送信対象のパケットが入力される度、キャリアセンスオフ時間の比に基づいて、車載装置5から入力されたパケットを振り分け、振分先の無線通信インタフェースに、該当パケットを、無線の形態で送信させる。
以上、第二実施例のマルチリンク通信装置10について説明したが、この通信装置においても、第一実施例と同様、各リンクの空き状態に応じて、適切にデータを振り分けることができる。従って、本実施例によれば、リンクの品質及び混雑度に応じて、パケットを適切に振り分け、効率的にパケットを外部装置に送信することができる。
また、上述のマルチリンク通信装置10は、全リンクが、データ伝送を行っていないアイドル状態にあるとき、各リンクにおいてデータ伝送が再開されるまでの残余時間を推定して、この推定結果に基づき、パケットを振り分ける構成にされてもよい。
図8は、第三実施例のマルチリンク通信装置10において、各計測部31が、図3に示す計測処理と共に実行する計測編集処理を表すフローチャートである。また、図9は、上記計測編集処理にて編集されるヒストグラムの一例を表す説明図であり、図10は、第三実施例のマルチリンク通信装置10において、データ振分部35が、図5及び図7に示す処理に代えて、実行するデータ振分処理を表すフローチャートである。
第三実施例のマルチリンク通信装置10は、第一及び第二実施例のマルチリンク通信装置10に対して、計測部31の処理動作及びデータ振分部35の処理動作が異なる程度であるので、以下では、図8〜図10を用い、第三実施例のマルチリンク通信装置10におけるリンク毎の各計測部31が実行する計測編集処理及びデータ振分部35が実行するデータ振分処理についてのみ説明する。
本実施例の各計測部31は、図8に示す計測編集処理を繰返し実行することにより、対応する無線通信インタフェースのキャリアセンス部27の出力信号が、キャリアセンスオフ信号に切り替わってからの経過時間と、対応するリンクのアイドル時間とを、繰返し計測する。
具体的に、計測部31は、計測編集処理を開始すると、上記計測処理用のカウンタとは独立した時間計測用のカウンタをクリアし(S410)、対応するキャリアセンス部27からの出力信号に基づいて、出力信号がキャリアセンスオン信号であるか否かを判断し(S420)、キャリアセンス部27からの出力信号がキャリアセンスオン信号である場合には(S420でYes)、S425に移行し、キャリアセンス部27からの出力信号がキャリアセンスオフ信号である場合には(S420でNo)、出力信号がキャリアセンスオン信号に切り替わった時点で、S425に移行する。
S425に移行すると、計測部31は、その後、出力信号がキャリアセンスオン信号からキャリアセンスオフ信号に切り替わるまで待機し、出力信号がキャリアセンスオフ信号に切り替わった時点で、S430に移行し、S410でクリアした上記カウンタを作動させ、出力信号がキャリアセンスオフ信号に切り替わってからの経過時間の計測を開始する。
また、S430での処理を終えると、計測部31は、データ振分部35から経過時間の問合せが発生したか否かを判断し(S440)、問合せが発生していている場合には(S440でYes)、上記カウンタの現在値を、経過時間T_PS[i]として、問合せ元のデータ振分部35に出力した後(S445)、S450に移行する。一方、計測部31は、データ振分部35から経過時間の問合せが発生していないと判断すると(S440でNo)、S445の処理を実行することなく、S450に移行する。
S450に移行すると、計測部31は、対応するキャリアセンス部27からの出力信号がキャリアセンスオン信号に切り替わったか否かを判断し、出力信号がキャリアセンスオン信号に切り替わっていないと判断すると(S450でNo)、S440に移行する。一方、出力信号がキャリアセンスオン信号に切り替わったと判断すると(S450でYes)、カウンタを停止し(S460)、そのときのカウンタ値に基づいて、当該計測部31に対応するリンクのヒストグラムを編集する(S470)。
図9に示すように、本実施例で編集されるヒストグラムは、キャリアセンスオフ信号の継続時間としてのアイドル時間を、所定区間毎にクラス化し、クラス毎に、その区間に属するアイドル時間が検出された回数を、出現頻度として、全区間に対するパーセンテージで表したものである。このヒストグラムは、リンク毎に生成されてRAMに記録され、上記計測編集処理によって編集される。但し、図9では、ヒストグラムを、棒グラフにて視覚的に表すが、実際にRAMに記録されるヒストグラムは、クラス毎に、そのクラスに属するアイドル時間の検出回数/全クラスの標本総数といった分数による表現方式のデータが記述されてなるものとする。
即ち、S470に移行すると、計測部31は、対応するリンクのヒストグラムにおいて、上記カウンタが示すアイドル時間に該当するクラスの上記検出回数を、1カウントアップし、標本の総数を1カウントアップして、そのヒストグラムにおける各クラスの出現頻度を更新する。
また、このようにしてS470での処理を終えると、計測部31は、当該計測編集処理を一旦終了して、再び、S410に移行する。
一方、本実施例におけるデータ振分部35は、図10に示すデータ振分処理を実行して、各リンクのヒストグラムに基づき、車載装置5から入力された送信対象の各パケットを、第一及び第二無線通信インタフェース20a,20bのいずれかに振り分ける。
具体的に、図10に示すデータ振分処理を開始すると、データ振分部35は、車載装置5より送信対象のパケットが入力されるまで待機し(S500)、送信対象のパケットが入力されると(S500でYes)、S510に移行して、全リンクがアイドル中であるか否かを判断する。即ち、各リンクの全てにおいてデータ伝送がなされておらず、全キャリアセンス部27からキャリアセンスオフ信号が出力されているか否かを判断する(S510)。
そして、全リンクがアイドル中ではないと判断すると(S510でNo)、S520に移行して、通常処理を実行する。尚、ここでいう通常処理とは、図5又は図7において点線で囲った処理と一致するものである。即ち、S520に移行すると、データ振分部35は、キャリアセンスオフ時間T_CS[1],T_CS[2]に基づいて、車載装置5から入力された送信対象のパケットを、第一及び第二無線通信インタフェース20a,20bのいずれかに振り分ける。その後、当該データ振分処理を一旦終了し、再びS500に移行して、次の送信対象パケットが車載装置5から入力されるまで待機する。
これに対し、S510において、全リンクがアイドル中であると判断すると(S510でYes)、データ振分部35は、S530に移行し、リンクL1の経過時間T_PS[1]を、リンクL1に対応する計測部31から上記問合せにより取得し、リンクL2の経過時間T_PS[2]を、リンクL2に対応する計測部31から上記問合せにより取得する(S530)。
また、この処理を終えると、データ振分部35は、S540に移行して、リンクL1のヒストグラムから、値(出現頻度)が最大のクラスを割り出し、その後、割り出したクラスの中央値T_CT[1]に基づき、リンクL1においてアイドル状態が終了し次のデータ伝送が開始されるまでの残余時間T_RS[1]を、推定する(S550)。
T_RS[1]=T_CT[1]−T_PS[1]
例えば、図9に示すリンクL1のヒストグラムでは、500〜600μs(マイクロ秒)のクラスの出現頻度が最大であるため、このクラスの中央値T_CT[1]=550μsを用いて、上式により、残余時間T_RS[1]を算出する(S550)。
その他、S550での処理を終えると、データ振分部35は、S560に移行して、リンクL2のヒストグラムから、値(出現頻度)が最大のクラスを割り出し、その後、割り出したクラスの中央値T_CT[2]に基づき、リンクL2においてアイドル状態が終了し次のデータ伝送が開始されるまでの残余時間T_RS[2]を、次式により推定する(S570)。
T_RS[2]=T_CT[2]−T_PS[2]
また、S570の処理を終了すると、データ振分部35は、時間T_RS[1]が時間T_RS[2]よりも大きいか否かを判断し(S580)、T_RS[1]>T_RS[2]であると判断すると(S580でYes)、図5に示すS320以降の処理と同様の処理を実行する。即ち、第一無線通信インタフェース20aの送信バッファが一杯になっていない限り、車載装置5から入力された送信対象のパケットを、第一無線通信インタフェース20aに振り分けて、第一無線通信インタフェース20aに、該当パケットを無線の形態で外部装置に向けて送信させる。その後、当該データ振分処理を一旦終了し、再びS500に移行して、車載装置5から次の送信対象のパケットが入力されるまで待機する。
一方、S580において、T_RS[1]>T_RS[2]ではないと判断すると(S580でNo)、データ振分部35は、図5に示すS360以降の処理と同様の処理を実行する。即ち、第二無線通信インタフェース20bの送信バッファが一杯になっていない限り、車載装置5から入力された送信対象のパケットを、第二無線通信インタフェース20bに振り分けて、第二無線通信インタフェース20bに、該当パケットを無線の形態で外部装置に向けて送信させる。その後、当該データ振分処理を一旦終了し、再びS500に移行して、車載装置5から次の送信対象のパケットが入力されるまで待機する。
以上、第三実施例のマルチリンク通信装置10について説明したが、このマルチリンク通信装置10では、全リンクが非データ伝送中(アイドル中)である場合、リンク毎に出現頻度が最大のアイドル時間を導出し、このアイドル時間と、現時点でのアイドル状態の継続時間とから、各リンクにおいて次のデータ伝送が開始されるまでの残余時間を推定し、これらの推定結果に基づいて、残余時間が大きい方のリンクを使用する無線通信インタフェースに、パケットを振り分ける。
従って、本実施例によれば、他の通信装置によるデータ伝送が行われるまでの時間が最も長いリンクを通じて、他の通信装置がデータ送信を行っていない期間に、自装置の送信対象パケットを外部装置に向けて送信することができ、他の通信装置とあまり衝突することなく、データ送信動作を実現することができる。従って、本実施例のマルチリンク通信装置10を用いてネットワークシステム1を構築すれば、各通信装置の衝突によるスループットの低下を抑制することができる。
尚、本発明の経過時間計測手段及びアイドル時間計測手段は、本実施例において、計測部31が実行する計測編集処理により実現されている。
また、上述した第一及び第二実施例のマルチリンク通信装置10は、全リンクが、データ伝送を行っている期間、各リンクにおいてデータ伝送が完了するまでの残余時間を推定し、この推定結果に基づき、パケットを振り分ける構成にされてもよい。
図11は、第四実施例のマルチリンク通信装置10において、各計測部31が、図3に示す計測処理と共に実行する計測編集処理を表すフローチャートである。また、図12は、第四実施例の計測編集処理にて編集されるヒストグラムの一例を表す説明図であり、図13は、第四実施例のマルチリンク通信装置10において、データ振分部35が、図5及び図7及び図10に示す処理に代えて、実行するデータ振分処理を表すフローチャートである。
第四実施例のマルチリンク通信装置10は、第一及び第二実施例のマルチリンク通信装置10に対して、計測部31の処理動作及びデータ振分部35の処理動作が異なる程度であるので、以下では、図11〜図13を用い、第四実施例のマルチリンク通信装置10におけるリンク毎の各計測部31が実行する計測編集処理及びデータ振分部35が実行するデータ振分処理についてのみ説明する。
本実施例の各計測部31は、図11に示す計測編集処理を繰返し実行することにより、対応する無線通信インタフェースのキャリアセンス部27の出力信号に基づき、出力信号がキャリアセンスオフ信号からキャリアセンスオン信号に切り替わってからの経過時間と、出力信号がキャリアセンスオン信号で継続している時間としての送信時間とを、繰返し計測する。
具体的に、計測部31は、計測編集処理を開始すると、上記計測処理用のカウンタとは独立した時間計測用のカウンタをクリアし(S610)、対応するキャリアセンス部27からの出力信号に基づいて、出力信号がキャリアセンスオフ信号であるか否かを判断し(S620)、キャリアセンス部27からの出力信号がキャリアセンスオフ信号である場合には(S620でYes)、S625に移行し、キャリアセンス部27からの出力信号がキャリアセンスオン信号である場合には(S620でNo)、出力信号がキャリアセンスオフ信号に切り替わった時点で、S625に移行する。
S625に移行すると、計測部31は、その後出力信号がキャリアセンスオフ信号からキャリアセンスオン信号に切り替わるまで待機し、出力信号がキャリアセンスオン信号に切り替わった時点で、S630に移行して、S610でクリアした上記カウンタを作動させ、出力信号がキャリアセンスオン信号に切り替わってからの経過時間の計測を開始する。
また、S630での処理を終えると、計測部31は、データ振分部35から経過時間の問合せが発生したか否かを判断し(S640)、問合せが発生していている場合には(S640でYes)、上記カウンタの現在値を、経過時間T_PS[i]として、問合せ元のデータ振分部35に出力した後(S645)、S650に移行する。一方、計測部31は、データ振分部35から経過時間の問合せが発生していないと判断すると(S640でNo)、S645の処理を実行することなく、S650に移行する。
S650に移行すると、計測部31は、対応するキャリアセンス部27からの出力信号がキャリアセンスオフ信号に切り替わったか否かを判断し、出力信号がキャリアセンスオフ信号に切り替わっていないと判断すると(S650でNo)、S640に移行する。一方、出力信号がキャリアセンスオフ信号に切り替わったと判断すると(S650でYes)、カウンタを停止し(S660)、そのときのカウンタ値に基づいて、当該計測部31に対応するリンクのヒストグラムを編集する(S670)。
図12に示すように、本実施例で編集されるヒストグラムは、キャリアセンスオン信号の継続時間としての送信時間を、所定区間毎にクラス化し、クラス毎に、その区間に属する送信時間が検出された回数を、出現頻度として、全区間に対するパーセンテージで表したものである。このヒストグラムは、リンク毎に生成されてRAMに記録され、各ヒストグラムは、クラス毎に、そのクラスに属する送信時間の検出回数/全クラスの標本総数といった分数による表現方式のデータが記述されてなる。
即ち、S670に移行すると、計測部31は、対応するリンクのヒストグラムにおいて、上記カウンタが示す送信時間に該当するクラスの上記検出回数を、1カウントアップし、標本の総数を1カウントアップして、そのヒストグラムにおける各クラスの出現頻度を更新する。
また、このようにしてS670での処理を終えると、計測部31は、当該計測編集処理を一旦終了して、再び、S610に移行する。
一方、本実施例におけるデータ振分部35は、図13に示すデータ振分処理を実行して、各リンクのヒストグラムに基づき、車載装置5から入力された送信対象の各パケットを、第一及び第二無線通信インタフェース20a,20bのいずれかに振り分ける。
具体的に、図13に示すデータ振分処理を開始すると、データ振分部35は、車載装置5より送信対象のパケットが入力されるまで待機し(S700)、送信対象のパケットが入力されると(S700でYes)、S710に移行して、全リンクがデータ伝送中であるか否かを判断する。即ち、各リンクの全てにおいてデータ伝送がなされており、全キャリアセンス部27からキャリアセンスオン信号が出力されているか否かを判断する(S710)。
そして、全リンクがデータ伝送中ではないと判断すると(S710でNo)、データ振分部35は、S720に移行して、通常処理を実行する。即ち、S720に移行すると、データ振分部35は、図5又は図7において点線で囲った処理と一致する処理を実行し、キャリアセンスオフ時間T_CS[1],T_CS[2]に基づいて、車載装置5から入力された送信対象のパケットを、第一及び第二無線通信インタフェース20a,20bのいずれかに振り分ける。その後、当該データ振分処理を一旦終了し、再びS700に移行して、次の送信対象パケットが車載装置5から入力されるまで待機する。
これに対し、S710において、全リンクがデータ伝送中であると判断すると(S710でYes)、データ振分部35は、S730に移行し、リンクL1の経過時間T_PS[1]を、リンクL1に対応する計測部31から上記問合せにより取得し、リンクL2の経過時間T_PS[2]を、リンクL2に対応する計測部31から上記問合せにより取得する。
また、この処理を終えると、データ振分部35は、S740に移行して、第三実施例と同様に、リンクL1のヒストグラムから、値(出現頻度)が最大のクラスを割り出し、その後、割り出したクラスの中央値T_CT[1]に基づき、リンクL1においてデータ伝送が終了するまでの残余時間T_RS[1]を、次式により推定する(S750)。
T_RS[1]=T_CT[1]−T_PS[1]
その他、S750での処理を終えると、データ振分部35は、S760に移行して、リンクL2のヒストグラムから、値(出現頻度)が最大のクラスを割り出し、その後、割り出したクラスの中央値T_CT[2]に基づき、リンクL2においてデータ伝送が終了するまでの残余時間T_RS[2]を、次式により推定する(S770)。
T_RS[2]=T_CT[2]−T_PS[2]
また、S770の処理を終了すると、データ振分部35は、時間T_RS[1]が時間T_RS[2]よりも小さいか否かを判断し(S780)、T_RS[1]<T_RS[2]であると判断すると(S780でYes)、図5に示すS320以降の処理と同様の処理を実行する。即ち、第一無線通信インタフェース20aの送信バッファが一杯になっていない限り、車載装置5から入力された送信対象のパケットを、第一無線通信インタフェース20aに振り分けて、第一無線通信インタフェース20aに、該当パケットを無線の形態で外部装置に向けて送信させる。その後、当該データ振分処理を一旦終了し、再びS700に移行して、車載装置5から次の送信対象のパケットが入力されるまで待機する。
一方、S780において、T_RS[1]<T_RS[2]ではないと判断すると(S780でNo)、データ振分部35は、図5に示すS360以降の処理と同様の処理を実行する。即ち、第二無線通信インタフェース20bの送信バッファが一杯になっていない限り、車載装置5から入力された送信対象のパケットを、第二無線通信インタフェース20bに振り分けて、第二無線通信インタフェース20bに、該当パケットを無線の形態で外部装置に向けて送信させる。その後、当該データ振分処理を一旦終了し、再びS700に移行して、車載装置5から次の送信対象のパケットが入力されるまで待機する。
以上、第四実施例のマルチリンク通信装置10について説明したが、このマルチリンク通信装置10では、全リンクがデータ伝送中である場合、リンク毎に出現頻度が最大の送信時間を導出し、この送信時間と、データ送信開始時点からの経過時間とから、各リンクにおいてデータ伝送が終了するまでの残余時間を推定し、これらの推定結果に基づいて、残余時間が小さい方のリンクを使用する無線通信インタフェースに、パケットを振り分ける。
従って、本実施例によれば、データ伝送が早く終了する無線通信インタフェースに対して優先的にパケットを振り分けることができ、効率的にパケットを外部装置に送信することができる。
尚、本発明の経過時間計測手段及び送信時間計測手段は、本実施例において、計測部31が実行する計測編集処理により実現されている。
また、ネットワークシステム1に参加する他のシングルリンク通信装置50及びマルチリンク通信装置10が周期的にパケットを送出する構成にされている場合には、他の通信装置が次回に送信するパケットの送信タイミングを予測して、自装置における送信対象のパケットを、自装置から送信するように、マルチリンク通信装置10を構成するとよい。
図14は、第五実施例のマルチリンク通信装置10において、各計測部31が、図3、図8及び図11に示す計測処理及び計測編集処理に代えて、繰返し実行する計測推定処理を表すフローチャートである。また、図15(a)は、周期的にリンクL1,L2に送出されるパケットの態様を表した説明図であり、図15(b)は、上記計測推定処理にて編集されるスケジュールデータの構成を表す説明図である。その他、図16は、第五実施例のマルチリンク通信装置10において、データ振分部35が、図5、図7、図10及び図13に示す処理に代えて、実行するデータ振分処理を表すフローチャートである。
第五実施例のマルチリンク通信装置10は、計測部31の処理動作及びデータ振分部35の処理動作が異なること、及び、参加しているネットワークシステム1の他通信装置の全て又は一部が、周期的にパケットを送出する構成にされていることを除けば、第一実施例のマルチリンク通信装置10と基本的に同一構成であるので、以下では、図14〜図16を用い、第五実施例のマルチリンク通信装置10におけるリンク毎の各計測部31が実行する計測推定処理及びデータ振分部35が実行するデータ振分処理を、選択的に説明する。
本実施例の制御回路30には、第一実施例と同様、プログラムによって実現される計測部31がリンク毎に設けられており、各計測部31は、対応するリンクのキャリアセンス部27からの出力信号に基づいて、図14に示す計測推定処理を実行し、対応するリンクにおける他通信装置による未来のデータ伝送タイミングを、スケジュールデータに記録する。
具体的に、計測推定処理を開始すると、計測部31は、対応するキャリアセンス部27からの出力信号に基づいて、出力信号がキャリアセンスオフ信号であるか否かを判断し(S810)、キャリアセンス部27からの出力信号がキャリアセンスオフ信号である場合には(S810でYes)、S820に移行し、キャリアセンス部27からの出力信号がキャリアセンスオン信号である場合には(S810でNo)、出力信号がキャリアセンスオフ信号に切り替わった時点で、S820に移行する。
S820に移行すると、計測部31は、その後出力信号がキャリアセンスオフ信号からキャリアセンスオン信号に切り替わるまで待機し、出力信号がキャリアセンスオン信号に切り替わると、S830に移行して、同通信装置がパケットを該当リンクに送出する周期Tsに対応する時間、現在時刻を進めた未来の時刻を、当該リンクでの同通信装置による次回伝送開始時刻として、該当リンクのスケジュールデータに追加書込する。また、S830での処理を終えると、計測部31は、当該計測推定処理を一旦終了した後、再びS810に移行し、キャリアセンス部27からの出力信号がキャリアセンスオフ信号からキャリアセンスオン信号に切り替わった時点で(S820でYes)、該当リンクのスケジュールデータに、現在時刻から1周期Ts分あとの時刻を、スケジュールデータに追加書込する。
このようにして、リンクL1に対応する計測部31は、図15(b)に示すように、RAMに記録されたリンクL1のスケジュールデータに、リンクL1で近い将来発生する各データ伝送の開始時刻を記録し、リンクL2に対応する計測部31は、RAMに記録されたリンクL2のスケジュールデータに、リンクL2で近い将来発生する各データ伝送の開始時刻を記録する。
例えば、図15(a)に示す時点Pにおいては、リンクL1において、他通信装置D1によるデータ伝送及び他通信装置D2によるデータ伝送が行われた状態であるので、リンクL1のスケジュールデータは、他通信装置D1による次回伝送開始時刻及び他通信装置D2による次回伝送開始時刻が記録された状態となる。同様に、リンクL2においては、他通信装置D5によるデータ伝送及び他通信装置D3によるデータ伝送並びに他通信装置D4によるデータ伝送が行われた状態であるので、リンクL2のスケジュールデータは、他通信装置D5による次回伝送開始時刻及び他通信装置D3による次回伝送開始時刻並びに他通信装置D4による次回伝送開始時刻が記録された状態となる。
続いて、本実施例のデータ振分部35が繰返し実行する図16に示すデータ振分処理について説明する。図16に示すデータ振分処理を開始すると、データ振分部35は、車載装置5より送信対象のパケットが入力されるまで待機し(S900)、送信対象のパケットが入力されると(S900でYes)、S903に移行して、リンクL1のスケジュールデータから、リンクL1においてデータ伝送が行われるまでの残余時間T_FR[1]を算出する。具体的に、S903では、リンクL1が既にデータ伝送中である場合、T_FR[1]=0に設定し、リンクL1がアイドル中である場合には、スケジュールデータが示す現在時刻から最も近い未来の次回伝送開始時刻と現在時刻との差に対応する時間を、T_FR[1]として算出する。
例えば、図15(a)に示す環境で、時点Pにおいて車載装置5から送信対象のパケットが入力された場合には、リンクL1において他通信装置D1によるデータ伝送が行われるまでの時間を、T_FR[1]として算出する。
また、このようにして、S903での処理を終えると、データ振分部35は、S907に移行し、リンクL2に関してS903と同様の処理の処理を行う。即ち、リンクL2のスケジュールデータから、リンクL2においてデータ伝送が行われるまでの残余時間T_FR[2]を算出する。
そして、S907での処理を終えると、データ振分部35は、S910に移行し、時間T_FR[1]が時間T_FR[2]よりも大きいか否かを判断し、T_FR[1]>T_FR[2]であると判断すると(S910でYes)、S920に移行して、S920以降の処理を実行する。尚、S920以降の処理は、図16及び図5を比較すれば理解できるように、第一実施例におけるS320以降の処理と同様である。即ち、S920〜S990の各ステップS9**(**は任意の数字)は、上述した下二桁が同一のステップS3**と同一の処理を行うステップである。従って、ここでは、S920以降の処理の説明を省略する。
その他、S910において、T_FR[1]>T_FR[2]ではないと判断すると(S910でNo)、データ振分部35は、S960に移行して、S360以降の処理と同内容の処理を、S960以降の処理にて実行する。
このようにして、本実施例のデータ振分部35は、送信バッファが一杯になっていない限り、T_FR[1]>T_FR[2]である場合には、第一無線通信インタフェース20aに、車載装置5から入力されたパケットを振り分け、振分先の第一無線通信インタフェース20aに、該当パケットを、無線の形態で外部装置に送信させる。また、データ振分部35は、T_FR[1]>T_FR[2]ではない場合、第二無線通信インタフェース20bに、車載装置5から入力されたパケットを振り分け、振分先の第二無線通信インタフェース20bに、該当パケットを、無線の形態で外部装置に送信させる。
以上、第五実施例のマルチリンク通信装置10について説明したが、このマルチリンク通信装置10では、各リンクを使用する自装置以外の通信装置が、当該リンクを使用してデータ伝送を行うタイミングを、通信装置毎に推定し、これらの推定結果に基づき、送信対象のパケットを、第一及び第二無線通信インタフェース20bのいずれかに振り分け、振分先の無線通信インタフェースに該当パケットを外部装置に送信させる。
従って、本実施例のマルチリンク通信装置10によれば、同一リンクを用いてデータ伝送を行う他通信装置のデータ送信動作とあまり干渉することなく、他通信装置がデータ伝送を行っていない期間に、自装置にてデータ送信動作を実行することができる。よって、本実施例によれば、他通信装置との衝突が起こりにくく、スループットの低下を抑制することができ、効率的に、空いているリンクに対応する無線通信インタフェースに、送信対象パケットを振り分けることができる。
以上、第一〜第五実施例について説明したが、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。
例えば、第一実施例では、計測時間Tmが、各リンクのアイドル時間よりも短くならないように、マルチリンク通信装置10を構成したが、計測時間Tmは固定値にされてもよい。
また、第一実施例において、ネットワークシステム1が、マルチリンク通信装置10の一群からなり、各マルチリンク通信装置10が、送信対象データを構成する各パケットを、一定の時間間隔で、複数のリンクのいずれかに、順に振り分けて、外部装置に、一定間隔で各パケットを送出する構成にされている場合には、パケットの送出間隔に、リンクの個数、即ち、マルチリンク通信装置10が備える無線通信インタフェースの個数を乗じた時間を、計測時間Tmに設定されるとよい。即ち、各マルチリンク装置がn個のリンクに対して順にパケットを振り分けて、送出間隔Tdでパケットを送信する構成にされている場合には、計測時間Tmを、Tm=Td・nに設定されるとよい。
このように計測時間Tmを設定すれば、短い計測時間Tmで、各リンクの混雑度を適切に評価することができ、各パケットを適切に振り分けることができる。
即ち、この場合のマルチリンク通信装置10は、各リンクに、一定の時間間隔で順にパケットを振り分けるので、n個のリンクL1〜Lnに対して、L1,L2,L3,…,Lnの順にパケットを振り分けるのか、Ln,Ln−1,Ln−2,…,L1の順に振り分けるのか、その振分順序は、各マルチリンク通信装置10毎に異なるが、各マルチリンク通信装置10は、時間Tmの間に、各リンクに対して1回ずつパケットを送出することになる。
従って、計測時間Tmを、計測時間Tm=Td・nに設定すれば、各リンクへのパケット振分タイミングの偏りを、キャリアセンスオフ時間により短い時間で効率的に把握することができ、各マルチリンク通信装置10において、他のマルチリンク通信装置10におけるパケットの振分順序を考慮しながら、適切な順序でパケットを、各リンクのいずれかに振り分けることができる。よって、計測時間Tmを上記のように設定すれば、効率的に各リンクへのパケット振分タイミングの偏りを評価することができて、ネットワークシステム1全体のスループットを向上させることができる。
また、上記実施例では、リンクL1,L2の送信バッファ量が限界値以上である場合にはパケットを廃棄するように、マルチリンク通信装置10を構成したが、データ振分部35にバッファを設けて、パケットを破棄せず、両リンクL1,L2の送信バッファのいずれかに空きが出た際、データ振分部35のバッファに蓄積しておいたパケットを、リンクL1,L2のいずれかに振り分けるように、マルチリンク通信装置10を構成してもよい。
マルチリンク通信装置10を有するネットワークシステム1の構成を表す説明図である。
マルチリンク通信装置10の構成を表すブロック図である。
計測部31が繰返し実行する計測処理を表すフローチャートである。
計測時間設定部33が繰返し実行する計測時間設定処理を表すフローチャートである。
データ振分部35が繰返し実行するデータ振分処理を表すフローチャートである。
リンクL1,L2でのデータ伝送態様に関する説明図である。
第二実施例において、データ振分部35が繰返し実行するデータ振分処理を表すフローチャートである。
第三実施例において、計測部31が実行する計測編集処理を表すフローチャートである。
第三実施例のヒストグラムの一例を表す説明図である。
第三実施例において、データ振分部35が繰返し実行するデータ振分処理を表すフローチャートである。
第四実施例において、計測部31が実行する計測編集処理を表すフローチャートである。
第四実施例のヒストグラムの一例を表す説明図である。
第四実施例において、データ振分部35が繰返し実行するデータ振分処理を表すフローチャートである。
第五実施例において、計測部31が実行する計測推定処理を表すフローチャートである。
周期的にリンクL1,L2に送出されるパケットの態様を表した説明図である。
第五実施例において、データ振分部35が繰返し実行するデータ振分処理を表すフローチャートである。
符号の説明
1…ネットワークシステム、5…車載装置、10…マルチリンク通信装置、20…無線通信インタフェース、20a…第一無線通信インタフェース、20b…第二無線通信インタフェース、21…送受信アンテナ、23…通信制御部、25…受信強度検出部、27…キャリアセンス部、30…制御回路、31…計測部、33…計測時間設定部、35…データ振分部、50…シングルリンク通信装置