(57)【要約】キューバッファ制御システムが説明される。そのシステムにおいて、輻輳通知を実行するか否かを決定する決定手順を含む輻輳通知手順をトリガするために、キュー長さパラメータＱＬは、長さ閾値Ｌｔｈと比較される。また、推定されたリンク容量値ＬＣに基づいて閾値Ｌｔｈを適応させる自動閾値適応手順Ｓ５が提供される。自動閾値適応手順Ｓ５は、少なくとも第１の適応モード及び第２の適応モードのうち１つの適応モードで動作可能である。第１の適応モードは、キューイング遅延を最小限にすることに関連し、ｎ≧１の場合にｎ・ＬＣに基づいて閾値Ｌｔｈを適応させる。第２の適応モードは、利用率を最大限にすることに関連し、ｍ＞１かつｍ＞ｎの場合にｍ・ＬＣに基づいて閾値Ｌｔｈを適応させる。
2007524262.tif 000002
【特許請求の範囲】
【請求項１】
データ単位送信装置（５０）において、データ単位（３０）をキュー（２１）にキュー登録するように構成され、かつリンク（４０）に接続されるキューバッファ（２０）を制御する方法であり、
前記キューの長さに関連する長さパラメータの値（ＱＬ；ＱＬａｖ）を判定する（Ｓ１）工程と、
前記値（ＱＬ；ＱＬａｖ）を長さ閾値（Ｌｔｈ）と比較し（Ｓ２）、前記値（ＱＬ；ＱＬａｖ）が前記長さ閾値（Ｌｔｈ）より大きい場合に前記キューの１つ以上のデータ単位に対して輻輳通知手順を実行する（Ｓ３）工程と、
前記リンク（４０）のデータ速度（ＤＲ）に基づいてリンク容量値（ＬＣ）を推定すること及び前記推定されたリンク容量値（ＬＣ）に基づいて前記閾値（Ｌｔｈ）を適応させることを含む自動閾値適応手順（Ｓ５）とを備える方法であって、
前記自動閾値適応手順（Ｓ５）は、少なくとも第１の適応モード及び第２の適応モードのうち１つの適応モードで動作可能であり、前記第１の適応モードは、キューイング遅延を最小限にすることに関連し、ＬＣが前記推定されたリンク容量値を表し、かつｎ≧１の場合にｎ・ＬＣに基づいて前記閾値（Ｌｔｈ）を適応させ、前記第２の適応モードは、利用率を最大限にすることに関連し、ｍ＞１かつｍ＞ｎの場合にｍ・ＬＣに基づいて前記閾値（Ｌｔｈ）を適応させることを特徴とする方法。
【請求項２】
ｎ＝ｋ−１、かつｍ＝ｋ2−１のとき、前記キューバッファは、輻輳通知を受信するか又はデータ単位損失を検出する際には、ウィンドウを使用するフロー制御を実行し、かつ送信ウィンドウをｋ（ｋ＞１）で除算する送信側からデータ単位を受信するように構成される請求項１記載の方法。
【請求項３】
ｋ＝２、ｎ＝１、かつｍ＝３である請求項２記載の方法。
【請求項４】
前記第１のモード又は前記第２のモードの設定は、オペレータにより手動で行なわれる請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記第１のモード又は前記第２のモードを自動的に設定する自動モード設定手順を含む請求項１から３のいずれか１項に記載の方法。
【請求項６】
前記キューバッファにキュー登録されたフローにおいて、前記データ単位送信装置（５０）の外部の潜在的なデータ単位損失を検出する損失兆候イベント検出手順を含む請求項１から５のいずれか１項に記載の方法。
【請求項７】
前記損失兆候イベント検出手順は、前記キュー登録されたフローのデータ単位のシーケンス識別子を監視することを含む請求項６記載の方法。
【請求項８】
前記損失兆候イベント検出手順は、前記キュー登録されたフローの受信側から前記キュー登録されたフローの送信側に送られる応答データ単位中の損失指示情報を監視することを含む請求項６又は７記載の方法。
【請求項９】
前記損失兆候イベント検出手順は、
前記キュー登録されたフローにおいて、前記データ単位送信装置の外部で発生するデータ単位損失兆候イベントの数をカウントするカウント手順と、
前記カウント数から特性カウント値を得る手順とを含む請求項６から８のいずれか１項に記載の方法。
【請求項１０】
特性カウント値を得る前記手順は、ｐが自然数であるとき、ｐ個の所定の間隔の各々において、前記キュー登録されたフローで前記データ単位送信装置の外部で発生する損失兆候イベントの数を判定し、前記数のうち最大値を前記特性カウント値として選択する請求項９記載の方法。
【請求項１１】
前記所定の間隔は、前記キュー登録されたフローのデータ単位に対して輻輳通知を実行するという２つの連続する決定の間の時間として規定される請求項１０記載の方法。
【請求項１２】
特性カウント値を得る前記手順は、前記キュー登録されたフローにおいて前記データ単位送信装置の外部で発生する損失兆候イベントの平均数を前記特性カウント値として判定する請求項９記載の方法。
【請求項１３】
前記自動モード設定手順は、前記損失兆候イベント検出手順の結果を考慮する請求項５に従属する請求項６から１２のいずれか１項に記載の方法。
【請求項１４】
前記自動閾値適応手順は、前記第１の適応モード又は前記第２の適応モードにおいて前記閾値（Ｌｔｈ）を動的に適応させるために、前記損失兆候イベント検出手順の結果を考慮する請求項６から１３のいずれか１項に記載の方法。
【請求項１５】
前記輻輳通知手順は、１つ以上のデータ単位に対して輻輳通知手順を実行するかを決定する決定ステップを含み、前記決定ステップは、前記損失兆候イベント検出手順の結果に依存する請求項６から１４のいずれか１項に記載の方法。
【請求項１６】
前記キューの長さに関連する前記長さパラメータ（ＱＬ、ＱＬａｖ）の前記値が前記長さ閾値（Ｌｔｈ）より大きいことを検出した後、キュー登録されたフローの潜在的なデータ単位損失を示すイベントが所定の期間（ＧＴ）内に発生するかを監視することを含み、前記決定ステップは、潜在的なデータ単位損失を示すイベントが前記所定の期間（ＧＴ）内に発生する場合、輻輳通知を実行せず、発生しない場合、前記輻輳通知を実行することを含む請求項１５記載の方法。
【請求項１７】
前記キューバッファは、少なくとも第１のキュー及び第２のキューを保持するように構成され、前記自動閾値適応手順は、前記第１の適応モードに従って前記第１のキューに関連する第１の閾値（Ｌｔｈ＿１）を適応させ、前記第２の適応モードに従って前記第２のキューに関連する第２の閾値（Ｌｔｈ＿２）を適応させる請求項１から１６のいずれか１項に記載の方法。
【請求項１８】
キュー登録されるデータ単位をその内容に基づいて判別し、判別の結果に依存してデータ単位を前記第１のキュー又は前記第２のキューに配置する判別配置手順を含む請求項１７記載の方法。
【請求項１９】
データ単位送信装置（５０）において、キュー（２１）にデータ単位（３０）をキュー登録し、かつリンク（４０）に接続されるキューバッファ（２０）を制御するキューバッファ制御装置（１０）であり、
前記キュー（２１）の長さに関連する長さパラメータ（ＱＬ、ＱＬａｖ）の値を判定するキュー長さ判定器（１０１）と、
前記値を長さ閾値（Ｌｔｈ）と比較する比較器（１０２）と、
前記値が前記長さ閾値より大きい場合に輻輳通知手順を実行する輻輳通知器（１０３）と、
前記リンク（４０）のデータ速度（ＤＲ）に基づいてリンク容量値（ＬＣ）を推定し、かつ前記推定されたリンク容量値（ＬＣ）に基づいて前記長さ閾値（Ｌｔｈ）を適応させることにより、前記長さ閾値（Ｌｔｈ）を自動的に適応させる閾値アダプタ（１０４）とを具備するキューバッファ制御装置であって、
前記閾値アダプタ（１０４）は、少なくとも第１の適応モード及び第２の適応モードのうち１つの適応モードで動作可能であり、前記第１の適応モードは、キューイング遅延を最小限にすることに関連し、ＬＣが前記推定されたリンク容量値を表し、かつｎ≧１の場合にｎ・ＬＣに基づいて前記閾値（Ｌｔｈ）を適応させ、前記第２の適応モードは、利用率を最大限にすることに関連し、ｍ＞１、かつｍ＞ｎの場合にｍ・ＬＣに基づいて前記閾値（Ｌｔｈ）を適応させることを特徴とするキューバッファ制御装置。
【請求項２０】
前記キューバッファは、輻輳通知を受信するか又はデータ単位損失を検出するとき、ウィンドウを使用するフロー制御を実行し、かつ送信ウィンドウをｋ（ｋ＞１）で除算する送信側からデータ単位を受信するように構成され、前記閾値アダプタ（１０４）は、ｎ＝ｋ−１、かつｍ＝ｋ2−１となるように構成される請求項１９記載のキューバッファ制御装置。
【請求項２１】
ｋ＝２、ｎ＝１、かつｍ＝３である請求項２０記載のキューバッファ制御装置。
【請求項２２】
オペレータが前記第１のモード又は前記第２のモードを手動設定するための設定機構を具備する請求項１９から２１のいずれか１項に記載のキューバッファ制御装置。
【請求項２３】
前記第１のモード又は前記第２のモードを自動的に設定する自動モード設定機構を具備する請求項１９から２２のいずれか１項に記載のキューバッファ制御装置。
【請求項２４】
前記キューバッファにキュー登録されたフローにおいて、前記データ単位送信装置（５０）の外部の潜在的なデータ単位損失を検出する損失兆候イベント検出器（１０５）を具備する請求項１９から２３のいずれか１項に記載のキューバッファ制御装置。
【請求項２５】
前記損失兆候イベント検出器（１０５）は、前記キュー登録されたフローのデータ単位のシーケンス識別子を監視するモニタを具備する請求項２４記載のキューバッファ制御装置。
【請求項２６】
前記損失兆候イベント検出器（１０５）は、前記キュー登録されたフローの受信側から前記キュー登録されたフローの送信側に送られる応答データ単位中の損失指示情報を監視するモニタを具備する請求項２４又は２５記載のキューバッファ制御装置。
【請求項２７】
前記キュー登録されたフローにおいて、前記データ単位送信装置の外部で発生するデータ単位損失兆候イベントの数をカウントするカウンタと、
前記カウント数から特性カウント値を得るカウント数プロセッサとを具備する請求項２４から２６のいずれか１項に記載のキューバッファ制御装置。
【請求項２８】
前記カウント数プロセッサは、ｐが自然数であるとき、ｐ個の所定の間隔の各々において前記キュー登録されたフローで前記データ単位送信装置の外部で発生する損失兆候イベントの数を判定し、前記数のうち最大値を前記特性カウント値として選択するように構成される請求項２７記載のキューバッファ制御装置。
【請求項２９】
前記所定の間隔は、前記キュー登録されたフローのデータ単位に対して輻輳通知を実行するという２つの連続する決定の間の時間として規定される請求項２８記載のキューバッファ制御装置。
【請求項３０】
前記カウント数プロセッサは、前記キュー登録されたフローにおいて前記データ単位送信装置の外部で発生する損失兆候イベントの平均数を前記特性カウント値として判定するように構成される請求項２７記載のキューバッファ制御装置。
【請求項３１】
前記自動モード設定機構は、前記損失兆候イベント検出器の結果を考慮するように構成される請求項２３に従属する請求項２４から３０のいずれか１項に記載のキューバッファ制御装置。
【請求項３２】
前記閾値アダプタ（１０４）は、前記第１の適応モード又は前記第２の適応モードにおいて前記閾値（Ｌｔｈ）を動的に適応させるために、前記損失兆候イベント検出手順の結果を考慮するように構成される請求項２４から３１のいずれか１項に記載のキューバッファ制御装置。
【請求項３３】
前記輻輳通知器（１０３）は、１つ以上のデータ単位に対して輻輳通知を実行するかを決定する決定ユニット（１０３１）を具備し、前記決定ユニット（１０３１）は、前記損失兆候イベント検出器（１０５）の結果を考慮するように構成される請求項２４から３２のいずれか１項に記載のキューバッファ制御装置。
【請求項３４】
前記損失兆候イベント検出器（１０５）は、前記キューの長さに関連する前記長さパラメータ（ＱＬ、ＱＬａｖ）の前記値が前記長さ閾値（Ｌｔｈ）より大きいことを検出した後、キュー登録されたフローの潜在的なデータ単位損失を示すイベントが所定の期間（ＧＴ）内に発生するかを監視するように構成され、前記決定ユニット（１０３１）は、潜在的なデータ単位損失を示すイベントが前記所定の期間（ＧＴ）内に発生する場合、輻輳通知を実行せず、発生しない場合、前記輻輳通知を実行するように構成される請求項３３記載のキューバッファ制御装置。
【請求項３５】
前記キューバッファは、少なくとも第１のキュー及び第２のキューを保持するように構成され、前記閾値アダプタは、前記第１の適応モードに従って前記第１のキューに関連する第１の閾値（Ｌｔｈ＿１）を適応させ、前記第２の適応モードに従って前記第２のキューに関連する第２の閾値（Ｌｔｈ＿２）を適応させるように構成される請求項１９から３４のいずれか１項に記載のキューバッファ制御装置。
【請求項３６】
キュー登録されるデータ単位をその内容に基づいて判別し、判別の結果に依存してデータ単位を前記第１のキュー又は前記第２のキューに配置する判別配置ユニットを具備する請求項３５記載のキューバッファ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キューバッファを制御する方法及び装置に関し、前記キューバッファは、１つ以上のキューにデータ単位をキュー登録する。
【背景技術】
【０００２】
送信される情報が複数の単位に分割され、かつ個々の単位が通信ネットワークを介して送られるデータ単位による通信において、ネットワークに沿うリンクにおいてキューバッファが提供され、そのようなリンクを介して転送されるデータ単位はバッファリングされてもよいことが知られてる。バッファは、送信又は出力バッファ（すなわち、出力リンクを介して送られるデータ単位に対するバッファ）でもよく、あるいは受信又は入力バッファ（すなわち、入力リンクを介して送られたデータ単位に対するバッファ）でもよい。
【０００３】
データを転送するそのような単位は、特定の内容、使用される特定のプロトコル及びある特定の他の規約に依存して、プロトコルデータ単位、フレーム、パケット、セグメント、セル等の種々の名前を搬送してもよい。本発明の説明において、一般に、データの全てのそのような単位はデータ単位と呼ばれる。
【０００４】
データ単位をキューに配置し、それらデータ単位をキューにおいて上位に移動させ、かつキューからデータ単位を除去する手順は、キュー管理又はキュー制御と呼ばれる。
【０００５】
キュー管理の概念は、多く知られている。例えば、キュー長さパラメータ（例えば、キューの絶対長さ又は平均長さ）が監視され、長さ閾値と比較され、閾値を超える場合には、輻輳通知手順を実行するという概念を含む。そのような輻輳通知手順は、データ単位をドロップすること及びデータ単位をマーキングすること（例えば、データ単位に輻輳通知フラグを設定する）又はそのいずれかから構成される。フル状態時のドロップ（ｄｒｏｐ−ｏｎ−ｆｕｌｌ）又はランダム初期検知（ＲＥＤ）等のそのような管理の概念に対する種々の例は、欧州特許第Ａ‐１，２４９，９７２号の概要において説明される。従って、ここでの繰り返しは必要ない。
【０００６】
欧州特許第Ａ‐１，２４９，９７２号は、キュー長さパラメータと比較される長さ閾値が、キュー登録されたデータ単位を送るときに介するリンクの１つ以上の特性に基づいて自動的に更新される方式を提案する。１つ以上のリンク特性に自動閾値を適応させることにより、特に無線リンク等の経時変化特性を有するリンクを介するスループットを改善し、かつ遅延を減少する非常に融通性のある形態のアクティブキュー管理が得られる。特に、欧州特許第Ａ‐１，２４９，９７２号は、リンクのデータ速度に基づいてリンク容量値を推定し、推定されたリンク容量に基づいて閾値を適応させることを提案する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、キューバッファ管理の改良された方法及び装置を提供することである。
【課題を解決するための手段】
【０００８】
この目的は、本出願の独立請求項で説明されるような方法及び装置により達成される。有利な実施形態は、従属請求項で説明される。
【０００９】
本発明によると、キューバッファ制御又はキューバッファ管理が、キュー長さに関連する長さパラメータの値を判定することと、その値を閾値と比較することと、閾値を超える場合には輻輳通知手順を実行することとを含み、自動閾値適応手順が提供されるシステムにおいて、自動閾値適応手順は、少なくとも第１の適応モード及び第２の適応モードのうち１つの適応モードで動作可能である。尚、第１の適応モードは、キューイング遅延を最小限にすることに関連し、ＬＣが推定されたリンク容量値を表し、かつｎ＝１の場合にｎ・ＬＣに基づいて閾値（Ｌｔｈ）を適応させ、第２の適応モードは、利用率を最大限にすることに関連し、ｍ＞１、かつｍ＞ｎの場合にｍ・ＬＣに基づいて前記閾値（Ｌｔｈ）を適応させる。
【００１０】
本発明によると、キューバッファを制御する方法及びキューバッファ制御装置は、少なくとも２つの異なる動作モードが実現可能であるように構成される。２つの動作モードのうち一方は、キューイング遅延を減少するために提供され、他方は、利用率を増加するために提供される。利用率を増加するモードにおいて、閾値は、キューイング遅延を減少するモードより高く設定される。その理由は、閾値がより高い場合、より高い閾値のために輻輳通知が送られる頻度が少なくなるため、平均キュー長さは長くなり、送信側はデータ単位を転送するネットワークに対して更に負荷を与える（例えば、送信ウィンドウ又は送信速度を増加する）ことができるからである。これにより、利用率を高める。これは、一般に、リンクを介して転送するデータ単位が常に存在することを意味するが、キューイング遅延も増加する。一方、キューイング遅延を減少することが望ましい場合、輻輳通知手順が設定される閾値を低くするべきであり、それにより、データ単位送信側にネットワークに対する負荷をより頻繁に減少させ、平均キューイング遅延を減少する。しかし、転送されるデータ単位が存在しない期間、すなわちリンクが過少利用される期間が存在する程度まで負荷が減少される可能性があるため、負荷を減少させることは、利用率を減少する危険性を高くする。従って、本発明は、各状況に対して各々のモードを提供することにより、遅延と利用率との兼ね合いの均衡をとるのに融通性のあるキュー制御方法及びシステムを提供する。
【００１１】
第１のモード及び第２のモードの設定は、任意の望ましい方法で達成される。例えば、使用されるモードを識別するために制御手順が使用するパラメータをオペレータが設定するなど、設定はオペレータにより手動で行なわれる。別の例によると、モードの設定は自動的に行なわれる。自動設定は、制御されているバッファを備える送信装置の外部で発生するデータ単位損失兆候イベントの数を考慮するのが好ましい。すなわち、好適な実施形態において、データ単位損失兆候イベントの数が所定の値を超える場合、自動モード設定手順は、閾値適応を第２のモード（より大きい閾値）に設定する。所定の値を超えることは、データ単位損失が発生していることを示す。このとき、データ単位損失はデータ単位送信側に負荷を減少させ、輻輳通知（例えば、データ単位ドロップ及びデータ単位マーキング又はそのいずれか）の追加の実行は不必要な更なる負荷の減少を招き、その結果、リンクの過少利用をもたらすだろう。
【００１２】
換言すると、説明された実施形態において、送信側及び受信側又はその一方で実行されるフロー制御は、送信側がデータ単位損失の発生を判定した場合にデータ単位を転送するネットワークに対する負荷を減少する（すなわち、送信するデータ単位を少なくする）ような制御であると仮定する。制御されているキューバッファにおいて与えられる輻輳通知の目的は、ネットワークに対する負荷を減少するように送信側に指示することである。従って、実施形態は、バッファを備えるデータ単位送信装置の外部の潜在的なデータ損失に依存して、輻輳通知の発行を調整することができるという利点を有する。これは、輻輳通知により送信側が必要以上に負荷を減少し、その結果、キューバッファを備えるリンクの過少利用をもたらすようなデータ単位損失が発生している場合に、輻輳通知（データ単位ドロップ及びデータ単位マーキング又はそのいずれか）を回避することを可能にする。過少利用とは、リンクがアイドル状態であること、すなわちデータ単位を転送していない状態であることを示す。アイドルリンクはリソースを浪費するため、リンクの過少利用を回避するのが非常に望ましい。
【００１３】
別の好適な実施形態によると、キューバッファを制御する方法及びキューバッファ制御装置は、特定の適応モード内で長さ閾値を動的に適応させるために、キューバッファにキュー登録されているフローの潜在的なデータ単位損失を示すイベントが考慮されるように構成される。換言すると、特定のモードが設定された（例えば、手動で又は自動的に；ここで、自動設定は損失兆候イベントの測定された数に基づいて行なわれてもよい）後、動的な更なる調整は、損失兆候イベントの測定された数に依存して実行される。尚、特定のモードが設定されるということは、ＬＣがリンク容量を表し、かつｍ＞ｎの場合、閾値が基本的にｎ・ＬＣ又はｍ・ＬＣに基づいて適応されることを意味する。
【００１４】
尚、損失兆候イベントは、潜在的なデータ損失を示すことができる任意のイベントである。例えば、そのようなイベントは、キュー登録されているデータ単位のシーケンスの欠落データ単位（キューイングバッファの前の潜在的なデータ損失を示す）又はキュー登録されたフローの受信側からキュー登録されたフローの送信側へ送られる応答データ単位に含まれる損失指示情報でもよい。そのような損失指示情報は、例えば、シーケンスの特定のデータ単位が欠落しているというフロー送信側に対するフロー受信側の明示的な通知のように明示的であるか、あるいはシーケンス中の正常に受信された最後のデータ単位に対して二重応答を送信するなど黙示的である。
【００１５】
第１のモード又は第２のモードで動作する自動閾値適応の機能は、制御されているバッファの特定のキューが複数のモードのうちの１つに従って動作することを示す。バッファは、各々が利用可能なモードのうち１つのモードに関連付けられる複数のキューを保持できる（当然、利用可能な動作モードは３つ以上存在してもよい。例えば、第３のモードにおいて、ｑ＞ｍである場合、長さ閾値はｑ・ＬＣに基づいて適応される）。換言すると、各キューは、測定された長さパラメータと比較する長さ閾値をそれぞれ有し、各長さ閾値は個々に適応される。そのような状況において、キュー登録される入力データ単位が、モードに関連付けられた種類に判別され、かつ判別されたモードに従って動作するキューに配置される実施形態が有利である。例えば、バッファ制御装置は、ヘッダのプロトコル識別子又はポート識別子等の特定の情報に対するデータ単位を解析し、遅延を減少するモードで動作するキューに遅延感知可能な種類のデータ単位（例えば、Ｔｅｌｎｅｔアプリケーションからセグメントを転送するデータ単位）を割り当て、利用率を最大限にするモードで動作するキューにスループット感知可能な種類のデータ単位（例えば、ｆｔｐアプリケーションからセグメントを転送するデータ単位）を割り当てることができる。
【００１６】
添付の図面を参照すると、本発明の更なる面及び詳細は、以下の詳細な説明及び好適な実施形態から明らかとなるだろう。
【発明を実施するための最良の形態】
【００１７】
以下の実施形態のいくつかは、ＴＣＰ／ＩＰ等の特定のプロトコルについて説明するが、本発明は、キュー管理方式が使用されるデータ単位を転送する任意のシステムに適用可能である。このとき、キュー長さパラメータが長さ閾値に到達するというイベントに依存して、輻輳通知手順が実行される。本発明は、特定の長さ閾値及び輻輳通知方式に限定されず、例えば任意の周知のＲＥＤ方式、テイルドロップ、ランダムドロップ又はフロントドロップ等のキューが一杯になったときにデータ単位をドロップする方式、並びにデータ単位ドロップの代わりに又はそれに加えて明示的な輻輳通知を実行する任意の周知の方式に適用可能である。
【００１８】
欧州特許第Ａ‐１，２４９，９７２号で開示されるアクティブキュー管理に関連して、本発明の方法及び装置を適用するのが好ましい。その文献の開示全体及びそれに対応する米国出願は、参考として本発明に取り入れられる。
【００１９】
図１は、キューバッファ２０のデータ単位の管理を制御する本発明を実現することができるキューバッファ制御装置１０を概略的に示す図である。図中符号３は、通信ネットワークを示す。データ単位３０は、リンク４０を介して送られる前にキュー２１に配置されるために、通信ネットワーク３を介してキューバッファ２０に到着する。図中符号５０は、データ単位送信装置を示す。データ単位送信装置５０には、バッファ２０及び制御装置１０が提供される。データ単位送信装置は、例えば、通信ネットワーク３に接続されるルータ又はサーバでもよい。
【００２０】
キュー２１にキュー登録されたデータ単位３０は、１つ以上のフローに属してもよい。フローは、一般に、送信元及び送信先アドレス、送信元及び送信先サービスアクセスポイント（ＳＡＰ）識別子、並びにプロトコル識別子により識別される。フローの定義及び概念は、ＴＣＰ／ＩＰ等により当該分野において周知であり、ＴＣＰ／ＩＰの場合、送信元及び送信先アドレスはＩＰアドレスと呼ばれ、ＳＡＰ識別子はポートアドレスである。従って、更なる説明はここでは必要ない。
【００２１】
キューバッファ制御装置１０において本発明の概念を実現する特定の要素について、次に説明する。尚、キューバッファ制御装置は、一般に、受信データ単位を処理する周知の要素及びバッファを管理する周知の要素等の要素を更に含むが、簡単のために明示的な説明は行なわない。特に、制御装置１０は、欧州特許第Ａ‐１，２４９，９７２号で説明されるようなシステムを特に実現する追加の要素を有してもよい。
【００２２】
図中符号１０１は、キュー２１の長さに関連する長さパラメータの値を判定するキュー長さ判定器を示す。更に、判定された長さ値を閾値アダプタ１０４により提供される長さ閾値Ｌｔｈと比較する比較器１０２が提供される。閾値アダプタ１０４は、リンク４０のデータ速度ＤＲに基づいてリンク容量値ＬＣを推定することにより、長さ閾値を自動的に適応させるように構成される。比較器１０２は、判定された長さ値が長さ閾値より大きい場合に輻輳通知手順を実行する輻輳通知器１０３に接続される。以下に更に詳細に説明されるように、判定される長さパラメータは、任意の適切な又は望ましい方法で選択され、それは、例えば絶対長さキュー長さＱＬ又は平均キュー長さＱＬａｖである。輻輳通知手順は、同様に適切な又は望ましい方法で選択され、それは、例えばデータ単位ドロップ手順及び明示的なデータ単位マーキング手順又はそれらのいずれかである。
【００２３】
輻輳通知器１０３は、キュー２１の１つ以上のデータ単位に対して輻輳通知を実行するか否かを決定する決定ユニット１０３１を含むのが好ましい。換言すると、輻輳通知器１０３は、キュー長さパラメータが長さ閾値を超える場合に輻輳通知を必ずしも実行する必要がないように構成される。このことは、例えば欧州特許第Ａ‐１，２４９，９７２号で説明されるＲＥＤ又はいくつかのシステムから、当該分野において基本的に周知である。このとき、長さ閾値は第１の閾値又は小さい閾値であり、第２の長さ閾値又は大きい長さ閾値も提供される。また、キュー長さパラメータが第１の閾値を超えるが、第２の閾値を超えない場合、１つ以上のデータ単位に対して輻輳通知を実行するために、確率に基づく決定が行なわれる。
【００２４】
本発明によると、閾値アダプタ１０４は、少なくとも２つの適応モードのうちの１つのモードで動作可能である。第１の適応モードは、キューイング遅延を最小限にすることに関連し、ｎ≧１の場合、ｎ・ＬＣに基づいて長さ閾値Ｌｔｈを適応させる。例えば、Δ１がＬＣより小さい正の因子、例えば０＜Δ１≦ＬＣ／１０である場合、ｎは１であり、第１の適応モードは、Ｌｔｈ＝ＬＣ又はＬｔｈ＝ＬＣ＋Δ１と設定する。第２の適応モードは、利用率を最大限にすることに関連し、ｍ＞１、かつｍ＞ｎの場合、ｍ・ＬＣに基づいて長さ閾値Ｌｔｈを適応させる。例えば、Δ２がＬＣより小さい正の因子、例えば０＜Δ２≦ＬＣ／１０である場合、ｍは３となり、第２の適応モードは、Ｌｔｈ＝３・ＬＣ又はＬｔｈ＝３・ＬＣ−Δ２と設定する。モード設定後、周囲イベント（損失兆候イベント等）に対する動的な適応の機能が提供される場合、上記設定は初期状態であり、その後、イベントの発生に依存して変更されてもよい。動的な適応機能が提供されない場合、Ｌｔｈの値は、先に設定された値を維持する。しかし、一般に、ＬＣの値は静的ではない。すなわち、ＬＣは時間と共に変化する。その結果、Ｌｔｈの値は、それに応じて変化する可能性がある。
【００２５】
因子ｎ及びｍは、任意の正数であってもよいが、正の自然数であるのが好ましい。
【００２６】
第１のモード又は第２のモードの設定は、任意の適切な又は望ましい方法で行なわれる。例えば、その設定は、図１のスイッチ１０６で表される適切な機構を使用して、オペレータにより手動で行なわれる。スイッチ１０６は、第１のモードＭ１又は第２のモードＭ２に設定される。要素１０６は、物理的なスイッチでもよいが、ユーザが閾値アダプタを所望のモードに設定できるソフトウェア要素であるのが好ましい。
【００２７】
リンク容量値は、考慮中のフローの送信側が送出する必要のある最低限のデータ量として理解され、リンク４０が前記フローに割り当てる帯域幅は、十分に使用される。全利用率とは、特定のフローに割り当てられるリンク帯域幅の部分が常に十分に使用されていることを意味する。換言すると、単一のフローを提供するリンク４０の簡単化された例を考える場合、これは、フローの送信側が多くのデータを送るため、リンク４０は、アイドル時間なしで常に使用中、すなわち常にデータ単位を送っていることを意味する。更に換言すると、リンク容量は、送信側が送信中の状態にするデータ量であり、追加のデータはキュー登録されるため、送信中の状態にされた追加のデータはスループットを増加しない。
【００２８】
更に、リンク容量は、リンク４０により当該フローに提供されるデータ速度に、無負荷ネットワークの場合の前記フローに関連するラウンドトリップタイム（ＲＴＴ）を乗算した積として理解される。無負荷ネットワークとは、キューイング遅延が存在しないことを意味する。その結果、無負荷ＲＴＴの値は、フローの実際のＲＴＴと前記フローに対する全てのキューイング遅延との差に等しい。リンク容量は、フローエンドポイント間の仮想パイプのパイプ容量を示すこともある。前記パイプは、「幅」ＤＲ及び無負荷ＲＴＴと等しい「長さ」を有する。
【００２９】
リンク容量値の推定は、一般に、無負荷ＲＴＴを表す時間値を判定することと、その値にリンク４０により当該フローに対して提供されるデータ速度ＤＲを乗算することとから構成される。この無負荷ＲＴＴの判定は、任意の適切な又は望ましい方法で行なわれる。一例として、定数ＲＴＴｗｃとリンク４０により提供されるＲＴＴとの和を計算する。ＲＴＴｗｃは、リンク４０からの無負荷ＲＴＴを除く無負荷ＲＴＴ全体の最悪の場合の推定値であり、１５０〜３００ｍｓ、更に好ましくは１５０〜２５０ｍｓの値を有してもよい。この概念を使用することにより、フロー別情報を取得する必要がないという利点を得る。
【００３０】
特定のフローに対して無負荷ＲＴＴを推定する別の方法は、例えばバッファリングされたデータ単位３０がキュー２１で費やす時間の平均を維持することにより、バッファ２０におけるキューイング遅延を計算することと、フローの実際のＲＴＴとそのキューイング遅延との差を計算することとから構成される。フローに対する実際のＲＴＴの値は、例えば、送信側により前記フローのデータ単位に挿入され、制御装置１０により読み出される。
【００３１】
尚、リンク容量の推定値ＬＣは、一般に、実際の瞬間リンク容量と同一ではない。リンク容量を推定する処理は、推定値が実際のリンク容量を超えるように、すなわち内輪に推定されるように行われるのが好ましい。これは、例えば無負荷ＲＴＴに対する上述の最悪の場合の推定値を使用すること、及び所定の正の因子をリンク容量を推定する際に使用される１つ以上のパラメータに加算すること、またはそれらのいずれか等により、任意の適切な又は望ましい方法で達成される。換言すると、所定の因子を無負荷ＲＴＴ及びリンクのＲＴＴ及びＤＲ又はそれらのいずれかに加算でき、所定の正の因子εを計算結果に加算できる。すなわち、ＬＣの計算値をＬＣ＋εにより置換し、ＬＣ←ＬＣ＋εとなる。
【００３２】
第１のモード及び第２のモードに対するパラメータｎ及びｍの選択は、データ単位送信側が輻輳通知を受信した時期を示す反応に従って行なわれるのが好ましい。送信側が因子ｋ分だけネットワークに対する負荷を減少する場合、例えば、ウィンドウを使用するフロー制御を使用するときに送信ウィンドウをｋで除算する場合、ｎはｋ−１となるように選択されるのが好ましく、ｍはｋ2−１となるように選択されるのが好ましい。その理由については、以下に説明する。
【００３３】
上述したように、推定されたリンク容量ＬＣは、その値より多くのデータ単位が送信中の状態にされると、キュー登録が開始する。その結果、長さ閾値Ｌｔｈに到達すると、送信中の状態にあるデータ量は、ＬＣ＋Ｌｔｈとなる。従って、輻輳通知が開始されると、ウィンドウを使用する送信側は、ＬＣ＋Ｌｔｈに等しい送信ウィンドウを有する。
【００３４】
キューイング遅延を最小限にする役割を果たすモードにおいてＬｔｈを設定する条件として、平均キュー長さを短く保持することとリンクを使用中の状態に維持することとの間の適切な均衡を達成することが望ましい。すなわち、過少利用を引き起こさずに、キュー長さを可能な限り短くするのが望ましい。その結果、輻輳通知の開始の際、すなわちＬｔｈ＋ＬＣの送信ウィンドウがｋにより除算される場合、得られるウィンドウサイズはＬＣに等しいことを考慮することになる。これは、リンクを使用中の状態に維持するのに十分な負荷があることを意味し、（Ｌｔｈ＋ＬＣ）／ｋ＝ＬＣであり、これにより、Ｌｔｈ＝ＬＣ・（ｋ−１）が得られる。
【００３５】
利用率を最大限にする役割を果たすモードにおいてＬｔｈを設定する条件として、送信側がネットワークに対して与える負荷を減少するために輻輳通知の実行に加え、データ損失兆候イベントが発生すると考えられる。データ損失兆候イベントが発生する結果、送信側は負荷を減少する。以下の最悪の場合が仮定される。送信ウィンドウのｋによる第１の減少の後、データ損失イベント（輻輳通知に関連する意図的なデータドロップではない）が発生し、ｋによる更なる減少を引き起こす。このように、制御下のバッファが位置する送信装置の外部でデータ損失が発生したことを示す場合、条件：（Ｌｔｈ＋ＬＣ）／ｋ2＝ＬＣが得られ、これによりＬｔｈ＝ＬＣ・（ｋ2−１）が得られる。
【００３６】
ＴＣＰ／ＩＰにおいて、ｋ＝２である。すなわち、送信側は、輻輳通知を受信するか又はデータ単位損失兆候イベントを判定するとき、送信ウィンドウを１／２に減少する。その結果、制御されているバッファがＴＣＰセグメントをキュー登録するために使用される場合、ｎは１であるのが好ましく、ｍは３であるのが好ましい。
【００３７】
本発明の好適な一実施形態によると、損失兆候イベント検出器１０５は、付加的に提供される。検出器１０５は、前記データ単位送信装置５０の外部のイベントを検出するように構成され、イベントは、キュー２１にキュー登録されたフローの潜在的なデータ単位損失を指示する。
【００３８】
図１の例において、損失兆候イベント検出器１０５は、閾値アダプタ１０４及び決定ユニット１０３１の双方に接続され、その双方が検出された損失兆候イベント又はそれから得られる信号を考慮する。しかし、閾値アダプタ１０４のみが損失兆候イベント検出器１０５の結果を考慮すること、又は決定ユニット１０３１のみが損失兆候イベント検出器１０５の結果を考慮することもまた、本実施形態の範囲内である。
【００３９】
図１のバッファ制御装置に実現される本発明の方法の例に関連して、上述の要素により実行される手順の更なる詳細を後で説明する。
【００４０】
尚、上述の要素１０１〜１０５は、ハードウェア、ソフトウェア、あるいはハードウェア及びソフトウェアの任意の適切な組合せにより提供される。制御装置１０はプログラム可能なデータプロセッサであり、要素１０１〜１０５はプログラムコード部分等のソフトウェア要素であるのが好ましい。
【００４１】
図４は、本発明の方法の基本的な実施形態を示すフローチャートである。方法は、図１に示される制御装置１０を使用して実行される。最初のステップＳ１において、キュー２１の長さに関連する長さパラメータの値が判定される。このキュー長さ関連パラメータは、任意の望ましい又は適切な方法でキュー長さに関連付けられる。例えば、キュー長さ関連パラメータは、実際の又は瞬間キュー長さＱＬであるか、あるいは平均値ＱＬａｖ等の実際の又は瞬間キュー長さから得られるパラメータである。
【００４２】
図４の例において、キュー長さ関連パラメータは、実際のキュー長さＱＬである。平均キュー長さＱＬａｖを使用するのが望ましい場合、その平均値は、任意の周知の適切な平均化アルゴリズムに従って判定される。そのようなアルゴリズムは、通常、第１の重み因子を乗算した旧平均値と第２の重み因子を乗算した瞬間キュー長さとの和を計算することにより旧平均値を更新することから構成されてもよい。例えば、ＱＬａｖは以下のように計算される。
【００４３】
ＱＬａｖ（ｎｅｗ）＝ＱＬａｖ（ｏｌｄ）×（１−１／２wf）＋（ＱＬ×１／２wf）
式中、ＱＬは瞬間キュー長さの値を表し、ｗｆは０と１との間に調整可能な指数重み因子である。
【００４４】
図４に戻ると、ステップＳ２において、キュー長さパラメータＱＬは長さ閾値Ｌｔｈと比較される。長さ閾値Ｌｔｈを超える場合、輻輳通知手順Ｓ３が実行され、超えない場合、輻輳通知手順Ｓ３はスキップされる。
【００４５】
既に説明したように、輻輳通知手順は、任意の適切な又は望ましい方法で選択される。例えば、輻輳通知手順は、キュー２１の１つ以上の所定のデータ単位又はランダムに選択されたデータ単位をドロップ及びマーキング又はそのいずれかをすること、あるいは１つ以上の新しく到着したデータ単位をキュー２１に配置する前にドロップ及びマーキング又はそのいずれかをすることを含むことができる。
【００４６】
輻輳通知手順は、キュー２１の１つ以上のデータ単位に対して輻輳通知を実際に実行するか否かを決定する決定手順を更に含んでもよい。既に説明したように、そのような決定手順は、従来技術において周知であるように、例えば確率関数に依存する。
【００４７】
図４の例において、制御手順はステップＳ５に継続する。ステップＳ５において、自動閾値適応手順が実行される。既に明示したように、自動閾値適応手順Ｓ５は、少なくとも第１の適応モード及び第２の適応モードのうちの１つの適応モードで動作可能である。第１の適応モードは、キューイング遅延を最小限にすることに関連し、ｎ＝１の場合にｎ・ＬＣに基づいて長さ閾値Ｌｔｈを適応させる。第２の適応モードは、利用率を最大限にすることに関連し、ｍ＞１、かつｍ＞ｎの場合にｍ・ＬＣに基づいて長さ閾値Ｌｔｈを適応させる。
【００４８】
Ｓ５が動作するモードは、オペレータにより手動で設定されるか、又はこのタスクに専用のルーチンにより自動的に設定される。そのようなルーチンの例について、次に説明する。
【００４９】
図２は、図４の実施形態の全てのステップを含む方法の実施形態を示す。従って、説明の繰り返しは必要ない。また、図２においては、損失兆候イベント検出手順Ｓ４がステップＳ２、Ｓ３の後に追加される。この損失兆候イベント検出手順Ｓ４は、キュー２１にキュー登録された１つ以上のフローの潜在的なデータ単位損失を示すイベントを検出することができ、この潜在的なデータ単位損失は、データ単位送信装置１５の外部で発生する。例えば、損失兆候イベント検出手順Ｓ４は、キュー登録されたフローのデータ単位のシーケンス識別子を監視することを含み、シーケンスのデータ単位の欠落は、潜在的なデータ単位損失を示す。あるいは又はそれに加えて、損失兆候イベント検出手順は、フロー受信側からフロー送信側へ送られた応答データ単位中の損失指示情報を監視することを含んでもよく、その損失指示情報は明示的又は黙示的である。
【００５０】
図２の例によると、第１の適応モード又は第２の適応モードを自動的に設定するために、自動閾値適応手順Ｓ５は、損失兆候イベント検出手順Ｓ４により提供された結果を考慮する。例えば、損失兆候イベント検出手順Ｓ４は、損失兆候イベントの数を示すカウント値を出力でき（これについては、以下に更に詳細に説明する）、適応手順は、カウント値が所定の値を超える場合、第２のモード（利用率最適化）で動作するように設定され、超えない場合、第１のモード（遅延最適化）に設定される。
【００５１】
適応モードを自動的に設定するために、損失兆候イベント検出手順の結果を使用する以外に、付加的又は代わりに、第１のモード又は第２のモードで閾値Ｌｔｈを動的に適応させるために、損失兆候イベント検出手順の結果を使用することが可能である。換言すると、特定のモードが設定された（例えば、手動で又は自動的に；ここで、自動設定は損失兆候イベントの測定された数に基づいて行なわれる）後、動的な更なる調整は、損失兆候イベントの測定された数に依存して実行される。尚、特定のモードが設定されるということは、閾値が基本的にｎ×ＬＣ又はｍ×ＬＣに基づいて適応されることを意味する。
【００５２】
例えば、損失兆候イベント検出手順が、送信装置５０の外部のある特定の量の潜在的なデータ単位損失を示す場合、輻輳通知手順をトリガするために使用される閾値Ｌｔｈは、特定のモードで閾値が設定された値以上に増加される。例えば、閾値は、第１のモードにおけるＬｔｈの最初の選択値であった推定されたリンク容量値ＬＣ以上に増加される。増加量は、特定のモード内の「微調整」のような例えば最大でＬＣの１／１０等の何分の１かである。
【００５３】
閾値Ｌｔｈを増加することは、ステップＳ２でキュー長さパラメータＱＬが閾値Ｌｔｈに到達する可能性を少なくする効果があり、従って、輻輳通知が実行される可能性が少なくなる。それにより、輻輳通知手順とは関係なく発生するデータ単位損失のためにフロー送信側がネットワークに対する負荷を既に減少しているにも関わらず、輻輳通知が実行されることを回避できる。送信ユニット５０の外部のデータ単位損失及び送信ユニット５０からの輻輳通知により、フロー送信側はネットワークに対する負荷を減少しすぎ、その結果、リンク４０の過少利用をもたらす。
【００５４】
図２及び図４に示されるステップの特定の構成は、単に例であることに注目する。特に、輻輳通知手順をトリガすることを決定する手順を形成するステップＳ１、Ｓ２及びＳ３は、ステップＳ５により実現される適応手順には依存しない。従って、ステップＳ１〜Ｓ３は、Ｓ５とは無関係に構成されてもよい。同様に、ステップＳ４は、例えば他のステップと同時に実行する手順として、Ｓ１〜Ｓ３及びＳ５とは無関係に構成でき、サブルーチンとして選択的に呼び出される。
【００５５】
図２及び図４の例を考えると、示される全てのステップは、一般にキューバッファ２０を制御又は管理する更に大きな方法に含まれる。その大きな方法は、更に多くのステップ及び手順を有するが、追加のステップ及び手順は本発明に関係がないため示さない。本発明の方法の全ての実施形態と同様に、図２及び図４の方法はソフトウェアとして実現されてもよく、ステップＳ１〜Ｓ３は例えば１つのスレッドで実現でき、Ｓ５は別の個別のスレッドで実現できる。ステップＳ４は、更に別の個別のスレッドで実現できる。
【００５６】
図２の例において、ステップＳ５のＬｔｈに対する適応手順は、任意の望ましい又は適切な方法で、損失兆候イベント検出手順Ｓ４の結果を考慮できる。上述したように、輻輳通知手順Ｓ３をトリガする可能性を減少するために、一般に、閾値適応手順は、データ単位送信装置５０の外部の潜在的なデータ損失の発生の増加に伴い、長さ閾値Ｌｔｈが増加されるように構成される。
【００５７】
好適な実施形態によると、損失イベント検出の方法は、考慮中のキュー登録されたフローにおいて、送信装置５０の外部で発生するデータ単位損失兆候イベントの数をカウントするカウント手順が提供され、かつカウント数から特性カウント値を得る手順が提供されるように構成される。自動閾値適応手順は、特性カウント値に依存して適応モードの設定及び長さ閾値Ｌｔｈの微調整又はそのいずれかを行なうステップを含む。
【００５８】
特性カウント値を得る処理は、任意の適切な又は望ましい方法で選択される。例えば、その処理は、ｐが自然数である場合、ｐ個の所定の時間間隔の各々において考慮中のキュー登録されたフローでデータ単位送信装置５０の外部で発生する損失兆候イベントの数を判定することと、その後、その数のうち最大値を特性カウント値として選択することとを含んでもよい。ｐが１である場合、これは、所定の間隔内で損失兆候イベントの数をカウントし、連続する間隔毎にカウント値を出力することを意味する。特性カウント値の短時間変動からの影響を減少するために、１より大きいｐ、例えばｐ＝５を選択するのが好ましい。この場合、手順は、５つの最新の間隔における損失兆候イベントのカウント数を保持し、最新の５つの間隔の損失兆候イベントのうちの最大値を特性カウント値として出力する。
【００５９】
損失兆候イベントの数がカウントされる間の所定の間隔は、任意の適切な又は望ましい方法で選択される。例えば、その間隔は、所定の固定の長さを有する。間隔は、１つ以上のデータ単位に対して輻輳通知を実行するという２つの連続する決定の間の時間として、輻輳通知手順に含まれる決定手順により動的に規定される。換言すると、輻輳通知手順の決定手順が輻輳通知を実行することを決定すると、新しい間隔が開始し、その後、損失兆候イベントの新しいカウントが開始する。損失兆候イベントのカウントは、輻輳通知の次の実行まで継続される。
【００６０】
特性カウント値を得る別の方法は、送信装置５０の外部で発生する損失兆候イベントの平均数を判定することから構成される。そのような平均化は、上述した例と同様に、連続する所定の間隔において損失兆候イベントの数を監視し、複数の間隔にわたる複数のカウント数を平均することにより実行される。そのような平均化の動作は、移動平均として実行されるのが好ましい。例えば、以下の式が与えられる。
【００６１】
ＡＶ（ｎｅｗ）＝ＡＶ（ｏｌｄ）×（１−ｑ）＋Ｎｕｍ×ｑ
式中、ＡＶは平均値を表し、ｑは０＜ｑ＜１の重み因子であり、Ｎｕｍは最新の終了した間隔における損失兆候イベントの数である。
【００６２】
一般に説明されるように、特性カウント値が損失兆候イベントの増加を示す場合、長さ閾値適応手順Ｓ５は、長さ閾値Ｌｔｈを増加する。
【００６３】
損失兆候イベントのカウントについて考慮すると、損失兆候イベントとしてカウントされるイベントの選択は、任意の適切な又は望ましい方法で実行される。例えば、損失兆候イベント検出手順が考慮中のフローのデータ単位のシーケンス識別子を監視することを含む場合、シーケンス中の欠落データ単位（シーケンス中の「ギャップ」）の各検出は、損失兆候イベントとしてカウントされる。この処理は、そのようなギャップの認識が損失兆候イベントとしてすぐにカウントされず、手順が所定の待ち時間の間待つように変更され、欠落データ単位が待ち時間内に現れない場合は、損失兆候イベントがカウントされる。そのような待ち時間の導入により、手順は、ネットワーク３の送信パスを介してデータ単位を再度順序付けすることに対する耐性が更に大きくなる。
【００６４】
別の例として、損失兆候イベント検出手順が応答データ単位の損失指示情報を監視することを含む場合、例えば、損失指示情報の各発生は、損失兆候イベントとしてカウントされる。ＴＣＰ／ＩＰを例に挙げると、損失兆候イベントは二重応答の発生であってもよい。従って、二重応答の各発生は、損失兆候イベントとしてカウントされる。しかし、損失指示情報に対する応答データ単位を監視するとき、データ単位損失イベントの識別に関して、データ単位送信側と同様にバッファ制御装置を動作させるのが好ましい。換言すると、バッファ制御装置は、フロー制御の目的でデータ単位送信側と同一のデータ単位損失イベントの判断基準を適用すべきである。例えば、ＴＣＰ／ＩＰにおいて、データ単位送信側は、所定の数（例えば、３つ）の二重応答を受信した後にデータ単位損失が発生したと判断する。この場合、バッファ制御装置は、二重応答をカウントし、所定の数の二重応答がカウントされている際に発生したデータ単位損失イベントのカウントを判断するのが好ましい。
【００６５】
バッファ制御装置により実行される輻輳通知がデータ単位ドロップである場合、ドロップされたデータ単位に関連する応答メッセージを識別できるように、かつ送信装置５０の外部のデータ損失を示すイベントとして損失指示情報をカウントしないように、制御装置は、好ましくは、ドロップを前記ドロップされたデータ単位のシーケンス番号と関連付けて記録するように構成されるべきである。
【００６６】
本発明の更なる実施形態について、図３を参照して次に説明する。ステップＳ１及びＳ２は、図２及び図４と関連して既に説明されたものと同一であるため、説明の繰り返しは必要ない。しかし、図３の例において、輻輳通知手順Ｓ３は、図２又は図４の例とは異なるステップＳ３１、Ｓ３２及びＳ３３から構成される。ステップＳ３１は、１つ以上のデータ単位に対して輻輳通知を実行するかを決定する決定手順を表す。例えば、これは、確率関数を検査する上述の例であってもよい。この決定手順の結果が肯定的である場合、ステップＳ３２は実行される。すなわち、データ送信装置５０の外部の潜在的なデータ単位損失を示すイベントが考慮中のフローに対して発生したかを判定する手順が実行され、イベントが発生した場合、ステップＳ３１において輻輳通知を実行する決定はキャンセルされる。換言すると、この場合、輻輳通知は実行されない。
【００６７】
図３の特定の例において、ステップＳ３２は、長さパラメータＱＬの値が長さ閾値Ｌｔｈを超えたことが検出された後、損失兆候イベントが所定のガードタイムＧＴ内に発生するかを判定することから構成される。
【００６８】
換言すると、ＱＬがＬｔｈを超えたことを検出後、損失兆候イベントＬＩＥがガードタイムＧＴ内に発生するか否かを監視する。損失兆候イベントが発生した場合、ステップＳ３１で決定された輻輳通知はキャンセル又は無効化される。すなわち、輻輳通知は実行されない。これは、フロー送信側が送信装置５０の外部の示されたデータ単位損失に基づいてネットワークに対する負荷を減少するため、輻輳通知の実行によりフロー送信側の部分において送信データ単位を過度に減少し、リンク４０の過少利用をもたらす可能性があると仮定されるからである。
【００６９】
一方、ステップＳ３２の手順中、損失兆候イベントがガードタイムＧＴ内に検出されない場合、ステップＳ３３において、ステップＳ３１で決定された輻輳通知が実行される。
【００７０】
図３の上述の例において、ステップＳ３１、Ｓ３２及びＳ３３から構成される決定手順は、損失兆候イベント検出結果を考慮する。図２の例において、損失兆候イベント検出結果を考慮したのは、自動閾値適応手順Ｓ５であった。尚、損失兆候イベント検出結果を使用するそれら２つの方法は、組み合わせることもできる。すなわち、自動閾値適応手順及び決定手順の双方が損失兆候イベント検出の結果を考慮する。
【００７１】
更なる実施形態について、次に説明する。第１のモード又は第２のモードで動作する自動閾値適応Ｓ５の機能又は閾値アダプタ１０４の機能は、制御されているバッファの特定のキューがそれらモードのうち１つに従って動作することを示す。バッファは、各々が利用可能なモードのうち１つのモードと関連付けられる複数のキューを保持できる。当然、利用可能な動作モードは３つ以上存在してもよい。例えば、第３のモードにおいて、ｓ＞ｍである場合、長さ閾値はｓ×ＬＣに基づいて適応される。換言すると、各キューは、測定された各長さパラメータと比較する長さ閾値をそれぞれ有し、各長さ閾値は個々に適応される。そのような状況において、キュー登録される入力データ単位が、モードに関連付けられた種類に判別され、かつ判別されたモードに従って動作するキューに配置される実施形態が提案される。例えば、バッファ制御装置は、ヘッダのプロトコル識別子又はポート識別子等の特定の情報に対するデータ単位を解析し、遅延感知可能な種類のデータ単位（例えば、Ｔｅｌｎｅｔアプリケーションからセグメントを転送するデータ単位）を、遅延を減少するモードで動作するキューに割り当て、スループット感知可能な種類のデータ単位（例えば、ｆｔｐアプリケーションからセグメントを転送するデータ単位）を、利用率を最大限にするモードで動作するキューに割り当てることができる。
【００７２】
本発明の範囲は添付の請求の範囲により規定されるため、本発明について特定の例を使用して説明したが、それらの例は限定することを意図しない。請求の範囲における符号は、請求の範囲を読み易くするためであり、限定する効果を有することを意図しない。
【図面の簡単な説明】
【００７３】
【図１】本発明によるバッファ及びバッファ制御装置を表す概略ブロック図である。
【図２】本発明の方法の実施形態を示すフローチャートである。
【図３】本発明の別の方法の実施形態を示すフローチャートである。
【図４】本発明の基本的な方法の実施形態を示すフローチャートである。
【図１】
2007524262.tif 000003
【図２】
2007524262.tif 000004
【図３】
2007524262.tif 000005
【図４】
2007524262.tif 000006
【国際調査報告】
2007524262.tif 000007
2007524262.tif 000008