(57)【要約】【課題】上位レイヤでフィードバック型のフロー制御を行い、且つ下位レイヤで複数のデータフレームを結合した結合フレームを送受信して通信を行う通信システムにおいて、上位レイヤのスループットの向上を図る。【解決手段】端末１３は、ＭＡＣフレームの送信制御を行うＭＡＣ部１３２と、ＭＡＣ部１３２から供給されるデータを無線送信するＰＨＹ部１３３とを有する。ＭＡＣ部１３２は、複数のＭＡＣフレームを結合させて結合フレームとしてＰＨＹ部１３３に供給する結合フレーム送信制御、及びＭＡＣフレームを他のデータフレームと結合せずに単一フレームとしてＰＨＹ部１３３に供給する単一フレーム送信制御の両方を行なうことができ、ＭＡＣフレームのペイロードに収容されるデータセグメント種別に応じて、結合フレームとして送信するか単一フレームとして送信するかを決定する。【選択図】図５
2009147786.tif 000002
【特許請求の範囲】
【請求項１】
データを通信媒体に送信する物理層処理部と、
データフレームを少なくとも１つの他のデータフレームと結合させて結合フレームとして前記物理層処理部に供給する結合フレーム送信制御、及び前記データフレームを他のデータフレームと結合せずに単一フレームとして前記物理層処理部に供給する単一フレーム送信制御の両方を行なうことが可能な下位レイヤ処理部とを備え、
前記下位レイヤ処理部は、
前記データフレームのペイロードに収容されるデータセグメントの種別に基づいて、前記データフレームを前記結合フレームとして送信するか、前記単一フレームとして送信するかを決定する、通信装置。
【請求項２】
前記下位レイヤ処理部は、通信相手装置に対するフィードバック情報が前記データフレームのペイロードに含まれる場合に、前記単一フレーム送信制御により前記データフレームを前記物理層処理部に供給する請求項１に記載の通信装置。
【請求項３】
前記フィードバック情報を含むデータフレームの前記単一フレーム送信制御による前記物理層処理部への供給は、当該通信装置と前記通信相手装置との間におけるデータセグメントの送信遅延又は再送が発生したことに応じて選択的に行われる請求項２に記載の通信装置。
【請求項４】
前記下位レイヤ処理部は、前記データフレームが前記フィードバック情報を含むか否かによって、前記結合フレーム送信制御と前記単一フレーム送信制御との間で送信制御を切り替える請求項２又は３に記載の通信装置。
【請求項５】
データセグメントの送受信を制御する上位レイヤ処理部と、
前記上位レイヤ処理部から前記下位レイヤ処理部に順次供給される複数の送信データセグメント、又は前記下位レイヤ処理部から前記上位レイヤ処理部に順次供給される複数の受信データセグメントに含まれるシーケンス番号の時間変化率に基づいて、前記データフレームの前記単一フレーム送信制御による供給の要否を判定する判定部と、
をさらに備える請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
前記単一フレームが格納される第１の送信データキューと、
前記結合フレームが格納される第２の送信データキューと、
前記第１の送信データキューに格納されたデータを前記第２の送信データキューに格納されたデータに優先して前記物理層処理部に供給する送信キュー制御部と、
をさらに備える請求項１乃至５のいずれか１項に記載の通信装置。
【請求項７】
前記フィードバック情報は、前記通信相手装置におけるフロー制御に使用される請求項２又は請求項２に従属する請求項３乃至６のいずれか１項に記載の通信装置。
【請求項８】
前記フィードバック情報は、ＴＣＰ（Transmission Control Protocol）のＡＣＫセグメント又はＲＴＣＰ（RTP Control Protocol）のフィードバック情報である請求項２又は請求項２に従属する請求項３乃至６のいずれか１項に記載の通信装置。
【請求項９】
前記通信媒体は、無線通信チャネルである請求項１乃至８のいずれか１項に記載の通信装置。
（方法クレーム）
【請求項１０】
複数のデータフレームを結合させた結合フレームを通信媒体に送信可能な通信装置におけるデータフレームの送信制御方法であって、
データフレームのペイロードに収容される送信データセグメントの種別を識別するステップと、
前記送信データセグメントの識別結果に基づいて、前記データフレームを少なくとも１つの他のデータフレームと結合させて結合フレームとして通信媒体に送信するか、又は前記データフレームを前記他のデータフレームと結合せずに単一フレームとして前記通信媒体に送信するかを決定するステップと、
を備える送信制御方法。
【請求項１１】
前記送信データセグメントが通信相手装置に対するフィードバック情報を含む場合に、前記データフレームを前記単一フレームとして送信するよう決定する請求項１０に記載の送信制御方法。
【請求項１２】
前記通信装置と前記通信相手装置との間におけるデータセグメントの送信遅延又は再送が発生したことを判定するステップをさらに備え、
前記データフレームの前記単一フレームでの送信の決定は、前記送信遅延又は再送が発生したことに応じて選択的に行われる請求項１０又は１１に記載の送信制御方法。
【請求項１３】
前記送信遅延又は再送の発生を、前記上位レイヤ処理部から前記下位レイヤ処理部に順次供給される複数の送信データセグメント、又は前記下位レイヤ処理部から前記上位レイヤ処理部に順次供給される複数の受信データセグメントに含まれるシーケンス番号の時間変化率に基づいて判定する請求項１２に記載の送信制御方法。
（プログラムクレーム）
【請求項１４】
複数のデータフレームを結合させた結合フレームを通信媒体に送信可能な通信装置に関する制御処理をコンピュータに実行させるプログラムであって、
前記制御処理は、
データフレームのペイロードに収容される送信データセグメントの種別を識別する処理と、
前記送信データセグメントの識別結果に基づいて、前記データフレームを少なくとも１つの他のデータフレームと結合させて結合フレームとして通信媒体に送信するか、又は前記データフレームを前記他のデータフレームと結合せずに単一フレームとして前記通信媒体に送信するかを決定する処理と、
を含むプログラム。
【請求項１５】
前記送信データセグメントが通信相手装置に対するフィードバック情報を含む場合に、前記データフレームを前記単一フレームとして送信するよう決定する請求項１４に記載のプログラム。
【請求項１６】
前記データフレームの前記単一フレームでの送信の決定は、前記通信装置と前記通信相手装置との間におけるデータセグメントの送信遅延又は再送が発生した場合に選択的に行われる請求項１４又は１５に記載のプログラム。
【請求項１７】
前記送信遅延又は再送の発生を、前記上位レイヤ処理部から前記下位レイヤ処理部に順次供給される複数の送信データセグメント、又は前記下位レイヤ処理部から前記上位レイヤ処理部に順次供給される複数の受信データセグメントに含まれるシーケンス番号の時間変化率に基づいて判定する請求項１６に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータフレームの無線通信を行う通信装置に関し、特に、複数のデータフレームを結合した結合フレームを送受信可能な通信装置に関する。
【背景技術】
【０００２】
パケット通信では、データパケット又はデータフレーム等と呼ばれる固定長又は可変長のデータユニットを端末間で送受信することによって通信が行なわれる。特にパケット通信を無線を介して行なう技術を、無線パケット通信と呼ぶ。無線パケット通信は、無線を介しているために、有線でのパケット通信と比較してデータフレーム（データパケット）の送受信中にデータ誤りが発生する確率が高い。このため、例えば、ＩＥＥＥ ８０２．１１規格の媒体アクセス制御方法を用いた無線パケット通信では、データフレームの受信に成功した受信側の端末が、データフレームの受信成功を通知するためのＡＣＫフレームを、通信相手である送信側の端末に送り返すことで通信の信頼性を高めている。
【０００３】
しかしながら、無線パケット通信において、１つのデータフレームの受信に応じて１つのＡＣＫフレームを送信したのでは、信頼性が向上する半面、ＡＣＫフレームを使用しない有線パケット通信比べて通信効率が悪くなる。そこで、ＡＣＫフレームの送受信に要する時間を減らし、データフレームを効率よく通信するために、図１１に示すように、送信側端末８５１は複数のデータパケットを結合（アグリゲーション）したデータフレーム（以下、結合フレームと呼ぶ）８０を送信し、受信側端末８５２は結合フレーム８０に含まれる複数のデータフレーム８２の各々に関する受信成功をブロックＡＣＫフレーム８３により一括して返送する技術が提案されている。以下では、データフレームを結合させて送受信する技術をフレーム・アグリゲーションと呼ぶ。
【０００４】
例えば、ＩＥＥＥ８０２委員会で策定作業中である無線ＬＡＮ規格ＩＥＥＥ８０２．１１ｎでは、ＭＡＣ副層にフレーム・アグリゲーションの採用が検討されている。図２０は、ＩＥＥＥ８０２．１１ｎのドラフト２．０に記載されている結合フレームのパケットフォーマットを示している。図２０の結合フレームは、複数のＭＰＤＵ（MAC Protocol Data Unit）が結合されたＡ−ＭＰＤＵ（Aggregated MPDU）である。この結合フレームが、物理層へ供給されるデータユニットであるＰＳＤＵ（Physical-layer Service Data Unit）とされる。図１２において、複数のデータフレーム（ＭＰＤＵ）は、データパケットの区切りを示す制御データ（デリミタ）を挟んで互いに結合されている。
【０００５】
上述した無線パケット通信は、ＯＳＩ基本参照モデルでいうところの物理層及びデータリンク層で実現される。一方、無線パケット通信の上位レイヤであるトランスポート層での輻輳制御及びフロー制御を実現するプロトコルの代表例は、ＴＣＰ（Transmission Control Protocol）である。ＴＣＰは、受信側からのフィードバック情報を用いて送信側が送信データレート等の調整を行なう、いわゆるフィードバック型のフロー制御を行うプロトコルである。ＴＣＰは、ＴＣＰセグメントの送信側端末及び受信側端末の各々が、ウィンドウと呼ばれる受信バッファ容量又は送信バッファ容量に対応する変数を管理することで、輻輳制御及びフロー制御を実現している。このようなウィンドウ変数を用いた制御はウィンドウ制御と呼ばれ、データ転送の制御方法として広く知られている。ＴＣＰヘッダのフォーマットには、受信ウィンドウのサイズを送信側に伝達するためのウィンドウ・サイズ・フィールドが定義されている。ＴＣＰセグメントの受信側端末が送信側端末に自身のウィンドウを通知するためには、ＴＣＰセグメントの１つであるＴＣＰ ＡＣＫセグメントを利用する。ＴＣＰ ＡＣＫセグメントは、ＴＣＰヘッダのＡＣＫフラグをＯＮに設定することで作られる。
【０００６】
ＴＣＰセグメントの送信側は、受信側から到達するＴＣＰ ＡＣＫセグメント内の確認応答番号によって、次に送信するべきパケットの開始バイトとその長さを決定することができる。このため、ＴＣＰセグメントを受信した受信側端末は、受信完了を通知するためのＴＣＰ ＡＣＫセグメントをなるべく早く送信側端末に送り出す必要がある。ただし、受信者側端末にＴＣＰセグメントが到着するたびにＴＣＰ ＡＣＫグメントを送り出すと、特に通信媒体に無線を用いた場合、無線リソースを消費して効率が悪い。このため、通常、ＴＣＰセグメントの受信者側端末は、タイマを用いて複数の受信ＴＣＰセグメントをある程度蓄積した後に、複数のＴＣＰセグメントの受信完了を示すＴＣＰ ＡＣＫセグメントを送信する。
【０００７】
なお、特許文献１には、ＴＣＰを使用したデータパケット転送制御において、データパケットの送受信の開始当初は、受信側端末が、受信ウィドウサイズに応じて定められる所定の待ち時間の経過を待たずに、送信側端末に対してＴＣＰ ＡＣＫを返送する技術が開示されている。
【０００８】
また、特許文献２には、無線伝送が行われるレイヤより上位のレイヤにおいて生成されたデータパケットを送受信する無線基地局及び無線端末が開示されている。当該無線端末は、無線基地局から無線端末に向かう下り回線によるデータパケットの受信に成功したことを示すＡＣＫパケット（具体的にはＴＣＰ ＡＣＫセグメント）を上り回線で送信する際に、上り回線に適用する変調方式及び符号化率を、上り回線の符号誤り率が小さくなるように変更する。一方、無線基地局は、ＡＣＫパケットの送信許可を求める許可要求を無線基地局から受信した場合に、許可要求の送信元に優先的に送信許可を与える。
【特許文献１】特開２００１−１８６１７９号公報
【特許文献２】特開２００３−１９８５５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述したＭＡＣ副層以下の下位レイヤで行なわれるフレーム・アグリゲーションとＴＣＰ等の上位レイヤにおけるフィードバック型のフロー制御とを共に使用して通信が行われる場合、上位レイヤで行っているフロー制御に必要な受信側からのＴＣＰ ＡＣＫセグメント等のフィードバック情報の送信が、下位レイヤで行っている通信効率を向上させる為のフレーム・アグリゲーションのために待たされるという問題がある。すなわち、下位レイヤ（データリンク層以下）の通信効率を追求することにより、それを用いて通信を行っている上位レイヤ(ＴＣＰ層（トランスポート層）)のスループットが低下してしまう。
【００１０】
なお、上述した特許文献１は、トランスポート層でのＴＣＰ ＡＣＫセグメントの送信を受信ウィドウサイズに応じて定められる所定の待ち時間の経過を待たずに行なうことを開示するのみである。つまり、下位レイヤのフレーム・アグリゲーションによるフィードバック情報の送信遅延によって上位レイヤのスループットが低下するという上述した課題の解決手段を何ら示唆するものではない。
【００１１】
また、特許文献２は、ＴＣＰ ＡＣＫセグメントをペイロードに含むＩＰパケット（以下、ＴＣＰ ＡＣＫパケット）の送信時に、物理層における変調方式及び符号化率を変更することによって無線リンクの通信品質を向上させ、ＴＣＰ ＡＣＫパケットの到達可能性を向上させる技術を開示している。また、特許文献２は、無線基地局と複数の無線端末との間の上り回線の通信品質に応じて無線基地局から無線端末に与えられる送信許可の優先順位が決定される場合であっても、ＴＣＰ ＡＣＫパケットの送信元となる無線端末に対しては、上り回線の通信品質に依らず優先的に送信許可を与える技術を開示している。しかしながら、下位レイヤのフレーム・アグリゲーションによるフィードバック情報の送信遅延によって上位レイヤのスループットが低下するという上述した課題の解決手段を何ら示唆するものではない。
【００１２】
なお、ＯＳＩ参照モデルのレイヤ３以上でフィードバック型のフロー制御を行うために、受信側から送信側に送信されるフィードバック情報は、ＴＣＰ ＡＣＫセグメントに限られない。例えば、ストリーミムデータの転送プロトコルであるＲＴＰ（Real-time Transport Protocol）と組み合わせて使用されるＲＴＣＰ（RTP Control Protocol）により、ＲＴＰによるストリームデータの受信側から送信側に対して送信される受信者レポート（Receiver Report）も、フロー制御のためのフィードバック情報の一例である。ＲＴＣＰの受信者レポートを受信側から受け取った送信側装置は、アプリケーションレイヤにおいて送信データレートの調整等を行なうことができる。      
【００１３】
本発明は、上述した事情を考慮してなされたものであって、本発明の目的は、データリンク層以下の下位レイヤで行なわれるフレーム・アグリゲーションによって通信効率を上げながらも、フィードバック型のフロー制御を行う上位レイヤのスループットの低下を抑制することである。
【課題を解決するための手段】
【００１４】
本発明の第１の態様にかかる通信装置は、データを通信媒体に送信する物理層処理部と、送信データフレームを前記物理層処理部に供給する下位レイヤ処理部とを有する。前記下位レイヤ処理部は、データフレームを少なくとも１つの他のデータフレームと結合させて結合フレームとして前記物理層処理部に供給する結合フレーム送信制御、及び前記データフレームを他のデータフレームと結合せずに単一フレームとして前記物理層処理部に供給する単一フレーム送信制御の両方を行なうことが可能である。さらに、前記下位レイヤ処理部は、前記データフレームのペイロードに収容されるデータセグメントの種別に基づいて、前記データフレームを前記結合フレームとして送信するか、前記単一フレームとして送信するかを決定する。なお、例えば、後述する発明の実施の形態１におけるＰＨＹ部１３３が、本発明の第１の態様における物理層処理部に相当する。また、例えば、後述する発明の実施の形態１におけるＭＡＣ部１３２が、本発明の第１の態様における下位レイヤ処理部に相当する。
【発明の効果】
【００１５】
上述したように、本発明の第１の態様にかかる通信装置は、通信媒体にアクセスしてデータ送信を行う物理層処理部に対して、複数のデータフレームが結合された結合フレームを供給するか、結合されていない単一フレームを供給するかを選択可能である。さらに、本発明の第１の態様にかかる通信装置は、前記データフレームのペイロードに含まれるデータセグメントの種別に基づいて、前記データフレームを結合フレームとして送信するか、単一フレームとして送信するかを決定する。例えば、ＴＣＰ ＡＣＫセグメント等の通信相手装置に対するフィードバック情報をペイロードに含むデータフレームについては、他のデータフレームと結合せずにデータフレーム単位で前記物理層処理部に供給することができる。したがって、本発明の第１の態様にかかる通信装置は、通常は下位レイヤでのフレーム・アグリゲーションによって物理レイヤの利用効率を上げる場合であっても、例えばフィードバック情報をペイロードに含むデータフレームを選択的に単一フレームとして送信することで、結合フレームを利用する場合に比べて、上位レイヤのデータセグメントの送信元である通信相手装置に対してフィードバック情報を早く返送することが可能となる。つまり、本発明の第１の態様にかかる通信装置によれば、フィードバック型のフロー制御を行う上位レイヤのスループットを改善することができる。
【発明を実施するための最良の形態】
【００１６】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【００１７】
＜発明の実施の形態１＞
図１は、本発明の実施の形態１に係る通信システム１の構成図である。図１の例では、通信システム１は、ＦＴＰ（File Transfer protocol）サーバ１１、無線ＬＡＮアクセスポイント１２及び端末１３を含む。ＦＴＰサーバ１１は、ＦＴＰによりデータファイルの転送を実行する装置であって、ＴＣＰによるウィンドウ制御を利用してデータセグメントの送受信を行なう。図１の例では、ＦＴＰサーバ１１は、ＩＥＥＥ８０２．３によって標準化された１００ＢＡＳＥ−ＴＸ等の有線ＬＡＮで使用される通信ケーブル１４よってアクセスポイント１２と接続されている。
【００１８】
アクセスポイント１２は、無線ＬＡＮのアクセスポイント装置であり、有線ＬＡＮと無線ＬＡＮとの間でデータ中継を行なうレイヤ２ブリッジとして機能する。端末１３は、アクセスポイント１２に無線インタフェースにより接続される。アクセスポイント１２及び端末１３の間は、無線ＬＡＮのデータリンク層のデータユニットであるＭＡＣ（Media Access Control）フレームを連結した結合フレームを生成し、結合フレーム単位で無線送信することができる。このような、フレーム・アグリゲーション技術は、ＩＥＥＥ８０２．１１ｎとして標準化が進められている高速無線ＬＡＮ規格で採用されている。
【００１９】
以下では、ＦＴＰサーバ１１から端末１３に対してＦＴＰによるファイル転送が行われる場合を例にとって説明する。なお、ＦＴＰサーバ１１は、ウィンドウ制御によりデータセグメントを送受信する通信装置の一例に過ぎないことはもちろんである。つまり、トランスポート層にＴＣＰを採用する場合であれば、その上位のアプリケーションプロトコルは、ＦＴＰに限らず、例えば、ＨＴＴＰ（Hyper-Text Transfer Protocol）、ＳＭＴＰ（Simple Mail Transfer Protocol）等でもよい。また、ＴＣＰもウィンドウ制御を採用するトランスポートプロトコルの一例であって、他のプロトコルを利用してもよい。また、図１では、説明の便宜上、１台の端末１３のみを示しているが、アクセスポイント１２は、複数の端末１３を接続可能に構成されてもよい。
【００２０】
図２は、通信システム１に含まれるＦＴＰサーバ１１、アクセスポイント１２及び端末１３のプロトコルスタックを示す模式図である。ＦＴＰサーバ１１のプロトコルスタックは、ＯＳＩ基本参照モデル又はインターネットモデルに倣って複数のレイヤにわかれている。具体的には、最下層から順に、物理層（ＰＨＹ）、データリンク層（ＭＡＣ副層及びＬＬＣ副層）、ネットワーク層（ＩＰ層）、トランスポート層（ＴＣＰ層）、アプリケーション層（ＡＰＰ層）である。
【００２１】
同様に、アクセスポイント１２のプロトコルスタックは、物理層（ＰＨＹ）及びデータリンク層（ＭＡＣ副層及びＬＬＣ副層）から構成されている。なお、アクセスポイント１２はブリッジとして動作するから、図２には、有線ＬＡＮ側及び無線ＬＡＮ側の２つのプロトコルスタックを図示している。
【００２２】
また同様に、端末１３のプロトコルスタックは、物理層（ＰＨＹ）、データリンク層（ＭＡＣ副層及びＬＬＣ副層）、ネットワーク層（ＩＰ層）、トランスポート層（ＴＣＰ層）、アプリケーション層（ＡＰＰ層）から構成されている。
【００２３】
ＦＴＰサーバ１１のＡＰＰ層で生成されたデータは、ＴＣＰ層、ＩＰ層、ＭＡＣ層において各プロトコルヘッダをその順番で付加されたあと、物理層で変調され送信される。ＦＴＰサーバ１１によって通信ケーブル１４に出力された信号は、アクセスポイント１２の有線ＰＨＹ層で復調され、復調されたＭＡＣフレームＭＡＣ層に送られる。アクセスポイント１２のＭＡＣ層は、ＭＡＣフレームの宛先ＭＡＣアドレスに基づいて次に送るべき送信先端末を判断し、送信先端末に送るためのスケジューリングを行う。
【００２４】
次に、アクセスポイント１２のプロトコルスタックについて説明する。アクセスポイント１２の無線ＭＡＣ層は、有線ＬＡＮ側から中継されて無線ＭＡＣ層に供給されるデータセグメント（具体的にはＩＰパケット）をペイロードに含むＭＡＣフレームを生成し、ＭＡＣフレームのまま又は複数のＭＡＣフレームを連結した結合フレームとして無線ＰＨＹ層に供給する。
【００２５】
フレーム・アグリゲーションによってＭＡＣフレームの転送効率を向上させつつ、パケットロスや遅延が生じたときのＴＣＰのスループットの低下を抑制するために、アクセスポイント１２の無線ＭＡＣ層は、通常のＴＣＰセグメントを含むＩＰパケットを格納したＭＡＣフレームについては、フレーム・アグリゲーションを利用して結合フレームとして送信を行い、パケットロスや遅延が生じた場合に、通信相手端末に送信するＴＣＰ ＡＣＫパケットをペイロードに含むＭＡＣフレームを他のＭＡＣフレームと連結せずに送信する。以下では、結合フレームをＰＨＹ層に供給するための制御を「結合送信制御」と呼び、他のＭＡＣフレームと連結されていないＭＡＣフレームをＰＨＹ層に供給するための制御を「単発送信制御」と呼ぶ。
【００２６】
なお、ＴＣＰ ＡＣＫパケットをペイロードに含むＭＡＣフレームが既に他のＭＡＣフレームと連結されている場合、アクセスポイント１２の無線ＭＡＣ層は、ＴＣＰ ＡＣＫパケットを含む結合フレームを優先的に送信しても良い。また、ＴＣＰ ＡＣＫパケットをペイロードに含むＭＡＣフレームが他のＭＡＣフレームとの連結するために送信待ち状態にある場合、アクセスポイント１２の無線ＭＡＣ層は、フレーム結合処理を中断して、ＴＣＰ ＡＣＫパケットをペイロードに含む結合フレームを優先的に送信しても良い。
【００２７】
アクセスポイント１２の無線ＭＡＣ副層は、例えば、有線ＬＡＮ側から中継されて無線ＭＡＣ副層に供給されるデータセグメントに含まれるトランスポートヘッダ（つまり、はＴＣＰヘッダ）を監視することによって、パケットロスや遅延の発生を検出してもよい。具体的には、ＴＣＰヘッダのシーケンス番号を順次取得し、取得したシーケンス番号を取得時間と対応付けて記録し、ＴＣＰヘッダのシーケンス番号の時間変化の異常、例えば、時間変化率の変化やシーケンス番号の不連続な減少等が生じた場合に、ＴＣＰ ＡＣＫパケットをペイロードに含むＭＡＣフレームを他のＭＡＣフレームと連結せずに送信する上述した処理を行えばよい。
【００２８】
なお、ＴＣＰセグメントの消失又は遅延が発生したと判断したことに応じて、ＴＣＰ ＡＣＫパケットを含むＭＡＣフレームを他のＭＡＣフレームと連結せずに単発で送信する動作は一例に過ぎない。例えば、ＴＣＰ ＡＣＫパケットを含むＭＡＣフレームを常に他のＭＡＣフレームと連結せずに単発送信してもよい。
【００２９】
アクセスポイント１２による無線信号の受信処理についてみると、アクセスポイント１２の無線ＰＨＹ層は、端末１３から送信される無線信号を受信して復調処理を行い、復調された結合フレーム又はＭＡＣフレームを無線ＭＡＣ副層に供給する。アクセスポイント１２の無線ＭＡＣ副層は、無線ＰＨＹ層から供給されるＭＡＣフレームの宛先が他の無線端末である場合、ＭＡＣフレームを折り返して無線ＰＨＹ層に供給する。一方、無線ＰＨＹ層から供給されるＭＡＣフレームの宛先が自身のＭＡＣアドレスである場合、言い換えると、無線ＰＨＹ層から供給されるＭＡＣフレームが有線ＬＡＮ側に転送すべきデータを含む場合、当該データは有線ＭＡＣ層に渡される。
【００３０】
次に、端末１３のプロトコルスタックについて説明する。端末１３のＰＨＹ層は、アクセスポイント１２から送信される無線信号を受信して復調処理を行い、復調された結合フレーム又はＭＡＣフレームをＭＡＣ副層に供給する。端末１３のＭＡＣ副層、ＩＰ層、ＴＣＰ層はそれぞれ送信側で付加されたヘッダを取り除き、ＡＰＰ層（つまり、ＦＴＰクライアント)に渡す。なお、端末１３のＴＣＰ層は、ＴＣＰセグメントの受信に応じてＴＣＰ ＡＣＫセグメントを生成し、ＭＡＣ副層及びＰＨＹ層を介して、ＴＣＰセグメントの送信側(ここではアクセスポイント１２)に送信する。
【００３１】
端末１３のＭＡＣ副層では、上述したアクセスポイント１２の無線ＭＡＣ副層と同様に、ＴＣＰセグメントＴＣＰ ＡＣＫパケットを含むＭＡＣフレームを他のＭＡＣフレームと連結せずに単発で送信する。なお、端末１３のＭＡＣ副層は、ＴＣＰシーケンス番号の時間変化を監視し、ＴＣＰセグメントの消失又は遅延が発生したと判断した場合に、その後のＴＣＰ ＡＣＫパケットを含むＭＡＣフレームを他のＭＡＣフレームと連結せずに単発送信してもよい。また、ＴＣＰ ＡＣＫパケットを含むＭＡＣフレームを常に他のＭＡＣフレームと連結せずに単発送信してもよい。
【００３２】
続いて以下では、端末１３及びアクセスポイント１２の構成例について詳しく説明する。図３は、端末１３の機能ブロック図である。図３において、上位レイヤ処理部１３１は、上述した端末１３のＡＰＰ層、ＴＣＰ層及びＩＰ層の処理を担う。ＭＡＣ部１３２は、上述した端末１３のデータリンク層（ＬＬＣ副層及びＭＡＣ副層）の処理を担う。ＰＨＹ部１３３は、上述した端末１３のＰＨＹ層の処理を担う。アンテナ１３４は、アクセスポイント１２との間で無線信号の送受信を行なうためのアンテナである。
【００３３】
一方、図４は、アクセスポイント１２の機能ブロック図である。図４において、ブリッジ部１２１は、無線ＭＡＣ部１２２と有線ＭＡＣ部１２５との間でデータ中継を行なう。無線ＭＡＣ部１２２は、上述したアクセスポイント１２の無線ＬＡＮ側のＬＬＣ副層及び無線ＭＡＣ副層の処理を担う。無線ＰＨＹ部１２３は、上述したアクセスポイント１２の無線ＰＨＹ層の処理を担う。アンテナ１２４は、端末１３との間で無線信号の送受信を行なうためのアンテナである。有線ＭＡＣ部１２５は、上述したアクセスポイント１２の有線ＬＡＮ側のＬＬＣ副層及び有線ＭＡＣ副層の処理を担う。有線ＰＨＹ部１２６は、上述したアクセスポイント１２の有線ＰＨＹ層の処理を担う。
【００３４】
続いて、端末１３が有するＭＡＣ部１３２によるデータフレームの送信制御手順を説明する。図５は、ＭＡＣ部１３２の送信制御手順の一例を示すフローチャートである。ステップＳ１１では、上位レイヤ処理部１３１から供給される送信データ、具体的にはＩＰパケットを取得する。ステップＳ１２では、送信データの内容を識別する。ステップＳ１２での識別の結果、送信データがＦＴＰサーバ１１等の通信相手装置に対するフィードバック情報を含む場合は、当該送信データをペイロードに含むＭＡＣフレームを他のＭＡＣフレームト結合せずに単一のＭＡＣフレーム（以下、単一フレームと呼ぶ）として送信する（ステップＳ１３及びＳ１４）。例えば、ステップＳ１２において、送信データ即ち送信ＩＰパケットに含まれるＴＣＰセグメントのＴＣＰヘッダを参照し、当該送信ＩＰパケットがＴＣＰ ＡＣＫパケットである場合に、これを含むＭＡＣフレームを他のフレームと結合せずに、ＰＨＹ部１３３に供給すればよい。
【００３５】
一方、ステップＳ１２での識別の結果、送信データがＦＴＰサーバ１１等の通信相手装置に対するフィードバック情報を含まない場合は、当該送信データをペイロードに含むＭＡＣフレームを他のＭＡＣフレームとアグリゲーションし、結合フレームとして送信する（ステップＳ１３及びＳ１５）。
【００３６】
次に、本実施の形態にかかる通信システム１において、ＦＴＰサーバ１１と端末１３の間でＦＴＰプロトコルによるファイル転送を実行する場合にＦＴＰサーバ１１、アクセスポイント１２及び端末１３の各装置間で転送されるデータの一例について説明する。図６Ａは、ＦＴＰサーバ１１、アクセスポイント１２及び端末１３の各装置間でのデータ転送の一例を示すタイミングチャートである。より具体的に述べると、図６Ａは、端末１３における送信ＴＣＰセグメント又は受信ＴＣＰセグメントのＴＣＰシーケンス番号の監視結果により、ＦＴＰサーバ１１と端末１３の間でパケットロス又は遅延等の異常が発生したときに、その後に端末１３から送信されるＴＣＰ ＡＣＫパケットをアグリゲーションせずに送信する例を示している。なお、図６Ａでは、簡略化のために、ＩＰ層、ＬＬＣ副層及びＰＨＹ層の記載を省略している。      
【００３７】
ＦＴＰサーバ１１から端末１３宛てに送られる送信データ５０１は、ＦＴＰサーバ１１のＴＣＰ層でＴＣＰヘッダが付加され（ＴＣＰセグメント５０２）、ＩＰ層で端末１３のＩＰアドレスを送信先とするＩＰヘッダが付加され（不図示）、ＭＡＣ副層でＭＡＣヘッダが付加された後（ＭＡＣフレーム５０３）、有線ＬＡＮ（通信ケーブル１４）を通してアクセスポイント１２に送られる。ＭＡＣフレーム５０３を受信したアクセスポイント１２は、受信したＭＡＣフレーム５０３を他の送信ＭＡＣフレームとともにアグリゲーションし、結合フレーム５０４を生成する。次にアクセスポイント１２は結合フレーム５０４を端末１３に向けて送信する。結合フレーム５０４を受信した端末１３は、受信した結合フレーム５０４を、ＭＡＣ副層（ＭＡＣ部１３２）で分解し、連結されていたＭＡＣフレーム５０５を取り出す。その後、端末１３のＭＡＣ副層、ＩＰ層（不図示）及びＴＣＰ層でそれぞれのプロトコルに対応したヘッダが取り除かれた後、ＦＴＰサーバ１１の送信データ５０６（送信データ５０１に対応）がＡＰＰ層（ＦＴＰ）に渡される。
【００３８】
端末１３のＴＣＰ層では、ＴＣＰセグメント５０６をＡＰＰ層（ＦＴＰ）に渡すのに合わせて、ＴＣＰセグメント５０６に対応するＴＣＰ ＡＣＫセグメント５０８が生成される。端末１３のＭＡＣ副層（ＭＡＣ部１３２）は、ＴＣＰシーケンス番号の異常発生時には、上位層から受信したＩＰパケットが、ＴＣＰ ＡＣＫセグメント５０８を含むＩＰパケット（ＴＣＰ ＡＣＫパケット）であるかどうかを常に検査する。そして、ＴＣＰ ＡＣＫセグメント５０８を含むＴＣＰ ＡＣＫパケットである場合には、これをアグリゲーションせずに単一のＭＡＣフレーム５０９のまま送信する。ＭＡＣフレーム５０９はアクセスポイント１２によって中継されＦＴＰサーバ１１に送られ、ＴＣＰ ＡＣＫセグメント５１０（ＴＣＰ ＡＣＫセグメント５０８に対応）がＦＴＰサーバ１１に到達する。
【００３９】
なお、上述したＴＣＰ ＡＣＫパケットを含むＭＡＣフレーム５０９の後に送信されるＴＣＰ ＡＣＫパケットを含むＭＡＣフレーム５１１及び５１２は、シーケンス番号の異常が回復した場合を示している。このため、ＭＡＣフレーム５１１及び５１２は、アグリゲーションされて結合フレームとして送信されている。
【００４０】
一方、図６Ｂは、図６Ａと対比するために、上述したＴＣＰ ＡＣＫパケットを含むＭＡＣフレームの単発送信を実行しない場合のタイミングチャートを示している。図６Ｂに示すデータ転送処理では、ＴＣＰ ＡＣＫセグメント５０８を含むＭＡＣフレーム５０９が他のＭＡＣフレームと結合され、結合フレーム５１９として送信される。アクセスポイント１２は、受信した結合フレーム５１９を分解してＴＣＰ ＡＣＫパケットを含むＭＡＣフレーム５０９を取り出し、これをＦＴＰサーバ１１に向けて送信する。このため、図１０Ｂのデータ転送処理においてＦＴＰサーバがＴＣＰセグメント５０２を送信してからＴＣＰ ＡＣＫセグメント５１０を受信するまでの時間Ｔ２は、図６Ａのデータ転送処理においてＦＴＰサーバ１１がＴＣＰセグメント５０２を送信してからＴＣＰ ＡＣＫセグメント５１０を受信するまでの時間Ｔ１に比べて長くなる。換言すると、本実施の形態にかかる通信システム１によれば、下位層におけるフレーム結合に起因するＴＣＰ ＡＣＫセグメントの到達遅延を低減できる。このため、ＦＴＰサーバ１１のＴＣＰ送信ウィンドウをいち早く開放し、次のＴＣＰセグメントを送信可能にできる。
【００４１】
上述したように、本実施の形態にかかる通信システム１は、ＭＡＣ副層でＭＡＣフレームを結合して送信することでＭＡＣフレーム転送効率を向上させる通信方式において、ＭＡＣフレームのペイロードに含まれる送信データが通信相手装置に対するフィードバック情報、例えば、ＴＣＰ ＡＣＫパケットである場合に、ＭＡＣフレームの結合をやめてＴＣＰ ＡＣＫパケットを含むＭＡＣフレームを単一フレームとして送信する。これにより、ＴＣＰ ＡＣＫセグメントを速やかに通信相手装置に返すことができ、通信相手装置のＴＣＰの送信ウィンドウを速やかに再び増加させ、ＴＣＰでの平均スループットを向上させることができる。
【００４２】
続いて以下では、端末１３が有するＭＡＣ部１３２の構成及び動作の具体例１〜５について順に説明する。各具体例と図面との対応関係は以下の通りである。
・具体例１：図７、８、９、１０、１１Ａ及び１１Ｂ
・具体例２：図１２及び１３
・具体例３：図１４
・具体例４：図１５及び１６
・具体例５：図１７、１８Ａ及び１８Ｂ
【００４３】
＜具体例１＞
本具体例にかかるＭＡＣ部１３２は、通信相手装置すなわちＦＴＰサーバ１１と端末１３との間におけるパケットロス又は遅延の発生を検出した場合に、選択的にＴＣＰ ＡＣＫパケットを含むＭＡＣフレームを他のＭＡＣフレームとアグリゲーションせずに送信するよう構成されている。さらに、本具体例にかかるＭＡＣ部１３２は、端末１３から送信されるＴＣＰセグメントのシーケンス番号を監視することにより、パケットロス又は遅延の発生を検出するよう構成されている。
【００４４】
図７は、本具体例にかかるＭＡＣ部１３２のブロック図である。図７において、受信フレーム終端部４０１は、ＰＨＹ部１３３で受信、復調されたデータを受け取り、格納する。また、受信フレーム終端部４０１は、送信側のアクセスポイント１２の無線ＭＡＣ層においてＭＡＣフレームに付加されたＭＡＣヘッダを取り除くとともに、ペイロードデータが上位レイヤのデータである場合には、上位レイヤ処理部１３１に受信したデータを渡す。一方、受信フレーム終端部４０１は、受信したＭＡＣフレームのペイロードデータがＭＡＣ層の制御データ又は管理データである場合は、ＭＡＣ部１３２の制御部（不図示）が制御データ又は管理データに応じた適切な処理を行う。
【００４５】
送信フレーム生成部４０２は、上位レイヤ処理部１３１から供給されるＩＰパケットを受け取り、ＩＰヘッダ内の宛先ＩＰアドレスに対応した宛先ＭＡＣアドレスを含むＭＡＣヘッダを生成し、これをＩＰパケットの先頭に付加する。さらに、送信フレーム生成部４０２は、後述する単発送信判定部４０７の指示に応じて、生成したＭＡＣフレームをフレーム結合部４０３又は単一フレーム送信キュー４０５に供給する。
【００４６】
フレーム結合部４０３は、送信フレーム生成部４０２によって生成された複数のＭＡＣフレームを連結して結合フレームを生成し、結合フレーム送信キュー４０４に格納する。結合フレーム送信キュー４０４に蓄積された結合フレームは、送信タイミングが到来した場合にＰＨＹ部１３３に供給される。ＰＨＹ部１３３は、結合フレームを送信する為の変調を行って、無線信号の送信を行う。
【００４７】
単一フレーム送信キュー４０５は、他のフレームと結合せずに単一のＭＡＣフレーム単位で送信すべきＭＡＣフレームを送信フレーム生成部４０２から受け取り、送信タイミングが来るまで当該ＭＡＣフレームを格納する。送信タイミングであると判断された場合、単一フレーム送信キュー４０５は、格納しているＭＡＣフレームをＰＨＹ部１３３に供給する。ＰＨＹ部１３３は、結合フレームを送信する為の変調を行って、無線信号の送信を行う。
【００４８】
上位レイヤヘッダ取得部４０６は、送信フレーム生成部４０２に供給されるＩＰパケットを受信し、当該ＩＰパケットに含まれるＴＣＰヘッダを取得し、ＴＣＰヘッダに含まれるシーケンス番号を取得時刻と関連付けて記憶する。
【００４９】
単発送信判定部４０７は、上位レイヤヘッダ取得部４０６によって取得されたシーケンス番号及びその取得時間を監視して、シーケンス番号の時間変化率を計算する。そして、単発送信判定部４０７は、アクセスポイント１２からの受信パケットのパケットロスや遅延などの異常があるかどうかを、シーケンス番号の時間変化率の変動によって判断する。そして、パケットロスや遅延等の異常があると判断した場合、単発送信判定部４０７は、送信フレーム生成部４０２、フレーム結合部４０３、及び送信キュー制御部４０８に対して単発送信の指示を行う。
【００５０】
キュー制御部４０８は、単発送信判定部４０７によって判断された単発送信をするかどうかの判断を基に、送信タイミング獲得時に、単一フレーム送信キュー４０５と、結合フレーム送信キュー４０４のうち適切なキューからの送信が行えるように制御を行う。例えば、キュー制御部４０８は、単一フレーム送信キュー４０５から送信すると判断された場合であっても、単一フレーム送信キュー４０５に送信すべきパケットがない場合には、結合フレーム送信キュー４０４からの送信を行う。
【００５１】
なお、上述したフレーム結合部４０３によって生成される結合フレームの最大長は、連結されるＭＡＣフレームのデータ長やアグリゲーションする時間に応じて決定される。しかしながら、例えば、上記のように、単一フレーム送信キュー４０５に単発送信すべきＭＡＣフレームがない場合には、ＭＡＣフレームのペイロードに含まれるデータがＴＣＰ ＡＣＫセグメントではない場合でも、フレーム結合部４０３は、結合途中のフレームを結合フレーム送信キュー４０４に前倒しして送り、結合フレーム送信キュー４０４にこれを送信させてもよい。
【００５２】
また、第１の具体例にて示す上位レイヤヘッダ取得部４０６は、ＴＣＰヘッダを取得することで、ＴＣＰ ＡＣＫパケットの判別を目的としたものである。しかしながら、必ずしも取得されるパケットヘッダはＴＣＰに限られるわけではなく、パケットロスや遅延の発生を判定可能なシーケンス番号、タイムスタンプ情報等を送信する例えばＲＴＰ（Real-Time Transport Protocol）他のプロトコルのパケットヘッダであってもよい。
【００５３】
なお、アクセスポイント１２が有する無線ＭＡＣ部１２２は、上述したＭＡＣ部１３２と同様に構成すればよい。
【００５４】
次に、図８乃至１０並びに１１Ａ及び１１Ｂを参照して、本具体例にかかるＭＡＣ部１３２の動作について詳細に検討する。図８は上位レイヤヘッダ取得部４０６の動作を示し、図９は単発送信判定部４０７の動作を示し、図１１Ａ及びＢは送信キュー制御部４０８の動作を示している。
【００５５】
上位レイヤヘッダ取得部４０６は、端末１３の通信期間中、図８に示す処理を繰り返し実行する。図８のステップＳ１０１では、上位レイヤヘッダ取得部４０６が、上位レイヤ処理部１３１から送信フレーム生成部４０２に供給される送信データ、つまり送信ＩＰパケットを取得する。ステップＳ１０２では、送信ＩＰパケットに含まれるＴＣＰヘッダを抽出し、ＴＣＰヘッダに含まれるシーケンス番号を取得時刻と関連付けて記録する。
【００５６】
単発送信判定部４０７は、端末１３の通信期間中、図９に示す処理を繰り返し実行する。図９のステップＳ２０１では、単発送信判定部４０７が、上位レイヤヘッダ取得部４０６によって取得されるシーケンス番号の時間変化率を計算する。ステップＳ２０２では、単発送信判定部４０７は、計算されたシーケンス番号の時間変化率を監視し、その値に異常な変化が無いかどうかを判断する。ここでシーケンス番号の時間変化率の異常とは、シーケンス番号の傾きの変化又はシーケンス番号の不連続な変化である。図１０Ａ及びＢは、シーケンス番号の時間変化の一例を示すグラフであり、横軸は時間を表し、縦軸はシーケンス番号を表している。図１０Ａは、時間変化率が正常な場合の一例である"時間変化率が一定の状態"を示している。一方、図１０Ｂは、時間変化率に異常が発生している場合を示している。具体的に述べると、図１０Ｂの点線で囲まれた領域７０１は、シーケンス番号の時間変化率が減少した状態であり、送信されるＴＣＰセグメントに遅延が発生していることを表している。また、図１０Ｂの点線で囲まれた領域７０２は、シーケンス番号が不連続に減少した状態であり、送信データの消失によるＴＣＰセグメントの再送が発生したことを表している。
【００５７】
図９に戻り説明を続ける。ステップＳ２０２の判定においてシーケンス番号の時間変化率に異常な値がないと判定された場合、単発送信判定部４０７は、時間変化率の計算に用いたＩＰパケットを含むＭＡＣフレームを結合フレームとして送信するよう指示する（ステップＳ２０３）。当該指示に応じて、送信フレーム生成部４０２は、時間変化率の計算に使用されたシーケンス番号のＩＰパケットを含むＭＡＣフレームをフレーム結合部４０３に送り、フレーム結合部４０３は当該ＭＡＣフレームのアグリゲーションを行う。
【００５８】
一方、ステップＳ２０２の判定においてシーケンス番号の時間変化率に異常があると判定された場合、単発送信判定部４０７は、異常が発生している直後のシーケンス番号のＴＣＰ ＡＣＫセグメントを含むＩＰパケットをアグリゲーションせずに単発送信するよう指示する（ステップＳ２０４）。当該指示に応じて、送信フレーム生成部４０２は、異常が発生している直後のシーケンス番号のＴＣＰ ＡＣＫセグメントを含むＩＰパケットが収容されたＭＡＣフレームを、フレーム結合部４０３に送らずに単一フレーム送信キュー４０５に送る。
【００５９】
次に図１１Ａ及びＢを参照して、送信キュー制御部４０８の動作について詳細に説明する。送信キュー制御部４０８は、端末１３の通信期間中、図１１Ａ及びＢに示す処理を繰り返し実行する。
【００６０】
送信キュー制御部４０８は、単発送信判定部４０７からの単発送信指示を入力として、送信タイミング時に、単一フレーム送信キュー４０５と結合フレーム送信キュー４０４とのいずれかをＰＨＹ部１３２に送信データフレームを供給する送信用キューとして選択する。
【００６１】
ステップＳ３０１において、単発送信判定部４０７から単発送信指示がない場合、送信キュー制御部４０８は、図１１Ａ及びＢの処理を終了し、次の実行タイミングにステップＳ３０１に帰還して再び実行する。一方、単発送信判定部４０７から単発送信指示がある場合（ステップＳ３０１でＹＥＳ）、送信キュー制御部４０８は、単一フレーム送信キュー４０５にＭＡＣフレームが存在するかどうかを判定する（ステップＳ３０２）。単一フレーム送信キュー４０５にＭＡＣフレームが存在する場合、送信キュー制御部４０８は、そのデータフレームを送信させる（ステップＳ３０３）。なお、単一フレーム送信キュー４０５に複数のＭＡＣフレームが存在する場合、送信キュー制御部４０８は、先頭のＭＡＣフレームのみを送信させてもよいし、単一フレーム送信キュー４０５に蓄積された全てのＭＡＣフレームを順次送信させてもよい。
【００６２】
ステップＳ３０２において、単一フレーム送信キュー４０５に送信待ちのＭＡＣフレームが存在しない場合（ステップＳ３０２でＮＯ）、送信キュー制御部４０８は、結合フレーム送信キュー４０４に未送信の結合フレームがあるかどうかを調べる（ステップＳ３０４）。
【００６３】
ステップＳ３０４において、未送信の結合フレームが結合フレーム送信キュー４０４ある場合（ステップＳ３０４でＹＥＳ）、未送信の結合フレーム中にＴＣＰ ＡＣＫパケットが含まれているかどうかを検査する（ステップＳ３０５）。
【００６４】
ステップＳ３０５においてＴＣＰ ＡＣＫパケットが存在すると判定された場合、送信キュー制御部４０８は、ＴＣＰ ＡＣＫパケットを含む結合フレームを送信させる（ステップＳ３０６）。なお、送信キュー制御部４０８は、ＴＣＰ ＡＣＫパケットを含むＭＡＣフレームを結合フレーム送信キュー４０４から抽出し、当該ＭＡＣフレームを単独で送信させてもよい。
【００６５】
ステップＳ３０４において、未送信の結合フレームが結合フレーム送信キュー４０４に存在しない場合（ステップＳ３０４でＮＯ）、送信キュー制御部４０８は、フレーム結合部４０３が結合フレームを生成する処理を実行中であるかどうかを検査する（ステップＳ３０７）。
【００６６】
フレーム結合部４０３がフレーム結合処理中である場合（ステップＳ３０７でＹＥＳ）、送信キュー制御部４０８は、結合途中の結合フレームの中にＴＣＰ ＡＣＫパケットが存在するかどうかを検査する（ステップＳ３０８）。
【００６７】
ＴＣＰ ＡＣＫパケットが存在する場合（ステップＳ３０８、ＹＥＳ）、送信キュー制御部４０８は、結合途中の結合フレームの結合処理をその時点で中止し、結合途中の結合フレームを結合フレーム送信キュー４０４に出力するようフレーム結合部４０３に対して指示する（ステップＳ３０６）。なお、送信キュー制御部４０８は、結合途中の結合フレームに含まれているＴＣＰ ＡＣＫパケットを含むＭＡＣフレームのみを抽出して結合フレーム送信キュー４０４に出力させてもよい。
【００６８】
上述したように、本具体例にかかるＭＡＣ部１３２は、ＭＡＣ副層でＭＡＣフレームを結合して送信することでＭＡＣフレーム転送効率を向上させる通信方式において、送信ＴＣＰセグメントの損失又は遅延の発生を判定した場合には、ＴＣＰ ＡＣＫパケットを含むＭＡＣフレームを他のＭＡＣフレームとアグリゲーションせずに単一ＭＡＣフレームとして送信する。これにより、ＴＣＰセグメントの損失又は遅延の発生に起因して通信相手装置（ＦＴＰサーバ１１）による輻輳制御が実行されると想定される状況下において、ＴＣＰ ＡＣＫセグメントを速やかに送信元装置に返すことができる。このため、送信元である通信相手装置（ＦＴＰサーバ１１）のＴＣＰの送信ウィンドウを速やかに再び増加させ、ＴＣＰでの平均スループットを向上させることができる。
【００６９】
＜具体例２＞
本具体例にかかるＭＡＣ部１３２は、上述した具体例１にかかるＭＡＣ部１３２と同様に、通信相手装置すなわちＦＴＰサーバ１１と端末１３との間におけるパケットロス又は遅延の発生を検出した場合に、選択的にＴＣＰ ＡＣＫパケットを含むＭＡＣフレームを他のＭＡＣフレームとアグリゲーションせずに送信するよう構成されている。先に述べた具体例１と具体例２の相違点は、具体例１が送信ＴＣＰセグメントのシーケンス番号を監視するのに対し、本具体例にかかるＭＡＣ部１３２が、通信相手装置からの受信ＴＣＰセグメントのシーケンス番号を監視することにより、パケットロス又は遅延の発生を検出する点である。
【００７０】
図１２は、本具体例にかかるＭＡＣ部１３２のブロック図である。図７の構成図と図１２との相違点は、上位レイヤヘッダ取得部４０６が受信フレーム終端部４０１から出力される受信ＩＰパケットを取得する点である。図１３は、図１２の上位レイヤヘッダ取得部４０６の動作手順を示すフローチャートである。図１３に示すように、本具体例にかかる上位レイヤヘッダ取得部４０６は、受信ＭＡＣフレームに含まれる受信ＩＰパケットを取得し（ステップＳ４０１）、受信ＩＰパケットに含まれるＴＣＰヘッダを抽出し、ＴＣＰヘッダに含まれるシーケンス番号を取得時刻と関連付けて記録する（ステップＳ４０２）。なお、上位レイヤヘッダ取得部４０６を除く他の要素の機能及び動作は、図７に示したものと同様であるため、ここでは詳細な説明を省略する。
【００７１】
本具体例のＭＡＣ部１３２を有する端末１３も、ＴＣＰセグメントの損失又は遅延の発生に起因して通信相手装置（ＦＴＰサーバ１１）による輻輳制御が実行されると想定される状況下において、ＴＣＰ ＡＣＫセグメントを速やかに送信元装置に返すことができる。このため、送信元である通信相手装置（ＦＴＰサーバ１１）のＴＣＰの送信ウィンドウを速やかに再び増加させ、ＴＣＰでの平均スループットを向上させることができる。
【００７２】
＜具体例３＞
上述した具体例１及び２にかかるＭＡＣ部１３２は、ＴＣＰセグメントの損失又は遅延が発生した場合に、選択的にＴＣＰ ＡＣＫパケットを単一フレームとして送信し、それ以外の通常動作時には、ＴＣＰ ＡＣＫパケットも結合して送信する例を示した。しかしながら、このような動作は一例であって、ＴＣＰ ＡＣＫパケットを常時単一フレームとして送信してもよい。このような構成は、例えば、端末１３が音声又は映像等のストリームデータを受信し、ストリームデータの送信元である通信相手装置に対してデータ受信の完了を示すＡＣＫパケットを送信する場合等の上り方向と下り方向のデータ転送量が非対称な通信形態において有効である。
【００７３】
本具体例にかかるＭＡＣ部１３２の構成例を図１４に示す。図７の構成図と図１４との相違点は、パケットロス又は遅延の発生を検出してＭＡＣフレームをアグリゲーションするか否かを切り替えるための上位レイヤヘッダ取得部４０６及び単発送信判定部４０７が省略されている点である。なお、図１４における送信フレーム生成部６０２は、単発送信判定部４０７からの単発送信指示の有無に関わらず、ＴＣＰ ＡＣＫパケットを含むＭＡＣフレームを単一フレーム送信キュー４０５に格納すればよい。また、送信キュー制御部６０８は、単発送信判定部４０７からの単発送信指示の有無に関わらず、ＴＣＰ ＡＣＫパケットを含むＭＡＣフレームを優先的に送信するように、単一フレーム送信キュー４０５及び結合フレーム送信キュー４０４を制御すればよい。具体的に述べると、送信キュー制御部６０８は、図１１Ａ及びＢに示したフローチャートにおいて、ステップＳ３０１を除くステップＳ３０２〜３０８の処理を繰り返し実行すればよい。
【００７４】
＜具体例４＞
本具体例にかかるＭＡＣ部１３２は、上述した具体例１にかかるＭＡＣ部１３２の送信キュー制御部４０８の動作を変更したものである。本具体例にかかるＭＡＣ部１３２が有する送信キュー制御部７０８は、パケットロス又は遅延等の異常発生時に、結合フレーム送信キュー４０４及び単一フレーム送信キュー４０５のうち、いち早く送信タイミングが到来する送信キューを用いてＴＣＰ ＡＣＫパケットを含むＭＡＣフレームを送信する。
【００７５】
例えば、送信キュー制御部７０８は、図１１Ａ及びＢに示したフローチャートのステップＳ３０２とＳ３０３の間で、図１６に示すステップＳ５０１からＳ５０３の処理を行えばよい。ステップＳ５０１では、ステップＳ３０２で単一フレーム送信キュー４０５内にＭＡＣフレームが存在すると判定された場合に、結合フレーム送信キュー４０４内で結合フレームが送信可能状態にあるか否かを判定する。結合フレーム送信キュー４０４内に送信可能な結合フレームが存在しなければステップＳ３０３に進み、単一フレーム送信キュー４０５の送信タイミングの到来時に、単一フレーム送信キュー４０５からＴＣＰ ＡＣＫパケットを含むＭＡＣフレームを送信させる。
【００７６】
一方、結合フレーム送信キュー４０４内に送信可能な結合フレームが存在する場合（ステップＳ５０１でＹＥＳ）、結合フレーム送信キュー４０４にある結合フレームが、単一フレーム送信キュー４０５にある単一フレームより早期に送信されるか否かを判定する（ステップＳ５０２）。そして、結合フレーム送信キュー４０４にある結合フレームがより早期に送信されると判定された場合（ステップＳ５０２でＹＥＳ）、送信キュー制御部７０８は、単発送信対象のＭＡＣフレームを結合フレーム送信キュー４０４内の結合フレームに追加して送信させる（ステップＳ５０３）。
【００７７】
本具体例のＭＡＣ部１３２は、単一フレームとして送信するより結合フレームとするほうがフィードバック情報（具体的にはＴＣＰ ＡＣＫパケット）を含むＭＡＣフレームを早期に送信可能である場合は、単一フレームとせずに結合フレームとして送信できる。すなわち、本具体例のＭＡＣ部１３２を有する端末は、フィードバック情報を含むＭＡＣフレームをいち早く通信相手装置に対して送信可能である。
【００７８】
＜具体例５＞
本具体例にかかるＭＡＣ部１３２の構成を図１７に示す。図１７において、送信フレーム生成部８０２は、送信ＭＡＣフレームを生成して送信バッファ８０３に格納するとともに、送信ディスクリプタテーブル８０４を生成する。送信ディスクリプタテーブル８０４は、複数の送信ディスクリプタを記述するテーブルである。各々の送信ディスクリプタは、送信ＭＡＣフレームが格納された送信バッファ８０３のアドレスを指定する。
【００７９】
本具体例にかかるＭＡＣ部１３２と協調動作するＰＨＹ部１３３は、ＤＭＡ（Direct Memory Access）コントローラ機能を有しており、送信ディスクリプタテーブル８０４に従って、送信バッファ８０３から送信ＭＡＣフレームを読み出し、結合フレーム又は単一フレームとして送信する。
【００８０】
送信ディスクリプタテーブル８０４の一例を図１８Ａに示す。図１８Ａの例では、各々の送信ディスクプタは、次のディスクリプタを指定するＮＥＸＴポインタ８０５１、次のディスクリプタにより指定されるＭＡＣフレームとのアグリゲーションの有無を示すアグリゲーションビット８０４２、及びＭＡＣフレームが格納されている送信バッファ８０３のアドレス（バッファアドレス８０４３）を含む。
【００８１】
図１８Ａの例では、アグリゲーションビット８０４２は１ビット情報であり、値１が"アグリゲーション有り"を示し、値０が"アグリゲーション無し"を示す。なお、アグリゲーションビット８０４２の値０は、アグリゲーションされる複数のＭＡＣフレームのうち最後尾のＭＡＣフレームを指定するためにも使用される。例えば、２つのＭＡＣフレームがアグリゲーションされる場合、先頭ＭＡＣフレームに対応する送信ディスクリプタのアグリゲーションビット８０４２の値は１とされる。一方、この先頭ＭＡＣフレームに対応する送信ディスクリプタのＮＥＸＴポインタ８０４１によって指される２つ目のディスクリプタのアグリゲーションビット８０４２の値は、０とされる。
【００８２】
また、図１８Ａの例では、結合送信用ポインタ９０１によって、結合フレームを生成するための先頭の送信ディスクリプタのアドレスが指定される。同様に、単発送信用ポインタ９０２によって、単一フレームを生成するための先頭の送信ディスクリプタのアドレスが指定される。
【００８３】
なお、図１７及び１８Ａに示したような送信ディスクリプタテーブル８０４により送信ＭＡＣフレームが格納されたアドレス及びアグリゲーションの有無をＰＨＹ部１３３に伝達する構成を採用する場合、上述した具体例４のＭＡＣ部１３２が行なう単一フレームを結合フレームに追加する処理も容易に実現可能である。
【００８４】
図１７に示すアグリゲーション制御部８０８は、送信ディスクリプタテーブル８０４の書き換えを行なうことによって、単一フレームとして指定されたＭＡＣフレームを結合フレームに追加させる。アグリゲーション制御部８０８の動作の一例を、図１８Ｂを用いて説明する。図１８Ｂは、単一フレームとして指定されたＭＡＣフレームを結合フレームへの追加を、ＮＥＸＴポインタ８０４１の付け替え及びアグリゲーションビット８０４２の書き換えによって行なう例を示している。
【００８５】
具体的には、図１８Ｂにおいて斜線でハッチングされている２つのＮＥＸＴポインタ８０４１の付け替え及び２つのアグリゲーションビット８０４２の書き換えによって、単発送信用ポインタ９０２によって指定されていた単一フレームに関する送信ディスクリプタを、結合フレームに関する送信ディスクリプタに連結することができる。図１８ＢのようにＮＥＸＴポインタ８０４１の付け替えが行なわれた送信ディスクリプタテーブル８０４に従って、ＰＨＹ部１３３が送信バッファ８０３からＭＡＣフレームを順次読み出し、これらを連結させて送信することにより、ＴＣＰ ＡＣＫパケット等のフィードバック情報を含むＭＡＣフレームをいち早く送信することができる。
【００８６】
＜その他の実施の形態＞
上述した発明の実施の形態１では、ＦＴＰサーバ１１がアクセスポイント１２と有線ＬＡＮによって直接接続されたネットワーク構成を例にとって説明した。しかしながら、このようなネットワーク構成が一例に過ぎないことはもちろんである。例えば、ＦＴＰサーバ１１は、アクセスポイント１２とは別のＩＰサブネットに配置されてもよいし、インターネットを介して配置されてもよい。また、ＦＴＰサーバ１１とアクセスポイント１２は、１台の共通のコンピュータとして構成されてもよい。この場合、有線ＬＡＮと無線ＬＡＮとの間のブリッジは必ずしも必要ではないため、アクセスポイント１２のブリッジ部１２１は、省略されてもよい。
【００８７】
また、上述した発明の実施の形態１では、ＦＴＰプロトコルによるファイル転送を行う例を示したが、上位層のプロトコルがＦＴＰに限定されないことはもちろんである。また、ウィンドウ制御を行う上位層の通信プロトコルは、上述した実施の形態において具体的に示したＦＴＰに限定されるものではない。
【００８８】
また、上述した発明の実施の形態１では、下位層においてフレーム結合を行なってフレーム転送効率を向上させるプロトコルの具体例の１つとして、ＩＥＥＥ８０２．１１にて規格化が検討されている無線ＬＡＮを示した。しかしながら、フィードバック型のフロー制御を行う上位層に対する下位層としてフレーム結合技術を用いてデータ転送を担う通信プロトコルは、上述した無線ＬＡＮに限定されるものではない。
【００８９】
また、上述した発明の実施の形態１では、通信媒体が無線チャネルである場合について説明したが、通信媒体が有線伝送路であってもよいことはもちろんである。例えば、物理媒体としてツイストペアケーブルを使用する１０００ＢＡＳＥ−Ｔにおいて、複数のＭＡＣフレームの連続送信を行なうフレームバーストによりＭＡＣフレームを送信するか、単一のＭＡＣフレームとして送信するかを、ＭＡＣフレームに収容されるデータセグメントの種別に基づいて決定してもよい。
【００９０】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【００９１】
【図１】本発明の実施の形態１にかかる通信システムを示す模式図である。
【図２】本発明の実施の形態１にかかる通信システムの論理的なレイヤ構成を示す図である。
【図３】本発明の実施の形態１にかかる通信システムに含まれる端末の装置構成を示すブロック図である。
【図４】本発明の実施の形態１にかかる通信システムに含まれるアクセスポイントの装置構成を示すブロック図である。
【図５】本発明の実施の形態１にかかる通信システムに含まれる端末が有するＭＡＣ部の送信制御手順を示すフローチャートである。
【図６Ａ】発明の実施の形態１におけるＦＴＰサーバ、アクセスポイント及び端末の間のデータ転送の一例を示すタイミングチャートである。
【図６Ｂ】図１１Ａに示したデータ転送と対比するために示すタイミングチャートである。
【図７】本発明の実施の形態１にかかる通信システムに含まれる端末が有するＭＡＣ部の第１の構成例を示すブロック図である。
【図８】第１の構成例にかかるＭＡＣ部が有する上位レイヤヘッダ取得部の動作を示すフローチャートである。
【図９】第１の構成例にかかるＭＡＣ部が有する単発送信判定部の動作を示すフローチャートである。
【図１０Ａ】通信時間とＴＣＰの送信セグメントのシーケンス番号との関係を示すグラフである。
【図１０Ｂ】通信時間とＴＣＰの送信セグメントのシーケンス番号との関係を示すグラフである。
【図１１Ａ】第１の具体例にかかるＭＡＣ部が有する送信キュー制御部の動作を示すフローチャートである。
【図１１Ｂ】第１の具体例にかかるＭＡＣ部が有する送信キュー制御部の動作を示すフローチャートである。
【図１２】本発明の実施の形態１にかかる通信システムに含まれる端末が有するＭＡＣ部の第２の具体例を示すブロック図である。
【図１３】第２の具体例にかかるＭＡＣ部が有する上位レイヤヘッダ取得部の動作を示すフローチャートである。
【図１４】本発明の実施の形態１にかかる通信システムに含まれる端末が有するＭＡＣ部の第３の具体例を示すブロック図である。
【図１５】本発明の実施の形態１にかかる通信システムに含まれる端末が有するＭＡＣ部の第４の具体例を示すブロック図である。
【図１６】第４の具体例にかかるＭＡＣ部が有する送信キュー制御部の動作を示すフローチャートである。
【図１７】本発明の実施の形態１にかかる通信システムに含まれる端末が有するＭＡＣ部の第５の具体例を示すブロック図である。
【図１８Ａ】第５の具体例にかかるＭＡＣ部が有するアグリゲーション制御部による送信ディスクリプタテーブルの変更動作を説明するための図である。
【図１８Ｂ】第５の具体例にかかるＭＡＣ部が有するアグリゲーション制御部による送信ディスクリプタテーブルの変更動作を説明するための図である。
【図１９】背景技術にかかるフレーム結合技術を模式的に示した図の一例である。
【図２０】背景技術にかかるフレーム結合技術によって生成される結合フレームのパケットフォーマットを示す図である。
【符号の説明】
【００９２】
１  通信システム
１１  ＦＴＰサーバ
１２  アクセスポイント
１３  端末
１４  通信ケーブル
１２１  ブリッジ部
１２２  無線ＭＡＣ部
１２３  無線ＰＨＹ部
１２４  アンテナ
１２５  有線ＭＡＣ部
１２６  有線ＰＨＹ部
１３１  上位レイヤ処理部
１３２  ＭＡＣ部
１３３  ＰＨＹ部
１３４  アンテナ
４０１、８０１  受信フレーム終端部
４０２、６０２、８０２  送信フレーム生成部
４０３  フレーム結合部
４０４  結合フレーム送信キュー
４０５  単一フレーム送信キュー
４０６  上位レイヤヘッダ取得部
４０７  単発送信判定部
４０８、６０８  送信キュー制御部
８０３  送信バッファ
８０４  送信ディスクリプタテーブル
８０８  アグリゲーション制御部
【図１】
2009147786.tif 000003
【図２】
2009147786.tif 000004
【図３】
2009147786.tif 000005
【図４】
2009147786.tif 000006
【図５】
2009147786.tif 000007
【図６Ａ】
2009147786.tif 000008
【図６Ｂ】
2009147786.tif 000009
【図７】
2009147786.tif 000010
【図８】
2009147786.tif 000011
【図９】
2009147786.tif 000012
【図１０Ａ】
2009147786.tif 000013
【図１０Ｂ】
2009147786.tif 000014
【図１１Ａ】
2009147786.tif 000015
【図１１Ｂ】
2009147786.tif 000016
【図１２】
2009147786.tif 000017
【図１３】
2009147786.tif 000018
【図１４】
2009147786.tif 000019
【図１５】
2009147786.tif 000020
【図１６】
2009147786.tif 000021
【図１７】
2009147786.tif 000022
【図１８Ａ】
2009147786.tif 000023
【図１８Ｂ】
2009147786.tif 000024
【図１９】
2009147786.tif 000025
【図２０】
2009147786.tif 000026