(57)【特許請求の範囲】
【請求項１】
データの送信先となる複数の送信先候補への各々に対応したパケット単位のデータを記憶する複数の記憶領域を有し、該記憶領域毎に、パケット蓄積数と、そのパケットサイズと、これらパケットが格納された格納時刻とからなる情報を記憶する記憶部と、
上記記憶部から、上記記憶領域毎のパケット蓄積数及びそのパケットサイズを検出する検出部と、
上記検出された上記パケット蓄積数及びそのパケットサイズに対してそれぞれ所定の閾値を設定し、上記複数の送信先候補の中から、少なくとも１つの閾値を超えている送信先候補を有力送信先候補に設定して、上記有力送信先候補から１つの送信先を選択する送信先選択部と、
上記送信先選択部により選択された送信先の複数のパケットを上記記憶領域から読み出して、該複数のパケットを連結して送信信号を生成する送信信号生成部とを備え、
上記検出部は、上記記憶部に記憶された格納時刻に基づいて、上記記憶領域毎に上記パケットが格納されてから上記送信信号生成部へ読み出されるまでの送信待機時間を検出し、
上記送信先選択部は、上記送信待機時間に対して所定の閾値を設定して、上記複数の送信先候補の中の当該閾値を超えている送信先候補を上記有力送信先候補よりも優先して上記送信先に選択する通信装置。
【請求項２】
データの送信先となる複数の送信先候補への各々に対応したパケット単位のデータを記憶する複数の記憶領域を有し、該記憶領域毎に、パケット蓄積数と、そのパケットサイズと、これらパケットが格納された格納時刻とからなる情報を記憶する記憶部から、上記記憶領域毎のパケット蓄積数及びそのパケットサイズを検出する検出ステップと、
上記検出ステップにより検出された上記パケット蓄積数及びそのパケットサイズに対してそれぞれ所定の閾値を設定して、上記複数の送信先候補の中から、少なくとも１つの閾値を超えている上記送信先候補を有力送信先候補に設定して、上記有力送信先候補から１つの送信先を選択する送信先選択ステップと、
上記送信先選択ステップにより選択された送信先の複数のパケットを上記記憶領域から読み出して、該複数のパケットを連結して送信信号を生成する送信信号生成ステップとを有し、
上記検出ステップでは、上記記憶部に記憶された格納時刻に基づいて、上記記憶領域毎に上記パケットが格納されてから上記送信信号として生成されるまでの送信待機時間を検出し、
上記送信先選択ステップでは、上記送信待機時間に対して所定の閾値を設定して、上記複数の送信先候補の中の当該閾値を超えている送信先候補を、上記有力送信先候補よりも優先して上記送信先に選択する通信装置の送信制御方法。
【請求項３】
複数の送信先候補と通信を行う通信装置に搭載されるコンピュータにより実行される送信制御プログラムであって、
データの送信先となる複数の送信先候補への各々に対応したパケット単位のデータを記憶する複数の記憶領域を有し、該記憶領域毎に、パケット蓄積数と、そのパケットサイズと、これらパケットが格納された格納時刻とからなる情報を記憶する記憶部から、上記記憶領域毎のパケット蓄積数及びそのパケットサイズを検出する検出ステップと、
上記検出ステップにより検出された上記パケット蓄積数及びそのパケットサイズに対してそれぞれ所定の閾値を設定して、少なくとも１つの閾値を超えている上記送信先候補を有力送信先候補に設定して、上記有力送信先候補から１つの送信先を選択する送信先選択ステップと、
上記送信先選択ステップにより選択された送信先の複数のパケットを上記記憶領域から読み出して、該複数のパケットを連結して送信信号を生成する送信信号生成ステップとを有し、
上記検出ステップでは、上記記憶部に記憶された格納時刻に基づいて、上記記憶領域毎に上記パケットが格納されてから上記送信信号として生成されるまでの送信待機時間を検出し、
上記送信先選択ステップでは、上記送信待機時間に対して所定の閾値を設定して、当該閾値を超えている送信先候補を上記有力送信先候補よりも優先して上記送信先に選択する送信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信信号の送信先を送信先候補から選択する通信装置及び送信制御方法及び送信制御プログラムに関する。
【背景技術】
【０００２】
複数の端末からなる通信システムでは、各端末がデータの送信先を選択するアルゴリズムとして従来から、Ｒｏｕｎｄ  ＲｏｂｉｎアルゴリズムやＭａｘ  Ｑｕｅｕｅアルゴリズムなどがある。Ｒｏｕｎｄ  Ｒｏｂｉｎアルゴリズムは、図８に示すように、各送信先候補（端末Ａ〜Ｄ）を順番として送信先に選択するアルゴリズムである。Ｍａｘ  Ｑｕｅｕｅアルゴリズムは、図９に示すように、各送信先候補に送信するデータを記憶する送信バッファ内において最もパケットが蓄積されている送信先候補を送信先に選択するアルゴリズムである。通信開始段階において、各端末は、これらのアルゴリズムに基づいて送信先を選択して、その送信先への送信フレームの作成処理等を行う。
【０００３】
このような、送信フレームの作成処理には、図１０に示すように、オーバーヘッド部分に対するペイロード部分の比率を高くする目的で、複数のパケットを連結して単一のフレームを作成する方式がある。このような方式では、図１１に示すように、個々のパケットサイズが小さかったり、連結するパケット数が少ない場合、たとえ複数のパケットを連結してもプリアンブルやファイヘッダなど送信フレームのオーバーヘッド部分に比べて、ペイロード部分の比率が大きくならない。この結果、従来の方式では、複数のパケットを連結したにもかかわらず、送信効率がほとんど高くならない問題があった。
【０００４】
また、Ｍａｘ  Ｑｕｅｕｅアルゴリズムのように送信先の選択が送信バッファに記憶されている各送信先のパケット蓄積数に依存する送信先選択アルゴリズムでは、このパケット蓄積数が少なくならない限り、パケット蓄積数の少ない送信先へ送信機会が回ってこない問題がある。特に、各端末間においてＴＣＰ接続されている場合には、送信頻度が高い送信先への送信パケット数がより多く発生するため、送信頻度の低い送信先への送信パケットが徐々に少なくなり、結果として、これらの送信先との通信が途絶えてしまう結果となる。
【０００５】
一方、通信状態が悪い端末への送信は、誤りの発生確率が高いため、この端末からＡＣＫ応答がある可能性が低い。したがって、通信システムは、このような誤り発生率の高い端末よりも、通信状態の比較的良い端末を送信先に選択する方が、実質的な通信速度を向上することができる。したがって、Ｒｏｕｎｄ  Ｒｏｂｉｎアルゴリズムのように、全ての端末に対して均等に送信機会を与えるアルゴリズムでは、通信状態が悪い端末への送信処理に通信装置の通信リソースを割くことになり、通信システム全体の実質的な通信速度を低下させてしまう問題があった。
【０００６】
特許文献１には、通信状態が悪い送信先に通信装置のリソースを割り当てないように、送信先の選択方法を切り換えて、このリソースを効率的に分配して通信システム全体の通信速度を向上するパケット送信スケジューリング装置が記載されている。
【０００７】
また、アプリケーションの種類によっては、送信遅延やジッタなどを低く抑えてデータ通信を行わなければならない送信先がある。しかしながら、Ｍａｘ  Ｑｕｅｕｅアルゴリズムのように送信バッファからの情報に基づいて送信先選択を行うアルゴリズムや、Ｒｏｕｎｄ  Ｒｏｂｉｎアルゴリズムなどを使用している場合には、これらの送信先に必ずしも送信機会が回ってくるとはいえず、上述した送信遅延やジッタを低く抑えることが難しいという問題があった。
【０００８】
【特許文献１】特開２００２−２６１８６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、このような実情に鑑みて提案されたものであり、高送信効率を実現する通信装置及び送信制御方法及び送信制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の課題を解決するために、本発明に係る通信装置は、データの送信先となる複数の送信先候補への各々に対応したパケット単位のデータを記憶する複数の記憶領域を有し、該記憶領域毎に、パケット蓄積数と、そのパケットサイズと、これらパケットが格納された格納時刻とからなる情報を記憶する記憶部と、上記記憶部から、上記記憶領域毎のパケット蓄積数及びそのパケットサイズを検出する検出部と、上記検出された上記パケット蓄積数及びそのパケットサイズに対してそれぞれ所定の閾値を設定し、上記複数の送信先候補の中から、少なくとも１つの閾値を超えている送信先候補を有力送信先候補に設定して、上記有力送信先候補から１つの送信先を選択する送信先選択部と、上記送信先選択部によって選択された送信先の複数のパケットを上記記憶領域から読み出して、該複数のパケットを連結して送信信号を生成する送信信号生成部とを備え、上記検出部は、上記記憶部に記憶された格納時刻に基づいて、上記記憶領域毎に上記パケットが格納されてから上記送信信号生成部へ読み出されるまでの送信待機時間を検出し、上記送信先選択部は、上記送信待機時間に対して所定の閾値を設定して、上記複数の送信先候補の中の当該閾値を超えている送信先候補を上記有力送信先候補よりも優先して上記送信先に選択する。
【００１１】
また、本発明に係る送信制御方法は、データの送信先となる複数の送信先候補への各々に対応したパケット単位のデータを記憶する複数の記憶領域を有し、該記憶領域毎に、パケット蓄積数と、そのパケットサイズと、これらパケットが格納された格納時刻とからなる情報を記憶する記憶部から、上記記憶領域毎のパケット蓄積数及びそのパケットサイズを検出する検出ステップと、上記検出ステップにより検出された上記パケット蓄積数及びそのパケットサイズに対してそれぞれ所定の閾値を設定して、上記複数の送信先候補の中から、少なくとも１つの閾値を超えている上記送信先候補を有力送信先候補に設定して、上記有力送信先候補から１つの送信先を選択する送信先選択ステップと、上記送信先選択ステップにより選択された送信先の複数のパケットを上記記憶領域から読み出して、該複数のパケットを連結して送信信号を生成する送信信号生成ステップとを有し、上記検出ステップでは、上記記憶部に記憶された格納時刻に基づいて、上記記憶領域毎に上記パケットが格納されてから上記送信信号として生成されるまでの送信待機時間を検出し、上記送信先選択ステップでは、上記送信待機時間に対して所定の閾値を設定して、上記複数の送信先候補の中の当該閾値を超えている送信先候補を、上記有力送信先候補よりも優先して上記送信先に選択する。
【００１２】
また、本発明に係る送信制御プログラムは、複数の送信先候補と通信を行う通信装置に搭載されるコンピュータにより実行される送信制御プログラムであって、データの送信先となる複数の送信先候補への各々に対応したパケット単位のデータを記憶する複数の記憶領域を有し、該記憶領域毎に、パケット蓄積数と、そのパケットサイズと、これらパケットが格納された格納時刻とからなる情報を記憶する記憶部から、上記記憶領域毎のパケット蓄積数及びそのパケットサイズを検出する検出ステップと、上記検出ステップにより検出された上記パケット蓄積数及びそのパケットサイズに対してそれぞれ所定の閾値を設定して、少なくとも１つの閾値を超えている上記送信先候補を有力送信先候補に設定して、上記有力送信先候補から１つの送信先を選択する送信先選択ステップと、上記送信先選択ステップにより選択された送信先の複数のパケットを上記記憶領域から読み出して、該複数のパケットを連結して送信信号を生成する送信信号生成ステップとを有し、上記検出ステップでは、上記記憶部に記憶された格納時刻に基づいて、上記記憶領域毎に上記パケットが格納されてから上記送信信号として生成されるまでの送信待機時間を検出し、上記送信先選択ステップでは、上記送信待機時間に対して所定の閾値を設定して、当該閾値を超えている送信先候補を上記有力送信先候補よりも優先して上記送信先に選択する。
【発明の効果】
【００１３】
本発明は、パケットを連結しても十分な送信効率が実現できないと判断された送信先候補の送信待機時間が、所定の閾値を超えていれば優先的に送信先に選択することにより、全ての送信先候補を、最大遅延許容値の超えることなく送信先として選択しつつ、パケット連結による送信効率の向上を図ることが可能な通信システムを構築することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１５】
まず、複数の端末との間でデータ通信を行う通信装置が備える送信制御部１について説明する。送信制御部１は、複数の端末への送信処理を制御する処理部であって、図１に示すように、送信バッファ１１と、送信先選択部１２と、送信信号生成部１３とを備える。
【００１６】
送信バッファ１１は、パケットを一時的に記憶するキューを送信先毎に有している。また、送信バッファ１１は、各キューに記憶されている送信先候補へのパケット蓄積数と、そのパケットサイズと、これらのパケットがキューに格納された格納時刻と、その送信レートとからなる情報を記憶している。
【００１７】
送信先選択部１２は、送信バッファ１１から各送信先候補へのパケット蓄積数とそのパケットサイズと、これらのパケットの格納時刻と送信レートに基づいて、適切な送信先を選択する。送信先選択部１２は、複数の送信先候補から送信先を選択すると、送信トリガと、送信Ｎｏｄｅ情報とを送信信号生成部１３へ供給する。
【００１８】
送信信号生成部１３は、送信先選択部１２から送信トリガと送信Ｎｏｄｅ情報が供給されると、送信先情報に基づいた送信先候補の送信データを送信バッファ１１から読み出して、送信フレームを作成して送信信号を生成する。
【００１９】
また、送信信号生成部１３は、送信バッファ１１から読み出すデータの種類や通信速度に応じて、パケット連結指示フラグを用いてパケットを連結して送信するか否かを送信先選択部１２へ指示する。すなわち、送信信号生成部１３は、パケットを連結して送信フレームを生成する場合にはパケット連結指示フラグを有効にし、パケットを連結して送信フレームを生成しない場合にはパケット連結指示フラグを無効にする。
【００２０】
以下では、６つの実施例に分けて、複数の送信先候補から最適な送信先を選択する送信先選択部１２の動作に注目して詳細に説明する。
【００２１】
＜実施例１＞
本実施例において実現しようとする機能を簡潔に説明すると、以下の通りである。まず、通信装置において送信しようとするフレーム内に複数のパケットを多重して送信先に送信しようとする場合（一般にアグリゲーションと呼ばれ、１フレームにて複数のパケットを送信する）、当該送信先に対して送信すべきデータ量が所定値を下回っている状態にてフレーム送信を行ってしまうと、データの送信効率が所望の効率を確保できないという事象が発生しかねない。以上の観点から、本実施例に係る通信装置においては、各送信先に対して送信すべきデータのパケット数又はキュー内のデータ量に応じて、最適な閾値を設定しておき、当該宛先に対して送信するべきデータのデータ量が当該値を上回った場合に、当該送信先を実際のデータ送信対象として選択しようとするものである。
【００２２】
以下、図２を参照して送信先選択部１２の処理工程を詳細に説明する。前提として、送信信号生成部１３は、パケットを連結して送信フレームの作成処理を行い、これに伴って、パケット連結指示フラグを有効にしている。また、送信先選択部１２は、初期段階において、送信バッファ１１から送信先候補のパケット蓄積数とそのパケットサイズを読み出しているものとする。
【００２３】
ステップＳ１において、送信先選択部１２は、送信バッファ１１から読み出したパケット蓄積数が閾値Ａを超えているか否かを判断する。ここで、閾値Ａ以上のパケットが連結される場合には、送信信号生成部１３が作成する送信フレームにおいて、オーバーヘッド部分に対するペイロード部分の比率が十分に大きくなったと判断される。
【００２４】
送信先選択部１２は、パケット蓄積数が閾値Ａを超えていないと判断すると、ステップＳ２へ進む。一方、送信先選択部１２は、パケット蓄積数が閾値Ａを超えていると判断すると、この送信先候補を有力送信先候補に設定してステップＳ３へ進む。
【００２５】
ステップＳ２において、送信先選択部１２は、送信バッファ１１から読み出したパケット蓄積数とそのパケットサイズに応じて、その送信先候補に該当する送信バッファ１１のキューに記憶されているバッファサイズを算出して、このバッファサイズが閾値Ｂを超えているか否かを判断する。ここで、閾値Ｂ以上のデータサイズのパケットが連結される場合には、送信信号生成部１３が作成する送信フレームにおいて、オーバーヘッド部分に対してペイロード部分の大きさが十分に大きくなったと判断される。
【００２６】
送信先選択部１２は、バッファサイズが閾値Ｂを超えていないと判断するとステップＳ６へ進む。また、送信先選択部１２は、バッファサイズが閾値Ｂを超えていると判断すると、この送信先候補を有力送信先候補に設定してステップＳ３へ進む。
【００２７】
ステップＳ３において、送信先選択部１２は、ステップＳ１、Ｓ２で設定された有力送信先候補を、パケット蓄積数及びバッファサイズに基づいて最有力送信先候補と比較してステップＳ４へ進む。ここで、最有力送信先候補は、最も優先順位の高い送信先候補である。また、この優先順位は、パケット蓄積数及びそのパケットサイズを含めパケットの格納時間や送信レートにより判断される。
【００２８】
ステップＳ４において、送信先選択部１２は、ステップＳ１、Ｓ２で設定された有力送信先候補を、ステップＳ３の比較結果に基づいて送信先として選択するか否かを判断する。送信先選択部１２は、この有力送信先候補を送信先として選択するとステップＳ５に進み、この有力送信先候補を送信先として選択しないとステップＳ６へ進む。
【００２９】
ステップＳ５において、送信先選択部１２は、ステップＳ１、Ｓ２で設定された有力送信先候補を最有力送信先候補に設定してステップＳ６へ進む。
【００３０】
ステップＳ６において、送信先選択部１２は、送信バッファ１１から他の送信先候補のパケット蓄積数及びそのパケットサイズを読み出してステップＳ１に戻る。
【００３１】
このように、送信先選択部１２は、閾値Ａ及び閾値Ｂに基づいて、パケットを連結して送信フレームを作成しても十分な送信効率が得られるか否かを判断する。そして、送信先選択部１２は、十分な送信効率が得られないと判断された送信先候補を、送信先の選択対象から除外する。したがって、送信信号生成部１３は、送信フレームを作成する場合にペイロード部分の比率をオーバーヘッド部分に対して大きくすることができるので、実質的な通信速度を向上させることができる。
【００３２】
＜実施例２＞
本実施例において実現しようとする機能について簡潔に説明する。本実施例においても実施例１と同様に送信先に送信すべきデータ量が予め定められた閾値を上回った場合にフレーム送信を実行するようになっている。ここで、本実施例において実施例１と異なる点は、送信先に対するデータ量のみならず、送信待機時間をも加味して、データの送信先候補を決定する点にある。
【００３３】
すなわち、本実施例による送信先選択部１２では、実施例１と同様に閾値Ａ及び閾値Ｂに基づいて有力送信先候補を設定するとともに、送信先候補毎に送信バッファ１１からパケットの格納時刻を読み出し、この格納時刻に基づいて送信先の選択を行うのである。ここで、パケットの格納時刻とは、送信バッファ１１に格納された時刻を示す。
【００３４】
本処理は、図３に示すように、ステップＳ１１〜Ｓ１４までの工程が図２に示したステップＳ１〜Ｓ４までの工程に対応するので、これらの処理工程に関する説明を省略する。また、送信先選択部１２は、ステップＳ１２においてバッファサイズが閾値Ｂを超えていないと判断するとステップＳ１５へ進む。また、本処理は、ステップＳ１４において、有力送信先候補を送信先として選択すると、ステップＳ１６へすすみ、有力送信先候補を送信先として選択しないとステップＳ１５へ進む。
【００３５】
ステップＳ１５において、送信先選択部１２は、送信バッファ１１から読み出したパケットの格納時刻と現在時刻から、これらのパケットが送信バッファ１１に記憶されてから送信信号生成部１３に読み出されるまでの送信待機時間を算出し、算出した送信待機時間が閾値Ｃを超えているか否かを判断する。また、閾値Ｃは、送信遅延の最大許容値から最小限の余裕を差し引いた時間である。ここで、送信先選択部１２は、送信待機時間が閾値Ｃを超えていると判断するとステップＳ１６へ進み、送信待機時間が閾値Ｃを超えていないと判断するとステップＳ１７へ進む。
【００３６】
ステップＳ１６において、送信先選択部１２は、ステップＳ１１、Ｓ１２、Ｓ１５のいずれかの条件を満たした有力送信先候補を最有力送信先候補に設定してステップＳ１７へ進む。
【００３７】
ステップＳ１７において、送信先選択部１２は、送信バッファ１１から他の送信先候補のパケット蓄積数及びそのパケットサイズを読み出してステップＳ１１に戻る。
【００３８】
以上のように、本実施例に係る送信先選択部１２は、ステップＳ１１、Ｓ１２の判断処理によってパケットを連結しても十分な送信効率が実現できないと判断された送信先候補が、ステップＳ１５において送信待機時間が閾値Ｃを超えていれば優先的に最有力送信先候補に設定する。
【００３９】
実施例１の処理工程では、送信先候補がすくなくともステップＳ１、Ｓ２のいずれかの条件を満たすまで、送信データが送信バッファ１１のキューに待機された状態となっているため、送信遅延の最大許容時間を超えてしまう虞がある。これに対して、本実施例に係る送信先選択部１２は、全ての送信先候補を、最大遅延許容値の超えることなく送信先として選択するとともに、パケット連結による送信効率の向上を図ることができる。
【００４０】
＜実施例３＞
本実施例において実現しようとする機能を簡潔に説明する。まず、送信対象となるアプリケーションの種類によっては、送信信号を生成するに際して、アグリゲーション処理を行わずに、遅滞なく送信先へ送信することが要求される場合がある。そこで、本実施例に係る通信装置では、アプリケーションの種類に応じて送信フレームにアグリゲーション処理が有効であるか否かを判断して、当該判断結果に応じて適切な送信先選択アルゴリズムを選択することにより通信効率の向上を図る。
【００４１】
以下、本実施例に係る送信先選択部１２の処理工程について図４を参照して詳細に説明する。
【００４２】
ステップＳ２１において、送信先選択部１２は、送信信号生成部１３から指示されるパケット連結指示フラグが有効であるか無効であるかを判断する。送信先選択部１２は、パケット連結指示フラグが有効であると判断するとステップＳ２２へ進み、パケット連結指示フラグが無効であると判断するとステップＳ２３へ進む。ここで、送信信号生成部１３は、送信先候補毎に送信するデータのアプリケーションに応じて、パケット連結指示フラグを有効にするか否かを判断する。
【００４３】
ステップＳ２２において、送信先選択部１２は、Ｍａｘ  Ｑｕｅｕｅアルゴリズムに基づいて送信先候補から送信先を選択してステップＳ２４へ進む。ここで、Ｍａｘ  Ｑｕｅｕｅアルゴリズムは、送信バッファ１１のキューにおいてパケット蓄積数が最も大きい送信先候補を送信先に選択するアルゴリズムである。
【００４４】
ステップＳ２３において、送信先選択部１２は、Ｒｏｕｎｄ  Ｒｏｂｉｎアルゴリズムに基づいて送信先候補から送信先を選択して、ステップＳ２４へ進む。ここで、Ｒｏｕｎｄ  Ｒｏｂｉｎアルゴリズムは、送信先候補に対して順番に送信機会を与えていくアルゴリズムである。
【００４５】
ステップＳ２４において、送信先選択部１２は、ステップＳ２２又はステップＳ２３による送信先の選択処理によって、送信先候補から送信先を決定する。
【００４６】
ステップＳ２５において、送信先選択部１２は、決定した送信先への送信信号の生成を送信信号生成部１３に行わせる。
【００４７】
以上のように、送信先選択部１２では、Ｍａｘ  ＱｕｅｕｅアルゴリズムとＲｏｕｎｄ  Ｒｏｂｉｎアルゴリズムの両方の送信先選択アルゴリズムを備え、これら２つのアルゴリズムから１つを選択して送信先を選択する。
【００４８】
ステップＳ２１の処理に関連して、送信信号生成部１３は、データの種類に応じてパケット連結指示フラグを有効にするか否かを判断する。ＴＣＰ／ＩＰネットワークを用いて音声データを送受信するＶｏＩＰ通信など、通信データの最大遅延時間をできるだけ低く抑える必要がある種類のデータを送信する場合に、送信信号生成部１３は、パケット連結指示フラグを無効にする。これに対して、最大遅延時間にできるだけ余裕を持たせても通信システム全体の通信速度をできるだけ速くする必要のある種類のデータを送受信する場合、Ｒｏｕｎｄ  Ｒｏｂｉｎアルゴリズムでは、全ての送信先候補に送信機会を均等に与えるので、Ｍａｘ  Ｑｕｅｕｅアルゴリズムに対してパケット連結機能が有効に作用しない。このような種類のデータを送信する場合に、送信信号生成部１３は、パケット連結指示フラグを有効にする。
【００４９】
したがって、送信先選択部１２は、送信データのアプリケーションの種類に応じて、適切な送信先選択アルゴリズムを選択することで送信効率を向上することができる。
【００５０】
＜実施例４＞
本実施例において実現しようとする機能について簡潔に説明する。Ｍａｘ  Ｑｕｅｕｅアルゴリズムを用いて送信先選択を行うとともに、各送信先候補との間でＴＣＰ接続されていた場合には、送信回数の少ない送信先候補への送信機会が最終的に途絶えてしまう可能性がある。これに対して、本処理では、このような通信の切断を防ぐため、送信先候補の選択に当たって、各送信先候補の送信待機時間を選択要素として用いる。
【００５１】
本実施例に係る送信先選択部１２の処理工程について図５を参照して詳細に説明する。ここで、本処理は図４のステップＳ２２の処理工程に以下の工程を加えたものである。よって、初期段階において送信先選択部１２は、パケット連結指示フラグが有効であることを判断してＭａｘ  Ｑｕｅｕｅアルゴリズムを用いて送信先の選択を完了したものとし、続いて以下の処理工程を行う。
【００５２】
ステップＳ３１において、送信先選択部１２は、送信バッファ１１から送信先候補を選択して、この送信先候補への送信データが記憶されている送信バッファ１１のキューからパケット格納時刻を読み出す。
【００５３】
ステップＳ３２において、送信先選択部１２は、読み出したパケット格納時刻からこれらのパケットの送信待機時間を算出する。そして、送信先選択部１２は、算出した送信待機時間が所定の制限値を超えているかを判断し、制限値を超えている場合にはステップＳ３３へ進み、制限値を超えていない場合には本処理を終了する。ここで、この制限値は、送信データのアプリケーションの種類に応じた最大送信遅延許容時間に、一定の余裕を差し引いた時間である。
【００５４】
ステップＳ３３において、送信先選択部１２は、送信待機時間が制限値を超えている送信先候補を送信先に決定する。すなわち、送信先選択部１２は、Ｍａｘ  Ｑｕｅｕｅアルゴリズムによって選択された送信先候補からこの制限時間を超えている送信先候補へ送信先を変更する。
【００５５】
ところで、Ｍａｘ  Ｑｕｅｕｅアルゴリズムを用いて送信先選択を行うとともに、各送信先候補との間でＴＣＰ接続されていた場合には、送信回数の少ない送信候補への送信機会が最終的に途絶えてしまう問題があった。これに対して、本処理では、全ての送信先候補に対して最大送信遅延許容時間を超えることなく送信機会を割り当てるので、上述したＭａｘ  Ｑｕｅｕｅアルゴリズムにより通信が切断されてしまう虞のある送信先候補を無くすことができる。
【００５６】
＜実施例５＞
本実施例で実現しようとする目的は、各送信先候補への再送回数に基づいて、通信状態が悪く再送回数が多い送信先候補への送信機会を減らし、優先的に通信状態が良い送信先候補への送信機会を増加させて、通信システム全体での通信効率を高めることである。
【００５７】
具体的に、送信制御部１では、各送信先への送信回数をカウントするとともに、送信先から送信データを正常受信した旨のＡＣＫが返信されると、この送信先への再送回数を０に戻す処理を行う。
【００５８】
続いて、本実施例に係る送信先選択部１２の処理工程について図６を参照して詳細に説明する。ここで、本処理は、図４のステップＳ２２の処理工程に以下の工程を加えたものである。よって、初期段階において、送信先選択部１２は、パケット連結指示フラグが有効であることを判断してＭａｘ  Ｑｕｅｕｅアルゴリズムにより送信先を選択し、続いて以下の処理工程を行う。
【００５９】
ステップＳ４１において、送信先選択部１２は、送信先候補への送信データが記憶されている送信バッファ１１からパケット蓄積数を読み出す。
【００６０】
ステップＳ４２において、送信先選択部１２は、読み出したパケット蓄積数を分子とし、この送信先候補への再送回数を分母とした評価値を算出してＣｕｒｒｅｎｔＭａｘ値と比較する。送信先選択部１２は、この評価値がＣｕｒｒｅｎｔＭａｘ値を超えていると判断するとステップＳ４３へ進み、この評価値がＣｕｒｒｅｎｔＭａｘ値を超えていないと判断すると本処理を終了する。ここで、ＣｕｒｒｅｎｔＭａｘ値は、その初期値が０であって、以下に示すステップＳ４３により、その値が更新される。
【００６１】
ステップＳ４３において、送信先選択部１２は、ステップＳ４２において算出した評価値をＣｕｒｒｅｎｔＭａｘ値に代入する。
【００６２】
ステップＳ４４において、送信先選択部１２は、この送信先を暫定送信先に選択して、ステップＳ４１に戻る。
【００６３】
以上のように、本処理工程を実行して順次送信先候補毎に評価していき、最終的な送信先を決定する。よって、本処理では、送信先候補への再送回数が多くなるほどその評価値が小さくなるので、この送信先候補が送信先に選択される可能性が低くなっていく。したがって、本処理を行う送信先選択部１２は、通信状態の悪い送信先候補への再送を削減することにより、これらの送信先候補に割かれる通信リソースが減少するので、通信状態の悪い送信先候補との間では通信速度が低下するが、通信システム全体において実質的な通信速度を向上することができる。
【００６４】
＜実施例６＞
本実施例で実現しようとする目的は、予め送信遅延や通信速度の揺らぎを低減して送信しなければならないアプリケーションのデータを送受信する送信先候補を優先的に送信先に選択して、通信システム全体での通信効率を図ることである。
【００６５】
そこで、送信制御部１には、他の送信先候補よりも優先的に送信する必要がある優先送信先候補を記憶する優先送信先テーブルを備える。送信先選択部１２は、この優先送信先テーブルを用いて、図７を参照して以下に示す処理工程を行う。
【００６６】
ステップＳ５１において、送信先選択部１２は、優先送信先テーブルから優先送信先候補を読み出す。
【００６７】
ステップＳ５２において、送信先選択部１２は、読み出した優先送信先候補への送信データが記憶されている送信バッファ１１のキューにパケットが蓄積されているか否かを判断する。送信先選択部１２は、パケットが蓄積されていると判断するとステップＳ５３へ進み、パケットが蓄積されていないと判断するとステップＳ５４へ進む。
【００６８】
ステップＳ５３において、送信先選択部１２は、優先送信先候補を送信先に選択する。その後、送信信号生成部１３は、選択された送信先への送信信号を生成する。
【００６９】
ステップＳ５４において、送信先選択部１２は、優先送信先テーブルから全ての優先送信先候補を読み出したか否かを判断する。ここで、送信先選択部１２は、全ての優先送信先候補を読み出したと判断するとステップＳ５５へ進み、全ての優先送信先候補を読み出していないと判断するとステップＳ５１に戻る。
【００７０】
ステップＳ５５において、送信先選択部１２は、優先送信先候補以外の送信先候補に対し、図４に示したステップＳ２１〜ステップＳ２５までの処理を行い、送信先を選択し送信信号生成部１３に選択した送信先への送信信号を生成する。
【００７１】
このように、送信先選択部１２は、まず優先送信先候補を優先して送信先に選択した後に、その他の送信先候補に対する送信先の選択処理を開始する。したがって、優先送信先テーブルに送信遅延や通信速度の揺らぎを低減したい送信先候補が記憶されていると、送信先選択部１２は、これらの要求を満たすように送信先の選択を行うことができる。
【００７２】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【００７３】
【図１】送信制御部の構成を示すブロック図である。
【図２】実施例１に係る送信先選択部の処理工程を示すフローチャートである。
【図３】実施例２に係る送信先選択部の処理工程を示すフローチャートである。
【図４】実施例３に係る送信先選択部の処理工程を示すフローチャートである。
【図５】実施例４に係る送信先選択部の処理工程を示すフローチャートである。
【図６】実施例５に係る送信先選択部の処理工程を示すフローチャートである。
【図７】実施例６に係る送信先選択部の処理工程を示すフローチャートである。
【図８】Ｒｏｕｎｄ  Ｒｏｂｉｎアルゴリズムによる送信先選択方法を模式的に示す図である。
【図９】Ｍａｘ  Ｑｕｅｕｅアルゴリズムによる送信先選択方法を模式的に示す図である。
【図１０】パケットを連結して送信フレームを作成する処理工程を模式的に示す図である。
【図１１】パケットを連結して送信フレームを作成する処理工程を模式的に示す図である。
【符号の説明】
【００７４】
１  送信制御部、１１  送信バッファ、１２  送信先選択部、１３  送信信号生成部
【図１】
0004396657.tif 000002
【図２】
0004396657.tif 000003
【図３】
0004396657.tif 000004
【図４】
0004396657.tif 000005
【図５】
0004396657.tif 000006
【図６】
0004396657.tif 000007
【図７】
0004396657.tif 000008
【図８】
0004396657.tif 000009
【図９】
0004396657.tif 000010
【図１０】
0004396657.tif 000011
【図１１】
0004396657.tif 000012