(57)【要約】  【課題】  上りリンクの帯域と下りリンクの帯域が非対称であるネットワークを通じ、中継装置に接続された複数の送受信装置間のＴＣＰ通信において、上りＴＣＰフロー間のスループットの不公平性を改善できる送受信装置を提供する。  【解決手段】  送受信装置は、パケット送信の優先制御機能を備えた中継装置に接続され、中継装置に接続される他の複数の送受信装置からデータパケットを受信する。送受信装置は、送受信装置とその通信相手との間のＴＣＰフローのウインドウサイズを推定するウインドウサイズ推定部３０６と、推定されたウインドウサイズに応じて、受信したデータパケットに対するＡＣＫパケットに優先度を付加する優先度付加部３０７を備えている。【選択図】  図１
2012191274.tif 000002
【特許請求の範囲】
【請求項１】
上りリンクの帯域と下りリンクの帯域が非対称なネットワークを通じ、パケット送信の優先制御機能を備えた中継装置を介し、前記中継装置に接続される他の複数の送受信装置とＴＣＰ通信を行う送受信装置であって、
該送受信装置とその通信相手となる他の送受信装置との間のＴＣＰフローのウインドウサイズを推定するウインドウサイズ推定部と、  
前記ウインドウサイズ推定部にて推定されたウインドウサイズに応じて、前記通信相手となる他の送受信装置から受信したＴＣＰフローのデータパケットに対するＡＣＫパケットに優先度を付加する優先度付加部と、
を備えたことを特徴とする送受信装置。
【請求項２】
前記優先度付加部は、前記ウインドウサイズ推定部にて推定されたウインドウサイズが所定の閾値より小さいＴＣＰフローのＡＣＫパケットに、前記ウインドウサイズ推定部にて推定されたウインドウサイズが前記所定の閾値より大きいＴＣＰフローのＡＣＫパケットよりも高い優先度を付加することを特徴とする請求項１に記載の送受信装置。
【請求項３】
前記所定の閾値は、スロースタート閾値であることを特徴とする請求項２に記載の送受信装置。
【請求項４】
前記優先度付加部は、前記ウインドウサイズ推定部にて推定されたウインドウサイズが前記所定の閾値より大きいＴＣＰフローについても、当該ＴＣＰフローのウインドウ内の少なくとも１つのＡＣＫパケットには高い優先度を付加することを特徴とする請求項２に記載の送受信装置。
【請求項５】
前記優先度付加部は、前記他の送受信装置から送信された前記データパケットの損失が発生したときに、当該送受信装置への重複ＡＣＫパケットに対して高い優先度を付加することを特徴とする請求項２に記載の送受信装置。
【請求項６】
前記他の送受信装置 は、前記ＡＣＫパケットの所定の時間内における損失数が所定の閾値以上であるときに、当該ＴＣＰフローのウインドウサイズを減少させることを特徴とする請求項１乃至５のいずれか１項に記載の送受信装置。
【請求項７】
前記送受信装置は、連続して受信したＡＣＫパケットにおいてシーケンス番号の増加が２以上である場合に、ＡＣＫパケットの損失があったと判断して、前記ＡＣＫパケットの損失数を求めることを特徴とする請求項６に記載の送受信装置。
【請求項８】
パケット送信の優先制御機能を備えた中継装置と、前記中継装置に接続される複数の端末装置間でＴＣＰ通信を行う送受信装置とを含む通信システムであって、
前記送受信装置は、該送受信装置とその通信相手となる他の送受信装置との間のＴＣＰフローのウインドウサイズを推定するウインドウサイズ推定部と、前記ウインドウサイズ推定部にて推定されたウインドウサイズに応じて、前記通信相手となる他の送受信装置から受信したＴＣＰフローのデータパケットに対するＡＣＫパケットに優先度を付加する優先度付加部とを備え、
前記中継装置は、パケット送信の優先制御機能を備え、前記送受信装置から送信されたＡＣＫパケットに付加された優先度に応じて、優先度の高いＡＣＫパケットをより優先して送信する構成を有することを特徴とする通信システム。
【請求項９】
上りリンクの帯域と下りリンクの帯域が非対称なネットワークを通じ、パケット送信の優先制御機能を備えた中継装置を介し、前記中継装置に接続される他の複数の送受信装置とＴＣＰ通信を行う送受信装置における受信方法であって、
前記送受信装置とその通信相手となる他の送受信装置との間のＴＣＰフローのウインドウサイズを推定するウインドウサイズ推定ステップと、
前記ウインドウサイズ推定ステップにて推定されたウインドウサイズに応じて、前記通信相手となる他の送受信装置から受信したＴＣＰフローのデータパケットに対するＡＣＫパケットに優先度を付加するＡＣＫ優先度付加ステップと、
を含むことを特徴とする受信方法。
【請求項１０】
パケット送信の優先制御機能を備えた中継装置と、前記中継装置に接続される複数の送受信装置間でＴＣＰ通信を行う送受信装置とを含む通信システムにおける通信方法であって、
前記送受信装置にて、該送受信装置とその通信相手となる他の送受信装置との間のＴＣＰフローのウインドウサイズを推定するウインドウサイズ推定ステップと、
前記送受信装置にて、前記ウインドウサイズ推定ステップにて推定されたウインドウサイズに応じて、前記送受信装置の通信相手から受信したデータパケットに対するＡＣＫパケットに優先度を付加する優先度付加ステップとを含むことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線ＬＡＮなどの上りリンクの帯域と下りリンクの帯域が非対称であるネットワークを通じ、複数の送受信装置が接続される中継装置を介し、他の複数の送受信装置とＴＣＰ通信を行う送受信装置および当該送受信装置における受信方法、ならびに送受信装置と中継装置とを含む通信システムおよび当該通信システムにおける通信方法に関する。
【背景技術】
【０００２】
近年、無線ネットワーク技術の向上に伴い、無線ＬＡＮを用いたインターネットアクセスが急速に普及し、今後も拡大し続けると思われる。インターネットにおいては、多様なネットワーク環境において信頼性のある通信を実現するトランスポートプロトコルであるＴＣＰ（Transmission Control Protocol）が標準的に用いられている。しかし、無線ＬＡＮなどの上りリンクの帯域と下りリンクの帯域が非対称なネットワークにおけるＴＣＰ通信の問題が指摘されている。
【０００３】
その問題は、ＴＣＰフロー間のスループットに不公平性が生じることである。空港や駅などの公共の施設において無線ＬＡＮを用いたサービスを提供する場合、ユーザ間の公平性が重要となるため、その問題は無視できない。以下、無線ＬＡＮを用いた無線ネットワークを例として説明する。
【０００４】
一般的な無線ＬＡＮの通信方式であるインフラストラクチャモードの無線ＬＡＮを用いた無線ネットワークを考える。インフラストラクチャモードでは、中継装置であるアクセスポイントに送受信装置であるステーションが接続され、各ステーション間の通信はアクセスポイントを介して行われる。無線ＬＡＮにおける通信は、ステーションからアクセスポイントへの通信である上りフローと、その逆向きの通信である下りフローから構成される。
【０００５】
無線ＬＡＮは、アクセス制御方式にＣＳＭＡ／ＣＡ（Carrier Sense Multiple Access/Collision Avoidance）と呼ばれるランダムアクセス方式を用いる。ＣＳＭＡ／ＣＡは、フレーム送信の際に搬送波の検出のためにバックオフ時間だけ待ち、他に通信中の端末が存在しないことを確認することによって、フレームの衝突をできるだけ回避するものである。
【０００６】
通常、無線ＬＡＮを用いた無線ネットワークにおいては、アクセスポイントを含む全ての無線端末が同一のＣＳＭＡ／ＣＡのパラメータを用いる。そのため、各無線端末のアクセス機会、つまり各無線端末の帯域は均等になる。しかし、無線端末数をｎとすると、ステーションからアクセスポイントへの上り方向のアクセス機会がｎ／（ｎ＋１）であるのに対し、アクセスポイントからステーションへの下り方向のアクセス機会が１／（ｎ＋１）となる不均等が生じる。ゆえに、無線ＬＡＮでは上りリンクと下りリンクの帯域が非対称になる。
【０００７】
そのような上りリンクの帯域と下りリンクの帯域が非対称なネットワーク上のＴＣＰ通信においては、２種類のＴＣＰフロー間の不公平性の問題がある。１つは、上下ＴＣＰフロー間の不公平性である。もう１つは、上りＴＣＰフロー間の不公平性である。
【０００８】
上りリンクと下りリンクの帯域が非対称であることから、無線ＬＡＮにおいてはアクセスポイントがボトルネックとなり輻輳が発生する。輻輳が発生すると、アクセスポイント上で上りＴＣＰフローのＡＣＫパケットおよび下りＴＣＰフローのデータパケットが廃棄される。ＴＣＰは、データパケットが損失すると輻輳制御によりウインドウサイズを減少する。しかし、ＡＣＫパケットが損失した場合は輻輳制御が行われない。
【０００９】
そのため、上りＴＣＰフローはＡＣＫパケットの廃棄に対して輻輳制御を行わないが、下りＴＣＰフローはデータパケットが廃棄されるため輻輳制御によりレートを下げる。ゆえに、上りＴＣＰフローのスループットが下りＴＣＰフローのスループットより大きくなる上下ＴＣＰフロー間の不公平性が生じる。
【００１０】
さらに、上下ＴＣＰフロー間だけでなく上りフロー間においても不公平性が生じる。アクセスポイント上で輻輳が発生すると、上りＴＣＰフローのＡＣＫパケットが廃棄される。ＡＣＫパケットが損失した場合は輻輳制御が行われないため、データパケット損失、またはタイムアウトが発生しない限り上りＴＣＰフローはウインドウサイズを増加し続ける。
【００１１】
ＴＣＰは、タイムアウトが発生するとウインドウサイズを最小値である１に減少し、再びウインドウサイズを増加する。複数の上りＴＣＰフローが存在する状態である上りＴＣＰフローにおいてタイムアウトが発生したとする。このとき、アクセスポイントの輻輳が改善されておらずＡＣＫパケットの廃棄が引き続き発生する場合、ウインドウサイズが小さいＴＣＰフローほどウインドウ内の全てのＡＣＫパケットが廃棄されやすくなる。そのため、タイムアウトが発生してウインドウサイズが１となった上りＴＣＰフローは、ウインドウサイズを増加することが困難となる。
【００１２】
ＴＣＰは、ＡＣＫパケットの損失に対して輻輳制御を行わないが、それは累積確認応答によってウインドウ内の少なくとも１つのＡＣＫパケットを受信できればデータパケットが正しく受信されたことを確認できるためである。そのため、ウインドウサイズが大きいＴＣＰフローはＡＣＫパケットの損失の影響を受けにくい。ゆえに、上りＴＣＰフロー間でもスループットの大きいフローと極端に小さいフローが存在する不公平性が生じる。
【００１３】
なお、上りＴＣＰフロー間の不公平性は、ウインドウサイズが大きい上りＴＣＰフローが存在する状態で、新たな上りＴＣＰフローの通信が開始された場合にも同様に生じる。
【００１４】
上記のＴＣＰフロー間のスループットの不公平性を改善する方法として、様々な技術が提案されている。特許文献１は、アクセスポイントの無線ＬＡＮインタフェースの送信バッファを監視し、入出力レートやバッファ遅延などを指標としたバッファの使用状態に応じて上りＴＣＰフローのデータパケットを確率的に廃棄する。データパケットの廃棄により送信側ＴＣＰの輻輳制御を誘発してアクセスポイント上の輻輳を改善することで、不公平性を改善する。
【００１５】
非特許文献１は、特許文献１と同様に、アクセスポイントの無線ＬＡＮインタフェースの送信バッファ上のＡＣＫパケットを監視する。ＡＣＫパケットの数が多いＴＣＰフローをウインドウサイズが大きいフローとみなし、そのＴＣＰフローのＡＣＫパケットを廃棄するＡＣＫプッシュアウトを行い、ＴＣＰフローがＡＣＫパケットの送信のために使用できる帯域を公平にすることで、不公平性を改善する。
【００１６】
上記の特許文献１および非特許文献１の他に関連する技術文献として、特許文献２および非特許文献２がある。  
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００９−２７８２５６号公報
【特許文献２】特開２００６−１３９２０号公報
【非特許文献】
【００１８】
【非特許文献１】飯島裕人, 塩田茂雄, 阪田史郎, 平野由美, 村瀬勉, “ＡＣＫプッシュアウトによるＡＣＫボトルネック時のＴＣＰフロー間の不公平性の解消”, 2009年電子情報通信学会総合大会, B-7-67, Mar. 2009.
【非特許文献２】長谷川剛, 村田正幸, “無線ネットワーク環境に適したトランスポート層プロトコル”, 電子情報通信学会技術研究報告 CQ2009-20, vol.109, pp.29-34, July 2009.
【発明の概要】
【発明が解決しようとする課題】
【００１９】
上記の特許文献１および非特許文献１のような従来技術には課題がある。このような従来技術では、アクセスポイントなどの中継装置において、送信バッファ上のパケットのヘッダ情報を参照し、コネクション情報の管理やパケットのキャッシュ処理などを行う。そのため、中継装置が必要とするメモリやＣＰＵ資源が増加し、実装コストがかかる。
【００２０】
また、従来技術の実現には、アクセスポイントなどの中継装置を改変する必要がある。アクセスポイントなどの中継装置は、市販されているものを用いることが一般的であるので、改変を伴う従来技術の実現は困難である。
【００２１】
さらに、ＴＣＰ通信を行う送受信装置において、ＩＰＳｅｃなどのＶＰＮ（Virtual Private Network）技術によりパケットの暗号化が行われる場合、アクセスポイントなどの中継装置ではＴＣＰヘッダを参照することができないため、従来技術を適用することができない。
【００２２】
本発明は、上記のような課題に鑑みてなされたものであり、無線ＬＡＮのアクセスポイントのような中継装置を改変することなく、複数の送受信装置の中継装置を介したＴＣＰ通信において、ＴＣＰフロー間のスループットの不公平性を改善できる送受信装置および当該送受信装置における受信方法、ならびにそのような送受信装置および受信方法を含む通信システムおよび通信方法を提供することを目的とする。
【課題を解決するための手段】
【００２３】
本発明の送受信装置は、上りリンクの帯域と下りリンクの帯域が非対称なネットワークを通じ、パケット送信の優先制御機能を備えた中継装置を介し、前記中継装置に接続される他の複数の送受信装置とＴＣＰ通信を行う送受信装置であって、前記送受信装置とその通信相手との間のＴＣＰフローのウインドウサイズを推定するウインドウサイズ推定部と、前記ウインドウサイズ推定部にて推定されたウインドウサイズに応じて、前記送受信装置の通信相手から受信したＴＣＰフローのデータパケットに対するＡＣＫパケットに優先度を付加する優先度付加部を備える。前記中継装置は、パケット送信の優先制御機能を備え、前記送受信装置から送信されたＡＣＫパケットに付加された優先度に応じて、優先度の高いＡＣＫパケットをより優先して送信する構成を有する。
【００２４】
また、本発明の別の態様は、上りリンクの帯域と下りリンクの帯域が非対称なネットワークを通じ、パケット送信の優先制御機能を備えた中継装置を介し、前記中継装置に接続される他の複数の送受信装置とＴＣＰ通信を行う送受信装置における受信方法であって、この受信方法は、前記送受信装置とその通信相手との間のＴＣＰフローのウインドウサイズを推定するウインドウサイズ推定ステップと、前記ウインドウサイズ推定ステップにて推定されたウインドウサイズに応じて、前記送受信装置の通信相手から受信したＴＣＰフローのデータパケットに対するＡＣＫパケットに優先度を付加する優先度付加ステップを含む。
【００２５】
また、本発明の別の態様は、通信システムであって、この通信システムは、パケット送信の優先制御機能を備えた中継装置と、前記中継装置に接続される複数の送受信装置間でＴＣＰ通信を行う送受信装置とを含む。前記送受信装置は、前記送受信装置とその通信相手との間のＴＣＰフローのウインドウサイズを推定するウインドウサイズ推定部と、前記ウインドウサイズ推定部にて推定されたウインドウサイズに応じて、前記送受信装置の通信相手から受信したＴＣＰフローのデータパケットに対するＡＣＫパケットに優先度を付加する優先度付加部を備える。前記中継装置は、パケット送信の優先制御機能を備え、前記送受信装置から送信されたＡＣＫパケットに付加された優先度に応じて、優先度の高いＡＣＫパケットをより優先して送信する構成を有する。
【００２６】
また、本発明の別の態様は、パケット送信の優先制御機能を備えた中継装置と、前記中継装置に接続される複数の送受信装置間でＴＣＰ通信を行う送受信装置とを含む通信システムにおける通信方法であって、この通信方法は、前記送受信装置とその通信相手との間のＴＣＰフローのウインドウサイズを推定するウインドウサイズ推定ステップと、前記ウインドウサイズ推定ステップにて推定されたウインドウサイズに応じて、前記送受信装置の通信相手から受信したＴＣＰフローのデータパケットに対するＡＣＫパケットに優先度を付加する優先度付加ステップを含む。
【発明の効果】
【００２７】
本発明によれば、上りＴＣＰフロー間のスループットの不公平性を改善することができる。その理由は、ＴＣＰフローのデータパケットに対する確認応答であるＡＣＫパケットにウインドウサイズに応じた優先度を付加することにより、ウインドウサイズが小さい上りＴＣＰフローがウインドウサイズを増加することが可能となるためである。ウインドウサイズが小さいＴＣＰフローのＡＣＫパケットにウインドウサイズが大きいＴＣＰフローのＡＣＫパケットより高い優先度を付加することで、中継装置の優先制御機能により優先的に送信されるため、アクセスポイントなどの中継装置で発生する輻輳によって廃棄されにくくなり、ウインドウサイズが大きい上りＴＣＰフローが存在する状態でも、ウインドウサイズが小さい上りＴＣＰフローはウインドウサイズを増加することができる。また、ウインドウサイズに応じて優先度を付加するため、特定のＴＣＰフローに高い優先度を付加する場合と異なり、特定のＴＣＰフローのウインドウサイズだけが大きくなる状態になることがない。また、本発明のために、少なくとも中継装置がパケット送信の優先制御機能を備えていればよい。さらに、中継装置ならびに送受信装置のＴＣＰ機能、ＴＣＰの輻輳制御方式の改変は必要でなく、送受信装置においてＶＰＮ技術によるパケットの暗号化などの処理を行っていてもよい。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施の形態における送受信装置の構成を示すブロック図
【図２】本発明の実施の形態における送受信装置および中継装置を含む通信システムの構成図
【図３】バッファ管理方式にＦＩＦＯ方式を用いる送信バッファの例
【図４】本発明の実施の形態における送受信装置の受信方法を示すフローチャート
【図５】本発明の実施の形態における送受信装置のＴＣＰフロー情報の管理テーブルの例
【図６】本発明の実施の形態におけるＡＣＫパケットの優先度とＴＣＰの輻輳制御の関係を示す図
【図７】本発明の実施の形態における中継装置の構成例を示す図
【発明を実施するための形態】
【００２９】
本発明の実施の形態を、図面を参照して詳細に説明する。
【００３０】
本発明の実施の形態は、上りリンクの帯域と下りリンクの帯域が非対称なネットワーク上の中継装置に接続された送受信装置間のＴＣＰ通信において、送受信装置が受信したＴＣＰフローのデータパケットに対するＡＣＫパケットにウインドウサイズに応じた優先度を付加することを特徴とする。以下の説明では、上りリンクの帯域と下りリンクの帯域が非対称なネットワークとして、アクセス制御方式にＣＳＭＡ／ＣＡを用いる無線ＬＡＮによる無線ネットワークを例として説明するが、上りリンクの帯域と下りリンクの帯域が非対称なネットワークであればこれに限らない。他の例として、ＤＳＬ（Digital Subscriber Line）や衛星通信を用いたネットワークなどが挙げられる。
【００３１】
図１は、本実施の形態における送受信装置の構成を示すブロック図であり、図２は、送受信装置を含む通信システムの構成図である。まず、図２を参照して本実施の形態における通信システム１００について説明する。通信システム１００は、中継装置１０２であるアクセスポイントと、インフラストラクチャモードの無線ＬＡＮを用いた無線ネットワーク１０４を介して中継装置１０２に接続する送受信装置１０１であるステーションと、インターネットなどの任意の外部ネットワーク１０５を介して中継装置１０２に接続する送受信装置（端末）１０３とを含む。送受信装置１０１および送受信装置１０３は、異なるネットワークに接続されているが、同様の送受信装置である。なお、図２では、複数の送受信装置１０１と１つの送受信装置１０３を示しているが、送受信装置１０１ならびに送受信装置１０３はどちらも複数存在してよい。
【００３２】
本実施の形態では、送受信装置１０１は中継装置１０２と外部ネットワーク１０５を介して送受信装置１０３とＴＣＰ通信を行う。ここでは、送受信装置１０１は上りＴＣＰフローの送信元となる。その場合、上りＴＣＰフローのデータパケットが送受信装置１０１から無線ネットワーク１０４を介して中継装置１０２に送信され、中継装置１０２により外部ネットワーク１０５を介して通信相手である送受信装置１０３に送信される。データパケットを受信した送受信装置１０３は、確認応答としてＡＣＫパケットを送受信装置１０１に送信する。送受信装置１０３から送信された上りＴＣＰフローのＡＣＫパケットは、外部ネットワーク１０５を介して中継装置１０２に送信され、中継装置１０２により無線ネットワーク１０４を介して送受信装置１０１に送信される。
【００３３】
一方、送受信装置１０３は下りＴＣＰフローの送信元となり、下りＴＣＰフローのパケットの送信経路は上記と逆になる。送受信装置１０３から下りＴＣＰフローのデータパケットが外部ネットワーク１０５を介して中継装置１０２に送信され、中継装置１０２により無線ネットワーク１０４を介して通信相手である送受信装置１０１に送信される。下りＴＣＰフローのＡＣＫパケットは送受信装置１０１から無線ネットワーク１０４を介して中継装置１０２に送信され、中継装置１０２により外部ネットワーク１０５を介して送受信装置１０３に送信される。本実施の形態における中継装置１０２上の無線ＬＡＮインタフェースの送信バッファは、上りＴＣＰフローのＡＣＫパケットと下りＴＣＰフローのデータパケットとで共有される。
【００３４】
中継装置１０２における送信バッファのバッファ管理は、任意の方式を用いてもよい。図３は、バッファ管理方式にＦＩＦＯ方式を用いる送信バッファの例である。ＦＩＦＯ方式を用いる送信バッファは、キューとして動作し、パケットを入力順に蓄積し、入力順に出力する。中継装置１０２がボトルネックとなり発生する輻輳などによりキューがパケットを蓄積できる許容量であるキュー長を超えるパケットの入力があり、バッファのオーバーフローが発生する場合には末尾廃棄方式で最後に入力されたパケットを廃棄する。
【００３５】
本実施の形態では、送受信装置１０１の通信相手を中継装置１０２と外部ネットワーク１０５を介して接続する送受信装置１０３としたが、通信相手が同じ無線ネットワーク１０４上の他の送受信装置である場合は、中継装置１０２のみを経由してＴＣＰフローのパケットが送信される。そのような場合においても本発明は適用可能である。
【００３６】
本実施の形態における中継装置１０２は、パケット送信の優先制御機能を備える。パケット送信の優先制御機能として、無線ＬＡＮを用いた無線ネットワークのＱｏＳ技術であるＩＥＥＥ８０２．１１ｅ、ＷＭＭ（WiFi MultiMedia）や、ＩＰネットワークのＱｏＳ技術であるＤｉｆｆＳｅｒｖ（Differentiated Service）などが挙げられる。それらの技術においては、パケットのＩＰヘッダのＴＯＳ（Type Of Service）フィールドと呼ばれる領域に優先度に対応する値を書き込むことによりパケットに優先度を付加する。それらの技術を用いたパケット送信の優先制御機能を備える中継装置１０２は、受信したパケットのＩＰヘッダのＴＯＳフィールドの値からパケットの優先度を判断し、優先度に基づきパケットの送信を行う。パケット送信の優先制御は、プライオリティキューイング方式などの任意の方式を用いてよい。
【００３７】
図１は、本実施の形態における送受信装置１０１および送受信装置１０３の構成を示すブロック図である。送受信装置は、ネットワークインタフェース３０１と、ＴＣＰ機能部３０４と、パケット識別部３０５と、ウインドウサイズ推定部３０６と、優先度付加部３０７とを備える。
【００３８】
ネットワークインタフェース３０１は、任意のネットワークへの接続機能を有するインタフェースであり、ネットワークへパケットを送信するパケット送信部３０３と、ネットワークからパケットを受信するパケット受信部３０２とを備える。なお、送受信装置におけるＶＰＮ技術によるパケットの暗号化などの処理は、ネットワークインタフェース３０１が担う。
【００３９】
ＴＣＰ機能部３０４は、他の送受信装置とのＴＣＰ通信機能を担い、他の送受信装置へのデータパケットの送信や、他の送受信装置から受信したデータパケットに対する確認応答であるＡＣＫパケットの送信などの処理を、ＴＣＰの輻輳制御方式に従って行う。本実施の形態では、ＴＣＰ機能部３０４の輻輳制御方式は任意の方式を用いてよい。
【００４０】
パケット識別部３０５は、パケットのヘッダ情報を参照し、ＩＰヘッダの送信元アドレス、宛先アドレス、およびＴＣＰヘッダの送信元ポート番号、宛先ポート番号に基づきＴＣＰフローを識別する。なお、ＴＣＰフローを識別できる情報であれば、上記以外の情報を用いて識別してもよい。
【００４１】
ウインドウサイズ推定部３０６は、送受信装置が受信するＴＣＰフローのウインドウサイズを推定する。ウインドウサイズの推定には、種々の既知の技術を用いることができる。
【００４２】
優先度付加部３０７は、送受信装置が送信するＡＣＫパケットに対し、ウインドウサイズ推定部３０６が推定したＴＣＰフローのウインドウサイズに応じた優先度を付加する。なお、ＡＣＫパケットへの優先度の付加は、中継装置１０２のパケット送信の優先制御機能に基づく方法で行う。
【００４３】
図４のフローチャートを用いて、本実施の形態における送受信装置の動作を説明する。図４は、送受信装置がＴＣＰフローのデータパケットを受信し、それに対するＡＣＫパケットを送信する場合の動作を示すフローチャートである。
【００４４】
まず、送受信装置は、送受信装置上のネットワークインタフェース３０１のパケット受信部３０２を介し、他の送受信装置から送信されたデータパケットを受信する（Ｓ４０１）。
【００４５】
次に、パケット識別部３０５において受信したデータパケットのヘッダ情報を参照し、送受信装置が受信するＴＣＰフローを識別する（Ｓ４０２）。パケット識別部３０５は、識別したＴＣＰフローの情報を図５のような管理テーブル上で管理する。図５のＴＣＰフロー情報の管理テーブルの例では、ＴＣＰフロー情報を送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号の組によって管理している。なお、管理テーブル上のＴＣＰフロー情報は、ＴＣＰコネクションの確立を要求するＳＹＮパケットを受信した際に登録し、ＴＣＰコネクションの切断を要求するＦＩＮパケットないしはＲＳＴパケットを受信した際に削除する。また、ＴＣＰフロー情報の登録、削除は、送受信装置のＯＳ上のソケット機能が管理するコネクション情報を参照するなどして行ってもよい。
【００４６】
次に、ウインドウサイズ推定部３０６において送受信装置が受信するＴＣＰフローのウインドウサイズを推定する（Ｓ４０３）。ウインドウサイズは、特許文献２や非特許文献２などの既知の技術によって推定できる。特許文献２では、ＴＣＰコネクションを確立する３ウェイハンドシェイクの際にＴＣＰフローの送信元である他の送受信装置との往復伝搬時間（ＲＴＴ: Round Trip Time）を計測し、計測したＲＴＴ内に受信したデータパケットの数をウインドウサイズとして推定する。また、コネクション確立時だけでなく一定の時間間隔でＩＣＭＰプロトコルによるｐｉｎｇコマンドを用いてＲＴＴを計測することでその精度を向上させている。非特許文献２では、ＴＣＰのタイムスタンプオプションを指定することによりＴＣＰフローのＲＴＴを計測し、平滑化したＲＴＴと１ＲＴＴ内に受信したデータパケットのデータ量から求めた平均スループットを乗じたものをウインドウサイズとして推定する。
【００４７】
ウインドウサイズ推定部３０６において推定したウインドウサイズは、管理テーブル上のＴＣＰフロー情報と共に管理する。なお、推定ウインドウサイズの他に、ＲＴＴなどの情報も管理テーブル上で管理してもよい。図５の管理テーブルの例では、ＴＣＰフロー情報と共にＴＣＰフローのＲＴＴとウインドウサイズを管理している。
【００４８】
次に、ＴＣＰ機能部３０４は、任意のＴＣＰの輻輳制御方式に従って、受信したデータパケットに対する確認応答であるＡＣＫパケットをデータパケットの送信元の送受信装置へ送信する（Ｓ４０４）。
【００４９】
次に、パケット識別部３０５において上記のデータパケット受信の場合と同様に、ＴＣＰ機能部３０４から送信されたＡＣＫパケットのヘッダ情報を参照し、ＴＣＰフローを識別する（Ｓ４０５）。
【００５０】
次に、優先度付加部３０７において、ウインドウサイズ推定部３０６において推定したウインドウサイズに応じた優先度をＴＣＰ機能部３０４から送信されたＡＣＫパケットに付加し、ネットワークインタフェース３０１のパケット送信部３０３を介し、データパケットの送信元である送受信装置へＡＣＫパケットを送信する。
【００５１】
優先度付加部３０７は、優先度の付加に関する所定の閾値を持つ。優先度の付加において優先度付加部３０７は、管理テーブル上のパケット識別部３０５において識別したＴＣＰフロー情報と共に管理されるウインドウサイズ推定部３０６が推定したウインドウサイズを参照し、優先度付加部３０７が持つ前記所定の閾値と比較する（Ｓ４０６）。そして、推定されたウインドウサイズが前記所定の閾値以下のＴＣＰフローのＡＣＫパケットに対し、推定されたウインドウサイズが前記所定の閾値より大きいＴＣＰフローのＡＣＫパケットよりも高い優先度を付加する。
【００５２】
本実施の形態では、優先度付加部３０７の前記所定の閾値は、ＴＣＰフローのスロースタート閾値である。推定ウインドウサイズがスロースタート閾値以下の場合はＡＣＫパケットに中継装置１０２のパケット送信の優先制御機能における最高優先度を付加し（Ｓ４０７）、推定ウインドウサイズがスロースタート閾値より大きい場合はＡＣＫパケットに優先度を付加せず、通常と同様の優先度とする（Ｓ４０８）。つまり、図６のように、ＴＣＰフローがスロースタートフェーズにあるときはＡＣＫパケットに最高優先度を付加し、輻輳回避フェーズにあるときは通常と同様の優先度として送信する。
【００５３】
例えば、中継装置１０２であるアクセスポイントがＩＥＥＥ８０２．１１ｅ、およびプライオリティキューイング方式によるパケット送信の優先制御機能を備える場合、優先度付加部３０７は、送受信装置が送信するＡＣＫパケットのＩＰヘッダのＴＯＳフィールドの上位３ビットに、推定ウインドウサイズがスロースタート閾値以下ならば最高優先度であるＡＣ＿ＶＯ（１１１）を、推定ウインドウサイズがスロースタート閾値より大きいならば通常の優先度であるＡＣ＿ＢＥ（０００）を書き込む。
【００５４】
図７は、プライオリティキューイング方式によるパケット送信の優先制御を行う中継装置１０２の構成の例である。プライオリティキューイング方式では、中継装置１０２上にパケットに付加する優先度毎に対応するキューを持ち、入力されたパケットをパケットの優先度に基づき前記キュー毎に蓄積し、優先度の高いキュー上のパケットから順に送信することによりパケット送信の優先制御を実現する。図７のように、優先度付加部３０７によって最高優先度が付加された推定ウインドウサイズがスロースタート閾値以下のＴＣＰフローのＡＣＫパケットは優先キューに、通常と同様の優先度である推定ウインドウサイズがスロースタート閾値より大きいＴＣＰフローのＡＣＫパケットは通常のキューに蓄積され、優先キュー上のＡＣＫパケットが優先的に送信される。
【００５５】
なお、本実施の形態における優先度付加部３０７は、ＴＣＰフローのスロースタート閾値を前記所定の閾値として、最高優先度と優先度なしの２段階の優先度を付加するが、優先度付加部３０７が持つ前記所定の閾値を複数設定し、２段階以上の優先度を付加してもよい。
【００５６】
以上のように、本実施の形態の送受信装置において、ＴＣＰフローのデータパケットに対する確認応答であるＡＣＫパケットにウインドウサイズに応じた優先度を付加する動作を行うことにより、上りＴＣＰフロー間のスループットの不公平性を改善することができる。その動作では、ウインドウサイズがスロースタート閾値以下のＴＣＰフローのＡＣＫパケットに最高優先度を付加し、ウインドウサイズがスロースタート閾値より大きいＴＣＰフローのＡＣＫパケットは通常と同様の優先度としてＡＣＫパケットを送信する。その動作の作用として、中継装置１０２のパケット送信の優先制御機能によって、最高優先度が付加されたウインドウサイズが小さいＴＣＰフローのＡＣＫパケットが優先的に送信され、ウインドウサイズが小さいＴＣＰフローのＡＣＫパケットが中継装置１０２で発生する輻輳によって廃棄されにくくなるため、ウインドウサイズが大きいＴＣＰフローが存在する状態でもウインドウサイズが小さいＴＣＰフローはウインドウサイズを増加することが可能となる。ゆえに、課題で示したような上りＴＣＰフローの中に極端にスループットが低い上りＴＣＰフローが発生することを抑制でき、上りＴＣＰフロー間のスループットの公平性を実現できる。
【００５７】
また、本実施の形態によれば、特定のＴＣＰフローに対して高い優先度を付加する場合と異なり、ウインドウサイズに応じてＡＣＫパケットに付加する優先度を変化させることにより、ウインドウサイズが小さい場合にのみＴＣＰフローのＡＣＫパケットが優先されるため、特定のＴＣＰフローのスループットのみが高くなる状態を回避できる。
【００５８】
本発明の実施の形態は上記に限られず、本発明の範囲内で種々の変形が可能である。以下、本発明の実施の形態の変形例を説明する。
【００５９】
［第１の変形例］
上記の実施の形態では、ＴＣＰフローのウインドウサイズがスロースタート閾値以下の場合にのみＡＣＫパケットに高い優先度を付加し、ウインドウサイズがスロースタート閾値より大きい場合はＡＣＫパケットに優先度を付加せず、通常と同様の優先度とした。これに対し、第１の変形例では、ウインドウサイズがスロースタート閾値より大きいＴＣＰフローに対しても対策を講じる。
【００６０】
ＴＣＰでは、送信したデータパケットに対する確認応答であるＡＣＫパケットを再送タイムアウト内に受信することができない場合、タイムアウトが発生する。タイムアウトが発生すると、データパケットが損失したと判断してウインドウサイズを最小値である1に減少し、損失したパケットを再送する。タイムアウトの発生は、ＴＣＰフローのスループット特性を劣化させるため、ウインドウサイズが小さいＴＣＰフローだけでなくウインドウサイズが大きいＴＣＰフローにおいてもタイムアウトの発生を抑制できることが望ましい。そこで、第１の変形例では、優先度付加部３０７において、ウインドウサイズが大きいＴＣＰフローに対し、ウインドウ内の少なくとも１つのＡＣＫパケットに高い優先度を付加することによりタイムアウトの発生を抑制する。
【００６１】
ウインドウサイズが大きいＴＣＰフローのＡＣＫパケットへの優先度の付加は、優先度付加部３０７においてＡＣＫパケットの送信時刻を記録しておき、先のＡＣＫパケットの送信時刻から間隔がウインドウサイズ推定部３０６において計測したＲＴＴ以上空いた場合に、当該ＡＣＫパケットをウインドウ内の最初のＡＣＫパケットであると判断し、高い優先度を付加するといった手段が考えられる。
【００６２】
第１の変形例により、ウインドウサイズが大きいＴＣＰフローのタイムアウトの発生を抑制でき、ＴＣＰフローのスループット特性が劣化する状態を回避できる。
【００６３】
［第２の変形例］
ＴＣＰは、データパケットの損失をタイムアウトの他に、重複ＡＣＫによって検出する。重複ＡＣＫとは、ＴＣＰフローの送信元の端末において内容が重複するＡＣＫパケットを複数回受信することである。データパケットの損失が発生すると、ＴＣＰフローの宛先の端末は損失したデータパケットが再送されるまで、データパケットを受信する度に最後に受信できたデータパケットに対するＡＣＫパケットを送信する。重複ＡＣＫが発生すると、送信元の端末はウインドウサイズを減少し、損失したデータパケットを再送する。なお、重複ＡＣＫの発生に対する挙動は、ＴＣＰの輻輳制御方式によって異なる。第２の変形例では、そのような重複ＡＣＫを優先的に送信することで、送信元の端末において輻輳制御およびデータパケットの再送が速やかに行われるようにする。
【００６４】
第２の変形例では、優先度付加部３０７においてＡＣＫパケットのシーケンス番号および確認応答番号を記録しておき、先のＡＣＫパケットと比較してシーケンス番号の増加が２以上もしくは確認応答番号が先のＡＣＫパケットと同じ場合に、ＡＣＫパケットが重複ＡＣＫパケットであると判断し、ＴＣＰフローのウインドウサイズの大きさに関わらず当該ＡＣＫパケットに高い優先度を付加する。
【００６５】
第２の変形例により、データパケットの損失に対する重複ＡＣＫパケットが優先的に送信されるため、ＴＣＰフローの送信元の端末において輻輳制御およびデータパケットの再送が速やかに行われるようになる。
【００６６】
［第３の変形例］
上記の実施の形態によれば、ＴＣＰフローのウインドウサイズに応じてＡＣＫパケットに付加する優先度を変化させることにより、上りＴＣＰフロー間のスループットの不公平性を改善することができる。第３の変形例では、上りＴＣＰフロー間だけでなく上下ＴＣＰフロー間の不公平性も改善する。
【００６７】
上記の実施の形態では、中継装置１０２がボトルネックとなり発生する輻輳によって、上りＴＣＰフローではＡＣＫパケットが廃棄されるのに対し、下りＴＣＰフローではデータパケットが廃棄される。上下ＴＣＰフロー間の不公平性は、データパケットの損失に対してはウインドウサイズを減少するが、ＡＣＫパケットの損失に対してはウインドウサイズを減じないというＴＣＰの輻輳制御に起因する。
【００６８】
そこで、第３の変形例では、上記の実施の形態に非特許文献２に記載の方式を組み合わせ、ＴＣＰフローのＡＣＫパケットの損失に対しても輻輳制御を行うことで、上下ＴＣＰフロー間の不公平性を改善する。ＡＣＫパケットの損失に対する輻輳制御は、上記の実施の形態における上りＴＣＰフローの送信元である送受信装置１０１において、上りＴＣＰフローの宛先である送受信装置１０３から送信されたＡＣＫパケットのシーケンス番号を参照することで行う。
【００６９】
送受信装置１０１は、受信したＡＣＫパケットのシーケンス番号を記録しておき、先のＡＣＫパケットと比較してシーケンス番号が１ずつ増加する場合はＡＣＫパケットの損失が発生していないと判断し、シーケンス番号の増加が２以上の場合はＡＣＫパケットの損失が発生したと判断する。なお、ＡＣＫパケットの損失数は、ＡＣＫパケットのシーケンス番号の増加幅から求められる。そして、１ＲＴＴ内のＡＣＫパケットの損失数が所定の閾値以上ならば輻輳が発生していると判断し、輻輳制御を行いＴＣＰフローのウインドウサイズを減少する。ＡＣＫパケットの損失に対する輻輳制御においては、例えば、ウインドウサイズをＡＣＫパケットの損失が発生した際の半分の値に減少する。
【００７０】
第３の変形例により、ＡＣＫパケットの損失に対しても輻輳制御を行うことにより、中継装置１０２で発生する輻輳によってＡＣＫパケットが廃棄される場合に、ＴＣＰフローの送信元の端末においてＡＣＫパケットの損失に対する輻輳制御によって上りＴＣＰフローのレートが下がるため、上下ＴＣＰフロー間のスループットの不公平性を改善することができる。また、第３の変形例においても、中継装置の改変は必要でない。
【産業上の利用可能性】
【００７１】
以上のように、本発明は、無線ＬＡＮなどの上りリンクの帯域と下りリンクの帯域とが非対称であるネットワークにおけるＴＣＰ通信に係るものであり、本発明によりＴＣＰフローのウインドウサイズに応じた優先度がＡＣＫパケットに付加されることで、ウインドウサイズが小さいＴＣＰフローのＡＣＫパケットがパケット送信の優先制御機能を備えた中継装置により優先的に送信されるため、上りＴＣＰフロー間のスループットの不公平性が改善され、ＴＣＰフロー間の公平性を実現することができる。本発明は、市販の機器を用いた公衆無線ＬＡＮなどのインターネットアクセスサービスを広く普及するためのものとして有用である。
【符号の説明】
【００７２】
１０１  送受信装置
１０２  中継装置
１０３  送受信装置
１０４  無線ネットワーク
１０５  外部ネットワーク
３０１  ネットワークインタフェース
３０２  パケット受信部
３０３  パケット送信部
３０４  ＴＣＰ機能部
３０５  パケット識別部
３０６  ウインドウサイズ推定部
３０７  優先度付加部
【図１】
2012191274.tif 000003
【図２】
2012191274.tif 000004
【図３】
2012191274.tif 000005
【図４】
2012191274.tif 000006
【図５】
2012191274.tif 000007
【図６】
2012191274.tif 000008
【図７】
2012191274.tif 000009