(57)【特許請求の範囲】
【請求項１】
属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示する多次元ルール可視化システムであって、
ルールの集合を入力する入力手段と、
前記入力手段によって入力されたルールの集合を記憶するルール記憶手段と、
ルールの適用条件として記載された属性の値の範囲である条件範囲に基づき、各属性について、ルール間の条件範囲の重なり度合いを示す重複度または当該属性の全範囲に対してすべてのルールの条件範囲が占める度合いを示す被覆度を計算し、計算した重複度または被覆度をもとに各属性の重要度を算出して重要な属性を選択する重要度計算手段と、
前記重要度計算手段によって選択された属性を軸にして、すべてのルールまたは指示されたルールの条件範囲を２次元平面上または３次元平面上に表現した可視化データを出力する出力手段と
を備えることを特徴とする多次元ルール可視化システム。
【請求項２】
可視化データを出力する際に、当該可視化データの各属性軸において各ルールの条件範囲の開始点と終了点が作る最小の領域のうちの、閾値以下の大きさの領域である微小領域を拡張し、可視化データを修正する強調表示手段を備える
請求項１記載の多次元ルール可視化システム。
【請求項３】
前記重要度計算手段は、
計算した重複度の平均値を当該属性の重要度として、重要度の高い属性を選択する
請求項１または請求項２記載の多次元ルール可視化システム。
【請求項４】
前記重要度計算手段は、
各ルールの属性の条件範囲の広さと、ルールの組み合わせ毎の属性の条件範囲が重なる広さとに基づいて、重複度を計算する
請求項３記載の多次元ルール可視化システム。
【請求項５】
前記重要度計算手段は、
計算した被覆度を当該属性の重要度として、重要度の高い属性を選択する
請求項１または請求項２記載の多次元ルール可視化システム。
【請求項６】
前記重要度計算手段は、
各ルールの属性の条件範囲の広さに基づいて被覆度を計算する
請求項５記載の多次元ルール可視化システム。
【請求項７】
前記重要度計算手段は、
重複度または被覆度に基づいて最も重要な属性を選択する最重要軸選択手段と、
前記最重要軸選択手段が選択した属性以外の属性を選択する軸選択手段とを備えた
請求項３から請求項６のうちのいずれか１項に記載の多次元ルール可視化システム。
【請求項８】
前記軸選択手段は、
利用者からの要求に応じて属性を選択する
請求項７記載の多次元ルール可視化システム。
【請求項９】
属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示する多次元ルール可視化方法であって、
入力手段は、ルールの集合を入力し、
ルール記憶手段は、前記入力手段によって入力されたルールの集合を記憶し、
重要度計算手段は、ルールの適用条件として記載された属性の値の範囲である条件範囲に基づき、各属性について、ルール間の条件範囲の重なり度合いを示す重複度または当該属性の全範囲に対してすべてのルールの条件範囲が占める度合いを示す被覆度を計算し、計算した重複度または被覆度をもとに各属性の重要度を算出して重要な属性を選択し、
出力手段は、前記重要度計算手段によって選択された属性を軸にして、すべてのルールまたは指示されたルールの条件範囲を２次元平面上または３次元平面上に表現した可視化データを出力する
ことを特徴とする多次元ルール可視化方法。
【請求項１０】
属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示するコンピュータに搭載される多次元ルール可視化プログラムであって、
前記コンピュータに、
ルールの集合を入力する処理と、
入力されたルールの集合を記憶する処理と、
ルールの適用条件として記載された属性の値の範囲である条件範囲に基づき、各属性について、ルール間の条件範囲の重なり度合いを示す重複度または当該属性の全範囲に対してすべてのルールの条件範囲が占める度合いを示す被覆度を計算し、計算した重複度または被覆度をもとに各属性の重要度を算出して重要な属性を選択する処理と、
選択された属性を軸にして、すべてのルールまたは指示されたルールの条件範囲を２次元平面上または３次元平面上に表現した可視化データを出力する処理と
を実行させるための多次元ルール可視化プログラム。
【請求項１１】
属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示するための可視化データを生成する可視化データ生成システムであって、
ルールの適用条件として記載された属性の値の範囲である条件範囲に基づき、各属性について、ルール間の条件範囲の重なり度合いを示す重複度または当該属性の全範囲に対してすべてのルールの条件範囲が占める度合いを示す被覆度を計算し、計算した重複度または被覆度をもとに各属性の重要度を算出して重要な属性を選択する重要度計算手段と、
前記重要度計算手段によって選択された属性を軸にすべてのルールまたは指示されたルールの条件範囲を２次元平面上または３次元平面上に表現した可視化データを出力する際に、当該可視化データの各属性軸において各ルールの条件範囲の開始点と終了点が作る最小の領域のうちの、閾値以下の大きさの領域である微小領域を拡張し、可視化データを修正する強調表示手段と
を備えることを特徴とする可視化データ生成システム。
【請求項１２】
属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示するための可視化データを生成する可視化データ生成方法であって、
重要度計算手段は、ルールの適用条件として記載された属性の値の範囲である条件範囲に基づき、各属性について、ルール間の条件範囲の重なり度合いを示す重複度または当該属性の全範囲に対してすべてのルールの条件範囲が占める度合いを示す被覆度を計算し、計算した重複度または被覆度をもとに各属性の重要度を算出して重要な属性を選択し、
強調表示手段は、選択された属性を軸にすべてのルールまたは指示されたルールの条件範囲を２次元平面上または３次元平面上に表現した可視化データを出力する際に、当該可視化データの各属性軸において各ルールの条件範囲の開始点と終了点が作る最小の領域のうちの、閾値以下の大きさの領域である微小領域を拡張し、可視化データを修正する
ことを特徴とする可視化データ生成方法。
【請求項１３】
属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示するための可視化データを生成するコンピュータに搭載される可視化データ生成プログラムであって、
前記コンピュータに、
ルールの適用条件として記載された属性の値の範囲である条件範囲に基づき、各属性について、ルール間の条件範囲の重なり度合いを示す重複度または当該属性の全範囲に対してすべてのルールの条件範囲が占める度合いを示す被覆度を計算し、計算した重複度または被覆度をもとに各属性の重要度を算出して重要な属性を選択する処理と、
選択された属性を軸にすべてのルールの条件範囲を２次元平面上または３次元平面上に表現した可視化データを出力する際に、可視化データを出力する際に、当該可視化データの各属性軸において各ルールの条件範囲の開始点と終了点が作る最小の領域のうちの、閾値以下の大きさの領域である微小領域を拡張し、可視化データを修正する処理と
を実行させるための可視化データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多次元ルールのルール間の関係を表示する多次元ルール可視化システム、多次元ルール可視化方法、多次元ルール可視化プログラム、可視化データ生成システム、可視化データ生成方法および可視化データ生成プログラムに関する。
【背景技術】
【０００２】
セキュリティの分野や意思決定支援の分野で用いられているルール表現は、一般に、複数の条件が記述される条件部と、条件部が満足された場合に実行すべき行為が記述される実行部とを含む。条件部に記載される各条件には、それぞれ異なる属性の範囲が記載される。なお、以下の説明では、条件として記載される属性を、明示的に条件属性と表記する場合がある。
【０００３】
ルールの例として、ネットワークセキュリティにおけるパケットフィルタリングや、意思決定支援における決定木等のルールがある。これらのルールは、それぞれの分野の問題解決に直接作用する重要な情報または知識の断片である。一般に、ルールは、人によって記述されたり、機械によって自動生成される。しかし、人によって記述される場合であっても機械によって自動生成される場合であっても、間違いが存在する可能性は高い。また、ある時点で間違いが存在しなくても、環境や利用形態が変化することによって、時間と共に修正が必要な状態になる可能性は高い。すなわち、ルールの修正作業は問題解決の質の維持には欠かせないものである。しかしながら、ルールは複雑な条件から構成されることが多く、条件属性が増えれば増える程、ルールの修正作業は難しくなる。
【０００４】
ルールの修正作業には、２つのフェーズがある。最初のフェーズは、ルールの現状把握であり、次のフェーズは、ルールの修正である。ここでは、より重要な１つ目のフェーズであるルールの現状把握に注目する。ルールの現状把握とは、条件部がどのような内容であるかを把握したり、条件部に記述される複数の条件間の関係や、複数のルール間の関係を把握することである。しかしながら、ルールの条件部には、条件属性に関する複数の条件が列挙され、多数のルールが記載されるため、ルールまたは複数のルールを見ただけでは容易にルールの現状把握を行うことができない。その理由は、属性１つにつき座標軸を１軸とすると、条件部は多次元空間上の多次元立方体として表現され、属性数が４種類以上になると４次元以上の多次元空間になり、複数の条件間の関係を把握することが困難になるためである。この多次元立方体として表現されるルールの現状把握を容易にする技術が望まれている。
【０００５】
複数の属性を持つルール等が表現された多次元立方体の現状把握を容易にするには、可視化することが最善である。しかしながら、４次元以上の多次元空間を、コンピュータのディスプレイや紙等の平面に出力することは困難である。
【０００６】
多次元データを３次元空間以下に縮退させる方法として知られている主成分分析等の多次元尺度法に関する技術が、例えば、特許文献１、特許文献２および特許文献３に記載されている。多次元尺度法は、多次元空間上に多数の点データを表示させるものである。
【０００７】
一方、多次元データベースの世界では、多次元データを表示するスライシングという技術が広く知られている。スライシングとは、多次元空間をある断面で切って２次元の表で表示することである。スライシングに関する技術が、特許文献４、特許文献５、特許文献６および特許文献７に記載されている。
【０００８】
【特許文献１】特開２００２−４１１９３号公報（段落００１３−００１９）
【特許文献２】特開２００３−４４８２８号公報（段落００３９−００７８）
【特許文献３】特開２００３−１４１１６５号公報（段落００７１−００７５）
【特許文献４】特開２０００−２９３２８１号公報（段落０００７−００１０）
【特許文献５】特開２００１−５９８４号公報（段落００２１−００２７）
【特許文献６】特開２００３−６２２７号公報（段落００２０−００２２）
【特許文献７】特開２００４−２５２７９７号公報（段落００１９−００２８）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、特許文献１，２および３に記載された方式では、多次元尺度法を用いて多次元空間を３次元空間以下に縮退した場合、座標軸が元の属性（次元軸）とは無関係になるため、縮退した空間上ではルールの条件部の属性や条件範囲が全く分からなくなる。そのため、問題解決の質に直結するルールの修正作業には適していない。
【００１０】
また、特許文献４から特許文献７に記載された多次元空間データの表示方法では、ユーザに２次元の軸を多次元の軸から選ばせて２次元空間にし、その上で多次元空間データを表示している。しかし、どのように２次元の軸を選ぶかに関しては考慮していない。特許文献７記載の従来技術は、一度専門家が行った２次元軸の選択をノウハウとして再利用することで軸を選択する作業工数が低減されている。しかしながら、該従来技術の再利用方法は、なぜその軸を選んだかが２回目以降のユーザには不明であり、本当に表示して欲しい２次元の軸が選択されているかどうかは偶然に期待するよりない。
【００１１】
以上に説明したように、ルール等が表現された多次元立方体の現状把握を行うためには、多次元尺度法を用いて次元を縮退させることは現実的ではなく、多次元から適切な次元を少数選ぶ必要がある。しかし、スライシングによって２次元にするにあたっては、どの２次元の軸を選ぶのかがそもそも難しい。すなわち、多次元立方体となるルールの現状把握を行うために、人が理解できる３次元以下の空間にルールを表示できるように適切な３個以下の軸を自動的に選べることが好ましい。
【００１２】
そこで、本発明は、問題解決のために使用されるルール集合の管理において、ルール集合の現状把握を可能とする多次元ルール可視化システム、多次元ルール可視化方法、多次元ルール可視化プログラム、可視化データ生成システム、可視化データ生成方法および可視化データ生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明による多次元ルール可視化システムは、属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示する多次元ルール可視化システムであって、ルールの集合を入力する入力手段と、入力手段によって入力されたルールの集合を記憶するルール記憶手段と、ルールの適用条件として記載された属性の値の範囲である条件範囲に基づき、各属性について、ルール間の条件範囲の重なり度合いを示す重複度または当該属性の全範囲に対してすべてのルールの条件範囲が占める度合いを示す被覆度を計算し、計算した重複度または被覆度をもとに各属性の重要度を算出して重要な属性を選択する重要度計算手段と、重要度計算手段によって選択された属性を軸にして、すべてのルールまたは指示されたルールの条件範囲を２次元平面上または３次元平面上に表現した可視化データを出力する出力手段とを備えることを特徴とする。
【００１４】
可視化データを出力する際に、当該可視化データの各属性軸において各ルールの条件範囲の開始点と終了点が作る最小の領域のうちの、閾値以下の大きさの領域である微小領域を拡張し、可視化データを修正する強調表示手段を備えてもよい。そのような構成によれば、狭い領域を拡張することができ、ルール間の関係の把握がより容易になる。
【００１５】
重要度計算手段は、計算した重複度の平均値を属性の重要度として、重要度の高い属性を選択してもよい。そのような構成によれば、重複度が大きい属性を重要な属性として選択し、重要な属性についてのルール間の関係を容易に把握することができる。
【００１６】
重要度計算手段は、各ルールの属性の条件範囲の広さと、ルールの組み合わせ毎の属性の条件範囲が重なる広さとに基づいて、重複度を計算してもよい。そのような構成によれば、属性の条件範囲の広さおよび重なりに基づいた重要度を算出することができる。
【００１７】
重要度計算手段は、計算した被覆度を属性の重要度として、重要度の高い属性を選択してもよい。そのような構成によれば、被覆度が大きい属性を重要な属性として選択し、重要な属性についてのルール間の関係を容易に把握することができる。
【００１８】
重要度計算手段は、各ルールの属性の条件範囲の広さに基づいて被覆度を計算してもよい。そのような構成によれば、属性の条件範囲の広さに基づいた重要度を算出することができる。
【００１９】
重要度計算手段は、重複度または被覆度に基づいて最も重要な属性を選択する最重要軸選択手段と、最重要軸選択手段が選択した属性以外の属性を選択する軸選択手段とを備えてもよい。そのような構成によれば、重複度または被覆度が大きい属性を最も重要な属性として選択し、最も重要な属性とその他の属性についてのルール間の関係を容易に把握することができる。
【００２０】
軸選択手段は、利用者からの要求に応じて属性を選択してもよい。そのような構成によれば、利用者の要求に応じた属性についてのルール間の関係を容易に把握することができる。
【００２１】
本発明による多次元ルール可視化方法は、属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示する多次元ルール可視化方法であって、入力手段は、ルールの集合を入力し、ルール記憶手段は、入力手段によって入力されたルールの集合を記憶し、重要度計算手段は、重要度計算手段は、ルールの適用条件として記載された属性の値の範囲である条件範囲に基づき、各属性について、ルール間の条件範囲の重なり度合いを示す重複度または当該属性の全範囲に対してすべてのルールの条件範囲が占める度合いを示す被覆度を計算し、計算した重複度または被覆度をもとに各属性の重要度を算出して重要な属性を選択し、出力手段は、重要度計算手段によって選択された属性を軸にして、すべてのルールまたは指示されたルールの条件範囲を２次元平面上または３次元平面上に表現した可視化データを出力することを特徴とする。
【００２２】
本発明による多次元ルール可視化プログラムは、属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示するコンピュータに搭載される多次元ルール可視化プログラムであって、コンピュータに、ルールの集合を入力する処理と、入力されたルールの集合を記憶する処理と、ルールの適用条件として記載された属性の値の範囲である条件範囲に基づき、各属性について、ルール間の条件範囲の重なり度合いを示す重複度または当該属性の全範囲に対してすべてのルールの条件範囲が占める度合いを示す被覆度を計算し、計算した重複度または被覆度をもとに各属性の重要度を算出して重要な属性を選択する処理と、選択された属性を軸にして、すべてのルールまたは指示されたルールの条件範囲を２次元平面上または３次元平面上に表現した可視化データを出力する処理とを実行させることを特徴とする。
【００２３】
本発明による可視化データ生成システムは、ルールの適用条件として記載された属性の値の範囲である条件範囲に基づき、各属性について、ルール間の条件範囲の重なり度合いを示す重複度または当該属性の全範囲に対してすべてのルールの条件範囲が占める度合いを示す被覆度を計算し、計算した重複度または被覆度をもとに各属性の重要度を算出して重要な属性を選択する重要度計算手段と、重要度計算手段によって選択された属性を軸にして、すべてのルールまたは指示されたルールの条件範囲を２次元平面上または３次元平面上に表現した可視化データを出力する際に、当該可視化データの各属性軸において各ルールの条件範囲の開始点と終了点が作る最小の領域のうちの、閾値以下の大きさの領域である微小領域を拡張し、可視化データを修正する強調表示手段とを備えることを特徴とする。
【００２４】
本発明による可視化データ生成方法は、属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示するための可視化データを生成する可視化データ生成方法であって、重要度計算手段は、ルールの適用条件として記載された属性の値の範囲である条件範囲に基づき、各属性について、ルール間の条件範囲の重なり度合いを示す重複度または当該属性の全範囲に対してすべてのルールの条件範囲が占める度合いを示す被覆度を計算し、計算した重複度または被覆度をもとに各属性の重要度を算出して重要な属性を選択し、強調表示手段は、重要度計算手段によって選択された属性を軸にして、すべてのルールまたは指示されたルールの条件範囲を２次元平面上または３次元平面上に表現した可視化データを出力する際に、当該可視化データの各属性軸において各ルールの条件範囲の開始点と終了点が作る最小の領域のうちの、閾値以下の大きさの領域である微小領域を拡張し、可視化データを修正することを特徴とする。
【００２５】
本発明による可視化データ生成プログラムは、属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示するための可視化データを生成するコンピュータに搭載される可視化データ生成プログラムであって、コンピュータに、ルールの適用条件として記載された属性の値の範囲である条件範囲に基づき、各属性について、ルール間の条件範囲の重なり度合いを示す重複度または当該属性の全範囲に対してすべてのルールの条件範囲が占める度合いを示す被覆度を計算し、計算した重複度または被覆度をもとに各属性の重要度を算出して重要な属性を選択する処理と、選択された属性を軸にして、すべてのルールまたは指示されたルールの条件範囲を２次元平面上または３次元平面上に表現した可視化データを出力する際に、当該可視化データの各属性軸において各ルールの条件範囲の開始点と終了点が作る最小の領域のうちの、閾値以下の大きさの領域である微小領域を拡張し、可視化データを修正する処理とを実行させることを特徴とする。
【００２６】
本発明による多次元ルール可視化システムの好ましい一態様は、例えば、複数の属性から重複度によって重要な属性を選ぶ重複度計算手段と２次元または３次元空間でルールを表現する出力手段とを備え、多次元空間で表現すべき複数のルールを２次元または３次元空間で表現するよう動作する。このような構成を採用し、ルールを可視化することにより本発明の目的を達成することができる。
【００２７】
本発明による多次元ルール可視化システムの好ましい一態様は、例えば、ルールを表示する際に微小領域を広げる強調表示手段と２次元または３次元空間でルールを表現する出力手段とを備え、属性の開始点や終了点やルールの開始点や終了点で発生する狭い領域を広げて表現するように動作する。このような構成を採用し、ルールを可視化することにより本発明の目的を達成することができる。
【００２８】
本発明による多次元ルール可視化システムの好ましい一態様は、例えば、複数の属性から被覆度によって重要な属性を選ぶ被覆度計算手段と２次元または３次元空間でルールを表現する出力手段を備え、多次元空間で表現すべき複数のルールを２次元または３次元空間で表現するよう動作する。このような構成を採用し、ルールを可視化することにより本発明の目的を達成することができる。
【００２９】
本発明による多次元ルール可視化システムの好ましい一態様は、例えば、複数の属性から最も重要な属性を選ぶ最重要軸選択手段と残りの属性から任意の属性を選択する手段を提供する軸選択手段と２次元または３次元空間でルールを表現する出力手段を備え、多次元空間で表現すべき複数のルールを２次元または３次元空間で表現するよう動作する。このような構成を採用し、ルールを可視化することにより本発明の目的を達成することができる。
【発明の効果】
【００３０】
本発明によれば、どれほど高次元な多次元立方体となるルールであっても、ルール集合の管理作業を行うユーザが現状把握を容易にできるという効果がある。その理由は、ルールの条件属性毎に重複度を計算し、重要な属性を自動的に選択し、ルールを表示できるためである。また、ルール間の重なりが微小になってしまう領域を修正して大きくすることで重なり関係が分かりやすくなるためである。また、ルールの条件属性毎に被覆度を計算し、重要な属性を自動的に選択し、ルールを表示できるためである。また、最も重要な属性を自動的に選択し、残りの属性をユーザが自由に選ぶことができるためである。
【発明を実施するための最良の形態】
【００３１】
実施の形態１．
以下、本発明の第１の実施の形態を図面を参照して説明する。図１は、本発明による多次元ルール可視化システムの第１の実施の形態を示すブロック図である。図１に示す多次元ルール可視化システムは、ルール集合９１０から任意のルール集合を入力してルール記憶手段１１０に出力する入力手段９２０と、入力手段９２０から出力されたルール集合を記憶するルール記憶手段１１０と、ルール集合を２次元平面上に表示するための処理を実行する可視化データ生成システム１００と、可視化データ生成システム１００によって可視化されたデータを出力する出力手段１４０とを備える。
【００３２】
可視化データ生成システム１００は、ルールの組み合わせ毎に重複度を計算して重要な属性を選択する重複度計算手段１２０と、２次元平面上でルールを表示する際に微小領域を強調表示する強調表示手段１３０とを含む。可視化データ生成システム１００は、例えば、パーソナルコンピュータなどで実現される。
【００３３】
重複度計算手段１２０は、重要度の高い属性を選択する処理を実行する機能を有する。重複度計算手段１２０は、ルール記憶手段１１０が記憶するルール集合を参照し、各属性について、ルールの組み合わせ毎に重複度を計算することによって重要度を算出し、重要度の高い属性を選択する。また、重複度計算手段１２０は、選択した属性についての全てのルールの条件範囲を、可視化データとして強調表示手段１３０に出力する処理を実行する機能を有する。
【００３４】
重複度は、ある属性に着目した場合に、あるルールの条件範囲と別のルールの条件範囲とが重なる度合いを示す値であって、一つの属性について、ルールの組み合わせの数だけ算出される。重要度は、属性ごとに算出される値であって、算出された重複度の合計をルールの組み合わせの数で除算することにより算出される。すなわち、重要度は、重複度の平均値である。
【００３５】
強調表示手段１３０は、微小領域を強調表示するための強調表示データを生成し、表示を制御する処理を実行する機能を有する。強調表示手段１３０は、重複度計算手段１２０によって出力された可視化データを参照して、条件範囲が予め定められた基準よりも狭い場合に、見た目の範囲を拡大した強調表示データを生成し、２次元平面図として出力手段１４０に出力する。
【００３６】
重複度計算手段１２０および強調表示手段１３０は、例えば、プログラムに従って動作するＣＰＵ（図示せず。）と、ルール記憶手段１１０および出力手段１４０との間で情報の入出力を行うインタフェース部とによって実現される。なお、ＣＰＵによって実行されるプログラムは、例えば、可視化データ生成システム１００が備える記憶装置（図示せず。）に記憶される。
【００３７】
ルール集合９１０は、複数の条件属性を有するルールの集合を記憶する。図２は、ルール集合９１０が記憶するルール集合の例を示す説明図である。ルール集合は、複数のルールの集合であって、一つのルールは、条件部と実行部とを有する。条件部には、条件として、それぞれの属性が取りうる値の範囲が記述される。また、属性には、連番が付与されるものとする。例えば、図２を参照すると、ルールＲ１０１では、属性１の条件範囲が１０〜５０、属性２の条件範囲が７０〜８０、属性３の条件範囲が０〜１０、属性４の条件範囲が５０〜５０（すなわち５０のみ）、属性５の条件範囲が０〜１００であって、アクションはＡである。
【００３８】
図２には、ルール集合が５つのルールを有するとともに、各ルールが、それぞれ５つの属性を有する場合が例示されているが、属性はいくつであってもよい。また、条件属性の組み合わせは任意である。条件部、すなわち各条件属性の範囲のすべてが満たされる場合に、実行部（アクション）に記載された処理が実行される。なお、アクションとして記載される内容は、処理であっても値であっても何でも構わない。
【００３９】
入力手段９２０は、ルール集合９１０から任意のルール集合を取得して、取得したルール集合をルール記憶手段１１０に出力する。ここで、任意のルール集合とは、多次元ルール可視化システムを利用しているユーザによって選択されたルールや、ルール集合９１０の全てのルールの集合であってもよく、何らかの基準（例えば、先頭から３個のルールのみ）で選択されたルールであっても構わない。
【００４０】
ルール記憶手段１１０は、入力手段９２０から出力されたルール集合を記憶する記憶手段である。ルール記憶手段１１０は、例えば記憶装置によって実現される。ここでは、ルール集合９１０の全てのルール集合が、入力手段９２０によってルール記憶手段１１０に出力されるものとする。すなわち、ルール記憶手段１１０は、図２に示すルール集合を記憶するものとして、以下の説明を行う。
【００４１】
出力手段１４０は、可視化データ生成システム１００から出力された強調表示データを出力する。出力手段１４０は、例えば、ディスプレイ装置によって実現される。
【００４２】
第１の実施の形態において、重要度計算手段は、重複度計算手段１２０によって実現される。
【００４３】
次に、第１の実施の形態の動作について説明する。入力手段９２０は、ルール集合９１０から任意のルールを取得し、そのルール集合をルール記憶手段１１０に出力する。
【００４４】
重複度計算手段１２０は、ルール記憶手段１１０が記憶するルール集合の条件属性の値から重複度を計算して、その結果をもとに重要度を算出し、重要度の高い属性を選択する。図３は、重複度計算手段１２０による属性選択処理の例を示すフローチャートである。
【００４５】
重複度計算手段１２０は、まずルール記憶手段１１０のルール集合から、ルールの属性数を取得する（ステップＳ１００）。属性数とは、ルール集合における条件属性の数を意味する。例えば、図２に例示するルール集合の場合、属性数は５となる。
【００４６】
次に、重複度計算手段１２０は、繰り返し変数ｋを１に初期化し（ステップＳ１０１）、変数ｋが属性数以下であるか否かを判定する（ステップＳ１０２）。ここで、変数ｋは、属性の連番を意味する変数である。変数ｋが属性数以下の場合（ｙｅｓ）、重複度計算手段１２０は、ｋ番目の属性の重要度を計算する（ステップＳ１０３）。ステップＳ１０３における重要度の計算については、図４に示すフローチャートを参照して説明する。重複度計算手段１２０は、算出された重要度を保存する（ステップＳ１０４）。
【００４７】
変数ｋをインクリメントし（ステップＳ１０５）、Ｓ１０２に移行する。Ｓ１０２で変数ｋが属性数より大きくなった場合（ｎｏ）、すなわち、全ての属性について重要度を算出した場合に、重複度計算手段１２０は、属性を重要度の値をキーとしてソートする（ステップＳ１０６）。重複度計算手段１２０は、重要度の高い属性２個を決定し、決定した属性についての全てのルールの条件範囲を含む可視化データを強調表示手段１３０に出力して、一連の処理を終了する（ステップＳ１０７）。
【００４８】
図４は、重複度計算手段１２０による重要度算出処理の例を示すフローチャートである。重複度計算手段１２０は、ステップＳ１０３において、着目する属性の重要度を計算する。
【００４９】
重複度計算手段１２０は、各種の変数を初期化する（ステップＳ２００）。具体的には、変数ｎをルール集合のルール数で初期化する。図２を参照すると、ルール集合におけるルール数は５であるので、変数ｎは５で初期化される。また、変数ｐおよび変数ｃは０で初期化され、変数ｉは１で初期化される。変数ｐは、重複度および重複度を計算するための重複度の積算値を保持する変数である。変数ｃは、ルールの組み合わせの数を保持する変数である。
【００５０】
次に、重複度計算手段１２０は、変数ｉが変数ｎ以下であるか否かを判定する（ステップＳ２０１）。変数ｉが変数ｎ以下である場合（ｙｅｓ）は、ステップＳ２０２に進み、変数ｉが変数ｎより大きい場合（ｎｏ）はステップＳ２０７に進む。ステップＳ２０２において、重複度計算手段１２０は、変数ｊに変数ｉの値に１を加えた値を代入する。
【００５１】
重複度計算手段１２０は、変数ｊが変数ｎ以下であるか否かを判定する（ステップＳ２０３）。変数ｊが変数ｎ以下である場合（ｙｅｓ）は、ステップＳ２０４に進み、変数ｎより大きい場合（ｎｏ）はステップＳ２０６に進む。
【００５２】
図４に示すフローチャートにおいて、変数ｉ，ｊは、ルールの連番を意味する変数である。図４を参照すると、変数ｉおよび変数ｊに関する２つのループが存在することがわかる。この２つのループによって、ルール集合から２個のルールを選択する全ての組み合わせを作ることができる。
【００５３】
ステップＳ２０４において、重複度計算手段１２０は、ｉ番目のルールとｊ番目のルールの重複度を計算する。以降、ｉ番目のルールをルールｉ、ｊ番目のルールをルールｊと呼ぶ。ステップＳ２０４において、２つのルール間の重複度は、以下に示す計算式で算出されるものとする。なお、式（１）の計算式については後述する。
【００５４】
【数１】
0004747724.tif 000002
【００５５】
重複度計算手段１２０は、ステップＳ２０４で算出した重複度を変数ｐに加算し、変数ｃおよび変数ｊをインクリメントする（ステップＳ２０５）。そして、ステップＳ２０３に移行する。
【００５６】
ステップＳ２０６において、重複度計算手段１２０は、変数ｉをインクリメントし、ステップＳ２０１に移行する。ステップＳ２０７において、重複度計算手段１２０は、変数ｐを変数ｃで割ることによって、着目する属性の重要度を算出し、処理を終了する。
【００５７】
式（１）に示す重複度の計算式について説明する。ＳｉおよびＳｊは、それぞれ、ある属性に着目した場合の、ルールｉおよびルールｊにおける条件範囲の広さを示す値である。Ｓｉｊは、ルールｉの条件範囲とルールｊの条件範囲とが重なる範囲の広さを示す値である。
【００５８】
図５は、各ルールにおける条件範囲の広さを説明するための説明図である。図５を参照して、Ｓｉ，ＳｊおよびＳｉｊについて説明する。以下の説明では、着目する属性は図２に示す属性１であって、ルールｉおよびルールｊは、それぞれ、ルール集合のルールＲ１０１およびルールＲ１０２であるものとする。図５に示す例では、Ｓｉは、ルールＲ１０１における属性１の条件範囲１０から５０の広さであり、Ｓｊは、ルールＲ１０２における属性１の条件範囲３０から８０の広さである。つまり、Ｓｉは４１、Ｓｊは５１となる。また、Ｓｉｊは、範囲３０から５０の広さであるから、Ｓｉｊ＝２１となる。
【００５９】
また、ｗは、属性ごとに定められる値であって、属性の全範囲（すなわち、属性が取りうる値の範囲）の広さに応じて決まる重みを示す。例えば、ある属性の全範囲が０〜２５６の場合はｗ＝１／８、０〜６５５３５の場合はｗ＝１／１６、０〜４２９４９６７２９６の場合はｗ＝１／３２等のように、属性の全範囲の広さに応じてｗの値をあらかじめ決めておく。なお、図２に示すルール集合の例では、全ての属性の全範囲が同じであるとし、ｗ＝１（すなわち、属性の違いによる重みの差はなし）として以下に説明する。
【００６０】
式（１）に示す重複度の計算式は、ｌｏｇの２項目の分子にある「Ｓｉ＋Ｓｊ−２Ｓｉｊ」という計算に特徴がある。ルールｉおよびルールｊの条件範囲が等しい場合、すなわちＳｉ＋Ｓｊ＝２Ｓｉｊの場合、Ｓｉ＋Ｓｊ−２Ｓｉｊは０になり、重複度も０となる。また、重なりがない場合、すなわちＳｉｊ＝０の場合も、重複度は０となる。それ以外の場合は、おおまかには重なりが小さい程、重複度は大きくなる。
【００６１】
式（１）に示す計算式は、重なりが小さいためにルールの修正作業において見落としやすいルールの関係を見つけることを目的として定義されている。しかしながら、式（１）に示す重複度の計算式は、一例であり、この計算式に限定するものではない。例えば、重なりが大きいルールの関係を見つけることが重要である場合は、重なりが大きければ大きい程、重複度の値が大きくなるような計算式を定義しておけば良い。
【００６２】
図２に示すルール集合について、各属性の重要度を計算した結果を図６に示す。図２に示すルール集合には、ルールが５個あるため、２個のルールを選択する組み合わせは１０通りである。重複度計算手段１２０は、１０通りの組み合わせのそれぞれについて、ステップＳ２０４において式（１）に示す計算式で重複度を計算し、ステップＳ１０３において１０個の重複度の平均値を重要度として算出する。
【００６３】
図６に示すように、それぞれの属性の重要度は、属性１は０．３７７５、属性２は０．４０５７、属性３は０．１９０３、属性４は０．１０６６、属性５は０．２３５９となる（小数点以下第５位を四捨五入している）。重複度計算手段１２０は、図３のステップＳ１０６において、算出した重要度の値をキーとして属性をソートし、ステップＳ１０７において、重要度の高い上位２属性を決定し、可視化データを生成する。すなわち、属性２および属性１が上位２属性と決定され、属性２および属性１についての全ルールの存在範囲を含む可視化データが生成される。
【００６４】
上位２属性をそれぞれＸ軸とＹ軸とし、図２に示すルール集合に基づいて生成された可視化データを２次元平面上に描画した模式図を図７に示す。図７において、Ｘ軸は最も重要度の高い属性（属性２）に対応し、Ｙ軸は２番目に重要度の高い属性（属性１）に対応する。また、属性２の条件範囲と属性１の条件範囲とから定まる矩形を、各ルールについて表記する。ルールのアクションがＡの場合は、矩形の内部に右上がりの斜線を付し、アクションがＢの場合は、矩形の内部に右下がりの斜線を付して表している。
【００６５】
重複度計算手段１２０が重要な属性を２個選択し、可視化データを出力すると、強調表示手段１３０は、出力された可視化データに基づいて、視認しにくい微小領域を強調表示するための処理を行う。図７を参照すると、各ルールの条件範囲を示す矩形は、それぞれ幅があるため、ルール間の重なり関係等を視認しやすいが、ルールの矩形の幅が狭かったり、ルール間の重なり領域が狭かったりすると、どこで重なっているのか認識することが難しい。
【００６６】
図８は、可視化データを２次元平面上で表した模式図である。図８には、模式的に、ルールＲ１１１，Ｒ１１２，Ｒ１１３を表している。例えば、図８に示すようなルール間の関係の場合、重なりの幅がそれぞれ狭いため、どこで重なっているのか認識し辛い。そこで、強調表示手段１３０は、ルール間の関係を認識しやすいように、領域が狭い部分を広げて変形する処理を行う。
【００６７】
図９は、強調表示手段１３０による強調表示処理の例を示すフローチャートである。まず、強調表示手段１３０は、変数ｉを１に初期化する（ステップＳ３００）。強調表示手段１３０は、変数ｉが属性数以下であるか否かを判定する（ステップＳ３０１）。変数ｉが属性数以下である場合（ｙｅｓ）は、ステップＳ３０２に移行する。なお、ここでの属性数とは、重複度計算手段１２０が選択した２個の属性であるが、２個の属性に限ったものではない。
【００６８】
ステップＳ３０２において、強調表示手段１３０は、重複度計算手段１２０によって出力された可視化データを参照し、ｉ番目の属性における各ルールで作る領域の数を変数ｎに代入する（ステップＳ３０２）。各ルールで作る領域、すなわち各ルールの条件範囲が作る領域とは、全てのルールの条件範囲の始点および終点が作る最小の領域を意味する。各ルールの条件範囲が作る領域について、図１０を参照して説明する。図１０には、始点および終点を共有していない２個のルールの条件範囲が作る３個の領域（ｇ１〜ｇ３）が例示されている。図１０には、２個のルール（ルールｉ，ｊ）の条件範囲の大小関係によって異なる３つのパターン（ａ），（ｂ）および（ｃ）を示す。
【００６９】
ルールｉの始点が、ルールｊの終点より大きい場合、領域ｇ１はルールｊの条件範囲と等しく、領域ｇ２はルールｊの終点からルールｉの始点までの範囲となり、領域ｇ３はルールｉの条件範囲と等しくなる（図１０（ａ）参照。）。ルールｉの始点が、ルールｊの条件範囲に含まれ、かつルールｉの終点がルールｊの終点より大きい場合、領域ｇ１はルールｊの始点からルールｉの始点までの範囲となり、領域ｇ２はルールｉの始点からルールｊの終点までの範囲となり、領域ｇ３はルールｊの終点からルールｉの終点までの範囲となる（図１０（ｂ）参照。）。ルールｊの始点および終点が、ルールｉの条件範囲に含まれる場合、領域ｇ１はルールｉの始点からルールｊの始点までの範囲となり、領域ｇ２はルールｊの条件範囲と等しく、領域ｇ３はルールｊの終点からルールｉの終点までの範囲となる（図１０（ｃ）参照。）。一般に、全てのルールの条件範囲の始点と終点が異なる場合、ルール数がｘ個ならば、２ｘ−１個の領域ができる。
【００７０】
次に、強調表示手段１３０は、変数ｎから閾値を決定する（ステップＳ３０３）。ここでの閾値とは、全領域の大きさに対してある領域の大きさが小さすぎるとされる時の、ある領域が全領域に占める割合を意味するものとする。例えば、領域の数が７個であってある領域の大きさが全領域の５％以下になった時にある領域が小さすぎて認識しにくいとした場合、閾値を５％とすることができる。
【００７１】
強調表示手段１３０は、閾値以下の大きさの領域を検索し、検索された領域を閾値の大きさにまで拡大する（ステップＳ３０４）。そして、ステップＳ３０４で拡大した領域の大きさを、大きな領域から差し引く（ステップＳ３０５）。ステップＳ３０４およびステップＳ３０５の処理によって、可視化データにおける小さな領域が拡大された強調表示データが生成される。
【００７２】
図１１は、強調表示の具体例を示す説明図である。図１１には、始点および終点を共有していない２個のルールの条件範囲が作る３個の領域（ｇ１〜ｇ３）が例示されている。図１１（ａ）には、図１０（ｂ）に示すパターンと同様であって、領域ｇ２の大きさが小さい場合が例示されている。ステップＳ３０４およびステップＳ３０５の処理によって、領域ｇ２が検索され、領域ｇ２の終点であるルールｊの終点が拡大されると、代わりにｇ３の領域が小さくなる（図１１（ｂ）参照）。
【００７３】
強調表示手段１３０は、変数ｉをインクリメントし（ステップＳ３０６）、ステップＳ３０１に移行する。ステップＳ３０１において、変数ｉが属性数より大きい場合（ｎｏ）、強調表示手段１３０は、可視化データを修正した強調表示データを２次元平面図として出力手段１４０に出力し、一連の処理を終了する。
【００７４】
出力手段１４０は、強調表示手段１３０によって出力された情報に基づいて、多次元ルール可視化システムのユーザに提供するために２次元平面図を表示する。なお、上記の説明では、出力手段１４０としてディスプレイ装置を例示しているが、出力形態は、ファイルや紙であってもよく、ディスプレイ装置に限定されない。
【００７５】
強調表示手段１３０の処理によって、強調表示データが生成され、図８に示す表示が図１２に例示するような表示に修正される。図１２に示す例では、ルールＲ１１１のＹ軸方向の領域およびルールＲ１１２のＸ軸方向の領域が拡大されている。
【００７６】
本実施の形態では、重複度計算手段１２０および強調表示手段１３０を備えるとしているが、単に重複度計算手段１２０のみで強調表示手段１３０がなくても構わない。その場合、重複度計算手段１２０は、可視化データを２次元平面図として出力手段１４０に出力してもよい。また、重複度計算手段１２０と強調表示手段１３０の処理手順（図３、図４および図９）は単なる一例であって、同様の結果を得るために他の処理手順を行うことも可能であり、図３、図４および図９に示すフローチャートの処理手順に限定するものではない。また、本実施の形態では、重複度計算手段１２０が属性を２個選択する例を用いて説明しているが、３個選択して３次元空間でルールを表示しても構わない。
【００７７】
次に、具体例を用いて、第１の実施の形態の動作を説明する。第１の実施の形態の構成は、図１に示す構成である。以下の説明では、ネットワークセキュリティに関し、ファイアウォールやルータで行われるパケットフィルタリングのフィルタリングルールをルール集合の例として説明する。
【００７８】
ルール集合９１０には、図１３に例示するパケットフィルタリングのルール集合が記録されているものとする。
【００７９】
パケットフィルタリングとは、ネットワークとネットワークを結ぶファイアウォールやルータなどのネットワーク機器でセキュリティを確保するために設けられる仕組みであり、一方のネットワークから他方のネットワークに流れるネットワークのデータ（パケット）のヘッダ部分を参照し、ルールと照合することでパケットの通過を許可したり禁止（廃棄）したりする処理である。
【００８０】
パケットフィルタリングのルールは、上記のヘッダ部分の属性をそれぞれ条件属性としている。なお、パケットのヘッダ情報には、送信元アドレス（図１３では送信元ＩＰと表記）、送信元ポート、送信先アドレス（図１３では送信先ＩＰと表記）、送信先ポート、プロトコルがある。他にフラグ等のヘッダ情報があるが、ここでは省略する。
【００８１】
フィルタリングルールは、上記のヘッダ情報を条件属性とした条件部と、パケットの通過の可否をアクションとした実行部からなる。条件部には、各条件属性の範囲が記載される。
【００８２】
送信元アドレスと送信先アドレスは、３２ビットで構成され、一般的にＸ．Ｘ．Ｘ．Ｘのように８ビットずつドット（．）で区切った形式で表される。すなわち、送信元アドレスと送信先アドレスは、最大で０．０．０．０から２５５．２５５．２５５．２５５の範囲を持つ。
【００８３】
図１３に示す例では、アドレスの範囲を示すためにネットマスクを用いている。ネットマスクは、「／Ｙ」と表記され、Ｙはビットを表す。例えば、０．０．０．０／０と記載される場合、ネットマスクは０ビットである。すなわち、アドレスが０．０．０．０〜２５５．２５５．２５５．２５５の範囲にあることが条件であることを示す。また、１９２．１６８．１．０／２４と記載される場合、ネットマスクは２４ビットである。すなわち、アドレスが１９２．１６８．１．０〜１９２．１６８．１．２５５の範囲にあることが条件であることを示す。
【００８４】
送信元ポートおよび送信先ポートのポート番号は、１６ビットで構成され、最大で０から６５５３５までとなる。プロトコルは、一般には８ビットで構成されるが、ここでは一般的に良く用いられるｔｃｐ、ｕｄｐおよびｉｃｍｐの３種類とし、それぞれに、範囲を示す値として、１，２および３を割り当てるものとする。すなわち、プロトコルの条件が、ｔｃｐおよびｕｄｐの場合は１〜２，ｔｃｐ、ｕｄｐおよびｉｃｍｐの場合は１〜３と記載される。したがって、本実施例におけるプロトコルは２ビットの範囲となる。図１３のルールＲ２０１は、送信元アドレスが全ての範囲（すなわち任意）で、送信元ポートが全ての範囲で、送信先アドレスが１９２．１６８．１．１から１９２．１６８．１．１６の範囲で、送信先ポートが０から１０２４で、プロトコルがｔｃｐであるようなパケットを、通過させる（ａｌｌｏｗ）ことを意味している。
【００８５】
入力手段９２０によって、ルール集合９１０からルール記憶手段１１０にルール集合が渡される。本実施例では、図１３に示すルール集合のうち、先頭の２ルールのみ（すなわち、ルールＲ２０１，Ｒ２０２）がルール記憶手段１１０に渡されるものとする。重複度計算手段１２０は、図３と図４のフローチャートに従い、各属性の重要度を計算する。ここで、重複度計算手段１２０は、式（１）の重複度計算式を用いるものとし、重みは、それぞれ、アドレスが１／３２、ポートが１／１６、プロトコルが１／２とする。
【００８６】
図１４は、算出された各属性の重要度の例を示す説明図である。図１４に例示するように、送信元アドレスと送信元ポートの重要度が０、送信先アドレスの重要度が３．４３４０、送信先ポートの重要度が２．８２８６、プロトコルの重要度が０．６９３１となり、上位２属性は、送信先アドレスと送信先ポートとなる。図１４に示すルール集合に基づいて生成された可視化データを、送信先アドレスをＸ軸、送信先ポートをＹ軸として、２次元平面で表示した場合、図１５に示す表示になる。
【００８７】
強調表示手段１３０は、図９に示すフローチャートに従って、領域を修正する処理を行う。ここで、領域の数が３個の場合、閾値は１０％であるものとする。その結果、微小領域は、強調表示手段１３０によって、大きく拡大されるように修正される。
【００８８】
出力手段１４０は、重複度計算手段１２０と強調表示手段１３０によって算出された属性軸と表示領域を含む強調表示データを用いて、ルールＲ２０１，Ｒ２０２を２次元平面にプロットする。具体的には、図１６に示すような出力となる。
【００８９】
次に、本実施の形態の効果について説明する。本実施の形態によれば、どれほど高次元な多次元立方体となるルールであっても、ルール集合の管理作業を行うユーザが現状把握を容易にできる、という効果がある。その理由は、ルールの条件属性毎に重複度を計算し、重要な属性を自動的に選択し、ルールを表示できるためである。また、ルール間の重なりが微小になってしまう領域を修正して大きくすることで重なり関係が分かりやすくなるためである。
【００９０】
実施の形態２．
本発明の第２の実施の形態を図面を参照して説明する。図１７は、本発明による多次元ルール可視化システムの第２の実施の形態を示すブロック図である。図１７に示す多次元ルール可視化システムは、ルール集合９１０から任意のルール集合を取得してルール記憶手段１１０に出力する入力手段９２０と、入力手段９２０から出力されたルール集合を記憶するルール記憶手段１１０と、ルール集合を２次元平面上に表示するための処理を実行する可視化データ生成システム１０１と、可視化データ生成システム１０１によって可視化されたデータを出力する出力手段１４０とを備える。
【００９１】
可視化データ生成システム１０１は、ルールの条件属性毎に被覆度を計算して重要な属性を選択する被覆度計算手段１５０と、２次元平面上でルールを表示する際に微小領域を強調表示する強調表示手段１３０とを含む。なお、第１の実施の形態と同様の構成部については、図１と同一の符号を付し、説明を省略する。
【００９２】
第２の実施の形態において、重要度計算手段は、被覆度計算手段１５０によって実現される。
【００９３】
次に、図面を参照して第２の実施の形態の動作について説明する。なお、第１の実施の形態と同様の動作については、詳細な説明を省略する。ルール記憶手段１１０にルール集合が記憶されるまでの入力手段９２０の動作は、第１の実施の形態の動作と同様である。ここでは、ルール集合９１０が、図１８に例示するルール集合を記憶しているものとし、さらに、入力手段９２０によって、ルール集合９１０の全てのルールがルール記憶手段１１０に記憶されたものとする。
【００９４】
被覆度計算手段１５０は、ルール記憶手段１１０が記憶するルール集合の条件属性の値から被覆度を計算して、その結果をもとに重要度を算出し、重要度の高い属性を選択する。被覆度および重要度については後述する。図１９は、被覆度計算手段１５０による被覆度計算処理の例を示すフローチャートである。
【００９５】
被覆度計算手段１５０は、まずルール記憶手段１１０のルール集合から、ルールの属性数を取得する（ステップＳ４００）。例えば、図１８に例示するルール集合の場合、属性数は５となる。
【００９６】
次に、被覆度計算手段１５０は、繰り返し変数ｋを１に初期化（ステップＳ４０１）し、変数ｋが属性数以下であるか否かを判定する（ステップＳ４０２）。ここで、変数ｋは、属性の連番を意味する変数である。変数ｋが属性数以下の場合（ｙｅｓ）、被覆度計算手段１５０は、ｋ番目の属性の重要度を計算する（ステップＳ４０３）。ステップＳ４０３における重要度の計算については、図２０に示すフローチャートを参照して説明する。被覆度計算手段１５０は、算出された重要度を保存する（ステップＳ４０４）。
【００９７】
変数ｋをインクリメントし（ステップＳ４０５）、Ｓ４０２に移行する。Ｓ４０２で変数ｋが属性値より大きくなった場合（ｎｏ）、すなわち、全ての属性について重要度を算出した場合に、被覆度計算手段１５０は、属性を重要度の値をキーとしてソートし（ステップＳ４０６）、重要度の高い属性２個を決定し（ステップＳ４０７）、一連の処理を終了する。
【００９８】
図２０は、被覆度計算手段１５０による被覆度計算処理の例を示すフローチャートである。被覆度計算手段１５０は、ステップＳ４０３において、着目する属性の重要度を計算する。
【００９９】
まず、被覆度計算手段１５０は、属性の全範囲を得て、領域Ｕを作る（ステップＳ５００）。属性の全範囲とは、属性が取り得る値の範囲である。例えば、属性が、１６ビットで構成されるパケットのポート番号ならば、属性の全範囲は、０〜６５５３５となる。領域Ｕは、属性の全範囲に対応するメモリ領域であり、配列であっても良いし、ビットフィールドであっても良い。ここでは、領域Ｕはビットフィールドとする。なお、図１８に示すルール集合の各属性は、０〜１００までの範囲の値を取りうる。したがって、領域Ｕは、属性の全範囲０〜１００に対応するビットフィールドであるものとする。また、特定のビットの値を示す際には、例えば、「範囲０〜１の値」のように表記するものとして、以下の説明を行う。また、領域Ｕにおける各ルールの「条件範囲の値」は１であるものとする。すなわち、あるルールの条件範囲が９８〜１００である場合、条件範囲９８〜１００の値は１となる。
【０１００】
被覆度計算手段１５０は、領域Ｕの全ビットを０で初期化し、変数ｉを１で初期化する（ステップＳ５０１）。図２１は、領域Ｕの例を示す説明図である。領域Ｕは、属性が取りうる０から１００までの値に対応するビットから構成される。ステップＳ５０１において、全てのビットは０で初期化される（図２１（ａ）参照。）。すなわち、ステップＳ５０１において、領域Ｕの範囲０〜１００の値は０となる。
【０１０１】
次に、被覆度計算手段１５０は、変数ｉが、ルール記憶手段１１０に記憶されているルール集合のルール数以下であるか否かを判定する（ステップＳ５０２）。変数ｉがルール数以下である場合（ｙｅｓ）、被覆度計算手段１５０は、ｉ番目のルールの条件範囲の値と領域Ｕとの論理和を領域Ｕに代入する（ステップＳ５０３）。図２０に示すフローチャートにおいて、変数ｉは、ルールの連番を意味する変数である。
【０１０２】
例えば、変数ｉが１の場合、１番目のルールは、図１８に示すルール集合ではルールＲ３０１である。ルールＲ３０１の属性１の条件範囲は１１〜１８であるため、条件範囲１１〜１８の値は１である。ステップＳ５０３において、被覆度計算手段１５０は、範囲０〜１００の値が０である領域Ｕと、条件範囲１１〜１８の値１との論理和を算出し、領域Ｕの範囲１１〜１８の値を１とする（図２１（ｂ）参照。）。
【０１０３】
被覆度計算手段１５０は、変数ｉをインクリメントし（ステップＳ５０４）、ステップＳ５０２に移行する。変数ｉに２が代入され、ステップＳ５０３の処理がなされた場合の領域Ｕを、図２１（ｃ）に示す。
【０１０４】
上記の処理を、全てのルールに対して行う。ステップＳ５０２において、変数ｉがルール数より大きくなると（ｎｏ）、領域Ｕの被覆度を計算し、重要度とする（ステップＳ５０５）。
【０１０５】
第２の実施の形態において、重要度は、属性ごとに算出される値であって、被覆度に等しい値である。被覆度は、ある属性に着目した場合に、属性の全範囲（すなわち、属性が取り得る値の範囲）に対して、すべてのルールの条件範囲が占める度合いを示す値であって、一つの属性について一つの値が算出される。ステップＳ５０５において、領域Ｕの被覆度は、以下に示す計算式で算出されるものとする。
【０１０６】
【数２】
0004747724.tif 000003
【０１０７】
式（２）に示す被覆度の計算式について述べる。変数ｎは、領域Ｕにおいて値０が１個以上連続している領域の数である。このように値０が１個以上連続している領域のことを、ボイドと呼ぶことにする。例えば、領域Ｕが図２１（ｃ）の状態にある場合、０〜２２の範囲では、範囲８〜１０（ｖｏｉｄ１）および１９〜２２（ｖｏｉｄ２）がボイドに相当し、変数ｎは２である。
【０１０８】
変数Ｖｉは、ｉ番目のボイドにおいて０が連続するビットの数である。例えば、１番目のボイド（図２１（ｃ）に示すｖｏｉｄ１）におけるビット数は３であり、２番目のボイド（図２１（ｃ）に示すｖｏｉｄ２）は４であることから、Ｖ１＝３，Ｖ２＝４と表すことができる。
【０１０９】
また、ｗは、属性ごとに定められる値であって、属性の全範囲（すなわち、属性が取りうる値の範囲）の広さに応じて決まる重みを示す。例えば、ある属性の全範囲が０〜２５６の場合はｗ＝１／８、０〜６５５３５の場合はｗ＝１／１６、０〜４２９４９６７２９６の場合はｗ＝１／３２等のように、属性の全範囲の広さに応じてｗの値をあらかじめ決めておく。なお、図１８に示すルール集合の例では、全ての属性の全範囲が同じであるとし、ｗ＝１（すなわち、属性の違いによる重みの差はなし）として以下に説明する。
【０１１０】
式（２）に示す被覆度の計算式の特徴は、ボイドの数が多い程被覆度は高くなり、且つ各ボイドの連続数が多い程被覆度は高くなるというものである。ある属性について、各ルール集合の条件範囲が属性の全範囲をカバーしないために、どのルールの条件にもならない範囲（すなわちボイド）が存在する場合がある。式（２）に示す計算式は、このようなボイドを見つけることを目的として定義されている。しかしながら、式（２）に示す被覆度の計算式は、一例であり、この計算式に限定するものではない。例えば、ボイド数が少ない程ボイドを見つけにくいため、ボイド数が少ないことが重要であるという方針ならば、ボイド数が少ない程（ただし０ではない）、被覆度の値が大きくなるような計算式を定義しておけば良い。
【０１１１】
図１８に示すルール集合について、各属性の重要度を計算した結果を図２２に示す。図２２に示すように、それぞれの属性の重要度は、属性１は８．５１８５、属性２は１．７７８２、属性３は２．００００、属性４は０．００００、属性５は１．００００となる（小数点以下第５位を四捨五入している）。被覆度計算手段１５０は、図１９のステップＳ４０６において、算出した重要度の値をキーとして属性をソートし、ステップＳ４０７において、重要度の高い上位２属性を決定し、可視化データを生成する。すなわち、属性１および属性３が上位２属性と決定され、属性１および属性３についての全ルールの存在範囲を含む可視化データが生成される。
【０１１２】
強調表示手段１３０および出力手段１４０の動作は、第１の実施の形態における動作と同じであるため、説明を省略する。上位２属性をそれぞれＸ軸とＹ軸とし、図１８に示すルール集合に基づいて生成された可視化データを２次元平面上に描画した模式図を図２３に示す。なお、図２３に示す表示を行う際には、強調表示手段１３０による処理は行われていない。
【０１１３】
本実施の形態では、被覆度計算手段１５０および強調表示手段１３０を備えるとしているが、上述したように単に被覆度計算手段１５０のみで強調表示手段１３０がなくても構わない。その場合、被覆度計算手段１５０は、可視化データを２次元平面図として出力手段１４０に出力してもよい。また、被覆度計算手段１５０の処理手順（図１９および図２０）は単なる一例であって、同様の結果を得るために他の処理手段を行うことも可能であり、図１９および図２０に示すフローチャートの処理手順に限定するものではない。また、本実施の形態では被覆度計算手段１５０が属性を２個選択する例を用いて説明しているが、３個選択して３次元空間でルールを表示しても構わない。
【０１１４】
次に、具体例を用いて、第２の実施の形態の動作を説明する。第２の実施の形態の構成は、図１７に示す構成である。以下、第１の実施の形態の具体例と同様に、フィルタリングルールをルール集合の例として説明する。
【０１１５】
ルール集合９１０には、図２４に示すパケットフィルタリングのルール集合が記録されているものとする。入力手段９２０によって、ルール集合９１０からルール記憶手段１１０にルール集合が渡される。本実施例では、図２４に示すルール集合のうち、ルールＲ４０５を除いた４個のルールのみ（すなわち、ルールＲ４０１，Ｒ４０２，Ｒ４０３，Ｒ４０４）がルール記憶手段１１０に渡されるものとする。なお、ルールＲ４０５は、デフォルトルールと呼ばれる。デフォルトルールは、他の優先順位の高いルールにマッチしなかったパケットを全てカバーするルールである。本実施例において、ルール記憶手段１１０にデフォルトルールを含めると、ボイドがなくなり、例として適切ではないため、ルールＲ４０５は含まれないものとする。
【０１１６】
被覆度計算手段１５０は、図１９および図２０に示すフローチャートに従い、各属性の重要度を計算する。ここで、被覆度計算手段１５０は、式（２）に示す被覆度計算式を用いるものとし、重みは、それぞれ、アドレスが１／３２、ポートが１／１６、プロトコルが１／２とする。
【０１１７】
図２５は、算出された各属性の重要度の例を示す説明図である。図２５に例示するように、送信元アドレスの重要度が０、送信元ポートの重要度が０．２５０６、送信先アドレスの重要度が０．７４７３、送信先ポートの重要度が０．３００６、プロトコルの重要度が０．００００となり、上位２属性は、送信先アドレスと送信先ポートとなる。
【０１１８】
強調表示手段１３０は、図９に示すフローチャートに従い、領域を修正する処理を行う。ここで、領域の数が９個の場合、閾値は５％であるものとする。出力手段１４０は、被覆度計算手段１５０と強調表示手段１３０によって算出された属性軸と表示領域を含む強調表示データを用いて、ルールＲ４０１〜Ｒ４０４を２次元平面にプロットする。具体的には、図２６に示すような出力となる。
【０１１９】
次に、本実施の形態の効果について説明する。本発明の形態は、どれほど高次元な多次元立方体となるルールであっても、ルール集合の管理作業を行うユーザが現状把握を容易にできる、という効果がある。その理由は、ルールの条件属性毎に被覆度を計算し、重要な属性を自動的に選択し、ルールを表示できるためである。
【０１２０】
実施の形態３．
本発明の第３の実施の形態を図面を参照して説明する。図２７は、本発明による多次元ルール可視化システムの第３の実施の形態を示すブロック図である。図２７に示す多次元ルール可視化システムは、複数のルールを含むルール集合を記憶するルール記憶手段１１０と、可視化データ生成システム１０２と、可視化データ生成システム１０２によって可視化されたデータを出力する出力手段１４０と、ユーザからのアクションを入力として受け取り可視化データ生成システム１０２にパラメータとして渡す入力手段９３０とを備える。
【０１２１】
可視化データ生成システム１０２は、ルールの条件属性毎に重要度を計算して重要な属性を１つ選択する最重要軸選択手段１６０と、残りの属性から任意の属性を１つ選択する軸選択手段１７０とを含む。なお、第１の実施の形態と同様の構成部については、図１と同一の符号を付し、説明を省略する。
【０１２２】
第３の実施の形態において、重要度計算手段は、最重要軸選択手段１６０および軸選択手段１７０によって実現される。
【０１２３】
次に、図面を参照して第３の実施の形態の動作について説明する。なお、第１の実施の形態および第２の実施の形態と同様の動作については、詳細な説明を省略する。ルール記憶手段１１０には、ルール集合が記憶されている。最重要軸選択手段１６０は、ルール記憶手段１１０を参照し、もっとも重要な属性を選択する。最重要軸選択手段１６０の動作は、第１の実施の形態の重複度計算手段１２０または第２の実施の形態の被覆度計算手段１５０における重要度の高い属性を選択する動作と同様とする。ただし、重複度計算手段１２０および被覆度計算手段１５０は、重要度の高い属性を２個または３個選択していたが、最重要軸選択手段１６０は、最も重要度の高い属性を１個のみ選択するものとする。
【０１２４】
次に、軸選択手段１７０は、最重要軸選択手段１６０が選択した属性以外の属性を１個選択する。ここで、入力手段９３０を介して、ユーザから別の属性を選択する指示があった場合には、軸選択手段１７０は別の属性を選択する。軸選択手段１７０は、最重要軸選択手段１６０が選んだ属性以外の属性の中から順に属性を選択しても良いし、最重要軸選択手段１６０が計算した重要度の順に属性を選択しても良いし、ランダムに属性を選択しても良い。
【０１２５】
軸選択手段１７０は、最重要軸選択手段１６０によって選択された属性と軸選択手段１７０によって選択された属性についての全ルールの存在範囲を含む可視化データを生成し、それぞれの属性をＸ軸とＹ軸とした２次元平面図として出力手段１４０に出力する。出力手段１４０は、軸選択手段１７０によって出力された情報に基づいて、２次元平面図を表示する。その際、入力手段９３０によってユーザから描画すべきルールの指示があった場合には、ルール記憶手段１１０に記憶されたルール集合全てではなく、ユーザから指示されたルールのみを含む可視化データを２次元平面図として描画する。
【０１２６】
本実施の形態では、最重要軸選択手段１６０が１個の属性を選び、軸選択手段１７０が別の１個の属性を選んで、２次元平面上に出力するとしているが、例えば、最重要軸選択手段１６０が２個の属性を選び、軸選択手段１７０が別の１個の属性を選んで、３次元平面上に出力したり、最重要軸選択手段１６０が１個の属性を選び、軸選択手段１７０が別の２個の属性を選んで、３次元平面上に出力したりしても良い。
【０１２７】
次に、具体例を用いて第３の実施の形態の動作を説明する。第３の実施の形態の構成は、図２７に示す構成である。以下、図２８に示すルール集合（Ｒ５０１〜Ｒ５０５）を例として説明する。
【０１２８】
ルール記憶手段１１０には、図２８に示すルール集合が記憶されているものとする。最重要軸選択手段１６０は、ルール記憶手段１１０を参照し、属性１から属性５の重要度を計算し、最も重要な属性（ここでは属性１）を選択する。最重要軸選択手段１６０が属性の重要度を計算する方法は、第１の実施の形態の重複度計算手段１２０と同様の方法でも良いし、第２の実施の形態の被覆度計算手段１５０と同様の方法でも良いし、また別の方法でも構わない。
【０１２９】
次に、軸選択手段１７０は、最重要軸選択手段１６０が選択しなかった属性、すなわち属性２〜属性５の中から、属性を１つ選択する。ここでは、昇順に属性を選択するものとし、軸選択手段１７０は、属性２を選択する。
【０１３０】
軸選択手段１７０は、最重要軸選択手段１６０によって選択された属性１と軸選択手段１７０によって選択された属性２についての全ルールの存在範囲を含む可視化データを生成し、それぞれの属性をＸ軸とＹ軸とした２次元平面図として出力手段１４０に出力する。出力手段１４０は、軸選択手段１７０によって出力された情報に基づいて、２次元平面図を表示する。出力手段１４０に出力された２次元平面図の表示例を図２９に示す。なお、出力手段１４０は、ディスプレイ装置であるものとする。図２９に例示するように、ディスプレイ装置上に表示されるウィンドウ５００は、ルール集合表示５１０と、チェックボックス５２０と、２次元平面図５３０と、軸交換ボタン５４０とを備える。
【０１３１】
ルール集合表示５１０は、ルール集合を１行１ルールで表示したものであり、Ａ１〜Ａ５がそれぞれ属性１〜属性５を意味し、Ａがアクションを意味する。
【０１３２】
チェックボックス５２０は、ルール集合表示５１０の各ルール毎に設けられたチェックボックスであり、マウス等のデバイスでクリックすることでオン（黒）とオフ（白）が交代する。
【０１３３】
２次元平面図５３０は、Ｘ軸に属性１を取り、Ｙ軸に属性２を取った２次元平面図であって、ルール集合の全て（Ｒ５０１〜Ｒ５０５）が表示された状態である。
【０１３４】
軸交換ボタン５４０は、ユーザによって、入力手段９３０（例えば、マウス等のデバイス）を用いてクリックされるボタンである。軸交換ボタン５４０がクリックされると、Ｙ軸を交換するように軸選択手段１７０に通知され、軸選択手段１７０は、現在選択中の属性とは別の属性についての全ルールの存在範囲を含む可視化データを生成し、出力手段１４０に再描画を依頼する。
【０１３５】
入力手段９３０を介してあるルールのチェックボックス５２０がオフにされると、そのルールの表示を取り止めることを示す情報を含む可視化データが出力手段１４０に出力される。出力手段１４０は、オフにされたルールが除かれたルール集合を再描画する。図３０に、軸交換ボタン５４０が１回押され、ルールＲ５０２のチェックボックス５２０がオフにされた状態の表示結果を例示する。図３０に示す例では、Ｙ軸が属性３になり、ルールＲ５０２が非表示となっている。
【０１３６】
次に、本実施の形態の効果について説明する。本実施の形態は、どれほど高次元な多次元立方体となるルールであっても、ルール集合の管理作業を行うユーザが現状把握を容易にできる、という効果がある。その理由は、最も重要な属性を自動的に選択し、残りの属性をユーザが自由に選ぶことができるためである。
【産業上の利用可能性】
【０１３７】
本発明は、パケットフィルタリングを行うネットワーク機器やソフトウェアのルール管理や、意志決定支援のための分類木などのルール管理に適用することができる。また、それぞれの属性が範囲を持つ多次元データを有するデータベースの管理に適用することができる。
【図面の簡単な説明】
【０１３８】
【図１】本発明による多次元ルール可視化システムの第１の実施の形態を示すブロック図である。
【図２】ルール集合の例を示す説明図である。
【図３】重複度計算手段による属性選択処理の例を示すフローチャートである。
【図４】重複度計算手段による重要度算出処理の例を示すフローチャートである。
【図５】各ルールにおける属性の条件範囲を説明するための説明図である。
【図６】各属性の重要度を計算した結果を説明するための説明図である。
【図７】可視化データを２次元平面上で表した模式図である。
【図８】可視化データを２次元平面上で表した模式図である。
【図９】強調表示手段による強調表示処理の例を示すフローチャートである。
【図１０】ルールの存在範囲が作る領域の例を示す説明図である。
【図１１】強調表示の具体例を示す説明図である。
【図１２】強調表示データを２次元平面上で表した模式図である。
【図１３】パケットフィルタリングのルール集合の例を示す説明図である。
【図１４】算出された各属性の重要度の例を示す説明図である。
【図１５】パケットフィルタリングの可視化データを２次元平面上で表した模式図である。
【図１６】パケットフィルタリングの強調表示データを２次元平面上で表した模式図である。
【図１７】本発明の第２の実施の形態を示すブロック図である。
【図１８】ルール集合の例を示す説明図である。
【図１９】被覆度計算手段による被覆度計算処理の例を示すフローチャートである。
【図２０】被覆度計算手段による被覆度計算処理の例を示すフローチャートである。
【図２１】領域Ｕの例を示す説明図である。
【図２２】算出された各属性の重要度の例を示す説明図である。
【図２３】可視化データを２次元平面上で表した模式図である。
【図２４】パケットフィルタリングのルール集合の例を示す説明図である。
【図２５】算出された各属性の重要度の例を示す説明図である。
【図２６】パケットフィルタリングのルール集合を２次元平面上で表した模式図である。
【図２７】本発明の第３の実施の形態を示すブロック図である。
【図２８】ルール集合の例を示す説明図である。
【図２９】出力手段に出力された２次元平面図の表示例を示す説明図である。
【図３０】出力手段に出力された２次元平面図の表示例を示す説明図である。
【符号の説明】
【０１３９】
１００  可視化データ生成システム
１１０  ルール記憶手段
１２０  重複度計算手段
１３０  強調表示手段
１４０  出力手段
９１０  ルール集合
９２０  入力手段
【図１】
0004747724.tif 000004
【図２】
0004747724.tif 000005
【図３】
0004747724.tif 000006
【図４】
0004747724.tif 000007
【図５】
0004747724.tif 000008
【図６】
0004747724.tif 000009
【図７】
0004747724.tif 000010
【図８】
0004747724.tif 000011
【図９】
0004747724.tif 000012
【図１０】
0004747724.tif 000013
【図１１】
0004747724.tif 000014
【図１２】
0004747724.tif 000015
【図１３】
0004747724.tif 000016
【図１４】
0004747724.tif 000017
【図１５】
0004747724.tif 000018
【図１６】
0004747724.tif 000019
【図１７】
0004747724.tif 000020
【図１８】
0004747724.tif 000021
【図１９】
0004747724.tif 000022
【図２０】
0004747724.tif 000023
【図２１】
0004747724.tif 000024
【図２２】
0004747724.tif 000025
【図２３】
0004747724.tif 000026
【図２４】
0004747724.tif 000027
【図２５】
0004747724.tif 000028
【図２６】
0004747724.tif 000029
【図２７】
0004747724.tif 000030
【図２８】
0004747724.tif 000031
【図２９】
0004747724.tif 000032
【図３０】
0004747724.tif 000033