(57)【要約】【課題】  ネットワークをモニタして、入力ストリームと出力ストリームとの整合性を維持するテスト装置を提供することにある。ネットワーク上における様々なストリームを管理して、適正に関連づけることが可能なデータ・ネットワーク試験装置を提供する。データ・ネットワーク試験装置のリソース（テスタ資源）を最も効率よく利用して、データのオーバフロー状態を阻止するデータ・ネットワーク試験装置を提供する。【解決手段】  セル２００を解析してストリーム識別子４０２を取得するステップ４０１と、セル２００における情報からネットワーク性能データを求めるステップと、連想記憶メモリ（ＣＡＭ）３３２の次に利用可能なＣＡＭアドレス４１１にストリーム識別子４０２を記憶記憶するステップ４１２と、次に利用可能なＣＡＭアドレス４１１の値に関連したメモリ素子のアドレスに、ネットワーク性能データを記憶するステップ４０７とを含む。【選択図】        図６
2004153810.tif 000002
【特許請求の範囲】
【請求項１】
データ・ネットワーク試験装置におけるメモリ資源を管理する方法であって、
セルを解析してストリーム識別子を取得するステップと、
前記セルにおける情報からネットワーク性能データを求めるステップと、
連想記憶メモリ（ＣＡＭ）の次に利用可能なＣＡＭアドレスに前記ストリーム識別子を記憶するステップと、
前記次に利用可能なＣＡＭアドレスの値に関連したメモリ素子のアドレスに前記ネットワーク性能データを記憶するステップと、
を含むことを特徴とする方法。
【請求項２】
前記ストリーム識別子がもはや関連がないものと判定するステップと、
エントリーに前記ストリーム識別子に一致する値が含まれている無関連ＣＡＭアドレスを取得するステップと、
前記ストリーム識別子とマスク値の和の値を前記無関連ＣＡＭアドレスに記憶するステップと、
前記ＣＡＭアドレスの値に関連した前記メモリ素子のアドレスにおけるエントリーをリセットするステップと、
前記無関連ＣＡＭアドレスをリセットして、今後において利用可能とするステップと、
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記セルのうち複数の順次セルについて前記ステップを繰り返すことを特徴とする請求項１に記載の方法。
【請求項４】
前記ストリーム識別子が２８ビットであり、前記マスク値が２28であることを特徴とする請求項２に記載の方法。
【請求項５】
前記セルが非同期転送モード（ＡＴＭ）・ネットワークにおけるセルであることを特徴とする請求項１に記載の方法。
【請求項６】
前記セルが転送制御プロトコル（ＴＣＰ）・ネットワークにおけるセルであることを特徴とする請求項１に記載の方法。
【請求項７】
前記メモリ素子がＡメモリ素子とＢメモリ素子とに論理的に分けられ、ネットワーク性能データが前記Ａ及びＢメモリ素子に交互に記憶されることを特徴とする請求項１に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
データ・ネットワークは、現在の通信システムにとって強力なツールである。データ・ネットワーキングが、長年にわたって、成熟し、より広く行き渡るにつれて、データ・プロトコルの複雑性及びデータ転送速度が増してきた。非同期転送モード（ＡＴＭ；Asynchronous Transfer Mode）ネットワークは、現在用いられている、広く行き渡ったデータ通信プロトコルの１つである。ＡＴＭは、物理的媒体による伝送のために、上位レベルのデータ単位を５３バイトのセルに分割するセル・リレー・テクノロジである。ＡＴＭは、上位層で生じる伝送タイプ、並びに、それより下位の物理層媒体のタイプ及び速度に関係なく機能する。ＡＴＭテクノロジによれば、既存のＴ１／Ｅ１ラインからＳＯＮＥＴ ＯＣ−３にまで及ぶ任意の媒体を介して、単一統合データ・ストリームをなす伝送物（例えば、データ，音声，ビデオ等）を１５５Ｍｂｐｓの速度で転送することが可能になる。ＡＴＭを定義する基本規格には、ＡＴＭ層機能を定義するＩＴＵ−ＴＩ．３６１，ＡＴＭ適合層プロトコルを定義するＩＴＵ−ＴＩ．３６３，並びに、ＡＴＭ運用及び保守（「ＯＡＭ」）及び資源管理（「ＲＭ」）機能を定義するＩＴＵ−ＴＩ．６１０がある。
【０００２】
ＡＴＭデータ・ネットワークを保守するためには、ネットワークの高速動作中に、データ通信トラフィックを不能にすることなく、問題を検出して、診断できることが役に立つ。データ通信障害の検出及び診断に役立つツールは、ネットワークを介したデータ・トラフィックに関連する情報の収集及び統計的処理である。通常の当業者には明らかなように、収集される生データは、テスト・オペレータによる解釈が可能な情報にする生データの追加処理が施されていない、最小値のものである。データ・ネットワーキング統計量は、データ・フローのパターンに関する情報をテスト・オペレータに提供することによって、生データから情報への変換に役立つ。
【０００３】
ＡＴＭストリームは、一般に、全二重（full duplex）である。従って、第１の物理的リンクは、入力セルを伝送し、第２の物理的リンクは、出力セルを伝送する。本明細書では、ストリームという用語は、音声会話，電子メッセージ，又はビデオ信号とすることが可能な、単一の装置間通信全体を表すために用いられている。場合によっては、ストリームは、転送される信号のタイプに従って、ある方向における通信帯域幅だけしか利用しないこともある。しかし、テスト計器は、転送されるストリームのタイプに関する事前知識を備えていない。ＡＴＭプロトコルは、全ての異なるタイプのストリームを同時に伝送することが可能である。従って、データ・ネットワーク試験装置において最大の柔軟性を得るには、２つの物理的リンクにおける関連ストリームをモニタして、相関させるのが有効である。
【０００４】
ＡＴＭプロトコルは、約２28までの全二重ストリームの伝送が可能である。異なるストリームを管理し、再アセンブルするため、ＡＴＭスイッチは、ＡＴＭセグメント化プロセスの一部として、一意性のストリーム識別子を割り当てる。ストリーム識別子は、仮想パス（「ＶＰ」）／仮想チャネル（「ＶＣ」）対と呼ばれる２つの数を含んでいる。ＶＰ／ＶＣ対は、本明細書において、ストリーム識別子と呼ばれる。ストリーム識別子は、ストリームの一部として転送されるデータを伝達し、ストリームが再アセンブリの時点において照合調整を施される仕組みを提供するＡＴＭセルのヘッダに納められる。ある時点において、ストリームが終了して、データ転送が完了し、ストリーム番号は、もはや通信プロセスと関連がなくなる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、ネットワークをモニタして、入力ストリームと出力ストリームとの整合性を維持するデータ・ネットワーク試験装置を提供することにある。とりわけ、本発明の目的は、ネットワーク上における様々なストリームを管理して、適正に関連づけることが可能なデータ・ネットワーク試験装置を提供することにある。本発明のもう１つの目的は、データ・ネットワーク試験装置のリソース（テスタ資源）を最も効率よく利用して、データのオーバフロー状態を阻止するデータ・ネットワーク試験装置を提供することにある。
【課題を解決するための手段】
【０００６】
ネットワーク性能データ（ネットワーク・パフォーマンス・データ）を管理する方法には、セルを解析して、ストリーム識別子を取得するステップと、セルの情報からネットワーク性能データを求めるステップが含まれている。この方法には、さらに、連想メモリ（ＣＡＭ；Content Addressable Memory）における次に利用可能なアドレスにおいてＣＡＭにストリーム識別子を記憶するステップと、ＣＡＭにおける次に利用可能なアドレスの値に関連した、ネットワーク性能データ・メモリ素子のアドレスにネットワーク性能データを記憶するステップが含まれている。
【０００７】
特許請求の範囲に記載されている発明の実施態様のもう１つの態様によれば、ネットワーク性能情報データを管理するための装置には、セルを解析して、ストリーム識別子を取得するための手段と、セルの情報からネットワーク性能データを求めるための手段が含まれている。この装置には、さらに、連想メモリ（ＣＡＭ）と、ＣＡＭにおける次に利用可能なアドレスにストリーム識別子を記憶するための手段が含まれている。この装置には、ネットワーク性能データ・メモリと、次に利用可能なアドレスの値に関連した、ネットワーク性能データ・メモリ素子のアドレスにネットワーク性能データを記憶するための手段も含まれている。
【発明を実施するための最良の形態】
【０００８】
図１を参照すると、典型的なＡＴＭデータ・ネットワークの説明図が示されている。ＡＴＭネットワークは、第１及び第２のＡＴＭスイッチ（ＡＴＭデータ・スイッチ）１０２，１０３間に１つ以上の物理的ケーブル１００，１１０が含まれている。物理的ケーブル１００、１１０は、ＡＴＭデータ・スイッチ１０２、１０３に電気又は光データ信号を伝送すると共に、ＡＴＭデータ・スイッチ１０２、１０３から電気又は光データ信号を伝送する。従来のＡＴＭネットワークは、一般に、それぞれ、受信チャネル用の物理的専用ケーブル１００と送信チャネル用の物理的専用ケーブル１１０との、２つの物理的専用ケーブルを備えた全二重システムである。ＡＴＭデータ・スイッチ１０２、１０３は、ローカル・ネットワークに接続されており、ＡＴＭネットワークとローカル・ネットワーク１０４，１０５との間のインターフェイスの働きをする場合が多い。ＡＴＭデータ・スイッチ１０２又は１０３は、ＡＴＭチャネル１００又は１１０による伝送に備えており、発信ローカル・ネットワーク１０４からのデータを５３バイトのセルにセグメント化する。セルが宛先ＡＴＭスイッチ１０３又は１０２に到達すると、ＡＴＭスイッチ１０２又は１０３は、回路内の次のＡＴＭスイッチにセルを伝送するか、或いは、宛先ローカル・ネットワーク１０５に提示するため、セルを再アセンブルする。
【０００９】
実際問題として、一般に、単一ＡＴＭネットワーク上には、常に、活動状態のストリームが約数１００ほど存在する。他のストリームは、非活動状態にあり、最終的には、時間切れで、関連性がなくなる。従って、一部のストリームは、時間切れの過程にあるので、どの時点においても、追跡しなければならないストリームは、１５００〜２０００ほど存在する。これに留意して、上限で４０９６の活動ストリームを追跡することが可能なテスト装置１０７は、最悪の事態の実際のシナリオに十分に対応することが可能であるものと仮定する。通常の当業者には明らかなように、ＡＴＭネットワークは、テクノロジの進歩につれて、さらに高速になり、より多数のストリームに適応できるようになるであろう。従って、ネットワークの機能及び処理能力が向上するにつれて、４０９６を超えるストリームに適応するように、本発明の教示を調整することが可能である。
【００１０】
ＡＴＭネットワークをテストするため、テスト装置１０７のプローブ１０６が、タップを備えたケーブル１００，１１０、或いは１つ以上のＡＴＭスイッチ１０２，１０３によって、その全長に沿った任意のポイントにおいてＡＴＭネットワークに接続される。プローブ１０６は、ＡＴＭネットワークによるデータの伝送を決して妨げることなく、データ・トラフィックを傍受する。好都合なことには、ＡＴＭネットワークは、高速度で、かつ、プローブ１０６の存在に合わせて調整しなくても、動作可能である。プローブ１０６は、ＡＴＭネットワーク上に存在するデータを受信して、処理を施すテスト装置１０７と通信する。
【００１１】
図２には、ＡＴＭネットワーク１００，１１０上に存在する複数のセル２００が表示されている。各セル２００には、５３バイトの情報が含まれている。５バイトのヘッダ２０１と、４８バイトのペイロード２０２が含まれている。各セル２００は、固有の情報ストリームの一部である。単一ストリームをなす複数のセル２００は、コンピュータのような送信元装置から宛先装置への単一メッセージ・ブロックに相当する。さらに、接続性検証及び警報監視を含む、ＡＴＭネットワーク内における様々な保守機能を可能にするために用いられる、運用及び保守（ＯＡＭ；Operation And  Maintenance）セルが設けられている。運用及び保守セル（ＯＡＭセル）及び資源管理セル（ＲＭセル；Resource Maintenance）は、５３バイトであるが、データ・セル２００の論理構造とは異なる論理構造を備えている。ストリームは、コンピュータのような送信元装置から宛先装置への通信を表わしている。ＡＴＭプロトコルは、一度に約２28までのストリームの伝送を管理することが可能であり、各固有ストリームを構成するセル２００は、異なる速度で伝送することが可能である。ストリームを構成するセル２００は、時間的に順次送られるが、任意の速度で、任意の時間に送ることが可能である。異なるストリームからのセル２００は、伝送中に、互いに、並びに、ＯＡＭ及びＲＭセルとインターリーブされる。従って、セルをストリームに再アセンブルするためには、各セルのヘッダ情報を解析した後で、適切にペイロードを解釈し、それから、ペイロードの配置を施すことが必要になる。
【００１２】
図３を参照すると、本発明の教示によるテスト装置１０７には、通信バス３２１を介して１つ以上の電子プリント回路基板（「ＰＣＢ（P rinted Circuit Board）」）３２２に接続されている、パーソナル・コンピュータ又はそれと同等の同等物などのようなプロセッサ３２０が含まれている。図解の実施態様の場合、プロセッサ３２０及びＰＣＢ３２２は、シャーシ及び電源を共用している。この図３の説明図には、２つのＰＣＢ３２２が示されているが、ＰＣＢ３２２の数は、ユーザの要求によって決まり、シャーシの物理的容積によって制限される。代替実施態様の場合、内部通信バスは、プロセッサ３２０が他のハードウェア構成要素から遠く離れている外部ＬＡＮとすることが可能である。図面のうち、もう一度図３を参照すると、各プリント回路基板３２２には、ライン・インターフェイス・モジュール（「ＬＩＭ（Line Interface Module）」）３２３と、リンク層プロセッサ（「ＬＬＰ（Link Layer Processor）」）３２４とが含まれている。ＬＩＭ３２３及びＬＬＰ３２４は、内部通信バス３２５を介して接続されている。各ＰＣＢ３２２の回路構成は同じであり、従って、１つのＰＣＢの構造についてのみ、さらに説明を加えることにする。ＰＣＢ３２２は２つのチャネルを備えている。第１のチャネル３２６は、入力セル２００を伝送するケーブル１００に接続され、第２のチャネルは、出力データ３２７を伝送するケーブル１１０に接続されている。ある特定の実施態様の場合、様々なタイプのＡＴＭネットワークとの接続のために、複数の異なるＰＣＢ３２２が設けられている。一例を挙げると、光ＡＴＭネットワークに接続するためのＰＣＢは、構成及び物理的コネクタが、電気ネットワークに接続するためのＰＣＢと異なっている。しかし、ＰＣＢに含まれる論理は、同じままである。
【００１３】
図４を参照すると、ＰＣＢ３２２に存在するライン・インターフェイス・モジュール（「ＬＩＭ」）３２３のブロック図が示されている。ＬＩＭ３２３には、それぞれ、第１及び第２のチャネル３２６，３２７からデータを受信する第１及び第２のフィールド・プログラマブル・ゲート・アレイ（「ＦＰＧＡ（Field Programmable Gate Array）」）３３０，３３１が含まれている。ＦＰＧＡ３３０，３３１は、両方とも、共用の連想メモリ（「ＣＡＭ」）バス３３３を介して、単一のＣＡＭ３３２に接続されている。第１のＦＰＧＡ３３０は、専用の第１のＳＲＡＭメモリ素子３３４及び第１のＳＤＲＡＭメモリ素子３３５にも接続されている。同様に、第２のＦＰＧＡ３３１は、専用の第２のＳＲＡＭメモリ素子３３６及び第２のＳＤＲＡＭメモリ素子３３７にも接続されている。第１及び第２のＳＲＡＭメモリ素子３３４，３３６は、それぞれ、１６ビット幅で、深層が２５６，０００エントリー（256ｋ entries deep）であるが、論理的に、大域ヘッダ記憶域，Ａメモリ素子３０１，及びＢメモリ素子３０２（図５参照）に分割される、単一の５１２キロバイト部品である。Ａ及びＢメモリ素子３０１，３０２は、テストを受けるデータ・ネットワークに関するネットワーク性能データを記憶する。第１及び第２のＦＰＧＡ３３０，３３１は、ＦＰＧＡバス３３８を介して接続されている。ＦＰＧＡは、マイクロソフト社のウィンドウズ２０００オペレーティング・システム、及び、ＶＨＤＬ言語及びＳｙｎｐｌｉｆｙＰｒｏコンパイラ／シンセサイザ・ソフトウェア・パッケージを含むＳｙｎｐｌｉｃｉｔｙ製のアプリケーションを実行するＰＣを利用したフロント・エンド・ツールで符号化される。バック・エンド・ツールには、Ｘｉｌｉｎｘ製のＦｏｕｎｄａｔｉｏｎソフトウェアが含まれる。
【００１４】
ＬＩＭ３２３は、受信方向と送信方向の両方においてＡＴＭネットワークを傍受し、各セル２００のペイロード２０２からヘッダ２０１を解析し、そのセルがどのストリームに属しているかを判定し、ある特定のストリームが追跡されているか否かを判定し、ある特定の時間期間にわたって、そのストリームについて、事象をカウントするか、統計量を計算するか、又は、巡回冗長検査（「ＣＲＣ」）結果のようなエラー検査結果を求めることによって、ネットワーク性能データを取得し、第１のＳＲＡＭ３３４の、２つの論理的並列メモリ素子の一方、すなわち、第１のＡメモリ素子３０１及び第１のＢメモリ素子３０２のうちの一方にネットワーク性能データを記憶する。第２のチャネル３２７に関するネットワーク性能データは、同様の処理を施されて、第２のＳＲＡＭ３３６の、２つの論理的並列メモリ素子の一方、すなわち、第２のＡメモリ素子３０３及び第２のＢメモリ素子３０４（図５参照）のうちの一方に記憶される。ＳＲＡＭ３３４，３３６は、１８ビットのアドレス・バス及び１６ビットのデータ・バスを備えた５１２キロバイトのメモリである。Ａメモリ素子３０１，３０３には、１６進数のアドレス０００００〜０ＦＦＦＦでカバーされる、ＳＲＡＭ３３４又は３３６の１２８キロバイトが含まれている。Ｂメモリ素子３０２，３０４には、１６進数のアドレス１００００〜１ＦＦＦＦでカバーされる１２８キロバイトが含まれている。１６進数のアドレス２００００〜２０００７には、チャネル毎のセル・カウンタのＡ及びＢコピーが記憶され、１６進数のアドレス２０００８〜２０００Ｄには、チャネル毎のＯＡＭ／ＲＭセル・カウンタのＡ及びＢコピーが記憶されている。ＳＲＡＭ３３４，３３６の残りの部分には、ＬＩＭ状況情報及び今後の利用のために確保された空間を含む大域コンフィギュレーション情報が保持されている。テスト装置１０７のＬＬＰ３２４は、従って、記憶されているネットワーク情報データを周期的に読み取って、テスト装置１０７に最終的に表示するための処理を施す。収集するネットワーク性能データは可成りの量になるため、記憶データを保持するＳＲＡＭ３３４，３３６は十分に大容量であり、論理メモリ素子３０１及び３０２の何れか一方の順次読み取りには、有限で、可成りの時間量を要することになる。この時間量は、メモリ素子全体３０１〜３０４の読み取りに要する時間が、新しいネットワーク性能データを収集し、必要に応じて計算し、記憶できるような形にすることが可能な時間を超えるので、可成りの長さである。従って、前のタイム・スロットからのネットワーク性能データが、全て、検索される前に、メモリ素子３０１，３０２及び３０３，３０４の１つに、現在のタイム・スロットに関するデータを書き込まなければならない。データ検索プロセス中に、前のタイム・スロットに関するネットワーク性能データが上書きされると、その検索データは、整合性のある結果を示さなくなる。
【００１５】
図５を参照すると、単一タイム・スロット内における全ての統計量間の整合性を実現するために、独立した並列エンティティとして描かれた、論理Ａ及びＢメモリ素子３０１，３０２及び３０３，３０４が示されている。Ａ及びＢメモリ素子３０１、３０２及び３０３、３０４は、サイズが同じであり、並列論理構造を備えている。従って、Ａメモリ素子３０１におけるエントリーは、あるアドレスを用いてアクセスされ、Ｂメモリ素子における対応するエントリーは、同じアドレスに、ある特定の実施態様の場合には１２８，０００又は２17である、オフセット・アドレスを加えた値を用いて、アクセスされる。各メモリ素子３０１〜３０４のワードは、特定のストリームに関連したネットワーク性能データを含むように割り当てられる。Ａメモリ素子３０１，３０３のアドレス０〜１５には、第１のＡデータ・ブロック３４０が含まれている。Ｂメモリ素子３０２，３０４の０〜１５にオフセット値を加えたアドレスには、第１のＢデータ・ブロック３４１が含まれている。第１のＡ及びＢデータ・ブロックには、それぞれ、ストリーム＃１に関して、２つの３２ビット・ワードによるストリームに固有のコンフィギュレーション情報と、異なる番号のネットワーク情報データを表わした６つの３２ビット・ワードが含まれている。Ａ及びＢメモリ素子３０１，３０２は、並列エンティティであるため、各メモリ素子３０１，３０２の対応するエントリーは、同じタイプのネットワーク情報データを表わした番号を保持している。それぞれの第１及び第２のメモリ素子３０１，３０２のアドレス１６〜３１、及び、１６〜３１にオフセット値を加えたアドレスによって表わされる、第２のＡ及びＢデータ・ブロック３４２，３４３には、それぞれ、ストリーム＃２に関して、ストリームに固有のコンフィギュレーション情報と、６つの番号のネットワーク性能データとが含まれている。Ａ及びＢメモリ素子３０１，３０２のアドレス３２〜４７、及び、３２〜４７にオフセット値を加えたアドレスに相当する第３のＡ及びＢデータ・ブロックには、それぞれ、ストリーム＃３に関して、ストリームに固有のコンフィギュレーション情報と、６つの異なる番号のネットワーク性能データが含まれており、第ｎのＡ及びＢデータ・ブロック３４４，３４５には、ストリーム＃ｎに関して、ストリームに固有のコンフィギュレーション情報と、６つの異なるネットワーク性能データが含まれている。各Ａ及びＢデータ・ブロック３４０〜３４５は、各データ・ブロック３４０〜３４５における第１番のネットワーク性能データに関するそれぞれのＳＲＡＭ３３４、３３６のエントリーのアドレスである、異なる開始アドレスを備えている。ある特定の実施態様の場合には、ストリーム番号に１６を掛けるか、レジスタを４ビットだけシフトすると、そのストリーム番号に関連したストリームについて、Ａメモリ素子３０１，３０３に記憶されているネットワーク性能データの開始アドレス３０６に等しくなるように、パターン設定が行われる。Ｂメモリ素子３０２、３０４へのアクセスは、開始アドレスにオフセット値を加えた値を利用して行われる。しかし、好ましい実施態様の場合には、実際のストリーム番号は利用されない。開始���ドレスに等しいのは、ストリーム番号に１６を掛けたインデックス（索引）である。通常の当業者には明らかなように、任意の数のネットワーク性能データのエントリーを記憶することが可能であり、パターンが維持される場合には、所望のデータ・ブロックに関するストリーム番号から開始アドレスを得るのは簡単である。通常の当業者には明らかなように、単一アドレス・ビットによって、Ａメモリ素子３０１，３０３及びＢメモリ素子３０２，３０４のうちの何れかにデータが記憶されるかについて判定される。
【００１６】
図５を参照すると、２組の２つの並列メモリ素子、すなわち、第１のＡメモリ素子３０１及び第１のＢメモリ素子３０２と、第２のＡメモリ素子３０３及び第２のＢメモリ素子３０４とを示すＬＩＭ３２３の一部に関するより詳細な概念説明図が示されている。ＬＩＭ３２３は、ＬＩＭ３２３の両チャネルに関して収集されるネットワーク性能データの管理に用いられる単一の連想メモリ（「ＣＡＭ」）３３２を備えている。ある特定の実施態様におけるＣＡＭ３３２は、３２ビット幅で、そのうちの２８ビットは、アドレス情報フィールド３０９である。残りの４ビットは、制御フィールド３１０である。制御ビット３１０のうちの１ビットだけが使用される。制御フィールド３１０の残りの３ビットは、可能性のある今後の使用に備えて確保される。ＣＡＭ３３２は、双方向ＣＡＭバス３１１を介して、第１及び第２のＦＰＧＡ３３０，３３１と接続されている。ＣＡＭバス３１１は、ＣＡＭ３３２、及び、このＣＡＭ３３２を制御するＦＰＧＡ３３０，３３１へ並びにそれらからアドレス，データ，及び制御信号を伝送するラインを備えている。ＦＰＧＡ３３０，３３１は、マスタ−スレーブ・コンフィギュレーションを利用して、ＣＡＭ３３２の利用について調停するので、ＦＰＧＡ３３０，３３１が、両方とも、ＣＡＭ３３２に同時にアクセスしたい場合には、マスタとしての第１のＦＰＧＡ３３０がアクセスを勝ち取り、一方、スレーブとしての第２のＦＰＧＡ３３１は、ＣＡＭ３３２が、第１のＦＰＧＡ３３０について、その機能を完了するまで待機しなければならない。ＣＡＭ３３２の機能は、メモリ素子３０１〜３０４に対するネットワーク性能データの適正な配置を指示する索引の働きをするアドレス情報３０８を提供することにある。
【００１７】
第１のＡメモリ素子３０１及び第１のＢメモリ素子３０２は、入力データ・ネットワーク・チャネル３２６から交互にデータを受信する。すなわち、入力チャネル３２６に存在するセル２００が、第１のＦＰＧＡ３３０によって受信され、緩衝記憶（バッファ）され、処理される。処理済のデータは、第１のＡメモリ素子３０１又は第１のＢメモリ素子３０２に記憶されるネットワーク性能データ３３７として提供される。第２のＡメモリ素子３０３及び第２のＢメモリ素子３０４は、出力チャネル３２７から交互にデータを受信する。すなわち、出力チャネル３２７に存在するセル２００は、第２のＦＰＧＡ３３１によって受信され、緩衝記憶され、処理される。処理済のデータは、第２のＡメモリ素子３０３又は第２のＢメモリ素子３０４に記憶されるネットワーク性能データ３３８として提供される。この交互記憶法については、その内容が参考までに本明細書において援用される、２００２年１０月４日に提出された、本出願と同じ発明者による「データ・ネットワークの試験方法及び試験装置（Method and Apparatus of Testing a Data Network）」と題する米国特許出願番号第10／264,727号明細書の教示において開示されている。第１及び第２のＡ及びＢメモリ素子３０１〜３０４に含まれているデータ・ブロック３４０〜３４５は、論理的に、２つの３２ビット・ワードのコンフィギュレーション情報と、６つの３２ビット・ワードのネットワーク性能データにセグメント化される。ＦＰＧＡ３３０，３３１は、それぞれ、ＳＲＡＭアドレス・ライン３５０，３５２を利用して、それぞれ、ＳＲＡＭ３３４，３３６に記憶されたデータ・ブロック３４０〜３４５にアクセスする。コンフィギュレーション情報フィールドには、ストリーム識別子の値、すなわち、ある１つが認識される場合にはストリームのプロトコルを含む情報であって、ストリームがテスト装置によって追跡されているか否か、及び、ストリームを再アセンブルすべきか否かを含む情報が記憶されている。コンフィギュレーション情報フィールドには、さらに、特許請求の範囲に記載されている発明の詳細にとって重要ではなく、本開示の範囲を超える追加情報も含まれている。コンフィギュレーション情報フィールド３１２は、記憶データを検索して、さらに、処理を加える１つ以上のソフトウェア・プロセスに、記憶データの状況を伝達する。コンフィギュレーション情報フィールドにおけるビットの１つは、有効ストリーム・ビットである。それぞれの有効ストリーム・ビットは、データ・ブロック３４０〜３４５に記憶されているデータが有効データであるか否かを表示する。ある特定の実施態様では、値が「１」の有効ストリーム・ビットは、有効データであることを表示し、「０」の値は、無効データであることを表示している。
【００１８】
ＣＡＭ３３２は、ストリーム識別子が与えられると、適合するデータ・ブロックにアクセスするために利用される。すなわち、ストリーム識別子は、ＣＡＭバス３１１を介して、ＦＰＧＡ３３０又は３３１によってＣＡＭ３３２に与えられ、あるストリーム識別子がシステムによって既に認識されている場合には、そのストリーム識別子が記憶されているＣＡＭ３３２のアドレスを表わした値が戻される。ＣＡＭ３３２の記憶構造は、データ・ブロック３４０〜３４５の記憶構造と関連づけられており、１６を掛けると、Ａメモリ素子３０１，３０３におけるデータ・ブロックの開始アドレスに等しくなり、オフセット値が加えられると、Ｂメモリ素子３０３，３０４におけるデータ・ブロックの開始アドレスに等しくなるインデックスであり、指定のストリーム識別子を備えたストリームに関するネットワーク性能データを保持しているＣＡＭアドレスに、ストリーム識別子が記憶されるようになっている。ＦＰＧＡ／ＳＲＡＭ３３０／３３４及び３３１／３３６の組合せは、ＣＡＭ３３２を共用している。従って、入力及び出力チャネルに関するネットワーク性能データは、同じ開始アドレス・インデックスを利用してＳＲＡＭ３３４及び３３６に記憶される。
【００１９】
図６を参照すると、情報がＣＡＭ３３２にロードされる、本発明の教示によるプロセスの実施態様に関するフローチャートが示されている。すなわち、各セル２００がネットワーク・チャネル３２６，３２７に生じると、それぞれのＦＰＧＡ３３０，３３１によって記憶され、処理される。ＦＰＧＡ回路要素によって、セル２００が解析され、その結果、セル２００のヘッダ２０１において指定される関連ストリーム識別子４０２が得られる（ステップ４０１参照）。ある特定の実施態様の場合には、ストリーム識別子４０２は、全てのデータ・セル２００のヘッダに存在する２進ＡＴＭ ＶＰ／ＶＣ対を連結したものである。このプロセスでは、ＣＡＭ３３２をポーリングして、現在のセルのストリーム識別子４０２がＣＡＭ３３２のエントリーの１つに既に記憶されている値と一致するか否かを判定する（ステップ４０３参照）。ストリーム識別子４０２がＣＡＭ３３２に既に存在する場合には、ライン４０４を経て、ＣＡＭ３３２は、ＣＡＭアドレス４０６を戻す（ステップ４０５参照）。ＣＡＭアドレス４０６は、ＳＲＡＭ３３４又は３３６におけるデータ・ブロックの開始アドレスと関連している。ある特定の実施態様の場合には、ＣＡＭアドレス４０６は、１６を掛けるか、２進数で４ビットだけシフトすると、ストリーム識別子４０２に関するネットワーク性能データが記憶されるデータ・ブロックの開始アドレスになる、インデックスである。このプロセスでは、さらに、メモリ素子３３４又は３３６の適当なデータ・ブロック内のネットワーク性能データが更新され（ステップ４０７参照）、次のセル２００について、このプロセスが繰り返される（ライン４０８参照）。
【００２０】
ストリーム識別子が未知のものであり（ライン４０９参照）、ＣＡＭ３３２のエントリーの１つに既に記憶されている値と一致しない場合には、それをＣＡＭ３３２に追加する必要がある。このプロセスによれば、ＣＡＭ３３２において次に利用可能なＣＡＭアドレス４１１が取得される（ステップ４１０参照）。次に、ストリーム識別子４０２の値が、次に利用可能なＣＡＭアドレス４１１によって指定されるＣＡＭエントリーに記憶される（ステップ４１２参照）。次に利用可能なＣＡＭアドレス４１１は、現在処理中のストリーム識別子４０２に関するデータを含むこととなる、第１及び第２のＡ及びＢメモリ素子３０１〜３０４におけるデータ・ブロック３４０〜３４５の１つに関する開始アドレス・インデックスに関連している。従って、このプロセスによれば、コンフィギュレーション・データにおける有効ストリーム・ビットがセットされる（ステップ４１３参照）。コンフィギュレーション・データの周期的読み取り中に、ＬＬＰ３２４は、新しいストリームの追加を認識し、後続の利用に備えて、ストリーム識別子とＣＡＭアドレス位置との関係を維持する。このプロセスは、さらに、次のセルについても繰り返される。
【００２１】
図７を参照すると、本発明の教示に従って、ＣＡＭ３０７からエントリーを除去するためのプロセスに関する実施態様が示されている。ＬＬＰ３２４で実行されるソフトウェアによって、１つ以上のストリームが無関連（無関係）になったことが判定される。ソフトウェアは、制限するわけではないが、ユーザによるモニタ対象からあるストリームを除去する旨の手動要求、及び、ある時間期間に亘ってあるストリームにセル・トラフィックがないことを含む、様々なやり方で、この判定を実施する。あるストリームがもはや試験（テスト）と関係がないと判定されると、ＬＬＰ３２４は、無関連ＣＡＭアドレス５００、及び、指定された無関連ＣＡＭアドレスの削除コマンドをＦＰＧＡ３３０に送ることによって、ＣＡＭエントリー削除プロセスを開始する。
【００２２】
このプロセスの第１ステップは、無関連ＣＡＭアドレスの既存の２８ビット・エントリーの第２９番目のビットを値「１」に設定することによって、無関連ＣＡＭアドレス５００を使用不能にすることである（ステップ５０１参照）。図面のうちの図５、並びに、付随する開示を参照した通常の当業者には明らかなように、第２９番目のビットを「１」にセットすると、ＣＡＭ３３２のアドレス・フィールド３０９の情報が維持され、同時に、ＣＡＭアドレス、従って、関連データ・ブロック３４０〜３４５が、図面のうちの図６に開示のプロセスにおいて再使用されないという保証が得られる。許容可能なストリーム識別子の値は（２29−１）の値を超えないので、無関連ＣＡＭアドレス５００における修正されたエントリーは、図６のプロセスにおいて識別及び再使用されないという信頼がある。従って、ＣＡＭエントリーの第２９番目のビットがセットされると、管理プロセス中、ＣＡＭエントリーがマスキングされ、このため、管理プロセスが完了可能になる前に、新しいデータによって対応するデータ・ブロックが上書きされるのが阻止される。次に、このプロセスでは、有効ストリーム・ビットをリセットして、無効データであることを示すことによって、第１のＡ及びＢメモリ素子３０１、３０２のデータ・ブロックに関するコンフィギュレーション情報フィールドが更新される（ステップ５０２参照）。次に、このプロセスでは、第１のＡ及びＢメモリ素子３０１，３０２のデータ・ブロックにおける対応するデータ・フィールドがゼロ値にリセットされる（ステップ５０３参照）。次に、このプロセスでは、同じ無関連ＣＡＭアドレス５００に対応する第２のＡ及びＢメモリ素子３０３，３０４について、同様のステップが実施される。すなわち、有効ストリーム・ビットをリセットして、無効データであることを示すことによって、第２のＡ及びＢメモリ素子３０３，３０４のデータ・ブロックに関するコンフィギュレーション情報フィールド３１２が更新される（ステップ５０４参照）。次に、このプロセスでは、第２のＡ及びＢメモリ素子３０３，３０４について、対応するデータ・フィールドがゼロ値にリセットされる（ステップ５０６参照）。第１及び第２のＡ及びＢメモリ素子３０１〜３０４の双方に関する適当なエントリーが、それぞれのコンフィギュレーション情報フィールドにおけるリセットされた有効ストリーム・ビットによって、ゼロ値に初期設定されると、無関連ＣＡＭアドレス５００に対応するＣＡＭ３３２のエントリーがリセットされ（ステップ５０７参照）、今後において利用可能とされる。
【００２３】
以上を要約すると、次の通りである。すなわち、ネットワーク性能データを管理する本発明の方法は、セルを解析して、ストリーム識別子４０２を取得するステップ（４０１）と、前記セルにおける情報からネットワーク性能データを求める（計算する）ステップを含む。本方法は、さらに、連想記憶メモリ（ＣＡＭ）３３２の次に利用可能なＣＡＭアドレス４１１において、前記ＣＡＭ３３２に前記ストリーム識別子４０２を記憶するステップ（４１２）と、前記ＣＡＭ３３２の前記次に利用可能なＣＡＭアドレス４１１の値に関連したメモリ素子のアドレスに、前記ネットワーク性能データを記憶するステップ（４０７）とを含む。本方法は、さらに、無関連ＣＡＭアドレス５００におけるエントリーに無関連ストリームのストリーム識別子に一致する値が含まれているような無関連ＣＡＭアドレス５００を取得するステップを含む。このプロセスでは、前記ストリーム識別子とマスク値との和の値を前記無関連ＣＡＭアドレス５００に記憶する。マスク値は、メモリ素子管理プロセス５０２〜５０６の期間中に無関連ＣＡＭアドレス５００に使用を一時的に阻止する。本プロセスでは、次に、無関連ＣＡＭアドレス５００の値に関連したメモリ素子３０１〜３０４のアドレスにおけるエントリーをリセットすると共に（ステップ５０２〜５０６参照）、無関連ＣＡＭアドレス５００をリセットして（ステップ５０７参照）、今後において利用可能とする。
【００２４】
本発明の実施態様は、本明細書において、例証のために解説されており、例解を目的としたものであって、本教示に助けられて、通常の当業者であれば思いつくであろう可能性のある全ての実施態様を排除しようとするものではない。すなわち、本教示は、ＡＴＭだけではなく、連続した、リアルタイムのデータ収集が役立つ任意のデータ・ネットワークに適用することが可能である。すなわち、本発明の教示は、通常の当業者によって伝送制御プロトコル（「ＴＣＰ」）に適用することが可能である。ＴＣＰ実施態様の場合、「セル」は、業界で「パケット」と呼ばれる。この方法は、ハードウェアとソフトウェアの様々な組合せで実施可能である。ある特定の実施態様の場合にあっては、ＣＡＭと、Ａ及びＢメモリ素子は、ＦＰＧＡの一部ではない。ＦＰＧＡが速度を増し、より大きくなり、さらにコスト有効度がよくなると、ＣＡＭと、Ａ及びＢメモリがＦＰＧＡの一部になるのが有利になる可能性がある。
【図面の簡単な説明】
【００２５】
【図１】ＡＴＭデータ・ネットワークの説明図である。
【図２】複数ストリームをもつＡＴＭネットワーク・トラフィックの概念説明図である。
【図３】本発明の教示によるテスト装置のブロック図である。
【図４】本発明の教示によるテスト装置のライン・インターフェイス・モジュール部分のブロック図である。
【図５】本発明の教示による連想メモリ（ＣＡＭ）への利用を例示した、図４の一部のさらに詳細な図である。
【図６】ＣＡＭにエントリーを追加するためのプロセスを例示したフローチャートである。
【図７】ＣＡＭからエントリーを削除するためのプロセスを例示したフローチャートである。
【符号の説明】
【００２６】
２００  セル
３０１，３０３  Ａメモリ素子
３０２，３０４  Ｂメモリ素子
３２０  プロセッサ
３２３  ライン・インターフェイス・モジュール（ＬＩＭ）
３２４  リンク層プロセッサ（ＬＬＰ）
３３０，３３１  フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）
３３２  連想記憶メモリ
３３４，３３６  ＳＲＡＭメモリ素子
３３５，３３７  ＳＤＲＡＭメモリ素子
３４０〜３４５  データ・ブロック
【図１】
2004153810.tif 000003
【図２】
2004153810.tif 000004
【図３】
2004153810.tif 000005
【図４】
2004153810.tif 000006
【図５】
2004153810.tif 000007
【図６】
2004153810.tif 000008
【図７】
2004153810.tif 000009