(57)【特許請求の範囲】
【請求項１】
IEEE802.11諸規格に準拠した無線ＬＡＮ通信を行う環境でTCP/IP通信を行う無線通信装置において、
親局の通信装置から、それぞれがTCPDATAセグメントをカプセル化した複数のWLANDATAフレームに対応する送達確認情報であるBlockACKフレームを要求するBlockACK Requestフレームを受信する受信処理手段と、
前記BlockACK Requestフレームを受信した場合に、前記BlockACKフレームを、前記親局の通信装置に送信する送信処理手段と、
前記BlockACKフレームが前記親局の通信装置に送信される場合に、前記複数のWLANDATAフレームのうち正常に受信されたWLANDATAフレームにカプセル化されているTCPDATAセグメントに対応する送達確認情報であるTCPACKセグメントの送信を停止する処理を実行するTCPACK送信停止手段と
を具備し、
前記TCPACK送信停止手段は、無線環境悪化の場合に、前記TCPACKセグメントの送信を停止する処理を解除し、
前記送信処理手段は、前記無線環境悪化の場合に、前記TCPACKセグメントを、前記親局の通信装置に送信する
ことを特徴とする無線通信装置。
【請求項２】
IEEE802.11諸規格に準拠した無線ＬＡＮ通信を行う環境でTCP/IP通信を行う無線通信装置において、
子局の通信装置に対して、それぞれがTCPDATAセグメントをカプセル化した複数のWLANDATAフレームを送信し、その後、前記複数のWLANDATAフレームに対応する送達確認情報であるBlockACKフレームを要求するBlockACK Requestフレームを送信する送信処理手段と、
前記子局の通信装置から、前記BlockACK Requestフレームに対応する前記BlockACKフレームを受信する受信処理手段と、
前記BlockACKフレームに基づいて、前記複数のWLANDATAフレームのうち前記子局の通信装置に正常に受信されたWLANDATAフレームにカプセル化されたTCPDATAセグメントに対応する送達確認情報であるTCPACKセグメントを受信したと判断する解析手段と
を具備し、
前記送信処理手段は、無線環境の悪化の場合に、２つのWLANDATAフレームに対応するBlockACK Requestフレームを送信し、
前記受信処理手段は、前記無線環境の悪化の場合に、前記子局の通信装置に正常に受信されたTCPDATAセグメントに対応するTCPACKセグメントを受信する
ことを特徴とする無線通信装置。
【請求項３】
請求項２記載の無線通信装置において、
前記送信処理手段は、前記子局の通信装置に正常に受信されなかったTCPDATAセグメントをカプセル化した再送のWLANDATAフレームを送信し、その後、前記再送のWLANDATAフレームに対応する送達確認情報であるBlockACKフレームを要求するBlockACK Requestフレームを送信する
ことを特徴とする無線通信装置。
【請求項４】
請求項１乃至請求項３のいずれか１項に記載の無線通信装置において、
前記BlockACKフレームに、正常に受信されたTCPDATAセグメントに対応するTCPACKセグメントを付加することを特徴とする無線通信装置。
【請求項５】
請求項１乃至請求項４のいずれか１項に記載の無線通信装置において、
SACKオプション機能が適用された場合の複数のTCPACKセグメントに代えて、前記BlockACKフレームが用いられることを特徴とする無線通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線ＬＡＮ（Wireless Local Area Network）通信の規格であるIEEE802.11諸規格（例えば、IEEE802.11、IEEE802.11e、IEEE802.11nなど）及びTCP/IP通信を行う無線通信装置に関する。
【背景技術】
【０００２】
無線ＬＡＮ通信の規格には、例えばIEEE802.11、IEEE802.11e、IEEE802.11nなどのようなIEEE802.11の諸規格がある。IEEE802.11諸規格に準拠した無線ＬＡＮ通信においては、このIEEE802.11諸規格で規定されたフレームフォーマット及び通信制御用プロトコルに基づいた通信方式でデータ伝送が行なわれる。
【０００３】
無線ＬＡＮ通信の規格では、送信相手に対してデータの送達確認を行う機能が含まれている。
【０００４】
IEEE802.11諸規格に準拠した無線ＬＡＮ通信の環境において、親局の通信装置（Access Point）／子局の通信装置（Station）間でTCP/IP通信を実施する場合には、送信対象のTCPDATAセグメントの送達確認のために、このTCPDATAセグメントに対する送達確認情報であるTCPACKセグメントの送受信処理を実行する必要がある。
【０００５】
しかしながら、送達確認処理はTCP/IP通信のレベルのみではなく、無線ＬＡＮ通信のレベルでも実行されている。このため、従来においては、送達確認のための同様の処理が２回行われており、重複していることになる。
【０００６】
特許文献１（特開２００６−２１７２４２号公報）では、IEEE802.11に準拠した無線ＬＡＮ通信において、Block Ack Bitmapフィールドを取り除いたBlock Ack フレームを作成し、解析を行うことで、効率のよい伝送を実現する発明について説明されている。
【特許文献１】特開２００６−２１７２４２号公報
【非特許文献１】IEEE802.11
【非特許文献２】IEEE802.11e
【非特許文献３】IEEE802.11n D4.00
【発明の開示】
【発明が解決しようとする課題】
【０００７】
以上のように、従来は、無線ＬＡＮ通信の環境において親局の通信装置（Access Point）／子局の通信装置（Station）間でTCP/IP通信を実行する場合、無線ＬＡＮ通信とのレベルとTCP/IP通信のレベルとの双方においてデータ送達確認処理が実行される。
【０００８】
このような２つのデータ送達確認処理が重複することは不要であり、通信に伴う処理量の低減及び無線帯域の有効活用を困難にすると考えられる。
【０００９】
本発明は、以上のような実情に鑑みてなされたもので、無線ＬＡＮ通信の環境においてTCP/IP通信を実行する場合、無線ＬＡＮ通信のレベルでデータ送達確認処理を実行し、TCP/IP通信のレベルでのデータ送達確認処理を省略することにより、通信に伴う処理量の低減及び無線帯域の有効活用を実現する無線通信装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一態様に係るIEEE802.11諸規格に準拠した無線ＬＡＮ通信を行う環境でTCP/IP通信を行う無線通信装置は、親局の通信装置から、それぞれがTCPDATAセグメントをカプセル化した複数のWLANDATAフレームに対応する送達確認情報であるBlockACKフレームを要求するBlockACK Requestフレームを受信する受信処理手段と、BlockACK Requestフレームを受信した場合に、BlockACKフレームを、親局の通信装置に送信する送信処理手段と、BlockACKフレームが親局の通信装置に送信される場合に、複数のWLANDATAフレームのうち正常に受信されたWLANDATAフレームにカプセル化されているTCPDATAセグメントに対応する送達確認情報であるTCPACKセグメントの送信を停止する処理を実行するTCPACK送信停止手段とを具備する。TCPACK送信停止手段は、無線環境悪化の場合に、TCPACKセグメントの送信を停止する処理を解除する。送信処理手段は、無線環境悪化の場合に、TCPACKセグメントを、親局の通信装置に送信する。
【発明の効果】
【００１１】
本発明により、無線ＬＡＮ通信の環境においてTCP/IP通信を実行する場合、無線ＬＡＮ通信のレベルでデータ送達確認処理を実行し、TCP/IP通信のレベルでのデータ送達確認処理を省略することができ、通信に伴う処理量の低減及び無線帯域の有効活用を実現することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照しながら本発明の実施の形態について説明する。なお、以下の各図において同様の部分については同一の符号を付して説明を省略する。
【００１３】
（第１の実施の形態）
本実施の形態に係る無線通信装置は、IEEE802.11諸規格に準拠した無線ＬＡＮ通信、及びTCP/IP通信を行う。TCPプロトコルとしてはRFC793をベースに数多くのプロトコルが提案されている。本実施の形態において、TCPプロトコルとしては例えばRFC793を適用することができるが、他のTCPプロトコルでもよい。
【００１４】
図１は、本実施の形態に係る通信システムの一例を示すシステム構成図である。
【００１５】
この通信システム１は無線ＬＡＮ通信システムである。通信システム１では、IEEE802.11諸規格に準拠した無線ＬＡＮ通信、及びRFC793に準拠したTCP/IP通信が可能である。
【００１６】
親局の通信装置（データ送信側）ＡＰは、１台以上の子局の通信装置（データ受信側）ＳＴＡ１〜ＳＴＡ８と通信可能である。なお、子局の通信装置の数は、自由に変更可能である。
【００１７】
IEEE802.11諸規格に準拠した無線ＬＡＮ通信を行う場合、通信システム１では、親局の通信装置ＡＰから子局の通信装置ＳＴＡ１〜ＳＴＡ８にWLANDATAフレームが送信され、WLANDATAフレームを受信した子局の通信装置ＳＴＡ１〜ＳＴＡ８から親局の通信装置ＡＰへ送達確認情報であるWLANACKフレームが送信される。
【００１８】
また、親局の通信装置ＡＰと、子局の通信装置ＳＴＡ１〜ＳＴＡ８のうちのいずれかの子局の通信装置（ここでは、子局の通信装置ＳＴＡ１とする）との２端末間でTCP/IP通信を行う場合においても、無線ＬＡＮ通信の場合と同様に、親局の通信装置ＡＰから子局の通信装置ＳＴＡ１にTCPDATAセグメントが送信され、TCPDATAセグメントを受信した子局の通信装置ＳＴＡ１から親局の通信装置ＡＰへ送達確認情報であるTCPACKセグメントが送信される。
【００１９】
通常は、無線ＬＡＮ通信上でTCP/IP通信を行う場合、無線ＬＡＮ通信における送達確認情報であるWLANACKフレームとTCP/IP通信における送達確認情報であるTCPACKセグメントとが双方とも子局の通信装置ＳＴＡ１から親局の通信装置ＡＰへ伝送されることになる。
【００２０】
しかしながら、本実施の形態においては、無線ＬＡＮ通信上でTCP/IP通信を行う場合に、無線ＬＡＮ通信における送達確認情報であるWLANACKフレームとTCP/IP通信における送達確認情報であるTCPACKセグメントとを一つにまとめる。
【００２１】
本実施の形態においては、無線ＬＡＮ通信上でTCP/IP通信を行う場合に、子局の通信装置ＳＴＡ１〜ＳＴＡ８から親局の通信装置ＡＰへ送信される送達確認のためのTCPACKセグメントの送信を省略し、子局の通信装置ＳＴＡ１〜ＳＴＡ８から親局の通信装置ＡＰへ送達確認のためのWLANACKフレームを送信することによって、親局の通信装置ＡＰが無線ＬＡＮ通信に加えてTCP/IP通信の送達確認も行う。
【００２２】
図２は、本実施の形態に係る通信装置ＡＰ，ＳＴＡ１〜ＳＴＡ８のハードウェア構成の一例を示すブロック図である。
【００２３】
本実施の形態に係る親局の通信装置ＡＰは、コンピュータ２、例えばＳＤＲＡＭなどの記憶装置３、無線ＬＡＮベースバンドチップ４、無線部５、アンテナ部６を具備する。
【００２４】
親局の通信装置ＡＰにおいて、コンピュータ２は、送信するデータを、コンピュータ２側のＰＣＩＣ（Peripheral Components Interconnect Controller）７から、無線ＬＡＮベースバンドチップ４側のＰＣＩＣ８、ＭＥＭＣ（メモリコントローラ）９という順で送り、例えばＳＲＡＭなどの記憶装置１０又は記憶装置３に記憶する。このように、記憶装置３，１０へのアクセスは、ＭＥＭＣ９を用いて行われる。
【００２５】
ＣＰＵ１１は、ＭＥＭＣ９経由で、記憶装置３又は記憶装置１０に記憶されたデータをアクセスし、データ送信のための処理を実行し、処理後のデータをＭＡＣ（Medium Access Controller）１２、ＰＨＹ（Physical layer）１３経由で、無線部５に出力する。
【００２６】
そして、処理後のデータは無線部５のＲＦチップ１４からアンテナ部６に渡され、無線ＬＡＮ通信のフレームとして送信される。
【００２７】
なお、子局の通信装置ＳＴＡ１〜ＳＴＡ８の場合には、親局の送信装置ＡＰの動作と逆の動作を行う。
【００２８】
本実施の形態に係る通信装置によって実行される各種機能は、ソフトウェア及びハードウェアのいずれでも実現させることができる。ハードウェアで実現させる場合には、例えばその機能はＭＡＣ１２で実現可能である。ソフトウェアで実現させる場合には、例えばその機能はＣＰＵ１１により実現可能である。
【００２９】
図３は、本実施の形態に係る親局の通信装置ＡＰのソフトウェアの一例を示すブロック図である。この図３において、矢印ａ１は、WLANDATAフレームを送信する場合のソフトウェア処理部２７からハードウェア処理部１５へのデータの流れを表す。矢印ａ２は、WLANDATAフレームに対する送達確認であるWLANACKフレームを受信する場合のハードウェア処理部１５からソフトウェア処理部２７へのデータの流れを表す。
【００３０】
通信装置ＡＰでは、ソフトウェア処理部２７とハードウェア処理部１５とが協働して通信処理を実現する。ソフトウェア処理部２７は、TCP/IPソフトウェア処理部１６とWLANソフトウェア処理部１７とを具備する。
【００３１】
さらに、WLANソフトウェア処理部１７は、WLAN受信処理部１８、WLAN送信処理部１９、WLANACK解析部２０、WLANDATA解析部２１を具備する。なお、WLAN受信処理部１８とWLAN送信処理部１９とは、組み合わせてWLAN送受信処理部としてもよい。
【００３２】
TCP/IPソフトウェア処理部１６は、上位アプリケーション・プログラムで生成されたデータに基づいて、TCPDATAセグメントを生成する。
【００３３】
TCP/IPソフトウェア処理部１６は、TCPDATAセグメントをWLANソフトウェア処理部１７のWLAN送信処理部１９に渡す。
【００３４】
WLAN送信処理部１９は、TCP/IPソフトウェア処理部１６から受けたTCPDATAセグメントに基づいてWLANDATAフレームを生成する。具体的には、WLAN送信処理部１９は、TCPDATAセグメントをWLANDATAフレームにマッピングする処理を実行し、TCPDATAセグメントをカプセル化したWLANDATAフレームを生成する。
【００３５】
生成されたWLANDATAフレームは、ハードウェア処理部１５の無線部５等を経由し、送信される。
【００３６】
TCPDATAセグメントがWLANDATAフレームとして送信され、子局の通信端末ＳＴＡ１〜ＳＴＡ８でこのWLANDATAフレームが正常に受信されると、子局の通信端末ＳＴＡ１〜ＳＴＡ８は親局の通信端末ＡＰにWLANACKフレームを送信する。
【００３７】
親局の通信装置ＡＰは、子局の通信端末ＳＴＡ１〜ＳＴＡ８からのWLANACKフレームを、ハードウェア処理部１５において受信する。
【００３８】
ハードウェア処理部１５は、受信したWLANACKフレームを、WLAN受信処理部１８経由で、WLANACK解析部２０に渡す。
【００３９】
WLANACK解析部２０は、WLANACKフレームに基づいて、このWLANACKフレームに対応するTCPDATAセグメントを検索し、この検索されたTCPDATAセグメントの送達確認を示すTCPACKセグメントを生成し、このTCPACKセグメントをTCP/IPソフトウェア処理部１６に渡す。すなわち、このWLANACK解析部２０は、送信前のTCPDATAセグメントがどのWLANDATAフレームにマッピングされたかを示すデータを利用し、受信したWLANACKフレームがどのWLANDATAフレームの送達確認であるかを識別・判断し、この結果から、受信したWLANACKフレームがどのTCPDATAセグメントの送達確認であるかを識別・判断する。
【００４０】
TCP/IPソフトウェア処理部１６は、受信したWLANACKフレームに基づいて生成されたTCPACKセグメントを受けた場合には、TCPACKセグメント受信時と同様の処理を行う。
【００４１】
図４は、本実施の形態に係る子局の通信装置ＳＴＡ１〜ＳＴＡ８のソフトウェアの一例を示すブロック図である。この図４において、矢印ａ３は、受信されたWLANDATAフレームとこのWLANDATAフレームにカプセル化されていたTCPDATAセグメントの流れを表す。矢印ａ４は、TCPACKセグメントの流れを現す。矢印ａ５は、WLANACKフレームの流れを表す。
【００４２】
ソフトウェア処理部２７のWLAN受信処理部１８は、ハードウェア処理部１５経由でWLANDATAフレームを受信する。WLAN送信処理部１９は、受信したWLANDATAフレームに対応するWLANACKフレームを、ハードウェア処理部１５経由で親局の通信装置ＡＰに送信する。
【００４３】
また、ソフトウェア処理部２７のWLANDATA解析部２１は、WLAN受信処理部１８からWLANDATAフレームを受け、このWLANDATAフレーム内部の解析を行い、このWLANDATAフレームに対応するWLANACKフレームが、親局の通信装置ＡＰへ送信済みであることを示す情報をTCP/IPソフトウェア処理部１６に渡す。
【００４４】
WLANDATAフレームにTCPDATAセグメントが含まれている場合、このTCPDATAセグメントを含むWLANDATAフレームは、WLANソフトウェア処理部１７からTCP/IPソフトウェア処理部１６に渡される。
【００４５】
TCP/IPソフトウェア処理部１６は、WLANソフトウェア処理部１７からTCPDATAセグメントを受ける。
【００４６】
TCP/IPソフトウェア処理部１６のTCPACK送信停止部２２は、TCPDATAセグメントを受信した場合、このTCPDATAセグメントをカプセル化していたWLANDATAフレームに対応するWLANACKフレームが既に送信済みであることを示す情報を受けているか否か判断する。
【００４７】
TCPACK送信停止処理部２２は、WLANACKフレームが既に送信済みであることを示す情報を受けている場合、TCPACKセグメントを親局の通信装置ＡＰに送信するための処理を停止する。一方、TCP/IPソフトウェア処理部１６は、WLANACKフレームが既に送信済みであることを示す情報を受けていない場合、TCPACKセグメントを親局の通信装置ＡＰに送信するための処理を行う。
【００４８】
通常のTCP/IPソフトウェア処理部の場合には、受信したTCPセグメントに対応するTCPACKセグメントを生成・送信するが、本実施の形態に係るTCP/IPソフトウェア処理部１６は、TCPACKセグメントを生成又は送信する処理を停止する機能を持つ。
【００４９】
上記のような構成を持つ本実施の形態に係る通信システム１の動作例について以下で説明する。
【００５０】
上述したように、本実施の形態に係る通信装置ＡＰ，ＳＴＡ１〜ＳＴＡ８は、TCPACKセグメントの送受信をWLANACKフレームの送受信で代替させるためのWLAN受信処理部１８、WLAN送信処理部１９、WLANACK解析部２０、WLANDATA解析部２１、TCPACK送信停止処理部２２を具備する。
【００５１】
まず、通信システム１は、親局の通信装置ＡＰと子局の通信装置ＳＴＡ１〜ＳＴＡ８との間で、無線接続を完了する（Association処理を完了する）。この状態で、無線ＬＡＮ通信が可能となる。
【００５２】
次に、通信システム１は、TCP/IP通信を実行するためのTCPコネクションを確立する。TCPコネクションが確立されると、TCP通信が可能となる。
【００５３】
親局の通信装置ＡＰは、TCPDATAセグメントの送信処理を通常の方法で実行する。子局の通信装置ＡＰは、無線ＬＡＮ通信による送信を行うため、TCPDATAセグメントは無線ＬＡＮ通信フレームにカプセル化されて送信されることになる。
【００５４】
子局の通信装置ＳＴＡ１〜ＳＴＡ８は、TCPDATAセグメントを含むWLANDATAフレームを受信した場合、このWLANDATAフレームに対する送達確認情報であるWLANACKフレームを送信する。加えて、この子局の通信装置ＳＴＡ１〜ＳＴＡは、TCPDATAセグメントを含むWLANDATAフレームを受信した場合、TCPACKセグメントの送信を停止する処理を実行する。
【００５５】
すなわち、通常は、TCPDATAセグメントを含む無線ＬＡＮ通信フレームを受信した場合、無線ＬＡＮ通信フレームに対する送達確認フレームが送信され、その後、TCPレイヤにおいて必要に応じてTCPDATAセグメントに対する送達確認セグメントの送信処理が実行されるが、本実施の形態においては、あえてこのTCPDATAセグメントに対する送達確認セグメントの送信処理を停止する。
【００５６】
親局の通信装置ＡＰは、TCPDATAセグメントを含むWLANDATAフレームに対する送達確認情報であるWLANACKフレームを受信した場合、WLANACKフレームにより送達確認がなされたことを示す情報を、TCPレイヤに通知する。
【００５７】
例えば無線環境が悪化した場合などのように、子局の通信装置ＳＴＡ１〜ＳＴＡの少なくとも一つがWLANDATAフレーム、すなわちTCPDATAセグメントを正常に受信できず、WLANACKフレームが親局の通信装置に送信されなかった場合に、その後の親局の通信装置ＡＰと子局の通信装置ＳＴＡ１〜ＳＴＡとによる処理は、既存の技術と同様の処理とすることができる。
【００５８】
また、子局の通信装置ＳＴＡ１〜ＳＴＡは、正常にWLANACKフレームを親局の通信装置ＡＰに対して送信したにも関わらず、親局の通信装置ＡＰがWLANACKフレームを受信できなかった場合の処理も、既存の技術と同様の処理とすることができる。
【００５９】
以下に、従来の通信のシーケンスと、本実施の形態に係る通信のシーケンスとを説明する。
【００６０】
図５は、従来の通信システムで行われる通信と、本実施の形態に係る通信システムで行われる通信とを例示するシーケンス図（NormalACK）である。
【００６１】
AP（TCP/IP）とAP（WLAN）とは、同一の通信装置ＡＰ内で実行される処理である。AP（TCP/IP）は、子局の通信装置ＳＴＡ１〜ＳＴＡ８におけるTCP/IP通信のための処理である。AP（WLAN）は、親局の通信装置ＡＰにおける無線ＬＡＮ通信のための処理である。
【００６２】
同様に、STA（WLAN）とSTA（TCP/IP）とは、同一の通信装置ＳＴＡ１〜ＳＴＡ８内で実行される処理である。STA（WLAN）は、子局の通信装置ＳＴＡ１〜ＳＴＡ８における無線ＬＡＮ通信のための処理である。STA（TCP/IP）は、子局の通信装置ＳＴＡ１〜ＳＴＡ８におけるTCP/IP通信のための処理である。
【００６３】
シーケンスSeqA1は、既存の技術のデータ通信を表している。
【００６４】
まず、AP（TCP/IP）は、AP（WLAN）に、TCPDATAセグメントを与える。AP（WLAN）は、TCPDATAセグメントをカプセル化したWLANDATAフレームをSTA（WLAN）に送信する。
【００６５】
STA（WLAN）は、WLANDATAフレームを受信し、WLANDATAフレームに含まれているTCPDATAセグメントをSTA（TCP/IP）に与えるとともに、受信したWLANDATAフレームに対応するWLANACKフレームをAP（WLAN）に送信する。
【００６６】
なお、このシーケンスSeqA1では、STA（TCP/IP）は、２つのTCPDATAセグメントを受信した場合に、受信したTCPDATAセグメントに対応する送達確認セグメントであるTCPACKセグメントを、STA（WLAN）に与えている。STA（WLAN）は、TCPACKセグメントをカプセル化したWLANDATAフレームをAP（WLAN）に送信する。
【００６７】
AP（WLAN）は、WLANDATAフレームを受信し、WLANDATAフレームに含まれているTCPACKセグメントをAP（TCP/IP）に与えるとともに、受信したWLANDATAフレームに対応するWLANACKフレームをSTA（WLAN）に送信する。
【００６８】
シーケンスSeqA2は、本実施の形態に係る通信システム１において無線区間でフレームロスが発生しない場合のデータ通信を表している。
【００６９】
このフレームロスが発生しないシーケンスSeqA2において、まず、AP（TCP/IP）は、AP（WLAN）に、TCPDATAセグメントを与える。AP（WLAN）は、TCPDATAセグメントをカプセル化したWLANDATAフレームをSTA（WLAN）に送信する。
【００７０】
STA（WLAN）は、WLANDATAフレームを受信し、WLANDATAフレームに含まれているTCPDATAセグメントをSTA（TCP/IP）に与える。
【００７１】
STA（TCP/IP）は、TCPDATAセグメントを受信するが、このTCPDATAセグメントに対応するTCPACKセグメントをSTA（WLAN）に与える処理を停止する。
【００７２】
STA（WLAN）は、受信したWLANDATAフレームに対応するWLANACKフレームをAP（WLAN）に送信する。
【００７３】
AP（WLAN）は、WLANACKフレームを受信下か否か判断し、WLANACKフレームを受信することを条件に、TCPACKセグメントを生成し、この生成されたTCPACKセグメントをAP（TCP/IP）に与える。
【００７４】
シーケンスSeqA3は、本実施の形態に係る通信システム１において無線区間でWLANDATAフレームにロスが発生した場合のデータ通信を表している。
【００７５】
このシーケンスSeqA3において、まず、AP（TCP/IP）は、AP（WLAN）に、TCPDATAセグメントを与える。AP（WLAN）は、TCPDATAセグメントをカプセル化したWLANDATAフレームをSTA（WLAN）に送信するが、途中でフレームロスが発生し、STA（WLAN）は正常にWLANDATAフレームを受信していない。
【００７６】
STA（WLAN）は、WLANDATAフレームを受信しないため、STA（WLAN）がSTA（TCP/IP）へTCPDATAセグメントを与えることもなく、STA（WLAN）が受信したWLANDATAフレームに対応するWLANACKフレームをAP（WLAN）に送信することもない。このため、AP（WLAN）側は、WLANACKフレームを受信しない。
【００７７】
すると、再度、AP（TCP/IP）はAP（WLAN）にTCPDATAセグメントを与え、AP（WLAN）はTCPDATAセグメントをカプセル化したWLANDATAフレームをSTA（WLAN）に再度送信する。
【００７８】
このWLANDATAフレームの再送によって、STA（WLAN）はWLANDATAフレームを受信している。
【００７９】
すると、STA（WLAN）はWLANDATAフレームに含まれているTCPDATAセグメントをSTA（TCP/IP）に与える。STA（TCP/IP）は、TCPDATAセグメントを受信するが、このTCPDATAセグメントに対応するTCPACKセグメントをSTA（WLAN）に与える処理を停止する。
【００８０】
STA（WLAN）は、受信したWLANDATAフレームに対応するWLANACKフレームをAP（WLAN）に送信する。AP（WLAN）は、WLANACKフレームを受信したか否か判断し、WLANACKフレームを受信することを条件に、TCPACKセグメントを生成し、この生成されたTCPACKセグメントをAP（TCP/IP）に与える。
【００８１】
シーケンスSeqA4は、本実施の形態に係る通信システム１において無線区間でWLANACKフレームにロスが発生した場合のデータ通信を表している。
【００８２】
このシーケンスSeqA4において、まず、AP（TCP/IP）は、AP（WLAN）に、TCPDATAセグメントを与える。AP（WLAN）は、TCPDATAセグメントをカプセル化したWLANDATAフレームをSTA（WLAN）に送信する。
【００８３】
STA（WLAN）は、WLANDATAフレームを受信し、WLANDATAフレームに含まれているTCPDATAセグメントをSTA（TCP/IP）に与える。
【００８４】
STA（TCP/IP）は、TCPDATAセグメントを受信するが、このTCPDATAセグメントに対応するTCPACKセグメントをSTA（WLAN）に与える処理を停止する。
【００８５】
STA（WLAN）は、受信したWLANDATAフレームに対応するWLANACKフレームをAP（WLAN）に送信するが、途中でフレームロスが発生し、AP（WLAN）は正常にWLANACKフレームを受信していない。
【００８６】
無線ＬＡＮ通信では、WLANDATAフレームがSTA（WLAN）に受信された場合であっても、WLANDATAフレームの送達確認情報であるWLANACKフレームが不受信となると、AP（TCP/IP）が、再度、AP（WLAN）にTCPDATAセグメントを与え、AP（WLAN）がTCPDATAセグメントをカプセル化したWLANDATAフレームをSTA（WLAN）に再度送信する。
【００８７】
STA（WLAN）は、WLANDATAフレームを再送し、この再度のWLANDATAフレームに含まれているTCPDATAセグメントをSTA（TCP/IP）に与える。
【００８８】
STA（TCP/IP）は、先に送信されたTCPDATAセグメントに加え、再度の送信によって得られた同一のTCPDATAセグメントを受信することになるが、同一セグメントを受信した場合は、一方を破棄する。この場合においても、STA（TCP/IP）は、TCPDATAセグメントに対応するTCPACKセグメントをSTA（WLAN）に与える処理を停止する。
【００８９】
STA（WLAN）は、受信した再度のWLANDATAフレームに対応する再度のWLANACKフレームをAP（WLAN）に送信する。AP（WLAN）は、WLANACKフレームを受信したか否か判断し、WLANACKフレームを受信することを条件に、TCPACKセグメントを生成し、この生成されたTCPACKセグメントをAP（TCP/IP）に与える。
【００９０】
図６は、本実施の形態に係る親局の通信装置ＡＰのWLANフレームの送信処理の一例を示すフローチャートである。
【００９１】
ステップＳ１において、親局の通信装置ＡＰは、TCPDATAセグメントを生成し、シーケンス番号の管理及び送信処理を実行する。
【００９２】
ステップＳ２において、親局の通信装置ＡＰは、IPパケットを生成し、送信処理を実行する。
【００９３】
ステップＳ３において、親局の通信装置ＡＰは、IPパケットがTCPACKセグメントを含むか否かを判断する第１の判断処理を行う。
【００９４】
第１の判断処理の結果が、IPパケットがTCPACKセグメントを含まないことを示す場合には、処理は、ステップＳ６に移る。
【００９５】
第１の判断処理の結果が、IPパケットがTCPACKセグメントを含むことを示す場合、ステップＳ４において、親局の通信装置ＡＰは、ＩＰパケットについて、送信すべきIPパケットか否か判断する第２の判断処理を行う。
【００９６】
第２の判断処理の結果が、送信すべきIPパケットであることを示す場合、処理は、ステップＳ６に移る。
【００９７】
第２の判断の結果が、送信すべきでないIPパケットであることを示す場合、ステップＳ５において、親局の通信装置ＡＰは、パケットの破棄及び送信停止処理を実行し、その後処理は終了する。
【００９８】
ステップＳ６において、親局の通信装置ＡＰは、送信すべきIPパケットについて、TCPシーケンス番号の管理を行い、WLANフレームを生成する。
【００９９】
ステップＳ７において、親局の通信装置ＡＰは、生成されたWLANフレームの送信処理を実行する。
【０１００】
図７は、本実施の形態に係る子局の通信装置ＳＴＡ１〜ＳＴＡ８の処理の一例を示すフローチャートである。
【０１０１】
ステップＴ１において、子局の通信装置ＳＴＡ１〜ＳＴＡ８は、受信したWLANフレームがエラーフレームか否かをチェック（例えばＣＲＣチェックなど）する第１のチェック処理を実行する。
【０１０２】
第１のチェック処理の結果が、エラーフレームであることを示す場合、ステップＴ２において、子局の通信装置ＳＴＡ１〜ＳＴＡ８は、フレーム廃棄処理を実行し、その後処理は終了する。
【０１０３】
第１のチェック処理の結果が、エラーフレームでないことを示す場合、ステップＴ３において、子局の通信装置ＳＴＡ１〜ＳＴＡ８は、NormalACKフレーム期待のフレームか否かチェックする第２のチェック処理を実行する。
【０１０４】
第２のチェック処理の結果が、NormalACKフレーム期待のフレームであることを示す場合、ステップＴ４において、子局の通信装置ＳＴＡ１〜ＳＴＡ８は、NormalACKフレームの送信を行い、処理はステップＴ５に移る。
【０１０５】
第２のチェック処理の結果が、NormalACKフレーム期待のフレームでない場合、処理はステップＴ５に移る。
【０１０６】
ステップＴ５において、子局の通信装置ＳＴＡ１〜ＳＴＡ８は、受信したWLANフレームについて、WLANDATAフレームであるか否かをチェックする（データ系フレーム、制御系フレーム、管理系フレームの種別をチェックする）第３のチェック処理を実行する。
【０１０７】
第３のチェック処理の結果が、WLANDATAフレームでない旨を示す場合、ステップＴ６において、子局の通信装置ＳＴＡ１〜ＳＴＡ８は、フレーム個別の処理を実行し、その後処理は終了する。
【０１０８】
第３のチェック処理の結果が、WLANDATAフレームである旨を示す場合、ステップＴ７において、子局の通信装置ＳＴＡ１〜ＳＴＡ８は、WLANDATAフレームがTCPDATAセグメントを含むか否かチェックする第４のチェック処理を実行する。ここで、第４のチェック処理の結果が、TCPDATAを含まないことを示す場合、処理はステップＴ１１に移る。
【０１０９】
第４のチェック処理の結果が、TCPDATAを含むことを示す場合、ステップＴ８において、子局の通信装置ＳＴＡ１〜ＳＴＡ８は、TCPACK送信を停止するか否か（TCPACKセグメント生成処理を実行するか否か）チェックする第５のチェック処理を実行する。
【０１１０】
第５のチェック処理の結果が、TCPACK送信を停止すること（TCPACKセグメントを作成しないこと）を示す場合、処理は、ステップＴ１１に移る。
【０１１１】
第５のチェック処理の結果が、TCPACK送信を停止しないこと（TCPACKセグメントを作成すること）を示す場合、子局の通信装置ＳＴＡ１〜ＳＴＡ８は、ステップＴ９において、TCPACKセグメントの生成処理を実行し、ステップＴ１０において、WLANACKフレームを生成し、送信処理を実行する。その後処理はステップＴ１１に移る。
【０１１２】
ステップＴ１１において、子局の通信装置ＳＴＡ１〜ＳＴＡ８は、受信したWLANDATAフレームがTCPDATAセグメントを含まない場合、又は、受信したWLANDATAフレームがTCPDATAセグメントを含むがTCPACKセグメントを生成する必要がない場合、通常のIPパケット受信処理を行う。
【０１１３】
ステップＴ１２において、子局の通信装置ＳＴＡ１〜ＳＴＡ８は、TCPACKセグメントの送信が必要か否か判断する。
【０１１４】
TCPACKセグメントの送信が必要な場合に、子局の通信装置ＳＴＡ１〜ＳＴＡ８は、ステップＴ１３において、TCPACKセグメントの生成及び送信処理を実行する。
【０１１５】
TCPACKセグメントの送信が必要でない場合、処理はステップＴ１４に移る。
【０１１６】
そして、ステップＴ１４において、子局の通信装置ＳＴＡ１〜ＳＴＡ８は、TCP受信処理を実行する。
【０１１７】
以上説明した本実施の形態においては、通信装置ＡＰ，ＳＴＡ１〜ＳＴＡ８間でデータを通信する際に、WLAN受信処理部１８、WLAN送信処理部１９、WLANACK解析部２０、WLANDATA解析部２１、TCPACK送信停止部２２を使用することにより、TCPACKセグメントの代用としてWLANACKフレームを使用することができる。
【０１１８】
通常、無線ＬＡＮ通信上でTCP/IP通信を行う場合には、WLANACKフレームとTCPACKセグメントの双方が、送達確認のために子局の通信装置ＳＴＡ１〜ＳＴＡ８から親局の通信装置ＡＰに送信される。
【０１１９】
これに対して、本実施の形態においては、子局の通信装置ＳＴＡ１〜ＳＴＡ８から親局の通信装置ＡＰにデータが正常に転送された旨を示すTCPACKセグメントとWLANACKセグメントとをまとめることにより、効率的なデータ転送を実現することができる。
【０１２０】
本実施の形態においては、TCPACKセグメントを送信しなくても送達確認を行うことが可能であり、TCPACKセグメントの送信処理の削除及び受信処理の簡略化が実現されるため、通信装置ＳＴＡ１〜ＳＴＡ８の内部処理量を低減させることができる。
【０１２１】
また、本実施の形態においては、ソフトウェア処理におけるＣＰＵ使用量及びメモリ使用量を削減させることができ、ハードウェア処理におけるゲート規模の削減を図ることができる。
【０１２２】
さらに、本実施の形態においては、TCPACKセグメントの送信処理がないため、既存技術においてTCPACK送信により占有されていた無線帯域を別の通信に使用することが可能になり、無線帯域を有効活用することができる。
【０１２３】
さらに、本実施の形態においては、TCPレイヤでTCPACK送信停止処理が実行されるため、不要なTCPACKセグメントの生成及び送信処理を省略することができる。また、本実施の形態においては、既存の実装内容に対して少ない修正でTCPACK送信停止処理の実行機能を加えることができるため、容易に実装可能である。
【０１２４】
（第２の実施の形態）
本実施の形態においては、上記第１の実施の形態に係る通信システム１の変形例について説明する。なお、本実施の形態に係る説明については、上記第１の実施の形態と同様の説明は省略し、主に異なる部分について説明する。
【０１２５】
本実施の形態に係る通信システムは、BlockACK機能の使用できる環境で使用され、子局の通信装置から親局の通信装置へ転送される複数の送達確認をまとめる。具体的には、本実施の形態に係る通信システムは、複数のWLANACKフレームと複数のTCPACKセグメントとを一つのBlockACKフレームにまとめて送達確認を行う。
【０１２６】
本実施の形態に係る通信システムは、まず、親局の通信装置と子局の通信装置との間で、無線接続を完了する（Association処理を完了する）。この状態で、無線ＬＡＮ通信が可能となる。さらに、通信システムは、IEEE802.11eやIEEE802.11nなどの機能の一つであるBlockACK機能を使用可能な環境とする。
【０１２７】
次に、通信システムは、TCP/IP通信を実行するためのTCPコネクションを確立する。TCPコネクションが確立されると、TCP通信が可能となる。
【０１２８】
親局の通信装置は、TCPDATAセグメントを通常の方法で送信する。無線ＬＡＮ通信による送信を行うため、TCPDATAセグメントは無線ＬＡＮ通信フレームにカプセル化されて送信されることになる。
【０１２９】
子局の通信装置は、TCPDATAセグメントを含む無線ＬＡＮ通信フレームを受信した場合、この無線ＬＡＮ通信フレームに対する送達確認フレームを送信する。ここで、本実施の形態においては、BlockACK機能を使用しているため、複数のWLANDATAフレームに対する送達確認を、一つのBlockACKフレームを用いて実現する。加えて、この子局の通信装置は、TCPDATAセグメントを含む無線ＬＡＮ通信フレームを受信した場合、TCPACKセグメントの送信を停止する処理を実行する。
【０１３０】
すなわち、通常は、TCPDATAセグメントを含む無線ＬＡＮ通信フレームを受信した場合、無線ＬＡＮ通信フレームに対する送達確認フレームが送信され、その後、TCPレイヤにおいて必要に応じてTCPDATAセグメントに対する送達確認セグメントの送信処理が実行されるが、本実施の形態においては、あえてこのTCPDATAセグメントに対する送達確認セグメントの送信処理を停止する。
【０１３１】
親局の通信装置は、TCPDATAセグメントを含む複数のWLANDATAフレームに対する送達確認情報であるBlockACKフレームを受信した場合、BlockACKフレームにより送達確認がなされたことを示す情報を、TCPレイヤに通知する。
【０１３２】
なお、無線環境が悪化した場合の説明については、上記第１の実施の形態の場合と同様である。
【０１３３】
本実施の形態に係る送達確認の手法は、ＴＣＰとしてＳＡＣＫオプションを使用している場合に対しても有効である。また、BlockACKフレームとしては、いずれの手法（Immediate/Delayed/Compressed）においても適用可能である。
【０１３４】
以下に、従来の通信のシーケンスと、本実施の形態に係る通信のシーケンスとを説明する。
【０１３５】
図８は、従来の通信システムで行われる通信と、本実施の形態に係る通信システムで行われる通信とを例示するシーケンス図である。
【０１３６】
シーケンスSeqB1では、BlockACK機能を用いた通常の技術と同様のデータ通信が行われている。
【０１３７】
まず、AP（TCP/IP）は、AP（WLAN）に、TCPDATAセグメントを与える。AP（WLAN）は、TCPDATAセグメントをカプセル化したWLANDATAフレームをSTA（WLAN）に送信する。
【０１３８】
STA（WLAN）は、WLANDATAフレームを受信し、WLANDATAフレームに含まれているTCPDATAセグメントをSTA（TCP/IP）に与える。
【０１３９】
同様の処理を複数回（この図８の例では２回）実行する。
【０１４０】
このように２つのTCPDATAセグメントを送信した後、AP（WLAN）は、送達確認を求めるためのBlockACK Requestフレームを、STA（WLAN）に送信する。
【０１４１】
STA（WLAN）は、BlockACK Requestフレームを受信すると、２つのWLANDATAフレームを正常に受信した旨を示すBlockACKフレームをAP（WLAN）に送信する。
【０１４２】
このシーケンスSeqB1では、STA（TCP/IP）は、２つのTCPDATAセグメントを正常に受信した場合に、STA（WLAN）に、送達確認セグメントであるTCPACKセグメントを与える。STA（WLAN）は、TCPACKセグメントをカプセル化したWLANDATAフレームをAP（WLAN）に送信する。
【０１４３】
AP（WLAN）は、WLANDATAフレームを受信し、WLANDATAフレームに含まれているTCPACKセグメントをAP（TCP/IP）に与えるとともに、受信したWLANDATAフレームに対応するWLANACKフレームをSTA（WLAN）に送信する。
【０１４４】
シーケンスSeqB2では、本実施の形態に係る通信システムにおいて無線区間でフレームロスが発生しない場合のデータ通信が行われている。
【０１４５】
このフレームロスが発生しないシーケンスSeqB2において、まず、AP（TCP/IP）は、AP（WLAN）に、TCPDATAセグメントを与える。AP（WLAN）は、TCPDATAセグメントをカプセル化したWLANDATAフレームをSTA（WLAN）に送信する。
【０１４６】
STA（WLAN）は、WLANDATAフレームを受信し、WLANDATAフレームに含まれているTCPDATAセグメントをSTA（TCP/IP）に与える。
【０１４７】
同様の処理を複数回（この図８の例では４回）実行する。
【０１４８】
STA（TCP/IP）は、TCPDATAセグメントを受信するが、このTCPDATAセグメントに対応するTCPACKセグメントをSTA（WLAN）に与える処理を停止する（TCPACK送信停止）。
【０１４９】
AP（WLAN）は、それぞれがTCPDATAセグメントを含む４つのWLANDATAフレームを送信した後、送達確認を求めるためのBlockACK Requestフレームを、STA（WLAN）に送信する。
【０１５０】
STA（WLAN）は、BlockACK Requestフレームを受信すると、４つのWLANDATAフレームを正常に受信した旨を示すBlockACKフレームをAP（WLAN）に送信する。
【０１５１】
AP（WLAN）は、BlockACKフレームを受信したか否か判断し、BlockACKフレームを受信することを条件に、送信対象であったTCPDATAセグメントに対応するTCPACKセグメントを生成し、この生成されたTCPACKセグメントをAP（TCP/IP）に与える。
【０１５２】
AP（TCP/IP）は、送信したTCPDATAセグメントに対する送達確認セグメントTCPACKを正常に受信した場合、次のTCPDATAセグメント送信処理に移行する。
【０１５３】
シーケンスSeqB3では、本実施の形態に係る通信システムにおいて無線区間でWLANDATAフレームにロスが発生した場合のデータ通信が行われている。
【０１５４】
このシーケンスSeqB3において、まず、AP（TCP/IP）は、AP（WLAN）に、TCPDATAセグメントを与える。AP（WLAN）は、TCPDATAセグメントをカプセル化したWLANDATAフレームをSTA（WLAN）に送信する。
【０１５５】
同様の処理を複数回（この図８の例では４回）実行する。
【０１５６】
ここで、STA（WLAN）は、いくつかのWLANDATAフレームを受信したが、いくつかのWLANDATAフレームを受信できなかったとする。
【０１５７】
STA（WLAN）は、受信できたWLANDATAフレームに含まれているTCPDATAセグメントをSTA（TCP/IP）に与える。
【０１５８】
STA（TCP/IP）は、STA（TCP/IP）からTCPDATAセグメントを受けるが、このTCPDATAセグメントに対応するTCPACKセグメントをSTA（WLAN）に与える処理を停止するTCPACK送信停止処理を実行する。
【０１５９】
AP（WLAN）は、４つのTCPDATAセグメントを送信した後、送達確認を求めるためのBlockACK Requestフレームを、STA（WLAN）に送信する。
【０１６０】
STA（WLAN）は、BlockACK Requestフレームを受信すると、WLANDATAフレームレベルの送達確認情報（例えば、いずれのWLANDATAフレームを正常に受信し、いずれのWLANDATAフレームを正常に受信しなかったかを旨を示す情報）であるBlockACKフレームをAP（WLAN）に送信する。この図８では、２つのWLANDATAフレームが正常に受信され、２つのWLANDATAフレームが正常に受信されなかった場合を例示している。
【０１６１】
AP（WLAN）は、受信したBlockACKフレームに基づいて、子局の通信装置に正常に受信されたTCPDATAセグメントに対応するTCPACKセグメントを生成し、この生成されたTCPACKセグメントをAP（TCP/IP）に与える。
【０１６２】
すると、AP（TCP/IP）は、再度、子局の通信装置に正常に受信されなかったTCPDATAセグメントを、AP（WLAN）に与えるフレームロス再送処理を実行する。AP（WLAN）は、再度送信されるTCPDATAセグメントをカプセル化したWLANDATAフレームをSTA（WLAN）に送信する。STA（WLAN）は、再送において受信されたWLANDATAフレームに含まれているTCPDATAセグメントをSTA（TCP/IP）に与える。STA（TCP/IP）は、再送によりTCPDATAセグメントを受信するが、このTCPDATAセグメントに対応するTCPACKセグメントをSTA（WLAN）に与える処理を停止するTCPACK送信停止処理を実行する。
【０１６３】
同様の処理を、正常に受信されなかったTCPDATAセグメントの数だけ実行される。
【０１６４】
AP（WLAN）は、正常に受信されなかったTCPDATAセグメントを再送した後、送達確認を求めるためのBlockACK Requestフレームを、STA（WLAN）に送信する。
【０１６５】
STA（WLAN）は、BlockACK Requestフレームを受信すると、再送されたWLANDATAフレームを正常に受信した旨を示すBlockACKフレームをAP（WLAN）に送信する。
【０１６６】
AP（WLAN）は、受信したBlockACKフレームに基づいて、子局の通信装置に再送され正常に受信されたTCPDATAセグメントに対応するTCPACKセグメントを生成し、この生成されたTCPACKセグメントをAP（TCP/IP）に与える。
【０１６７】
以上説明した本実施の形態においては、IEEE802.11eやIEEE802.11nなどに規定されているBlockACKフレームをサポートするために、上記第１の実施の形態で説明したWLAN受信処理部１８、WLAN送信処理部１９、WLANACK解析部２０、WLANDATA解析部２１、TCPACK送信停止部２２の機能を、連続した複数のWLANフレームに対しても処理可能に拡張し、BlockACKフレームを、SACKオプション機能を含むTCPACKセグメントの代用とする。
【０１６８】
これにより、本実施の形態においては、TCPACKセグメントを送信せずに送達確認を行うことができ、TCPACKセグメントを送信する通信端末の処理量を低減させることができる。
【０１６９】
また、本実施の形態においては、TCPACKセグメントが送信されないため、通常の場合と比べて、TCPACKセグメントの送信のために占有されていた無線帯域を別の通信に使用することが可能となり、無線帯域を有効に活用することができる。
【０１７０】
（第３の実施の形態）
本実施の形態においては、上記第１及び第２の実施の形態の変形例について説明する。
【０１７１】
上記第１及び第２の実施の形態に係る通信システムにおいては、子局の通信装置がTCPACKセグメントの送信を停止する処理を行っている。
【０１７２】
しかしながら、このような上記第１及び第２の実施の形態におけるTCPACKセグメントの送信停止処理に代えて、本実施の形態においては、子局の通信装置から親局の通信装置に送信されるWLANDATAフレーム又はBlockACKフレームを拡張し、子局の通信装置は、TCPACKセグメントをWLANDATAフレーム又はBlockACKフレームに載せて、親局の通信装置に送信する。
【０１７３】
すなわち、本実施の形態においては、WLANACKフレーム又はBlockACKフレームの送受信処理を、TCPACKセグメントの送受信処理の代用とする際に、WLANACKフレーム又はBlockACKフレーム内にTCOACKセグメントの情報を付加した状態で送信が行われる。
【０１７４】
このような本実施の形態においては、上記第１及び第２の実施の形態のようにTCPACKセグメントの送信を停止する場合と比べて、WLANDATAフレーム又はBlockACKフレームのフレーム長が、このWLANDATAフレーム又はBlockACKフレームに付加されるTCPACKセグメントの分だけ増加するが、TCPACKセグメント一つをフレームとして送信する通常の場合と比べると、通信されるデータの容量や無線帯域を低減でき、ネットワーク資源を有効活用することができる。
【０１７５】
（第４の実施の形態）
本実施の形態においては、上記第１乃至第３の実施の形態に係る通信システムの変形例について説明する。なお、以下においては、上記第２の実施の形態の変形例に説明するが、上記第１又は第３の実施の形態に対しても同様の変形が可能である。
【０１７６】
上記第２の実施の形態においては、TCPACKセグメントの送信停止処理を実行しているが、本実施の形態においては、このTCPACKセグメントの送信停止処理に代えて、TCPACKセグメントの送信を一時停止する処理を実行し、WLANDATAフレームが正常に受信されなかった場合に、子局の通信装置から親局の通信装置に、TCPACKを送信する。
【０１７７】
図９は、本実施の形態に係る通信システムで行われる通信の一例を示すシーケンス図である。
【０１７８】
この図９に示すシーケンスSeqC1においては、親局の通信装置から子局の通信装置に対して、TCPDATAセグメントをカプセル化したWLANDATAフレームが送信される。複数のWLANDATAフレーム（この図９では４つ）のうちいくつかのWLANDATAフレーム（この図９では２つ）が子局の通信装置に正常に受信されず、いくつかのWLANDATAフレーム（この図９では２つ）が子局の通信装置に正常に受信されたとする。
【０１７９】
子局の通信装置においては、受信したWLANDATAフレームにカプセル化されているTCPDATAセグメントに対応するTCPACKセグメントの送信を一時停止する。
【０１８０】
また、親局の通信装置から子局の通信装置に対して、BlockACK Requestフレームが送信される。すると、子局の通信装置は、親局の通信装置に、正常に受信したWLANDATAフレームの送達確認情報として、BlockACKフレームを送信する。
【０１８１】
親局の通信装置は、BlockACKフレームに基づいて、子局の通信装置に正常に受信されたTCPDATAセグメントに対応するTCPACKセグメントの受信処理（TCPACKセグメントの生成など）を実行する。
【０１８２】
さらに、親局の通信装置は、子局の通信装置に正常に受信されなかったTCPDATAセグメントの再送処理を実行する。
【０１８３】
再送の結果、子局の通信装置が再送されたWLANDATAフレームにカプセル化されているTCPDATAセグメントを正常に受信した場合、子局の通信装置は、TCPACKセグメントの送信一時停止処理を実行する。なお、この図９の例では、再送においても正常に子局の通信装置がWLANDATAフレームを受信できなかったとする。
【０１８４】
親局の通信装置から子局の通信装置に対して、BlockACK Requestフレームが送信される。すると、子局の通信装置は、親局の通信装置に、送達確認情報として、BlockACKフレームを送信する。親局の通信装置は、BlockACKフレームに基づいて、再送されたTCPDATAセグメントが正常に子局の通信装置に受信されていれば、この再送により正常に受信されたTCPDATAセグメントに対応するTCPACKセグメントの受信処理を実行する。
【０１８５】
所定の回数再送処理を実行したが、子局の通信装置がWLANDATAフレームにカプセル化されているTCPDATAセグメントを正常に受信できない場合、通信システムは、WLANフレームレベルの再送処理を終了する。この場合、親局の通信装置のTCP処理では、ＴＣＰのWindowサイズ分の送信は可能であるが、このWindowサイズを超えるサイズについてはTCPACKセグメント待ちとなり、送信できない状態となる。
【０１８６】
そこで、本実施の形態においては、通信システムでWLANフレームレベルの再送処理が終了された場合、子局の通信装置は、ある時間経過後に、TCPACKセグメントを発生し、TCPACKセグメントをカプセル化したWLANDATAフレームを親局の通信装置に送信する。
【０１８７】
親局の通信装置は、TCPACKセグメントがカプセル化されているWLANDATAフレームを受信し、このTCPACKセグメントの受信により、Windowサイズを超えるサイズについても送信可能となる。
【０１８８】
その後には、同様の処理が繰り返される。
【０１８９】
以上説明した本実施の形態においては、再送を行ってもフレームロスが発生する場合に、子局の通信装置から親局の通信装置にTCPACKセグメントをカプセル化したWLANDATAフレームを送信する。これにより、ＴＣＰのWindowサイズを超えるサイズについてのTCPACKセグメント待ちを解消することができる。
【０１９０】
本実施の形態においては、例えば、親局の通信装置から子局の通信装置へのコンテンツのストリーミング配信などにおいて、配信が中断されることを防止することができる。
【０１９１】
（第５の実施の形態）
本実施の形態においては、上記第４の実施の形態に係る通信システムの変形例について説明する。
【０１９２】
上記第４の実施の形態においては、親局の通信装置から子局の通信装置に送信されるWLANフレームにフレームロスが発生した場合について説明しているが、本実施の形態においては、子局の通信装置から親局の通信装置に送信されるBlockACKフレームにフレームロスが発生した場合について説明する。
【０１９３】
図１０は、本実施の形態に係る通信システムで行われる通信の一例を示すシーケンス図である。
【０１９４】
シーケンスSeqD1においては、親局の通信装置から子局の通信装置に対して、TCPDATAセグメントをカプセル化したWLANDATAフレームが送信される。複数のWLANDATAフレーム（この図１０では２つ）が子局の通信装置に正常に受信されている。子局の通信装置は、受信したWLANDATAフレームにカプセル化されているTCPDATAセグメントを受信した場合に、TCPACKセグメントの送信を一時停止する処理を実行する。
【０１９５】
次に、親局の通信装置は、子局の通信装置に、BlockACK Requestフレームを送信する。すると、子局の通信装置は、親局の通信装置に対して、送達確認情報であるBlockACKフレームを送信する。
【０１９６】
しかしながら、子局の通信装置から送信されたBlockACKフレームは、親局の通信装置に受信されていない。
【０１９７】
このため、親局の通信装置は、TCPDATAセグメントをカプセル化したWLANDATAフレームを子局の通信装置に再送し、さらに、再送に対応するBlockACK Requestフレームを子局の通信装置に送信する。
【０１９８】
子局の通信装置は、再送に対応するBlockACK Requestフレームを受信する。そして、子局の通信装置は、この受信したBlockACK Requestフレームに対応するBlockACKフレームを親局の通信装置に送信する処理、及びTCPACKセグメントの一時停止処理を実行する。
【０１９９】
シーケンスSeqD2においては、親局の通信装置から子局の通信装置に対して、TCPDATAセグメントをカプセル化したWLANDATAフレームが送信される。複数のWLANDATAフレーム（この図１０では２つ）が子局の通信装置に正常に受信されている。子局の通信装置は、受信したWLANDATAフレームにカプセル化されているTCPDATAセグメントを受信した場合に、TCPACKセグメントの送信を一時停止する処理を実行する。
【０２００】
次に、親局の通信装置は、子局の通信装置に、BlockACK Requestフレームを送信する。すると、子局の通信装置は、親局の通信装置に対して、送達確認情報であるBlockACKフレームを送信する。
【０２０１】
しかしながら、子局の通信装置から送信されたBlockACKフレームは、親局の通信装置に受信されていない。
【０２０２】
このため、親局の通信装置は、TCPDATAセグメントをカプセル化したWLANDATAフレームを子局の通信装置に再送するが、この再送においても、子局の通信装置から送信されたBlockACKフレームにフレームロスが発生している。
【０２０３】
所定の回数再送処理を実行したが、親局の通信装置がBlockACKフレームを正常に受信できない場合、通信システムは、WLANフレームレベルの再送処理を終了する。
【０２０４】
この場合、子局の通信装置は、ある時間経過後に、TCPACKセグメントを発生し、TCPACKをカプセル化したWLANDATAフレームを親局の通信装置に送信する。
【０２０５】
親局の通信装置は、TCPACKセグメントがカプセル化されているWLANDATAフレームを受信し、このTCPACKセグメントの受信により、次のTCPACKセグメントの送信処理を実行可能となる。
【０２０６】
本実施の形態においては、上記第４の実施の形態と同様の効果を得ることができ、例えば、親局の通信装置から子局の通信装置へのコンテンツのストリーミング配信などにおいて、配信が中断されることを防止することができる。
【０２０７】
（第６の実施の形態）
本実施の形態においては、上記第１乃至第５の実施の形態の変形例について説明する。
【０２０８】
上記第１乃至第５の実施の形態においては、TCP/IPソフトウェア処理部においてTCPACK送信停止処理（TCPACKセグメントの送信を一時停止する処理も含む）が実行されている。
【０２０９】
これに対して、本実施の形態においては、WLANソフトウェア処理部においてTCPACK送信停止処理が実行される。
【０２１０】
図１１は、本実施の形態に係る子局の通信装置のソフトウェアの一例を示すブロック図である。
【０２１１】
本実施の形態において、ソフトウェア処理部２３は、TCP/IPソフトウェア処理部２４とWLANソフトウェア処理部２５とを具備する。
【０２１２】
WLANソフトウェア処理部２５の例えばWLANDATA解析部２６は、上記図４のTCPACK送信処理部２２を具備する。
【０２１３】
TCP/IPソフトウェア処理部２４は、通常の場合と同様に受信したTCPDATAセグメントに対応するTCPACKセグメントを生成し、WLANソフトウェア処理部２５に与える。しかしながら、WLANレイヤの例えばWLANDATA解析部２６によって、TCPACKセグメントの送信は停止される。
【０２１４】
以上のような本実施の形態に係る子局の通信装置においては、WLANレイヤにてTCPACK送信停止処理が実行される。これにより、上記第１乃至第５の実施の形態と同様の効果を得ることができる。さらに、本実施の形態においては、通常のWLAN部分のみを変更すればよく、TCP/IPソフトウェア処理部２４については通常と同じ状態で使用することができる。
【図面の簡単な説明】
【０２１５】
【図１】本発明の第１の実施の形態に係る通信システムの一例を示すシステム構成図。
【図２】第１の実施の形態に係る通信装置のハードウェア構成の一例を示すブロック図。
【図３】第１の実施の形態に係る親局の通信装置のソフトウェアの一例を示すブロック図。
【図４】第１の実施の形態に係る子局の通信装置のソフトウェアの一例を示すブロック図。
【図５】従来の通信システムで行われる通信と、第１の実施の形態に係る通信システムで行われる通信とを例示するシーケンス図。
【図６】第１の実施の形態に係る親局の通信装置の処理の一例を示すフローチャート。
【図７】第１の実施の形態に係る子局の通信装置の処理の一例を示すフローチャート。
【図８】従来の通信システムで行われる通信と、本発明の第２の実施の形態に係る通信システムで行われる通信とを例示するシーケンス図。
【図９】本発明の第４の実施の形態に係る通信システムで行われる通信の一例を示すシーケンス図。
【図１０】本発明の第５の実施の形態に係る通信システムで行われる通信の一例を示すシーケンス図。
【図１１】本発明の第６の実施の形態に係る子局の通信装置のソフトウェアの一例を示すブロック図。
【符号の説明】
【０２１６】
１…通信システム、ＡＰ…親局の通信装置、ＳＴＡ１〜ＳＴＡ８…子局の通信装置、２…コンピュータ、３，１０…記憶装置、４…無線ＬＡＮベースバンドチップ、５…無線部、６…アンテナ部、７，８…ＰＣＩＣ、９…ＭＥＭＣ、１１…ＣＰＵ、１２…ＭＡＣ、１３…ＰＨＹ、１４…ＲＦチップ、２７，２３…ソフトウェア処理部、１５…ハードウェア処理部、１６，２４…TCP/IPソフトウェア処理部、１７，２５…WLANソフトウェア処理部、１８…WLAN受信処理部、１９…WLAN送信処理部、２０…WLANACK解析部、２１，２６…WLANDATA解析部、２２…TCPACK送信処理部
【図１】
0005058072.tif 000002
【図２】
0005058072.tif 000003
【図３】
0005058072.tif 000004
【図４】
0005058072.tif 000005
【図５】
0005058072.tif 000006
【図６】
0005058072.tif 000007
【図７】
0005058072.tif 000008
【図８】
0005058072.tif 000009
【図９】
0005058072.tif 000010
【図１０】
0005058072.tif 000011
【図１１】
0005058072.tif 000012