(57)【要約】【課題】受信パケットを低遅延で効率良く上位層に転送すること。【解決手段】パケットを受信する受信部と、２以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信する応答送信部と、エラーが発生していないパケットを上位層へと転送するパケット転送部と、前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するエラー訂正部と、を備え、前記応答送信部は、前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、通信装置が提供される。【選択図】図１１
2013026820.tif 000002
【特許請求の範囲】
【請求項１】
パケットを受信する受信部と、
２以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信する応答送信部と、
エラーが発生していないパケットを上位層へと転送するパケット転送部と、
前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するエラー訂正部と、
を備え、
前記応答送信部は、
前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、
通信装置。
【請求項２】
前記応答送信部は、
前記上位層から低遅延処理を要求されていない場合、前記パケット群の中でエラーが発生した全てのパケットに関する情報を含む応答パケットを送信し、
前記上位層から低遅延処理を要求されている場合、前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、
請求項１に記載の通信装置。
【請求項３】
前記応答送信部は、前記エラー訂正部による復元処理の完了後、前記エラー訂正部によるデータの復元に成功したパケットを再送しないように要求する情報を前記応答パケットに含めて送信側へと送信する、
請求項１に記載の通信装置。
【請求項４】
前記エラー訂正部によりデータが復元されたパケットと同じ内容のパケットが前記送信側から再送された場合に、当該パケットを破棄する重複パケット破棄部をさらに備える、
請求項１に記載の通信装置。
【請求項５】
前記低遅延処理の要求は、ユーザ操作に応じて前記上位層により発行される、
請求項２に記載の通信装置。
【請求項６】
前記低遅延処理の要求は、前記送信側から送信された所定の要求メッセージに応じて前記上位層により発行される、
請求項２に記載の通信装置。
【請求項７】
前記所定の要求メッセージは、前記上位層において読み出されるデータパケット内に格納して送信される、
請求項６に記載の通信装置。
【請求項８】
前記低遅延処理の要求は、前記送信側から送信されるパケットのヘッダ情報に基づいて低遅延処理が必要と判断された場合に前記上位層により発行される、
請求項２に記載の通信装置。
【請求項９】
受信されたパケットのうち、エラーが発生していないパケットを上位層へと転送するステップと、
前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するステップと、
２以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信するステップと、
を含み、
前記送信するステップは、
前記パケット群の中でエラーが発生していないパケットのうち、最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信するステップである、
通信方法。
【請求項１０】
パケットを送信する送信部と、
受信装置から受信した応答パケットに含まれる情報に基づき、エラーが発生したパケットを前記送信部に再送させる再送制御部と、
を有する、送信装置と；
パケットを受信する受信部と、
２以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信する応答送信部と、
エラーが発生していないパケットを上位層へと転送するパケット転送部と、
前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するエラー訂正部と、
を有する、受信装置と；
を含み、
前記応答送信部は、
前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、
通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、通信装置、通信方法、及び通信システムに関する。
【背景技術】
【０００２】
ＩＥＥＥ８０２．１１規格には、データの無線伝送を高速化するための様々な技術が盛り込まれている。その１つに、パケットアグリゲーションと呼ばれる技術がある。この技術は、複数のデータパケットを結合して伝送する技術である。また、パケットアグリゲーションと共に用いられる技術として、ブロックＡＣＫと呼ばれる技術がある。この技術は、複数のデータを受信したタイミングで、受信した各データに対するＡＣＫで構成されるブロックＡＣＫを送信側に返すというものである。パケットアグリゲーションと共に用いる場合、ブロックＡＣＫは、結合したデータパケットを受信する度に送信側へと返されることになる。パケットアグリゲーション及びブロックＡＣＫの仕組みについては、例えば、下記の特許文献１にも記載がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２７８５４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
パケットアグリゲーション及びブロックＡＣＫの仕組みを用いると、ＩＦＳ（Ｉｎｔｅｒ  Ｆｒａｍｅ  Ｓｐａｃｅ）などの待ち時間やアクセス制御に要する時間などの発生頻度を低減することが可能になり、スループットが向上する。しかし、複数のデータパケットを受信したタイミングでブロックＡＣＫが返る仕組みのため、途中でデータパケットの欠損が生じても、欠損が発生したタイミングで欠損パケットの再送が行われず、データパケットの受信順序が乱れてしまう。そのため、データパケットが上位層に転送される前に、ＭＡＣ層においてデータパケットの順序制御処理（以下、リオーダ処理）が行われる。
【０００５】
しかしながら、上位層のアプリケーションが許容する遅延時間が短い場合、リオーダ処理によって生じる遅延により、アプリケーションにより許容されないデータパケットの発生が懸念される。つまり、リオーダ処理を実行している間にデータパケットの有効期限が切れてしまう可能性がある。そこで、本技術は、上記のような事情を受けて考案されたものであり、ブロックＡＣＫと同等の仕組みを適用しつつ、データパケットを低遅延で効率良く上位層に転送することが可能な、新規かつ改良された通信装置、通信方法、及び通信システムを提供することを意図している。
【課題を解決するための手段】
【０００６】
本技術のある観点によれば、パケットを受信する受信部と、２以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信する応答送信部と、エラーが発生していないパケットを上位層へと転送するパケット転送部と、前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するエラー訂正部と、を備え、前記応答送信部は、前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、通信装置が提供される。
【０００７】
また、本技術の別の観点によれば、受信されたパケットのうち、エラーが発生していないパケットを上位層へと転送するステップと、前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するステップと、２以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信するステップと、を含み、前記送信するステップは、前記パケット群の中でエラーが発生していないパケットのうち、最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信するステップである、通信方法が提供される。
【０００８】
また、本技術の別の観点によれば、パケットを送信する送信部と、受信装置から受信した応答パケットに含まれる情報に基づき、エラーが発生したパケットを前記送信部に再送させる再送制御部と、を有する、送信装置と；パケットを受信する受信部と、２以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信する応答送信部と、エラーが発生していないパケットを上位層へと転送するパケット転送部と、前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するエラー訂正部と、を有する、受信装置と；を含み、前記応答送信部は、前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、通信システムが提供される。
【発明の効果】
【０００９】
以上説明したように本技術によれば、ブロックＡＣＫと同等の仕組みを適用しつつ、データパケットを低遅延で効率良く上位層に転送することが可能になる。
【図面の簡単な説明】
【００１０】
【図１】通信システムのシステム構成例について説明するための説明図である。
【図２】高速化技術について説明するための説明図である。
【図３】高速化技術について説明するための説明図である。
【図４】高速化技術について説明するための説明図である。
【図５】高速化技術について説明するための説明図である。
【図６】高速化技術について説明するための説明図である。
【図７Ａ】高速化技術について説明するための説明図である。
【図７Ｂ】高速化技術について説明するための説明図である。
【図８】高速化技術を適用する場合に用いる再送制御方法の一例について説明するための説明図である。
【図９】高速化技術を適用する場合に利用可能な再送制御方法の一例について説明するための説明図である。
【図１０】高速化技術を適用する場合に利用可能な再送制御方法の一例について説明するための説明図である。
【図１１】高速化技術を適用する場合に利用可能な再送制御方法の一例について説明するための説明図である。
【図１２】本実施形態に係る送信装置の構成について説明するための説明図である。
【図１３】本実施形態に係る受信装置の構成について説明するための説明図である。
【図１４】本実施形態に係る送信装置及び受信装置が実行する処理シーケンスの全体的な構成について説明するための説明図である。
【図１５】本実施形態に係る送信装置及び受信装置が実行する処理シーケンスの構成について説明するための説明図である。
【図１６】本実施形態に係る送信装置及び受信装置が実行する処理シーケンスの構成について説明するための説明図である。
【図１７】本実施形態に係る送信装置及び受信装置が実行する処理シーケンスの構成について説明するための説明図である。
【図１８】本実施形態に係る送信装置及び受信装置が実行する処理シーケンスの構成について説明するための説明図である。
【図１９】本実施形態に係る送信装置及び受信装置が実行する処理シーケンスの構成について説明するための説明図である。
【図２０】本実施形態に係る送信装置及び受信装置が実行する処理シーケンスの構成について説明するための説明図である。
【図２１】本実施形態に係る送信装置及び受信装置が実行する処理シーケンスの構成について説明するための説明図である。
【図２２】消失訂正による欠損データの復元方法について説明するための説明図である。
【図２３】低遅延処理を要求する際にユーザが利用するユーザインターフェースの一例を示した説明図である。
【図２４】低遅延処理を送信側から要求する際に利用可能な８０２．１１  Ｍａｎｅｇｅｍｅｎｔ  Ａｃｔｉｏｎフレームの構成例を示した説明図である。
【図２５】低遅延処理を送信側から要求する際に利用可能な８０２．１１  Ｄａｔａフレームの構成例を示した説明図である。
【図２６】低遅延処理を送信側から要求する際に利用可能な８０２．１１  Ｄａｔａフレームの構成例を示した説明図である。
【図２７】低遅延処理を送信側から要求する際に利用可能な８０２．１１  Ｄａｔａフレームの構成例を示した説明図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照しながら、本技術に係る好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１２】
［説明の流れについて］
ここで、以下に記載する説明の流れについて簡単に述べる。
【００１３】
まず、図１を参照しながら、通信システム１０の構成例について説明する。次いで、図２〜図１１を参照しながら、通信システム１０に適用可能な高速化技術について説明する。この中で、本実施形態の概要についても簡単に説明する。次いで、図１２及び図１３を参照しながら、本実施形態に係る通信システム１０を構成する送信装置１１及び受信装置１２の構成例について説明する。次いで、図１４〜図２７を参照しながら、本実施形態に係る通信方法及び通信制御方法について説明する。最後に、本実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
【００１４】
（説明項目）
１：はじめに
１−１：パケットアグリゲーションを利用した高速化技術について
１−１−１：通信システム１０の構成
１−１−２：パケットアグリゲーションの概要
１−１−３：送信側ＭＡＣ層におけるデータ処理について
１−１−４：ブロックＡＣＫの仕組み
１−２：高速化技術を適用する場合の再送制御について
１−２−１：許容可能な遅延時間が長いケース
１−２−２：許容可能な遅延時間が短いケース
１−２−３：リオーダ処理の無効化
１−２−４：本実施形態の概要
２：実施形態
２−１：装置構成
２−１−１：送信装置１１（ＡＰ）の構成
２−１−２：受信装置１２（ＳＴＡ）の構成
２−２：シーケンス
２−２−１：全体的な処理フロー
２−２−２：低遅延要求がある場合の処理フロー
２−２−３：（補遺）欠損データの復元方法
２−３：低遅延要求の通知方法
２−３−１：ユーザ操作による低遅延要求の通知
２−３−２：メッセージングを利用した低遅延要求の通知
２−３−３：ヘッダ情報を利用した低遅延要求の通知
３：まとめ
【００１５】
＜１：はじめに＞
本実施形態に係る技術について詳細に説明するに先立ち、当該技術に関連するデータ伝送方法について簡単に紹介する。具体的には、パケットアグリゲーションを利用したデータ伝送の高速化技術、及び当該高速化技術を適用する場合に利用可能な再送制御技術について紹介する。また、本実施形態に係る技術の概要についても説明する。
【００１６】
［１−１：パケットアグリゲーションを利用した高速化技術について］
はじめに、パケットアグリゲーションを利用したデータ伝送の高速化技術について説明する。ここではＩＥＥＥ８０２．１１ｎ規格で規定されているパケットアグリゲーション及びブロックＡＣＫの仕組みについて説明する。なお、本実施形態に係る技術の適用範囲がこれらの技術に限定されるわけではない点に注意されたい。
【００１７】
（１−１−１：通信システム１０の構成）
まず、図１を参照しながら、以下の説明において想定するシステム構成例（通信システム１０）について説明する。図１は、通信システム１０の構成を示した説明図である。
【００１８】
図１に示すように、通信システム１０は、主に、送信装置１１と、受信装置１２とにより構成される。例えば、送信装置１１は、アクセスポイント（ＡＰ）として機能する。また、受信装置１２は、ステーション（ＳＴＡ）として機能する。この例において、送信装置１１は、通信網５に接続されている。そのため、送信装置１１は、通信網５を介して通信システム１０の外部に存在する通信装置と通信することが可能である。例えば、送信装置１１は、通信網５を介して、受信装置１２に送信すべきデータを受信する。また、送信装置１１は、通信網５を介して、受信装置１２から受信したデータを外部の通信装置に送信する。
【００１９】
また、送信装置１１は、受信装置１２へとデータを無線伝送することが可能である。例えば、送信装置１１は、通信網５を介して受信したデータを受信装置１２に無線伝送する。逆に、受信装置１２は、ＡＣＫなどのデータを送信装置１１へと無線伝送することが可能である。なお、以下では、説明の都合上、送信装置１１から受信装置１２へとデータを無線伝送する下りリンクの無線伝送を考えるが、上りリンク、ダイレクトリンク、アドホックネットワークなどの無線伝送についても後述する技術を同様に適用可能である。
【００２０】
また、ＡＰ−ＳＴＡ間の無線伝送を例に挙げるが、送信装置１１及び受信装置１２は、どのような装置形態であってもよい。適用可能な装置形態としては、例えば、携帯電話、情報端末、ゲーム機、テレビジョン受像機、録画再生装置、映像機器、撮像装置、カーナビゲーションシステム、情報家電などが考えられる。また、以下では無線伝送を意識して説明を進めるが、有線によるデータ伝送についても後述する技術を同様に適用することが可能である。このように、通信システム１０のシステム構成は実施の態様に応じて適宜変形することが可能である。但し、以下の説明においては、技術内容の理解をより容易にすべくＡＰ−ＳＴＡ間の無線伝送を念頭において説明を進めることにする。
【００２１】
以上、通信システム１０のシステム構成例について説明した。
【００２２】
（１−１−２：パケットアグリゲーションの概要）
次に、図２を参照しながら、パケットアグリゲーションの概要について説明する。図２は、パケットアグリゲーションの概要について説明するための説明図である。なお、図２に示した伝送方式Ａの図は、パケットアグリゲーションを行わない一般的なデータ伝送方式の仕組みを示したものである。一方、図２に示した伝送方式Ｂの図は、パケットアグリゲーションを行うデータ伝送方式の仕組みを示したものである。
【００２３】
例えば、データ＃１〜＃３を伝送するケースについて考えてみよう。伝送方式Ａの場合、データ＃１〜＃３は、１つ１つ個別に伝送される。そのため、各データの送信前後に、アクセス制御信号の受信期間、ＳＩＦＳ（Ｓｈｏｒｔ  Ｉｎｔｅｒ  Ｆｒａｍｅ  Ｓｐａｃｅ）、及び応答信号の受信期間が必要になる。つまり、データ＃１〜＃３を送信する際には、アクセス制御信号の受信期間、ＳＩＦＳ、及び応答信号の受信期間が３回生じる。一方、伝送方式Ｂの場合、データ＃１〜＃３は纏めて送信される。そのため、アクセス制御信号の受信期間、ＳＩＦＳ、及び応答信号の受信期間は１回しか生じない。その結果、図２に示すように、オーバーヘッドが削減され、伝送効率が向上する。
【００２４】
以上、パケットアグリゲーションの概要について説明した。上記のように、パケットアグリゲーションを適用すると、アクセス制御や応答信号の受信などに要する時間が短縮され、データの伝送効率を向上させることが可能になる。
【００２５】
（１−１−３：送信側ＭＡＣ層におけるデータ処理について）
次に、図３〜図５を参照しながら、パケットアグリゲーションを適用する場合の送信側ＭＡＣ層におけるデータ処理について説明する。図３〜図５は、パケットアグリゲーションを適用する場合の送信側ＭＡＣ層におけるデータ処理について説明するための説明図である。なお、送信側ＭＡＣ層とは、送信装置１１が有するＭＡＣ層の機能を言う。
【００２６】
図３に示すように、上位層からＭＡＣ層へとデータが転送されると、送信側ＭＡＣ層は、ＭＳＤＵアグリゲーションを実行する（Ｓ１１）。但し、ＭＳＤＵは、ＭＡＣ  Ｓｅｒｖｉｃｅ  Ｄａｔａ  Ｕｎｉｔの略である。このとき、送信側ＭＡＣ層は、図４に示すように、サブフレームヘッダ、ＭＳＤＵ、パディングで構成されるＡ−ＭＳＤＵサブフレームを複数結合してＡ−ＭＳＤＵを生成する。このＡ−ＭＳＤＵは、ＭＰＤＵのフレーム本体フィールドに格納される。但し、Ａ−ＭＳＤＵは、Ａｇｇｒｅｇａｔｉｏｎ  ＭＳＤＵの略である。また、ＭＰＤＵは、ＭＡＣ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔの略である。
【００２７】
再び図３を参照する。ＭＳＤＵアグリゲーションを実行した後、送信側ＭＡＣ層は、生成したＡ−ＭＳＤＵにシーケンス番号を付与してＭＰＤＵを生成する（Ｓ１２）。次いで、送信側ＭＡＣ層は、ＭＳＤＵを暗号化する（Ｓ１３）。次いで、送信側ＭＡＣ層は、フラグメンテーションを実行する（Ｓ１４）。フラグメンテーションとは、送信するフレームのサイズが大きい場合にフレームを分割して送信単位を小さくする処理を言う。フラグメンテーションを実行した後、送信側ＭＡＣ層は、ＭＰＤＵを暗号化する（Ｓ１５）。次いで、送信側ＭＡＣ層は、ヘッダ及びＦＣＳを付加する（Ｓ１６）。但し、ＦＣＳは、Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅの略である。
【００２８】
ヘッダ及びＦＣＳを付加した後、送信側ＭＡＣ層は、ＭＰＤＵアグリゲーションを実行してＡ−ＭＰＤＵを生成する（Ｓ１７）。このとき、送信側ＭＡＣ層は、図５に示すように、ＭＰＤＵデリミタ、ＭＰＤＵ、パディングで構成されるＡ−ＭＰＤＵサブフレームを複数結合してＡ−ＭＰＤＵを生成する。但し、このＡ−ＭＰＤＵは、Ａｇｇｒｅｇａｔｉｏｎ  ＭＡＣ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔｏの略である。また、上記のＭＰＤＵデリミタは、Ａ−ＭＰＤＵサブフレームの境界を示すフィールドである。このように、送信側ＭＡＣ層において生成されたＡ−ＭＰＤＵは、物理層へと転送される。
【００２９】
以上、パケットアグリゲーションを適用する場合の送信側ＭＡＣ層におけるデータ処理について説明した。なお、受信側ＭＡＣ層においては、上記の逆処理が実行され、個々のＭＳＤＵが取り出される。なお、ステップＳ１１〜Ｓ１５の処理は省略してもよい。
【００３０】
（１−１−４：ブロックＡＣＫの仕組み）
次に、図６及び図７を参照しながら、ブロックＡＣＫの仕組みについて説明する。図６及び図７は、ブロックＡＣＫの仕組みについて説明するための説明図である。一般的な伝送方式の場合、１つのデータに対する応答は、１つのＡＣＫを用いて行われる。しかし、図２を参照しながら説明したように、１つ１つのデータに対して応答を返していると、オーバーヘッドが大きくなり、高い伝送効率を達成することが難しくなる。こうした事情から、図６に示すように、複数のデータを受信したタイミングで、これら複数のデータに対する応答を纏めたブロックＡＣＫを返すようにする仕組みが考案された。
【００３１】
図６は、ＩＥＥＥ８０２．１１ｅ規格で採用されているブロックＡＣＫの仕組み（以下、８０２．１１ｅ型）を模式的に示したものである。ＩＥＥＥ８０２．１１ｅ規格ではパケットアグリゲーションの仕組みが導入されていないため、複数のデータが結合されずに順次伝送される。しかし、これら複数のデータに対する応答は、１つのブロックＡＣＫを用いて行われる。図６の例では、Ｎ個のデータが送信側から受信側へと伝送されたタイミングで送信側からブロックＡＣＫリクエストが送信されている。そして、このブロックＡＣＫリクエストに応じて受信側から送信側へとブロックＡＣＫが返される。このような仕組みを適用すると、応答に要する時間が短縮される分だけ伝送効率が向上する。
【００３２】
一方、図７Ａ及びＢは、ＩＥＥＥ８０２．１１ｎ規格で採用されているブロックＡＣＫの仕組み（以下、８０２．１１ｎ型）を模式的に示したものである。ＩＥＥＥ８０２．１１ｎ規格ではパケットアグリゲーションの仕組みが導入されているため、複数のデータが結合されて伝送される。そして、複数のデータを結合したＡ−ＭＰＤＵに対する応答は、１つのブロックＡＣＫを用いて行われる。図７Ａに示すように、Ａ−ＭＰＤＵが送信側から受信側へと伝送されたタイミングで送信側からブロックＡＣＫリクエストが送信され、このブロックＡＣＫリクエストに応じて受信側から送信側へとブロックＡＣＫが返される。或いは、図７Ｂに示すように、Ａ−ＭＰＤＵが送信側から受信側へと伝送され、このＡ−ＭＰＤＵに応じて受信側から送信側へとブロックＡＣＫが返される。このような仕組みを適用すると、応答に要する時間が短縮される分だけ伝送効率が向上する。
【００３３】
以上、ブロックＡＣＫの仕組みについて説明した。
【００３４】
［１−２：高速化技術を適用する場合の再送制御について］
上記の高速化技術を適用すると伝送効率を高めることができる。但し、ブロックＡＣＫの仕組みを適用すると、データの欠損が生じても欠損が発生したタイミングで欠損データの再送が行われない可能性があり、受信順序の乱れが懸念される。そこで、受信側ＭＡＣ層では、欠損データの再送制御を行う場合に、上位層へと転送されるデータの順序制御が行われる。このような欠損データの再送制御及びデータの順序制御に係る処理は、リオーダ処理と呼ばれる。以下、このリオーダ処理について考察する。
【００３５】
（１−２−１：許容可能な遅延時間が長いケース）
まず、図８を参照しながら、ブロックＡＣＫの仕組みを利用するシステム構成において実行される欠損データの再送制御及びデータの順序制御について説明する。図８は、欠損データの再送制御及びデータの順序制御に係る処理の流れについて説明するための説明図である。なお、図８には、処理の流れを理解しやすいように、送信側ＭＡＣ層、受信側ＭＡＣ層、及び受信側上位層において実行される処理のうち、再送制御及び順序制御に係る主な処理だけが模式的に示されている。
【００３６】
図８に示すように、送信側ＭＡＣ層から受信側ＭＡＣ層へとデータ＃１〜＃４が送信されたものとしよう。また、伝送経路においてデータ＃２にエラーが発生し、データ＃２が欠損したものとしよう。この場合、受信側ＭＡＣ層には、データ＃１、＃３、＃４だけが到達する。このとき、受信側ＭＡＣ層ではデータの欠損検出が行われ、データ＃２の欠損が検出される。そのため、受信側ＭＡＣ層は、欠損したデータ＃２よりもシーケンス番号が前のデータ＃１を受信側上位層へと転送し、データ＃３及び＃４を蓄積する。さらに、受信側ＭＡＣ層は、送信側ＭＡＣ層へとブロックＡＣＫを返す。このブロックＡＣＫには、データ＃２の受信が失敗したことを示す情報が含まれる。
【００３７】
上記のブロックＡＣＫを受信した送信側ＭＡＣ層は、次に送信すべきデータ＃５〜＃８と共に、前回のデータ送信時に受信側ＭＡＣ層にて欠損が検出されたデータ＃２を再送する。つまり、送信側ＭＡＣ層から受信側ＭＡＣ層へとデータ＃５〜＃８及び＃２が送信される。これらデータ＃５〜＃８及び＃２を受信した受信側ＭＡＣ層は、データ＃５〜＃８を蓄積しておき、シーケンス番号の小さいデータ＃２を先に受信側上位層へと転送する。データ＃２を転送し終えると、受信側ＭＡＣ層は、蓄積しておいたデータ＃３〜＃８を受信側上位層へと転送する。そして、受信側ＭＡＣ層は、送信側ＭＡＣ層へとブロックＡＣＫを返す。このブロックＡＣＫには、データ＃８までの全てのデータを正常に受信したことを示す情報が含まれる。
【００３８】
上記のように、受信側ＭＡＣ層は、欠損したデータよりもシーケンス番号の小さいデータを受信側上位層へと転送し、欠損したデータよりもシーケンス番号の大きいデータを蓄積しておくことで、受信側上位層へと転送されるデータの順序制御を行う。また、受信側ＭＡＣ層は、再送されたデータを受信側上位層へと転送した後、蓄積しておいたデータを受信側上位層へと転送する。確かに、このような処理を実行することでデータの欠損が生じても、受信側上位層へと転送されるデータの順序を正しく維持することが可能になる。しかし、ブロックＡＣＫの仕組みを適用しているため、欠損したデータが再送されるまで長い時間がかかり、欠損したデータ及び受信側ＭＡＣ層にて蓄積しているデータが受信側上位層へと転送されるまでに大きな遅延が発生してしまう。
【００３９】
受信側上位層のアプリケーションが十分に大きな遅延を許容している図８のようなケース（パケットの有効期限が長いケース）においては、上記のようなリオーダ処理に起因して大きな遅延が生じても正常にデータの受信が行われる。例えば、図８の例では、データ＃２の有効期限内にデータ＃２が受信側上位層へと転送されているため、受信側上位層のアプリケーションにてデータ＃２が正常に受信される。また、受信側ＭＡＣ層で蓄積されていたデータ＃３〜＃８についても、有効期限内に受信側上位層へと転送されているため、受信側上位層のアプリケーションにてデータ＃３〜＃８が正常に受信される。
【００４０】
（１−２−２：許容可能な遅延時間が短いケース）
しかし、図９に示すように、受信側上位層のアプリケーションが十分に大きな遅延を許容しないケースにおいては、上記のようなリオーダ処理に起因して大きな遅延が生じると、リオーダ処理の対象となったデータが正常に受信されなくなってしまう。図９の例では、送信側ＭＡＣ層から再送されたデータ＃２、及びデータ＃２の再送を待って受信側ＭＡＣ層が蓄積していたデータ＃３〜＃８がいずれも有効期限切れとなっている。
【００４１】
上述したパケットアグリゲーションの仕組みは、結合するパケットの数が増加すればするほどオーバーヘッドが減少して伝送効率が向上するという特性を持っている。同様に、ブロックＡＣＫの頻度を減らせば減らすほど伝送効率が向上する。しかし、図８及び図９に示したリオーダ処理の仕組みから容易に推察されるように、ブロックＡＣＫの頻度が低下すると、欠損データの再送がより遅れる。また、受信側ＭＡＣ層で蓄積されたデータが受信側上位層へと転送されるまでの待ち時間がより長くなってしまう。そのため、許容可能な遅延時間が短いアプリケーション（以下、低遅延アプリケーション）を利用する場合、リオーダ処理に起因する遅延を考慮すると、上述した高速化技術により得られる伝送効率の向上効果は限定的になってしまう。
【００４２】
（１−２−３：リオーダ処理の無効化）
そこで、図１０に示すように、低遅延アプリケーションを利用する場合にはリオーダ処理を無効化してしまう仕組みが考案された。但し、リオーダ処理を無効化すると、データの欠損が生じた場合に受信側上位層へと転送されるデータの順序に乱れが生じてしまう。そのため、図１０の例では、受信側上位層において欠損データを復元する消失訂正を行う仕組みが設けられている。消失訂正とは、正常に受信したデータを用いて欠損データを復元する処理を言う。なお、消失訂正の仕組みについては後段において詳述する。
【００４３】
このように、リオーダ処理を無効化すると共に、消失訂正の仕組みを組み合わせることで、受信側上位層におけるデータの順序を正しく維持しつつ、低遅延アプリケーションが正しくデータを受信できるようになる。但し、図１０に示すように、欠損データの再送制御はリオーダ処理の有無にかかわらず行われるため、受信側上位層においてデータの重複検知及び重複データの破棄を行う必要が生じる。
【００４４】
図１０の例ではデータ＃２にエラーが生じているが、受信側ＭＡＣ層は、データ＃１、＃３、＃４をすぐに受信側上位層へと転送し、データ＃２のエラーを示すブロックＡＣＫを送信側ＭＡＣ層へと送信している。そのため、送信側ＭＡＣ層は、データ＃５〜＃８と共に、データ＃２を受信側ＭＡＣ層へと送信している。しかし、受信側上位層は、受信側ＭＡＣ層から転送されたデータ＃１、＃３、＃４を用いてデータ＃２を復元している。そのため、受信側ＭＡＣ層から受信側上位層へと転送されたデータ＃２は、受信側上位層において重複データとみなされて破棄される。
【００４５】
このように、低遅延アプリケーションを利用する場合、リオーダ処理を無効化することで、有効期限内にデータを受信側上位層へと転送することが可能になる。そのため、パケットアグリゲーションにより結合するデータの個数を増やしたり、ブロックＡＣＫの頻度を低減したりしても、低遅延アプリケーションにおいて正しくデータを受信することが可能になる。その結果、低遅延アプリケーションを利用する場合であっても、上述した高速化技術により得られる高い伝送効率の向上効果を享受することが可能になる。
【００４６】
（１−２−４：本実施形態の概要）
但し、図１０の例からも推察されるように、受信側上位層において復元されるデータを敢えて再送させたり、再送されたデータに対する重複検知や破棄を行うことは冗長であると言わざるを得ない。そこで、本件発明者は、このような冗長な処理を省略するための仕組み（本実施形態に係る技術）を考案した。この仕組みは、負荷の低減やスループットの向上に寄与する。以下、図１１を参照しながら、本実施形態に係る技術の概要について説明する。図１１は、本実施形態に係る技術の概要を示した説明図である。
【００４７】
図１１に示すように、送信側ＭＡＣ層から受信側ＭＡＣ層へとデータ＃１〜＃４が送信されたものとしよう。また、伝送経路においてデータ＃２にエラーが発生し、データ＃２が欠損したものとしよう。この場合、受信側ＭＡＣ層には、データ＃１、＃３、＃４だけが到達する。このとき、受信側ＭＡＣ層は、データの欠損検出を実行してデータ＃２の欠損を検出するが、データ＃１、＃３、＃４をすぐに受信側上位層へと転送する。そして、受信側上位層は、受信側ＭＡＣ層から転送されてきたデータ＃１、＃３、＃４を用いて消失訂正の処理を行い、データ＃２を復元する。
【００４８】
データ＃１、＃３、＃４を受信側上位層へと転送した後、受信側ＭＡＣ層は、送信側ＭＡＣ層へとブロックＡＣＫを返す。但し、このブロックＡＣＫは、データ＃４までのデータが正しく受信されたことを示すものである。そのため、このブロックＡＣＫを受信した送信側ＭＡＣ層は、データ＃１〜＃４が正しく受信できているものと認識し、欠損したデータ＃２の再送を行わず、次に送信すべきデータ＃５〜＃８を受信側ＭＡＣ層に送信する。データ＃５〜＃８を受信した受信側ＭＡＣ層は、受信したデータ＃５〜＃８をすぐに受信側上位層へと転送し、データ＃８までの全てのデータが正しく受信されたことを示すブロックＡＣＫを送信側ＭＡＣ層へと送信する。
【００４９】
図１１に示した仕組みの場合、リオーダ処理を行わないため、低遅延アプリケーションが要求する有効期限内にデータを受信側上位層へと転送することができる。また、欠損したデータ＃２は受信側上位層において消失訂正により復元されるため、受信側上位層においてデータの順序が正しく維持される。さらに、伝送経路において欠損したデータ＃２の再送は行われないため、図１０に例示した仕組みにおいて実行されていた重複検知や重複データの破棄などの冗長な処理を受信側上位層において実行せずに済むようになる。その結果、より伝送効率を向上させることが可能になる。
【００５０】
以上、再送制御や順序制御などに関する様々な仕組み、及び本実施形態に係る技術の概要について説明した。以下、本実施形態に係る技術の詳細について説明する。
【００５１】
＜２：実施形態＞
本技術の一実施形態について説明する。
【００５２】
［２−１：装置構成］
まず、本実施形態に係る技術を実現することが可能な送信装置１１及び受信装置１２の構成について説明する。なお、既に述べた通り、ここでは説明の都合上、図１に例示したシステム構成を念頭において説明を進めるが、本実施形態に係る技術の適用範囲はこれに限定されるものではない。また、本実施形態に係る技術は、無線データ伝送方式のみならず、有線データ伝送方式にも適用可能である。
【００５３】
（２−１−１：送信装置１１（ＡＰ）の構成）
図１２を参照しながら、本実施形態に係る送信装置１１の構成について説明する。図１２は、本実施形態に係る送信装置１１の構成について説明するための説明図である。図１２に示すように、送信装置１１は、例えば、有線インターフェース１１１と、データ処理部１１２と、伝送処理部１１３と、無線インターフェース１１４とを有する。
【００５４】
通信網５を介して受信装置１２に送信すべきデータが入力されると、このデータは、有線インターフェース１１１を介してデータ処理部１１２に入力される。データが入力されると、データ処理部１１２は、入力されたデータを用いてパケットを生成する。データ処理部１１２により生成されたパケットは、伝送処理部１１３に入力される。パケットが入力されると、伝送処理部１１３は、入力されたパケットにヘッダや誤り訂正符号などの情報を付加して無線インターフェース１１４に入力する。なお、パケットアグリゲーションの仕組みを適用する場合、伝送処理部１１３は、図３に示したようなＡ−ＭＰＤＵの生成に係る処理を実行する。無線インターフェース１１４は、入力されたパケットを変調して変調信号を生成し、アンテナを介して変調信号を受信装置１２に送信する。
【００５５】
（２−１−２：受信装置１２（ＳＴＡ）の構成）
次に、図１３を参照しながら、本実施形態に係る受信装置１２の構成について説明する。図１３は、本実施形態に係る受信装置１２の構成について説明するための説明図である。図１３に示すように、受信装置１２は、例えば、無線インターフェース１２１と、伝送処理部１２２と、記憶部１２３と、データ処理部１２４とを有する。
【００５６】
上記のようにして送信装置１１により送信された変調信号は、アンテナを介して無線インターフェース１２１により受信される。変調信号を受信すると、無線インターフェース１２１は、受信した変調信号に復調処理を施してパケットを復元する。復元されたパケットは、伝送処理部１２２に入力される。パケットが入力されると、伝送処理部１２２は、入力されたパケットのヘッダを解析する。また、伝送処理部１２２は、記憶部１２３を利用してパケットを蓄積しておいたり、無線インターフェース１２１を介してブロックＡＣＫを送信装置１１に送信したりする。
【００５７】
また、パケットアグリゲーションの仕組みを適用する場合、伝送処理部１２２は、図３に示した処理の逆処理を実行してＡ−ＭＰＤＵの分解を行う。ヘッダの解析やＡ−ＭＰＤＵの分解などが済むと、伝送処理部１２２からデータ処理部１２４へとパケットが転送される。データ処理部１２４は、転送されてきたパケットからデータを抽出する。また、データ処理部１２４は、必要に応じてデータの消失訂正を実行し、欠損データの復元処理を実行する。そして、データ処理部１２４は、最終的に得られたデータを利用してアプリケーションを実行する。
【００５８】
以上、送信装置１１及び受信装置１２の構成例について説明した。なお、ここで例示した構成はあくまでも一例であり、適宜変形することが可能である。
【００５９】
［２−２：シーケンス］
次に、本実施形態に係る送信装置１１及び受信装置１２の動作について説明する。
【００６０】
（２−２−１：全体的な処理フロー）
まず、図１４のシーケンス図を参照しながら、送信装置１１及び受信装置１２により実行される処理の全体的な流れについて説明する。図１４は、送信装置１１及び受信装置１２により実行される処理の全体的な流れを示したシーケンス図である。
【００６１】
図１４に示すように、まず、送信装置１１及び受信装置１２は、データリンクを確立させる（Ｓ１０１）。データリンクを確立すると、受信装置１２は、上位層のアプリケーションにより発行される低遅延処理の要求（以下、低遅延要求）を検知し（Ｓ１０２）、その検知結果に応じて処理を切り替える（Ｓ１０３）。低遅延要求がある場合、受信装置１２は、処理をステップＳ１０４に進める。一方、低遅延要求がない場合、受信装置１２は、処理をステップＳ１０５に進める。
【００６２】
処理をステップＳ１０４に進めた場合、受信装置１２は、リオーダ処理を無効化し（Ｓ１０４）、処理をステップＳ１０５に進める。受信装置１２が処理をステップＳ１０５に進めると、送信装置１１と受信装置１２との間でパケットの送受信が行われる（Ｓ１０５）。なお、低遅延要求がない場合、ステップＳ１０５において、図８に例示したような通常の受信処理が実行される。一方、低遅延要求がある場合、ステップＳ１０５において、図１１に例示したような特徴的な受信処理が実行される。
【００６３】
以上、送信装置１１及び受信装置１２により実行される処理の全体的な流れについて説明した。
【００６４】
（２−２−２：低遅延要求がある場合の処理フロー）
次に、低遅延要求がある場合に上記のステップＳ１０５において実行される処理の流れについて、より詳細に説明する。
【００６５】
（ケース１：図１１を参照）
まず、図１１に例示したケース（以下、ケース１）について考える。ケース１は、１つのブロックＡＣＫに対応する所定数（図１１の例では４個）のデータが送信された際に、順番が末尾ではないデータに欠損が生じた状況を示したものである。図１１の例ではデータ＃２が欠損しているが、データ＃１やデータ＃３が欠損した場合もケース１に該当する。ケース１の場合、正常に受信したデータを用いて、消失訂正により欠損データを復元することができる。そのため、欠損データが存在していたとしても、受信側上位層において正しい順序で全てのデータを得ることが可能である。従って、ケース１の場合、欠損データの再送を行う必要がない。
【００６６】
そこで、本実施形態に係る受信装置１２は、ケース１のような場合、末尾のデータまで正常に受信したことを示すブロックＡＣＫを送信装置１１へと送信する。より詳細な処理の流れは、図１５のようになる。図１５に示すように、まず、送信装置１１は、データ＃１〜＃４を送信する（Ｓ１３１）。次いで、受信装置１２は、ＭＡＣ層の機能により欠損検出を実行し、データ＃２の欠損を検出する（Ｓ１３２）。次いで、受信装置１２は、正常に受信したデータ＃１、＃３、＃４をＭＡＣ層から上位層へと転送する（Ｓ１３３）。次いで、受信装置１２は、ＭＡＣ層の機能によりブロックＡＣＫを送信装置１１に送信する（Ｓ１３４）。このブロックＡＣＫは、データ＃４までの全てのデータが正常に受信されたことを示すものである。
【００６７】
また、受信装置１２は、上位層の機能により、欠損したデータ＃２に対する消失訂正を実行し、データ＃２を復元する（Ｓ１３５）。一方で、ブロックＡＣＫを受信した送信装置１１は、ＭＡＣ層の機能によりデータ＃５〜＃８を受信装置１２へと送信する（Ｓ１３６）。次いで、受信装置１２は、ＭＡＣ層の機能により欠損検出を実行し、データ＃５〜＃８に欠損がないことを検出する（Ｓ１３７）。そして、受信装置１２は、データ＃５〜＃８をＭＡＣ層から上位層へと転送する（Ｓ１３８）。その後も、ブロックＡＣＫの送信、データの送信、欠損検出、データの訂正、消失訂正などの処理が実行される。
【００６８】
上記のように、１つのブロックＡＣＫに対応する所定数のデータのうち、順番が末尾ではないデータに欠損が生じた場合には、欠損データの再送を行わなくても、消失訂正を利用して全てのデータを正しく受信することができる。そのため、上記のようなブロックＡＣＫの構成にすることにより、冗長な処理を回避し、負荷の低減と伝送効率の向上とを達成することが可能になる。
【００６９】
（ケース２：図１６及び図１７を参照）
但し、図１６に示すように、１つのブロックＡＣＫに対応する所定数のデータのうち、順番が末尾のデータに欠損が生じた場合には、過去に正常受信したデータに基づく消失訂正を施しても欠損データが復元できない場合がある。このような場合、受信側上位層は、図１６に示すように、次に送信されてくるデータを待って欠損データの消失訂正を実行する。また、受信側上位層は、データを低遅延アプリケーションに渡す際、データの順序を調整する。図１６の例では、受信側上位層がデータ＃５を受信してから、欠損したデータ＃４の消失訂正が行われている。そのため、受信側上位層は、データ＃４とデータ＃５との順序を調整してからアプリケーションにデータを渡す。
【００７０】
また、受信側ＭＡＣ層が送信側ＭＡＣ層へと返すブロックＡＣＫには、最後に受信したデータ＃３までの全てのデータを正常に受信できたことが示されているため、送信側ＭＡＣ層からデータ＃４が再送される。そこで、受信側上位層は、データの重複検知及び重複データの破棄を実施する。なお、図１７に示すように、１つのブロックＡＣＫに対応する所定数のデータのうち、順番が末尾のデータ及びそのデータに続くシーケンス番号を持つデータが欠損した場合にも同様の処理が行われる。図１７の例ではデータ＃３及び＃４が欠損しているため、データ＃３及び＃４を対象とした消失訂正、再送制御、重複検知、重複データの破棄が実施される。
【００７１】
図１６及び図１７に示したようなケース（以下、ケース２）の場合、送信装置１１及び受信装置１２による処理の流れは、図１８のようになる。図１８に示すように、まず、送信装置１１は、データ＃１〜＃４を送信する（Ｓ１４１）。次いで、受信装置１２は、ＭＡＣ層の機能により欠損検出を実行する（Ｓ１４２）。この欠損検出により、受信装置１２は、最後のデータ（例えば、最後のＡ−ＭＤＰＵデータ）が欠損していることを検出することができる。この例においてはデータ＃４が欠損しているため、受信装置１２は、最後のデータが欠損していることを検出する。また、受信装置１２は、この検出結果からデータ＃４の欠損を類推することができる。
【００７２】
次いで、受信装置１２は、正常に受信したデータ＃１〜＃３をＭＡＣ層から上位層へと転送する（Ｓ１４３）。次いで、受信装置１２は、ＭＡＣ層の機能によりブロックＡＣＫを送信装置１１に送信する（Ｓ１４４）。このブロックＡＣＫは、最後に正常受信したデータ＃３までの全てのデータが正常に受信されたことを示すものである。
【００７３】
また、受信装置１２は、上位層の機能により、欠損したデータ＃４に対する消失訂正を試みる（Ｓ１４５）。しかし、この場合にはデータ＃４の復元に失敗する。一方で、ブロックＡＣＫを受信した送信装置１１は、ＭＡＣ層の機能によりデータ＃５〜＃８及び＃４を受信装置１２へと送信する（Ｓ１４６）。次いで、受信装置１２は、ＭＡＣ層の機能により欠損検出を実行し、データ＃５〜＃８及び＃４に欠損がないことを検出する（Ｓ１４７）。そして、受信装置１２は、データ＃５〜＃８及び＃４をＭＡＣ層から上位層へと順次転送する（Ｓ１４８）。
【００７４】
また、受信装置１２は、上位層の機能により、欠損したデータ＃４に対する消失訂正を実行し、データ＃４を復元する（Ｓ１４９）。このとき、受信装置１２は、データ＃５〜＃８及び＃４の転送が完了するのを待たずに消失訂正を実行する。例えば、受信装置１２は、データ＃５の転送が完了した段階で、そのデータ＃５を利用して消失訂正を実行する。データ＃４を復元すると、受信装置１２は、上位層の機能により、データの重複検知を実施してデータ＃４の重複を検知し、データ＃４を破棄する（Ｓ１５０）。その後も、ブロックＡＣＫの送信、データの送信、欠損検出、データの訂正、消失訂正などの処理が実行される。
【００７５】
上記のように、１つのブロックＡＣＫに対応する所定数のデータのうち、順番が末尾のデータに欠損が生じた場合には、次に送信されるデータを利用して消失訂正を行うことで、欠損データを復元することができる。但し、上記のようなブロックＡＣＫの構成にする場合には、データの重複検知及び重複データの破棄などの処理が追加される。
【００７６】
（変形例１：末尾パケットが欠損しても再送を要求しない構成）
そこで、１つのブロックＡＣＫに対応する所定数のデータのうち、順番が末尾のデータに欠損が生じた場合にも、データの重複検知及び重複データの破棄などの処理が発生しないように、図１９に示すような仕組み（以下、変形例１）を考案した。変形例１の場合、受信側ＭＡＣ層は、１つのブロックＡＣＫに対応する所定数のデータが全て正常に受信されたことを示すブロックＡＣＫを送信側ＭＡＣ層に返す。そのため、順番が末尾のデータに欠損が生じた場合でも、データの重複検知及び重複データの破棄などの冗長な処理が発生しなくなる。
【００７７】
変形例１の場合、送信装置１１及び受信装置１２による処理の流れは、図２０のようになる。図２０に示すように、まず、送信装置１１は、データ＃１〜＃４を送信する（Ｓ１５１）。次いで、受信装置１２は、ＭＡＣ層の機能により欠損検出を実行する（Ｓ１５２）。この欠損検出により、受信装置１２は、最後のデータ（例えば、最後のＡ−ＭＤＰＵデータ）が欠損していることを検出することができる。この例においてはデータ＃４が欠損しているため、受信装置１２は、最後のデータが欠損していることを検出する。また、受信装置１２は、この検出結果からデータ＃４の欠損を類推することができる。
【００７８】
次いで、受信装置１２は、正常に受信したデータ＃１〜＃３をＭＡＣ層から上位層へと転送する（Ｓ１５３）。次いで、受信装置１２は、ＭＡＣ層の機能によりブロックＡＣＫを送信装置１１に送信する（Ｓ１５４）。このブロックＡＣＫは、データ＃４までの全てのデータが正常に受信されたことを示すものである。
【００７９】
また、受信装置１２は、上位層の機能により、欠損したデータ＃４に対する消失訂正を試みる（Ｓ１５５）。しかし、この場合にはデータ＃４の復元に失敗する。一方で、ブロックＡＣＫを受信した送信装置１１は、ＭＡＣ層の機能によりデータ＃５〜＃８を受信装置１２へと送信する（Ｓ１５６）。次いで、受信装置１２は、ＭＡＣ層の機能により欠損検出を実行し、データ＃５〜＃８に欠損がないことを検出する（Ｓ１５７）。そして、受信装置１２は、データ＃５〜＃８をＭＡＣ層から上位層へと順次転送する（Ｓ１５８）。
【００８０】
また、受信装置１２は、上位層の機能により、欠損したデータ＃４に対する消失訂正を実行し、データ＃４を復元する（Ｓ１５９）。このとき、受信装置１２は、データ＃５〜＃８の転送が完了するのを待たずに消失訂正を実行する。例えば、受信装置１２は、データ＃５の転送が完了した段階で、そのデータ＃５を利用して消失訂正を実行する。その後も、ブロックＡＣＫの送信、データの送信、欠損検出、データの訂正、消失訂正などの処理が実行される。
【００８１】
上記のように、１つのブロックＡＣＫに対応する所定数のデータのうち、順番が末尾のデータに欠損が生じた場合であっても、欠損データの再送を行わずに、消失訂正を利用して全てのデータを正しく受信することができる。そのため、上記のようなブロックＡＣＫの構成にすることにより、冗長な処理を回避し、負荷の低減と伝送効率の向上とを達成することが可能になる。
【００８２】
（変形例２：消失訂正の結果を待ってＢｌｏｃｋＡＣＫを返す構成）
但し、変形例１の仕組みは、高い割合で消失訂正により欠損データが復元できることを想定して構成されている。そのため、データの欠損が頻発して消失訂正による欠損データの復元が困難になると、アプリケーションが要求する伝送品質を維持することが困難になる可能性もある。特に、高い伝送品質を要求するアプリケーションを利用する場合には、必要に応じてデータの再送を要求する仕組みにすることが望ましい。例えば、図２１に示すような仕組み（以下、変形例２）に変形することが考えられる。
【００８３】
図２１に示すように、まず、送信装置１１は、データ＃１〜＃４を送信する（Ｓ１６１）。次いで、受信装置１２は、ＭＡＣ層の機能により欠損検出を実行する（Ｓ１６２）。この欠損検出により、受信装置１２は、最後のデータ（例えば、最後のＡ−ＭＤＰＵデータ）が欠損していることを検出することができる。この例においてはデータ＃４が欠損しているため、受信装置１２は、最後のデータが欠損していることを検出する。また、受信装置１２は、この検出結果からデータ＃４の欠損を類推することができる。
【００８４】
次いで、受信装置１２は、正常に受信したデータ＃１〜＃３をＭＡＣ層から上位層へと転送する（Ｓ１６３）。次いで、受信装置１２は、上位層の機能によりデータ＃４の消失訂正を実行する（Ｓ１６４）。次いで、受信装置１２は、上位層からＭＡＣ層へと消失訂正の結果（以下、訂正結果Ｒ）を通知する（Ｓ１６５）。次いで、受信装置１２は、ＭＡＣ層の機能によりブロックＡＣＫを送信装置１１に送信する（Ｓ１６６）。
【００８５】
このとき、受信装置１２は、訂正結果Ｒの内容に応じてブロックＡＣＫの構成を切り替える。例えば、データ＃４が復元できた場合、ブロックＡＣＫは、データ＃４までの全てのデータが正常に受信されたことを示すものとする。一方、データ＃４が復元できなかった場合、ブロックＡＣＫは、データ＃３までの全てのデータが正常に受信されたことを示すものとする。このブロックＡＣＫを受信した送信装置１１は、ブロックＡＣＫの内容に応じて、ＭＡＣ層の機能によりデータ＃５〜＃８、或いは、データ＃５〜＃８及び＃４を受信装置１２へと送信する（Ｓ１６７）。その後、ブロックＡＣＫの送信、データの送信、欠損検出、データの訂正、消失訂正などの処理が実行される。
【００８６】
変形例１の場合、消失訂正に失敗した場合には欠損データが再送されるため、伝送品質が維持される。また、消失訂正に成功した場合には欠損データの再送が行われないため、負荷の低減と伝送効率の向上とを達成することが可能になる。
【００８７】
以上、本実施形態に係る送信装置１１及び受信装置１２の動作について説明した。
【００８８】
（２−２−３：（補遺）欠損データの復元方法）
ここで、図２２を参照しながら、消失訂正による欠損データの復元方法について説明を補足する。図２２は、消失訂正による欠損データの復元方法を模式的に示した説明図である。なお、ここで説明する欠損データの復元手法は一例であり、利用可能な欠損データの復元手法はこれに限定されるものではない。
【００８９】
例えば、データ＃１〜＃４が送信され、伝送経路においてデータ＃２が欠損した場合について考えてみよう。この場合、データ＃１〜＃４についてビット毎に排他的論理和を演算して得られる演算結果（Ｒｅｓｕｌｔ）を用いると、データ＃１、＃３、＃４からデータ＃２を復元することが可能になる。具体的には、図２２に示すように、データ＃１、＃３、＃４、及び演算結果Ｒｅｓｕｌｔについてビット毎に排他的論理和を演算すると、データ＃２が得られる。なお、上記の演算結果Ｒｅｓｕｌｔは、送信側上位層により算出され、受信側上位層へと提供される。また、ここではデータ＃２を復元する演算内容について説明したが、他のデータについても同様である。
【００９０】
以上、消失訂正による欠損データの復元方法について簡単に説明を補足した。
【００９１】
［２−３：低遅延要求の通知方法］
ここで、低遅延要求の通知方法について説明する。
【００９２】
（２−３−１：ユーザ操作による低遅延要求の通知）
まず、図２３を参照しながら、ユーザ操作による低遅延要求の通知方法について説明する。図２３は、低遅延要求を通知する際にユーザ操作に利用されるユーザインターフェースの一例を示した説明図である。
【００９３】
なお、このユーザインターフェースの表示及びユーザインターフェースに対するユーザ操作の検出などの処理は、受信装置１２に搭載された入出力部（非図示）により実行される。例えば、ユーザインターフェース表示は、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＥＬＤ（ＥｌｅｃｔｒｏＬｕｍｉｎｅｓｃｅｎｔ  Ｄｉｓｐｌａｙ）などのディスプレイデバイスを用いて実現可能である。また、ユーザ操作の検出は、タッチセンサ、キーボード、マウス、リモートコントローラ、ボタンなどの入力デバイスを用いて実現可能である。
【００９４】
上記のような入出力部は、図２３に示すような選択画面を表示する。この選択画面には、例えば、リオーダ処理を無効にしたいパケットの送信元を選択するためのＭＡＣアドレスが表示される。そのため、ＭＡＣアドレス「ＡＡ−ＡＡ−ＡＡ−ＡＡ−ＡＡ−ＡＡ」を選択したいユーザは、当該ＭＡＣアドレスの左側に表示されたチェック欄にチェックを入れればよい。
【００９５】
また、この選択画面には、リオーダ処理を無効にしたいパケットのトラフィックＩＤ（以下、ＴＩＤ）が表示される。そのため、リオーダ処理を無効にしたいパケットが有するＴＩＤを選択したいユーザは、当該ＴＩＤの左側に表示されたチェック欄にチェックを入れればよい。なお、上記のＴＩＤは、パケットが格納されるキューを識別するために利用される識別情報である。
【００９６】
上記のようにしてチェック欄にチェックを入れた後、ＯＫボタンを押下することにより、対象となるパケットに対するリオーダ処理の無効化が有効になる。なお、ＭＡＣアドレスの代わりに、他の情報を使用することも可能である。例えば、送信装置１１のマシン名やＩＰアドレスなどをＭＡＣアドレスの代わりに使用する方法が考えられる。また、ＴＩＤの代わりに、他の情報を使用することも可能である。例えば、ＴＩＤの代わりにポート番号などを使用する方法が考えられる。
【００９７】
（２−３−２：メッセージングを利用した低遅延要求の通知）
次に、図２４を参照しながら、送信装置１１から受信装置１２へのメッセージングを利用した低遅延要求の通知方法について説明する。図２４は、ＩＥＥＥ８０２．１１規格で定義されたマネジメントアクションフレームの構成を示した説明図である。
【００９８】
メッセージングを利用する場合、送信装置１１は、トラフィックの送信に先だってリオーダ処理の無効を要求する低遅延要求を受信装置１２に送信する。このとき、送信装置１１は、受信側ＭＡＣ層では読み出されず、受信側上位層において読み出されるデータパケットに低遅延要求を格納（所謂カプセル化）して送信する。また、送信装置１１は、低遅延要求と共に、利用するブロックＡＣＫの構成を示す情報（例えば、上記ケース１及び２、変形例１及び２などの中から利用する形式を特定するための情報）をカプセル化して受信装置１２に送信する。受信装置１２は、このマネジメントアクションフレームに格納されたメッセージを解釈し、低遅延要求の有無に応じて処理を切り替える。
【００９９】
また、受信装置１２は、上記のメッセージを送信してきた送信装置１１との間のトラフィックに限り、そのメッセージに応じた処理を実行する。例えば、送信装置１１（Ａ）と送信装置１１（Ｂ）とがシステム内に存在しているとしよう。そして、送信装置１１（Ａ）から、リオーダ処理の無効化を要求する低遅延要求が格納されたメッセージを受信した場合、受信装置１２は、送信装置１１（Ａ）との間のトラフィックに限り、リオーダ処理の無効化を実施する。また、メッセージを送信する際に、リオーダ処理を無効化するトラフィックをＴＩＤで指定するような仕組みにする方法も考えられる。この方法を用いると、低遅延処理が要求されないトラフィックに対してはリオーダ処理を無効化せずに済むようになり、リオーダ処理の無効化を適用する範囲を適切に制限できるようになる。
【０１００】
なお、マネジメントアクションフレームを使用する場合、例えば、「Ｃａｔｅｇｏｒｙ」フィールドに「１２７」を設定することで、このフレームをベンダ独自の実装形態にすることが可能になる。例えば、ベンダを識別するために使用されるＯＵＩ（Ｏｒｇａｎｉｚａｔｉｏｎａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）の後段に存在する「Ｍｅｓｓａｇｅ」フィールドを、低遅延要求などを格納するためのフィールドとして使用することができるようになる。
【０１０１】
また、メッセージを記載するためのフレームとして、例えば、図２５のような構成を有するデータフレームを使用することもできる。この場合、例えば、送信装置１１は、ＬＬＣ−ＳＮＡＰヘッダの後段にメッセージを格納して受信装置１２に送信する。ＬＬＣ−ＳＮＡＰヘッダの後段に位置する部分は、上位層により読み出される部分である。そのため、ＬＬＣ−ＳＮＡＰヘッダの後段にメッセージを格納することにより、メッセージがカプセル化される。
【０１０２】
（２−３−３：ヘッダ情報を利用した低遅延要求の通知）
次に、図２６及び図２７を参照しながら、ヘッダ情報を利用した低遅延要求の通知方法について説明する。図２６は、データフレーム（ＩＰヘッダを含む）の詳細な構成を示した説明図である。一方、図２７は、データフレーム（ＲＴＰヘッダを含む）の詳細な構成を示した説明図である。
【０１０３】
ここでは、送信装置１１からデータが送信される前に低遅延要求を検出するのではなく、送信装置１１から送信されたデータのヘッダ情報を解釈して低遅延要求を検出する方法について紹介する。この方法は、上位層において使用されるヘッダ部に低遅延要求の有無を示す情報を格納するためのフィールドを用意しておき、このフィールドに設定された情報を解釈して低遅延要求の検出を行うというものである。
【０１０４】
例えば、図２６に示すように、ＩＰヘッダの「Ｔｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ」フィールドと「Ｐｒｏｔｏｃｏｌ」フィールドとを組み合わせて利用する。具体的には、「Ｔｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ」フィールドに低遅延要求を示す情報が設定され、「Ｐｒｏｔｏｃｏｌ」フィールドにＵＤＰを示す値が設定されている場合に、受信装置１２は、リオーダ処理の無効化が要求されていると判断する。
【０１０５】
なお、リオーダ処理の無効化を適用する範囲を制限するために、送信元を指定するためのＭＡＣアドレスやＴＩＤを利用してもよい。例えば、低遅延要求が検出されたパケットからＭＡＣアドレスやＴＩＤを検出し、そのＭＡＣアドレスやＴＩＤにより適用範囲を制限する方法が考えられる。また、図２７に示すように、ＲＴＰヘッダの「Ｐａｙｌｏａｄ  Ｔｙｐｅ」フィールドに低遅延要求を示す情報を格納する方法も考えられる。
【０１０６】
以上、本技術の一実施形態について説明した。
【０１０７】
＜３：まとめ＞
最後に、本実施形態の技術的思想について簡単に纏める。以下に記載する技術的思想は、例えば、ＰＣ、携帯電話、ゲーム機、情報端末、情報家電、映像機器、セットトップボックス、録画再生装置、音楽プレーヤ、カーナビゲーションシステム等、通信機能を搭載した種々の情報処理装置（通信装置）に対して適用することができる。
【０１０８】
上記の通信装置の機能構成は以下のように表現することができる。例えば、下記（１）に記載の通信装置は、２以上のパケットを受信したタイミングで応答パケットを送信側へと送信する構成を有する。この構成を適用すると、１つ１つのパケットに対して応答パケットを送信する構成よりも、オーバーヘッドが削減される分だけスループットを向上させることが可能になる。また、下記（１）に記載の通信装置は、エラーが発生していないパケットについてはリオーダ処理を施さずに上位層へと転送する。そのため、リオーダ処理によって生じる遅延に起因してデータパケットの有効期限が切れてしまう可能性を低減することができる。
【０１０９】
さらに、下記（１）に記載の通信装置は、パケット群の中でエラーが発生していないパケットのうち、最後に受信されたパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する構成を有する。例えば、４個のパケットを含むパケット群を受信する際に、２番目のパケットが欠損したケースについて考えてみよう。この場合、下記（１）に記載の通信装置は、１〜４番目のパケットにエラーが発生していないことを示す応答パケットを送信側へと送信する。そのため、送信側は、欠損した２番目のパケットを再送しない。
【０１１０】
但し、欠損した２番目のパケットは、エラー訂正部により復元される。そのため、上位層のアプリケーションには、１〜４番目のパケットが入力される。また、２番目のパケットに関する再送処理が発生しないため、その分だけ高い伝送効率が実現される。このように、データパケットを上位層へと転送するタイミング（リオーダ処理の無効化）、応答パケットの送信タイミング、応答パケットの構成に工夫を凝らすことにより、スループットを向上させることが可能になる。
【０１１１】
（１）
パケットを受信する受信部と、
２以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信する応答送信部と、
エラーが発生していないパケットを上位層へと転送するパケット転送部と、
前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するエラー訂正部と、
を備え、
前記応答送信部は、
前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、
通信装置。
【０１１２】
（２）
前記応答送信部は、
前記上位層から低遅延処理を要求されていない場合、前記パケット群の中でエラーが発生した全てのパケットに関する情報を含む応答パケットを送信し、
前記上位層から低遅延処理を要求されている場合、前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、
上記（１）に記載の通信装置。
【０１１３】
（３）
前記応答送信部は、前記エラー訂正部による復元処理の完了後、前記エラー訂正部によるデータの復元に成功したパケットを再送しないように要求する情報を前記応答パケットに含めて送信側へと送信する、
上記（１）又は（２）に記載の通信装置。
【０１１４】
（４）
前記エラー訂正部によりデータが復元されたパケットと同じ内容のパケットが前記送信側から再送された場合に、当該パケットを破棄する重複パケット破棄部をさらに備える、
上記（１）〜（３）のいずれか１項に記載の通信装置。
【０１１５】
（５）
前記低遅延処理の要求は、ユーザ操作に応じて前記上位層により発行される、
上記（２）に記載の通信装置。
【０１１６】
（６）
前記低遅延処理の要求は、前記送信側から送信された所定の要求メッセージに応じて前記上位層により発行される、
上記（２）に記載の通信装置。
【０１１７】
（７）
前記所定の要求メッセージは、前記上位層において読み出されるデータパケット内に格納して送信される、
上記（６）に記載の通信装置。
【０１１８】
（８）
前記低遅延処理の要求は、前記送信側から送信されるパケットのヘッダ情報に基づいて低遅延処理が必要と判断された場合に前記上位層により発行される、
上記（２）に記載の通信装置。
【０１１９】
（９）
受信されたパケットのうち、エラーが発生していないパケットを上位層へと転送するステップと、
前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するステップと、
２以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信するステップと、
を含み、
前記送信するステップは、
前記パケット群の中でエラーが発生していないパケットのうち、最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信するステップである、
通信方法。
【０１２０】
（１０）
パケットを送信する送信部と、
受信装置から受信した応答パケットに含まれる情報に基づき、エラーが発生したパケットを前記送信部に再送させる再送制御部と、
を有する、送信装置と；
パケットを受信する受信部と、
２以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信する応答送信部と、
エラーが発生していないパケットを上位層へと転送するパケット転送部と、
前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するエラー訂正部と、
を有する、受信装置と；
を含み、
前記応答送信部は、
前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、
通信システム。
【０１２１】
（備考）
上記の受信装置１２は、通信装置の一例である。上記の無線インターフェース１２１は、受信部の一例である。上記の伝送処理部１２２は、応答送信部、パケット転送部、重複パケット破棄部の一例である。上記のデータ処理部１２４は、エラー訂正部の一例である。上記の無線インターフェース１１４は、送信部の一例である。上記の伝送処理部１１３は、再送制御部の一例である。
【０１２２】
以上、添付図面を参照しながら本技術に係る好適な実施形態について説明したが、本技術はここで開示した構成例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本技術の技術的範囲に属するものと了解される。
【０１２３】
例えば、上記の説明においてはＡＰとＳＴＡとの間の無線通信を例に挙げたが、通信装置の組み合わせはこれに限定されない。また、データの送信方向は、上りリンク及び下りリンクのいずれでも構わない。さらに、本実施形態に係る技術は、ダイレクトリンクやアドホックネットワークなどの通信形態に対しても適用可能である。
【符号の説明】
【０１２４】
５        通信網
１０      通信システム
１１      送信装置
１１１    有線インターフェース
１１２    データ処理部
１１３    伝送処理部
１１４    無線インターフェース
１２      受信装置
１２１    無線インターフェース
１２２    伝送処理部
１２３    記憶部
１２４    データ処理部
【図１】
2013026820.tif 000003
【図２】
2013026820.tif 000004
【図３】
2013026820.tif 000005
【図４】
2013026820.tif 000006
【図５】
2013026820.tif 000007
【図６】
2013026820.tif 000008
【図７Ａ】
2013026820.tif 000009
【図７Ｂ】
2013026820.tif 000010
【図８】
2013026820.tif 000011
【図９】
2013026820.tif 000012
【図１０】
2013026820.tif 000013
【図１１】
2013026820.tif 000014
【図１２】
2013026820.tif 000015
【図１３】
2013026820.tif 000016
【図１４】
2013026820.tif 000017
【図１５】
2013026820.tif 000018
【図１６】
2013026820.tif 000019
【図１７】
2013026820.tif 000020
【図１８】
2013026820.tif 000021
【図１９】
2013026820.tif 000022
【図２０】
2013026820.tif 000023
【図２１】
2013026820.tif 000024
【図２２】
2013026820.tif 000025
【図２３】
2013026820.tif 000026
【図２４】
2013026820.tif 000027
【図２５】
2013026820.tif 000028
【図２６】
2013026820.tif 000029
【図２７】
2013026820.tif 000030