説明

通信装置、通信方法、及び通信システム

【課題】受信パケットを低遅延で効率良く上位層に転送すること。
【解決手段】パケットを受信する受信部と、2以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信する応答送信部と、エラーが発生していないパケットを上位層へと転送するパケット転送部と、前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するエラー訂正部と、を備え、前記応答送信部は、前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、通信装置が提供される。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、通信装置、通信方法、及び通信システムに関する。
【背景技術】
【0002】
IEEE802.11規格には、データの無線伝送を高速化するための様々な技術が盛り込まれている。その1つに、パケットアグリゲーションと呼ばれる技術がある。この技術は、複数のデータパケットを結合して伝送する技術である。また、パケットアグリゲーションと共に用いられる技術として、ブロックACKと呼ばれる技術がある。この技術は、複数のデータを受信したタイミングで、受信した各データに対するACKで構成されるブロックACKを送信側に返すというものである。パケットアグリゲーションと共に用いる場合、ブロックACKは、結合したデータパケットを受信する度に送信側へと返されることになる。パケットアグリゲーション及びブロックACKの仕組みについては、例えば、下記の特許文献1にも記載がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−278542号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
パケットアグリゲーション及びブロックACKの仕組みを用いると、IFS(Inter Frame Space)などの待ち時間やアクセス制御に要する時間などの発生頻度を低減することが可能になり、スループットが向上する。しかし、複数のデータパケットを受信したタイミングでブロックACKが返る仕組みのため、途中でデータパケットの欠損が生じても、欠損が発生したタイミングで欠損パケットの再送が行われず、データパケットの受信順序が乱れてしまう。そのため、データパケットが上位層に転送される前に、MAC層においてデータパケットの順序制御処理(以下、リオーダ処理)が行われる。
【0005】
しかしながら、上位層のアプリケーションが許容する遅延時間が短い場合、リオーダ処理によって生じる遅延により、アプリケーションにより許容されないデータパケットの発生が懸念される。つまり、リオーダ処理を実行している間にデータパケットの有効期限が切れてしまう可能性がある。そこで、本技術は、上記のような事情を受けて考案されたものであり、ブロックACKと同等の仕組みを適用しつつ、データパケットを低遅延で効率良く上位層に転送することが可能な、新規かつ改良された通信装置、通信方法、及び通信システムを提供することを意図している。
【課題を解決するための手段】
【0006】
本技術のある観点によれば、パケットを受信する受信部と、2以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信する応答送信部と、エラーが発生していないパケットを上位層へと転送するパケット転送部と、前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するエラー訂正部と、を備え、前記応答送信部は、前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、通信装置が提供される。
【0007】
また、本技術の別の観点によれば、受信されたパケットのうち、エラーが発生していないパケットを上位層へと転送するステップと、前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するステップと、2以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信するステップと、を含み、前記送信するステップは、前記パケット群の中でエラーが発生していないパケットのうち、最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信するステップである、通信方法が提供される。
【0008】
また、本技術の別の観点によれば、パケットを送信する送信部と、受信装置から受信した応答パケットに含まれる情報に基づき、エラーが発生したパケットを前記送信部に再送させる再送制御部と、を有する、送信装置と;パケットを受信する受信部と、2以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信する応答送信部と、エラーが発生していないパケットを上位層へと転送するパケット転送部と、前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するエラー訂正部と、を有する、受信装置と;を含み、前記応答送信部は、前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、通信システムが提供される。
【発明の効果】
【0009】
以上説明したように本技術によれば、ブロックACKと同等の仕組みを適用しつつ、データパケットを低遅延で効率良く上位層に転送することが可能になる。
【図面の簡単な説明】
【0010】
【図1】通信システムのシステム構成例について説明するための説明図である。
【図2】高速化技術について説明するための説明図である。
【図3】高速化技術について説明するための説明図である。
【図4】高速化技術について説明するための説明図である。
【図5】高速化技術について説明するための説明図である。
【図6】高速化技術について説明するための説明図である。
【図7A】高速化技術について説明するための説明図である。
【図7B】高速化技術について説明するための説明図である。
【図8】高速化技術を適用する場合に用いる再送制御方法の一例について説明するための説明図である。
【図9】高速化技術を適用する場合に利用可能な再送制御方法の一例について説明するための説明図である。
【図10】高速化技術を適用する場合に利用可能な再送制御方法の一例について説明するための説明図である。
【図11】高速化技術を適用する場合に利用可能な再送制御方法の一例について説明するための説明図である。
【図12】本実施形態に係る送信装置の構成について説明するための説明図である。
【図13】本実施形態に係る受信装置の構成について説明するための説明図である。
【図14】本実施形態に係る送信装置及び受信装置が実行する処理シーケンスの全体的な構成について説明するための説明図である。
【図15】本実施形態に係る送信装置及び受信装置が実行する処理シーケンスの構成について説明するための説明図である。
【図16】本実施形態に係る送信装置及び受信装置が実行する処理シーケンスの構成について説明するための説明図である。
【図17】本実施形態に係る送信装置及び受信装置が実行する処理シーケンスの構成について説明するための説明図である。
【図18】本実施形態に係る送信装置及び受信装置が実行する処理シーケンスの構成について説明するための説明図である。
【図19】本実施形態に係る送信装置及び受信装置が実行する処理シーケンスの構成について説明するための説明図である。
【図20】本実施形態に係る送信装置及び受信装置が実行する処理シーケンスの構成について説明するための説明図である。
【図21】本実施形態に係る送信装置及び受信装置が実行する処理シーケンスの構成について説明するための説明図である。
【図22】消失訂正による欠損データの復元方法について説明するための説明図である。
【図23】低遅延処理を要求する際にユーザが利用するユーザインターフェースの一例を示した説明図である。
【図24】低遅延処理を送信側から要求する際に利用可能な802.11 Manegement Actionフレームの構成例を示した説明図である。
【図25】低遅延処理を送信側から要求する際に利用可能な802.11 Dataフレームの構成例を示した説明図である。
【図26】低遅延処理を送信側から要求する際に利用可能な802.11 Dataフレームの構成例を示した説明図である。
【図27】低遅延処理を送信側から要求する際に利用可能な802.11 Dataフレームの構成例を示した説明図である。
【発明を実施するための形態】
【0011】
以下に添付図面を参照しながら、本技術に係る好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0012】
[説明の流れについて]
ここで、以下に記載する説明の流れについて簡単に述べる。
【0013】
まず、図1を参照しながら、通信システム10の構成例について説明する。次いで、図2〜図11を参照しながら、通信システム10に適用可能な高速化技術について説明する。この中で、本実施形態の概要についても簡単に説明する。次いで、図12及び図13を参照しながら、本実施形態に係る通信システム10を構成する送信装置11及び受信装置12の構成例について説明する。次いで、図14〜図27を参照しながら、本実施形態に係る通信方法及び通信制御方法について説明する。最後に、本実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
【0014】
(説明項目)
1:はじめに
1−1:パケットアグリゲーションを利用した高速化技術について
1−1−1:通信システム10の構成
1−1−2:パケットアグリゲーションの概要
1−1−3:送信側MAC層におけるデータ処理について
1−1−4:ブロックACKの仕組み
1−2:高速化技術を適用する場合の再送制御について
1−2−1:許容可能な遅延時間が長いケース
1−2−2:許容可能な遅延時間が短いケース
1−2−3:リオーダ処理の無効化
1−2−4:本実施形態の概要
2:実施形態
2−1:装置構成
2−1−1:送信装置11(AP)の構成
2−1−2:受信装置12(STA)の構成
2−2:シーケンス
2−2−1:全体的な処理フロー
2−2−2:低遅延要求がある場合の処理フロー
2−2−3:(補遺)欠損データの復元方法
2−3:低遅延要求の通知方法
2−3−1:ユーザ操作による低遅延要求の通知
2−3−2:メッセージングを利用した低遅延要求の通知
2−3−3:ヘッダ情報を利用した低遅延要求の通知
3:まとめ
【0015】
<1:はじめに>
本実施形態に係る技術について詳細に説明するに先立ち、当該技術に関連するデータ伝送方法について簡単に紹介する。具体的には、パケットアグリゲーションを利用したデータ伝送の高速化技術、及び当該高速化技術を適用する場合に利用可能な再送制御技術について紹介する。また、本実施形態に係る技術の概要についても説明する。
【0016】
[1−1:パケットアグリゲーションを利用した高速化技術について]
はじめに、パケットアグリゲーションを利用したデータ伝送の高速化技術について説明する。ここではIEEE802.11n規格で規定されているパケットアグリゲーション及びブロックACKの仕組みについて説明する。なお、本実施形態に係る技術の適用範囲がこれらの技術に限定されるわけではない点に注意されたい。
【0017】
(1−1−1:通信システム10の構成)
まず、図1を参照しながら、以下の説明において想定するシステム構成例(通信システム10)について説明する。図1は、通信システム10の構成を示した説明図である。
【0018】
図1に示すように、通信システム10は、主に、送信装置11と、受信装置12とにより構成される。例えば、送信装置11は、アクセスポイント(AP)として機能する。また、受信装置12は、ステーション(STA)として機能する。この例において、送信装置11は、通信網5に接続されている。そのため、送信装置11は、通信網5を介して通信システム10の外部に存在する通信装置と通信することが可能である。例えば、送信装置11は、通信網5を介して、受信装置12に送信すべきデータを受信する。また、送信装置11は、通信網5を介して、受信装置12から受信したデータを外部の通信装置に送信する。
【0019】
また、送信装置11は、受信装置12へとデータを無線伝送することが可能である。例えば、送信装置11は、通信網5を介して受信したデータを受信装置12に無線伝送する。逆に、受信装置12は、ACKなどのデータを送信装置11へと無線伝送することが可能である。なお、以下では、説明の都合上、送信装置11から受信装置12へとデータを無線伝送する下りリンクの無線伝送を考えるが、上りリンク、ダイレクトリンク、アドホックネットワークなどの無線伝送についても後述する技術を同様に適用可能である。
【0020】
また、AP−STA間の無線伝送を例に挙げるが、送信装置11及び受信装置12は、どのような装置形態であってもよい。適用可能な装置形態としては、例えば、携帯電話、情報端末、ゲーム機、テレビジョン受像機、録画再生装置、映像機器、撮像装置、カーナビゲーションシステム、情報家電などが考えられる。また、以下では無線伝送を意識して説明を進めるが、有線によるデータ伝送についても後述する技術を同様に適用することが可能である。このように、通信システム10のシステム構成は実施の態様に応じて適宜変形することが可能である。但し、以下の説明においては、技術内容の理解をより容易にすべくAP−STA間の無線伝送を念頭において説明を進めることにする。
【0021】
以上、通信システム10のシステム構成例について説明した。
【0022】
(1−1−2:パケットアグリゲーションの概要)
次に、図2を参照しながら、パケットアグリゲーションの概要について説明する。図2は、パケットアグリゲーションの概要について説明するための説明図である。なお、図2に示した伝送方式Aの図は、パケットアグリゲーションを行わない一般的なデータ伝送方式の仕組みを示したものである。一方、図2に示した伝送方式Bの図は、パケットアグリゲーションを行うデータ伝送方式の仕組みを示したものである。
【0023】
例えば、データ#1〜#3を伝送するケースについて考えてみよう。伝送方式Aの場合、データ#1〜#3は、1つ1つ個別に伝送される。そのため、各データの送信前後に、アクセス制御信号の受信期間、SIFS(Short Inter Frame Space)、及び応答信号の受信期間が必要になる。つまり、データ#1〜#3を送信する際には、アクセス制御信号の受信期間、SIFS、及び応答信号の受信期間が3回生じる。一方、伝送方式Bの場合、データ#1〜#3は纏めて送信される。そのため、アクセス制御信号の受信期間、SIFS、及び応答信号の受信期間は1回しか生じない。その結果、図2に示すように、オーバーヘッドが削減され、伝送効率が向上する。
【0024】
以上、パケットアグリゲーションの概要について説明した。上記のように、パケットアグリゲーションを適用すると、アクセス制御や応答信号の受信などに要する時間が短縮され、データの伝送効率を向上させることが可能になる。
【0025】
(1−1−3:送信側MAC層におけるデータ処理について)
次に、図3〜図5を参照しながら、パケットアグリゲーションを適用する場合の送信側MAC層におけるデータ処理について説明する。図3〜図5は、パケットアグリゲーションを適用する場合の送信側MAC層におけるデータ処理について説明するための説明図である。なお、送信側MAC層とは、送信装置11が有するMAC層の機能を言う。
【0026】
図3に示すように、上位層からMAC層へとデータが転送されると、送信側MAC層は、MSDUアグリゲーションを実行する(S11)。但し、MSDUは、MAC Service Data Unitの略である。このとき、送信側MAC層は、図4に示すように、サブフレームヘッダ、MSDU、パディングで構成されるA−MSDUサブフレームを複数結合してA−MSDUを生成する。このA−MSDUは、MPDUのフレーム本体フィールドに格納される。但し、A−MSDUは、Aggregation MSDUの略である。また、MPDUは、MAC Protocol Data Unitの略である。
【0027】
再び図3を参照する。MSDUアグリゲーションを実行した後、送信側MAC層は、生成したA−MSDUにシーケンス番号を付与してMPDUを生成する(S12)。次いで、送信側MAC層は、MSDUを暗号化する(S13)。次いで、送信側MAC層は、フラグメンテーションを実行する(S14)。フラグメンテーションとは、送信するフレームのサイズが大きい場合にフレームを分割して送信単位を小さくする処理を言う。フラグメンテーションを実行した後、送信側MAC層は、MPDUを暗号化する(S15)。次いで、送信側MAC層は、ヘッダ及びFCSを付加する(S16)。但し、FCSは、Frame Check Sequenceの略である。
【0028】
ヘッダ及びFCSを付加した後、送信側MAC層は、MPDUアグリゲーションを実行してA−MPDUを生成する(S17)。このとき、送信側MAC層は、図5に示すように、MPDUデリミタ、MPDU、パディングで構成されるA−MPDUサブフレームを複数結合してA−MPDUを生成する。但し、このA−MPDUは、Aggregation MAC Protocol Data Unitoの略である。また、上記のMPDUデリミタは、A−MPDUサブフレームの境界を示すフィールドである。このように、送信側MAC層において生成されたA−MPDUは、物理層へと転送される。
【0029】
以上、パケットアグリゲーションを適用する場合の送信側MAC層におけるデータ処理について説明した。なお、受信側MAC層においては、上記の逆処理が実行され、個々のMSDUが取り出される。なお、ステップS11〜S15の処理は省略してもよい。
【0030】
(1−1−4:ブロックACKの仕組み)
次に、図6及び図7を参照しながら、ブロックACKの仕組みについて説明する。図6及び図7は、ブロックACKの仕組みについて説明するための説明図である。一般的な伝送方式の場合、1つのデータに対する応答は、1つのACKを用いて行われる。しかし、図2を参照しながら説明したように、1つ1つのデータに対して応答を返していると、オーバーヘッドが大きくなり、高い伝送効率を達成することが難しくなる。こうした事情から、図6に示すように、複数のデータを受信したタイミングで、これら複数のデータに対する応答を纏めたブロックACKを返すようにする仕組みが考案された。
【0031】
図6は、IEEE802.11e規格で採用されているブロックACKの仕組み(以下、802.11e型)を模式的に示したものである。IEEE802.11e規格ではパケットアグリゲーションの仕組みが導入されていないため、複数のデータが結合されずに順次伝送される。しかし、これら複数のデータに対する応答は、1つのブロックACKを用いて行われる。図6の例では、N個のデータが送信側から受信側へと伝送されたタイミングで送信側からブロックACKリクエストが送信されている。そして、このブロックACKリクエストに応じて受信側から送信側へとブロックACKが返される。このような仕組みを適用すると、応答に要する時間が短縮される分だけ伝送効率が向上する。
【0032】
一方、図7A及びBは、IEEE802.11n規格で採用されているブロックACKの仕組み(以下、802.11n型)を模式的に示したものである。IEEE802.11n規格ではパケットアグリゲーションの仕組みが導入されているため、複数のデータが結合されて伝送される。そして、複数のデータを結合したA−MPDUに対する応答は、1つのブロックACKを用いて行われる。図7Aに示すように、A−MPDUが送信側から受信側へと伝送されたタイミングで送信側からブロックACKリクエストが送信され、このブロックACKリクエストに応じて受信側から送信側へとブロックACKが返される。或いは、図7Bに示すように、A−MPDUが送信側から受信側へと伝送され、このA−MPDUに応じて受信側から送信側へとブロックACKが返される。このような仕組みを適用すると、応答に要する時間が短縮される分だけ伝送効率が向上する。
【0033】
以上、ブロックACKの仕組みについて説明した。
【0034】
[1−2:高速化技術を適用する場合の再送制御について]
上記の高速化技術を適用すると伝送効率を高めることができる。但し、ブロックACKの仕組みを適用すると、データの欠損が生じても欠損が発生したタイミングで欠損データの再送が行われない可能性があり、受信順序の乱れが懸念される。そこで、受信側MAC層では、欠損データの再送制御を行う場合に、上位層へと転送されるデータの順序制御が行われる。このような欠損データの再送制御及びデータの順序制御に係る処理は、リオーダ処理と呼ばれる。以下、このリオーダ処理について考察する。
【0035】
(1−2−1:許容可能な遅延時間が長いケース)
まず、図8を参照しながら、ブロックACKの仕組みを利用するシステム構成において実行される欠損データの再送制御及びデータの順序制御について説明する。図8は、欠損データの再送制御及びデータの順序制御に係る処理の流れについて説明するための説明図である。なお、図8には、処理の流れを理解しやすいように、送信側MAC層、受信側MAC層、及び受信側上位層において実行される処理のうち、再送制御及び順序制御に係る主な処理だけが模式的に示されている。
【0036】
図8に示すように、送信側MAC層から受信側MAC層へとデータ#1〜#4が送信されたものとしよう。また、伝送経路においてデータ#2にエラーが発生し、データ#2が欠損したものとしよう。この場合、受信側MAC層には、データ#1、#3、#4だけが到達する。このとき、受信側MAC層ではデータの欠損検出が行われ、データ#2の欠損が検出される。そのため、受信側MAC層は、欠損したデータ#2よりもシーケンス番号が前のデータ#1を受信側上位層へと転送し、データ#3及び#4を蓄積する。さらに、受信側MAC層は、送信側MAC層へとブロックACKを返す。このブロックACKには、データ#2の受信が失敗したことを示す情報が含まれる。
【0037】
上記のブロックACKを受信した送信側MAC層は、次に送信すべきデータ#5〜#8と共に、前回のデータ送信時に受信側MAC層にて欠損が検出されたデータ#2を再送する。つまり、送信側MAC層から受信側MAC層へとデータ#5〜#8及び#2が送信される。これらデータ#5〜#8及び#2を受信した受信側MAC層は、データ#5〜#8を蓄積しておき、シーケンス番号の小さいデータ#2を先に受信側上位層へと転送する。データ#2を転送し終えると、受信側MAC層は、蓄積しておいたデータ#3〜#8を受信側上位層へと転送する。そして、受信側MAC層は、送信側MAC層へとブロックACKを返す。このブロックACKには、データ#8までの全てのデータを正常に受信したことを示す情報が含まれる。
【0038】
上記のように、受信側MAC層は、欠損したデータよりもシーケンス番号の小さいデータを受信側上位層へと転送し、欠損したデータよりもシーケンス番号の大きいデータを蓄積しておくことで、受信側上位層へと転送されるデータの順序制御を行う。また、受信側MAC層は、再送されたデータを受信側上位層へと転送した後、蓄積しておいたデータを受信側上位層へと転送する。確かに、このような処理を実行することでデータの欠損が生じても、受信側上位層へと転送されるデータの順序を正しく維持することが可能になる。しかし、ブロックACKの仕組みを適用しているため、欠損したデータが再送されるまで長い時間がかかり、欠損したデータ及び受信側MAC層にて蓄積しているデータが受信側上位層へと転送されるまでに大きな遅延が発生してしまう。
【0039】
受信側上位層のアプリケーションが十分に大きな遅延を許容している図8のようなケース(パケットの有効期限が長いケース)においては、上記のようなリオーダ処理に起因して大きな遅延が生じても正常にデータの受信が行われる。例えば、図8の例では、データ#2の有効期限内にデータ#2が受信側上位層へと転送されているため、受信側上位層のアプリケーションにてデータ#2が正常に受信される。また、受信側MAC層で蓄積されていたデータ#3〜#8についても、有効期限内に受信側上位層へと転送されているため、受信側上位層のアプリケーションにてデータ#3〜#8が正常に受信される。
【0040】
(1−2−2:許容可能な遅延時間が短いケース)
しかし、図9に示すように、受信側上位層のアプリケーションが十分に大きな遅延を許容しないケースにおいては、上記のようなリオーダ処理に起因して大きな遅延が生じると、リオーダ処理の対象となったデータが正常に受信されなくなってしまう。図9の例では、送信側MAC層から再送されたデータ#2、及びデータ#2の再送を待って受信側MAC層が蓄積していたデータ#3〜#8がいずれも有効期限切れとなっている。
【0041】
上述したパケットアグリゲーションの仕組みは、結合するパケットの数が増加すればするほどオーバーヘッドが減少して伝送効率が向上するという特性を持っている。同様に、ブロックACKの頻度を減らせば減らすほど伝送効率が向上する。しかし、図8及び図9に示したリオーダ処理の仕組みから容易に推察されるように、ブロックACKの頻度が低下すると、欠損データの再送がより遅れる。また、受信側MAC層で蓄積されたデータが受信側上位層へと転送されるまでの待ち時間がより長くなってしまう。そのため、許容可能な遅延時間が短いアプリケーション(以下、低遅延アプリケーション)を利用する場合、リオーダ処理に起因する遅延を考慮すると、上述した高速化技術により得られる伝送効率の向上効果は限定的になってしまう。
【0042】
(1−2−3:リオーダ処理の無効化)
そこで、図10に示すように、低遅延アプリケーションを利用する場合にはリオーダ処理を無効化してしまう仕組みが考案された。但し、リオーダ処理を無効化すると、データの欠損が生じた場合に受信側上位層へと転送されるデータの順序に乱れが生じてしまう。そのため、図10の例では、受信側上位層において欠損データを復元する消失訂正を行う仕組みが設けられている。消失訂正とは、正常に受信したデータを用いて欠損データを復元する処理を言う。なお、消失訂正の仕組みについては後段において詳述する。
【0043】
このように、リオーダ処理を無効化すると共に、消失訂正の仕組みを組み合わせることで、受信側上位層におけるデータの順序を正しく維持しつつ、低遅延アプリケーションが正しくデータを受信できるようになる。但し、図10に示すように、欠損データの再送制御はリオーダ処理の有無にかかわらず行われるため、受信側上位層においてデータの重複検知及び重複データの破棄を行う必要が生じる。
【0044】
図10の例ではデータ#2にエラーが生じているが、受信側MAC層は、データ#1、#3、#4をすぐに受信側上位層へと転送し、データ#2のエラーを示すブロックACKを送信側MAC層へと送信している。そのため、送信側MAC層は、データ#5〜#8と共に、データ#2を受信側MAC層へと送信している。しかし、受信側上位層は、受信側MAC層から転送されたデータ#1、#3、#4を用いてデータ#2を復元している。そのため、受信側MAC層から受信側上位層へと転送されたデータ#2は、受信側上位層において重複データとみなされて破棄される。
【0045】
このように、低遅延アプリケーションを利用する場合、リオーダ処理を無効化することで、有効期限内にデータを受信側上位層へと転送することが可能になる。そのため、パケットアグリゲーションにより結合するデータの個数を増やしたり、ブロックACKの頻度を低減したりしても、低遅延アプリケーションにおいて正しくデータを受信することが可能になる。その結果、低遅延アプリケーションを利用する場合であっても、上述した高速化技術により得られる高い伝送効率の向上効果を享受することが可能になる。
【0046】
(1−2−4:本実施形態の概要)
但し、図10の例からも推察されるように、受信側上位層において復元されるデータを敢えて再送させたり、再送されたデータに対する重複検知や破棄を行うことは冗長であると言わざるを得ない。そこで、本件発明者は、このような冗長な処理を省略するための仕組み(本実施形態に係る技術)を考案した。この仕組みは、負荷の低減やスループットの向上に寄与する。以下、図11を参照しながら、本実施形態に係る技術の概要について説明する。図11は、本実施形態に係る技術の概要を示した説明図である。
【0047】
図11に示すように、送信側MAC層から受信側MAC層へとデータ#1〜#4が送信されたものとしよう。また、伝送経路においてデータ#2にエラーが発生し、データ#2が欠損したものとしよう。この場合、受信側MAC層には、データ#1、#3、#4だけが到達する。このとき、受信側MAC層は、データの欠損検出を実行してデータ#2の欠損を検出するが、データ#1、#3、#4をすぐに受信側上位層へと転送する。そして、受信側上位層は、受信側MAC層から転送されてきたデータ#1、#3、#4を用いて消失訂正の処理を行い、データ#2を復元する。
【0048】
データ#1、#3、#4を受信側上位層へと転送した後、受信側MAC層は、送信側MAC層へとブロックACKを返す。但し、このブロックACKは、データ#4までのデータが正しく受信されたことを示すものである。そのため、このブロックACKを受信した送信側MAC層は、データ#1〜#4が正しく受信できているものと認識し、欠損したデータ#2の再送を行わず、次に送信すべきデータ#5〜#8を受信側MAC層に送信する。データ#5〜#8を受信した受信側MAC層は、受信したデータ#5〜#8をすぐに受信側上位層へと転送し、データ#8までの全てのデータが正しく受信されたことを示すブロックACKを送信側MAC層へと送信する。
【0049】
図11に示した仕組みの場合、リオーダ処理を行わないため、低遅延アプリケーションが要求する有効期限内にデータを受信側上位層へと転送することができる。また、欠損したデータ#2は受信側上位層において消失訂正により復元されるため、受信側上位層においてデータの順序が正しく維持される。さらに、伝送経路において欠損したデータ#2の再送は行われないため、図10に例示した仕組みにおいて実行されていた重複検知や重複データの破棄などの冗長な処理を受信側上位層において実行せずに済むようになる。その結果、より伝送効率を向上させることが可能になる。
【0050】
以上、再送制御や順序制御などに関する様々な仕組み、及び本実施形態に係る技術の概要について説明した。以下、本実施形態に係る技術の詳細について説明する。
【0051】
<2:実施形態>
本技術の一実施形態について説明する。
【0052】
[2−1:装置構成]
まず、本実施形態に係る技術を実現することが可能な送信装置11及び受信装置12の構成について説明する。なお、既に述べた通り、ここでは説明の都合上、図1に例示したシステム構成を念頭において説明を進めるが、本実施形態に係る技術の適用範囲はこれに限定されるものではない。また、本実施形態に係る技術は、無線データ伝送方式のみならず、有線データ伝送方式にも適用可能である。
【0053】
(2−1−1:送信装置11(AP)の構成)
図12を参照しながら、本実施形態に係る送信装置11の構成について説明する。図12は、本実施形態に係る送信装置11の構成について説明するための説明図である。図12に示すように、送信装置11は、例えば、有線インターフェース111と、データ処理部112と、伝送処理部113と、無線インターフェース114とを有する。
【0054】
通信網5を介して受信装置12に送信すべきデータが入力されると、このデータは、有線インターフェース111を介してデータ処理部112に入力される。データが入力されると、データ処理部112は、入力されたデータを用いてパケットを生成する。データ処理部112により生成されたパケットは、伝送処理部113に入力される。パケットが入力されると、伝送処理部113は、入力されたパケットにヘッダや誤り訂正符号などの情報を付加して無線インターフェース114に入力する。なお、パケットアグリゲーションの仕組みを適用する場合、伝送処理部113は、図3に示したようなA−MPDUの生成に係る処理を実行する。無線インターフェース114は、入力されたパケットを変調して変調信号を生成し、アンテナを介して変調信号を受信装置12に送信する。
【0055】
(2−1−2:受信装置12(STA)の構成)
次に、図13を参照しながら、本実施形態に係る受信装置12の構成について説明する。図13は、本実施形態に係る受信装置12の構成について説明するための説明図である。図13に示すように、受信装置12は、例えば、無線インターフェース121と、伝送処理部122と、記憶部123と、データ処理部124とを有する。
【0056】
上記のようにして送信装置11により送信された変調信号は、アンテナを介して無線インターフェース121により受信される。変調信号を受信すると、無線インターフェース121は、受信した変調信号に復調処理を施してパケットを復元する。復元されたパケットは、伝送処理部122に入力される。パケットが入力されると、伝送処理部122は、入力されたパケットのヘッダを解析する。また、伝送処理部122は、記憶部123を利用してパケットを蓄積しておいたり、無線インターフェース121を介してブロックACKを送信装置11に送信したりする。
【0057】
また、パケットアグリゲーションの仕組みを適用する場合、伝送処理部122は、図3に示した処理の逆処理を実行してA−MPDUの分解を行う。ヘッダの解析やA−MPDUの分解などが済むと、伝送処理部122からデータ処理部124へとパケットが転送される。データ処理部124は、転送されてきたパケットからデータを抽出する。また、データ処理部124は、必要に応じてデータの消失訂正を実行し、欠損データの復元処理を実行する。そして、データ処理部124は、最終的に得られたデータを利用してアプリケーションを実行する。
【0058】
以上、送信装置11及び受信装置12の構成例について説明した。なお、ここで例示した構成はあくまでも一例であり、適宜変形することが可能である。
【0059】
[2−2:シーケンス]
次に、本実施形態に係る送信装置11及び受信装置12の動作について説明する。
【0060】
(2−2−1:全体的な処理フロー)
まず、図14のシーケンス図を参照しながら、送信装置11及び受信装置12により実行される処理の全体的な流れについて説明する。図14は、送信装置11及び受信装置12により実行される処理の全体的な流れを示したシーケンス図である。
【0061】
図14に示すように、まず、送信装置11及び受信装置12は、データリンクを確立させる(S101)。データリンクを確立すると、受信装置12は、上位層のアプリケーションにより発行される低遅延処理の要求(以下、低遅延要求)を検知し(S102)、その検知結果に応じて処理を切り替える(S103)。低遅延要求がある場合、受信装置12は、処理をステップS104に進める。一方、低遅延要求がない場合、受信装置12は、処理をステップS105に進める。
【0062】
処理をステップS104に進めた場合、受信装置12は、リオーダ処理を無効化し(S104)、処理をステップS105に進める。受信装置12が処理をステップS105に進めると、送信装置11と受信装置12との間でパケットの送受信が行われる(S105)。なお、低遅延要求がない場合、ステップS105において、図8に例示したような通常の受信処理が実行される。一方、低遅延要求がある場合、ステップS105において、図11に例示したような特徴的な受信処理が実行される。
【0063】
以上、送信装置11及び受信装置12により実行される処理の全体的な流れについて説明した。
【0064】
(2−2−2:低遅延要求がある場合の処理フロー)
次に、低遅延要求がある場合に上記のステップS105において実行される処理の流れについて、より詳細に説明する。
【0065】
(ケース1:図11を参照)
まず、図11に例示したケース(以下、ケース1)について考える。ケース1は、1つのブロックACKに対応する所定数(図11の例では4個)のデータが送信された際に、順番が末尾ではないデータに欠損が生じた状況を示したものである。図11の例ではデータ#2が欠損しているが、データ#1やデータ#3が欠損した場合もケース1に該当する。ケース1の場合、正常に受信したデータを用いて、消失訂正により欠損データを復元することができる。そのため、欠損データが存在していたとしても、受信側上位層において正しい順序で全てのデータを得ることが可能である。従って、ケース1の場合、欠損データの再送を行う必要がない。
【0066】
そこで、本実施形態に係る受信装置12は、ケース1のような場合、末尾のデータまで正常に受信したことを示すブロックACKを送信装置11へと送信する。より詳細な処理の流れは、図15のようになる。図15に示すように、まず、送信装置11は、データ#1〜#4を送信する(S131)。次いで、受信装置12は、MAC層の機能により欠損検出を実行し、データ#2の欠損を検出する(S132)。次いで、受信装置12は、正常に受信したデータ#1、#3、#4をMAC層から上位層へと転送する(S133)。次いで、受信装置12は、MAC層の機能によりブロックACKを送信装置11に送信する(S134)。このブロックACKは、データ#4までの全てのデータが正常に受信されたことを示すものである。
【0067】
また、受信装置12は、上位層の機能により、欠損したデータ#2に対する消失訂正を実行し、データ#2を復元する(S135)。一方で、ブロックACKを受信した送信装置11は、MAC層の機能によりデータ#5〜#8を受信装置12へと送信する(S136)。次いで、受信装置12は、MAC層の機能により欠損検出を実行し、データ#5〜#8に欠損がないことを検出する(S137)。そして、受信装置12は、データ#5〜#8をMAC層から上位層へと転送する(S138)。その後も、ブロックACKの送信、データの送信、欠損検出、データの訂正、消失訂正などの処理が実行される。
【0068】
上記のように、1つのブロックACKに対応する所定数のデータのうち、順番が末尾ではないデータに欠損が生じた場合には、欠損データの再送を行わなくても、消失訂正を利用して全てのデータを正しく受信することができる。そのため、上記のようなブロックACKの構成にすることにより、冗長な処理を回避し、負荷の低減と伝送効率の向上とを達成することが可能になる。
【0069】
(ケース2:図16及び図17を参照)
但し、図16に示すように、1つのブロックACKに対応する所定数のデータのうち、順番が末尾のデータに欠損が生じた場合には、過去に正常受信したデータに基づく消失訂正を施しても欠損データが復元できない場合がある。このような場合、受信側上位層は、図16に示すように、次に送信されてくるデータを待って欠損データの消失訂正を実行する。また、受信側上位層は、データを低遅延アプリケーションに渡す際、データの順序を調整する。図16の例では、受信側上位層がデータ#5を受信してから、欠損したデータ#4の消失訂正が行われている。そのため、受信側上位層は、データ#4とデータ#5との順序を調整してからアプリケーションにデータを渡す。
【0070】
また、受信側MAC層が送信側MAC層へと返すブロックACKには、最後に受信したデータ#3までの全てのデータを正常に受信できたことが示されているため、送信側MAC層からデータ#4が再送される。そこで、受信側上位層は、データの重複検知及び重複データの破棄を実施する。なお、図17に示すように、1つのブロックACKに対応する所定数のデータのうち、順番が末尾のデータ及びそのデータに続くシーケンス番号を持つデータが欠損した場合にも同様の処理が行われる。図17の例ではデータ#3及び#4が欠損しているため、データ#3及び#4を対象とした消失訂正、再送制御、重複検知、重複データの破棄が実施される。
【0071】
図16及び図17に示したようなケース(以下、ケース2)の場合、送信装置11及び受信装置12による処理の流れは、図18のようになる。図18に示すように、まず、送信装置11は、データ#1〜#4を送信する(S141)。次いで、受信装置12は、MAC層の機能により欠損検出を実行する(S142)。この欠損検出により、受信装置12は、最後のデータ(例えば、最後のA−MDPUデータ)が欠損していることを検出することができる。この例においてはデータ#4が欠損しているため、受信装置12は、最後のデータが欠損していることを検出する。また、受信装置12は、この検出結果からデータ#4の欠損を類推することができる。
【0072】
次いで、受信装置12は、正常に受信したデータ#1〜#3をMAC層から上位層へと転送する(S143)。次いで、受信装置12は、MAC層の機能によりブロックACKを送信装置11に送信する(S144)。このブロックACKは、最後に正常受信したデータ#3までの全てのデータが正常に受信されたことを示すものである。
【0073】
また、受信装置12は、上位層の機能により、欠損したデータ#4に対する消失訂正を試みる(S145)。しかし、この場合にはデータ#4の復元に失敗する。一方で、ブロックACKを受信した送信装置11は、MAC層の機能によりデータ#5〜#8及び#4を受信装置12へと送信する(S146)。次いで、受信装置12は、MAC層の機能により欠損検出を実行し、データ#5〜#8及び#4に欠損がないことを検出する(S147)。そして、受信装置12は、データ#5〜#8及び#4をMAC層から上位層へと順次転送する(S148)。
【0074】
また、受信装置12は、上位層の機能により、欠損したデータ#4に対する消失訂正を実行し、データ#4を復元する(S149)。このとき、受信装置12は、データ#5〜#8及び#4の転送が完了するのを待たずに消失訂正を実行する。例えば、受信装置12は、データ#5の転送が完了した段階で、そのデータ#5を利用して消失訂正を実行する。データ#4を復元すると、受信装置12は、上位層の機能により、データの重複検知を実施してデータ#4の重複を検知し、データ#4を破棄する(S150)。その後も、ブロックACKの送信、データの送信、欠損検出、データの訂正、消失訂正などの処理が実行される。
【0075】
上記のように、1つのブロックACKに対応する所定数のデータのうち、順番が末尾のデータに欠損が生じた場合には、次に送信されるデータを利用して消失訂正を行うことで、欠損データを復元することができる。但し、上記のようなブロックACKの構成にする場合には、データの重複検知及び重複データの破棄などの処理が追加される。
【0076】
(変形例1:末尾パケットが欠損しても再送を要求しない構成)
そこで、1つのブロックACKに対応する所定数のデータのうち、順番が末尾のデータに欠損が生じた場合にも、データの重複検知及び重複データの破棄などの処理が発生しないように、図19に示すような仕組み(以下、変形例1)を考案した。変形例1の場合、受信側MAC層は、1つのブロックACKに対応する所定数のデータが全て正常に受信されたことを示すブロックACKを送信側MAC層に返す。そのため、順番が末尾のデータに欠損が生じた場合でも、データの重複検知及び重複データの破棄などの冗長な処理が発生しなくなる。
【0077】
変形例1の場合、送信装置11及び受信装置12による処理の流れは、図20のようになる。図20に示すように、まず、送信装置11は、データ#1〜#4を送信する(S151)。次いで、受信装置12は、MAC層の機能により欠損検出を実行する(S152)。この欠損検出により、受信装置12は、最後のデータ(例えば、最後のA−MDPUデータ)が欠損していることを検出することができる。この例においてはデータ#4が欠損しているため、受信装置12は、最後のデータが欠損していることを検出する。また、受信装置12は、この検出結果からデータ#4の欠損を類推することができる。
【0078】
次いで、受信装置12は、正常に受信したデータ#1〜#3をMAC層から上位層へと転送する(S153)。次いで、受信装置12は、MAC層の機能によりブロックACKを送信装置11に送信する(S154)。このブロックACKは、データ#4までの全てのデータが正常に受信されたことを示すものである。
【0079】
また、受信装置12は、上位層の機能により、欠損したデータ#4に対する消失訂正を試みる(S155)。しかし、この場合にはデータ#4の復元に失敗する。一方で、ブロックACKを受信した送信装置11は、MAC層の機能によりデータ#5〜#8を受信装置12へと送信する(S156)。次いで、受信装置12は、MAC層の機能により欠損検出を実行し、データ#5〜#8に欠損がないことを検出する(S157)。そして、受信装置12は、データ#5〜#8をMAC層から上位層へと順次転送する(S158)。
【0080】
また、受信装置12は、上位層の機能により、欠損したデータ#4に対する消失訂正を実行し、データ#4を復元する(S159)。このとき、受信装置12は、データ#5〜#8の転送が完了するのを待たずに消失訂正を実行する。例えば、受信装置12は、データ#5の転送が完了した段階で、そのデータ#5を利用して消失訂正を実行する。その後も、ブロックACKの送信、データの送信、欠損検出、データの訂正、消失訂正などの処理が実行される。
【0081】
上記のように、1つのブロックACKに対応する所定数のデータのうち、順番が末尾のデータに欠損が生じた場合であっても、欠損データの再送を行わずに、消失訂正を利用して全てのデータを正しく受信することができる。そのため、上記のようなブロックACKの構成にすることにより、冗長な処理を回避し、負荷の低減と伝送効率の向上とを達成することが可能になる。
【0082】
(変形例2:消失訂正の結果を待ってBlockACKを返す構成)
但し、変形例1の仕組みは、高い割合で消失訂正により欠損データが復元できることを想定して構成されている。そのため、データの欠損が頻発して消失訂正による欠損データの復元が困難になると、アプリケーションが要求する伝送品質を維持することが困難になる可能性もある。特に、高い伝送品質を要求するアプリケーションを利用する場合には、必要に応じてデータの再送を要求する仕組みにすることが望ましい。例えば、図21に示すような仕組み(以下、変形例2)に変形することが考えられる。
【0083】
図21に示すように、まず、送信装置11は、データ#1〜#4を送信する(S161)。次いで、受信装置12は、MAC層の機能により欠損検出を実行する(S162)。この欠損検出により、受信装置12は、最後のデータ(例えば、最後のA−MDPUデータ)が欠損していることを検出することができる。この例においてはデータ#4が欠損しているため、受信装置12は、最後のデータが欠損していることを検出する。また、受信装置12は、この検出結果からデータ#4の欠損を類推することができる。
【0084】
次いで、受信装置12は、正常に受信したデータ#1〜#3をMAC層から上位層へと転送する(S163)。次いで、受信装置12は、上位層の機能によりデータ#4の消失訂正を実行する(S164)。次いで、受信装置12は、上位層からMAC層へと消失訂正の結果(以下、訂正結果R)を通知する(S165)。次いで、受信装置12は、MAC層の機能によりブロックACKを送信装置11に送信する(S166)。
【0085】
このとき、受信装置12は、訂正結果Rの内容に応じてブロックACKの構成を切り替える。例えば、データ#4が復元できた場合、ブロックACKは、データ#4までの全てのデータが正常に受信されたことを示すものとする。一方、データ#4が復元できなかった場合、ブロックACKは、データ#3までの全てのデータが正常に受信されたことを示すものとする。このブロックACKを受信した送信装置11は、ブロックACKの内容に応じて、MAC層の機能によりデータ#5〜#8、或いは、データ#5〜#8及び#4を受信装置12へと送信する(S167)。その後、ブロックACKの送信、データの送信、欠損検出、データの訂正、消失訂正などの処理が実行される。
【0086】
変形例1の場合、消失訂正に失敗した場合には欠損データが再送されるため、伝送品質が維持される。また、消失訂正に成功した場合には欠損データの再送が行われないため、負荷の低減と伝送効率の向上とを達成することが可能になる。
【0087】
以上、本実施形態に係る送信装置11及び受信装置12の動作について説明した。
【0088】
(2−2−3:(補遺)欠損データの復元方法)
ここで、図22を参照しながら、消失訂正による欠損データの復元方法について説明を補足する。図22は、消失訂正による欠損データの復元方法を模式的に示した説明図である。なお、ここで説明する欠損データの復元手法は一例であり、利用可能な欠損データの復元手法はこれに限定されるものではない。
【0089】
例えば、データ#1〜#4が送信され、伝送経路においてデータ#2が欠損した場合について考えてみよう。この場合、データ#1〜#4についてビット毎に排他的論理和を演算して得られる演算結果(Result)を用いると、データ#1、#3、#4からデータ#2を復元することが可能になる。具体的には、図22に示すように、データ#1、#3、#4、及び演算結果Resultについてビット毎に排他的論理和を演算すると、データ#2が得られる。なお、上記の演算結果Resultは、送信側上位層により算出され、受信側上位層へと提供される。また、ここではデータ#2を復元する演算内容について説明したが、他のデータについても同様である。
【0090】
以上、消失訂正による欠損データの復元方法について簡単に説明を補足した。
【0091】
[2−3:低遅延要求の通知方法]
ここで、低遅延要求の通知方法について説明する。
【0092】
(2−3−1:ユーザ操作による低遅延要求の通知)
まず、図23を参照しながら、ユーザ操作による低遅延要求の通知方法について説明する。図23は、低遅延要求を通知する際にユーザ操作に利用されるユーザインターフェースの一例を示した説明図である。
【0093】
なお、このユーザインターフェースの表示及びユーザインターフェースに対するユーザ操作の検出などの処理は、受信装置12に搭載された入出力部(非図示)により実行される。例えば、ユーザインターフェース表示は、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、ELD(ElectroLuminescent Display)などのディスプレイデバイスを用いて実現可能である。また、ユーザ操作の検出は、タッチセンサ、キーボード、マウス、リモートコントローラ、ボタンなどの入力デバイスを用いて実現可能である。
【0094】
上記のような入出力部は、図23に示すような選択画面を表示する。この選択画面には、例えば、リオーダ処理を無効にしたいパケットの送信元を選択するためのMACアドレスが表示される。そのため、MACアドレス「AA−AA−AA−AA−AA−AA」を選択したいユーザは、当該MACアドレスの左側に表示されたチェック欄にチェックを入れればよい。
【0095】
また、この選択画面には、リオーダ処理を無効にしたいパケットのトラフィックID(以下、TID)が表示される。そのため、リオーダ処理を無効にしたいパケットが有するTIDを選択したいユーザは、当該TIDの左側に表示されたチェック欄にチェックを入れればよい。なお、上記のTIDは、パケットが格納されるキューを識別するために利用される識別情報である。
【0096】
上記のようにしてチェック欄にチェックを入れた後、OKボタンを押下することにより、対象となるパケットに対するリオーダ処理の無効化が有効になる。なお、MACアドレスの代わりに、他の情報を使用することも可能である。例えば、送信装置11のマシン名やIPアドレスなどをMACアドレスの代わりに使用する方法が考えられる。また、TIDの代わりに、他の情報を使用することも可能である。例えば、TIDの代わりにポート番号などを使用する方法が考えられる。
【0097】
(2−3−2:メッセージングを利用した低遅延要求の通知)
次に、図24を参照しながら、送信装置11から受信装置12へのメッセージングを利用した低遅延要求の通知方法について説明する。図24は、IEEE802.11規格で定義されたマネジメントアクションフレームの構成を示した説明図である。
【0098】
メッセージングを利用する場合、送信装置11は、トラフィックの送信に先だってリオーダ処理の無効を要求する低遅延要求を受信装置12に送信する。このとき、送信装置11は、受信側MAC層では読み出されず、受信側上位層において読み出されるデータパケットに低遅延要求を格納(所謂カプセル化)して送信する。また、送信装置11は、低遅延要求と共に、利用するブロックACKの構成を示す情報(例えば、上記ケース1及び2、変形例1及び2などの中から利用する形式を特定するための情報)をカプセル化して受信装置12に送信する。受信装置12は、このマネジメントアクションフレームに格納されたメッセージを解釈し、低遅延要求の有無に応じて処理を切り替える。
【0099】
また、受信装置12は、上記のメッセージを送信してきた送信装置11との間のトラフィックに限り、そのメッセージに応じた処理を実行する。例えば、送信装置11(A)と送信装置11(B)とがシステム内に存在しているとしよう。そして、送信装置11(A)から、リオーダ処理の無効化を要求する低遅延要求が格納されたメッセージを受信した場合、受信装置12は、送信装置11(A)との間のトラフィックに限り、リオーダ処理の無効化を実施する。また、メッセージを送信する際に、リオーダ処理を無効化するトラフィックをTIDで指定するような仕組みにする方法も考えられる。この方法を用いると、低遅延処理が要求されないトラフィックに対してはリオーダ処理を無効化せずに済むようになり、リオーダ処理の無効化を適用する範囲を適切に制限できるようになる。
【0100】
なお、マネジメントアクションフレームを使用する場合、例えば、「Category」フィールドに「127」を設定することで、このフレームをベンダ独自の実装形態にすることが可能になる。例えば、ベンダを識別するために使用されるOUI(Organizationally Unique Identifier)の後段に存在する「Message」フィールドを、低遅延要求などを格納するためのフィールドとして使用することができるようになる。
【0101】
また、メッセージを記載するためのフレームとして、例えば、図25のような構成を有するデータフレームを使用することもできる。この場合、例えば、送信装置11は、LLC−SNAPヘッダの後段にメッセージを格納して受信装置12に送信する。LLC−SNAPヘッダの後段に位置する部分は、上位層により読み出される部分である。そのため、LLC−SNAPヘッダの後段にメッセージを格納することにより、メッセージがカプセル化される。
【0102】
(2−3−3:ヘッダ情報を利用した低遅延要求の通知)
次に、図26及び図27を参照しながら、ヘッダ情報を利用した低遅延要求の通知方法について説明する。図26は、データフレーム(IPヘッダを含む)の詳細な構成を示した説明図である。一方、図27は、データフレーム(RTPヘッダを含む)の詳細な構成を示した説明図である。
【0103】
ここでは、送信装置11からデータが送信される前に低遅延要求を検出するのではなく、送信装置11から送信されたデータのヘッダ情報を解釈して低遅延要求を検出する方法について紹介する。この方法は、上位層において使用されるヘッダ部に低遅延要求の有無を示す情報を格納するためのフィールドを用意しておき、このフィールドに設定された情報を解釈して低遅延要求の検出を行うというものである。
【0104】
例えば、図26に示すように、IPヘッダの「Type Of Service」フィールドと「Protocol」フィールドとを組み合わせて利用する。具体的には、「Type Of Service」フィールドに低遅延要求を示す情報が設定され、「Protocol」フィールドにUDPを示す値が設定されている場合に、受信装置12は、リオーダ処理の無効化が要求されていると判断する。
【0105】
なお、リオーダ処理の無効化を適用する範囲を制限するために、送信元を指定するためのMACアドレスやTIDを利用してもよい。例えば、低遅延要求が検出されたパケットからMACアドレスやTIDを検出し、そのMACアドレスやTIDにより適用範囲を制限する方法が考えられる。また、図27に示すように、RTPヘッダの「Payload Type」フィールドに低遅延要求を示す情報を格納する方法も考えられる。
【0106】
以上、本技術の一実施形態について説明した。
【0107】
<3:まとめ>
最後に、本実施形態の技術的思想について簡単に纏める。以下に記載する技術的思想は、例えば、PC、携帯電話、ゲーム機、情報端末、情報家電、映像機器、セットトップボックス、録画再生装置、音楽プレーヤ、カーナビゲーションシステム等、通信機能を搭載した種々の情報処理装置(通信装置)に対して適用することができる。
【0108】
上記の通信装置の機能構成は以下のように表現することができる。例えば、下記(1)に記載の通信装置は、2以上のパケットを受信したタイミングで応答パケットを送信側へと送信する構成を有する。この構成を適用すると、1つ1つのパケットに対して応答パケットを送信する構成よりも、オーバーヘッドが削減される分だけスループットを向上させることが可能になる。また、下記(1)に記載の通信装置は、エラーが発生していないパケットについてはリオーダ処理を施さずに上位層へと転送する。そのため、リオーダ処理によって生じる遅延に起因してデータパケットの有効期限が切れてしまう可能性を低減することができる。
【0109】
さらに、下記(1)に記載の通信装置は、パケット群の中でエラーが発生していないパケットのうち、最後に受信されたパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する構成を有する。例えば、4個のパケットを含むパケット群を受信する際に、2番目のパケットが欠損したケースについて考えてみよう。この場合、下記(1)に記載の通信装置は、1〜4番目のパケットにエラーが発生していないことを示す応答パケットを送信側へと送信する。そのため、送信側は、欠損した2番目のパケットを再送しない。
【0110】
但し、欠損した2番目のパケットは、エラー訂正部により復元される。そのため、上位層のアプリケーションには、1〜4番目のパケットが入力される。また、2番目のパケットに関する再送処理が発生しないため、その分だけ高い伝送効率が実現される。このように、データパケットを上位層へと転送するタイミング(リオーダ処理の無効化)、応答パケットの送信タイミング、応答パケットの構成に工夫を凝らすことにより、スループットを向上させることが可能になる。
【0111】
(1)
パケットを受信する受信部と、
2以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信する応答送信部と、
エラーが発生していないパケットを上位層へと転送するパケット転送部と、
前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するエラー訂正部と、
を備え、
前記応答送信部は、
前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、
通信装置。
【0112】
(2)
前記応答送信部は、
前記上位層から低遅延処理を要求されていない場合、前記パケット群の中でエラーが発生した全てのパケットに関する情報を含む応答パケットを送信し、
前記上位層から低遅延処理を要求されている場合、前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、
上記(1)に記載の通信装置。
【0113】
(3)
前記応答送信部は、前記エラー訂正部による復元処理の完了後、前記エラー訂正部によるデータの復元に成功したパケットを再送しないように要求する情報を前記応答パケットに含めて送信側へと送信する、
上記(1)又は(2)に記載の通信装置。
【0114】
(4)
前記エラー訂正部によりデータが復元されたパケットと同じ内容のパケットが前記送信側から再送された場合に、当該パケットを破棄する重複パケット破棄部をさらに備える、
上記(1)〜(3)のいずれか1項に記載の通信装置。
【0115】
(5)
前記低遅延処理の要求は、ユーザ操作に応じて前記上位層により発行される、
上記(2)に記載の通信装置。
【0116】
(6)
前記低遅延処理の要求は、前記送信側から送信された所定の要求メッセージに応じて前記上位層により発行される、
上記(2)に記載の通信装置。
【0117】
(7)
前記所定の要求メッセージは、前記上位層において読み出されるデータパケット内に格納して送信される、
上記(6)に記載の通信装置。
【0118】
(8)
前記低遅延処理の要求は、前記送信側から送信されるパケットのヘッダ情報に基づいて低遅延処理が必要と判断された場合に前記上位層により発行される、
上記(2)に記載の通信装置。
【0119】
(9)
受信されたパケットのうち、エラーが発生していないパケットを上位層へと転送するステップと、
前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するステップと、
2以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信するステップと、
を含み、
前記送信するステップは、
前記パケット群の中でエラーが発生していないパケットのうち、最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信するステップである、
通信方法。
【0120】
(10)
パケットを送信する送信部と、
受信装置から受信した応答パケットに含まれる情報に基づき、エラーが発生したパケットを前記送信部に再送させる再送制御部と、
を有する、送信装置と;
パケットを受信する受信部と、
2以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信する応答送信部と、
エラーが発生していないパケットを上位層へと転送するパケット転送部と、
前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するエラー訂正部と、
を有する、受信装置と;
を含み、
前記応答送信部は、
前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、
通信システム。
【0121】
(備考)
上記の受信装置12は、通信装置の一例である。上記の無線インターフェース121は、受信部の一例である。上記の伝送処理部122は、応答送信部、パケット転送部、重複パケット破棄部の一例である。上記のデータ処理部124は、エラー訂正部の一例である。上記の無線インターフェース114は、送信部の一例である。上記の伝送処理部113は、再送制御部の一例である。
【0122】
以上、添付図面を参照しながら本技術に係る好適な実施形態について説明したが、本技術はここで開示した構成例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本技術の技術的範囲に属するものと了解される。
【0123】
例えば、上記の説明においてはAPとSTAとの間の無線通信を例に挙げたが、通信装置の組み合わせはこれに限定されない。また、データの送信方向は、上りリンク及び下りリンクのいずれでも構わない。さらに、本実施形態に係る技術は、ダイレクトリンクやアドホックネットワークなどの通信形態に対しても適用可能である。
【符号の説明】
【0124】
5 通信網
10 通信システム
11 送信装置
111 有線インターフェース
112 データ処理部
113 伝送処理部
114 無線インターフェース
12 受信装置
121 無線インターフェース
122 伝送処理部
123 記憶部
124 データ処理部


