(57)【特許請求の範囲】
【請求項１】
少なくとも一つ以上の通信端末とＴＣＰプロトコルを利用した通信を行う通信端末であって、
自通信端末のメディアアクセス制御処理部にＴＣＰ確認応答セグメントを含む送信データが到着してから通信メディアに送信するまでに送信待機する頻度を推定する送信待機頻度推定部と、
前記推定した送信待機頻度情報に基づき、前記ＴＣＰ確認応答セグメントの生成頻度を変更するＴＣＰ確認応答生成制御部と、を有し、
前記ＴＣＰ確認応答生成制御部は、前記送信待機頻度推定部において送信待機頻度が所定値より高いと推定した場合に、前記ＴＣＰ確認応答セグメントの生成頻度を下げる制御を行い、
前記送信待機頻度推定部は、ＴＣＰ確認応答セグメントが発生してから通信メディアに送信するまでの間にＴＣＰ確認応答セグメントの送信相手からのＴＣＰデータを受信した回数を記録するＴＣＰデータ受信回数記録部を有し、前記ＴＣＰ確認応答セグメントの送信相手からのＴＣＰデータの受信回数に基づき、受信回数が所定値より多い場合には送信待機頻度を高いと推定し、受信回数が所定値より少ない場合には送信待機頻度を少ないと推定する通信端末。
【請求項２】
請求項１に記載の通信端末であって、
前記送信待機頻度推定部は、所定期間の受信データ数を算出する受信データ数算出部を有し、前記所定期間の受信データ数に基づき、受信データ数が所定値より多い場合には送信待機頻度を高いと推定し、受信データ数が所定値より少ない場合には送信待機頻度を少ないと推定する通信端末。
【請求項３】
請求項１に記載の通信端末であって、
前記送信待機頻度推定部は、送信データが発生してから通信メディアに送信するまでの間に他端末からの送信を検出した回数を記録する送信検出回数記録部を有し、前記他端末からの送信の検出回数に基づき、検出回数が所定値より多い場合には送信待機頻度を高いと推定し、検出回数が所定値より少ない場合には送信待機頻度を少ないと推定する通信端末。
【請求項４】
少なくとも一つ以上の通信端末とＴＣＰプロトコルを利用した通信を行う通信端末における通信方法であって、
自通信端末のメディアアクセス制御処理部にＴＣＰ確認応答セグメントを含む送信データが到着してから通信メディアに送信するまでに送信待機する頻度を推定するステップと、
前記推定した送信待機頻度情報に基づき、送信待機頻度が所定値より高いと推定した場合に、前記ＴＣＰ確認応答セグメントの生成頻度を下げるように、前記ＴＣＰ確認応答セグメントの生成頻度を変更するステップと、
を有し、
前記送信待機する頻度を推定するステップにおいて、
ＴＣＰ確認応答セグメントが発生してから通信メディアに送信するまでの間にＴＣＰ確認応答セグメントの送信相手からのＴＣＰデータを受信した回数を記録するステップと、
前記ＴＣＰ確認応答セグメントの送信相手からのＴＣＰデータの受信回数に基づき、受信回数が所定値より多い場合には送信待機頻度を高いと推定し、受信回数が所定値より少ない場合には送信待機頻度を少ないと推定するステップと、
を有する通信方法。
【請求項５】
請求項４に記載の通信方法であって、
前記送信待機する頻度を推定するステップにおいて、
所定期間の受信データ数を算出するステップと、
前記所定期間の受信データ数に基づき、受信データ数が所定値より多い場合には送信待機頻度を高いと推定し、受信データ数が所定値より少ない場合には送信待機頻度を少ないと推定するステップと、
を有する通信方法。
【請求項６】
請求項４に記載の通信方法であって、
前記送信待機する頻度を推定するステップにおいて、
送信データが発生してから通信メディアに送信するまでの間に他端末からの送信を検出した回数を記録するステップと、
前記他端末からの送信の検出回数に基づき、検出回数が所定値より多い場合には送信待機頻度を高いと推定し、検出回数が所定値より少ない場合には送信待機頻度を少ないと推定するステップと、
を有する通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半二重伝送路によるＴＣＰプロトコル（Transmission Control Protocol）を利用した通信を行う通信端末および通信方法に関する。
【背景技術】
【０００２】
電子ファイル、コンテンツ等の転送を行うための転送プロトコルとして、ＴＣＰプロトコルが広く利用されている。ＴＣＰプロトコルでは、ネットワークのＴＣＰ層において、送信側端末が、送信した送信単位であるＴＣＰセグメントデータ（以下、ＴＣＰ−ＤＡＴＡとする）が受信側端末に正常に到達した場合に、ＴＣＰプロトコルとしての送達確認応答（ＴＣＰアクノレッジメント（Acknowledgement）、以下、ＴＣＰ−ＡＣＫとする）が受信側端末から送信側端末へ返されることで信頼性を確保している。
【０００３】
また、ＴＣＰプロトコルでは次のように通信の効率化を図っている。送信側端末では、ウィンドウ制御によりＴＣＰ−ＡＣＫを受信しなくとも、連続的にＴＣＰ−ＤＡＴＡの送信を行う。受信側端末では、遅延確認応答（Delayed Ack）という手法を用いる。一般的には、受信側端末は、最大長のＴＣＰ−ＤＡＴＡを２セグメント受信するとＴＣＰ−ＡＣＫを送信するように実装されている（例えば、非特許文献１参照）。
【０００４】
また、データ通信手段として無線ＬＡＮシステムが、その利便性等から広く普及している。図１４は、無線ＬＡＮを用いた場合のデータ通信システムの一例を示す。無線ＬＡＮを用いた端末（無線ＬＡＮ端末）１５０１は、無線ＬＡＮアクセスポイント１５０２との通信が可能な無線ＬＡＮ通信エリア１５０４に位置し、無線ＬＡＮアクセスポイント１５０２を介し、通信ネットワーク１５０５に接続される。
【０００５】
また、無線ＬＡＮアクセスポイント１５０２は、一般的に、Ｅｔｈｅｒｎｅｔ（登録商標）、光ファイバなどの有線メディアにて通信ネットワーク１５０５に接続される。通信ネットワーク１５０５は、例えば、インターネット、イントラネット、宅内ネットワーク、通信事業者が管理する公衆インフラ網、などが挙げられる。また、通信ネットワーク１５０５には、通信相手端末１５０３が接続されており、無線ＬＡＮ端末１５０１と通信相手端末１５０３とは、通信ネットワーク１５０５を介してＴＣＰプロトコルによるデータ通信が可能となる。
【０００６】
広く一般的に利用されている無線ＬＡＮシステムは、ＩＥＥＥ８０２．１１にて規定されている方式である。また、ＭＡＣ層にて実現するアクセスアルゴリズムは、ＣＳＭＡ／ＣＡ（Carrier Sense Multiple Access with Collision Avoidance）方式をベースとしている（例えば、非特許文献２参照）。ＣＳＭＡ／ＣＡ方式では、データを送信しようとする端末は、通信メディア（この場合、無線メディア）が使用されているか否かを判断するキャリアセンスを行う。
【０００７】
キャリアセンスの結果、通信メディアが一定期間使用されていないこと（キャリアフリー）が確認できて初めてデータの送信権を獲得する。キャリアセンス中に、他の端末からの送信を検出すると、キャリアフリーを検出するまで自身の送信は遅延される。（例えば、非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】高橋浩和  他著、「Ｌｉｎｕｘカーネル２．６解読室」、ソフトバンククリエイティブ、２００６年１１月３０日（Ｐ４３３）
【非特許文献２】ＩＥＥＥ  Ｓｔｄ８０２．１１−２００７、Ｐａｒｔ１１：Ｗｉｒｅｌｅｓｓ  ＬＡＮ  Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ（ＭＡＣ）  ａｎｄ  Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ  （ＰＨＹ）  Ｓｐｅｃｉｆｉｃａｔｉｏｎｓ、２００７年６月１２日（Ｐ２６１−Ｐ２６７）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ここで、無線ＬＡＮのようにＣＳＭＡ／ＣＡ方式によるメディアアクセスを行う場合、通信量が多い、あるいはバースト的にデータ転送が行われている状況を想定する。このような状況においては、自通信端末にて生成したＴＣＰ−ＡＣＫを送信するためにＭＡＣ層にて送信権獲得試行中に、接続先の無線ＬＡＮアクセスポイントから更なるＴＣＰセグメントデータを受信する。
【００１０】
この場合、自通信端末は、ＴＣＰ−ＡＣＫの送信を待機し、ＴＣＰセグメントデータの受信処理後、再度、待機中のＴＣＰ−ＡＣＫの送信権獲得試行を実施し、送信権獲得後、ＴＣＰ−ＡＣＫを通信メディアに出力し、送信処理が終了する。
【００１１】
図１５は、このようなバースト的にデータ転送が行われている場合の送信側端末と、受信側端末との間のデータ転送動作の一例を示すシーケンス図である。図１５では、図１４の通信相手端末１５０３を送信側端末、無線ＬＡＮ端末（自通信端末）１５０１を受信側端末とした場合を示している。前述のように、ＴＣＰセグメントデータ送信側の通信相手端末１５０３から無線ＬＡＮアクセスポイント１５０２までは、一般的にＥｔｈｅｒｎｅｔ（登録商標）等の有線ネットワークで接続され、一般的に無線ＬＡＮよりも伝送能力が高い。
【００１２】
図示例では、通信相手端末１５０３（送信側端末）からバースト的にＴＣＰ−ＤＡＴＡ＃１〜ＴＣＰ−ＤＡＴＡ＃８が送信されている。無線ＬＡＮ端末１５０１（受信側端末）では、ＴＣＰ−ＤＡＴＡ＃２、ＴＣＰ−ＤＡＴＡ＃４、ＴＣＰ−ＤＡＴＡ＃６、ＴＣＰ−ＤＡＴＡ＃８を受信した時点にてそれぞれＴＣＰ−ＡＣＫを生成している。ここで、送信側端末から無線ＬＡＮアクセスポイント１５０２を介してバースト的に受信側端末にＴＣＰ−ＤＡＴＡが送られているため、受信側端末は通信メディアの送信権を獲得することができず、ＴＣＰ−ＡＣＫの送信が遅延させられる。
【００１３】
ＴＣＰ−ＤＡＴＡ＃１およびＴＣＰ−ＤＡＴＡ＃２に対する確認応答であるＴＣＰ−ＡＣＫを送信する際には、既に新たなＴＣＰセグメントデータを正常に受信しているにもかかわらず、それぞれのＴＣＰ−ＡＣＫを順次送信する。したがって、既に新たなＴＣＰセグメントデータを受信しているにもかかわらず、ＴＣＰ−ＡＣＫが分割して、ＴＣＰ−ＤＡＴＡの送信側端末に送られてしまうことになる。これにより、従来の方法では、システムのスループットの低下、通信端末の消費電力の増大等を招くという課題を有していた。
【００１４】
本発明は、上記事情に鑑みてなされたもので、その目的は、ＴＣＰ通信時におけるＴＣＰ確認応答セグメント（ＴＣＰ−ＡＣＫ）の分割送信を抑制し、効率的に確認応答を行うことが可能な通信端末および通信方法を提供することにある。
【課題を解決するための手段】
【００１５】
本発明は、少なくとも一つ以上の通信端末とＴＣＰプロトコルを利用した通信を行う通信端末であって、自通信端末のメディアアクセス制御処理部にＴＣＰ確認応答セグメントを含む送信データが到着してから通信メディアに送信するまでに送信待機する頻度を推定する送信待機頻度推定部と、前記推定した送信待機頻度情報に基づき、前記ＴＣＰ確認応答セグメントの生成頻度を変更するＴＣＰ確認応答生成制御部と、を有し、前記ＴＣＰ確認応答生成制御部は、前記送信待機頻度推定部において送信待機頻度が所定値より高いと推定した場合に、前記ＴＣＰ確認応答セグメントの生成頻度を下げる制御を行う通信端末を提供する。
【００１６】
本構成によって、ＴＣＰ確認応答セグメント（ＴＣＰ−ＡＣＫ）の送信待機が発生しやすい環境、すなわち、送信データの滞留頻度が高く、直ちに送信権を得ることが困難な状況では、ＴＣＰ−ＡＣＫの生成タイミングを遅らせることにより、一つのＴＣＰ−ＡＣＫによってより多くのＴＣＰセグメントデータの受信確認を送信側に通知することが可能となる。このため、ＴＣＰ通信時におけるＴＣＰ−ＡＣＫの分割送信を抑制し、効率的に確認応答を行うことが可能になる。
【００１７】
また、本発明は、少なくとも一つ以上の通信端末とＴＣＰプロトコルを利用した通信を行う通信端末における通信方法であって、自通信端末のメディアアクセス制御処理部にＴＣＰ確認応答セグメントを含む送信データが到着してから通信メディアに送信するまでに送信待機する頻度を推定するステップと、前記推定した送信待機頻度情報に基づき、送信待機頻度が所定値より高いと推定した場合に、前記ＴＣＰ確認応答セグメントの生成頻度を下げるように、前記ＴＣＰ確認応答セグメントの生成頻度を変更するステップと、を有する通信方法を提供する。
【００１８】
本構成によって、ＴＣＰ確認応答セグメント（ＴＣＰ−ＡＣＫ）の送信待機が発生しやすい環境、すなわち、送信データの滞留頻度が高く、直ちに送信権を得ることが困難な状況では、ＴＣＰ−ＡＣＫの生成タイミングを遅らせることにより、一つのＴＣＰ−ＡＣＫによってより多くのＴＣＰセグメントデータの受信確認を送信側に通知することが可能となる。このため、ＴＣＰ通信時におけるＴＣＰ−ＡＣＫの分割送信を抑制し、効率的に確認応答を行うことが可能になる。
【発明の効果】
【００１９】
本発明によれば、ＴＣＰ通信時におけるＴＣＰ確認応答セグメント（ＴＣＰ−ＡＣＫ）の分割送信を抑制し、効率的に確認応答を行うことが可能な通信端末および通信方法を提供できる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態１における通信端末の構成を示すブロック図
【図２】実施の形態１における送信待機頻度推定部の構成を示すブロック図
【図３】実施の形態１におけるＴＣＰ−ＡＣＫの生成タイミングを変更する処理フローを示す図
【図４】実施の形態１における滞留予測情報を算出する処理フローを示す図
【図５】実施の形態１における送信側端末と受信側端末との間のデータ転送動作の一例を示すシーケンス図
【図６】実施の形態２における送信待機頻度推定部の構成を示すブロック図
【図７】実施の形態２における滞留予測情報を算出する処理フローを示す図
【図８】実施の形態３における送信待機頻度推定部の構成を示すブロック図
【図９】実施の形態３における滞留予測情報を算出する処理フローを示す図
【図１０】実施の形態４における通信端末の構成を示すブロック図
【図１１】実施の形態４における送信データの格納処理フローを示す図
【図１２】実施の形態４における送信データの送信処理フローを示す図
【図１３】実施の形態４における送信側端末と受信側端末との間のデータ転送動作の一例を示すシーケンス図
【図１４】無線ＬＡＮを用いたデータ通信システムの一例を示す図
【図１５】バースト的にデータ転送が行われている場合の送信側端末と受信側端末との間のデータ転送動作の一例を示すシーケンス図
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００２２】
本実施形態では、半二重伝送路による通信を行う通信端末および通信方法の一例として、無線ＬＡＮシステムにおける構成例を示す。ここでは、無線ＬＡＮ端末に適用した通信装置である通信端末を想定し、無線ＬＡＮアクセスポイントを介して通信相手端末と通信する場合を例示する。この際、通信相手端末は、送信側端末とし、無線ＬＡＮ端末（自通信端末）を受信側端末とする。
【００２３】
（実施の形態１）
図１〜図４は、本発明の実施の形態１における通信端末および通信方法の一例を示したものである。図１は、実施の形態１における通信端末の構成を示すブロック図である。
【００２４】
本実施形態の通信端末は、ＰＨＹ処理部１０１、ＭＡＣ処理部１０２、送信待機頻度推定部１０３、ＩＰ処理部１０４、ＴＣＰ処理部１０５、ＴＣＰ−ＡＣＫ生成制御部１０６、端末制御部１０７を有して構成される。
【００２５】
ＰＨＹ処理部１０１は、通信メディアへのデータ送受信、変復調、符号化などの物理層処理を行うものである。ＭＡＣ処理部（メディアアクセス制御処理部）１０２は、通信メディアへのアクセス制御処理を行うものである。ＩＰ処理部１０４は、ＩＰ層のヘッダ解析、付与等のＩＰ層に関連する処理を行うものである。
【００２６】
ＴＣＰ処理部１０５は、ＴＣＰセグメントデータの送受信処理、送達確認応答であるＴＣＰ−ＡＣＫ（ＴＣＰ確認応答セグメント）の生成処理など、ＴＣＰ層に関連する処理を行うものである。ＴＣＰ確認応答生成制御部として機能するＴＣＰ−ＡＣＫ生成制御部１０６は、通信メディアの状況に応じてＴＣＰ−ＡＣＫ生成のタイミングを制御するものである。端末制御部１０７は、ネットワークの上位層の処理、端末の管理処理等を行うものである。
【００２７】
なお、図示はしていないが、本通信端末は、通信端末の利用者が、本通信端末の動作を選択して実行するためのユーザインタフェースであるキー、ディスプレイ等を有している。また、本通信端末は、音声処理用のコーデック、マイク、スピーカ、および、カメラ、バイブレータ、並びに、プログラム格納および実行のためのメモリなどの構成要素も有している。
【００２８】
ＭＡＣ処理部１０２は、通信メディアへのアクセス制御処理を行う。また、ＭＡＣ処理部１０２は、ＰＨＹ処理部１０１から取得した受信フレームのＭＡＣ層処理を行いＩＰ処理部１０４に渡す処理と、ＩＰ処理部１０４から取得した送信パケットのＭＡＣ層処理を行いＰＨＹ処理部１０１に渡す処理とを行う。また、ＭＡＣ処理部１０２は、接続先の無線ＬＡＮアクセスポイントからデータを受信した場合に、送信待機頻度推定部１０３に通知する機能を有する。
【００２９】
送信待機頻度推定部１０３は、ＭＡＣ処理部１０２がＩＰ処理部１０４から受け取った送信パケットの送信がどれほど滞留するかを示す滞留予測情報を算出し、ＴＣＰ−ＡＣＫ生成制御部１０６に通知する処理を行う。この滞留予測情報は、送信待機頻度情報としてＴＣＰ−ＡＣＫ生成制御部１０６に送られる。
【００３０】
図２は、実施の形態１における送信待機頻度推定部１０３の構成を示すブロック図である。送信待機頻度推定部１０３は、インターバルタイマ２０１、データフレーム受信数カウンタ２０２、滞留頻度閾値管理部２０３、滞留予測情報算出部２０４を有して構成される。
【００３１】
インターバルタイマ２０１は、ＴＣＰ処理部１０５からのデータ受信セッション設立通知を受け、インターバルタイマを起動する処理と、所定のインターバル値に基づいたタイマ満了通知を滞留予測情報算出部２０４に通知する処理とを行う。インターバル値は、例えば、無線ＬＡＮアクセスポイントからのビーコン間隔と同一の値に設定する、固定値にする、などとする。
【００３２】
データフレーム受信数カウンタ２０２は、ＭＡＣ処理部１０２からデータ受信通知を受けるとカウンタ値を１加算する。また、データフレーム受信数カウンタ２０２は、インターバルタイマ２０１のタイマ満了に伴い、カウンタ値を初期化する。このカウンタ値の初期化は、滞留予測情報算出部２０４の指示に従い実施する。ここで、インターバルタイマ２０１及びデータフレーム受信数カウンタ２０２は、所定期間の受信データ数を算出する受信データ数算出部の機能を実現する。
【００３３】
滞留頻度閾値管理部２０３は、データフレーム受信数カウンタ２０２のカウンタ値により、滞留頻度のレベルを規定するための閾値を管理する。例えば、滞留頻度は、レベル１（小）・レベル２（中）・レベル３（大）の３段階に規定する。レベル１とレベル２の境界値は、通常状態でのＴＣＰ−ＡＣＫ生成頻度の２倍すなわちデータフレーム受信数４回とし、レベル２とレベル３の境界値を、通常状態でのＴＣＰ−ＡＣＫ生成頻度の３倍すなわちデータフレーム受信数６回とする。
【００３４】
滞留予測情報算出部２０４は、インターバルタイマ２０１からタイマ満了通知を受けると、データフレーム受信数カウンタ２０２のカウンタ値および滞留頻度閾値管理部２０３の閾値情報を参照する。これらの情報の参照の結果、データフレーム受信数カウンタ値がどの滞留頻度レベルに属するかを判定し、判定結果をＴＣＰ−ＡＣＫ生成制御部１０６に通知し、カウンタ値の初期化をデータフレーム受信数カウンタ２０２に指示する。
【００３５】
このように、本実施の形態の送信待機頻度推定部１０３は、ＴＣＰセッションが確立し、データ受信セッションが設立してから所定のインターバルを常時カウントして所定期間の受信データ数を算出する。さらに、送信待機頻度推定部１０３は、インターバル毎のデータフレーム受信数に基づき、滞留頻度レベルを決定する。また、送信待機頻度推定部１０３は、この滞留頻度レベルを滞留予測情報として、ＴＣＰ−ＡＣＫ生成制御部１０６に通知する。
【００３６】
ＴＣＰ処理部１０５は、ＴＣＰセグメントデータを受信するためのセッションを設立すると、送信待機頻度推定部１０３にデータ受信セッション設立通知を行う。また、ＴＣＰ処理部１０５は、ＴＣＰ−ＡＣＫ生成制御部１０６からの通知に基づき、ＩＰ層からいくつＴＣＰセグメントデータを正常受信したらＴＣＰ−ＡＣＫを生成するかを管理するＡＣＫパラメータを変更する。
【００３７】
ＴＣＰ処理部１０５は、このＡＣＫパラメータの変更により、定常状態でのＴＣＰ−ＡＣＫの生成タイミングを、ＴＣＰセグメントデータを２セグメント受信した後、または、４セグメント受信した後、６セグメント受信した後などに設定する。なお、一般的には、輻輳状態では１セグメント受信した後にＴＣＰ−ＡＣＫを生成し、定常状態では２セグメント受信した後にＴＣＰ−ＡＣＫを生成するように構成されている。ここで、定常状態とは、セッション開設や解放時、スロースタート時を除く、輻輳回避状態を示している。
【００３８】
ＴＣＰ−ＡＣＫ生成制御部１０６は、送信待機頻度推定部１０３から受け取った滞留予測情報（送信待機頻度情報）に基づき、ＴＣＰ−ＡＣＫの生成頻度を管理するＡＣＫパラメータを変更するよう、ＴＣＰ処理部１０５に通知する。この滞留予測情報は、上述したように所定のインターバル毎のデータフレーム受信数の大小を複数のレベルで示したものであり、ＴＣＰ−ＡＣＫの送信待機中に次のＴＣＰセグメントデータをどれだけ受信したかを示すものである。
【００３９】
すなわち、通常の生成頻度でＴＣＰセグメントデータを２セグメント受信後にＴＣＰ−ＡＣＫを生成した場合には、ＴＣＰ−ＡＣＫが発生してから送信可能となるまでの滞留度合い（滞留頻度、すなわち送信待機頻度）を示す情報に相当する。例えば、送信待機頻度が所定値より高い場合には、ＴＣＰ−ＡＣＫの生成頻度を下げるように、生成頻度の制御を行う。なお、送信待機頻度が所定値より低い場合には、ＴＣＰ−ＡＣＫの生成頻度を上げるような制御をしてもよい。
【００４０】
このように、滞留予測情報に基づいてＡＣＫパラメータを変更してＴＣＰ−ＡＣＫの生成頻度を調整することによって、ＴＣＰ−ＡＣＫの生成タイミングを制御でき、伝送路の使用状況に応じたＴＣＰ−ＡＣＫの生成および送信が可能になる。
【００４１】
上記のように構成された実施の形態１の通信端末の動作について、以下に説明する。
【００４２】
図３は、実施の形態１の通信端末において、ＴＣＰ−ＡＣＫの生成タイミングを変更する処理フローを示す図である。
【００４３】
通信端末は、ＴＣＰ通信を開始すると、送信待機頻度推定部１０３にて滞留予測情報算出処理を行い、ＴＣＰ−ＡＣＫ生成制御部１０６に滞留予測情報を通知する（ステップＳ３０１）。ＴＣＰ−ＡＣＫ生成制御部１０６では、滞留予測情報による滞留頻度を判定し、滞留頻度に応じて以下の処理を行う。
【００４４】
滞留頻度が小さい場合、ステップＳ３０２の判定にてＹｅｓの場合、ＴＣＰ−ＡＣＫ生成制御部１０６は、ＡＣＫパラメータをデフォルト値に設定し、ＴＣＰ処理部１０５は通常のＴＣＰパラメータにてＴＣＰ通信を行う（ステップＳ３０３）。デフォルト値の場合、ＴＣＰ処理部１０５は、一般には、定常状態にてＴＣＰセグメント２個の受信に対し、１つのＴＣＰ−ＡＣＫを生成する。
【００４５】
滞留頻度が中程度の場合、ステップＳ３０２の判定にてＮｏ、かつステップＳ３０４の判定にてＮｏの場合、ＴＣＰ−ＡＣＫ生成制御部１０６は、ＡＣＫパラメータを設定する。ＴＣＰ−ＡＣＫ生成制御部１０６は、ＡＣＫパラメータとして、ＴＣＰ−ＡＣＫ生成タイマタイムアウト値、およびＴＣＰ−ＡＣＫ生成頻度（ＴＣＰ−ＡＣＫを生成するために受信するＴＣＰセグメント数）をデフォルト値の２倍に設定する。
【００４６】
そして、ＴＣＰ処理部１０５は、設定後のＴＣＰパラメータにてＴＣＰ通信を行う（ステップＳ３０５）。この場合、ＴＣＰ処理部１０５は、デフォルト値において、定常状態にてＴＣＰセグメントを２個受信するごとに１つのＴＣＰ−ＡＣＫを生成する場合には、ＴＣＰセグメント４個の受信に対し、１つのＴＣＰ−ＡＣＫを生成する。
【００４７】
滞留頻度が大きい場合、ステップＳ３０４の判定にてＹｅｓの場合、ＴＣＰ−ＡＣＫ生成制御部１０６は、ＡＣＫパラメータとして、ＴＣＰ−ＡＣＫ生成タイマタイムアウト値、およびＴＣＰ−ＡＣＫ生成頻度をデフォルト値の３倍に設定する。そして、ＴＣＰ処理部１０５は設定後のＴＣＰパラメータにてＴＣＰ通信を行う（ステップＳ３０６）。
【００４８】
この場合、ＴＣＰ処理部１０５は、デフォルト値において、定常状態にてＴＣＰセグメントを２個受信するごとに１つのＴＣＰ−ＡＣＫを生成する場合には、ＴＣＰセグメント６個の受信に対し、１つのＴＣＰ−ＡＣＫを生成する。
【００４９】
図４は、実施の形態１の通信端末において、送信待機頻度推定部１０３による滞留予測情報を算出する処理フローを示す図である。
【００５０】
送信待機頻度推定部１０３による滞留予測情報算出処理では、まず始めに、タイマおよびカウンタを初期化する（ステップＳ４０１）。具体的には、送信待機頻度推定部１０３は、滞留頻度を計測するために使用するインターバルタイマ２０１、および、インターバルタイマ起動中に受信するデータフレーム数を管理するデータフレーム受信数カウンタ２０２を初期化する。
【００５１】
次に、送信待機頻度推定部１０３は、自通信端末が接続している接続先アクセスポイント（ＡＰ）（ここでは、無線ＬＡＮアクセスポイント）からのデータを受信したか否かを判定する（ステップＳ４０２）。ステップＳ４０２の判定にてＹｅｓ、すなわち接続先アクセスポイントからのデータを受信した場合には、データフレーム受信数カウンタ２０２を１加算する（ステップＳ４０３）。また、送信待機頻度推定部１０３は、インターバルタイマ２０１がタイマ満了したか否かを判定する（ステップＳ４０４）。
【００５２】
ここで、インターバルタイマ２０１のタイマ満了値とは、例えば１００ｍｓであり、この値は変更が可能である。ステップＳ４０２の判定にてＮｏの場合、すなわち接続先アクセスポイントからのデータを受信していない場合は何もせずステップＳ４０４に進む。インターバルタイマ２０１がタイマ満了していない場合（ステップＳ４０４の判定にてＮｏ）、ステップＳ４０２に戻り、接続先アクセスポイントからのデータを受信したか否かを判定する。
【００５３】
インターバルタイマ２０１がタイマ満了している場合（ステップＳ４０４の判定にてＹｅｓ）、送信待機頻度推定部１０３は、データフレーム受信数カウンタ２０２のカウンタ値がレベル１未満であるか否かを判定する（ステップＳ４０５）。ステップＳ４０５の判定でＹｅｓ、すなわち、データフレーム受信数カウンタ２０２のカウンタ値がレベル１未満である場合には、ステップＳ４０６に進む。滞留予測情報算出部２０４は、滞留頻度を小に設定して滞留頻度情報としてＴＣＰ−ＡＣＫ生成制御部１０６に通知し（ステップＳ４０６）、ステップＳ４０１へ戻る。
【００５４】
また、ステップＳ４０５の判定でＮｏ、すなわち、データフレーム受信数カウンタ２０２のカウンタ値がレベル１以上である場合には、ステップＳ４０７に進む。滞留予測情報算出部２０４は、データフレーム受信数カウンタ２０２のカウンタ値がレベル２未満であるか否かを判定する（ステップＳ４０７）。ステップＳ４０７の判定でＹｅｓ、すなわち、データフレーム受信数カウンタ２０２のカウンタ値がレベル２未満である場合には、ステップＳ４０８に進む。滞留予測情報算出部２０４は、滞留頻度を中に設定して滞留頻度情報としてＴＣＰ−ＡＣＫ生成制御部１０６に通知し（ステップＳ４０８）、ステップＳ４０１へ戻る。
【００５５】
また、ステップＳ４０７の判定でＮｏ、すなわち、データフレーム受信数カウンタの値がレベル２以上である場合には、ステップＳ４０９に進む。滞留予測情報算出部２０４は、滞留頻度を大に設定して滞留頻度情報としてＴＣＰ−ＡＣＫ生成制御部１０６に通知し（ステップＳ４０９）、ステップＳ４０１へ戻る。
【００５６】
図５は、実施の形態１における送信側端末と受信側端末との間のデータ転送動作の一例を示すシーケンス図である。図５の例は、滞留頻度が大きい場合の例であり、ＴＣＰ−ＡＣＫ生成頻度を通常の３倍に設定した場合を示している。図示例では、送信側端末である通信相手端末５０３から無線ＬＡＮアクセスポイント５０２を介して、受信側端末である通信端末（無線ＬＡＮ端末）５０１に対して、バースト的にＴＣＰセグメントデータが送信されている。
【００５７】
この場合、通信端末５０１は、所定のインターバルにおけるデータフレーム受信数が多く、滞留頻度が大であり、通常のＴＣＰ−ＡＣＫ生成頻度ではＴＣＰ−ＡＣＫの送信に遅延が生じる。このため、通信端末５０１は、ＴＣＰ−ＡＣＫ生成頻度をデフォルト値の３倍に設定し、ＴＣＰ−ＤＡＴＡ＃１〜ＴＣＰ−ＤＡＴＡ＃６を受信した時点にて１つのＴＣＰ−ＡＣＫ＃１〜＃６を生成する。これにより、通信端末５０１は、ＴＣＰ−ＡＣＫの生成タイミングを遅延させる。そして、通信端末５０１は、送信権の獲得後にＴＣＰ−ＡＣＫ＃１〜＃６を無線ＬＡＮアクセスポイント５０２に返信する。
【００５８】
上記のような本実施の形態の処理によって、所定期間の受信データ数によって通信回線の混雑度を推定し、送信データの滞留頻度を推定することが可能である。この際、ＴＣＰ−ＡＣＫの送信待機が発生しやすい環境、すなわち、送信データの滞留頻度が高く、直ちに送信権を得ることが困難な状況では、ＴＣＰ−ＡＣＫの生成タイミングを遅らせるように生成頻度を調整する。すなわち、本実施の形態では、より多くのＴＣＰセグメントデータを受信後にＴＣＰ−ＡＣＫを生成する。
【００５９】
このようなＴＣＰ−ＡＣＫ生成タイミングの調整により、一つのＴＣＰ−ＡＣＫでより多くのＴＣＰセグメントデータの受信確認を送信側に通知することが可能となる。これにより、ＴＣＰ−ＡＣＫの送信回数を削減することができるため、通信端末の消費電力を下げることができる。また、ＴＣＰ−ＡＣＫの送信回数を削減することで通信メディアに送信するデータフレーム量を削減できるため、システムのスループットを向上することができる。
【００６０】
したがって、本実施の形態によれば、伝送路の使用状況に応じてＴＣＰ−ＡＣＫの生成タイミングを制御することで、ＴＣＰ−ＡＣＫの分割送信を抑制でき、効率的に確認応答を行うことが可能になる。
【００６１】
なお、上述した本実施の形態における、滞留頻度レベル数、滞留頻度レベルの境界値は、変更が可能である。本実施の形態では、レベルを３段階、レベル１・レベル２の境界値は通常のＴＣＰ−ＡＣＫ生成頻度の２倍すなわちデータフレーム受信数４回とした。また、レベル２・レベル３の境界値は、通常のＴＣＰ−ＡＣＫ生成頻度の３倍すなわちデータフレーム受信数６回と設定したが、この限りではない。例えば、レベルは、２段階あるいは４段階以上に設定し、それぞれの境界値を別の値に設定する、等としてもよい。
【００６２】
また、滞留頻度レベルに応じて変更するＡＣＫパラメータ等のＴＣＰパラメータ値に関しても、上述したものは一例であり、２倍、３倍でなく、＋２回、＋３回という変更にするようにした場合でも、同様の効果が得られるのは言うまでもない。
【００６３】
（実施の形態２）
図６〜図７は、本発明の実施の形態２における通信端末および通信方法の一例を示したものである。実施の形態２は、通信端末の基本構成は図１に示した実施の形態１における構成と同様であり、送信待機頻度推定部１０３の代わりに構成および機能が異なる送信待機頻度推定部６０１を備えている。なお、実施の形態１と同様の構成要素には同一の符号を付してその説明を省略し、異なる部分のみを説明する。
【００６４】
実施の形態２のＭＡＣ処理部１０２は、キャリアセンスを行いデータフレームの送信権獲得試行中に他の通信端末からのキャリアを検出した場合、および送信権を獲得して送信が完了した場合に、送信待機頻度推定部６０１に通知する。
【００６５】
送信待機頻度推定部６０１は、ＭＡＣ処理部１０２がＩＰ処理部１０４から取得したＴＣＰ−ＡＣＫを格納したＩＰパケットの送信が、どれほど滞留するかを示す滞留予測情報を算出し、ＴＣＰ−ＡＣＫ生成制御部１０６に通知する処理を行う。
【００６６】
図６は、実施の形態２における送信待機頻度推定部６０１の構成を示すブロック図である。送信待機頻度推定部６０１は、キャリア検出回数カウンタ６０２、滞留頻度閾値管理部６０３、滞留予測情報算出部６０４を有して構成される。
【００６７】
キャリア検出回数カウンタ６０２は、キャリアセンス中に他の通信端末からの送信（送信信号または干渉波）を検出した回数、すなわちキャリア検出回数をカウントする。キャリア検出回数のカウントの開始、およびカウンタ値の初期化は、滞留予測情報算出部６０４の指示に従い実施する。
【００６８】
ここで、キャリア検出回数カウンタ６０２は、送信データが発生してから通信メディアに送信するまでの間に、他端末からの送信を検出した回数を記録する送信検出回数記録部の機能を実現する。
【００６９】
滞留頻度閾値管理部６０３は、キャリア検出回数カウンタ６０２のカウンタ値により、滞留頻度のレベルを規定するための閾値を管理する。例えば、滞留頻度閾値管理部６０３は、滞留頻度をレベル１（小）・レベル２（中）・レベル３（大）の３段階に規定し、レベル１とレベル２の境界値をキャリア検出回数５回、レベル２とレベル３の境界値をキャリア検出回数１０回とする。
【００７０】
滞留予測情報算出部６０４は、ＴＣＰ処理部１０５より、ＴＣＰ−ＡＣＫをＩＰ処理部１０４に送出した通知を受けると、キャリア検出回数のカウント開始をキャリア検出回数カウンタ６０２に指示する。また、滞留予測情報算出部６０４は、ＭＡＣ処理部１０２からＴＣＰ−ＡＣＫを含むデータフレームの送信完了通知を受けると、キャリア検出回数カウンタ６０２のカウンタ値および滞留頻度閾値管理部６０３の閾値情報を参照する。
【００７１】
滞留予測情報算出部６０４は、これらの情報の参照の結果、キャリア検出回数カウンタ値がどの滞留頻度レベルに属するかを判定する。さらに、滞留予測情報算出部６０４は、判定結果をＴＣＰ−ＡＣＫ生成制御部１０６に通知し、カウンタ値の初期化をキャリア検出回数カウンタ６０２に指示する。
【００７２】
以上、本実施の形態の送信待機頻度推定部６０１は、ＴＣＰ処理部１０５でＴＣＰ−ＡＣＫを生成してからＭＡＣ処理部１０２によりＴＣＰ−ＡＣＫの送信が完了するまでの間、キャリア検出回数をカウントする。さらに、送信待機頻度推定部６０１は、この期間のキャリア検出回数に基づき、滞留頻度レベルを決定する。送信待機頻度推定部６０１は、この滞留頻度レベルを滞留予測情報としてＴＣＰ−ＡＣＫ生成制御部１０６に通知する。
【００７３】
ＴＣＰ処理部１０５は、ＴＣＰ−ＡＣＫをＩＰ処理部１０４に渡す処理を実施したことを送信待機頻度推定部６０１に通知する機能を有する。また、ＴＣＰ処理部１０５は、ＴＣＰ−ＡＣＫ生成制御部１０６からの通知に基づき、ＩＰ層からいくつＴＣＰセグメントデータを正常受信したらＴＣＰ−ＡＣＫを生成するかを管理するＡＣＫパラメータを変更する。
【００７４】
ＴＣＰ処理部１０５は、ＡＣＫパラメータの変更により、定常状態でのＴＣＰ−ＡＣＫの生成タイミングを、ＴＣＰセグメントデータを２セグメント受信した後、あるいは、４セグメント受信した後、６セグメント受信した後などに設定する。なお、一般的には、輻輳状態では、１セグメント受信した後にＴＣＰ−ＡＣＫを生成し、定常状態では２セグメント受信した後にＴＣＰ−ＡＣＫを生成するように構成されている。
【００７５】
ＴＣＰ−ＡＣＫ生成制御部１０６は、送信待機頻度推定部６０１から受け取った滞留予測情報に基づき、ＴＣＰ−ＡＣＫの生成頻度を管理するＡＣＫパラメータを変更するよう、ＴＣＰ処理部１０５に通知する。この滞留予測情報は、上述したようにＴＣＰ−ＡＣＫの生成から送信完了までの間、送信権獲得試行中のキャリア検出回数の大小を複数のレベルで示したものである。つまり、滞留予測情報は、ＴＣＰ−ＡＣＫの送信待機中に他の通信端末からのキャリアをどれだけ受信したかを示すものである。
【００７６】
すなわち、通常の生成頻度でＴＣＰセグメントデータを２セグメント受信後にＴＣＰ−ＡＣＫを生成した場合に、ＴＣＰ−ＡＣＫが発生してから送信可能となるまでにどのぐらい滞留するかの度合い（滞留頻度）を示す情報に相当する。このように、滞留予測情報に基づいてＡＣＫパラメータを変更してＴＣＰ−ＡＣＫの生成頻度を調整することによって、ＴＣＰ−ＡＣＫの生成タイミングを制御でき、伝送路の使用状況に応じたＴＣＰ−ＡＣＫの生成および送信が可能になる。
【００７７】
図７は、実施の形態２の通信端末において、滞留予測情報を算出する処理フローを示す図である。
【００７８】
送信待機頻度推定部６０１による滞留予測情報算出処理では、まず始めに、滞留頻度を計測するために使用する、データの送信権獲得試行中のキャリア検出回数を管理するキャリア検出回数カウンタ６０２を初期化する（ステップＳ７０１）。
【００７９】
次に、送信待機頻度推定部６０１は、自通信端末にて送信するＴＣＰ−ＡＣＫデータが発生したか否かを判定する（ステップＳ７０２）。ステップＳ７０２の判定にてＮｏ、すなわち送信データが発生していない場合、送信データが発生するまでステップＳ７０２の判定を繰り返す。
【００８０】
送信データが発生すると（ステップＳ７０２の判定にてＹｅｓ）、ＭＡＣ処理部１０２は、データの送信権獲得のためのキャリアセンスを実施する（ステップＳ７０３）。そして、ＭＡＣ処理部１０２は、キャリアセンスの結果に基づき、他の通信端末からのキャリアを検出したか否かによって、送信権を獲得できたかどうかを判定する（ステップＳ７０４）。
【００８１】
キャリアセンスの結果、送信権がまだ獲得できていない場合（ステップＳ７０４の判定にてＮｏ）、すなわち他の通信端末からのキャリアを検出した場合、キャリア検出回数カウンタ６０２を１加算する（ステップＳ７０８）。さらに、ＭＡＣ処理部１０２は、再び送信権獲得のためのキャリアセンス処理（ステップＳ７０３）に戻る。
【００８２】
キャリアセンスの結果、送信権を獲得すると（ステップＳ７０４の判定にてＹｅｓ）、送信待機頻度推定部６０１は、キャリア検出回数カウンタ６０２のカウンタ値がレベル１未満であるか否かを判定する（ステップＳ７０５）。ステップＳ７０５の判定でＹｅｓ、すなわち、キャリア検出回数カウンタ６０２のカウンタ値がレベル１未満である場合には、ステップＳ７０６に進む。滞留予測情報算出部６０４は、滞留頻度を小に設定して滞留頻度情報としてＴＣＰ−ＡＣＫ生成制御部１０６に通知し（ステップＳ７０６）、ステップＳ７０１へ戻りキャリア検出回数カウンタ６０２を初期化する。
【００８３】
また、ステップＳ７０５の判定でＮｏ、すなわち、キャリア検出回数カウンタ６０２のカウンタ値がレベル１以上である場合には、キャリア検出回数カウンタ６０２のカウンタ値がレベル２未満であるか否かを判定する（ステップＳ７０９）。ステップＳ７０９の判定でＹｅｓ、すなわち、キャリア検出回数カウンタ６０２のカウンタ値がレベル２未満である場合には、ステップＳ７１０に進む。滞留予測情報算出部６０４は、滞留頻度を中に設定して滞留頻度情報としてＴＣＰ−ＡＣＫ生成制御部１０６に通知し（ステップＳ７１０）、ステップＳ７０１へ戻りキャリア検出回数カウンタ６０２を初期化する。
【００８４】
また、ステップＳ７０９の判定でＮｏ、すなわち、キャリア検出回数カウンタ６０２のカウンタ値がレベル２以上である場合には、ステップＳ７１１に進む。滞留予測情報算出部６０４は、滞留頻度を大に設定して滞留頻度情報としてＴＣＰ−ＡＣＫ生成制御部１０６に通知し（ステップＳ７１１）、ステップＳ７０１へ戻りキャリア検出回数カウンタ６０２を初期化する。
【００８５】
上記のような本実施の形態の処理によって、他端末からの送信の検出回数によって通信回線の混雑度を推定し、送信データの滞留頻度を推定することが可能である。この際、他端末の送信によりＴＣＰ−ＡＣＫの送信待機が発生しやすい環境、すなわち、送信データの滞留頻度が高く、直ちに送信権を得ることが困難な状況では、ＴＣＰ−ＡＣＫの生成頻度を調整する。具体的には、本実施の形態は、ＴＣＰ−ＡＣＫの生成タイミングを遅らせて、より多くのＴＣＰセグメントデータを受信後にＴＣＰ−ＡＣＫを生成するように生成頻度を調整するようにしたものである。
【００８６】
このようなＴＣＰ−ＡＣＫ生成タイミングの調整により、一つのＴＣＰ−ＡＣＫでより多くのＴＣＰセグメントデータの受信確認を送信側に通知することが可能となる。これにより、実施の形態１と同様、ＴＣＰ−ＡＣＫの送信回数を削減することができるため、通信端末の消費電力を下げることができる。また、本実施の形態では、ＴＣＰ−ＡＣＫの送信回数を削減することで通信メディアに送信するデータフレーム量を削減できるため、システムのスループットを向上することができる。
【００８７】
なお、上述した本実施の形態における、滞留頻度レベル数、滞留頻度レベルの境界値は、変更が可能である。本実施の形態では、レベルを３段階、レベル１・レベル２の境界値はキャリア検出回数５回、レベル２・レベル３の境界値はキャリア検出回数１０回と設定したが、この限りではない。例えば、レベルは２段階あるいは４段階以上に設定する、それぞれの境界値を別の値に設定する、等としてもよい。
【００８８】
また、滞留頻度レベルに応じて変更するＡＣＫパラメータ等のＴＣＰパラメータ値は、上述したものは一例であり、２倍、３倍でなく、＋２回、＋３回という変更にするようにした場合でも、同様の効果が得られるのは言うまでもない。
【００８９】
なお、送信待機頻度推定部６０１は、特定の期間、ＴＣＰ−ＡＣＫ生成制御部１０６にＴＣＰ処理部１０５へのＴＣＰ−ＡＣＫ生成禁止を通知するようにしてもよい。
【００９０】
これは、キャリア検出回数カウンタ６０２の稼働中は、常に滞留頻度がレベル３になるようにレベル２・レベル３の境界値を設定することで実現できる。ただし、レベル３においては、ＴＣＰ−ＡＣＫ生成タイマタイムアウト値をＲＴＴ閾値、ＴＣＰ−ＡＣＫ生成頻度を無限大に設定するものとする。
【００９１】
（実施の形態３）
図８〜図９は、本発明の実施の形態３における通信端末および通信方法の一例を示したものである。実施の形態３は、通信端末の基本構成は図１に示した実施の形態１における構成と同様であり、送信待機頻度推定部１０３の代わりに構成および機能が異なる送信待機頻度推定部８０１を備えている。なお、実施の形態１と同様の構成要素には同一の符号を付してその説明を省略し、異なる部分のみを説明する。
【００９２】
実施の形態３のＭＡＣ処理部１０２は、送信待機中のデータフレームがＴＣＰ−ＡＣＫを含むデータか否かを判別し、ＴＣＰ−ＡＣＫを含むデータフレームの送信権を獲得して送信が完了した場合に送信待機頻度推定部８０１に通知する。このデータフレームの判定機能は、ＭＡＣ処理部１０２にて、ＩＰヘッダおよびＴＣＰヘッダのオフセットを管理することで、送信データのヘッダ情報からＴＣＰ−ＡＣＫを含むデータフレームか否かを判定することができる。
【００９３】
送信待機頻度推定部８０１は、ＭＡＣ処理部１０２がＩＰ処理部１０４から取得したＴＣＰ−ＡＣＫを格納したＩＰパケットの送信が、どれほど滞留するかを示す滞留予測情報を算出し、ＴＣＰ−ＡＣＫ生成制御部１０６に通知する処理を行う。
【００９４】
図８は、実施の形態３における送信待機頻度推定部８０１の構成を示すブロック図である。送信待機頻度推定部８０１は、ＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２、滞留頻度閾値管理部８０３、滞留予測情報算出部８０４を有して構成される。
【００９５】
ＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２は、ＴＣＰ−ＡＣＫの送信待機中に新たに受信したＴＣＰ−ＤＡＴＡ数（ＴＣＰセグメントデータの数）、すなわちそのセッションに関わるデータの受信回数をカウントする。ＴＣＰ−ＤＡＴＡ受信回数のカウントの開始、およびカウンタ値の初期化は、滞留予測情報算出部８０４の指示に従い実施する。
【００９６】
ここで、ＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２、特定の区間、ＴＣＰ確認応答セグメントの送信相手からのＴＣＰデータを受信した回数を、記録するＴＣＰデータ受信回数記録部の機能を実現する。なお、特定の区間とは、ＴＣＰ確認応答セグメントが発生してから通信メディアに送信するまでの間である。
【００９７】
滞留頻度閾値管理部８０３は、ＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２のカウンタ値により、滞留頻度のレベルを規定するための閾値を管理する。例えば、滞留頻度閾値管理部８０３は、滞留頻度をレベル１（小）・レベル２（中）・レベル３（大）の３段階に規定する。なお、レベル１とレベル２の境界値は、通常状態でのＴＣＰ−ＡＣＫ生成頻度の２倍すなわちＴＣＰ−ＤＡＴＡ受信回数４回とする。また、レベル２とレベル３の境界値は、通常状態でのＴＣＰ−ＡＣＫ生成頻度の３倍すなわちＴＣＰ−ＤＡＴＡ受信回数６回とする。
【００９８】
滞留予測情報算出部８０４は、ＴＣＰ処理部１０５より、ＴＣＰ−ＡＣＫをＩＰ処理部１０４に送出した通知を受けると、ＴＣＰ−ＤＡＴＡ受信回数のカウント開始をＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２に指示する。また、滞留予測情報算出部８０４は、ＭＡＣ処理部１０２からＴＣＰ−ＡＣＫを含むデータフレームの送信完了通知を受けると、ＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２のカウンタ値および滞留頻度閾値管理部８０３の閾値情報を参照する。
【００９９】
これらの情報の参照の結果、ＴＣＰ−ＤＡＴＡ受信回数カウンタ値がどの滞留頻度レベルに属するかを判定し、判定結果をＴＣＰ−ＡＣＫ生成制御部１０６に通知し、カウンタの初期化をＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２に指示する。
【０１００】
このように、本実施の形態の送信待機頻度推定部８０１は、特定の区間、ＴＣＰ−ＤＡＴＡ受信回数をカウントし、この期間のＴＣＰ−ＤＡＴＡ受信回数に基づき、滞留頻度レベルを決定する。なお、特定の区間とは、ＴＣＰ処理部１０５でＴＣＰ−ＡＣＫを生成してからＭＡＣ処理部１０２によりＴＣＰ−ＡＣＫの送信が完了するまでの間である。送信待機頻度推定部８０１は、この滞留頻度レベルを滞留予測情報として、ＴＣＰ−ＡＣＫ生成制御部１０６に通知する。
【０１０１】
ＴＣＰ処理部１０５は、ＴＣＰ−ＡＣＫをＩＰ処理部１０４に渡す処理を実施したことを送信待機頻度推定部８０１に通知する機能を有する。さらに、ＴＣＰ処理部１０５は、ＴＣＰ−ＤＡＴＡの受信をした場合に、送信待機頻度推定部８０１に通知する機能を有する。また、ＴＣＰ処理部１０５は、ＴＣＰ−ＡＣＫ生成制御部１０６からの通知に基づき、ＩＰ層からいくつＴＣＰセグメントデータを正常受信したらＴＣＰ−ＡＣＫを生成するかを管理するＡＣＫパラメータを変更する。
【０１０２】
ＴＣＰ処理部１０５は、ＡＣＫパラメータの変更により、定常状態でのＴＣＰ−ＡＣＫの生成タイミングを、ＴＣＰセグメントデータを２セグメント受信した後、あるいは、４セグメント受信した後、６セグメント受信した後などに設定する。なお、一般的には、輻輳状態では１セグメント受信した後にＴＣＰ−ＡＣＫを生成し、定常状態では２セグメント受信した後にＴＣＰ−ＡＣＫを生成するように構成されている。
【０１０３】
ＴＣＰ−ＡＣＫ生成制御部１０６は、送信待機頻度推定部８０１から受け取った滞留予測情報に基づき、ＴＣＰ−ＡＣＫの生成頻度を管理するＡＣＫパラメータを変更するよう、ＴＣＰ処理部１０５に通知する。この滞留予測情報は、上述したようにＴＣＰ−ＡＣＫの生成から送信完了までの間、送信権獲得試行中のＴＣＰセグメントデータの受信回数の大小を複数のレベルで示したものである。すなわち、滞留予測情報は、ＴＣＰ−ＡＣＫの送信待機中に自通信端末が受信するセッションに関わるＴＣＰセグメントデータを、どれだけ受信したかを示すものである。
【０１０４】
すなわち、通常の生成頻度でＴＣＰセグメントデータを２セグメント受信後にＴＣＰ−ＡＣＫを生成した場合に、ＴＣＰ−ＡＣＫが発生してから送信可能となるまでにどのぐらい滞留するかの度合い（滞留頻度）を示す情報に相当する。このように、滞留予測情報に基づいてＡＣＫパラメータを変更してＴＣＰ−ＡＣＫの生成頻度を調整することによって、ＴＣＰ−ＡＣＫの生成タイミングを制御でき、伝送路の使用状況に応じたＴＣＰ−ＡＣＫの生成および送信が可能になる。
【０１０５】
図９は、実施の形態３の通信端末において、送信待機頻度推定部８０１による滞留予測情報を算出する処理フローを示す図である。
【０１０６】
送信待機頻度推定部８０１による滞留予測情報算出処理では、まず始めに、滞留頻度を計測するために使用するカウンタを初期化する（ステップＳ９０１）。具体的には、送信待機頻度推定部８０１は、ＴＣＰ−ＡＣＫの送信権獲得試行中のＴＣＰ−ＤＡＴＡ受信回数を管理するＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２を初期化する。
【０１０７】
次に、送信待機頻度推定部８０１は、自通信端末にて送信するＴＣＰ−ＡＣＫデータが発生したか否かを判定する（ステップＳ９０２）。ステップＳ９０２の判定にてＮｏ、すなわち送信データが発生していない場合、送信データが発生するまでステップＳ９０２の判定を繰り返す。
【０１０８】
送信データが発生すると（ステップＳ９０２の判定にてＹｅｓ）、ＭＡＣ処理部１０２は、データの送信権獲得のためのキャリアセンスを実施する（ステップＳ９０３）。そして、キャリアセンスの結果に基づき、ＭＡＣ処理部１０２は、他の通信端末からのキャリアを検出したか否かによって送信権を獲得できたかどうかを判定する（ステップＳ９０４）。
【０１０９】
キャリアセンスの結果、送信権がまだ獲得できていない場合（ステップＳ９０４の判定にてＮｏ）、すなわち他の通信端末からのキャリアを検出した場合、ステップＳ９０７に進む。ＭＡＣ処理部１０２は、通信相手端末からのＴＣＰ−ＤＡＴＡを受信したか否かを判定する（ステップＳ９０７）。ステップＳ９０７の判定にてＹｅｓ、すなわち、通信相手端末からのＴＣＰ−ＤＡＴＡを検出した場合、ＭＡＣ処理部１０２は、ＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２を１加算する（ステップＳ９０８）。さらに、ＭＡＣ処理部１０２は、再び送信権獲得のためのキャリアセンス処理（ステップＳ９０３）に戻る。
【０１１０】
また、ステップＳ９０７の判定にてＮｏ、すなわち、通信相手端末からのＴＣＰ−ＤＡＴＡを検出していない場合は、そのまま送信権獲得のためのキャリアセンス処理（ステップＳ９０３）に戻り。つまり、送信権が獲得できるまでは、キャリアセンス処理を実施する。
【０１１１】
キャリアセンスの結果、送信権を獲得すると（ステップＳ９０４の判定にてＹｅｓの場合）、送信待機頻度推定部８０１は、ＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２のカウンタ値がレベル１未満であるか否かを判定する（ステップＳ９０５）。
【０１１２】
ステップＳ９０５の判定でＹｅｓ、すなわち、ＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２のカウンタ値がレベル１未満である場合には、ステップＳ９０６に進む。滞留予測情報算出部８０４は、滞留頻度を小に設定して滞留頻度情報としてＴＣＰ−ＡＣＫ生成制御部１０６に通知し（ステップＳ９０６）、ステップＳ９０１へ戻り、ＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２を初期化する。
【０１１３】
また、ステップＳ９０５の判定でＮｏの場合には、ＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２のカウンタ値が、レベル１以上であり、かつ、レベル２未満であるか否かを判定する（ステップＳ９０９）。ステップＳ９０９の判定でＹｅｓ、すなわち、ＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２のカウンタ値がレベル２未満である場合には、ステップＳ９１０に進む。滞留予測情報算出部８０４は、滞留頻度を中に設定して滞留頻度情報としてＴＣＰ−ＡＣＫ生成制御部１０６に通知し（ステップＳ９１０）、ステップＳ９０１へ戻り、ＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２を初期化する。
【０１１４】
また、ステップＳ９０９の判定でＮｏ、すなわち、ＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２のカウンタ値がレベル２以上である場合には、ステップＳ９１１に進む。滞留予測情報算出部８０４は、滞留頻度を大に設定して滞留頻度情報としてＴＣＰ−ＡＣＫ生成制御部１０６に通知し（ステップＳ９１１）、ステップＳ９０１へ戻り、ＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２を初期化する。
【０１１５】
以上、本実施の形態は、自端末からのＴＣＰ−ＡＣＫを含む送信データ待機中に新たな送信相手からのＴＣＰ−ＤＡＴＡの受信回数によって、通信回線の混雑度および通信相手から到着するデータのバースト性を推定し、送信データの滞留頻度を推定することが可能である。
【０１１６】
この際、他端末の送信によりＴＣＰ−ＡＣＫの送信待機が発生しやすい環境、すなわち、送信データの滞留頻度が高く、直ちに送信権を得ることが困難な状況では、ＴＣＰ−ＡＣＫの生成頻度を調整する。具体的には、本実施の形態は、ＴＣＰ−ＡＣＫの生成タイミングを遅らせて、より多くのＴＣＰセグメントデータを受信後にＴＣＰ−ＡＣＫを生成するように生成頻度を調整するようにしたものである。このようなＴＣＰ−ＡＣＫ生成タイミングの調整により、一つのＴＣＰ−ＡＣＫでより多くのＴＣＰセグメントデータの受信確認を送信側に通知することが可能となる。
【０１１７】
これにより、実施の形態１および２と同様、ＴＣＰ−ＡＣＫの送信回数を削減することができるため、通信端末の消費電力を下げることができる。また、ＴＣＰ−ＡＣＫの送信回数を削減することで通信メディアに送信するデータフレーム量を削減できるため、システムのスループットを向上することができる。
【０１１８】
なお、上述した本実施の形態における、滞留頻度レベル数、滞留頻度レベルの境界値は、変更が可能である。本実施の形態では、レベルを３段階、レベル１・レベル２の境界値は通常のＴＣＰ−ＡＣＫ生成頻度の２倍すなわちＴＣＰ−ＤＡＴＡ受信回数４回、レベル２・レベル３の境界値は通常のＴＣＰ−ＡＣＫ生成頻度の３倍すなわちＴＣＰ−ＤＡＴＡ受信回数６回と設定したが、この限りではない。例えば、レベルは２段階あるいは４段階以上に設定する、それぞれの境界値を別の値に設定する、等としてもよい。
【０１１９】
また、滞留頻度レベルに応じて変更するＡＣＫパラメータ等のＴＣＰパラメータ値に関しても、上述したものは一例であり、２倍、３倍でなく、＋２回、＋３回という変更にするようにした場合でも、同様の効果が得られるのは言うまでもない。
【０１２０】
なお、送信待機頻度推定部８０１は、特定の期間、ＴＣＰ−ＡＣＫ生成制御部１０６にＴＣＰ処理部１０５へのＴＣＰ−ＡＣＫ生成禁止を通知するようにしてもよい。なお特定の期間とは、ＴＣＰ処理部１０５よりＴＣＰ−ＡＣＫをＩＰ処理部１０４に送出した通知を受けた時点から、ＭＡＣ処理部１０２よりＴＣＰ−ＡＣＫの送信権を獲得して送信が完了した通知を受けるまでの間である。
【０１２１】
これは、ＴＣＰ−ＤＡＴＡ受信回数カウンタ８０２の稼働中は、常に滞留頻度がレベル３になるようにレベル２・レベル３の境界値を設定することで実現できる。ただし、レベル３においては、ＴＣＰ−ＡＣＫ生成タイマタイムアウト値をＲＴＴ閾値、ＴＣＰ−ＡＣＫ生成頻度を無限大に設定するものとする。
【０１２２】
（実施の形態４）
図１０〜図１３は、本発明の実施の形態４における通信端末および通信方法の一例を示したものである。図１０は、実施の形態４における通信端末の構成を示すブロック図である。なお、実施の形態１と同様の構成要素には同一の符号を付してその説明を省略し、異なる部分のみを説明する。
【０１２３】
ＭＡＣ処理部１０２は、通信メディアへのアクセス制御処理を行う。また、ＭＡＣ処理部１０２は、ＰＨＹ処理部１０１から受け取った受信フレームのＭＡＣ層処理を行いＩＰ処理部１０４に渡す処理を行う。また、ＭＡＣ処理部１０２は、送信データ選択部１００１から受け取った送信データフレームにＭＡＣ層処理を行いＰＨＹ処理部１０１に渡す処理を行う。また、ＭＡＣ処理部１０２は、キャリアセンスの結果、送信権獲得した場合には送信データ選択部１００１に通知する機能を有する。
【０１２４】
ＩＰ処理部１０４は、ＭＡＣ処理部１０２から受け取ったＩＰパケットのヘッダ解析を行い、ＴＣＰ処理部１０５などの上位層処理部にＩＰパケットのペイロードを渡す処理を行う。また、ＩＰ処理部１０４は、ＴＣＰ処理部１０５から受け取ったＴＣＰセグメントデータにＩＰヘッダを付与し、送信データ選択部１００１に渡す処理を行う。
【０１２５】
送信データ選択部１００１は、ＩＰ処理部１０４から受け取ったＩＰパケットを解析し、送信するデータがＴＣＰ−ＤＡＴＡ受信に対するＴＣＰ−ＡＣＫであるか否かを解析する。ここで、ＴＣＰ−ＡＣＫである場合、実際に送信権が得られるまでにＩＰ処理部１０４から受け取ったＴＣＰ−ＡＣＫを最新のものに更新し、ＭＡＣ処理部１０２に渡す処理を行う。また、送信待機中のデータがある場合には、データ送信権獲得試行を行うように送信待機通知をＭＡＣ処理部１０２に発行する。
【０１２６】
送信データ選択部１００１は、送信データ判定部１００２、追加ＴＣＰ−ＡＣＫ格納部１００３、送信待機ＴＣＰ−ＡＣＫ格納部１００４、送信データバッファ１００５、出力選択部１００６を有して構成される。
【０１２７】
送信データ判定部１００２は、ＩＰ処理部１０４から受け取ったＩＰパケットを解析し、格納されているデータがＴＣＰ−ＡＣＫか否かを判定する。この際、送信データ判定部１００２は、ＩＰパケットのＩＰヘッダ情報から、ＩＰパケットのペイロードがＴＣＰか否かを識別し、さらに、ＴＣＰである場合にはＴＣＰヘッダ情報を解析し、ＴＣＰ−ＡＣＫか否かを識別する。ここで、ＴＣＰ−ＡＣＫである場合、送信データ判定部１００２は、追加ＴＣＰ−ＡＣＫ格納部１００３にＴＣＰ−ＡＣＫデータを渡す。
【０１２８】
また、ＴＣＰ−ＡＣＫではない場合、送信データ判定部１００２は、送信データバッファ１００５に送信データを渡す。また、送信データ判定部１００２は、送信データの到着順情報を管理し、追加ＴＣＰ−ＡＣＫ格納部１００３および送信データバッファ１００５に送信データを渡す場合には、データ到着順を示す到着順情報と共に渡すようにする。この到着順情報とは、システムで管理する時刻情報とする。
【０１２９】
追加ＴＣＰ−ＡＣＫ格納部１００３は、新規にＴＣＰ−ＡＣＫデータを送信データ判定部１００２から受け取ると、送信待機ＴＣＰ−ＡＣＫ格納部１００４にデータが到着したことおよびデータの宛先を通知する。
【０１３０】
送信待機ＴＣＰ−ＡＣＫ格納部１００４は、追加ＴＣＰ−ＡＣＫ格納部１００３からのＴＣＰ−ＡＣＫデータを順に出力選択部１００６に渡すようにデータをバッファに格納する。データ出力順は、システムのキューイングアルゴリズムに従う。データ出力順として、ここでは到着順に順次出力する例を挙げるが、他の例として、データに優先度を設け、優先度順に出力するようにしてもよい。優先度順に処理をさせるには、バッファを優先度クラスごとに区別して設ければよい。到着順に出力する場合は、１クラスのバッファを設けることと等価である。
【０１３１】
また、送信待機ＴＣＰ−ＡＣＫ格納部１００４は、追加ＴＣＰ−ＡＣＫ格納部１００３からの新規データ到着通知を受けると、該当する宛先に対するＴＣＰ−ＡＣＫデータが既に格納されているかを検索する。ここで、既に該当宛先のＴＣＰ−ＡＣＫデータが格納されている場合は、そのＴＣＰ−ＡＣＫデータと、追加ＴＣＰ−ＡＣＫ格納部１００３に格納された新たなＴＣＰ−ＡＣＫデータとの差し替えを行う。
【０１３２】
このとき、データの到着順情報の差し替えは、行わない。また、送信待機ＴＣＰ−ＡＣＫ格納部１００４は、出力選択部１００６からの到着順情報通知要求に対し、格納されているＴＣＰ−ＡＣＫデータのうち、送信順位の最も高いもののデータの到着順序情報を渡す処理を行う。なお、送信順位の最も高いものとは、例えば、最も早く格納されたＴＣＰ−ＡＣＫデータとする。また、送信待機ＴＣＰ−ＡＣＫ格納部１００４は、出力選択部１００６からの送信許可指示を受け、送信順位の最も高いＴＣＰ−ＡＣＫを含むデータを出力し、出力選択部１００６を介してＭＡＣ処理部１０２に渡す。
【０１３３】
送信データバッファ１００５は、送信データ判定部１００２から受け取った送信データをバッファに格納する処理を行う。また、出力選択部１００６からの到着順情報通知要求に対し、格納されている送信データのうち、送信順位の最も高いもの（本例では最も早く格納されたもの）のデータの到着順序情報を渡す処理を行う。また、送信待機ＴＣＰ−ＡＣＫ格納部１００４は、出力選択部１００６からの送信許可指示を受け、送信順位の最も高い送信データを出力し、出力選択部１００６を介してＭＡＣ処理部１０２に渡す。
【０１３４】
出力選択部１００６は、送信待機ＴＣＰ−ＡＣＫ格納部１００４および送信データバッファ１００５に対し到着順情報通知要求を行い、それぞれの到着順情報を取得する。そして、取得した到着順情報を用いて、送信優先度が高いのはどちらのデータかを判定する処理を行う。また、出力選択部１００６は、ＭＡＣ処理部１０２からの送信権獲得通知を受けると、送信待機ＴＣＰ−ＡＣＫ格納部１００４または送信データバッファ１００５のいずれかのうち、送信順位が高いデータをＭＡＣ処理部１０２に渡す。なお、送信順位が高いとは、到着順序の早いデータをいう。
【０１３５】
図１１は、実施の形態４の通信端末において、送信データの格納処理フローを示す図である。
【０１３６】
送信データ選択部１００１内の送信データ判定部１００２は、ＩＰ処理部１０４から送信データを受け取ったか否かを判定し、送信データの到着を待つ（ステップＳ１１０１）。ＩＰ処理部１０４から送信データを受け取ると（ステップＳ１１０１の判定でＹｅｓ）、受け取った送信データがＴＣＰ−ＡＣＫか否かを判定する（ステップＳ１１０２）。
【０１３７】
ここで、送信データがＴＣＰ−ＡＣＫである場合（ステップＳ１１０２の判定でＹｅｓ）、送信データ判定部１００２は、追加ＴＣＰ−ＡＣＫ格納部１００３に送信データを到着順情報と共に格納する（ステップＳ１１０３）。送信待機ＴＣＰ−ＡＣＫ格納部１００４は、追加ＴＣＰ−ＡＣＫ格納部１００３にＴＣＰ−ＡＣＫデータが格納された通知を受ける。送信待機ＴＣＰ−ＡＣＫ格納部１００４は、追加ＴＣＰ−ＡＣＫ格納部１００３に格納されたＴＣＰ−ＡＣＫデータと同一の宛先のものが、送信待機ＴＣＰ−ＡＣＫ格納部１００４に格納されているか否かを検索する（ステップＳ１１０４）。
【０１３８】
ここで、該当する同一宛先のＴＣＰ−ＡＣＫデータが存在する場合（ステップＳ１１０４の判定でＹｅｓ）は、ステップＳ１１０５に進む。送信待機ＴＣＰ−ＡＣＫ格納部１００４は、格納されている該当送信データを、追加ＴＣＰ−ＡＣＫ格納部１００３に格納されているＴＣＰ−ＡＣＫデータに書き換える（ステップＳ１１０５）。このとき、到着順情報の書き換えは行わない。また、該当送信データがＴＣＰ−ＤＡＴＡを含む場合には、ＴＣＰ−ＡＣＫ情報のみを置き換える。すなわち、送信待機ＴＣＰ−ＡＣＫ格納部１００４は、ＴＣＰヘッダのアクノレッジメント番号を置き換え、チェックサムを再計算する。
【０１３９】
また、該当する同一宛先のＴＣＰ−ＡＣＫデータが存在しない場合（ステップＳ１１０４の判定でＮｏ）、ステップＳ１１０７に進む。送信待機ＴＣＰ−ＡＣＫ格納部１００４は、追加ＴＣＰ−ＡＣＫ格納部１００３に格納されているＴＣＰ−ＡＣＫデータを、到着順情報と共に送信待機ＴＣＰ−ＡＣＫ格納部１００４内に転送する（ステップＳ１１０７）。さらに、送信待機ＴＣＰ−ＡＣＫ格納部１００４は、追加ＴＣＰ−ＡＣＫ格納部１００３内の情報をクリアする。
【０１４０】
また、ステップＳ１１０２の判定にてＮｏ、すなわち送信データがＴＣＰ−ＡＣＫでないと判定した場合、送信データ判定部１００２は、送信データバッファ１００５に送信データを到着順情報と共に格納する（ステップＳ１１０６）。
【０１４１】
図１２は、実施の形態４の通信端末において、送信データの送信処理フローを示す図である。
【０１４２】
送信データ選択部１００１は、送信待機ＴＣＰ−ＡＣＫ格納部１００４、もしくは送信データバッファ１００５のいずれかに送信データがあるか否かを判定する（ステップＳ１２０１）。送信データが存在する場合（ステップＳ１２０１の判定にてＹｅｓ）、送信データ選択部１００１は、ＭＡＣ処理部１０２に送信待機データの存在を示す送信待機通知を発行する（ステップＳ１２０２）。
【０１４３】
送信待機通知を受けたＭＡＣ処理部１０２は、データの送信権獲得試行、すなわちキャリアセンスを実施する（ステップＳ１２０３）。そして、ＭＡＣ処理部１０２は、キャリアセンスの結果に基づき、他の通信端末からのキャリアを検出したか否かによって送信権を獲得できたかどうかを判定する（ステップＳ１２０４）。
【０１４４】
キャリアセンスの結果、送信権を獲得すると（ステップＳ１２０４の判定にてＹｅｓの場合）、ＭＡＣ処理部１０２から送信データ選択部１００１に送信権獲得通知が発行される。この送信権獲得通知を受けると、送信データ選択部１００１内の出力選択部１００６は、送信データバッファ１００５に格納されている最優先の送信データの到着順情報を取得する。同様に、送信データ選択部１００１内の出力選択部１００６は、送信待機ＴＣＰ−ＡＣＫ格納部１００４内に格納されている最優先の送信データの到着順情報を取得する（ステップＳ１２０５）。
【０１４５】
出力選択部１００６は、ステップＳ１２０５にて取得した到着順情報から、送信データバッファ１００５と、送信待機ＴＣＰ−ＡＣＫ格納部１００４のどちらのデータの送信優先度が高いかを判定する（ステップＳ１２０６）。ここで、送信待機ＴＣＰ−ＡＣＫ格納部１００４内のデータの方が高優先度の場合、出力選択部１００６は、送信待機ＴＣＰ−ＡＣＫ格納部１００４内の最高優先度のＴＣＰ−ＡＣＫデータをＭＡＣ処理部１０２に渡す（ステップＳ１２０７）。
【０１４６】
一方、ステップＳ１２０６の判定にて、送信データバッファ１００５内のデータの方が高優先度の場合、出力選択部１００６は、送信データバッファ１００５内の最高優先度の送信データをＭＡＣ処理部１０２に渡す（ステップＳ１２０８）。
【０１４７】
図１３は、実施の形態４における送信側端末と受信側端末との間のデータ転送動作の一例を示すシーケンス図である。図示例では、送信側端末である通信相手端末１３０３から無線ＬＡＮアクセスポイント１３０２を介して、受信側端末である通信端末（無線ＬＡＮ端末）１３０１に対して、バースト的にＴＣＰセグメントデータが送信されている。
【０１４８】
この場合、通信端末１３０１は、そのセッションに関わるデータフレーム受信数が多く、送信権獲得までに時間がかかるので、通常のＴＣＰ−ＡＣＫ生成頻度ではＴＣＰ−ＡＣＫの送信に遅延が生じる。このため、通信端末１３０１は、送信権獲得できるまでＴＣＰ−ＡＣＫを更新し、送信権獲得できた時点で更新したＴＣＰ−ＡＣＫを送信する。
【０１４９】
図１３の例では、ＴＣＰ−ＤＡＴＡ＃１〜ＴＣＰ−ＤＡＴＡ＃２を受信した時点でＴＣＰ−ＡＣＫ＃１〜＃２を、ＴＣＰ−ＤＡＴＡ＃３〜ＴＣＰ−ＤＡＴＡ＃４を受信した時点でＴＣＰ−ＡＣＫ＃３〜＃４を、ＴＣＰ−ＤＡＴＡ＃５〜ＴＣＰ−ＤＡＴＡ＃６を受信した時点でＴＣＰ−ＡＣＫ＃５〜＃６を、ＴＣＰ−ＤＡＴＡ＃７〜ＴＣＰ−ＤＡＴＡ＃８を受信した時点でＴＣＰ−ＡＣＫ＃７〜＃８をそれぞれ生成し、ＴＣＰ−ＡＣＫを更新していく。
【０１５０】
これにより、通信端末１３０１は、送信遅延発生時のＴＣＰ−ＡＣＫを１つにまとめる。そして、通信端末１３０１は、ＴＣＰ−ＤＡＴＡ＃８を受信した時点で送信権が獲得できると、更新後のＴＣＰ−ＡＣＫ＃１〜＃８を無線ＬＡＮアクセスポイント１３０２に返信する。このように、ＴＣＰ−ＡＣＫを送信可能になるまでに時間がかかる場合であっても、更新後の１つにまとめたＴＣＰ−ＡＣＫを送信することで、ＴＣＰ−ＡＣＫの分割送信を抑制できる。
【０１５１】
上記のような本実施の形態は、送信待機中のＴＣＰ−ＡＣＫと同一の宛先に向けたＴＣＰ−ＡＣＫが新たに発生した場合に、一つのＴＣＰ−ＡＣＫにまとめることが可能である。これは、他端末の送信によりＴＣＰ−ＡＣＫの送信待機が発生しやすい環境、すなわち、送信データの滞留頻度が高く、直ちに送信権を得ることが困難な状況で、有効である。つまり、本実施の形態では、ＴＣＰ−ＡＣＫの送信権が得られるまでに順次発生した同一宛先へのＴＣＰ−ＡＣＫを最新のものに置き換えるようにしたものである。
【０１５２】
このようなＴＣＰ−ＡＣＫ生成処理により、一つのＴＣＰ−ＡＣＫでより多くのＴＣＰセグメントデータの受信確認を送信側に通知することが可能となる。これにより、ＴＣＰ−ＡＣＫの送信回数を削減することができるため、通信端末の消費電力を下げることができる。また、ＴＣＰ−ＡＣＫの送信回数を削減することで通信メディアに送信するデータフレーム量を削減できるため、システムのスループットを向上することができる。
【０１５３】
なお、上述した本実施の形態において、到着順情報はシステムで管理する時刻情報としたが、送信データ発生ごとに１加算される識別子を付与したものを用いるなどしてもよい。また、到着順情報は、ＱｏＳ情報（送信優先度情報）に対して重み付けを行った結果の値としてもよい。
【０１５４】
また、本実施の形態では、実施の形態４の構成の通信端末に、実施の形態１〜３における送信待機頻度推定部のいずれか、および実施の形態１〜３におけるＴＣＰ処理部のいずれかを設けてもよい。これにより、本実施の形態では、他端末の送信によりＴＣＰ−ＡＣＫの送信待機が発生しやすい環境において、ＴＣＰ処理部１０５におけるＴＣＰ−ＡＣＫ生成処理が削減されるため、システムの負荷を削減することができる。
【０１５５】
また、本実施の形態は、半二重通信を行う通信システムにおいて、ＭＡＣ層におけるキャリアセンス状況に応じて、ＴＣＰ層におけるＴＣＰ−ＡＣＫ生成タイミングを制御することで、ＴＣＰ−ＡＣＫの分割送信を抑制することができる。また、本実施の形態は、ＴＣＰ通信時において送信待機が頻繁に発生し、ＴＣＰ−ＡＣＫの送信に遅延が発生する環境においても、ＴＣＰ−ＡＣＫの送信回数を削減することができ、ＴＣＰ通信処理の効率化を実現することが可能である。これによって、本実施の形態は、通信端末の消費電力の低減、システムのスループットの向上等を図ることが可能になる。
【０１５６】
なお、本発明は、本発明の趣旨ならびに範囲を逸脱することなく、明細書の記載、並びに周知の技術に基づいて、当業者が様々な変更、応用することも本発明の予定するところであり、保護を求める範囲に含まれる。また、本発明は、発明の趣旨を逸脱しない範囲で、上記実施の形態における各構成要素を任意に組み合わせてもよい。
【０１５７】
上述した実施の形態では、ＰＨＹ処理部１０１、ＭＡＣ処理部１０２について、無線ＬＡＮに接続する通信端末に適用した場合を例にとりその構成および動作を記載したが、これに限るものではない。本実施の形態は、半二重通信を行う通信方式、あるいは通信システムとして、例えばＰＬＣ（Power Line Communications）などに用いる通信装置に適用してもよい。
【０１５８】
上記各実施の形態では、本発明をハードウェアで構成する場合を例にとって説明したが、本発明はソフトウェアで実現することも可能である。
【０１５９】
また、上記各実施の形態の説明に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。上記のＰＨＹ処理部１０１、ＭＡＣ処理部１０２、送信待機頻度推定部１０３、６０１、８０１、ＩＰ処理部１０４、ＴＣＰ処理部１０５、ＴＣＰ−ＡＣＫ生成制御部１０６、端末制御部１０７、送信データ選択部１００１等は、集積回路であるＬＳＩとして典型的には実現される。これらは、個別に１チップ化されてもよいし、一部または全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１６０】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１６１】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【０１６２】
本出願は、２００９年１１月２日出願の日本特許出願（特願２００９−２５２２３７）に基づくものであり、その内容はここに参照として取り込まれる。
【産業上の利用可能性】
【０１６３】
本発明にかかる通信端末および通信方法は、ＴＣＰ通信時におけるＴＣＰ−ＡＣＫの分割送信を抑制し、効率的に確認応答を行うことが可能となる効果を有し、特に、無線ＬＡＮなどの半二重通信リンクを用いてＴＣＰ／ＩＰ通信を行う通信端末、家電機器等に対して有用である。また、本発明にかかる通信端末および通信方法は、車載ＬＡＮ内に接続されＴＣＰ／ＩＰ通信を行う車載通信機器、家庭内ネットワーク用通信インタフェースを搭載した携帯電話等の用途にも応用できる。
【符号の説明】
【０１６４】
１０１  ＰＨＹ処理部
１０２  ＭＡＣ処理部
１０３、６０１、８０１  送信待機頻度推定部
１０４  ＩＰ処理部
１０５  ＴＣＰ処理部
１０６  ＴＣＰ−ＡＣＫ生成制御部
１０７  端末制御部
２０１  インターバルタイマ
２０２  データフレーム受信数カウンタ
２０３、６０３、８０３  滞留頻度閾値管理部
２０４、６０４、８０４  滞留予測情報算出部
５０１、１３０１  通信端末
５０２、１３０２  無線ＬＡＮアクセスポイント
５０３、１３０３  通信相手端末
６０２  キャリア検出回数カウンタ
８０２  ＴＣＰ−ＤＡＴＡ受信回数カウンタ
１００１  送信データ選択部
１００２  送信データ判定部
１００３  追加ＴＣＰ−ＡＣＫ格納部
１００４  送信待機ＴＣＰ−ＡＣＫ格納部
１００５  送信データバッファ
１００６  出力選択部
【図１】
0005573844.tif 000002
【図２】
0005573844.tif 000003
【図３】
0005573844.tif 000004
【図４】
0005573844.tif 000005
【図５】
0005573844.tif 000006
【図６】
0005573844.tif 000007
【図７】
0005573844.tif 000008
【図８】
0005573844.tif 000009
【図９】
0005573844.tif 000010
【図１０】
0005573844.tif 000011
【図１１】
0005573844.tif 000012
【図１２】
0005573844.tif 000013
【図１３】
0005573844.tif 000014
【図１４】
0005573844.tif 000015
【図１５】
0005573844.tif 000016