説明

多次元ルール可視化システム、方法、プログラム、可視化データ生成システム、方法およびプログラム

【課題】 問題解決のために使用されるルール集合の管理において、ルール集合の現状把握を可能とする多次元ルール可視化システム、方法、プログラム、可視化データ生成システム、方法およびプログラムを提供する。
【解決手段】 入力手段920は、ルール集合910から任意のルールを取得し、そのルール集合をルール記憶手段110に出力する。重複度計算手段120は、ルール記憶手段110が記憶するルール集合の条件属性の値から重複度を計算して、その結果をもとに重要度を算出し、重要度の高い属性を選択する。重複度計算手段120は、選択した属性についての全ルールの存在範囲を含む可視化データを生成する。強調表示手段130は、重複度計算手段120によって出力された可視化データを参照し、小さな領域を拡大した強調表示データを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多次元ルールのルール間の関係を表示する多次元ルール可視化システム、多次元ルール可視化方法、多次元ルール可視化プログラム、可視化データ生成システム、可視化データ生成方法および可視化データ生成プログラムに関する。
【背景技術】
【0002】
セキュリティの分野や意思決定支援の分野で用いられているルール表現は、一般に、複数の条件が記述される条件部と、条件部が満足された場合に実行すべき行為が記述される実行部とを含む。条件部に記載される各条件には、それぞれ異なる属性の範囲が記載される。なお、以下の説明では、条件として記載される属性を、明示的に条件属性と表記する場合がある。
【0003】
ルールの例として、ネットワークセキュリティにおけるパケットフィルタリングや、意思決定支援における決定木等のルールがある。これらのルールは、それぞれの分野の問題解決に直接作用する重要な情報または知識の断片である。一般に、ルールは、人によって記述されたり、機械によって自動生成される。しかし、人によって記述される場合であっても機械によって自動生成される場合であっても、間違いが存在する可能性は高い。また、ある時点で間違いが存在しなくても、環境や利用形態が変化することによって、時間と共に修正が必要な状態になる可能性は高い。すなわち、ルールの修正作業は問題解決の質の維持には欠かせないものである。しかしながら、ルールは複雑な条件から構成されることが多く、条件属性が増えれば増える程、ルールの修正作業は難しくなる。
【0004】
ルールの修正作業には、2つのフェーズがある。最初のフェーズは、ルールの現状把握であり、次のフェーズは、ルールの修正である。ここでは、より重要な1つ目のフェーズであるルールの現状把握に注目する。ルールの現状把握とは、条件部がどのような内容であるかを把握したり、条件部に記述される複数の条件間の関係や、複数のルール間の関係を把握することである。しかしながら、ルールの条件部には、条件属性に関する複数の条件が列挙され、多数のルールが記載されるため、ルールまたは複数のルールを見ただけでは容易にルールの現状把握を行うことができない。その理由は、属性1つにつき座標軸を1軸とすると、条件部は多次元空間上の多次元立方体として表現され、属性数が4種類以上になると4次元以上の多次元空間になり、複数の条件間の関係を把握することが困難になるためである。この多次元立方体として表現されるルールの現状把握を容易にする技術が望まれている。
【0005】
複数の属性を持つルール等が表現された多次元立方体の現状把握を容易にするには、可視化することが最善である。しかしながら、4次元以上の多次元空間を、コンピュータのディスプレイや紙等の平面に出力することは困難である。
【0006】
多次元データを3次元空間以下に縮退させる方法として知られている主成分分析等の多次元尺度法に関する技術が、例えば、特許文献1、特許文献2および特許文献3に記載されている。多次元尺度法は、多次元空間上に多数の点データを表示させるものである。
【0007】
一方、多次元データベースの世界では、多次元データを表示するスライシングという技術が広く知られている。スライシングとは、多次元空間をある断面で切って2次元の表で表示することである。スライシングに関する技術が、特許文献4、特許文献5、特許文献6および特許文献7に記載されている。
【0008】
【特許文献1】特開2002−41193号公報(段落0013−0019)
【特許文献2】特開2003−44828号公報(段落0039−0078)
【特許文献3】特開2003−141165号公報(段落0071−0075)
【特許文献4】特開2000−293281号公報(段落0007−0010)
【特許文献5】特開2001−5984号公報(段落0021−0027)
【特許文献6】特開2003−6227号公報(段落0020−0022)
【特許文献7】特開2004−252797号公報(段落0019−0028)
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかし、特許文献1,2および3に記載された方式では、多次元尺度法を用いて多次元空間を3次元空間以下に縮退した場合、座標軸が元の属性(次元軸)とは無関係になるため、縮退した空間上ではルールの条件部の属性や条件範囲が全く分からなくなる。そのため、問題解決の質に直結するルールの修正作業には適していない。
【0010】
また、特許文献4から特許文献7に記載された多次元空間データの表示方法では、ユーザに2次元の軸を多次元の軸から選ばせて2次元空間にし、その上で多次元空間データを表示している。しかし、どのように2次元の軸を選ぶかに関しては考慮していない。特許文献7記載の従来技術は、一度専門家が行った2次元軸の選択をノウハウとして再利用することで軸を選択する作業工数が低減されている。しかしながら、該従来技術の再利用方法は、なぜその軸を選んだかが2回目以降のユーザには不明であり、本当に表示して欲しい2次元の軸が選択されているかどうかは偶然に期待するよりない。
【0011】
以上に説明したように、ルール等が表現された多次元立方体の現状把握を行うためには、多次元尺度法を用いて次元を縮退させることは現実的ではなく、多次元から適切な次元を少数選ぶ必要がある。しかし、スライシングによって2次元にするにあたっては、どの2次元の軸を選ぶのかがそもそも難しい。すなわち、多次元立方体となるルールの現状把握を行うために、人が理解できる3次元以下の空間にルールを表示できるように適切な3個以下の軸を自動的に選べることが好ましい。
【0012】
そこで、本発明は、問題解決のために使用されるルール集合の管理において、ルール集合の現状把握を可能とする多次元ルール可視化システム、多次元ルール可視化方法、多次元ルール可視化プログラム、可視化データ生成システム、可視化データ生成方法および可視化データ生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明による多次元ルール可視化システムは、属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示する多次元ルール可視化システムであって、ルールの集合を入力する入力手段と、入力手段によって入力されたルールの集合を記憶するルール記憶手段と、属性の値の範囲に基づいて重要度を算出して重要な属性を選択し、選択した属性の値の範囲の開始点および終了点によって特定される領域とルールとの対応関係を示す可視化データを生成する重要度計算手段と、重要度計算手段によって生成された可視化データを出力する出力手段とを備えることを特徴とする。
【0014】
重要度計算手段によって生成された可視化データが示す複数の領域の重なりに基づいて、狭い領域を拡張し、可視化データを修正する強調表示手段を備えてもよい。そのような構成によれば、狭い領域を拡張することができ、ルール間の関係の把握がより容易になる。
【0015】
重要度計算手段は、ルールの組み合わせ毎の属性の値の範囲が重なる度合いである重複度を計算し、計算した重複度の平均値を属性の重要度として、重要度の高い属性を選択してもよい。そのような構成によれば、重複度が大きい属性を重要な属性として選択し、重要な属性についてのルール間の関係を容易に把握することができる。
【0016】
重要度計算手段は、各ルールの属性の値の範囲の広さと、ルールの組み合わせ毎の属性の値の範囲が重なる広さとに基づいて、重複度を計算してもよい。そのような構成によれば、属性の値の範囲の広さおよび重なりに基づいた重要度を算出することができる。
【0017】
重要度計算手段は、各属性が取りうる全ての値の範囲に対して、各ルールの適用条件である属性の値の範囲が占める度合いである被覆度を計算し、計算した被覆度を属性の重要度として、重要度の高い属性を選択してもよい。そのような構成によれば、被覆度が大きい属性を重要な属性として選択し、重要な属性についてのルール間の関係を容易に把握することができる。
【0018】
重要度計算手段は、各ルールの適用条件である属性の値の範囲の広さに基づいて被覆度を計算してもよい。そのような構成によれば、属性の値の範囲の広さに基づいた重要度を算出することができる。
【0019】
重要度計算手段は、重複度または被覆度に基づいて最も重要な属性を選択する最重要軸選択手段と、最重要軸選択手段が選択した属性以外の属性を選択する軸選択手段とを備えてもよい。そのような構成によれば、重複度または被覆度が大きい属性を最も重要な属性として選択し、最も重要な属性とその他の属性についてのルール間の関係を容易に把握することができる。
【0020】
軸選択手段は、利用者からの要求に応じて属性を選択してもよい。そのような構成によれば、利用者の要求に応じた属性についてのルール間の関係を容易に把握することができる。
【0021】
本発明による多次元ルール可視化方法は、属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示する多次元ルール可視化方法であって、入力手段は、ルールの集合を入力し、ルール記憶手段は、入力手段によって入力されたルールの集合を記憶し、重要度計算手段は、属性の値の範囲に基づいて重要度を算出して重要な属性を選択し、選択した属性の値の範囲の開始点および終了点によって特定される領域とルールとの対応関係を示す可視化データを生成し、出力手段は、重要度計算手段によって生成された可視化データを出力することを特徴とする。
【0022】
本発明による多次元ルール可視化プログラムは、属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示するコンピュータに搭載される多次元ルール可視化プログラムであって、コンピュータに、ルールの集合を入力する処理と、入力されたルールの集合を記憶する処理と、属性の値の範囲に基づいて重要度を算出して重要な属性を選択し、選択した属性の値の範囲の開始点および終了点によって特定される領域とルールとの対応関係を示す可視化データを生成する処理と、生成された可視化データを出力する処理とを実行させることを特徴とする。
【0023】
本発明による可視化データ生成システムは、属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示するための可視化データを生成する可視化データ生成システムであって、属性の値の範囲に基づいて重要度を算出して重要な属性を選択し、選択した属性の値の範囲の開始点および終了点によって特定される領域とルールとの対応関係を示す可視化データを生成する重要度計算手段と、重要度計算手段によって生成された可視化データが示す複数の領域の重なりに基づいて、狭い領域を拡張し、可視化データを修正する強調表示手段とを備えることを特徴とする。
【0024】
本発明による可視化データ生成方法は、属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示するための可視化データを生成する可視化データ生成方法であって、重要度計算手段は、属性の値の範囲に基づいて重要度を算出して重要な属性を選択し、選択した属性の値の範囲の開始点および終了点によって特定される領域とルールとの対応関係を示す可視化データを生成し、強調表示手段は、重要度計算手段によって生成された可視化データが示す複数の領域の重なりに基づいて、狭い領域を拡張し、可視化データを修正することを特徴とする。
【0025】
本発明による可視化データ生成プログラムは、属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示するための可視化データを生成するコンピュータに搭載される可視化データ生成プログラムであって、コンピュータに、属性の値の範囲に基づいて重要度を算出して重要な属性を選択し、選択した属性の値の範囲の開始点および終了点によって特定される領域とルールとの対応関係を示す可視化データを生成する処理と、生成された可視化データが示す複数の領域の重なりに基づいて、狭い領域を拡張し、可視化データを修正する処理とを実行させることを特徴とする。
【0026】
本発明による多次元ルール可視化システムの好ましい一態様は、例えば、複数の属性から重複度によって重要な属性を選ぶ重複度計算手段と2次元または3次元空間でルールを表現する出力手段とを備え、多次元空間で表現すべき複数のルールを2次元または3次元空間で表現するよう動作する。このような構成を採用し、ルールを可視化することにより本発明の目的を達成することができる。
【0027】
本発明による多次元ルール可視化システムの好ましい一態様は、例えば、ルールを表示する際に微小領域を広げる強調表示手段と2次元または3次元空間でルールを表現する出力手段とを備え、属性の開始点や終了点やルールの開始点や終了点で発生する狭い領域を広げて表現するように動作する。このような構成を採用し、ルールを可視化することにより本発明の目的を達成することができる。
【0028】
本発明による多次元ルール可視化システムの好ましい一態様は、例えば、複数の属性から被覆度によって重要な属性を選ぶ被覆度計算手段と2次元または3次元空間でルールを表現する出力手段を備え、多次元空間で表現すべき複数のルールを2次元または3次元空間で表現するよう動作する。このような構成を採用し、ルールを可視化することにより本発明の目的を達成することができる。
【0029】
本発明による多次元ルール可視化システムの好ましい一態様は、例えば、複数の属性から最も重要な属性を選ぶ最重要軸選択手段と残りの属性から任意の属性を選択する手段を提供する軸選択手段と2次元または3次元空間でルールを表現する出力手段を備え、多次元空間で表現すべき複数のルールを2次元または3次元空間で表現するよう動作する。このような構成を採用し、ルールを可視化することにより本発明の目的を達成することができる。
【発明の効果】
【0030】
本発明によれば、どれほど高次元な多次元立方体となるルールであっても、ルール集合の管理作業を行うユーザが現状把握を容易にできるという効果がある。その理由は、ルールの条件属性毎に重複度を計算し、重要な属性を自動的に選択し、ルールを表示できるためである。また、ルール間の重なりが微小になってしまう領域を修正して大きくすることで重なり関係が分かりやすくなるためである。また、ルールの条件属性毎に被覆度を計算し、重要な属性を自動的に選択し、ルールを表示できるためである。また、最も重要な属性を自動的に選択し、残りの属性をユーザが自由に選ぶことができるためである。
【発明を実施するための最良の形態】
【0031】
実施の形態1.
以下、本発明の第1の実施の形態を図面を参照して説明する。図1は、本発明による多次元ルール可視化システムの第1の実施の形態を示すブロック図である。図1に示す多次元ルール可視化システムは、ルール集合910から任意のルール集合を入力してルール記憶手段110に出力する入力手段920と、入力手段920から出力されたルール集合を記憶するルール記憶手段110と、ルール集合を2次元平面上に表示するための処理を実行する可視化データ生成システム100と、可視化データ生成システム100によって可視化されたデータを出力する出力手段140とを備える。
【0032】
可視化データ生成システム100は、ルールの組み合わせ毎に重複度を計算して重要な属性を選択する重複度計算手段120と、2次元平面上でルールを表示する際に微小領域を強調表示する強調表示手段130とを含む。可視化データ生成システム100は、例えば、パーソナルコンピュータなどで実現される。
【0033】
重複度計算手段120は、重要度の高い属性を選択する処理を実行する機能を有する。重複度計算手段120は、ルール記憶手段110が記憶するルール集合を参照し、各属性について、ルールの組み合わせ毎に重複度を計算することによって重要度を算出し、重要度の高い属性を選択する。また、重複度計算手段120は、選択した属性についての全てのルールの条件範囲を、可視化データとして強調表示手段130に出力する処理を実行する機能を有する。
【0034】
重複度は、ある属性に着目した場合に、あるルールの条件範囲と別のルールの条件範囲とが重なる度合いを示す値であって、一つの属性について、ルールの組み合わせの数だけ算出される。重要度は、属性ごとに算出される値であって、算出された重複度の合計をルールの組み合わせの数で除算することにより算出される。すなわち、重要度は、重複度の平均値である。
【0035】
強調表示手段130は、微小領域を強調表示するための強調表示データを生成し、表示を制御する処理を実行する機能を有する。強調表示手段130は、重複度計算手段120によって出力された可視化データを参照して、条件範囲が予め定められた基準よりも狭い場合に、見た目の範囲を拡大した強調表示データを生成し、2次元平面図として出力手段140に出力する。
【0036】
重複度計算手段120および強調表示手段130は、例えば、プログラムに従って動作するCPU(図示せず。)と、ルール記憶手段110および出力手段140との間で情報の入出力を行うインタフェース部とによって実現される。なお、CPUによって実行されるプログラムは、例えば、可視化データ生成システム100が備える記憶装置(図示せず。)に記憶される。
【0037】
ルール集合910は、複数の条件属性を有するルールの集合を記憶する。図2は、ルール集合910が記憶するルール集合の例を示す説明図である。ルール集合は、複数のルールの集合であって、一つのルールは、条件部と実行部とを有する。条件部には、条件として、それぞれの属性が取りうる値の範囲が記述される。また、属性には、連番が付与されるものとする。例えば、図2を参照すると、ルールR101では、属性1の条件範囲が10〜50、属性2の条件範囲が70〜80、属性3の条件範囲が0〜10、属性4の条件範囲が50〜50(すなわち50のみ)、属性5の条件範囲が0〜100であって、アクションはAである。
【0038】
図2には、ルール集合が5つのルールを有するとともに、各ルールが、それぞれ5つの属性を有する場合が例示されているが、属性はいくつであってもよい。また、条件属性の組み合わせは任意である。条件部、すなわち各条件属性の範囲のすべてが満たされる場合に、実行部(アクション)に記載された処理が実行される。なお、アクションとして記載される内容は、処理であっても値であっても何でも構わない。
【0039】
入力手段920は、ルール集合910から任意のルール集合を取得して、取得したルール集合をルール記憶手段110に出力する。ここで、任意のルール集合とは、多次元ルール可視化システムを利用しているユーザによって選択されたルールや、ルール集合910の全てのルールの集合であってもよく、何らかの基準(例えば、先頭から3個のルールのみ)で選択されたルールであっても構わない。
【0040】
ルール記憶手段110は、入力手段920から出力されたルール集合を記憶する記憶手段である。ルール記憶手段110は、例えば記憶装置によって実現される。ここでは、ルール集合910の全てのルール集合が、入力手段920によってルール記憶手段110に出力されるものとする。すなわち、ルール記憶手段110は、図2に示すルール集合を記憶するものとして、以下の説明を行う。
【0041】
出力手段140は、可視化データ生成システム100から出力された強調表示データを出力する。出力手段140は、例えば、ディスプレイ装置によって実現される。
【0042】
第1の実施の形態において、重要度計算手段は、重複度計算手段120によって実現される。
【0043】
次に、第1の実施の形態の動作について説明する。入力手段920は、ルール集合910から任意のルールを取得し、そのルール集合をルール記憶手段110に出力する。
【0044】
重複度計算手段120は、ルール記憶手段110が記憶するルール集合の条件属性の値から重複度を計算して、その結果をもとに重要度を算出し、重要度の高い属性を選択する。図3は、重複度計算手段120による属性選択処理の例を示すフローチャートである。
【0045】
重複度計算手段120は、まずルール記憶手段110のルール集合から、ルールの属性数を取得する(ステップS100)。属性数とは、ルール集合における条件属性の数を意味する。例えば、図2に例示するルール集合の場合、属性数は5となる。
【0046】
次に、重複度計算手段120は、繰り返し変数kを1に初期化し(ステップS101)、変数kが属性数以下であるか否かを判定する(ステップS102)。ここで、変数kは、属性の連番を意味する変数である。変数kが属性数以下の場合(yes)、重複度計算手段120は、k番目の属性の重要度を計算する(ステップS103)。ステップS103における重要度の計算については、図4に示すフローチャートを参照して説明する。重複度計算手段120は、算出された重要度を保存する(ステップS104)。
【0047】
変数kをインクリメントし(ステップS105)、S102に移行する。S102で変数kが属性数より大きくなった場合(no)、すなわち、全ての属性について重要度を算出した場合に、重複度計算手段120は、属性を重要度の値をキーとしてソートする(ステップS106)。重複度計算手段120は、重要度の高い属性2個を決定し、決定した属性についての全てのルールの条件範囲を含む可視化データを強調表示手段130に出力して、一連の処理を終了する(ステップS107)。
【0048】
図4は、重複度計算手段120による重要度算出処理の例を示すフローチャートである。重複度計算手段120は、ステップS103において、着目する属性の重要度を計算する。
【0049】
重複度計算手段120は、各種の変数を初期化する(ステップS200)。具体的には、変数nをルール集合のルール数で初期化する。図2を参照すると、ルール集合におけるルール数は5であるので、変数nは5で初期化される。また、変数pおよび変数cは0で初期化され、変数iは1で初期化される。変数pは、重複度および重複度を計算するための重複度の積算値を保持する変数である。変数cは、ルールの組み合わせの数を保持する変数である。
【0050】
次に、重複度計算手段120は、変数iが変数n以下であるか否かを判定する(ステップS201)。変数iが変数n以下である場合(yes)は、ステップS202に進み、変数iが変数nより大きい場合(no)はステップS207に進む。ステップS202において、重複度計算手段120は、変数jに変数iの値に1を加えた値を代入する。
【0051】
重複度計算手段120は、変数jが変数n以下であるか否かを判定する(ステップS203)。変数jが変数n以下である場合(yes)は、ステップS204に進み、変数nより大きい場合(no)はステップS206に進む。
【0052】
図4に示すフローチャートにおいて、変数i,jは、ルールの連番を意味する変数である。図4を参照すると、変数iおよび変数jに関する2つのループが存在することがわかる。この2つのループによって、ルール集合から2個のルールを選択する全ての組み合わせを作ることができる。
【0053】
ステップS204において、重複度計算手段120は、i番目のルールとj番目のルールの重複度を計算する。以降、i番目のルールをルールi、j番目のルールをルールjと呼ぶ。ステップS204において、2つのルール間の重複度は、以下に示す計算式で算出されるものとする。なお、式(1)の計算式については後述する。
【0054】
【数1】

