特許第6133438号(P6133438)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ランティック イスラエル リミテッドの特許一覧

特許6133438データグラムセグメントを再構成および再送信するための方法および装置
<>
  • 特許6133438-データグラムセグメントを再構成および再送信するための方法および装置 図000002
  • 特許6133438-データグラムセグメントを再構成および再送信するための方法および装置 図000003
  • 特許6133438-データグラムセグメントを再構成および再送信するための方法および装置 図000004
  • 特許6133438-データグラムセグメントを再構成および再送信するための方法および装置 図000005
  • 特許6133438-データグラムセグメントを再構成および再送信するための方法および装置 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6133438
(24)【登録日】2017年4月28日
(45)【発行日】2017年5月24日
(54)【発明の名称】データグラムセグメントを再構成および再送信するための方法および装置
(51)【国際特許分類】
   H04L 1/16 20060101AFI20170515BHJP
【FI】
   H04L1/16
【請求項の数】9
【全頁数】23
(21)【出願番号】特願2015-548870(P2015-548870)
(86)(22)【出願日】2013年12月20日
(65)【公表番号】特表2016-507943(P2016-507943A)
(43)【公表日】2016年3月10日
(86)【国際出願番号】IB2013061202
(87)【国際公開番号】WO2014097252
(87)【国際公開日】20140626
【審査請求日】2015年6月22日
(31)【優先権主張番号】61/739,771
(32)【優先日】2012年12月20日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】515171743
【氏名又は名称】ランティック イスラエル リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(74)【代理人】
【識別番号】110000338
【氏名又は名称】特許業務法人HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】コーン,ダニエル
(72)【発明者】
【氏名】アルパート,ヤロン
【審査官】 谷岡 佳彦
(56)【参考文献】
【文献】 特開平03−040557(JP,A)
【文献】 国際公開第2012/170864(WO,A2)
【文献】 国際公開第03/043259(WO,A1)
【文献】 国際公開第2008/094662(WO,A2)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 1/16
(57)【特許請求の範囲】
【請求項1】
グリゲートパケット構造に含まれるデータグラムを送信するソース装置であって、
前記アグリゲートパケット構造は、複数のトランスポートコンテナを備え、前記トランスポートコンテナのそれぞれが前記データグラムのデータグラムセグメントを含み、
トランスポートコンテナの送信が失敗した場合にフィードバックを受信するフィードバックプロセッサと、
前記送信が失敗したトランスポートコンテナを分解する分解ユニットと、
前記送信が失敗したトランスポートコンテナに含まれる前記データグラムセグメントを複数のフラグメントに分割し、分割したフラグメントをそれぞれが含む複数の新しいトランスポートコンテナを生成することにより、前記データグラムセグメントを再フォーマットする生成ユニットと、
前記送信が失敗したトランスポートコンテナを備えた前記アグリゲートパケット構造におけるトランスポートコンテナのシーケンスと、前記送信が失敗したトランスポートコンテナに代えて前記複数の新しいトランスポートコンテナを備えた前記アグリゲートパケット構造におけるトランスポートコンテナのシーケンスとの間の変換を示すシーケンス情報を送信する送信ユニットと、を備え、
前記ソース装置は、前記複数の新しいトランスポートコンテナを備えた前記アグリゲートパケット構造に含まれるデータグラムを再送信することを特徴とするソース装置。
【請求項2】
前記送信ユニットは、前記送信が失敗したトランスポートコンテナ内にシーケンス番号とともにカプセル化されたデータグラムセグメントが、再送信のためのシーケンス番号とともに、前記複数の新しいトランスポートコンテナにカプセル化されたことを送信先装置に通知することを特徴とする請求項1に記載のソース装置。
【請求項3】
前記ソース装置は、さらに、
前記データグラムセグメントが再フォーマットされ、送信される準備が整ったことを送信先装置に通知し、
前記送信先装置が前記再フォーマットされたデータグラムセグメントを受け入れ可能であることを示す通知を前記送信先装置から受信し、
その後、前記再フォーマットされたデータグラムセグメントを前記送信先装置に送信することを特徴とする請求項1に記載のソース装置。
【請求項4】
アグリゲートパケット構造に含まれるデータグラムを送信するソース装置であって、
前記アグリゲートパケット構造は、複数のトランスポートコンテナを備え、前記トランスポートコンテナのそれぞれが前記データグラムのデータグラムセグメントを含み、
トランスポートコンテナを送信できないことを検出する検出ユニットと、
前記送信できないトランスポートコンテナを分解する分解ユニットと、
前記送信できないトランスポートコンテナに含まれる前記データグラムセグメントを複数のフラグメントに分割し、分割したフラグメントをそれぞれが含む複数の新しいトランスポートコンテナを生成することにより、前記データグラムセグメントを再フォーマットする生成ユニットと、
前記送信できないトランスポートコンテナを備えた前記アグリゲートパケット構造における各トランスポートコンテナのシーケンスと、前記送信できないトランスポートコンテナに代えて前記複数の新しいトランスポートコンテナを備えた前記アグリゲートパケット構造における各トランスポートコンテナのシーケンスとの間の変換を示すシーケンス情報を送信する送信ユニットと、を備え、
前記ソース装置は、前記複数の新しいトランスポートコンテナを備えた前記アグリゲートパケット構造に含まれるデータグラムを再送信することを特徴とするソース装置。
【請求項5】
前記ソース装置は、さらに、
前記データグラムセグメントが再フォーマットされ、送信される準備が整ったことを送信先装置に通知し、
前記送信先装置が前記再フォーマットされたデータグラムセグメントを受け入れ可能であることを示す通知を前記送信先装置から受信し、
その後、前記再フォーマットされたデータグラムセグメントを前記送信先装置に送信することを特徴とする請求項4に記載のソース装置。
【請求項6】
前記アグリゲートパケット構造に備えられている各トランスポートコンテナは、シーケンス番号を有し、
再送信される前記データグラムの前記アグリゲートパケット構造は、さらに、前記送信が失敗したトランスポートコンテナに含まれる前記データグラムセグメントの何れのフラグメントも含まず、前記送信が失敗したトランスポートコンテナに含まれる前記データグラムセグメントのフラグメントを含む前記複数の新しいトランスポートコンテナの前記シーケンス番号より大きいシーケンス番号を有する、少なくとも1つの追加のトランスポートコンテナを備えていることを特徴とする、請求項2に記載のソース装置。
【請求項7】
前記アグリゲートパケット構造が前記送信先装置に保持されている場合に、
前記送信が失敗したトランスポートコンテナに含まれる前記データグラムセグメントのフラグメントを含む少なくとも2つのトランスポートコンテナの前記シーケンス番号が、前記送信が失敗したトランスポートコンテナの前記シーケンス番号にとって代わり、かつ、
前記少なくとも1つの追加のトランスポートコンテナの前記シーケンス番号が、前記送信が失敗したトランスポートコンテナに含まれる前記データグラムセグメントの何れのフラグメントも含まないトランスポートコンテナの最大のシーケンス番号の後に続くように、
トランスポートコンテナの前記シーケンス番号が順序づけられることを特徴とする請求項6に記載のソース装置。
【請求項8】
ソース装置から送信先装置にデータグラムを送信する方法であって、
前記データグラムは複数のデータグラムセグメントを含み、アグリゲートパケット構造にまとめられ、前記アグリゲートパケット構造は、複数のトランスポートコンテナを備え、前記トランスポートコンテナのそれぞれが前記データグラムのデータグラムセグメントを含み、前記複数のデータグラムセグメントのそれぞれに、シーケンス情報が対応付けられており、
前記方法は、
トランスポートコンテナを送信できないことを検出するステップと、
前記送信できないトランスポートコンテナを分解し、前記送信できないトランスポートコンテナに含まれる前記データグラムセグメントを複数のフラグメントに分割し、分割したフラグメントをそれぞれが含む複数の新しいトランスポートコンテナを生成することによって、前記データグラムセグメントを再フォーマットするステップと、
前記複数の新しいトランスポートコンテナを備えた前記アグリゲートパケット構造に含まれるデータグラムを再送信するステップと、を含み、
前記シーケンス情報は、前記送信できないトランスポートコンテナを備えた前記アグリゲートパケット構造における各トランスポートコンテナのシーケンスと、前記送信できないトランスポートコンテナに代えて前記複数の新しいトランスポートコンテナを備えた前記アグリゲートパケット構造における各トランスポートコンテナのシーケンスとの間の変換を示す、ことを特徴とする方法。
【請求項9】
トランスポートコンテナを送信できないことを検出する前記ステップは、トランスポートコンテナの送信が失敗した場合に送信先装置からフィードバックを受信するステップを含むことを特徴とする請求項8に記載の方法。
【発明の詳細な説明】
【発明の詳細な説明】
【0001】
〔関連件との相互参照〕
本出願は、2012年12月20日付で出願された米国特許出願第61/739,771号(発明の名称:データグラムセグメントを再構成および再送信するための方法および装置)の利益を主張する。前記先の出願における開示のすべては、本出願における開示の一部とみなされ、参照することにより本明細書に組み込まれる。
【0002】
〔背景技術〕
現在の通信システムでは、データグラムは、典型的にはいわゆる開放型システム間相互接続モデル(OSIモデル)の一部のような周知の手順またはプロトコルに基づいて、ソースから送信先へ送信される。OSIモデルに従って、より上位レベルの通信データグラムセグメント(通常、「サービスデータユニット」または「SDU」と呼ばれる)は、トランスポートコンテナ(通常、「プロトコルデータユニット」または「PDU」と呼ばれる)にまとめられ、物理的な媒体を介して、より下の層によって伝送される。いくつかのシステム(IEEE規格によって規定されるシステムに限定されないが、特定のシステム)では、メディアアクセス制御(MAC)副層SDUは「MACサービスデータユニット(MSDU)」と呼ばれ、MAC副層PDUは「MACプロトコルデータユニット(MPDU)」と呼ばれる。802.11WLANは、IEEE規格によって規定されるそのようなシステムの一例である。
【0003】
いくつかのシステムでは、各コンテナに一意のシーケンス番号(SN)を割り当てる。シーケンス番号は、典型的には、コンテナが上位層から下位層へ伝送される時系列に設定される。そのようなシステムにおけるPDUは、シーケンス番号を保持するために、シーケンス番号フィールドを有する。現在の通信システムでは、トランスポートコンテナのシーケンス位置およびそのシーケンス番号は、トランスポートコンテナの最初の送信後に変更することはできない。コンテナがソースによって送信されたが、送信先によって正しく受信できなかった場合、その結果は「送信失敗」、または、単に「コンテナ失敗」と呼ばれる。現在の技術によれば、コンテナが失敗した場合、ソースは、そのコンテナを同じシーケンス番号を用いて再送信する。そして、送信先は、正しい順序でコンテナを受信していないという事実にかかわらず、全てのコンテナのSNを使用して、ソースによって意図されたコンテナの正しい順序を再度生成する。いくつかのシステムでは、PDUは、シーケンス番号を保持するために、シーケンス番号フィールドを有する。
【0004】
いくつかのシステムでは、コンテナの最大送信単位(MTU;maximum transmission unit)が規定されている。MTUは、典型的には、バイト数で計測される、送信可能なコンテナの最大サイズである。他のシステムでは、最大送信レートでそのようなシステムの最大送信単位(MTU)に変換される最大送信時間がある。送信機は、典型的には、できる限りデータグラムペイロードを2つ以上のより小さなピースにフラグメント化して、MTU限界に適合するPDUにSDUをカプセル化することによって、MTUの限界を超えることを避けようとする。しかしながら、常にできるわけではない。MTUは時には選択されたTXフォーマットに依存し、このことはより上位の層に常に知られていないため、コンテナがMTUより大きい場合、コンテナの送信は失敗する、または、コンテナは、単に、多数のコンテナの送信対象から除外される。どちらの場合でも、システムのパフォーマンスは低下する。ここで説明した問題は、全ての通信システムにおいて発生し、特に、稼働状態が急速に変化して、それによってシステムのパフォーマンスの急な低下およびMTU値の減少を引き起こすようなシステムにおいて発生する。それは、典型的には、例えば、無線システムである。ただし、無線システムに限るものではない。
【0005】
この問題に対して、様々な解決方法が実行されているが、それらは完全に満足のいくようなものではない。或る解決方法は、データグラムペイロードが2つ以上のより小さなピースにフラグメント化され、または「パーティション化」され、そして、それらの各ピースは、MTU限界を超えない新しいトランスポートコンテナにカプセル化されることを可能にする。そして、これらの多数のコンテナは、「フレームアグリゲーション」と呼ばれる処理において集約される。このアプローチは、長いデータグラムペイロードを送信することができるが、プロトコルを複雑にし、通信のオーバーヘッドが増大する。さらに、このアプローチは、(1)この解決方法が規格に記述されており、(2)解決方法を採用するソースおよび送信先の両方がその解決方法を実行可能であるシステムにおいてのみ、実現できる。従来のユニット(legacy unit)はこのアプローチを実行するように構成されていないため、第2の条件は取るに足りないものではない。
【0006】
実施されている第2の解決方法は、送信が成功する見込みを高めるために、失敗したコンテナをより低いレートで再送信することである。この解決方法は、規格が、通常、コンテナをより低いデータレートで送信するのに十分ではない最大送信時間を規定するということに制限されている。さらに、環境条件によって、より低いレートでさえ不十分となる可能性がある。さらに、コンテナの送信ストリームは、より低いレートが、所定のパケットエラーレート(PER)レベルの限界ですべての必要な情報を送信するのに単に不十分であるという程度である可能性もある。
【0007】
実施されている第3の解決方法は、送信状態が改善されるまで待ってから、標準送信レートで失敗したコンテナを再送信し、それによって、低いレートでの送信に関する問題を回避することである。この解決方法は、失敗したコンテナのための待ち時間を増加させ、失敗したコンテナの先行送信を必要とする後続のコンテナの待ち時間も増加させ、システム全体を、非常に変化しやすくかつ制御不能な環境条件に依存させてしまう。パケットの生存能力は、しばしば、生存時間(Time to Life:TTL)に限られているため、増加した待ち時間は、送信前にパケットが終期を迎えることを引き起こし、PERを増加させる。
【0008】
実施されている第4の解決方法は、MTUについてのプロトコルルールを無視して、MTU限界より長い送信を許可することである。これは、比較的少数のソースおよび受信機のシステムにおいて、一時的にうまく作用する。しかしながら、システムが追加のユニットを搭載している場合、容認された最大値より長い送信が、結果的にシステムに大混乱を引き起こす。
【0009】
第5の解決方法は、長いメッセージを許可しないことによって、または、実行されるアグリゲーションの程度に限界を設定することによって、完全に問題を回避することである。この解決方法は、送信される本来のデータを減少させること、または、通信のオーバーヘッドが増大すること、またはその両方が生じる。
【0010】
上述の解決方法の全ては、下記の不利益を1以上の欠点として有する。
1.重大でかつ潜在的に強烈なパケットエラーレートの増加。
2.通信プロトコルの複雑化。
3.重大な通信のオーバーヘッドの増大。これによってシステムの効率を低下させる。
4.従来のユニットのようないくつかのユニットはどうしても上記の提案された解決方法で機能しないという事実の無視。
5.プロトコルルールの無視、これは、従来のユニットの共同利用に関する問題を生じさせ、システムがシステム容量に近づく場合に混乱を引き起こす。
6.待ち時間の増加。
7.コンテナにおける失敗した集約されたパケットを全て除外。これは、システムを完全に変化しやすい環境に依存させ、送信に失敗した情報パケット間の種類またはサイズを区別できなくさせる。
【0011】
システムの要求および性能、課題、並びに可能な解決方法を含む上述の説明は、必要な変更を伴って、パケットが最初に送信された後ではシーケンス番号「SN」を変更することができない、WCDMA(登録商標)、LTEのような広域ネットワーク、および、WLANのようなローカルエリアネットワークを含む全てのネットワークにも適用される。特に802.11 WLANに関する限りでは、
1.802.11 WLANのようないくつかの技術では、PDUは、ストリームにおけるPDUの連続した順序を示すためのシーケンス番号を保持するシーケンス番号フィールドを有する。
2.802.11 WLANのようないくつかのIEEE規格では、フレームアグリゲーションは、単一の下位層フレームに多数の上位層フレームをカプセル化することによって、スループットを向上させるために使用される。特に802.11 WLANでは、物理層プロトコルデータユニット(PPDU)は、例えばPPDUヘッダを含む、大量のオーバーヘッドを含む。最大データレートでは、このオーバーヘッドは、データフレームペイロードより大きな帯域幅を消費する。
3.IEEE 802.11 WLAN規格は、MACパケットアグリゲーションの2つのレベルを規定する。2つのレベルとは、(a)時々、「MSDUアグリゲーション」または単に「A−MSDU」と呼ばれる、MAC層のトップにおけるMACサービスデータユニット(MSDU)のアグリゲーション、および、(b)時々、「MPDUアグリゲーション」または単に「A−MPDU」と呼ばれる、MAC層のボトムにおけるMACプロトコルデータユニット(MPDU)のアグリゲーションである。両タイプのアグリゲーションは、多数のデータフレーム群を1つの大きなフレームにまとめる。MSDUをA−MSDUにアグリゲーションして、これらのA−MSDUを、アグリゲートMPDU(A−MPDU)に順番にアグリゲーションされたMPDUにカプセル化することによって、2つのアグリゲーション(a)および(b)を併用することもできる。
4.上記で説明したように、各トランスポートコンテナは、それぞれ、最初の送信において、一意のシーケンス番号を割り当てられる。そして、この順序は、通常、OSIモデルの上位層においてコンテナがソースによって送信される時系列である。IEEE 802.11 WLANでは、この順序は、最初の送信の後に変更することができない。MPDUが802.11 WLANで正しく受信されない場合、送信機はそのMPDUを再送信し、受信機はSNを使用して、(たとえそのMPDUが再送信のせいで無線通信を介して異なる順序で受信されたとしても)そのMPDUが送信された順序でカプセル化されたMPDUを伝送する。
5.A−MSDUアグリゲーションを使用する場合、IEEE 802.11プロトコルは、フラグメンテーション機構をサポートしていない。その結果、MTUを超える長さを有するMPDUは除外される。この現象は、送信機と受信機との接続状態が悪化した無線接続においてしばしば起こる。
6.上述のA−MPDUにカプセル化されたA−MSDUのシナリオでは、典型的には、送信機は、正しい受信の見込みを向上させるために、より低いレートで、失敗したMPDUを再送信する。この場合、MPDU送信時間は増加し、場合によっては、限界を超過することが802.11WLAN規格によって許可される。上記限界は、現在ではPPDUあたり約5.4msである。最大送信時間を超えると、MPDUは必ず除外される。いくつかのシナリオでは、MPDUの除外は、いくつかのシナリオにおけるパケットエラーレート(PER)を著しく増加させる。
7.一般的な通信システムのための第6の解決方法は、上述したように、802.11 WLANシステムにおいて実施される。しかしながら、同じ問題が、一般的な通信システムの場合と同様に、802.11 WLANシステムにおいて生じる。さらに、802.11 WLANでは、失敗したMPDUのそれぞれの送信サイズを減少させて、送信の持続時間を減少させる目的で、送信に失敗した一部であるMSDUまたはA−MSDUを異なる番号のMPDUに再送信前にカプセル化することができない。なぜなら、SNが既に失敗した連続するMPDUに割り当てられたからである。そのため、先に送信されたMSDUまたはA−MSDUが新しいMPDUの一部としてカプセル化され送信された場合、受信機は、再送信されたMPDUを正しく識別できない、または、OSIプロトコルの後続の層にカプセル化されたMSDUを連続して送信するように再送信されたMPDUを正しい順序に配置することができない。
【0012】
〔概要〕
通信システムにおいて、状況が変化することにより、パケットエラーレートが許容できない高さまで、トランスポートコンテナの送信が失敗する割合が増加することが起こり得る。これらの問題は、全ての通信システムにおいて生じ、とりわけ、しかしこれには限定されないが、最大動的送信単位の環境下で動作するシステム、無線システム、とりわけ、しかしこれには限定されないが、IEEE規格に基づいて規定されるWLANシステムにおいて生じる。様々な解決方法が実施されており、特に、送信レートを減少させる方法、または、失敗したコンテナを再送信する方法が実施されている。今まで実施されたこれらの解決方法のいずれも、完全に満足いくようなものではない。多数のコンテナの中のデータグラムセグメントを分割し、それによってシステムのパケットエラーレートを減少させるために、シーケンスを制御し、送信するソースと受信する送信先とを同期させる新しいシステムおよび方法をここに提案する。
【0013】
或る態様では、データグラムのデータグラムセグメントをそれぞれ含む複数のトランスポートコンテナを備えたアグリゲートパケット構造に含まれるデータグラムを送信するソース装置は、トランスポートコンテナの送信が失敗した場合にフィードバックを受信するフィードバックプロセッサと、前記送信が失敗したトランスポートコンテナを分解する分解ユニットと、前記送信が失敗したトランスポートコンテナに含まれる前記データグラムセグメントのフラグメントを含む、複数の新しいトランスポートコンテナを生成する生成ユニットと、前記送信が失敗したトランスポートコンテナを備えた前記アグリゲートパケット構造における前記複数のトランスポートコンテナのシーケンスと、前記複数の新しいトランスポートコンテナを備えた前記アグリゲートパケット構造における前記複数のトランスポートコンテナのシーケンスとの間の変換を示すシーケンス情報を送信する送信ユニットと、を備え、これにより、前記ソース装置は、データグラムを分割することなく、前記送信が失敗したデータグラムを再フォーマットおよび再送信する。
【0014】
或る実施形態では、前記ソース装置は、前記送信が失敗したトランスポートコンテナに含まれる前記データグラムセグメントによって表されるセグメント情報の表示を、複数の新しいトランスポートコンテナに含まれる他の複数のデータグラムセグメントに割り当てて、集合的に前記セグメント情報を表す。
【0015】
或る実施形態では、セグメント情報の表示を割り当てる処理は、前記データグラムセグメントを多数の新しいセグメントに分割するために前記データグラムセグメントを分解し、後の送信のために前記新しいセグメントを多数の新しいトランスポートコンテナに配置することによって、前記データグラムセグメントを再フォーマットする処理を含む。
【0016】
或る実施形態では、前記ソース装置は、さらに、前記再フォーマットされるデータグラムセグメントが再フォーマットされたこと、および、送信される準備が整ったことを送信先装置に通知し、前記送信先装置から、前記送信先装置が前記再フォーマットされたデータグラムセグメントを受信可能であることを示す通知を受信し、その後、前記送信先装置に前記再フォーマットされたデータグラムセグメントを送信する。
【0017】
或る態様では、データグラムの1つ以上のデータグラムセグメントをそれぞれ含む複数のトランスポートコンテナを備えたアグリゲートパケット構造に含まれるデータグラムを送信するソース装置は、トランスポートコンテナを送信できない場合を検出する検出ユニットと、前記送信できないトランスポートコンテナを分解する分解ユニットと、前記送信できないトランスポートコンテナを備えた前記アグリゲートパケット構造における前記複数のトランスポートコンテナのシーケンスと、前記複数の新しいトランスポートコンテナを備えた前記アグリゲートパケット構造における前記複数のトランスポートコンテナのシーケンスとの間の変換を示すシーケンス情報を送信する送信ユニットと、を備え、これにより、前記ソース装置は、データグラムを分割することなく、前記送信が失敗したデータグラムを再フォーマットおよび再送信する。
【0018】
或る実施形態では、セグメント情報の表示を割り当てる処理は、前記データグラムセグメントを多数の新しいセグメントに分割するために前記データグラムセグメントを分解し、後の送信のために前記新しいデータグラムセグメントを多数の新しいトランスポートコンテナに配置することによって、前記送信できないトランスポートコンテナを再フォーマットする処理を含む。
【0019】
或る実施形態では、前記ソース装置は、さらに、前記再フォーマットされるデータグラムが再フォーマットされたこと、および、送信される準備が整ったことを送信先装置に通知し、前記送信先装置から、前記送信先装置が前記再フォーマットされたデータグラムを受信可能であることを示す通知を受信し、その後、前記送信先装置に前記再フォーマットされたデータグラムを送信する。
【0020】
或る態様では、ソース装置から送信先装置にデータグラムを送信する方法において、前記データグラムは複数のデータグラムセグメントを含み、前記データグラムは、アグリゲートトランスポートコンテナとしてまとめられ、前記複数のデータグラムセグメントのうちの或るデータグラムセグメントは、セグメント情報を表す。いくつかの実施形態では、前記データグラムは前記複数のデータグラムセグメントから成る。前記方法は、前記送信先装置から、トランスポートコンテナの送信が失敗した場合にフィードバックを受信するステップと、前記送信が失敗したトランスポートコンテナを分解し、データグラムを分割することなく、前記失敗したトランスポートコンテナの全個数より少ない複数の新しいトランスポートコンテナを生成することによって、前記データグラムを再フォーマットするステップと、その後、前記再フォーマットされたデータグラムを前記送信先装置に再送信するステップと、を含む。
【0021】
或る態様では、ソース装置から送信先装置へデータグラムを送信する方法において、前記データグラムは複数のデータグラムセグメントを備え、前記データグラムはトランスポートコンテナを備えたアグリゲートパケット構造にまとめられ、前記複数のデータグラムセグメントのうちの或るデータグラムセグメントはセグメント情報を表す。前記方法は、或るトランスポートコンテナを送信できないことを検出するステップと、
前記送信できないトランスポートコンテナを分解し、データグラムを分割することなく、前記送信できないトランスポートコンテナの全個数より少ない複数の新しいトランスポートコンテナを生成することによって、前記データグラムを再フォーマットするステップと、前記複数の別のデータグラムセグメントを送信するステップと、を含む。
【0022】
或る態様では、ソース装置は、複数のデータグラムセグメントから成るもしくは備えたデータグラムを送信先装置に送信し、前記複数のデータグラムセグメントののうちの或るデータグラムセグメントはセグメント情報を表す。前記ソース装置は、送信されるデータグラムに含まれるデータグラムセグメントの送信が失敗したことを示すフィードバックを前記送信先装置から受信し、送信できないデータグラムセグメントを除外するか、変更せずに再送信するか、または、再フォーマットしてから再送信するかを決定し、前記決定を前記送信先装置に通知する。
【0023】
或る実施形態では、前記ソース装置は、少なくとも或る新しいシーケンス番号を前記失敗したデータグラムセグメントに割り当てることによって、前記送信が失敗したデータグラムセグメントを再フォーマットする。
【0024】
或る実施形態では、前記ソース装置は、複数のデータグラムセグメントを備えたデータグラムを送信先装置に再送信し、前記複数のデータグラムセグメントのうちの或るデータグラムセグメントはセグメント情報を表し、前記ソース装置は、送信されるデータグラムに含まれるデータグラムセグメントを送信できないことを検出し、送信できないデータグラムセグメントを除外するか、再送信するかを決定し、前記決定を前記送信先装置に通知する。
【0025】
或る実施形態では、前記ソース装置は、少なくとも或る新しいシーケンス番号を前記失敗したデータグラムセグメントに割り当てることによって、前記送信できないデータグラムセグメントを再フォーマットする。
【0026】
或る実施形態では、前記ソース装置は、データグラムセグメント送信を除外するか、データグラムセグメントを変更せずに再送信するか、または、再フォーマットしてから再送信するかを決定する送信機フローコントローラを備えている。
【0027】
或る実施形態では、前記ソース装置は、前記データグラムセグメントを含むトランスポートコンテナを順番に並べる送信機フローコントローラをさらに備えている。
【0028】
或る実施形態では、前記ソース装置は、前記トランスポートコンテナを前記送信先装置に送信する下位レベル送信機をさらに備えている。
【0029】
或る態様では、送信先装置に保持されているアグリゲートパケット構造は、複数のトランスポートコンテナを備え、該複数のトランスポートコンテナは、シーケンス番号を有し、それぞれがデータグラムセグメントのピースを少なくとも1つ含む。前記複数のトランスポートコンテナのうちの少なくとも2つは、前記ソース装置に送信されたが送信が失敗したトランスポートコンテナに含まれるデータグラムセグメントのピースを含み、新しいシーケンス番号を有し、前記アグリゲートパケット構造は、追加のトランスポートコンテナを少なくとも1つ備え、該追加的なトランスポートコンテナは、送信が失敗した前記データグラムセグメントの何れのピースも含まず、前記失敗したデータグラムセグメントのピースを含まない前記トランスポートコンテナの前記シーケンス番号より大きいシーケンス番号を有する。ここで、前記送信先装置に保持されているトランスポートコンテナの前記シーケンス番号は以下のように順序づけられる。すなわち、少なくとも2つの追加のトランスポートコンテナの前記シーケンス番号が、前記送信が失敗したトランスポートコンテナの前記シーケンス番号に代わりになるように、かつ、前記少なくとも1つの追加のトランスポートコンテナの前記シーケンス番号が、前記失敗したデータグラムセグメントの何れのピースも含まない前記トランスポートコンテナの最も大きいシーケンス番号の後に続くように順序づけられる。
【0030】
ここに、送信が失敗したデータペイロードを再フォーマットし、再送信するための装置、方法およびデータ再構成を開示する。或る実施形態では、送信失敗および再フォーマットの指示を示すフィードバックを受信し、送信失敗したペイロードを用いてすべきことを決定し、多数のトランスポートコンテナで再送信するために、前記失敗したペイロードを再フォーマットして再度順番に並べることを選択する装置がある。前記方法の或る実施形態では、送信機は、データペイロードを送信し、送信失敗の通知を受信し、前記ペイロードを再フォーマットして再度順番に並べる決定をし、前記ペイロードを多数のトランスポートコンテナに分割し、再度順番に並べることにより多数のトランスポートコンテナの中に配置された前記ペイロードを再送信する。或る実施形態では、再送信のために、送信が失敗したペイロードのピースが2つ以上のトランスポートコンテナの間に配置されているアグリゲートデータ構造がある。
【0031】
〔図面の簡単な説明〕
本実施形態は、単なる例示として、添付の図面を参照してここで説明される。本実施形態の基礎的な理解のために必要なものより詳細な、本実施形態の構造上の細部を示す意図はない。
【0032】
図1は、データグラムセグメントを再フォーマットして再送信するシステムの一実施形態を示す。
【0033】
図2は、再構成および再送信するためのデータ構造の一実施形態を示す。
【0034】
図3は、データグラムセグメントを再構成および再送信する方法の一実施形態を示す。
【0035】
図4は、或るデータグラムセグメントが2つ以上のトランスポートコンテナ内に分割されているデータグラムセグメントを再構成および再送信する方法の一実施形態を示す。
【0036】
図5は、データグラムセグメントを送信対象から除外する方法の一実施形態を示す。
【0037】
〔詳細な説明〕
本明細書では、下記の用語は、以下に示す意味を有する。
【0038】
「データグラム」は通信システムにおける情報要素である。「データグラム」の中にある情報は、「データグラムペイロード」と称する。
【0039】
「ソース」はデータグラムセグメントを送り出す場所である。或る非限定の例では、通信送信機である。ソースは、データグラムセグメントを送信することに加えて、トランスポートコンテナをフォーマットしてもよいし、送信されたデータグラムセグメントの受信に関するフィードバックを受信してもよいし、データグラムセグメントの順番を並べ替えて、再フォーマットしてもよいし、この明細書で示すような、再送信されたデータグラムセグメントを準備し、送信するための他の処理機能を実行してもよい。
【0040】
「送信先」は、データグラムセグメントを受け入れる場所である。或る非限定の例では、通信送信機である。或る非限定の例では、通信受信機である。送信先は、送信されたデータグラムセグメントを受信することに加えて、データグラムセグメントが適切に受信されなかったかどうかを判定してもよいし、データグラムセグメントが適切に受信されなかったことを示すフィードバックをソースに送信してもよいし、データグラムセグメントを再度順番に並べて、再フォーマットすることを要求するリクエストに応答してもよいし、並べ替えられて、再フォーマットされたデータグラムセグメントを受信してもよいし、受信したデータグラムセグメントを再度順序づけてもよいし、この明細書で示すような他の処理機能を実行してもよい。
【0041】
ここで使用する「複数のユニット」という単語は、1以上のソースおよび1以上の送信先の両方を含む。
【0042】
「OSI」は「開放型システム間相互接続(Open Systems Interconnection)」モデルの略である。OSIは、7つの層を含み、最下層から最上層まで、物理層、データリング層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、アプリケーション層がある。データリンク層は、LLC副層およびMAC副層の2つの副層を有していてもよい。
【0043】
「サービスデータユニット」または「SDU」は、上位レベル通信データグラムセグメントである。これらは、「PDU」と呼ばれるトランスポートコンテナにまとめられる。
【0044】
「プロトコルデータユニット」または「PDU」は、OSIシステムにおける下位レベルから上位レベルへSDUを伝送するのに使用されるコンテナである。コンテナは、多数のSDU、および、SDUに加えて他の情報を含む。
【0045】
「MAC副層SDU」は「MAC SDU」または単に「MSDU」と呼ばれてもよい。
【0046】
「MAC副層PDU」は「MAC PDU」または単に「MPDU」と呼ばれてもよい。
【0047】
「データグラムセグメント」は、システムによって送信された情報を示し、「ペイロード」とも呼ばれるし、「SDU」または「MSDU」とも呼ばれる。
【0048】
先行技術文献では、PDUは、時々、「データグラム」と呼ばれる。しかしながら、これは混乱を招く。そのため、PDUと「データグラムセグメント」という用語とが混同されることを防ぐために、ここでは、「PDU」という用語は、「データグラムセグメント」としては使用せず、OSIモデルの或る層における「コンテナ」または「トランスポートコンテナ」を意味し、特に、MAC層におけるトランスポートコンテナのための「MPDU」を意味する。
【0049】
「SN」は、「シーケンス番号」であり、OSIモデルにおいて上位層から下位層に伝送されるコンテナを識別する一意のシーケンス番号である。シーケンス番号は、必ずではないが通常、コンテナ送信の時系列によって設定される。
【0050】
「送信失敗」は、「コンテナ失敗」と同義語であり、ソースによって送信されたコンテナが、送信先によって正しく受信されなかった場合に生じる。
【0051】
コンテナの「最大送信単位」または「MTU」は、システムの規定に従って、送信され得るコンテナの最大サイズである。MTUは、必ずではないがしばしば、バイト数で計測される。
【0052】
「分割」は、MTU限界に対して大きすぎるデータグラムペイロードが、2つ以上の小さなピースにフラグメント化され、そして、いずれもがMTUのサイズを超えない2つ以上のトランスポートコンテナにカプセル化される処理である。
【0053】
「フレームアグリゲーション」は、分割されたデータグラムペイロードが送信先において一緒にまとめられる処理である。
【0054】
「PER」または「パケットエラーレート(もしくはデータグラムエラーレート)」は、送信失敗の程度である。これは、必ずではないが典型的には、送信失敗の個数をコンテナ送信の全個数で除算して測定される。
【0055】
「PPDU」は、物理層PDUの略であり、物理層におけるPDUである。PPDUは、非常に大量の通信「オーバーヘッド」を有していてもよい。「オーバーヘッド」は、データグラムペイロードではなく、マネージメントおよびトランスポート情報であるコンテナの一部である。
【0056】
「A−MSDU」は「アグリゲートMSDU」の略であり、「MSDUアグリゲーション」と呼ばれてもよい。これは、802.11 WLANとして知られるIEEE技術規格で規定される、MAC層のトップで生じるフレームアグリゲーションの一種である。
【0057】
「A−MPDU」は、「アグリゲートMPDU」の略であり、「MPDUアグリゲーション」と呼ばれてもよい。これは、802.11 WLANとして知られるIEEE技術規格で規定される、MAC層のボトムで生じるフレームアグリゲーションの一種である。
【0058】
WLANの様々な種類があるが、802.11 WLANは、802.11 WLANとしてIEEEによって規定される特定のWLANのみを示し、「ソース」は「送信機」と呼ばれ、「送信先」は「受信機」と呼ばれる。
【0059】
「失敗送信」は、データグラムセグメントを含むトランスポートコンテナがソースによって送信されたが、送信先によって受信されない場合、または、ソースによって送信されたが、送信先がデータグラムセグメントを適切に処理できないために送信先によって適切に受信されない場合を指す。
【0060】
「アグリゲートパケット構造」は、それぞれが少なくとも1つのデータグラムセグメントを含む多数のトランスポートコンテナを有するデータ構造である。
【0061】
図1は、データグラムセグメントを再構成して再送信するシステムの一実施形態を示す。図1では、左側に、双方向通信接続120によって受信機130と接続する送信機110がある。接続120は、無線、有線またはそれらの組み合わせを含む、様々な送受信機間における任意の種類の通信接続である。接続120は、無線の場合、全部または一部において、任意の周波数帯で動作してもよいし、ローカルエリアまたは広域であってもよいし、地上または衛生でもよい。接続120は、有線の場合、任意の段階に対して、単なる例として、銅線、同軸ケーブルまたは光ファイバーを含む任意の種類の有線接続であってよい。図1では、左側のユニットを「送信機」110と称し、本明細書で識別するが、送信機は双方向ユニット(送受信機)である。同様に、図1では、右側のユニットを「受信機」130と称し、本明細書で識別するが、受信機は双方向ユニット(送受信機)である。802.11 WLAN以外のシステムでは、これらは、それぞれ「ソース」および「送信先」と呼ばれる。
【0062】
図2〜5に関して下記で説明するように、受信機130で実行されるいくつかの機能がある。同様に、図2〜5に関して下記で説明するように、送信機110で実行されるいくつかの機能がある。図1は、送信機110における機能が、下位レベル送信機コントローラ140、フレームビルダー150、フィードバックプロセッサ170、フローハンドラー180およびシーケンス番号ハンドラー190の5つの物理構造の何れかで実行されることを示す。図1では、最後の3つの構造は、Txフローコントローラ160と呼ばれる上位構造に組み込まれている。
【0063】
図1に示す特定の構造は、単なる例示であり、代替物を除外するものではない。例えば、Txフローコントローラ160は、フィードバックプロセッサ170、フローハンドラー180およびシーケンス番号ハンドラー190の全ての機能を実行する単一の物理構造から成っていてもよい。例えば、フレームビルダー150は、Txフローコントローラ160の一部であってもよい。他の実施形態では、フレームビルダー150は、下位レベル送信機コントローラ140の一部であってもよい。いくつかの実施形態では、フレームビルダー150は、単独でも、他の構造の一部でもなく、全く無くても構わない。そのような実施形態では、フレームビルダー150によって実行される、ここで説明する機能は実行されない。
【0064】
全ての実施形態ではないがいくつかの実施形態では、受信機130の機能は、下記の全てまたは部分集合を含む。
・送信機120からトランスポートコンテナを受信する機能。
・トランスポートコンテナの受信を通知する機能、または、コンテナ送信が失敗したことを示す機能。
・トランスポートコンテナの再構成の要求に応答する機能。
・トランスポートコンテナが除外されたことを示す通知に対して応答する機能。
・システムによって決定された順序でデータグラムセグメントを順序づける機能、および、順序付けられたデータグラムセグメントをシステムにおける異なるレベル(不図示)に送信する機能。
【0065】
全ての実施形態ではないがいくつかの実施形態では、送信機の機能は、下記にリストアップされた機能の全てまたは部分集合を含む。さらに、各機能は、当該機能を実行する物理構造を含む。しかしながら、別の実施形態では、機能は、送信機内の異なる物理構造によって実行されてもよい。
・トランスポートコンテナを順番に並べる機能、この機能はシーケンス番号ハンドラー190によって実行されてもよい。
・受信機にトランスポートコンテナを送信する機能、この機能は下位レベル送信機コントローラ140によって実行されてもよい。
・受信機から受信または失敗の通知を受信する機能、この機能は下位レベル送信機コントローラ140によって実行されてもよい。
・そのような通知を処理する機能、この機能はフィードバックプロセッサ170によって実行されてもよい。
・失敗したトランスポートコンテナを利用できるウィンドウで再送信するか、再構成するか、または、除外するかを決定する機能。この決定はフローハンドラー180で実行されてもよい。
・再構成されるべきトランスポートコンテナを再構成する機能、この機能はシーケンス番号ハンドラー190によって実行されてもよい。
・受信機130にトランスポートコンテナを送信する機能、この機能は下位レベル送信機コントローラ140によって実行されてもよい。
・再構成されたトランスポートコンテナが受信された、または、失敗したことを示す通知を受信する機能、この機能は下位レベル送信機コントローラ140によって実行されてもよい。
【0066】
いくつかの実施形態では、トランスポートコンテナは、アグリゲートパケット構造にまとめられる。そのような実施形態では、アグリゲーションは、フレームビルダー150によって実行されてもよい。これは、初回の送信に関しても、あるいは、初回の送信で失敗したデータグラムの送信に関しても当てはまる。
【0067】
いくつかの実施形態では、送信機110が、特定の受信機130が送信機110によって提案された再構成を受信することができるかどうかを理解できるよう、送信機110と受信機130との間で通信があってもよい。送信機110が前記特定の受信機130の能力を知らない場合に、上記通信が起こるようにしてもよい。例えば、受信機130の位置が固定されていない場合、または、受信機130がそのシステムに初めて導入された場合、または、受信機130が何らかの方法で変更またはアップグレードされた場合に起こるようにしてもよい。そのような実施形態では、送信機110は、変更を提案してもよい。該変更とは、トランスポートコンテナの再構成であってもよいし、あるいは、コンテナの別のアグリゲーションであってもよいし、あるいは、1つのデータグラムセグメントを多数のピースにフラグメント化することであってもよいし、あるいは、データグラムセグメント除外することであってもよい。この変更は受信機130に対して提案される。受信機130は、提案された変更を受け入れられるか否かを宣言することによって応答する。受信機130からの応答に基づいて、送信機110は、提案した変更を実行するか、別の変更を提案するか、あるいは、単に変更を完全に撤回する。
【0068】
別の実施形態では、受信機130の能力を確立するための前記通信はなくてもよい。これは、受信機130がこのシステムに事前に供給されている、または、受信機130がシステムに入るときにその能力を自動的に報告する、または、受信機130が最初にシステムに入った時に送信機110が能力報告を自動的に要求する、または、その他の理由のいずれかによる。これらの別の実施形態は、送信機110によって一般的な解決方法が提案されるような状況において実施可能であってもよい。送信機110がその状況に唯一の解決方法を提案する別のシナリオでは、これらの別の実施形態は実施できない。また、受信機130が、提案された変更を受け入れられるかどうかを送信機110に伝達するためには、受信機130について通信ハンドシェイクは確立されなければならない。
【0069】
それぞれ異なる能力を有する多様な受信機130があるシステムがあってもよい。それは、例えば、従来のユニットおよび更新されたユニットの両方が同時に動作するシステムの場合に発生する。通信ハンドシェイクは、いくつかの状況において、そのようなシステムで必要となり得る。
【0070】
一実施形態は、送信が失敗したデータグラムセグメントを再フォーマットおよび再送信するソースである。ソースは、データセグメントの送信が失敗したことを示すフィードバックを受信する構造的手段、データセグメントの送信を撤回するか、変更せずに再送信するか、または、再フォーマットしてから再送信するかを決定する構造的手段、データグラムセグメントを含むトランスポートコンテナを再フォーマットして再度順番に並べる構造的手段、および、再フォーマットされ再度順番に並べられたトランスポートコンテナを送信する構造的手段を含む。或る実施形態では、ソースは電子送信機である。或る実施形態では、送信失敗のフィードバックは、フィードバックプロセッサによって受信され認識される。或る実施形態では、失敗したデータグラムセグメントを除外するか、変更しないで再送信するか、または、再フォーマットして再送信するかの選択は、フローハンドラーによって行われる。或る実施形態では、失敗したデータグラムセグメントのピースを再フォーマットして再度順番に並べることは、シーケンス番号ハンドラーによって行われる。或る実施形態では、再フォーマットされ再度順番に並べられた失敗したデータグラムセグメントのピースの送信は、下位レベル送信機コントローラによって行われる。
【0071】
図2は、種々のデータ構造の一実施形態であり、一実施形態に係るデータ構造の再度の順序づけを示す。データ構造210では、送信機は、ここでは、101〜106で表されている種々のトランスポートコンテナを並べられている順序でそれぞれ送信する。いくつかの場合、全てのトランスポートコンテナは、受信機によって受信されるが、他の場合ではそうではない。データ構造220では、受信機は、トランスポートコンテナ101、102、104、105および106を受信したが、103の送信は失敗している。これは、コンテナ103が全く受信されなかった、または、受信機では修復できない損傷がある状態で受信されたことを意味する。そのような状態では、システムは、再構成することを決定してから、再構成されたトランスポートコンテナを送信してもよい。例えば、データ構造230では、送信機は、トランスポートコンテナ107、108および109を送信する。ここで、元のコンテナ103に含まれるデータグラムセグメントは、2つの新しいトランスポートコンテナ107および108にフラグメント化されており、新しいトランスポートコンテナ109がそれに続く。そして、送信機は、データ構造240に示すように、再構成され再度順番に並べられたプロトコルコンテナを送信する。データ構造240では、再構成は、107および108(元の番号103の代わり)によって表され、再度の順番並べは、送信機から受信機への送信の末尾のトランスポートコンテナ107〜109によって表される。換言すると、データ構造240は、送信機が再構成され再度順番に並べられたトランスポートコンテナを送信する方法、および、そのようなトランスポートコンテナが受信機によって受信される方法の両方を示す。しかしながら、トランスポートコンテナが受信される順序は、コンテナに含まれるデータグラムセグメントの意図された並びではないという問題がある。それゆえ、データ構造250では、受信機は、カプセル化されたデータグラム要素が適切な順序で現れるように、トランスポートコンテナを再度順序づける。これらの再度順序付けられたデータグラム要素は、受信機によって、システム上の異なる層に伝送されてもよい。データ構造250は、一実施形態の結果を示し、失敗したコンテナ103は2つのコンテナ107および108に分割され、再送信されて、そして、受信機によって正しい順序に再度順序づけられる。
【0072】
一実施形態は、アグリゲートパケット構造である。該アグリゲートパケット構造では、多数のトランスポートコンテナがソースに保持されており、そのような各トランスポートコンテナは、ソースによって送信されたが送信に失敗したデータグラムセグメントのピースを少なくとも1つ含む。また、失敗したデータグラムセグメントのピースを有する、そのようなトランスポートコンテナの各々はシーケンス番号を有する。また、追加のトランスポートコンテナが少なくとも1つある。この追加のトランスポートコンテナは、失敗したデータグラムセグメントを部分的にも一切含まず、失敗したデータグラムセグメントのピースを含むトランスポートコンテナのシーケンス番号より大きいシーケンス番号を有する。
【0073】
図3は、データグラムセグメントを再構成して再送信する方法の一実施形態である。ステップ310では、トランスポートコンテナの受信機への送信が失敗する。受信機はこの失敗を送信機に報告する。それから、送信機は、ステップ320において、失敗したコンテナについて何をするかを決定する。可能性は4つある。
【0074】
第1の可能性は、再度まとめるまたは再送信することを一切せずに、失敗したコンテナを単に除外することである。システムは、この決定を、その時点で存在する送信、および、失敗したコンテナに含まれるデータグラムセグメントについての環境条件に応じて行ってもよい。データグラムセグメントを除外することは、図3ではなく、図5に示されている。
【0075】
第2の可能性は、失敗したコンテナを変更することなく「そのまま」再送信することである。この可能性によれば、送信機は、単に、送信のためのウィンドウが利用可能になるまで待機し、そして、カプセル化されたデータグラム要素を有する失敗したコンテナを再送信する。この可能性は、従来技術の一部であり、図3に示していないが、決定時点は要素320に示されている。
【0076】
第3の可能性は、失敗したコンテナを、単一のコンテナとして、再度番号付けて再送信することである。この場合の方法は、図3のステップ330〜380に含めて示されているように続けられる。ステップ330では、送信機は、失敗したコンテナに再度番号づけを行うことを決定する。送信機は、新しいシーケンス番号を再度番号づけられたコンテナに割り当てる(340)。そして、送信機は、受信機に新しいシーケンス番号を通知する(350)。そして、受信機は、再度順番に並べられたコンテナを送信機によって提案された方法で受信できるかどうかを判定しなければならない。答えがYESの場合、受信機が確認を送信し、送信機は答えがYESであることを示す確認を受信する(360)。送信機は、それから、コンテナを再度順番に並べて(370)、新しいコンテナを送信する(380)。答えがNOの場合、ステップ320において、失敗したコンテナについて何をするかを決定することになる。
【0077】
第4の可能性は、第3の可能性の変形例であり、失敗したコンテナに含まれるデータグラムセグメントが2つ以上のコンテナ内に分割されることである。この変形例では、送信機は、多数のコンテナの一部として、データグラムセグメントに再度番号づけを行うことを決定する(330)。送信機は、新しいシーケンス番号を多数のコンテナに割り当てる(340)。送信機は、新しいシーケンス番号を受信機に通知し(350)、失敗したデータグラムセグメントを多数のコンテナの一部として再送信することを提案する。受信機は、この提案された解決方法を受け入れられるかどうかを決定しなければならない。受け入れ可能な場合、受信機は確認を送信する。送信機は、確認を受信し(370)、コンテナを再度順番に並べて(370)、2つ以上のトランスポートコンテナ内に分割されたデータグラムセグメントを有する新しいコンテナを送信する(380)。
【0078】
図4は、コンテナおよびそれのカプセル化されたデータグラムセグメントを再構成して再送信する方法の別の実施形態である。図4は、図3に示す方法の一例である。図4は、特に、複数の実施形態のうちのいくつかに関する一環境である、802.11 WLAN環境に関する。同じ機能がシステム内の異なる物理ユニットによって実行されてもよいが、図4では、特定の物理ユニットが特定の機能を実行する実施例について例示している。
【0079】
図4には、要素160Aがフィードバックプロセッサ170およびフローハンドラー180のみ(どちらも図4に示されていない)を含むように構成されているということ以外は、図1に示す要素160と同様のTXフローコントローラ160Aがある。シーケンス番号ハンドラー190の要素は160の構造の一部であるため、図4にはシーケンス番号ハンドラー190が示されていない。シーケンス番号ハンドラー190Aは、TXフローコントローラ160Aとは別に構成されている。これは、種々の方法の実施形態を実現するための構造の別の一実施形態である。TXフローコントローラ160Aによって実行される機能は、フィードバックプロセッサ170およびフローハンドラー180によって実行される機能であるが、図4では、これらは802.11 WLAN環境において具体的に示されている。シーケンス番号ハンドラー190Aによって実行される機能は、シーケンス番号ハンドラー190によって実行される機能であるが、これらは802.11 WLAN環境において具体的に示されている。下位レベル送信機110Aによって実行される機能は、下位レベル送信機110によって実行される機能であり、受信機130Aによって実行される機能は、130によって実行される機能であるが、図4では、これらの機能全てが802.11 WLAN環境において具体的に示されている。
【0080】
図4は、先頭の405から始まり、末尾の450まで進行する時系列のステップがあるように組み立てられている。下位レベル送信機コントローラの提示を簡単にするために図4では示していないが、受信機130Aへのまたは受信機130Aからの通信の全ては、送信機の一部である下位レベル送信機コントローラとの間で行われることが理解されるであろう。これはステップ405、430、435および450に適用される。
【0081】
図4では、送信機はMPDUを送信するが、この送信は失敗する(405)。送信機内では、この失敗は、下位レベル送信機110AからTXフローコントローラ160Aへ通知される(410)。TXフローコントローラ160Aは、MTU限界のために失敗したMPDUを送信できないということを検出し(415)、そして、MPDUペイロードを2つ以上のMPDUに分割できることを証明する(420)。TXフローコントローラ160Aは、それから、シーケンス番号ハンドラー190Aに要求して(425)、シーケンス番号ハンドラー190Aから、前記ペイロードを含むMPDU用の新しいシーケンス番号を受信する。TXフローコントローラは、それから、受信機130Aにシーケンス番号再順序づけ通知要求を送信する(430)。受信機130Aが送信し、TXフローコントローラ160Aは、受信機130Aがこれらの多数の再度順番に並べられたMPDUを受信できるかどうかを示す応答を受信する(435)。応答が肯定である場合、それからTXフローコントローラ160Aは、ペイロードを分割し、それを2つ以上の新しいMPDUに再度まとめる(440)。TXフローコントローラは、それから、新たに順番を並べなおすことをフレームビルダー150(図4に不図示)に通知する(445)。フレームビルダー150は、新しいMPDUを送信の一部である追加のMPDUと一緒にアグリゲーションされる。そして、再度アグリゲーションされた、新しいMPDUを含むMPDUは、下位レベル送信機110Aによって受信機130Aに再送信される(450)。ステップ435において、受信機130Aが、TXフローコントローラ160Aに対して、受信機160Aが多数の再度順番に並べられたMPDUを受信できないことを知らせた場合、この方法は、ステップ415に戻り、TXフローコントローラ160Aがイベントを判定する。図4には示していないが、図3のステップ320において全て示されているように、TXフローコントローラ160Aが420においてペイロードを多数のMPDUに分割できないと判定した場合、失敗したMPDUペイロードは、除外されるか、変更せずに再送信されるか、または、単一の新しいコンテナとして再送信される。
【0082】
図4は特定のステップを実行するさまざまな物理ユニットを示しているが、これらのステップは、異なる物理ユニットによっても実行され得ることが理解されるであろう。さらに、示された正確な順序は、異なる実施形態において、様々な方法で変えることができ、そのような別の実施形態では、物理ユニットの変形は種々の機能を実行してもよい。
【0083】
図4の可能な一実施形態では、現存のシーケンス生成機構を使用して(すなわち、MSDUシーケンス番号または周知のフラグメンテーション機構を必要とせずに)MSDUを多数のMPDUに分割することにより、多数の上位レベルプロトコルデータグラムセグメント(MSDU)を含むデータグラム(MPDU)を送信可能とする、送信機と受信機との間の新しいシーケンス制御および同期化機構がある。この特定の実施形態は、MTU限界のためにMPDUを送信できないイベントを識別する方法である。この実施形態では、MPDU内に特定のシーケンス番号と一緒に予めカプセル化されるMSDUが再送信のための特定のシーケンス番号と共に多数のMPDUに今まさにカプセル化さたことを通知する機構がある。これにより、受信機の再順序づけ機能が、受信されたMSDUを再順序づけしてそれらをより上位層に伝送する場合に、シーケンス番号の変化を考慮することができる。
【0084】
図5は、コンテナおよびそれのカプセル化されたデータグラムセグメントを送信対象から除外する方法の一実施形態である。図5は、図3と同じ方法で始まる。ステップでは、送信機から受信機へのコンテナの送信が失敗する(310)。受信機は送信機にこの失敗を報告する。送信機は、ステップ320において、コンテナを除外するか、または、変更せずに再送信する(やがて現れる利用可能なウィンドウで再送信することを除く)か、または、失敗したコンテナを「再度番号付ける」か、を決定する。この意味では、「再度番号付ける」は、新しいシーケンス番号を失敗したコンテナに与えること、または、カプセル化されたデータグラム要素を多数のコンテナにフラグメント化して新しいシーケンス番号をそのようなコンテナそれぞれに与えること、または、その両方を意味してもよい。図5では、送信機は、コンテナ510を除外することを決定する。送信機は受信機に除外したことを通知する(520)。受信機は、通知を受信した場合、送信機に確認を送信する(図5では不図示)。送信機は、受信機からこの確認を受信する場合もあるし、受信しない場合もある(530)。送信機は、確認を受信した場合、コンテナおよびそれのカプセル化されたデータグラムセグメントの送信を続ける(540)。送信機は、受信機から確認を受信しない場合、再試行の最大番号がこの除外されたコンテナ550の通知にまで到達したかどうかを判定する。再試行が残っている場合、その処理はステップ520から繰り返される。再試行が残っていない場合、たとえ受信機が除外されたコンテナを知らなくても、送信機は、コンテナの送信を再開する(560)。
【0085】
いくつかの実施形態では、受信機が除外されたことを知らずに送信機がコンテナの送信を続けてしまう前に、送信機は、受信機に対して予め定められた番号の通知を試みてもよい。520に示すように毎回通知が試みられる場合、利用可能な再試行の番号は1つ減少する。許可される再試行の番号は、除外されたコンテナの全てと同じであってもよいし、または、コンテナの種類またはサイズによって、もしくは、カプセル化されたデータグラムセグメントの性質によって、もしくは、日時によって、もしくは、システムによって決定される任意の他の理由によって変えてもよい。許可された再試行の合計番号が達成されると、再試行は残っておらず、それゆえ、送信機は、530の後、受信機が除外されたコンテナを知っている(540)か、知らない(560)かによらずに、送信フローを再開する。
【0086】
一実施形態は、送信に失敗したデータグラムセグメントを処理する方法である。別の一実施形態では、送信機は、データグラムセグメントを含むトランスポートコンテナを送信して、送信が失敗したことを示す通知を受信し、データグラムセグメントを除外するか、変更せずに再送信するか、または、再送信のために再フォーマットして再度順番に並べるかを決定する。また、送信機が再フォーマットして再度順番に並べることを決定した場合、送信機は、失敗したデータグラムセグメントを多数のピースに分割して、各ピースをそれ自身のトランスポートコンテナに再度まとめて、この時点では再度まとめられたピースを含む多数のトランスポートコンテナの一部としてではあるが、失敗したデータグラムセグメントのピースを再送信する。
【0087】
いくつかの実施形態は、多数の古いおよび再フォーマットされた新しいデータグラムセグメントを含むトランスポートコンテナの送信を可能とする、送信機と受信機との間の新しいシーケンス制御および同期化機構である。いくつかの実施形態では、データグラムセグメントは、予め存在するシーケンス生成機構を用いて、2つ以上の新しいトランスポートコンテナ内に分割される。この意味では、「予め存在するシーケンス生成機構」は、MPDU送信失敗が検出されると、再度のシーケンス番号通知要求430またはシーケンス番号再順序付け通知応答435を必要とせずに、MPDUペイロードが多数のMPDUに自動的に分割されることを意味する。
【0088】
いくつかの実施形態は、MTU(一時的または永続的)限界またはその他の理由により、トランスポートコンテナがうまく送信できないイベントを識別することを含む。そのような実施形態では、送信機は、特定のシーケンス番号と共に予めトランスポートコンテナにカプセル化されたデータグラムセグメントが、再送信のための新しいシーケンス番号を有する多数のトランスポートコンテナに、今、再度カプセル化されることを受信機に通知する。受信機は、これらの新しい多数のトランスポートコンテナを受信し、それらが元のSNで送信されるように、古いシーケンス番号と新しいシーケンス番号との間の変換を使用して、再度順序付ける。それによって、受信機は、システム内の他のプロトコル層に伝送するためにカプセル化されたデータグラムセグメントを準備する。
【0089】
いくつかの実施形態は、MTU(一時的または永続的)限界またはその他の理由により、トランスポートコンテナがうまく再送信できないイベントを識別することを含む。そのような実施形態では、送信機は、前に特定のシーケンス番号と共にトランスポートコンテナにカプセル化されたデータグラムセグメントが、送信機によって放棄されることを受信機に通知する。受信機は、この通知を受信して、放棄されたMSDUを待たずに、他の正しく受信したMSDUをシステム内の他のプロトコル層に伝送する。
【0090】
いくつかの実施形態は、受信機がデータグラムセグメントの提案された再カプセル化および再順番並べをサポートしているかどうかを送信機に通知する、送信機と受信機との間の通信能力交渉を含む。そのような交渉は、パラメータが非常にきっちりと定められているという意味で「静的」であってもよいし、種々の情況に応じて質問に適合し応え得るという意味で「動的」であってもよい。受信機が再カプセル化および再順番並べをサポートするというその能力を有する場合、送信機は、再カプセル化および再順番並べを実行する。受信機がそのような能力を有していない場合、データグラムセグメントは再カプセル化されないが、むしろそれらは変更されずに再送信されるか、または、除外される。いくつかの実施形態では、再カプセル化および再順番並べがあっても、なくてもどちらの場合でも、送信機は、能力を有する受信機および能力を有しない受信機の両方に、適切な行動を提供することができる。特に従来の受信機はその能力を有していないことが予想される。また、それらは、採用するべき再度順番を並べる方法を交渉してもよい。
【0091】
送信機による受信機へのトランスポートコンテナを除外したことの通知に関する実行および新しい点は、データが送信機から受信機に送信され、受信機が送信の成功または失敗の通知を提供する全ての通信システムに適用することができる。前記通信システムとは、正式な規格(他を排除するわけではないが、例えば、IEEEによって公表された規格など)およびデファクトスタンダード(任意の団体によって正式に公表されたか否かにかかわらず)の両方にしたがって動作するシステムを含む。
【0092】
失敗した送信の再順番並べに関する実行および新しい点は、システムがIEEEによって規定された技術規格、他の団体によって規定された技術規格、または、任意の団体によって規定されていないデファクトスタンダードにしたがって動作するかしないかにかかわらず、パケットの順番並べを含む任意の通信システムに適用できる。IEEEによって規定されていない技術規格の例は、パケットの順番並べを使用するTCP規格である。
【0093】
いくつかの実施形態は、IEEEによって公表された技術規格にしたがって動作する通信システムに適合する。そのような実施形態は、多数の上位レベルプロトコルデータグラムセグメント(MSDU)を含む新しいトランスポートコンテナ(MPDU)を送信可能にする、送信機と受信機との間の新しいシーケンス制御および同期化機構がある。これは、存在するシーケンス生成機構を使用して(シーケンス番号をMSDUセグメントに割り当てる必要が無く)、MSDUまたはA−MSDUを多数のMPDUに分割することによって達成される。そのような実施形態では、MTU限界またはその他の理由により、MPDUが送信できない場合にイベントが識別される。そして、特定のシーケンス番号と共に単一のMPDUに事前にカプセル化されたMSDUまたはA−MSDUが、再送信のための新しい特定のシーケンス番号と共に多数のMPDUに今カプセル化されたことを、送信機が受信機に通知する機構がある。そして、受信機は、システム内の他のプロトコル層に再送信するためにMSDUを準備するために、シーケンス番号(元のシーケンス番号および失敗した送信のための新しいSNの両方を含む)に関する完全な情報に基づいて、MSDUを再度順序付けることができる。
【0094】
また、IEEEによって公表された技術規格にしたがって動作する通信システムに適合する実施形態では、受信機がデータグラムセグメントの提案された再カプセル化および再順番並べをサポートしているかどうかを送信機に通知する、送信機と受信機との間の通信ハンドシェイクがある。受信機がその能力を有している場合、送信機は、再カプセル化および再順番並べを実行する。そうでない場合、データグラムセグメントは再カプセル化されず、むしろ、そのまま再送信されるか、または、除外される。いくつかの実施形態では、再カプセル化および再順番並べを伴っても、伴っていなくてもどちらの場合でも、送信機は、能力を有する受信機および能力を有しない受信機の両方に、適切な行動を提供することができる。従来の受信機は特にその能力を有していないことが予想される。
【0095】
802.11 WLAN規格は、IEEEによって公表された技術規格である。それゆえ、上述で要約した、IEEE規格にしたがって動作するシステムに適合する実施形態は、802.11 WLANシステムにも適合する。さらに、802.11 WLANシステムのいくつかの実施形態では、受信機は、送信機に対して、MPDU送信の失敗を通知する。この後、送信機は、失敗したMPDUを再度順番に並べるために(または失敗した送信を多数のMPDUに分割して、多数のMPDUを再度順番に並べるために)、以前に使用されていない特定のSNの集合を使用する。送信機は新しいシーケンス番号と共に送信し、受信機は、これらのシーケンス番号を使用して、MSDUを再度順序付けて、システム内の他のプロトコル層に再送信するためのMSDUを準備する。802.11 WLANシステムの他の実施形態では、受信機はMPDU送信の失敗を送信機に通知する。この後、送信機は失敗したMPDUを放棄し、受信機に放棄を通知する。そして、受信機は、この情報を使用して、続いて受信したMPDUにカプセル化されたMSDUを他のプロトコル層に伝送する。
【0096】
本明細書では、非常に多くの特定の細部が示されている。しかしながら、本発明に係る実施形態/事例は、それらの特定の細部のいくつかがなくても実施されてもよい。他の事例では、本明細書の理解を不明瞭にしないために、周知のハードウェア、物質、構造および技術は詳細には示されていない。本明細書では、「或る実施形態」および「或る事例」の表現は、示された特徴が、本発明に係る少なくとも1つの実施形態/事例に含まれてよいことを意味する。さらに、本明細書における「一実施形態」、「いくつかの実施形態」、「一事例」または「いくつかの事例」の区別は、必ずしも、同じ実施形態/事例を示していない。示された実施形態/事例は、そのように主張していない限りおよび当業者が読んで明らかな場合を除いて、相互に排他的ではない。それゆえ、本発明は、ここで説明した実施形態/事例の特徴の任意の組み合わせおよび/または統合による変形例を含んでよい。また、ここでは、フロー図は、方法の非限定的な実施形態/事例の具体例を示す。ブロック図は、装置の非限定的な実施形態/事例の具体例を示す。フロー図におけるいくつかの動作は、ブロック図によって示されている実施形態/事例に関して説明されてもよい。しかしながら、フロー図の方法は、ブロック図で説明したもの以外にも、本発明の実施形態/事例によって実行されてもよい。ブロック図で説明した実施形態/事例は、フロー図で説明した動作と異なる動作を実行してもよい。さらに、フロー図は連続的な動作を描画しているが、或る実施形態/事例は、並行して、および/または、描画したものと違う順序で或る動作を実行してもよい。さらに、明細書および/または図面における繰り返された参照番号および/または文字は、簡易かつ明確にするための目的で使用されたものであり、説明した種々の実施形態/事例および/または構成間の関係をそれ自身が決定付けるものではない。さらに、実施形態/事例の方法および機構は、明確にするために、時々、一つの形態で説明されている。しかしながら、いくつかの実施形態/事例は、別の方法で表していない限り、方法の多数の繰り返しまたは機構の多数の具体化を含んでよい。例えば、コントローラまたはインターフェースが実施形態/事例において開示されている場合、実施形態/事例の範囲は、多数のコントローラまたはインターフェースの使用をカバーすることも意図している。
【0097】
別々の実施形態/事例の文脈において、明瞭化の目的で説明された実施形態/事例の或る特徴は、単一の実施形態/事例の種々の組み合わせにおいて備えられていてもよい。逆に、別々の実施形態/事例の文脈において、簡素化の目的で説明された実施形態/事例の種々の特徴は、別々に、または、任意の適当な部分的組み合わせにおいて備えられていてもよい。実施形態/事例は、本明細書、図面または例示で示す、方法の動作ステップの順序または連続性の細部、または、装置の実施の細部への適用に限定されない。さらに、図に示されている個々のブロックは、現実に機能してよく、別々のハードウェア要素に対応する必要はない。ここで開示した方法は、特定の順序で実行される特定のステップに関して説明および示しているが、これらのステップは、同等の方法を形成するために、実施形態/事例の教示から離れない限り、組み合わせても、さらに分割されても、再度順序づけられてもよいことがわかるであろう。したがって、ここで特に示していない限り、ステップの順序および集合は、実施形態/事例を限定しない。特定の例に関して説明された実施形態/事例は例示をもって説明されており、限定していない。さらに、多くの代替、変更および変形が、当業者にとって明らかであることは明白である。したがって、実施形態/事例が、添付の特許請求の範囲およびそれと同等のものの目的および範囲内にある、全てのそのような代替、変更および変形を含むことを意図している。
【図面の簡単な説明】
【0098】
図1】データグラムセグメントを再フォーマットして再送信するシステムの一実施形態を示す図である。
図2】再構成および再送信するためのデータ構造の一実施形態を示す図である。
図3】データグラムセグメントを再構成および再送信する方法の一実施形態を示す図である。
図4】或るデータグラムセグメントが2つ以上のトランスポートコンテナ内に分割されているデータグラムセグメントを再構成および再送信する方法の一実施形態を示す図である。
図5】データグラムセグメントを送信対象から除外する方法の一実施形態を示す図である。
図1
図2
図3
図4
図5