(57)【要約】      （修正有）【課題】通信速度の高速化に伴う、多ビット化処理において最小パケット情報間隔が狭くなってもパケット情報のカウント動作及びＣＰＵ共有のパケット計測値の通知を正常にすることができるようにする。【解決手段】トラフィックモニタ装置は、メモリ制御部１と、パケット受信計測値をパケット識別情報毎に格納する第１のカウンタ用メモリ２と、第１のカウンタ用メモリに格納されるパケット受信計測値をパケット識別情報毎に格納する第２のカウンタ用メモリ５と、パケット受信時に第１のカウンタ用メモリからのリードデータに値を加算してライトデータを生成する加算処理部３と、ＣＰＵ要求時に第１のカウンタ用メモリ及び第２のカウンタ用メモリのリードデータの差分をＣＰＵに与える差分処理部６とを備える。【選択図】図１
2015179886.tif 000002
【特許請求の範囲】
【請求項１】
パケット受信時又はＣＰＵ要求時に、メモリに対してパケット受信計測値のリード制御、ライト制御を行うメモリ制御部と、
上記メモリ制御部の制御を受けて、受信パケットのパケット受信計測値をパケット識別情報毎に格納する第１のカウンタ用メモリと、
上記メモリ制御部の制御を受けて、上記第１のカウンタ用メモリに格納されるパケット受信計測値をパケット識別情報毎に格納する第２のカウンタ用メモリと、
パケット受信時に、上記第１のカウンタ用メモリから読み出されたリードデータに所定値を加算して、上記第１のカウンタ用メモリのライトデータを生成する加算処理部と、
ＣＰＵ要求時に、上記第１のカウンタ用メモリからのリードデータと、上記第２のカウンタ用メモリからのリードデータとの差分をパケット受信計測値としてＣＰＵに与える差分処理部と
を備えることを特徴とするトラフィックモニタ装置。
【請求項２】
上記メモリ制御部が、
パケット受信時に、制御カウンタの固定位置で、上記第１のカウンタ用メモリに対してリード制御を行なった後、上記第１のカウンタ用メモリに対してライト制御を行ない、
ＣＰＵ要求時に、制御カウンタの固定位置で、上記第１のカウンタ用メモリ及び上記第２のカウンタ用メモリに対してリード制御を行なった後、上記第２のカウンタ用メモリに対してライト制御を行なう
ことを特徴とする請求項１に記載のトラフィックモニタ装置。
【請求項３】
上記差分処理部が、ＣＰＵ要求時に、上記第１のカウンタ用メモリからの今回ＣＰＵ要求時のパケット受信計測値から、上記第２のカウンタ用メモリからの前回のＣＰＵ要求時のパケット受信計測値を差し引いた値をＣＰＵに与えることを特徴とする請求項１又は２に記載のトラフィックモニタ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トラフィックモニタ装置に関し、例えば、パケット伝送装置におけるトラフィックモニタ装置に適用し得るものである。
【背景技術】
【０００２】
パケット伝送装置は、各サービスや各ユーザのネットワーク上に流れるパケットのトラフィック量を管理するために、トラフィックモニタ機能を具備している。
【０００３】
各パケットを識別する方法としては、例えばＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）８０２．１Ｑで規定されるＥｔｈｅｒｎｅｔ（登録商標）フレームのヘッダにあるＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）タグ内のＶＩＤ（ＶＬＡＮ−ＩＤ）を使用して行われる。
【０００４】
ＶＩＤフィールドは１２ビットあり、４０９６個（０〜４０９５）が識別可能となる。ＶＩＤ毎にパケットのトラフィック量を計測するとなると、４０９６個のカウンタが必要となり、回路規模が膨大となる。そのため、ＶＩＤ値をアドレスとしたメモリを構成し、各アドレス（ＶＩＤ）にカウンタ情報を格納する方法が考えられている（特許文献１参照）。
【０００５】
図２は、従来のトラフィックモニタ装置１００の構成を示す構成図である。図２において、メモリ制御部１０はパケット情報（例えば、パケット有無を示すパルス信号やパケット長情報を含む）、パケット識別情報（この例ではＶＩＤ）を受信し、カウンタ用メモリ２０へのリード、ライトを実施するための制御信号を生成する。またＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０からのデータ（カウント値）リード要求時にも制御信号を生成する。
【０００６】
カウンタ用メモリ２０は、ＶＩＤ毎に受信パケット数や受信バイト数を格納するメモリで、リード側ポート、ライト側ポートに分かれるデュアルポートメモリである。加算処理部３０は、カウンタ用メモリ２０からのリードデータに対してパケット数を計測する場合は「１」を加算し、バイト数を計測する場合はパケット長を加算し、ライトデータを生成する。ＣＰＵ４０からのデータリード要求時は、カウンタ値をクリアするために、「ＡＬＬ  ０」としてライトデータを生成する。ＣＰＵ部４０はトラフィックモニタ用のカウンタがオーバフローしないように定期的にデータリードを要求する。
【０００７】
特許文献１にはカウンタ用メモリ２０の制御に関する具体的な説明は無いが、図３に示すような動作が考えられる。図３では、パケットを６４ビットデータ幅（８バイト幅）で処理、最小パケット長６４バイトとしたときの動作とする。
【０００８】
上記の条件により、パケット情報（例えば、パケットの有無を示すパルス信号）がパケットの先頭を示す場合、最小パケット情報間隔は図３に示すクロック８個分になる。よって、８クロックの間に、パケット情報によるカウンタ用メモリ２０へのリード制御、ライト制御、ＣＰＵ４０からの要求によるリード制御、ライト制御を実施する必要がある。
【０００９】
制御カウンタは最小間隔を示すカウンタで「０」〜「７」をカウントする。この例ではカウンタ値「０」でパケット情報によるリード制御、カウンタ値「２」でパケット情報によるライト制御、カウンタ値「６」でＣＰＵ要求によるリード制御、カウンタ値「７」でＣＰＵ要求によるライト制御（カウンタ値クリア）を固定としている。よって、リードイネーブルはパケット情報を受信した場合は、制御カウンタ「０」で有効となり、ＣＰＵ４０からの要求があれば制御カウンタ「６」で有効となる。
【００１０】
リードアドレスは該当するＶＩＤ値になる。ライトイネーブルはパケット情報を受信した場合は、制御カウンタ「２」で有効となり、ＣＰＵ４０からの要求があれば、制御カウンタ「７」で有効となる。
【００１１】
ライトアドレスは該当ＶＩＤ値になる。パケット情報からのライトイネーブルはリードデータに加算するためリードデータが確定した箇所である必要がある。ＣＰＵ要求でのライトイネーブルはカウンタ値をクリアするためのものでリードデータが確定している必要はない。
【００１２】
リードデータはリードイネーブルが有効になってから２クロック遅延しカウンタ用メモリ２０から出力される。ＣＰＵ要求によるリードデータは、ＣＰＵ４０にて受信カウント数（パケット数またはバイト数）として取り込まれる。
【００１３】
ライトデータはパケット情報によるライト時はリードデータに加算した値となり、ＣＰＵ要求によるライト時は「ＡＬＬ  ０」のデータとなる（ＣＰＵリード後のカウンタクリア動作）。
【００１４】
上記の動作により、各ＶＩＤのトラフィック量を計測可能としている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００４−１８７０７０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
近年、通信速度の高速化に伴い、更なる多ビット処理が必要になっている。例えば通信速度が２倍となった場合、同じビット幅で処理しようとするとデータ処理等で使用するクロックも２倍となる。クロック速度が速くなるとデータ処理をするタイミングが厳しくなるため、クロック速度をそのままで、データ幅を２倍にして対応する。
【００１７】
上記説明で通信速度が２倍となった場合、６４ビットのデータ幅から１２８ビットのデータ幅となる。データ幅が１２８ビットの場合、最小パケット情報間隔が４クロックとなる。
【００１８】
しかしながら、従来の動作を適用すると、パケット情報によるリード、ライトで３クロック（リードデータの出力遅延１クロック分を含む）、ＣＰＵ要求によるリード、ライトで２クロック必要となるから計５クロックとなり、最小パケット情報間隔内で処理できないことになる。
【００１９】
また、パケット情報からのライト処理とＣＰＵ要求のリード処理を同時に行うことにより最小パケット情報間隔内で処理可能だが、パケット情報とＣＰＵ要求のＶＩＤ値とが同じ場合、パケット情報によるライト処理が完了する前に、ＣＰＵ要求のリード処理を行なうこととなり、実際の受信カウント数とＣＰＵへ通知する値で不一致が発生する。
【００２０】
そのため、通信速度の高速化に伴う、多ビット化処理において最小パケット情報間隔が狭くなってもパケット情報によるカウント動作及びＣＰＵ共有によるパケット計測値の通知を正常にすることができるトラフィックモニタ装置が求められている。
【課題を解決するための手段】
【００２１】
かかる課題を解決するために、本発明は、（１）パケット受信時又はＣＰＵ要求時に、メモリに対してパケット受信計測値のリード制御、ライト制御を行うメモリ制御部と、（２）メモリ制御部の制御を受けて、受信パケットのパケット受信計測値をパケット識別情報毎に格納する第１のカウンタ用メモリと、（３）メモリ制御部の制御を受けて、第１のカウンタ用メモリに格納されるパケット受信計測値をパケット識別情報毎に格納する第２のカウンタ用メモリと、（４）パケット受信時に、第１のカウンタ用メモリから読み出されたリードデータに所定値を加算して、第１のカウンタ用メモリのライトデータを生成する加算処理部と、（５）ＣＰＵ要求時に、第１のカウンタ用メモリからのリードデータと、第２のカウンタ用メモリからのリードデータとの差分をパケット受信計測値としてＣＰＵに与える差分処理部とを備えることを特徴とするトラフィックモニタ装置である。
【発明の効果】
【００２２】
本発明によれば、通信速度の高速化に伴う、多ビット化処理において最小パケット情報間隔が狭くなってもパケット情報によるカウント動作及びＣＰＵ共有によるパケット計測値の通知を正常にすることができる。
【図面の簡単な説明】
【００２３】
【図１】実施形態に係るトラフィックモニタ装置の構成を示す構成図である。
【図２】従来のトラフィックモニタ装置の構成を示す構成図である。
【図３】従来のトラフィックモニタ装置の動作を説明する説明図である。
【図４】実施形態に係るトラフィックモニタ装置９の動作を説明する説明図である。
【発明を実施するための形態】
【００２４】
（Ａ）主たる実施形態
以下では、本発明に係るトラフィックモニタ装置の一実施形態を、図面を参照しながら詳細に説明する。
【００２５】
（Ａ−１）実施形態の構成
図１は、実施形態に係るトラフィックモニタ装置の構成を示す構成図である。
【００２６】
図１において、実施形態に係るトラフィックモニタ装置９は、メモリ制御部１、カウンタ用メモリ２、加算処理部３、ＣＰＵ４、カウンタ保持用メモリ５、差分処理部６を有する。
【００２７】
メモリ制御部１は、パケット受信時又はＣＰＵ４からの要求（以下、ＣＰＵ要求とも呼ぶ。）時に、カウンタ用メモリ２、カウンタ保持用メモリ５のリード制御、ライト制御を行うものである。メモリ制御部１は、制御カウンタ１ａを有しており、制御カウンタ１ａの命令に従ってメモリ制御部１は動作する。
【００２８】
メモリ制御部１は、パケット受信時に、受信パケットのパケット識別情報（例えば、ＶＩＤ）及びパケット情報（例えば、パケット有無を示すパルス信号やパケット長情報等を含む情報）に基づき、カウンタ用メモリ２に、パケット識別情報（ＶＩＤ）を指定してリード制御、ライト制御を行う。メモリ制御部１は、パケットの受信時には、制御カウンタの固定位置でカウンタ用メモリ２に対してリード制御を実施した後、カウンタ用メモリ２に対してライト制御を実施する。
【００２９】
また、メモリ制御部１は、ＣＰＵ４からのＣＰＵ要求時には、制御カウンタの固定位置でカウンタ用メモリ２とカウンタ保持用メモリ５の両方にリード制御を実施した後、カウンタ保持用メモリ５にライト制御を実施するものである。
【００３０】
カウンタ用メモリ２は、受信したパケットのパケット受信計測値（例えば、受信パケット数又はバイト数）をカウント値（データ）としてパケット識別情報（ＶＩＤ）毎に格納するものである。カウンタ用メモリ２は、リード側ポート、ライト側ポートに分かれるデュアルポートメモリを用いることができる。カウンタ用メモリ２は、パケット識別情報（ＶＩＤ）をアドレスとして、そのアドレスの位置にパケット情報を格納する。ここで、カウンタ用メモリ２が格納するカウント値（データ）は、例えば、受信パケット数や受信バイト数等のトラフィックに関する値とすることができる。
【００３１】
カウンタ保持用メモリ５は、カウンタ用メモリ２と同様に、パケット識別情報（ＶＩＤ）をアドレスとし、そのアドレスの位置にパケット情報を保持する。カウンタ保持用メモリ５は、リード側ポート、ライト側ポートに分かれるデュアルポートメモリを用いることができ、メモリ制御部１からのリード制御、ライト制御を受ける。カウンタ保持用メモリ５のライト側ポートがカウンタ用メモリ２のリード側ポートと接続しており、メモリ制御部１へのＣＰＵ要求時に、メモリ制御部１からリード制御を受けると、該当するアドレスのデータをリードデータとして差分処理部６に通知する。また、カウンタ保持用メモリ５は、メモリ制御部１からのライト制御を受けると、カウンタ用メモリ２からのリードデータがライトデータとしてカウンタ保持用メモリ５に入力され、カウンタ用メモリ２からのリードデータを格納する。すなわち、カウンタ保持用メモリ５は、カウンタ用メモリ２に保持されていたパケット識別情報（ＶＩＤ）毎のパケット情報が格納される。
【００３２】
ここで、メモリ制御部１へのＣＰＵ要求時に、カウンタ保持用メモリ５は、メモリ制御部１からのリード制御後に、メモリ制御部１からライト制御を受ける。そのため、カウンタ保持用メモリ５は、該当するパケット識別情報（ＶＩＤ）に格納されたデータをリードしてリードデータを差分処理部６へ通知した後、カウンタ用メモリ２のリードデータがライトデータとして入力される。
【００３３】
加算処理部３は、カウンタ用メモリ２のリード側ポートからのリードデータに基づいてライトデータを生成して、ライトデータをカウンタ用メモリ２のライト側ポートに通知するものである。加算処理部３は、例えばパケット数を計測する場合はカウンタ用メモリ２からのリードデータに「１」を加算し、又例えばバイト数を計測する場合はカウンタ用メモリ２からのリードデータにパケット長を加算して、ライトデータを生成する。
【００３４】
なお、従来の加算処理部３は、ＣＰＵ４からのデータリード要求時は、カウンタ値をクリアするために「ＡＬＬ  ０」としてライトデータを生成するが、この実施形態では、加算処理部３はカウンタ値のクリアを行なわず、メモリ制御部１が、カウンタ用メモリ２及びカウンタ保持用メモリ５の両方に対してリード制御を行うようにする。
【００３５】
ＣＰＵ部４は、トラフィックモニタ用のカウンタがオーバフローしないように定期的にデータリードを要求する。
【００３６】
差分処理部６は、カウンタ用メモリ２のリード側ポートと、カウンタ保持用メモリ５のリード側ポートと接続しており、ＣＰＵ要求時のカウンタ用メモリ２とカウンタ保持用メモリ５とからのリードデータの差分を算出し、その差分を受信カウント数としてＣＰＵ４に通知するものである。
【００３７】
（Ａ−２）実施形態の動作
次に、この実施形態に係るトラフィックモニタ装置９の動作を説明する。
【００３８】
図４は、この実施形態に係るトラフィックモニタ装置９の動作を説明する説明図である。
【００３９】
制御カウンタ１ａは最小パケット情報間隔の４クロック分を示し、制御カウンタ１ａは「０」〜「４」をカウントする。
【００４０】
この実施形態では、メモリ制御部１は、制御カウンタ値「０」でパケット情報によるカウンタ用メモリ２へのリード制御、制御カウンタ値「２」でパケット情報によるカウンタ用メモリ２へのライト制御を行うものとする。
【００４１】
また、メモリ制御部１は、制御カウンタ「３」でＣＰＵ要求によるカウンタ用メモリ２及びカウンタ保持用メモリ５へのリード制御、制御カウンタ「１」でＣＰＵ要求によるカウンタ保持用メモリ５へのライト制御を行うものとする。
【００４２】
メモリ制御部１は、パケット情報を受信すると、制御カウンタ「０」の箇所でカウンタ用メモリ２に対して、リードイネーブルを有効にし、該当ＶＩＤ（アドレス）へのリード制御を実施する。
【００４３】
次に、メモリ制御部１は、制御カウンタ「２」の箇所でカウンタ用メモリ２に対してライトイネーブルを有効にし、該当ＶＩＤへカウンタ用メモリ２からの確定したリードデータに加算処理を実施してライト制御を実施する。
【００４４】
上記の動作で、カウンタ用メモリ２を使用した各ＶＩＤのパケット数又はバイト数のカウントを実施する。
【００４５】
ＣＰＵ要求に対しては、メモリ制御部１はＣＰＵ要求を受信すると、メモリ制御部１は制御カウンタ「３」の箇所で、カウンタ用メモリ２及びカウンタ保持用メモリ５に対してリードイネーブルを有効にし、該当ＶＩＤへのリード制御を実施する。
【００４６】
次に、制御カウンタ「１」の箇所で、メモリ制御部１はカウンタ保持用メモリ５に対してライトイネーブルを有効にし、カウンタ用メモリ２からの確定したリードデータを、カウンタ保持用メモリ５のライトデータとしてライト制御を実施する。また、カウンタ用メモリ２からの確定したリードデータと、カウンタ保持用メモリ５からの確定したリードデータが差分処理部６に通知される。
【００４７】
差分処理部６は、カウンタ用メモリ２とカウンタ保持用メモリ５の両方のメモリからのリードデータを差分処理した値（すなわち、カウンタ用メモリ２のリードデータ値から、カウンタ保持用メモリ５のリードデータ値を引いた値）をＣＰＵ４へ通知する。
【００４８】
上記の動作で前回のＣＰＵ要求から今回のＣＰＵ要求の間で計測したカウント数をＣＰＵ４へ通知可能とする。
【００４９】
すなわち、この実施形態によれば、従来あったＣＰＵからの要求時に、カウンタ用メモリのカウンタクリア（ＡＬＬ  ０ライト）動作を行わず、前回のＣＰＵ要求時のカウンタ値と今回のＣＰＵ要求時のカウンタ値とに基づいて、差分処理部６が受信パケット数又はバイト数を算出することで、最小パケット情報間隔でも処理を可能にする。
【００５０】
パケット受信時は、メモリ制御部１は制御カウンタの固定位置でカウンタ用メモリ２に対してリード制御実施後、ライト制御を実施する。このようなメモリ制御部１の制御動作により、パケット受信時は、カウンタ用メモリ２を使用しリードデータを加算処理することでカウンタ動作（計測動作）を実施することができる。
【００５１】
また、ＣＰＵ要求時は、制御カウンタの固定位置で、メモリ制御部１が、カウンタ用メモリ２とカウンタ保持用メモリ５の両方にリード制御実施後、カウンタ保持用メモリ５にライト制御を実施する。このようなメモリ制御部１の制御動作により、ＣＰＵからの要求時は、カウンタ用メモリ２とカウンタ保持用メモリ５へ同時にリード制御することで、差分処理部６へ前回のカウンタ値と今回のカウンタ値を通知することを可能にすると共に、カウンタ用メモリ２からリードしたデータをカウンタ保持用メモリ５へライトすることで、前回のカウント情報を今回のカウント情報に上書きすることを可能にする
さらに、差分処理部６において、カウンタ用メモリ２からの今回のカウンタ値とカウンタ保持用メモリ５からの前回のカウンタ値を受信し、今回のカウンタ値から前回のカウンタ値を引いた値を、受信したパケット数又はバイト数とすることができる。
【００５２】
例えば、図１に示すように、「ＶＩＤ：０」のカウンタ用メモリ２のデータが１００個、カウンタ保持用メモリ５のデータが５０個であれば、１００−５０＝５０となり、ＣＰＵ４に対して５０個受信したことを通知する。
【００５３】
また、上記の動作例の説明では、パケットの受信ポートが１個分の記載であるが、受信ポート２個分の計測も可能となる。
【００５４】
例えば、制御カウンタ「０」を受信ポートＡからのパケット情報によるカウンタ用メモリ２へのリード制御、制御カウンタ「１」を受信ポートＢからのパケット情報によるカウンタ用メモリ２へのリード制御、制御カウンタ「２」を受信ポートＡからのパケット情報によるカウンタ用メモリ２へのライト制御、制御カウンタ「３」を受信ポートＢからのパケット情報によるカウンタ用メモリ２へのライト制御を行うとする。この場合、ＣＰＵ要求時には制御カウンタ「３」でカウンタ用メモリ２とカウンタ保持用メモリ５へのリード制御、制御カウンタ「１」でカウンタ保持用メモリ５へのライト制御とすることで実現できる。
【００５５】
（Ａ−３）実施形態の効果
以上のように、実施形態によれば、トラフィックモニタ装置がカウンタ保持用メモリ、差分処理部を具備することで、カウンタ用メモリに対してＣＰＵ要求によるメモリライト制御（カウンタクリア動作）が不要になる。よって、通信速度の高速化に伴う、多ビット化処理において、最小パケット情報間隔が狭くなってもパケット情報によるカウント動作、及びＣＰＵ要求によるパケットの計測値の通知を正常に実施することを可能にする。
【符号の説明】
【００５６】
９…トラフィックモニタ装置、１…メモリ制御部、２…カウンタ用メモリ、３…加算処理部、４…ＣＰＵ、５…カウンタ用メモリ、６…差分処理部。
【図１】
2015179886.tif 000003
【図２】
2015179886.tif 000004
【図３】
2015179886.tif 000005
【図４】
2015179886.tif 000006