【0055】
重複度計算手段120は、ステップS204で算出した重複度を変数pに加算し、変数cおよび変数jをインクリメントする(ステップS205)。そして、ステップS203に移行する。
【0056】
ステップS206において、重複度計算手段120は、変数iをインクリメントし、ステップS201に移行する。ステップS207において、重複度計算手段120は、変数pを変数cで割ることによって、着目する属性の重要度を算出し、処理を終了する。
【0057】
式(1)に示す重複度の計算式について説明する。SiおよびSjは、それぞれ、ある属性に着目した場合の、ルールiおよびルールjにおける条件範囲の広さを示す値である。Sijは、ルールiの条件範囲とルールjの条件範囲とが重なる範囲の広さを示す値である。
【0058】
図5は、各ルールにおける条件範囲の広さを説明するための説明図である。図5を参照して、Si,SjおよびSijについて説明する。以下の説明では、着目する属性は図2に示す属性1であって、ルールiおよびルールjは、それぞれ、ルール集合のルールR101およびルールR102であるものとする。図5に示す例では、Siは、ルールR101における属性1の条件範囲10から50の広さであり、Sjは、ルールR102における属性1の条件範囲30から80の広さである。つまり、Siは41、Sjは51となる。また、Sijは、範囲30から50の広さであるから、Sij=21となる。
【0059】
また、wは、属性ごとに定められる値であって、属性の全範囲(すなわち、属性が取りうる値の範囲)の広さに応じて決まる重みを示す。例えば、ある属性の全範囲が0〜256の場合はw=1/8、0〜65535の場合はw=1/16、0〜4294967296の場合はw=1/32等のように、属性の全範囲の広さに応じてwの値をあらかじめ決めておく。なお、図2に示すルール集合の例では、全ての属性の全範囲が同じであるとし、w=1(すなわち、属性の違いによる重みの差はなし)として以下に説明する。
【0060】
式(1)に示す重複度の計算式は、logの2項目の分子にある「Si+Sj−2Sij」という計算に特徴がある。ルールiおよびルールjの条件範囲が等しい場合、すなわちSi+Sj=2Sijの場合、Si+Sj−2Sijは0になり、重複度も0となる。また、重なりがない場合、すなわちSij=0の場合も、重複度は0となる。それ以外の場合は、おおまかには重なりが小さい程、重複度は大きくなる。
【0061】
式(1)に示す計算式は、重なりが小さいためにルールの修正作業において見落としやすいルールの関係を見つけることを目的として定義されている。しかしながら、式(1)に示す重複度の計算式は、一例であり、この計算式に限定するものではない。例えば、重なりが大きいルールの関係を見つけることが重要である場合は、重なりが大きければ大きい程、重複度の値が大きくなるような計算式を定義しておけば良い。
【0062】
図2に示すルール集合について、各属性の重要度を計算した結果を図6に示す。図2に示すルール集合には、ルールが5個あるため、2個のルールを選択する組み合わせは10通りである。重複度計算手段120は、10通りの組み合わせのそれぞれについて、ステップS204において式(1)に示す計算式で重複度を計算し、ステップS103において10個の重複度の平均値を重要度として算出する。
【0063】
図6に示すように、それぞれの属性の重要度は、属性1は0.3775、属性2は0.4057、属性3は0.1903、属性4は0.1066、属性5は0.2359となる(小数点以下第5位を四捨五入している)。重複度計算手段120は、図3のステップS106において、算出した重要度の値をキーとして属性をソートし、ステップS107において、重要度の高い上位2属性を決定し、可視化データを生成する。すなわち、属性2および属性1が上位2属性と決定され、属性2および属性1についての全ルールの存在範囲を含む可視化データが生成される。
【0064】
上位2属性をそれぞれX軸とY軸とし、図2に示すルール集合に基づいて生成された可視化データを2次元平面上に描画した模式図を図7に示す。図7において、X軸は最も重要度の高い属性(属性2)に対応し、Y軸は2番目に重要度の高い属性(属性1)に対応する。また、属性2の条件範囲と属性1の条件範囲とから定まる矩形を、各ルールについて表記する。ルールのアクションがAの場合は、矩形の内部に右上がりの斜線を付し、アクションがBの場合は、矩形の内部に右下がりの斜線を付して表している。
【0065】
重複度計算手段120が重要な属性を2個選択し、可視化データを出力すると、強調表示手段130は、出力された可視化データに基づいて、視認しにくい微小領域を強調表示するための処理を行う。図7を参照すると、各ルールの条件範囲を示す矩形は、それぞれ幅があるため、ルール間の重なり関係等を視認しやすいが、ルールの矩形の幅が狭かったり、ルール間の重なり領域が狭かったりすると、どこで重なっているのか認識することが難しい。
【0066】
図8は、可視化データを2次元平面上で表した模式図である。図8には、模式的に、ルールR111,R112,R113を表している。例えば、図8に示すようなルール間の関係の場合、重なりの幅がそれぞれ狭いため、どこで重なっているのか認識し辛い。そこで、強調表示手段130は、ルール間の関係を認識しやすいように、領域が狭い部分を広げて変形する処理を行う。
【0067】
図9は、強調表示手段130による強調表示処理の例を示すフローチャートである。まず、強調表示手段130は、変数iを1に初期化する(ステップS300)。強調表示手段130は、変数iが属性数以下であるか否かを判定する(ステップS301)。変数iが属性数以下である場合(yes)は、ステップS302に移行する。なお、ここでの属性数とは、重複度計算手段120が選択した2個の属性であるが、2個の属性に限ったものではない。
【0068】
ステップS302において、強調表示手段130は、重複度計算手段120によって出力された可視化データを参照し、i番目の属性における各ルールで作る領域の数を変数nに代入する(ステップS302)。各ルールで作る領域、すなわち各ルールの条件範囲が作る領域とは、全てのルールの条件範囲の始点および終点が作る最小の領域を意味する。各ルールの条件範囲が作る領域について、図10を参照して説明する。図10には、始点および終点を共有していない2個のルールの条件範囲が作る3個の領域(g1〜g3)が例示されている。図10には、2個のルール(ルールi,j)の条件範囲の大小関係によって異なる3つのパターン(a),(b)および(c)を示す。
【0069】
ルールiの始点が、ルールjの終点より大きい場合、領域g1はルールjの条件範囲と等しく、領域g2はルールjの終点からルールiの始点までの範囲となり、領域g3はルールiの条件範囲と等しくなる(図10(a)参照。)。ルールiの始点が、ルールjの条件範囲に含まれ、かつルールiの終点がルールjの終点より大きい場合、領域g1はルールjの始点からルールiの始点までの範囲となり、領域g2はルールiの始点からルールjの終点までの範囲となり、領域g3はルールjの終点からルールiの終点までの範囲となる(図10(b)参照。)。ルールjの始点および終点が、ルールiの条件範囲に含まれる場合、領域g1はルールiの始点からルールjの始点までの範囲となり、領域g2はルールjの条件範囲と等しく、領域g3はルールjの終点からルールiの終点までの範囲となる(図10(c)参照。)。一般に、全てのルールの条件範囲の始点と終点が異なる場合、ルール数がx個ならば、2x−1個の領域ができる。
【0070】
次に、強調表示手段130は、変数nから閾値を決定する(ステップS303)。ここでの閾値とは、全領域の大きさに対してある領域の大きさが小さすぎるとされる時の、ある領域が全領域に占める割合を意味するものとする。例えば、領域の数が7個であってある領域の大きさが全領域の5%以下になった時にある領域が小さすぎて認識しにくいとした場合、閾値を5%とすることができる。
【0071】
強調表示手段130は、閾値以下の大きさの領域を検索し、検索された領域を閾値の大きさにまで拡大する(ステップS304)。そして、ステップS304で拡大した領域の大きさを、大きな領域から差し引く(ステップS305)。ステップS304およびステップS305の処理によって、可視化データにおける小さな領域が拡大された強調表示データが生成される。
【0072】
図11は、強調表示の具体例を示す説明図である。図11には、始点および終点を共有していない2個のルールの条件範囲が作る3個の領域(g1〜g3)が例示されている。図11(a)には、図10(b)に示すパターンと同様であって、領域g2の大きさが小さい場合が例示されている。ステップS304およびステップS305の処理によって、領域g2が検索され、領域g2の終点であるルールjの終点が拡大されると、代わりにg3の領域が小さくなる(図11(b)参照)。
【0073】
強調表示手段130は、変数iをインクリメントし(ステップS306)、ステップS301に移行する。ステップS301において、変数iが属性数より大きい場合(no)、強調表示手段130は、可視化データを修正した強調表示データを2次元平面図として出力手段140に出力し、一連の処理を終了する。
【0074】
出力手段140は、強調表示手段130によって出力された情報に基づいて、多次元ルール可視化システムのユーザに提供するために2次元平面図を表示する。なお、上記の説明では、出力手段140としてディスプレイ装置を例示しているが、出力形態は、ファイルや紙であってもよく、ディスプレイ装置に限定されない。
【0075】
強調表示手段130の処理によって、強調表示データが生成され、図8に示す表示が図12に例示するような表示に修正される。図12に示す例では、ルールR111のY軸方向の領域およびルールR112のX軸方向の領域が拡大されている。
【0076】
本実施の形態では、重複度計算手段120および強調表示手段130を備えるとしているが、単に重複度計算手段120のみで強調表示手段130がなくても構わない。その場合、重複度計算手段120は、可視化データを2次元平面図として出力手段140に出力してもよい。また、重複度計算手段120と強調表示手段130の処理手順(図3、図4および図9)は単なる一例であって、同様の結果を得るために他の処理手順を行うことも可能であり、図3、図4および図9に示すフローチャートの処理手順に限定するものではない。また、本実施の形態では、重複度計算手段120が属性を2個選択する例を用いて説明しているが、3個選択して3次元空間でルールを表示しても構わない。
【0077】
次に、具体例を用いて、第1の実施の形態の動作を説明する。第1の実施の形態の構成は、図1に示す構成である。以下の説明では、ネットワークセキュリティに関し、ファイアウォールやルータで行われるパケットフィルタリングのフィルタリングルールをルール集合の例として説明する。
【0078】
ルール集合910には、図13に例示するパケットフィルタリングのルール集合が記録されているものとする。
【0079】
パケットフィルタリングとは、ネットワークとネットワークを結ぶファイアウォールやルータなどのネットワーク機器でセキュリティを確保するために設けられる仕組みであり、一方のネットワークから他方のネットワークに流れるネットワークのデータ(パケット)のヘッダ部分を参照し、ルールと照合することでパケットの通過を許可したり禁止(廃棄)したりする処理である。
【0080】
パケットフィルタリングのルールは、上記のヘッダ部分の属性をそれぞれ条件属性としている。なお、パケットのヘッダ情報には、送信元アドレス(図13では送信元IPと表記)、送信元ポート、送信先アドレス(図13では送信先IPと表記)、送信先ポート、プロトコルがある。他にフラグ等のヘッダ情報があるが、ここでは省略する。
【0081】
フィルタリングルールは、上記のヘッダ情報を条件属性とした条件部と、パケットの通過の可否をアクションとした実行部からなる。条件部には、各条件属性の範囲が記載される。
【0082】
送信元アドレスと送信先アドレスは、32ビットで構成され、一般的にX.X.X.Xのように8ビットずつドット(.)で区切った形式で表される。すなわち、送信元アドレスと送信先アドレスは、最大で0.0.0.0から255.255.255.255の範囲を持つ。
【0083】
図13に示す例では、アドレスの範囲を示すためにネットマスクを用いている。ネットマスクは、「/Y」と表記され、Yはビットを表す。例えば、0.0.0.0/0と記載される場合、ネットマスクは0ビットである。すなわち、アドレスが0.0.0.0〜255.255.255.255の範囲にあることが条件であることを示す。また、192.168.1.0/24と記載される場合、ネットマスクは24ビットである。すなわち、アドレスが192.168.1.0〜192.168.1.255の範囲にあることが条件であることを示す。
【0084】
送信元ポートおよび送信先ポートのポート番号は、16ビットで構成され、最大で0から65535までとなる。プロトコルは、一般には8ビットで構成されるが、ここでは一般的に良く用いられるtcp、udpおよびicmpの3種類とし、それぞれに、範囲を示す値として、1,2および3を割り当てるものとする。すなわち、プロトコルの条件が、tcpおよびudpの場合は1〜2,tcp、udpおよびicmpの場合は1〜3と記載される。したがって、本実施例におけるプロトコルは2ビットの範囲となる。図13のルールR201は、送信元アドレスが全ての範囲(すなわち任意)で、送信元ポートが全ての範囲で、送信先アドレスが192.168.1.1から192.168.1.16の範囲で、送信先ポートが0から1024で、プロトコルがtcpであるようなパケットを、通過させる(allow)ことを意味している。
【0085】
入力手段920によって、ルール集合910からルール記憶手段110にルール集合が渡される。本実施例では、図13に示すルール集合のうち、先頭の2ルールのみ(すなわち、ルールR201,R202)がルール記憶手段110に渡されるものとする。重複度計算手段120は、図3と図4のフローチャートに従い、各属性の重要度を計算する。ここで、重複度計算手段120は、式(1)の重複度計算式を用いるものとし、重みは、それぞれ、アドレスが1/32、ポートが1/16、プロトコルが1/2とする。
【0086】
図14は、算出された各属性の重要度の例を示す説明図である。図14に例示するように、送信元アドレスと送信元ポートの重要度が0、送信先アドレスの重要度が3.4340、送信先ポートの重要度が2.8286、プロトコルの重要度が0.6931となり、上位2属性は、送信先アドレスと送信先ポートとなる。図14に示すルール集合に基づいて生成された可視化データを、送信先アドレスをX軸、送信先ポートをY軸として、2次元平面で表示した場合、図15に示す表示になる。
【0087】
強調表示手段130は、図9に示すフローチャートに従って、領域を修正する処理を行う。ここで、領域の数が3個の場合、閾値は10%であるものとする。その結果、微小領域は、強調表示手段130によって、大きく拡大されるように修正される。
【0088】
出力手段140は、重複度計算手段120と強調表示手段130によって算出された属性軸と表示領域を含む強調表示データを用いて、ルールR201,R202を2次元平面にプロットする。具体的には、図16に示すような出力となる。
【0089】
次に、本実施の形態の効果について説明する。本実施の形態によれば、どれほど高次元な多次元立方体となるルールであっても、ルール集合の管理作業を行うユーザが現状把握を容易にできる、という効果がある。その理由は、ルールの条件属性毎に重複度を計算し、重要な属性を自動的に選択し、ルールを表示できるためである。また、ルール間の重なりが微小になってしまう領域を修正して大きくすることで重なり関係が分かりやすくなるためである。
【0090】
実施の形態2.
本発明の第2の実施の形態を図面を参照して説明する。図17は、本発明による多次元ルール可視化システムの第2の実施の形態を示すブロック図である。図17に示す多次元ルール可視化システムは、ルール集合910から任意のルール集合を取得してルール記憶手段110に出力する入力手段920と、入力手段920から出力されたルール集合を記憶するルール記憶手段110と、ルール集合を2次元平面上に表示するための処理を実行する可視化データ生成システム101と、可視化データ生成システム101によって可視化されたデータを出力する出力手段140とを備える。
【0091】
可視化データ生成システム101は、ルールの条件属性毎に被覆度を計算して重要な属性を選択する被覆度計算手段150と、2次元平面上でルールを表示する際に微小領域を強調表示する強調表示手段130とを含む。なお、第1の実施の形態と同様の構成部については、図1と同一の符号を付し、説明を省略する。
【0092】
第2の実施の形態において、重要度計算手段は、被覆度計算手段150によって実現される。
【0093】
次に、図面を参照して第2の実施の形態の動作について説明する。なお、第1の実施の形態と同様の動作については、詳細な説明を省略する。ルール記憶手段110にルール集合が記憶されるまでの入力手段920の動作は、第1の実施の形態の動作と同様である。ここでは、ルール集合910が、図18に例示するルール集合を記憶しているものとし、さらに、入力手段920によって、ルール集合910の全てのルールがルール記憶手段110に記憶されたものとする。
【0094】
被覆度計算手段150は、ルール記憶手段110が記憶するルール集合の条件属性の値から被覆度を計算して、その結果をもとに重要度を算出し、重要度の高い属性を選択する。被覆度および重要度については後述する。図19は、被覆度計算手段150による被覆度計算処理の例を示すフローチャートである。
【0095】
被覆度計算手段150は、まずルール記憶手段110のルール集合から、ルールの属性数を取得する(ステップS400)。例えば、図18に例示するルール集合の場合、属性数は5となる。
【0096】
次に、被覆度計算手段150は、繰り返し変数kを1に初期化(ステップS401)し、変数kが属性数以下であるか否かを判定する(ステップS402)。ここで、変数kは、属性の連番を意味する変数である。変数kが属性数以下の場合(yes)、被覆度計算手段150は、k番目の属性の重要度を計算する(ステップS403)。ステップS403における重要度の計算については、図20に示すフローチャートを参照して説明する。被覆度計算手段150は、算出された重要度を保存する(ステップS404)。
【0097】
変数kをインクリメントし(ステップS405)、S402に移行する。S402で変数kが属性値より大きくなった場合(no)、すなわち、全ての属性について重要度を算出した場合に、被覆度計算手段150は、属性を重要度の値をキーとしてソートし(ステップS406)、重要度の高い属性2個を決定し(ステップS407)、一連の処理を終了する。
【0098】
図20は、被覆度計算手段150による被覆度計算処理の例を示すフローチャートである。被覆度計算手段150は、ステップS403において、着目する属性の重要度を計算する。
【0099】
まず、被覆度計算手段150は、属性の全範囲を得て、領域Uを作る(ステップS500)。属性の全範囲とは、属性が取り得る値の範囲である。例えば、属性が、16ビットで構成されるパケットのポート番号ならば、属性の全範囲は、0〜65535となる。領域Uは、属性の全範囲に対応するメモリ領域であり、配列であっても良いし、ビットフィールドであっても良い。ここでは、領域Uはビットフィールドとする。なお、図18に示すルール集合の各属性は、0〜100までの範囲の値を取りうる。したがって、領域Uは、属性の全範囲0〜100に対応するビットフィールドであるものとする。また、特定のビットの値を示す際には、例えば、「範囲0〜1の値」のように表記するものとして、以下の説明を行う。また、領域Uにおける各ルールの「条件範囲の値」は1であるものとする。すなわち、あるルールの条件範囲が98〜100である場合、条件範囲98〜100の値は1となる。
【0100】
被覆度計算手段150は、領域Uの全ビットを0で初期化し、変数iを1で初期化する(ステップS501)。図21は、領域Uの例を示す説明図である。領域Uは、属性が取りうる0から100までの値に対応するビットから構成される。ステップS501において、全てのビットは0で初期化される(図21(a)参照。)。すなわち、ステップS501において、領域Uの範囲0〜100の値は0となる。
【0101】
次に、被覆度計算手段150は、変数iが、ルール記憶手段110に記憶されているルール集合のルール数以下であるか否かを判定する(ステップS502)。変数iがルール数以下である場合(yes)、被覆度計算手段150は、i番目のルールの条件範囲の値と領域Uとの論理和を領域Uに代入する(ステップS503)。図20に示すフローチャートにおいて、変数iは、ルールの連番を意味する変数である。
【0102】
例えば、変数iが1の場合、1番目のルールは、図18に示すルール集合ではルールR301である。ルールR301の属性1の条件範囲は11〜18であるため、条件範囲11〜18の値は1である。ステップS503において、被覆度計算手段150は、範囲0〜100の値が0である領域Uと、条件範囲11〜18の値1との論理和を算出し、領域Uの範囲11〜18の値を1とする(図21(b)参照。)。
【0103】
被覆度計算手段150は、変数iをインクリメントし(ステップS504)、ステップS502に移行する。変数iに2が代入され、ステップS503の処理がなされた場合の領域Uを、図21(c)に示す。
【0104】
上記の処理を、全てのルールに対して行う。ステップS502において、変数iがルール数より大きくなると(no)、領域Uの被覆度を計算し、重要度とする(ステップS505)。
【0105】
第2の実施の形態において、重要度は、属性ごとに算出される値であって、被覆度に等しい値である。被覆度は、ある属性に着目した場合に、属性の全範囲(すなわち、属性が取り得る値の範囲)に対して、すべてのルールの条件範囲が占める度合いを示す値であって、一つの属性について一つの値が算出される。ステップS505において、領域Uの被覆度は、以下に示す計算式で算出されるものとする。
【0106】
【数2】

