(57)【特許請求の範囲】
【請求項１】
ジョブを実行する計算機と該計算機が実行するジョブの割り当てを行う管理装置とを有する計算機システムにおいて、
前記管理装置は、
ジョブ毎の過去の実行実績に基づく重回帰分析によりジョブ毎の実行開始時刻の遅延予測時間を算出する遅延算出部と、
前記遅延算出部により算出された遅延予測時間に基づいてジョブの実行開始時刻を予測する開始予測部と
を有することを特徴とする計算機システム。
【請求項２】
前記遅延算出部は、ジョブを実行する曜日及び時間帯に基づく重回帰分析によりジョブ毎の実行開始時刻の遅延予測時間を算出することを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記遅延算出部は、ジョブの優先度毎の過去の実行実績に基づく重回帰分析によりジョブ毎の実行開始時刻の遅延予測時間を算出することを特徴とする請求項１又は２に記載の計算機システム。
【請求項４】
前記遅延算出部は、ユーザが指定したジョブの実行時間に基づく重回帰分析によりジョブ毎の実行開始時刻の遅延予測時間を算出することを特徴とする請求項１、２又は３に記載の計算機システム。
【請求項５】
ジョブ毎の過去の実行実績に基づく重回帰分析によりジョブ毎の実行開始時刻の遅延予測時間を算出する遅延算出部と、
前記遅延算出部により算出された遅延予測時間に基づいてジョブの実行開始時刻を予測する開始予測部と
を有することを特徴とする計算機。
【請求項６】
コンピュータが、
ジョブ毎の過去の実行実績に基づく重回帰分析によりジョブ毎の実行開始時刻の遅延予測時間を算出し、
算出した遅延予測時間に基づいてジョブの実行開始時刻を予測する
処理を実行することを特徴とするジョブ実行時刻予測方法。
【請求項７】
コンピュータに、
ジョブ毎の過去の実行実績に基づく重回帰分析によりジョブ毎の実行開始時刻の遅延予測時間を算出し、
算出した遅延予測時間に基づいてジョブの実行開始時刻を予測する
処理を実行させることを特徴とするジョブ実行時刻予測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム、計算機、ジョブ実行時刻予測方法及びジョブ実行時刻予測プログラムに関する。
【背景技術】
【０００２】
計算機システムでは、実行するジョブのスケジューリングが行われる。例えば、複数の計算機により並列に複数のジョブが実行される並列計算機システムでは、ジョブをどのような順番でどの計算機に割り当てるかのスケジューリングが行われる。そして、スケジューリング結果に基づいて各ジョブの実行開始予定時刻が表示装置に表示され、ユーザは、自分のジョブがいつ実行されるかを知ることができる。
【０００３】
なお、ジョブスケジューリングについては、各ジョブの待ち時間を算出し、待ち時間が所定のしきい値を超える長時間待機ジョブを検出するとその旨を警告することでユーザを支援する従来技術がある。
【０００４】
また、遅延禁止ジョブを追い越しても、遅延禁止ジョブの実行開始時刻を遅延させない追越可能ジョブを判別して先行させることで、遅延禁止ジョブを遅延させない範囲でシステムの稼働率を向上させる従来技術がある。
【０００５】
また、特定ジョブについて推定した終了時刻が目標終了時刻よりも遅いときに、特定ジョブの開始時刻に影響を及ぼすクリティカルパス上のジョブの処理の優先度を高めることで、特定ジョブを目標終了時刻までに終了させるようにする従来技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２３０５８４号公報
【特許文献２】特開２０１２−１７３７５３号公報
【特許文献３】特開２００４−２９５７３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のジョブスケジューリングでは、各ジョブの実行開始予定時刻が正確でないという問題がある。ジョブスケジューリングは、ユーザの申告したジョブの実行時間に基づいて行われるが、ユーザの申告したジョブの実行時間が正確でない場合がある。
【０００８】
また、スケジューリング後に優先度の高いジョブが投入されると、優先度の低いジョブの実行開始時刻が遅くなる。図９は、優先度が高いジョブの投入による遅延発生を説明するための図である。図９において、横軸は時間を示し、縦軸は、ジョブが割り当てられる複数の計算機を示す。
【０００９】
図９の上段に示すように、ＪｏｂＲ、ＪｏｂＢ、ＪｏｂＡ及びＪｏｂＣがスケジューリングされているとする。その後、ＪｏｂＡより優先度の高いＪｏｂＤが投入されると、下段に示すように、ＪｏｂＤがＪｏｂＡより先に実行されるため、ＪｏｂＡの開始時刻が遅くなる。図９では、１２：００に予定されていたＪｏｂＡの開始時刻が１３：００になり、開始時刻が１時間遅れる。
【００１０】
本発明は、１つの側面では、ジョブの実行開始予定時刻を正確に予測することを目的とする。
【課題を解決するための手段】
【００１１】
本願の開示する計算機システムは、１つの態様において、ジョブを実行する計算機と該計算機が実行するジョブの割り当てを行う管理装置とを有する。前記管理装置は、遅延算出部と開始予測部とを有する。遅延算出部は、ジョブ毎の過去の実行実績に基づく重回帰分析によりジョブ毎の実行開始時刻の遅延予測時間を算出する。開始予測部は、前記遅延算出部により算出された遅延予測時間に基づいてジョブの実行開始時刻を予測する。
【発明の効果】
【００１２】
１実施態様によれば、ジョブの実行開始予定時刻を正確に予測することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例に係るジョブスケジューリングを説明するための図である。
【図２】図２は、実施例に係る並列計算機システムの構成を示す図である。
【図３】図３は、管理ノードの構成を示す図である。
【図４Ａ】図４Ａは、ユーザ及びジョブに関する要因を示す図である。
【図４Ｂ】図４Ｂは、傾向に関する要因を示す図である。
【図５】図５は、係数の算出に用いられる遅延実績例を示す図である。
【図６】図６は、統計情報からの過去実績の作成例を示す図である。
【図７】図７は、ジョブスケジューラによる実行開始予定時刻の算出処理のフローを示すフローチャートである。
【図８】図８は、実施例に係るジョブ実行時刻予測プログラムを実行するコンピュータの構成を示す図である。
【図９】図９は、優先度が高いジョブの投入による遅延発生を説明するための図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する計算機システム、計算機、ジョブ実行時刻予測方法及びジョブ実行時刻予測プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例】
【００１５】
まず、実施例に係るジョブスケジューリングについて説明する。図１は、実施例に係るジョブスケジューリングを説明するための図である。図１に示すように、実施例に係るジョブスケジューリングでは、ＪｏｂＢの実行が完了した後ＪｏｂＡ及びＪｏｂＣが直ちに実行されるのではなく遅延予測分の時間後に実行されるようにジョブがスケジュールされる。遅延予測分の時間は、過去の実績に基づいてスケジューラによって重回帰分析を用いて予測される時間である。
【００１６】
すなわち、実施例に係るジョブスケジューラは、先行ジョブの実行の遅延時間を過去の実績に基づいて重回帰分析により予測し、遅延時間だけ後にジョブが開始されるようにジョブスケジューリングを行う。このように、重回帰分析を用いて遅延時間を予測してジョブスケジューリングに反映させることによって、実施例に係るジョブスケジューラは、ジョブの開始時刻を正確に予測することができる。
【００１７】
次に、実施例に係る並列計算機システムの構成について説明する。図２は、実施例に係る並列計算機システムの構成を示す図である。図２に示すように、実施例に係る並列計算機システム１は、管理ノード１０と、３台の計算ノード２０と、利用者端末３０とを有する。なお、並列計算機システム１はより多くの計算ノード２０を有してよい。３台の計算ノード２０及び管理ノード１０は、ネットワーク２によって接続される。利用者端末３０は、管理ノード１０に接続される。
【００１８】
管理ノード１０は、並列計算機システム１を管理する装置であり、例えば、並列計算機システム１が実行するジョブのスケジューリング、ジョブの実行管理、ジョブの実行情報の収集等を行う。
【００１９】
計算ノード２０は、ジョブを実行するコンピュータである。各計算ノード２０は２台のプロセッサ２１を有し、各プロセッサ２１は２つのプロセッサコア２２を有する。プロセッサ２１は演算処理を行う装置であり、各プロセッサコア２２が演算処理を行う。なお、各計算ノード２０はより多くのプロセッサ２１を有してよく、各プロセッサ２１はより多くのプロセッサコア２２を有してよい。
【００２０】
利用者端末３０は、並列計算機システム１の利用者がジョブの投入に用いる装置である。また、利用者端末３０は、スケジューリングが行われたジョブの実行開始予定時刻を表示装置に表示する。
【００２１】
図３は、管理ノード１０の構成を示す図である。図３に示すように、管理ノード１０は、受付部１１と、２つの投入キュー１２と、ジョブスケジューラ４０と、資源管理部１３と、統計情報ファイル１４と、過去実績ファイル１５と、予定表示部１６とを有する。
【００２２】
受付部１１は、利用者端末３０を用いてユーザにより投入されたジョブを受け付け、２つの投入キュー１２のいずれかに投入する。投入キュー１２は、投入されたジョブを記憶するキューである。ジョブは優先度を有し、受付部１１は、優先度に基づいてジョブを格納する投入キュー１２を決定する。なお、管理ノード１０は、３以上の投入キュー１２を有してもよい。
【００２３】
ジョブスケジューラ４０は、投入キュー１２が記憶するジョブのスケジューリングを行い、ジョブの実行開始予定時刻等を示すジョブスケジュールを作成する。資源管理部１３は、計算ノード２０を管理し、ジョブスケジューラ４０により作成されたジョブスケジュールに基づいてジョブを計算ノード２０で実行させる。
【００２４】
統計情報ファイル１４は、計算ノード２０により実行されたジョブの情報を統計情報として記憶するファイルである。統計情報には、ユーザ名、ジョブ名、ＩＤ、キュー名、初回実行開始予定日時、実行開始日時、終了日時、指定実行時間が含まれる。
【００２５】
ユーザ名は、ジョブを依頼した利用者の名前である。ジョブ名は、ジョブの名前である。ＩＤは、ジョブを識別する識別子である。キュー名はジョブが投入された投入キュー１２の名前である。初回実行開始予定日時は、ジョブ投入後の最初の実行開始予定日時である。指定実行時間は、利用者により指定されたジョブの実行時間である。
【００２６】
過去実績ファイル１５は、ジョブスケジューラ４０が遅延時間の予測に用いる過去実績の情報を記憶するファイルである。過去実績ファイル１５は、統計情報ファイル１４から作成される。過去実績ファイル１５には、ユーザ名、ジョブ名、ＩＤ、キュー名、ジョブが実行された曜日及び時間帯、指定実行時間、遅延時間が含まれる。
【００２７】
予定表示部１６は、ジョブスケジューラ４０により作成されたジョブスケジュールを利用者端末３０に表示する。
【００２８】
ジョブスケジューラ４０は、遅延予測部４１と、実行開始予測部４２と、実績集計部４３とを有する。遅延予測部４１は、未来割当てが行われた各ジョブの実行開始時刻に関して遅延時間を予測する。ここで、未来割当てとは、未来に実行するジョブのプロセッサ２１への割当てである。
【００２９】
遅延予測部４１は、過去実績に基づいて重回帰分析により各ジョブの遅延時間を予測する。遅延予測部４１は、遅延予測時間を従属変数とし、ユーザ及びジョブに関する要因、ならびに、傾向に関する要因を独立変数として重回帰分析を行う。図４Ａは、ユーザ及びジョブに関する要因を示す図であり、図４Ｂは、傾向に関する要因を示す図である。
【００３０】
図４Ａに示すように、ユーザ及びジョブに関する要因としては、ユーザが指定したジョブの実行時間がある。実行時間について、重回帰分析で用いる独立変数名はＰＲＥ＿ｅｌｐｓであり、値は分を単位とする時間である。
【００３１】
図４Ｂに示すように、傾向に関する要因としては、ジョブが実行される曜日と時間帯がある。時間帯は、一日を午前（８時−１２時）、昼（１２時−１３時）、午後（１３時−１８時）、夕方（１８時−２０時）、夜（２０時−２３時）及び深夜（２３時−８時）に分けたものである。
【００３２】
各曜日について、重回帰分析で用いる独立変数名はｐａｓｔ＿ｘであり、値はジョブが実行される曜日だけが「１」であり、他の曜日は「０」である。ｘは曜日の略称であり、日曜日はｓｕｎ、月曜日はｍｏｎ、火曜日はｔｕｅ、水曜日はｗｅｄ、木曜日はｔｈｕ、金曜日はｆｒｉ、土曜日はｓａｔである。
【００３３】
各時間帯について、重回帰分析で用いる独立変数名はｐａｓｔ＿ｙであり、値はジョブが実行される時間帯だけが「１」であり、他の時間帯は「０」である。ｙは時間帯の略称であり、午前はａｍ、昼はｎｏｎ、午後はｐｍ、夕方はｅｖｅ、夜はｎｉｇ、深夜はｍｉｄである。
【００３４】
遅延予測部４１は、係数算出部４１ａと予測部４１ｂとを有する。係数算出部４１ａは、遅延予測で使用する重回帰式の係数をジョブ毎投入キュー１２毎に過去実績から算出する。重回帰式は、
遅延予測時間＝ＰＲＥ＿ｅｌｐｓ＊ａ＋ｐａｓｔ＿ｍｏｎ＊ｂ＋ｐａｓｔ＿ｔｕｅ＊ｃ＋ｐａｓｔ＿ｗｅｄ＊ｄ＋ｐａｓｔ＿ｔｈｕ＊ｅ＋ｐａｓｔ＿ｆｒｉ＊ｆ＋ｐａｓｔ＿ｓａｔ＊ｇ＋ｐａｓｔ＿ａｍ＊ｈ＋ｐａｓｔ＿ｎｏｎ＊ｉ＋ｐａｓｔ＿ｐｍ＊ｊ＋ｐａｓｔ＿ｅｖｅ＊ｋ＋ｐａｓｔ＿ｎｉｇ＊ｌ＋遅延時間
であり、ａ〜ｌ及び遅延時間が遅延予測部４１が算出する係数である。なお、要因のうち曜日からは日曜日を、時間帯から深夜が重回帰式から除かれている。
【００３５】
図５は、係数の算出に用いられる遅延実績例を示す図である。図５において、ＩＤは各遅延実績を識別する識別子である。例えば、識別子が「１」である遅延実績は、ジョブ名が「ＡＡ」であり、ジョブキュー名が「ＱＡ」であり、ジョブが実行された曜日及び時間帯は「月」及び「午前」であり、ユーザにより指定された実行時間は「３時間」であり、遅延時間は「４５分」である。なお、図５では、１１個の遅延実績を示すが、係数の算出にはより多くの遅延実績が用いられる。
【００３６】
係数算出部４１ａは、図５に示す遅延実績を用いて重回帰式
遅延予測時間＝ＰＲＥ＿ｅｌｐｓ＊（０．０５４２２）＋ｐａｓｔ＿ｍｏｎ＊（−２９．０９６）＋ｐａｓｔ＿ｔｕｅ＊（−３０．３６１）＋ｐａｓｔ＿ｗｅｄ＊（０）＋ｐａｓｔ＿ｔｈｕ＊（０）＋ｐａｓｔ＿ｆｒｉ＊（−４５．７２３）＋ｐａｓｔ＿ｓａｔ＊（−４２．４７）＋ｐａｓｔ＿ａｍ＊（０）＋ｐａｓｔ＿ｎｏｎ＊（０）＋ｐａｓｔ＿ｐｍ＊（０）＋ｐａｓｔ＿ｅｖｅ＊（３１．６２６５）＋ｐａｓｔ＿ｎｉｇ＊（０）＋５０．９６３９
を得る。
【００３７】
予測部４１ｂは、係数算出部４１ａが係数を算出した重回帰式を用いてジョブの要因から遅延予測時間を算出する。例えば、ユーザにより指定された実行時間が３時間で月曜日の午前に実行されるジョブの遅延予測時間は、ＰＲＥ＿ｅｌｐｓ＝１８０、ｐａｓｔ＿ｍｏｎ＝１、ｐａｓｔ＿ａｍ＝０であり、他の独立変数の値は０であるので、以下のようになる。
【００３８】
遅延予測時間＝１８０＊（０．０５４２２）＋１＊（−２９．０９６）＋０＊（−３０．３６１）＋０＊（０）＋０＊（０）＋０＊（−４５．７２３）＋０＊（−４２．４７）＋１＊（０）＋０＊（０）＋０＊（０）＋０＊（３１．６２６５）＋０＊（０）＋５０．９６３９＝３１．６２７５分。
【００３９】
図３に戻って、実行開始予測部４２は、ジョブの未来割当てを行ってジョブの実行開始予定時刻を予測し、遅延予測部４１により予測された遅延予測時間を加えて実行開始予定時刻を算出する。すなわち、実行開始予測部４２は、
実行開始予定時刻＝未来割当てによる実行開始予定時刻＋遅延予測時間
により、ジョブの実行開始予定時刻を算出する。
【００４０】
実績集計部４３は、統計情報ファイル１４が記憶する統計情報からジョブ毎投入キュー１２毎に重回帰分析に使用される過去実績の情報を抽出して過去実績ファイル１５を作成する。すなわち、実績集計部４３は、過去のジョブ実行情報からジョブ毎投入キュー１２毎に重回帰分析に使用される情報を抽出して過去実績ファイル１５を作成する。
【００４１】
図６は、統計情報からの過去実績の作成例を示す図である。図６に示すように、統計情報の初回実行開始予定日時から過去実績の曜日と時間帯が導き出され、統計情報の実行開始日時から初回実行開始予定日時を引くことにより遅延時間が算出される。
【００４２】
例えば、統計情報の初回実行開始予定日時「１２／１  ０９：００：００」から曜日「月」と時間帯「午前」が導き出される。また、統計情報の実行開始日時「１２／１  ０９：４５：００」から初回実行開始予定日時「１２／１  ０９：００：００」を引くことにより遅延時間「０：４５：００」が算出される。
【００４３】
次に、ジョブスケジューラ４０による実行開始予定時刻の算出処理のフローについて説明する。図７は、ジョブスケジューラ４０による実行開始予定時刻の算出処理のフローを示すフローチャートである。
【００４４】
図７に示すように、実行開始予測部４２が、未来割当てにより実行開始予定時刻を算出する（ステップＳ１）。そして、予測部４１ｂが、未来割当て済みジョブの割当ての早いジョブからジョブを選択し（ステップＳ２）、選択したジョブのユーザ情報から実行時間を取得する（ステップＳ３）。
【００４５】
そして、予測部４１ｂは、未来割当てによる実行開始予定時刻から曜日と時間帯を特定し（ステップＳ４〜ステップＳ５）、ジョブが投入された投入キュー１２を特定する（ステップＳ６）。そして、予測部４１ｂは、ジョブ名と投入キュー１２に基づく重回帰式を用いて実行時間と曜日と時間帯とから遅延予測時間を算出する（ステップＳ７）。そして、実行開始予測部４２が、未来割当てによる実行開始予定時刻に遅延予測時間を加算した値を実行開始予定時刻として算出する（ステップＳ８）。
【００４６】
そして、ジョブスケジューラ４０は、未来割当てされた全ジョブを予測したか否かを判定し（ステップＳ９）、予測していないジョブがある場合には、ステップＳ２に戻り、全ジョブを予測した場合には、処理を終了する。
【００４７】
上述してきたように、実施例では、未来割当てが行われたジョブについて遅延予測部４１が重回帰分析に基づいて遅延予測時間を算出し、実行開始予測部４２が未来割当てによる実行開始予定時刻に遅延予測時間を加算した値を実行開始予定時刻とする。したがって、ジョブスケジューラ４０はジョブの実行開始時刻を正確に予測することができる。
【００４８】
また、実施例では、ジョブの遅延はジョブが実行される曜日及び時間帯に依存するため、遅延予測部４１は、ジョブが実行される曜日と時間帯を要因として重回帰分析を行うので、遅延予測時間を正確に算出することができる。
【００４９】
また、実施例では、ジョブの遅延はユーザが指定するジョブの実行時間に依存するため、遅延予測部４１は、ユーザが指定するジョブの実行時間を要因として重回帰分析を行うので、遅延予測時間を正確に算出することができる。
【００５０】
なお、実施例では、ジョブスケジューラ４０について説明したが、ジョブスケジューラ４０が有する構成をソフトウェアによって実現することで、同様の機能を有するジョブ実行時刻予測プログラムを得ることができる。そこで、ジョブ実行時刻予測プログラムを実行するコンピュータについて説明する。
【００５１】
図８は、実施例に係るジョブ実行時刻予測プログラムを実行するコンピュータの構成を示す図である。図８に示すように、コンピュータ５０は、メインメモリ５１と、ＣＰＵ（Central  Processing  Unit）５２と、ＬＡＮ（Local  Area  Network）インタフェース５３と、ＨＤＤ（Hard  Disk  Drive）５４とを有する。また、コンピュータ５０は、スーパーＩＯ（Input  Output）５５と、ＤＶＩ（Digital  Visual  Interface）５６と、ＯＤＤ（Optical  Disk  Drive）５７とを有する。
【００５２】
メインメモリ５１は、プログラムやプログラムの実行途中結果などを記憶するメモリである。ＣＰＵ５２は、メインメモリ５１からプログラムを読み出して実行する中央処理装置である。ＣＰＵ５２は、メモリコントローラを有するチップセットを含む。
【００５３】
ＬＡＮインタフェース５３は、コンピュータ５０をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。ＨＤＤ５４は、プログラムやデータを格納するディスク装置であり、スーパーＩＯ５５は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。ＤＶＩ５６は、液晶表示装置を接続するインタフェースであり、ＯＤＤ５７は、ＤＶＤの読み書きを行う装置である。
【００５４】
ＬＡＮインタフェース５３は、ＰＣＩエクスプレス（ＰＣＩｅ）によりＣＰＵ５２に接続され、ＨＤＤ５４及びＯＤＤ５７は、ＳＡＴＡ（Serial  Advanced  Technology  Attachment）によりＣＰＵ５２に接続される。スーパーＩＯ５５は、ＬＰＣ（Low  Pin  Count）によりＣＰＵ５２に接続される。
【００５５】
そして、コンピュータ５０において実行されるジョブ実行時刻予測プログラムは、ＤＶＤに記憶され、ＯＤＤ５７によってＤＶＤから読み出されてコンピュータ５０にインストールされる。あるいは、ジョブ実行時刻予測プログラムは、ＬＡＮインタフェース５３を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ５０にインストールされる。そして、インストールされたジョブ実行時刻予測プログラムは、ＨＤＤ５４に記憶され、メインメモリ５１に読み出されてＣＰＵ５２によって実行される。
【００５６】
また、実施例では、並列計算機システムのジョブをスケジューリングする場合について説明したが、本発明はこれに限定されるものではなく、他の計算機システムのジョブをスケジュールする場合にも同様に適用することができる。
【００５７】
また、実施例では、管理ノード１０が計算ノード２０とは別の装置である場合について説明したが、本発明はこれに限定されるものではなく、計算ノード２０の１つが管理ノード１０の機能を有する場合にも同様に適用することができる。
【符号の説明】
【００５８】
１    並列計算機システム
２    ネットワーク
１０    管理ノード
１１    受付部
１２    投入キュー
１３    資源管理部
１４    統計情報ファイル
１５    過去実績ファイル
１６    予定表示部
２０    計算ノード
２１    プロセッサ
２２    プロセッサコア
３０    利用者端末
４０    ジョブスケジューラ
４１    遅延予測部
４１ａ    係数算出部
４１ｂ    予測部
４２    実行開始予測部
４３    実績集計部
５０    コンピュータ
５１    メインメモリ
５２    ＣＰＵ
５３    ＬＡＮインタフェース
５４    ＨＤＤ
５５    スーパーＩＯ
５６    ＤＶＩ
５７    ＯＤＤ
【図１】
0006439559.tif 000002
【図２】
0006439559.tif 000003
【図３】
0006439559.tif 000004
【図４Ａ】
0006439559.tif 000005
【図４Ｂ】
0006439559.tif 000006
【図５】
0006439559.tif 000007
【図６】
0006439559.tif 000008
【図７】
0006439559.tif 000009
【図８】
0006439559.tif 000010
【図９】
0006439559.tif 000011