(57)【要約】【課題】障害の原因を特定するための有用な情報であるコアファイルを完全に保存し、コアファイルの保存処理が終了する前にプロセスの障害からの回復を可能とする。【解決手段】プロセスに障害が発生したときにメモリ1050内にコアダンプ管理情報を格納する領域1020を作成し、コアダンプ管理情報を格納する領域にプロセスが使用するメモリ領域の位置情報を保持するメモリ管理情報位置情報1012を、コアファイル保存データ位置情報1022として記録し、プロセスの終了処理を行う障害時プロセス終了手段1100と、コアダンプ管理情報を格納する領域に記録されたコアファイル保存データ位置情報1022を参照しプロセスが使用するメモリ領域の情報の一部または全てを二次記憶装置1060にコアファイル1061として記録し、プロセスが使用するメモリ領域の情報及びコアダンプ管理情報を格納する領域及び領域内の情報を削除するコアファイル保存手段とを備える。【選択図】図１
2012084069.tif 000002
【特許請求の範囲】
【請求項１】
プロセス情報及びプロセスに関わる情報を記録する一次記憶装置と、情報を記録する二次記憶装置とを備え、プロセスの制御処理を実行している計算機システムにおいて、
プロセスに障害が発生したときに前記一次記憶装置内に障害となったプロセスが使用していたメモリ領域の内容、レジスタの値を含む情報を格納する領域を作成し、作成した前記情報を格納する領域に前記プロセスが使用していたメモリ領域の情報を記録した後、前記プロセスの終了処理を行う障害時プロセス終了手段と、
前記障害となったプロセスが使用していたメモリ領域の内容、レジスタの値を含む情報を格納する領域に記録された情報を参照し前記プロセスが使用するメモリ領域の情報の一部または全てを前記二次記憶装置に前記障害となったプロセスが使用していたメモリ領域の内容を示すファイルとして記録した後、前記プロセスが使用していたメモリ領域の情報及び前記障害となったプロセスが使用していたメモリ領域の内容、レジスタの値を含む情報を格納する領域に記録された情報を削除するファイル保存手段とを備えることを特徴とする計算機システム。
【請求項２】
前記障害時プロセス終了手段は、障害が発生したプロセスのプロセス情報の一部または全てを前記作成した前記情報を格納する領域に記録する機能を有し、前記ファイル保存手段は、前記記録したプロセス情報を前記ファイルに保存する機能を有することを特徴とする請求項１記載の計算機システム。
【請求項３】
前記障害時プロセス終了手段は、プロセス終了処理を行った後に、前記ファイル保存手段に対してファイル保存処理の実行を要求することを特徴とする請求項１記載の計算機システム。
【請求項４】
前記ファイル保存手段は、前記作成した前記情報を格納する領域に格納された前記プロセスが使用していたメモリ領域の情報を自発的に検索し、情報が存在した場合に、自発的に前記ファイルとしての記録と情報の削除とを実行すること特徴とする請求項１記載の計算機システム。
【請求項５】
プロセス情報及びプロセスに関わる情報を記録する一次記憶装置と、情報を記録する二次記憶装置とを備え、プロセスの制御処理を実行している計算機システムにおいて、
プロセスに障害が発生したときに前記一次記憶装置内に障害となったプロセスが使用していたメモリ領域の内容、レジスタの値を含む情報を格納する領域を作成し、作成した前記情報を格納する領域に前記プロセスが使用していたメモリ領域の情報の一部または全てを記録した後、前記プロセスの終了処理を行う障害時プロセス終了手段と、
前記障害となったプロセスが使用していたメモリ領域の内容、レジスタの値を含む情報を格納する領域に記録された情報を参照し前記プロセスが使用するメモリ領域の情報の一部または全てを前記二次記憶装置に前記障害となったプロセスが使用していたメモリ領域の内容を示すファイルとして記録した後、前記プロセスが使用していたメモリ領域の情報及び前記障害となったプロセスが使用していたメモリ領域の内容、レジスタの値を含む情報を格納する領域に記録された情報を削除するファイル保存手段とを備えることを特徴とする計算機システム。
【請求項６】
プロセス情報及びプロセスに関わる情報を記録する一次記憶装置と、情報を記録する二次記憶装置とを備え、プロセスの制御処理を実行している計算機システムの障害情報収集方法において、
プロセスに障害が発生したときに前記一次記憶装置内に障害となったプロセスが使用していたメモリ領域の内容、レジスタの値を含む情報を格納する領域を作成し、作成した前記情報を格納する領域に前記プロセスが使用していたメモリ領域の情報を記録した後、前記プロセスの終了処理を行い、
前記障害となったプロセスが使用していたメモリ領域の内容、レジスタの値を含む情報を格納する領域に記録された情報を参照し前記プロセスが使用するメモリ領域の情報の一部または全てを前記二次記憶装置に前記障害となったプロセスが使用していたメモリ領域の内容を示すファイルとして記録した後、前記プロセスが使用していたメモリ領域の情報及び前記障害となったプロセスが使用していたメモリ領域の内容、レジスタの値を含む情報を格納する領域に記録された情報を削除することを特徴とする障害情報収集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム及び障害情報収集方法に係り、特に、計算機システム内で動作していたプロセスまたはアプリケーションが障害発生によりその動作を終了したとき、プロセスまたはアプリケーションが使用していたメモリ領域内の障害情報を収集する計算機システム及び障害情報収集方法に関する。
【背景技術】
【０００２】
一般に、計算機システムの多くは、プロセスまたはアプリケーション（以下、本発明の実施形態の説明も含めて、プロセスまたはアプリケーションを纏めてプロセスという）を実行中にプロセスの実行継続が不可能となるような障害が発生すると、そのプロセスが使用しているメモリ領域の内容やレジスタの値を記憶装置に保存する機能を有している。この機能によって保存されたデータは、一般にコアファイルと呼ばれている。以下では、このコアファイルを保存する機能を「コアダンプ機能」と呼ぶこととする。
【０００３】
コアファイルには、障害が発生したときのプロセスのメモリ状態が記録されているため、コアファイルの内容は、障害の原因を解析するために有用である。
【０００４】
コアファイルを保存するためには、コアファイルの保存を完了するまでの間、プロセスが使用していた情報を削除せずに残しておく必要がある。このため、一般に、コアファイル保存処理は、プロセス終了処理の一部に組み込まれ、コアファイルの保存が完了してからプロセスのメモリを解放するようにされている。これによって、他のプロセスは、そのプロセスが異常終了したことを知り、例えば、障害となったプロセスの再起動を行わせる等の障害からの回復処理を行うことができる。
【０００５】
近年、計算機に搭載される一時記憶装置（以下、メモリという）は、大容量化しており、これに伴い、多くのメモリを使用するプロセスの実行が可能となっている。そして、プロセスに障害が発生した場合に保存するコアファイルのサイズは、一般にそのプロセスが使用するメモリの量に比例する。このため、多くのメモリを使用するプロセスに障害が発生して動作を停止する場合、保存するメモリ領域の容量が大きく、保存処理に時間がかかり、その間、障害回復処理、プロセスの再起動を行うことができないことになる。
【０００６】
また、障害の発生したプロセスのコアファイルを保存するためには、そのプロセスの管理情報とそのプロセスに関連付けられたメモリ領域を、コアファイルの保存が完了するまでの間、参照可能としておく必要がある。
【０００７】
前述のような問題を解決しようとする技術が、例えば、非特許文献１等に記載されて知られている。この技術は、コアファイルの保存が完了してからプロセスの管理情報とそのプロセスに関連付けられたメモリを解放するというものである。
【０００８】
しかし、前述の技術は、プロセスの使用メモリ量が多くコアファイルの保存に長い時間を要する場合に、プロセスに障害が発生してからそのプロセスの管理情報の解放を完了し、他のプロセスに通知されるまでに多くの時間がかかり、それまでの間、障害からの回復処理を開始することができないという問題点を生じさせている。
【０００９】
前述したような問題点を解決することが可能な従来技術として、例えば、非特許文献２等に記載された技術が知られている。この従来技術は、障害情報をコアファイルとして保存するメモリ領域を限定し、メモリ領域の一部をコアファイルへの保存対象から除外するというものであり、これにより、コアファイルに保存するデータ量を少なくして、保存にかかる時間を短縮することができるようにしたものである。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】Daniel P. Bovet and Marco Cesati Ph.D.(2005) “Understanding the LINUX KERNEL, 3rd Edition,” O'Reilly Media.
【非特許文献２】Linux man-pages project(2010), “Linux Programmer's Manual Core(5),” http:// www.kernel.org/doc/man-pages/online/pages/man5/core.5.html
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかし、前述した従来技術は、全てのメモリ領域の内容が障害の原因となり得る場合、保存データ量を少なくすることができず、保存に要する時間を短縮することができないという問題点を有している。また、前述した従来技術は、障害の原因となり得るメモリ領域のサイズが大きい場合に、メモリ領域の一部をコアファイルへの保存対象から除外しても、保存するデータ量が依然大きく、やはり、保存に要する時間を短縮することができないという問題点を生じてしまう。
【００１２】
本発明の目的は、前述した従来技術の問題点を解決し、障害の原因を特定するための有用な情報であるコアファイルを完全に保存し、かつ、コアファイルの保存処理が終了する前にプロセスの障害からの回復を可能とする計算機システム及び障害情報収集方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明によれば前記目的は、プロセス情報及びプロセスに関わる情報を記録する一次記憶装置と、情報を記録する二次記憶装置とを備え、プロセスの制御処理を実行している計算機システムにおいて、プロセスに障害が発生したときに前記一次記憶装置内に障害となったプロセスが使用していたメモリ領域の内容、レジスタの値を含む情報を格納する領域を作成し、作成した前記情報を格納する領域に前記プロセスが使用していたメモリ領域の情報を記録した後、前記プロセスの終了処理を行う障害時プロセス終了手段と、前記障害となったプロセスが使用していたメモリ領域の内容、レジスタの値を含む情報を格納する領域に記録された情報を参照し前記プロセスが使用するメモリ領域の情報の一部または全てを前記二次記憶装置に前記障害となったプロセスが使用していたメモリ領域の内容を示すファイルとして記録した後、前記プロセスが使用していたメモリ領域の情報及び前記障害となったプロセスが使用していたメモリ領域の内容、レジスタの値を含む情報を格納する領域に記録された情報を削除するファイル保存手段とを備えることにより達成される。
【発明の効果】
【００１４】
本発明によれば、ファイルの保存が完了する前に障害となったプロセスの終了処理を行うことが可能となり、また、他のプロセスがファイルの保存が完了する前に実行されたプロセス終了処理の報告を受けることにより、障害となったプロセスの回復処理を行うことができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態による計算機システムの機能構成例を示すブロック図である。
【図２】障害時プロセス終了手段が障害が発生したプロセスを終了させる障害時プロセス終了処理の動作を説明するフローチャートである。
【図３】コアファイル保存手段がコアファイルを保存するコアファイル保存処理の動作を説明するフローチャートである。
【図４】本発明の実施形態でのプロセス障害発生からコアファイル作成完了までの動作を時系列的に示すタイミングチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明による計算機システム及び障害情報収集方法の実施形態を図面により詳細に説明する。
【００１７】
図１は本発明の一実施形態による計算機システムの機能構成例を示すブロック図である。本発明の一実施形態による計算機システムは、情報処理装置等としてよく知られているように、ＣＰＵ、ＨＤＤ等による記憶装置、主メモリ、表示装置、キーボード、マウス等の入力装置を、ハードウェアとして備えて構成されている。そして、図１には、本発明の実施形態で必要とするハードウェアと、機能構成のみを示している。
【００１８】
図１に示すように、本発明の一実施形態による計算機システムは、主記憶装置としての一次記憶装置（メモリ）１０５０と、ＨＤＤ等の二次記憶装置１０６０とを含んで構成されており、プロセスまたはアプリケーションの制御処理を実行するものである。
【００１９】
そして、一次記憶装置１０５０には、プロセス管理情報１０１０と、コアダンプ管理情報１０２０と、メモリ管理情報１０３０と、プロセスメモリ領域１０４０とが記録される。なお、図示していないが、プロセス管理情報１０１０、メモリ管理情報１０３０及びプロセスメモリ領域１０４０は、プロセス毎に用意される。
【００２０】
また、一次記憶装置１０５０には、プロセスの障害発生時にそのプロセスの処理情報の収集を行う処理プログラムにより構成される障害時プロセス終了手段１１００と、コアファイル保存手段１２００とが格納される。障害時プロセス終了手段１１００と、コアファイル保存手段１２００とを構成するプログラムは、二次記憶装置１０６０に格納されていて、一時記憶装置１０５０にロードされた後、ＣＰＵに実行されることにより、本発明の実施形態で必要とする機能を構築する。
【００２１】
前述において、１つのプロセスは、プロセス管理情報１０１０によって表される。このプロセス管理情報１０１０は、プロセス情報１０１１とメモリ管理情報位置情報１０１２とにより構成され、メモリ管理情報位置情報１０１２は、プロセスが使用するメモリ領域を管理するメモリ管理情報１０３０の位置を表す。
【００２２】
メモリ管理情報１０３０には、プロセスが使用する各種のメモリ領域の位置を指し示すそれぞれの位置情報が記録される。図１には、一般的なメモリ領域の位置情報の例として、共有メモリ位置情報１０３１、ヒープ位置情報１０３２、ＤＡＴＡセクション位置情報１０３３、ＢＳＳセクション位置情報３０３４、ＴＥＸＴセクション位置情報１０３５を示しているが、計算機システムの構成に応じた各種の情報が持たせられる場合、それらの情報の位置情報が記録される。また、一種類の情報を複数の領域に分けて持たせられてもよく、その場合、それぞれの位置情報がメモリ管理情報１０３０に記録される。
【００２３】
プロセスメモリ領域１０４０は、プロセスが使用するメモリ領域の実体が格納される領域であり、メモリ管理情報１０３０内の各位置情報により指し示される情報が格納され、各複数の各プロセスが必要とする情報が格納される共有メモリ領域１０４１、プロセスから要求があったときに確保されるヒープ領域１０４２、初期値等のデータが格納されるＤＡＴＡセクション領域１０４３、データが格納されるＢＳＳセクション領域１０４４、プログラムコードが格納されるＴＥＸＴセクション領域１０４５が格納される。
【００２４】
コアダンプ管理情報１０２０は、コアファイルの保存のために必要な情報を記録するものであり、コアファイル保存プロセス情報１０２１と、コアファイル保存データ位置情報１０２２とにより構成される。コアファイル保存プロセス情報１０２１には、コアファイルに記録するプロセスの情報が記録される。コアファイル保存データ位置情報１０２２には、コアファイルに保存するプロセスメモリ記憶領域１０４０を指し示すメモリ管理情報１０３０の位置が記録される。なお、図示していないが、同時に複数のプロセスのコアファイル保存要求が発生する場合に備え、コアファイル保存プロセス情報１０２１とコアファイル保存データ位置情報１０２２との組を複数保存できるように構成することも可能である。
【００２５】
二次記憶装置１０６０は、コアファイル１０６１を保存するための記憶装置である。コアファイル１０６１には、プロセスメモリ領域１０４０の内容が保存される。また、保存したプロセスメモリ領域１０４０と関連するプロセス情報１０１１の内容の一部または全部を保存するようにしてもよい。
【００２６】
障害時プロセス終了手段１１００は、プロセスに障害が発生した場合に、そのプロセスのプロセス情報１０１１の内容の一部または全部をコアファイル保存プロセス情報１０２１に記録し、また、そのプロセスのメモリ管理情報１０３０の位置情報をコアファイル保存データ位置情報１０２２に記録する。
【００２７】
コアファイル保存手段１２００は、二次記憶装置１０６０にコアファイル１０６１を作成し、そこにコアファイル保存プロセス情報１０２１の内容と、コアファイル保存データ位置情報１０２２からメモリ管理情報１０３０を辿って得られるプロセスメモリ領域１０４０の各領域１０４１〜１０４５の内容を書き出す。
【００２８】
なお、図１には、凡例として、実線及び点線の種類と矢印の種類とで情報がどのような条件で保持または移動させられるかを示している。
【００２９】
図２は障害時プロセス終了手段１１００が障害が発生したプロセスを終了させる障害時プロセス終了処理２０００の動作を説明するフローチャートであり、次に、これについて説明する。
【００３０】
（１）障害時プロセス終了手段１１００は、処理を開始すると、まず、コアダンプ管理情報１０２０を格納する領域を一次記憶装置１０５０内に確保する（ステップ２００１）。
【００３１】
（２）次に、ステップ２００１の処理で確保したコアダンプ管理情報１０２０を格納する領域の中のコアファイル保存プロセス情報１０２１の領域に、障害が発生したプロセスのプロセス管理情報１０１０の中にあるプロセス情報１０１１の内容をコピーする。このとき、プロセス情報１０１１の全てをコピーする必要はなく、コアファイル１０６１に保存する情報を選択してコピーしてもよい。また、プロセス情報１０１１の中にコアファイル１０６１に保存すべき情報が含まれていない場合は、ここでの処理を省略してもよい（ステップ２００２）。
【００３２】
（３）次に、ステップ２００１の処理で確保したコアダンプ管理情報１０２０を格納する領域の中のコアファイル保存データ位置情報１０２２の領域に、障害が発生したプロセスのメモリ管理情報位置情報１０１２が指し示すメモリ管理情報１０３０の位置情報を記録する（ステップ２００３）。
【００３３】
（４）次に、計算機システムが定めるプロセス終了処理を行う。例えば、一般的なＵＮＩＸ（登録商標）システムの場合、例えば、終了するプロセスの親プロセスにシグナルを送り、プロセスが終了することを知らせる。ここでの処理をもって、計算機システムは、プロセスの障害からの復旧処理等を開始することができる。
【００３４】
（５）次に、障害時プロセス終了手段１１００は、プロセス管理情報１０１０を削除する。プロセス管理情報１０１０の削除を実際にここで行う必要はなく、プロセス管理情報１０１０を削除する何らかの手段に要求を出してもよい。一般的なＵＮＩＸシステムの場合、このタイミングではプロセス管理情報１０１０の削除を行わず、代りに障害が発生したプロセスの親プロセスに、障害が発生したプロセスが終了することを通知し、この通知を受けた親プロセスがプロセス管理情報１０１０の削除を行う構成をとるのが一般的である（ステップ２００５）。
【００３５】
（６）その後、障害時プロセス終了手段１１００は、コアファイル保存手段１２００にコアファイルの保存を要求し、ここでの処理を終了する。なお、この処理を省略し、コアファイル保存手段１２００が例えばポーリング等の手段を用いて、前記コアダンプ管理情報を自発的に検索し、コアダンプ管理情報が存在した場合に、自発的に前記コアファイルとしての記録と情報の削除とを実行する動作を行うように構成してもよい（ステップ２００６）。
【００３６】
図３はコアファイル保存手段１２００がコアファイルを保存するコアファイル保存処理３０００の動作を説明するフローチャートであり、次に、これについて説明する。
【００３７】
（１）コアファイル保存手段１２００は、処理を開始すると、まず、二次記憶装置１０６０内に、新たにコアファイル１０６１の格納領域を作成する（ステップ３００１）。
【００３８】
（２）次に、コアダンプ管理情報１０２０を参照し、その中にあるコアファイル保存プロセス情報１０２１を読み出し、その情報をステップ３００１の処理で作成したコアファイル１０６１の格納領域に書き出す（ステップ３００２）。
【００３９】
（３）次に、コアダンプ管理情報１０２０を参照し、その中にあるコアファイル保存データ位置情報１０２２が指し示すメモリ管理情報１０３０を参照し、その中にある各種の位置情報１０３１〜１０３５が指し示すプロセスメモリ領域１０４０の中の各領域１０４１〜１０４５に格納されている内容を、ステップ３００１の処理で作成したコアファイル１０６１の格納領域に書き出す（ステップ３００３）。
【００４０】
（４）次に、プロセスメモリ領域１０４０内の全ての各領域１０４１〜１０４５を解放する（ステップ３００４）。
【００４１】
（５）その後、コアファイル保存手段１２００は、メモリ管理情報１０３０とその中にある全ての位置情報１０３１〜１０３５を削除する（ステップ３００５）。
【００４２】
（６）次に、コアダンプ管理情報１０２０とその中にあるコアファイル保存プロセス情報１０２１とコアファイル保存データ位置情報１０２２とを削除して、ここでの処理を終了する（ステップ３００６）。
【００４３】
図４は本発明の実施形態でのプロセス障害発生からコアファイル作成完了までの動作を時系列的に示すタイミングチャートであり、次に、これについて説明する。
【００４４】
（１）いま、時刻４００１で、プロセスに障害が発生したものとする。すると、障害時プロセス終了手段１１００が障害時プロセス終了処理２０００を開始する。
【００４５】
（２）次の時刻４００２において、コアダンプ管理情報１０２０と、その構成要素であるコアファイル保存プロセス情報１０２１及びコアファイル保存データ位置情報１０２２とを保存する領域を一次記憶装置１０５０内に確保する。
【００４６】
（３）次の時刻４００３において、プロセス情報１０１１の内容をコアファイル保存プロセス情報１０２１を保存する領域にコピーする。
【００４７】
（４）次の時刻４００４において、メモリ管理情報位置情報１０１２が有している位置情報を、コアファイル保存データ位置情報１０２２に書き出す。この時点で、プロセス管理情報１０１０に含まれる情報のうち、コアファイル１０６１に保存すべき情報は全てコアダンプ管理情報１０２０にコピーされたことになる。
【００４８】
（５）次の時刻４００５において、プロセス終了処理２００４を行う。ここでプロセスは終了したとみなすことができる。
【００４９】
（６）次の時刻４００６において、不要となったプロセス管理情報１０１０と、その構成要素であるプロセス情報１０１１とメモリ管理情報位置情報１０１２とを削除する。
【００５０】
（７）次の時刻４００７において、コアファイル保存手段１２００がコアファイル保存処理３０００を開始し、二次記憶装置１０６０内にコアファイル１０６１を作成する。
【００５１】
（８）次の時刻４００８において、コアファイル保存プロセス情報１０２１の内容をコアファイル１０６１に書き出す。
【００５２】
（９）次の時刻４００９において、コアファイル保存データ位置情報１０２２から位置情報を辿ってプロセスメモリ領域１０４０の内容を取得し、コアファイル１０６１に書き出す。この時点で、コアファイル１０６１には必要な全ての情報が書き出されたことになる。
【００５３】
（10）そして、最後となる時刻４０１０において、メモリ管理情報１０３０と、プロセスメモリ情報１０４０と、コアダンプ管理情報１０２０、その構成要素であるコアファイル保存プロセス情報１０２１及びコアファイル保存データ位置情報１０２２を削除する。
【００５４】
なお、図４には、凡例として、図内の○が生成を意味すること、×が削除を意味すること、矢印付きの実線がコピーを意味することであることを示している。
【００５５】
前述した本発明の実施形態は、プロセス管理情報１０１０とメモリ管理情報１０３０とを分けて管理しており、障害発生時にメモリ管理情報１０３０の位置だけをコアファイル保存データ位置情報１０２２に記録しているが、メモリ管理情報１０３０の中にある各種位置情報１０３１〜１０３５をコアファイル保存データ位置情報１０２２に直接記録し、この時点でメモリ管理情報１０３０を削除してもよい。このような方法は、プロセス管理情報１０１０とメモリ管理情報１０３０とを分離することなく１つのデータ構造として扱っている場合に実装しやすい方法である。
【符号の説明】
【００５６】
１０１０  プロセス管理情報
１０１１  プロセス情報
１０１２  メモリ管理情報位置情報
１０２０  コアダンプ管理情報
１０２０  コアファイル保存プロセス情報
１０２２  コアファイル保存データ位置情報
１０３０  メモリ管理情報
１０３１  共有メモリ位置情報
１０３２  ヒープ位置情報
１０３３  ＤＡＴＡセクション位置情報
１０３４  ＢＳＳセクション位置情報
１０３５  ＴＥＸＴセクション位置情報
１０４０  プロセスメモリ領域
１０４１  共有メモリ領域
１０４２  ヒープ領域
１０４３  ＤＡＴＡセクション領域
１０４４  ＢＳＳセクション領域
１０４５  ＴＥＸＴセクション領域
１０５０  一次記憶装置
１０６０  二次記憶装置
１０６１  コアファイル
１１００  システム時プロセス終了手段
１２００  コアファイル保存手段
【図１】
2012084069.tif 000003
【図２】
2012084069.tif 000004
【図３】
2012084069.tif 000005
【図４】
2012084069.tif 000006