【特許請求の範囲】
【請求項1】
パケットを受信する受信部と、
2以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信する応答送信部と、
エラーが発生していないパケットを上位層へと転送するパケット転送部と、
前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するエラー訂正部と、
を備え、
前記応答送信部は、
前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、
通信装置。
【請求項2】
前記応答送信部は、
前記上位層から低遅延処理を要求されていない場合、前記パケット群の中でエラーが発生した全てのパケットに関する情報を含む応答パケットを送信し、
前記上位層から低遅延処理を要求されている場合、前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、
請求項1に記載の通信装置。
【請求項3】
前記応答送信部は、前記エラー訂正部による復元処理の完了後、前記エラー訂正部によるデータの復元に成功したパケットを再送しないように要求する情報を前記応答パケットに含めて送信側へと送信する、
請求項1に記載の通信装置。
【請求項4】
前記エラー訂正部によりデータが復元されたパケットと同じ内容のパケットが前記送信側から再送された場合に、当該パケットを破棄する重複パケット破棄部をさらに備える、
請求項1に記載の通信装置。
【請求項5】
前記低遅延処理の要求は、ユーザ操作に応じて前記上位層により発行される、
請求項2に記載の通信装置。
【請求項6】
前記低遅延処理の要求は、前記送信側から送信された所定の要求メッセージに応じて前記上位層により発行される、
請求項2に記載の通信装置。
【請求項7】
前記所定の要求メッセージは、前記上位層において読み出されるデータパケット内に格納して送信される、
請求項6に記載の通信装置。
【請求項8】
前記低遅延処理の要求は、前記送信側から送信されるパケットのヘッダ情報に基づいて低遅延処理が必要と判断された場合に前記上位層により発行される、
請求項2に記載の通信装置。
【請求項9】
受信されたパケットのうち、エラーが発生していないパケットを上位層へと転送するステップと、
前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するステップと、
2以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信するステップと、
を含み、
前記送信するステップは、
前記パケット群の中でエラーが発生していないパケットのうち、最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信するステップである、
通信方法。
【請求項10】
パケットを送信する送信部と、
受信装置から受信した応答パケットに含まれる情報に基づき、エラーが発生したパケットを前記送信部に再送させる再送制御部と、
を有する、送信装置と;
パケットを受信する受信部と、
2以上のパケットを含むパケット群が受信される度に、当該パケット群の中でエラーが発生したパケットに関する情報を含む応答パケットを送信側へと送信する応答送信部と、
エラーが発生していないパケットを上位層へと転送するパケット転送部と、
前記エラーが発生していないパケットのデータを利用してエラーが発生したパケットのデータを復元するエラー訂正部と、
を有する、受信装置と;
を含み、
前記応答送信部は、
前記パケット群の中でエラーが発生していないパケットのうち、前記受信部により最後に受信されたパケットを検出し、検出したパケットよりも以前に受信された全てのパケットについてエラーが発生していないことを示す応答パケットを送信する、
通信システム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2013−26820(P2013−26820A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−159724(P2011−159724)
【出願日】平成23年7月21日(2011.7.21)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】