【0107】
式(2)に示す被覆度の計算式について述べる。変数nは、領域Uにおいて値0が1個以上連続している領域の数である。このように値0が1個以上連続している領域のことを、ボイドと呼ぶことにする。例えば、領域Uが図21(c)の状態にある場合、0〜22の範囲では、範囲8〜10(void1)および19〜22(void2)がボイドに相当し、変数nは2である。
【0108】
変数Viは、i番目のボイドにおいて0が連続するビットの数である。例えば、1番目のボイド(図21(c)に示すvoid1)におけるビット数は3であり、2番目のボイド(図21(c)に示すvoid2)は4であることから、V1=3,V2=4と表すことができる。
【0109】
また、wは、属性ごとに定められる値であって、属性の全範囲(すなわち、属性が取りうる値の範囲)の広さに応じて決まる重みを示す。例えば、ある属性の全範囲が0〜256の場合はw=1/8、0〜65535の場合はw=1/16、0〜4294967296の場合はw=1/32等のように、属性の全範囲の広さに応じてwの値をあらかじめ決めておく。なお、図18に示すルール集合の例では、全ての属性の全範囲が同じであるとし、w=1(すなわち、属性の違いによる重みの差はなし)として以下に説明する。
【0110】
式(2)に示す被覆度の計算式の特徴は、ボイドの数が多い程被覆度は高くなり、且つ各ボイドの連続数が多い程被覆度は高くなるというものである。ある属性について、各ルール集合の条件範囲が属性の全範囲をカバーしないために、どのルールの条件にもならない範囲(すなわちボイド)が存在する場合がある。式(2)に示す計算式は、このようなボイドを見つけることを目的として定義されている。しかしながら、式(2)に示す被覆度の計算式は、一例であり、この計算式に限定するものではない。例えば、ボイド数が少ない程ボイドを見つけにくいため、ボイド数が少ないことが重要であるという方針ならば、ボイド数が少ない程(ただし0ではない)、被覆度の値が大きくなるような計算式を定義しておけば良い。
【0111】
図18に示すルール集合について、各属性の重要度を計算した結果を図22に示す。図22に示すように、それぞれの属性の重要度は、属性1は8.5185、属性2は1.7782、属性3は2.0000、属性4は0.0000、属性5は1.0000となる(小数点以下第5位を四捨五入している)。被覆度計算手段150は、図19のステップS406において、算出した重要度の値をキーとして属性をソートし、ステップS407において、重要度の高い上位2属性を決定し、可視化データを生成する。すなわち、属性1および属性3が上位2属性と決定され、属性1および属性3についての全ルールの存在範囲を含む可視化データが生成される。
【0112】
強調表示手段130および出力手段140の動作は、第1の実施の形態における動作と同じであるため、説明を省略する。上位2属性をそれぞれX軸とY軸とし、図18に示すルール集合に基づいて生成された可視化データを2次元平面上に描画した模式図を図23に示す。なお、図23に示す表示を行う際には、強調表示手段130による処理は行われていない。
【0113】
本実施の形態では、被覆度計算手段150および強調表示手段130を備えるとしているが、上述したように単に被覆度計算手段150のみで強調表示手段130がなくても構わない。その場合、被覆度計算手段150は、可視化データを2次元平面図として出力手段140に出力してもよい。また、被覆度計算手段150の処理手順(図19および図20)は単なる一例であって、同様の結果を得るために他の処理手段を行うことも可能であり、図19および図20に示すフローチャートの処理手順に限定するものではない。また、本実施の形態では被覆度計算手段150が属性を2個選択する例を用いて説明しているが、3個選択して3次元空間でルールを表示しても構わない。
【0114】
次に、具体例を用いて、第2の実施の形態の動作を説明する。第2の実施の形態の構成は、図17に示す構成である。以下、第1の実施の形態の具体例と同様に、フィルタリングルールをルール集合の例として説明する。
【0115】
ルール集合910には、図24に示すパケットフィルタリングのルール集合が記録されているものとする。入力手段920によって、ルール集合910からルール記憶手段110にルール集合が渡される。本実施例では、図24に示すルール集合のうち、ルールR405を除いた4個のルールのみ(すなわち、ルールR401,R402,R403,R404)がルール記憶手段110に渡されるものとする。なお、ルールR405は、デフォルトルールと呼ばれる。デフォルトルールは、他の優先順位の高いルールにマッチしなかったパケットを全てカバーするルールである。本実施例において、ルール記憶手段110にデフォルトルールを含めると、ボイドがなくなり、例として適切ではないため、ルールR405は含まれないものとする。
【0116】
被覆度計算手段150は、図19および図20に示すフローチャートに従い、各属性の重要度を計算する。ここで、被覆度計算手段150は、式(2)に示す被覆度計算式を用いるものとし、重みは、それぞれ、アドレスが1/32、ポートが1/16、プロトコルが1/2とする。
【0117】
図25は、算出された各属性の重要度の例を示す説明図である。図25に例示するように、送信元アドレスの重要度が0、送信元ポートの重要度が0.2506、送信先アドレスの重要度が0.7473、送信先ポートの重要度が0.3006、プロトコルの重要度が0.0000となり、上位2属性は、送信先アドレスと送信先ポートとなる。
【0118】
強調表示手段130は、図9に示すフローチャートに従い、領域を修正する処理を行う。ここで、領域の数が9個の場合、閾値は5%であるものとする。出力手段140は、被覆度計算手段150と強調表示手段130によって算出された属性軸と表示領域を含む強調表示データを用いて、ルールR401〜R404を2次元平面にプロットする。具体的には、図26に示すような出力となる。
【0119】
次に、本実施の形態の効果について説明する。本発明の形態は、どれほど高次元な多次元立方体となるルールであっても、ルール集合の管理作業を行うユーザが現状把握を容易にできる、という効果がある。その理由は、ルールの条件属性毎に被覆度を計算し、重要な属性を自動的に選択し、ルールを表示できるためである。
【0120】
実施の形態3.
本発明の第3の実施の形態を図面を参照して説明する。図27は、本発明による多次元ルール可視化システムの第3の実施の形態を示すブロック図である。図27に示す多次元ルール可視化システムは、複数のルールを含むルール集合を記憶するルール記憶手段110と、可視化データ生成システム102と、可視化データ生成システム102によって可視化されたデータを出力する出力手段140と、ユーザからのアクションを入力として受け取り可視化データ生成システム102にパラメータとして渡す入力手段930とを備える。
【0121】
可視化データ生成システム102は、ルールの条件属性毎に重要度を計算して重要な属性を1つ選択する最重要軸選択手段160と、残りの属性から任意の属性を1つ選択する軸選択手段170とを含む。なお、第1の実施の形態と同様の構成部については、図1と同一の符号を付し、説明を省略する。
【0122】
第3の実施の形態において、重要度計算手段は、最重要軸選択手段160および軸選択手段170によって実現される。
【0123】
次に、図面を参照して第3の実施の形態の動作について説明する。なお、第1の実施の形態および第2の実施の形態と同様の動作については、詳細な説明を省略する。ルール記憶手段110には、ルール集合が記憶されている。最重要軸選択手段160は、ルール記憶手段110を参照し、もっとも重要な属性を選択する。最重要軸選択手段160の動作は、第1の実施の形態の重複度計算手段120または第2の実施の形態の被覆度計算手段150における重要度の高い属性を選択する動作と同様とする。ただし、重複度計算手段120および被覆度計算手段150は、重要度の高い属性を2個または3個選択していたが、最重要軸選択手段160は、最も重要度の高い属性を1個のみ選択するものとする。
【0124】
次に、軸選択手段170は、最重要軸選択手段160が選択した属性以外の属性を1個選択する。ここで、入力手段930を介して、ユーザから別の属性を選択する指示があった場合には、軸選択手段170は別の属性を選択する。軸選択手段170は、最重要軸選択手段160が選んだ属性以外の属性の中から順に属性を選択しても良いし、最重要軸選択手段160が計算した重要度の順に属性を選択しても良いし、ランダムに属性を選択しても良い。
【0125】
軸選択手段170は、最重要軸選択手段160によって選択された属性と軸選択手段170によって選択された属性についての全ルールの存在範囲を含む可視化データを生成し、それぞれの属性をX軸とY軸とした2次元平面図として出力手段140に出力する。出力手段140は、軸選択手段170によって出力された情報に基づいて、2次元平面図を表示する。その際、入力手段930によってユーザから描画すべきルールの指示があった場合には、ルール記憶手段110に記憶されたルール集合全てではなく、ユーザから指示されたルールのみを含む可視化データを2次元平面図として描画する。
【0126】
本実施の形態では、最重要軸選択手段160が1個の属性を選び、軸選択手段170が別の1個の属性を選んで、2次元平面上に出力するとしているが、例えば、最重要軸選択手段160が2個の属性を選び、軸選択手段170が別の1個の属性を選んで、3次元平面上に出力したり、最重要軸選択手段160が1個の属性を選び、軸選択手段170が別の2個の属性を選んで、3次元平面上に出力したりしても良い。
【0127】
次に、具体例を用いて第3の実施の形態の動作を説明する。第3の実施の形態の構成は、図27に示す構成である。以下、図28に示すルール集合(R501〜R505)を例として説明する。
【0128】
ルール記憶手段110には、図28に示すルール集合が記憶されているものとする。最重要軸選択手段160は、ルール記憶手段110を参照し、属性1から属性5の重要度を計算し、最も重要な属性(ここでは属性1)を選択する。最重要軸選択手段160が属性の重要度を計算する方法は、第1の実施の形態の重複度計算手段120と同様の方法でも良いし、第2の実施の形態の被覆度計算手段150と同様の方法でも良いし、また別の方法でも構わない。
【0129】
次に、軸選択手段170は、最重要軸選択手段160が選択しなかった属性、すなわち属性2〜属性5の中から、属性を1つ選択する。ここでは、昇順に属性を選択するものとし、軸選択手段170は、属性2を選択する。
【0130】
軸選択手段170は、最重要軸選択手段160によって選択された属性1と軸選択手段170によって選択された属性2についての全ルールの存在範囲を含む可視化データを生成し、それぞれの属性をX軸とY軸とした2次元平面図として出力手段140に出力する。出力手段140は、軸選択手段170によって出力された情報に基づいて、2次元平面図を表示する。出力手段140に出力された2次元平面図の表示例を図29に示す。なお、出力手段140は、ディスプレイ装置であるものとする。図29に例示するように、ディスプレイ装置上に表示されるウィンドウ500は、ルール集合表示510と、チェックボックス520と、2次元平面図530と、軸交換ボタン540とを備える。
【0131】
ルール集合表示510は、ルール集合を1行1ルールで表示したものであり、A1〜A5がそれぞれ属性1〜属性5を意味し、Aがアクションを意味する。
【0132】
チェックボックス520は、ルール集合表示510の各ルール毎に設けられたチェックボックスであり、マウス等のデバイスでクリックすることでオン(黒)とオフ(白)が交代する。
【0133】
2次元平面図530は、X軸に属性1を取り、Y軸に属性2を取った2次元平面図であって、ルール集合の全て(R501〜R505)が表示された状態である。
【0134】
軸交換ボタン540は、ユーザによって、入力手段930(例えば、マウス等のデバイス)を用いてクリックされるボタンである。軸交換ボタン540がクリックされると、Y軸を交換するように軸選択手段170に通知され、軸選択手段170は、現在選択中の属性とは別の属性についての全ルールの存在範囲を含む可視化データを生成し、出力手段140に再描画を依頼する。
【0135】
入力手段930を介してあるルールのチェックボックス520がオフにされると、そのルールの表示を取り止めることを示す情報を含む可視化データが出力手段140に出力される。出力手段140は、オフにされたルールが除かれたルール集合を再描画する。図30に、軸交換ボタン540が1回押され、ルールR502のチェックボックス520がオフにされた状態の表示結果を例示する。図30に示す例では、Y軸が属性3になり、ルールR502が非表示となっている。
【0136】
次に、本実施の形態の効果について説明する。本実施の形態は、どれほど高次元な多次元立方体となるルールであっても、ルール集合の管理作業を行うユーザが現状把握を容易にできる、という効果がある。その理由は、最も重要な属性を自動的に選択し、残りの属性をユーザが自由に選ぶことができるためである。
【産業上の利用可能性】
【0137】
本発明は、パケットフィルタリングを行うネットワーク機器やソフトウェアのルール管理や、意志決定支援のための分類木などのルール管理に適用することができる。また、それぞれの属性が範囲を持つ多次元データを有するデータベースの管理に適用することができる。
【図面の簡単な説明】
【0138】
【図1】本発明による多次元ルール可視化システムの第1の実施の形態を示すブロック図である。
【図2】ルール集合の例を示す説明図である。
【図3】重複度計算手段による属性選択処理の例を示すフローチャートである。
【図4】重複度計算手段による重要度算出処理の例を示すフローチャートである。
【図5】各ルールにおける属性の条件範囲を説明するための説明図である。
【図6】各属性の重要度を計算した結果を説明するための説明図である。
【図7】可視化データを2次元平面上で表した模式図である。
【図8】可視化データを2次元平面上で表した模式図である。
【図9】強調表示手段による強調表示処理の例を示すフローチャートである。
【図10】ルールの存在範囲が作る領域の例を示す説明図である。
【図11】強調表示の具体例を示す説明図である。
【図12】強調表示データを2次元平面上で表した模式図である。
【図13】パケットフィルタリングのルール集合の例を示す説明図である。
【図14】算出された各属性の重要度の例を示す説明図である。
【図15】パケットフィルタリングの可視化データを2次元平面上で表した模式図である。
【図16】パケットフィルタリングの強調表示データを2次元平面上で表した模式図である。
【図17】本発明の第2の実施の形態を示すブロック図である。
【図18】ルール集合の例を示す説明図である。
【図19】被覆度計算手段による被覆度計算処理の例を示すフローチャートである。
【図20】被覆度計算手段による被覆度計算処理の例を示すフローチャートである。
【図21】領域Uの例を示す説明図である。
【図22】算出された各属性の重要度の例を示す説明図である。
【図23】可視化データを2次元平面上で表した模式図である。
【図24】パケットフィルタリングのルール集合の例を示す説明図である。
【図25】算出された各属性の重要度の例を示す説明図である。
【図26】パケットフィルタリングのルール集合を2次元平面上で表した模式図である。
【図27】本発明の第3の実施の形態を示すブロック図である。
【図28】ルール集合の例を示す説明図である。
【図29】出力手段に出力された2次元平面図の表示例を示す説明図である。
【図30】出力手段に出力された2次元平面図の表示例を示す説明図である。
【符号の説明】
【0139】
100 可視化データ生成システム
110 ルール記憶手段
120 重複度計算手段
130 強調表示手段
140 出力手段
910 ルール集合
920 入力手段

