(57)【特許請求の範囲】
【請求項１】
ネットワークを介して通信するための方法であって、
第１のデバイスから前記ネットワークの複数の経路を介して第２のデバイスに、一連のプロトコルデータユニット（ＰＤＵ）を送信することと、ここにおいて、前記一連のＰＤＵは、ネットワークレイヤからのパケットを複数の媒体アクセス制御（ＭＡＣ）レイヤＰＤＵにブロック化することにより生成され、前記一連のＰＤＵの各ＰＤＵは、ＭＡＣレイヤの関連するシーケンス番号を含み、前記一連のＰＤＵの第１のサブセットが前記複数の経路のうちの第1の経路を介して送信され、前記一連のＰＤＵの第２のサブセットが前記複数の経路のうちの第２の経路を介して送信され、前記シーケンス番号は、前記一連のＰＤＵのうちの１つのＰＤＵが前記複数の経路のうちのどの経路を横断するかに関係なく、前記一連のＰＤＵの間で一意であり、前記第１の経路は第１の通信媒体の第１の物理インターフェースに対応し、前記第２の経路は第２の通信媒体の第２の物理インターフェースに対応し、
前記一連のＰＤＵのうちの少なくとも１つの確認応答されないＰＤＵが前記第２のデバイスによって適切に受信されなかったことを指示する第１の選択的確認応答（ＳＡＣＫ）メッセージを前記第２のデバイスから前記第２の物理インターフェースを介して受信することと、前記第１のＳＡＣＫメッセージは、前記第１のサブセットおよび前記第２のサブセットの両方からの確認応答されないＰＤＵのシーケンス番号を指示し、
前記第１のＳＡＣＫメッセージを受信することに応答して再送されることが決定された第１のＰＤＵを、前記第１のＰＤＵの元の送信に使用された経路とは異なる経路で再送することと、前記第１のＰＤＵは、前記第１の経路を介して送信され、前記第１のＳＡＣＫメッセージによって指示された、前記確認応答されないＰＤＵであり、前記第１のＰＤＵは、前記第２の経路を介して再送され、
前記第１のＳＡＣＫメッセージを受信することに応答して、制御インジケータを送信することと、前記制御インジケータは、前記第１のデバイスが、第１のシーケンス番号より早い先行するシーケンス番号に関連付けられる確認応答されないＰＤＵを再送しないことを指示するために前記第１のシーケンス番号を含む、を備える、方法。
【請求項２】
前記再送することは、前記第１のＳＡＣＫメッセージを受信することに応答して、前記ネットワークの第２の経路を介して前記第１のＳＡＣＫメッセージによって指示された前記第１のＰＤＵを再送すること、を備え、前記第２の経路は前記第１の経路と比較して短い待ち時間である、請求項１に記載の方法。
【請求項３】
第１の確認応答されないＰＤＵについての推定される再送遅延および前記一連のＰＤＵに関連付けられる少なくとも１つのサービス品質要件に少なくとも部分的に基づいて、前記第１のＳＡＣＫメッセージによって指示された前記第１の確認応答されないＰＤＵを再送するかを決定することをさらに備える、請求項１に記載の方法。
【請求項４】
前記推定される再送遅延が前記少なくとも１つのサービス品質要件に関連付けられる遅延許容範囲しきい値より大きいことに少なくとも部分的に基づいて、前記第１の確認応答されないＰＤＵを再送するのをやめることをさらに備える、請求項３に記載の方法。
【請求項５】
前記制御インジケータは、制御メッセージを備える、請求項１に記載の方法。
【請求項６】
前記制御インジケータを送信することは、前記第１のＳＡＣＫメッセージによって指示された第１の確認応答されないＰＤＵを再送することを備え、前記制御インジケータは、前記第１の確認応答されないＰＤＵとともに含まれる、請求項１に記載の方法。
【請求項７】
前記シーケンス番号は、前記一連のＰＤＵからのデータを上位レイヤに前記一連のＰＤＵが送信された順序で送達するために前記第２のデバイスによって使用可能である、請求項１に記載の方法。
【請求項８】
前記第１の経路を介して送信される前記一連のＰＤＵは、パケットストリームに関連付けられるＰＤＵの前記第１のサブセットを備え、前記方法はさらに、
前記第１のデバイスから前記第２の経路を介して前記第２のデバイスに、前記パケットストリームに関連付けられるＰＤＵの前記第２のサブセットを送信することを備え、ＰＤＵの前記第２のサブセットの各ＰＤＵは関連するシーケンス番号を含む、請求項１に記載の方法。
【請求項９】
ＰＤＵの前記第１のサブセットおよびＰＤＵの前記第２のサブセットからのＰＤＵに関連付けられるシーケンス番号は前記パケットストリームのための前記ＰＤＵの間で一意である、請求項８に記載の方法。
【請求項１０】
前記一連のＰＤＵの各ＰＤＵ内に含まれる前記関連するシーケンス番号は、前記関連するシーケンス番号を含むように転用された仮想ローカルエリアネットワーク（ＶＬＡＮ）ヘッダ内に含まれる、請求項１に記載の方法。
【請求項１１】
第１のデバイスであって、
前記第１のデバイスからネットワークの複数の経路を介して第２のデバイスに、一連のプロトコルデータユニット（ＰＤＵ）を送信するように構成されるネットワークインターフェースと、ここにおいて、前記一連のＰＤＵは、ネットワークレイヤからのパケットを複数の媒体アクセス制御（ＭＡＣ）レイヤＰＤＵにブロック化することにより生成され、前記一連のＰＤＵの各ＰＤＵは、ＭＡＣレイヤの関連するシーケンス番号を含み、前記一連のＰＤＵの第１のサブセットが前記複数の経路のうちの第1の経路を介して送信され、前記一連のＰＤＵの第２のサブセットが前記複数の経路のうちの第２の経路を介して送信され、前記シーケンス番号は、前記一連のＰＤＵのうちの１つのＰＤＵが前記複数の経路のうちのどの経路を横断するかに関係なく、前記一連のＰＤＵの間で一意であり、前記第１の経路は第１の通信媒体の第１の物理インターフェースに対応し、前記第２の経路は第２の通信媒体の第２の物理インターフェースに対応し、
一連のプロトコルデータユニット（ＰＤＵ）のうちの少なくとも１つの確認応答されないＰＤＵが前記第２のデバイスによって適切に受信されなかったことを指示する第１のＳＡＣＫメッセージを第２のデバイスから前記第２の物理インターフェースを介して受信し、前記第１のＳＡＣＫメッセージは、前記第１のサブセットおよび前記第２のサブセットの両方からの確認応答されないＰＤＵのシーケンス番号を指示し、
前記第１のＳＡＣＫメッセージを受信することに応答して再送されることが決定された第１のＰＤＵを、前記第１のＰＤＵの元の送信に使用された経路とは異なる経路で再送し、前記第１のＰＤＵは、前記第１の経路を介して送信され、前記第１のＳＡＣＫメッセージによって指示された、前記確認応答されないＰＤＵであり、前記第１のＰＤＵは、前記第２の経路を介して再送され、
前記第１のＳＡＣＫメッセージの受信に応答して、制御インジケータを送信するように構成される選択的確認応答（ＳＡＣＫ）および再送（ＳＡＣＫ／再送）コントローラと、前記制御インジケータは、前記第１のデバイスが、第１のシーケンス番号より早い先行するシーケンス番号に関連付けられる確認応答されないＰＤＵを再送しないことを指示するために前記第１のシーケンス番号を含む、
を備える、第１のデバイス。
【請求項１２】
前記ＳＡＣＫ／再送コントローラはさらに、
前記第１のＳＡＣＫメッセージの前記受信に応答して、前記ネットワークの第２の経路を介して前記第１のＳＡＣＫメッセージによって指示された前記第１のＰＤＵを再送するように構成され、前記第２の経路は前記第１の経路と比較して短い待ち時間である、請求項１１に記載の第１のデバイス。
【請求項１３】
前記ＳＡＣＫ／再送コントローラはさらに、
第１の確認応答されないＰＤＵの推定される再送遅延および前記一連のＰＤＵに関連付けられる少なくとも１つのサービス品質要件に少なくとも部分的に基づいて、前記第１のＳＡＣＫメッセージによって指示された前記第１の確認応答されないＰＤＵを再送するかを決定するように構成される、請求項１１に記載の第１のデバイス。
【請求項１４】
前記ＳＡＣＫ／再送コントローラはさらに、
前記推定される再送遅延が前記少なくとも１つのサービス品質要件に関連付けられる遅延許容範囲しきい値より大きいことに少なくとも部分的に基づいて、前記第１の確認応答されないＰＤＵの再送をやめるように構成される、請求項１３に記載の第１のデバイス。
【請求項１５】
前記制御インジケータは、制御メッセージを備える、請求項１３に記載の第１のデバイス。
【請求項１６】
前記制御インジケータを送信するように構成される前記ＳＡＣＫ／再送コントローラは、前記ＳＡＣＫ／再送コントローラが、前記第１のＳＡＣＫメッセージによって指示された第１の確認応答されないＰＤＵを再送するようにさらに構成されることを備え、前記制御インジケータは、前記第１の確認応答されないＰＤＵとともに含まれる、請求項１１に記載の第１のデバイス。
【請求項１７】
前記シーケンス番号は、前記一連のＰＤＵからのデータを上位レイヤに前記一連のＰＤＵが送信された順序で送達するために前記第２のデバイスによって使用可能である、請求項１１に記載の第１のデバイス。
【請求項１８】
前記第１の経路を介して送信される前記一連のＰＤＵは、パケットストリームに関連付けられるＰＤＵの前記第１のサブセットを備え、前記ＳＡＣＫ／再送コントローラはさらに、
前記第１のデバイスから前記第２の経路を介して前記第２のデバイスに、前記パケットストリームに関連付けられるＰＤＵの前記第２のサブセットを送信するように構成され、ＰＤＵの前記第２のサブセットの各ＰＤＵは関連するシーケンス番号を含む、請求項１１に記載の第１のデバイス。
【請求項１９】
ＰＤＵの前記第１のサブセットおよびＰＤＵの前記第２のサブセットからのＰＤＵに関連付けられるシーケンス番号は前記パケットストリームのための前記ＰＤＵの間で一意である、請求項１８に記載の第１のデバイス。
【請求項２０】
命令を記憶した非一時的コンピュータ可読媒体であって、前記命令は、第１のデバイスのプロセッサによって実行されると、
前記第１のデバイスからネットワークの複数の経路を介して第２のデバイスに、一連のプロトコルデータユニット（ＰＤＵ）を送信することと、ここにおいて、前記一連のＰＤＵは、ネットワークレイヤからのパケットを複数の媒体アクセス制御（ＭＡＣ）レイヤＰＤＵにブロック化することにより生成され、前記一連のＰＤＵの各ＰＤＵは、ＭＡＣレイヤの関連するシーケンス番号を含み、前記一連のＰＤＵの第１のサブセットが前記複数の経路のうちの第1の経路を介して送信され、前記一連のＰＤＵの第２のサブセットが前記複数の経路のうちの第２の経路を介して送信され、前記シーケンス番号は、前記一連のＰＤＵのうちの１つのＰＤＵが前記複数の経路のうちのどの経路を横断するかに関係なく、前記一連のＰＤＵの間で一意であり、前記第１の経路は第１の通信媒体の第１の物理インターフェースに対応し、前記第２の経路は第２の通信媒体の第２の物理インターフェースに対応し、
前記一連のＰＤＵのうちの少なくとも１つの確認応答されないＰＤＵが前記第２のデバイスによって適切に受信されなかったことを指示する選択的確認応答（ＳＡＣＫ）メッセージを前記第２のデバイスから前記第２の物理インターフェースを介して受信することと、前記第１のＳＡＣＫメッセージは、前記第１のサブセットおよび前記第２のサブセットの両方からの確認応答されないＰＤＵのシーケンス番号を指示し、
前記第１のＳＡＣＫメッセージを受信することに応答して再送されることが決定された第１のＰＤＵを、前記第１のＰＤＵの元の送信に使用された経路とは異なる経路で再送することと、前記第１のＰＤＵは、前記第１の経路を介して送信され、前記第１のＳＡＣＫメッセージによって指示された、前記確認応答されないＰＤＵであり、前記第１のＰＤＵは、前記第２の経路を介して再送され、
前記ＳＡＣＫメッセージの受信に応答して、制御インジケータを送信することと、前記制御インジケータは、前記第１のデバイスが、第１のシーケンス番号より早い先行するシーケンス番号に関連付けられる確認応答されないＰＤＵを再送しないことを指示するために前記第１のシーケンス番号を含む、
を前記第１のデバイスに行わせる、非一時的コンピュータ可読媒体。
【請求項２１】
前記命令は、前記第１のデバイスの前記プロセッサによって実行されると、
第１の確認応答されないＰＤＵの推定される再送遅延および前記一連のＰＤＵに関連付けられる少なくとも１つのサービス品質要件に少なくとも部分的に基づいて、前記ＳＡＣＫメッセージによって指示された前記第１の確認応答されないＰＤＵを再送するかを決定すること
を前記第１のデバイスに行わせる、請求項２０に記載の非一時的コンピュータ可読媒体。
【請求項２２】
前記命令は、前記第１のデバイスの前記プロセッサによって実行されると、
前記推定される再送遅延が前記少なくとも１つのサービス品質要件に関連付けられる遅延許容範囲しきい値より大きいことに少なくとも部分的に基づいて、前記第１の確認応答されないＰＤＵを再送するのをやめさせること
を前記第１のデバイスに行わせる、請求項２１に記載の非一時的コンピュータ可読媒体。
【請求項２３】
前記制御インジケータは、制御メッセージを備える、請求項２０に記載の非一時的コンピュータ可読媒体。
【請求項２４】
前記命令は、前記第１のデバイスの前記プロセッサによって実行されると、
前記ＳＡＣＫメッセージによって指示された第１の確認応答されないＰＤＵを再送することを前記第１のデバイスに行わせ、前記制御インジケータは、前記第１の確認応答されないＰＤＵとともに含まれる、請求項２０に記載の非一時的コンピュータ可読媒体。
【請求項２５】
ネットワークを介して通信するための装置であって、前記装置は、
第１のデバイスから前記ネットワークの複数の経路を介して第２のデバイスに、一連のプロトコルデータユニット（ＰＤＵ）を送信するための手段と、ここにおいて、前記一連のＰＤＵは、ネットワークレイヤからのパケットを複数の媒体アクセス制御（ＭＡＣ）レイヤＰＤＵにブロック化することにより生成され、前記一連のＰＤＵの各ＰＤＵは、ＭＡＣレイヤの関連するシーケンス番号を含み、前記一連のＰＤＵの第１のサブセットが前記複数の経路のうちの第1の経路を介して送信され、前記一連のＰＤＵの第２のサブセットが前記複数の経路のうちの第２の経路を介して送信され、前記シーケンス番号は、前記一連のＰＤＵのうちの１つのＰＤＵが前記複数の経路のうちのどの経路を横断するかに関係なく、前記一連のＰＤＵの間で一意であり、前記第１の経路は第１の通信媒体の第１の物理インターフェースに対応し、前記第２の経路は第２の通信媒体の第２の物理インターフェースに対応し、
前記一連のＰＤＵのうちの少なくとも１つの確認応答されないＰＤＵが前記第２のデバイスによって適切に受信されなかったことを指示する選択的確認応答（ＳＡＣＫ）メッセージを前記第２のデバイスから前記第２の物理インターフェースを介して受信するための手段と、前記第１のＳＡＣＫメッセージは、前記第１のサブセットおよび前記第２のサブセットの両方からの確認応答されないＰＤＵのシーケンス番号を指示し、
前記第１のＳＡＣＫメッセージを受信することに応答して再送されることが決定された第１のＰＤＵを、前記第１のＰＤＵの元の送信に使用された経路とは異なる経路で再送するための手段と、前記第１のＰＤＵは、前記第１の経路を介して送信され、前記第１のＳＡＣＫメッセージによって指示された、前記確認応答されないＰＤＵであり、前記第１のＰＤＵは、前記第２の経路を介して再送され、
前記ＳＡＣＫメッセージを受信することに応答して、制御インジケータを送信するための手段と、前記制御インジケータは、前記第１のデバイスが、第１のシーケンス番号より早い先行するシーケンス番号に関連付けられる確認応答されないＰＤＵを再送しないことを指示するために前記第１のシーケンス番号を含む、
を備える、装置。
【請求項２６】
前記再送するための手段は、第１の確認応答されないＰＤＵの推定される再送遅延および前記一連のＰＤＵの少なくとも１つのサービス品質要件に少なくとも部分的に基づいて、前記ＳＡＣＫメッセージにおいて指示された前記第１の確認応答されないＰＤＵを再送するかを決定するための手段をさらに備える、請求項２５に記載の装置。
【請求項２７】
前記推定される再送遅延が前記少なくとも１つのサービス品質要件に関連付けられる遅延しきい値より大きいことに少なくとも部分的に基づいて、前記第１の確認応答されないＰＤＵを再送するのをやめるための手段をさらに備える、請求項２６に記載の装置。
【請求項２８】
前記制御インジケータは、制御メッセージにまたは再送されるＰＤＵのヘッダに含まれる、請求項２６に記載の装置。
【請求項２９】
前記一連のＰＤＵは、パケットストリームに関連付けられている、請求項１に記載の方法。
【請求項３０】
前記一連のＰＤＵ内に含まれる前記シーケンス番号は、媒体アクセス制御（ＭＡＣ）レイヤに割り当てられ、前記パケットストリームは、前記ＭＡＣより上位のレイヤに関連付けられる、請求項２９に記載の方法。
【請求項３１】
前記第１のサブセットを送信することと、前記第２のサブセットを送信することとは、
前記第１の経路および前記第２の経路の待ち時間を決定することと、
前記一連のＰＤＵが近い順序で到着するように、前記第１の経路および前記第２の経路の前記待ち時間に少なくとも部分的に基づいて、それぞれ、前記第１の経路および前記第２の経路を介して前記第１のサブセットおよび前記第２のサブセットの送信をスケジューリングすることと、
を備える、請求項２９に記載の方法。
【発明の詳細な説明】
【優先権の主張】
【０００１】
関連出願
本出願は、２０１３年３月８日に出願された米国特許出願第１３／７９０，６３１号の優先権の利益を主張する。
【技術分野】
【０００２】
本発明の主題の実施形態は、一般にネットワーク通信の分野に関し、より詳細には、送信確認応答と、確認応答されない送信の再送とに関する。
【背景技術】
【０００３】
[0003]ハイブリッドネットワーク（コンバージェントデジタルホームネットワーク（ＣＤＨＮ：Convergent Digital Home Network）、またはＰ１９０５．１ネットワークなど）は、一般に、異なるネットワーク技術および通信媒体にわたって通信ネットワークを相互接続することによって形成される。ハイブリッドネットワークは、しばしばマルチインターフェースであり、複数のネットワーキング技術上で動作することが可能な、ハイブリッド通信デバイス（本明細書では「ハイブリッドデバイス」と呼ぶ）を含むことができる。ハイブリッドデバイス（ＨＤ）は、複数のインターフェースを有することも有しないこともあるが、それがハイブリッドネットワーク中のマルチインターフェースデバイスに関連するプロトコルを使用するように構成された場合、ハイブリッドデバイスと見なされる。たとえば、各ハイブリッドデバイスは、異なるネットワーク技術（たとえば、イーサネット（登録商標）、ＩＥＥＥ８０２．１１ＷＬＡＮ、Ｃｏａｘ、電力線通信（ＰＬＣ：powerline communication）など）を使用して複数のインターフェースをサポートすることができる。
【０００４】
[0004]ＩＥＥＥ  Ｐ１９０５．１ドラフト標準規格は、いくつかの普及しているネットワーク技術：電力線上のＩＥＥＥ１９０１、ワイヤレスのためのＩＥＥＥ８０２．１１、ツイストペア線上のイーサネット、ｃｏａｘ上のＭｏＣＡ１．１に対して共通のインターフェースを提供する、複数のホームネットワーク技術のためのアブストラクションレイヤ（ＡＬ）を定義する。本開示において、ＨＤがＩＥＥＥＰ１９０５．１アブストラクションレイヤおよび関連するプロトコルを含む場合には、Ｐ１９０５．１準拠と見なされる。アブストラクションレイヤは、一般に、すなわちＨＤの各インターフェースに関連するインターフェースレイヤ（ＩＬ）媒体アクセス制御（ＭＡＣ）アドレスに加えて、一意のＭＡＣアドレスを有する。Ｐ１９０５．１プロトコルは、トポロジディスカバリメッセージ、トポロジ問合せ／応答メッセージ、またはハイブリッドネットワークのトポロジについての情報を共有するためにハイブリッドデバイス間で通信される他のメッセージのようなメッセージを定義する。
【０００５】
[0005]複数のハイブリッドデバイスをもつハイブリッドネットワークでは、ソースハイブリッドデバイスから宛先ハイブリッドデバイスへの複数の異なる経路が存在する場合がある。第１のデバイスは、ハイブリッドネットワークを介して、第２のデバイスにパケットストリームを送ることができる。異なる経路を介してパケットが送信されることに起因して、または複数の経路間の負荷バランシングに起因して、宛先デバイスにおいて、異なる順序のパケット送達が生じる可能性がある。１つのパケットストリームの場合に、パケットの確実な送達が望ましい場合がある。パケットストリームに関連付けられる第１のアプリケーションは、第２のアプリケーションとは異なる遅延許容範囲を有する場合がある。
【発明の概要】
【０００６】
[0006]パケットストリームに関連付けられる失われたプロトコルデータユニット（ＰＤＵ）、または破損したプロトコルデータユニット（ＰＤＵ）の改善された確認応答および選択的再送のための種々の実施形態が開示される。
【０００７】
[0007]一実施形態では、一連のプロトコルデータユニット（ＰＤＵ）が、第１のデバイスからネットワークの少なくとも第１の経路を介して第２のデバイスに送信される。一連のＰＤＵは媒体アクセス制御（ＭＡＣ）レイヤシーケンス番号を含む。選択的確認応答（ＳＡＣＫ）メッセージは第２のデバイスから受信され、ＳＡＣＫメッセージは、第２のデバイスによって適切に受信されなかった、失われたまたは破損したＰＤＵの少なくとも１つのシーケンス番号を指示する。ＳＡＣＫメッセージに応答して、失われたまたは破損したＰＤＵが、第１の経路とは異なるネットワークの第２の経路を介して、第２のデバイスに再送される。
【０００８】
[0008]別の実施形態では、推定される再送遅延が、一連のＰＤＵのサービス品質要件に関連付けられる遅延許容範囲より大きい場合には、１つまたは複数の失われたまたは破損したＰＤＵは再送されない。代わりに、特定のシーケンス番号より早いＰＤＵが送信されないことを指示するために、制御メッセージ（すなわち、「カットロス」メッセージ）が送信され得る。
【０００９】
[0009]いくつかの実施形態では、第１のデバイスから第２のデバイスに送信するための方法であって、その方法は、第１のデバイスからネットワークの少なくとも第１の経路を介して第２のデバイスに、媒体アクセス制御（ＭＡＣ）レイヤシーケンス番号を含む一連のプロトコルデータユニット（ＰＤＵ）を送信することと、第２のデバイスから、第２のデバイスによって適切に受信されなかった、失われたまたは破損したＰＤＵの少なくとも１つのシーケンス番号を指示する選択的確認応答（ＳＡＣＫ）メッセージを受信することと、ネットワークの第２の経路を介して第２のデバイスに失われたまたは破損したＰＤＵを再送することと、を備える。
【００１０】
[0010]いくつかの実施形態では、第２の経路は第１の経路に対して短い待ち時間である。
【００１１】
[0011]いくつかの実施形態では、その方法はさらに、失われたまたは破損したＰＤＵを再送する前に、推定される再送遅延および一連のＰＤＵのサービス品質要件に基づいて、ＳＡＣＫメッセージにおいて指示される特定の失われたまたは破損したＰＤＵを再送するか否かを決定することを備える。
【００１２】
[0012]いくつかの実施形態では、その方法はさらに、推定される再送遅延が一連のＰＤＵのサービス品質要件に関連付けられる遅延許容範囲より大きい場合には、１つまたは複数の特定の失われたまたは破損したＰＤＵを再送するのをやめることを備える。
【００１３】
[0013]いくつかの実施形態では、その方法はさらに、ＳＡＣＫメッセージを受信するのに応答して制御メッセージを送信することを備え、制御メッセージは、特定のシーケンス番号より早いＰＤＵが再送されないことを指示する。
【００１４】
[0014]いくつかの実施形態では、その方法はさらに、特定のシーケンス番号より早いＰＤＵが再送されないことを指示する制御インジケータを送信することを備える。
【００１５】
[0015]いくつかの実施形態では、制御インジケータは、再送される、失われたまたは破損したＰＤＵとともに含まれる。
【００１６】
[0016]いくつかの実施形態では、ＰＤＵが送信された順序でＰＤＵからのデータを上位レイヤに送達するために、第２のデバイスによってＭＡＣレイヤシーケンス番号が使用可能である。
【００１７】
[0017]いくつかの実施形態では、第１の経路を介して送信される一連のＰＤＵは、パケットストリームに関連付けられるＰＤＵの第１のサブセットを備え、その方法はさらに、第１のデバイスから第２の経路を介して第２のデバイスに、同じパケットストリームに関連付けられるＰＤＵの第２のサブセットを送信することを備え、ＰＤＵの第２のサブセットもＭＡＣレイヤシーケンス番号を含む。
【００１８】
[0018]いくつかの実施形態では、ＰＤＵの第１のサブセットおよびＰＤＵの第２のサブセットからのＰＤＵのそれぞれについてのＭＡＣレイヤシーケンス番号は、パケットストリームのためのＰＤＵの中で一意である。
【００１９】
[0019]いくつかの実施形態では、ＳＡＣＫメッセージは、ＰＤＵの第１のサブセットおよびＰＤＵの第２のサブセットの両方からの失われたまたは破損したＰＤＵのシーケンス番号を指示する。
【００２０】
[0020]いくつかの実施形態では、ＳＡＣＫメッセージを受信することは、ＰＤＵの第１のサブセットに関する確認応答フィードバックに関連付けられる第１のＳＡＣＫメッセージを受信することを備え、その方法はさらに、ＰＤＵの第２のサブセットに関する確認応答フィードバックに関連付けられる第２のＳＡＣＫメッセージを受信することを備える。
【００２１】
[0021]いくつかの実施形態では、第１のＳＡＣＫメッセージおよび第２のＳＡＣＫメッセージは、第２のデバイスから第１のデバイスへの同じフィードバック経路を介して、第１のデバイスにおいて受信される。
【００２２】
[0022]いくつかの実施形態では、ＭＡＣレイヤシーケンス番号は、ＭＡＣレイヤシーケンス番号を含むように再度目的を持たせた（repurposed）仮想ローカルエリアネットワーク（ＶＬＡＮ）ヘッダ内のＰＤＵに含まれる。
【００２３】
[0023]いくつかの実施形態では、第１のデバイスは、ネットワークに結合され、ネットワークの少なくとも第１の経路を介して第２のデバイスに一連のプロトコルデータユニット（ＰＤＵ）を送信するように構成され得るネットワークインターフェースと、一連のＰＤＵに関連付けられる媒体アクセス制御（ＭＡＣ）レイヤシーケンス番号を保持するためのシーケンスユニットと、第２のデバイスから、第２のデバイスによって適切に受信されなかった、失われたまたは破損したＰＤＵの少なくとも１つのシーケンス番号を指示するＳＡＣＫメッセージ受信し、失われたまたは破損したＰＤＵをネットワークの第２の経路を介して第２のデバイスに再送するように構成される選択的確認応答（ＳＡＣＫ）および再送（ＳＡＣＫ／再送）コントローラと、を備える。
【００２４】
[0024]いくつかの実施形態では、第２の経路は第１の経路に対して短い待ち時間である。
【００２５】
[0025]いくつかの実施形態では、ＳＡＣＫ／再送コントローラはさらに、失われたまたは破損したＰＤＵを再送する前に、推定される再送遅延および一連のＰＤＵのサービス品質要件に基づいて、ＳＡＣＫメッセージにおいて指示される特定の失われた破損したＰＤＵを再送するか否かを決定するように構成される。
【００２６】
[0026]いくつかの実施形態では、ＳＡＣＫ／再送コントローラはさらに、推定される再送遅延が一連のＰＤＵのサービス品質要件に関連付けられる遅延許容範囲より大きい場合には、１つまたは複数の特定の失われたまたは破損したＰＤＵを再送するのをやめるように構成される。
【００２７】
[0027]いくつかの実施形態では、ＳＡＣＫ／再送コントローラはさらに、ＳＡＣＫメッセージを受信するのに応答して制御メッセージを送信するように構成され、制御メッセージは、特定のシーケンス番号より早いＰＤＵが再送されないことを指示する。
【００２８】
[0028]いくつかの実施形態では、ＳＡＣＫ／再送コントローラはさらに、特定のシーケンス番号より早いＰＤＵが再送されないことを指示する制御インジケータを送信するように構成される。
【００２９】
[0029]いくつかの実施形態では、制御インジケータは、再送される失われたまたは破損したＰＤＵとともに含まれる。
【００３０】
[0030]いくつかの実施形態では、ＰＤＵが送信された順序でＰＤＵからのデータを上位レイヤに送達するために、第２のデバイスによってＭＡＣレイヤシーケンス番号が使用可能である。
【００３１】
[0031]いくつかの実施形態では、第１の経路を介して送信される一連のＰＤＵは、パケットストリームに関連付けられるＰＤＵの第１のサブセットを備え、ＳＡＣＫ／再送コントローラはさらに、第１のデバイスから第２の経路を介して第２のデバイスに、同じパケットストリームに関連付けられるＰＤＵの第２のサブセットを送信するように構成され、ＰＤＵの第２のサブセットもＭＡＣレイヤシーケンス番号を含む。
【００３２】
[0032]いくつかの実施形態では、ＰＤＵの第１のサブセットおよびＰＤＵの第２のサブセットからのＰＤＵごとのＭＡＣレイヤシーケンス番号は、パケットストリームのためのＰＤＵの中で一意である。
【００３３】
[0033]いくつかの実施形態では、ＳＡＣＫメッセージは、ＰＤＵの第１のサブセットおよびＰＤＵの第２のサブセットの両方からの失われたまたは破損したＰＤＵのシーケンス番号を指示する。
【００３４】
[0034]いくつかの実施形態では、ＳＡＣＫメッセージを受信することは、ＰＤＵの第１のサブセットに関する確認応答フィードバックに関連付けられる第１のＳＡＣＫメッセージを受信することを備え、ＳＡＣＫ／再送コントローラはさらに、ＰＤＵの第２のサブセットに関する確認応答フィードバックに関連付けられる第２のＳＡＣＫメッセージを受信するように構成される。
【００３５】
[0035]いくつかの実施形態では、第１のＳＡＣＫメッセージおよび第２のＳＡＣＫメッセージは、第２のデバイスから第１のデバイスへの同じフィードバック経路を介して、第１のデバイスにおいて受信される。
【００３６】
[0036]いくつかの実施形態では、コンピュータプログラムコードを記憶するコンピュータ可読媒体であって、コンピュータプログラムコードは、第１のデバイスのプロセッサによって実行されるときに、第１のデバイスに、第１のデバイスからネットワークの少なくとも第１の経路を介して第２のデバイスに、媒体アクセス制御（ＭＡＣ）レイヤシーケンス番号を含む一連のプロトコルデータユニット（ＰＤＵ）を送信させる命令と、第２のデバイスから、第２のデバイスによって適切に受信されなかった、失われたまたは破損したＰＤＵの少なくとも１つのシーケンス番号を指示する選択的確認応答（ＳＡＣＫ）メッセージを受信させる命令と、ネットワークの第２の経路を介して第２のデバイスに失われたまたは破損したＰＤＵを再送させる命令とを備える。
【００３７】
[0037]いくつかの実施形態では、コンピュータプログラムコードはさらに、第１のデバイスのプロセッサによって実行されるときに、第１のデバイスに、失われたまたは破損したＰＤＵを再送する前に、推定される再送遅延および一連のＰＤＵのサービス品質要件に基づいて、ＳＡＣＫメッセージにおいて指示される特定の失われたまたは破損したＰＤＵを再送するか否かを決定させる命令を備える。
【００３８】
[0038]いくつかの実施形態では、コンピュータプログラムコードはさらに、第１のデバイスのプロセッサによって実行されるときに、第１のデバイスに、推定される再送遅延が一連のＰＤＵのサービス品質要件に関連付けられる遅延許容範囲より大きい場合には、特定の失われたまたは破損したＰＤＵのうちの１つまたは複数を再送するのを回避させる命令を備える。
【００３９】
[0039]いくつかの実施形態では、コンピュータプログラムコードはさらに、第１のデバイスのプロセッサによって実行されるときに、第１のデバイスに、ＳＡＣＫメッセージを受信するのに応答して制御メッセージを送信させる命令を備え、制御メッセージは、特定のシーケンス番号より早いＰＤＵが再送されないことを指示する。
【００４０】
[0040]いくつかの実施形態では、コンピュータプログラムコードはさらに、第１のデバイスのプロセッサによって実行されるときに、第１のデバイスに、特定のシーケンス番号より早いＰＤＵが再送されないことを指示する制御インジケータを送信させる命令を備える。
【００４１】
[0041]いくつかの実施形態では、第１の経路を介して送信される一連のＰＤＵは、パケットストリームに関連付けられるＰＤＵの第１のサブセットを備え、通信プロセッサはさらに、第１のデバイスから第２の経路を介して第２のデバイスに、同じパケットストリームに関連付けられるＰＤＵの第２のサブセットを送信するように構成され、ＰＤＵの第２のサブセットもＭＡＣレイヤシーケンス番号を含む。
【００４２】
[0042]いくつかの実施形態では、第１のデバイスからネットワークを介して第２のデバイスに情報を送信するための装置であって、その装置は、第１のデバイスからネットワークの第１の経路を介して第２のデバイスに、媒体アクセス制御（ＭＡＣ）レイヤシーケンス番号を含む一連のプロトコルデータユニット（ＰＤＵ）を送信するための手段と、第２のデバイスから、第２のデバイスによって適切に受信されなかった、失われたまたは破損したＰＤＵの少なくとも１つのシーケンス番号を指示する選択的確認応答（ＳＡＣＫ）メッセージを受信するための手段と、ネットワークの第２の経路を介して第２のデバイスに失われたまたは破損したＰＤＵを再送するための手段とを備える。
【００４３】
[0043]いくつかの実施形態では、その装置はさらに、失われたまたは破損したＰＤＵを再送する前に、推定される再送遅延および一連のＰＤＵのサービス品質要件に基づいて、ＳＡＣＫメッセージにおいて指示される特定の失われたまたは破損したＰＤＵを再送するか否かを決定するための手段を備える。
【００４４】
[0044]いくつかの実施形態では、その装置はさらに、推定される再送遅延が一連のＰＤＵのサービス品質要件に関連付けられる遅延許容範囲より大きい場合には、特定の失われたまたは破損したＰＤＵのうちの１つまたは複数を再送するのをやめるための手段を備える。
【００４５】
[0045]いくつかの実施形態では、その装置はさらに、ＳＡＣＫメッセージを受信するのに応答して制御メッセージを送信することを備え、制御メッセージは、特定のシーケンス番号より早いＰＤＵが再送されないことを指示する。
【００４６】
[0046]添付の図面を参照することによって、本実施形態がより深く理解される場合があり、多数の目的、特徴、および利点が当業者に明らかになる場合がある。
【図面の簡単な説明】
【００４７】
【図１】本開示の一実施形態による、シーケンスナンバリング、選択的確認応答および再送を示す例示的なシステム図。
【図２】本開示のいくつかの実施形態による、改善された確認応答および再送を実施する発信元デバイスのための例示的な動作を示す流れ図。
【図３】本開示のいくつかの実施形態による、改善された確認応答および再送を実施するマルチホップハイブリッドネットワークを示す例示的なシステム図。
【図４】本開示の一実施形態による、パケット処理を示す概念的なパケットタイミング図。
【図５】本開示の一実施形態による、改善された確認応答および再送を処理するためのプロトコルスタックを示す例示的なシステム図。
【図６】本開示の一実施形態による、改善された確認応答および再送のための変形形態を示すメッセージフロー図。
【図７】本開示のいくつかの実施形態による、改善された確認応答および再送を実施する発信元デバイスのための例示的な動作を示す流れ図。
【図８】本開示の一実施形態による、改善された確認応答および再送を実施する発信元デバイスのための例示的な動作を示す別の流れ図。
【図９】本開示の一実施形態による、改善された確認応答および再送を実施する宛先デバイスのための例示的な動作を示す流れ図。
【図１０】本開示の一実施形態による、改善された確認応答および再送を実施する宛先デバイスのための例示的な動作を示す別の流れ図。
【図１１】改善された確認応答および再送機構のための通信ユニットを含む電子デバイスの一実施形態の例示的なブロック図。
【発明を実施するための形態】
【００４８】
[0058]以下の説明は、本発明の主題の技法を具現する例示的なシステムと、方法と、技法と、命令シーケンスと、コンピュータプログラム製品とを含む。しかしながら、説明される実施形態は、これらの具体的な詳細を伴わずに実施され得ることを理解されたい。たとえば、複数の例がハイブリッドネットワーク構成を参照するが、本開示において教示される改善された確認応答および再送のための方法および装置は、任意の２つのデバイス間の他の経路多様（ｐａｔｈ−ｄｉｖｅｒｓｅ）接続、メッシュ接続および／またはマルチホップ接続を含む、他のネットワークにおいても使用され得る。いくつかの実施形態では、教示される再送機構は、２つのデバイス間のシングルホップ、単一経路通信接続にも適用可能とすることもできる。他の例では、説明を不明瞭にしないために、よく知られている命令インスタンス、プロトコル、構造、および技法は詳細に図示されていない。
【００４９】
[0059]ネットワーク化環境において、パケットストリームは、特定のアプリケーションまたはセッションに関連付けられる一連のパケットから構成される。たとえば、音声またはビデオを有するマルチメディアアプリケーションは、発信元から１つまたは複数の宛先までネットワークを介して送信される複数のパケットを利用することができる。いくつかのネットワーク化環境では、パケットストリームは、種々の異なるネットワーク化技術を介して送信され得る。パケットストリームの送信に関与する種々のプロトコルおよび技術を表すために、プロトコルスタックが使用され得る。
【００５０】
[0060]いくつかの実施態様では、アプリケーションレイヤは、下位レイヤに関連付けられるプロトコルデータユニット（ＰＤＵ）内にカプセル化され得る。種々の異なる物理レイヤ媒体を介して使用され得る一般的に使用されるプロトコルの一例がイーサネットである。イーサネットフレームは、たとえば、数ある中でも、ワイヤレスローカルエリアネットワーク（ＩＥＥＥ８０２．１１のようなＷＬＡＮ）、有線イーサネット、電力線通信（ＰＬＣ）を介して送信され得る。イーサネットは、長さフィールドを有し、通常、その後に８０２．２ＬＬＣヘッダが続くＩＥＥＥ８０２．３に類似である。本開示では、非限定的な例として記述されるようなイーサネットフレームは、記述される実施形態に適合するレイヤ２プロトコル。ＩＥＥＥ８０２．３などの他のレイヤ２プロトコルを含む、他のプロトコルも考えられる。
【００５１】
[0061]パケットストリームを生成するアプリケーションは、信頼性、待ち時間、パケット損失、または他のサービス品質特性に関する要件を有する場合がある。通常、待ち時間を最小限に抑え、アプリケーションに関連付けられる最大損失許容範囲未満のパケット損失を保持することが好ましい。さらに、可能であるとき、付加的な制御オーバーヘッド、パケット再送およびシグナリングを最小限に抑えることが望ましい。付加的な制御オーバーヘッドは、ヘッダでのカプセル化のような、送信される付加的な制御情報に関連付けられる場合があり、および／またはフレームリアセンブリまたはディープパケットインスペクション（たとえば、フレーム内に埋め込まれた上位レイヤヘッダを見ること）のような付加的な処理の形をとる場合がある。
【００５２】
[0062]より高いレベルにおいて、パケットストリームのパケットをルーティングするために用いられるパケットルーティングは、プロトコルスタックのネットワークレイヤにおいて実行され得る。しかしながら、ホームネットワーク化環境（ハイブリッド通信ネットワークなど）では、いくつかの経路選択および経路更新プロセスが、下位レイヤ、具体的には媒体アクセス制御（ＭＡＣ）レイヤにおいて処理されてきた。ＭＡＣレイヤは、トランスペアレントなネットワークサービスを提供するために使用され得る。イーサネットフレームは、上位レイヤパケットをカプセル化するＭＡＣプロトコルデータユニット（ＭＰＤＵ）の一例である。ＭＰＤＵは、種々の物理レイヤ（ＰＨＹ）技術を用いて物理レイヤプロトコルデータユニット（ＰＰＤＵ）を介して送られ得る。本開示によれば、経路分割、パケットシーケンシング、ＭＰＤＵの選択的確認応答および再送を可能にするために、ＭＡＣレイヤも改善され得る。本開示において、経路は、第１のデバイスから第２のデバイスまで１つまたは複数の通信セグメントを指している。たとえば、１ホップ経路は、２つのデバイスを直結する媒体を介しての単一の通信接続を指すことができる。経路は、中継デバイスが第１のデバイスからＭＰＤＵを受信し、その後、ＭＰＤＵを第２のデバイスまで中継する（再送することによる）ときのように、２つ以上のセグメントを含むことができる。経路は、特定の通信媒体に関連しても、しなくてもよい。たとえば、経路内の第１のセグメント（たとえば、第１のデバイスから中継デバイスまで）は第１の通信媒体を含むことができ、一方、その経路内の第２のセグメント（たとえば、中継デバイスから第２のデバイスまで）は、異なる通信媒体を含むことができる。いくつかの実施態様では、経路は、第１のノードから第２のノードまでＰＤＵを通信するために用いられるルートを指すことができる。
【００５３】
[0063]ＰＤＵが選択的確認応答メッセージにおいて適切に確認応答されない場合には、ＰＤＵ（ＭＰＤＵまたはＰＰＤＵなど）は再送され得る。一実施形態では、再送されるＰＤＵは、ＰＤＵを送信するために以前に使用された元の経路とは異なる第２の経路を介して送られ得る。たとえば、再送されるＰＤＵは、短い待ち時間、少ない輻輳、または予約帯域幅を有する異なる経路を介して送られ得る。シナリオによっては、失われたＰＤＵを再送することは、アプリケーション遅延許容範囲に起因して、無駄であることもある。したがって、一実施形態では、デバイスが、特定のシーケンス番号より早い再送パケットを待つことなく、先に進むべきであることを受信側に指示するために、制御メッセージ（すなわち、「カットロス」メッセージ）を送信することができる。
【００５４】
[0064]図１は、本開示の一実施形態による、シーケンスナンバリング、選択的確認応答および再送を示す例示的なシステム図１００である。例示的なシステム１００では、第１のデバイス１１０および第２のデバイス１３０が、２つの異なる通信媒体、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）媒体１１２および有線媒体１２２（たとえば、電力線、ｃｏａｘまたはツイストペアイーサネット）を介して互いに結合される。第１のデバイス１１０は、第１のインターフェースａ１を介して有線媒体１２２に結合され、第２のインターフェースａ２を介してＷＬＡＮ媒体１１２に結合される。同様に、第２のデバイス１３０は、第１のインターフェースｂ１を介して有線媒体１２２に結合され、第２のインターフェースｂ２を介してＷＬＡＮ媒体１１２に結合される。
【００５５】
[0065]図１において、第１のデバイス１１０は第２のデバイス１３０への通信パケットストリームである。パケットストリームは、第１のデバイス１１０のＭＡＣレイヤ（図示せず）によって、ネットワークインターフェースおよび結合する通信媒体を介して、第２のデバイス１３０の宛先ＭＡＣレイヤ（図示せず）に通信され得る一連のＰＤＵを備える。図１は、ＰＤＵが第２のデバイス１３０に通信され得る２つの経路を示す。第１の経路１２４は有線媒体１２２を横断し、第２の経路１１４はＷＬＡＮ媒体１１２を横断する。
【００５６】
[0066]第１のデバイス１１０から第２のデバイス１３０へのパケットストリームは、第１のデバイス１１０と第２のデバイス１３０との間の単一の経路において利用可能である帯域幅より広い帯域幅を必要とする場合がある。たとえば、パケットストリームは２０Ｍｂｐｓを必要とする場合があるが、第１の経路１２４（たとえば、電力線通信経路による）は、例示的なシステムでは１５Ｍｂｐｓしか提供することができない。第２の経路１１４（たとえば、ＷＬＡＮ経路による）は、例示的なシステムでは１０Ｍｂｐｓしか提供することができない。そのシナリオでは、第１の経路１２４、第２の経路１１４はいずれも、パケットストリームのために必要とされる全帯域幅を単独では搬送することができない場合がある。したがって、第１のデバイス１１０から第２のデバイス１３０までの両方の経路を介してＭＡＣレイヤＰＤＵを送ることができる場合がある。複数の異なる経路を介して宛先デバイスにＰＤＵを送信するために、パケットストリーム分割（負荷バランシングとも呼ばれる）が使用され得る。しかしながら、宛先デバイスは、ＰＤＵが上位レイヤまで適切な順序において、パケットストリームアプリケーションに関連付けられる遅延許容範囲内で送達されるのを確実にしなければならない。いくつかのアプリケーションの場合、失われたＰＤＵの数が損失許容範囲を超えない限り、失われたＰＤＵは省略され得る。
【００５７】
[0067]宛先デバイスがＰＤＵを再度順序付ける（再度並び換えるreordering）のを支援するために、ＰＤＵにシーケンス番号が含まれ得る。本開示は、イーサネットフレームのようなＰＤＵとともにシーケンス番号を搬送するために使用され得る種々の技法を含む。シーケンス番号は、ＰＤＵの適切な順序付けを識別するために、および任意の失われたまたは破損したＰＤＵを識別するために、宛先デバイスによって使用され得る。
【００５８】
[0068]図１の例示的なシステム１００を参照すると、第１のデバイス１１０は第１の経路１２４を介して、第２の経路１１４を介して、または第１の経路１２４および第２の経路１１４の両方を介して送られるＰＤＵにシーケンスナンバリングを挿入することができる。本開示において説明される異なる非限定的な代替形態を含む、発信元デバイスから宛先デバイスにシーケンス番号が搬送され得るいくつかの方法が存在する場合がある。
【００５９】
[0069]先に説明されたように、パケットストリームは、ネットワーク内の２つ以上の経路を介して送達されるＰＤＵを有するマルチパスストリームとして移送され得る。マルチパスストリームの確立または変更をサポートするために、種々の制御メッセージが使用され得る。たとえば、発信元デバイス（第１のデバイス１１０など）および受信側デバイス（第２のデバイス１３０など）が、マルチパスストリーム処理能力をネゴシエートすることができる。一実施態様では、開始シーケンス番号は、マルチパスストリーム確立中に同期し得る。経路待ち時間またはスループットを決定するために、さらなるリンクメトリック情報または経路発見が使用され得る。いくつかのネットワークでは、マルチパスストリームパラメータを変更するために、受信側デバイスからのフィードバックが使用され得る。たとえば、２つ以上の経路のうちのどの経路が短い待ち時間または高いスループットを有するかを決定するために、受信側デバイスからのフィードバックが使用され得る。短い待ち時間または高いスループットの経路が、ＰＤＵ再送のために使用され得る。いくつかの実施態様では、当業者によく知られているやり方のいずれかにおいて、接続が確立され、保持され、終了される。
【００６０】
[0070]一実施形態では、送信する発信元デバイスは、２つ以上の経路に関連付けられる相対的な待ち時間に基づいて、イーサネットフレームの送信をスケジューリングすることができる。たとえば、短い待ち時間の経路を介して送られるフレームは、長い待ち時間の経路を介して送られるフレームと近い順序において到着することが予想されるような遅延を有するようにスケジューリングされ得る。受信する宛先デバイスでは、異なる順序で受信されるフレームが、順序どおりに上位レイヤに適切に送達され得るまで、バッファリングされ得る。異なる順序のフレームをバッファリングするための期間は、最大許容可能遅延に基づいて制限され得る。
【００６１】
[0071]第１のデバイス１１０および第２のデバイス１３０は、パケットストリームに関連付けられるシーケンス番号のレジスタを保持する。上位レイヤに送る前に、受信されたＰＤＵを再度順序付けるために、第２のデバイス１３０によってシーケンスナンバリングが使用可能である。さらに、シーケンス番号は、どのＰＤＵが正しく受信されたかを指示するために、またはどのＰＤＵが失わされたか、もしくは破損したかを指示するために、第２のデバイス１３０が使用することができる識別情報を提供する。たとえば、第２のデバイス１３０は、第１のデバイス１１０に選択的確認応答（ＳＡＣＫ）メッセージを送ることができ、ＳＡＣＫメッセージは失われたまたは破損したＰＤＵを識別する。ＳＡＣＫメッセージは、経路のうちの１つにおいて受信されるＰＤＵに特有とすることができるか、またはどの経路が使用されるかに関係なく、シーケンス番号のための組み合わせられたＳＡＣＫメッセージとすることができる。ＳＡＣＫメッセージが図６においてさらに詳細に説明される。
【００６２】
[0072]本開示によれば、選択的ＡＣＫ（ＳＡＣＫ）はＰ１９０５．１制御フレームとして送られ得る。選択的ＡＣＫは、受信機が１つの応答メッセージにおいて複数の受信されたフレームまたは紛失したフレームを指示するためのツールを提供する。本開示において定義されるＳＡＣＫメッセージは、小さなＳＡＣＫメッセージにおいて複数のフレームシーケンス番号（ビットマップによる）が指示され得るように多用途（versatile）である。さらに、ＳＡＣＫメッセージは、一群のシーケンス番号内のどの特定のフレームが受信されたかを指示する融通性を提供する。ＳＡＣＫは、受信機において不確かな量のストリームをカバーするために、可変長とすることができる。
【００６３】
[0073]ＳＡＣＫメッセージを解釈することによって、第１のデバイス１１０は、どのＰＤＵが失われたか、もしくは破損したかを決定することができ、失われたまたは破損したＰＤＵを再送するか否かを決定することができる。ＳＡＣＫメッセージを受信するのに応答して、第１のデバイス１１０は、失われたまたは破損したＰＤＵを再送するか否かを決定することができる。たとえば、再送遅延、または再送されるＰＤＵの推定到着が、パケットストリームに関連付けられる遅延許容範囲より大きい場合には、第１のデバイス１１０は、失われたまたは破損したＰＤＵを再送しないことに決定することができる。代わりに、第１のデバイス１１０は特定のシーケンス番号に関するＳＡＣＫメッセージを無視することができるか、または特定のシーケンス番号より早いシーケンス番号が再送するのに適していないことを第２のデバイス１３０に指示する制御メッセージを送ることができる。
【００６４】
[0074]ＳＡＣＫメッセージを受信するのに応答して、第１のデバイス１１０はオプションで、失われたまたは破損したＰＤＵを再送することができるか、または特定のシーケンス番号より早いＰＤＵが再送されないことを指示する制御メッセージを送ることができる。
【００６５】
[0075]一実施形態では、ＰＤＵの確認応答フィードバックおよび再送は、第１のデバイス１１０から第２のデバイス１３０までの２つ以上の経路間で調整され得る。たとえば、受信機から送り側へのＳＡＣＫメッセージ（またはＮＡＣＫメッセージ）は、長い待ち時間の経路（第１の経路１２４など）を介して失われたＰＤＵを識別することに関連付けられ得る。失われたＰＤＵは、送り側から受信機に短い待ち時間の経路（第２の経路１１４など）を介して送信され得る。再送は、第１の送信とは異なる経路を介して送られ得る。第１のデバイス１１０は元の送信の場合に使用された第１の経路を知っているので、再送のための第２の経路を選択することができる。いくつかの実施形態では、選択された第２の経路は、第１の経路と比べて短い待ち時間、少ない輻輳、予約帯域幅または他の要因に基づいて選択され得る。
【００６６】
[0076]一変形形態では、第１のデバイス１１０からの信号は、バッファリングされたフレームの送達を進めること、バッファリングされたフレームをドロップすること、シーケンスナンバリング窓をリセットすることなどの特定のアクションを実行するように受信機に指示することができる。たとえば、制御メッセージは、特定のシーケンス番号より早いフレームが再送されないことを受信機に指示する「カットロス」メッセージとしての役割を果たすことができる。その後、受信機は、特定のシーケンス番号前のバッファリングされたフレーム、およびその後の続く任意の他のフレームの送達を選択的に進めることができる。これは、第１のデバイス１１０が、アプリケーション遅延許容範囲基準に関してすでに失効している（expired）、いくつかの早期の失われたまたは破損したＰＤＵを再送する必要がないようにすることができる。
【００６７】
[0077]図２は、本開示の一実施形態によるハイレベル流れ図２００を示す。２１０において、第１のデバイスがＰＤＵ送信にシーケンスナンバリングを利用する。たとえば、第１のデバイスは、ＰＤＵが生成されるか、または送信されるのに応じて、ＰＤＵにシーケンスナンバリングを挿入することができる。シーケンスナンバリングは、失われたまたは破損したＰＤＵを決定するために、または上位レイヤに送る前に、受信されたＰＤＵを再度順序付けるために、第２のデバイスによって使用可能とすることができる。２２０において、第１のデバイスは、第２のデバイスから選択的確認応答メッセージを受信し、選択的確認応答メッセージは、失われたまたは破損したＰＤＵを識別する。２３０において、第１のデバイスは、どのＰＤＵが失われたか、または破損したかを決定することができ、失われたまたは破損したＰＤＵを再送するか否かを決定することができる。代替的には（または、失われたＰＤＵを再送することに加えて）、第１のデバイスは、特定のシーケンス番号より早いＰＤＵが再送されないことを指示する制御メッセージを送ることができる。２４０において、第１のデバイスはオプションで、対応するＰＤＵの元の送信の場合に使用された経路とは異なる経路を介して、失われたまたは破損したＰＤＵを再送することができる。
【００６８】
[0078]図３は、マルチホップハイブリッドネットワークを含む、別の例示的なシステム３００を示す。例示的なシステム３００も、本開示の一実施形態による、改善された確認応答および再送を実施することができる場合がある。図３において、ハイブリッドネットワークは、第１のデバイス３１０と、第２のデバイス３２０と、第３のデバイス３３０とを含む。図１の説明と同様に、デバイス３１０、３２０、３３０は、種々の通信媒体に結合される種々のインターフェースを有する。たとえば、電力線通信媒体３２２がインターフェースａ１において第１のデバイス３１０に結合され、インターフェースｂ１において第２のデバイス３２０に結合され、インターフェースｃ１において第３のデバイス３３０に結合される。イーサネット有線媒体３３２が、インターフェースａ２において第１のデバイス３１０に結合され、インターフェースｂ２において第２のデバイス３２０に結合される。ＷＬＡＮ媒体３１２がインターフェースｂ３において第２のデバイス３２０に結合され、インターフェースｃ２において第３のデバイス３３０に結合される。図３に示される例示的な通信媒体は例としてのみ与えられており、他の例示的な実施態様では他の媒体が使用され得ることは理解されたい。
【００６９】
[0079]図３の例では、第１のデバイス３１０は、第１の経路３１４および第２の経路３２４を介してパケットストリームを通信している。図において、それらの経路は、通信媒体（実線）に隣接して示される矢印によって表される。しかしながら、矢印によって表されるパケットストリームは、通信媒体を介して送信されることは理解されたい。リンク容量、リンクメトリック（遅延、スループットなど）および経路選択変数の決定は、Ｐ１９０５．１制御メッセージまたは他のトポロジディスカバリプロトコルを用いて、デバイス間で通信され得る。
【００７０】
[0080]一例では、第１の経路３１４および第２の経路３２４は、経路のホップごとに独立したシーケンスナンバリングに関連付けられ得る。たとえば、第１の経路３１４において使用されるａ２〜ｂ２の第１のホップの場合に、第１のシーケンス番号範囲が使用され得る。第１の経路３１４において使用されるｂ３〜ｃ２の第２のホップの場合に、第２のシーケンス番号範囲が使用され得る。代替的には、経路ごとのシーケンスナンバリングはエンド・トゥ・エンドとし、シーケンス番号はリレーとしての役割を果たす第２のデバイス３２０を通して渡される。
【００７１】
[0081]通常、パケットストリームのＰＤＵごとのシーケンスナンバリングは、パケットストリームのための複数のＰＤＵの間で一意とすることができる。言い換えると、第１の経路３１４を介して送信されるＰＤＵにおいて使用されるシーケンス番号は、第２の経路３２４を介して送信されるＰＤＵのために再利用されない。これにより、宛先デバイス（第３のデバイス３３０）は、オーバーラップするシーケンス番号を用いることなく、ＰＤＵを適切に再度順序付けることができるようになる。しかしながら、いくつかの実施態様では、別々のＳＡＣＫメッセージにおいて各経路を別々に処理するために、経路は別々のシーケンス番号範囲を利用することができる。シーケンスナンバリングの２つの範囲からの関係（すなわち、順序付け（ordering））を相関させるために、オーバーヘッドメッセージまたはマーカフレームが使用され得る。
【００７２】
[0082]図４は、本開示の一実施形態による、パケット処理を示す概念的なパケットタイミング図である。概念的なパターンタイミング図は、発信元パケットストリーム４０１が送信デバイスから送られることを示す送信側４００（図４の左側サイドにある）を含む。概念的なパターンタイミング図は、ＰＤＵが、リアセンブルされたパケットストリーム４５１を準備するように構成された受信デバイスにおいて受信されることを示す受信側４５０（図４の右側サイドにある）を含む。
【００７３】
[0083]送信側４００において、発信元（ソース）パケットストリーム４０１が、第１のデバイス１１０、３１０のような第１のデバイスのＭＡＣレイヤ（図示せず）に提示される。発信元パケットストリーム４０１は、発信元パケットストリーム４０１の概念図において影を付けられたＰＤＵの第１のサブセット４２２（たとえば、データＰＤＵ４１６およびマーカＰＤＵ４１４、４１２）を含む。ＰＤＵの第１のサブセット４２２は第１の経路を介して送信される。１つの例示的な実施形態では、オーバーヘッド情報、および／またはシーケンスナンバリングの同期を提供するために、ＭＡＣレイヤによってマーカＰＤＵが追加される。また、発信元パケットストリーム４０１は、ネットワークの第２の経路を介して送信されるＰＤＵの第２のサブセット４３２も含む。ＰＤＵは通常、発信元パケットストリーム４０１において生じる順序で送信されることは理解されたい。しかしながら、ＰＤＵは、場合によっては、異なる順序で送信される場合があるか、またはセグメント化されたブロックとして、または連結されたブロックとして送信される場合がある。第２のデバイスによる確認応答、および第２のデバイスにおいてパケットの再度順序付けを提供するために、各ＰＤＵにシーケンスナンバリング（図示せず）が追加される。
【００７４】
[0084]受信側４５０において、ＰＤＵの第１のサブセット４２４が第１の経路４２０を介して受信される。ＰＤＵの受信された第１のサブセット４２４が、それらが送信されたのと（４２２）同じタイミングで同時に受信されない場合があることに留意されたい。また、ＰＤＵのうちの１つ、ＰＤＵ４２６は紛失したか、失われたか、または破損している。受信デバイスは、送信機に、紛失したＰＤＵ４２６に関連付けられる紛失シーケンス番号を識別し、紛失したＰＤＵ４２６が適切に受信されなかったことを指示するＳＡＣＫメッセージを返送することができる。
【００７５】
[0085]ＰＤＵの第２のサブセット４３４は、受信側４５０において第２の経路４３０を介して受信される。ＰＤＵの第２のサブセット４３４には、紛失したＰＤＵ４３６がある。受信デバイスは、送信機に、紛失したＰＤＵ４３６に関連付けられる紛失シーケンス番号を識別し、紛失したＰＤＵ４３６が適切に受信されなかったことを指示するＳＡＣＫメッセージを返送することができる。いくつかの実施形態では、紛失したＰＤＵ４２６および４３６を指示するために、同じＳＡＣＫメッセージが使用され得る。
【００７６】
[0086]ＳＡＣＫメッセージを受信するのに応答して、送信デバイスは、紛失したＰＤＵ４３６、４２６を再送するか否かを決定することができる。図４の例では、送信デバイスは、ＰＤＵ４３６に関連付けられる推定される再送遅延の結果として、そのアプリケーションにとって許容できないパフォーマンスになったと決定する。たとえば、再送されたＰＤＵ４３６の場合の遅延は、発信元パケットストリームに関連付けられるアプリケーションの場合の許容可能な遅延しきい値から外れている場合がある。非限定的な例として、そのアプリケーションは、遅延したＰＤＵを許容することができるより良好な紛失したＰＤＵを許容できるマルチメディア、ボイスオーバｉｐ、または他の概ねリアルタイムの通信とすることができる。しかしながら、送信デバイスは、紛失したＰＤＵ４２６を再送することに決定することができる。図４の例では、送信デバイスは、第２の経路４３０を介して、ＰＤＵ４２６’として紛失したＰＤＵ４２６を再送する。第２の経路４３０が、少ない遅延、少ない輻輳、良好な信頼性または他の要因に関連付けられる場合には、送信デバイスは、第２の経路４３０を介して、紛失したＰＤＵ４２６’を再送することに決定している場合がある。
【００７７】
[0087]一実施形態では、再送されるＰＤＵ４２６’とともに含まれるインジケータが、ＰＤＵ４３６が再送されないことを受信機に指示することもできる。たとえば、インジケータは、制御メッセージ、ヘッダ、ＭＡＣプロトコル拡張、またはＰＤＵ４２６より早いＰＤＵが再送されないことを指示する他のインジケータとすることができる。
【００７８】
[0088]受信デバイスは、上位レイヤに送達するためのパケットストリームをリアセンブルする。リアセンブルされたパケットストリーム４５１では、紛失したＰＤＵ４３６がパケットストリームから除去される場合があり、一方、紛失したＰＤＵ４２６は、再送されたＰＤＵ４２６’で置き換えられる場合がある。いくつかの実施形態では、ＭＡＣレイヤは、リンクレイヤ制御（ＬＬＣ）に紛失したＰＤＵ４３６を無視させる（overlook）指示とともに、ＬＬＣサブレイヤに、リアセンブルされたパケットストリームを提示することができる。
【００７９】
[0089]また、図４は、マーカＰＤＵ４１４、４１２のオプションの特徴も示す。マーカＰＤＵは、マーカフレームまたはマーカパケットと呼ばれる場合もある。選択された経路上でデータＰＤＵが送られるとき、ＰＤＵのストリーム内に別々のマーカＰＤＵが注入され得る（たとえば、Ｎ個のアプリケーションＰＤＵごとに１つのマーカＰＤＵが追加される）。マーカＰＤＵは、ＰＤＵのストリームに関連付けられる１つまたは複数のシーケンス番号を含むことができる。たとえば、各マーカＰＤＵは、同じ経路上で送られるＰＤＵのためのシーケンス番号範囲を与える。マーカＰＤＵは、ＰＤＵをシーケンス番号で照合するためのフレームフィンガープリントを含むことができる。また、マーカＰＤＵは、冗長性を得るために（マーカＰＤＵが失われた場合）、先行するマーカＰＤＵからの情報も含むことができる。マーカＰＤＵは、ＰＤＵの次のグループがとる経路についての情報も含むことができる。たとえば、経路スイッチマーカＰＤＵは、送信デバイスが第１の経路から第２の経路に切り替わる経路更新の開始または終了を指示することができる。マーカＰＤＵは、データＰＤＵが変更され得ないネットワーク化環境のために使用され得る。言い換えると、マーカＰＤＵは、パケットストリームに関連付けられる既存のデータＰＤＵへのヘッダまたはタグの追加を必要としない。
【００８０】
[0090]１つの例示的な実施形態では、ＰＤＵはイーサネットフレームを表す。選択された経路を介して送られるイーサネットフレームは、各イーサネットフレームのタグフィールドに追加されるシーケンス番号とともに更新され得る。たとえば、特定の仮想ローカルエリアネットワーク（ＶＬＡＮ）タグが使用される場合があるか、または予約されたＥｔｈｅｒｔｙｐｅがフィールド拡張として使用される場合がある。たとえば、ＩＥＥＥ８０２．１ｑは、ＶＬＡＮ  ＩＤを指示するためにイーサネットフレーム内で使用され得るヘッダを定義する。ＩＥＥＥ８０２．１ａｄが、イーサネットフレームを二重にタグ付けするために使用され得る第２のヘッダを定義する。本開示によれば、イーサネット内のヘッダのフォーマットは、各イーサネットフレーム内にシーケンス番号が含まれ得るように、特定のネットワーク化環境において再定義され得る。
【００８１】
[0091]シーケンス番号のためにＶＬＡＮタグが使用される場合には、ＶＬＡＮタグがシーケンス番号を表すことを指示するために、ＶＬＡＮタグ内の指示が使用され得る。たとえば、ＶＬＡＮタグがシーケンス番号のための別の目的を意図する場合には、ビットフラグが設定される（または解除される）場合があり、ＶＬＡＮタグが他の用途（ＶＬＡＮ  ＩＤまたは何らかの他の過剰な値など）のために利用可能である場合には、ビットフラグが解除される（または設定される）場合がある。ＶＬＡＮタグを介して、他の情報も搬送され得る。たとえば、ＶＬＡＮタグのための１６ビットフィールドから、以下の構造：シーケンスナンバリング方式が使用されることを指示する１ビット；優先順位シグナリングのための３ビット（たとえば、３つの最上位ビット）およびシーケンス番号のための利用可能である１２ビットが定義され得る。代替的には、優先順位は他の手段によって決定される場合があり、より長いシーケンス番号のような、他の目的のためにそれら３ビットを解放することができる。１つの代替の実施形態では、リペアブロックを指示するために少なくとも１ビットが予約され得る。それより古いシーケンス番号が送信されないことを指示するために、別のビットがフラグとして予約され得る（すなわち、受信機は、現在のフレーム内のシーケンス番号より古い任意の失われたシーケンス番号をスキップし、このシーケンス番号までのバッファリングされたフレームの順序どおりの送達を進めるべきである）。フレーム長に依存し、フレームごとに１つのシーケンス番号が用いられると仮定すると、これは、２４Ｍｂｐｓを超えるストリームデータレート（ＶＬＡＮタグヘッダからのシーケンス番号の１２ビットを使用する）および１ｓｅｃの最大待ち時間の場合に十分なはずである。データレートが低いストリームほど、または待ち時間が短いほど、短いフレームが使用され得る。
【００８２】
[0092]複数のＶＬＡＮタグがスタックされる場合には、それらのタグは特定の順序でスタックされることに注意が払われ得る。一実施形態では、新たなフィールドの意味に関して混乱しないように、ＩＡＮＡからの一意のＥｔｈｅｒｔｙｐｅ番号を登録することが望ましい場合がある。新たなフィールドは既存のＶＬＡＮタグヘッダと同じサイズ（たとえば、１６ビット）または構造とすることができるが、イーサネットフレーム内のシーケンス番号フィールドとして識別されることになる。
【００８３】
[0093]１つの例示的な実施形態では、ＰＤＵはＩＥＥＥ８０２．２（ＬＬＣ）タイプ２フレームを表す。ＩＥＥＥ８０２．２は、ＭＡＣレイヤとネットワークレイヤとの間で多くの場合に使用される論理リンク制御（ＬＬＣ）プロトコルサブレイヤを定義する。ＬＬＣサブレイヤは、ネットワークレイヤに同一のインターフェースを提示する。ＬＬＣサブレイヤ下には、媒体アクセス制御（ＭＡＣ）サブレイヤがある。ＬＬＣタイプ２は、接続志向の動作モードである。シーケンスナンバリングは、受信されたフレームは、フレームが送信された順序どおりであるように保証され、フレームが失われないのを確実にする。一実施形態では、ＬＬＣサブレイヤは、紛失したフレームが損失許容アプリケーションにとって再送するには古すぎるときのような、いくつかのフレームが失われた場合であっても、すべてのフレームが送達されたと伝えられる場合がある。別の実施形態では、イーサネットフレームが送信のために準備されるのに応じて、特定のＭＡＣレイヤＰＤＵストリームのためのシーケンス番号を含むために、ＬＬＣタイプ２ヘッダが追加され得る。
【００８４】
[0094]図５は、本開示による、改善された確認応答および再送を実施するように構成される第１のデバイス５１０および第２のデバイス５２０を示す例示的なシステム図５００である。第１のデバイス５１０は、ネットワークレイヤ５１８と、媒体アクセス制御（ＭＡＣ）レイヤ５１６と、第１のネットワークインターフェース５１２に関連付けられる第１の物理（ＰＨＹ）レイヤ５１３と、第２のネットワークインターフェース５１４に関連付けられる第２のＰＨＹレイヤ５１５とを有するプロトコルスタックを含む。また、第１のデバイスは、再送されるＰＤＵのためのシーケンスナンバリングのレジスタを保持し、第２のデバイスによって確認応答されないＰＤＵをオプションで再送するように構成されるシーケンス再送ユニット５１７も含む。第１のネットワークインターフェース５１２は、ネットワークの第１の通信媒体５０７に結合される。１つまたは複数のリレー５０９が、第１の通信媒体５０７上に存在する場合がある。第２のネットワークインターフェース５１４は、ネットワークの第２の通信媒体５０５に結合される。
【００８５】
[0095]第１のデバイス５１０と同様に、第２のデバイス５２０はプロトコルスタックを含む。第２のデバイス５２０のプロトコルスタック、ネットワークレイヤ５２８と、媒体アクセス制御（ＭＡＣ）レイヤ５２６と、第１のネットワークインターフェース５２２に関連付けられる第１の物理（ＰＨＹ）レイヤ５２３と、第２のネットワークインターフェース５２４に関連付けられる第２のＰＨＹレイヤ５２５。また、第２のデバイス５２０は、受信されたＰＤＵのためのシーケンスナンバリングのレジスタを保持し、第２のデバイスによって適切に受信されなかったＰＤＵのためのシーケンス番号を指示する選択的確認応答メッセージを送るように構成されるシーケンス確認応答ユニット５２７を含む。第１のネットワークインターフェース５２２は、ネットワークの第１の通信媒体５０７に結合される。第２のネットワークインターフェース５２４は第２の通信媒体５０５に結合される。
【００８６】
[0096]第１のデバイス５１０は、別のデバイスからルーティングされたネットワークパケット５３０を受信するか、または上位レイヤ（図示せず）からアプリケーションパケット５３２を受信するように構成され得る。パケット５３０、５３２は、ネットワークレイヤ５１８からＭＡＣレイヤ５１６を介して物理レイヤ５１３、５１５のうちの１つに送られ得る。いくつかの実施態様では、ＭＡＣレイヤ５１６は、インターフェースレイヤＭＡＣレイヤ（図示せず）を介しての別々のＰＨＹレイヤ５１３、５１５を介しての通信を調整するアブストラクションレイヤを備える。パケットがプロトコルスタックを下方に横断するのに応じて、パケットは、ＭＡＣレイヤＰＤＵ（ＭＰＤＵとも呼ばれる）にセグメント化されるか、ブロック化されるか、または別の方法で変換され、その後、物理レイヤＰＤＵ（ＰＰＤＵとも呼ばれる）に変換され得る。同様に、第２のデバイス５２０における逆方向の動作が、ＰＰＤＵを連結するか、リアセンブルするか、または別の方法でＭＰＤＵに変換し、パケットに変換することができる。第２のデバイス５２０は、アプリケーションパケット５３６のための終端デバイスを表すことができるか、またはパケット５３４を別の宛先デバイスにルーティングすることができる。
【００８７】
[0097]ネットワークレイヤ５１８、５２８間の調整は破線５４５によって表される。通常、ルーティング機能はネットワークレイヤにおいて実行される。破線５５５は、シーケンス再送ユニット５１７とシーケンス確認応答ユニット５２７との間のシーケンス番号の相関を表す。さらに、ＭＡＣレイヤ５１６、５２６は、物理レイヤトポロジ情報、リンクステータス、容量などを共有することによって協調することもできる。本開示において記述される種々の実施形態によれば、シーケンス確認応答ユニット５２７およびシーケンス再送ユニット５１７は、ＭＡＣレイヤ５１６シーケンス番号に基づいて、ＭＰＤＵの確認応答および再送を調整することができる。いくつかの実施態様では、ＳＡＣＫメッセージは、特定のＭＰＤＵの受信（またはその欠如）を指示するために、ＭＡＣレイヤシーケンス番号への参照を含むことができる。
【００８８】
[0098]本開示のいくつかの実施形態では、シーケンス番号、ＳＡＣＫメッセージおよび再送の調整は、ＯＳＩプロトコルスタックのＭＡＣレイヤ５１６において実行される。トランスポート制御プロトコル（ＴＣＰ）がネットワークレイヤ５１８、５２８の上方のトラスポートレイヤ（図示せず）に存在するが、ＭＡＣレイヤにおいて確認応答および再送動作を実行することは、ＰＤＵ送信の下位レイヤ処理を提供することができる。いくつかの実施形態では、ネットワークレイヤ５１８、５２８は、失われたまたは破損したＰＤＵの選択的な様々な再送のために複数の物理レイヤまたは複数の通信媒体が使用されつつあることを知らない場合がある。
【００８９】
[0099]図６は、本開示の一実施形態による、改善された確認応答および再送のための変形形態を示すメッセージフロー図６００である。図において、メッセージは実線および／または破線矢印として示される。破線は、デバイスのアブストラクションレイヤＭＡＣ（ＡＬＭＡＣ）インターフェースを伴う通信の部分を指しており、一方、実線は物理インターフェース間の通信の部分を指している。
【００９０】
[00100]第１のデバイス６１０は、２つの物理インターフェースａ１、ａ２と、アブストラクションレイヤＭＡＣレイヤとを含む。第２のデバイス６２０も、２つの物理インターフェースｂ１、ｂ２と、アブストラクションレイヤＭＡＣレイヤとを含む。インターフェースａ１、ｂ１は第１の通信媒体（図示せず）によって結合され、インターフェースａ２、ｂ２は、第２の通信媒体（図示せず）によって結合される。最初に、６１２において、トポロジを発見し、ストリーム経路選択を実行するために、各デバイスのＡＬＭＡＣによって、第１の通信媒体を介して（インターフェースａ１、ｂ１を介して）交換されるメッセージが使用される。６２２において、トポロジを発見し、ストリーム経路選択を実行するために、各デバイスのＡＬＭＡＣによって、第２の通信媒体を介して（インターフェースａ２、ｂ２を介して）交換されるメッセージが使用される。図６に示される例では、パケットストリームは、２つの異なる通信媒体を介して通信されるＰＤＵの２つのサブセットに分割される。
【００９１】
[00101]６３０において、各インターフェースが独立した選択的確認応答プロトコルを実行する第１の例が示される。６３２において、第１のＰＤＵが第１のデバイス６１０のインターフェースａ１を介して第２のデバイス６２０のインターフェースｂ１に通信される。第２のデバイス６２０は、６３４において、同じインターフェースｂ１を介して第１の選択的確認応答メッセージをａ１に送る。６３６において、第２のＰＤＵが、第１のデバイス６１０のインターフェースａ２を介して第２のデバイス６２０のインターフェースｂ２に通信される。第２のデバイス６２０は、６３８において、同じインターフェースｂ２を介して第２の選択的確認応答メッセージをａ２に送る。
【００９２】
[00102]６４０において、デバイスが組み合わせられた選択的確認応答プロトコルを利用する第２の例が示される。６４２において、第１のＰＤＵが第１のデバイス６１０のインターフェースａ１を介して第２のデバイス６２０のインターフェースｂ１に通信される。６４４において、第２のＰＤＵが、第１のデバイス６１０のインターフェースａ２を介して第２のデバイス６２０のインターフェースｂ２に通信される。図６の例では、第２のデバイス６２０は、６４８において、インターフェースｂ２を介して、組合せ選択的確認応答メッセージをａ２に送る。組合せ選択的確認応答メッセージは、経路または接続のいずれかを用いて送信され得ることは理解されたい。組合せＳＡＣＫメッセージは、第１のＰＤＵ（６４２）または第２のＰＤＵ（６４４）のいずれか、または両方のための紛失したシーケンス番号を指示することができる。
【００９３】
[00103]６６２において、第１のデバイス６１０は、任意の失われたまたは破損したＰＤＵを決定するために、そして、失われたまたは破損したＰＤＵを再送するか否かを決定するために、ＳＡＣＫメッセージを解析することができる。再送されるＰＤＵは、６６４において、利用可能なインターフェースのうちの１つを介して送られる。一実施形態では、再送されるＰＤＵは、元の対応するＰＤＵを送信するために以前に使用されたのとは異なる経路を介して送信される。
【００９４】
[00104]独立したＳＡＣＫメッセージ、および組合せＳＡＣＫメッセージを説明してきたが、以下では、本開示による、ＳＡＣＫメッセージ内に含まれ得る潜在的な例示的情報に関するさらなる詳細が提供される。一実施形態では、ＳＡＣＫメッセージの構造は、以下のフィールドを符号化している可変長である。
【００９５】
・タイプ＝ＳＡＣＫ
・長さ＝バイト単位のＳＡＣＫ情報の長さ（１バイト）
・開始シーケンス番号−ＳＡＣＫ情報によってカバーされる最高シーケンス番号（２バイト）
・ＳＡＣＫ情報−ＡＣＫのビットマップ（ＡＣＫ  ８Ｎ個のシーケンス番号に対してＮバイト）
・以下ＡＣＫフラグ−それより高くないシーケンス番号が受信された（すなわち、開始シーケンス番号が、最も高い正確に受信されたシーケンス番号である）場合には真。
【００９６】
・以上ＮＡＫ（ＮＬＮ）フラグ−ＳＡＣＫによってカバーされるシーケンス番号より低いすべてのシーケンス番号が、受信されたか、またはスキップされた（すなわち、このＳＡＣＫによってカバーされるシーケンス番号より古いシーケンス番号のための任意のフレームを送信する理由がない）場合には真。
【００９７】
[00105]ＳＡＣＫメッセージにおいて定義されるフラグは、より短いＳＡＣＫメッセージに対して有用な場合がある（シーケンス番号の大きな範囲が不確かであるときなど）。フラグが有用である別のシナリオは、より古いシーケンス番号が受信されたか、または修復されたときであり、ＮＬＮフラグが、受信されるのに応じてすべての古い（ＳＡＣＫメッセージ内のシーケンス番号より前の）シーケンス番号をマークするように送り側に指示することができる。送り側は、送信バッファを解放することができ、さらに多くのフレームが送られ得るようにその送信窓を広げることもできる。
【００９８】
[00106]例：受信機が、３９９１、３９９０、３９８５、３９８４を除く、０〜４０００のすべてのシーケンス番号を受信した場合には、ＳＡＣＫは長さ＝３、開始シーケンス番号＝４０００、ＳＡＣＫＩｎｆｏ＝１１１１１１１１１００１１１１０  ０１１１１１１１、ＮＨＡフラグ＝真、ＮＬＮフラグ＝真とコード化され得る。
【００９９】
[00107]図７は、改善された確認応答および再送を実施する第１のデバイス（第１のデバイス１１０、３１０、５１０、６１０）のための例示的な動作を示す流れ図７００である。７２０において、第１のデバイスは、第１のデバイスから第１の経路を介して第２のデバイスに、媒体アクセス制御（ＭＡＣ）レイヤシーケンス番号を含むプロトコルデータユニット（ＰＤＵ）の第１のサブセットを送信する。
【０１００】
[00108]７４０において、第１のデバイスは、第２のデバイスから、第２のデバイスによって受信されなかった、失われたまたは破損したＰＤＵの少なくとも１つのシーケンス番号を指示する選択的確認応答（ＳＡＣＫ）メッセージを受信する。７７０において、第１のデバイスは、失われたまたは破損したＰＤＵを送信するために以前に使用されたのとは異なる経路を介して失われたまたは破損したＰＤＵを再送することができる。
【０１０１】
[00109]図８は、本開示の一実施形態による、改善された確認応答および再送を実施する第１のデバイス（第１のデバイス１１０、３１０、５１０、６１０）のための例示的な動作を示す別の流れ図８００である。８１０において、第１のデバイスは上位レイヤからパケットストリームを受信する。代替の実施形態では、パケットストリームは別のデバイスを介して入手され得る。
【０１０２】
[00110]８２０において、第１のデバイスは、第１のデバイスから第１の経路を介して第２のデバイスに、媒体アクセス制御（ＭＡＣ）レイヤシーケンス番号を含むプロトコルデータユニット（ＰＤＵ）の第１のサブセットを送信する。さらに、８３０において、第１のデバイスは、第１のデバイスから第２の経路を介して第２のデバイスに、媒体アクセス制御（ＭＡＣ）レイヤシーケンス番号を含むプロトコルデータユニット（ＰＤＵ）の第２のサブセットを送信することができる。
【０１０３】
[00111]８４０において、第１のデバイスは、第２のデバイスから、第２のデバイスによって受信されなかった、失われたまたは破損したＰＤＵの少なくとも１つのシーケンス番号を指示する選択的確認応答（ＳＡＣＫ）メッセージを受信する。ＳＡＣＫメッセージは、動作８２０において送信されたＰＤＵに関連付けられるシーケンス番号のみを指示することができる。代替的には、ＳＡＣＫメッセージは、動作８３０において送信されたＰＤＵに関連付けられるシーケンス番号も含むこともできる（矢印８３２として示される）。別の変形形態では、８５０において、第１のデバイスは、第２のデバイスから、動作８３０において送信されたＰＤＵに関連付けられる少なくとも１つのシーケンス番号を指示し、そして、第２のデバイスによって受信されなかった、失われたまたは破損したＰＤＵを指示する第２の選択的確認応答（ＳＡＣＫ）メッセージを受信することができる。
【０１０４】
[00112]決定ブロック８６０において、第１のデバイスは失われたまたは破損したＰＤＵを再送するか否かを決定することができる。第１のデバイスが失われたまたは破損したＰＤＵを再送することに決定する場合には、８７０において、第１のデバイスは、失われたまたは破損したＰＤＵを送信するために以前に使用されたのとは異なる経路を介して失われたまたは破損したＰＤＵを再送することができる。第１のデバイスが失われたまたは破損したＰＤＵを再送しないことに決定する場合には、８８０において、第１のデバイスは、ＳＡＣＫメッセージを受信するのに応答して、制御メッセージを送信することができ、制御メッセージは、特定のシーケンス番号より早いＰＤＵが再送されないことを指示する。
【０１０５】
[00113]図は、本開示の一実施形態による、改善された確認応答および再送を実施する第２のデバイス（第２のデバイス１２０、３２０、５２０、６２０など）のための例示的な動作を示す流れ図９００である。９２０において、第２のデバイスは、第１のデバイスから第１の経路を介して第２のデバイスに、媒体アクセス制御（ＭＡＣ）レイヤシーケンス番号を含むプロトコルデータユニット（ＰＤＵ）の第１のサブセットを受信することができる。９３０において、第２のデバイスは、動作９２０を介して受信された任意のＰＤＵのためのシーケンス番号に基づいて、任意の失われたまたは破損したＰＤＵが存在するか否かを決定することができる。たとえば、第２のデバイスは、受信されたシーケンス番号のリストを保持するためにレジスタ、循環バッファまたは他のメモリストレージを保持することができる。
【０１０６】
[00114]９４０において、第２のデバイスは、第１のデバイスに、第２のデバイスによって受信されなかった、失われたまたは破損したＰＤＵの少なくとも１つのシーケンス番号を指示する選択的確認応答（ＳＡＣＫ）メッセージを送ることができる。
【０１０７】
[00115]９７０において、第２のデバイスは、失われたまたは破損したＰＤＵＩを送信するために第１のデバイスによって当初に使用された第１の経路とは異なる第２の経路を介して、再送されたＰＤＵ（失われたまたは破損したＰＤＵに関連付けられる）を受信することができる。第２のデバイスは、その後、シーケンス番号に従って、ＰＤＵを再度順序付けることができる。
【０１０８】
[00116]図１０は、本開示の一実施形態による、改善された確認応答および再送を実施する第２のデバイス（第２のデバイス１２０、３２０、５２０、６２０など）のための例示的な動作を示す別の流れ図１０００である。１０２０において、第２のデバイスは、第１のデバイスから第１の経路を介して第２のデバイスに、媒体アクセス制御（ＭＡＣ）レイヤシーケンス番号を含むプロトコルデータユニット（ＰＤＵ）の第１のサブセットを受信することができる。オプションのブロック１０２５において、第２のデバイスは、第１のデバイスから第２の経路を介して第２のデバイスに、媒体アクセス制御（ＭＡＣ）レイヤシーケンス番号を含むプロトコルデータユニット（ＰＤＵ）の第２のサブセットを受信することもできる。
【０１０９】
[00117]１０３０において、第２のデバイスは、動作１０２０、１０２５を介して受信された任意のＰＤＵのためのシーケンス番号に基づいて、任意の失われたまたは破損したＰＤＵが存在するか否かを決定することができる。たとえば、第２のデバイスは、受信されたシーケンス番号のリストを保持するためにレジスタ、循環バッファまたは他のメモリストレージを保持することができる。
【０１１０】
[00118]１０４０において、第２のデバイスは、第１のデバイスに、第２のデバイスによって受信されなかった、失われたまたは破損したＰＤＵの少なくとも１つのシーケンス番号を指示する選択的確認応答（ＳＡＣＫ）メッセージを送ることができる。一実施形態では、ＳＡＣＫメッセージは、動作１０２０または１０２５いずれかから紛失したＰＤＵのための紛失シーケンス番号を含むことができる。代替的には、オプションのブロック１０４５において、第２のデバイスは、第１のデバイスに、動作１０２５中、第２のデバイスによって受信されなかった、失われたまたは破損したＰＤＵの（第２のサブセットからの）少なくとも１つのシーケンス番号を指示する第２の選択的確認応答（ＳＡＣＫ）メッセージを送ることができる。
【０１１１】
[00119]決定ブロック１０５０において、第２のデバイスは、再送された、失われたまたは破損したＰＤＵを受信したか否かを決定する。第２のデバイスが、再送されたＰＤＵを受信したと決定する場合には、１０７０において、第２のデバイスは、シーケンス番号に従ってＰＤＵを再度順序付けるために、再送された、失われたまたは破損したＰＤＵを処理することができる。決定ブロック１０５０において、第２のデバイスが、再送されたＰＤＵを受信しなかった場合には、１０６０における動作が実行され得る。さらに、受信された再送ＰＤＵを処理した後に、１０６０における動作がさらに実行されてもよい。
【０１１２】
[00120]１０６０において、第２のデバイスは、第１のデバイスから、シーケンス番号に関する制御命令を受信したか否かを決定する。たとえば、制御命令は、別の制御メッセージ（Ｐ１９０５．１制御メッセージなど）の形をとることができるか、または再送されるＰＤＵの一部として含まれ得る。
【０１１３】
[00121]１０６０において、第２のデバイスが、制御命令を受信したと決定する場合には、１０８０において、第２のデバイスは、制御命令に従ってシーケンスナンバリングをリセットすることができる。たとえば、制御命令は、特定のシーケンス番号より早いシーケンス番号がもはや再送されないことを指示することができる。その後、第２のデバイスは、特定のシーケンス番号より早いシーケンス番号の重複した処理または選択的確認応答をやめるために、必要に応じて、レジスタ、循環バッファまたは他のメモリストレージを変更することができる。
【０１１４】
[00122]１０９０において、第２のデバイスは、ＬＬＣサブレイヤに補正データを送ることができる。たとえば、第２のデバイスは、ＬＬＣをだまして、古すぎて処理できないＰＤＵが送達されたかのように動作するために、ＬＬＣプロトコルを短縮することができる。これは、非限定的な例として、損失許容アプリケーションに関して望ましい場合がある。
【０１１５】
[00123]図１〜図１０および本明細書において説明される動作は、実施形態を理解するのを助けることを意図した例であり、実施形態を限定したり、特許請求の範囲を限定したりするために使用されるべきでないことを理解されたい。実施形態は、追加の動作を実行し、より少ない動作を実行し、動作を異なる順序で実行し、動作を並行して実行し、いくつかの動作を異なるように実行することができる。
【０１１６】
[00124]当業者によって理解されるように、本発明の主題の態様は、システム、方法、またはコンピュータプログラム製品として具現され得る。したがって、本発明の主題の態様は、完全なハードウェアの実施形態、ソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、または、本明細書においてすべて一般に「回路」、「モジュール」もしくは「システム」と呼ばれ得るソフトウェア態様とハードウェア態様とを組み合わせた実施形態の形をとることができる。さらに、本発明の主題の態様は、コンピュータ可読プログラムコードを具現化した１つまたは複数のコンピュータ可読媒体内で具現されるコンピュータプログラム製品の形をとることができる。
【０１１７】
[00125]１つまたは複数のコンピュータ可読媒体の任意の組合せが利用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体とすることができる。コンピュータ可読記憶媒体は、限定はしないが、たとえば、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、もしくはデバイス、あるいは上記の任意の適切な組合せであり得る。コンピュータ可読記憶媒体のより具体的な例（非網羅的なリスト）には、１つもしくは複数の有線を有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、または上記の任意の適切な組合せが含まれることになる。この文書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスにより、またはそれらとともに使用するためのプログラムを包含または記憶できる、任意の有形媒体であり得る。
【０１１８】
[00126]コンピュータ可読信号媒体は、たとえば、ベースバンド内で、または搬送波の一部として、その中に具現されたコンピュータ可読プログラムコードを有する、伝搬されるデータ信号を含むことができる。そのような伝搬信号は、限定はしないが、電磁気、光、またはそれらの任意の適切な組合せを含む、様々な形態のうちのいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、またはデバイスによって、あるいはそれらに関連して使用するためのプログラムを通信、伝搬、または移送することができる任意のコンピュータ可読媒体であり得る。
【０１１９】
[00127]コンピュータ可読媒体上で実施されるプログラムコードは、限定はしないが、ワイヤレス、ワイヤライン、光ファイバーケーブル、ＲＦなど、または上記の任意の適切な組合せを含む、任意の適切な媒体を使用して送信され得る。
【０１２０】
[00128]本発明の主題の態様のための動作を実行するためのコンピュータプログラムコードは、オブジェクト指向プログラミング言語、たとえばＪａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋など、および従来の手続き型プログラミング言語、たとえば「Ｃ」プログラミング言語または類似のプログラミング言語を含めて、１つまたは複数のプログラミング言語の任意の組合せで書かれ得る。プログラムコードは、スタンドアロンのソフトウェアパッケージとして、完全にユーザのコンピュータ上で実行されても、または部分的にユーザのコンピュータ上で実行されても、または部分的にユーザのコンピュータ上で、かつ部分的にリモートコンピュータ上で実行されても、または完全にリモートコンピュータもしくはサーバ上で実行されてもよい。後者のシナリオでは、リモートコンピュータが、ローカルエリアネットワーク（ＬＡＮ）もしくはワイドエリアネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または、接続が（たとえば、インターネットサービスプロバイダを使用してインターネットを通して）外部コンピュータに対して行われてもよい。
【０１２１】
[00129]本発明の主題の態様が、本発明の主題の実施形態による、方法、装置（システム）およびコンピュータプログラム製品の流れ図および／またはブロック図を参照しながら説明された。流れ図および／またはブロック図の各ブロック、ならびに流れ図および／またはブロック図におけるブロックの組合せはコンピュータプログラム命令によって実現され得ることを理解されよう。これらのコンピュータプログラム命令は、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行される命令が流れ図および／またはブロック図の１つもしくは複数のブロック中で指定された機能／動作を実施するための手段を作成するように、機械を製造するために、汎用コンピュータ、専用コンピュータ、あるいは他のプログラマブルデータ処理装置のプロセッサに与えられ得る。
【０１２２】
[00130]これらのコンピュータプログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスに、特定の方法で機能するように命令することができるコンピュータ可読媒体に記憶される場合もあり、それにより、コンピュータ可読媒体に記憶された命令は、流れ図および／またはブロック図の１つまたは複数のブロック中で指定された機能／動作を実施する命令を含む製造品を製造する。
【０１２３】
[00131]コンピュータプログラム命令はまた、コンピュータあるいは他のプログラマブル装置上で実行される命令が流れ図および／またはブロック図の１つもしくは複数のブロック中で指定された機能／動作を実施するようにコンピュータ実施プロセスを作成する目的で、一連の動作ステップをコンピュータ、他のプログラマブル装置または他のデバイス上で実行させるために、コンピュータ、他のプログラマブルデータ処理装置、あるいは他のデバイスにロードされ得る。
【０１２４】
[00132]図１１は、本開示による、改善された確認応答および再送機構を実施するための通信ユニットを含む電子デバイス１１００の一実施形態の例示的なブロック図である。いくつかの実施態様では、電子デバイス１１００は、ラップトップコンピュータ、ノートブック、モバイル電話、電力線通信デバイス、携帯情報端末（ＰＤＡ）、または複数の（ハイブリッド通信ネットワークを形成する）通信ネットワークにわたって通信を交換するように構成されるハイブリッド通信ユニットを備える他の電子システムのうちの１つとすることができる。電子デバイス１１００はまた、プロセッサユニット１１０２（場合によっては、複数のプロセッサ、複数のコア、複数のノードを含む、かつ／またはマルチスレッドを実施する、など）を含む。電子デバイス１１００はメモリユニット１１０６を含むことができる。メモリユニット１１０６は、システムメモリ（たとえば、キャッシュ、ＳＲＡＭ、ＤＲＡＭ、ゼロキャパシタＲＡＭ、ツイントランジスタＲＡＭ、ｅＤＲＡＭ、ＥＤＯ  ＲＡＭ、ＤＤＲ  ＲＡＭ、ＥＥＰＲＯＭ（登録商標）、ＮＲＡＭ、ＲＲＡＭ（登録商標）、ＳＯＮＯＳ、ＰＲＡＭなどのうちの１つまたは複数）、あるいは上記ですでに説明された機械可読媒体の可能な実現形態のうちのいずれか１つまたは複数とすることができる。電子デバイス１１００はまた、バス１１１０（たとえば、ＰＣＩ、ＩＳＡ、ＰＣＩ−Ｅｘｐｒｅｓｓ、ＨｙｐｅｒＴｒａｎｓｐｏｒｔ（登録商標）、ＩｎｆｉｎｉＢａｎｄ（登録商標）、ＮｕＢｕｓ、ＡＨＢ、ＡＸＩなど）と、ワイヤレスネットワークインターフェース（たとえば、ＷＬＡＮインターフェース、Ｂｌｕｅｔｏｏｔｈ（登録商標）インターフェース、ＷｉＭＡＸ（登録商標）インターフェース、ＺｉｇＢｅｅ（登録商標）インターフェース、ワイヤレスＵＳＢインターフェースなど）および有線ネットワークインターフェース（たとえば、Ｅｔｈｅｒｎｅｔ（登録商標）インターフェース、電力線通信インターフェースなど）のうちの少なくとも１つを含むネットワークインターフェース１１０４とを含む。いくつかの実施態様では、電子デバイス１１００は、複数のネットワークインターフェースをサポートすることができ、それらのインターフェースの各々は、異なる通信ネットワークに電子デバイス１１００を結合するように構成される。
【０１２５】
[00133]電子デバイス１１００はまた、シーケンスユニット１１１２および選択的確認応答／再送コントローラ１１１４。図１〜図１０において先に説明されたように、シーケンスユニット１１１２およびＳＡＣＫ／再送コントローラ１１１４は、電子デバイス１１００がパケットストリームに関連付けられるＰＤＵの受信側であるときに、選択的確認応答を送る機能を実施することができる。代替的には、図１〜図１０において先に説明されたように、シーケンスユニット１１１２およびＳＡＣＫ／再送コントローラ１１１４は、確認応答されないＰＤＵに関連付けられるＰＤＵを選択的に再送する機能を実施することができる。
【０１２６】
[00134]いくつかの実施形態では、シーケンスユニット１１１２およびＳＡＣＫ／再送コントローラ１１１４は、通信ユニット１１０９の一部として含まれ得る。いくつかの実施形態では、通信ユニット１１０９はまた、専用プロセッサを有し得ることを理解されたい（たとえば、通信がそこで、メインプロセッサ１１０２に加えて、１つまたは複数の専用プロセッサまたは（１つまたは複数の）処理ユニットを有し得る、チップ、または複数のチップをもつボード、または複数のボード上にシステムを備える通信ユニットなど）。これらの機能のいずれか１つは、部分的に（または全体的に）、ハードウェアにおいて、および／またはプロセッサユニット１１０２上で実施され得る。たとえば、その機能は、特定用途向け集積回路で、プロセッサユニット１１０２内に実装されたロジック内、周辺デバイスまたはカード上のコプロセッサ内などに実現することができる。さらに、実現形態は、図１１に示されていない、より少ないまたは追加の構成要素（たとえば、ビデオカード、オーディオカード、追加のネットワークインターフェース、周辺デバイスなど）を含むことができる。プロセッサユニット１１０２、メモリユニット１１０６、およびネットワークインターフェース１１０４は、バス１１１０に結合される。バス１１１０に結合されるものとして示されているが、メモリユニット１１０６はプロセッサユニット１１０２に結合され得る。
【０１２７】
[00135]実施形態が、様々な実施態様および活用を参照しながら説明されるが、これらの実施形態は例示的なものであり、本発明の主題の範囲はそれらに限定されないことを理解されよう。概して、本明細書において説明された改善されたトーンマップは、任意の１つまたは複数のハードウェアシステムに整合する設備を用いて実現され得る。多くの変形、修正、追加、および改善が可能である。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
第１のデバイスから第２のデバイスに送信するための方法であって、
第１のデバイスからネットワークの少なくとも第１の経路を介して第２のデバイスに、媒体アクセス制御（ＭＡＣ）レイヤシーケンス番号を含む一連のプロトコルデータユニット（ＰＤＵ）を送信することと、
前記第２のデバイスから、前記第２のデバイスによって適切に受信されなかった、失われたまたは破損したＰＤＵの少なくとも１つのシーケンス番号を指示する選択的確認応答（ＳＡＣＫ）メッセージを受信することと、
前記ネットワークの第２の経路を介して前記第２のデバイスに前記失われたまたは破損したＰＤＵを再送することと、
を備える、方法。
［Ｃ２］
前記第２の経路は前記第１の経路と比較して短い待ち時間である、Ｃ１に記載の方法。
［Ｃ３］
前記失われたまたは破損したＰＤＵを前記再送する前に、
推定される再送遅延および前記一連のＰＤＵのサービス品質要件に基づいて、前記ＳＡＣＫメッセージにおいて指示された特定の失われたまたは破損したＰＤＵを再送するか否かを決定すること、をさらに備える、Ｃ１に記載の方法。
［Ｃ４］
前記推定される再送遅延が前記一連のＰＤＵの前記サービス品質要件に関連付けられる遅延許容範囲より大きい場合には、１つまたは複数の前記特定の失われたまたは破損したＰＤＵを再送するのをやめることをさらに備える、Ｃ３に記載の方法。
［Ｃ５］
前記ＳＡＣＫメッセージを受信するのに応答して制御メッセージを送信することをさらに備え、前記制御メッセージは、特定のシーケンス番号より早いＰＤＵが再送されないことを指示する、Ｃ３に記載の方法。
［Ｃ６］
特定のシーケンス番号より早いＰＤＵが再送されないことを指示する制御インジケータを送信することをさらに備える、Ｃ１に記載の方法。
［Ｃ７］
前記制御インジケータは、前記再送される、失われたまたは破損したＰＤＵとともに含まれる、Ｃ６に記載の方法。
［Ｃ８］
前記ＭＡＣレイヤシーケンス番号は、前記ＰＤＵからのデータを上位レイヤに前記ＰＤＵが送信された順序で送達するために前記第２のデバイスによって使用可能である、Ｃ１に記載の方法。
［Ｃ９］
前記第１の経路を介して送信される前記一連のＰＤＵは、パケットストリームに関連付けられるＰＤＵの第１のサブセットを備え、前記方法はさらに、
前記第１のデバイスから第２の経路を介して前記第２のデバイスに、同じパケットストリームに関連付けられるＰＤＵの第２のサブセットを送信することを備え、ＰＤＵの前記第２のサブセットはＭＡＣレイヤシーケンス番号も含む、Ｃ１に記載の方法。
［Ｃ１０］
ＰＤＵの前記第１のサブセットおよびＰＤＵの前記第２のサブセットからのＰＤＵのそれぞれの前記ＭＡＣレイヤシーケンス番号は前記パケットストリームのための前記ＰＤＵの間で一意である、Ｃ９に記載の方法。
［Ｃ１１］
前記ＳＡＣＫメッセージは、ＰＤＵの前記第１のサブセットおよびＰＤＵの前記第２のサブセットの両方からの失われたまたは破損したＰＤＵのシーケンス番号を指示する、Ｃ９に記載の方法。
［Ｃ１２］
前記ＳＡＣＫメッセージを前記受信することは、ＰＤＵの前記第１のサブセットに関する確認応答フィードバックに関連付けられる第１のＳＡＣＫメッセージを受信することを備え、前記方法はさらに、
ＰＤＵの前記第２のサブセットに関する確認応答フィードバックに関連付けられる第２のＳＡＣＫメッセージを受信することを備える、Ｃ９に記載の方法。
［Ｃ１３］
前記第１のＳＡＣＫメッセージおよび前記第２のＳＡＣＫメッセージは、前記第２のデバイスから前記第１のデバイスへの同じフィードバック経路を介して前記第１のデバイスにおいて受信される、Ｃ１２に記載の方法。
［Ｃ１４］
前記ＭＡＣレイヤシーケンス番号は、前記ＭＡＣレイヤシーケンス番号を含むように再度目的を持たせた仮想ローカルエリアネットワーク（ＶＬＡＮ）ヘッダ内の前記ＰＤＵに含まれる、Ｃ１に記載の方法。
［Ｃ１５］
第１のデバイスであって、
ネットワークに結合され、前記ネットワークの少なくとも第１の経路を介して第２のデバイスに、一連のプロトコルデータユニット（ＰＤＵ）を送信するように構成されたネットワークインターフェースと、
前記一連のＰＤＵに関連付けられる媒体アクセス制御（ＭＡＣ）レイヤシーケンス番号を保持するためのシーケンスユニットと、
前記第２のデバイスから、前記第２のデバイスによって適切に受信されなかった、失われたまたは破損したＰＤＵの少なくとも１つのシーケンス番号を指示するＳＡＣＫメッセージを受信し、前記ネットワークの第２の経路を介して前記第２のデバイスに前記失われたまたは前記破損したＰＤＵを再送するように構成される選択的確認応答（ＳＡＣＫ）および再送（ＳＡＣＫ／再送）コントローラと、
を備える、第１のデバイス。
［Ｃ１６］
前記第２の経路は前記第１の経路と比較して短い待ち時間である、Ｃ１５に記載の第１のデバイス。
［Ｃ１７］
前記ＳＡＣＫ／再送コントローラはさらに、
前記失われたまたは破損したＰＤＵを再送する前に、推定される再送遅延および前記一連のＰＤＵのサービス品質要件に基づいて、前記ＳＡＣＫメッセージ内で指示される特定の失われたまたは破損したＰＤＵを再送するか否かを決定するように構成される、Ｃ１５に記載の第１のデバイス。
［Ｃ１８］
前記ＳＡＣＫ／再送コントローラはさらに、
前記推定される再送遅延が前記一連のＰＤＵの前記サービス品質要件に関連付けられる遅延許容範囲より大きい場合には、１つまたは複数の前記特定の失われたまたは破損したＰＤＵを再送するのをやめるように構成される、Ｃ１７に記載の第１のデバイス。
［Ｃ１９］
前記ＳＡＣＫ／再送コントローラはさらに、
前記ＳＡＣＫメッセージを受信するのに応答して制御メッセージを送信するように構成され、前記制御メッセージは、特定のシーケンス番号より早いＰＤＵが再送されないことを指示する、Ｃ１７に記載の第１のデバイス。
［Ｃ２０］
前記ＳＡＣＫ／再送コントローラはさらに、
特定のシーケンス番号より早いＰＤＵが再送されないことを指示する制御インジケータを送信するように構成される、Ｃ１５に記載の第１のデバイス。
［Ｃ２１］
前記制御インジケータは、前記再送される、失われたまたは破損したＰＤＵとともに含まれる、Ｃ２０に記載の第１のデバイス。
［Ｃ２２］
前記ＭＡＣレイヤシーケンス番号は、前記ＰＤＵからのデータを上位レイヤに前記ＰＤＵが送信された順序で送達するために前記第２のデバイスによって使用可能である、Ｃ１５に記載の第１のデバイス。
［Ｃ２３］
前記第１の経路を介して送信される前記一連のＰＤＵは、パケットストリームに関連付けられるＰＤＵの第１のサブセットを備え、前記ＳＡＣＫ／再送コントローラはさらに、
前記第１のデバイスから第２の経路を介して前記第２のデバイスに、同じパケットストリームに関連付けられるＰＤＵの第２のサブセットを送信するように構成され、ＰＤＵの前記第２のサブセットはＭＡＣレイヤシーケンス番号も含む、Ｃ１５に記載の第１のデバイス。
［Ｃ２４］
ＰＤＵの前記第１のサブセットおよびＰＤＵの前記第２のサブセットからのＰＤＵのそれぞれの前記ＭＡＣレイヤシーケンス番号は前記パケットストリームのための前記ＰＤＵの間で一意である、Ｃ２３に記載の第１のデバイス。
［Ｃ２５］
前記ＳＡＣＫメッセージは、ＰＤＵの前記第１のサブセットおよびＰＤＵの前記第２のサブセットの両方からの失われたまたは破損したＰＤＵのシーケンス番号を指示する、Ｃ２３に記載の第１のデバイス。
［Ｃ２６］
前記ＳＡＣＫメッセージを前記受信することは、ＰＤＵの前記第１のサブセットに関する確認応答フィードバックに関連付けられる第１のＳＡＣＫメッセージを受信することを備え、前記ＳＡＣＫ／再送コントローラはさらに、
ＰＤＵの前記第２のサブセットに関する確認応答フィードバックに関連付けられる第２のＳＡＣＫメッセージを受信するように構成される、Ｃ２３に記載の第１のデバイス。
［Ｃ２７］
前記第１のＳＡＣＫメッセージおよび前記第２のＳＡＣＫメッセージは、前記第２のデバイスから前記第１のデバイスへの同じフィードバック経路を介して前記第１のデバイスにおいて受信される、Ｃ２６に記載の第１のデバイス。
［Ｃ２８］
コンピュータプログラムコードを記憶するコンピュータ可読媒体であって、前記コンピュータプログラムコードは、第１のデバイスのプロセッサによって実行されると、前記第１のデバイスに、
第１のデバイスからネットワークの少なくとも第１の経路を介して第２のデバイスに、媒体アクセス制御（ＭＡＣ）レイヤシーケンス番号を含むプロトコルデータユニット（ＰＤＵ）を送信させる命令と、
前記第２のデバイスから、前記第２のデバイスによって適切に受信されなかった、失われたまたは破損したＰＤＵの少なくとも１つのシーケンス番号を指示する選択的確認応答（ＳＡＣＫ）メッセージを受信させる命令と、
前記ネットワークの第２の経路を介して前記第２のデバイスに前記失われたまたは破損したＰＤＵを再送させる命令と、
を備える、コンピュータ可読媒体。
［Ｃ２９］
前記コンピュータプログラムコードはさらに、前記第１のデバイスの前記プロセッサによって実行されると、前記第１のデバイスに、
前記失われたまたは破損したＰＤＵを再送する前に、推定される再送遅延および前記一連のＰＤＵのサービス品質要件に基づいて、前記ＳＡＣＫメッセージ内で指示される特定の失われたまたは破損したＰＤＵを再送するか否かを決定させる命令を備える、Ｃ２８に記載のコンピュータ可読媒体。
［Ｃ３０］
前記コンピュータプログラムコードはさらに、前記第１のデバイスの前記プロセッサによって実行されると、前記第１のデバイスに、
前記推定される再送遅延が前記一連のＰＤＵのサービス品質要件に関連付けられる遅延許容範囲より大きい場合には、１つまたは複数の前記特定の失われたまたは破損したＰＤＵを再送するのをやめさせる命令を備える、Ｃ２８に記載のコンピュータ可読媒体。
［Ｃ３１］
前記コンピュータプログラムコードはさらに、前記第１のデバイスの前記プロセッサによって実行されると、前記第１のデバイスに、
前記ＳＡＣＫメッセージを受信するのに応答して制御メッセージを送信させる命令を備え、前記制御メッセージは、特定のシーケンス番号より早いＰＤＵが再送されないことを指示する、Ｃ２８に記載のコンピュータ可読媒体。
［Ｃ３２］
前記コンピュータプログラムコードはさらに、前記第１のデバイスの前記プロセッサによって実行されると、前記第１のデバイスに、
特定のシーケンス番号より早いＰＤＵが再送されないことを指示する制御インジケータを送信させる命令を備える、Ｃ２８に記載のコンピュータ可読媒体。
［Ｃ３３］
前記第１の経路を介して送信された前記一連のＰＤＵは、パケットストリームに関連付けられるＰＤＵの第１のサブセットを備え、前記通信プロセッサはさらに、
前記第１のデバイスから第２の経路を介して前記第２のデバイスに、同じパケットストリームに関連付けられるＰＤＵの第２のサブセットを送信するように構成され、ＰＤＵの前記第２のサブセットはＭＡＣレイヤシーケンス番号も含む、Ｃ１５に記載の第１のデバイス。
［Ｃ３４］
第１のデバイスからネットワークを介して第２のデバイスに情報を送信するための装置であって、前記装置は、
第１のデバイスからネットワークの少なくとも第１の経路を介して第２のデバイスに、媒体アクセス制御（ＭＡＣ）レイヤシーケンス番号を含む一連のプロトコルデータユニット（ＰＤＵ）を送信するための手段と、
前記第２のデバイスから、前記第２のデバイスによって適切に受信されなかった、失われたまたは破損したＰＤＵの少なくとも１つのシーケンス番号を指示する選択的確認応答（ＳＡＣＫ）メッセージを受信するための手段と、
前記ネットワークの第２の経路を介して前記第２のデバイスに前記失われたまたは破損したＰＤＵを再送するための手段と、
を備える、第１のデバイスからネットワークを介して第２のデバイスに情報を送信するための装置。
［Ｃ３５］
前記失われたまたは破損したＰＤＵを前記再送する前に、前記一連のＰＤＵの推定される再送遅延およびサービス品質要件に基づいて、前記ＳＡＣＫメッセージにおいて指示される特定の失われたまたは破損したＰＤＵを再送するか否かを決定するための手段をさらに備える、Ｃ３４に記載の装置。
［Ｃ３６］
前記推定される再送遅延が前記一連のＰＤＵのサービス品質要件に関連付けられる遅延許容範囲より大きい場合には、１つまたは複数の前記特定の失われたまたは破損したＰＤＵを再送するのをやめるための手段をさらに備える、Ｃ３５に記載の装置。
［Ｃ３７］
前記ＳＡＣＫメッセージを受信するのに応答して制御メッセージを送信するための手段をさらに備え、前記制御メッセージは、特定のシーケンス番号より早いＰＤＵが再送されないことを指示する、Ｃ３５に記載の装置
【図１】
0006275751.tif 000002
【図２】
0006275751.tif 000003
【図３】
0006275751.tif 000004
【図４】
0006275751.tif 000005
【図５】
0006275751.tif 000006
【図６】
0006275751.tif 000007
【図７】
0006275751.tif 000008
【図８】
0006275751.tif 000009
【図９】
0006275751.tif 000010
【図１０】
0006275751.tif 000011
【図１１】
0006275751.tif 000012