(57)【特許請求の範囲】
【請求項１】
監視対象の機器から出力されるログ情報から有用な情報を抽出するための監視情報分析装置であって、
特定の記号や助詞の間に分割のための空白が挿入され、明らかにパラメータであることが認識できる部分を削除した加工済みログメッセージを取得し、類似するメッセージをクラスタリングし、取得した加工済みログメッセージに含まれる各単語を各単語位置に対応する、テンプレートへのなりやすさに基づいて設定された所定のケースに分類し、取得した加工済みログメッセージと各クラスタとの類似度を計算し、最も類似度の高いクラスタを選択し、取得した加工済みログメッセージを、類似度が最も高いクラスタに追加し、当該クラスタをクラスタ記憶手段に格納するクラスタ抽出手段と、
前記クラスタ記憶手段からクラスタを読み出し、所定の条件を満たす単語位置にラベルを付与してテンプレートを抽出するテンプレート抽出手段と、
を有することを特徴とする監視情報分析装置。
【請求項２】
前記クラスタ抽出手段は、
前記加工済みログメッセージを空白単位で分割し、総単語数を求め、該加工済みログメッセージの単語を前記ケースに分類し、分類された文字と文字位置を抽出し、該総単語数と抽出された該文字と該文字位置に合致するクラスタをクラスタ候補とし、該クラスタ候補と該加工済みログメッセージの類似度を算出し、該類似度の高いクラスタをクラスタとして選択する手段を含む
請求項１記載の監視情報分析装置。
【請求項３】
前記クラスタ抽出手段は、
前記各単語を所定のケースに分類する際に、
各単語がそれぞれ、数字のみで構成される場合；
数字とアルファベットから構成される場合：
数字と特定の記号のみで構成される場合：
記号とアルファベットから構成される場合：
アルファベットのみから構成される場合：
記号のみから構成される場合：
のいずれかに分類する手段を含む
請求項１または２記載の監視情報分析装置。
【請求項４】
前記テンプレート抽出手段は、
前記クラスタが、
該クラスタ内に保持された単語のうち、ある単語位置に紐づく単語数が所定のしきい値を超える；
これまでに前記クラスタ記憶手段に追加されたログの個数である該クラスタのヒット数が所定のしきい値以上である；
所定の個数の単語位置において、１つしか単語要素がないものが存在する；
場合には、前記単語位置にパラメータ箇所を示すラベルを付与し、テンプレートを抽出する手段を含む
請求項１記載の監視情報分析装置。
【請求項５】
前記テンプレート抽出手段は、
クラスタ内に保持された単語のうち、ある単語位置に紐づく単語数が所定のしきい値を超える；
これまでに前記クラスタ記憶手段に追加されたログの個数である該クラスタのヒット数が所定のしきい値以上である；
ある単語位置に紐づく単語数が２つ以上かつ所定の値以下の箇所が存在する；
場合には、ある単語位置に紐づく単語数が２つ以上かつ所定の値以下の箇所に存在する単語群をそれぞれ別に含む形でクラスタを形成しなおし、元のクラスタを分断するクラスタ分離手段を含む
請求項４記載の監視情報分析装置。
【請求項６】
前記テンプレート抽出手段は、
これまでに前記クラスタ記憶手段のクラスタに追加されたログの個数であるヒット数が所定のしきい値以下であるクラスタが存在する；
前記ヒット数が所定のしきい値以下であるクラスタと類似度の高いクラスタが存在する；
一定数以上の加工済みログメッセージを読み込んでいる；
場合には、前記ヒット数が所定のしきい値以下であるクラスタと、前記類似度の高いクラスタについて、それぞれの単語位置に含まれる単語の集合を結合するクラスタ結合手段を含む
請求項４記載の監視情報分析装置。
【請求項７】
監視対象の機器から出力されるログ情報から有用な情報を抽出するための監視情報分析方法であって、
クラスタを格納するクラスタ記憶手段と、
クラスタ抽出手段、テンプレート抽出手段を有する装置において、
前記クラスタ抽出手段が、特定の記号や助詞の間に分割のための空白が挿入され、明らかにパラメータであることが認識できる部分を削除した加工済みログメッセージを取得し、類似するメッセージをクラスタリングし、取得した加工済みログメッセージに含まれる各単語を各単語位置に対応する、テンプレートへのなりやすさに基づいて設定された所定のケースに分類し、取得した加工済みログメッセージと各クラスタとの類似度を計算し、最も類似度の高いクラスタを選択し、取得した加工済みログメッセージを、類似度が最も高いクラスタに追加し、当該クラスタを前記クラスタ記憶手段に格納するクラスタ抽出ステップと、
前記テンプレート抽出手段が、前記クラスタ記憶手段からクラスタを読み出し、所定の条件を満たす単語位置にラベルを付与してテンプレートを抽出するテンプレート抽出ステップと、
を行うことを特徴とする監視情報分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視情報分析装置及び方法に係り、特に、多種多様な機械が出力する監視情報から利用者にとって有用な情報を抽出するための監視情報分析装置及び方法に関する。
【背景技術】
【０００２】
今日、コスト削減を主な理由として、異なる製造元の、異なる役割を持つ機器、ソフトウェアの一元的な監視・管理が行われている。一方で、こうした多種多様な機器やソフトウェアはそれぞれ独自の形態を持つ監視情報（以下、「ログ」と記す）を出力する機構を有しており、機器の監視・管理を行う際において使用される。情報機器の発展に伴い、これらのログ情報は複雑かつ大規模化しており、効率的な監視方法が必要となっている。
【０００３】
こうした中で、ログ分析を簡略化するための分析基盤がある（例えば、非特許文献１参照）。しかし、この技術を利用するためには、個々のログの発生する意味やログメッセージの内容に関しての事前知識が必要となり、膨大で複雑なログに対しての適用には不向きとなる。
【０００４】
また、以前に生起したエラーログに対してログ番号を振り、ある一定期間保持しておき、同じエラーログ番号が再度発生する度にこれを通知する障害情報の管理方法が知られている。しかしながら、機械の生成するログには実際に発生した事象を意味するメッセージ部分と、エラーコードや、ID番号、発生場所、時間等のエラーコード特有の値や単語が含まれており、実際には発生した事象が同じであってもエラーログが一意に定まらないことが多い。このため、同じ事象の発生を意味するログが別々の番号で管理されてしまうことになり、非効率的であり有用とはいえない。
【０００５】
一方、ルータなどのネットワーク機器の生成するsyslogを対象とし、ベンダやメッセージタイプ、エラーコード、詳細なメッセージ内容といったある程度の形式を事前に与えられた場合におけるテンプレートの把握法を与えている。当該技術は、ルータの位置関係等を利用して、syslogのダイジェスト情報を表示する手法を提案している（例えば、非特許文献２参照）。しかしながら、当該技術では、少なくとも情報を収集する段階での事前知識が必要である。例えば、どのベンダからログを収集しているか、メッセージ内のどの部分がエラーコードを示しているかといったことを把握しておかなければならず、テンプレート把握機構を単純に用意するだけでなく、事前に手動での入力や準備が必要となる。また、syslogのダイジェスト表示機能は、syslogに特化した手法であるために、その他の監視ログ情報への適用ができない。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Splunk  http://www.splunk.com/
【非特許文献２】T. Qiu, Z. Ge, D. Pei, J. Wang, J, Xu, "What Happened in my Network? Mining Network Events from Router Syslogs", In IMC, 2010.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
こうした中で、事前情報を用いずに対象がsyslogに限定されない一般的なログのテンプレートを抽出する方法がある。図１にログのテンプレートとメッセージの例を示す。この手法は、テンプレート抽出の度に全てのデータを入力してバッチ処理を行う。詳しくは、図1の１行目の例は、スペースにより分割されたメッセージログを読み込み、それまでに受け取った全ログメッセージを利用して付与したスコアに基づいてクラスタリングを行い、スコアの低いクラスタをパラメータとして「*」で置き換える例である。
【０００８】
しかしながら、上記の手法は、テンプレート抽出の度に全てのデータを入力が必要となるバッチ手法であるため、時々刻々と変化するログの形式に追従できず、稀に出現するログにも対応できない。このため、逐次的にログのテンプレートを抽出し、ログの生成則や内容の変化に対応できる手法が必要となる。
【０００９】
本発明は、上記の点に鑑みなされたもので、利用者が機械の生成するログの生成則を事前に知ることなく、ログのテンプレート部分を逐次的に抽出することが可能な監視情報分析装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
一態様によれば、監視対象の機器から出力されるログ情報から有用な情報を抽出するための監視情報分析装置であって、
特定の記号や助詞の間に分割のための空白が挿入され、明らかにパラメータであることが認識できる部分を削除した加工済みログメッセージを取得し、類似するメッセージをクラスタリングし、取得した加工済みログメッセージに含まれる各単語を各単語位置に対応する、テンプレートへのなりやすさに基づいて設定された所定のケースに分類し、取得した加工済みログメッセージと各クラスタとの類似度を計算し、最も類似度の高いクラスタを選択し、取得した加工済みログメッセージを、類似度が最も高いクラスタに追加し、当該クラスタをクラスタ記憶手段に格納するクラスタ抽出手段と、
前記クラスタ記憶手段からクラスタを読み出し、所定の条件を満たす単語位置にラベルを付与してテンプレートを抽出するテンプレート抽出手段と、を有する監視情報分析装置が提供される。
【発明の効果】
【００１１】
一態様によれば、利用者が機械の生成する監視情報の形式の生成則を事前に直接的に知ることなく、必要な情報を逐次的に抽出することにより、ログのテンプレート部分を逐次的に抽出することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】従来技術によるテンプレート生成例である。
【図２】本発明の一実施の形態における監視情報分析装置の構成例である。
【図３】本発明の一実施の形態におけるログメッセージとテンプレートの例である。
【図４】本発明の一実施の形態におけるテンプレート把握手順のフローチャートである。
【図５】本発明の一実施の形態におけるクラスタのデータ保存法及びクラスタへの要素追加法の例である。
【図６】本発明の第１の実施例におけるシステムへの適用例（オフライン利用例）である。
【図７】本発明の第２の実施例におけるシステムへの適用例（オンライン利用例）である。
【発明を実施するための形態】
【００１３】
以下、図面と共に本発明の実施の形態を説明する。
【００１４】
図２は、本発明の一実施の形態における監視情報分析装置の構成例である。
【００１５】
同図に示す監視情報分析装置１００は、クラスタ抽出部１１０、テンプレート生成部１２０、クラスタ記憶部１３０を有する。また、図示しないが、メモリ上に、メッセージ読み込みのカウンタ及びクラスタ数のカウンタを有する。
【００１６】
クラスタ抽出部１１０は、ログメッセージを取得し、クラスタリングする。なお、ログメッセージは、逐次的に入力される、または、ログＤＢから読み込んでもよい。
【００１７】
テンプレート生成部１２０は、ログ中のメッセージ本体のみを分析することで、ログのテンプレートとなる部分を抽出する。テンプレート生成部１２０では、テンプレート化処理、クラスタ分離処理、クラスタ結合処理が行われる。
【００１８】
図３は、本発明の一実施の形態におけるログメッセージとテンプレートの例を示す。
【００１９】
入力されるメッセージには、タイムスタンプ、ログを生成した監視機器名、メッセージ本体が含まれる。
【００２０】
メッセージは、事前に特定の記号や助詞の間に空白を挿入することで、空白による単語の分割が行えるものとする。また、時間やIPアドレスなどの明らかにパラメータとわかる部分は事前に除去するものとする。これらの処理を加えたメッセージを加工済みメッセージとする。
【００２１】
加工済みメッセージは、以下のように分類される。
【００２２】
・ケース１：各単語がそれぞれ、数字のみで構成される場合；
・ケース２：数字とアルファベットから構成される場合：
・ケース３：数字と特定の記号のみで構成される場合：
・ケース４：記号とアルファベッドから構成される場合：
・ケース５：アルファベッドのみから構成される場合：
・ケース６：記号のみから構成される場合：
但し、メッセージが日本語の場合、アルファベッド部分にひらがな、カタカナ、漢字を加えてもよい。
【００２３】
上記の単語の分類は、それぞれテンプレートに含まれ易さについて分類したものである。利用者はこれ以外にも特定の単語（down、upなど）について新しいケースを定義することで、テンプレートに含まれ易さを調整することができる。以下では、簡単化のため上記で定義したケースのみを用いて説明する。
【００２４】
以下に、クラスタ抽出部１１０とテンプレート生成部１２０について説明する。
【００２５】
図４は、本発明の一実施の形態におけるテンプレート把握手順のフローチャートである。
【００２６】
クラスタ抽出部１１０には、図３に示すように、予めタイムスタンプを消去し、特定の記号文字（図３の例では、"＝"、"，"）にスペースを追加した加工済みメッセージが入力されるものとする。
【００２７】
初期状態として、クラスタ記憶部１３０に現在把握しているクラスタの集合Ｃを設定し、これを空集合（Ｃ(0)）とし、最初の加工済みメッセージを読み込み、これを対象メッセージとすると共に、メモリ（図示せず）上のメッセージ読み込みのカウンタをインクリメントする（ステップ１０１）。
【００２８】
クラスタ抽出部１１０は、まず、対象メッセージを空白単位で分割し、分割された総単語数Ｌを求める（ステップ１０２）。
【００２９】
クラスタは、総単語数ごとに管理されており、これまでにＬが出現していれば、これを把握し、なければ新しくＬをクラスタ集合Ｃに加える（ステップ１０４）。
【００３０】
続いて、加工済みのメッセージ内の単語を分析し、各ケースへ分類する。このうち、記号のみの場合、"ケース６"に分類される文字とその位置を抽出する。これを加工済みメッセージにおける記号リストｓと呼ぶ。例えば、１番目の単語は数字のみであるので、"ケース１"となり、２番目の単語「LINK」はアルファベットのみであるので、"ケース５"となる。
【００３１】
クラスタは総単語数Ｌによって分類されたのちに一意な記号リストｓによってメモリ（図示せず）で管理されている（ステップ１０５）。したがって、Ｌと把握した記号リストｓを用いてクラスタを検索し、既に出現していなければ（ステップ１０６,No）これを新しく作成する(ステップ１０７)。
【００３２】
総単語数Ｌ及び記号リストsに合致するクラスタが存在した場合（ステップ１０６,Yes）、これらをクラスタ候補とする。対象メッセージと各クラスタ間の類似度を計算し、最も類似度の高いクラスタを選択し、クラスタ記憶部１３０に格納し、メモリ（図示せず）上のクラスタ数カウンタをカウントアップする（ステップ１０８）。なお、この際、クラスタとメッセージの類似度があるしきい値Ｅ未満であった場合（ステップ１０９,No）、どのクラスタにも合致しないものとして対象の加工済みメッセージを用いてクラスタを新たにクラスタ記憶部１３０上に作成し、クラスタ数をカウントアップする(ステップ１１０)。これ以外の場合は（ステップ１０９,Yes）クラスタに対象メッセージを追加する（ステップ１１１）。
【００３３】
クラスタは、本例では、図５に示すように、内部に"ケース６"以外の文字情報及び単語位置を保持し、新たにクラスタに加工済みメッセージが追加された場合は、各単語位置における一意な単語のみを保持するものとする。また、同一位置の単語数があるしきい値α個を超えた場合は古い単語から順に削除される。
【００３４】
以下では、クラスタと加工済みメッセージの距離の計算について説明する。
【００３５】
以下の計算において、wi(ｉ=1,2,3,4)をそれぞれ各ケースｉにおけるテンプレート部になりやすさを表す重みとする。各ケースの定義より、w1≦ w2≦ w3≦w4 である。
【００３６】
クラスタは各単語位置における単語情報を保持しているので、各単語位置で最も高い値をとるΦiを計算し、各単語位置に対応する各ケースを設定する。その後、クラスタkにおける各ケースｉの個数をcki とする。wi* cki のiに関する和をとることで、クラスタに一致することで得られる最大のスコアとなる。これを"最大クラスタスコア"と呼ぶ。
【００３７】
続いて、対象の加工済みメッセージ内の"ケース６"以外の単語が、各単語位置においてクラスタの中に含まれているかを調べる。もし単語がクラスタの内部に含まれていれば、その単語のケースを調べ、該当する重みを足し上げ一致スコアとする。すなわち、対象メッセージにおいてクラスタと一致する各ケースiの単語数をxiとすると、一致スコアはwi* xi のiに関する和となる。
【００３８】
すべての単語を調べ終わった段階の一致スコアを最大クラスタスコアで割ったもの、すなわち、
【００３９】
【数１】
0005948291.tif 000002
をクラスタと加工済みメッセージの距離として定義する。
【００４０】
上記の距離を求めることにより、"ケース1"のように数字が一致した場合は類似度を低く、逆に"ケース２"のようにアルファベットのみで構成される文字が一致した場合には類似度が高くなるように類似度を構成できる。
【００４１】
続いて、テンプレート生成部１２０における、クラスタリングされたメッセージのテンプレート化処理について述べる。以下では、クラスタからアスタリスク（*）を含む一行のテンプレートを生成する方法を述べるが、この例に限定されることなく、クラスタを「テンプレートクラスタ」としてテンプレート相当の扱いとすることができる。
【００４２】
（１）まず、クラスタ記憶部１３０からクラスタを読み込み、クラスタが以下の条件に合致するか調べる。
【００４３】
条件１−１：クラスタ内に保持された単語のうち、ある単語位置に紐づく単語数がしきい値αを超える。
【００４４】
条件１−２：クラスタのヒット数があるしきい値ｆ以上である。ここでヒット数とは、これまでにクラスタへ追加されたログの個数を表す。
【００４５】
条件１−３：β個以上の単語位置において、1つしか単語要素のないものが存在する。
【００４６】
上記の条件１−１においてしきい値を超えた単語位置にパラメータ箇所であるというパラメータラベル"("を付与することで、テンプレートを抽出する。
【００４７】
パラメータラベルがふられた箇所については、ケースのみを保持し、今後はクラスタ間距離を計算する際には単語の一致を調べず、無条件に一致しているものとしてスコアを与える。
【００４８】
次に、テンプレート生成部１２０のクラスタ分離処理について述べる。
【００４９】
クラスタ分離処理は、クラスタリングを行った結果、別々のテンプレートと考えられるログを同一クラスタとして判定してしまった場合、これをクラスタとして分離する処理である。まず、以下の条件をクラスタが満たすか調べる。
【００５０】
条件２−１：条件１−１，１−２を満たす。
【００５１】
条件２−２：ある単語位置に紐づく単語数が、２つ以上かつγ個以下の箇所が存在する。
【００５２】
上記条件を満たすクラスタは、条件２−１によりパラメータとすべき箇所が存在しているが、条件２−２により、パラメータとは考えられない箇所を含むにもかかわらず同一クラスタと判断している。そこで、条件２−２に合致する箇所を分断し、新たなクラスタに分離する。
【００５３】
さらに、上記のクラスタの分離に伴い、内部パラメータであるΦiを更新する。
【００５４】
以下ではΦiの更新方法について述べる。
【００５５】
加工済みメッセージとクラスタ間の距離の計算方法は、以下の線形識別問題と同値である。
【００５６】
【数２】
0005948291.tif 000003
これの性質を用いて、線形識別問題のオンラインアルゴリズムを適用することでパラメータを更新することができる。オンラインアルゴリズムは様々な方法があるが、例えば、非特許文献３（Passive Aggressive：K. Crammer, O. Dekel, J. Keshet, S. S. Shwartz, and Y. Singer, "Online Passive-Aggressive Algorithms," Journal of Machine Learning Research 7 (2006) pp. 551-585.）が挙げられる。
【００５７】
次に、テンプレート生成部１２０における、クラスタ結合処理について述べる。
【００５８】
クラスタ結合処理は、同じクラスタと判断すべきところがクラスタの過剰な分割がなされてしまっている場合に、これを新たに結合することでテンプレート化を促進する処理である。
【００５９】
まず、クラスタが以下の条件を満たすかを調べる。
【００６０】
条件３−１：クラスタのヒット数（クラスタ数のカウンタ値）があるしきい値以下である。
【００６１】
条件３−２：同一単語数、同一記号リストを持つクラスタにおいて距離が近いクラスタが存在する。
【００６２】
条件３−３：一定数以上のメッセージを読み込んでいる（読み込み数カウンタの値を参照）。
【００６３】
この際、条件３−１，３−３より、読み込んだメッセージに比べクラスタのヒット数が低いにもかかわらず、条件３−２のように類似度の高いクラスタが存在することは, クラスタの過分離を想定できる。そこで、条件３−２に合致するクラスタ同士を結合する。
【００６４】
クラスタの結合方法は単純に、それぞれの単語位置に含まれる単語の集合を直接結合することで実現する。
【００６５】
また, クラスタの結合時にもクラスタ分離処理と同様にパラメータの更新を行う。方法はクラスタ分離処理時と同様である。
【００６６】
テンプレート生成部１２０では、テンプレート化処理、クラスタ結合・分離処理はそれぞれクラスタのヒット数の計算が必要となるため、これらはある程度のログの蓄積段階の任意の時点で行うことを想定している。例えば一日、一週間ごとやある一定メッセージを処理するごと、あるいは各クラスタのヒット数がしきい値を超えた場合などがある。
【００６７】
上記以外にも、パラメータを強制的に学習させたい場合には、利用者が既存のクラスタに情報を与えることで、クラスタの分離・結合を行うことができる。この際、条件２−＊や条件３−＊とは無条件で処理を行うものとする。
【実施例】
【００６８】
以下では、上記の構成及び処理を適用した例を示す。
【００６９】
本発明をシステム（オフライン、オンライン）に適用した場合の主要な構成要素は、過去に生起したログのテンプレートクラスタを保存しておくDBとこれを用いて監視情報に対して逐次クラスタリングを行う分析エンジンおよびそのDB、そして利用者へこれを出力し、あるいは利用者が事前あるいは事後にラベル等を与えるユーザインターフェースである。これらは図６あるいは図７に示すような形態で実施することができる。
【００７０】
図６では収集装置で集められたログを、あらかじめログDBへ保存している場合を想定している。図７では時々刻々と発生するログに対してクラスタリングを随時行い、逐次ログのテンプレートを更新しつつその発生状況を監視する形態を示している。
【００７１】
ここで、ログの収集装置１は事前に準備されているものとし、監視対象となる機器群P0〜Pnもログを生成する機構を有しているものとする。 
［第１の実施例］
入力とするログはどのような機器のものでも問題ないが、例えばネットワーク監視のためのルータのsyslog などが考えられる。この場合において、図６のオフラインの形態について説明する。
【００７２】
ネットワーク機器の生成するログは一元的に収集され、ログDB２へ保存される。クラスタ抽出エンジン１１０では、これらの情報を受け、逐次的にクラスタＤＢ１３０のログテンプレートの情報を更新していく。過去に生起したログに関する情報、例えば特定のログテンプレートが発生した時刻等はログＤＢ２を通して把握することができる。また利用者は、オフラインでテンプレートの更新や追加を行う。
【００７３】
［第２の実施例］
第１の実施例では、ログ情報があらかじめログDB２に蓄積されており、オフラインでテンプレートを抽出する場合を考えたが、時々刻々と到着するログに対しオンラインでテンプレート抽出しながらの利用も可能である。以下では図７を用いながら、この利用例を示す。
【００７４】
ログ収集装置１から送られた各ログ情報は、どのクラスタに属するかが把握される。クラスタには事前にフィルタリングルールやラベル付ルールが設定されており、これを用いて利用者は時々刻々と生成するログの状況を把握することができる。また、この場合も第１の実施例と同様に、逐次到着する利用者は任意の時点でテンプレートの更新や追加の作業を、ユーザインターフェースを介して行うことができる。
【００７５】
なお、上記の実施の形態における監視情報分析装置の各構成要素の動作をプログラムとして構築し、監視情報分析装置（例えば、クラスタ抽出エンジン、テンプレート整形・表示部）として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００７６】
本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【００７７】
１  ログ収集装置
２  ログDB
３  ログ情報表示部
４  テンプレート表示ルール
１００  監視情報分析装置
１１０  クラスタ抽出部、クラスタ抽出エンジン
１２０  テンプレート生成部
１３０  クラスタ記憶部、クラスタＤＢ
【図１】
0005948291.tif 000004
【図２】
0005948291.tif 000005
【図３】
0005948291.tif 000006
【図４】
0005948291.tif 000007
【図５】
0005948291.tif 000008
【図６】
0005948291.tif 000009
【図７】
0005948291.tif 000010