(57)【要約】【課題】送信されたデータを速やかに転送することができる通信機器、通信方法、および通信用プログラムを提供する。【解決手段】受信データ記憶部１２には、受信されたデータが記憶される。識別子記憶部１１には、受信データ記憶部１２に記憶されたデータを識別するための識別子が記憶される。送信データ記憶部１３には、送信されるデータが記憶される。制御部１６は、送信データ記憶部１３における残記憶容量と、データの識別子に合致する識別子が識別子記憶部１１に既に記憶されているか否かの判断結果とに応じて、受信データ記憶部１２に記憶されているデータを送信データ記憶部１３に記憶させる。送信部１５は、送信データ記憶部１３に記憶されているデータを順次送信する。【選択図】      図７
2017022513.tif 000002
【特許請求の範囲】
【請求項１】
受信されたデータが記憶される受信データ記憶手段と、
前記受信データ記憶手段に記憶された前記データを識別するための識別子が記憶される識別子記憶手段と、
送信されるデータが記憶される送信データ記憶手段と、
前記送信データ記憶手段における残記憶容量と、前記データの識別子に合致する識別子が前記識別子記憶手段に既に記憶されているか否かの判断結果とに応じて、前記受信データ記憶手段に記憶されているデータを前記送信データ記憶手段に記憶させる制御手段と、
前記送信データ記憶手段に記憶されているデータを順次送信する送信手段とを備えた
ことを特徴とする通信機器。
【請求項２】
前記制御手段は、前記受信データ記憶手段に記憶されたデータの識別子に合致する識別子が前記識別子記憶手段に記憶されていないと判断した場合に、前記識別子記憶手段に前記データの識別子を記憶させる
請求項１に記載の通信機器。
【請求項３】
前記制御手段は、前記送信データ記憶手段における残記憶容量が、
所定の範囲の最大値よりも多い場合に、前記受信データ記憶手段に記憶されたデータを前記送信データ記憶手段に記憶させ、
前記所定の範囲の最小値以下である場合に、前記データを前記受信データ記憶手段から消去し、
前記最大値以下であって前記最小値よりも多い場合に、前記データの識別子と合致する識別子が前記識別子記憶手段に既に記憶されていると判断したときに、前記データを前記送信データ記憶手段に記憶させ、前記データの識別子と合致する識別子が前記識別子記憶手段に記憶されていないと判断したときに、前記データを前記受信データ記憶手段から消去する
請求項１または請求項２に記載の通信機器。
【請求項４】
無線通信でデータを受信する受信手段を含み、
前記制御手段は、前記受信手段における前記データの受信状況に応じて、前記所定の範囲を変化させる
請求項３に記載の通信機器。
【請求項５】
前記制御手段は、
前記受信手段における前記データの受信状況が悪化した場合に、前記所定の範囲の前記最大値をより大きい値に更新し
前記受信手段における前記データの受信状況が改善した場合に、前記所定の範囲の前記最大値をより小さい値に更新する
請求項４に記載の通信機器。
【請求項６】
前記受信データ記憶手段にデータが記憶された場合に、前記データを識別するための識別子としてハッシュ値を算出する計算手段を含み、
前記制御手段は、
前記受信データ記憶手段に記憶されたデータを、前記送信データ記憶手段における残記憶容量と、前記計算手段が算出した前記データのハッシュ値に合致するハッシュ値が前記識別子記憶手段に既に記憶されているか否かの判断結果とに応じて、前記送信データ記憶手段に記憶させ、
前記計算手段が算出したハッシュ値に合致するハッシュ値が前記識別子記憶手段に記憶されていないと判断した場合に、前記ハッシュ値を前記識別子記憶手段に記憶させる
請求項１から請求項５のうちいずれかに記載の通信機器。
【請求項７】
受信されたデータが記憶される受信データ記憶手段に記憶されているデータを、送信されるデータが記憶される送信データ記憶手段における残記憶容量と、前記データの識別子に合致する識別子が前記受信データ記憶手段に記憶された前記データを識別するための識別子が記憶される識別子記憶手段に既に記憶されているか否かの判断結果とに応じて、前記送信データ記憶手段に記憶させる制御ステップと、
前記送信データ記憶手段に記憶されているデータを順次送信する送信ステップとを含む
ことを特徴とする通信方法。
【請求項８】
コンピュータに、
受信されたデータが記憶される受信データ記憶手段に記憶されているデータを、送信されるデータが記憶される送信データ記憶手段における残記憶容量と、前記データの識別子に合致する識別子が前記受信データ記憶手段に記憶された前記データを識別するための識別子が記憶される識別子記憶手段に既に記憶されているか否かの判断結果とに応じて、前記送信データ記憶手段に記憶させる制御処理と、
前記送信データ記憶手段に記憶されているデータを順次送信する送信処理とを実行させる
ための通信用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信されたデータを転送する通信機器、通信方法、および通信用プログラムに関する。
【背景技術】
【０００２】
通信ネットワークにおいてデータの流れを制御するネットワーク機器がある。そのようなネットワーク機器は、受信したデータのデータ量が送信したデータのデータ量よりも多い場合に、データの滞留を防ぐため、輻輳制御を行う。
【０００３】
そして、そのような輻輳制御では、一般に、滞留しているデータのデータ量が、送信待ちのデータが保存されるキューの記憶容量を超える場合に、受信したデータが破棄（消去）される。具体的には、一般的な輻輳制御方式に、テイルドロップ（Ｔａｉｌ  Ｄｒｏｐ）方式と、ランダムアーリーディテクション（Ｒａｎｄｏｍ  Ｅａｒｌｙ  Ｄｅｔｅｃｔｉｏｎ）方式とが挙げられる。
【０００４】
図８は、テイルドロップ方式による輻輳制御を示す説明図である。図８に示すように、テイルドロップ方式では、滞留しているデータのデータ量と新たに受信したデータのデータ量との和がキューの記憶容量を超える場合に、新たに受信したデータが破棄される。
【０００５】
図９は、ランダムアーリーディテクション方式による輻輳制御を示す説明図である。図９に示すように、ランダムアーリーディテクション方式では、滞留しているデータのデータ量がキューの記憶容量に達する前から、新たに受信したデータが所定の可変割合で破棄される。
【０００６】
図１０は、イーサネット（登録商標）に基づくデータの再送回数とキューが当該データを受信完了するまでの時間との関係を示す説明図である。図１０に示すように、イーサネットでは、データの再送回数の増加に応じて、再送間隔が指数関数的に長くなる。
【０００７】
特許文献１に記載されている装置は、バッファにおけるパケットの蓄積量が最小バーストサイズを超えた場合に、所定の可変割合でパケットを破棄する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−８１６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、テイルドロップ方式では、キューに滞留しているデータの増加に応じて、データが当該キューに滞留している時間が長くなってしまうという問題がある。また、滞留しているデータのデータ量がキューの記憶容量に達している間は、新たに受信したデータが連続して破棄されるので、破棄された当該データは当該破棄に応じて再送される。したがって、再送時にはネットワーク機器が受信するデータ量がバースト的に増大することになる。そうすると、データ量がバースト的に増大したことによって、受信したデータの破棄を誘発してしまうという問題がある。
【００１０】
また、ランダムアーリーディテクション方式では、キューの記憶容量に対して当該キューに滞留しているデータのデータ量が十分に少ない場合であっても、受信したデータが再送されたデータであっても、受信したデータがランダムに破棄されてしまう。したがって、再送と破棄とが繰り替えされて、ネットワーク機器から送信されるまでに長時間を要するデータが生じるおそれがある。
【００１１】
そして、データの送信側がイーサネットに基づくタイミングでデータを再送した場合に、テイルドロップ方式またはランダムアーリーディテクション方式が採用されると、再送されたデータがネットワーク機器から送信されるまでに長時間を要するデータが生じるおそれがある。
【００１２】
そこで、本発明は、送信されたデータを速やかに転送することができる通信機器、通信方法、および通信用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明による通信機器は、受信されたデータが記憶される受信データ記憶手段と、受信データ記憶手段に記憶されたデータを識別するための識別子が記憶される識別子記憶手段と、送信されるデータが記憶される送信データ記憶手段と、送信データ記憶手段における残記憶容量と、データの識別子に合致する識別子が識別子記憶手段に既に記憶されているか否かの判断結果とに応じて、受信データ記憶手段に記憶されているデータを送信データ記憶手段に記憶させる制御手段と、送信データ記憶手段に記憶されているデータを順次送信する送信手段とを備えたことを特徴とする。
【００１４】
本発明による通信方法は、受信されたデータが記憶される受信データ記憶手段に記憶されているデータを、送信されるデータが記憶される送信データ記憶手段における残記憶容量と、データの識別子に合致する識別子が受信データ記憶手段に記憶されたデータを識別するための識別子が記憶される識別子記憶手段に既に記憶されているか否かの判断結果とに応じて、送信データ記憶手段に記憶させる制御ステップと、送信データ記憶手段に記憶されているデータを順次送信する送信ステップとを含むことを特徴とする。
【００１５】
本発明による通信用プログラムは、コンピュータに、受信されたデータが記憶される受信データ記憶手段に記憶されているデータを、送信されるデータが記憶される送信データ記憶手段における残記憶容量と、データの識別子に合致する識別子が受信データ記憶手段に記憶されたデータを識別するための識別子が記憶される識別子記憶手段に既に記憶されているか否かの判断結果とに応じて、送信データ記憶手段に記憶させる制御処理と、送信データ記憶手段に記憶されているデータを順次送信する送信処理とを実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、送信されたデータを速やかに転送することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態の通信機器の構成例を示すブロック図である。
【図２】本発明の第１の実施形態の通信機器がデータを受信した場合の動作を示すフローチャートである。
【図３】データが記憶されたキューの例を示す説明図である。
【図４】制御部が行うステップＳ１０５，Ｓ１０６の処理による比較結果に応じた処理を示す説明図である。
【図５】本発明の第１の実施形態の通信機器がデータを送信する場合の動作を示すフローチャートである。
【図６】本発明の第２の実施形態の通信機器の配置例を示すブロック図である。
【図７】本発明の第３の実施形態の通信機器の構成例を示すブロック図である。
【図８】テイルドロップ方式による輻輳制御を示す説明図である。
【図９】ランダムアーリーディテクション方式による輻輳制御を示す説明図である。
【図１０】イーサネットに基づくデータの再送回数とキューが当該データを受信完了するまでの時間との関係を示す説明図である。
【発明を実施するための形態】
【００１８】
実施形態１．
本発明の第１の実施形態の通信機器１００について、図面を参照して説明する。図１は、本発明の第１の実施形態の通信機器１００の構成例を示すブロック図である。図１に示すように、本発明の第１の実施形態の通信機器１００は、通信ネットワーク（図示せず）に接続され、メモリ１１０、バッファ１２０、キュー１３０、計算部１４０、送受信部１５０、および制御部１６０を含む。
【００１９】
計算部１４０および制御部１６０は、例えば、プログラム制御に従って処理を実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によって実現される。送受信部１５０は、例えば、通信モジュールによって実現される。メモリ１１０、バッファ１２０およびキュー１３０は、例えば、記憶手段によって実現される。なお、メモリ１１０と、バッファ１２０と、キュー１３０とは、互いに異なる記憶手段、つまり複数の記憶手段によって実現されてもよいし、一の記憶手段によって実現されてもよい。
【００２０】
バッファ１２０には、送受信部１５０が受信したデータが記憶される。キュー１３０には、バッファ１２０に記憶されたデータのうち、送受信部１５０が送信するデータが記憶される。計算部１４０は、バッファ１２０に記憶されたデータのハッシュ値を算出する。メモリ１１０には、計算部１４０が算出したハッシュ値等が記憶される。送受信部１５０は、データを送受信する。制御部１６０は、通信機器１００の各部を制御する。
【００２１】
なお、本例におけるデータは、宛先データを含む一塊のデータである。具体的には、本例におけるデータは、例えば、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルにおける、レイヤ２で送受信されるデータであるフレームや、レイヤ３で送受信されるパケット等である。したがって、当該データを送受信する本発明の第１の実施形態の通信機器１００や、後述する通信機器２００は、例えば、レイヤ２スイッチや、レイヤ３スイッチ、ルータ等である。
【００２２】
キュー１３０は、記憶手段において、所定の開始アドレスと所定の終了アドレスとで示される、データが記憶される領域である。そして、制御部１６０は、バッファ１２０に記憶されているデータのうち、少なくとも一部を読み出してキュー１３０に記憶させる。なお、制御部１６０は、データを、バッファ１２０に記憶された順序に応じて、キュー１３０の領域における所定の開始アドレスから順に、具体的には、例えば、所定の開始アドレスからアドレスの値が小さい順に、記憶させる。また、送受信部１５０は、所定の開始アドレスに記憶されているデータから、例えば、アドレスの値が小さい順に読み出し、読み出した当該データを送信する。したがって、キュー１３０には、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ，  Ｆｉｒｓｔ  Ｏｕｔ）式でデータが入出力される。
【００２３】
次に、本発明の第１の実施形態の通信機器１００の動作について説明する。図２は、本発明の第１の実施形態の通信機器１００がデータを受信した場合の動作を示すフローチャートである。図２に示すように、送受信部１５０は、通信ネットワークを介して他の通信機器（図示せず）からデータを受信する（ステップＳ１０１）。そして、送受信部１５０は、受信したデータをバッファ１２０に入力して記憶させる（ステップＳ１０２）。
【００２４】
制御部１６０は、データがバッファ１２０に記憶された場合に、以下の処理を行う。すなわち、制御部１６０は、予めメモリ１１０に記憶されているハッシュ値算出用のプログラムが搭載された計算部１４０に、ステップＳ１０２の処理でバッファ１２０に記憶されたデータのハッシュ値を算出させる（ステップＳ１０３）。
【００２５】
計算部１４０がステップＳ１０３の処理で算出するハッシュ値について説明する。計算部１４０は、搭載されたハッシュ値計算用のプログラムの制御に従って動作して、各データを互いに識別可能な識別子である固定長の値（すなわち、ハッシュ値）を算出する。
【００２６】
なお、ハッシュ値を算出するためには、例えば、データ全体のビット列を多項式に入力したり、データにおけるペイロード部分やヘッダ部分のみを多項式に入力したりする方法がある。また、例えば、ＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ：前方誤り訂正）のための冗長ビット部分の値がハッシュ値と決定されてもよい。ハッシュ値の算出方法や決定方法は、前述した方法に限られず、他の方法であってもよい。
【００２７】
計算部１４０は、ステップＳ１０３の処理で算出したハッシュ値を制御部１６０に入力する。
【００２８】
そして、制御部１６０は、キュー１３０においてデータが記憶されていない空き領域のうちアドレスの値が最も小さい位置のアドレスを読み出して、読み出したアドレスをポインタに設定する（ステップＳ１０４）。
【００２９】
そして、制御部１６０は、ステップＳ１０４の処理で設定したポインタの値と、予め設定されている閾値Ａおよび閾値Ｂのうち少なくとも一方とを比較する（ステップＳ１０５，Ｓ１０６）。なお、閾値Ａおよび閾値Ｂは、それぞれ、キュー１３０における所定の開始アドレスと所定の終了アドレスとの間のアドレスの値である。
【００３０】
図３は、データが記憶されたキュー１３０の例を示す説明図である。図３に示す例では、キュー１３０には３つのデータ（例えば、フレームやパケットであるが、簡単のため、単にデータともいう）が記憶されている。そして、閾値Ｂには、例えば、所定の終了アドレスとの間に新たにデータを記憶させるには記憶領域が不足し得るアドレスの値が設定されている。具体的には、閾値Ｂには、例えば、所定の終了アドレスとの間が、送受信部１５０が送信する最大のサイズのデータに応じた記憶領域になるようにアドレスの値が設定されている。また、閾値Ａには、例えば、閾値Ｂの値に応じたアドレスと所定の開始アドレスとの間のアドレスの値であり、所定の終了アドレスとの間の記憶領域に新たにデータを記憶可能であるが、当該領域に多くのデータを記憶させるには記憶領域が不足し得るアドレスの値が設定されている。なお、多くのデータとは、例えば、２つや、３つ、４つ等以上の複数のデータ（フレームやパケット）である。
【００３１】
制御部１６０は、ステップＳ１０５，Ｓ１０６の処理による比較結果に応じた処理を行う（ステップＳ１０７〜Ｓ１０９）。図４は、制御部１６０が行うステップＳ１０５，Ｓ１０６の処理による比較結果に応じた処理を示す説明図である。
【００３２】
図２および図４に示すように、制御部１６０は、ステップＳ１０４の処理で設定したポインタの値が閾値Ａ未満である場合に（ステップＳ１０５のＹ）、バッファ１２０に記憶されているデータをキュー１３０に記憶させる（ステップＳ１０７）。したがって、ステップＳ１０４の処理で設定されたポインタの値が閾値Ａ未満である場合に、バッファ１２０に記憶されているデータは、キュー１３０に記憶されて、送受信部１５０によって順次送信される。
【００３３】
そして、制御部１６０は、ステップＳ１０７の処理後のキュー１３０の空き領域におけるアドレスの値が最も小さい位置のアドレスをポインタに設定する。制御部１６０は、バッファ１２０から当該データを消去し（ステップＳ１０９）、ステップＳ１１０の処理に移行する。
【００３４】
また、図２および図４に示すように、制御部１６０は、ステップＳ１０４の処理で設定したポインタの値が閾値Ｂ以上である場合に（ステップＳ１０５のＮ，Ｓ１０６のＹ）、バッファ１２０に記憶されているデータをバッファ１２０から消去し（ステップＳ１０９）、ステップＳ１１０の処理に移行する。したがって、ステップＳ１０４の処理で設定されたポインタの値が閾値Ｂ以上である場合に、バッファ１２０に記憶されているデータは、キュー１３０に記憶されることおよび送受信部１５０によって送信されることなく、バッファ１２０から消去される。
【００３５】
そして、制御部１６０は、ステップＳ１０４の処理で設定したポインタの値が、閾値Ａ以上であって閾値Ｂ未満である場合に（ステップＳ１０５のＮ，Ｓ１０６のＮ）、ステップＳ１０３の処理で算出されたハッシュ値に合致するハッシュ値がメモリ１１０に記憶されていれば（ステップＳ１０８のＹ）、ステップＳ１０７の処理に移行し、そうでなければ（ステップＳ１０８のＮ）、ステップＳ１０９の処理に移行する。したがって、ステップＳ１０４の処理で設定されたポインタの値が閾値Ａ以上であって閾値Ｂ未満である場合に、ステップＳ１０３の処理で算出されたハッシュ値に合致するハッシュ値がメモリ１１０に記憶されているデータは、キュー１３０に記憶される。そして、当該データは送受信部１５０によって順次送信される。また、ステップＳ１０４の処理で設定されたポインタの値が閾値Ａ以上であって閾値Ｂ未満である場合に、ステップＳ１０３の処理で算出されたハッシュ値に合致するハッシュ値がメモリ１１０に記憶されていないデータは、キュー１３０に記憶されることおよび送受信部１５０によって送信されることなく、バッファ１２０から消去される。
【００３６】
そして、制御部１６０は、ステップＳ１０３の処理で算出されたハッシュ値に合致するハッシュ値がメモリ１１０に記憶されていなければ当該ハッシュ値をメモリ１１０に記憶させ（ステップＳ１１０）、データを受信した場合の処理を終了する。
【００３７】
図５は、本発明の第１の実施形態の通信機器１００がデータを送信する場合の動作を示すフローチャートである。
【００３８】
送受信部１５０は、所定の送信タイミングで、キュー１３０において、所定の開始アドレス側に記憶されているデータから順に送信する（ステップＳ２０１）。制御部１６０は、送受信部１５０がステップＳ２０１の処理で送信したデータをキュー１３０から消去する（ステップＳ２０２）。なお、制御部１６０は、ステップＳ１０３の処理で算出された、データのハッシュ値を、当該データと対応付けてメモリ１１０に記憶させ、当該データがステップＳ２０１の処理で送信された場合に、当該データに対応付けられているハッシュ値をメモリ１１０から消去するように構成されていてもよい。
【００３９】
制御部１６０は、一のデータがステップＳ２０１の処理で送信された後にキュー１３０に残データが記憶されている場合に当該残データが所定の開始アドレスを先頭に記憶されるように、当該データが記憶されている領域を変更する（ステップＳ２０３）。当該データが記憶されている領域が変更されたことによって、キュー１３０においてデータが記憶されていない空き領域のうちアドレスの値が最も小さい位置のアドレスが変更される。
【００４０】
そこで、制御部１６０は、当該アドレスを読み出して、読み出したアドレスをポインタに設定する（ステップＳ２０４）。つまり、ポインタのアドレスが変更される。
【００４１】
本実施形態によれば、キュー１３０に記憶されているデータ量に基づき、キュー１３０の残記憶容量が予め設定された閾値Ａに応じた所定の量よりも多ければ、バッファ１２０に記憶されたデータはキュー１３０に記憶される。そして、当該データは順次送信される。また、キュー１３０の残記憶容量が予め設定された閾値Ｂに応じた所定の量以下であれば、バッファ１２０に記憶されたデータは消去される。
【００４２】
すなわち、キュー１３０の残記憶容量が多い場合に、バッファ１２０に記憶されたデータは、キュー１３０に記憶されて順次送信される。また、キュー１３０の残記憶容量が少ない場合に、バッファ１２０に記憶されたデータは消去される。
【００４３】
したがって、キュー１３０の残記憶容量が多い場合には、バッファ１２０に記憶されたデータを速やかに順次送信することができる。また、キュー１３０の残記憶容量が少ない場合には、バッファ１２０に記憶されたデータを消去し、キュー１３０におけるデータのオーバーフローを防ぐことができる。
【００４４】
そして、キュー１３０の残記憶容量が、予め設定された閾値Ｂに応じた所定の量よりも多く、予め設定された閾値Ａに応じた所定の量以下である場合に、バッファ１２０に記憶されたデータのハッシュ値がメモリ１１０に記憶されているか否かに応じた処理が行われる。具体的には、そのような場合に、バッファ１２０に記憶されたデータのハッシュ値が、メモリ１１０に記憶されていれば、当該データはキュー１３０に記憶されて順次送信され、そうでなければ、当該データはバッファ１２０から消去される。なお、バッファ１２０から消去されるデータのハッシュ値は、計算部１４０によって算出されてメモリ１１０に記憶される。
【００４５】
したがって、バッファ１２０に記憶されたデータのうち、前回送信して消去されたことによって再送されたデータのハッシュ値に合致するハッシュ値は、メモリ１１０に記憶されている。よって、バッファ１２０に記憶されたデータのうち、前回送信して消去されたことによって再送されたデータは、キュー１３０に記憶されて順次送信される。つまり、再送されたデータは、他のデータに優先して送信される。したがって、データ送信の待ち時間の増大を良好に抑制することができる。
【００４６】
また、再送されたデータは、他のデータに優先して送信されるので、各データの送信待ち時間を平準化することができる。
【００４７】
さらに、本実施形態によれば、通信機器１００の管理者等による閾値Ａ，Ｂの設定という簡素な手間で、上述した効果を奏するように構成することが可能である。
【００４８】
実施形態２．
次に、本発明の第２の実施形態の通信機器２００について、図面を参照して説明する。図６は、本発明の第２の実施形態の通信機器２００の構成例を示すブロック図である。図６に示すように、本発明の第２の実施形態の通信機器２００は、図１に示す本発明の第２の実施形態の通信機器１００の構成に加え、無線受信部２１０、無線送信部２２０、および帯域制御部２３０を含む。また、本発明の第２の実施形態の通信機器２００は、図１に示す本発明の第２の実施形態の通信機器１００における送受信部１５０および制御部１６０に代えて、送受信部２５０および制御部２６０を含む。なお、送受信部２５０には、有線通信回線（図示せず）が接続されているとする。通信機器２００のその他の構成は、図１に示す通信機器１００と同様なため、対応する構成要素には図１と同じ符号を付して説明を省略する。
【００４９】
無線受信部２１０は、無線信号を受信する。そして、無線受信部２１０は、受信した無線信号を変換（具体的には、例えば、復調および符号化）したデータを送受信部２５０に入力する。送受信部２５０は、受信したデータを有線通信回線を介して送信先に送信する。また、無線受信部２１０は、受信した無線信号の強度を示す受信電力情報、および当該無線信号の誤り率を示す誤り率情報を生成して、帯域制御部２３０に入力する。
【００５０】
帯域制御部２３０は、無線受信部２１０が入力した受信電力情報および誤り率情報に基づいて、無線送信部２２０による通信の帯域を制御する。具体的には、帯域制御部２３０は、受信電力情報および誤り率情報に基づいて、無線送信部２２０に、例えば、通信速度や変調方式、出力電力等を指示する。そして、帯域制御部２３０は、指示内容を示す帯域情報を制御部２６０に入力する。なお、帯域制御部２３０に入力された、受信電力情報によって示された受信電力が従前よりも低下していたり、誤り率情報によって示された誤り率が従前よりも悪化していたりした場合には、従前よりも通信環境が悪化していると判断することができる。そこで、帯域制御部２３０は、そのような場合に、無線送信部２２０に、例えば、悪化した通信環境により適した、通信速度や変調方式、出力電力等を指示する。具体的には、帯域制御部２３０は、そのような場合に、無線送信部２２０に、例えば、より低い通信速度を指示したり、１シンボル当りのビット数がより少ない変調方式を指示したり、より大きい出力電力を指示したりする。
【００５１】
無線送信部２２０は、キュー１３０に記憶されているデータを読み出し、帯域制御部２３０の制御に従って、変換（具体的には、例えば、データで搬送波をデジタル変調）した無線信号を送信する。
【００５２】
なお、無線受信部２１０、帯域制御部２３０、および無線送信部２２０について以上に述べた動作は、いわゆる適応変調機能に基づく動作である。
【００５３】
制御部２６０は、帯域制御部２３０が入力した帯域情報に基づいて、閾値Ａの値を更新する。具体的には、制御部２６０は、例えば、入力された帯域情報によって、従前よりも通信環境が悪化していると判断可能な場合には、閾値Ａの値を、所定の開始アドレスにより近い値に更新する。ここで、従前よりも通信環境が悪化した場合には、従前よりもデータの再送率が高くなっていると考えられる。そこで、具体的には、従前よりも通信環境が悪化した場合には、制御部２６０が、バッファ１２０に記憶されているデータを消去するか否かの判断を、キュー１３０の残記憶容量がより大きい場合にも行うようにする。そうすると、キュー１３０に記憶されること、および送受信部２５０によって送信されることなく消去されるデータの割合が増加し、データがキュー１３０に滞留する時間の長期化を良好に抑制することができる。
【００５４】
また、制御部２６０は、例えば、入力された帯域情報によって、従前よりも通信環境が改善していると判断可能な場合には、閾値Ａの値を、所定の終了アドレスにより近い値に更新する。ここで、従前よりも通信環境が改善した場合には、従前よりもデータの再送率が低くなっていると考えられる。そこで、具体的には、従前よりも通信環境が改善した場合には、制御部２６０が、バッファ１２０に記憶されているデータを消去するか否かの判断を、キュー１３０の残記憶容量がより小さい場合に行う。そうすると、キュー１３０に記憶されること、および送受信部２５０によって送信されることなく消去されるデータの割合が低下し、データが速やかに送信される。
【００５５】
そして、制御部２６０は、第１の実施形態における制御部１６０と同様な動作も行う。
【００５６】
本実施形態によれば、無線通信における帯域制御を適切に活用して、第１の実施形態における効果と同様な効果を奏することができる。
【００５７】
ここで、電波の伝搬環境に応じて帯域を変化させる適応変調機能を有する無線通信機器がある。そのような無線通信機器において、適応変調機能を発揮させた場合に、送信側の帯域が不足してしまうときがある。そのようなときに、本実施形態の通信機器２００では、制御部２６０が、無線受信部２１０が受信した信号の受信電力や誤り率に応じて、閾値Ａの値を更新する。そのような構成によって、本実施形態によれば、従前よりも通信環境が悪化した場合には、制御部２６０が、閾値Ａの値を、所定の開始アドレスにより近い値に更新して、データがキュー１３０に滞留する時間の長期化を良好に抑制することができる。また、本実施形態によれば、従前よりも通信環境が改善した場合には、制御部２６０が、閾値Ａの値を、所定の終了アドレスにより近い値に更新して、データが速やかに送信される。
【００５８】
なお、以上に述べた実施形態では、キュー１３０に記憶されている一のデータが送信された場合に、残部のデータが記憶される領域が変更されるように構成されている。しかし、キュー１３０において一の領域に記憶されている一のデータが送信された場合に、残部のデータが記憶される領域を変更する代わりに、以下のような処理が行われてもよい。すなわち、送信された当該一のデータのデータ量に応じて、制御部１６０，２６０が、閾値Ａ，Ｂおよびポインタに設定するアドレスを変更するように構成されていてもよい。
【００５９】
具体的には、例えば、キュー１３０がリングバッファ形式である場合に、当該一のデータのデータ量が２００ＫＢであれば、制御部１６０，２６０が、２００ＫＢ分だけ、閾値Ａ，Ｂおよびポインタに設定するアドレスを後尾側に変更する。つまり、制御部１６０，２６０が、閾値Ａ，Ｂおよびポインタの値を、従前のそれぞれの値に２００ＫＢに応じた値を加えた値に更新する。
【００６０】
また、閾値Ａ，Ｂおよびポインタへのアドレスの設定は、上述した方法に限られず、他の方法で設定されてもよい。
【００６１】
なお、本例では、制御部１６０が、キュー１３０からアドレスを読み出すように構成されているが（図２に示すステップＳ１０４、図５に示すＳ２０４等参照）、キュー１３０に接続されるようにメモリコントローラが搭載され、当該メモリコントローラがキュー１３０からアドレスを読み出して制御部１６０，２６０に送信するように構成されていてもよい。
【００６２】
また、本例では、計算部１４０がデータのハッシュ値を算出するように構成されている。そして、算出されたハッシュ値は、制御部１６０によって、当該データが再送されているか否かの判定に用いられる。しかし、制御部１６０によって、当該データが再送されているか否かを判定可能であれば、ハッシュ値を用いる本方法以外の方法が用いられてもよい。そして、そのような場合には、計算部１４０は、当該方法に応じた値を算出するように構成されていてもよい。
【００６３】
また、ハッシュ値のビット長は、例えば、通信機器の使用環境や、記憶手段の容量に応じて決められる。そして、ハッシュ値のビット長が、短い場合には長い場合よりもデータ量を小さくすることができる。また、ハッシュ値のビット長が、長い場合には短い場合よりも制御部における誤判断を少なくすることができる。
【００６４】
実施形態３．
次に、本発明の第３の実施形態について、図面を参照して説明する。図７は、本発明の第３の実施形態の通信機器１０の構成例を示すブロック図である。図７に示すように、本発明の第３の実施形態の通信機器１０は、受信データ記憶部１２、識別子記憶部１１、送信データ記憶部１３、制御部１６、および送信部１５を含む。
【００６５】
受信データ記憶部１２は、図１，図６に示すバッファ１２０に相当する。識別子記憶部１１は、図１，図６に示すメモリ１１０に相当する。送信データ記憶部１３は、図１，図６に示すキュー１３０に相当する。制御部１６は、図１，図６に示す制御部１６０，２６０に相当する。送信部１５は、図１，図６に示す送受信部１５０，２５０に相当する。
【００６６】
受信データ記憶部１２には、受信されたデータが記憶される。識別子記憶部１１には、受信データ記憶部１２に記憶されたデータを識別するための識別子が記憶される。送信データ記憶部１３には、送信されるデータが記憶される。制御部１６は、送信データ記憶部１３における残記憶容量と、データの識別子に合致する識別子が識別子記憶部１１に既に記憶されているか否かの判断結果とに応じて、受信データ記憶部１２に記憶されているデータを送信データ記憶部１３に記憶させる。送信部１５は、送信データ記憶部１３に記憶されているデータを順次送信する。
【００６７】
本実施形態によれば、送信されたデータを速やかに転送することができる。
【符号の説明】
【００６８】
１０、１００    通信機器
１１    識別子記憶部
１２    受信データ記憶部
１３    送信データ記憶部
１５    送信部
１６、１６０、２６０    制御部
１１０    メモリ
１２０    バッファ
１３０    キュー
１４０    計算部
１５０、２５０    送受信部
２１０    無線受信部
２２０    無線送信部
２３０    帯域制御部
【図１】
2017022513.tif 000003
【図２】
2017022513.tif 000004
【図３】
2017022513.tif 000005
【図４】
2017022513.tif 000006
【図５】
2017022513.tif 000007
【図６】
2017022513.tif 000008
【図７】
2017022513.tif 000009
【図８】
2017022513.tif 000010
【図９】
2017022513.tif 000011
【図１０】
2017022513.tif 000012