(57)【要約】制御遅延を伴うパケット（５４２）を転送するための機器（３０２）および方法が記載されている。一実施形態において、本発明は、少なくとも１つの制御遅延値のキュー時間の間に、１つの第１のクラスのパケットを保持する制御遅延キュー論理（５０８）と、キュー時間が制御遅延値に到達した際に、第１のクラスのパケットの伝送を可能にするために、第２のクラスのパケットの伝送を遅延させるか否かを判断するスケジューリング論理（５１４）とを含む。
2010502122.tif 000002
【特許請求の範囲】
【請求項１】
制御遅延を伴うパケットを転送する機器であって、
少なくとも制御遅延値のキュー時間の間、第１のクラスのパケットを保持する制御遅延キュー論理と、
該キュー時間が該制御遅延値に到達した際に、該第１のクラスのパケットの伝送を可能にするために、第２のクラスのパケットの伝送を遅延させるか否かを判断するスケジューリング論理と
を含む、機器。
【請求項２】
前記スケジューリング論理は、前記第２のクラスのパケットの伝送をスケジューリングし、該第２のクラスのパケットの伝送は、前記キュー時間が前記制御遅延値に到達する前に完了する、請求項１に記載の機器。
【請求項３】
前記スケジューリング論理は、前記キュー時間が前記制御遅延値に到達した際に、前記第１のクラスのパケットの伝送を可能にするために、第３のクラスのパケットの伝送を遅延させるか否かを判断する、請求項１に記載の機器。
【請求項４】
前記スケジューリング論理は、前記第３のクラスのパケットの伝送よりも、厳密により高い優先度を有する前記第２のクラスのパケットの伝送をスケジューリングする、請求項３に記載の機器。
【請求項５】
前記制御遅延値は、設定可能である、請求項１に記載の機器。
【請求項６】
前記制御遅延値は、最大の伝送単位間隔に、パケット間のギャップ間隔を加えたものを上回る、請求項１に記載の機器。
【請求項７】
タイムスタンプ情報をパケットに添付するタイムスタンプ論理をさらに含む、請求項１に記載の機器。
【請求項８】
前記タイムスタンプ情報は、前記キュー時間が前記制御遅延値に到達した際の判断の一環として、前記制御遅延キュー論理によってアクセスされる、請求項７に記載の機器。
【請求項９】
パケットを前記制御遅延キュー論理に送信するか否かを判断する監視論理をさらに含む、請求項１に記載の機器。
【請求項１０】
前記スケジューリング論理は、先制優先クラスのパケットの伝送をスケジューリングし、前記制御遅延キュー論理は、該先制優先クラスのパケットの伝送が、前記キュー時間が前記制御遅延値を超過した後に完了する場合に、前記第１のクラスのパケットをドロップする、請求項１に記載の機器。
【請求項１１】
前記第１のクラスのパケットは、ネットワークタイミングパケットを含む、請求項１０に記載の機器。
【請求項１２】
前記先制優先クラスのパケットを形成する形成論理をさらに含む、請求項１０に記載の機器。
【請求項１３】
前記先制優先クラスのパケットを監視する監視論理をさらに含む、請求項１０に記載の機器。
【請求項１４】
制御転送遅延によってパケットを転送する方法であって、
少なくとも制御遅延値のキュー時間の間、第１のクラスのパケットを保持することと、
該キュー時間が前記制御遅延値に到達するまで、第２のクラスのパケットの伝送を遅延させるか否かを判断することと
を含む、方法。
【請求項１５】
前記キュー時間が前記制御遅延値に到達した際に、前記第１のクラスのパケットの伝送を可能にするために、前記第２のクラスのパケットの伝送を遅延させるか否かを判断することをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記キュー時間が前記制御遅延値に到達した際に、前記第１のクラスのパケットの伝送を可能にするために、第３のクラスのパケットの伝送を遅延させるか否かを判断することをさらに含む、請求項１４に記載の方法。
【請求項１７】
前記制御遅延値を判断するために前記制御遅延キュー論理によってアクセスされるタイムスタンプ情報によって、前記第１のクラスのパケットにタイムスタンプすることをさらに含む、請求項１４に記載の方法。
【請求項１８】
先制優先クラスのパケットを伝送することと、
該先制優先クラスのパケットの伝送が、前記キュー時間が前記制御遅延値を超過した後に完了する場合に、前記第１のクラスのパケットをドロップすることと
をさらに含む、請求項１４に記載の方法。
【請求項１９】
前記先制優先クラスのパケットを形成することをさらに含む、請求項１８に記載の方法。
【請求項２０】
クライアントをタイムサーバに同期化する方法であって、
タイミングパケット情報を該タイムサーバにおいて生成することと、
少なくとも１つのスイッチング装置を介して該タイミングパケット情報を転送することであって、該転送することは、該タイミングパケット情報のキュー時間が制御遅延値に到達した後まで、データパケット情報の伝送を遅延するか否かを該少なくとも１つのスイッチング装置において判断することを含む、ことと、
該タイミングパケット情報を該クライアントにおいて受信することと、
該タイミングパケット情報の処理に基づいて、該クライアントのタイミングを同期化することと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の引用）
本出願は、米国仮特許出願第６０／８３９，４６５号（２００６年８月２２日出願）の優先権を主張し、その全体が参考として本明細書に援用される。
【０００２】
（発明の分野）
本発明は、概して、コンピュータネットワークのパケットトラフィックの処理に関する。より具体的には、本発明は、ジッタの累積を最小限にするために、それぞれのネットワーク装置における制御された遅延によるパケットの転送を対象とする。
【背景技術】
【０００３】
近年、Ｈ．２６１、Ｈ．３２３、およびＩＰＴＶのような擬似ワイヤエミュレーション（Ｐｓｅｕｄｏ−Ｗｉｒｅ  Ｅｍｕｌａｔｉｏｎ：ＰＷＥ）、ボイスオーバーＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ：ＶｏＩＰ）、ビデオ会議、およびブロードキャスト、マルチキャストならびにメニーキャストストリーミングサービスを含む、コンピュータネットワークにおけるリアルタイムのアプリケーションおよびサービスの送達への要求が急増してきている。これらのリアルタイムサービスは、高いサービスの質を保証するために、高精度の時間調節を必要とする場合がある。例えば、ソースとディスティネーションとの間のクロックの不整合によるデータ損失を排除することが望ましい。これは、グローバルポジショニングシステム（ＧＰＳ）基準のような、ソースおよびディスティネーションにおいて高精度のタイミング基準を提供すること、またはＳｔｒａｔｕｍ２のルビジウム発振器のようなより質が低い発振器によって提供することによって実行できるが、Ｓｔｒａｔｕｍ２のクロック品質に関する仕様はＴｅｌｃｏｒｄｉａ  ＧＲ−１２４４−ＣＯＲＥにおいて提供される。しかしながら、同時に、これらのタイミング基準のノード毎の配置に起因する実質的なコストを削減することが望ましい。
【０００４】
図１は、タイミング情報をクライアント装置１０６Ａ〜１０６Ｎに提供する、単一のタイムサーバ１００を含む、ネットワークアーキテクチャを説明する。タイムサーバ１００は、ネットワークタイムプロトコル（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ：ＮＴＰ）サーバであってもよく、タイミング情報は、タイムリレーサーバ１０４へのネットワーク１１０を横断するタイミングパケット１０１に含まれていてもよい。これらのタイミングパケット１０１は、ネットワーク１１０のスイッチング装置１０２Ａ〜１０２Ｎを横断する。それぞれのスイッチング装置１０２において、タイミングパケット１０１は、データパケット１２０と多重化される。それぞれのスイッチング装置１０２は、蓄積転送型キュー等の従来のキューを使用することができる。タイムリレーサーバ１０４は、タイミングパケット１０１に含まれるタイムサーバ１００からのタイミング情報と同期化し、かつタイミングパケット１０５Ａ〜１０５Ｎに含まれるタイミング情報をクライアント１０６Ａ〜１０６Ｎへ生成および伝送することができる。クライアント１０６は、タイムリレーサーバ１０４から受信したタイミングパケット１０５と同期化することができる。
【０００５】
タイミング精度を制限する重要な事実の１つは、タイミングパケット１０１が、データパケット１２０との多重化により経験するネットワーク遅延における変動であり、ネットワークジッタとして知られる。ネットワークジッタの最小化、およびそれに対応してタイミングパケット１０１が経験するネットワーク遅延の厳密な限界設定により、タイミング配信プロトコルのタイミング精度を高め、リアルタイムネットワークアプリケーションおよびサービスの質を向上させる。公衆インターネット上のタイミング配信プロトコルＮＴＰｖ４のタイミング精度は、約１０ミリ秒であり、ローカルエリアネットワークでは、ＮＴＰｖ４のタイミング精度は、約数百マイクロ秒であり得る。実際、Ｓｔｒａｔｕｍ１基準のクロックの標準偏差が１００ナノ秒である入力ジッタには、フィルタをかけて、Ｓｔｒａｔｕｍ２品質のタイミング配信を提供することができるが、これはそれぞれのクライアント１０６におけるＧＰＳ基準またはＳｔｒａｔｕｍ２のルビジウム発振器の必要性を取り除くことが望ましい。しかしながら、従来のＮＴＰｖ４の実装のタイミング精度は、Ｓｔｒａｔｕｍ２品質のタイミングの配信に必要とされるものからはかけ離れていると考えられる。
【０００６】
パケットネットワークにおいて、遅延は、主に、物理媒体上の局間伝送遅延、および通過ホップ遅延である。タイミングパケット１０１等のパケットは、スイッチング装置１０２等の通過局間の伝送遅延、ならびにそれぞれのスイッチング装置１０２における媒体アクセス制御（ＭＡＣ）遅延およびキュー遅延を含む通過ホップ遅延を経験する。終端間遅延は、タイミングパケット１０１が、タイムサーバ１００等のソースからタイムリレー１０４等のディスティネーションまでにおいて経験する、総合遅延である。終端間遅延は、通過ホップ毎に経験するすべての遅延に加えて、ソースおよびディスティネーションノードでのＭＡＣならびにキュー遅延を含む。
【０００７】
伝送遅延は、信号が、関連する物理媒体上で光の速度で移動する距離による遅延である。通常操作において、伝送遅延は、熱的効果および日周性（ｄｉｕｒｎａｌ）効果により、ゆっくりと変動する。ゆっくりと変動する遅延変動は、ワンダとして知られる。ほとんどのネットワークにおける熱的効果および日周性効果による伝送ワンダは、５０００キロメーターのファイバ上で約１００ナノ秒と一般的に小さく、追跡および容易な補正が可能である。
【０００８】
図２は、媒体アクセス制御遅延２００およびネットワークキュー遅延２０２の構成成分を説明し、タイミングパケット１０１としてのこれらの構成成分の累積は、ネットワークスイッチ１０２を横断する。媒体アクセス制御遅延２００は、媒体アクセス（ＭＡ）最小遅延２１０と、ＭＡジッタ２１２と、同期化ジッタ２１４とを含む。ネットワークキュー遅延２０２は、ネットワークキュー（ＮＱ）最小遅延２１６と、ＮＱジッタ２１８とを含む。タイミングパケット１０１等のネットワークスイッチ１０２を通過するパケットは、最早の可能なパケット伝送時間２３０での伝送の前に、（ＭＡ最小遅延２１０＋ＮＱ最小遅延２１６）程度のわずかな遅延を経験し得る。この場合、ジッタの構成成分のすべては、ゼロである。一般的に、ネットワークスイッチ１０２を通過するパケットは、実際のパケット伝送時間２３２での伝送の前に、（ＭＡ最小遅延２１０＋ＭＡジッタ２１２＋同期化ジッタ２１４＋ＮＱ最小遅延２１６＋ＮＱジッタ２１８）の遅延を経験し得る。Ｎ個のネットワークスイッチ１０２を通って蓄積した最小通過遅延は、Ｎ＊（ＭＡ最小遅延２１０＋ＮＱ最小遅延２１６）であり得る。Ｎ個のネットワークスイッチ１０２を通ったジッタは、標準偏差（最大（ＭＡジッタ２１２）＋最大（同期化ジッタ２１４）＋最大（ＮＱジッタ２１８））＊（Ｎ／１２）１／２で一様に配信され得る。
【０００９】
ＭＡ遅延２００は、物理媒体での伝送をスケジューリングするプロトコルによるものであり、ビット伝送レート、パケット間ギャップ、パケット分解、逆多重化および類似の効果に依存する。１００Ｍｂｐｓでの２地点間の全二重イーサネット（登録商標）リンク操作の場合、ＭＡ遅延２００は、主に、ネットワークスイッチ１０２内でＭＡＣ装置から伝送されたパケットの開始と、前述のパケットの終了との間の９６ビットのパケット間ギャップ（Ｉｎｔｅｒ−Ｐａｃｋｅｔ  Ｇａｐ：ＩＰＧ）、ならびに最小ＭＡＣ処理遅延を含むいくつかのＭＡ最小遅延２１０によるものである。蓄積転送型通過キュー等の従来のキュー手法は、タイミングパケット１０１等のネットワークスイッチ１０２を通過するパケットを、予想外に遅延させる。これは、ネットワークスイッチ１０２で挿入されたデータパケット１２０等のパケットの伝送の終了後に、完全な９６ビットＩＰＧまたはその一部が、発信リンク（ｏｕｔｇｏｉｎｇ  ｌｉｎｋ）に挿入される必要があり得るためである。１００Ｍｂｐｓでは、ＩＰＧによるこのＭＡジッタ２１２は、０から９６ビット、または０から９６０ナノ秒である。タイムサーバ１００からクライアント１０６へのパスに沿ったそれぞれのネットワーク装置は、ＭＡジッタ２１２を経験する可能性があることから、ＭＡジッタ２１２単独による複数のネットワークスイッチ１０２の蓄積された終端間ジッタの標準偏差は、Ｓｔｒａｔｕｍ２のタイミングの配信を対象とする１００ナノ秒をはるかに超過する。例えば、ＭＡジッタ２１２のみによる１００個のネットワークスイッチ１０２の後の蓄積されたジッタの標準偏差は、９６０ナノ秒＊（１００／１２）１／２＝２．７７マイクロ秒である。これは、従来の蓄積転送型通過キューが、パケットネットワークにおけるＳｔｒａｔｕｍの時間および周波数の高精度伝送には許容できない可能性があることを意味する。
【００１０】
ＭＡＣ遅延２００の変動の二次的原因は、パケットデータをクロックドメインに通過させる際の、フリップフロップの多重安定を阻止するために必要な同期化による。それぞれの同期化段階に対する不確実性は、同期クロックの１つのクロックサイクルであり得る。例えば、タイミングパケット１０１がネットワークスイッチ１０２で受信された後、タイミングパケット１０１は、ネットワークスイッチ１０２の伝送ＭＡＣインターフェースクロックの次の立ち上がりエッジで伝送され得る。この場合、同期化ジッタ２１４は、伝送ＭＡＣインターフェースクロックの１つのクロックサイクルによって限界設定され得る。１００Ｍｂｐｓイーサネット（登録商標）では、伝送ＭＡＣインターフェースクロックの根本的な速度は、１００ＭＨｚである。結果として生じる同期化ジッタは、一様に分配され、ネットワークスイッチ１０２当たり０から１０ナノ秒の間で限界設定される。同期化ジッタ２１４のみによる１００個のネットワークスイッチ１０２の後の蓄積されたジッタの標準偏差は、１０ナノ秒＊（１００／１２）１／２＝２８．８６ナノ秒である。これは、単独で蓄積された同期化ジッタ２１４の標準偏差が、Ｓｔｒａｔｕｍ２品質のタイミングの配信を対象とした１００ナノ秒以内であると考えられることを意味する。
【００１１】
ネットワークキュー遅延２０２は、おそらく、ネットワークにおける遅延およびジッタの最大の発生源である。ネットワークキューは、通過タイミングパケット１０１、およびネットワークスイッチ１０２で多重化された入力データパケット１２０等の、同一の所望の出力ポートを有する多様な入力ポートから到着するパケットから生じる出力ポートの競合によって引き起こされる可能性がある。単一のパケットのみが、任意の所与の時間でネットワークスイッチ１０２から出ることができるので、他の全ての競合するパケットもキューに入るか、またはドロップされ得る。ＮＱ最小遅延２１６およびＮＱジッタ２１８の大きさ（ｍａｇｎｉｔｕｄｅ）は、代表的な例として示される。標準イーサネット（登録商標）の実装は、１５１８バイトの最大パケットサイズ、すなわち最大転送単位（Ｍａｘｉｍｕｍ  Ｔｒａｎｓｆｅｒ  Ｕｎｉｔ：ＭＴＵ）を有する。ＩＰＧ伝送時間を除き、１００Ｍｂｐｓで１５１８バイトのパケットを伝送する時間は、１２１．４４マイクロ秒である。最小サイズである６４バイトのパケットの伝送時間は、５．１２マイクロ秒であり得る。１００Ｍｂｐｓのイーサネット（登録商標）の蓄積転送型ネットワークでは、ＮＱ最小遅延２１６は、例えば、その直前のパケットまたはそれと多重化されたパケットを伴わない６４バイトのタイミングパケット１０１のキュー時間に対し、５．１２マイクロ秒であり得る。タイミングパケット１０１が、すべてのデータパケット１２０よりも厳密な優先度を有するものと想定すると、最大ＮＱジッタ２１８は、例えば、完全な１５１８バイトデータパケット１２０がその前で多重化されることを待機する６４バイトのタイミングパケット１０１のキュー時間に対して、１２１．４４マイクロ秒であり得る（１ミリ秒をはるかに超過する遅延が別途生じる可能性があることに留意されたい）。このＮＱジッタ２１８は、タイムサーバ１００からタイムリレーサーバ１０４へ転送される際に、タイミングパケット１０１によって横断されるすべてのネットワークスイッチ１０２で発生し得る。ＮＱジッタ２１８のみによる１００個のネットワークスイッチ１０２の後の蓄積されたジッタの標準偏差は、少なくとも１２１．４４マイクロ秒＊（１００／１２）１／２＝３５０．５７マイクロ秒であり得る（実際のネットワークにおいては、蓄積されたＮＱジッタ２１８の標準偏差は、多くのネットワークトラフィックパターンの自己相似性により、これよりもずっと高い場合があることに留意されたい）。これは、単独で蓄積されたＮＱジッタ２１８の標準偏差が、Ｓｔｒａｔｕｍ２品質のタイミング配信の目標となる１００ナノ秒をはるかに超過すると考えられることを意味する。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
以上の考察は、従来の蓄積転送型キューを使用した多くのネットワークスイッチ１０２を横断する、タイミングパケット１０１によって蓄積されたジッタの標準偏差は、Ｓｔｒａｔｕｍ２のタイミングに対する１００ナノ秒といった、高精度のネットワークタイミングを提供するためにフィルタがかけられ得る、目標の標準偏差よりもはるかに高いと考えられることを示す。さらに、この蓄積されたジッタの統計量は、自己相似のトラフィックパターンに極めて大きく依存する可能性があるため、フィルタをかけるには非常に複雑すぎる可能性がある。この欠点に対処するために、それぞれのネットワークスイッチ１０２において、ＭＡジッタ２１２およびＮＱジッタ２１８のほとんどまたはすべてを排除する、パケットを転送するための機構を提供することが望ましいと考えられ、それらは、大いにタイミングパケット１０１の通過に影響を及ぼす、ジッタ累積の主要原因と考えられる。これにより、タイミングパケット１０１を１００マイクロ秒未満の蓄積されたジッタの標準偏差で配信することを可能にし得る。ＮＱジッタ２１８の排除または削減によって、実行する必要があり得る全てのフィルタリングを実質的に簡略化することができる。
【課題を解決するための手段】
【００１３】
制御された遅延を伴ってパケットを転送する機器および方法が記載される。本発明の一実施形態は、少なくとも制御遅延値のキュー時間の間、第１のクラスのパケットを保持するための制御遅延キュー論理を含む。スケジューリング論理は、キュー時間が制御遅延値に到達した際に、第１のクラスのパケットの伝送を可能にするように、第２のクラスのパケットの伝送を遅延させるか否かを判断する。
【００１４】
クライアントをタイムサーバに同期化する方法も記載される。タイミングパケット情報は、タイムサーバで生成される。タイミングパケット情報は、少なくとも１つのスイッチング装置を介して転送される。この転送操作は、少なくとも１つのスイッチング装置において、タイミングパケット情報のキュー時間が制御遅延値に到達した後まで、データパケット情報の伝送を遅延させるか否かを判断するステップを含む。タイミングパケット情報は、クライアントにおいて受信される。クライアントのタイミングは、タイミングパケット情報の処理に基づいて同期化される。
【００１５】
本発明の性質および目的をより理解するために、添付の図面と併せて、以下の発明を実施するための最良の形態を参照されたい。
【図面の簡単な説明】
【００１６】
【図１】図１は、先行技術による、タイミング情報をクライアント装置に提供する単一のタイムサーバを含む、ネットワークアーキテクチャを説明する図である。
【図２】図２は、媒体アクセス制御遅延およびネットワークキュー遅延の構成成分を説明する図であり、先行技術により、タイミングパケットとしてのこれらの構成成分の累積は、ネットワークスイッチを横断する。
【図３】図３は、本発明の一実施形態による、制御遅延機能をネットワークのそれぞれのスイッチング装置に加えた、図１のネットワークアーキテクチャの実施形態を説明する図である。
【図４】図４は、本発明の一実施形態による、ＭＡジッタおよびＮＱジッタを排除するための、ネットワークスイッチにおける制御遅延パケット転送機能による制御遅延の適用を説明する図である。
【図５】図５は、本発明の一実施形態による、制御遅延パケットモジュールを伴ってネットワークスイッチを通過する、パケットトラフィックに影響を及ぼす主要な機能ブロックの論理ブロック図を説明する図である。
【図６】図６は、本発明の一実施形態による、先制優先、制御遅延、および他の優先度がより低いパケットのスケジューリングに関連する操作を説明する図である。
【発明を実施するための形態】
【００１７】
制御遅延パケットの転送は、ホップ毎に増加した遅延を、ホップ毎に減少したジッタで相殺することにより、通過ホップ毎のジッタのほとんどまたはすべてを排除することができる。制御遅延パケット転送は、制御遅延パケットが、ＭＡジッタ２１２またはＮＱジッタ２１８等の、最大のジッタ源を通過ホップ毎に経験しないように、十分に大きな制御遅延を、制御遅延パケットに適用することによって作用する。これにより、それぞれの通過ホップにおける制御遅延パケットを転送するための予測可能な遅延およびジッタを保証する。制御遅延パケット転送は、厳しいジッタ累積要件を有し、かつ、多くの通過ホップを横断する可能性がある、タイムサーバから配信されたＮＴＰパケット等のタイミングパケットに特に有用である。制御遅延パケット転送を使用し、ＮＴＰユニキャスト、メニーキャスト、マルチキャスト、およびブロードキャストパケットを、ほぼ一定の遅延、および小さく、かつ統計的に整合した挙動のジッタを伴って、それぞれの通過ホップを介して転送することができる。
【００１８】
図３は、本発明の一実施形態による、制御遅延モジュール３２０が、ネットワーク３１０におけるそれぞれのスイッチング装置３０２に制御遅延パケット転送機能を挿入する、図１のネットワークアーキテクチャの実施形態を説明する。タイムリレーサーバ１０４は、タイミングパケット３０５Ａ〜３０５Ｎに含まれるタイミング情報をクライアント１０６Ａ〜１０６Ｎに生成および伝送し得る。クライアント１０６は、タイムリレーサーバ１０４から受信されたタイミングパケット３０５に同期化し得る。一実施形態において、制御遅延モジュール３２０は、制御遅延を制御遅延パケットとして識別可能なパケットのサブセットに適用する通過キュー機構であってもよい。パケットのこのサブセットは、タイミングパケット１０１のみを含むか、タイミングパケット１０１および付加的なタイミングに関連しないパケットを含み得る。
【００１９】
図４は、本発明の一実施形態による、ＭＡジッタ２１２およびＮＱジッタ２１８を排除するための、ネットワークスイッチ３０２における制御遅延モジュール３２０による、制御遅延４００の適用を説明する。制御遅延パケットの転送は、制御遅延パケットが、いかなるＭＡジッタ２１２またはＮＱジッタ２１８も経験しないように、十分に大きな制御遅延４００を制御遅延パケットに適用する。制御遅延４００は、最悪の場合のＭＡジッタ２１２およびＮＱジッタ２１８を想定すれば、従来のネットワークスイッチ１０２を通過するときは、ネットワークスイッチ３０２の制御遅延モジュール３２０によって制御遅延パケットとして識別可能な任意のパケットを経験するであろう、通過遅延以上の制御遅延値を有する可能性がある。制御遅延値は、従来のネットワークスイッチ１０２を横断するためのパケットである、すべての制御遅延パケット全体での（ＭＡ最小遅延２１０＋ＭＡジッタ２１２＋ＮＱ最小遅延２１６＋ＮＱジッタ２１８）の最大値に等しいかそれより大きくあるべきである。したがって、制御遅延値は、ＭＴＵ間隔（最悪の場合のＮＱジッタ２１８）にＩＰＧ間隔（最悪の場合のＭＡジッタ２１２）を加えたものを上回るべきである。この制御遅延値は、ネットワーク操作者により設定可能であってもよい。
【００２０】
タイミングパケット１０１等のネットワークスイッチ３０２を通過する制御遅延パケットは、ネットワークスイッチ３０２での受信から、最早の可能なパケット伝送時間４０２での伝送までの（制御遅延４００）ほどわずかな遅延を経験し得る。この場合、同期化ジッタ２１４はゼロである。一般的に、ネットワークスイッチ３０２を横断するパケットは、実際のパケット伝送時間４０４での伝送の前に、（制御遅延４００＋同期化ジッタ２１４）の遅延を経験し得る。これは、制御遅延パケット転送が、ＭＡジッタ２１２およびＮＱジッタ２１８を排除し、ずっと小さな同期化ジッタ２１４のみを残すことができることを示す。Ｎ個のネットワークスイッチ３０２を通って蓄積された最小通過遅延は、Ｎ＊（制御遅延４００）であり得る。Ｎ個のネットワークスイッチ１０２のジッタは、標準偏差（最大（同期化ジッタ２１４））＊（Ｎ／１２）１／２で一様に配信され得る。
【００２１】
制御遅延パケット転送のための最小通過遅延は、従来の蓄積転送型キューのためのものよりも大きいが、この遅延は、従来のリアルタイムサービスに依然として許容可能である。例えば、すべての制御遅延パケットが６４バイトであり、すべてのデータパケット１２０よりも厳密な優先度を有していると想定すると、１５１８バイトＭＴＵおよび９６ビットＩＰＧを有する１００Ｍｂｐｓのイーサネット（登録商標）ネットワークにおけるネットワークスイッチ１０２に対する制御遅延４００は、少なくとも（９６０ナノ秒＋１２１．４４マイクロ秒）＝１２２．４マイクロ秒に設定され得る。そこで、１００個のネットワークスイッチ１０２通る遅延は、約１２．２ミリ秒である。
【００２２】
概念的に、最小通過遅延は、小さな同期化ジッタ２１４を除き、従来の蓄積転送型ネットワークにおける遅延に対する上限として考えられることが可能である。前述のとおり、１００Ｍｂｐｓのイーサネット（登録商標）ネットワークの１００個のネットワークスイッチ１０２を通って蓄積された同期化ジッタ２１４の標準偏差は、２８．８６ナノ秒である。このジッタは、小さい、かつ統計的に整合して動作するものであり、タイミング源１００によって提供された元のタイミング情報の高精度の再現を得るために、タイムリレーサーバ１０４および／またはクライアント１０６でローパスフィルタをかけることもできる。
【００２３】
一実施形態において、制御遅延４００の適用により排除されない同期化ジッタ２１４を超える、ジッタの付加的な発生源があり得る。このジッタは、ネットワークスイッチ３０２によって生成された先制優先パケットによる制御遅延パケットの先制権に起因し得る。制御遅延パケットは、先制権を有しないデータパケット１２０よりも高い伝送優先度を有するべきであり、このより高い伝送優先度によって、それぞれの制御遅延パケットを、制御遅延４００（ならびに、データパケット１２０とは無関係の小さな同期化ジッタ２１４）の満了時点で伝送することができるということを保証する。しかしながら、制御遅延パケットは、先制優先パケットよりも低い伝送優先度を有する。これに対する理由の１つは、先制優先度パケットが、ネットワークスイッチ３０２の安定性があり予測可能な操作に不可欠である、キープアライブインジケータまたはパケット通信アラーム状態等の制御パケットを含み得ることである。この先制優先トラフィックは、一般的に狭い帯域幅であるが、至急の処理を必要とする。制御遅延パケットと比較して、先制優先パケットのより高い伝送優先度は、制御遅延パケットが、先制優先パケットの継続中の伝送により、制御遅延４００の満了時点では伝送できない場合があることを意味する。その結果、制御遅延パケットは、ドロップされ得るが、その理由は、制御遅延パケットが、制御遅延転送を必要とするが、保証された送達を必要としない場合があるからである。例えば、タイミングパケット１０１は、定期的に送信されてもよいため、同期化ジッタ２１４上のジッタを経験する所与のタイミングパケット１０１は、もはや有用ではない場合がある。制御遅延パケットは、伝送中の、または伝送待ちの先制優先パケットが無い、第１の利用可能な時間において伝送されてもよい。
【００２４】
図５は、本発明の一実施形態による、制御遅延モジュール３２０を用いてネットワークスイッチ３０２を通過するパケットトラフィックに影響を及ぼす、主要な機能ブロックの論理ブロック図を説明する。図５は、入力通過パケット５４２および出力パケット５４４を伴う１つの通過パスを示すが、これは通過パケット５４２を、ネットワークスイッチ３０２からの入力制御パケット５３０および入力データパケット５４０と併合することに起因する。双方向ネットワークスイッチ３０２に関しては、典型的に２つの通過パスがある。ネットワークスイッチ３０２の通過パスは、１つ以上の集積回路、フィールド・プログラマブル・ゲート・アレイ、ネットワークプロセッサ、または他の設定可能もしくはプログラム可能なハードウェア構成要素として実装されてもよい。
【００２５】
一実施形態において、制御遅延モジュール３２０は、制御遅延キュー論理５０８およびスケジューリング論理５１４を含む。他の実施形態において、制御遅延モジュール３２０は、制御遅延キュー論理５０８およびスケジューリング論理５１４に加えて、図５に示される他の論理モジュールを含み得ることが理解されよう。
【００２６】
入力通過パケット５４２は、ネットワークスイッチ３０２の媒体アクセス論理５００によって受信される。媒体アクセス論理５００は、ネットワーキングプロトコル層の開放型システム間の相互接続（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ：ＯＳＩ）参照モデルの物理層および媒体アクセス制御副層に関連する受信機能を実施することができる。次いで、タイムスタンプ処理論理５０２は、通過パケット５４２がタイムスタンプ処理論理５０２で受信された時間を示すタイムスタンプ情報を、通過パケット５４２に添付し得る。この時間は、グローバルポジショニングシステム（ＧＰＳ）等のグローバル時間基準、またはネットワークスイッチ３０２のみにおいて意味を有するローカル時間基準を参照し得る。次いで、分類論理５０４は、通過パケット５４２を処理し、通過パケット５４２が、ＮＴＰブロードキャストパケット等の制御遅延パケット、キープアライブ制御パケットまたは自動範囲調節パケット等の先制優先パケット、もしくはインターネット・エンジニアリング・タスク・フォース（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ：ＩＥＴＦ）差別化サービス作業グループ（Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ）により定義される、完全優先転送（Ｅｘｐｅｄｉｔｅｄ  Ｆｏｒｗａｒｄｉｎｇ：ＥＦ）、相対的優先転送（Ａｓｓｕｒｅｄ  Ｆｏｒｗａｒｄｉｎｇ：ＡＦ）、またはベストエフォート型（Ｂｅｓｔ  Ｅｆｆｏｒｔ：ＢＥ）等のパケットサービスに対する典型的な優先レベルのパケットか否かを判断し得る。一実施形態において、自動範囲調節パケット等の制御パケットは、第２の通過パスへ向かう第１の通過パスで、分類論理５０４によってループバックされ得る。次いで、このループバックトラフィックは、第２の通過パスにおいて分類論理の出力と多重化され得る。
【００２７】
監視論理５０６は、通過パケット５４２の制御遅延キュー論理５０８に対する許容性を判断し得る。分類論理５６４からのループバックパケットとの通過パケット５４２の競合（反対方向の通過パス上における）は、ループバックパケットを監視または
形成することによって解決され得る。制御遅延キュー論理５０８に許容不可能なパケット
は、従来のキュー論理５１０に向けられ得る。従来のキュー論理５１０は、例えば、１つのキューがそれぞれ先制優先パケット、ＥＦパケット、ＡＦパケット、およびＢＥパケットのためのものである複数のキューを含み得る。ネットワークスイッチ３０２を管理するソフトウェアを実行する中央処理装置（ＣＰＵ）によって生成される制御パケット等の入力制御パケット５３０は、先制優先キューのキューに入れられ得る。データパケット１２０を含み得る入力データパケット５４０は、ＥＦ、ＡＦ、またはＢＥキューのキューに入れられ得る。
【００２８】
制御遅延キュー論理５０８は、キュー時間が制御遅延値に到達するまで、通過パケット５４２を保持し得る。制御遅延キュー論理５０８が、通過パケット５４２のキュー時間が、制御遅延値に到達したと判断した際に、制御遅延キュー論理５０８は、スケジューリング論理５１４に指示を提供する。制御遅延値は、所定の、または設定可能な固定の数のクロックサイクルであり得、そのクロックサイクルは、最大伝送単位（ＭＴＵ）に、適用可能なＭＡＣプロトコルのパケット間のギャップ（ＩＰＧ）サイズを加えたもの以上である。一実施形態において、キュー時間は、制御遅延キュー論理５０８に通過パケット５４２が到着すると開始され得る。制御遅延キュー論理５０８は、制御遅延値の間ずっと、通過パケット５４２を格納することができる。別の実施形態において、キュー時間は、タイムスタンプ処理論理５０２によって通過パケット５４２に添付されたタイムスタンプ情報に指示された時間に開始し得る。制御遅延キュー論理５０８は、タイムスタンプ処理論理５０２によって通過パケット５４２に添付されたタイムスタンプ情報にアクセスすることができ、通過パケット５４２に添付されたタイムスタンプ情報に指示された時間後の制御遅延値まで、通過パケット５４２をキューに入れることを判断することができる。制御遅延キュー論理５０８は、先入れ先出し（ｆｉｒｓｔ−ｉｎ  ｆｉｒｓｔ−ｏｕｔ：ＦＩＦＯ）メモリとして、またはタイムスタンプ処理論理５０２によって通過パケット５４２に添付されたタイムスタンプ情報に制御遅延値を加えたものに等しい、関連する出口（ｅｇｒｅｓｓ）タイムスタンプを伴うリンクリストとして実装され得る。
【００２９】
スケジューリング論理５１４は、制御遅延キュー論理５０８および従来のキュー論理５１０によってキューに入れられたパケットをスケジューリングし得る。このスケジューリングは、制御遅延キュー、先制優先キュー、またはＥＦ、ＡＦ、およびＢＥキューのうちの１つからのパケットの選択を可能にする、優先スキームに基づき得る。前述のように、概念的に、スケジューリング論理５１４は、優先度が最も高い先制優先キューからのパケット、次いで降順に制御遅延キュー、ＥＦキュー、ＡＦキュー、およびＢＥキューからのパケットを伝送し得る。あるいは、キュー間の優先度は、所望のネットワーク動作に一致する任意の方法で判断することができる。スケジューリング論理５１４は、制御遅延キューから伝送されたそれぞれのパケットが、小さな付加的な同期化ジッタ２１４を除き、そのパケットに対するキュー遅延が制御遅延値に到達した際に、伝送されることを保証すべきである。制御遅延パケットの伝送が、先制優先パケットの継続中の伝送により、キュー遅延が制御遅延値に到達する時間を越えて遅延した場合に、スケジューリング論理５１４は、制御遅延キュー論理５０８に制御遅延パケットを全体としてドロップするように指示し得る。本実施形態において、スケジューリング論理５１４は、伝送の処理中の任意のパケットをそのソースキューとは無関係に、完了まで伝送し続けることを可能にする。
【００３０】
統計値収集論理５２０は、それぞれのキューに伝送され、ドロップされたパケット数等の制御遅延キュー論理５０８および従来のキュー論理５１０の操作に関連する統計値、ならびにネットワークスイッチ３０２のそれぞれの入口（ｉｎｇｒｅｓｓ）および出口（ｅｇｒｅｓｓ）ポートの統計値を収集する。入口（ｉｎｇｒｅｓｓ）および出口（ｅｇｒｅｓｓ）ポートは、物理ポートまたは論理ポートであってもよい。統計値収集論理５２０もまた、他の任意の論理ブロックに関連する統計値を収集し得る。監視／形成論理５１２は、先制優先パケットを監視または形成し得る。先制優先トラフィックに利用可能な１秒当たりのバイト数による平均速度、およびバイト数によるバーストサイズを小さな値に制限することにより、この監視または形成は、先制優先トラフィックの一定の遅延トラフィックにおける影響を最小にし得る。
【００３１】
スケジューリング論理５１４は、伝送のための出力パケット５４４として、通過パケット５４２、制御パケット５３０、またはデータパケット５４０を選択する。次いで、タイムスタンプ論理５１６は、タイムスタンプ処理論理５０２によって通過パケット５４２に添付されたタイムスタンプ情報等の、出力パケット５４４に添付された任意のタイムスタンプ情報を削除し得る。そのパケットが、制御パケット５３０またはデータパケット５４０である場合、出力パケット５４４に添付されたタイムスタンプ情報は無い可能性がある。次いで、出力パケット５４４は、媒体アクセス論理５１８に伝送され、続いて、ネットワークスイッチ３０２から伝送される。
【００３２】
図６は、本発明の一実施形態による、先制優先パケット、制御遅延パケット、および他の優先度がより低いパケットのスケジューリングに関連する操作を説明する。スケジューリング論理５１４は、伝送の準備が整っている先制優先パケットがあるか否かをチェックする（ブロック６００）。スケジューリング論理５１４は、先制優先パケットがキューに入っているか否かを判断するために、従来のキュー論理５１０を用いてチェックし、およびキューの先頭の先制優先パケットの伝送を可能にする監視器／形成器に十分なトークンがあるか否かを判断するために、監視／形成論理５１２を用いてチェックし得る。伝送の準備が整った先制優先パケットがある場合、そこで、スケジューリング論理５１４は、従来のキュー論理５１０に先制優先パケットを伝送するように指示することによって、伝送をスケジューリングし得る（ブロック６０２）。「いいえ」である場合、スケジューリング論理５１４は、伝送の準備が整った制御遅延パケットがあるか否か、また制御遅延パケットのキュー時間が制御遅延値を超過したか否かをチェックする（ブロック６０４）。「はい」である場合、スケジューリング論理５１４は、制御遅延キュー論理５０８に制御遅延パケットをドロップするように指示し得る（ブロック６０６）。「いいえ」である場合、スケジューリング論理５１４は、伝送の準備が整った制御遅延パケットがあるか否か、また制御遅延パケットのキュー時間が、制御遅延値に等しいか否かをチェックする（ブロック６０８）。本図では、スケジューリング論理５１４は、ブロック６０８のチェックが、制御遅延値に到達する制御遅延パケットのキュー時間と同時に実行されるように、無限速度（ｉｎｆｉｎｉｔｅ  ｓｐｅｅｄ）で動作することを想定する。実際の実装では、ブロック６０８は、伝送の準備が整った制御遅延パケットがあるか否か、またキュー時間が、制御遅延値を上回るかそれに等しいか否か、ならびに制御遅延値にわずかな許容差を加えたものを下回るかそれに等しいか否かをチェックする必要があり得る。ブロック６０８のチェックを満たした場合、次に、スケジューリング論理５１４は、制御遅延キュー論理５０８に制御遅延パケットを伝送するように指示することによって、伝送をスケジューリングし得る（ブロック６１０）。「いいえ」である場合、スケジューリング論理５１４は、ＥＦ、ＡＦ、またはＢＥパケット等の伝送の準備が整った優先度がより低いパケットがあるか否かをチェックする（ブロック６１２）。「いいえ」である場合、スケジューリング論理５１４は、ブロック６００に戻る。「はい」である場合、スケジューリング論理５１４は、伝送の準備が整った制御遅延パケットがあるか否か、また制御遅延値と、制御遅延パケットのキュー時間との間の差が、優先度がより低いパケットを伝送するために要するであろう時間未満であるか否かをチェックする（ブロック６１４）。このステップでは、キュー時間が制御遅延値に到達した際に、制御遅延パケットを伝送することができるように、スケジューリング論理５１４は、優先度がより低いパケットの伝送を遅延させるか否かを判断している。ブロック６１４のチェックを満たした場合、スケジューリング論理５１４は、従���のキュー論理５１０に優先度がより低いパケットを伝送するように指示することによって、伝送をスケジューリングし得る（ブロック６１６）。その後、制御はブロック６００に戻る。この場合、優先度がより低いパケットの伝送は、キュー時間が制御遅延値に到達する前に、完了することができるので、制御遅延パケットを、キュー時間が制御遅延値に到達した際に、伝送することができる。「いいえ」である場合、スケジューリング論理５１４は、優先度がより低いパケットの伝送を遅延させることができ（ブロック６１８）、ブロック６００に戻る。
【００３３】
一実施形態において、優先度がより低いパケットを伝送するか否かを判断するために、スケジューリング論理５１４は、従来のキュー論理５１０におけるそれぞれの伝送キューの先頭でのパケットの長さと、制御遅延キュー論理５０８における空き時間とを追跡し得る。空き時間とは、次の制御遅延パケットが転送されるまでの時間である。制御遅延論理からのパケットが、伝送の処理中である場合、空き時間はゼロである。空き時間がゼロを上回る場合に、スケジューリング論理５１４は、そこで、従来のキュー論理５１０のキューのそれぞれの先頭において、パケットの種々のパケット長を検査する。空き時間未満の伝送期間を有する最も優先度が高いパケットは伝送される。これにより、優先度がより低いパケットが、制御遅延キュー論理５０８によって伝送されたパケットと競合または衝突しないことを保証する。
【００３４】
ブロック６１２では、スケジューリング論理５１４は、降順でＥＦ、ＡＦ、およびＢＥキュー等のように、厳密な優先度関係を有し得る、複数のキューをチェックし得る。伝送の準備が整ったＥＦパケットがある場合、スケジューリング論理５１４は、ブロック６１４に進み得る。伝送の準備が整ったＥＦパケットが無い場合、スケジューリング論理５１４は、そこで、伝送の準備が整ったＡＦパケットがあるか否かをチェックする。伝送の準備が整ったＡＦパケットがある場合、スケジューリング論理５１４は、ブロック６１４に進み得る。伝送の準備が整ったＡＦパケットが無い場合、スケジューリング論理５１４は、そこで、伝送の準備が整ったＢＥパケットがあるか否かをチェックする。伝送の準備が整ったＢＥパケットがある場合、スケジューリング論理５１４は、ブロック６１４に進み得る。伝送の準備が整ったＢＥパケットが無い場合、スケジューリング論理５１４は、ブロック６００に戻り得る。
【００３５】
以上から、制御遅延パケット転送のための機器および方法が記載されることが分かる。説明を行うために、上述においては本発明の完全な理解を提供するために、特定の命名法が用いられた。しかしながら、本発明の実施形態は、その精神または本質的な特徴から逸脱することなく、他の具体的な形態であることが可能であることは明らかであろう。記載される実施形態は、網羅的であること、または開示される厳密な形態に本発明を限定することを意図したものではなく、明らかに、上の教示を考慮して、多くの修正および変更が可能である。したがって、本明細書に開示される実施形態は、すべての点において説明目的であり、限定目的ではないと見なされる。実施形態は、本発明の原理、およびその実践的な適用を最も良く説明するために選択および記載され、これにより、当業者は、企図される具体的な使用に適した、本発明および種々の実施形態を種々の修正とともに最も良く利用することが可能となる。以下の請求項およびその同等のものが、本発明の精神を定義することを意図する。
【図１】
2010502122.tif 000003
【図２】
2010502122.tif 000004
【図３】
2010502122.tif 000005
【図４】
2010502122.tif 000006
【図５】
2010502122.tif 000007
【図６】
2010502122.tif 000008
【国際調査報告】
2010502122.tif 000009
2010502122.tif 000010