(57)【要約】【課題】簡易な構成で、高速かつ柔軟なデータフィルタリングをすることができるデータフィルタリング装置を提供する。【解決手段】データパターン発生回路としてのカウンタ回路３３がデータフレームにおける位置に応じたパターンデータＣＮＴ［５：０］を、フレームデータＭＲＤ［７：０］に同期して順次発生し、フレームデータＭＲＤ［７：０］とともに、メモリ３６のアドレス入力端子に入力させる。この結果、フレームデータＭＲＤ［７：０］及びパターンデータＣＮＴ［５：０］が指定するアドレスアドレスに格納されている、フレームデータＭＲＤ［７：０］の値が選択条件を満たすか否かを示す値を有するデータが、メモリ３６から出力される。そして、そのデータ値に基づいて、判定回路４０が入力したデータフレームを出力するか否か判定する。【選択図】　図３
2004040708.tif 000002
【特許請求の範囲】
【請求項１】
入力したデータフレームを選択的に出力するデータフィルタリング装置であって、
前記データフレームにおける位置に応じたパターンデータを、前記特定位置のデータの入力に同期して順次発生するデータパターン発生回路と；
前記データフレームのデータ及び前記データパターン発生手段が発生したパターンデータをアドレス入力端子から入力し、前記データフレームにおける位置それぞれにおけるデータ値及び前記データフレームにおける位置それぞれに応じたパターンデータ値で定まるアドレスに格納された、前記データフレームにおける位置それぞれのデータ値が前記データフレームの選択出力条件を満たすか否かを示すデータを出力する書き換え可能なメモリと；
前記メモリから出力されたデータ値に基づいて、前記入力したデータフレームを出力するか否かを判定する判定回路と；を備えるデータフィルタリング装置。
【請求項２】
前記データパターン発生回路は、前記データフレームにおける位置ごとに応じて複数種類のパターンデータを時間順次に発生する、ことを特徴とする請求項１に記載のデータフィルタリング装置。
【請求項３】
前記メモリは複数ビットのデータを並列的に出力し、
前記メモリには、前記複数ビットそれぞれに応じて互いに異なる前記データフレームの選択出力条件を満たすか否かを示すデータが格納される、ことを特徴とする請求項１又は２に記載のデータフィルタリング装置。
【請求項４】
第１のビット幅で順次入力する前記データフレームのデータを、第２のビット幅のデータ列に変換し、前記メモリへ向けて出力するデータ幅変換回路を更に備える、ことを特徴とする請求項１〜３のいずれか一項に記載のデータフィルタリング装置。
【請求項５】
前記メモリに所定のデータを書き込むデータ書込装置を更に備える、こと特徴とする請求項１〜４のいずれか一項に記載のデータフィルタリング装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データフィルタリング装置に係り、より詳しくは、入力したデータフレームを選択的に出力するデータフィルタリング装置に関する。
【０００２】
【従来の技術】
近年における通信システムでは、データフレームと称されるデータのブロックを基本単位としてデータ通信が行われている。こうしたデータフレームは、通信規約（以下、単に「プロトコル」）に従って構成されており、複雑な構造を有している。このため、通信ネットワークに接続される通信機器においては、通信ネットワーク中を伝送される様々なデータフレームの内から、必要なデータフレームを選別するデータフィルタリング機能が必須の機能となっている。
【０００３】
以上のようなデータフィルタリング機能は、例えば、通信端末用のパーソナルコンピュータのＭＡＣ（Ｍｅｄｉａ　Ａｃｃｅｓｓ　Ｃｏｎｔｒｏｌ）コントローラ、ルータ等のような中継装置、及びファイアウォール等のようなセキュリティ向上のための装置には必ず実装されている。また、通信ネットワークの障害や性能（パフォーマンス）を調査する目的で使用されるプロトコルアナライザや、ＲＭＯＮ（Ｒｅｍｏｔｅ　Ｎｅｔｗｏｒｋ　Ｍｏｎｉｔｏｒｉｎｇ）プローブと呼ばれる機器では、そのときどきにおける様々な条件に従ってデータフレームを選択することが必要となるため、様々なデータフィルタリングを行うことができる汎用的なデータフィルタリング機能が実装されている。
【０００４】
こうしたデータフィルタリング機能を実現するにあたり、従来から様々な技術が提案される。こうした従来からの提案技術には、大きく分けて、ソフトウエア方式とハードウエア方式とがあった。
【０００５】
ソフトウエア方式においては、データフィルタリングのアルゴリズムをプログラムで実行することにより、様々な態様のデータフィルタリング機能を実現する方法が一般的に使用されている。一方、ハードウエア方式においては、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ　Ｓｐｅｃｉｆｉｃ　Ｉｎｔｅｇｒａｔｅｄ　Ｃｉｒｃｕｉｔ）の手法を用いた専用のＬＳＩ（Ｌａｒｇｅ　Ｓｃａｌｅ　Ｉｎｔｅｇｒａｔｅｄ　Ｃｉｒｃｕｉｔ）を使用して、データフィルタリング機能を実現する方法が一般的に使用されている。かかるハードウエア方式では、近年では、各メモリセルに対して排他論理和（Ｅｘｃｌｕｓｉｖｅ　ＯＲ）を１対１で用意しているＣＡＭ（Ｃｏｎｔｅｎｔ　Ａｄｄｒｅｓｓ　Ｍｅｍｏｒｙ）と呼ばれる特殊なメモリを使用することが一般的となっている。
【０００６】
【発明が解決しようとする課題】
上述したような、従来のソフトウエア方式によるデータフィルタリング機能の実現では、データフィルタリングのアルゴリズムをプログラムで実行するので、そのアルゴリズムの変更や修正が容易であり、汎用性及び柔軟性の高いデータフィルタリング装置を提供することができる。しかしながら、プログラムの実行によるデータフィルタリングでは、そのデータフィルタリング処理にある程度の時間を必要とするため、高速で伝送されるデータフレームには不向きである。
【０００７】
このため、１０Ｍｂｐｓ→１００Ｍｂｐｓ→１Ｇｂｐｓ→１０Ｇｂｐｓというように進化しつつある近年のローカルエリアネットワーク（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）の伝送規格における伝送速度の高速化を鑑みると、ソフトウエア方式によるデータフィルタリングでは、伝送速度の高速化に適切に対応することが困難である。また、比較的低速な伝送速度で伝送されるデータフレームであっても、データフィルタリングの条件が複雑化した場合には、データフィルタリング処理に長い時間を要することになるので、データフレームの伝送時間に対してデータフィルタリング処理が間に合わないといった事態が生じ得る。
【０００８】
一方、従来のハードウエア方式によってデータフィルタリング機能を実現しようとする場合には、データフィルタリングのアルゴリズムをハードウエア回路で実行する。このため、上述したソフトウエア方式と比べてデータフィルタリング処理速度が格段に速く、データフレームの伝送にデータフィルタリング処理が間に合わないということはない。しかしながら、実装できるデータフィルタリングのアルゴリズムの数には限りがあり、また、変更や修正に対して柔軟に対応することが困難である。
【０００９】
また、従来のハードウエア方式において上述したＣＡＭを使用する場合には、データフィルタリングのアルゴリズムの変更や修正に対する柔軟性は向上するが、ＣＡＭは汎用のメモリではなく、入手性がよいとはいい難い。また、比較的複雑な条件でデータフィルタリングを行う場合にも、大規模な回路構成となってしまう。
【００１０】
本発明は、上記のような事情を鑑みてなされたものであり、簡易な構成で、高速かつ柔軟なデータフィルタリングをすることができるデータフィルタリング装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明のデータフィルタリング装置は、入力したデータフレームを選択的に出力するデータフィルタリング装置であって、前記データフレームにおける位置に応じたパターンデータを、前記特定位置のデータの入力に同期して順次発生するデータパターン発生回路と；前記データフレームのデータ及び前記データパターン発生手段が発生したパターンデータをアドレス入力端子から入力し、前記データフレームにおける位置それぞれにおけるデータ値及び前記データフレームにおける位置それぞれに応じたパターンデータ値で定まるアドレスに格納された、前記データフレームにおける位置それぞれのデータ値が前記データフレームの選択出力条件を満たすか否かを示すデータを出力する書き換え可能なメモリと；前記メモリから出力されたデータ値に基づいて、前記入力したデータフレームを出力するか否かを判定する判定回路と；を備えるデータフィルタリング装置である。
【００１２】
このデータフィルタリング装置は、送信元アドレスや受信先アドレスといったデータフレームに含まれる特定情報のデータ値に応じて選択的にデータフレームを透過するデータフィルタリングを行う。かかるデータフィルタリング処理にあたり、このデータフィルタリング装置では、データパターン発生回路がデータフレームにおける位置に応じたパターンデータを、前記特定位置のデータの入力に同期して順次発生する。こうしてデータパターン発生回路により発生されたパターンデータは、メモリのアドレス入力端子の一部に入力する。また、データフレームのデータがメモリのアドレス入力端子の他の一部に入力する。
【００１３】
データフレームのデータ及びデータフレームにおける位置に応じたパターンデータがアドレス入力端子に入力すると、その位置のデータの値及びその位置に応じたパターンデータの値に応じたアドレスに格納されている、受信したその特定位置のデータの値が選択条件を満たすか否かを示すデータ値となっているデータが、メモリから出力される。こうしてメモリから出力されたデータ値に基づいて、判定回路が入力したデータフレームを出力するか否かを判定する。
【００１４】
したがって、本発明のデータフィルタリング装置では、メモリの格納データを必要に応じて書き換えることにより、様々なデータフィルタリングのアルゴリズムに対して柔軟に対応して、デーフィルタリング処理を行うことができる。したがって、本発明のデータフィルタリング装置によれば、汎用のメモリを使用した簡易な構成で、高速かつ柔軟にデータフィルタリングをすることができ、かつ、数多くのフィルタリング条件を設定できる汎用的なデータフィルタリング装置を実現することができる。
【００１５】
本発明のデータフィルタリング装置では、前記データパターン発生回路として、例えばカウンタ回路を備える構成とすることができる。かかる場合には、データフレームにおける位置それぞれに応じて、それぞれ異なるパターンデータを容易に発生することができる。
【００１６】
また、本発明のデータフィルタリング装置では、前記データパターン発生回路が、前記データフレームにおける位置ごとに応じて複数種類のパターンデータを時間順次に発生する構成とすることができる。かかる場合には、データフレームにおける位置ごとに応じてデータパターン発生回路が発生する複数種類のパターンデータの種類ごとに、互いに異なる複数のデータフレームの選択出力条件を満たすか否かを判断することができる。すなわち、データフレームの入力に同期して、時分割型で、複数のデータフィルタリング処理を行うことができる。
【００１７】
また、本発明のデータフィルタリング装置では、前記メモリが複数ビットのデータを並列的に出力し、前記メモリには、前記複数ビットそれぞれに応じて互いに異なる前記データフレームの選択出力条件を満たすか否かを示すデータが格納される構成とすることができる。かかる場合には、データフレームの入力に同期して、並列処理型で、複数のデータフィルタリング処理を行うことができる。
【００１８】
また、本発明のデータフィルタリング装置では、第１のビット幅で順次入力する前記データフレームのデータを、第２のビット幅のデータ列に変換し、前記メモリへ向けて出力するデータ幅変換回路を更に備える構成とすることができる。例えば、伝送路がシリアル伝送路であるときには、第１のビット幅を「１」となるが、メモリへのフレームデータの入力幅すなわち第２のビット幅を複数ビット幅とする場合には、データ幅変換回路としてシリアルパラレル変換器を使用することができる。かかる場合には、高速な伝送速度で伝送されるデータフレームであっても、第２のビット幅を大きくとることにより、メモリのアクセス時間を満たす回路を容易に構成することができるようになる。なお、第２のビット幅を大きくとることにより、１つのメモリではアドレス入力端子の数が足りなくなる場合には、複数のメモリを並列に配置して、これら複数のメモリのアドレス入力端子に第２のビット幅のデータを並行して入力させるようにすることができる。この場合には、これら複数のメモリそれぞれから出力される、同一のフィルタリング条件に関連するビットデータ値の組合論理値（例えば、論理積値）を判定回路で算出することとすればよい。
【００１９】
また、本発明のデータフィルタリング装置では、前記メモリに所定のデータを書き込むデータ書込装置を更に備える構成とすることができる。かかる場合には、必要に応じて、データ書込装置によってメモリのデータを書き換えることにより、データフィルタリングのアルゴリズムを簡単に変更又は修正することができる。したがって、データフィルタリング処理の汎用性及び柔軟性を向上することができる。
【００２０】
【発明の実施の形態】
以下、本発明の一実施形態を、図１〜図１０を参照して説明する。
【００２１】
図１には、本発明の一実施形態に係るデータフィルタリング装置１００の概略的な構成がブロック図にて示されている。このデータフィルタリング装置１００は、第１のイーサネット（登録商標）ＬＡＮ１において伝送されているデータフレームを受信し、予め定められた条件に合致するデータフレームのみを選択的に第２のイーサネットＬＡＮ２へ向けて送信する装置である。
【００２２】
ここで、データフレームの内容は、図２に示されるように、６バイト（４８ビット）の受信（宛先）アドレス、６バイト（４８ビット）の送信（発信元）アドレス、２バイト（１６ビット）のタイプ表示、任意長（最大１５００バイト）のデータ、及び４バイト（３２ビット）のＦＣＳ（フレーム・チェック・シーケンス）から構成されている。そして、場合によっては、最大４４８バイトの拡張部が付加される。
【００２３】
なお、以下の説明において、複数ビットのデータやアドレスについては、含まれるビット番号が連続的であり、そのビット番号の範囲を明示する必要がある場合には、ビット番号Ｘ〜ビット番号Ｙ（Ｘ＜Ｙ）であることを示すために、符号の後に［Ｙ：Ｘ］の表記を付すものとする。また、データ信号及びアドレス信号の各ビットでは、信号のレベルが「Ｈ（高レベル）」で論理「１」であり、「Ｌ（低レベル）」で論理「０」であるものとする。また、その他の制御信号では、信号のレベルが「Ｈ（高レベル）」で有意であり、「Ｌ（低レベル）」で非有意であるものとする。
【００２４】
図１に示されるように、このデータフィルタリング装置１００は、受信用物理層回路１０Ｒ、受信用ＭＡＣコントローラ１２Ｒ、フィルタリングアルゴリズムを実行するフィルタリング回路１４、フレームバッファ１６、基本タイミング発生回路１８、及びデータフィルタリング装置１００を統括制御する処理装置２０を備えている。ここで、処理装置２０には、ＣＲＴディスプレイ装置や液晶ディスプレイ装置等の表示装置２２、及び、キーボードやマウス等の入力装置２４が接続されている。また、データフィルタリング装置１００は、送信用物理層回路１０Ｄ及び送信用ＭＡＣコントローラ１２Ｄを備えている。
【００２５】
前記受信用物理層回路１０Ｒは、レシーバ回路を備え、第１のイーサネットＬＡＮ１の伝送媒体（同軸ケーブル等）を伝送されるデータ信号ＮＲＤを受信してビット同期をとり、ビットシリアル形式の受信物理層データＰＲＤを生成して出力する。なお、受信用物理層回路１０Ｒとしては、市販のイーサネット用ドライバ／レシーバを使用することができる。
【００２６】
前記受信用ＭＡＣコントローラ１２Ｒは、受信物理層データＰＲＤを入力してフレーム同期をとり、フレームデータバイトを受信ＭＡＣデータＭＲＤ［７：０］として出力する。すなわち、受信用ＭＡＣコントローラ１２Ｒは、ビットシリアルの形式で入力した受信物理層データＰＲＤを、フレームの先頭と最後を示すフラグパターン部を除去した後に、バイトシリアルの形式でフレームデータバイトを受信ＭＡＣデータＭＲＤ［７：０］として出力する。ここで、フレーム同期がとられると、受信用ＭＡＣコントローラ１２Ｒは、フレームを受信した旨を、フレーム受信信号ＦＤＲを有意（「Ｈ」）とすることによって基本タイミング発生回路１８に通知する。そして、基本タイミング発生回路１８から供給されるＭＡＣデータ読出信号ＦＲＤに同期して、受信ＭＡＣデータＭＲＤ［７：０］として順次出力させる。ここで、本実施形態のＭＡＣコントローラ１２では、ＭＡＣデータ読出信号ＦＲＤに応じて、図２に示されるようなフォーマットのフレームデータを受信順に（すなわち、受信アドレスの上位８ビット分から順次）出力する。
【００２７】
前記フィルタリング回路１４は、受信ＭＡＣデータＭＲＤ［７：０］を入力し、入力した受信ＭＡＣデータＭＲＤ［７：０］が所定のフィルタリング条件、例えば所定の受信先アドレスを含むか否かをデータフレームごとに検出する。そして、フィルタリング条件を満たすデータフレームについては、第２のイーサネットＬＡＮ２へ向けて送信すべき旨をフレームデータ送信指令信号ＦＭＳによって通知するとともに、フィルタリング条件を満たさないデータフレームについては、フレームデータを廃棄すべき旨をフレームデータ廃棄指令信号ＦＭＲによって通知する。なお、フィルタリング回路１４の構成については後述する。
【００２８】
前記フレームバッファ回路１６は、ファストイン・ファストアウト（ＦＩＦＩＯ）型のデータバッファであり、８ビット幅の受信ＭＡＣデータＭＲＤ［７：０］を入力し、一時的に格納する。そして、フレームバッファ回路１６は、フィルタリング回路１４からのフレームデータ送信指令信号ＦＭＳ又はフレームデータ廃棄指令信号ＦＭＲに応じて、一時的に格納したフレームデータを出力可能状態としたり、廃棄したりする。このフレームバッファ回路１６では、フレームデータ送信指令信号ＦＭＳを受信してフレームデータの出力可能状態となると、データレディ信号ＤＴＲを基本タイミング発生回路１８へ向けて出力する。ここで、フレームバッファ回路１６へのデータ書き込みは、基本タイミング発生回路１８が発生するフレームバッファ書込信号ＦＢＩに応じて行われる。また、フレームバッファ回路１６からデータ読み出しは、基本タイミング発生回路１８が発生するフレームバッファ読出信号ＦＢＯに応じて行われる。
【００２９】
前記送信用ＭＡＣコントローラ１２Ｄは、フレームバッファ回路１６から出力された８ビット幅の送信フレームデータＳＭＤ［７：０］を順次受信する。この送信用ＭＡＣコントローラ１２Ｄは、基本タイミング発生回路１８から供給される送信フレームデータ期間信号ＦＤＰにより、フレームデータの開始と終了とを認識するとともに、基本タイミング発生回路１８から供給される送信フレームデータ書込信号ＦＤＷに応じて、バイトシリアルの形式でフレームバッファ１６から出力された送信フレームデータＳＭＤ［７：０］を読み込む。そして、フレームデータの先頭と最後を示すフラグパターン部を付加した後に、ビットシリアルの形式で送信物理層データＰＲＤを出力する。
【００３０】
前記送信用物理層回路１０Ｄは、ドライバ回路を備え、ビットシリアル形式の送信物理層データＰＳＤを第２のイーサネットＬＡＮ２の伝送媒体（同軸ケーブル等）上を伝送されるべき信号に適合した信号に変換して、第２のイーサネットＬＡＮ２の伝送媒体へ向けて出力する。なお、送信用物理層回路１０Ｄとしては、市販のイーサネット用ドライバ／レシーバを使用することができる。
【００３１】
前記基本タイミング発生回路１８は、受信ＭＡＣコントローラ１２Ｒからのフレーム受信信号ＦＤＲに応じて、上述したＭＡＣデータ読出信号ＦＲＤ及びフレームバッファ書込信号ＦＢＩを発生する。また、基本タイミング発生回路１８は、フレームバッファ回路１６からのデータ出力可能信号ＤＴＲに応じて、上述したフレームバッファ読出信号ＦＢＯ、送信フレームデータ期間信号ＦＤＰ及び送信フレームデータ書込信号ＦＤＷを発生する。さらに、基本タイミング発生回路１８は、フィルタリング回路１４の動作用タイミング信号であるビット同期クロックＣＬＫ０及びフィルタリング演算期間信号ＦＬＰを発生するようになっている。なお、基本タイミング発生回路１８は、状態マシンとして構成することができる。
【００３２】
前記処理回路２０は、マイクロプロセッサ及びその周辺回路から構成され、データフィルタリング装置１００全体を統括制御する。また、処理回路２０は、入力装置２４から入力されたデータフィルタリング条件に応じたデータを、フィルタリング回路１４の後述するメモリ３６に書き込む。かかるデータ書き込みにあたって、処理回路２０は、１４ビット幅のメモリアドレスＦＬＡ（ＦＬＡ［１３：０］）、８ビット幅のメモリデータＦＬＤ（ＦＬＤ［７：０］）、メモリ書込信号ＦＬＷ、及びメモリ書込モード信号ＦＬＳをフィルタリング回路１４に供給する。また、処理回路２０は、入力装置２４から入力されたフィルタリング実行指示に従って、基本タイミング発生回路１８へ向けてフィルタリング実行指示信号ＦＬＴを出力する。
【００３３】
また、処理回路２０は、フレームバッファ回路１４から出力された送信フレームデータＳＭＤを入力し、表示装置２２に表示するようになっている。
【００３４】
前記フィルタリング回路１４は、図３に示されるように、（ａ）メモリ３６と、（ｂ）メモリ３６のアドレス入力端子ＡＤ［１３：０］に入力する信号を選択するセレクタ回路３４及びセレクタ回路３５と、（ｃ）出力可端子ＯＥが「Ｈ」のときに処理回路２０からのメモリデータＦＬＤ（ＦＬＤ［７：０］）をメモリ３６のデータ端子ＤＴ［７：０］へ向けて出力する３ステ−ト出力回路３７とを備えている。また、フィルタリング回路１４は、（ｄ）基本タイミング発生回路１８から受信したビット同期クロックＣＬＫ０を分周して、ビット同期クロックＣＬＫ０の８倍の周期を有するバイト同期クロックを生成する分周回路３１と、（ｅ）基本タイミング発生回路１８から受信したフィルタリング演算期間信号ＦＬＰが有意（「Ｈ」）のときのみに分周回路３１から出力されたバイト同期クロックをクロックＣＬＫ１として出力する論理積回路３２と、（ｆ）フィルタリング演算期間信号ＦＬＰが非有意（「Ｌ」）のときにリセットされ、フィルタリング演算期間信号ＦＬＰが有意（「Ｈ」）のときに入力したバイト同期クロックの数をカウントしてカウント数を出力端子から６ビット幅データで出力するカウンタ回路３３とを備えている。さらに、フィルタリング回路１４は、（ｇ）メモリ３６から出力されたデータＦＤＴ［７：０］を入力し、フィルタリング条件を満たすか否かを判定する判定回路４０を備えている。
【００３５】
前記メモリ３６の書き込み信号端子ＷＥには、処理回路２０から出力されたメモリ書込信号ＦＬＷが入力している。また、前記３ステ−ト出力回路３７の出力可端子ＯＥ処理回路２０から出力されたメモリ書込モード信号ＦＬＳが入力している。
【００３６】
前記セレクタ回路３４では、セレクタ回路３４の出力選択端子Ｓが「Ｌ」のときに選択される入力端子Ａ［５：０］にカウンタ回路３３から出力されたカウント数データが入力している。また、セレクタ回路３４の出力選択端子Ｓが「Ｈ」のときに選択される入力端子Ｂ［５：０］に処理回路２０から出力されたメモリアドレスＦＬＡ［１３：８］が入力している。そして、処理回路２０から出力されたメモリ書込モード信号ＦＬＳが非有意（「Ｌ」）のときには、セレクタ回路３４からはカウント数データが出力されて、メモリ３６のアドレス入力端子ＡＤ［１３：８］に入力する。一方、メモリ書込モード信号ＦＬＳが有意（「Ｈ」）のときには、セレクタ回路３４からはメモリアドレスＦＬＡ［１３：８］が出力されて、メモリ３６のアドレス入力端子ＡＤ［１３：８］に入力する。
【００３７】
前記セレクタ回路３５では、セレクタ回路３５の出力選択端子Ｓが「Ｌ」のときに選択される入力端子Ａ［７：０］に受信用ＭＡＣコントローラ１２Ｒから出力された受信ＭＡＣデータＭＲＤ［７：０］が入力するとともに、セレクタ回路３５の出力選択端子Ｓが「Ｈ」のときに選択される入力端子Ｂ［７：０］に処理回路２０から出力されたメモリアドレスＦＬＡ［７：０］が入力している。そして、処理回路２０から出力されたメモリ書込モード信号ＦＬＳが非有意（「Ｌ」）のときには、セレクタ回路３４からは受信ＭＡＣデータＭＲＤ［７：０］が出力されて、メモリ３６のアドレス入力端子ＡＤ［７：０］に入力する。一方、メモリ書込モード信号ＦＬＳが有意（「Ｈ」）のときには、セレクタ回路３４からはメモリアドレスＦＬＡ［７：０］が出力されて、メモリ３６のアドレス入力端子ＡＤ［７：０］に入力する。
【００３８】
前記判定回路４０は、図４に示されるように、（ｉ）データＦＤＴ７〜ＦＤＴ０それぞれに応じて設けられた個別判定回路４１７〜４１０と、（ｉｉ）個別判定回路４１７〜４１０から出力された個別判定結果ＦＬＲ７〜ＦＬＲ０の論理和を算出して総合判定結果を演算する論理和回路４６とを備えている。また、判定回路４０は、（ｉｉｉ）フィルタリング演算期間の終了と前後して、順次一時的に有意（「Ｈ」）となる第１演算終了信号ＦＰＬ１及び第２演算終了信号ＦＰＬ２を生成するフィルタリング演算終了信号生成回路４９と、（ｉｖ）第１フレーム終了信号ＦＰＬ１に同期して、論理和回路４６から出力されたフィルタリング条件を満たすか否かの総合判定結果をサンプルして保持するサンプリング回路４７とを備えている。また、判定回路４０は、（ｖ）サンプリング回路４７の正転出力端子Ｑから出力された正転出力と第２フレーム終了信号ＦＰＬ２との論理積を演算して上述のフレームデータ送信指令信号ＦＭＳを生成する論理積回路４８Ｓと、（ｖｉ）サンプリング回路４７の反転出力端子Ｑ＊から出力された反転出力と第２フレーム終了信号ＦＰＬ２との論理積を演算して上述のフレームデータ廃棄指令信号ＦＭＳを生成する論理積回路４８Ｒとを備えている。
【００３９】
なお、本実施形態では、サンプリング回路４７として、立ち上がりエッジトリガ方式のＤ型フリップフロップ素子を使用している。
【００４０】
前記個別判定回路４１ｊ（ｊ＝０〜７）それぞれは、（ａ）上述したバイト同期クロックＣＬＫ１に同期してデータ入力端子Ｄに入力したデータをサンプルして保持するサンプリング回路４３と、（ｂ）サンプリング回路４３の正転出力端子Ｑから出力された正転出力とメモリデータＦＤＴｊとの論理積を算出して、サンプリング回路４３のデータ入力端子Ｄへ向けて出力する論理積回路４２とを備えている。
【００４１】
なお、本実施形態では、サンプリング回路４３として、立ち下がりエッジトリガ方式のＤ型フリップフロップ素子を使用している。また、サンプリング回路４３のプリセット端子Ｓにはフィルタリング演算期間信号ＦＬＰが入力されており、フィルタリング演算期間信号ＦＬＰが非有意（「Ｌ」）のときに、フィルタリング演算期間信号ＦＬＰが有意（「Ｈ」）の期間における動作に備えて、プリセット端子Ｓの出力値が「Ｈ（論理的な「１」）」に初期化されるようになっている。
【００４２】
次に、以上のように構成されたデータフィルタリング装置１００の動作について説明する。なお、以下の説明では、第１のイーサネットＬＡＮ１におけるデータフレームの内、所定の１つの受信先アドレスＲＡを有するデータフレームを選択的に第２のイーサネットＬＡＮ２へ向けて送信する場合について説明する。ここで、フィルタリング条件となる受信先アドレスＲＡは６バイトの値は、（ＲＡ０，ＲＡ１，ＲＡ２，ＲＡ３，ＲＡ４，ＲＡ５）であるものとする。なお、受信先アドレスＲＡの各バイトＲＡ０〜ＲＡ５の添字０〜５は、第１のイーサネットＬＡＮ１からの入力における受信順に対応しているものとする。また、以下の説明においては、複数ビットのアドレス値あるいはデータ値を表す場合には４ビット単位で１６進表示を用いるものとし、例えば１バイト分の値を「ＸＸＨ」と記すものとする。
【００４３】
前提として、データフィルタリング装置１００は、初期状態にあり、データフィルタリング動作を開始していないものとする。すなわち、処理回路２０は、フィルタリング実行指示信号ＦＬＴ、メモリ書込モード信号ＦＬＳ、及びメモリ書込信号ＦＬＷを非有意（「Ｌ」）としているものとする。また、基本タイミング発生回路１８は、ビット同期クロックＣＫ０を発生しているが、フィルタリング演算期間信号ＦＬＰ、ＭＡＣデータ読出信号ＦＲＤ、フレームバッファ書込信号ＦＢＩ、フレームバッファ読出信号ＦＢＯ、送信フレームデータ期間信号ＦＤＰ及び送信フレームデータ書込信号ＦＤＷを非有意（「Ｌ」）としているものとする。
【００４４】
なお、上述のようにフィルタリング条件が１つのみなので、メモリデータビットＦＤＴ０のみを使用してフィルタリング演算をするものとする。
【００４５】
この状態で、入力装置２４からフィルタリング条件として受信先アドレスＲＡが指定されると、処理回路２０は、フィルタリング回路１４内のメモリ３６へフィルタリング条件を反映したデータを書き込む。かかるデータの書き込みでは、まず、処理回路２０は、図５に示されるように、メモリ書込モード信号ＦＬＳを有意（「Ｈ」）とする。引き続き、処理回路２０は、メモリアドレスＦＬＡ［１３：０］を「００００Ｈ」から「３ＦＦＦＨ」へ順次変化させながら、メモリデータＦＬＤ［７：０］を「００Ｈ」として、メモリ書込信号ＦＬＷを一時的に有意（「Ｈ」）とすることにより、データ「００Ｈ」をメモリ３６に書き込む。これにより、メモリ３６の全アドレスのデータ値が「００Ｈ」に設定される。
【００４６】
次に、処理回路２０は、図６に示されるように、メモリアドレスＦＬＡ［１３：０］を「０ｋ００Ｈ＋ＲＡｋ（ｋ＝１〜６）」に順次設定しながら、メモリデータＦＬＤ［７：０］を「ＦＦＨ」として、モリ書込信号ＦＬＷを一時的に有意とすることにより、データ「０１Ｈ」をメモリ３６に書き込む。引き続き、処理回路２０は、メモリアドレスＦＬＡ［１３：０］を「０７００Ｈ」から「３ＦＦＦＨ」順次変化させながら、メモリデータＦＬＤ［７：０］を「０１Ｈ」として、メモリ書込信号ＦＬＷを一時的に有意とすることにより、データ「０１Ｈ」をメモリ３６に書き込む。こうして、メモリ３６へのフィルタリング条件を反映したデータを書き込みが終了すると、処理回路２０は、メモリ書込モード信号ＦＬＳを「Ｌ」とする。
【００４７】
こうしてメモリ３６へのフィルタリング条件を反映したデータが書き込まれた後、入力装置２４からフィルタリング開始が指定されると、処理回路２０は、フィルタリング実行指示信号ＦＬＴを有意（「Ｈ」）とする。この結果、第１のイーサネットＬＡＮ１におけるデータフレームの内、所定の１つの受信先アドレスＲＡを有するデータフレームを選択的に第２のイーサネットＬＡＮ２へ向けて送信するデータフィルタリング動作が開始される。すなわち、ハードウエア回路によるフィルタリング処理期間が開始される。
【００４８】
こうしたフィルタリング処理期間において、第１のイーサネットＬＡＮ上でデータフレーム転送が行われ、イーサネットの伝送媒体上にデータフレーム信号が発生すると、受信用物理層回路１０Ｒは、そのデータフレーム信号を入力データ信号ＮＲＤとして受信する。受信用物理層回路１０Ｒは、物理層プロトコルに従ってビット同期をとり、受信したデータフレームの各ビットのデータ値（「０」又は「１」）を検出する。そして、受信用物理層回路１０は、当該検出結果を受信物理層データＰＲＤとして、受信用ＭＡＣコントローラ１２Ｒへ向けて出力する。
【００４９】
受信物理層データＰＲＤを入力した受信用ＭＡＣコントローラ１２Ｒは、ＭＡＣ層プロトコルに従って、フレーム同期をとるとともに符号解読し、フレーム再構成を行う。そして、受信用ＭＡＣコントローラ１２Ｒは、再構成したフレームデータを内蔵のデータバッファに格納する。
【００５０】
上記のようにフレームデータの内蔵バッファへの格納を終了すると、図７に示されるように、受信用ＭＡＣコントローラ１２Ｒは、フレーム受信信号ＦＤＲを有意（「Ｈ」）として、基本タイミング発生回路１８へ、フレームデータの出力準備が整ったことを通知する。基本タイミング発生回路１８は、フレーム受信信号ＦＤＲが有意となったことを検出すると、フィルタリング演算期間信号ＦＬＰを有意（すなわち、「Ｈ」）とする。また、基本タイミング発生回路１８は、フレーム受信信号ＦＤＲを受信すると、ＭＡＣデータ読出信号ＦＲＤを一時的に有意（「Ｈ」）として、受信用ＭＡＣコントローラ１２Ｒに対してフレームデータの出力を許可する。このＭＡＣデータ読出信号ＦＲＤを受信した受信用ＭＡＣコントローラ１２Ｒは、フレームデータの最初の１バイトＭＤ｛０｝を受信ＭＡＣデータ［７：０］として出力する。
【００５１】
かかる最初の１バイトＭＤ｛０｝を出力中に、基本タイミング発生回路１８は、フレームバッファ書込信号ＦＢＩを一時的に有意（「Ｈ」）とする。この結果、フレームバッファ回路１６に最初の１バイトＭＤ｛０｝が格納される。
【００５２】
以後、受信用ＭＡＣコントローラ１２Ｒの内蔵バッファ内における１フレーム分の残りのフレームデータバイトＭＤ｛１｝〜ＭＤ｛Ｎ−１｝が順次読み出され、フレーム受信信号ＦＤＲが非有意（「Ｌ」）となるまで、基本タイミング発生回路１８は、ＭＡＣデータ読出信号ＦＲＤ及びフレームバッファ書込信号ＦＢＩを出力する。こうして、受信された１フレーム分のフレームデータバイトＭＤ｛０｝〜ＭＤ｛Ｎ−１｝がフレームバッファ回路１６に格納される。
【００５３】
一方、受信用ＭＡＣコントローラ１２Ｒから出力されたフレームデータバイトＭＤ｛０｝〜ＭＤ｛Ｎ−１｝は、フィルタリング回路１４にも入力する。そして、フィルタリング回路１４では、フィルタリング演算期間信号ＦＬＰが有意（「Ｈ」）となっている期間、すなわちフィルタリング演算期間におけるフレームデータバイトＭＤ｛０｝〜ＭＤ｛３ＦＨ｝が、図８及び図９に示されるように、セレクタ回路３５を介してメモリ３６のアドレス端子Ａ［７：０］にバイトシリアルの態様で順次入力する。なお、図８は、フレームデータバイトＭＤ｛１｝が値ＲＡ１と異なることにより、フィルタリング条件を満たさない場合におけるフィルタリング回路１４の動作を示すタイミングチャートである。また、図９は、フレームデータバイトＭＤ｛ｊ（ｊ＝０〜５）｝が値ＲＡｊであり、フィルタリング条件を満たす場合におけるフィルタリング回路１４の動作を示すタイミングチャートである。
【００５４】
こうしたフレームデータバイトＭＤ｛０｝〜ＭＤ｛３ＦＨ｝の順次入力と同期して、図８及び図９に示されるように、バイト同期クロックＣＫ１により６ビットのカウンタ回路３３がカウントアップを行う。このカウントアップは、カウンタ回路３３が、フィルタリング演算期間信号ＦＬＰが非有意（「Ｌ」）の期間にプリセットされることから、カウントチ値が「３ＦＨ」から開始する。そして、バイト同期クロックＣＫ１が立ち上がる度に１だけインクリメントされる。この結果、フレームデータバイトＭＤ｛ｍ（ｍ＝０〜３ＦＨ）｝と同期して、カウント値ｍがカウンタ回路３３から出力され、セレクタ回路３４を介してメモリ３６のアドレス端子Ａ［１３：８］に順次入力する。
【００５５】
こうしてメモリ３６のアドレス端子Ａ［１３：０］に「ｍ００Ｈ＋ＭＤ｛ｍ｝」が順次入力する。そして、メモリ３６のアドレス「ｍ００Ｈ＋ＭＤ｛ｍ｝」に格納されている８ビットデータがメモリデータＦＤＴ［７：０］として出力されて、各ビットＦＤＴｊ（ｊ＝０〜７）の値に基づいて、個別判定回路４１ｊそれぞれによって、その個別判定回路４１ｊが判定すべきフィルタリング条件を満たしているか否かが判定される。なお、上述したように、今回のフィルタリング演算ではメモリデータビットＦＬＤ０のみを使用するものとしているので、メモリデータビットＦＬＤ０のみに着目して、以下の説明を行う。
【００５６】
まず、１番目のフレームデータバイトＭＤ｛０｝を受信すると、この１番目のフレームデータバイトＭＤ｛０｝が値ＲＡ０であるときには、アドレス「００００Ｈ＋ＲＡ０」に格納されているデータ「０１Ｈ」が、メモリ３６から出力される。一方、１番目のフレームデータバイトＭＤ｛０｝が値ＲＡ０ではないときには、アドレス「００００Ｈ＋ＭＤ｛０｝」に格納されているデータ「００Ｈ」が、メモリ３６から出力される。こうして出力されたメモリデータＦＤＴ０の値が、個別判定回路４１ｊにおいて、論理積回路４２を介した後、サンプリング回路４３においてサンプルされて保持される。この結果、個別判定回路４１ｊのサンプリング回路４３には、フレームバイトＭＤ｛０｝がフィルタリング条件を満たすか否かの判定結果が保持され、出力される。
【００５７】
ここで、判定結果が肯定的な場合には、サンプリング回路４３の出力端子Ｑから、「Ｈ」レベルの個別判定結果信号ＦＬＲ０が出力される。また、判定結果が否定的な場合には、サンプリング回路４３の出力端子Ｑから、「Ｌ」レベルの個別判定結果信号ＦＬＲ０が出力される。なお、図８及び図９には、この段階で肯定的な判定結果がなされた場合の例が示されている。
【００５８】
引き続き、２番目のフレームデータバイトＭＤ｛１｝を受信すると、この１番目のフレームデータバイトＭＤ｛１｝が値ＲＡ１であるときには、アドレス「０１００Ｈ＋ＲＡ１」に格納されているデータ「０１Ｈ」が、メモリ３６から出力される。一方、２番目のフレームデータバイトＭＤ｛１｝が値ＲＡ１ではないときには、アドレス「０１００Ｈ＋ＭＤ｛１｝」に格納されているデータ「００Ｈ」が、メモリ３６から出力される。そして出力されたメモリデータＦＤＴ０の値と、１番目のフレームデータバイトＭＤ｛０｝のときにサンプリング回路４３において保持結果との論理積が、論理積回路４２によって算出され、サンプリング回路４３においてサンプルされて保持される。この結果、サンプリング回路４３には、フレームバイトＭＤ｛０｝及びフレームデータバイトＭＤ｛１｝の双方がフィルタリング条件を満たすか否かの判定結果が保持され、出力される。
【００５９】
ここで、判定結果が肯定的な場合には、サンプリング回路４３の出力端子Ｑから、「Ｈ」レベルの個別判定結果信号ＦＬＲ０が出力される。また、判定結果が否定的な場合には、サンプリング回路４３の出力端子Ｑから、「Ｌ」レベルの個別判定結果信号ＦＬＲ０が出力される。なお、図８には、この段階で否定的な判定結果がなされた場合の例が示されている。また、図９には、この段階でも肯定的な判定結果がなされた場合の例が示されている。
【００６０】
以後、新たにフレームデータバイトＭＤ｛ｎ（ｎ＝０３Ｈ〜３ＦＨ）｝を受信するたびに、出力されたメモリデータＦＤＴ０の値と、それまでにサンプリング回路４３においてサンプリングされ、保持されていた結果の論理積が、論理積回路４２によって算出され、サンプリング回路４３においてサンプルされて保持される。こうしてサンプリング回路４３には、フレームバイトＭＤ｛０｝〜｛３ＦＨ｝の全てが、フィルタリング条件を満たすか否かの判定結果が保持される。
【００６１】
ここで、判定結果が肯定的な場合には、サンプリング回路４３の出力端子Ｑから、「Ｈ」レベルの個別判定結果信号ＦＬＲ０が出力される。また、判定結果が否定的な場合には、サンプリング回路４３の出力端子Ｑから、「Ｌ」レベルの個別判定結果信号ＦＬＲ０が出力される。なお、図８には、フレームデータバイトＭＤ｛１｝の段階で否定的な判定がなされた結果、その後継続的に否定的な判定結果がなされた場合の例が示されている。また、図９には、全てのフレームデータバイトＭＤ｛１｝〜｛３ＦＨ｝で肯定的な判定が行われた例が示されている。
【００６２】
以上のようにして、受信したフレームデータについて、所定のバイト数分（本実施形態では、６４バイト分）のフィルタリング演算が終了すると、基本タイミング発生回路１８が、フィルタリング演算期間信号ＦＬＰを非有意（「Ｌ」）とする。このフィルタリング演算期間信号ＦＬＰの立ち下がり時点を跨ぐように、フィルタリング演算終了信号生成回路４９は、第１演算終了信号ＦＰＬ１を一時的に有意（「Ｈ」）とする。この第１演算終了信号ＦＰＬ１の立ち上がり時点において、論理和回路４６から出力され総合判定結果信号ＦＬＲの値がサンプリング回路４７でサンプルされ、サンプルされた値が保持されて、出力される。
【００６３】
この後、フィルタリング演算終了信号生成回路４９は、第２演算終了信号ＦＰＬ２が一時的に有意（「Ｈ」）とする。この第２演算終了信号ＦＰＬ２に同期して、フィルタリング条件を満たしていた場合には、フレームデータ送信指令がフレームデータ送信指令信号ＦＭＳによってフレームバッファ回路１６へ向けて出力される。また、フィルタリング条件を満たしていなかった場合には、フレームデータ廃棄指令がフレームデータ廃棄信号ＦＭＲによってフレームバッファ回路１６へ向けて出力される。なお、図８には、フィルタリング条件を満たしておらず、フレームデータ廃棄指令信号ＦＭＲが出力された例が示されている。また、図９には、フィルタリング条件を満たし、フレームデータ送信指令信号ＦＭＳが出力された例が示されている。
【００６４】
こうしてフィルタリング回路１４からフィルタリング条件に関する判定結果としてフレームデータ廃棄指令がフレームバッファ回路１６に通知されると、フレームバッファ回路１６では、この判定結果に対応するデータフレームが廃棄される。一方、フィルタリング回路１４からフィルタリング条件に関する判定結果としてフレームデータ送信指令信号ＦＭＳがフレームバッファ回路１６に通知されると、フレームバッファ回路１６では、この判定結果に対応するデータフレームの送信の準備がなされる。
【００６５】
そして、送信すべきデータフレームの準備が整うと、図１０に示されるように、フレームバッファ回路１６は、最初のフレームデータバイトＳＤ｛０｝を、送信フレームデータＳＭＤ［７：０］として出力するとともに、送信すべきデータが存在することを、データレディ信号ＤＴＲを有意（「Ｈ」）とすることにより、基本タイミング発生回路１８へ通知する。基本タイミング発生回路１８は、データレディ信号ＤＴＲが有意となったことを検出すると、送信フレームデータ期間信号ＦＤＰを有意（「Ｈ」）として、送信用ＭＡＣコントローラ１２Ｄに通知する。
【００６６】
次に、基本タイミング発生回路１８は、送信フレームデータ書込信号ＦＤＷを一時的に有意（「Ｈ」）として、送信用ＭＡＣコントローラ１２Ｄの内部バッファに最初のフレームデータバイトＳＤ｛０｝を書き込む。引き続き、基本タイミング発生回路１８は、フレームバッファ読出信号ＦＢＯを一時的に有意（「Ｈ」）として、２番目のフレームデータバイトＳＤ｛１｝を、送信フレームデータＳＭＤ［７：０］として出力させる。
【００６７】
以後、基本タイミング発生回路１８が、送信フレームデータ書込信号ＦＤＷ及びフレームバッファ読出信号ＦＢＯを順次一時的に有意とし、フレームデータバイトを送信用ＭＡＣコントローラ１２Ｄの内部バッファに書き込む。こうして、全てのフレームデータが送信用ＭＡＣコントローラ１２Ｄの内部バッファに書き込まれ、フレームバッファ回路１６内の当該データフレームのデータが空になると、フレームバッファ回路１６は、データレディ信号ＤＴＲを非有意（「Ｌ」）とする。基本タイミング発生回路１８は、データレディ信号ＤＴＲが非有意となったことを検出すると、送信フレームデータ期間信号ＦＤＰを非有意（「Ｌ」）として、送信用ＭＡＣコントローラ１２Ｄに送信データフレームのデータの終了を通知する。
【００６８】
このデータ終了の通知を受けた受信用ＭＡＣコントローラ１２Ｄは、フレームバッファ回路１６から受信したデータを含むデータフレームを構成した後、ビットシリアル形式の送信物理層信号ＰＳＤを出力する。この送信物理層信号ＰＳＤは、送信用物理層回路１０Ｄによって、第２のイーサネットＬＡＮ２の伝送媒体（同軸ケーブル等）上を伝送されるべき信号に適合した信号に変換されて、第２のイーサネットＬＡＮ２の伝送媒体へ向けて出力される。
【００６９】
以上説明したように、本実施形態では、送信元アドレスや受信先アドレスといったデータフレームに含まれる特定情報のデータ値に応じて選択的にデータフレームを透過するデータフィルタリングを行う。かかるデータフィルタリング処理にあたり、本実施形態のデータフィルタリング装置１００では、データパターン発生回路としてのカウンタ回路３３がデータフレームにおける位置に応じたパターンデータを、特定位置のデータの入力に同期して順次発生し、データフレームのデータとともに、メモリ３６のアドレス入力端子に入力させる。この結果、フレームデータＭＲＤ［７：０］及びパターンデータＣＮＴ［５：０］が指定するアドレスに格納されているデータであって、フレームデータＭＲＤ［７：０］の値が選択条件を満たすか否かを示す値を有するデータが、メモリ３６から出力される。そして、そのデータ値に基づいて、判定回路４０が入力したデータフレームを出力するか否かを判定する。
【００７０】
したがって、本実施形態のデータフィルタリング装置１００では、メモリ３６の格納データを適切に設定することにより、所望のデータフィルタリングのアルゴリズムに対応して、ハードウエア処理によりデータフィルタリング処理を行う。したがって、本発明のデータフィルタリング装置によれば、汎用のメモリを使用した簡易な構成で、高速かつ柔軟にデータフィルタリングをすることができる。
【００７１】
なお、上記の実施形態では、フィルタリング条件を所定の１つの受信先アドレスを有するという１つ条件としたが、所定の８種以下の受信先アドレスのいずれかを有するという複数の条件を設定することができる。かかる場合には、メモリデータビットの内の複数のビットごとに、フィルタリング条件を１づつ割り当てるように、データをメモリ３６に格納させるようにすればよい。この結果、フィルタリング条件が割り当てられたメモリデータビットに対応する個別判定回路が、複数のフィルタリング条件それぞれを判定し、いずれかのフィルタリング条件が満たされた場合に、その旨を総合判定結果としてえることができる。
【００７２】
また、フィルタリング条件は受信先アドレスに限定されず、送信元アドレスやタイプ等であってもよいし、受信先アドレス、送信元アドレス、タイプ等を組み合わせたものであってもよい。
【００７３】
また、上記の実施形態では、フィルタリング条件を満たすか否かを、データフレームにおける最初の６４バイトについてチェックすることとしたが、任意のバイト数についてフィルタリング条件を満たすか否かをチェックすることとすることができる。かかる場合には、上記の実施形態の構成から、カウンタ回路３４における出力カウントビット数やメモリ３６の容量（アドレス入力端子の数）等を調整すればよい。さらに、メモリ３６の出力データのビットごとに互いに異なるデータフレームの位置について、フィルタリング条件を満たすか否かをチェックすることとすることもできる。
【００７４】
また、上記の実施形態では、メモリのアドレス入力端子に入力するフレームデータのビット数を８としたが、１６や３２等の他のビット数とすることもできる。かかる場合には、メモリ３６の容量（アドレス入力端子の数）等を調整すればよい。なお、メモリのアドレス入力端子に入力するフレームデータのビット数に整合する市販のＭＡＣコントローラを受信用ＭＡＣコントローラ１２Ｒとして使用することができる。
【００７５】
また、送信用ＭＡＣコントローラ１２Ｄに入力させる送信データフレームのデータビット数も８に限らず、１６や３２等の他のビット数とすることもできる。かかる場合にも、このビット数に整合する市販のＭＡＣコントローラを送信用ＭＡＣコントローラ１２Ｄとして使用することができる。
【００７６】
また、メモリのアドレス入力端子に入力するフレームデータのビット数を、例えば３２というように大きく設定する場合には、メモリ３６を１つのメモリ素子で構成するのではなく、メモリ３６の部分を複数のメモリ素子を含む構成とし、これら複数のメモリ素子のアドレス入力端子にフレームデータを分散させて並行して入力させるようにすることができる。そして、これら複数のメモリ素子それぞれから出力される、同一のフィルタリング条件に関連するビットデータ値の組合論理値（例えば、論理積値）を判定回路４０で算出することとすることとすればよい。
【００７７】
また、上記の実施形態では、メモリデータのビット数を８とし、同時にチェックできるフィルタリング条件の数を最大で８としたが、メモリデータのビット数を任意のビット数として、任意の個数のフィルタリング条件を同時にチェックすることとすることができる。かかる場合には、メモリ３６におけるデータビット数を調整すればよい。
【００７８】
また、上記の実施形態では、総合判定結果を個別判定結果の論理和によって算出したが、所望のフィルタリング条件に応じ、個別判定結果に関する任意の論理演算結果を総合判定結果として算出することができる。
【００７９】
また、上記の実施形態では、メモリのアドレス入力端子にフレームデータバイトごとに１種類のパターンデータを発生することとしたが、複数種類のパターンデータを発生することとしてもよい。例えば、図１１に示されるように、メモリ３６として、上記の実施形態におけるアドレス入力端子Ａ０〜Ａ１３に加えて、アドレス入力端子Ａ１４，Ａ１５を有するメモリを採用し、フィルタリング演算処理期間において、アドレス入力端子Ａ１４，Ａ１５に、ビットクロックＣＫ０の２倍の周期を有するクロック信号ＣＫ２で２ビットカウンタ回路３３Ａをカウントアップした結果を入力させるようにしてもよい。かかる場合、図１１に示されるように、分周回路３１Ａ、論理積回路３２Ａ、セレクタ回路３４Ａが付加される回路構成となる。また、１つのフレームデータバイトごとに４種類のパターンデータが入力することになることから、メモリデータビットごとに４種類のパターンデータの変化に対応した４つのタイミングそれぞれでサンプリングを行う４つの個別判定回路を用意することになる。この場合には、データフレームの入力に同期して、時分割型で、複数のデータフィルタリング処理を行うことができる。
【００８０】
また、上記の実施形態では、第１のイーサネットＬＡＮ１において伝送されているデータフレームを受信し、予め定められた条件に合致するデータフレームのみを選択的に第２のイーサネットＬＡＮ２へ向けて送信する装置について説明したが、本発明は、ルータ等のような中継装置、ファイアウォール等のようなセキュリティ向上のための装置、プロトコルアナライザ、ＲＭＯＮプローブと呼ばれるネットワーク監視機器にも適用することができる。
【００８１】
【発明の効果】
以上、詳細に説明したように、本発明のデータフィルタリング装置によれば、汎用のメモリを使用した簡易な構成で、高速かつ柔軟にデータフィルタリングをすることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るフィルタリング装置の概略的な構成を示す図である。
【図２】データフレームの構成を示す図である。
【図３】図１のフィルタリング回路の構成を示す図である。
【図４】図３の判定回路の構成を示す図である。
【図５】図３のメモリへのデータ書き込み動作を説明するためのタイミングチャート（その１）である。
【図６】図３のメモリへのデータ書き込み動作を説明するためのタイミングチャート（その２）である。
【図７】受信ＭＡＣデータの受信用ＭＡＣコントローラからの読み出し動作とフレームバッファ回路への書き込み動作を説明するためのタイミングチャートである。
【図８】フィルタリング条件を満たさない場合のフィルタリング演算動作を説明するためのタイミングチャートである。
【図９】フィルタリング条件を満たす場合のフィルタリング演算動作を説明するためのタイミングチャートである。
【図１０】送信データフレームデータのフレームバッファ回路からの読み出し動作と送信用ＭＡＣコントローラへの書き込み動作を説明するためのタイミングチャートである。
【図１１】変形例を説明するための図である。
【符号の説明】
１００…データフィルタリング装置、１２Ｒ…受信用ＭＡＣコントローラ（データ幅変換回路）、２０…処理回路（データ書込装置）、３３，３３Ａ…カウンタ回路（データパターン発生回路）、３６…メモリ、４０…判定回路。
【図１】
2004040708.tif 000003
【図２】
2004040708.tif 000004
【図３】
2004040708.tif 000005
【図４】
2004040708.tif 000006
【図５】
2004040708.tif 000007
【図６】
2004040708.tif 000008
【図７】
2004040708.tif 000009
【図８】
2004040708.tif 000010
【図９】
2004040708.tif 000011
【図１０】
2004040708.tif 000012
【図１１】
2004040708.tif 000013