【特許請求の範囲】
【請求項1】
属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示する多次元ルール可視化システムであって、
ルールの集合を入力する入力手段と、
前記入力手段によって入力されたルールの集合を記憶するルール記憶手段と、
属性の値の範囲に基づいて重要度を算出して重要な属性を選択し、選択した属性の値の範囲の開始点および終了点によって特定される領域とルールとの対応関係を示す可視化データを生成する重要度計算手段と、
前記重要度計算手段によって生成された可視化データを出力する出力手段と
を備えることを特徴とする多次元ルール可視化システム。
【請求項2】
重要度計算手段によって生成された可視化データが示す複数の領域の重なりに基づいて、狭い領域を拡張し、可視化データを修正する強調表示手段を備える
請求項1記載の多次元ルール可視化システム。
【請求項3】
重要度計算手段は、
ルールの組み合わせ毎の属性の値の範囲が重なる度合いである重複度を計算し、計算した重複度の平均値を当該属性の重要度として、重要度の高い属性を選択する
請求項1または請求項2記載の多次元ルール可視化システム。
【請求項4】
重要度計算手段は、
各ルールの属性の値の範囲の広さと、ルールの組み合わせ毎の属性の値の範囲が重なる広さとに基づいて、重複度を計算する
請求項3記載の多次元ルール可視化システム。
【請求項5】
重要度計算手段は、
各属性が取りうる全ての値の範囲に対して、各ルールの適用条件である属性の値の範囲が占める度合いである被覆度を計算し、計算した被覆度を当該属性の重要度として、重要度の高い属性を選択する
請求項1または請求項2記載の多次元ルール可視化システム。
【請求項6】
重要度計算手段は、
各ルールの適用条件である属性の値の範囲の広さに基づいて被覆度を計算する
請求項5記載の多次元ルール可視化システム。
【請求項7】
重要度計算手段は、
重複度または被覆度に基づいて最も重要な属性を選択する最重要軸選択手段と、
前記最重要軸選択手段が選択した属性以外の属性を選択する軸選択手段とを備えた
請求項3から請求項6のうちのいずれか1項に記載の多次元ルール可視化システム。
【請求項8】
軸選択手段は、
利用者からの要求に応じて属性を選択する
請求項7記載の多次元ルール可視化システム。
【請求項9】
属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示する多次元ルール可視化方法であって、
入力手段は、ルールの集合を入力し、
ルール記憶手段は、前記入力手段によって入力されたルールの集合を記憶し、
重要度計算手段は、属性の値の範囲に基づいて重要度を算出して重要な属性を選択し、選択した属性の値の範囲の開始点および終了点によって特定される領域とルールとの対応関係を示す可視化データを生成し、
出力手段は、前記重要度計算手段によって生成された可視化データを出力する
ことを特徴とする多次元ルール可視化方法。
【請求項10】
属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示するコンピュータに搭載される多次元ルール可視化プログラムであって、
前記コンピュータに、
ルールの集合を入力する処理と、
入力されたルールの集合を記憶する処理と、
属性の値の範囲に基づいて重要度を算出して重要な属性を選択し、選択した属性の値の範囲の開始点および終了点によって特定される領域とルールとの対応関係を示す可視化データを生成する処理と、
生成された可視化データを出力する処理と
を実行させるための多次元ルール可視化プログラム。
【請求項11】
属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示するための可視化データを生成する可視化データ生成システムであって、
属性の値の範囲に基づいて重要度を算出して重要な属性を選択し、選択した属性の値の範囲の開始点および終了点によって特定される領域とルールとの対応関係を示す可視化データを生成する重要度計算手段と、
前記重要度計算手段によって生成された可視化データが示す複数の領域の重なりに基づいて、狭い領域を拡張し、可視化データを修正する強調表示手段と
を備えることを特徴とする可視化データ生成システム。
【請求項12】
属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示するための可視化データを生成する可視化データ生成方法であって、
重要度計算手段は、属性の値の範囲に基づいて重要度を算出して重要な属性を選択し、選択した属性の値の範囲の開始点および終了点によって特定される領域とルールとの対応関係を示す可視化データを生成し、
強調表示手段は、前記重要度計算手段によって生成された可視化データが示す複数の領域の重なりに基づいて、狭い領域を拡張し、可視化データを修正する
ことを特徴とする可視化データ生成方法。
【請求項13】
属性の値の範囲がルールの適用条件として記載される複数のルールを可視化して表示するための可視化データを生成するコンピュータに搭載される可視化データ生成プログラムであって、
前記コンピュータに、
属性の値の範囲に基づいて重要度を算出して重要な属性を選択し、選択した属性の値の範囲の開始点および終了点によって特定される領域とルールとの対応関係を示す可視化データを生成する処理と、
生成された可視化データが示す複数の領域の重なりに基づいて、狭い領域を拡張し、可視化データを修正する処理と
を実行させるための可視化データ生成プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate


【公開番号】特開2007−42016(P2007−42016A)
【公開日】平成19年2月15日(2007.2.15)
【国際特許分類】
【出願番号】特願2005−228022(P2005−228022)
【出願日】平成17年8月5日(2005.8.5)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】