【誤訳訂正書】
【提出日】平成29年6月28日(2017.6.28)
【誤訳訂正１】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【発明の詳細な説明】
【発明の名称】データを受信しフォワードするための装置および方法
【技術分野】
【０００１】
本願発明は、データを受信してフォワードするための装置および方法に関し、特に、複数のデータ・ソースから受信されたデータパケットを時間順序づける方法に関するものである。
【背景技術】
【０００２】
時間順序づけは、例えば米国特許第６６４７０１７号および米国特許第５３３７３０８号に見ることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第６６４７０１７号
【特許文献２】米国特許第５３３７３０８号
【発明の概要】
【０００４】
本願発明の第１の態様は、データのフォワーディングのためのシステムに関するものである。そのシステムは、
−複数のデータパケットを受信して、受信したデータパケットごとにタイムスタンプを提供するための受信手段と、
−各々が出口端部あるいは出力格納位置を有している、複数のＦＩＦＯ入力キューと、を備え、
−入力キューで受信したデータパケットの各々を示すのに適しているフォワーディング手段と、
−前記入力キューからデータパケットをキューから取り出す手段であって、前記キューから取り出す手段は、前記出口端部／出力格納位置に表されており、すべての入力キューの前記出口端部／格納位置において、すべてのパケットのなかで最も低いタイムスタンプを有するパケットをキューから取り出すのに適応しており、前記キューから取り出す手段は、各々の入力キューが１つ以上のパケットを有するときにだけ、１つのパケットをキューから取り出すのに適応している、キューから取り出す手段と、を備え、
このシステムは、データパケットが所定の期間に前記関連入力キューにフォワードされなかったときに、入力キューに、タイムスタンプを有するダミー・パケットを伝送する生成手段を更に備える。
【０００５】
本願のコンテキストにおいて、このシステムはモノリシックで、単一の筐体の中に配置することができ、複数の別々の回路／素子でできている、あるいは、個々の回路、または所定の地域の上に分散するネットワーク・ユニットでできていてもよく、また、データ交換ができるように、ＷＷＷのような、または、それを含む、１つ以上のネットワークを介して相互に（配線を介して、または、無線で）接続されていてもよい。この交換は、例えば、ＴＣＰ、イーサネット（登録商標）、ブルートゥース（登録商標）、その他どんなデータ転送プロトコルの下でも可能である。有線あるいは無線のいかなるタイプのデータ転送を使用することもできる。当然に、本システムの個々の手段の各々は、例えば、ＦＰＧＡ、ＡＳＩＣ、その他の１つ以上のプロセッサーにより形成することができる。あるいは、単一のそのようなプロセッサーは、複数の手段を形成し、複数のステップを実行することができる。
【０００６】
本願システムの機能は、単にデータのフォワーディングだけに限られない。付加的な処理として、以下でさらに記述されるように、例えば、データパケットの分析を実行することができる。
【０００７】
本願のコンテキストにおいて、データは、１つ以上のデータパケットでありえる。データパケットは順序付けられ、あるいは、ストリームにグループ化することができ、データは、１つ以上のそのようなストリームを含むことができる。
【０００８】
データパケットは、ネットワーク、データ・ケーブル、データバス、トランク、その他により、伝送され、搬送されるデータ・ユニットの任意のタイプでありえる。通常は、データ・ユニットは、例えば、いくつかの異なる標準あるいは、ＵＤＰやＴＣＰデータパケットなどデータパケット・タイプが存在する傘であるイーサネット（登録商標）標準など、１つ以上のデータ標準に従う。データパケットは、通常、いくつかの異なる情報項目またはタイプ、例えば、アドレスデータ、ペイロード、その他を有する。各々がデータパケットの中で明確な、あるいは、既知の位置に配置される。そのような位置とタイプは、典型的には、データパケット・タイプとデータパケット・タイプにより異なる。しかし、通常は、データパケット・タイプ、および、したがって、これらの個々の内容の位置は、例えば、アドレスデータやペイロードなど、個々のデータ項目が、分析において、導出し、変更し、あるいは、使用することができたあとに、実際のデータパケットから決定することができ、例えば、データパケットのデータ項目のタイプおよび位置の認識、および、その後、そのような位置で見つかるようなデータにおけるデータパケットのタイプまたは標準の決定に基づいて、例えば、パケットの特定のデータ項目がタイプ／標準を識別するとき、あるいは、データパケットからのデータから導出できるとき、そのタイプまたは標準は、データパケットから直接に導出できる。
【０００９】
受信されるデータパケットは、複数の方法で、また、いくつかの理由のために、事前に順序付けされる。通常は、コンピュータの間のデータ交換は、ファイル転送、ＴＣＰ転送、ＶｏＩＰ、その他であり、個々のパケットの順序が重要である。通常は、そのような転送は、ストリームと呼ばれている。
【００１０】
データパケットのストリームは、通常、単一のトランスミッターから１つ以上のレシーバーまで伝送された一連のデータパケットである。これらのデータパケットは、例えば、より小さな部分でパケットのペイロードとして伝送される単一ファイルまたはその種の他のものに関するものである。トランスミッターおよびレシーバー、あるいは、どんな中間ネットワーク・エレメントでも、通常、パケットにおいても表現されているアドレスを有する。それに加え、情報を識別している他のストリームは、個々のデータパケット標準に依存して、データパケットに存在することができる。
【００１１】
したがって、ストリームは、例えば、アドレスやストリーム識別情報に基づいて識別することができる。それによって、一貫して使われる場合には、同一の情報を導出することができ、どんな以降のプロセスでも、その情報だけからそのストリームを識別することができる。別の状況では、データパケットは、その中に、その順序、例えば、シーケンス番号またはタイムスタンプ、を決定する情報を備えていることができる。したがって、この情報を、パケットを順序付けするために使用することができる。
【００１２】
受信手段は、データまたはデータパケットを実際に受信し、格納することができる。代替的に、そのデータパケットを、別の位置において、あるいは、受信／格納装置が通信している装置において、受信あるいは格納することができる。それによって、そのデータパケットのデータが受信され、次に、他の装置に格納されているデータを読み出すことによって、遠隔でアクセスされる。データパケットが遠隔でアクセスされるので、後者は、通常より遅い処理となる。
【００１３】
受信手段は、通常、ネットワークからデータパケットを受信するのに適合したネットワーク要素のタイプである。したがって、イーサネット（登録商標）・データパケットが受信されるものである場合には、この手段は、ＰＨＹ、ＭＡＣ、その他を有することができる。多数のデータ・プロトコルが知られているが、しかし、当業者は、どんな受信手段がどのプロトコルに関して有用であるか、について理解している。受信手段はデータパケットを格納、あるいは、これらを直接、更なる処理／格納／搬送のために、そこへフィードすることができる。多くの場合、バッファがディレーを考慮するために提供されが、これは必要条件でない。
【００１４】
受信手段は、また、タイムスタンプを各々のデータパケットに提供する。次に、受信手段は、各々のデータパケットの受信／アクセスの時点を決定して、対応する情報を提供するのに適合している。一般に、例えば、時間の標準的な表現である時間／分／秒など、時間のいかなる表現も使用することができる。代替的に、時間は、数値によるより単純な方法において表現することができる。当然に、この数は、必要に応じてラップアラウンド（回り込み）することができる。
【００１５】
時間が自然に変わると、好適には時間的に等距離に増加されたり減少されたり、時間または数値は変化する。個々の決定手段の局所クロックにおける時間の経過は、時間ないし数値を増加されたり減少されたりするために用いられる周期信号によって制御することができる。この周期信号は、受信手段によって導出することができる。あるいは、外部ユニットからそれが受け取ることができる。受信手段が、１つ以上が使用される場合には、１台のクロックを、すべての受信手段のために使用することができる。あるいは、受信手段の各々はクロックを有することができ、それらのクロックの時間が同期される。
【００１６】
タイムスタンプは、データパケットと共に提供することができる。しかし、好適には、データパケットに対してタイムスタンプ・データを追加することによって、その中で提供される。次に、後に行われるデータパケットの分析は、いかなるものでも、データパケット自体に基づいて実行することができる。
【００１７】
本願発明にしたがって、複数のＦＩＦＯ入力キューが提供される。本願のコンテキストにおいて、ファーストイン・ファーストアウト・キューは、例えば、順序を有する多数のデータ項目やパケットを表す。最も古い項目／パケットが、次に読出され、最後に受信された項目／パケット／識別子の後に、新しい項目／パケットが追加される。
【００１８】
ＦＩＦＯは、入力端部から出力端部に、線形順序で、多数のストレージ位置を有するストレージにおいて実装することができる。ここで、パケットは、入力端部から出口端部の方へ移動し、出口端部から出力される。通常は、ストレージは、別々にアドレス可能要素を有し、いくつかのそのような要素は、キューを形成することができる。当然に、格納ユニットは、モノリシックな格納ユニットでもよく、または、空間的に分離したいくつかの格納要素によって組み立てられたものであってもよい。普通の格納技術は、ハードディスク、フロッピー（登録商標）ディスク、ＲＡＭ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、Ｆｌａｓｈ、メモリーカード、ＣＤ−ＲＯＭ、ＤＶＤ、メモリーカード、その他に基づいている。当然に、ＦＩＦＯは、例えば、データ／項目は動かされないで、ポインターが入力端部と出口端部を指すように動かされる循環ストレージにおいて実装することができる。
【００１９】
キューは、実際のデータパケットまたはその部分を保持することができ、
あるいは、データパケットの識別子だけがキューに保持されるという意味でバーチャルであることができる。ここで、実際のデータパケットは、どこかほかに格納される。フォワーディング手段がデータパケットをフォワードするのに適している場合には、その部分は必要でなく、廃棄することができる場合には、スペースを節約できるように、データパケットの一部だけがフォワードされる必要がある。そのデータパケットが再度出力することが望まれない場合には、例えば、その中のアドレス情報は、スペースを占有しないように、適切に削除することができる。
【００２０】
この格納／表現は、データを格納する、ストレージまたはキューのアドレスを導出あるいは受信するフォワーディング手段を含む。上述したように、そのキュー、または、すべてのキューは、例えば、環状バッファとして、ストレージにおいて実装することができる。それによって、キューの終端にデータを追加することは、そのキューの終端ポインターのアドレスに、そのデータを追加することになる。このアドレスは、フォワーディング手段自体によって、例えば、スケジューラー、アービタまたは他のアドレス生成要素からの要求時に、導出する、あるいは、受信することができる。
【００２１】
好適には、データの位置、例えば、そのようなデータを示すために使われる任意のポインターなど、は、データをキューから取り出すときに、フォワーディング手段または、そのアドレスを生成する手段が、その更新された情報を利用できるように、維持される。
【００２２】
インプリメンテーションにかかわりなく、ＦＩＦＯ操作が望ましい。このＦＩＦＯは、所望の順序でそれに追加されるデータパケット／項目、例えば、時間順など、が、その順序を維持し、つぎに、その順序に出力されるという利点を有する。したがって、そのデータパケットは、それらが格納の順序で読出される限り、いかなるタイプのストレージにも追加することができる。
【００２３】
別々の格納ユニットが提供される場合には、アドレスは、実際の格納ユニットの識別と、その中の「局所アドレス」を記述する。
【００２４】
ある実施態様において、１つ以上が使用される場合、各々の受信手段は、キューのサブグループに識別子／データパケットのみをフォワードすることに適合している。ここで、異なる受信手段は、キューの異なるサブグループに識別子／データパケットをフォワードする。複数の受信要素がキューに識別子／データパケットをフォワードするのに適している状況において、各々のキューの識別子／データパケットが、それらのタイムスタンプによって指示される順序でフォワードされることを確実にするスケジューラーが提供されることが望ましい。したがって、ある実施態様において、これらの受信手段は、共有キューに対するパケット／識別子のタイムスタンプに関して、スケジューラーに情報をフォワードし、識別子／パケットがそのキューにおいて表示できるときに、スケジューラーは、関連している受信手段に指示する。
【００２５】
入力キューからデータパケットをキューから取り出すことは、そのキューからデータパケットまたはその部分を実際に削除することであってもよい。代替的に、キューは、データパケットを、特定の格納領域にフォワードされる必要がなく、それから削除する必要もないが、キューは、これらを移動することなく、識別されたデータパケットの順序によって定義することができるという意味でバーチャルであることができる。キューは、このようにバーチャルであり、データパケットの順序からその識別を削除することによって、データパケットを、削除したり、キューから取り出したりすることができる。
【００２６】
別の状況において、キューは、データパケットまたはその識別子のリスト、例えば、循環リストでありえる。ここで、キューの端部は、例えば、ポインターで識別される。したがって、キューから取り出すことは、キューから取り出されたパケット／識別子から次のものまで、終端ポインターをシフトすることでありえる。
【００２７】
したがって、キューから取り出す手段は、キューからデータパケットを実際に読み出す、あるいは、削除するための手段でありえる。代替的に、キューから取り出す手段は、キューの表現の上で動作し、単に、キューの中にあるキューの標示を削除するだけである。
【００２８】
このキューはＦＩＦＯキューであり、削除されたデータパケットは、常に、キューにおける、最も早く受信されたデータパケットである。
【００２９】
本願発明にしたがって、キューから取り出す手段は、データパケットを、一度に１つ、キューから取り出すのに適合している。すべてのキューが１つ以上のデータパケットを保持している場合には、キューから取り出す手段は、データパケットをキューから取り出すだけである。
【００３０】
また、キューから取り出す手段は、最も低いタイムスタンプを有するパケットをキューから取り出す。この点で、第１あるいはトップのデータパケットだけは見られることに留意する。また、タイムスタンプは、整数値の間隔を表す整数でありえることに注意する。それによって、タイムスタンプは、最も高い整数が、実際に、最も低い整数より低いとみなされるかもしれないように、「ラップアラウンド（回り込み）」することができる。
【００３１】
このように、より低いタイムスタンプのデータパケットが、別のキューに供給されることになっていて、遅れる場合には、後のパケットがキューから取り出すために到着するときに、このキューが空であるように、より高いタイムスタンプを有するデータパケットは、より低いタイムスタンプを有するデータパケットを追い越すことはできないことが保証される。例えば、データパケットの優先度などデータパケットに対するキューを選択するために、異なる戦略は選択されるかもしれないことに留意する。よって、キューは、どのような期間においても、「合法的に」空である場合があり、このことにより、プロセスを停止させることは許されない。
【００３２】
しかしこのタイプのシステムでは、空のキューがプロセスを停止させるという点で、ヘッド・オブ・ライン・ブロッキング（ＨＯＬブロッキング）として知られていることが起こりえる。
【００３３】
このタイプのブロッキングを防止するために、ダミー・パケットを、パケットが所定の期間に送信されなかったキューに送る生成手段が、提供される。
【００３４】
したがって、キューが空となり、システムを停止させる場合には、この状況は、ダミー・パケットをそのキューに送信する生成手段により終了され、キューから取り出す手段が動作した後に、キューからの取り出しが始まる。
【００３５】
この点で、たとえ、キューから取り出すことに続いて、データパケットの２つのタイプを異なるように扱うことになっても、キューから取り出す手段は、ダミー・パケットとデータパケットとを等しく扱う。
【００３６】
この点で、キューにダミー・パケットを追加することと、ダミー・パケットをキューから取り出すこととは、キューへのデータパケットの追加とキューから取り出しを行ないながら、実行することができる。しかしながら、ダミー・パケットの唯一の関連した部分は、タイムスタンプだけであり、そのため、ダミー・パケットはキューにおいてごくわずかなスペースしか取らなくてすむことに留意する。
【００３７】
本願のコンテキストにおいて、ダミー・パケットは、タイムスタンプの他に別の情報を必要としない。当然に、キューから取り出す手段が、例えば、キューから取り出されたパケットのアドレスデータを読み出し、そのうえで動作するのに適合している場合には、ダミー・パケットに、アドレスデータをも提供することが望ましい。また、ダミー・パケットが、キューから取り出されるときに、このデータから利益を得るかもしれない他の回路にフィードされる場合には、ダミー・パケットは更に、例えば、リンク情報などの他のデータである場合がある。通常、ダミー・パケットはキューのデータパケットに関するデータを提供されていない。しかし、それが置かれたキューに関して、例えば、待ち行列の長さなどのデータを提供されることがありえる。
【００３８】
好適には、ダミー・パケットのタイムスタンプは、ダミー・パケットの生成の実際の時点である。代替的に、それより以前の時点、例えば、実際の時点から所定の期間を引いたものを、使用することができる。代替的に、さらに後の時点を使用することができる。しかしながら、キューのすべてのパケットは、それらのタイムスタンプの順序でキューの中に配置されることが望ましいことに留意しなければならない。
【００３９】
当然に、所定の期間は、所望のように選択することができる。より短い期間にすると、プロセスの停止をより小さくさせることができるが、そうすると、より多くのダミー・パケットがフォワードされ、したがって、より多くの帯域幅が消費される。より長い期間にすると、使用される帯域幅を減らすことができる、しかし、停止がより長くなる。この期間は、受信手段における、いかなる最大処理遅れに関しても、この時が経過すると、すべての前のパケットがキューにおいて表されることが確実となり、ダミー・パケットが生成されるように、決定することができる。
【００４０】
ダミー・パケットを含むキューから取り出すこの方法は、したがって、受信手段とキューとの間で、あるいは、データパケットの受信の前にあっても、ディレーにおけるいかなる相違をも修正するために使用することができる。これは、ダミー・パケットが発生する前に、経過させることが許容される期間に反映することができる。
【００４１】
ある実施態様において、単一の受信手段が使われる。この点で、すべての入力キューへのデータパケット・フォワーディングが制御されているので、ダミー・パケットは、受信手段によって生成することができる。
【００４２】
好適な実施形態において、しかしながら、受信手段は、複数の物理的に別々の受信回路を備え、各々が、複数のデータパケットを受信し、受信したデータパケットごとにタイムスタンプを提供するのに適合しており、各々の受信回路が生成手段を備える。
【００４３】
複数の受信手段が提供されるときには、本願システムは、だいたいにおいて、より用途が広くなり、そのような受信手段は、システムの能力を適応させるために提供することができる。
【００４４】
しかしながら、この状況において、ダミー・パケットは、個々の受信手段によって生成することができる。したがって、受信手段が、それは、所定の期間の間、所定の入力キューにパケットをフォワードしなかったことを認識する場合には、他の受信手段がデータパケットかダミー・パケットをフォワードしたかどうかにかかわりなく、ダミー・パケットをフォワードすることができる。
【００４５】
別の実施形態では、複数の受信手段から個々の入力キューにフォワードされるデータパケットが、正しい順序でフォワードされることを確実にするために、スケジューラーが提供される。このスケジューラーは、また、すべての入力キューへのすべてのデータパケット転送をモニターすることができ、したがって、所定の期間の間にいかなる受信手段からも、この入力キューがデータパケットを受信しなかった場合にのみ、要素が入っていないキューに対して単一のダミー・パケットを生成しできるという点において、ダミー・パケットを生成するために使用することができる。
【００４６】
代替的に、要素が入っていない入力キューに、ダミー・パケットを生成して、フォワードするようにスケジューラーは受信手段に指示することができる。この点で、例えば、受信手段の中で最もビジーでない受信手段など、どんな受信手段でも使用することができる。受信手段に対する「ビジーの程度」は、その受信手段から、個々の受信手段からのキューまでのデータパケットの転送のための要求の数から決定することができる。
【００４７】
当然に、他の受信手段からデータパケットを受信していない入力キューに各々の受信手段がデータパケットをフォワードする場合には、１つの受信手段だけによる状況の場合のように、スケジューラーは、要求されず、受信手段は、キューとダミー・パケットの生成においてパケットの正しい順位付けをそれ自身で確実にすることができる。
【００４８】
しかしながら、各々が受信されたデータパケットにタイムスタンプするのに適合している複数の受信手段が提供されるときには、タイムスタンプが調整されることが望ましい。したがって、タイムスタンプが調整されるように、受信手段は共通のクロック信号をすべて受信することが望ましい。代替的に、または、追加的に、各々の受信手段は、すべてのそのようなクロックが時間を合わせられる局所クロックを備えることができる。
【００４９】
ある実施態様において、キューから取り出す手段は、ダミー・パケットを廃棄するのに適応している。したがって、キューから取り出す手段は、そのようなダミー・パケットを出力しない。一方、キューから取り出す手段は、次に出力されるキューから取り出されたデータパケットを、どの入力キューにフィードされたかにかかわらず、それらのタイムスタンプの順序で、出力するのに適合することができる。
【００５０】
これらの出力データパケットは、それらの分析など、使用の任意のタイプに対する出力でありえる。データパケットは、次に、それらの到着時間によって順序付けられる。それによって、例えば、データパケットのストリームの分析が容易になる。
【００５１】
この分析の後に、あるいは、単にキューから取り出した後に、データパケットは、いかなる望ましい方法でも、システムからの出力することができる。それは、たとえば、同一のデータ伝送リンク／ケーブル、あるいはポートであっても、パケットが同一の時間順で、受信されたので、それらへの所望出力であることができ、この状況において、本願のシステムは、その通信リンクにおいて、透明であっても、見えなくても良い。
【００５２】
ある実施態様において、システムは更に、各々が出口端部または出力格納位置を有している複数のＦＩＦＯ出力キューと、出力キューから取り出されるデータパケットを、１つ以上の出力キューへ、入力キューから取り出された順番に、フォワーディングするのに適応している、キューから取り出す手段と、を備える。
【００５３】
これらの出力キューは、例えば、入力を実装しているストレージなど、共通ストレージに配置することができ、および／または、受信手段において実装することができる。システムは、小さなキューが、データパケットがキューから取り出される、受信手段に存在するようなところ、そして、より大きなキューが、受信手段のキューが供給されるところから別のストレージに存在するようなところで、使用することができる。
【００５４】
当然に、すべての受信された、あるいは、キューから取り出されたデータパケットが、出力キューにフォワードされる必要があるというわけではない。いくつかの状況において、混雑がある場合には、パケット・ドロッピングが、望ましく、許容されることがあり得る。パケット・ドロッピングは、通常の動作であって、これは、本願システムの透明性、非可視性に影響を与えることはありえない。
【００５５】
出力キューにフォワードされるデータパケットは、その入力キューから取り出された順番に、したがって、これらのタイムスタンプの順序で、それにフォワードされる。したがって、キューから取り出すこと、および、キューから取り出されたデータパケットに行われる分析などは、そのデータパケットの再順序付けを行わない。よって、このように、入力キューの場合のように、個々の出力キューのデータパケットは、それらのタイムスタンプの値によって順序付けられる。
【００５６】
ある実施態様において、キューから取り出す手段は、入力キューから、他の入力キューからパケットを受信していない出力キューだけにパケットをキューから取り出す。その状況において、その入力キューからのダミー・パケットは、すべてのそのような出力キューにコピーすることができる。
【００５７】
別の実施形態では、キューから取り出す手段は、キューから取り出されたデータパケットからタイムスタンプを導出し、ダミー・パケットを生成し、そのダミー・パケットに前記導出したタイムスタンプを提供し、データパケットが少なくとも所定の期間にフォワードされなかった出力キューにそのダミー・パケットをフォワードするのに適応している。
【００５８】
キューから取り出す手段は、それ自体が、信頼できるタイムスタンプを生成することができないので、このことは有利なことである。それによって、例えば、直前にまたは、新しく生成されたダミー・パケットの直後にフォワードされる出力キューにフォワードされるパッケージなど、最近のキューから取り出されたパッケージ（データまたはダミー）から１つをコピーするが、非常に容易になる。当然に、新しく生成されたダミー・パケットのタイムスタンプは、任意の、２、４、６、８、１０、あるいは、５０の新しくキューから取り出されたパケットのタイムスタンプであることができる。
【００５９】
特定の状況において、１つの入力キューと１つの出力キューを含むキューのペアが存在し、そのペアの前記キューがオーバーラップしておらず、キューから取り出す手段は、ペアの入力キューから取り出されたデータパケットを、ペアの出力キューへフィードするのに適応しており、キューから取り出す手段は、さらに、ペアの入力キューからのいかなるダミー・データパケットをも、ペアの出力キューへフィードするのに適応している。
【００６０】
ペアが重なっていないとは、各々の入力キューと各々の出力キューとが、もしあれば、ただ１つのペアのメンバであることを意味する。
【００６１】
次に、ペアの入力キューから取り出されるデータパケットとダミー・パケットとは、そのペアの対応する出力キューに供給することができる。また、パケット・ドロッピングは許されるので、入力キューと、出力キューとのパケットの間で、完全な通信である必要はない。しかし、ペアの出力キューにおけるパケットの順位付けは、ペアの入力キューでの順位付けと同じである。
【００６２】
一般に、システムが、更に、出力キューからデータパケットとダミー・パケットをキューから取り出すための、出力キューから取り出す手段を備えるとき、出力キューのダミー・パケットの使用が興味深い。この出力キューから取り出す手段は、前記出口端部／出力格納位置に表されており、すべての出力キューの前記出口端部／格納位置において、すべてのパケットのなかで最も低いタイムスタンプを有するパケットをキューから取り出すのに適応している。この出力キューから取り出す手段は、各々の出力キューが１つ以上のパケットを有するとき、１つのパケットをキューから取り出すだけであるのに適している。
【００６３】
したがって、出力キューの内容（ドロップされたパケットはどんなものでも別として）が入力キューの内容と同一でありえるとき、また、キューから取り出すことが同様に起こるとき、同一のＨＯＬブロッキングが見られる。しかしながら、これは、出力キューに、実際にそうでなければ要素が入っていない出力キューにフィードされるダミー・パケットによって自動的に防止される。
【００６４】
この状況において、出力キューをキューから取り出すことは、そのキューからの取り出しを、出力キューのサブグループの中で実行することができることにおいて異なっている。ここで、１つのサブグループのキューからの取り出しは、別のサブグループのものから独立していることができる。これは、出力キューの異なるサブグループが、異なる出力、例えば、異なる受信手段など、にキューから取り出される場合の状況である。
【００６５】
当然に、ダミー・パケットは、入力キューに関するのと同様に、出力キューにキューから取り出されたパケットを供給するためにどのような戦略／プランが使用されるかにかかわりなく、これらが時間順に、実際にフィードされるかどうかにかかわらず、いかなる出力キューに対しても生成することができる。次に、キューから取り出されたデータパケットを、取り出す、および／または、分析するいかなるプロセッサーでも、例えば、先に述べたように、別のパケットのタイムスタンプをコピーすることによって、ダミー・パケットを生成することができる。代替的に、要求される場合には、別々のユニットあるいは要素を、出力キューをモニターして、ダミー・パケットを生成するために使用することができる。
【００６６】
本願発明の第２の態様は、データを受信しフォワードする方法であって、
−  複数のデータパケットを受信し、受信したデータパケットの個々にタイムスタンプを提供するステップと、
−  各々が出口端部あるいは格納位置を有している、複数のＦＩＦＯ入力キューの１つ以上において、各々の受信したデータパケットを示すステップと、
−  入力キューからデータパケットを取り出すステップであって、すべての入力キューの出口端部／ストレージ位置において、すべてのパケットで最も低いタイムスタンプを有するパケットをキューから取り出すことを含み、キューから取り出すことは、各々の入力キューが１つ以上のパケットを有するときにのみ実行されるだけである、ステップと、を含み、前記方法は、さらに、データパケットが所定の期間に前記関連入力キューにフォワードされなかったときに、入力キューにタイムスタンプでダミー・パケットを伝送することを含む、方法、に関するものである。
【００６７】
通常は、受信ステップは、データ・ケーブルまたはリンクからデータパケットを受信することを含む。このデータ伝送は、いかなる望ましいプロトコル、いかなる望ましい技術、例えば、無線（ブルートゥース、ＷＬＡＮ、ＷＡＮ、赤外線通信、その他）や有線（イーサネット（登録商標）など）その他、を用いてでも、実行することができる。
【００６８】
タイムスタンピングは、局所クロックまたは受信されたクロック信号に基づくことができる。
【００６９】
表現するステップは、キューにデータパケットまたはその部分を実際にフォワードすることを含むことができる。代替的に、バーチャルなキューは、どこかほかに格納することができるパケットの識別子を受信するだけに使用することができる。
【００７０】
同様に、キューから取り出すステップは、キューが実際にデータパケットを保持し、
データパケットが、キューから取り出した後にどこかほかで要求される状況において、キューからデータパケットを実際に読み出すこと／削除することを含むことができる。代替的に、パケットをキューから取り出すことは、キューの中のパケットの識別子の削除においてバーチャルでありえる。
【００７１】
このキューは、例えば、データパケットをキューから取り出すところの循環リストにおいて、実装することができる。または、その識別子は、例えば、このデータパケットまたは識別子が他のデータでその後の上書きされるように、キューにおいて占有されている位置と空いている位置との境界を意味するポインターなど単に位置の変更であることがありえる。
【００７２】
キューから取り出すステップは、単にデータパケットを読み出し、次に、廃棄するだけであることを含むことができる。代替的に、このキューから取り出されたデータパケットを、キューから取り出す手段により出力し、あるいは、さらに分析することができる。この手段は、プロセッサー、サーバ、プロセッサー・クラスタ、その他のあらゆるタイプのものであってもよい。次に、キューから取り出す手段は、要求されるタスクを実行することができるために、それ自身のストレージ等を有することができる。
【００７３】
送信するステップは、センター送信を含むことができ、それによって、単一の生成手段だけを要求することもでき、または、複数の生成手段を提供することもできる。１つの状況において、生成手段は、各々の受信手段において提供される。その状況において、複数の受信手段が、受信されたデータパケットを同一のキューに送るのに適合している場合には、所定の期間、複数の受信手段からパケットを受け取っていない場合には、複数のダミー・パケットは、キューにフォワードすることができる。これは、しかしながら、キューから取り出す手段は、ダミー・パケットを廃棄することができること、および、ダミー・パケットの送信が制限ファクターとはならいないように、そのキューへのデータパケットの欠如が、帯域幅を自動的に提供すること、における問題である必要はない。
【００７４】
ある実施態様において、受信するステップは、複数の物理的に別々の受信回路が、各々、複数のデータパケットを受信することと、および、タイムスタンプを、個々の受信したデータパケットのために／に対して提供することと、を含む。次に、各々の受信回路は、入力キューは、所定の期間の間データパケットを受信しなかったという事実のそれ自身の決定に基づくか、あるいは、例えば、その決定を実行したスケジューラーによって指示されるように、ダミー・パケットを送るステップを実行することができる。このスケジューラーを、複数の受信手段から同一の入力キューへのデータパケットが正しい順序でフォワードされることを確実にするために、使用することもできる。また、別々の受信回路各々は、クロックを有することができる。その状況において、クロックが同期されていることが望ましい。そのようなクロックの同期は、当業者に知られている。
【００７５】
この点で、各々の受信手段が、ダミー・パケットを、受信手段が識別子／データパケットにフィードするのに適している少なくともキューに送信するのに適合していることが望まれる。
【００７６】
ある実施態様において、前記キューから取り出すステップは、ダミー・パケットを廃棄することを含む。このように、これらのダミー・パケットまたはその中のいかなる情報も後に要求されない場合には、帯域幅は、キューからの取り出しにおいて、あるいは、後のフォワーディングまたは分析において、節約される。
【００７７】
ある実施態様において、キューから取り出すステップは、その入力キューから１つ以上のＦＩＦＯ出力キューまでキューから取り出されたデータパケットをフォワードすることを含み、入力キューから取り出された順番に、各々が出口端部または出力格納位置を有している。
【００７８】
この状況において、キューから取り出す手段は、所定の期間の間パケットを受信しなかった出力キューにフォワードされるダミー・パケットを生成することができる。この状況において、キューから取り出しているステップは、キューから取り出されたデータパケットからタイムスタンプを導出することと、ダミー・パケットを生成することと、前記ダミー・パケットに前記導出したタイムスタンプを提供することと、データパケットが少なくとも所定の期間にフォワードされなかった出力キューに前記ダミー・パケットをフォワードすることと、を含むことができる。
【００７９】
その実施形態において、１つの入力キューと１つの出力キューを含むキューのペアが存在し、そのペアの前記キューがオーバーラップしておらず、キューから取り出すステップは、ペアの入力キューから取り出されたデータパケットを、ペアの出力キューへフィードすることを含み、キューから取り出すステップは、付加的に、そのペアの前記入力キューからのいかなるダミー・データパケットをも、そのペアの出力キューへフィーディングすることを含む、ことも、また、好ましい。
【００８０】
１つの入力キューからのパケットが、出力キューに取り出され、他の入力キューからパケットを受信していない状況において、入力キューからのダミー・パケットを、すべてのそのような出力キューにコピーすることができる、ことに留意する。
【００８１】
次に、この方法は、更に、前記出口端部／出力格納位置に表されており、パケットをキューから取り出すことによって、および、すべての出力キューの前記出口端部／格納位置において、すべてのパケットのなかで最も低いタイムスタンプを有することによって、前記出力キューからのデータパケットおよびダミー・パケットをキューから取り出すステップを含むことができる。出力キューからデータパケットをキューから取り出すこのステップは、各々の出力キューが１つ以上のパケットを有するときにのみ実行されるだけである。
【００８２】
以下において、本願発明の好適な実施形態が、図面を参照して記述される。
【図面の簡単な説明】
【００８３】
【図１】図１は、本願発明による、好適な実施形態を図示する。
【発明を実施するための形態】
【００８４】
図１において、システム１０が、図示される。いくつかのアナライザ１２、１４、１６が、例えば、ネットワーク、ＷＷＷやその他、あらゆるソースからのデータパケットを受信する。
【００８５】
アナライザ１２／１４／１６は、これらのデータパケットにタイムスタンプを押し、各々のデータパケットまたはその少なくとも部分を、バス１８を介して、キュー３２／３４／３６の１つ以上に、フォワードする。パケット（またはその一部分）は、そのタイムスタンプで、キューで格納される。
【００８６】
タイムスタンプはデータパケットに提供する、あるいは、データパケットと一緒に送信することができる。ただし、データパケットの中ではない。
【００８７】
データパケットをキューにタイムスタンプでデータパケットのＩＤをフォワードして、実際に、伝送／コピーをしないときに、同一の機能が得られることに留意する。
【００８８】
キュー３２／３４／３６から、データパケット（またはその部分）３８は、これらのパケット（またはその部分）のいかなる所望の分析を実行することができるプロセッサー４０により、キューから取り出され、必要に応じてこれらを出力する。
【００８９】
アナライザ１２／１４／１６のデータパケットのタイムスタンピングが、アナライザにおいて、同期した個々のクロック（図示されない）を使用して実行される。代替的に、グローバルなクロック信号は、アナライザ１２／１４／１６にフォワードすることができ、または、組合せが好まれる。
【００９０】
本願の実施形態において、プロセッサー４０は、それらが受信され、タイムスタンプされた同一の時間順でデータパケット３８を受信し／キューから取り出すことが望ましい。
【００９１】
これを確実にするために、プロセッサー４０は、キュー３２／３４／３６から、最も低いタイムスタンプを有するパケットを取り出すが、しかし、少なくとも１つのパケットが各々のキュー３２／３４／３６に存在するときに、パケットをキューから取り出すだけである。
【００９２】
したがって、各々のアナライザ１２／１４／１６が、それがそのキュー３２／３４／３６にデータパケット（またはその部分）をフォワードしたときに、各々のキュー３２／３４／３６に対して、追跡し、
また、所定の期間を越えた場合には、その送信の時点に対応するタイムスタンプを有するそのキューに、ダミー・パケットＤがフォワードされる。
【００９３】
アナライザ１２／１４／１６がスケジューラー２０に、どのキュー３２／３４／３６に、パケットとそのタイムスタンプを送信したいのかを知らせる場合には、個々のキュー３２／３４／３６でパケット３８／Ｄの順位付けを確実にするために、スケジューラー２０を使用することができる。この後に、スケジューラー２０は、アナライザ１２／１４／１６に指示することによって、パケット３８／Ｄを仲裁し、正しい順序でキュー３２／３４／３６にパケット３８／Ｄをフィードするように命令することができる。
【００９４】
単純な実施形態において、各々のアナライザ１２／１４／１６は、データパケットを１つまたはキュー３２／３４／３６のいくつかだけに送信し、および、異なるアナライザ１２／１４／１６は、データパケットを異なるキューに送る。次に、スケジューラー２０は、必要でなく、バス１８は、アナライザ１２／１４／１６から関係するキュー３２／３４／３６への個々のデータ接続と、置き換えることができる。
【００９５】
ダミー・パケットを用いて、システムのどんなヘッド・オブ・ライン・ブロッキングでも所定の期間の間持続するだけであることが確実とされ、結局、キュー（以前のタイムスタンプを有する）のパケットがキューから取り出すことができる。キュー３２／３４／３６が、例えば、複数のアナライザ１２／１４／１６からの、いくつかのダミー・パケットＤを有する場合、これらのパケットＤが正しい順序でキューから取り出されて、ヘッド・オブ・ライン・ブロッキングを防止して、キュー３２／３４／３６と、そして、一方の側で、アナライザ１２／１４／１６との間、他の側で、プロセッサー４０との間で、リンクに過剰な帯域幅を占有しないので、これは、これらのリンクが可能な限り充分な帯域幅を持つことが好適にはできなければならないという点で、また、ダミー・パケットＤの存在は、これらのキュー３２／３４／３６にフォワードされるパケットの数が少ないというサインであるという点で、問題を含まない。
【００９６】
したがって、キューからの取り出しのこのタイプにおけるダミー・パケットの使用は、アナライザ１２／１４／１６からキュー３２／３４／３６への、例えば、バス１８の上になどのディレーにおける相違を考慮する助けとなる。また、アナライザ１２／１４／１６（タイムスタンピングの後）のディレーが考慮される。
【００９７】
代替的なソリューションは、スケジューラー２０自身が、ダミー・パケットを生成して、要素が入っていない入力キュー３２／３４／３６にフォワードする、あるいは、アナライザ１２／１４／１６、ビジーでないアナライザに、そうするように指示するというものである。
【００９８】
当然に、プロセッサー４０は、帯域幅をこれらの処理に費やさないために、ダミー・パケットＤを廃棄することができる。しかし、プロセッサー４０からキューから取り出されたデータパケット３８も出力することが望ましい場合には、実際に、プロセッサー４０を通して、これらのダミー・パケットＤをフィードすることが望ましいことがありえる。
【００９９】
プロセッサー４０が、到着（タイムスタンプ）の順序でデータパケット３８をキューから取り出すときに、１つ以上の出力キュー５２／５４／５６に、同一の順序で、データパケットを出力することができる。
【０１００】
これらの出力キュー５２／５４／５６は、例えば、入力キュー３２／３４／３６と同じストレージなど、共通ストレージに配置することができ、および／または、それらは、アナライザ１２／１４／１６において、提供することができる。ある実施態様において、小さなキューが、アナライザで提供され、より大きいキューが、データパケットが、そのアナライザにおけるそれらにフィードされるところから、アナライザからデータパケットを出力する前に、キューから取り出しが起こるところから、別のストレージにおいて提供される。次に、１つのアナライザの内でキューから取り出すことは、別のアナライザの内でキューから取り出すことから独立している。
【０１０１】
入力キュー３２／３４／３６における状況のように、専用リンクを、プロセッサー４０とキュー５２／５４／５６の間で使用することができる。あるいは、スケジューラー２０に類似したスケジューラーを使用しているバス１８に対応するバス、またはスケジューラー２０を使用しているバス１８を介して、使うことができる。
【０１０２】
次に、データは、同様に、出力バッファから、キューから取り出すことができる。すなわち、キューが空でないならば、パケットは、キューから取り出されるだけである。最も低いタイムスタンプを有するデータパケットが、キューから取り出される。このレベルにおいて、ダミー・パケットＤは通常廃棄される。
【０１０３】
１つの状況において、ペアの入力バスから受信されるパケット３８／Ｄが、ペアの出力バスへの出力であるように、入力バス３２／３４／３６と出力バス５２／５４／５６のペアの間に対応関係が存在する。その状況において、ダミー・パケットＤは再利用することができる。すなわち、プロセッサーを通して、出力ポートにフィードすることができる。つまり、入力ポートにおいてキューを満たすパターンが、出力ポートに複製される。
【０１０４】
特定の実施形態において、アナライザのデータ出力１２／１４／１６は、受信されたものと同一であることが望ましい。これは、データパケット出力の順序が、そのデータパケット入力の順序と同一であることを意味する。当然に、プロセッサーその他のものが、あまりにビジーとなったが、しかし、出力されるパケットは、受信の順序で、順序付けられる場合には、データパケットをドロップすることができる。
【０１０５】
この実施形態は、システムが「透明」、すなわち、パケットを出力し／受信しているコンピュータが、パケットがインターセプトされて、分析されていることを確認することができないような用途のためでありえる。
【０１０６】
より一般的な実施形態においては、プロセッサー４０は、いかなる出力キュー５２／５４／５６に対しても、分析されたデータパケット３８をフォワードすることに決めることができるように、入力キューと出力キューとの間の対応関係がない。この実施の形態では、好適には。プロセッサー４０は、入力キュー３２／３４／３６から取り出されたダミー・パケットＤを廃棄する。しかし、新しいダミー・パケットＤを、出力キュー５２／５４／５６で使用するために生成する。
同様に、すなわち、プロセッサー４０が、所定の期間に、キューにデータパケット３８をフォワードしなかった場合には、ヘッド・オブ・ライン・ブロッキングを防止するために、ダミー・パケットＤが、そのキューにフィードされる。この新しいダミー・パケットは、別の最近キューから取り出されたか処理されたパケットからコピーされたタイムスタンプを有することができる。
【０１０７】
次に、出力キュー５２／５４／５６のパケット３８／Ｄは、時間順でキューから取り出すことができ、
ダミー・パケットＤを廃棄することができ、データパケット３８を、いかなる所望の方法で出力することができる。
【０１０８】
入力キューからのパケットが、他の入力キューからパケットを受信していない出力キューにフォワードされる特別なケースでは、入力キューからのダミー・パケットを、すべてのそのような出力キューにコピーすることができる。
【０１０９】
当然に、個々のキューは、いかなる適切な方法によって具体化することができる。特に、入力キューと出力キューのペアが形成される実施形態において、単一のメモリを、ペアの両方のキューを形成するのに用いることができる。このメモリは、キューのすべてのデータ／ダミー・パケットを保持する循環メモリでありえる。ここで、ポインターが、どのパケットが入力キューにあるか、どのパケットが出力キューにあるか、および、循環メモリのどの格納場所が空であるか、を記述するために使用される。たがって、入力キューからプロセッサー４０へ、データパケットを取り出すステップは、プロセッサー４０へのデータパケットの送信である、あるいは、プロセッサー４０が、単にデータパケットをメモリにおける読み出しであることがあり得る。また、プロセッサー４０から出力キュー５２／５４／５６へのデータパケットの「フィーディング」は、したがって、メモリの中で、単純に、データパケットを動かす、あるいは、さらに、より単純に、データパケットが出力キューの現在の部分であることを示すために、その中のポインターをリダイレクトするために、そのメモリまたはコントローラへの命令の送信であることがありえる。
【０１１０】
当然に、任意数のキューを、そのプロセッサーまたは各々のプロセッサーに対して使用することができる。そのようなキューはまた、優先付けされ、あるいは、異なる優先度または内容を有するデータパケットが、異なるキューにフィードされるかもしれない。したがって、混雑が見られる場合には、単にパケット３８を、優先度の低いキューまたは特定のキューに送られるタイプのデータパケットにドロップすることができる。これは、時間順序づけを破壊せず、帯域幅要求を減らし、したがって、混雑を解消する。
【０１１１】
ある実施態様において、各々が、（３２／３４／３６に対応する）自身の入力キューを有するマルチプロセッサーが使用される。それはスケジューラー２０を使用して、バス１８を介して、必要に応じて、専用リンクを介して、アナライザ１２／１４／１６または他のアナライザ（図示されない）からフィードされても、フィードされなくてもよい。この状況において、マルチプロセッサーは、分析されたパケットを廃棄するか、または、（キュー５２／５４／５６に対応する）出力キューに、スケジューラー２０に類似したスケジューラーを用いているバス１８に対応したバスを介して、または、スケジューラー２０を使用しているバス１８を介して、データパケットをフィードすることができる。各々のプロセッサーは、他のプロセッサーがパケットを出力しないキューにデータパケットを出力することができる。または、マルチプロセッサーは、同一のキューにパケットを出力することができる場合がある。
【０１１２】
当然に、アナライザ１２／１４／１６は、まったくパケットを分析する必要はない。代替的に、
それらは、いかなる望ましい分析をし、データパケットに、後の使用のために、実行されたいかなる分析あるいはその結果に関連する情報を追加することができる。代替的に、その情報／結果は、データパケットによって、そして、その中でではなくフォワードすることができる。
【０１１３】
１つの状況において、プロセッサー４０は、データパケットの分析を実行することができる。この分析は、例えば、同一のデータ・フローに関係する一群のデータパケットの分析など、いかなる望ましい分析であることができる。この分析は、アナライザ１２／１４／１６で実行される前処理に関連する、および、データパケットにより、または、その中で提供されるどんな情報にでも基づくことができる。
【０１１４】
別の状況において、プロセッサーは、単にデータパケットをキューから取り出すだけで、その他の機能を有せず、したがって、単にキューから取り出されたパケット（廃棄されない場合には、データパケット３８とダミー・パケットＤ）を、キューから取り出す上記の方法によって得られる時間順で出力する動作だけを行う。
【０１１５】
現在のタイムスタンピングと時間情報は、時間のいかなる望ましい表現に基づくことができることに留意する。時間は、外界から受信されるリアルタイムであってもよく、あるいは、システムにより用いられる局所時間であってもよい。時間は絶対時間であっても、相対時間であってもよい。
【０１１６】
好適には、時間は相対的であり、予め定められた整数範囲の中で整数により表される。最大値に達したとき、この整数はラップアラウンド（回り込み）する。この整数は、データパケットの受信の最大頻度に関して適切に選択された所定の頻度で、定期的にインクリメントされる。それは、データパケットの受信のデータ・レートまたは帯域幅、および、最小データパケット・サイズを意味する。２つのパケットを、同一のタイムスロット内で、同一のアナライザ１２／１４／１６が受信することができないことが望ましい。
【誤訳訂正２】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
複数のデータパケットを受信して、受信したデータパケットごとにタイムスタンプを提供するための受信手段と、
各々が出口端部または出力格納位置を有している、複数のＦＩＦＯ入力キューと、
前記受信したデータパケットの部分が前記複数のＦＩＦＯ入力キューの１つにおいて前記受信したデータパケットを示すように、受信したデータパケットをＦＩＦＯ入力キューにフォワードするフォワーディング手段と、
前記ＦＩＦＯ入力キューからデータパケットを取り出す手段であって、
該手段は、前記ＦＩＦＯ入力キューの出力端部または出力格納位置において示されるデータパケットであって、すべての前記ＦＩＦＯ入力キューにおける出口端部または格納位置におけるすべてのデータパケットのうちで最も低いタイムスタンプを有しているデータパケットをキューから取り出すのに適しており、
前記キューから取り出す手段は、各前記ＦＩＦＯ入力キューが１つ以上のデータパケットを有するときにのみ、１つのデータパケットをキューから取り出すのに適応している、手段と、を備え、
更に、データパケットが所定の期間に、あるＦＩＦＯ入力キューにフォワードされなかったときに、該ＦＩＦＯ入力キューに、タイムスタンプを有するダミー・パケットを伝送する伝送手段を備える、システム。
【請求項２】
受信手段は、複数の物理的に別々の受信回路を備え、
各々が、複数のデータパケットを受信し、受信したデータパケットごとにタイムスタンプを提供するのに適合しており、
各々の受信回路が生成手段を備える、請求項１に記載のシステム。
【請求項３】
前記取り出す手段は、ダミー・パケットを廃棄するのに適応している、請求項１または２に記載のシステム。
【請求項４】
各々が出口端部または出力格納位置を有している複数のＦＩＦＯ出力キューを更に備え、
前記取り出す手段は、前記ＦＩＦＯ入力キューから取り出されたデータパケットを、前記ＦＩＦＯ入力キューから取り出された順番に、１つ以上のＦＩＦＯ出力キューまでフォワードするのに適応している、請求項１ないし３のいずれか１項に記載のシステム。
【請求項５】
前記取り出す手段は、キューから取り出されたデータパケットからタイムスタンプを導出し、
ダミー・パケットを生成し、
前記ダミー・パケットに前記導出したタイムスタンプを提供し、
データパケットが少なくとも所定の期間にフォワードされなかったＦＩＦＯ出力キューに前記ダミー・パケットをフォワードするのに適応している、請求項４に記載のシステム。
【請求項６】
１つのＦＩＦＯ入力キューと１つのＦＩＦＯ出力キューを含むキューのペアが存在し、
該ペアの前記キューがオーバーラップしておらず、
前記キューから取り出す手段は、ペアの前記ＦＩＦＯ入力キューから取り出されたデータパケットを、前記ペアの前記ＦＩＦＯ出力キューへフィードするのに適応しており、
前記取り出す手段は、さらに、前記ペアの前記ＦＩＦＯ入力キューからのいかなるダミー・データパケットをも、前記ペアの前記ＦＩＦＯ出力キューへフィードするのに適応している、請求項４に記載のシステム。
【請求項７】
前記ＦＩＦＯ出力キューからデータパケットとダミー・パケットをキューから取り出すための、ＦＩＦＯ出力キューから取り出す手段をさらに含み、
前記ＦＩＦＯ出力キューから取り出す手段は、ＦＩＦＯ出力キューの前記出口端部または格納位置にあり、
すべてのＦＩＦＯ出力キューの前記出口端部または格納位置において、すべてのデータパケットのなかで最も低いタイムスタンプを有するデータパケットを取り出すのに適しており、
前記取り出す手段は、各々のＦＩＦＯ出力キューが１つ以上のデータパケットを有するとき、１つのデータパケットをキューから取り出すだけであるのに適している、請求項６に記載のシステム。
【請求項８】
データを受信しフォワードする方法であって、該方法は、
複数のデータパケットを受信するステップであって、受信したデータパケットの個々にタイムスタンプを提供する、ステップと、
前記受信したデータパケットの部分が前記複数のＦＩＦＯ入力キューの１つにおいて前記受信したデータパケットを示すように、各々が出口端部または出力格納位置を有している、ＦＩＦＯ入力キューで受信したデータパケットをＦＩＦＯ入力キューにフォワードするステップと、
前記ＦＩＦＯ入力キューからデータパケットをキューから取り出すステップであって、
該ステップは、前記ＦＩＦＯ入力キューにおける出力端部または出力格納位置において示されるデータパケットであって，すべての前記ＦＩＦＯ入力キューにおける出口端部または格納位置におけるすべてのデータパケットのうちで最も低いタイムスタンプを有しているデータパケットをキューから取り出すのに適しており、
該ステップは、各前記ＦＩＦＯ入力キューが１つ以上のデータパケットを有するときにのみ、１つのデータパケットを取り出すのに適している、ステップと、を含み、
前記方法は、さらに、データパケットが所定の期間に、あるＦＩＦＯ入力キューにフォワードされなかったときに、該ＦＩＦＯ入力キューに、タイムスタンプを有するダミー・パケットを伝送することを含む、方法。
【請求項９】
前記受信するステップは、複数の物理的に別々の受信回路が、各々、複数のデータパケットを受信することと、タイムスタンプを、個々の受信したデータパケットに対して提供することと、を含み、
各々の受信回路は、ダミー・パケットを送るステップを実行することができる、請求項８に記載の方法。
【請求項１０】
前記取り出すステップは、ダミー・パケットを廃棄することを含む、請求項８および９のいずれか１項に記載の方法。
【請求項１１】
前記取り出すステップは、前記ＦＩＦＯ入力キューから取り出されるデータパケットを、複数のＦＩＦＯ出力キューの１つ以上にフォワーディングすることを含み、
各々が、前記ＦＩＦＯ入力キューから取り出された順番に、出口端部または出力格納位置を有している、請求項８ないし１０のいずれか１項に記載の方法。
【請求項１２】
前記取り出すステップは、取り出されたデータパケットからタイムスタンプを導出することと、
ダミー・パケットを生成することと、
前記ダミー・パケットに前記導出したタイムスタンプを提供することと、
データパケットが少なくとも所定の期間にフォワードされなかったＦＩＦＯ出力キューに前記ダミー・パケットをフォワードすることと、ことを含む、請求項１１に記載の方法。
【請求項１３】
１つのＦＩＦＯ入力キューと１つのＦＩＦＯ出力キューを含むキューのペアが存在し、
該ペアの該ＦＩＦＯ入力キューと該ＦＩＦＯ出力キューとがオーバーラップしておらず、
前記取り出すステップは、前記ペアのＦＩＦＯ入力キューから取り出されたデータパケットを、前記ペアの前記ＦＩＦＯ出力キューへフィーディングすることを含み、
前記取り出すステップは、付加的に、そのペアの前記ＦＩＦＯ入力キューからのいかなるダミー・データパケットをも、そのペアのＦＩＦＯ出力キューへフィーディングすることを含む、請求項１１に記載の方法。
【請求項１４】
ＦＩＦＯ出力キューの前記出口端部または格納位置にあり、すべてのＦＩＦＯ出力キューの前記出口端部または格納位置において、すべてのデータパケットのなかで最も低いタイムスタンプを有するデータパケットを取り出すことによって、前記ＦＩＦＯ出力キューからのデータパケットおよびダミー・パケットを取り出すステップ、をさらに含み、
ＦＩＦＯ出力キューからデータパケットを取り出す前記ステップは、各々のＦＩＦＯ出力キューが１つ以上のデータパケットを有するときにのみ実行されるだけである、請求項１３に記載の方法。