(57)【要約】【課題】緑パケットが赤パケットに再着色されるのを極力防ぐレート・カラー・マーカーを提供する。【解決手段】計量デバイスがプロファイルと、レートと、最大トークン数とを備える第１トークン・バケットを有し、さらにプロファイルと、２つの関連するレートと、最大トークン数とを備える他のトークン・バケットをも有する。動作の際、デバイスは、バケットがそのバケットの最大トークン数より小さい場合、第１トークン・バケットのトークン数をそのレートで単調に増大させ、第１トークン・バケットが満たされ、かつ他のトークン・バケットが満たされていない場合、他のトークン・バケットのトークン数を同じレートで単調に増大させる。さらに、デバイスは、第２トークン・バケットが満たされていない場合、トークン・バケットに関連する第２レートに従って、第２トークン・バケットのトークン数を単調に増大させる。【選択図】図１
2004343767.tif 000002
【特許請求の範囲】
【請求項１】
第１指標の値が第１の値より小さい場合、第１指標の値を第１レートで１だけ増大させることと、
前記第１指標の前記値が前記第１の値に等しく、かつ第２指標の値が第２の値より小さい場合、第２指標の値を第１レートで１だけ増大させることと、
前記第２指標の前記値が前記第２の値より小さい場合、前記第２指標の前記値を第２レートで１だけ増大させることと、
保証レベルに従ってマーク付けされた受信パケットと呼ぶパケットを受信することと、
１）保証レベルに従ってマーキングされた前記受信パケットが、第１保証レベルに従ってマーキングされている場合、および２）前記受信パケットの長さを表す前記値より小さい前記第１指標の前記値が、ゼロより大きいかまたはゼロに等しい場合、前記受信パケットの長さを表す値だけ前記第１指標の前記値を減少させることと、
保証レベルに従ってマーキングされた前記受信パケットが、前記第１保証レベルまたは第２保証レベルに従ってマーキングされている場合、および２）前記受信パケットの前記長さを表す前記値より小さい前記第２指標の前記値が、ゼロより大きいかまたはゼロに等しい場合、前記受信パケットの前記長さを表す前記値だけ前記第２指標の前記値を減少させ、かつ第２保証レベルに従って前記受信パケットにマーキングすることと、
第３保証レベルに従って前記受信パケットをマーキングすることとを備える方法。
【請求項２】
前記第２レートと前記第２の値が、それぞれ、ゼロに等しい請求項１に記載の方法。
【請求項３】
前記第１指標が第１トークン・バケットＣであり、かつ前記第１の値がコミットされたバースト・サイズ（ＣＢＳ）であり、前記第１指標の前記値が前記第１の値より小さい場合、前記第１指標の前記値を第１レートで１だけ増大させることが、Ｃの前記トークン数がＣＢＳより小さい場合、Ｃのトークン数をコミットされた情報レート（ＣＩＲ）で１だけ増大させることを備える請求項１に記載の方法
【請求項４】
前記第２指標が第２トークン・バケットＥであり、かつ前記第２の値が超過バースト・サイズ（ＥＢＳ）を超え、前記第１指標の前記値が前記第１の値に等しく、かつ前記第２指標の前記値が前記第２の値より小さい場合、前記第２指標の前記値を前記第１レートで１だけ増大させることが、Ｃの前記トークン数がＣＢＳに等しく、かつＥのトークン数がＥＢＳより小さい場合、Ｅのトークン数を前記ＣＩＲで１だけ増大させることを備える請求項３に記載の方法。
【請求項５】
前記第２指標の前記値が前記第２の値より小さい場合、前記第２指標の前記値を第２レートで１だけ増大させることが、ＥがＥＢＳより小さい場合、Ｅの前記トークン数をＥＩＲで１だけ増大させることを備える請求項４に記載の方法。
【請求項６】
保証レベルに従ってマーキングされたパケットを受信することが、プロファイルに従ってマーキングされたパケットを受信することを備える請求項１に記載の方法。
【請求項７】
保証レベルに従ってマーキングされたパケットを受信することが、前記第１保証レベルを示すために緑にマーキングされたパケットと、前記第２保証レベルを示すために黄にマーキングされたパケットと、前記第３保証レベルを示すために赤にマーキングされたパケットとを受信することを備える請求項６に記載の方法。
【請求項８】
前記パケットが、ＤｉｆｆＳｅｒｖインターネット・プロトコル（ＩＰ）・パケットであり、前記ＩＰパケットが、前記ＩＰパケットのＤｉｆｆＳｅｒｖフィールドをコード化することによって、緑、黄、赤の１つにマーキングされる請求項７に記載の方法。
【請求項９】
前記ＩＰパケットのＤｉｆｆＳｅｒｖフィールドをコード化することが、パー・ホップ行動（ＰＨＢ）に特有の方式で前記ＩＰパケットのＤｉｆｆＳｅｒｖフィールドをコード化することを備える請求項８に記載の方法。
【請求項１０】
１）保証レベルに従ってマーキングされた前記受信パケットが第１保証レベルに従ってマーキングされている場合、および２）前記受信パケットの前記値を表す前記値より小さい前記第１指標の前記値がゼロより大きいかまたはゼロに等しい場合、前記第１指標の前記値を前記受信パケットの前記長さを表す値だけ減少させることが、１）前記受信パケットが緑にマーキングされている場合、および２）前記受信パケットのバイト数より小さいＣの前記トークン数がゼロより大きいかまたはゼロに等しい場合、Ｃの前記トークン数を前記受信パケットのバイト数だけ減少させることを備える請求項７に記載の方法。
【請求項１１】
１）保証レベルに従ってマーキングされた前記受信パケットが前記第１保証レベルまたは前記第２保証レベルに従ってマーキングされている場合、および２）前記受信パケットの前記長さを表す前記値より小さい前記第２指標の前記値がゼロより大きいかまたはゼロに等しい場合、前記第２指標の前記値を前記受信パケットの前記長さを表す前記値だけ減少させて、第２保証レベルに従って前記受信パケットをマーキングすることが、１）前記受信パケットが緑または黄にマーキングされている場合、および２）前記受信パケットのバイト数より小さいＥの前記トークン数がゼロより大きいかまたはゼロに等しい場合、Ｅの前記トークン数を受信パケットの前記バイト数だけ減少させることを備える請求項１０に記載の方法。
【請求項１２】
第３保証レベルに従って前記受信パケットをマーキングすることが前記受信パケットを赤にマーキングすることを備える請求項１１に記載の方法。
【請求項１３】
前記第２指標の前記値が前記第２の値より小さい場合、前記第２指標の前記値を第２レートで１だけ増大させることが、前記第２レートがゼロより大きく、かつ前記第２指標が前記第２の値より小さい場合、前記第２指標の前記値を前記第２レートで１だけ増大させることを備える請求項１に記載の方法。
【請求項１４】
前記第１の値がゼロより大きい請求項１に記載の方法。
【請求項１５】
前記第１の値が最大パケット・サイズに等しいかまたはそれより大きい請求項１に記載の方法。
【請求項１６】
前記第２の値がゼロより大きい請求項１５に記載の方法。
【請求項１７】
前記第２の値が最大パケット・サイズに等しいかまたはそれにより大きい請求項１５に記載の方法。
【請求項１８】
第１カウンタＣと第２カウンタＥを、
Ｃがコミットされたバースト・サイズＣＢＳより小さい場合、Ｃを単調に増大させることと、そうでなければ、
Ｅが超過バースト・レートＥＢＳより小さい場合、Ｅを単調に増大させることと、そうでなければ、
ＣもＥも増大させないこととによって、第１レートで更新することと、
ＥがＥＢＳより小さい場合、Ｅを第２レートで更新することと、
Ｎデータ単位のサイズのパケットを受信したとき、
前記パケットが第１マーキングを有し、かつＣマイナスＮがゼロより大きいかまたはゼロに等しい場合、前記パケットの第１マーキングを維持しして、ＣをＮだけ減少させることと、そうでなければ、
前記パケットが第１または第２マーキングを有し、かつＥマイナスＮがゼロより大きいかまたはゼロに等しい場合、前記パケットの第２マーキングを維持して、ＥをＮだけ減少させることと、そうでなければ、
前記パケットについて第３マーキングに変更して、ＣもＥも減少させないこととを備える方法。
【請求項１９】
パケットの前記第１マーキング、前記第２マーキング、前記第３マーキングが、それぞれ、緑、黄、赤のカラーを備える請求項１８に記載の方法。
【請求項２０】
これ以後ＣＢＳとするコミットされたバースト・サイズについてゼロからデータ単位数までの範囲を有する第１カウンタＣをゼロに初期設定することと、
これ以後ＥＢＳとする超過バースト・サイズについてゼロからデータ単位数までの範囲を有する第２カウンタＥをゼロに初期設定することと、
Ｃ、Ｅを、
Ｃがゼロより大きい場合、Ｃを単調に減少させることと、そうでなければ、
Ｅがゼロより大きい場合、Ｅを単調に減少させることと、そうでなければ、
ＣもＥも減少させないこととによって、第１レートで更新することと、
Ｅがゼロより大きい場合、Ｅを単調に減少させることによって、Ｅを第２レートで更新することと、
Ｎデータ単位のサイズのパケットを受信した際に、
前記パケットが第１マーキングを有し、かつＣプラスＮがＣＢＳより小さいかまたはＣＢＳに等しい場合、前記パケットの第１マーキングを維持して、ＣをＮだけ増大させることと、そうでなければ、
前記パケットが第１マーキングまたは第２マーキングを有し、かつＥプラスＮがＥＢＳより小さいかまたはＥＢＳに等しい場合、前記パケットを第２マーキングに変更し、または前記パケットの第２マーキングを維持して、ＥをＮだけ増大させることと、そうでなければ、
前記パケットについて第３マーキングに変更し、ＣもＥも増大させないこととを備える方法。
【請求項２１】
レートｒ１と最大トークン数ｍ１を有するトークン・バケットｔ１と、２つのレートｒ１とｒ２および最大トークン数ｍ２を有するトークン・バケットｔ２とを有する計量デバイスで、
ｔ１がｍ１より小さいトークンを有する場合、ｔ１のトークン数をレートｒ１で単調に増大させることと、
ｔ１がｍ１のトークンを有し、かつｔ２がｍ２より小さいトークンを有する場合、ｔ２のトークン数をレートｒ１で単調に増大させることと、
ｔ２がｍ２より小さいトークンを有する場合、ｔ２のトークン数をレートｒ２で単調に増大させることと、
ｓデータ単位のサイズのパケットを受信したとき、
前記パケットが第１マーキングｐ１に従ってマーキングされ、ｔ１が少なくともｓのトークンを有する場合、前記パケットのマーキングをｐ１として維持して、ｔ１のトークン数をｓだけ減少させることと、そうでなければ、
前記パケットが、第１マーキングｐ１および第２マーキングｐ２の一方に従ってマーキングされ、ｔ２が少なくともｓのトークンを有する場合、前記パケットのマーキングをｐ２として維持して、ｔ２をｓだけ減少させることと、そうでなければ、
前記パケットのマーキングをｐ１およびｐ２の一方の他方として維持することとを備える方法。
【請求項２２】
ｔ２がｍ２より小さいトークンを有する場合、ｔ２のトークン数をレートｒ２で単調に増大させることが、ｔ２がゼロより大きく、かつｔ２がｍ２より小さいトークンを有する場合、ｔ２のトークン数をレートｒ２で単調に増大させることを備える請求項２１に記載の方法。
【請求項２３】
ｍ１がゼロより大きい請求項２１に記載の方法。
【請求項２４】
ｍ１が最大パケット・サイズに等しいか、またはそれにより大きい請求項２１に記載の方法。
【請求項２５】
ｍ２がゼロより大きい請求項２１に記載の方法。
【請求項２６】
ｍ２が最大パケット・サイズに等しいか、またはそれより大きい請求項２１に記載の方法。
【請求項２７】
ｍ２がゼロに等しい請求項２１に記載の方法。
【請求項２８】
コミットされた情報レート（ＣＩＲ）と、コミットされたバースト・サイズ（ＣＢＳ）に等しい最大トークン数とを有する緑トークン・バケット（Ｔｇ）と、コミットされた情報レート（ＣＩＲ）と、超過情報レート（ＥＩＲ）と、超過バースト・サイズ（ＥＢＳ）に等しい最大トークン数とを有する黄トークン・バケット（Ｔｙ）とを有するパケット計量および監視デバイスで、
ＴｇがＣＢＳより小さいトークンを有する場合、Ｔｇのトークン数をＣＩＲのレートで１だけ増大させることと、
ＴｇがＣＢＳのトークンを有し、かつＴｙがＥＢＳより小さいトークンを有する場合、Ｔｙのトークン数をＣＩＲのレートで１だけ増大させることと、
ＴｙがＥＢＳより小さいトークンを有する場合、Ｔｙのトークン数をＥＩＲのレートで１だけ増大させることと、
前記パケット計量および監視デバイスでｓデータ単位のサイズのパケットを受信したとき、前記パケットが緑に着色され、かつＴｇが少なくともｓのトークンを有する場合、Ｔｇのトークン数をｓだけ減少させ、そうでなければ、前記パケットが緑もしくは黄に着色され、かつＴｙが少なくともｓのトークンを有する場合、前記パケットを黄に着色し、かつＴｙをｓだけ減少させ、そうでなければ、前記パケットを赤に着色することを備える方法。
【請求項２９】
マシンによって実行されたとき、前記マシンに請求項１のプロセスを実施させる命令を提供するマシン・アクセス可能媒体を備える製造品。
【請求項３０】
マシンによって実行されたとき、前記マシンに請求項２のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項２９に記載の製造品。
【請求項３１】
マシンによって実行されたとき、前記マシンに請求項３のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項２９に記載の製造品。
【請求項３２】
マシンによって実行されたとき、前記マシンに請求項４のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項３１に記載の製造品。
【請求項３３】
マシンによって実行されたとき、前記マシンに請求項５のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項３２に記載の製造品。
【請求項３４】
マシンによって実行されたとき、前記マシンに請求項６のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項２９に記載の製造品。
【請求項３５】
マシンによって実行されたとき、前記マシンに請求項７のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項３４に記載の製造品。
【請求項３６】
マシンによって実行されたとき、前記マシンに請求項８のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項３５に記載の製造品。
【請求項３７】
マシンによって実行されたとき、前記マシンに請求項９のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項３６に記載の製造品。
【請求項３８】
マシンによって実行されたとき、前記マシンに請求項１０のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項３４に記載の製造品。
【請求項３９】
マシンによって実行されたとき、前記マシンに請求項１１のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項３８に記載の製造品。
【請求項４０】
マシンによって実行されたとき、前記マシンに請求項１２のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項３９に記載の製造品。
【請求項４１】
マシンによって実行されたとき、前記マシンに請求項１３のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項２９に記載の製造品。
【請求項４２】
マシンによって実行されたとき、前記マシンに請求項１４のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項２９に記載の製造品。
【請求項４３】
マシンによって実行されたとき、前記マシンに請求項１５のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項２９に記載の製造品。
【請求項４４】
マシンによって実行されたとき、前記マシンに請求項１６のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項４３に記載の製造品。
【請求項４５】
マシンによって実行されたとき、前記マシンに請求項１７のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項４３に記載の製造品。
【請求項４６】
第１カウンタＣを、コミットされたバースト・サイズ（ＣＢＳ）のデータ単位数に初期設定することと、
第２カウンタＥを、超過バースト・サイズ（ＥＢＳ）のデータ単位数に初期設定することと、
第３カウンタＧを、一般バースト・サイズ（ＧＢＳ）のデータ単位数に初期設定することと、
ＣがＣＢＳより小さい場合、Ｃを単調に増大させ、そうでなければ、ＥがＥＢＳより小さい場合、Ｅを単調に増大させ、そうでなければ、ＧがＧＢＳより小さい場合、Ｇを単調に増大させ、そうでなければ、Ｃ、Ｅ、Ｇのどれも増大させないことによって、Ｃ、Ｅ、Ｇを第１レートで更新することと、
ＥがＥＢＳより小さい場合、Ｅを単調に増大させ、そうでなければ、ＧがＧＢＳより小さい場合、Ｇを単調に増大させ、そうでなければ、ＥもＧも増大させないことによって、ＥおよびＧを第２レートで更新することと、
ＧがＧＢＳより小さい場合、Ｇを単調に増大させることによって、Ｇを第３レートで更新することと、
Ｎデータ単位のサイズのパケットを受信したとき、
前記パケットが第１マーキングを有し、かつＣマイナスＮがゼロより大きいかまたはゼロに等しい場合、前記パケットの第１マーキングを維持して、ＣをＮだけ減少させることと、そうでなければ、
前記パケットが第１マーキングまたは第２マーキングを有し、ＥマイナスＮがゼロより大きいかまたはゼロに等しい場合、前記パケットを第２マーキングに変更し、または前記パケットの第２マーキングを維持して、ＥをＮだけ減少させることと、そうでなければ、
前記パケットが第２マーキングまたは第３マーキングを有し、ＧマイナスＮがゼロより大きいかまたはゼロに等しい場合、前記パケットを第３マーキングに変更し、または前記パケットの第３マーキングを維持して、ＧをＮだけ減少させることと、そうでなければ、
前記パケットについて第４マーキングに変更し、Ｃ、Ｅ、Ｇのどれも減少させないこととを備える方法
【請求項４７】
第１カウンタＣおよび第２カウンタＥを、
Ｃがコミットされたバースト・サイズＣＢＳより小さい場合、Ｃを単調に増大させることと、そうでなければ、
Ｅが超過バースト・サイズＥＢＳより小さい場合、Ｅを単調に増大させることと、そうでなければ、
ＣもＥも増大させないこととによって、第１レートで更新することと、
ＥがＥＢＳより小さい場合、Ｅを単調に増大させることによって、Ｅを第２レートで更新することと、
Ｎデータ単位のサイズのパケットを受信したとき、
ＣマイナスＮがゼロより大きいかまたはゼロに等しい場合、第１マーキングに従って前記パケットにマーキングして、ＣをＮだけ減少させることと、そうでなければ、
ＥマイナスＮがゼロより大きいかまたはゼロに等しい場合、第２マーキングに従って前記パケットにマーキングして、ＥをＮだけ減少させることと、そうでなければ、
第３マーキングに従って前記パケットにマーキングして、ＣもＥも減少させないこととを備える方法。
【請求項４８】
パケットの前記第１マーキング、前記第２マーキング、および前記第３マーキングが、それぞれ、緑、黄、赤のカラーを備える請求項４７に記載の方法。
【請求項４９】
マシンによって実行されたとき、前記マシンに請求項４６のプロセスを実施させる命令を提供するマシン・アクセス可能媒体を備える製造品。
【請求項５０】
マシンによって実行されたとき、前記マシンに請求項４７のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える製造品。
【請求項５１】
マシンによって実行されたとき、前記マシンに請求項４８のプロセスを実施させる命令を提供するマシン・アクセス可能媒体をさらに備える請求項５０に記載の製造品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、データ通信の分野に関する。具体的には、本発明は、受信データ・ストリームを計量し、たとえば、パケットのレート、パケットの長さ、データ・ストリームにおけるパケットの到着時間など、１つのファクタ、もしくは１つまたは複数のファクタの組合わせに基づいて、データ・ストリームのパケットに異なるようにマーキングするデバイスに関する。パケットは、たとえば、パケットをフォワードさせるかまたは廃棄するかに関する保証レベルを示すように、マーキングおよび再マーキングすることが可能である。
【背景技術】
【０００２】
レート・カラー・マーカは、トラフィック・ストリームのパケットを計量して、トラフィック・パラメータに基づいてパケットにマーキングすることができる。そのような計量とマーキングを使用すると、通信ネットワークのサービス品質または輻輳制御などのサービスを行うことができる。２つの同様のカラー・レート・マーカが、インターネット技術標準化委員会（Internet Engineering Task Force：ＩＥＴＦ）のＲＦＣ（Informational Request For Comments）２６９７および２６９８において文書化されている。Ｈｅｉｎａｎｅｎ，Ｊ．およびＲ．Ｇｕｅｒｉｎ、「Ａ  Ｓｉｎｇｌｅ  Ｒａｔｅ  Ｔｈｒｅｅ  Ｃｏｌｏｒ  Ｍａｒｋｅｒ」、ＲＦＣ２６９７、１９９９年９月、ならびにＨｅｉｎａｎｅｎ，Ｊ．およびＲ．Ｇｕｅｒｉｎ、「Ａ  Ｔｗｏ  Ｒａｔｅ  Ｔｈｒｅｅ  Ｃｏｌｏｒ  Ｍａｒｋｅｒ」、ＲＦＣ２６９８、１９９９年９月を参照されたい。
【０００３】
参照したＲＦＣは、インターネット・プロトコル（ＩＰ）・ベースのパケット切替えインターネットワークの文脈においてカラー・レート・マーカ・アルゴリズムを記載している。しかし、そのようなアルゴリズムは、セル切替えネットワークにおいても実施することができる。各カラー・マーカは、ＩＰパケット・ストリームなどのトラフィック・ストリームを計量し、そのパケットを緑、黄、または赤の１つにマーキングする。
【０００４】
ＲＦＣ２６９７に記載されている単一レート３カラー・マーカ（ｓｒＴＣＭ）は、トラフィック・レートであるコミットされた情報レート（ＣＩＲ）や、２つの異なるバースト・サイズであるコミットされたバースト・サイズ（ＣＢＳ）と超過バースト・サイズ（ＥＢＳ）に基づいて、ＩＰストリームのパケットにマーキングする。要するに、パケットは、ＣＢＳを超えない場合、緑にマーキングされ、ＣＢＳを超えるが、ＥＢＳを超えない場合、黄にマーキングされ、ＣＢＳとＥＢＳの両方を超える場合、赤にマーキングされる。ｓｒＴＣＭは、トラフィックに関連するカラーを決定するために、トラフィックのバーストのピーク・レートではなく長さを使用するという点で限定される。次いで、サービスまたはサービスのレベルが、カラーに基づいてトラフィックに提供される。
【０００５】
ＲＦＣ２６９８に記載されている２レート３カラー・マーカ（ｔｒＴＣＭ）は、２つの異なるトラフィック・レートであるピーク情報レート（ＰＩＲ）とコミットされた情報レート（ＣＩＲ）、対応するバースト・サイズであるコミットされたバースト・サイズ（ＣＢＳ）、ピーク情報バースト（ＰＢＳ）に基づいて、ＩＰストリームのパケットにマーキングする。ｔｒＴＣＭによれば、パケットは、ＰＩＲを超える場合、赤にマーキングされ、ＰＩＲを超えない場合、ＣＩＲを超えるかまたはＣＩＲを超えないかに応じて、黄または緑にマーキングされる。ピーク・トラフィック・レート（または簡単にピーク・レート）とコミットされたレートの２つのレートを使用することによって、ｔｒＴＣＭは、コミットされたレート・トラフィックとは別にピーク・レート・トラフィックを監視することができる。
【０００６】
ｓｒＴＣＭとｔｒＴＣＭの両方とも、それぞれ、トラフィック・ストリームの各パケットを計量して、パケットを着色するマーカにパケットをフォワードまたは通過させる計量デバイスを考慮している。両方のアルゴリズムとも、トラフィック・ストリームが着色されていない場合に計量がトラフィック・ストリームを受信するカラー無認識モードと、受信トラフィック・ストリームのパケットが緑、黄、赤のカラーの１つなどですでに着色（「事前着色」）されているカラー認識モードとの２つのモードの一方で動作する。事前着色プロセスと、計量デバイスがパケットのカラーを検出または決定する方式との詳細は、実施態様に特有であり、ＲＦＣならびに本発明の範囲外にある。
【０００７】
ＲＦＣは、計量デバイスの結果に基づいてパケットを再着色するマーカを開示し、例として、パー・ホップ行動（ＰＨＢ）に特有の方式で、パケットのＤｉｆｆＳｅｒｖ（ＤＳ）フィールドのコード点としてカラーをコード化することを提案し、さらなる情報については、ＩＥＴＦ  ＲＦＣ２４７４に言及している。Ｎｉｃｈｏｌｓ，Ｋ．、Ｂｌａｋｅ，Ｓ．、Ｂａｋｅｒ，Ｆ．、およびＤ．Ｂｌａｃｋ、「Ｄｅｆｉｎｉｔｉｏｎ  ｏｆ  ｔｈｅ  Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｆｉｅｌｄ（ＤＳ  Ｆｉｅｌｄ）ｉｎ  ｔｈｅ  ＩＰｖ４  ａｎｄ  ＩＰｖ６  Ｈｅａｄｅｒｓ」、ＲＦＣ２４７４、１９９８年１２月を参照されたい。ＲＦＣ２５９７によれば、カラーは、パケットの降順優先順位として着色することができる。Ｂｌａｋｅ，Ｓ．、Ｂｌａｃｋ，Ｄ．、Ｃａｒｌｓｏｎ，Ｍ．、Ｄａｖｉｅｓ，Ｅ．、Ｗａｎｇ，Ｚ．、およびＷ．Ｗｅｉｓｓ、「Ａｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ」、ＲＦＣ２４７５、１９９８年１２月を参照されたい。
【０００８】
両方のカラー・マーカとも、たとえば、パケットが緑か、黄か、赤かに基づいて異なる保証レベルがパケットに提供されるように、トラフィック・ストリームのパケットにマーキングすることができる。サービス・レベルが低下する順に、緑、次いで黄、次いで赤をパケットに与えることが可能である。たとえば、緑パケットは配信を保証する、すなわち廃棄もしくはドロップされる確率が低い状態でフォワードさせられ、黄パケットはベスト・エフォートでフォワードさせられ、赤パケットは破棄される。
【０００９】
ｓｒＴＣＭ計量デバイスは、カラー無認識モードまたはカラー認識モードのいずれかで動作し、トークンが同じレート、ＣＩＲで加えられる２つのトークン・バケットＣ、Ｅを使用する。ＩＰの文脈では、ＣＩＲは、１秒あたりのバイト、より具体的には、１秒あたりのＩＰバイトで表される。それらのトークン・バケットは、トークン・バケットＣについてはＣＢＳ（トークン・バケットの名称）、トークン・バケットＥについてはＥＢＳ（したがってその名称）によって決められて当初満たされている。すなわち、トークンの数、または簡単にトークン・カウントは、トークン・バケットＣ、Ｅについて、それぞれＣＢＳとＥＢＳに設定される。ＣＢＳとＥＢＳは、たとえば、バイトで測定される。したがって、ＩＰネットワークでは、通常、ＣＢＳまたはＥＢＳの値は、計量デバイスによって受信されることが可能な最大ＩＰパケットに少なくとも等しい。ｓｒＴＣＭトークン・バケットは減少させられる。すなわち、トークン・カウントは、受信パケットを処理すると減少し、受信パケットのバイト数によって、トークン・カウントを減少させるかどうか、およびどれだけトークン・カウントを減少させるかを決定する。両方のトークン・バケットとも、ＣＩＲのレートのトークンで満たされる。トークン・バケットＣでは、トークンが追加される。すなわち、トークン・カウントＴｃは、ＣＩＲのレートでＣＢＳまで増大され、トークン・バケットＥのトークン・カウントＴｅも、ＣＩＲのレートでＥＢＳまで増大される（Ｔｃ＝ＣＢＳであるときのみ）。
【００１０】
ｔｒＴＣＭ計量デバイスも、同様に、カラー無認識モードとカラー認識モードで動作し、トークンが異なるレート、ＰＩＲとＣＩＲで加えられる２つのトークン・バケットＰ、Ｃを使用する。両方のレートとも、やはり、ＩＰネットワークの文脈では、１秒あたりのＩＰバイトで表される。トークン・バケットは、トークン・バケットＰについてはＰＢＳ、トークン・バケットＣについてはＣＢＳによって決められて当初満たされている。ＰＢＳとＣＢＳとの関係は、以下のように定義することができる。
ＰＢＳ＝ＣＢＳ＋ＥＢＳ
ｔｒＴＣＭトークン・バケットは減少させられる。すなわち、ｓｒＴＣＭの場合のように、トークン・カウントは、受信パケットを処理すると減少する。しかし、トークン・バケットはトークンで満たされるが、異なるレートで満たされる。トークン・バケットＰでは、トークンが追加される。すなわち、トークン・カウントＴｐは、ＰＩＲのレートでＰＢＳまで増大され、一方、トークン・バケットＣのトークン・カウントＴｃは、ＣＩＲのレートでＣＢＳまで増大される。
【非特許文献１】Ｈｅｉｎａｎｅｎ，Ｊ．およびＲ．Ｇｕｅｒｉｎ、「Ａ  Ｓｉｎｇｌｅ  Ｒａｔｅ  Ｔｈｒｅｅ  Ｃｏｌｏｒ  Ｍａｒｋｅｒ」、ＲＦＣ２６９７、１９９９年９月
【非特許文献２】Ｈｅｉｎａｎｅｎ，Ｊ．およびＲ．Ｇｕｅｒｉｎ、「Ａ  Ｔｗｏ  Ｒａｔｅ  Ｔｈｒｅｅ  Ｃｏｌｏｒ  Ｍａｒｋｅｒ」、ＲＦＣ２６９８、１９９９年９月
【非特許文献３】Ｎｉｃｈｏｌｓ，Ｋ．、Ｂｌａｋｅ，Ｓ．、Ｂａｋｅｒ，Ｆ．、およびＤ．Ｂｌａｃｋ、「Ｄｅｆｉｎｉｔｉｏｎ  ｏｆ  ｔｈｅ  Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｆｉｅｌｄ（ＤＳ  Ｆｉｅｌｄ）ｉｎ  ｔｈｅ  ＩＰｖ４  ａｎｄ  ＩＰｖ６  Ｈｅａｄｅｒｓ」、ＲＦＣ２４７４、１９９８年１２月
【非特許文献４】Ｂｌａｋｅ，Ｓ．、Ｂｌａｃｋ，Ｄ．、Ｃａｒｌｓｏｎ，Ｍ．、Ｄａｖｉｅｓ，Ｅ．、Ｗａｎｇ，Ｚ．、およびＷ．Ｗｅｉｓｓ、「Ａｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｄｉｒｒｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ」、ＲＦＣ２４７５、１９９８年１２月
【発明の開示】
【発明が解決しようとする課題】
【００１１】
カラー認識モードでは、ｔｒＴＣＭは、十分なトークンがトークン・バケットＣとＰの両方において利用可能であるときのみ、緑パケットを緑に再着色する。これは、緑パケットが受信され、トークン・バケットＣに十分なトークンがある場合でも赤に再着色される状況をもたらすことがあり、この状況は、トークン・バケットＰが、受信した黄パケットを先に処理するために、緑パケットを処理するには不十分なトークンを有するときに生じることがある。この状況が生じたとき、緑パケットがＣＢＳとＣＩＲによって確定されるトラフィック・プロファイルに準拠するときでも、緑パケットの伝送を保証することはできない。したがって、いくつかの状況では、ｔｒＴＣＭを使用するネットワーク・サービス・プロバイダは、緑パケットの伝送を保証することができない。ｔｒＴＣＭによる緑パケットのこの非確定的伝送は、緑パケットの伝送を保証するネットワークを提供するというカラー・レート・マーキングの主な目的の１つを無効にする。
【００１２】
この問題を解決する１つの手法は、ｔｒＴＣＭのアルゴリズムを以下のように修正することである。
１）トークン・バケットＰにおいてトークン・カウントを増大させるレート、すなわち、トークンを配置するレートをＰＩＲからＰＩＲ−ＣＩＲに変更する。
２）トークン・バケットＰの最大サイズをＰＢＳからＰＢＳ−ＣＢＳに変更する。
３）トークン・バケットＣにおけるトークンの利用可能性がまず検査されるように、ｔｒＴＣＭのアルゴリズムを変更する。
４）緑にマーキングされるパケットが、トークン・バケットＣからのトークンのみを除去するように、ｔｒＴＣＭのアルゴリズムを変更する。
【００１３】
これらの修正により、当初の問題は解決されるが、新しい問題が導入される：入ってくる緑パケットがない場合、入ってくる黄パケットを黄としてマーキングするレートが、ＰＩＲの代わりにＰＩＲ−ＣＩＲに限定される。これは、大きな問題となることがある。その理由は、コミットされたレート・トラフィックに確保されたネットワーク帯域幅が未使用であるとき、ピーク・レート・トラフィックによって使用するために再生することができないからであり、その結果、ネットワークが十分に活用されず、ネットワーク帯域幅を販売するネットワーク・サービス・プロバイダの場合では、収入が失われることになる。
【００１４】
ＲＦＣ２６９８問題に対して他に提案された解決法は、緑パケットがトークン・バケットＰから未来のトークンを借りることを可能にし（これにより、トークン・バケットＰのトークン・カウントが負になることがある）、それにより、トークン・バケットＣには十分なトークンがあるが、トークン・バケットＰにはない場合に、緑パケットを赤に再着色することを防止するというものである。この解決法は２つの問題を有する。第１の問題は、黄パケットのＰＢＳバーストが生じ、緑パケットのＣＢＳバーストが続いた場合、すべてのパケットが、当初マーキングされたものとして通過するが、結果的に組み合わされたバーストは、サイズがＰＢＳ＋ＣＢＳとなり、トラフィック・プロファイルに違反する。これは、トークン・バケットＰのサイズをＰＢＳ−ＣＢＳに減少させることによって、またはサイズはＰＢＳに維持するが、緑パケットに対してＣＢＳサイズのＴｐトークンの量を確保することによって、対処することができる。いずれの場合でも、第２の問題は、黄パケットと緑パケットのバーストが、パケットのシーケンスに応じて、黄パケットのいくつかが赤に再着色されたものになる可能性があるということである。
【課題を解決するための手段】
【００１５】
レート・カラー・マーカのアルゴリズムは、緑に事前着色され、かつＣＩＲとＣＢＳによって決まるトラフィック・プロファイルに準拠するすべての受信パケットが緑として着色されることを保証する。アルゴリズムは、受信パケット・ストリームに応じて、ピーク情報レートまでパケットを黄にマーキングすることにさらに備え、１レート３カラー・マーカまたは１レート２カラー・マーカなど、多レート多カラー・マーカとして動作するように構成することができる。
【発明を実施するための最良の形態】
【００１６】
本発明を、添付の図面の図において、限定としてではなく、例として示す。
【００１７】
本発明は、本発明の一実施形態において、本明細書においてトークン・バケットＣと呼ぶコミットされたバースト・サイズのパケットのトークン・バケットと、本明細書においてトークン・バケットＥと呼ぶ超過バースト・サイズのパケットのトークン・バケットとを有する、多レート多カラー・マーカ、または簡単にレート・カラー・マーカである。レート・カラー・マーカは、カラー無認識モードまたはカラー認識モードにおいて動作し、かつ、トークン・バケットＣが満たされるまで、ＣＩＲのレートでトークンをトークン・バケットＣに配置し、トークン・バケットＣが満たされた場合、ＣＩＲのレートでトークンをトークン・バケットＥに配置する計量デバイスを備える。さらに、トークンの別のソースが、トークン・バケットＥに供給される。別のトークン・ソースからのトークンは、トークン・バケットＣが満たされているかを考慮せずに、ＥＩＲのレートでトークン・バケットＥに配置される。トークン・バケットＣが満たされている場合に、ＣＩＲのレートで配置される１つのソースと、ＥＩＲで配置される他のソースとの、トークン・バケットＥに配置されるトークンの２つのソースを組み合わせることにより、ＰＩＲの効果的なトークン配置レートが提供される。（コミットされたバースト・サイズ（ＣＢＳ）に超過バースト・サイズ（ＥＢＳ）を加えたものが、ピーク・バースト・サイズ（ＰＢＳ）に等しいのと全く同じように、コミットされた情報レート（ＣＩＲ）に超過情報レート（ＥＩＲ）を加えたものが、ピーク情報レート（ＰＩＲ）に等しいことに留意されたい）。
【００１８】
以下でより完全に記述するように、本発明は、ＲＦＣ２６９８において記述したｔｒＴＣＭのアルゴリズムに関して上記で記述した問題を克服するが、その理由は、黄パケットのバーストが色づけされた緑パケットを赤として再着色させるということが生じないことを保証するからである。本発明の実施形態は、ＲＦＣ２６９８ベースのｔｒＴＣＭアルゴリズムに対して以前に提案された修正の問題を克服するが、その理由は、入ってくる緑パケットがない場合、本発明によるカラー・レート・マーカにより、ＰＩＲ−ＣＩＲでなく、入ってくる黄パケットをＰＩＲのレートでフォワードさせることが可能になるからである。
【００１９】
本発明の実施形態は、緑パケットが、トークン・バケットＰから未来のトークンを借りることを可能にし（これにより、トークン・バケットＰのトークン・カウントは、負になることがある）、したがって、トークン・バケットＣには十分なトークンがあるが、トークン・バケットＰにはない場合に、緑パケットを赤に再着色することを防止するというＲＦＣ２６９８の問題に対して提案された解決法によって導入される新しい問題をも克服する。本発明の実施形態は、常に、最大バースト・サイズをＰＢＳに限定し、パケットのシーケンスに関係なく、黄パケットと緑パケットの着色されたバーストを再着色しない。
【００２０】
本発明は、ＣＩＲがＰＩＲに等しい状態で構成されたとき、ＲＦＣ２６９７において記述したｓｒＴＣＭのアルゴリズムと同様に動作するという利点を追加した。そのような構成では、アルゴリズムの単一事象は、ＰＩＲの構成に応じて、単一レート・モードまたは２レート・モードで動作することができる。本発明は、ＥＢＳがＰＢＳとＣＢＳとの差に等しい状態で構成されたとき、単一レート２カラー・マーカとして動作するという他の利点を有する。差はゼロに等しくなる、すなわち、ＥＢＳ＝ＰＢＳ−ＣＢＳ＝０である。
【００２１】
インターネットなどのＩＰインターネットワークにおいて実施することが可能である本発明について記述する。しかし、本発明は、ＩＰネットワークのパケット・トラフィック・ストリームに限定されないことを理解されたい。本発明において記述する詳細は、セル切替えネットワークなど、他のタイプのネットワークにおいても同様に適用可能である。説明のために、ＩＰインターネットワークの文脈において本発明を記述する。
【００２２】
図１を参照して、本発明の実施形態１００について記述する。この例では、計量デバイスは、スイッチまたはルータなど、ネットワーク・デバイスで動作し、そのモードをカラー認識に設定する。この場合、計量デバイスは、情報またはトラフィック・ストリームの一部としてネットワーク・デバイスにおいて受信されたあらゆるパケットが、先行または上流のデバイスによって、緑、黄、または赤の１つにすでに着色（「事前着色」）されていると想定する。
【００２３】
モードの設定の他に、計量デバイスは、１０５において、トークン・バケットＣをトークンＴｃで満たす。トークン・バケットＣの最大サイズ、すなわち、バケットが保持することができるトークンＴｃの最大数は、コミットされたバースト・サイズ（ＣＢＳ）に等しく、通常バイトで測定される。さらに、計量デバイスは、トークン・バケットＣをトークンで満たすことができるレートをコミットされた情報レート（ＣＩＲ）に設定する。
【００２４】
計量デバイスは、１０５において、トークン・バケットＥを初期設定する、すなわちトークンＴｅで満たす。トークン・バケットＥの最大サイズは、超過バースト・サイズ（ＥＢＳ）であり、やはりバイトで測定される。計量デバイスは、トークン・バケットＥをトークンで満たすことができる２つのレートを設定する：バケットは、ＣＩＲにおいて（Ｔｃ＝ＣＢＳであるときのみ）、ならびに超過情報レート（ＥＩＲ）において（Ｔｃ＝ＣＢＳであるかに関係しない）、トークンで満たすことができる。これらの２つの満たすレートは、同時に適用することができ、したがって、トークン・バケットＥをトークンＴｅで満たす効果的なレートは、ＣＩＲとＥＩＲとの和に等しく、かつＴｃ＝ＣＢＳのときのピーク情報レート（ＰＩＲ）である。ＴｃがＣＢＳより小さいとき、トークン・バケットＥをトークンＴｅで満たすことができる効果的なレートは、ＰＩＲとＣＩＲの差に等しいＥＩＲである。
【００２５】
したがって、これまで記述した本発明の実施形態は、トークン・バケットＣ、Ｅがトークンで満たされるように初期設定されることを示唆するが、代替として、トークン・バケットは、空として初期設定することができることを理解されたい。たとえば、一実施形態では、トークン・バケットは、トークン・バケットがトークンでロードされていることを示す最大トークン数に初期設定されたデータ・ストリームにおいて実施することができ、または、トークン・バケットのトークンが空であることを示すゼロなど、最大数より小さいあるトークン数に初期設定されたデータ・ストリームにおいて実施することが可能である。どちらの場合でも、トークン・バケットは、本発明から逸脱せずに、トークン・バケットにおけるトークンの使用または利用可能性を示すように、増大または減少させることができる。
【００２６】
図１を参照すると、１１０において、計量デバイスは、ＴｃがＣＢＳより小さいとき、トークン・カウントＴｃを継続して更新し、Ｔｃが満たされかつＴｅがＥＢＳより小さいとき、Ｔｅを継続して更新する。これらのトークンは、ＣＩＲのレートで増大される。具体的には、トークン・バケットＣが満たされていない場合、すなわち、トークン・バケットＣのトークン数ＴｃがＣＢＳより小さい場合、トークンがトークン・バケットＣに追加される。トークン・バケットＣが満たされているときで、かつトークン・バケットＥが満たされていない（すなわち、トークン・バケットＥのトークン数ＴｅがＥＢＳより小さい）場合のみ、トークンがトークン・バケットＥに追加される。両方のトークン・バケットが満たされている場合、トークンはどちらのトークン・バケットにも追加されない。この記述は、トークン・カウントを最大値に初期設定し、トークン・カウントが最大値に向かって変化するようにトークン・カウントを増大させるようにしているが、他の実施形態では、本発明から逸脱せずに、トークン・カウントをゼロに初期設定し、ゼロに向けて減少させるように、アルゴリズムを実施することができることに留意されたい。
【００２７】
１１５において、計量デバイスは、Ｔｃが満たされ、かつＴｅがＥＢＳより小さいとき、ＣＩＲのレートでトークン・カウントＴｅを継続して更新するのと平行して、ＴｅがＥＢＳより小さいとき、トークン・バケットＥにＥＩＲのレートでトークン・カウントＴｅを継続して更新する。トークン・バケットＥのこの更新は、上記で記述したようにＴｃ＝ＣＢＳであるときにＣＩＲのレートでトークンＴｅをトークン・バケットに追加することに加えて行われることに留意されたい。ＴｃがＣＢＳより小さいとき、ＣＩＲのレートでトークン・バケットＥをトークンＴｅで満たし、ＴｃがＣＢＳより小さいかまたはＣＢＳに等しいことに関係なく、ＥＩＲのレートでトークン・バケットＥをトークンＴｅで満たすことによってトークン・バケットＥをこのように継続して更新することにより、トークン・バケットＥはＰＩＲのレートでトークンで満たされる。（ＥＩＲがゼロより大きい場合、本発明は２レート３カラー・マーカとなることに留意されたい。しかし、ＥＩＲがゼロに等しく、それによりＰＩＲがＣＩＲに等しい場合、本発明は単一レート３カラー・マーカとなる。したがって、本発明の実施形態の一例は、ＥＩＲ（またはＰＩＲ）の構成に応じて、単一レート・モードまたは２レート・モードで動作することができる）。
【００２８】
カラー認識モードでは、パケットが時間ｔに計量デバイスに到着したとき（１２０）、計量デバイスは、１２５においてパケットを調査して、パケットが緑であるか、および時間ｔのトークン・バケットＣがパケットを処理するのに十分なトークンＴｃを有しているかを判定する。パケットが緑であり、かつパケットのバイト数Ｂが、時間ｔのトークン・バケットＣのトークン数Ｔｃより小さい場合、１３０において、パケットは緑にマーキングされ、トークン・バケットＣからＢのトークンが除去される。本発明の実施形態は、流れ図の戻り経路１５０と１５５によって図１に示したように、動作を続行し、バケットが満たされるまでトークン・バケットＣ、Ｅのトークン・カウントを増大させる一方、他のパケットが到着するのを待つ。
【００２９】
１２５において、パケットが緑ではない場合、または、パケットのサイズが、時間ｔのトークン・バケットＣのトークン数を超える場合、本発明の実施形態は、パケットが緑または黄であるか、および時間ｔのトークン・バケットＥがパケットを処理するのに十分なトークンＴｅを有しているかを１３５において判定する。パケットが緑または黄であり、かつパケットのバイト数Ｂが、時間ｔのトークン・バケットＥのトークン数Ｔｅより小さい場合、１４０において、パケットは、黄であると宣言され、トークン・バケットＥは、Ｂトークンだけ減少される。本発明の実施形態は、動作を続行し、バケットが満たされるまでトークン・バケットＣ、Ｅのトークン・カウントを増大させる一方、他のパケットが到着するのを待つ。
【００３０】
ＥＢＳがゼロに構成された場合、トークン・バケットＥの最大トークン数は、１０５においてＥＢＳに等しく初期設定されるので、トークン・バケットＥはトークンを有さないことに留意されたい。したがって、この構成では、カラー・マーカは、単一レート２カラー・マーカとして動作し、この場合、受信パケットは、緑に事前着色され、かつパケットのサイズがトークン・バケットＣのトークン数を超えない場合、緑にマーキングされ、または、そうでない場合はトークン・バケットＥが空、すなわちトークンＴｅを有さないので、赤にマーキングされる。
【００３１】
１２５と１３５の試験が不首尾であった場合、すなわち、パケットが緑もしくは黄でない場合、または、パケットは緑であるが、パケットのサイズが時間ｔにおいてトークン・バケットＣもしくはＥにおいて利用可能なトークン数を超える場合、または、パケットは黄であるが、パケットのサイズが時間ｔにおいてトークン・バケットＥで利用可能なトークンの数を超える場合、１４５において、パケットは赤にマーキングされる。本発明の実施形態は、動作を続行して、バケットが満たされるまでトークン・バケットＣ、Ｅのトークン・カウントを増大させる一方、他のパケットが到着するのを待つ。したがって、上記で記述し、かつ図１の１２０〜１４０において記述したように、パケットを計量し、マーキングするプロセスは、上記で記述したトークン・バケットを満たすプロセス１１０と１１５と別であるが平行したプロセスとして行われることに留意されたい。
【００３２】
これまで、本発明の一実施形態は、トークン・カウントを最大値に初期設定し、ある時間点においてトークン・カウントが最大値より小さい場合、トークン・カウントが最大値に向かって移動するようにトークン・カウントを増大させるようにしていたが、他の実施形態では、本発明から逸脱せずに、トークン・カウントをゼロに初期設定し、その後、ある時間点においてトークン・カウントがゼロより大きい場合、ゼロに向けて減少させるように、アルゴリズムを実装することができる。したがって、本発明から逸脱せずに、トークン・カウントＴｃとＴｅを受信パケットのバイト数だけ減少ではなく増大させるように、１２０〜１４０において記述したプロセスを実装することもできる。
【００３３】
当業者なら、上記で記述した本発明の実施形態は、より多くのトークン・バケットに拡張したり、対応する異なるカラーのパケットに拡張する、すなわち、降順優先順位のより多くのカテゴリまたはより多くの保証レベルに拡張することができることを理解されたい。たとえば、対応するトークン・カウントＴｇと、バースト・サイズＧＢＳと、情報レートＧＩＲとを有する第３トークン・パケットＧを想定する。ＧＢＳは、コミットされたバースト・サイズまたは超過バースト・サイズ以外のあらゆるバースト・サイズを表し、ＧＩＲは、コミットされた情報レートおよび超過情報レート以外のあらゆる情報レートを表す。この例では、Ｇは、「一般的」を表すと想定する。オレンジなど、第４パケット・カラーをさらに想定する。本発明の一実施形態によるプロセスは、以下の通りである。
開始：
トークン・バケットＣ、Ｅ、Ｇは、時間０において、それぞれ、トークンＴｃ、Ｔｅ、Ｔｇで満たされ、Ｔｃ＝ＣＢＳ、Ｔｅ＝ＥＢＳ、Ｔｇ＝ＧＢＳである。
その後、トークン・カウントＴｃ、Ｔｅ、Ｔｇは、以下のように、１秒あたりＣＩＲ回更新される：
Ｔｃ＜ＣＢＳの場合、Ｔｃ＝Ｔｃ＋１、そうでなければ、
Ｔｅ＜ＥＢＳの場合、Ｔｅ＝Ｔｅ＋１、そうでなければ、
Ｔｇ＜ＧＢＳの場合、Ｔｇ＝Ｔｇ＋１、そうでなければ、
Ｔｃ、Ｔｅ、Ｔｇのどれも、増大されない；
トークン・カウントＴｅとＴｇは、以下のように、１秒あたりＥＩＲ回更新される：
Ｔｅ＜ＥＢＳの場合、Ｔｅ＝Ｔｅ＋１、そうでなければ、
Ｔｇ＜ＧＢＳの場合、Ｔｇ＝Ｔｇ＋１；
トークン・カウントＴｇは、以下のように、１秒あたりＧＩＲ回更新される：
Ｔｇ＜ＧＢＳの場合、Ｔｇ＝Ｔｇ＋１
パケットが、カラー認識モードにおいて、時間ｔにサイズＢで到着したとき、計量デバイスは、以下のように動作する：
受信パケットが緑であり、かつＴｃ（ｔ）−Ｂ＞＝０の場合、パケットは緑であり、Ｔｃ＝Ｔｃ−Ｂ＞＝０
そうでなければ、
受信パケットが緑または黄であり、かつＴｅ（ｔ）−Ｂ＞＝０の場合、パケットは黄であり、Ｔｅ＝Ｔｅ−Ｂ＞＝０、そうでなければ、
受信パケットが緑または黄またはオレンジであり、かつＴｇ（ｔ）−Ｂ＞＝０の場合、パケットはオレンジであり、Ｔｇ＝Ｔｇ−Ｂ＞＝０、そうでなければ、
パケットは赤であり、Ｔｃ、Ｔｅ、およびＴｇのどれも、減少されない。
【００３４】
これまで、上記で記述した本発明の実施形態は、カラー認識モードでのカラー・マーカの動作を示している。図２を参照して、カラー無認識モードでのカラー・マーカの動作を示す本発明の実施形態２００を記述する。この実施形態では、計量デバイスは、スイッチまたはルータなど、ネットワーク・デバイスにおいて動作し、モードをカラー無認識に設定する。この場合、計量デバイスは、情報またはトラフィック・ストリームの一部としてネットワーク・デバイスにおいて受信されたあらゆるパケットが、無着色であると想定する。
【００３５】
モードの設定の他に、計量デバイスは、計量デバイスがカラー認識モードにおいて構成された本発明の実施形態を参照して上記で記述したのと全く同様に、トークン・バケットＣ、Ｅを初期設定する。したがって、計量デバイスは、２０５において、バイトで測定されるコミットされたバースト・サイズ（ＣＢＳ）に等しく、トークン・バケットが保持することができるトークンＴｃの最大数のトークンＴｃでトークン・バケットＣを満たす。さらに、計量デバイスは、トークン・バケットＣをトークンで満たすことができるレートをコミットされた情報レート（ＣＩＲ）に設定する。計量デバイスは、また、２０５において、トークンＴｅの最大数（ＥＢＳ）でトークン・バケットＥを初期設定する。計量デバイスは、トークン・バケットＥを同時にトークンで満たすことができる２つのレートを設定する：ＣＩＲ（Ｔｃ＝ＣＢＳのときのみ）ならびにＥＩＲ（Ｔｃ＝ＣＢＳであるかに関係しない）。
【００３６】
図２では、２１０において、計量デバイスは、本発明のカラー認識実施形態において記述したのと全く同様に、ＣＩＲのレートで、Ｔｃ＜ＣＢＳであるとき、トークン・カウントＴｃを継続して更新し、Ｔｃ＝ＣＢＳかつＴｅ＜ＥＢＳであるとき、トークン・カウントＴｅを継続して更新する。２１５において、計量デバイスは、Ｔｃ＝ＣＢＳかつＴｅ＜ＥＢＳのときＣＩＲのレートでトークン・カウントＴｅを増大させるのと平行して、Ｔｅ＜ＥＢＳのとき、トークン・バケットＥについてＥＩＲのレートでトークン・カウントＴｅを継続して増大させる。ＥＩＲ＞０である場合、本発明は、２レート３カラー・マーカとなことに留意されたい。しかし、ＥＩＲ＝０であり、したがってＰＩＲ＝ＣＩＲである場合、本発明は、単一レート３カラー・マーカとなる。したがって、本発明のこの実施形態の一例は、ＥＩＲ（またはＰＩＲ）の構成に応じて、単一レート・モードまたは２レート・モードにおいて動作することができる。
【００３７】
カラー無認識モードでは、Ｂバイトのサイズのパケットが時間ｔにおいて計量デバイスに到着したとき（２２０）、計量デバイスは、トークン・バケットＣがパケットを処理するのに十分なトークンを有しているかを２２５において検査し、そうである場合、２３０において、パケットを緑に着色して、パケットのバイト数だけ、トークン・バケットＣのトークン数を減少させる。計量デバイスが、トークン・バケットＣがパケットを処理するのに十分なトークンを有していない、すなわち、時間ｔにおけるトークン・バケットＣのトークン数からＢバイト減算したものがゼロより小さいと判定した場合、２３５において、計量デバイスは、トークン・バケットＥがパケットを処理するのに十分なトークンを有しているかを検査する。そうである場合、２４０において、計量デバイスは、パケットを黄に着色して、トークン・バケットＥのトークン数をパケットのバイト数だけ減少させる。トークン・バケットＣ、Ｅの両方とも、受信パケットを処理するのに十分なトークンを有していない場合、パケットは、２４５において赤に着色され、トークン数は、どちらのトークン・バケットにおいても減少されない。本発明の実施形態は、図２の戻り経路２５０、２５５によって示したように、動作を続行し、バケットが満たされるまでトークン・バケットＣ、Ｅのトークン・カウントを増大させる一方、他のパケットが到着するのを待機する。
【００３８】
本明細書における「一実施形態」または「実施形態」という言及は、実施形態に関連して記述される特定の特徴、構造、または特性が、本発明の少なくとも１つの実施形態に含まれることを意味することに留意されたい。本明細書の様々な箇所における「一実施形態」という区の出現は、必ずしも、すべてが同じ実施形態を指すわけではない。
【００３９】
詳細な記述のある部分は、たとえば、コンピュータ・メモリ内のデータに関するオペレーションのアルゴリズムおよび記号表示の観点で呈示される。これらのアルゴリズムの記述および表示は、データ処理分野の当業者によって、その作業の内容を他の当業者に最も効果的に伝達するために使用される手段である。
【００４０】
アルゴリズムは、ここでは、一般的に、望ましい結果をもたらすステップのシーケンスであると考慮される。ステップは、物理量の物理的な加工を必要とするものである。通常、これらの量は、記憶、転送、組合わせ、比較、そうでない場合は加工することができる電気信号または磁気信号の形態を取るが、必ずしもそうではない。主に一般的な使用の理由で、これらの信号を２進数のデジット、値、要素、記号、文字、項、数などとして参照することが便利であることが折に触れて実証されてきた。
【００４１】
しかし、これらおよび同様の用語のすべては、適切な物理量と関連付けられるべきであり、これらの量に適用される単なる便利なラベルであることを考慮されたい。特に断りのない限り、そうでない場合は記述を通した議論から明らかでない限り、「処理する」または「コンピュータ計算する」または「計算する」または「判定する」または「表示する」などの用語を使用する議論は、コンピュータ・システムのレジスタやメモリ内において物理（電子）量として表されたデータを、コンピュータ・システムのメモリまたはレジスタあるいは他のそのような情報記憶デバイス、伝送デバイス、もしくは表示デバイス内において物理量として同様に表される他のデータに加工したり、変換するコンピュータ・システムもしくは同様の電子計算デバイスの行為およびプロセスを指す。
【００４２】
本発明は、本明細書の動作を実施する装置にも関する。これらの装置は、必要な目的のために特別に構築することが可能であり、または、コンピュータに記憶されているコンピュータ・プログラムによって選択的に稼動もしくは再構成される汎用コンピュータを備えることが可能である。そのようなコンピュータ・プログラムは、フロッピ・ディスク、光記憶媒体、ＣＤ−ＲＯＭ、磁気光ディスクなどを含むあらゆるタイプの磁気または他のディスク記憶媒体、読取り専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気もしくは光カード、フラッシュ・メモリ素子などであるがこれに限定されないマシン読取り可能記憶媒体；伝播信号（搬送波、赤外線信号、デジタル信号など）の電気、光、音、または他の形態、または電子命令を記憶するのに適したあらゆるタイプの媒体に記憶することが可能である。
【００４３】
本明細書において呈示したアルゴリズムおよび表示は、あらゆる特定のコンピュータまたは他の装置に固有として関係付けられるものではない。様々な汎用システムを、本明細書の教示によるプログラムと共に使用することが可能であり、または、必要な方法ステップを実施するように、より専用の装置を構築することが好都合であることを立証することが可能である。さらに、本発明は、特定のプログラミング言語に関しては記述されていない。様々なプログラミング言語を使用して、本明細書において記述した本発明の教示を実施することが可能であることが理解されるであろう。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施形態の流れ図である。
【図２】本発明の実施形態の流れ図である。
【符号の説明】
【００４５】
Ｃ、Ｅ  トークン・バケット
Ｔｃ、Ｔｅ  トークン数
【図１】
2004343767.tif 000003
【図２】
2004343767.tif 000004