(57)【特許請求の範囲】
【請求項１】
パケット処理機器（１）内におけるフローデータの記憶を管理するための方法であって、前記パケット処理機器（１）が、パケット（４）の極めて多数の全く異なるフローの無作為集合体であるパケットストリームを処理し、また、前記パケット処理機器（１）が、高速アクセス内部メモリ（１３）と、アクセス速度がより遅い外部メモリ（９）とを備え、前記方法が、
−  前記パケット処理機器の入力でデータパケットを受信するステップ（１０１）と、
−  データパケットヘッダからフローＩＤを抽出し、かつ、抽出したフローＩＤを、対応する前記フローデータが前記アクセス速度がより遅い外部メモリに記憶されるアドレスにマッピングするステップ（１０２）と、
−  前記受信したデータパケットが新しいフローの最初のパケットであるかどうかを決定するステップ（１０３）と、
前記受信したデータパケットが前記新しいフローの最初のデータパケットである場合、
−  新しいフローデータ記録を生成するステップ（１０４）と、
フローの少なくとも１つの他のパケットが前記パケット処理機器の中に既に受信されている場合、
−  前記受信したパケットに対応するフローデータを前記高速アクセス内部メモリ（１３）から入手することができるかどうかを決定するステップ（１１１）と、
前記対応するフローデータを前記高速アクセス内部メモリ（１３）から入手することができる場合、
−  前記対応するフローデータの位置を指定するステップと、
前記対応するフローデータを前記高速アクセス内部メモリ（１３）から入手することができない場合、
−  前記対応するフローデータを前記アクセス速度がより遅い外部メモリから取り出し、かつ、それらを前記高速アクセス内部メモリ（１３）に記憶するステップ（１１２）と、
−  前記高速アクセス内部メモリ（１３）からの前記対応するフローデータを使用してパケット処理を達成するステップ（１０６）と、
所与のフローのパケットがそれ以上前記パケット処理機器（１）の中に位置していない場合、
−  前記アクセス速度がより遅い外部メモリ（９）内の前記対応するフローデータを高速内部メモリ（１３）内のパケット処理された最新のフローデータで更新するステップ（１０９）と、
−  対応するフローデータ更新を保証するステップを含み、
前記対応するフローデータ更新を保証するステップが、パケットを処理するステップ（１０６）が終了する時間の後、前記アクセス速度がより遅い外部メモリ（９）の書込みアクセス待ち時間より長い遅延の間、前記最新のフローデータを前記高速アクセス内部メモリ（１３）に保持することによって達成される、
パケット処理機器（１）内におけるフローデータの記憶を管理するための方法。
【請求項２】
フローＩＤを抽出し、かつ、抽出したフローＩＤを対応するアドレスにマッピングするステップ（１０２）の開始時間と、パケットを処理するステップ（１０６）の開始時間との間の遅延が、フローＩＤを対応するアドレスにマッピングする時間＋前記アクセス速度がより遅い外部メモリ（９）のアクセス待ち時間より長い継続期間に対応する、請求項１に記載のパケット処理機器（１）内におけるフローデータの記憶を管理するための方法。
【請求項３】
前記高速アクセス内部メモリ（１３）がオンチップスタティックランダムアクセスメモリ（ＳＲＡＭ）に対応し、また、前記アクセス速度がより遅い外部メモリ（９）がオフチップダイナミックランダムアクセスメモリ（ＤＲＡＭ）に対応する、請求項１又は２に記載のパケット処理機器（１）内におけるフローデータの記憶を管理するための方法。
【請求項４】
前記方法が、前記対応するフローデータの前記高速アクセス内部メモリ（１３）のメモリ空間を解放するステップ（１１０）に対応する追加ステップを含み、前記追加ステップが、前記フローのパケットがパケット処理機器（１）の中に受信されると、前記最新のフローデータが使用されることを保証するために、前記対応するフローデータを最新のフローデータで更新するステップの後に達成される、請求項１から３のいずれか一項に記載のパケット処理機器（１）内におけるフローデータの記憶を管理するための方法。
【請求項５】
前記高速アクセス内部メモリ（１３）の容量が、前記パケット処理機器（１）の中を通過中の最大可能数のパケット（４）に対応する前記フローデータを記録するために必要な容量に対応する、請求項１から４のいずれか一項に記載のパケット処理機器（１）内におけるフローデータの記憶を管理するための方法。
【請求項６】
データパケットヘッダからフローＩＤおよびメモリアドレスを抽出するステップが編成済みデータリポジトリ（１１）によって達成される、請求項１から５のいずれか一項に記載のパケット処理機器（１）内におけるフローデータの記憶を管理するための方法。
【請求項７】
編成済みデータリポジトリ（１１）が経路指定ルックアップテーブルである、請求項６に記載のパケット処理機器（１）内におけるフローデータの記憶を管理するための方法。
【請求項８】
前記パケット処理機器（１）がパケットパイプラインを備え、前記パケットパイプラインの中を伝送されるパケット（４）に少なくとも１つの処理が連続的に加えられる、請求項１から７のいずれか一項に記載のパケット処理機器（１）内におけるフローデータの記憶を管理するための方法。
【請求項９】
前記高速アクセス内部メモリ（１３）が、個々にアドレス指定することができるセクタに分割され、また、異なる並行処理（１５）の機能に分散される、請求項１から８のいずれか一項に記載のパケット処理機器（１）内におけるフローデータの記憶を管理するための方法。
【請求項１０】
受信したパケットのタイムスロットのうちの、前記アクセス速度がより遅い外部メモリ（９）にアクセスするためのごく一部分が、内部サービスパケットのために保存される、請求項１から９のいずれか一項に記載のパケット処理機器内におけるフローデータの記憶を管理するための方法。
【請求項１１】
前記パケット処理機器の入力でデータパケットを受信すると（１０１）、パケットペイロードがパケットヘッダから分離され、前記パケットペイロードがメモリに記憶され、また、前記高速アクセス内部メモリ（１３）からの前記対応するフローデータを使用してパケット処理を達成するステップ（１０６）がパケットヘッダに加えられ、パケットヘッダが処理された後、パケットペイロードおよびパケットヘッダが１つに結合される、請求項１から１０のいずれか一項に記載のパケット処理機器内におけるフローデータの記憶を管理するための方法。
【請求項１２】
高速アクセス内部メモリ（１３）およびアクセス速度がより遅い外部メモリ（９）を備えたパケット処理機器（１）であって、
−  前記パケット処理機器（１）の入力でデータパケットを受信し、
−  データパケットヘッダからフローＩＤおよびメモリアドレスを抽出し、
−  抽出したフローＩＤおよびアドレスに対応するフローデータを前記アクセス速度がより遅い外部メモリ（９）に保存し、
−  前記アクセス速度がより遅い外部メモリ（９）から前記フローデータを取り出し、かつ、それらを前記高速アクセス内部メモリ（１３）に記憶し、
−  前記高速アクセス内部メモリ（１３）からの前記対応するフローデータを使用してパケット処理を達成し、
−  フローのパケットがそれ以上前記パケット処理機器（１）の中に位置していない場合、前記アクセス速度がより遅い外部メモリ（９）の前記対応するフローデータを更新し、
−  所定の時間の間、前記対応するフローデータを前記高速アクセス内部メモリ（１３）に保持する
ための手段をさらに備えた、パケット処理機器（１）。
【請求項１３】
パケット処理を達成するステップが、パケット処理に基づく前記高速アクセス内部メモリ（１３）内の前記対応するフローデータの修正を含む、請求項１２に記載のパケット処理機器（１）。
【請求項１４】
前記高速アクセス内部メモリ（１３）がオンチップスタティックランダムアクセスメモリ（ＳＲＡＭ）に対応し、また、前記アクセス速度がより遅い外部メモリがオフチップダイナミックランダムアクセスメモリ（ＤＲＡＭ）に対応する、請求項１２または１３のいずれかに記載のパケット処理機器（１）。
【請求項１５】
前記手段が、前記対応するフローデータの前記高速アクセス内部メモリ（１３）のメモリ空間を解放するようにさらに構成される、請求項１２から１４のいずれか一項に記載のパケット処理機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信網の分野に関し、より正確にはパケットルータ内におけるデータパケット処理の分野に関する。
【背景技術】
【０００２】
データパケットルータは、ネットワークノード内に配置されている。フローアウェアパケット網の場合、前記ルータ、とりわけネットワークの縁に位置しているノードに対応するルータは、システムに流入するフローの状態情報の記憶を維持しなければならない。このような記録は、ネットワークノードが受信するすべてのフローに対して達成しなければならない。高速チャネル（≧１０Ｇｂ／ｓ）の場合、パケット処理中の遅延を防止するためには、フローＩＤに関連する前記フロー状態情報を可能な限り速く利用することができなければならない。
【０００３】
その上、フローサイズが、数個のパケット（例えば１２個のパケット）からなる「マウス」フローから、数百個のパケットからなる「エレファント」フローに変化することがある。したがってあらゆる状況をカバーするだけの十分な記憶容量が必要である。
【０００４】
したがってフロー情報の記憶には、伝送されるパケットを伝送のデータビットレートに従って処理することができるよう、大容量メモリと、記憶されているデータに対する短い待ち時間アクセスとを組み合わせる必要がある。さらに、広範囲にわたって使用するためには、このようなメモリのコストを可能な限り低いコストに維持しなければならない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、限られたコストに対する伝送データ処理能力を変更することなくフローデータを記憶するための機器を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、パケット処理機器内におけるフローデータの記憶を管理するための方法に関しており、前記機器は、パケットの極めて多数の全く異なるフローの無作為集合体であるパケットストリームを処理し、また、前記機器は、高速アクセス内部メモリと、アクセス速度がより遅い外部メモリとを備えており、前記方法には以下のステップが含まれている：
−  パケット処理機器の入力でデータパケットを受信するステップ。
−  データパケットヘッダからフローＩＤを抽出し、かつ、抽出したフローＩＤを、対応するフローデータがアクセス速度がより遅い外部メモリに記憶されるアドレスにマッピングするステップ。
−  前記受信したデータパケットが新しいフローに対応しているかどうかを決定するステップであって、
前記受信したデータパケットがそのフローの最初のデータパケットである場合、
−  新しいフローデータ記録を生成し、
フローの少なくとも１つの他のパケットがパケット処理機器の中に既に受信されている場合、
−  前記受信したパケットに対応するフローデータを高速アクセス内部メモリから入手することができるかどうかを決定し、
対応するフローデータを高速アクセス内部メモリから入手することができる場合、
−  前記フローデータの位置を指定し、
対応するフローデータを高速アクセス内部メモリから入手することができない場合、
−  前記対応するフローデータをアクセス速度がより遅い外部メモリから取り出し、かつ、それらを高速アクセス内部メモリに記憶する
ステップ。
−  高速アクセス内部メモリからの対応するフローデータを使用してパケット処理を達成するステップであって、
所与のフローのパケットがそれ以上パケット処理機器の中に位置していない場合、
−  アクセス速度がより遅い外部メモリ内の対応するフローデータを高速内部メモリ内のフローデータから更新し、
−  対応するフローデータ更新を保証する
ステップ。
【０００７】
本発明の他の態様によれば、フローＩＤを抽出し、かつ、抽出したフローＩＤを対応するアドレスにマッピングするステップの開始時間と、パケットを処理するステップの開始時間との間の遅延は、フローＩＤを対応するアドレスにマッピングする時間＋アクセス速度がより遅い外部メモリのアクセス待ち時間より長い継続期間に対応している。
【０００８】
本発明のさらに他の態様によれば、対応するフローデータ更新を保証するステップは、パケットを処理するステップが終了する時間の後、アクセス速度がより遅い外部メモリの書込みアクセス待ち時間より長い遅延の間、フローデータを高速アクセス内部メモリに保持することによって達成される。
【０００９】
本発明の一追加態様によれば、高速アクセス内部メモリは、オンチップスタティックランダムアクセスメモリ（ＳＲＡＭ）に対応しており、また、アクセス速度がより遅い外部メモリは、オフチップダイナミックランダムアクセスメモリ（ＤＲＡＭ）に対応している。
【００１０】
本発明の他の態様によれば、前記方法には、対応するフローデータの高速アクセス内部メモリのメモリ空間を解放するステップに対応する追加ステップが含まれており、前記追加ステップは、前記フローのパケットがパケット処理機器の中に受信されると、最新のフローデータが使用されることを保証するために、対応するフローデータ更新を保証するステップの後に達成される。
【００１１】
本発明のさらに他の態様によれば、高速アクセス内部メモリの容量は、機器の中を通過中の最大可能数のパケットに対応するフローデータを記録するために必要な容量に対応している。
【００１２】
本発明の一追加態様によれば、データパケットヘッダからフローＩＤおよびメモリアドレスを抽出するステップは、編成済みデータリポジトリによって達成される。
【００１３】
本発明の他の態様によれば、編成済みデータリポジトリは経路指定ルックアップテーブルである。
【００１４】
本発明のさらに他の態様によれば、パケット処理機器はパケットパイプラインを備えており、前記パケットパイプラインの中を伝送されるパケットに少なくとも１つの処理が連続的に加えられる。
【００１５】
本発明の一追加態様によれば、高速アクセス内部メモリは、個々にアドレス指定することができるセクタに分割されており、また、異なる並行処理の機能に分散されている。
【００１６】
本発明の他の実施形態によれば、受信したパケットのタイムスロットのうちの、アクセス速度がより遅い外部メモリにアクセスするためのごく一部分は、内部サービスパケットのために保存される。
【００１７】
本発明のさらに他の実施形態によれば、パケット処理機器の入力でデータパケットを受信すると、パケットペイロードがパケットヘッダから分離され、前記パケットペイロードがメモリに記憶され、また、高速アクセス内部メモリからの対応するフローデータを使用してパケット処理を達成するステップがパケットヘッダに加えられ、パケットヘッダが処理された後、パケットペイロードおよびパケットヘッダが１つに結合される。
【００１８】
また、本発明は、高速アクセス内部メモリおよびアクセス速度がより遅い外部メモリを備えたパケット処理機器に関しており、パケット処理機器は、さらに、
−  パケット処理機器の入力でデータパケットを受信し、
−  データパケットヘッダからフローＩＤおよびメモリアドレスを抽出し、
−  抽出したフローＩＤおよびアドレスに対応するフローデータをアクセス速度がより遅い外部メモリに保存し、
−  アクセス速度がより遅い外部メモリから前記フローデータを取り出し、かつ、それらを高速アクセス内部メモリに記憶し、
−  高速アクセス内部メモリからの対応するフローデータを使用してパケット処理を達成し、
−  フローのパケットがそれ以上パケット処理機器の中に位置していない場合、アクセス速度がより遅い外部メモリの対応するフローデータを更新し、
−  所定の時間の間、対応するフローデータを高速アクセス内部メモリに保持する
ための手段を備えている。
【００１９】
本発明の他の態様によれば、パケット処理を達成するステップには、パケット処理に基づく高速アクセス内部メモリ内のフローデータの修正が含まれている。
【００２０】
本発明のさらに他の態様によれば、高速アクセス内部メモリは、オンチップスタティックランダムアクセスメモリ（ＳＲＡＭ）に対応しており、また、アクセス速度がより遅い外部メモリは、オフチップダイナミックランダムアクセスメモリ（ＤＲＡＭ）に対応している。
【００２１】
本発明の一追加態様によれば、前記手段は、また、対応するフローデータの高速アクセス内部メモリのメモリ空間を解放するように構成されている。
【図面の簡単な説明】
【００２２】
【図１】パケット処理機器の一可能実施形態の線図である。
【図２】本発明の一実施形態の異なるステップを示す通観的線図である。
【図３】サービスパケットを管理するために必要な機器の実施態様を示す線図である。
【図４】パケットヘッダ処理機器の一可能実施形態の線図である。
【発明を実施するための形態】
【００２３】
本明細書において使用されているように、「フロー」という用語は、共通の属性、とりわけ共通のフローＩＤを有する複数のデータパケットを意味している。
【００２４】
本明細書において使用されているように、「フローＩＤ」という用語は、データフローの識別を意味しており、前記識別は、対応するデータフローを表す特徴または要素からなっている。
【００２５】
本明細書において使用されているように、「アクセス待ち時間」という用語は、コアデバイス内における読取り要求のトリガから、コアデバイス内でデータが事実上利用可能になるまでの間に必要な時間、あるいは書込み要求からメモリデバイス内の記憶が事実上更新されるまでの間に必要な時間を意味している。
【００２６】
図１は、本発明によるパケット処理機器１の実施形態の一例を示したものである。前記機器は、例えばパケットパイプラインであってもよいパケットプロセッサユニット３を備えている。パケット４は、入力５で受信された後、パケットプロセッサユニット３に沿ったパケットストリームとして前記パケットプロセッサユニット３の出力７へ通過する。
【００２７】
図２は、図１で説明した機器に基づく本発明の一実施形態の異なるステップを示したものである。
【００２８】
パケットプロセッサユニットの入力５で受信されると（ステップ１０１）、受信したパケットに対応するフローＩＤを抽出するためにパケットヘッダが読み取られる（ステップ１０２）。実際、パケット４は複数のフローから無作為に受信され、前記フローは異なる起点および行先を有している。さらに、異なるフローは、異なるサイズ（パケットの数）を有することができる。したがって受信したパケットのフローＩＤと、外部低速アクセスメモリ９に既に記録されているフローデータが存在しているフローＩＤが比較される。前記メモリは、例えばオフチップダイナミックランダムアクセスメモリ（ＤＲＡＭ）であってもよい。
【００２９】
ＤＲＡＭの場合、アクセス待ち時間は低速データ伝送を意味しないことに留意されたい。実際、データ伝送自体はバーストによって達成することができ、したがって高速データ転送速度を達成することができる。
【００３０】
フローＩＤの前記比較は、編成済みデータリポジトリ１１、例えば経路指定ルックアップテーブルまたは３値連想記憶装置あるいは複数のハッシュテーブルの中で達成される。また、ブルームフィルタを前記編成済みデータリポジトリ１１に使用することが可能であることについても留意されたい。知られているフローＩＤの整合の結果、対応するフローデータが外部低速アクセスメモリ９に記憶されるアドレスにフローＩＤがマップされる。
【００３１】
さらに、このような比較により、受信したパケットが新しいフローの最初のパケットであるかどうかを決定することができる（ステップ１０３）。このような場合、そのフローＩＤに含まれているデータおよび同じフローに属するすべての後続データを保存するために、低速アクセス外部メモリ９に新しいフローデータ記録が生成される（ステップ１０４）。
【００３２】
本発明の一態様は、高速アクセス内部メモリ１３、例えばオンチップスタティックランダムアクセスメモリ（ＳＲＡＭ）と、アクセス速度がより遅い外部メモリ９の組合せである。このような組合せにより、アクセス待ち時間が短い大容量メモリを提供することができ、その一方で前記メモリのコストを制限することができる。したがってステップ１０４で、高速アクセス内部メモリ１３の空きメモリ空間（メモリの自由キャッシュラインとも呼ばれる）がパケットに割り当てられる。
【００３３】
高速アクセス内部メモリ１３のサイズ（したがってコスト）を低減するために、パケットプロセッサユニット３の中を通過中のパケットに関するフローデータのみが高速アクセス内部メモリ１３の中に置かれる。したがって高速アクセス内部メモリ１３の容量は、パケットプロセッサユニット３全体に沿った異なるフローに属する単一のパケットのみを有するパケットストリームに対応するメモリ要求事項の点で最悪の事例を処理するだけの十分な容量にしなければならない。このような場合、通過中のすべてのパケット４に対してメモリ空間が必要である。
【００３４】
フローの最初のパケットがパケット処理機器１の入力で受信されると、対応する最初のフローデータがアクセス速度がより遅い外部メモリ９に保存され、フローの第２のパケット、あるいはもっと後のパケットが受信されると、前記フローデータが外部メモリから取り出される。いずれの場合においても、高速アクセス内部メモリ１３の割り当てられた空きメモリ空間に前記データがコピーされる（ステップ１０５）。
【００３５】
次に、パケットプロセッサユニット３を通過している間、パケットに異なる処理１５が加えられる（ステップ１０６）。前記処理１５は、例えばヘッダ修正、整形などのフィルタリング処理、フロー統計量の修正（パケットまたはビットカウンタ増分など）、輻輳ビットの更新またはフロービットレート平均決定であってもよい。
【００３６】
図１で説明した実施態様のおかげで、異なる処理のために必要なフローデータを高速アクセス内部メモリ１３から入手することができるため、前記データにアクセスするための待ち時間が短縮され、パケットの高ビットレート伝送を妨げることはない。
【００３７】
さらに、異なる処理によってフローデータが修正されるため、メモリの高速アクセスにも同じくフローデータの修正値の更新が必要である。フローのパケットがパケットプロセッサユニットの出力に到達すると、ステップ１０７で決定される、パケットプロセッサユニット３の中を通過中の同じフローのパケットの存在の有無の作用によって異なるケースが生じることがある。
【００３８】
同じフローの他のパケットがパケットプロセッサユニット３の中を通過中である場合、通過中の前記新しいパケットは、高速アクセス内部メモリ１３からの同じフローデータを使用することになり、したがってフローデータは、前記高速アクセス内部メモリ１３内に留まる。これでパケット処理が終了する（ステップ１０８）。
【００３９】
他のパケットがパケットプロセッサユニット３の中を通過していない場合、アクセス速度がより遅い外部メモリ９に最新のフローデータがコピーされ（ステップ１０９）、最終的には前記データを消去することによって高速アクセス内部メモリ内のこのフローデータに対応するメモリ空間が解放され（ステップ１１０）、したがって他のパケットのために前記メモリを再使用することができる。
【００４０】
したがって、パケットプロセッサユニット３の入力５で、先行するパケットが前記パケットプロセッサユニット３を介して伝送されたフローに属するパケットが受信されると、既に前記フローデータが存在しているため、新しいフローデータ記録を生成する必要はない。しかしながら、そのフローの先行するパケットが依然としてパケットプロセッサユニット３の中を通過中であるかどうかをチェックする必要がある（ステップ１１１）。
【００４１】
２つの全く異なるケースが生じることがある。そのフローの先行するパケットが依然としてパケットプロセッサユニット３の中を通過中である場合は、依然として高速アクセス内部メモリ１３からフローデータを入手することができ、新しく受信したパケットに対する処理を達成するために使用することができる。この場合、次のステップはステップ１０６である。
【００４２】
一方、そのフローの先行するパケットがパケットプロセッサユニット３の出力７から既に出てしまっている場合、それは、対応するフローデータが高速アクセス内部メモリ１３から既に消去され、アクセス速度がより遅い外部メモリ９に記録されている対応するフローデータが高速アクセス内部メモリ１３にコピーされていることを意味している（ステップ１１２）。
【００４３】
さらに、フローの終了時に、対応するフローデータを削除することによってアクセス速度がより遅い外部メモリ９が同じく解放される。フローの終了は、例えば同じフローの２つのパケットの間に最大時間（例えば２秒）を設定することによって決定することができる。したがってこの（２秒の）時間が経過すると、フローが終了したものと見なされ、対応するデータがメモリ９から消去される。
【００４４】
さらに、高速アクセス内部メモリ１３は、所与のセクタが所与の処理のために使用されるよう、個々にアドレス指定することができるセクタに分割することができる。したがって１つのアドレス指定可能セクタは１つの処理に対応している。
【００４５】
本発明の他の態様によれば、パケット処理の正確性を保証するためには、上で説明したステップ間のタイミングを考慮しなければならない。
【００４６】
時間軸は、図１の一番下に示されている。時間Ｔ１は、パケットプロセッサユニット３の入力におけるパケットの受取りに対応している。時間Ｔ２は、アクセス速度がより遅い外部メモリ９から高速アクセス内部メモリ１３へ向かうデータ転送またはデータコピーの完了に対応している。
【００４７】
フローデータが高速アクセス内部メモリ１３に転送されたことを保証するためには、Ｔ１とＴ２の間の遅延を外部メモリ９に対するアクセスの待ち時間に等しいか、あるいはそれより長くしなければならない。
【００４８】
時間Ｔ３は、高速アクセス内部メモリ１３からアクセス速度がより遅い外部メモリ９への最新フローデータの転送の開始に対応している。時間Ｔ４は、高速アクセス内部メモリ１３内のフローデータの消去に対応している。
【００４９】
データの記憶を確保し、かつ、最新データの使用を確実にするためには、最新データの記憶が時間Ｔ４で完了するよう、Ｔ３とＴ４の間の遅延を外部メモリ９に対する書込みアクセスの待ち時間に等しいか、あるいはそれより長くしなければならない。実際、このような遅延により、そのフローの新しいパケットが先行するパケットのＴ３とＴ４の間の遅延の間にパケットプロセッサユニット３の入力５に到着する場合においても、依然として高速アクセス内部メモリ１３内に最新データを有することができる。そのフローの新しいパケットが、同じフローの先行するパケットの時間Ｔ４の後にパケットプロセッサユニット３の入力５に到着する場合、アクセス時間がより遅い外部メモリ９に記録されているデータが最新であり、取り出されることになる。時間Ｔ３とＴ４の間に到着する場合、低速外部メモリへのフローデータのコピーが未だ完了していないため、依然として高速内部メモリ内に存在しているフローデータが使用される。
【００５０】
本発明の他の態様によれば、パケット処理機器が適切に機能することを確実にするためにサービスパケットが使用され、かつ、パケットプロセッサユニット３内をデータパケットと共に伝送される。
【００５１】
図３は、これらのサービスパケットの編成を示したものである。編成済みデータリポジトリ１１によってフローＩＤが解析されると、データパケットがそれらのフローＩＤと共にマルチプレクサ１７の入力に伝送される。マルチプレクサの他の入力は、クリーンアップサービスパケットを提供しているデータベースクリーンアップ発生器１９、および制御／管理サービスパケットを提供しているノード制御、管理および知識構築ユニット２１に接続されている。
【００５２】
したがってサービスパケットはデータパケットストリーム中に挿入される。これは、例えばタイムスロットを修正することによって達成することができる。例えば、５０ｎｓの代わりに４０ｎｓアクセスの場合、内部サービスタイムスロットと呼ばれる１つの追加タイムスロットを４つのタイムスロット毎に追加することができる（データパケットタイムスロット）。前記内部サービスパケットは、メモリおよびデータベース内の旧データの削除を制御し、かつ、ノードの他の機器と制御情報、監視情報または管理情報を交換する。
【００５３】
パケットプロセッサユニット３の出力では、パケットはデマルチプレクサ２３に伝送され、データパケットはそれらの行先２５に向けて送られ、一方、サービス応答パケットは、クリーンアップサービスパケットの場合はデータベースクリーンアップ発生器１９に送り返され、あるいは制御／管理パケットの場合はノード制御／管理ユニット２１に送り返され、前記パケットは、例えば処理または生成あるいは削除された異なるフローに関する統計情報を運んでいる。
【００５４】
さらに、統計情報は、データベースクリーンアップ発生器から制御／管理ユニット２１へ伝送される（矢印２７）。
【００５５】
また、正しい機能のために、あるいはパケットプロセッサユニット３内のアイドル期間の場合に、また、そのペイロードが処理を全く必要としない大きいパケットの遅延の間に必要である場合、「使用されていない」データパケットタイムスロットを内部サービスタイムスロットに変換することができることに留意されたい。
【００５６】
本発明の他の実施形態によれば、パケットペイロードが不変を維持している間に処理されるのはパケットヘッダのみであり、適切である場合、処理を加速することができる。
【００５７】
図４に示されているように、時間Ｔ’１でパケットが受信される。アクセス速度がより遅い外部メモリ９と同様の待ち行列メモリ９’にパケットペイロードが記憶されている間にパケットヘッダプロセッサユニット３’に伝送されるのはヘッダ部分のみである。この場合も、フローＩＤがヘッダから抽出され、アクセス速度がより遅い外部メモリ９のアドレスにマップされる。時間Ｔ’２で、一方ではアクセス速度がより遅い外部メモリ９から高速アクセス内部メモリ１３へフローデータが転送され、他方ではペイロードが記憶されているメモリ空間の記憶ポインタがパケットヘッダ処理ユニット３’に送られる。次に、パケットヘッダに処理１５が加えられる。時間Ｔ３’で、一方では高速アクセス内部メモリ１３からアクセス速度がより遅い外部メモリ９へ最新フローデータが送られ、他方ではプロセッサがポインタおよび処理済みパケットヘッダを待ち行列メモリ９’に送り返す。パケットの状態に応じて、時間Ｔ’４で、パケットのすべての内容が最終的に待ち行列メモリから回復されるか、あるいは後の転送のためにヘッダがペイロードと共にバッファされる。前記バッファリングは、待ち行列およびトラフィックマネジャー２７によって管理される。待ち行列を全く必要としないパケットは、カットスルーマルチプレクサ２９を介して直ちに出力に送ることができ、さもなければパケット転送スケジュールが待ち行列およびトラフィックマネジャー２７によって管理される。
【図１】
0005514913.tif 000002
【図２】
0005514913.tif 000003
【図３】
0005514913.tif 000004
【図４】
0005514913.tif 000005