以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
図1は、本発明によるイベント相関規則検出システムの一実施形態を示すブロック図である。本実施形態のイベント相関規則検出システムは、イベント発生源110と、イベント履歴DB130と、ウィンドウ分割手段140と、イベントウィンドウ表記憶手段150と、イベント相関用ルールエンジン160と、イベント相関規則データベース170(以下、イベント相関規則DB170と記す。)と、イベント相関規則生成手段180と、GUI115とを備えている。
イベント発生源110は、イベントの発生源になる装置である。イベント発生源110は、例えば、処理を要求する端末や、処理要求を受信するサーバなどにより実現される。なお、イベント発生源110は、イベントの発生が検知可能な装置であれば、どのような装置であってもよい。
また、イベント発生源110は、検知されたイベントをイベント履歴DB130に記憶させる。なお、イベントの発生源になる装置と、検知されたイベントの内容をイベント履歴DB130に記憶させる装置とは、同一であってもよく、異なっていてもよい。
イベント履歴DB130は、各装置で発生したイベントの内容を示す情報(以下、イベント情報と記す。)を記憶する。図2は、イベント履歴DB130が記憶するイベント情報の例を示す説明図である。図2に例示するイベント履歴DB130は、イベントを識別する識別子(e#)ごとに、イベントが発生した発生時刻(Time)、イベントの種類を示すイベント型、イベントが発生した装置を識別する情報であるイベント発生箇所(発生箇所)、イベントに関連する情報を示すイベント属性(属性1,属性2)を一覧表の形式で記憶していることを示す。また、イベント属性は、イベントに関係する装置を示す情報も含んでいる。
なお、図2では、イベント属性が2つである場合を例示しているが、イベント情報に含まれるイベント属性は、2つに限られず、3つ以上であってもよい。以下の説明では、イベント属性を単に属性と記すこともある。
ウィンドウ分割手段140は、イベント発生源110から受信したイベント情報を一定時間ごとに区切り、イベントウィンドウと呼ばれるイベントの集合に分割する。
図3は、イベントウィンドウの例を示す説明図である。図3に示す例では、イベントが横方向に時系列に発生していることを示す。また、図3に例示する黒三角印が、発生したイベントを示す。ウィンドウ分割手段140は、発生したイベントを一定時間W[sec]ごとに区切ることで、イベント情報を複数のイベントウィンドウに分割する。そして、ウィンドウ分割手段140は、分割したイベントウィンドウをイベントウィンドウ表記憶手段150に記憶する。
イベントウィンドウ表記憶手段150は、ウィンドウ分割手段140によって分割されたイベントウィンドウを記憶する。イベントウィンドウ表記憶手段150は、例えば、イベントウィンドウに含まれるイベント情報を表形式で記憶する。以下、イベントウィンドウ表記憶手段150が記憶するイベントウィンドウの集合を、イベントウィンドウ表と記す。
イベント相関規則DB170は、イベントの相関有無の判別に用いられる規則(すなわち、イベント相関規則)を記憶する。なお、イベント相関規則の具体的内容は、後述される。
イベント相関用ルールエンジン160は、イベント相関規則DB170に記憶されたイベント相関規則に基づいて、イベントウィンドウ表記憶手段150に記憶された各イベントの相関有無を判別する。具体的には、イベント相関用ルールエンジン160は、イベント相関規則を満たすイベントを相関ありと判断する。そして、イベント相関用ルールエンジン160は、相関があるイベントを検出し、GUI115に表示する。
GUI115は、イベント相関用ルールエンジン160の指示に基づいて、相関のあるイベント情報を表示する。GUI115は、例えば、ディスプレイ装置等により実現される。
図4は、イベント相関規則生成手段180の例を示すブロック図である。本実施形態のイベント相関規則生成手段180は、イベント型ウィンドウ分割手段210と、イベント型ウィンドウ表記憶手段220と、相互相関分類手段230と、相互相関規則生成手段250と、単一相関分類手段330と、単一相関規則生成手段350と、発生箇所別分類手段430と、発生箇所別規則生成手段450とを含む。
イベント型ウィンドウ分割手段210は、イベント履歴DB130に記憶されたイベントを一定時間ごとに区切り、イベントの集合であるイベントウィンドウに分割する。なお、イベント型ウィンドウ分割手段210が一定時間ごとにイベントを区切る方法は、ウィンドウ分割手段140が、イベント発生源110から受信したイベントを一定時間ごとに区切る方法と同様である。なお、分割する時間間隔は、予め定められる。
イベント型ウィンドウ表記憶手段220は、イベント型ウィンドウ分割手段210によって分割されたイベントウィンドウを記憶する。以下、イベント型ウィンドウ分割手段210によって生成されたイベントウィンドウの集合をイベント型ウィンドウ表と記す。図5は、イベント型ウィンドウ表記憶手段220が記憶するイベント型ウィンドウ表の例を示す説明図である。図5に例示するイベント型ウィンドウ表は、イベントウィンドウを識別するイベントウィンドウID(w#)が付与されたイベントを記憶していることを示す。具体的には、図5に例示するイベント型ウィンドウ表の第2列にイベントウィンドウID(w#)が設定され、第3列に、イベントウィンドウに属するイベントのイベント型の集合が設定される。
相互相関分類手段230は、イベント型ウィンドウ表記憶手段220を参照し、同一時間区分(すなわち、同一イベントウィンドウ)内に含まれるイベントの組であって、一のイベントの発生箇所を示す情報と他のイベントの属性が示す情報とが同一で、一のイベントの属性が示す情報と他のイベントの発生箇所を示す情報とが同一である組を相互相関イベント型ウィンドウ表240として抽出する。
相互相関規則生成手段250は、相互相関分類手段230が抽出したイベントの組(すなわち、相互相関イベント型ウィンドウ表240)からイベント相関規則の一つである相互相関規則を生成する。相互相関規則生成手段250は、生成した相互相関規則をイベント相関規則としてイベント相関規則DB170に記憶する。
具体的には、相互相関規則生成手段250は、相互相関分類手段230が抽出したイベントの組に含まれる各イベント型の組合せを満たし、そのイベントの組に含まれる発生箇所を示す情報とイベント属性が示す情報とが所定の条件を満たす関係にあるイベントの組を相関ありと判断する。そして、相互相関規則生成手段250は、各イベント型の組合せ、発生箇所およびイベント属性を用いて、相互相関規則を生成する。
単一相関分類手段330は、イベント型ウィンドウ表記憶手段220を参照し、同一時間区分(すなわち、同一イベントウィンドウ)内に含まれるイベントの組であって、一のイベントの発生箇所を示す情報と他のイベントの属性が示す情報とが同一である組を単一相関イベント型ウィンドウ表340として抽出する。
単一相関規則生成手段350は、単一相関分類手段330が抽出したイベントの組(すなわち、単一相関イベント型ウィンドウ表340)からイベント相関規則の一つである単一相関規則を生成する。単一相関規則生成手段350は、生成した単一相関規則をイベント相関規則としてイベント相関規則DB170に記憶する。
具体的には、単一相関規則生成手段350は、単一相関分類手段330が抽出したイベントの組に含まれる各イベント型の組合せを満たし、そのイベントの組に含まれる発生箇所を示す情報とイベント属性が示す情報とが所定の条件を満たす関係にあるイベントの組を相関ありと判断する。そして、単一相関規則生成手段350は、各イベント型の組合せ、発生箇所およびイベント属性を用いて、単一相関規則を生成する。
なお、単一相関規則生成手段350は、生成した単一相関規則のうち、相互相関規則生成手段250が生成した相互相関規則とイベント型の組が一致する単一相関規則を除いた規則をイベント相関規則DB170に記憶する。このようにすることで、重複したイベント相関規則がイベント相関規則DB170に記憶されることを抑制できる。
発生箇所別分類手段430は、イベント型ウィンドウ表記憶手段220を参照し、同一時間区分(すなわち、同一イベントウィンドウ)内に含まれるイベントの組であって、イベントの発生箇所を示す情報が同一である組を発生箇所別イベント型ウィンドウ表440として抽出する。
発生箇所別規則生成手段450は、発生箇所別分類手段430が抽出したイベントの組(すなわち、発生箇所別イベント型ウィンドウ表440)からイベント相関規則の一つである発生箇所別規則を生成する。発生箇所別規則生成手段450は、生成した発生箇所別規則をイベント相関規則としてイベント相関規則DB170に記憶する。
具体的には、発生箇所別規則生成手段450は、発生箇所別分類手段430が抽出したイベントの組に含まれる各イベント型の組合せを満たし、そのイベントの組に含まれる発生箇所を示す情報同士が所定の条件を満たす関係にあるイベントの組を相関ありと判断する。そして、発生箇所別規則生成手段450は、各イベント型の組合せ、発生箇所およびイベント属性を用いて、発生箇所別規則を生成する。
なお、発生箇所別規則生成手段450は、生成した発生箇所別規則のうち、相互相関規則生成手段250が生成した相互相関規則及び単一相関規則生成手段350が生成した単一相関規則とイベント型の組が一致する発生箇所別規則を除いた規則をイベント相関規則DB170に記憶する。このようにすることで、重複したイベント相関規則がイベント相関規則DB170に記憶されることを抑制できる。
イベント相関規則生成手段180は、相互相関分類手段230および相互相関規則生成手段250と、単一相関分類手段330および単一相関規則生成手段350と、発生箇所別分類手段430および発生箇所別規則生成手段450の各手段の組合せのうち、いずれか1つの組合せのみを含んでいてもよく、各組合せを2つ以上含んでいてもよい。
ウィンドウ分割手段140と、イベント相関用ルールエンジン160と、イベント相関規則生成手段180(より具体的には、イベント型ウィンドウ分割手段210と、相互相関分類手段230と、相互相関規則生成手段250と、単一相関分類手段330と、単一相関規則生成手段350と、発生箇所別分類手段430と、発生箇所別規則生成手段450)とは、プログラム(イベント相関規則検出用プログラム)に従って動作するコンピュータのCPU(Central Processing Unit )によって実現される。
例えば、プログラムは、イベント相関規則検出システムを実現する装置の記憶部(図示せず)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、ウィンドウ分割手段140、イベント相関用ルールエンジン160およびイベント相関規則生成手段180(より具体的には、イベント型ウィンドウ分割手段210、相互相関分類手段230、相互相関規則生成手段250、単一相関分類手段330、単一相関規則生成手段350、発生箇所別分類手段430および発生箇所別規則生成手段450)として動作してもよい。
また、ウィンドウ分割手段140と、イベント相関用ルールエンジン160と、イベント相関規則生成手段180(より具体的には、イベント型ウィンドウ分割手段210と、相互相関分類手段230と、相互相関規則生成手段250と、単一相関分類手段330と、単一相関規則生成手段350と、発生箇所別分類手段430と、発生箇所別規則生成手段450)とは、それぞれが専用のハードウェアで実現されていてもよい。
次に、本実施形態のイベント相関規則検出システムの動作を説明する。まず、本実施形態のイベント相関規則検出システムの動作のうち、イベント相関規則を検出する動作を説明する。図6は、イベント相関規則を検出する動作の例を示すフローチャートである。
まず、イベント相関規則生成手段180は、イベント履歴DB130に記憶されたイベント情報を参照して、イベント相関規則を生成する。イベント相関規則生成手段180は、生成したイベント相関規則をイベント相関規則DB170に記憶する(ステップA110)。なお、イベント相関規則を生成する動作については後述される。
イベント相関規則DB170にイベント相関規則が記憶された後、システムの運用が開始される(ステップA120)。
続いて、ウィンドウ分割手段140は、イベント発生源110が発生させたイベントに関するイベント情報を受信し、一定時間W[sec]ごとにイベント情報をグループ化する。ウィンドウ分割手段140は、その結果をイベントウィンドウ表記憶手段150に記録する(ステップA130)。
イベント相関用ルールエンジン160は、イベント相関規則DB170に格納されたイベント相関規則を参照し、イベントウィンドウ表記憶手段150に記憶されているイベント間で相関のあるイベント群をGUI115に表示する(ステップA140)。
イベント相関用ルールエンジン160は、ユーザが運用終了の指示を与えているか否か判断する(ステップA150)。運用終了の指示は、例えば、GUI115等を介してユーザにより与えられる。運用終了の指示が与えられていない場合(ステップA150におけるno)、ステップA130以降の処理が繰り返される。一方、運用終了の指示が与えられている場合(ステップA150におけるyes)、イベント相関規則を検出する動作は終了する。
次に、本実施形態のイベント相関規則生成手段180の動作を説明する。図7は、イベント相関規則生成手段180の動作の例を示すフローチャートである。
イベント型ウィンドウ分割手段210は、イベント履歴DB130を参照し、一定時間W[sec]単位でイベントをイベントウィンドウに分割し、イベント型ウィンドウ表記憶手段220に記憶する(ステップB110)。
相互相関分類手段230は、イベント型ウィンドウ表記憶手段220を参照し、同一時間区分(すなわち、同一イベントウィンドウ)内に含まれるイベントの組であって、一のイベントの発生箇所を示す情報と他のイベントの属性が示す情報とが同一で、一のイベントの属性が示す情報と他のイベントの発生箇所を示す情報とが同一である組を相互相関イベント型ウィンドウ表240として抽出する(ステップB120)。
相互相関規則生成手段250は、相互相関イベント型ウィンドウ表240を参照し、イベント相関規則を生成して、イベント相関規則DB170に記憶する(ステップB130)。
続いて、単一相関分類手段330は、イベント型ウィンドウ表記憶手段220を参照し、同一時間区分(すなわち、同一イベントウィンドウ)内に含まれるイベントの組であって、一のイベントの発生箇所を示す情報と他のイベントの属性が示す情報が同一である組を単一相関イベント型ウィンドウ表340として抽出する(ステップB140)。
単一相関規則生成手段350は、単一相関イベント型ウィンドウ表340を参照し、イベント相関規則を生成して、イベント相関規則DB170に記憶する(ステップB150)。ただし、単一相関規則生成手段350は、相互相関規則生成手段250がすでに生成済みのイベント相関規則とイベント型が同一の規則を記憶しないようにする。このようにすることで、重複したイベント相関規則がイベント相関規則DB170に記憶されることを抑制できる。
続いて、発生箇所別分類手段430は、イベント型ウィンドウ表記憶手段220を参照し、同一時間区分(すなわち、同一イベントウィンドウ)内に含まれるイベントの組であって、イベントの発生箇所を示す情報が同一である組を発生箇所別イベント型ウィンドウ表440として抽出する(ステップB160)。
発生箇所別規則生成手段450は、発生箇所別イベント型ウィンドウ表440を参照し、イベント相関規則を生成して、イベント相関規則DB170に記憶する(ステップB170)。ただし、発生箇所別規則生成手段450は、相互相関規則生成手段250および単一相関規則生成手段350がすでに生成済みのイベント相関規則とイベント型が同一の規則を記憶しないようにする。このようにすることで、重複したイベント相関規則がイベント相関規則DB170に記憶されることを抑制できる。
以上のように、本実施形態によれば、イベント型ウィンドウ分割手段210が、イベント履歴DB130に記憶されたイベント情報の集合をイベントの発生時刻に基づいて予め定められた時間間隔で分割したイベントウィンドウを生成する。相互相関分類手段230が、イベント型ウィンドウ表から、同一イベントウィンドウ内に含まれるイベントの組であって、一のイベントの発生箇所を示す情報と他のイベントのイベント属性が示す情報とが同一で、一のイベントのイベント属性が示す情報と他のイベントの発生箇所を示す情報とが同一であるイベントの組を抽出する。そして、相互相関規則生成手段250が、イベント相関規則を生成する。このイベント相関規則としての相互相関規則は、相互相関分類手段230が抽出したイベントの組に含まれる各イベント型の組合せを満たし、イベントの組に含まれる発生箇所を示す情報とイベント属性が示す情報とが所定の条件を満たす関係にあるイベントの組が相関を有することを規定する。以上の構成により、関連するイベントの誤検出率を抑えることができる。
すなわち、本実施形態のイベント相関規則検出システムでは、既存のイベント履歴からイベントの発生箇所やイベントの属性も考慮したイベント相関規則が生成される。よって、誤検出率を抑えることができるため、相関イベントを高精度に検出することが可能になる。
また、単一相関分類手段330が、イベント型ウィンドウ表から、同一イベントウィンドウ内に含まれるイベントの組であって、一のイベントの発生箇所を示す情報と他のイベントのイベント属性が示す情報とが同一であるイベントの組を抽出してもよい。そして、単一相関規則生成手段350が、イベント相関規則を生成してもよい。このイベント相関規則としての単一相関規則は、単一相関分類手段330が抽出したイベントの組に含まれる各イベント型の組合せを満たし、イベントの組に含まれる発生箇所を示す情報とイベント属性が示す情報とが所定の条件を満たす関係にあるイベントの組が相関を有することを規定する。このような構成を含むことで、関連するイベントの誤検出率をより抑えることができる。
また、発生箇所別分類手段430が、イベント型ウィンドウ表から、同一イベントウィンドウ内に含まれるイベントの組であって、イベントの発生箇所を示す情報が同一であるイベントの組を抽出してもよい。そして、発生箇所別規則生成手段450が、イベント相関規則を生成する。このイベント相関規則としての発生箇所別規則則は、発生箇所別分類手段430が抽出したイベントの組に含まれる各イベント型の組合せを満たし、イベントの組に含まれる発生箇所を示す情報同士が所定の条件を満たす関係にあるイベントの組が相関を有することを規定する。このような構成を含むことで、関連するイベントの誤検出率をより抑えることができる。
以下、図21(a)に例示するイベントの例を用いて、本実施形態の効果を説明する。メールサーバで発生したNOQUEUEイベントは、発生箇所61(sol8:192.168.200.192)とイベントに関係するホスト(装置)を示す属性62(NOQUEUE.fromHost=192.168.200.10)とを含む。
また、メールクライアントで発生したConnection Failedイベントは、発生箇所63(myhost:192.168.200.10)と、イベントに関係するホスト(装置)を示す属性64(Connection_Failure.toHost=192.168.200.192)とを含む。
このイベントの組を参照すると、メールサーバで発生したイベントの発生箇所を示す情報と、メールクライアントで発生したイベントの属性が示す情報とが同一である。且つ、メールサーバで発生したイベントの属性が示す情報と、メールクライアントで発生したイベントの発生箇所を示す情報とが同一である。そのため、相互相関分類手段230が、このイベントの組を相互相関イベント型ウィンドウ表240として抽出する。
そして、相互相関規則生成手段250は、このイベントの組から相互相関規則を生成する。図8は、相互相関規則の例を示す説明図である。図8に例示する規則は、Connection_FailureイベントからNOQUEUEイベントが15分以内に発生し、WHERE節が成立したときのみに、相関有りと判断されることを意味する。また、WHERE節は、Connection_Failureの発生箇所(Connection_Failure.hostname)とNOQUEUEの属性(NOQUEUE.fromHost)が一致しており、かつ、NOQUEUEの発生箇所(NOQUEUE.hostname)とConnection_Failureの属性(Connection_Failure.toHost)が一致しているという条件を示す。
図22に例示するイベントからイベント相関規則を検出する場合、図8に例示するイベント相関規則を用いれば、図22に例示するイベントからはイベントの組が抽出されないことになる。このように、同時間帯に複数の装置間で同種のイベントが複数発生した場合であっても、関連するイベントの誤検出を抑制できる。
なお、相互相関規則生成手段250、単一相関規則生成手段350および発生箇所別規則生成手段450がイベント相関規則を生成する処理は、シークエントを用いて表すことも可能である。図9は、イベント相関規則を生成する処理を表すシークエントの例を示す説明図である。図9(a)は、発生箇所別規則を生成する処理の例を示す。図9(b)は、単一相関規則の例を示す。図9(c)は、相互相関規則の例を示す。
図9に例示するシークエントは、イベント型ウィンドウ表の中に、横線上部に該当するイベント群が存在するとき、横線下部の規則を生成することを示す。
図9(a)に例示するシークエントは、発生箇所が同一(A1)のイベント型e1及びe2のイベントが同一のイベントウィンドウWに属しており、イベント型e1とイベント型e2の相関規則(e1=>e2)を生成する場合を想定している。
そして、図9(a)に例示するシークエントは、「イベントの発生箇所が同一ならば、イベント型e1のイベントとイベント型e2のイベントは、イベント相関が成り立つ」というイベント相関規則を生成することを意味する。
すなわち、図9(a)に例示するシークエントは、発生箇所別規則生成手段450が行う動作を示している。
図9(b)に例示するシークエントは、イベント型e1及びe2のイベントが同一のイベントウィンドウWに属しており、イベントe1の属性attr1の値が、イベントe2の発生箇所(B1)と同一であり、かつ、イベント型e1とイベント型e2の相関規則(e1=>e2)を生成する場合を想定している。
そして、図9(b)に例示するシークエントは、「イベント型e1のイベントの属性attr1が他のイベント発生箇所と同一であるイベント型e1のイベントは、イベント相関が成り立つ」というイベント相関規則を生成することを意味する。
すなわち、図9(b)に例示するシークエントは、単一相関規則生成手段350が行う動作を示している。
図9(c)に例示するシークエントは、イベント型e1及びe2のイベントが同一のイベントウィンドウWに属しており、イベントe1の属性attr1の値が、イベントe2の発生箇所(B1)と同一であり、イベントe2の属性attr2の値が、イベントe2の発生箇所(A1)と同一であり、イベント型e1とイベント型e2の相関規則(e1=>e2)を生成する場合を想定している。
そして、図9(c)に例示するシークエントは、「イベントe1の属性attr1が、e2のイベント発生箇所と同一であり、イベントe2の属性attr2が、e1のイベント発生箇所と同一であるならば、イベント型e1のイベントとイベント型e2のイベントは、イベント相関が成り立つ」というイベント相関規則を生成することを意味する。
すなわち、図9(c)に例示するシークエントは、相互相関規則生成手段250が行う動作を示している。
例えば、イベント相関規則を生成する一般的な方法では、イベントの発生箇所を考慮せずにイベント相関規則が生成されていた。そのため、イベントの相関を検出する際、関係のないイベントが誤検出される場合があった。しかし、上述するように、相互相関規則生成手段250、単一相関規則生成手段350および発生箇所別規則生成手段450がイベントの発生箇所を示す情報を含むイベント相関規則を生成するため、関連するイベントの誤検出率を抑えることができる。
以下、具体的な実施例により本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。以下の実施例の説明では、イベント履歴DB130が図2に例示するイベント履歴を記憶しているものとする。また、図2に例示するイベントのイベント型は、QueryError,DBError,NWCongestion,TooManyRequest,NullConnectionFrom,ConnectionFailureの6種類であるとする。
イベント型ウィンドウ分割手段210は、イベント履歴DB130を参照し、一定時間W[sec]=300秒単位でイベントをイベントウィンドウに分割し、イベント型ウィンドウ表記憶手段220に記憶する(図7におけるステップB110)。本実施例では、この処理により、図5の例に示すようにイベントが記憶される。具体的には、イベント履歴DB130にイベントウィンドウのID(w#)を付与した情報がイベント型ウィンドウ表記憶手段220に記憶された情報になる。
相互相関分類手段230は、イベント型ウィンドウ表記憶手段220を参照し、同一時間区分(すなわち、同一イベントウィンドウ)内に含まれるイベントの組であって、一のイベントの発生箇所を示す情報と他のイベントの属性が示す情報とが同一で、一のイベントの属性が示す情報と他のイベントの発生箇所を示す情報とが同一である組を相互相関イベント型ウィンドウ表240として抽出する(ステップB120)。
例えば、図5に例示する表のイベントID(e#)5,6で識別される2つのイベントは、同一ウィンドウ(w#=3)に属している。また、e#=5で識別されるイベントの発生箇所(D2)とe#=6で識別されるイベントの属性2が示す値(D2)は同一である。かつ、e#=5で識別されるイベントの属性1の値(LB)と、e#=6で識別されるイベントの発生箇所(LB)は同一である。よって、相互相関分類手段230は、このイベントの組を相互相関イベント型ウィンドウ表240として抽出する。
続いて、相互相関規則生成手段250は、相互相関イベント型ウィンドウ表240を参照し、イベント相関規則を生成して、イベント相関規則DB170に記憶する(ステップB130)。
図10は、相互相関イベント型ウィンドウ表の例を示す説明図である。ここでは、図10に例示する相互相関イベント型ウィンドウ表240が生成されているものとする。
相互相関規則生成手段250は、イベントの組ごとに、イベント型の組における支持度と信頼度を計算する。そして、相互相関規則生成手段250は、支持度および信頼度が閾値よりも大きいイベント型の組を特定し、このイベント型の組から相互相関規則を生成する。以下、イベント型の組を(eType1,eType2)と記す。
なお、この閾値は、予め定められた値であってもよく、運用者がGUI115を介して入力した値であってもよい。以降に示す閾値についても同様である。
ここで、イベント型の組(eType1,eType2)に対する支持度s(eType1,eType2)とは、相互相関イベント型ウィンドウ表240Wm中のイベント型の組が現れるウィンドウ数#{w∈Wm|ea,eb∈w∧ea.type=eType1∧eb.type=eType2}を、イベント型ウィンドウ表Wに含まれるウィンドウ数#{w∈W}で割った値である。なお、#は、集合の要素を表す単項前置演算子である。
すなわち、支持度sとは、対象とするイベント型の組がイベント履歴中に含まれる度合いを示す指標である。具体的には、支持度sは、相互相関分類手段230が抽出したイベント型の組が現れるイベントウィンドウ数を、イベント型ウィンドウ表記憶手段220において抽出対象とされたイベントウィンドウ数で割ることにより算出される。
また、イベント型の組における信頼度は、イベント型(e1.type)の発生を元にするイベント型(e2.type)の信頼度t(eType2|eType1)として表わすことができる。信頼度t(eType2|eType1)は、相互相関イベント型ウィンドウ表240Wm中の2つのイベント型(eType1,eType2)が同時に発生するウィンドウ数#{w∈Wm|ea,eb∈w∧ea.type=eType1∧eb.type=eType2}を、イベント型ウィンドウ表Wの中でeType1が発生するウィンドウ数#{w∈W|e∈w∧e.type=eType1}で割った値である。
すなわち、信頼度とは、一のイベントが発生した場合に他のイベントが発生し得る度合いを示す指標である。具体的には、第一のイベント型を有する一のイベントの発生に基づいて発生する第二のイベント型を有する他のイベントの信頼度tは、相互相関分類手段230が抽出したイベント型の組が現れるイベントウィンドウ数を、イベント型ウィンドウ表記憶手段220において抽出対象とされたイベントウィンドウのうち一のイベント型のイベントを有するイベントウィンドウの数で割ることにより算出される。
図11は、支持度および信頼度の例を示す説明図である。本実施例では、支持度の閾値を0.15とし、信頼度の閾値を0.6とする。
図11(a)は、支持度の例を示す説明図である。図11(a)に例示する表では、行と列で表されたイベント型の交点に当たる部分が、そのイベント型の組の支持度を表す。
図11(a)に例示する支持度が算出された場合、支持度の閾値0.15よりも支持度が大きい組は、s(ConnectionFailure,NullConnectionFrom)=s(NullConnectionFrom,ConnectionFailure)である。
図11(b)は、信頼度の例を示す説明図である。図11(b)に例示する表では、行と列で表されたイベント型の交点に当たる部分が、そのイベント型の組の信頼度を表す。
図11(b)に例示する信頼度が算出された場合、信頼度が閾値0.6よりも大きい組は、t(ConnectionFailure|NullConnectionFrom),t(NullConnectionFrom|ConnectionFailure)の2つである。
そこで、相互相関規則生成手段250は、これらの結果(図11(c)参照)に基づいて相互相関規則を生成する。具体的には、相互相関規則生成手段250は、同一時間区分(すなわち、同一イベントウィンドウ)内に含まれるイベントの組のうち、一のイベントの発生箇所を示す情報と他のイベントの属性が示す情報とが同一で、一のイベントの属性が示す情報と他のイベントの発生箇所を示す情報とが同一である組であって、支持度および信頼度に基づいて特定されたイベント型を有する組であることを条件とする相互相関規則を生成する。
図12は、イベント相関規則の例を示す説明図である。本実施例では、相互相関規則生成手段250は、図12(a)および図12(b)に例示する規則を生成する。すなわち、相互相関規則生成手段250は、以下に示す2つの規則を生成する。そして、相互相関規則生成手段250は、これらの規則をイベント相関規則DB170に記憶する。
NullConnectionFrom => ConnectionFailure WITHIN 15min WHERE {
NullConnectionFrom.hostname == ConnectionFailure.attr2
NullConnectionFrom.attr1 == ConnectionFailure.hostname
}
ConnectionFailure => NullConnectionFrom WITHIN 15min WHERE {
ConnectionFailure.hostname == NullConnectionFrom.attr1
ConnectionFailure.attr2 == NullConnectionFrom.hostname
}
このように、相互相関規則生成手段250が、相互相関分類手段230が抽出したイベント型の各組について支持度と信頼度を計算し、支持度および信頼度が閾値よりも大きいイベント型の組から相互相関規則を生成する。
次に、単一相関分類手段330は、イベント型ウィンドウ表記憶手段220を参照し、同一時間区分(すなわち、同一イベントウィンドウ)内に含まれるイベントの組で、一のイベントの発生箇所を示す情報と他のイベントの属性が示す情報とが同一である組を単一相関イベント型ウィンドウ表340として抽出する(ステップB140)。
例えば、図5に例示する表のイベントID(e#)10,11で識別される2つのイベントは、同一ウィンドウ(w#=4)に属している。また、e#=11で識別されるイベントの発生箇所(D2)と、e#=10で識別されるイベントの属性1の値(D2)は同一である。よって、単一相関分類手段330は、このイベントの組を単一相関イベント型ウィンドウ表340として抽出する。
続いて、単一相関規則生成手段350は、単一相関イベント型ウィンドウ表340を参照し、イベント相関規則を生成して、イベント相関規則DB170に記憶する(ステップB150)。
図13は、単一相関イベント型ウィンドウ表の例を示す説明図である。ここでは、図13に例示する単一相関イベント型ウィンドウ表340が生成されているものとする。
単一相関規則生成手段350は、イベントの組ごとに、イベント型の組における支持度と信頼度を計算する。そして、単一相関規則生成手段350は、支持度および信頼度が閾値よりも大きいイベント型の組を特定し、このイベント型の組から単一相関規則を生成する。
ここで、イベント型の組(eType1,eType2)に対する支持度s(eType1,eType2)とは、単一相関イベント型ウィンドウ表340Ws中のイベント型の組が現れるウィンドウ数#{w∈Ws|ea,eb∈w∧ea.type=eType1∧eb.type=eType2}を、イベント型ウィンドウWに含まれるウィンドウ数#{w∈W}で割った値である。
すなわち、ここでの支持度sも、対象とするイベント型の組がイベント履歴中に含まれる度合いを示す指標である。具体的には、支持度sは、単一相関分類手段330が抽出したイベント型の組が現れるイベントウィンドウ数を、イベント型ウィンドウ表記憶手段220において抽出対象とされたイベントウィンドウ数で割ることにより算出される。
また、イベント型の組における信頼度は、イベント型(e1.type)の発生を元にするイベント型(e2.type)の信頼度t(eType2|eType1)として表わすことができる。信頼度t(eType2|eType1)は、単一相関イベント型ウィンドウ表340Ws中の2つのイベント型(eType1,eType2)が同時に発生するウィンドウ数#{w∈Ws|ea,eb∈w∧ea.type=eType1∧eb.type=eType2}を、イベント型ウィンドウ表Wの中でeType1が発生するウィンドウ数#{w∈W|e∈w∧e.type=eType1}で割った値である。
すなわち、ここでの信頼度も、一のイベントが発生した場合に他のイベントが発生し得る度合いを示す指標である。具体的には、第一のイベント型を有する一のイベントの発生に基づいて発生する第二のイベント型を有する他のイベントの信頼度tは、単一相関分類手段330が抽出したイベント型の組が現れるイベントウィンドウ数を、イベント型ウィンドウ表記憶手段220において抽出対象とされたイベントウィンドウのうち一のイベント型のイベントを有するイベントウィンドウの数で割ることにより算出される。
図14は、支持度および信頼度の他の例を示す説明図である。本実施例では、支持度の閾値を0.2とし、信頼度の閾値を0.6とする。
図14(a)は、支持度の例を示す説明図である。表の内容は、図11(a)に例示する表と同様である。
図14(a)に例示する支持度が算出された場合、支持度の閾値0.2よりも支持度が大きい組は、s(DBError,QueryError)=s(QueryError,DBError)及びs(NullConnectionFrom,ConnectionFailure)=s(ConnectionFailure,NullConnectionFrom)の2つである。
図14(b)は、信頼度の例を示す説明図である。表の内容は、図11(b)に例示する表と同様である。
図14(b)に例示する信頼度が算出された場合、信頼度が閾値0.6よりも大きい組は、t(QueryError|DBError),t(ConnectionFailure|NullConnectionFrom),t(NullConnectionFrom| ConnectionFailure)の3つである。
そこで、単一相関規則生成手段350は、これらの結果(図14(c)参照。)に基づいて単一相関規則を生成する。具体的には、単一相関規則生成手段350は、同一時間区分(すなわち、同一イベントウィンドウ)内に含まれるイベントの組のうち、一のイベントの発生箇所を示す情報と他のイベントの属性が示す情報とが同一である組であって、支持度および信頼度に基づいて特定されたイベント型を有する組であることを条件とする単一相関規則を生成する。
この場合、単一相関規則生成手段350は、以下に示す3つの規則を生成する。
DBError => QueryError WITHIN 15min WHERE {
DBError.hostname== QueryError.attr1
} ・・・規則(1)
NullConnectionFrom => ConnectionFailure WITHIN 15min WHERE {
NullConnectionFrom.hostname == ConnectionFailure.attr2
} ・・・規則(2)
ConnectionFailure => NullConnectionFrom WITHIN 15min WHERE {
ConnectionFailure.hostname == NullConnectionFrom.attr1
} ・・・規則(3)
ただし、上記に示す3つの規則のうち、規則(2)および規則(3)のイベント型は、それぞれ「NullConnectionFrom => ConnectionFailure」、「ConnectionFailure => NullConnectionFrom」である。これは、ステップB130で生成された規則のイベント型と一致する。そのため、単一相関規則生成手段350は、上記に示す2つの規則(2)および規則(3)(図16(c)における網掛け部分)を除き、一番上に示す規則(1)をイベント相関規則DB170に記憶する(図12(c)参照)。
次に、発生箇所別分類手段430は、イベント型ウィンドウ表記憶手段220を参照し、同一時間区分(すなわち、同一イベントウィンドウ)内に含まれるイベントの組で、一のイベントの発生箇所を示す情報と他のイベントの発生箇所を示す情報とが同一である組を発生箇所別イベント型ウィンドウ表440として抽出する(ステップB160)。
例えば、図5に例示する表のイベントID(e#)2,3で識別される2つのイベントは、同一ウィンドウ(w#=1)に属している。また、両者とも、イベントの発生箇所(LB)は同一である。よって、発生箇所別分類手段430は、このイベントの組を発生箇所別イベント型ウィンドウ表440として抽出する。
続いて、発生箇所別規則生成手段450は、発生箇所別イベント型ウィンドウ表440を参照し、イベント相関規則を生成して、イベント相関規則DB170に記憶する(ステップB170)。
図15は、発生箇所別イベント型ウィンドウ表の例を示す説明図である。ここでは、図15に例示する発生箇所別イベント型ウィンドウ表440が生成されているものとする。
発生箇所別規則生成手段450は、イベントの組ごとに、イベント型の組における支持度と信頼度を計算する。そして、発生箇所別規則生成手段450は、支持度および信頼度が閾値よりも大きいイベント型の組を特定し、このイベント型の組から発生箇所別規則を生成する。
ここで、イベント型の組(eType1,eType2)に対する支持度s(eType1,eType2)とは、発生箇所別イベント型ウィンドウ表440Wp中のイベント型の組が現れるウィンドウ数#{w∈Wp|ea,eb∈w∧ea.type=eType1∧eb.type=eType2}を、イベント型ウィンドウ表Wに含まれるウィンドウ数#{w∈W}で割った値である。
すなわち、ここでの支持度sも、対象とするイベント型の組がイベント履歴中に含まれる度合いを示す指標である。具体的には、支持度sは、発生箇所別分類手段430が抽出したイベント型の組が現れるイベントウィンドウ数を、イベント型ウィンドウ表記憶手段220において抽出対象とされたイベントウィンドウ数で割ることにより算出される。
また、イベント型の組における信頼度は、イベント型(e1.type)の発生を元にするイベント型(e2.type)の信頼度t(eType2|eType1)として表わすことができる。信頼度t(eType2|eType1)は、発生箇所別イベント型ウィンドウ表440Wp中の2つのイベント型(eType1,eType2)が同時に発生するウィンドウ数#{w∈Wp|ea,eb∈w∧ea.type=eType1∧eb.type=eType2}を、イベント型ウィンドウ表Wの中でeType1が発生するウィンドウ数#{w∈W|e∈w∧e.type=eType1}で割った値である。
すなわち、ここでの信頼度も、一のイベントが発生した場合に他のイベントが発生し得る度合いを示す指標である。具体的には、第一のイベント型を有する一のイベントの発生に基づいて発生する第二のイベント型を有する他のイベントの信頼度tは、発生箇所別分類手段430が抽出したイベント型の組が現れるイベントウィンドウ数を、イベント型ウィンドウ表記憶手段220において抽出対象とされたイベントウィンドウのうち一のイベント型のイベントを有するイベントウィンドウの数で割ることにより算出される。
図16は、支持度および信頼度のさらに他の例を示す説明図である。本実施例では、支持度の閾値を0.15とし、信頼度の閾値を0.6とする。
図16(a)は、支持度の例を示す説明図である。表の内容は、図11(a)に例示する表と同様である。
図16(a)に例示する支持度が算出された場合、支持度の閾値0.15よりも支持度が大きい組は、s(NWCongestion,ConnectionFailure)=s(ConnectionFailure,NWCongestion)及びs(TooManyRequest,ConnectionFailure)=s(ConnectionFailure,TooManyRequest)の2つである。
図16(b)は、信頼度の例を示す説明図である。表の内容は、図11(b)に例示する表と同様である。
図16(b)に例示する信頼度が算出された場合、信頼度が閾値0.6よりも大きい組は、存在しない。そのため、この例の場合、発生箇所別規則生成手段450は、イベント相関規則(発生箇所別規則)を生成しない(図16(c)参照)。
以上の処理により、相互相関規則生成手段250、単一相関規則生成手段350および発生箇所別規則生成手段450は、図12に例示する3つの規則を生成する。
次に、イベント相関規則を検出する処理の具体的な動作を説明する。なお、以下の処理は、図6に例示するフローチャートで示す動作の一部に対応する。
ウィンドウ分割手段140は、イベント発生源110が発生させたイベントを受信し、一定時間W[sec]ごとにイベントを分割し、イベントウィンドウ表記憶手段150に記憶する(ステップA130)。
図17は、イベントウィンドウ表記憶手段150に記憶されたイベントウィンドウ表の例を示す説明図である。このうち、ウィンドウ4(w#=4)で識別されるイベント(e#=12)のイベント型「NullConnectionFrom」と、イベント(e#=13)のイベント型「ConnectionFailure」が、図12に例示する第一段目の規則に合致する。具体的には、イベント(e#=12)とイベント(e#=13)との関係が、以下の規則に合致する。
NullConnectionFrom => ConnectionFailure WITHIN 15min WHERE {
NullConnectionFrom.hostname == ConnectionFailure.attr2
NullConnectionFrom.attr1 == ConnectionFailure.hostname
}
そのため、イベント相関用ルールエンジン160は、イベント相関規則DB170に記憶された上記イベント相関規則に従い、イベントウィンドウ表記憶手段150に記録されたイベントで相関のあるイベント(e#=12),(e#=13)をGUI115に表示する。
次に、本発明の概要を説明する。図18は、本発明によるイベント相関規則検出システムの概要を示すブロック図である。本発明によるイベント相関規則検出システムは、イベントの発生箇所を示す情報(例えば、メールサーバ、メールクライアントなど)、そのイベントの種類を示すイベント型(例えば、QueryErrorなど)および、そのイベントに関係する情報(例えば、イベントに関する装置を示す情報、イベント発生時刻など)を示す1つ以上のイベント属性を含むイベント情報の集合を、そのイベントの発生時刻に基づいて予め定められた時間間隔(例えば、一定間隔W[sec])で分割したイベントの集合であるイベントウィンドウを生成するイベント型ウィンドウ分割手段81(例えば、イベント型ウィンドウ分割手段210)と、イベント型ウィンドウ分割手段81によって生成されたイベントウィンドウの集合であるイベント型ウィンドウ表(例えば、イベント型ウィンドウ表記憶手段220に記憶されたイベント型ウィンドウ表)から、同一イベントウィンドウ内に含まれるイベントの組であって、一のイベントの発生箇所を示す情報と他のイベントのイベント属性が示す情報とが同一で、一のイベントのイベント属性が示す情報と他のイベントの発生箇所を示す情報とが同一であるイベントの組を抽出する相互相関関係抽出手段82(例えば、相互相関分類手段230)と、相互相関関係抽出手段82が抽出したイベントの組に含まれる各イベント型の組合せを満たし、イベントの組に含まれるそのイベントの発生箇所を示す情報とイベント属性が示す情報とが所定の条件を満たす関係にあるイベントの組が相関を有することを規定した相互相関規則(例えば、図12(a)、図12(b)に例示する相互相関規則)をイベント相関規則として生成する相互相関規則生成手段83(例えば、相互相関規則生成手段250)とを備えている。
そのような構成により、関連するイベントの誤検出率を抑えることができる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)イベントの発生箇所を示す情報、当該イベントの種類を示すイベント型および当該イベントに関係する情報を示す1つ以上のイベント属性を含むイベント情報の集合を、当該イベントの発生時刻に基づいて予め定められた時間間隔で分割したイベントの集合であるイベントウィンドウを生成するイベント型ウィンドウ分割手段と、前記イベント型ウィンドウ分割手段によって生成されたイベントウィンドウの集合であるイベント型ウィンドウ表から、同一イベントウィンドウ内に含まれるイベントの組であって、一のイベントの発生箇所を示す情報と他のイベントのイベント属性が示す情報とが同一で、前記一のイベントのイベント属性が示す情報と前記他のイベントの発生箇所を示す情報とが同一であるイベントの組を抽出する相互相関関係抽出手段と、前記相互相関関係抽出手段が抽出したイベントの組に含まれる各イベント型の組合せを満たし、前記イベントの組に含まれる当該イベントの発生箇所を示す情報とイベント属性が示す情報とが所定の条件を満たす関係にあるイベントの組が相関を有することを規定した相互相関規則をイベント相関規則として生成する相互相関規則生成手段とを備えたことを特徴とするイベント相関規則検出システム。
(付記2)イベント型ウィンドウ表から、同一イベントウィンドウ内に含まれるイベントの組であって、一のイベントの発生箇所を示す情報と他のイベントのイベント属性が示す情報とが同一であるイベントの組を抽出する単一相関関係抽出手段と、前記単一相関関係抽出手段が抽出したイベントの組に含まれる各イベント型の組合せを満たし、前記イベントの組に含まれる当該イベントの発生箇所を示す情報とイベント属性が示す情報とが所定の条件を満たす関係にあるイベントの組が相関を有することを規定した単一相関規則をイベント相関規則として生成する単一相関規則生成手段とを備えた付記1記載のイベント相関規則検出システム。
(付記3)単一相関規則生成手段は、生成した単一相関規則のうち、相互相関規則生成手段が生成した相互相関規則とイベント型の組が一致する規則を除いた単一相関規則をイベント相関規則として生成する付記2記載のイベント相関規則検出システム。
(付記4)イベント型ウィンドウ表から、同一イベントウィンドウ内に含まれるイベントの組であって、イベントの発生箇所を示す情報が同一であるイベントの組を抽出する発生箇所関係抽出手段と、前記発生箇所関係抽出手段が抽出したイベントの組に含まれる各イベント型の組合せを満たし、前記イベントの組に含まれる当該イベントの発生箇所を示す情報同士が所定の条件を満たす関係にあるイベントの組が相関を有することを規定した発生箇所別規則をイベント相関規則として生成する発生箇所別規則生成手段とを備えた付記2または付記3記載のイベント相関規則検出システム。
(付記5)発生箇所別規則生成手段は、生成した発生箇所別規則のうち、相互相関規則生成手段が生成した相互相関規則とイベント型の組が一致する規則、および、単一相関規則生成手段が生成した単一相関規則とイベント型の組が一致する規則を除いた発生箇所別規則をイベント相関規則として生成する付記4記載のイベント相関規則検出システム。
(付記6)イベント相関規則生成手段は、イベントの組ごとに、対象とするイベント型の組がイベント情報の集合中に含まれる度合いを示す指標である支持度と、一のイベントが発生した場合に他のイベントが発生し得る度合いを示す指標である信頼度とを計算し、当該支持度および当該信頼度が閾値よりも大きいイベント型の組から相互相関規則を生成する付記1記載のイベント相関規則検出システム。
(付記7)イベント情報に含まれるイベント属性は、イベントに関係する装置を示す情報を含む付記1から付記6のうちのいずれか1つに記載のイベント相関規則検出システム。
(付記8)イベントの発生箇所を示す情報、当該イベントの種類を示すイベント型および当該イベントに関係する情報を示す1つ以上のイベント属性を含むイベント情報の集合を、当該イベントの発生時刻に基づいて予め定められた時間間隔で分割したイベントの集合であるイベントウィンドウを生成し、生成されたイベントウィンドウの集合であるイベント型ウィンドウ表から、同一イベントウィンドウ内に含まれるイベントの組であって、一のイベントの発生箇所を示す情報と他のイベントのイベント属性が示す情報とが同一で、前記一のイベントのイベント属性が示す情報と前記他のイベントの発生箇所を示す情報とが同一であるイベントの組を抽出し、前記抽出されたイベントの組に含まれる各イベント型の組合せを満たし、前記イベントの組に含まれる当該イベントの発生箇所を示す情報とイベント属性が示す情報とが所定の条件を満たす関係にあるイベントの組が相関を有することを規定した相互相関規則をイベント相関規則として生成することを特徴とするイベント相関規則検出方法。
(付記9)イベント型ウィンドウ表から、同一イベントウィンドウ内に含まれるイベントの組であって、一のイベントの発生箇所を示す情報と他のイベントのイベント属性が示す情報とが同一であるイベントの組を抽出し、前記抽出されたイベントの組に含まれる各イベント型の組合せを満たし、前記イベントの組に含まれる当該イベントの発生箇所を示す情報とイベント属性が示す情報とが所定の条件を満たす関係にあるイベントの組が相関を有することを規定した単一相関規則をイベント相関規則として生成する付記8記載のイベント相関規則検出方法。
(付記10)イベント型ウィンドウ表から、同一イベントウィンドウ内に含まれるイベントの組であって、イベントの発生箇所を示す情報が同一であるイベントの組を抽出し、前記抽出されたイベントの組に含まれる各イベント型の組合せを満たし、前記イベントの組に含まれる当該イベントの発生箇所を示す情報同士が所定の条件を満たす関係にあるイベントの組が相関を有することを規定した発生箇所別規則をイベント相関規則として生成する付記8または付記9記載のイベント相関規則検出方法。
(付記11)コンピュータに、イベントの発生箇所を示す情報、当該イベントの種類を示すイベント型および当該イベントに関係する情報を示す1つ以上のイベント属性を含むイベント情報の集合を、当該イベントの発生時刻に基づいて予め定められた時間間隔で分割したイベントの集合であるイベントウィンドウを生成するイベント型ウィンドウ分割処理、前記イベント型ウィンドウ分割処理で生成されたイベントウィンドウの集合であるイベント型ウィンドウ表から、同一イベントウィンドウ内に含まれるイベントの組であって、一のイベントの発生箇所を示す情報と他のイベントのイベント属性が示す情報とが同一で、前記一のイベントのイベント属性が示す情報と前記他のイベントの発生箇所を示す情報とが同一であるイベントの組を抽出する相互相関関係抽出処理、および、前記相互相関関係抽出処理で抽出されたイベントの組に含まれる各イベント型の組合せを満たし、前記イベントの組に含まれる当該イベントの発生箇所を示す情報とイベント属性が示す情報とが所定の条件を満たす関係にあるイベントの組が相関を有することを規定した相互相関規則をイベント相関規則として生成する相互相関規則生成処理を実行させるための相関規則検出用プログラム。
(付記12)コンピュータに、イベント型ウィンドウ表から、同一イベントウィンドウ内に含まれるイベントの組であって、一のイベントの発生箇所を示す情報と他のイベントのイベント属性が示す情報とが同一であるイベントの組を抽出する単一相関関係抽出処理、および、前記単一相関関係抽出処理で抽出されたイベントの組に含まれる各イベント型の組合せを満たし、前記イベントの組に含まれる当該イベントの発生箇所を示す情報とイベント属性が示す情報とが所定の条件を満たす関係にあるイベントの組が相関を有することを規定した単一相関規則をイベント相関規則として生成する単一相関規則生成処理を実行させる付記11記載のイベント相関規則検出用プログラム。
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2012年2月27日に出願された日本特許出願2012−040062を基礎とする優先権を主張し、その開示の全てをここに取り込む。