(57)【特許請求の範囲】
【請求項１】
表示装置を備えたコンピュータ・システムに、複数のフィルタ規則相互間の関係を図式的に表示する方法であって、前記複数のフィルタ規則の各々は優先順位を有し、
（ａ）前記複数のフィルタ規則の中から少なくとも１つのフィルタ規則を導入するのを許すステップと、
（ｂ）前記複数のフィルタ規則の第１の部分の図式表示を前記表示装置に提示するステップであって、
前記複数のフィルタ規則の前記第１の部分の各々は、前記複数のフィルタ規則の前記第１の部分の各々の優先順位に基づいて、前記図式表示に階層状に配置し、
前記複数のフィルタ規則の前記第１の部分が複数の交差するフィルタ規則を含んでいる場合、少なくとも１つの優先順位の高いフィルタ規則と少なくとも１つの優先順位の低いフィルタ規則との少なくとも１つの交差部を示すように、かつ、前記少なくとも１つの優先順位の高いフィルタ規則が前記少なくとも１つの優先順位の低いフィルタ規則に優先するのを示すように、前記複数の交差するフィルタ規則を図式表示の中に表示するステップと
を備えた方法。
【請求項２】
図式表示を提示するステップ（ｂ）が、さらに、
（ｂ１）前記複数のフィルタ規則の前記第１の部分が複数の交差するフィルタ規則を含んでいる場合、少なくとも１つの交差部を示す少なくとも１つの切片を表示するステップであって、
前記少なくとも１つの切片は、前記少なくとも１つの優先順位の高いフィルタ規則から前記少なくとも１つの優先順位の低いフィルタ規則に向かっているステップ
を備えている、
請求項１に記載の方法。
【請求項３】
図式表示を提示するステップ（ｂ）が、さらに、
（ｂ１）前記複数のフィルタ規則の前記第１の部分の各々をアイコンとして表示するステップ
を備えている、
請求項１に記載の方法。
【請求項４】
さらに、
（ｃ）ユーザが、前記複数のフィルタ規則の前記第１の部分に関係する情報に前記図式表示を使ってアクセスするのを許すステップ
を備えた、
請求項１に記載の方法。
【請求項５】
さらに、
（ｃ）ユーザが、前記複数のフィルタ規則の前記第１の部分に関係する情報に前記図式表示で前記アイコンを使ってアクセスするのを許すステップ
を備えた、
請求項３に記載の方法。
【請求項６】
前記情報が、さらに、
前記複数のフィルタ規則の前記第１の部分の各々に対するヒット回数を含んでいる、
請求項５に記載の方法。
【請求項７】
前記情報が、さらに、
前記複数のフィルタ規則の前記第１の部分の各々の実装構造に関する情報を含んでいる、
請求項５に記載の方法。
【請求項８】
さらに、
（ｃ）前記少なくとも１つのフィルタ規則の論理を検査するステップ
を備えた、
請求項１に記載の方法。
【請求項９】
さらに、
（ｃ）前記少なくとも１つのフィルタ規則の構文を検査するステップ
を備えた、
請求項１に記載の方法。
【請求項１０】
図式表示を提示するステップ（ｂ）が、さらに、
（ｂ１）前記少なくとも１つのフィルタ規則を含めるように、以前の図式表示を更新するステップ
を備えている、
請求項１に記載の方法。
【請求項１１】
前記複数のフィルタ規則の前記第１の部分が、さらに、複数の有効なフィルタ規則だけを含んでいる、
請求項１に記載の方法。
【請求項１２】
前記複数のフィルタ規則の前記第１の部分が、さらに、複数の無効なフィルタ規則だけを含んでいる、
請求項１に記載の方法。
【請求項１３】
前記複数のフィルタ規則の前記第１の部分は、複数の有効なフィルタ規則と複数の無効なフィルタ規則を含むことができる、
請求項１に記載の方法。
【請求項１４】
さらに、
（ｃ）ユーザが、前記複数のフィルタ規則の前記第１の部分の１つのフィルタ規則の優先順位を、当該フィルタ規則の表示を前記図式表示中においてドラッグ・アンド・ドロップすることにより変更するのを許すステップ
を備えた、
請求項１に記載の方法。
【請求項１５】
さらに、
（ｃ）前記複数のフィルタ規則の前記第１の部分以外の部分に対して前記少なくとも１つのフィルタ規則を検査して、前記少なくとも１つのフィルタ規則が前記複数のフィルタ規則の前記第１の部分以外の部分の任意のフィルタ規則と交差しているか否かを判断するステップ
を備えた、
請求項１に記載の方法。
【請求項１６】
表示装置を備えたコンピュータ・システムに、複数のフィルタ規則相互間の関係を図式的に表示するプログラムを記録したコンピュータ読み取り可能な媒体であって、前記複数のフィルタ規則の各々は優先順位を有し、
（ａ）前記複数のフィルタ規則の中から少なくとも１つのフィルタ規則を導入するのを許す命令と、
（ｂ）前記複数のフィルタ規則の第１の部分の図式表示を前記表示装置に提示する命令であって、
前記複数のフィルタ規則の前記第１の部分の各々は、前記複数のフィルタ規則の前記第１の部分の各々の優先順位に基づいて、前記図式表示に階層状に配置し、
前記複数のフィルタ規則の前記第１の部分が複数の交差するフィルタ規則を含んでいる場合、少なくとも１つの優先順位の高いフィルタ規則と少なくとも１つの優先順位の低いフィルタ規則との少なくとも１つの交差部を示すように、かつ、前記少なくとも１つの優先順位の高いフィルタ規則が前記少なくとも１つの優先順位の低いフィルタ規則に優先するのを示すように、前記複数の交差するフィルタ規則を図式表示の中に表示する命令と
を備えたプログラムを記録したコンピュータ読み取り可能な媒体。
【請求項１７】
図式表示を提示する命令（ｂ）が、さらに、
（ｂ１）前記複数のフィルタ規則の前記第１の部分が複数の交差しているフィルタ規則を含んでいる場合、少なくとも１つの交差部を示す少なくとも１つの切片を表示する命令であって、
前記少なくとも１つの切片は、前記少なくとも１つの優先順位の高いフィルタ規則から前記少なくとも１つの優先順位の低いフィルタ規則に向かっている命令
を備えている、
請求項１６に記載のコンピュータ読み取り可能な媒体。
【請求項１８】
表示装置を備えたコンピュータ・システムに、複数のフィルタ規則相互間の関係を図式的に表示するシステムであって、前記複数のフィルタ規則の各々は優先順位を有し、
表示装置と、
ユーザが前記複数のフィルタ規則の中から少なくとも１つのフィルタ規則を導入するのを許すインタフェースと、
前記複数のフィルタ規則の第１の部分の図式表示を前記表示装置に提示するグラフィックス装置であって、
前記複数のフィルタ規則の前記第１の部分の各々は、前記複数のフィルタ規則の前記第１の部分の各々の優先順位に基づいて、前記図式表示に階層状に配置し、
前記複数のフィルタ規則の前記第１の部分が複数の交差するフィルタ規則を含んでいる場合、少なくとも１つの優先順位の高いフィルタ規則と少なくとも１つの優先順位の低いフィルタ規則との少なくとも１つの交差部を示すように、かつ、前記少なくとも１つの優先順位の高いフィルタ規則が前記少なくとも１つの優先順位の低いフィルタ規則に優先するのを示すように、前記複数の交差するフィルタ規則を図式表示の中に表示するグラフィックス装置と
を備えたシステム。
【請求項１９】
前記グラフィックス装置が、さらに、
前記複数のフィルタ規則の前記第１の部分が複数の交差するフィルタ規則を含んでいる場合、少なくとも１つの交差部を示す少なくとも１つの切片を表示し、
前記少なくとも１つの切片は、前記少なくとも１つの優先順位の高いフィルタ規則から前記少なくとも１つの優先順位の低いフィルタ規則に向かっている、
請求項１８に記載のシステム。
【請求項２０】
前記グラフィックス装置が、さらに、
前記複数のフィルタ規則の前記第１の部分の各々をアイコンとして表示する、請求項１８に記載のシステム。
【請求項２１】
前記グラフィックス装置が、さらに、
ユーザが、前記複数のフィルタ規則の前記第１の部分に関係する情報に前記図式表示を使ってアクセスするのを許す、
請求項１８に記載のシステム。
【請求項２２】
前記グラフィックス装置が、さらに、
ユーザが、前記複数のフィルタ規則の前記第１の部分に関係する情報に前記図式表示で前記アイコンを使ってアクセスするのを許す、
請求項２０に記載のシステム。
【請求項２３】
前記情報が、さらに、
前記複数のフィルタ規則の前記第１の部分の各々に対するヒット回数を含んでいる、
請求項２２に記載のシステム。
【請求項２４】
前記情報が、さらに、
前記複数のフィルタ規則の前記第１の部分の各々の実装構造に関する情報を含んでいる、
請求項２２に記載のシステム。
【請求項２５】
さらに、
前記少なくとも１つのフィルタ規則の論理を検査するフィルタ規則アプリケーション
を備えた、
請求項１８に記載のシステム。
【請求項２６】
さらに、
前記少なくとも１つのフィルタ規則の構文を検査するフィルタ規則アプリケーション
を備えた、
請求項１８に記載のシステム。
【請求項２７】
前記グラフィックス装置が、さらに、
前記少なくとも１つのフィルタ規則を含めるように、以前の図式表示を更新する、
請求項１８に記載のシステム。
【請求項２８】
前記複数のフィルタ規則の前記第１の部分が、さらに、複数の無効なフィルタ規則だけを含んでいる、
請求項１８に記載のシステム。
【請求項２９】
前記複数のフィルタ規則の前記第１の部分は、複数の有効なフィルタ規則と複数の無効なフィルタ規則を含むことができる、
請求項１８に記載のシステム。
【請求項３０】
さらに、
ユーザが、前記複数のフィルタ規則の前記第１の部分の１つのフィルタ規則の優先順位を、当該フィルタ規則の表示を前記図式表示中においてドラッグ・アンド・ドロップすることにより変更するのを許す手段
を備えた、
請求項１８に記載のシステム。
【請求項３１】
前記グラフィックス装置が、さらに、
前記複数のフィルタ規則の前記第１の部分以外の部分に対して前記少なくとも１つのフィルタ規則を検査して、前記少なくとも１つのフィルタ規則が前記複数のフィルタ規則の前記第１の部分以外の部分の任意のフィルタ規則と交差しているか否かを判断する、
請求項１８に記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フィルタ規則（ｆｉｌｔｅｒ  ｒｕｌｅ）を使用するコンピュータ・システムに関し、特に、フィルタ規則を図式的に表示する方法とシステムに関する。
【０００２】
【従来の技術】
ネットワークは、通常、多種多様なホスト、少なくとも１つのサーバ、少なくとも１つの交換機および／またはルータを備えている。（「Ａおよび／またはＢ」は「ＡおよびＢ、Ａ、またはＢ」を表わす）。データは、ネットワークを通じて流れるので、交換機またはルータによってルーティングする必要がある。ネットワーク中の通信を管理し、交換機によってデータ・パケットをルーティングするために、フィルタ規則を使う。フィルタ規則は、当該フィルタ規則に適合するようにパケットに特定の処置を強制する。したがって、フィルタ規則は、様々なサービスを提供するために、ネットワークを介して伝送されるパケットを調べる。フィルタ規則は、外部の送信元からネットワークに入ってくるパケットを調べて、ネットワークに侵入する企図を挫（くじ）くことができる。例えば、不正な送信元が発したパケットが侵入するのを拒否できるようにするために、インターネットからネットワークに入ってくるデータを調べることができる。同様に、ネットワークの一部分が発したパケットに対しては、当該ネットワークの別の部分にアクセスできないようにすることができると共に、他の適切な処置、例えば当該ネットワークの別の部分にアクセスしようとした企図を記録することもできる。フィルタ規則は、優先順位に基づいてデータを伝送するのに用いることもできる。例えば、特定のホストが発したパケットは、その優先順位が高い場合には、他のホストが発したパケットを破棄するときであっても、伝送する。また、フィルタ規則は、ふくそう（輻輳）が激しいときに、既に確立済みのセッションが発したデータは伝送するとしても、新たなセッションが開始するのを許さないようにするためにも使うことができる。さらに、フィルタ規則に基づいて、別の機能を達成することもできる。
【０００３】
特定のフィルタ規則が特定のパケットを処理することができるか否かを判断するために、フィルタ規則は、キーを調べる。このキーには、通常、パケットのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ヘッダーを用いる。ＩＰヘッダーは、通常、５つのフィールド、すなわち送信元アドレス、あて先アドレス、送信元ポート、あて先ポート、およびプロトコルを備えている。これらのフィールドは、通常それぞれ、３２ビット、３２ビット、１６ビット、１６ビット、および８ビットである。したがって、ＩＰヘッダーは、通常、長さが１０４ビットである。フィルタ規則は、その機能を達成するために、通常、これらの１０４ビット（これより大きい場合もある）を使用する。例えば、送信元アドレスとあて先アドレスに基づいて、フィルタ規則は、特定のホストが発したパケットが特定のあて先アドレスに到達できるか否かを判断することができる。しかし、キーはＩＰヘッダーのフィールド以外にも追加のビットを備えている場合が多い。追加のビットは、ネットワークを通るデータを管理するフィルタ規則が使用することができる。したがって、フィルタ規則は、通常、パケットのＩＰヘッダーの少なくともいくつかのフィールドを備え、追加のビットを備えうるキーを使って動作する。キーがフィルタ規則に適合すると、当該フィルタ規則は、当該キーに対応するパケットに自らの処置を強制する。
【０００４】
ネットワークを通るデータを制御するフィルタ規則は、交差しうる。換言すると、特定のパケット用のキーは、複数のフィルタ規則に適合しうる。したがって、フィルタ規則には，優先順位が付与されている。優先順位の高いフィルタ規則は、適合するか否かを最初に調べるべきフィルタ規則を特定している。すなわち、優先順位の高いフィルタ規則は、特定のパケットについてとるべき処置を管理している。換言すると、優先順位の高いフィルタ規則は、優先順位の低いフィルタ規則に優先する。例えば、あるパケット用のキーが２つの（交差する）フィルタ規則に適合する場合、優先順位の高いフィルタ規則が優先する。これにより、特定のフィルタ規則について矛盾する処置がとられるのを防ぐことができる。例えば、第１のフィルタ規則がデフォルトのフィルタ規則であり、ほとんどすべての場合を処理でき、第２のフィルタ規則が第１のフィルタ規則の例外であるとする。この場合、第２のフィルタ規則は、通常、第１のフィルタ規則よりも優先順位が高い。したがって、あるパケットが第１のフィルタ規則と第２のフィルタ規則の双方に適合する場合、当該パケットに第２のフィルタ規則の処置を強制させることができる。
【０００５】
通常、各ネットワークごとに複数のフィルタ規則が使われている。フィルタ規則は交差しその優先順位は様々であるから、ネットワーク管理者などのユーザは、フィルタ規則が互いに適切に機能しうる、ということを保証できるのが望ましい。例えば、同じ優先順位の２つの交差するフィルタ規則がとるべき処置として互いに矛盾するものを述べているのは望ましくない。例えば、第１のフィルタ規則があるパケットを破棄すべきであると述べている一方、それと交差する同じ優先順位の第２のフィルタ規則が当該パケットを転送すべきであると述べているのは望ましくない。さらに、フィルタ規則に関する他の情報、例えば当該フィルタ規則が使われる頻度、コンピュータ・システム中における当該フィルタ規則の実際の構成などを、ネットワーク管理者などのユーザがモニタしているのが望ましい。したがって、ユーザは、フィルタ規則に関する情報を取得できるのが当然である。
【０００６】
既存のシステムは、一般に、フィルタ規則に関する情報を表形式で表示している。通常、例えば、フィルタ規則、当該フィルタ規則に適合するキーの範囲、および、とるべき処置が表示される。しかし、この他の情報は、入手するのが容易ではない。また、この表形式の情報は、ユーザが理解するのが困難でもある。したがって、ユーザは、互いに交差し、矛盾し、優先順位が同じであるフィルタ規則を適用する可能性がある。このような場合、ネットワーク中の交換機は、２つのフィルタ規則に適合するキーを備えた特定のパケットに対して強制すべき処置を決めることができなくなる。この結果、当該交換機を通るデータは、適切に制御することができなくなる。
【０００７】
【発明が解決しようとする課題】
以上のように、フィルタ規則に関する情報にユーザがアクセスする方法とシステムを改善することが求められている。
【０００８】
本発明の目的は、フィルタ規則に関する情報に対するユーザ・アクセスを改善した方法とシステムを提供することである。
【０００９】
【課題を解決するための手段】
本発明は、コンピュータ・システムにおいて、複数のフィルタ規則相互間の関係を図式的に表示する方法とシステムを提供するものである。上記コンピュータ・システムは表示装置を備えている。上記複数のフィルタ規則の各々には優先順位がある。本発明の方法とシステムは、上記複数のフィルタ規則の中から少なくとも１つのフィルタ規則を導入するのを許すこと、および、上記複数のフィルタ規則の第１の部分を上記表示装置に図式的に表示すること、を含む。上記複数のフィルタ規則の上記第１の部分の各々は、上記複数のフィルタ規則の上記第１の部分の各々に基づいて、階層状に表示する。上記複数のフィルタ規則の上記第１の部分が複数の交差するフィルタ規則を含んでいる場合、少なくとも１つの優先順位の高いフィルタ規則と少なくとも１つの優先順位の低いフィルタ規則との少なくとも１つの交差部を示すように、かつ、上記少なくとも１つの優先順位の高いフィルタ規則が上記少なくとも１つの優先順位の低いフィルタ規則に優先するのを示すように、上記複数の交差するフィルタ規則を図式表示の中に表示する。
【００１０】
ここに開示する本発明の方法とシステムによると、ネットワーク管理者などのユーザは、フィルタ規則相互間の関係を容易に特定し、かつ、上記フィルタ規則を望みどおりに調整することが可能になる。
【００１１】
【発明の実施の形態】
本発明は、コンピュータ・システムの改良に関する。以下の記述は、当業者が本発明を製造し使用しうるように提示すると共に、特許出願およびその要件の文脈で提示する。ここに示す好適な実施形態に対する様々な変更は、当業者にとって容易に明らかになる。また、ここに示す一般的な原理は、他の実施形態にも適用することができる。したがって、本発明は、ここに示す実施形態に限定されないばかりでなく、ここで述べた原理および特徴と一致する最も広い範囲を与えられてしかるべきである。
【００１２】
図１は、本発明を使用することのできるネットワーク１０、２０を示す図である。各ネットワーク１０、２０は、それぞれ、ホスト１２、１４、１６、２２、２４を備えている。各ネットワーク１０、２０は、それぞれ、交換機１８、２６を備えると共に、少なくとも１つのサーバ、例えばサーバ１７、１９、２８を備えている。さらに、各ネットワーク１０、２０は、インターネット３０への少なくとも１つのゲートウェイ１３、２５をそれぞれ備えている。ネットワーク１０、２０を通るデータを制御するネットワーク１０、２０の他の部分（ルータなど）は、明示してないが、交換機１８、２６によって、一般的にはネットワーク１０、２０によって本来的に示されている、と考えることができる。
【００１３】
図１には、交換機１８、２６用に制御ポイント１１、２９もそれぞれ示してある。制御ポイント１１、２９には、汎用コンピュータを用いることができる。制御ポイント１１、２９は、データをルーティングすへきか否か、するとしたらどのようにすべきであるか、という情報を交換機１８、２６に提供するものである。制御ポイント１１、２９は、「ツリー（木）構造を使ってフィルタリングするシステム、方法、およびコンピュータ・プログラム」なる名称の米国特許出願第０９／３１２１４８号（１９９９年５月１４日出願、承継人＝本出願の出願人）、および、「フィルタ規則に優先順位を付与するシステム、方法、およびコンピュータ・プログラム」なる名称の米国特許出願第０９／５４０３３３号（２０００年３月３１日出願、承継人＝本出願の出願人）に詳細に記載されている。しかし、制御ポイント１１、２９がなくとも、ネットワーク１０、２０を実現することができる。
【００１４】
交換機１８、２６は、それぞれ、ネットワーク１０、２０を通るデータの流れを制御するために、フィルタ規則を使うことができる。フィルタ規則は、互いに交差しうる。したがって、特定のパケットが発したキーは、複数のフィルタ規則に適合しうる。それ故、フィルタ規則には、優先順位も付与されている。「フィルタ規則に優先順位を付与するシステム、方法、およびコンピュータ・プログラム」なる名称の米国特許出願第０９／５４０３３３号（２０００年３月３１日出願、承継人＝本出願の出願人）には、フィルタ規則に優先順位を付与する方法、システム、およびコンピュータ・プログラムが記載されている。そこでは、ネットワーク管理者などのユーザは、２つの交差するフィルタ規則が矛盾する処置をとることがないように、フィルタ規則ごとに異なる優先順位を設定できるようにしている。上記米国特許出願には、フィルタ規則を理解しやすくするために図式を使うことも述べられているが、しかし、フィルタ規則をコンピュータ・システムに表示する仕方に関しては何も述べられていない。そこで述べられている、フィルタ規則の図式表示は、交差するフィルタ規則のうちで優先順位の低いものから高いものへ線を引く、というものである。既存のシステムは、その大多数が単にフィルタ規則とその属性を搭載した表を提示するだけである。したがって、このような表を使ってもフィルタ規則相互間の関係を理解するのは困難である、ということは当業者が容易に理解しうる。このことは、フィルタ規則の数が多い場合に、とりわけ当てはまる。
【００１５】
本発明は、複数のフィルタ規則相互間の関係を表示装置を備えたコンピュータ・システムで図式表示する方法とシステムを提供するものである。これら複数のフィルタ規則の各々は、優先順位を有している。この方法とシステムは、複数のフィルタ規則の中から少なくとも１つのフィルタ規則を導入できるようにすること、および、複数のフィルタ規則の第１の部分を表示装置に図式表示すること、を含んでいる。複数のフィルタ規則の第１の部分の各々は、当該複数のフィルタ規則の第１の部分の各々の優先順位に基づいて階層状に表示する。複数のフィルタ規則の第１の部分が交差するフィルタ規則を複数個含む場合、当該複数個の交差するフィルタ規則を表示装置に図式表示して、少なくとも１つの優先順位の高いフィルタ規則と少なくとも１つの優先順位の低いフィルタ規則とが交差する部分を少なくとも１つ示すと共に、上記少なくとも１つの優先順位の高いフィルタ規則が上記少なくとも１つの優先順位の低いフィルタ規則に優先することを示す。
【００１６】
以下では、特定の装置に実現したフィルタ規則の特定の集合について、本発明を説明する。しかし、ここで述べる方法とシステムは他の装置を使って実現した他のフィルタ規則についても有効に働く、ということを当業者は容易に理解しうる。また、ここで述べる方法とシステムは、フィルタ規則を使って動作する他のシステムについても使用しうるし、フィルタ規則を使わずにフィルタ規則の属性を探索するのに使用しうる別のシステムにおいても使用しうる、ということも当業者は容易に理解しうる。
【００１７】
本発明による方法とシステムをより詳細に説明するために、本発明によってフィルタ規則を図式表示するプロセス１００の一実施形態の高レベルのフローチャートを示す図２を参照する。プロセス１００は、ネットワーク１０、２０が採用しうるフィルタ規則用に使用するのが望ましい。プロセス１００は、ネットワーク１０、２０上で実現されているのが望ましい。例えば、ネットワーク管理者などのユーザが、ホスト１２、１４、１６、２２、２４の１つでプロセス１００を使ってフィルタ規則を交換機１８、２６にダウンロードする。しかし、別の実施形態では、プロセス１００は、スタンドアロンのコンピュータ・システム上に実現することができる。このような実施形態は、例えば交換機１８、２６の開発者が交換機１８、２６を開発する際に使用することができる。フィルタ規則は、様々な機構を使って交換機１８、２６にロード（すなわち導入）することができる。いすれにしても、プロセス１００は、ハードウェアから独立しているのが望ましい。
【００１８】
ネットワーク管理者などのユーザは、ステップ１０２を通じて、新たなフィルタ規則を導入することが許される。したがって、ユーザは、ステップ１０２で、フィルタ規則の新たな集合を開始させることができるし、フィルタ規則の既存の集合に少なくとも１つのフィルタ規則を付加することもできる。フィルタ規則の一部を図式表示することは、ステップ１０４を通じて行なう。したがって、この図式表示は、プロセス１００が自動的に生成する。ステップ１０４で表示するフィルタ規則の部分には、交差しているフィルタ規則を含めることができる。一実施形態では、他のフィルタ規則と交差していないフィルタ規則を表示しない。別の実施形態では、他のフィルタ規則と交差していないフィルタ規則を表示する。表示するフィルタ規則は、有効なフィルタ規則と無効なフィルタ規則の双方、有効なフィルタ規則のみ、または、無効なフィルタ規則のみ、から成る。無効なフィルタ規則は、ユーザが管理上の理由から無効にしたものであるか、あるいは、例えば論理検査（後述）の間に論理誤りが発見された場合、システムが自動的に無効にしたものである。各フィルタ規則は、当該フィルタ規則の優先順位に基づいて階層状に表示する。優先順位が高い（したがって優先順位数が小さい）フィルタ規則を図式表示の上方に表示し、最も優先順位の高いフィルタ規則を最上方に表示するのが望ましい。優先順位が低い（したがって優先順位数字が大きい）フィルタ規則を図式表示の下方に表示し、最も優先順位の低いフィルタ規則を底部に表示するのが望ましい。留意すべきは、有効なフィルタ規則が（普通の）優先順位を有するのに対して、無効なフィルタ規則は仮想優先順位（ｐｒｏｊｅｃｔｅｄ  ｐｒｉｏｒｉｔｙ）を有すると考えられる、という点である。仮想優先順位には、あるフィルタ規則が無効であるときの当該フィルタ規則の優先順位を用いるのが望ましい。無効なフィルタ規則を表示する場合、プロセス１００は、優先順位の代わりに仮想優先順位を使って当該無効なフィルタ規則を表示する。したがって、このようにするために、プロセスが優先順位に関係するステップを実行するのを説明する場合、そのステップは、仮想優先順位について実行するものと考えることができる。例えば、（有効な）フィルタ規則の優先順位を決定する（あるいは使う）場合、無効なフィルタ規則の仮想優先順位も、それを適正なものとして決定する（あるいは使う）ことができる。しかし、仮想優先順位について、優先順位とは異なった仕方でステップを実行することもできる。例えば、有効なフィルタ規則の優先順位を算出するときには、無効なフィルタ規則を無視するのが望ましい。したがって、有効なフィルタ規則の場合には優先順位を算出するのが望ましいが、一方、無効なフィルタ規則の場合には、当該フィルタ規則が無効であったときの当該フィルタ規則の優先順位を仮想優先順位とするのが望ましい。以上のように、あるフィルタ規則の高さが当該フィルタ規則の優先順位と一致するように、フィルタ規則を階層状に表示するのが望ましい。しかし、フィルタ規則を階層状に表示する別の機構を使ってもよい。例えば、フィルタ規則の優先順位に基づいて、フィルタ規則を水平方向に並べてもよい。また、フ���ルタ規則を図式表示することによって、フィルタ規則相互間の交差状況をも示すことができる。この図式表示によって、ユーザは、優先順位の高いフィルタ規則がどれであるかを知ることもできる。したがって、ユーザは、優先順位の高いフィルタ規則が優先順位の低いフィルタ規則に優先する、ということが分かる。このことは、優先順位の高いフィルタ規則から優先順位の低いフィルタ規則に至る切片を使うことにより行なうのが望ましい。以上のように、ユーザは、優先順位を有するフィルタ規則相互間の関係、フィルタ規則相互間の交差状況、および、交差しているフィルタ規則の一方が高い優先順位を有するが故に優先している様子を容易に理解することができる。この結果、ユーザは、例えばあるフィルタ規則が少なくとも１つの他のフィルタ規則によって常に優先されているから、当該フィルタ規則を削除することができる、あるいは、上記のような条件は存在しないから、当該フィルタ規則は変更すべきである、と判断することができる。
【００１９】
図３は、本発明によりフィルタ規則を図式表示するプロセス１１０のより詳細なフローチャートを示す図である。プロセス１００は、ネットワーク１０、２０が採用しうるフィルタ規則用に使用するのが望ましい。プロセス１００は、ネットワーク１０、２０上で実現するのが望ましい。例えば、ネットワーク管理者などのユーザが、ホスト１２、１４、１６、２２、２４の１つでプロセス１００を使ってフィルタ規則を交換機１８、２６にダウンロードする。しかし、別の実施形態では、プロセス１００は、スタンドアロンのコンピュータ・システム上に実現することができる。このような実施形態は、例えば交換機１８、２６の開発者が交換機１８、２６を開発する際に使用することができる。フィルタ規則は、様々な機構を使って交換機１８、２６にロードすることができる。いすれにしても、プロセス１００は、ハードウェアから独立しているのが望ましい。
【００２０】
ユーザは、ステップ１１２を通じて、新たなフィルタ規則を導入するのが許される。後述するように、新たなフィルタ規則は図式表示を通じて提供することができる、という点に留意されたい。この新たなフィルタ規則は、あるフィルタ規則の集合中の単に新しいだけのものである場合もあるし、既存のフィルタ規則の集合に付加したものである場合もあるし、あるいは、既存のフィルタ規則の集合中のいくつかのフィルタ規則を置き換えたものである場合もある。新たなフィルタ規則の構文は、ステップ１１４を通じて検査する。これにより、新たなフィルタ規則は適切に記載されている、ということが保証される。例えば、与えられた範囲が有効であることを保証するために、ＩＰヘッダーに対応する部分のフィールドを検査する。ステップ１１６を通じて、新たなフィルタ規則の優先順位、ならびに、新たなフィルタ規則相互間の交差部、および、新たなフィルタ規則と既存のフィルタ規則との間の交差部を決める。任意実行事項として、新たなフィルタ規則の論理をステップ１１８を通じて検査する。ステップ１１８では、包含関係（後述）と循環関係（後述）を特定するのが望ましい。ステップ１１８では、論理検査に基づいて適切な処置、例えば少なくとも１つのフィルタ規則を無効にすることなどを含めてもよい。ステップ１２０を通じて、新たなフィルタ規則を使って図式表示を生成する（あるいは更新する）。したがって、図式表示は、プロセス１１０が自動的に生成（あるいは更新）してもよい。以上のように、新たなフィルタ規則の優先順位と交差部は、ステップ１２０で表示する。図式表示の中には、フィルタ規則を優先順位に基づいて階層状に表示すると共に、フィルタ規則相互間の交差部を表示する。また、フィルタ規則相互間の交差部を示す機構によって、交差している２つのフィルタ規則のうちどちらの優先順位が高いかも表示する。図式表示は、図２のプロセス１００に関して上述したのと同じ属性を有しているのが望ましい。
【００２１】
再び図３を参照する。ステップ１２２を通じ、ユーザは、図式表示を通してフィルタ規則に関する追加の情報にアクセスするのを許されるのが望ましい。好適な実施形態では、フィルタ規則を図式表示の中のアイコンによって表示している。このような実施形態では、ステップ１２２には、ユーザがフィルタ規則を表わすアイコンをクリックして追加の情報を入手するのを許すステップが含まれている。一実施形態では、上述のようにして入手したフィルタ規則に関する情報をユーザが編集するのを許している。また、好適な実施形態では、ユーザがステップ１２４を通じて図式表示を更新するのを許している。例えば、あるフィルタ規則をよく見るために、ユーザは、図式表示の大きさを変えたり、図式表示の一部分をズームアップさせたりすることができる。また、ステップ１２４は、図式表示を使ってフィルタ規則に関する操作を実行するのをユーザに許すステップも含んでいるのが望ましい。例えば、ユーザは、図式表示の一部を変更することにより、フィルタ規則の優先順位を取り除いたり変更したりすることができる。例えば、ユーザは、あるフィルタ規則のアイコンを使って、当該フィルタ規則を削除したり、無効にしたり、有効にしたりすることができる。また、ユーザは、あるフィルタ規則のアイコンをドラッグ・アンド・ドロップすることにより、当該フィルタ規則の優先順位を変更することもできる。さらに、ユーザは、ステップ１２４で、ユーザ・インタフェースを使って別のフィルタ規則を追加することもできる。
【００２２】
以上のように、ユーザは、優先順位、交差部、特定のフィルタ規則が別のフィルタ規則に優先する、といった関係を容易に特定することができる。この結果、ユーザは、例えばあるフィルタ規則が少なくとも１つの別のフィルタ規則によって常に優先されているといった理由で、当該フィルタ規則を削除できるか否かを判断することができる。さらに、新たなフィルタ規則の構文と論理が正しいか調べることができるし、新たなフィルタ規則に優先順位を設定するのをユーザに許すステップを含めることができる。また、ユーザは、例えば図式表示の一部分においてフィルタ規則相互間の関係がよく見えるように、図式表示を更新することもできる。さらに、ユーザは、図式表示を使ってフィルタ規則に関する追加の情報にアクセスすることもできる。また、ユーザは、図式表示を変更するほかに、フィルタ規則の属性を変更することもできる。以上のように、ユーザは、図式表示の中に表示されたフィルタ規則を容易に理解し、それを制御する能力を顕著に改善することができる。
【００２３】
図４は、フィルタ規則の交差部と優先順位を決めるステップ１１６の一実施形態を示す図である。ステップ１２３を通じて、新たなフィルタ規則相互間の交差部を決める。したがって、ステップ１２３では、少なくとも一方が新たらしい交差する２つのフィルタ規則のうちどちらのもののキーが他の新たなフィルタ規則または他の既存のフィルタ規則のキーと適合するかを判断する。それ故、ステップ１２３では、交差するフィルタ規則の集合を決めるのが望ましい。次いで、ステップ１２５を通じて、新たなフィルタ規則の優先順位を決める。以上のように、フィルタ規則の優先順位と交差部を決める。
【００２４】
図５は、新たなフィルタ規則の優先順位を決めるステップ１２５の一実施形態を示す図である。図５に示すステップ１２５は、新たなフィルタ規則の各々について実行するのが望ましい。交差するフィルタ規則の優先順位数は、既知でない場合、ステップ１２６を通じて算出する。すべてのフィルタ規則の優先順位数が事前に算出されているのが望ましい。例えば、優先順位数を決める際に、上記「フィルタ規則に優先順位を付与するシステム、方法、およびコンピュータ・プログラム」なる名称の米国特許出願第０９／５４０３３３号中の優先順位数を算出する方法を使うことができる。しかし、プロセス１２５によれば、フィルタ規則の相対優先順位を簡単に決めることができる。換言すると、プロセス１２５によれば、フィルタ規則について優先順位数を明示的に決めなくとも、２つのフィルタ規則のうちどちらのフィルタ規則が他のフィルタ規則よりも優先順位が高い（あるいは低い）かを決めることができる。
【００２５】
図４のプロセス１１６のステップ１２３で決めた交差するフィルタ規則は、優先順位が既知の場合、ステップ１２８を通じて、優先順位によってリストに並べる。フィルタ規則の優先順位が既知でない場合、ステップ１２８はスキップしてもよい。ステップ１３０を通じて、交差するフィルタ規則のリスト中で最も優先順位の高いフィルタ規則を選択し、それを交差するフィルタ規則のリストから取り除く。最も優先順位の高いフィルタ規則は、ステップ１２８で並べる関係から、交差するフィルタ規則のリスト中の第１のフィルタ規則であるのが望ましい。しかし、フィルタ規則の優先順位が既知でない場合には、ステップ１３０で、交差するフィルタ規則の集合から任意のフィルタ規則を選択し、それを上記集合から取り除いてもよい。
【００２６】
ステップ１３２を通じて、選択したフィルタ規則と新たなフィルタ規則との間の優先順位関係（すなわち方向付けられた経路）が明示的に既知であるか否かを判断する。新たなフィルタ規則は、優先順位が設定されているフィルタ規則である。優先順位関係によって、選択したフィルタ規則と新たなフィルタ規則との間でどちらの優先順位が高いのか、そして、優先順位相互間はどのように違うのかを決める。優先順位関係が明示的に既知である場合、新たなフィルタ規則の優先順位は、選択したフィルタ規則に関して既知である。プロセスは、ステップ１３８にスキップして、新たなフィルタ規則と比較すべき交差するフィルタ規則が他にもないか否かを判断する。しかし、優先順位関係が既知でない場合、ステップ１３４を通じて、ユーザは、新たなフィルタ規則と選択したフィルタ規則との２つのフィルタ規則のうちから優先順位の高いフィルタ規則を選択するように質問される。ユーザは、ステップ１３６を通じて、優先順位の高いフィルタ規則の識別符号（ＩＤ）を入力する。次いで、ステップ１３８を通じて、交差するフィルタ規則のリスト中に他にもフィルタ規則があるか否かを判断する。ない（Ｎｏ）場合、プロセス１２５は、当該新たなフィルタ規則に関して終了する。ある（Ｙｅｓ）場合、プロセスはステップ１３０に戻り、交差するフィルタ規則の集合中の別のフィルタ規則を選択して、ステップ１３０における比較の用に供する。ステップ１３０からステップ１３８までは、新たなフィルタ規則と交差するフィルタ規則とを比較して、新たなフィルタ規則の優先順位が決まるまで、繰り返す。したがって、ユーザは、新たなフィルタ規則の優先順位を設定するために、ステップ群の間を渡り歩く。各ステップは、ユーザが実行するのが比較的簡単である。ユーザは、特定のフィルタ規則に対応する優先順位数を覚えている必要なく、フィルタ規則の優先順位を決めることができる。ユーザは、２つのフィルタ規則のうちどちらの優先順位が高いかを知っているだけでよい。この結果、ユーザは、他のフィルタ規則との比較に基づいて、新たなフィルタ規則の優先順位を容易に設定することができる。
【００２７】
図６は、新たなフィルタ規則の論理検査を実行するステップ１１８を実行するプロセスの一実施形態を示す図である。新たなフィルタ規則は、ステップ１４０を通じて、包含関係がないかどうか調べる。包含関係は、あるフィルタ規則に適合するキーがすべて別のフィルタ規則にも適合する場合に生じる。例えば、異なるフィールドを有するフィルタ規則ＡとＢを考える。各フィールドｉにつき、フィルタ規則Ａに適合する範囲は、［ａｉ  ，Ａｉ  ］である。同様に、各フィールドｉにつき、フィルタ規則Ｂに適合する範囲は、［ｂｉ  ，Ｂｉ  ］である。この場合、ｂｉ  がａｉ  以下であり、Ｂｉ  がＡｉ  以上のとき、フィルタ規則Ａはフィルタ規則Ｂに包含されている。
【００２８】
ステップ１４２では、循環関係がないかどうか調べる。循環関係は、複数のフィルタ規則が交差しており、これら交差しているフィルタ規則の優先順位が最も優先順位の高いフィルタ規則がどれであるのか決められない仕方で宣言されているときに、生じる。例えば、３つのフィルタ規則Ａ、Ｂ、Ｃがあるものとする。優先順位は、ＡがＢに優先し、ＢがＣに優先し、ＣがＡに優先するように宣言されている。別の実施形態では、次のようにするだけで循環関係を回避することができる。すなわち、すべての交差部について、まず相対優先順位（あるフィルタ規則の別のフィルタ規則に対する優先順位）が存在しないかどうか調べてから、ユーザに相対優先順位を質問する。例えば、現在のフィルタ規則集合がＲ１２、Ｒ１２１であるとする。Ｒ１２とＲ１２１は交差しており、Ｒ１２の優先順位が高い。この状態で、フィルタ規則Ｘを追加し、それがＲ１２とＲ１２１の双方と交差するとする。ユーザは、フィルタ規則ＸとＲ１２との間でどちらのフィルタ規則の優先順位が高いか質問される。ユーザがＸの優先順位が高いと答えた場合、ユーザは、ＸとＲ１２１との間の相対優先順位について質問されることはない。なぜなら、循環関係は推移的（ｔｒａｎｓｉｔｉｖｅ）であるとみなされるので、Ｘの優先順位がＲ１２よりも高く、Ｒ１２の優先順位がＲ１２１よりも高い場合、Ｘの優先順位はＲ１２１よりも高いはずだからである。
（「推移的」とは、第１の元〔げん〕と第２の元の関係、および、第２の元と第３の元との関係が同じであり、このことから、第１の元と第３の元との間にも同じ関係が成り立つことが結論される関係のことである）。以上のよう、Ｘ、Ｒ１２、Ｒ１２１のＲの潜在的な循環関係を回避することができる。
【００２９】
ステップ１４４を通じて、論理検査に基づいて適切な処置をとる。ステップ１４４には、あるフィルタ規則を無効にするステップ、あるフィルタ規則を削除するステップ、あるいは、論理誤りを無視するステップを含めることができる。論理誤りを生じたフィルタ規則は、論理誤りの発見に自動的に応答して自動的に削除するのが望ましい。例えば、ステップ１４０で包含関係が発見されたとする。包含関係が存在する場合、包含されているフィルタ規則は、包含しているフィルタ規則と同一である可能性がある。したがって、一方のフィルタ規則は、冗長であるから、無効にする（あるいは削除する）必要がある。同様に、２つのフィルタ規則の間に包含関係が存在し、これら２つのフィルタ規則が互いに逆の処置を強制するように述べている場合がありうる。両フィルタ規則の両処置を強制することはできない。したがって、少なくとも１つのフィルタ規則を無効にする（あるいは削除する）必要がある。両フィルタ規則が互いの中に包含されている場合（同一のフィールドにつき同一の範囲を有する場合）には、両フィルタ規則を無効に（あるいは削除）してもよい。しかし、第１のフィルタ規則が第２のフィルタ規則に包含されており、かつ、優先順位が低い場合には、第１のフィルタ規則だけを無効にする（あるいは削除する）必要がある。同様に、ステップ１４２で循環関係が発見された場合、循環関係を生じさせているフィルタ規則のうちの１つを無効にする（あるいは削除する）必要がある。この結果、優先順位はもはや循環的ではなくなるので、適切なフィルタ規則を決めることができる。以上のように、論理誤りの発見に自動的に応答して誤りのあるフィルタ規則を自動的に無効にする（あるいは削除する）のが望ましい。しかし、別の実施形態では、ステップ１４４で別の処置をとりうる。例えば、ユーザは、論理誤りを無視する、あるフィルタ規則を削除する、あるいは、あるフィルタ規則を無効にする、のうちのいずれかを選択することができる。しかし、このような実施形態でも、フィルタ規則の優先順位をシステムが適切に決めることができる、ということを保証するために、循環的論理誤りの場合に論理誤りを無視するという選択肢は、提示すべきではない。
【００３０】
以上のように、プロセス１１８を使って論理検査を行なうことにより、様々な誤りを解決することができる。例えばフィルタ規則に関係する情報を入力するときになされる何気ない間違い（うっかりミス）を特定して訂正することができる。さらに、論理誤りを生じさせるフィルタ規則を無効にすることにより、使用するフィルタ規則を簡明にすることができる。これにより、例えば図１に示す交換機１８、２６の基礎を成すシステムが、論理検査を実行する必要がなくなる。再び図６を参照する。プロセス１１８によって、循環関係などの論理誤りに起因して予期せずにパケットが処理されるのを防ぐこともできる。また、論理誤りのあるフィルタ規則は適合するかどうか検査しないので、パケットの処理もより効率的になる。さらに、プロセス１１８では、ステップ１４０、１４２でそれぞれ包含関係と循環関係がないかどうか調べているけれども、別の実施形態では、ステップ１４０またはステップ１４２を取り除くことができる。さらに、処置をとるステップ１４４を取り除く、あるいは、例えば発見された論理誤りに関係する情報をユーザに提供するステップに変更することもできる。
【００３１】
図７は、図式表示を更新するステップ１２０を実行するプロセスの一実施形態を示す図である。ステップ１５０を通じて、交差部を示すために、交差するフィルタ規則相互間に線を描く。この線は、交差しているフィルタ規則のうち優先順位の高いものから優先順位の低いものに向かって描くのが望ましい。したがって、ステップ１５０によって優先順位も示す。ステップ１５２を通じて、図式表示の中のフィルタ規則は、その優先順位を示す位置に配置する。フィルタ規則の高さが当該フィルタ規則の優先順位を示しているのが望ましい。したがって、最も優先順位の高いフィルタ規則は、ステップ１５２で表示画面の上端に配置するのが望ましい。また、ステップ１５２で、優先順位が同一のフィルタ規則は、同一の高さに配置するのが望ましい。次いで、ステップ１５４を通じて、ユーザの選考に基づいてフィルタ規則を含めたり排除したりする。例えば、ユーザが無効なフィルタ規則をすべて見たくない場合、これは、ステップ１５４で図式表示から無効なフィルタ規則を除去することにより行なうことができる。フィルタ規則の図式表示は、以上のようにして提供する。
【００３２】
図８は、図式表示の中に表示したフィルタ規則に関係する追加の情報にユーザがアクセスするのを許すステップ１２２を実行するプロセスの一実施形態を示す図である。好適な実施形態では、各フィルタ規則は、図式表示の中にアイコンで表示する。したがって、ステップ１６０を通じて、ユーザは、あるフィルタ規則に関する追加の情報が必要な場合、当該フィルタ規則のアイコンを選択する。これは、ユーザが所望のアイコンをマウスでダブルクリックすることにより行なうのが望ましい。ステップ１６２を通じて、追加の情報が閲覧用に入手可能であるか否かを判断する。追加の情報が入手可能である場合、ステップ１６４を通じて、ユーザにそれを表示することができる。入手可能な追加情報には、フィルタ規則が適合するキーの範囲など普通に入手可能な情報や、フィルタ規則が強制する処置を含めることができる。さらに、実施形態によっては、他の情報を入手可能にしているものもある。例えば、ハードウェアが実現しているフィルタ規則の実際の構造が既知の場合、そのような情報をステップ１６４でユーザに提供することができる。同様に、プロセス１２０を実現しているコンピュータ・システムがフィルタ規則のヒット回数に関する情報を取得できる場合、ステップ１６４で当該ヒット回数を提示することができる。ヒット回数とは、あるパケットのキーが特定の期間に特定のフィルタ規則に適合した回数のことである。また、フィルタ規則に関係する他の情報やフィルタ規則の性能を提示することもできる。ステップ１６４で表示する追加の情報は、フィルタ規則のアイコンの上に表示することができるし、あるいは、図式表示に重ね表示することもできる。
【００３３】
以上のように、プロセス１００、１１０は、ユーザにフィルタ規則を図式的に表示する。図式表示によって、ユーザは、フィルタ規則の属性とフィルタ規則相互間の関係とを素早く識別することが可能になる。例えば、ユーザは、フィルタ規則の優先順位、フィルタ規則相互間の交差部、および優先するフィルタ規則を容易に識別することができる。さらに、ユーザは、フィルタ規則に関する追加の情報を入手することができる。これが入手可能であるか否かは、プロセス１００、１１０を実現しているハードウェアによって決まる。ユーザは、図式表示によって、フィルタ規則の属性、フィルタ規則自体、および表示自体を変更することができる。以上のように、フィルタ規則に対するユーザの制御と理解を改善することができる。
【００３４】
図９は、本発明によるシステム２００の一実施形態を示す図である。システム２００は、コンピュータ・システムに実装（ｉｍｐｌｅｍｅｎｔ）されている。システム２００は、ユーザ・インタフェース２０２、表示装置２０４、グラフィックス装置２０６、およびフィルタ規則アプリケーション２０８を備えている。ユーザ・インタフェース２０２は、キーボードとマウスを備えている。ユーザ・インタフェース２０２によって、ユーザは、システム２００に新たなフィルタ規則を導入することができる。表示装置２０４によって、ユーザに情報を表示することができる。グラフィックス装置２０６によって、フィルタ規則を図式表示することができる。したがって、グラフィックス装置２０６は、プロセス１００、１１０の一部を実装しているのが望ましい。グラフィックス装置２０６は、表示装置２０４に表示するデータを表示装置２０４に供給している。しかし、グラフィックス装置２０６は、フィルタ規則アプリケーション２０８を使って、プロセス１００、１１０の操作をいくつか実行するのが望ましい。フィルタ規則アプリケーション２０８は、構文検査、論理検査、フィルタ規則の優先順位付けなどフィルタ規則に関する操作を実行をして、グラフィックス装置２０６が使用する情報をフィルタ規則とその関係を図式表示することで提供している。
【００３５】
図１０は、本発明による図式表示３００の一実施形態を示す図である。図式表示３００は、フィルタ規則Ｒ０、Ｒ７、Ｒ８、Ｒ９、Ｒ１２、Ｒ２０、Ｒ４、Ｒ５、Ｒ１７、Ｒ２１に対して生成されている。図式表示３００は、プロセス１００、１１０を使って生成することができる。フィルタ規則は、アイコンＲ０（３０２）、Ｒ７（３０４）、Ｒ８（３０６）、Ｒ９（３１０）、Ｒ１２（３１２）、Ｒ２０（３１４）、Ｒ４（３０８）、Ｒ５（３１６）、Ｒ１７（３１８）、Ｒ２１（３２０）によって表されている。アイコンＲ０（３０２）、Ｒ７（３０４）、Ｒ８（３０６）、Ｒ９（３１０）、Ｒ１２（３１２）、Ｒ２０（３１４）、Ｒ４（３０８）、Ｒ５（３１６）、Ｒ１７（３１８）、Ｒ２１（３２０）は円として示してあるけれども、別の形のアイコンを使ってもかまわない、という点に留意されたい。アイコンＲ０（３０２）、Ｒ７（３０４）、Ｒ８（３０６）、Ｒ９（３１０）、Ｒ１２（３１２）、Ｒ２０（３１４）、Ｒ４（３０８）、Ｒ５（３１６）、Ｒ１７（３１８）、Ｒ２１（３２０）は、その優先順位に基づいて垂直方向に配置してある。各優先順位の高さは、同一である。したがって、フィルタ規則Ｒ０、Ｒ７、Ｒ８、Ｒ４は優先順位が同一で最も高いので、アイコンＲ０（３０２）、Ｒ７（３０４）、Ｒ８（３０６）、Ｒ４（３０８）は、同一で最も高い位置を占めている。フィルタ規則Ｒ９とＲ５は優先順位が同一で２番目に高いので、アイコンＲ９（３１０）とＲ５（３１６）は、同一で２番目に高い位置を占めている。Ｒ１２とＲ１７は優先順位が同一で３番目に高いので、アイコンＲ１２（３１２）とＲ１７（３１８）は、同一で３番目に高い位置を占めている。Ｒ２０とＲ２１は優先順位が同一で最も低いので、アイコンＲ２０（３１４）とＲ２１（３２０）は、同一で最も低い位置を占めている。以上のように、各アイコンの高さは、対応する優先順位によって決まっている。
【００３６】
一実施形態では、各フィルタ規則のアイコンの高さは、当該フィルタ規則の優先順位数で決まる。好適な実施形態では，この優先順位数は、次のようにして決める。フィルタ規則Ｒに対して集合Ｘを考える。集合Ｘは、フィルタ規則Ｒに至る各経路ごとにＲに優先するフィルタ規則の個数を含んでいる。例えば、フィルタ規則Ｒ２１に対する集合は、次のようにして求める。まず、アイコンＲ４（３０８）とＲ５（３１６）を通ってＲ２１（３２０）に至る経路に関し、Ｒ２１に優先するフィルタ規則はＲ４とＲ５の２個である。アイコンＲ４（３０８）、Ｒ５（３１６）、Ｒ１７（３１８）を通ってＲ２１（３２０）に至る経路に関し、Ｒ２１に優先するフィルタ規則はＲ４、Ｒ５、Ｒ１７の３個である。アイコンＲ４（３０８）とＲ１７（３１８）を通ってＲ２１（３２０）に至る経路に関し、Ｒ２１に優先するフィルタ規則はＲ４とＲ１７の２個である。したがって、フィルタ規則Ｒ２１に対する集合は｛２，３，２｝である。フィルタ規則Ｒの優先順位数は、（１＋〔集合Ｘ中の最大数〕）で与えられる。例えば、フィルタ規則Ｒ２１の優先順位数は、（１＋３）＝４である。この優先順位数は、図式表示３００の中のフィルタ規則の高さを決める他に、図５に示したプロセス１２５で使うことができる。
【００３７】
フィルタ規則相互間の交差部は、切片３２２、３２４、３２６、３２８、３３０、３３２、３３４、３３６、３３８、３４０、３４２、３４４、３４６、３４８、３５０で表されている。切片３２２、３２４、３２６、３２８、３３０、３３２、３３４、３３６、３３８、３４０、３４２、３４４、３４６、３４８、３５０は、交差しているフィルタ規則のうち優先順位の低いフィルタ規則を指し示している。例えば、交差しているフィルタ規則Ｒ０（３０２）とＲ９（３１０）との間の切片３２２は、優先順位の低いフィルタ規則Ｒ９（３１０）を指し示している。図式表示３００から、ユーザは、アイコンＲ０（３０２）、Ｒ７（３０４）、Ｒ８（３０６）、Ｒ４（３０８）を有するフィルタ規則は優先順位が最も高く、一方、アイコンＲ２０（３１４）、Ｒ２１（３２０）を有するフィルタ規則は優先順位が最も低い、ということが容易に分かる。同様に、２つのフィルタ規則の位置と当該２つのフィルタ規則のアイコンを結ぶ切片の方向とに基づいて、当該２つのフィルタ規則のうちどちらが優先するかを判断することができる。例えば、フィルタ規則Ｒ０（３０２）は、フィルタ規則Ｒ９（３１０）、Ｒ１２（３１２）、Ｒ２０（３１４）に優先する。優先順位の高い別のフィルタ規則によって優先されているフィルタ規則は、当該優先順位の高いフィルタ規則の部分集合であろうから、不必要であろう。このように、ユーザは、図式表示３００を見ることにより、どのフィルタ規則が優先し、どのフィルタ規則が不必要であるのかを容易に判断することができる。図式表示３００から、フィルタ規則Ｒ２０よりも優先順位が高いフィルタ規則はすべてフィルタ規則Ｒ２０と交差しているので、フィルタ規則Ｒ２０は他のフィルタ規則によって常に優先されている、と判断することができる。したがって、フィルタ規則Ｒ２０は不必要であろう。このように、ユーザはフィルタ規則集合から除去しうるフィルタ規則を容易に特定することができるので、フィルタ規則集合をより効率的にすることができる。しかし、フィルタ規則を除去するためには、フィルタ規則集合を変更する必要がある。また、図式表示３００から、フィルタ規則Ｒ４（３０８）、Ｒ５（３１６）、Ｒ１７（３１８）、Ｒ２１（３２０）はフィルタ規則Ｒ０（３０２）、Ｒ７（３０４）、Ｒ８（３０６）、Ｒ９（３１０）、Ｒ１２（３１２）、Ｒ２０（３１４）と無関係である、ということも容易に分かる。これは、これら２つのフィルタ規則のグループの間に切片が全く存在しないからである。以上ように、フィルタ規則の優先順位、フィルタ規則相互間の関係、およびフィルタ規則のグループを判断することができる。
【００３８】
図１０に示す図式表示３００がフィルタ規則群（例えばすべてのフィルタ規則）のある部分を表示しているものと仮定する。すると、別の図式表示は、上記フィルタ規則群の別の部分を示すだろう。例えば、無効であるフィルタ規則（例えばＲ１２〔３１２〕、Ｒ２０〔３１４〕、Ｒ２１〔３２０〕）は、除去されるだろう。すると、これら除去されるであろうフィルタ規則のアイコン（例えばＲ１２、Ｒ２０、Ｒ２１）も除去されるだろう。例えば、フィルタ規則Ｒ１２、Ｒ２０、Ｒ２１が無効であると、図式表示は、図１１に示す図式表示３００’になる。したがって、図式表示３００’の大部分は、図１０に示す図式表示３００に対応している。図１１では、無効なフィルタ規則Ｒ１２（３１２）、Ｒ２０（３１４）、Ｒ２１（３２０）のアイコンはもはや図示されておらず、これら無効なフィルタ規則と残りのフィルタ規則とを結ぶ切片も図示されていない。その代わりに、フィルタ規則Ｒ０（３０２’）、Ｒ７（３０４’）、Ｒ８（３０６’）、Ｒ９（３１０’）、Ｒ４（３０８’）、Ｒ５（３１６’）、Ｒ１７（３１８’）と切片３２２’、３４２’、３４６’、３４８’が残されている。
【００３９】
別の実施形態では、無効なフィルタ規則（すなわち除去されるであろうフィルタ規則）を見ることができる。しかし、フィルタ規則が無効である（すなわち冗長である）という事実は、別の形で示すことになる。例えば、図１２は、無効なフィルタ規則のアイコンを破線化したアイコンで示した図式表示３００”を示している。したがって、図１２の構成要素の大多数は、図１０に示した図式表示３００中の構成要素と対応している。図１２では、無効なフィルタ規則Ｒ１２、Ｒ２０、Ｒ２１のアイコンＲ１２（３１２”）、Ｒ２０（３１４”）、Ｒ２１（３２０”）は端が破線化されている。さらに、切片３２４”、３２６”、３３０”、３３８”、切片３４０”、３２８”、３３４”、３３６”、切片３４４”、３４８”は、破線化されており、無効なフィルタ規則に対する交差部を示している。別の実施形態では、無効なフィルタ規則Ｒ１２、Ｒ２０、Ｒ２１のアイコンＲ１２（３１２”）、Ｒ２０（３１４”）、Ｒ２１（３２０”）は、例えば陰を付けるなどして印が付けられている。以上のように、無効なフィルタ規則Ｒ１２（３１２”）、Ｒ２０（３１４”）、Ｒ２１（３２０”）は、その旨を表示することができる。
【００４０】
図１０、図１１、図１２を参照すると、ユーザは、図式表示３００、３００’、３００”を変更することもできる。例えば、ユーザは、図式表示３００、３００’、３００”の一部を拡大することができる。さらに、ユーザは、図式表示３００、３００’、３００”を通して、フィルタ規則の属性を変更することができる。例えば、ユーザは、アイコン３０２、３０２’、３０２”を選択することにより、フィルタ規則Ｒ０に関する詳細な情報にアクセスすることができる。フィルタ規則Ｒ０に関する詳細な情報は、図式表示３００、３００’、３００”に重ね合わせる（あるいは置き換える）ことができる。ユーザは、あるフィルタ規則に対応するアイコンを移動させることにより、当該フィルタ規則の属性を変更することもできる。例えば、フィルタ規則Ｒ０の優先順位を低くするには、アイコンＲ０（３０２、３０２’、３０２”）を低い位置、例えばアイコンＲ９（３１０、３１０’、３１０”）の下に移動させればよい。また、あるフィルタ規則のアイコンを除去することにより、当該フィルタ規則を削除することができる。以上のように、ユーザは、図式表示を通して、フィルタ規則に関する情報を取得したり、フィルタ規則の属性を操作したりすることができる。
【００４１】
以上のように、図式表示３００、３００’、３００”は、フィルタ規則の優先順位とフィルタ規則相互間の交差部とに基づいて、フィルタ規則をユーザに図式表示している。この図式表示によって、ユーザは、フィルタ規則の属性とフィルタ規則相互間の関係とを素早く識別することが可能になる。例えば、ユーザは、フィルタ規則の優先順位、フィルタ規則相互間の交差部、および優勢なフィルタ規則を容易に識別することが可能になる。さらに、ユーザは、フィルタ規則に関する追加の情報を取得することが可能になる。これが可能になるか否かは、プロセスが実装さているハードウェアによって決まる。また、ユーザは、図式表示を通して、フィルタ規則の属性を変更し、フィルタ規則を変更し、あるいは、表示を変更することが可能になる。以上のように、フィルタ規則に対するユーザの制御性と理解とが改善する。
【００４２】
以上、フィルタ規則とその関係を図式的に表示する方法とシステムを開示した。本発明による方法とシステムを使うと、ユーザは、フィルタ規則とその関係をより良く理解することができるようになると共に、要すれば、それらを変更することができるようになる。本発明に従って記述したソフトウェアは、メモリやＣＤ−ＲＯＭなどのある形態のコンピュータ読み取り可能な媒体に格納することができ、あるいは、ネットワーク上を伝送させるたとができ、さらに、プロセッサによって実行することができる。したがって、コンピュータ読み取り可能な媒体には、例えばネットワーク上を伝送しうるコンピュータ読み取り可能な信号が含まれる。図示した実施形態に従って本発明を説明したけれども、当業者は、上記実施形態に変形が存在し、その変形は本発明の本旨と範囲のうちのものである、ということを容易に理解することができる。したがって、当業者は、特許請求の範囲の本旨と範囲のうちで、多くの変更をなしうる。
【００４３】
まとめとして以下の事項を開示する。
（１）表示装置を備えたコンピュータ・システムに、複数のフィルタ規則相互間の関係を図式的に表示する方法であって、前記複数のフィルタ規則の各々は優先順位を有し、
（ａ）前記複数のフィルタ規則の中から少なくとも１つのフィルタ規則を導入するのを許すステップと、
（ｂ）前記複数のフィルタ規則の第１の部分の図式表示を前記表示装置に提示するステップであって、
前記複数のフィルタ規則の前記第１の部分の各々は、前記複数のフィルタ規則の前記第１の部分の各々の優先順位に基づいて、前記図式表示に階層状に配置し、
前記複数のフィルタ規則の前記第１の部分が複数の交差するフィルタ規則を含んでいる場合、少なくとも１つの優先順位の高いフィルタ規則と少なくとも１つの優先順位の低いフィルタ規則との少なくとも１つの交差部を示すように、かつ、前記少なくとも１つの優先順位の高いフィルタ規則が前記少なくとも１つの優先順位の低いフィルタ規則に優先するのを示すように、前記複数の交差するフィルタ規則を図式表示の中に表示するステップと
を備えた方法。
（２）図式表示を提示するステップ（ｂ）が、さらに、
（ｂ１）前記複数のフィルタ規則の前記第１の部分が複数の交差するフィルタ規則を含んでいる場合、少なくとも１つの交差部を示す少なくとも１つの切片を表示するステップであって、
前記少なくとも１つの切片は、前記少なくとも１つの優先順位の高いフィルタ規則から前記少なくとも１つの優先順位の低いフィルタ規則に向かっているステップ
を備えている、
上記（１）に記載の方法。
（３）図式表示を提示するステップ（ｂ）が、さらに、
（ｂ１）前記複数のフィルタ規則の前記第１の部分の各々をアイコンとして表示するステップ
を備えている、
上記（１）に記載の方法。
（４）さらに、
（ｃ）ユーザが、前記複数のフィルタ規則の前記第１の部分に関係する情報に前記図式表示を使ってアクセスするのを許すステップ
を備えた、
上記（１）に記載の方法。
（５）さらに、
（ｃ）ユーザが、前記複数のフィルタ規則の前記第１の部分に関係する情報に前記図式表示で前記複数のアイコンを使ってアクセスするのを許すステップ
を備えた、
上記（１）に記載の方法。
（６）前記追加の情報が、さらに、
前記複数のフィルタ規則の前記第１の部分の各々に対するヒット回数を含んでいる、
上記（５）に記載の方法。
（７）前記追加の情報が、さらに、
前記複数のフィルタ規則の前記第１の部分の各々の実装構造に関する情報を含んでいる、
上記（５）に記載の方法。
（８）さらに、
（ｃ）前記少なくとも１つのフィルタ規則の論理を検査するステップ
を備えた、
上記（１）に記載の方法。
（９）さらに、
（ｃ）前記少なくとも１つのフィルタ規則の構文を検査するステップ
を備えた、
上記（１）に記載の方法。
（１０）図式表示を提示するステップ（ｂ）が、さらに、
（ｂ１）前記少なくとも１つのフィルタ規則を含めるように、以前の図式表示を更新するステップ
を備えている、
上記（１）に記載の方法。
（１１）前記複数のフィルタ規則の前記第１の部分が、さらに、複数の有効なフィルタ規則だけを含んでいる、
上記（１）に記載の方法。
（１２）前記複数のフィルタ規則の前記第１の部分が、さらに、複数の無効なフィルタ規則だけを含んでいる、
上記（１）に記載の方法。
（１３）前記複数のフィルタ規則の前記第１の部分は、複数の有効なフィルタ規則と複数の無効なフィルタ規則を含むことができる、
上記（１）に記載の方法。
（１４）さらに、
（ｃ）ユーザが、前記複数のフィルタ規則の前記第１の部分の１つのフィルタ規則の優先順位を、当該フィルタ規則の表示をドラッグ・アンド・ドロップすることにより変更するのを許すステップ
を備えた、
上記（１）に記載の方法。
（１５）さらに、
（ｃ）前記複数のフィルタ規則の第３の部分に対して前記少なくとも１つのフィルタ規則を検査して、前記少なくとも１つのフィルタ規則が前記複数のフィルタ規則の前記第３の部分の任意のフィルタ規則と交差しているか否かを判断するステップ
を備えた、
上記（１）に記載の方法。
（１６）表示装置を備えたコンピュータ・システムに、複数のフィルタ規則相互間の関係を図式的に表示するプログラムを記録したコンピュータ読み取り可能な媒体であって、前記複数のフィルタ規則の各々は優先順位を有し、
（ａ）前記複数のフィルタ規則の中から少なくとも１つのフィルタ規則を導入するのを許す命令と、
（ｂ）前記複数のフィルタ規則の第１の部分の図式表示を前記表示装置に提示する命令であって、
前記複数のフィルタ規則の前記第１の部分の各々は、前記複数のフィルタ規則の前記第１の部分の各々の優先順位に基づいて、前記図式表示に階層状に配置し、
前記複数のフィルタ規則の前記第１の部分が複数の交差するフィルタ規則を含んでいる場合、少なくとも１つの優先順位の高いフィルタ規則と少なくとも１つの優先順位の低いフィルタ規則との少なくとも１つの交差部を示すように、かつ、前記少なくとも１つの優先順位の高いフィルタ規則が前記少なくとも１つの優先順位の低いフィルタ規則に優先するのを示すように、前記複数の交差するフィルタ規則を図式表示の中に表示する命令と
を備えたプログラムを記録したコンピュータ読み取り可能な媒体。
（１７）図式表示を提示する命令（ｂ）が、さらに、
（ｂ１）前記複数のフィルタ規則の前記第１の部分が複数の交差しているフィルタ規則を含んでいる場合、少なくとも１つの交差部を示す少なくとも１つの切片を表示する命令であって、
前記少なくとも１つの切片は、前記少なくとも１つの優先順位の高いフィルタ規則から前記少なくとも１つの優先順位の低いフィルタ規則に向かっている命令を備えている、
上記（１６）に記載のコンピュータ読み取り可能な媒体。
（１８）表示装置を備えたコンピュータ・システムに、複数のフィルタ規則相互間の関係を図式的に表示するシステムであって、前記複数のフィルタ規則の各々は優先順位を有し、
表示装置と、
ユーザが前記複数のフィルタ規則の中から少なくとも１つのフィルタ規則を導入するのを許すインタフェースと、
前記複数のフィルタ規則の第１の部分の図式表示を前記表示装置に提示するグラフィックス装置であって、
前記複数のフィルタ規則の前記第１の部分の各々は、前記複数のフィルタ規則の前記第１の部分の各々の優先順位に基づいて、前記図式表示に階層状に配置し、
前記複数のフィルタ規則の前記第１の部分が複数の交差するフィルタ規則を含んでいる場合、少なくとも１つの優先順位の高いフィルタ規則と少なくとも１つの優先順位の低いフィルタ規則との少なくとも１つの交差部を示すように、かつ、前記少なくとも１つの優先順位の高いフィルタ規則が前記少なくとも１つの優先順位の低いフィルタ規則に優先するのを示すように、前記複数の交差するフィルタ規則を図式表示の中に表示するグラフィックス装置と
を備えたシステム。
（１９）前記グラフィックス装置が、さらに、
前記複数のフィルタ規則の前記第１の部分が複数の交差するフィルタ規則を含んでいる場合、少なくとも１つの交差部を示す少なくとも１つの切片を表示し、前記少なくとも１つの切片は、前記少なくとも１つの優先順位の高いフィルタ規則から前記少なくとも１つの優先順位の低いフィルタ規則に向かっている、
上記（１８）に記載のシステム。
（２０）前記グラフィックス装置が、さらに、
前記複数のフィルタ規則の前記第１の部分の各々をアイコンとして表示する、上記（１８）に記載のシステム。
（２１）前記グラフィックス装置が、さらに、
ユーザが、前記複数のフィルタ規則の前記第１の部分に関係する情報に前記図式表示を使ってアクセスするのを許す、
上記（１８）に記載のシステム。
（２２）前記グラフィックス装置が、さらに、
ユーザが、前記複数のフィルタ規則の前記第１の部分に関係する情報に前記図式表示で前記複数のアイコンを使ってアクセスするのを許す、
上記（２１）に記載のシステム。
（２３）前記追加の情報が、さらに、
前記複数のフィルタ規則の前記第１の部分の各々に対するヒット回数を含んでいる、
上記（２２）に記載のシステム。
（２４）前記追加の情報が、さらに、
前記複数のフィルタ規則の前記第１の部分の各々の実装構造に関する情報を含んでいる、
上記（２２）に記載のシステム。
（２５）さらに、
前記少なくとも１つのフィルタ規則の論理を検査するフィルタ規則アプリケーション
を備えた、
上記（１８）に記載のシステム。
（２６）さらに、
前記少なくとも１つのフィルタ規則の構文を検査するフィルタ規則アプリケーション
を備えた、
上記（１８）に記載のシステム。
（２７）前記グラフィックス装置が、さらに、
前記少なくとも１つのフィルタ規則を含めるように、以前の図式表示を更新する、
上記（１８）に記載のシステム。
（２８）前記複数のフィルタ規則の前記第１の部分が、さらに、複数の無効なフィルタ規則だけを含んでいる、
上記（１８）に記載のシステム。
（２９）前記複数のフィルタ規則の前記第１の部分は、複数の有効なフィルタ規則と複数の無効なフィルタ規則を含むことができる、
上記（１８）に記載のシステム。
（３０）さらに、
ユーザが、前記複数のフィルタ規則の前記第１の部分の１つのフィルタ規則の優先順位を、当該フィルタ規則の表示をドラッグ・アンド・ドロップすることにより変更するのを許す手段
を備えた、
上記（１８）に記載のシステム。
（３１）前記グラフィックス装置が、さらに、
前記複数のフィルタ規則の第３の部分に対して前記少なくとも１つのフィルタ規則を検査して、前記少なくとも１つのフィルタ規則が前記複数のフィルタ規則の前記第３の部分の任意のフィルタ規則と交差しているか否かを判断する、
上記（１８）に記載のシステム。
【図面の簡単な説明】
【図１】本発明を利用することのできるシステムのブロック図である。
【図２】本発明によりフィルタ規則を図式的に表示する方法の一実施形態の高レベルのフローチャートを示す図である。
【図３】本発明によりフィルタ規則を図式的に表示する方法の一実施形態のより詳細なフローチャートを示す図である。
【図４】本発明によりフィルタ規則の交差部と優先順位を決める方法の一実施形態のフローチャートを示す図である。
【図５】本発明によりフィルタ規則の優先順位を決める方法の一実施形態のフローチャートを示す図である。
【図６】本発明により論理検査を実行する方法の一実施形態の高レベルのフローチャートを示す図である。
【図７】本発明により図式表示を更新する方法の一実施形態の高レベルのフローチャートを示す図である。
【図８】本発明によりユーザがフィルタ規則に関する詳細な情報にアクセスするのを許す方法の一実施形態のフローチャートを示す図である。
【図９】本発明によるシステムの高レベルのブロック図である。
【図１０】本発明により図式的に表示したフィルタ規則の一実施形態を示す図である。
【図１１】本発明により図式的に表示したフィルタ規則の第２の実施形態を示す図である。
【図１２】本発明により図式的に表示したフィルタ規則の第３の実施形態を示す図である。
【符号の説明】
１０…ネットワーク、１１…制御ポイント、１２…ホスト、１３…ゲートウェイ、１４…ホスト、１６…ホスト、１７…サーバ、１８…交換機、１９…サーバ、２０…ネットワーク、２２…ホスト、２４…ホスト、２５…ゲートウェイ、２６…交換機、２８…サーバ、２９…制御ポイント、３０…インターネット、２００…システム、２０２…ユーザ・インタフェース、２０４…表示装置、２０６…グラフィックス装置、２０８…フィルタ規則アプリケーション。
【図１】
0003606571.tif 000002
【図２】
0003606571.tif 000003
【図３】
0003606571.tif 000004
【図４】
0003606571.tif 000005
【図５】
0003606571.tif 000006
【図６】
0003606571.tif 000007
【図７】
0003606571.tif 000008
【図８】
0003606571.tif 000009
【図９】
0003606571.tif 000010
【図１０】
0003606571.tif 000011
【図１１】
0003606571.tif 000012
【図１２】
0003606571.tif 000013