(57)【要約】  本発明は、通信システムにおいて情報のストリームを送受信する装置の動作特性を推定するために使用してもよい。一応用において、ルータまたは無線アクセスポイントなどの処理装置におけるＦＩＦＯバッファの占有レベルは、処理装置によって送信されたパケットを監視することによって推定する。動作特性の推定を使用することで、全体の性能を改善させるようにシステムにおける通信を制御することができる。低い信号対雑音比の状態の効果を緩和するために使用可能な手法も開示されている。
2009533963.tif 000002
【特許請求の範囲】
【請求項１】
情報パケットを送出する第１のデータソースと、
前記第１のデータソースから前記情報パケットを受信し、前記パケットのうちの少なくともいくつかのパケットについての情報をバッファに記憶させ、１つ以上の受信器によって受信されるように通信チャンネルに沿って情報パケットを送信する処理装置と、
前記処理装置によって送信された前記情報パケットのうちの少なくともいくつかの情報パケットを含む、１つ以上の装置によって送信された情報パケットを、前記通信チャンネルから受信する受信器と
を備える通信システムにおいて、前記処理装置の前記バッファについての占有推定レベルを判断するための方法であって、
前記受信器によって受信されると、各情報パケットについての受信時間を記録するステップと、
前記受信器によって受信された前記各パケットから、前記処理装置によって送信されたものとして特定されている選択パケットを特定するステップと、
前記選択パケットによって伝達された前記情報が前記処理装置によって受信された時間に対応する開始時間を、前記選択パケットによって伝達されたデータから導出するステップと、
前記選択パケットの前記受信時間から終了時間を取得するステップと、
前記選択パケット以前に前記受信器によって受信されかつ前記処理装置によって送信されたものとして特定されている情報パケットによって伝達された情報を検査して、前記受信器によって受信された前記パケットのうちのいずれが前記開始時間から前記終了時間までの期間中に前記処理装置によって送信された固有パケットであるかを判断するステップと、
いずれのパケットが前記固有パケットであるかの前記判断から、前記バッファについての前記占有推定レベルを導出し、前記バッファについての前記占有推定レベルを表す信号を生成するステップと
を含む、方法。
【請求項２】
前記固有パケットの数を導出することによって前記占有推定レベルを導出する、請求項１に記載の方法。
【請求項３】
各固有パケットは、各シーケンス番号によって特定され、前記方法は、
隣接するパケットの前記シーケンス番号間の１より大きい増加分を認識するステップと、
前記増加分がシーケンスギャップの閾値よりも小さい場合には、前記固有パケット数を前記増加分から導出された量だけ増加させるステップと
を含む、請求項２に記載の方法。
【請求項４】
各固有パケットは、各シーケンス番号によって特定され、前記方法は、前記開始時間に最も近いが該開始時間より前ではない時間に受信されたパケットのシーケンス番号と、前記終了時間に最も近いが該終了時間より後ではない時間に受信されたパケットのシーケンス番号との差から、前記固有パケット数を計算するステップを含む、請求項２に記載の方法。
【請求項５】
各パケットは、キューイング優先度の表示を伝達し、前記処理装置は、１つ以上のバッファを使用して、各パケットの前記キューイング優先度に従って、多クラスのキューイング手法を実施し、前記方法は、
複数のキューイングクラスについて固有パケットの番号を取得するステップと、
複数のキューイングクラスについて固有パケットの前記番号を調整して、前記処理装置によって送信されたが前記受信器によって受信されていない未分類パケットを明らかにするステップと、
調整された固有パケットの番号を使用して、前記キューイングクラスの前記１つ以上のバッファについての各占有推定レベルを判断し、前記１つ以上のバッファについての前記各占有推定レベルを表す１つ以上の信号を生成するステップと
を含む、請求項２に記載の方法。
【請求項６】
複数のキューイングクラスについての前記固有パケットの番号を使用して、複数のキューイングクラスについての各相対確率を推定するステップと、
前記相対確率と前記未分類パケットの数とに応じて、複数のキューイングクラスについての固有パケットの前記番号を調整するステップと
を含む、請求項５に記載の方法。
【請求項７】
前記バッファについてのゼロより大きい各占有推定レベルを有する最優先キューイングクラスの優先度以上のキューイング優先度を有するキューイングクラスについてのみ、固有パケットの前記番号を調整するステップを含む、請求項６に記載の方法。
【請求項８】
各パケットは、キューイング優先度の表示を伝達し、前記処理装置は、１つ以上のバッファを使用して、各パケットの前記キューイング優先度に従って、多クラスのキューイング手法を実施し、前記方法は、
前記複数のキューイングクラスにおける固有パケットについての前記受信器による受信の確率を取得するステップと、
複数のキューイングクラスについて固有パケットによって伝達されたデータ量を推定して、前記処理装置によって送信されたが前記受信器によって受信されていない未分類パケットによって伝達されたデータを明らかにするステップと、
前記推定されたデータ量を使用して、前記キューイングクラスの前記１つ以上のバッファについての各占有推定レベルを判断し、前記１つ以上のバッファについての前記各占有推定レベルを表す１つ以上の信号を生成するステップと
を含む、請求項１に記載の方法。
【請求項９】
前記方法は、前記バッファについての最大占有レベルを推定し、
前記バッファについての前記占有レベルをその最大値にするレートおよび期間で、１つ以上のデータソースから前記処理装置に対してパケットを送出させるステップと、
前記推定された最大占有レベルを前記バッファについての前記判断された占有推定レベルと同一に設定し、前記推定された最大占有レベルを表す信号を生成するステップと
を含む、請求項１から４のいずれか１項に記載の方法。
【請求項１０】
前記バッファについての前記占有推定レベルを使用して、前記通信システムにおけるパケットの通信レートを導出するステップを含む、請求項１から４のいずれか１項に記載の方法。
【請求項１１】
前記通信システムは、
前記第１のデータソースに加えて、情報パケットを送出する１つ以上の他のデータソースを備え、
前記処理装置は、前記第１のデータソースから受信される情報パケットに加えて、前記１つ以上の他のデータソースから情報パケットを受信し、
前記方法は、
複数の選択パケットについて、前記バッファについての複数の占有推定レベルを判断するステップと、
前記バッファについての前記複数の占有推定レベルから、バッファフィルのレートを導出するステップと、
前記第１のデータソースから前記処理装置によって受信された情報のパケットについて主要パケットの到着の推定レートを取得するステップと、
前記処理装置による情報の固有パケットの送信の推定レートを取得するステップと、
前記１つ以上の他のデータソースから前記処理装置によって受信された情報のパケットについて競合パケットの推定到着レートを導出し、競合パケットの前記推定到着レートを表す信号を生成するステップと
を含む、請求項１０に記載の方法。
【請求項１２】
複数の選択パケットについて、前記バッファについての複数の占有推定レベルを判断するステップと、
前記バッファについての前記複数の占有推定レベルを監視するステップと、
前記バッファについての前記占有推定レベルがゼロより大きい場合には、ある時間間隔内に前記処理装置によって送信された情報の固有パケット数を判断して、前記処理装置による情報の固有パケットの送信の推定レートを導出し、前記処理装置による情報の固有パケットの送信の前記推定レートを表す信号を生成するステップと
を含む、請求項１０に記載の方法。
【請求項１３】
複数の選択パケットについて、前記バッファについての複数の占有推定レベルを判断するステップと、
前記バッファについての前記複数の占有推定レベルを監視するステップと、
前記バッファについての前記占有推定レベルが占有閾値を超える場合には、前記第１のデータソースへそのパケット送出レートを減少させるように通知を送出するステップと
を含む、請求項１から４のいずれか１項に記載の方法。
【請求項１４】
各固有パケットは、各シーケンス番号によって特定され、前記方法は、
前記開始時間から前記終了時間までの前記間隔中に前記処理装置によって送信された固有パケットの第１の数を、前記受信器によって観測された前記情報パケットを計数することによって取得するステップと、
前記開始時間から前記終了時間までの前記間隔中に前記処理装置によって送信された固有パケットの第２の数を、前記開始時間に最も近いが該開始時間より前ではない時間に受信されたパケットのシーケンス番号と、前記終了時間に最も近いが該終了時間より後ではない時間に受信されたパケットのシーケンス番号との差を計算することによって取得するステップと、
前記第１の数と前記第２の数との間の差に反比例して変化する信号受信品質の測度を導出し、信号受信品質の前記測度を表す信号を生成するステップと
を含む、請求項１から４のいずれか１項に記載の方法。
【請求項１５】
前記方法は、前記処理装置によって送信された固有パケットの前記第１の数の精度を改良し、前記受信器によって受信された前記情報パケットが、
前記処理装置は、再試行閾値を超える回数分、前記選択パケットを送信したことと、
前記処理装置によって次に送信された後続の情報パケットが前記選択パケットの前記シーケンス番号を１より大きな量だけ超えるシーケンス番号を有することと
を示す場合に、前記第１の数から選択パケットを除外するステップを含む、請求項１４に記載の方法。
【請求項１６】
異なる送信レートで前記処理装置から前記受信器によって受信される前記情報パケットにおける各ビット誤り率を推定するステップと、
前記第１の番号と前記第２の番号との前記差が信号受信品質が悪いであろう旨を示す場合には、前記推定されたビット誤り率から信号受信品質の前記測度を導出するステップと
を含む、請求項１４または１５に記載の方法。
【請求項１７】
閾値テストの組を、信号受信品質の直近に導出された測度のスライド期間に対して適用するステップを含む、請求項１４から１６のいずれか１項に記載の方法。
【請求項１８】
前記固有パケットの個数を取得して、前記バッファについての前記占有推定レベルをパケットの数で判断するステップを備える、請求項１に記載の方法。
【請求項１９】
前記固有パケットによって伝達されるバイトの合計を取得して、前記バッファについての前記占有推定レベルをバイトで判断するステップを備える、請求項１に記載の方法。
【請求項２０】
情報パケットを送出するデータソースと、
前記データソースから前記情報パケットを受信し、前記パケットのうちの少なくともいくつかのパケットについての情報をバッファに記憶させ、１つ以上の受信器によって受信されるように通信チャンネルに沿って情報パケットを送信する処理装置と、
前記処理装置によって送信された前記情報パケットのうちの少なくともいくつかの情報パケットを含む、１つ以上の装置によって送信された情報パケットを、前記通信チャンネルから受信する受信器と
を備える通信システムにおいて、前記処理装置の前記バッファについての占有推定レベルを判断するための方法であって、
前記選択パケットを送信するための前記処理装置による第１の試行の結果として前記選択パケットが前記受信器によって受信された旨を示すデータを伝達する、前記受信器によって受信された前記情報パケットから、選択パケットを特定するステップと、
前記受信器によって受信されると、前記選択パケットについての受信時間を記録するステップと、
前記１つ以上の装置のうちのいずれかによる送信を検出するために、前記通信チャンネルを監視するステップと、
前記選択パケットの前記受信時間直前であって、前記通信チャンネルに沿った送信が検出されなかった時間長を計算するステップと、
前記時間長を第１の待ち時間閾値と比較するステップと、
前記時間長が前記第１の待ち時間閾値を超える場合には、前記バッファについての前記占有推定レベルをゼロと判断し、前記バッファについての前記占有推定レベルを表す情報を伝達する信号を生成するステップと
を含む、方法。
【請求項２１】
前記方法は、前記バッファの前記占有レベルがゼロであると判断される場合に、前記受信器における第１のクロックを前記データソースにおける第２のクロックに同期させる際に使用するクロック調整値を計算し、
前記データソースにおける前記第２のクロックを基準として、前記選択パケットによって伝達された前記情報が前記データソースによって送出された時間を示す送出時間を、前記選択パケットによって伝達されたデータから取得するステップと、
前記バッファについての前記占有レベルがゼロの場合に、パケットの送信を遅延させる、前記処理装置における推定処理遅延を取得するステップと、
前記選択パケットの前記送出時間と、前記推定処理遅延とを、前記選択パケットの前記受信時間から減算することによって、前記クロック調整値を計算するステップであって、前記受信時間は、前記受信器における前記第１のクロックを基準として、前記選択パケットが前記受信器によって受信された時間を示す、ステップと、
前記クロック調整値を表す信号を生成するステップと
を含む、請求項２０に記載の方法。
【請求項２２】
前記第１の待ち時間閾値よりも小さい第２の待ち時間閾値に前記時間長が等しい場合には、前記推定処理遅延を計算するステップを備える、請求項２１に記載の方法。
【請求項２３】
複数の選択パケットについての複数の調整値を計算するステップと、
前記複数の調整値を検査して、前記複数の選択パケットのいずれかが、前記処理装置による送信前に前記処理装置におけるキューイング遅延に遭遇したかどうかを推定するステップと、
キューイング遅延に遭遇していなかったと推定された選択パケットに対応する調整値から、前記クロック調整値を取得するステップと
を含む、請求項２１に記載の方法。
【請求項２４】
前記通信チャンネルを監視して、通信トラフィック統計値を導出するステップであって、前記処理装置は、通信プロトコルを使用して、前記通信チャンネルに沿って情報パケットを送信する、ステップと、
前記処理装置によって必要とされる推定個別時間を取得して、前記通信トラフィック統計値に基づくモデルから固有の情報パケットを送信するステップであって、前記推定個別時間は、待ち時間と、送信間隔との合計であり、
各待ち時間は、前記処理装置が各前記通信チャンネルに沿って情報パケットを送信する前に待たなければならない、前記通信プロトコルによって課せられた時間量であり、
各送信時間は、前記情報パケットを表すデータを前記通信チャンネルに注入するために前記処理装置によって必要とされる時間量である、ステップと、
前記処理装置によって必要される前記推定個別時間の合計を取得して、ある数の固有情報パケットをそれぞれ送信するステップと、
前記固有パケット数を推定個別時間の前記合計で除算したものから、前記処理装置による固有情報パケットの送信の推定レートを導出し、前記処理装置による固有情報パケットの送信の前記推定レートを表す信号を生成するステップと
を含む、請求項２０に記載の方法。
【請求項２５】
請求項１から２４のいずれか１項に記載の前記ステップを行うための手段を備える、装置。
【請求項２６】
請求項１から２４のいずれか１項に記載の方法を行うために装置によって実行可能な命令のプログラムを伝達する媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報のストリームを送受信する装置に関し、より具体的には、情報のストリームを監視することによって、これらの装置の動作特性を判断するために使用され得る手法に関する。例えば、本発明は、パケットに配置されたマルチメディア情報のストリームを送受信する無線ネットワークにおける受信器、ルータ、およびアクセスポイントの動作特性を判断するために使用してもよい。
【背景技術】
【０００２】
無線ネットワーク上をリアルタイムでマルチメディアトラフィックを伝達することは、第３世代のセルラー、ＷｉＦｉ、およびＷｉＭＡＸ無線ネットワークにおいて重要な応用の一つであると期待されている。このような応用においては、画像や音声を表すデジタルデータなどのマルチメディア情報のストリームは、パケットに組織化される。マルチメディアソースは、これらのパケットのストリームを、パケットを通信チャンネル上でエンドユーザの受信器へ送信するルータまたは無線アクセスポイントなどの処理装置へ送出する。処理装置がパケットを即座に送信することができない場合には、当該パケットが送信可能になるまで、当該パケットをキューまたはバッファに一時的に記憶させる。例えば、無線アクセスポイントは、無線通信チャンネルが他の処理装置によって使用されている場合には、パケットを送信することができない場合がある。
【０００３】
ルータなどの処理装置が、送信可能なレートよりも高いレートで情報を受信する場合には、キューまたはバッファに記憶される情報量が増加することになる。長期間にわたって受信レートが発信レートよりも高いままである場合には、バッファ内の記憶情報についての占有レベルは、バッファの記憶容量によって決定される最大占有レベルに到達するまで増加することになる。このバッファオーバーフローと称される状態の間、情報の損失は避けられない。なぜならば、処理装置は、情報が到着するとそれを破棄するか、または、到着する譲歩を記憶するための空間を取得するために、バッファから情報を破棄しなければならないからである。例えば、ＩＥＥＥ８０２．１１ａまたは８０２．１１ｇ規格に準拠する典型的な無線ネットワークにおいて、無線アクセスポイントおよびルータなどの処理装置は、１００Ｍｂ／秒までのレートで動作する無線通信路から情報を受信し、せいぜい５４Ｍｂ／秒以下のレートで動作する無線通信路上で当該情報を転送または送信する。処理装置が例えば１００Ｍｂ／秒近いレートで有線路から情報を受信すると、受信された情報が到着するレートについていくのに十分に高いレートで情報を無線路上で送信することができない。バッファ占有レベルは、バッファストレージに対する要求がバッファ容量を超えるまで増えることになる。ある情報は、転送または送信可能である前に破棄されなければならないので、失われることになる。
【０００４】
情報は、前記送信チャンネルにおける雑音または干渉のために失われることもある。この種の損失は、多くの無線ネットワークにおいてよく起こることだが、再送信および順方向誤り訂正（ＦＥＣ）手法の使用を通じて減少させることができる。残念なことに、これらの手法は、送信されなければならないデータの量を増加させてしまい、これによって、処理装置が情報を送信可能な有効レートを減少させ、その結果、バッファストレージに対してより多くの要求を課することとなる。
【０００５】
バウアー（Ｂａｕｅｒ）およびジャン（Ｊｉａｎｇ）による、２００６年５月２６日出願の国際出願ＰＣＴ／ＵＳ２００６／０２０８６１号であって２００７年１月１１日公開の公開番号ＷＯ２００７／００５１６０号「無線ネットワーク上でのマルチメディアストリーミングの順方向誤り訂正を最適化するための方法およびシステム（Ｍｅｔｈｏｄ  ａｎｄ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｏｐｔｉｍｉｚｉｎｇ  Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  ｏｆ  Ｍｕｌｔｉｍｅｄｉａ  Ｓｔｒｅａｍｉｎｇ  ｏｖｅｒ  Ｗｉｒｅｌｅｓｓ  Ｎｅｔｗｏｒｋｓ）」は、バッファオーバーフローによって生じた情報の損失を最小限にするパケットベースのネットワークについてのＦＥＣパラメータ（ｎ，ｋ）の対をｎ個のパケットの組について選択するために使用され得る手法を開示している。ここで、ｋ＝マルチメディアデータを搬送するパケットの数であり、（ｎ−ｋ）＝ｎ個のパケットの組における誤り訂正パケットの数である（この出願を、以下「ＦＥＣ最適化出願」と称し、その内容全体を参照によって本願に包含するものとする）。本手法は、バッファサイズまたはバッファ容量と称されるバッファ占有の最大レベルと、競合または干渉する情報が処理装置に到着する際のレートとを含むいくつかの入力パラメータを要する。これらのパラメータを、処理装置の内部動作を知ることもアクセスすることもなく推定するやり方が必要とされている。
【０００６】
バッファオーバーフローによって生じた情報の損失は、ソースが情報を処理装置に提供する際のレートを制御する他の手法を使用することによって減少またはなくすことができよう。この手法の実施を、処理装置の内部動作を知ることもアクセスすることもなく取得できるバッファ占有レベルの測度を使用して行うやり方が必要とされている。
【発明の開示】
【課題を解決するための手段】
【０００７】
本発明の目的は、ルータおよび無線アクセスポイントなどの処理装置の動作特性を、これらの装置によって送信された情報を監視することによって判断する方法を提供することである。例えば、バッファ容量およびバッファ占有レベルなどの動作特性を判断することができる。また、本発明の目的は、信号対雑音比などの監視状態が、動作特性を合理的な精度で判断できるのに十分なものかどうかを評価する方法を提供することである。
【０００８】
以下に説明する本発明の様々な実施は、処理装置におけるバッファの容量を推定するものであり、特定の時点での処理装置におけるバッファ占有レベルを推定することができ、処理装置によって送信される情報を監視することによって、これらの推定の信頼性を測定することができる。以下に説明する実施のすべてにおいては、処理装置は、入力情報の１つ以上のストリームを有線路または光路から受信し、無線路上で情報の１つ以上の出力ストリームを送信する、無線アクセスポイントなどの転送装置の類であるものとし、入力情報のストリームおよび出力情報のストリームは、別個のセグメントに配置されているものとする。これらの実施のうち、ある実施においては、処理装置におけるバッファは、情報のセグメントについての先入れ先出し（ｆｉｒｓｔ‐ｉｎ‐ｆｉｒｓｔ‐ｏｕｔ：ＦＩＦＯ）キューを実施するものとする。
【０００９】
本発明の様々な特徴およびその好ましい実施の形態は、以下の説明および添付の図面を参照することによってより理解されよう。以下の説明および図面の内容は、例として記載されるものであり、本発明の範囲上での限定を表すものと理解されるべきではない。
【発明を実施するための最良の形態】
【００１０】
Ａ．序論
図１は、通信システムの概略図であって、当該システムにおいて、１つ以上のデータソース２，４が、パケットに配置された情報を伝達するソース信号を提供する。パケットのうちの少なくともいくつかで搬送される情報は、例えばマルチメディア情報であってもよい。データソース２によって提供されるソース信号は、いくつかの応用に関連付けられる「主要パケット（ｐｒｉｍａｒｙ  ｐａｃｋｅｔｓ）」に配置された情報を搬送する。データソース４などのたのデータソースも、主要パケットを供給するのに必要なリソースを求めて競い合うことから「競合パケット（ｃｏｍｐｅｔｉｎｇ  ｐａｃｋｅｔｓ）」と称されるパケットに配置された情報を搬送するソース信号を提供する。しかしながら、これらの他のデータソースからのソース信号は、同種の情報を搬送する必要はなく、競合パケットは、データソース２について説明したようなやり方で配置される必要はない。
【００１１】
データソース２，４からのソース信号は、それぞれ通信路３，５に沿って処理装置１０へ渡される。これらの通信路３，５は、広範な通信技術によって実施してもよい。例えば、金属線または光ファイバなどの媒体を使用する任意のＩＥＥＥ８０２．３規格に準拠した技術が使用してもよい。処理装置１０は、例えばルータまたは無線アクセスポイントであってもよく、データソース２，４それぞれからパケットを受信し、当該パケットのうちの少なくともいくつかについての情報をバッファに記憶させる。処理装置１０は、情報パケットを通信路１１に沿って送信して、情報パケットが受信器２０などの１つ以上の受信器によって受信されるようにする。通信路１１は、任意のＩＥＥＥ８０２．１１規格に準拠するような無線技術を含む広範な技術によって実施してもよい。通信システムは、他の受信器、送信器、およびデータソースを要望に応じて含んでもよい。
【００１２】
受信器２０は、本発明の様々な局面が行われる装置を表す。以下に説明するような通信システムの実施において、通信路１１は、同報通信またはマルチキャスト媒体である。受信器２０は、通信路１１を監視し、処理装置１０によって送信される情報を以下に説明する手法を使用して分析する。受信器２０および任意の他の受信器宛ての情報は、監視および分析される。受信器２０は、１つ以上の他の応用のためのものとされる情報も受信および処理してもよい。
【００１３】
この通信システムにおける装置は、従来の順方向誤り訂正（ｆｏｒｗａｒｄ−ｅｒｒｏｒ−ｃｏｒｒｅｃｔｉｏｎ：ＦＥＣ）処理、もしくは、例えば受信器が受信を確認しないパケットをデータソースまたは処理装置に再送信させるなどのサービス品質処理などといった、様々な誤り訂正または誤り回復手法を取り入れてもよい。
【００１４】
図１に示す概略図は、通信システムの実際の実施において望ましいであろう数多くの要素を省略しているが、本発明を説明するには必要ない。例えば、通信路１１がクリアであるかをどうか、すなわち、他のパケット処理装置が通信路１１を現在使用しているかどうか、または、受信器２０による受信を阻止するであろう何らかの干渉の類が存在しているかどうかを確認するために必要であろう要素を本図は示していない。また、パケットの損失またはパケットを再送信する必要性についてのあらゆる情報を受信器２０から取得するために必要であろう要素も示されていない。
【００１５】
以下の本開示を通じて、より具体的に説明することになる実施においては、データソースと処理装置との間の通信路はＩＥＥＥ８０２．３規格のうちの１つに準拠し、処理装置と受信器との間の通信路はＩＥＥＥ８０２．１１規格のうちの１つに準拠している。これらの通信路に沿って伝達される情報のストリームは、媒体アクセス制御（Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ：ＭＡＣ）プロトコルに従って配置される。ＭＡＣプロトコルは、ＭＡＣヘッダに添付されるアプリケーションデータのパケットを含むＭＡＣフレームに情報を配置するものである。ＭＡＣヘッダは、アプリケーションデータのソースのネットワークアドレス（「ソースアドレス」）と、アプリケーションデータの所期の単数または複数の受信者のネットワークアドレス（「宛て先アドレス」）とを含む。このような実施の詳細を実施例として提示する。本発明は、実質的にどのような所望の通信技術と共に使用してもよい。
【００１６】
ＩＥＥＥ８０２．３およびＩＥＥＥ８０２．１１規格に準拠する技術では、情報パケットを伝達するＭＡＣフレームが送受信されるというのが技術的には正しい。しかしながら、以下の説明は、このような類の動作をパケットを送受信するとして時には説明することによって、多少簡略化されている。
【００１７】
以下に説明する実施例のいくつかは、「プローブ（ｐｒｏｂｅ）パケット」と称される時間情報を伴うパケットを使用して、信号伝搬および処理遅延を測定する。特に断りのない限り、これらの実施例は、このようなプローブパケットを伝達する信号が、無視できるか、一定か、または受信器２０によって予測されることが可能な時間量で各ソースから処理装置１０へ伝搬するものという仮定に基づいている。
【００１８】
Ｂ．バッファ占有の推定
処理装置１０におけるバッファ占有の現在のレベルを推定するために使用され得るいくつかの手法を以下に説明する。
【００１９】
１．基本手法
バッファ占有推定手法の一実施の形態は、プローブパケットを使用し、いくつかの仮定に基づくものである。すなわち、（１）データソースがプローブパケットを時間ｔSに送出し、送出時間ｔSをパケットまたはプローブパケットに付随する制御情報に挿入する、（２）送出時間ｔSと処理装置１０への到着時間との間の期間は、無視できる、（３）処理装置１０は、プローブパケットおよびその送出時間を、受信器２０によって観測できるような形式でバッファリングした後に送信する、（４）プローブパケットのデータソースおよび受信器２０は、互いに同期するクロックを使用する、（５）処理装置１０は、そのバッファを使用して、先入れ先出し（ｆｉｒｓｔ‐ｉｎ‐ｆｉｒｓｔ‐ｏｕｔ：ＦＩＦＯ）キューイング手法を実施する、および（６）バッファ占有レベルは、バッファに記憶されたがまだ取り出されていないパケット数で測定される。
【００２０】
プローブパケットが処理装置１０に到着したときにバッファ占有レベルが時間ｔSでＬである場合、時間ｔSにおけるバッファは、ＦＩＦＯキューにおいて、プローブパケットの前にＬ個のパケットを有することになる。処理装置１０は、Ｌ個の先行パケットすべてが送信されるまでは、プローブパケットを送信しないことになる。処理装置１０がプローブパケットを送信し、当該プローブパケットが時間ｔＲにおいて受信器２０によって観測される場合には、受信器２０は、ｔSからｔＲまでの間に処理装置１０によって送信される固有パケット数を計数することによって、時間ｔSにおいて存在した処理装置１０のバッファ占有レベルを判断することができる。
【００２１】
受信器２０がこの期間に送信される固有パケットのすべてについての総バイト数を計算すれば、バッファ占有レベルをバイトで表現することができる。所望であれば、受信器２０はデータソースと処理装置１０との間の伝搬遅延をも明らかにすることができる。
【００２２】
２．パケットの計数
受信器２０は、自身が受信する、処理装置１０によって送信されたすべての固有パケットを計数しなければならない。受信器２０宛てのパケットのみを計数するだけでは十分ではない。どのパケットも受信器２０宛てとはならないこともあり得る。
【００２３】
多くの実際的な実施において、処理装置１０は、所期の受信者が誤りなくパケットを受信しない場合には、パケットを再送信することになる。この手法は、通信路１１についての媒体が雑音および情報パケットを破損させ得る他の干渉を受ける場合には特に有用である。このような実施において、受信器２０は、どのパケットが処理装置１０によって送信されたものであり、どのパケットが固有であるかを判断できるように、受信するすべてのＭＡＣフレームの記録を取っておかなければならない。これは、誤りを検出するための各ＭＡＣフレームにおける巡回冗長コード（ｃｙｃｌｉｃａｌ  ｒｅｄｕｎｄａｎｃｙ  ｃｏｄｅ：ＣＲＣ）を使用し、できるだけ多くのデータ誤りを訂正するための順方向誤り訂正などの訂正処理を使用し、ＭＡＣヘッダ内の情報を検査してＭＡＣフレームが処理装置１０によって送信されたかどうかを判断し、ＭＡＣフレームがパケットの再送信を表すかどうかを示すフレーム内の他の情報の記録を取っておくことによって達成可能である。
【００２４】
ＭＡＣフレームが処理装置１０によって送信されるかどうかは、方向フラグとして知られるＭＡＣヘッダ内の情報と、ソースアドレスとを検査することによって判断することができる。ＭＡＣフレームがパケットの再送信を表すかどうかは、パケットシーケンスフィールドとして知られるＭＡＣヘッダ内の他の情報を検査することによって判断することができる。所望であれば、再試行フラグとして知られる送信再試行指標を使用してもよい。
【００２５】
ＩＥＥＥ８０２．１１規格に準拠するような数多くのプロトコルは、同一の装置によって送信される各固有パケットを特定するための何らかの手段を使用する。ＩＥＥＥ８０２．１１規格は、固有パケット毎に単調に増加したシーケンス番号を伝達する１２ビットのフィールドを規定している。シーケンス番号は、固有パケットを搬送する後続のＭＡＣフレーム毎に１ずつ増分される。同一の装置によって送信された２つの隣接するＭＡＣフレームが同一のシーケンス番号を有する場合には、後者のフレームは、そのパケットの再送信であることを表すとみなされる。２つの隣接するＭＡＣフレームが２１２を法として１だけ異なるシーケンス番号を有する場合であって、前者のフレームが２１２を法として小さい数を有する場合には、当該２つのフレームは、パケットのストリームにおいて固有の連続パケットを伝達するとみなされる。フレームのストリームにおけるシーケンス番号１，２，３，４を有する４つの固有パケットＰ１，Ｐ２，Ｐ３，Ｐ４が、図２に概略的に示されている。
【００２６】
通信路１１が無線通信路の場合には、低い信号対雑音比または強い干渉信号によって、処理装置１０によって送信されるパケットのうちのいくつかを認識することが妨げられる場合がある。受信器２０が所期の受信者である場合には、この損失は処理装置１０によって認識可能である。なぜならば、受信器２０はパケットをうまく受信したことを通知しないからである。処理装置１０は、うまく受信されたことが通知されるまでパケットを再送信する。受信器２０が所期の受信者でない場合には、当該損失は検出されることはないだろう。この状態は、図３に概略的に示されており、破線の箱形は、受信器２０によって観測されないパケットＰ３を有するフレームを表す。
【００２７】
受信器２０は、低速処理もしくは受信器２０における様々な特徴を実施する回路またはプログラミングの障害などの他の理由で、パケットを観測し損なう場合もある。そのような損失の理由は、本発明には重要ではない。
【００２８】
損失パケットによって生じるパケット計数の誤りは、シーケンス番号のストリームにおけるギャップまたはジャンプを検出し、ジャンプを生じさせた失われたに違いない固有パケットの数を計数することによって訂正することができる。例えば、ＩＥＥＥ８０２．１１規格のうちの１つに準拠する実施では、この損失パケットの計数値ＮＭＩＳＳＩＮＧは、以下の式から計算可能である。
【００２９】
【数１】
2009533963.tif 000003
式中、ＱＳＴＡＲＴ＝ジャンプ直前のフレームにおけるシーケンス番号であり、
ＱＳＴＯＰ＝ジャンプ直後のフレームにおけるシーケンス番号である。
【００３０】
様々なＩＥＥＥ８０２．１１の無線ネットワークでの経験的なテストによれば、４つ程の損失パケットが明らかになるのが望ましい。４つ以下のパケットが失われている場合には、２１２を法として５以下のジャンプがシーケンス番号のストリームにおいて生じることになる。図３の例において、シーケンス番号のストリームにおけるジャンプがフレーム間で生じており、パケットＰ２およびＰ４がシーケンス番号２および４を有している。ジャンプの大きさは４−２＝２であり、これは、１つのパケットが失われていることを意味する。この１つの損失パケットＰ３の計数値は、受信器２０によって観測される総パケット計数値に含み得る。
【００３１】
シーケンス番号のストリームにおけるジャンプが大きい場合には、パケットが観察できない代わりにまたはそれに加えて、何らかの他の種類の誤りが生じている場合がある。例えば、受信パケット内のシーケンス番号が、訂正不可能に破損されている場合もあろう。この状況の一例が、図４に概略的に示されており、パケットＰ３のシーケンス番号についての最下位のビット（２進数で０００１１と表現）が１ビットでの誤りによって破損されており、１９となっている（１００１１と表現）。ビット誤りにより、１９−２＝１７に等しいジャンプが生じる。そのような大きなジャンプを明らかにできるようなパケット数は、計数されるべきではない。なぜならば、数多くのパケットが観測されないのではなく、１つ以上のフレームにおけるシーケンス番号が破損されていた可能性がより大きいからである。図４に示す例では、受信器２０の好ましい一実施では、見掛けのシーケンス番号１９を有するパケットをたった１つのパケットとして計数するべきではない。
【００３２】
シーケンス番号における大きなジャンプは、シーケンス番号における未訂正のビット誤りに加えて、少なくとも２つの他の理由によって生じる場合がある。１つ目の理由は、非常に低い信号対雑音比（ｓｉｇｎａｌ−ｔｏ−ｎｏｉｓｅ  ｒａｔｉｏ：ＳＮＲ）によって生じるような悪い信号受信品質であり、これにより、受信器２０は、ＭＡＣフレームをほとんど観測できなくなる。大きなジャンプは、損失パケットが多いことによるものである。以下に説明するいくつかの手法を使用して、この状況が存在するかどうかを判断してもよい。他の理由は、処理装置１０が厳密にはＦＩＦＯではないキューイング手法を実施する場合があることである。なぜならば、処理装置１０は、ある条件の下で送信のためにパケットを並べ替えるからである。経験的なテストによれば、ルータまたは無線アクセスポイントなどのＩＥＥＥ８０２．１１準拠の処理装置は、複数の受信器のうちの１つに対する無線リンクの品質の低下に遭遇した場合にはいつでも、厳密にはＦＩＦＯではない順序でそのバッファからパケットを取り出して送信する場合がある。そのような処理装置が数回の再送信の後に特定のパケットＰ１をうまく受信した所期の受信器から受信確認を受信しない場合には、処理装置は、他の受信器宛ての他のパケットＰ２を、Ｐ２パケットがキューにおいてＰ１よりも後であるにもかかわらず送信する場合がある。事実上、キューにおけるパケットは並べ替えられ、これにより、処理装置によって送信されるパケットのストリームのシーケンス番号におけるジャンプが生じる。バッファ占有のレベルの推定は、キュー手法がＦＩＦＯから逸脱すると、遥かに一層複雑なものとなる。
【００３３】
幸いにも、ビット誤り、悪い信号受信品質、またはパケットの並べ替えによって生じるシーケンス番号における大きなジャンプを明らかにするパケットの数を判断しようと試みなくても、シーケンス番号のストリームにおける小さなジャンプについてのみ、損失パケットを明らかにすれば十分であるのが通常である。
【００３４】
図５に示す図は、処理装置１０によって送信されるフレームのストリームについて記録される情報を使用する上述の手法を実施するために使用され得る一処理を表す。この情報は、プローブパケットがそのデータソースから送出された時間であって、処理装置１０への到着時間とみなされる、プローブパケット毎の送出時間ＴＳと、受信器２０によって各パケットが観測された時間である観測時間Ｔｒと、各パケットをカプセル化するフレームのシーケンス番号Ｑとを含む。図５に示す図を参照すると、ステップＳ１００は、ｃｕｒｒｅｎｔをプローブパケットフレームについて記録された参照情報に初期化することによって「現在のフレーム」を確立し、現在のフレームにおけるプローブパケットの送出時間ＴＳから開始時間Ｔ＿ｓｔａｒｔを初期化し、値ｓｅｑｎｒを現在のフレームのシーケンス番号Ｑから初期化し、パケット計数値Ｎを１に等しくなるように初期化する。プローブパケットフレームについての観測時間Ｔｒは、パケットが計数されるべき時間間隔の終了時間Ｔ＿ｅｎｄを表す。ステップＳ１０２は、ｃｕｒｒｅｎｔをフレームのストリームにおける現在のフレームの直前のフレームについて記録された参照情報に設定することによって、新規の現在のフレームを確立し、値Ｔ＿ｏｂｓを新規の現在のフレームの観測時間Ｔｒから設定する。ステップＳ１０４は、値Ｔ＿ｏｂｓは開始時間Ｔ＿ｓｔａｒｔより前であるかどうかを判断する。そうであれば、処理は、値Ｎが時間間隔［Ｔ＿ｓｔａｒｔ，Ｔ＿ｅｎｄ］におけるパケットの計数値を表すものとして結論付ける。値Ｔ＿ｏｂｓが開始時間Ｔ＿ｓｔａｒｔより前でない場合には、処理はＳ１０６へ続き、ｓｅｑｎｒの値をｏｌｄｓｅｑｎｒへ転送して、ｓｅｑｎｒの値を現在のフレームのシーケンス番号Ｑからリセットする。隣接フレームのシーケンス番号間のｊｕｍｐまたはギャップが計算される。ステップＳ１０８は、ｊｕｍｐの絶対値が閾値、本例では５よりも大きいかどうかを判断する。ｊｕｍｐの絶対値が閾値よりも大きい場合には、ステップＳ１１０はパケット計数値Ｎを１だけ増分する。ｊｕｍｐの絶対値が閾値よりも大きくない場合には、ステップＳ１１２は、計数値をｊｕｍｐの値だけ増分する。その後、処理はステップＳ１０２へ続く。
【００３５】
３．計数のための代替方法
パケットは、所望であれば他のやり方で計数してもよい。代替のやり方の一つでは、制御情報内にある上述の送出時間ｔＳと観測時間ｔＲとに近い時間値を有するフレームのシーケンス番号間の差を計算する。本手法によれば、受信器２０は、フレームの記録を、その対応するシーケンス番号と、プローブパケットの送出時間ｔＳＴＡＲＴ＝ｔＳに開始してプローブパケットの観測時間ｔＥＮＤ＝ｔＲに終了する時間間隔についての送出時間情報と共に保持する。時間ｔＳＴＡＲＴ以上の時間値を有する最も早いフレームは開始フレームとして特定され、時間ｔＥＮＤ以下の時間値を有する最も遅いフレームは終了フレームとして特定される。この方法は、時間間隔［Ｔ＿ｓｔａｒｔ，Ｔ＿ｅｎｄ］における最初および最後のフレームを特定しようと試みる。終了フレームと開始フレームとの間のシーケンス番号の差Ｄは、２１２を法として計算され、この期間のパケットの計数値は、式Ｄ＋１から取得される。パケットを計数するこの方法は、一般的には、上述の方法ほど確実ではない。なぜならば、フレームのシーケンス番号における未修正のビット誤りがパケットの計算された計数値に重大な誤りを引き起こし得るからである。
【００３６】
先の段落において説明した方法は、フレームＣＲＣの検査によって示されるようなビット誤りがないように思われるフレームについてのみ考慮するように修正してもよい。これは破損されたデータによって生じる誤りを実質的に排除することになろうが、信号受信品質が低い場合には、非常に小さいバッファ占有推定値を通常与えることになるだろう。信号受信品質が低い場合には、一般的に、良好なＣＲＣを有すフレームはほとんど観測されず、開始フレームおよび終了フレームとして特定されるフレームは、時間間隔［ＴＳＴＡＲＴ，ＴＥＮＤ］における実際の最初および最終フレームではない可能性がより高い。開始フレームおよび終了フレームとみなされるフレームに先行およびそれに続く、時間間隔におけるフレームは、それぞれ、計算された計数値から誤って除外されることがある。
【００３７】
４．ＦＩＦＯキューのバリエーション
上述の手法は、厳密にまたは少なくとも実質的にＦＩＦＯに準拠するキューイング手法を実施するためにバッファが使用されると仮定する。これらの手法を適合化して、他のキューイング手法の実施と共に働くようにすることもできる。以下の段落で説明する一手法は、異なるクラスのパケットに対して別々のＦＩＦＯキューを提供するものである。
【００３８】
ＩＥＥＥ８０２．１１準拠の技術を実施する処理装置１０は、マルチクラスＦＩＦＯキューイング手法を使用するサービス品質（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ：ＱｏＳ）拡張も含むことができる。ＩＥＥＥ８０２．１１規格による一実施において、パケットは、ＭＡＣヘッダ内のトラフィック識別子（Ｔｒａｆｆｉｃ  Ｉｄｅｎｔｉｆｉｅｒ：ＴＩＤ）フィールドによって示される８つのキューイングクラスまたは優先度のうちの１つに置かれる。上述の手法を使用して、特定のキューイングクラスについてのバッファ占有レベルの推定を、当該クラスのパケットを特定および計数することによって行うことができる。
【００３９】
上述の手順のうちのいくつかは、損失パケットによって生じる計数誤りを回避または削減するために使用される。特定のキューイングクラスについての損失パケット数の正確な推定値は、取得するのが遥かに困難である。なぜならば、各損失パケットは、可能なクラスのいずれにも属し得るからである。これに対しては、様々なやり方で対処できる。以下の段落では、２つの手法が説明されている。
【００４０】
一手法において、受信器２０は、ＴＩＤフィールドにおける値によって特定可能な各クラスにおけるすべてのパケットの移動平均を保持し、特定の期間内でそのＴＩＤフィールドのおける値によって特定可能なパケット数を計数し、上述所処理を使用して、当該特定の期間内でＴＩＤフィールドによって観測または特定できないような未分類パケット数を推定する。クラス毎の相対確率は、当該クラスの移動平均をすべての移動平均の合計で除算することによって計算される。所定の期間内での特定のクラスに属する未分類パケット数の推定値は、当該期間における未分類パケットの合計を当該クラスの相対確率で乗算することによって計算される。この推定値は、当該クラスについての計数値に加算される。
【００４１】
本手法は、キューイング優先度を各キューイングクラスに関連付ける実施に改良することができる。この改良手法によれば、受信器２０は、キューイングクラス毎にバッファ占有レベルの現行推定値を保持し、ゼロより大きいバッファ占有率を有する最高位の優先クラス以上のキューイング優先度を有するクラスについてのみ、移動平均から相対優先度を計算する。この改良は、より低い優先度のクラスにおけるパケットは特定の期間、出の送信が不可能かまたはその見込みがないという観測に基づくものである。
【００４２】
Ｃ．バッファ容量の推定
処理装置１０におけるバッファの容量は、そのバッファが容量一杯にまで満たされたことを確認した後、バッファ容量レベルを推定するために上述の方法のいずれかを使用することによって推定してもよい。バッファは、処理装置１０へあるレートでパケットのストリームを送出し、バッファをオーバーフロー状態にするのに十分に大きい長さを有することによって、容量一杯にまで満たすことができる。
【００４３】
一実施において、パケットのストリームが、例えば１００ミリ秒などの何らかの時間間隔で装置の送信レートを超えるレートで処理装置１０へ送出された後、バッファ占有レベルが上述のように推定される。プローブパケットの他のストリームが、同じレートで処理装置１０へ、２００ミリ秒などのより長い時間間隔で送出され、その後、バッファ占有レベルは再度推定される。２つの推定レベル間に大きな差がない場合には、両パケットのストリームは、バッファをその容量一杯にまですることができたとみなすことができる。推定レベル間に大きな差がある場合には、推定レベルがこれ以上増加しなくなるまで、プローブパケットのより長いストリームを使用して処理を繰り返すことができる。
【００４４】
バッファ容量の合理的に正確な測度は、バッファをその容量一杯にするのに十分なレートおよび長さのプローブパケットのいくつかのストリームを処理装置１０へ送出し、ストリーム毎にバッファ占有推定値を取得し、当該推定値の平均を計算することによって取得できる。
【００４５】
Ｄ．他の応用
１．競合トラフィック到着レートの推定
バッファ占有レベルの推定値を使用して、上記ＦＥＣ最適化出願に開示された手法などの様々な応用と共に使用する他のパラメータの推定値を導出することができる。いわゆる推定され得るパラメータの１つは、リソースおよび通信帯域幅を処理するための、「主要パケット」のストリームと競合する「競合パケット」の到着レートである。これは、バッファ占有レベルがどのくらい速く変化しているかの測度を導出することによって、バッファ占有レベルがバッファ容量を下回る時の期間の間に行うことが可能である。
【００４６】
例えば図１に示す通信システムを参照すると、データソース２によって送出されたパケットストリームは、先の段落において述べた主要パケットのストリームであるとする。装置におけるバッファ占有レベルがバッファ容量を下回る場合には、主要パケットおよびすべての他の競合パケットの到着レートの合計は、処理装置１０によって送信されるパケットのレートと、バッファ占有レベルが変化するレートとの合計に等しくなることになる。例えば、時間ｔ１におけるバッファ占有レベルがｂ１であり、時間ｔ２におけるバッファ占有レベルがｂ２である場合、バッファオーバーフローによって生じるパケット損失がなければ、以下の等式が成立する。
【００４７】
【数２】
2009533963.tif 000004
式中、ｂ１＝時間ｔ１におけるバッファに記憶されたパケット数であり、
ｂ２＝時間ｔ２におけるバッファに記憶されたパケット数であり、
ｐＡ＝主要パケットの到着レートであり、
ｐｃ＝競合パケットの到着レートであり、
ｐＤ＝全パケットの送信レートである。
【００４８】
レートおよび時間は、実質的に任意の所望の時間単位で表してもよいが、ＦＥＣ最適化出願に規定されたような時間スロットと称される均一の時間間隔でこれらの値を表すのが好都合であろう。これらの時間スロットの長さの確立は、任意の所定の時間スロットにおいて、パケット処理装置１０が特定のストリームからパケットを受信でき、競合パケットを受信でき、パケットを送信できるが、ある時間スロットで受信可能なのはたった１つの指定されたパケットおよびたった１つの競合パケットであり、ある時間スロットで送信可能なのはたった１つのパケットであるように行われる。これは、０≦ｐＡ，ｐＣ，ｐＤ≦１のように表すことができる。
【００４９】
多くの応用において、主要パケットの到着レートｐＡは、アプリオリに受信器２０に対して指定され、送信レートｐＤは、ある期間にわたって処理装置１０によって送信されるパケット数を計数し、時間スロットまたは任意の他の所望の単位期間毎の平均を計算することによって測定される。時間ｔｉについてのバッファ占有レベルｂｉは、上述の方法のいずれかを使用することによって推定できる。競合パケットの到着レートは、以下の式から推定でき、この式は、式（２）を再構成することによって取得される。
【００５０】
【数３】
2009533963.tif 000005
式（３）から計算されたレートは、バッファ占有レベルが増加または減少している期間において有効であるが、バッファがオーバーフローするか、任意の他の理由でパケットが失われる場合には有効ではない。所望であれば、競合パケットの到着レートは、いくつかの推定値の直線または移動平均から導出することができる。
【００５１】
２．送信レートの推定
バッファが空でない場合、バッファ占有の推定値を使用して、ＦＥＣ最適化出願に開示された手法などの様々な応用において使用する送信レートパラメータｐＤを導出することができる。このパラメータは、バッファにキューイングされたパケットがあって送信準備ができている場合に処理装置１０が達成可能な送信レートを表す。ある期間にバッファが空でない場合には、この間隔の間の送信レートの推定値は、この期間に送信されるパケット数を計数し、上述のように平均レートを計算することによって計算してもよい。
【００５２】
しかしながら、計数している期間の全部または一部の間にバッファが空である場合には、このパラメータを計算するための何らかの他の手法が必要である。なぜならば、観測されたパケットの平均レートは、バッファが空でない場合に装置が達成可能な送信レートより小さく見積もられる可能性が高いことになるからである。衝突防止付きキャリア検出多重アクセス（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ  Ｗｉｔｈ  Ｃｏｌｌｉｓｉｏｎ  Ａｖｏｉｄａｎｃｅ：ＣＳＭＡ／ＣＡ）プロトコルを使用するネットワークにおいて適用されるような一方法を以下に説明する。本方法の精度は、ＣＳＭＡ／ＣＡプロトコルのある特性に基づき、パケットが到着して送信に供される場合に空であるバッファに基づく。ＣＳＭＡ／ＣＡプロトコルの関連する特性およびバッファが空であるかどうかを判断するために使用されるような手法を以下に説明する。
【００５３】
３．送出レートの制御
バッファ占有レベルの推定値を使用して、処理装置１０におけるバッファオーバーフローを防止するために１つ以上のデータソースの送出レートを制御することができる。早期輻輳通知(Ｅａｒｌｙ  Ｃｏｎｇｅｓｔｉｏｎ  Ｎｏｔｉｆｉｃａｔｉｏｎ：ＥＣＮ)と一般的に称される特徴を使用するレート制御の既知の方法があるが、このような既知の方法は、処理装置１０に対して、バッファ占有レベルを監視し、バッファ占有レベルがある閾値を超える場合にパケットにおける特別なＥＣＮフラグを設定することを要求するものである。パケットの所期の受信器がＥＣＮフラグを検出すると、受信器は、ＥＣＮフィードバックパケットを対応するデータソースへ送出する。データソースは、その送出レートを減少させることによってＥＣＮフィードバックパケットに応答する。
【００５４】
残念なことに、ＥＣＮは、広範に実施されない。さらに、処理装置１０が例えば無線アクセスポイントである場合には、当該装置がＥＣＮを実施するのは適切でない。開放型システム間相互接続（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ：ＯＳＩ）参考モデルによれば、ＥＣＮフラグは、ＯＳＩレイヤ３（ネットワーク層）において動作する装置によって設定されるべきである。ルータは、典型的にはＯＳＩレイヤ３で動作するが、無線アクセスポイントは、有線および無線ネットワーク間の実質的なブリッジであって、典型的にはＯＳＩレイヤ２（リンク層）で動作する。
【００５５】
既知のＥＣＮ制御方法とは異なり、本明細書において説明される制御方法は、処理装置１０における特殊な特徴または機能を何ら必要としない。本方法によれば、受信器２０は、上述のような方法を使用してバッファ占有レベルを監視し、バッファ占有推定レベルが１つ以上の基準を満たす場合にはいつでも、対応するデータソースへＥＣＮフィードバックパケットを送出する。例えば、受信器２０は、推定バッファ占有レベルがある閾値を超える場合には、ＥＣＮフィードバックパケットを送出するなどの単純な手法を実施することができる。所望であれば、受信器２０は、占有の変化率および占有レベルを考慮するなど、特定のデータソースについて最適化されたより高度な手法を実施することができる。
【００５６】
本方法を伝送制御プロトコル（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ：ＴＣＰ）を使用する単一ホップのネットワークに使用することができる。ＴＣＰによって、データソースは、パケット損失が生じていると通知されるまで、その送出レートを増加させる。通知に応答して、データソースは、その送出レートを減少させた後、より低いレートで再び増加させる。この処理を繰り返すと、送出レートが変動する。この処理の欠点の１つは、パケット損失に依存することである。この損失は、許容できないか、または、ストリーミングマルチメディアアプリケーションなどのアプリケーションにおいては少なくとも非常に好ましくない場合がある。このような種類のアプリケーションでは、送出レートは、パケット損失を要さずに制御されるべきである。
【００５７】
本発明のバッファ占有推定手法を使用する制御処理は、この欠点を有しない。パケット損失は必要ないのである。受信器２０は、差し迫ったバッファオーバーフローを検出し、パケット損失が生じたかのように同一の通知を使用してデータソースに通知する。この通知は、バッファ占有レベルが閾値を超える場合に開始することができる。この閾値の厳密な値は、ある応用においては重要でない場合もある。なぜならば、ゼロを超えるバッファ占有率であれば、それは送出レートが高すぎることを示すものであるからである。
【００５８】
Ｅ．クロック同期
上述のバッファ占有推定手法は、プローブパケットのデータソースおよび受信器２０が互いに同期するクロックを使用することを仮定している。これらの手法は、２つのクロックが同期せず、ほぼ一定量またはゆっくりと変化する量だけ互いに異なる状況を明らかにするように適合化してもよい。受信器２０は、データソースクロックの表象を調整して、自身のクロックとの同期を達成する。簡易化仮定に基づく基本的な調整手法をまず説明する。その後で、この仮定に基づかない、より複雑な手法を説明する。
【００５９】
例えば、図１に示す通信システムを参照すると、プローブパケットは、データソース２によって時間ｔＳに送出され、パケットは、通信路１１に沿って処理装置１０へ伝搬する。パケットが到着したときに処理装置１０におけるバッファが空である場合には、パケットは通信路１１に沿って一定の非常に短い処理時間間隔の直後に送信されると仮定される。送信されたパケットは、その後に即座に受信器２０によって観測される。送出時間ｔＳと観測時間ｔＲとの間の遅延εは、通信路３および通信路１１の合計伝播時間の合計に、パケットをバッファリング、取り出し、および送信する処理装置１０の処理時間を加えたものに等しい。通信路３がＩＥＥＥ８０２．３規格のうちの１つに準拠し、通信路１１がＩＥＥＥ８０２．１１規格のうちの１つに準拠する場合には、遅延εは、典型的には１ミリ秒程度となろう。
【００６０】
受信器２０におけるクロックを基準として表されるような観測時間ＴＲと真の送信時間ｔＳとの間の遅延は、以下のように表すことができる。
【００６１】
【数４】
2009533963.tif 000006
真の送信時間ｔＳは、式（４）を再構成することによって以下のように表すことができる。
【００６２】
【数５】
2009533963.tif 000007
式中、δ＝送出クロックと受信クロックとを同期させるための調整値である。
【００６３】
遅延εが正確な推定値であるとすると、受信器２０は、式（５）を再構成したものである以下の式を使用して、調整値δについて合理的に正確な値を計算することができる。
【００６４】
【数６】
2009533963.tif 000008
【００６５】
計算された値δにおけるどのような誤りも、せいぜい遅延εの大きさである。この計算された値を使用することによって、εの値が処理装置１０において典型的に生じるキューイング遅延に比べて非常に小さい場合には、２つのクロックを合理的な精度で同期させることができる。例えば、遅延εが１ミリ秒であり、キューイング遅延が１００ミリ秒である場合、バッファが満杯であれば、受信器２０によって観測されるクロック時間に誤りがある確率はせいぜい１パーセント以下となり、上述の手法は、せいぜい１パーセントの誤りを有するバッファ容量を推定することができる。
【００６６】
遅延εの値が比較的大きいが一定の場合、送出クロックと受信クロックとの間の正確な同期は、通信路３に沿った伝搬遅延を遅延εの値から除外することによってさらに達成することができる。上述の手法は、送出時間ｔＳとプローブパケットが処理装置１０に到着する時間とが実質的に等しいという仮定に基づいている。この仮定が真でないほど経路３に沿った伝搬遅延が大きい場合には、プローブパケットの送出時間ｔＳは、経路３に沿った伝搬遅延を除外する遅延εの値を使用して調整値δを計算することによって、この条件を補償するように調整され得る。
【００６７】
上述のクロック同期のための手法は、何らキューイング遅延なく、プローブパケットが通信路１１に沿って処理装置１０によって送信されると仮定することで簡略化される。この仮定の下で、プローブパケットの送信は、処理装置１０がプローブパケットを処理して受信および送信に供する、一定で非常に短い期間だけ遅延される。この仮定は、他の送信器からの雑音または競合トラフィックによって、処理装置１０のパケット送信準備ができている場合に通信路１１がアイドル状態であることができない場合には、有効でない。このような状況において、パケットは、さらなる遅延を受けることになる。なぜならば、処理装置１０は、パケットを送信可能である前に、通信路１１がアイドルになるまで待たなければならないからである。通信路１１が例えばＣＳＭＡ／ＣＡプロトコルを実施する場合には、処理装置１０が待つことになる時間量は、受信器２０などの他の装置によって正確に計算または予測することができない。その結果、クロック調整値δは、正確に計算することができない。
【００６８】
雑音または競合トラフィックによって生じた、計算された値δにおける誤りは、通信路１１がプローブパケットの送信時間ｔＲ以前の特定の期間にアイドルである場合にのみ受信器２０にクロック調整値δを計算させることによって回避できる。ＩＥＥＥ８０２．１１準拠のネットワークにおいて、この特定の期間は、少なくとも上述のＤＩＦＳ期間と同じ長さであるべきである。受信器２０が観測できない送信を処理装置１０が検出できる場合には、受信器２０は、通信路１１がいつアイドルであるかを確実に判断することはできない。この状況によって生じる問題は、受信器２０にクロック調整値δを複数回計算させて、複数の値を比較することによって、回避または少なくとも軽減することができる。異なる計算によって、δについて実質的に同一の値を生じさせる場合には、計算枚のプローブパケットは、いずれのキューイング遅延をも受けない可能性がある。受信器２０は、δについての計算値が十分に信頼性のあるものとなるまで、計算を繰り返すことができる。
【００６９】
受信器２０は、プローブパケットを受信する毎にクロック調整値δを送出時間値ｔＳに適用する。送出および受信クロックが互いにずれなければ、δの値は、所望であれば、通信セッション毎に１度だけ判断すればよい。２つのクロック間の差が変化する場合には、調整値δの修正値を所望時に判断してもよい。
【００７０】
１．バッファが空であるかどうかの判断
クロック調整値δは、処理装置１０におけるバッファが測定時に空であれば、合理的な精度で測定することができる。上述のバッファ占有推定手法は、バッファが空であるかどうかを正確に判断することができない。なぜならば、これらの手法の精度は、データソースクのロックと受信器のクロックとが同期することに依存するからである。以下の段落で説明する手法は、通信路１１が自律分散制御（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｏｒｄｉｎａｔｉｏｎ  Ｆｕｎｃｔｉｏｎ：ＤＣＦ）と称されるＣＳＭＡ／ＣＡプロトコルを使用する場合に、バッファが空であるかどうかを受信器２０がより確実に判断することによって実施できる。本手法の基礎となる原理は、異なる通信技術を使用するネットワークにおいて必要に応じて適合または適用可能である。
【００７１】
ＩＥＥＥ８０２．１１規格に準拠するＣＳＭＡ／ＣＡネットワークにおいて、処理装置１０は、パケットを送信しようと試みる前に、通信路１１がビジーかどうかを判断する。通信路１１が分散制御用フレーム期間（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｉｎｔｅｒｆｒａｍｅ  Ｓｐａｃｅ：ＤＩＦＳ）として知られる特定の期間にビジーでない場合は、ＤＩＦＳ＝５０マイクロ秒と表してもよいが、処理装置１０は、パケットを送信した後、パケットがうまく受信された旨の所期の受信器からの肯定応答（ＡＣＫ）を待つ。処理装置１０が短フレーム期間（Ｓｈｏｒｔ  Ｉｎｔｅｒｆｒａｍｅ  Ｓｐａｃｅ：ＳＩＦＳ）として知られる１０マイクロ秒の所定の期間後にＡＣＫを受信しない場合には、パケットを再送信することになる。通信路１１がビジーまたは再送信が必要な場合には、処理装置１０は、送信を試みる前に、計算された期間に通信路１１がアイドルになるまで待つ。期間は、ＤＩＦＳ期間に、後述の「バックオフアルゴリズム」によって計算された「バックオフ期間」を追加したものに等しい。処理装置１０は、観測されたトラフィックに基づいて、キャリア検知回路と仮想キャリア検知（ＶＣＳ）指標との組み合わせを使用して、通信路１１がビジーかどうかを判断する。この処理の詳細は、本発明の原理を理解するのに必要ないので、本説明では省略される。
【００７２】
バックオフアルゴリズムは、以下の式に従って、いくつかの時間スロットに等しいバックオフ期間を計算する。
【００７３】
【数７】
2009533963.tif 000009
式中、Ｒ＝期間［０、ＣＷ］における乱数または疑似乱数であり、
ＣＷ＝競合ウィンドウ期間であり、
ＴＳ＝時間スロットの期間である。
【００７４】
例えばＩＥＥＥ８０２．１１ｂでは、時間スロットＴＳの長さは、２０マイクロ秒であり、競合ウィンドウ（ＣＷ）期間は、初期最低値ＣＷｍｉｎ＝３１（時間スロット）を有する。例えばＩＥＥＥ８０２．１１ｇでは、時間スロットＴＳの長さは、９マイクロ秒であり、ＣＷ期間は、初期最低値ＣＷｍｉｎ＝１５（時間スロット）を有する。ＣＷウィンドウの長さは、後述するように、最大１０２３（時間スロット）まで増加させてもよい。
【００７５】
処理装置１０は、カウントダウンタイマを使用して、送信を試みる前にＴｗに等しい時間間隔だけ待つ。通信路１１がビジーであると処理装置１０が検知した場合には、カウントダウンタイマは、通信路１１がＤＩＦＳ期間でアイドルの状態となるまで中止される。カウントダウンタイマがゼロに到達すると、処理装置１０は送信を試みる。所期の受信器２０からＡＣＫを受信すると、処理装置１０は、ＣＷをその最小値ＣＷｍｉｎにリセットして、次のパケットの送信準備に入る。ＡＣＫが受信されない場合には、ＣＷの値は倍増されて最大許容値とされて、処理は、次に試行される送信のために繰り返される。
【００７６】
後述の手法は、パケットの第１回目または最初の送信について観測された待ち時間に基づく。パケットの第１回目の送信は、Ｒｅｔｒｙ＿ｆｌａｇと称されるビットの値によって、当該パケットのすべての後続の再送信とは区別することができる。Ｒｅｔｒｙ＿ｆｌａｇは、１回目の送信ではゼロに設定され、後続の再送信ではどれでも１に設定される。本手法は、処理装置１０によるパケットの第１回目の送信の前に、同一または近傍のネットワークにおける他の送信器からの送信を含む他の送信が生じないＤＩＦＳ＋ＴＷＸに等しい、可能な限り最大の待ち時間がある場合、処理装置１０内のバッファが空であるとわかることに基づいている。期間ＴＷＸは、以下のように表してもよい。
【００７７】
【数８】
2009533963.tif 000010
受信器２０が時間ｔＲにおいてパケットを受信して、期間［ｔＲ−（ＤＩＦＳ＋ＴＷＸ），ｔＲ］の間に他の送信が観測されない場合には、処理装置１０内のバッファは、送信されたパケットが送信器に到着したときに空であったことがわかる。言い換えれば、このアイドル期間は、この特定のパケットの送信がいかなるキューイング遅延によっても延期されていないことを示唆するのに十分な条件である。この条件は、キューイング遅延されたパケットが時間ｔＲにおいてまだ観測されると仮定すると矛盾が生じることによって証明できる。
【００７８】
この例において、ｔＲは、パケットの最初のビットが受信器２０によって観測される時間として定義される。代わりに、受信器２０がパケットの最終ビットが受信される時間を検出する場合には、最初のビットの観測時間は、以下の式から取得できる。
【００７９】
【数９】
2009533963.tif 000011
式中、ｔＬＡＳＴ＝パケット内の最終ビットの観測時間であり、
Ｂ＝パケット内のビット数であり、
Ｖ＝毎秒ビット単位での送信レートであり、
ＴＰＲＥ＝すべてのフレームのプリアンブル情報を受信する時間間隔である。
【００８０】
パラメータＢおよびＶの値は、受信器２０内のカスタマイズされたＩＥＥＥ８０２．１１準拠のデバイスドライバから取得できることが多いが、時間間隔ＴＰＲＥの値は、取得できないことが多い。この値が別の方法で入手可能でない場合には、経験的なテストによって決定された値を使用するか、適切な通信プロトコルの仕様を参考にするか、または望ましいであろう任意の他のやり方によって、満足のゆく結果を達成することができる。例えば、ＩＥＥＥ８０２．１１ｂおよび８０２．１１ｇ準拠の通信路については、適切な仕様によれば、間隔ＴＰＲＥの値は、それぞれ１９２μ秒および２４μ秒である。
【００８１】
上述のアイドル期間は十分な条件であるが、バッファが空であることは必要条件ではないことを指摘するのが有用であろう。この理由から、本手法は、通信路１１が常に頻繁に使用されているわけではないネットワークにより適している。本手法は、可能な限り最大限の初期待ち時間ＴＷＸが知られている場合には、ある種の衝突回避手法を使用する他の通信プロトコルのためにも使用できる。
【００８２】
バッファはプローブパケットについて空であると受信器２０が判断すると、クロック調整係数δが測定されて、受信器２とデータソースクロックとを同期させるために使用できる。その後、上述の手法を使用して、バッファ占有レベルを推定することができる。
【００８３】
Ｆ．バッファが空である場合の送信レートの推定
受信器２０は、上述の手法を使用して、装置内のバッファが空でなければ、処理装置１０によって単位期間毎に送信されるパケットの平均数を計算することによって、送信レートパラメータｐＤの正確な推定値を取得することができる。バッファが空の場合には、パケットは送信されないので、バッファが空の場合には、このパラメータを正確に推定するための何らかの他の手法を使用すべきである。ｐＤを推定するために使用されるような手法の１つを以下に説明する。この手法は、処理装置１０がＭ個の固有パケットそれぞれを送信するのに必要とする個々の時間ＴＴの合計ΣＴＴを推定し、合計ΣＴＴでＭを割った商を計算することによって、送信レートパラメータを導出する。パケットを送信するために必要な個々の時間間隔を推定する本手法は、以下の段落に説明するＣＳＭＡ／ＣＡプロトコルのある特性を使用する。
【００８４】
図６および図７は、通信路１１などの通信チャンネル上で観測されるフレームのストリームによって伝達されたパケットを示す。図６を参照すると、パケットＰｎを伝達するフレームが処理装置１０によって送信されている。パケットＰＸ，ＰＹ，ＰＺを伝達するフレームが処理装置１０以外の１つ以上の装置によって送信され、競合トラフィックを表している。図７を参照すると、パケットＰｎ−１およびＰｎを伝達するフレームが処理装置１０によって送信されている。パケットＰＸ，ＰＹ，ＰＺを伝達するフレームが処理装置１０以外の１つ以上の装置によって送信され、競合トラフィックを表している。本明細書において説明するモデルのために、すべての競合トラフィックは、所望であれば単一の装置から生じるものとして捉えてもよい。チャンネルビジー時間ＴＢＵＳＹは、競合トラフィックのフレームが観測される時間間隔を表す。フレーム間到着時間ＴＩＦＡは、競合トラフィックの連続フレーム間の時間間隔を表す。チャンネル送信時間ＴＸＭＩＴは、フレーム間到着時間内に処理装置１０によって送信されるすべてのフレームが観測される期間の累積期間を表す。図６に示す例において、チャンネル送信時間ＴＸＭＩＴは、パケットＰｎを伝達するフレームを送信するのに必要な時間と等しい。図７に示す例において、チャンネル送信時間ＴＸＭＩＴは、パケットＰｎ−１およびＰｎを伝達するフレームが観測される個々の時間ＴＸの合計に等しい。チャンネルアイドル時間ＴＩＤＬＥは、トラフィックが観測されない期間の期間を表す。
【００８５】
チャンネルビジー時間ＴＢＵＳＹ、チャンネル送信時間ＴＸＭＩＴ、およびフレーム間到着時間ＴＩＦＡの統計分布および確率密度関数は、通信チャンネル上のトラフィックを観測することによって推定することができる。各時間についての平均は、推定された統計分布から計算することができる。通信チャンネルが競合トラフィックを伝達している確率λは、以下の式から計算してもよい。
【００８６】
【数１０】
2009533963.tif 000012
式中、
【００８７】
【数１１】
2009533963.tif 000013
は、平均チャンネルビジー時間であり、
【００８８】
【数１２】
2009533963.tif 000014
は、平均フレーム間到着時間である。
【００８９】
通信チャンネルが処理装置１０によって送信されたトラフィックを伝達している確率φは、以下の式から計算してもよい。
【００９０】
【数１３】
2009533963.tif 000015
式中、
【００９１】
【数１４】
2009533963.tif 000016
は、平均チャンネル送信時間である。
【００９２】
後述のモデルを使用して、待ち時間ＷＴと、処理装置１０がパケットを伝達するフレームについての情報のすべてを通信路１１に注入するのに必要な時間ＴＸとの合計である、パケットを送信するのに必要な時間間隔ＴＴを推定することができる。このモデルは、４つの一般的な状況を含み、これらの情報の例は図８Ａ〜図８Ｆに示されている。
【００９３】
第１の状況において、データソースからのパケットＰｎが、競合トラフィック直後のチャンネルアイドル期間の時間ｔＱに処理装置１０に到着し、その到着直後に送信準備完了となる。このモデルでは、パケット到着時間と、パケットが送信準備完了となる時間との間の遅延は無視できると仮定される。第１の状況の例を、図８Ａおよび図８Ｃに示す。期間ＴＡは、パケット到着時間ｔＱ前に生じるチャンネルアイドル時間ＴＩＤＬＥの部分である。
【００９４】
第２の状況において、データソースからのパケットＰｎが、チャンネルビジー期間の間の時間ｔＱに処理装置１０に到着し、その到着直後に送信準備完了となる。第２の状況の例を、図８Ｂおよび図８Ｄに示す。期間ＴＢは、パケット到着時間ｔＱ後に生じるチャンネルビジー時間ＴＢＵＳＹの部分である。
【００９５】
第３の状況において、データソースからのパケットＰｎが、処理装置１０がパケットＰｎ−１を送信した直後のチャンネルアイドル期間の間の時間ｔＱに処理装置１０に到着し、パケットＰｎは、その到着直後に送信準備完了となる。第３の状況の例を、図８Ｅに示す。期間ＴＡは、パケット到着時間ｔＱ前に生じるチャンネルアイドル時間ＴＩＤＬＥの部分である。
【００９６】
第４の状況において、データソースからのパケットＰｎが、処理装置１０がパケットＰｎ−１を送信している間の時間ｔＱに処理装置１０に到着し、パケットＰｎは、パケットＰｎ−１の送信が完了した直後に送信準備完了となる。第４の状況の例を、図８Ｆに示す。期間ＴＢは、パケット到着時間ｔＱ後に生じるチャンネルビジー時間ＴＢＵＳＹの部分である。
【００９７】
これらの各状況は、統計的にモデル化できる。処理装置１０の待ち時間ＷＴを推定してパケットＰｎを送信するために使用可能な入力パラメータνを伴う一アルゴリズムを概略的に示すソースコードプログラムのフラグメントを以下に示す。入力パラメータνは、パケットＰｎの直前のパケットが何らかの他の装置によって送信された競合パケットＰＹであるには、ゼロがセットされる。入力パラメータνは、パケットＰｎの直前のパケットが処理装置１０によって送信されたパケットＰｎ−１である場合には、１に等しく設定される。本開示に示されるこのプラグラムフラグメントおよび他のプログラムフラグメントは、Ｃプログラミング言語の構文上の特徴を有するステートメントを含むが、特定の言語または実施は重要ではない。これらのプログラムフラグメントは、完全で実用的かつ効率的な解決策であるとされるわけではなく、当業者が実際の解決策を実施できるようにするのに十分な基本原則を示すように提示されるに過ぎない。
【００９８】
[1.0]  int calc_wait_time(int v){
[1.1]  if (T_idle[0]>(DIFS+T_wx))
[1.2]      WT=O;                          //図８Ａ
[1.3]  else if (T_idle[O]==DIFS)
[1.4]  {
[1.5]    Tl=0.5*DIFS;                    //図８Ａ
[1.6]    T2= (DIFS+0.5*T_busy[0])        //図８Ｂ，CW=O
[1.7]    WT=Pr1*Tl+Pr2*T2
[1.8]  }
[1.9]  else if (T_idle[O]>DIFS && T_idle[O]<=(DIFS+T_wx))
[1.10]    {
[1.11]      T3=0;                                //図８Ａ
[1.12]      T4=(T_idle[O]*(1-0.5*v)+
0.5*T_busy[0])*(1-v);              //図８Ｂ，0<CW<=CWmin
[1.13]      T5=(T_idle[O]+T_busy[0]+
T_idle[1]+0.5*T_busy[1]);          //図８Ｄ，0<CW<=CWmin
[1.14]      T6=(T_idle[O]+T_busy[0]+
T_idle[1]+T_busy[1]+
T_idle[2]+0.5*T_busy[2]);
[1.15]      WT=Pr3*T3+Pr4*T4+
Pr5*T5+Pr6*T6
[1 16]    }
[1.17]  else
[1.18]    WT=-1;            //推定待ち時間は未定義
[1.19]  return WT;
[1.20]  }
【００９９】
プログラム変数ＤＩＦＳおよびＴ＿ｗｘは、上述の時間間隔ＤＩＦＳおよびＴＷＸをそれぞれ表す。アレイ要素Ｔ＿ｉｄｌｅ［ｎ］およびＴ＿ｂｕｓｙ［ｎ］は、図示の期間ＴＩＤＬＥ，ｎおよびＴＢＵＳＹ，ｎをそれぞれ表す。変数Ｔ１からＴ６は、待ち時間の計算の仮結果を記憶する。変数Ｐｒ１からＰｒ６は、後述の確率を表す。
【０１００】
ステートメント［１．１］を参照すると、ＤＩＦＳ＋Ｔ＿ｗｘは、パケットの最初の送信を試みる前に待つ必要があり得る、予想最長チャンネルアイドル期間を表す。パケットＰｎの送信の直前のチャンネルアイドル時間Ｔ＿ｉｄｌｅ［０］がこの期間よりも大きい場合には、パケットＰｎは、キューイング遅延にもバックオフ待ち遅延にも遭遇しなかったことがわかる。待ち時間ＷＴは、ステートメント［１．２］においてゼロに設定される。
【０１０１】
ステートメント［１．３］を参照すると、パケットＰｎの送信の直前のチャンネルアイドル時間Ｔ＿ｉｄｌｅ［０］が期間ＤＩＦＳに等しい場合には、パケットは、図８Ａまたは図８Ｅに示すようなチャンネルアイドル時間ＴＩＤＬＥ，０の間または図８Ｂに示すようなチャンネルビジー時間ＴＢＵＳＹ，０の間に処理装置１０に到着したことがわかる。ステートメント［１．６］を参照すると、パケットＰｎが図８Ａに示すように競合パケットの直後のチャンネルアイドル時間ＴＩＤＬＥ，０の間に到着した場合には、Ｔ２についての計算は、当該競合パケットについてのチャンネルビジー期間ＴＢＵＳＹ，０の期待値を含む。パケットＰｎが図８Ｅに示すようにパケットＰｎ−１の直後のチャンネルアイドル時間中に到着した場合には、Ｔ２についての計算は妥当でない。なぜならば、以下の式（１３）および式（１５）に示すようにν＝１である場合には、対応する確率Ｐｒ２はゼロだからである。パケットがチャンネルビジー期間ＴＢＵＳＹ，０の間に到着した場合には、バックオフアルゴリズムは、式（７）に示すようなゼロに等しいバックオフ期間ＴＷを計算しただろう。パケットは、ＴＩＤＬＥ，０期間の最後などで遅く到着して、すぐに送信されただろう。パケットは、ＴＢＵＳＹ，０期間の開始などで早く到着しただろうが、それより早くは到着しなかっただろう。なぜならば、例えば図８Ｃに示すようにＴＩＤＬＥ，1期間の間で早く到着していれば、ＴＩＤＬＥ，1期間の間に送信されたであろうからである。
【０１０２】
本モデルは、チャンネルアイドル期間およびチャンネルビジー期間の間のパケット到着時間の確率密度関数を仮定する。到着時間がＴＩＤＬＥ，０期間の間で生じる場合には、期待または平均待ち時間Ｔ１（ステートメント［１．５］参照）は、この期間の半分に等しい。この状況は、確率Ｐｒ１で生じる。到着時間が競合パケット直後のＴＢＵＳＹ，０期間の間で生じる場合には、送信前の期待待ち時間Ｔ２（ステートメント［１．６］参照）は、ＤＩＦＳにこの期間の半分を足した分に等しい。到着時間が競合パケットではないパケットＰｎ−１直後のＴＢＵＳＹ，０期間の間で生じる場合には、チャンネルビジー期間の期待値は、上述のような計算から除外される。これらの２つの状況は、等しく同様であり、まとめて確率Ｐｒ２で生じると仮定される。その結果、推定待ち時間ＷＴは、ステートメント［１．７］に示すような各発生確率を乗算した平均待ち時間の合計から取得される。
【０１０３】
確率Ｐｒ１およびＰｒ２は、以下の式から取得してもよい。
【０１０４】
【数１５】
2009533963.tif 000017
ＰＩ１は、パケットＰｎがチャンネルアイドル期間の間に到着する確率であり、ＰＢ１は、パケットＰｎがチャンネルビジー期間およびＴＷ＝０の間に到着する確率である。
【０１０５】
式（１４）における項（１−ν−ψ−λ）は、パケットＰｎがチャンネルアイドル期間の間に到着する確率を表し、その平均期間は、平均フレーム間到着時間
【０１０６】
【数１６】
2009533963.tif 000018
であり、式中の残りの計数は、この確率を重み付けして、実際のＴＩＤＬＥ，０期間は長さがＤＩＦＳに過ぎないことと、バックオフ期間ＴＷはゼロに等しい値を有しなければならず、これは、先行パケットが競合パケットでなければ、ＣＷｍｉｎ＋１の予想値の合計のうちの１つの可能性であることとを明らかにする。
【０１０７】
式（１５）における項λは、パケットＰｎがチャンネルビジー期間に到着する確率を表し、式中の残りの計数は、この確率を重み付けして、先行パケットが競合パケットであることと、バックオフ期間ＴＷはゼロに等しい値を有しなければならず、これはＣＷｍｉｎ＋１の予想値の合計のうちの１つの可能性であることとを明らかにする。
【０１０８】
ステートメント［１．９］を参照すると、パケットＰｎの送信直前のチャンネルアイドル時間Ｔ＿ｉｄｌｅ［０］が期間ＤＩＦＳよりも大きいが予想最長待ち時間ＤＩＦＳ＋Ｔ＿ｗｘよりは大きくない場合には、パケットは、送信直前のチャンネルアイドル期間の間か、または送信前のチャンネルビジー期間のうちの１つの間のいずれかに到着したことがわかる。パケットがチャンネルビジー期間のうちの１つの間に到着した場合には、バックオフアルゴリズムは、ゼロよりも大きいがＣＷｍｉｎ・ＴＳ以下であるバックオフ期間ＴＷを計算していただろう。
【０１０９】
到着時間がＴＩＤＬＥ，０期間の間で生じる場合には、送信前の待ち時間Ｔ３（ステートメント［１．１１］参照）は、ゼロか、または実質的にゼロであることがわかる。なぜならば、唯一の遅延は、処理装置１０における処理によるものであり、これは無視できると仮定されるからである。この状況は、確率Ｐｒ３で生じる。到着時間がＴＢＵＳＹ，０期間の間で生じる場合には、予想待ち時間Ｔ４（ステートメント［１．１２］参照）は、この期間の半分に後続のチャンネルアイドル期間を加えたものに等しい。この状況は、確率Ｐｒ４で生じる。到着時間が以前のチャンネルビジー期間のうちの１つの間で生じる場合には、予想待ち時間は、この期間の半分に送信時に終了するすべての後続のビジーおよびアイドル期間を加えたものに等しい（ステートメント［１．１３］およびステートメント［１．１４］参照）。これらの状況は、どのビジー期間がパケット到着時間に一致するかによって様々な確率Ｐｒ５，Ｐｒ６などで生じる。しかしながら、これらの状況は、穿孔パケットが競合パケットでなければ生じ得ないことがわかる。これは、確率Ｐｒ５，Ｐｒ６を計算するために使用されるような式（１９）および式（２０）における項（１−ν）によって明らかである。推定待ち時間ＷＴは、これらの待ち時間にステートメント［１．１５］に示すような各発生確率を乗算したものから取得される。項Ｐｒ３＊Ｔ３は、概念を示す目的にのみ合計に含めている。実際の実施においては、この項はゼロに等しいので除外することができよう。
【０１１０】
確率Ｐｒ３からＰｒ６は、以下の式から取得してもよい。
【０１１１】
【数１７】
2009533963.tif 000019
2009533963.tif 000020
シンボルＣＷｍｉｎ，ｎは、ＴＢＵＳＹ，ｎ期間についてのバックオフアルゴリズムによって使用される初期競合ウィンドウを示し、シンボルＴＩＦＡ，ｎは、ＴＢＵＳＹ，ｎ期間とＴＢＵＳＹ，ｎ−１期間との間のフレーム間到着時間を示す。
【０１１２】
上記プログラムフラグメント内のステートメント［１．１１］から［１．１５］は、固定された数のチャンネルアイドル期間およびチャンネルビジー期間について仮の時間計算を行う。これらの計算についての確率Ｐｒ３からＰｒ６は、式（１７）〜式（３１）から取得してもよい。入力パラメータνが１に等しい場合は、直前のパケットは競合パケットではないことを示しているので、確率Ｐｒ５およびＰｒ６は必要ない。その結果、式（２４）〜式（３０）に示す計算を行う必要がなく、ＰＢ２Ａは、ＰＢ２と等しく設定される。好ましい実施において、計算は、パケットＰｎの送信前の限られた時間範囲内で生じる期間について行われる。限られた時間範囲は、含まれるチャンネルアイドル期間の合計が予想最長待ち時間ＤＩＦＳ＋Ｔ＿ｗｘと等しいかまたはそれを超える点から開始する。限られた時間範囲は、処理装置１０が当該範囲内でフレームを送信した場合には、より遅い時間でも開始する。この場合には、限られた範囲は、以前送信されたフレームの最後から開始する。本モデルは、送信装置１０によるパケットの以前の送信後であって、チャンネルアイドル期間の合計が最大待ち時間となる予想最短範囲の開始に先だつ期間を、その計算に含めない。
【０１１３】
本モデルがより多くのチャンネルビジー期間およびチャンネルアイドル期間をその計算に含める必要がある場合には、追加の分の期間についての確率は、上述と同様のやり方で導出される式を使用して取得してもよい。
【０１１４】
ステートメント［１．１７］を参照すると、先行するどのテストも満たされない場合には、本モデルは、待ち時間は判断できないと結論付ける。この状況は、受信器２０が検出できない競合トラフィックを処理装置１０が検出する場合に生じ得る。そうでなければ、この状況は、処理装置１０または何らかの他の送信装置が通信プロトコルの１つ以上の規定に違反していることを示す場合がある。
【０１１５】
処理装置１０がパケットＰｎを有するフレームを送信するために必要とする時間ＴＴは、推定待ち時間ＷＴと、フレームについての情報を通信路１１に注入するのに必要な時間ＴＸとから取得される。処理装置１０がＭ個の固有パケットを送信するのに必要であった合計時間ΣＴＴを累積した後に、受信器は、以下の式から、送信レートの合理的に正確な推定値を取得することができる。
【０１１６】
【数１８】
2009533963.tif 000021
【０１１７】
Ｇ．信号受信品質
１．概要
通信路１１の送信の監視は、送信のレートｐＤなどのパラメータの推定を含む広範な目的のために使用される。観測された信号に基づく結果の有用性または信頼性は、監視装置によって受信された信号の受信品質によって影響を受ける。例えば、観測された情報の正確性は、パラメータｐＤを推定可能な正確性に影響を与え、このパラメータの正確性は、ＦＥＣ最適化出願に開示されたような手法の最適化動作にとって重要である。上述の手法は、信号の受信が干渉または低い信号受信品質によって損なわれている期間中に、推定の正確性を改善するための対処を含む。このような対処によって、本発明の様々な局面は、従来の監視手法ではうまくいかない状況において、より正確な結果を取得することができる。それにもかかわらず、信号受信品質があまりにも低くなる場合には、これらの対処は、推定の正確性が許容不可能なレベルまで劣化することを防止できない。
【０１１８】
監視動作が十分な正確さで様々なパラメータ値を推定するのに十分なほど信号品質が固いかどうかを判断するための、受信器２０において実施可能な手法を以下に説明する。これらの手法は、パケットが通信路１１上で送信されるやり方に関する２つの仮定に基づく。すなわち、（１）処理装置１０は、その送信レートを、通信路条件に従って適合させる、および（２）情報は、固有の送信パケット数の推定値が計算できるようにする何らかの制御情報と共に送信される。これら２つの仮定を使用して、自身宛ての２つの受信パケット間で実際に観測するパケットの数を計数した後、この計数値を、観測されたパケットについての制御情報から計算された推定パケット数と比較することができる。２つの値が等しいか十分に近いものである場合は、信号受信品質は、他のパラメータ値を正確に推定することができるほど高いはずである。
【０１１９】
以下に説明する手法は、信号受信品質を評価する必要のある実質的にいかなる応用例で使用してもよい。本手法は、その適用が上述の推定処理に限定されるものではない。
【０１２０】
ａ）送信レートの適合化
第１の仮定によれば、処理装置１０は、その送信レートを通信路状態に従って適合化する。これは、受信器２０は、一般的には、受信器２０宛ての各固有パケットと、その関連制御情報とを、何らデータの破損なく少なくとも１回は受信することになることを意味する。送信レートの適合化によって、処理装置１０は、所期の受信器がどれほど確実にパケットを受信しているのかに従って、パケットの送信レートを適合化する。処理装置１０がパケットをうまく受信したことを確認する受信器から肯定応答を一貫して受信する場合には、処理装置１０は、当該受信器宛てのパケットについての送信レートを維持または増加させてもよい。処理装置１０受信器から肯定応答を受信し損なっている場合には、処理装置１０は、当該受信器宛てのパケットについての送信レートを低くする。この手法は、信号受信品質が高い場合には高い送信レートを使用し、信号受信品質が低い場合には低いレートを使用する傾向がある。
【０１２１】
通信路１１が無線ネットワークであって、信号受信品質が低い場合には、受信器２０は、他の受信機へ高いレートで送信されたパケットを観測することができないか、または、重大なデータの破損なくこれらのパケットを観測することができない場合もある。例えばＩＥＥＥ８０２．１１ａまたはＩＥＥＥ８０２．１１ｇ準拠のネットワークにおいて、処理装置１０は、その送信を５４Ｍｂ／秒までのレートで情報を送信するように適合化させてもよい。受信器が処理装置１０の近くにあって、信号受信品質が非常に高いといったローカル状態である場合には、処理装置１０は、パケットを最大レートまたはそれに近いレートで受信器へ送信することになるだろう。受信器２０が処理装置１０から遠く離れている、および／または、信号受信品質が非常に低いといったローカル状態である場合には、受信器２０が最高レートで他の受信器へ送信されるパケットを確実に受信できる可能性はありそうもない。
【０１２２】
しかしながら、送信レートの適合化によって、たとえ受信状態が悪くても、受信器２０が処理装置１０の範囲内にあれば、自身のパケットを受信することができ、破損があったとしても少なくて済む。受信器２０についての信号受信品質が非常に低い場合には、処理装置１０は、通信が合理的に確実になるまで、送信器２０への送信レートを減少させることになる。送信レートが通信路の状態に合致するように適合化された場合には、フレーム誤り率は、典型的には１０−１以下程度である。処理装置１０が特定のパケットについての肯定応答を受信しない場合には、当該パケットを４回以上再び送信し、その結果、本明細書において述べた条件で受信器２０がパケットをうまく受信しない確率は１０−５程度である。送信レートの適合化を使用することにより、受信器２０は、通常、受信器２０宛ての各固有パケットおよびその関連制御情報を、何らデータの破損なく、少なくとも１回は受信することになる。
【０１２３】
ｂ）制御情報
第２の仮定によれば、パケットは、固有の送信されたパケット数が計算可能な何らかの制御情報と共に送信される。ＩＥＥＥ８０２．１１対応ネットワークにおいて、ＭＡＣヘッダにおけるパケットシーケンス番号は、必要な制御情報を提供することができる。
【０１２４】
２．信号受信品質の評価
以下に説明する特定の実施は、通信路１１のために使用される通信プロトコルがＩＥＥＥ８０２．１１規格のうちの１つに準拠しているものと仮定している。これらのプロトコルは、上述のパケット毎に、ＭＡＣヘッダにおいて１２ビットのシーケンス番号を提供する。シーケンス番号は、特定の装置によって送信される各連続する固有パケット毎に、２１２を法として１つずつ増分される。
【０１２５】
受信器２０が２つの連続する当該受信器宛ての固有パケットＰＡおよびＰＢを処理装置１０から受信する場合、処理装置１０から１つ以上の他の受信器へ送信された固有の介在パケットの数Ｄは、これらのパケットについてのシーケンス番号ＱＡとＱＢとの間の差から以下のように取得できる。
【０１２６】
【数１９】
2009533963.tif 000022
式中、ＱＢ＝受信器宛てのパケットＰＢのシーケンス番号であり、
ＱＡ＝受信器宛ての先行パケットＰＡのシーケンス番号である。
【０１２７】
送信レートの適合化によって、所期の受信器は、これら２つのシーケンス番号を破損なく受信する可能性が高くなる。上述のように、フレームＣＲＣは、フレーム内のでーたが破損なく受信されたかどうかを判断するために使用することができる。それにもかかわらず、処理装置１０において使用されるキューイング手法が上述のように厳密なＦＩＦＯ手法から導出される場合には、２つのシーケンス番号間の差は、介在パケットの正確な数を常に示すものではない場合がある。この局面について、以下により詳細に説明する。
【０１２８】
受信器２０は、上述のような手法のうちの任意のものを使用して、観察するパケットを計数することができる。受信器２０についての信号受信品質が処理装置１０によって送信されるパケットすべてまたはほとんどすべてを観測できるほど十分に高い場合には、これらのパケットの計数値Ｃは、計算された差Ｄと等しいか、またはほぼ等しくなる。受信器２０についての信号受信品質が処理装置１０によって送信されるパケットのうちのかなりの数を観測できないほど低い場合には、これらのパケットの計数値Ｃは、計算された差とは異なることとなる。逆に、ＣおよびＤとがうまく合致すれば、信号受信品質が高いことを合理的な正確さで示すことができる。うまく合致していないからといって、信号受信品質は必ずしも低いとはいえない。なぜならば、計算された差Ｄをゆがめるシーケンス番号のストリームにおけるギャップまたはジャンプがあり得るからである。この理由は、以下に説明する。
【０１２９】
一実施において、受信品質の予備測度Ｅは、以下の式から計算される。
【０１３０】
【数２０】
2009533963.tif 000023
この測度は、取り除かなければ測度の信頼性を損なうような短期の外乱を取り除くためにフィルタリングまたは平滑化が施される。適切な平滑化フィルタの一例を以下に示す。ゼロまたはゼロに近いＥの値は、一般的には、信号受信品質が高いことを示す。しかしながら、Ｅの値が大きい場合には、以下に説明するような、ビット誤り率などの他の事項を考慮しないでは、受信品質について結論に達するべきではない。
【０１３１】
３.シーケンス番号ジャンプ
処理装置１０がいつも厳密なＦＩＦＯというわけではないキューイング手法を実施して、パケットをある条件で送信用に並べ替える場合には、シーケンス番号のストリームにおいてギャップまたはジャンプが生じる場合がある。例えば、上述のように、ルータまたは無線アクセスポイントなどのＩＥＥＥ８０２．１１準拠の処理装置は、いくつかの受信器のうちの１つに対する無線リンクの品質の劣化に遭遇した場合にはいつでも、そのバッファからパケットを、厳密なＦＩＦＯというわけではない順序で取り出すことがある。
【０１３２】
図９は、そのような装置によって送信され得るパケットを有するフレームのストリームの一例の概略図である。各フレームは、箱形で表されており、そのシーケンス番号を表す番号が付されている。受信器２０宛てのパケットを有するフレームは、他の受信器宛てのパケットを表す箱形の線よりも太い線で描かれた箱形によって表されている。図９に示す例を参照すると、パケットＰ１とシーケンス番号ＱＡ＝１とを有する受信器２０宛てのフレームは、当該受信器へうまく送信される。パケットＰ２とシーケンス番号Ｑ＝２とを有する他の受信器へのフレームを送信しようとする試みは、５回の試行の後に中断される。パケットＰ１０とシーケンス番号ＱＢ＝１０とを有する受信器２０宛てのフレームはが次に送信される。パケットＰ２の中断により、送信用にパケットの並べ替えが生じ、その結果、連続するシーケンス番号間にジャンプが生じる。
【０１３３】
式（３３）によれば、パケットＰ１およびＰ１０についてのシーケンス番号間の差Ｄは、Ｄ＝（１０−１−１）＝８に等しく、これら２つのパケット間の期間に観測され得るパケットの数の計測値Ｃとは大幅に異なる。本例において、信号受信品質が非常に高い場合であっても、上述の計測手法は、計測値Ｃ＝１を生じさせ、これは計算された差Ｄ＝８とは大幅に異なる。この例は、パケットの計測された数値Ｃと計算された数値Ｄとの間の差が大きくても、信号受信品質が悪いことを必ずしも示すものではないことを示している。
【０１３４】
４．中断された送信
上述の計数手法は、所定の期間内でうまく送信されたパケットの数を計数することが意図されている。図９に示す例を参照すると、これらの計数手法は、パケットＰ２の５回の送信を、１個の固有パケットの１回の成功した送信として計数することになろう。この計数値が正しくないことはほぼ確実である。なぜならば、パケットＰ２はうまく送信されなかったからである。正確な計数値は、ほぼ確実にゼロである。
【０１３５】
この状況は、送信がうまくできなかったパケットを認識して、それらを計数から除外することによって訂正することができる。一実施において、以下の３つの条件がすべて満たされれば、パケットはうまく送信されなかったものとみなされる。
（１）同一のシーケンス番号ＱＸを有する同一の受信器宛てのパケットＰＸの数回の連続した送信が観測される(ＩＥＥＥ８０２．１１規格に準拠する実施については、本手法は、同一のパケットの５回連続の送信をチェックすることができる)場合、
（２）観測される次に送信されるパケットＰＹが、シーケンス番号ＱＹを有し、異なる受信器宛てである。
（３）差Ｊ＝（ＱＹ−ＱＸ）が１より大きい。
【０１３６】
これら３つすべての条件が、図９に示す例において満たされている。パケットＰ２の１つの受信器宛ての５つの連続した送信があり、別の受信器宛てのパケットＰ１０がそれに続く。パケットＰ２およびＰ１０についてのシーケンス番号間のギャップは、Ｊ＝１０−２−１＝７であり、これは１よりも大きい。この例では、パケットＰ２は計数値から除外されるべきである。
【０１３７】
５.受信品質が悪い場合の追加テスト
予備測度が信号受信品質が悪いであろうと示す場合には、これが真であるかどうかを確認するために追加のテストを行うことができる。使用され得るテストの１つは、互いに異なるレートで送信される受信情報におけるビット誤り率を推定することである。
【０１３８】
通信路１１を実施するために使用される技術が、ＩＥＥＥ８０２．１１ａまたは８０２．１１ｇ規格に準拠している場合には、処理装置１０は、その情報送出のための送信を最大レートＲＭＡＸ＝５４Ｍｂ／秒まで適応させてもよい。経験的な研究によれば、パケットがＲ０＝３６Ｍｂ／秒で誤りなく受信できる場合か、またはパケットが送信レートＲ１＝４８Ｍｂ／秒で誤り訂正手法によって訂正できない誤りなく受信できる場合には、受信器２０についての信号受信品質は、最大レートを含む任意のレートでパケットを送信しながら上記の処理を使用できるのに十分なものとなる。
【０１３９】
最大限可能なレートで生じる送信を行いながら上記の手法が確実に使用できるのに十分なほど信号受信品質が高いかどうかを評価するために使用可能な一アルゴリズムを概略的に示すソースコードプログラムの断片を以下に示す。
【０１４０】
[2.1]  F_last_good;            //最後に良好なフレーム
[2.2]  int SNR_change=2;      //デシベル単位のＳＮＲ変化閾値
[2.3]  int BER_max=2;          //最大許容ビット誤り率（パーセンテージ）
[2.4]  int time_interval=2    //秒単位のテスト期間
[2.5]  int receive_quality_good_enough(F_cur) {
[2.6]      if(check_rate(F_cur)==1)
[2.7]      {
[2.8]          F_last_good=F_cur;
[2.9]          return 1;
[2.10]      }
[2.11]      else if((F_last_good.SNR-F_cur.SNR)<=SNR_change &&
(F_cur.TS   F_last_good.TS)<time_interval &&
F cur.BER<BER_max)
[2.12]          return 1;
[2.13]      else
[2.14]          return 0;
[2.15]  }
[2.16]  int Rl=48, R0=36;        //送信レート
[2.17]  int check_rate(F){
[2.18]      if(F.rate>=RO && F.CRC==0)
[2.19]          return 1;
[2.20]      else if(F.rate>=Rl && F.BER==0)
[2.21]          return 1;
[2.22]      else
[2.23]          return 0;
[2.24]  }
【０１４１】
関数ｒｅｃｅｉｖｅ＿ｑｕａｌｉｔｙ＿ｇｏｏｄ＿ｅｎｏｕｇｈ(ステートメント［２．５］で開始）は、信号受信品質を評価して、上述の推定手法を確実に使用するのに十分なほど良好な品質である旨を示す値１を返し、十分なほど品質が良好でない旨を示す値ゼロを返す。この評価は、関数ｃｈｅｃｋ＿ｒａｔｅ(ステートメント［２．１７］で開始）を呼び出して、送信レートおよび受信フレームＦの対応誤り率を分析することによって開始する。関数ｃｈｅｃｋ＿ｒａｔｅが値１を返す場合(ステートメント［２．６］参照）、最後に良好なフレームへのポインタＦ＿ｌａｓｔ＿ｇｏｏｄが更新されて、現在のフレームをポイントするようになり(ステートメント［２．８］参照）、信号受信品質が良好である旨を示す値１が返される(ステートメント［２．９］参照）。
【０１４２】
ｃｈｅｃｋ＿ｒａｔｅ関数は、フレームＦにおける情報が少なくともＲ０ほどの高い送信レートで誤りなく受信された場合(ステートメント［２．１８］およびステートメント［２．１９］参照）、または、フレームＦにおける情報が少なくともＲ１ほどの高いレートで訂正不可能な誤りなく受信された場合(ステートメント［２．２０］およびステートメント［２．２１］参照）、値１を返す。この例において、Ｆ．ＣＲＣ＝０は、フレームＦにおける情報が誤りなく受信されたことを示し、要素Ｆ．ＢＥＲ＝０は、フレームＦにおける情報が訂正不可能な誤りなく受信されたことを示す。いずれの条件も満たされない場合には、ルーチンは値ゼロを返す(ステートメント［２．２２］およびステートメント［２．２３］参照）。
【０１４３】
関数ｃｈｅｃｋ＿ｒａｔｅが値０を返す場合には、信号受信品質がまだ良好であるとみなされるかどうかを判断するために追加のテストが行われる。これは、ステートメント［２．１１］において、現在のフレームの信号対雑音比（ｓｉｇｎａｌ−ｔｏ−ｎｏｉｓｅ  ｒａｔｉｏ：ＳＮＲ）と、受信タイムスタンプ（ＴＳ）と、受信されたビット誤り率（ｂｉｔ−ｅｒｒｏｒ  ｒａｔｅ：ＢＥＲ）とを最後に良好なフレームについての対応する値と比較することによって行われる。現在のフレームと最後に良好なフレームとの間の変化量が特定の閾値内にすべて入る場合には、ステートメント［２．１２］において、信号受信品質は良好であるとみなされる旨の指標が返される。そうでない場合には、ステートメント［２．１４］において、信号受信品質は良好ではないとみなされる旨の指標が返される。
【０１４４】
これら３つの比較についての基本原理は、いくつかの仮定に基づく。現在のフレームについてのＳＮＲが、最後に良好なフレームについてのＳＮＲのある閾値量内であれば（本例においては、２ｄＢ）、現在の受信状態はまだ十分良好である可能性がある。このテストは、最後に良好なフレームの何らかの時間間隔内に受信されるフレームに限られる（本例においては、２秒）。なぜならば、マルチパスフェージングなどの受信条件における変化によって、適切な信号受信品質を確保するために必要なＳＮＲが上昇する場合があるからである。時間間隔は、最後に良好なフレーム以降に条件が大幅に変化した可能性を減少させるのに十分なほど短く維持される。ビット誤り率についての最終テストは、現在のフレームにおけるシーケンス番号が信頼できるものである可能性を高めるために使用される。
【０１４５】
ビット誤り率は、受信されたフレームにおけるデータを、エラー訂正処理によってビットエラーを訂正した後のフレーム内のデータと比較し、エラー訂正処理によって変更されたビット数を計数し、この数を受信されたビットの総数で除算することによって推定することができる。所望であれば、この推定値に対して低域フィルタまたは平滑化フィルタによってフィルタリングを施すか、この推定値を推定ビット誤り率の移動平均の計算に使用することもできる。
【０１４６】
上述のプログラムフラグメント示す本処理は、受信特性が互いに異なる送信レートについて既知であれば、他の通信規格と共に使用することもできる。特定のプロトコルについて、受信器２０が破損なく送信を受信できる送信レートＲ０が既知であって、送信は確実に受信できるが最高許容送信レートＲＭＡＸでは必ずしも完全ではないような受信状態である場合には、当該２つのレートについて適切な値を代入することによって、上述のアルゴリズムをこの特定の通信プロトコルと共に使用することができる。
【０１４７】
６.フィルタの平滑化
式（３４）から取得された受信品質の予備測度Ｅは、ゼロまたは非常に小さい値を有する場合には、良好な信号品質を示す。Ｅについての大きな値は、悪い信号受信品質を示す場合があるが、大きな値は、上述のように、例えば、シーケンス番号のジャンプによる場合またはＳＮＲの不定期な減少などの受信条件の短期的な劣化による場合もある。好ましくは、短期的な条件は、信号受信品質の全体的な評価における短期的な変化として現れることを許容すべきでない。これは、低域フィルタまたは平滑化フィルタを使用して、取り除かなければ測度の有用性を劣化させるような値Ｅにおける短期的な外乱を取り除くことによって回避できる。測度Ｅについての平滑化フィルタを実施するために使用可能な一アルゴリズムを概略的に示すソースコードプログラムのフラグメントを以下に示す。
【０１４８】
[3.1]  if (最後の５つの測度がabs(E)<3)
[3.2]    return 1;
[3.3]  else if (最後の１５個の測度のうちの１４個がabs(E)<3)
[3.4]    return 1;
[3.5]  else if (最後の５つの測度のうちの２つ以上がabs(E)>10)
[3.6]    return 0;
[3.7]  else if (最後の１０個の測度のうちの３つ以上がabs(E)>10)
[3.8]    return 0;
[3.9]  else
[3.10]        return 0.5;
【０１４９】
このフィルタは、Ｅについての直近の推定値のスライド期間（ｓｌｉｄｉｎｇ  ｉｎｔｅｒｖａｌ）を検査する一連のＩＦ−ＥＬＳＥテストである。直近の推定値のすべてが３未満である場合（ステートメント［３．１］参照）、ステートメント［３．２］において、信号受信品質が良好である旨を示す１という値が返される。最初のＩＦテストについて条件が満たされない場合には、直近の１５個の推定値のうちの１４個が３未満である場合（ステートメント［３．３］参照）、ステートメント［３．４］において、１という値を返すことによって、信号受信品質が良好であるとみなされる。最初の２つのＩＦテストが失敗して、それに続くステートメント［３．５］および［３．７］における２つのＩＦテストのいずれかについて条件が満たされる場合には、信号受信品質が悪い旨を示すゼロという値が返される。いずれのＩＦテストについても条件が満たされない場合には、ステートメント［３．１０］において、信号受信品質が中程度である旨を示す０．５という値が返される。
【０１５０】
ＩＦテストに規定された条件は、表示の信頼性と、表示が変化する通信条件に応じる測度との兼ね合いを均衡させるために、経験的なデータから導出されたものである。一般的には、１という値は、信号受信品質が監視の目的のためには十分に良好である旨を示す。
【０１５１】
Ｈ．実施
本発明の様々な局面を実際に行うために必要な機能は、別個の論理要素、集積回路、１つ以上のＡＳＩＣおよび／またはプログラム制御されたプロセッサを含む広範なやり方で実施される要素によって行われ得る。これらの要素が実施されるやり方は、本発明においては重要ではない。
【０１５２】
本発明のソフトウェアによる実施は、超音速から紫外線周波数までを含むスペクトラムを通じてベースバンドまたは変調された通信路などの様々な機械読み出し可能な媒体によって、もしくは、磁気テープ、カードまたはディスク、光学カードまたはディスク、および紙を含む媒体上の検出可能なマーキングを含む実質的に任意の記録技術を使用して情報を伝達する記憶媒体によって、伝達してもよい。
【図面の簡単な説明】
【０１５３】
【図１】通信システムの概略ブロック図である。
【図２】フレームのストリームにおけるシーケンス番号を有するパケットの概略図である。
【図３】フレームのストリームにおけるシーケンス番号を有するパケットの概略図である。
【図４】フレームのストリームにおけるシーケンス番号を有するパケットの概略図である。
【図５】ある時間間隔中に送信された固有パケット数を計数するために使用されうる処理におけるステップを示すフロー図である。
【図６】フレームのストリームにおけるパケットの概略図である。
【図７】フレームのストリームにおけるパケットの概略図である。
【図８Ａ】フレームのストリームにおけるパケットの概略図である。
【図８Ｂ】フレームのストリームにおけるパケットの概略図である。
【図８Ｃ】フレームのストリームにおけるパケットの概略図である。
【図８Ｄ】フレームのストリームにおけるパケットの概略図である。
【図８Ｅ】フレームのストリームにおけるパケットの概略図である。
【図８Ｆ】フレームのストリームにおけるパケットの概略図である。
【図９】フレームのストリームにおけるパケットの概略図である。
【図１】
2009533963.tif 000024
【図２】
2009533963.tif 000025
【図３】
2009533963.tif 000026
【図４】
2009533963.tif 000027
【図５】
2009533963.tif 000028
【図６】
2009533963.tif 000029
【図７】
2009533963.tif 000030
【図８Ａ】
2009533963.tif 000031
【図８Ｂ】
2009533963.tif 000032
【図８Ｃ】
2009533963.tif 000033
【図８Ｄ】
2009533963.tif 000034
【図８Ｅ】
2009533963.tif 000035
【図８Ｆ】
2009533963.tif 000036
【図９】
2009533963.tif 000037
【手続補正書】
【提出日】平成20年4月2日(2008.4.2)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
情報は、前記送信チャンネルにおける雑音または干渉のために失われることもある。この種の損失は、多くの無線ネットワークにおいてよく起こることだが、再送信および順方向誤り訂正（ＦＥＣ）手法の使用を通じて減少させることができる。残念なことに、これらの手法は、送信されなければならないデータの量を増加させてしまい、これによって、処理装置が情報を送信可能な有効レートを減少させ、その結果、バッファストレージに対してより多くの要求を課することとなる。
国際公開第ＷＯ９９／０４５３６号は、バッファオーバーフローによるパケット損失を回避または少なくとも減少することができるように、データソースの送出レートを制御するために、あるネットワーク通信プロトコルとともに使用され得る手法を説明している。本手法は、データソースが送出したデータパケットが所期の受信者によってうまく受信される場合に肯定応答（ｐｏｓｉｔｉｖｅ  ａｃｋｎｏｗｌｅｄｇｍｅｎｔ）、すなわち「ＡＣＫ」パケットをデータソースへ返す通信プロトコルの特徴に依存している。データソースは、その送出レートを、ＡＣＫパケットが迅速かつ一貫して受信される場合には増加させ、ＡＣＫパケットの受信が一貫していないかまたは多少遅れて受信される場合には減少させる。この特徴を使用して、開示された手法は、あるバッファ占有測度が特定の閾値レベルを超えるレベルに達した場合にはＡＣＫパケットの返信を遅延させることによって、送出レートを制御する。バッファ占有測度は、バッファを含む処理装置の内部動作に直接アクセスすることによって取得される。
国際公開第ＷＯ２００５／０８１４６５号は、データソースおよび受信器から取得されたパケットシーケンス番号から処理装置内のバッファの占有レベルを計算するための手法を説明している。本手法は、バッファオーバーフローまたは送信障害によって失われたパケットについて明らかにしておらず、複数のデータソースから受信されたパケットまたは複数の受信器へ伝達することになっているパケットをバッファリングする処理装置におけるバッファ占有を計算するには不適切である。
【国際調査報告】
2009533963.tif 000038
2009533963.tif 000039
2009533963.tif 000040
2009533963.tif 000041
2009533963.tif 000042