(57)【要約】      （修正有）【課題】バッチ処理システム等の種々の処理において、何らかの異常によって処理時間が過去に比べて変化した場合に、事故を未然に防止する。【解決手段】プログラムから出力された処理の開始時刻と、処理の終了時刻と、プログラム識別情報と、処理の処理件数とを受け取り（Ｓ１００１）、プログラムごとに、開始時刻と終了時刻と処理時間閾値とに基づいて処理の処理時間が正常であるか否かを判定し（Ｓ１０１０）、処理件数と処理件数閾値とに基づいて処理の処理件数が正常であるか否かを判定し（Ｓ１０１２）、少なくとも処理の処理時間または処理の処理件数のいずれかが正常でないと判定した場合に（Ｓ１０１４）、プログラムの処理時間または処理件数が異常である旨の警告情報を、正常ではないと判定したタイミングで所定の宛先に送信する（Ｓ１０１６）。【選択図】図１０
2012063898.tif 000002
【特許請求の範囲】
【請求項１】
プログラムが実行した処理の結果をチェックする情報処理装置であって、
前記処理の処理時間が正常であるか否かを判定するための処理時間閾値と、前記処理によって実行されたデータの件数が正常であるか否かを判定するための処理件数閾値と、前記プログラムを識別するためのプログラム識別情報とを対応付けて記憶する記憶部と、
前記プログラムから出力された前記処理の開始時刻と、前記処理の終了時刻と、前記プログラム識別情報と、前記処理の処理件数とを受け取り、前記プログラムごとに、前記開始時刻と前記終了時刻と前記処理時間閾値とに基づいて前記処理の処理時間が正常であるか否かを判定し、前記処理件数と前記処理件数閾値とに基づいて前記処理の処理件数が正常であるか否かを判定する妥当性チェック処理部と、
前記妥当性チェック処理部が、少なくとも前記処理の処理時間または前記処理の処理件数のいずれかが正常でないと判定した場合に、前記プログラムの前記処理時間または前記処理件数が異常である旨の警告情報を、正常ではないと判定したタイミングで所定の宛先に送信する配信部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記記憶部は、前記プログラムが取り扱うデータの締め日を記憶し、
前記妥当性チェック処理部は、さらに、前記プログラムから前記処理の実行日付を受け取り、前記実行日付が前記締め日である場合と前記締め日ではない場合とに分けて、前記処理時間および前記処理件数の妥当性チェックをする、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記妥当性チェック部は、前記プログラムが実行され、前記処理の開始時刻と、前記処理の終了時刻と、前記プログラム識別情報と、前記処理の処理件数とを受け取る都度実行する、
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記プログラム識別情報および前記実行日付ごとに、前記処理時間および前記処理件数を所定の期間で集計し、前記期間別の集計データを生成する統計処理部をさらに備える、
ことを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記統計処理部は、前記処理時間および前記処理件数のいずれもが正常である場合に前記処理時間の平均値および前記処理件数の平均値を算出し、
前記記憶部は、前記統計処理部によって算出された平均値に基づいて設定された前記処理時間閾値および前記処理件数閾値を記憶し、
前記妥当性チェック部は、前記平均値に基づいて設定された前記処理時間閾値および前記処理件数閾値に基づいて、前記処理時間および前記処理件数が正常であるか否かをチェックする、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
プログラムが実行した処理の結果をチェックする情報処理装置で行われる入出力件数チェック方法であって、
前記プログラムから出力された前記処理の開始時刻と、前記処理の終了時刻と、前記プログラムを識別するためのプログラム識別情報と、前記処理の処理件数とを受け取る受取ステップと、
前記プログラムごとに、前記開始時刻と前記終了時刻と前記処理の処理時間が正常であるか否かを判定するための処理時間閾値とに基づいて前記処理の処理時間が正常であるか否かを判定し、前記処理件数と前記処理によって実行されたデータの件数が正常であるか否かを判定するための処理件数閾値とに基づいて前記処理の処理件数が正常であるか否かを判定する妥当性チェックステップと、
前記妥当性チェック処理部において、少なくとも前記処理の処理時間または前記処理の処理件数のいずれかが正常でないと判定された場合に、前記プログラムの前記処理時間または前記処理件数が異常である旨の警告情報を、正常ではないと判定したタイミングで所定の宛先に送信する配信ステップと、
を含むことを特徴とする入出力件数チェック方法。
【請求項７】
コンピュータに、
プログラムが実行して出力した前記処理の開始時刻と、前記処理の終了時刻と、前記プログラムを識別するためのプログラム識別情報と、前記処理の処理件数とを受け取る受取ステップと、
前記プログラムごとに、前記開始時刻と前記終了時刻と前記処理の処理時間が正常であるか否かを判定するための処理時間閾値とに基づいて前記処理の処理時間が正常であるか否かを判定し、前記処理件数と前記処理によって実行されたデータの件数が正常であるか否かを判定するための処理件数閾値とに基づいて前記処理の処理件数が正常であるか否かを判定する妥当性チェックステップと、
前記妥当性チェック処理部において、少なくとも前記処理の処理時間または前記処理の処理件数のいずれかが正常でないと判定された場合に、前記プログラムの前記処理時間または前記処理件数が異常である旨の警告情報を、正常ではないと判定したタイミングで所定の宛先に送信する配信ステップと、
を実行させることを特徴とする入出力件数チェックプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理されたデータの入出力件数をチェックする情報処理装置、入出力件数チェック方法、および入出力件数チェックプログラムに関するものである。
【背景技術】
【０００２】
従来、バッチ処理システムの処理結果を自動的に検証することによって、バッチ処理システムの信頼性を向上させるものがある。例えば、特許文献１には、バッチ処理システムの処理が終了した時点であらかじめ登録された条件に従って処理結果の検証を行い、データの入出力件数の整合性をチェックしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−２８２４６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術では、データ量や処理負荷によりバッチ処理システムでの処理時間の異常が生じた場合、あるいは処理の不正によりデータ量増加の異常が発生した場合であっても、データの処理件数の整合性がとれている限りバッチ処理システムの異常とみなされない。従って、バッチ処理システム内で行われた処理の不正による処理時間と処理件数の増加が生じた場合であっても、バッチ処理のリターンコードによってのみ処理が正常行われたと判断し、後続の処理を開始させてしまう。その結果、後続の処理へのデータ漏れや重複データ等によるシステムの不整合が生じ、重大な事故が発生してしまうという問題があった。また、このような問題に対処するために、例えば、バッチ処理システムの運用担当者は、処理の不正を発見した場合には即時にその不正に対応する事によって事故を未然に防止する必要があった。
【０００５】
このように、上記従来技術では、バッチ処理システム等の種々の処理において、何らかの異常によって処理時間が過去に比べて変化した場合であっても、その変化を考慮せずにシステムを続行するため、事故を未然に防止することができず、システムの信頼性の低下を招いてしまうという問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、事故を未然に防止することができ、システムの信頼性を維持することができる情報処理装置、入出力件数チェック方法、および入出力件数チェックプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明にかかる情報処理装置は、プログラムが実行した処理の結果をチェックする情報処理装置であって、前記処理の処理時間が正常であるか否かを判定するための処理時間閾値と、前記処理によって実行されたデータの件数が正常であるか否かを判定するための処理件数閾値と、前記プログラムを識別するためのプログラム識別情報とを対応付けて記憶する記憶部と、前記プログラムから出力された前記処理の開始時刻と、前記処理の終了時刻と、前記プログラム識別情報と、前記処理の処理件数とを受け取り、前記プログラムごとに、前記開始時刻と前記終了時刻と前記処理時間閾値とに基づいて前記処理の処理時間が正常であるか否かを判定し、前記処理件数と前記処理件数閾値とに基づいて前記処理の処理件数が正常であるか否かを判定する妥当性チェック処理部と、前記妥当性チェック処理部が、少なくとも前記処理の処理時間または前記処理の処理件数のいずれかが正常でないと判定した場合に、前記プログラムの前記処理時間または前記処理件数が異常である旨の警告情報を、正常ではないと判定したタイミングで所定の宛先に送信する配信部と、を備えることを特徴とする。
【０００８】
また、本発明は、上記情報処理装置で行われる入出力件数チェック方法、および入出力件数チェックプログラムである。
【発明の効果】
【０００９】
本発明によれば、事故を未然に防止することができ、システムの信頼性を維持することができる情報処理装置、入出力件数チェック方法、および入出力件数チェックプログラムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態にかかる入出力件数チェックシステムを備えたサーバの構成を示すブロック図である。
【図２】カレンダーテーブルが記憶するデータの例を示す図である。
【図３】入出力件数実績テーブルが記憶するデータの例を示す図である。
【図４】入出力チェックテーブルが記憶するデータの例を示す図である。
【図５】入出力件数管理テーブルが記憶するデータの例を示す図である。
【図６】実績明細データが記憶するデータの例を示す図である。
【図７】実績集計データが記憶するデータの例を示す図である。
【図８】実績月別集計データが記憶するデータの例を示す図である。
【図９】入出力件数チェックシステムで行われる入出力実績集計処理の処理手順を示すフローチャートである。
【図１０】入出力件数チェックシステムで行われる入出力件数妥当性チェック処理の処理手順を示すフローチャートである。
【図１１】入出力件数チェックシステムで行われる統計データ作成処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本発明にかかる情報処理装置、入出力件数チェック方法、および入出力件数チェックプログラムの実施の形態を詳細に説明する。
【００１２】
図１は、本発明の実施の形態にかかる入出力件数チェックシステム１００を備えたサーバ１０００の構成を示すブロック図である。入出力件数チェックシステム１００は、各業務処理部（後述）によって実行された処理の処理時間と処理件数とに応じて、各業務処理部における処理や、各業務処理部を含むシステム全体の処理が異常である旨の警告を運用担当者等に通知するものである。
【００１３】
図１に示すように、サーバ１０００は、入出力件数チェックシステム１００と、メール配信処理部１１１と、業務処理部１１２とを含んで構成されている。また、入出力件数チェックシステム１００は、カレンダーテーブル１０１と、入出力件数実績テーブル１０２と、入出力チェックテーブル１０３と、入出力件数管理テーブル１０４と、実績明細データ１０５と、実績集計データ１０６と、実績月別集計データ１０７と、入力力件数妥当性チェック処理部１０９と、入出力実績集計処理部１１０と、統計データ作成処理部１１０とを含んで構成されている。
【００１４】
なお、以下では特に示していないが、上述した各テーブルや各データは、実際にはＨＤＤ（Hard  Disk  Drive）やメモリ等の記憶媒体に記憶され、また、上述した各処理部や配信部は、実際には、ＣＰＵ（Central  Processing  Unit）等の演算装置によって実行される。まず、カレンダーテーブル１０１について説明する。
【００１５】
カレンダーテーブル１０１は、各業務処理部（後述）が処理を実行した日付を所定の種別に分類して記憶するテーブルであり、処理日を処理日区分で管理するものである。
【００１６】
図２は、カレンダーテーブル１０１が記憶するデータの例を示す図である。図２に示すように、カレンダーテーブル１０１は、日付と、処理日区分と、処理日内容とが対応付けて記憶されている。なお、これらの各項目は、運用担当者等によってあらかじめ設定されるものとする。
【００１７】
日付は、各業務処理部（後述）が実行される日付である。また、処理日区分は、通常日、締め日、特別日等の処理日の種類を識別するためのものである。処理日内容は、処理日区分として区分された処理日の内容を記憶するものである。このように、処理日区分を設けた理由は、例えば、１ヶ月を１つの単位として処理を行うプログラムがある場合には、その期間が終了するタイミングの日付である締め日に取り扱いデータが集中し、締め日以外の日付とは、処理時間や処理件数が異なる場合が多く、これらの日付を別個にチェックする必要があるためである。
【００１８】
図２に示した例では、日付「２００９年９月１日」は、処理日内容が「仮締１営業日」であって、その処理日区分は「１」であることを示している。これと同様に、「２００９年９月２日」は、処理日内容が「本締２営業日」であって、その処理日区分は「２」であり、「２００９年９月１１日」は、処理日内容が「公取仮締日」であって、その処理日区分は「３」であることを示している。
【００１９】
すなわち、後述するように、各業務処理部（後述）で行われた処理は、処理日区分が「１」である場合には「仮締１営業日」に実行されたものであり、処理日区分が「２」である場合には「本締２営業日」に実行されたものであり、処理日区分が「３」である場合には「公取仮締日」に実行されたものであることを示している。なお、処理日区分が、これらのいずれにも該当しない場合は、後述する処理において、通常日として「−」が設定される。続いて、入出力件数実績テーブル１０２について説明する。
【００２０】
入出力件数実績テーブル１０２は、各業務処理部（後述）が処理を実行した際の処理件数や処理時間等の実績データを累積して記憶するテーブルである。
【００２１】
図３は、入出力件数実績テーブル１０２が記憶するデータの例を示す図である。図３に示すように、入出力件数実績テーブル１０２は、プログラムＩＤと、処理日区分と、処理日と、処理開始時間（処理開始時刻）と、処理終了時間（処理終了時刻）と、処理時間と、処理時間アラームと、入出力識別区分と、処理件数と、処理件数アラームとが対応付けて記憶されている。なお、図３に示した例では、入出力識別区分と、処理件数と、処理件数アラームは、それぞれ（１）〜（３）まで設定されているが、その理由は、プログラムの入力ファイルや出力ファイルが複数存在する場合（例えば、ＣＯＢＯＬ言語の場合における入力ファイルとして、ＳＹＳ１００、ＳＹＳ１１０が定義されている場合）があるためである。
【００２２】
プログラムＩＤは、各業務処理部（後述）が実行したプログラムを識別するための識別情報である。また、処理日区分は、上述したカレンダーテーブル１０１と同様の情報であり、処理日は、実際にプログラムＩＤによって識別されるプログラムが処理を実行した日付であり、処理開始時間は、そのプログラムが実際に処理の実行を開始した時間であり、処理終了時間は、そのプログラムが実際に処理の実行を終了した時間である。
【００２３】
また、処理時間は、処理開始時間から処理終了時間までに経過した時間である。処理時間アラームは、上述した処理時間が、あらかじめ設定された処理時間の閾値を超えている場合に設定される警告情報である。
【００２４】
入出力識別区分は、プログラムＩＤによって識別されるプログラムで使用される入力ファイルの識別情報やファイル名である。処理件数は、そのプログラムで処理されたデータの件数であり、処理件数アラームは、上述した処理件数が、あらかじめ設定された処理件数の閾値を超えている場合に設定される警告情報である。
【００２５】
図３に示した例では、プログラムＩＤ「ＰＧＭ００２」のプログラムは、「仮締め１営業日」である「２００９年９月１日」「１５：００：００」に処理を開始し、その後「１５：３０：００」に処理を終了したことを示しておる。また、その処理において、入力ファイル「ＩＮＰＵＴ００１」が読み取ったデータの件数は「５００００」件であり、この値は所定の閾値を超えていることを示している。これと同様に、出力ファイル「ＯＵＴ００１」が出力したデータの件数は「３００００」件であり、この値は所定の閾値を超えていることを示している。処理時間アラーム、処理件数アラームの設定や処理時間の算出については、後述するフローチャートを用いて説明する。続いて、入出力チェックテーブル１０３について説明する。
【００２６】
入出力チェックテーブル１０３は、上述した入出力件数実績テーブル１０３に記憶されている各種の情報を日次で集計したテーブルであり、入出力件数の妥当性をチェックするために用いられるものである。
【００２７】
図４は、入出力チェックテーブル１０３が記憶するデータの例を示す図である。図４に示すように、入出力チェックテーブル１０３は、プログラムＩＤと、処理日区分と、処理時間チェック区分と、処理時間基準値と、処理時間最低値と、処理時間最高値と、入出力識別区分と、処理件数基準値と、処理件数最低値と、処理件数最高値と、配信メールアドレスとが対応付けて記憶されている。なお、図４に示した例では、入出力識別区分と、処理件数基準値と、処理件数最低値と、処理件数最高値がそれぞれ（１）〜（３）まで設定されているが、その理由は図３に示した入出力件数実績テーブル１０２の場合と同様の理由のためである。また、配信メールアドレスが（１）〜（３）まで設定されている理由は、例えば、運用担当者が複数存在する場合に必要となるためである。
【００２８】
プログラムＩＤ、処理日区分、入出力識別区分、配信メールアドレスは、図３に示した入出力件数実績テーブル１０２の場合と同様のものである。また、処理時間チェック区分は、処理時間が閾値を超えているか否かの必要性（チェックする必要の有無）を示すものである。
【００２９】
処理時間基準値は、そのプログラムが実行されるべき基準なる時間である。処理時間最低値は、プログラムの処理時間が取りうる最低値を示すものであり、処理時間最高値は、プログラムの処理時間が取りうる最高値を示すものである。
【００３０】
また、処理件数基準値は、そのプログラムが実行された場合において、入出力ファイルに入出力されるべき基準となるデータの件数である。処理件数最低値は、入出力ファイルに入出力されるべきデータの件数が取りうる最低値を示すものであり、処理件数最高値は、入出力ファイルに入出力されるべきデータの件数が取りうる最高値を示すものである。処理時間基準値、処理時間最低値、処理時間最高値、処理件数基準値、処理件数最低値、処理件数最高値の設定や算出については、後述するフローチャートを用いて説明する。
【００３１】
図４に示した例では、プログラムＩＤが「ＰＧＭ００２」のプログラムは、「仮締１営業日」に実行された場合には、処理時間のチェックが必要となり、その処理時間の基準値は「００：３０：００」（３０分）であり、処理時間の最低値と最高値は、それぞれ「００：２０：００」（２０分）、「００：４０：００」（４０分）であることを示している。すなわち、プログラム「ＰＧＭ００２」の処理時間は、基準処理時間の前後１０分の範囲内であれば正常であることを示している。
【００３２】
また、「ＰＧＭ００２」のプログラムで使用される入力ファイル「ＩＮＰ００１」は、処理件数の基準値が「３００００」件であり、処理件数の最低値と最高値は、それぞれ「２００００」件、「４００００」件であることを示している。すなわち、入力ファイル「ＩＮＰ００１」の件数は、処理件数基準値の前後１００００件の範囲内であれば正常であることを示している。これと同様に、出力ファイル「ＯＵＴ００１」の件数は、処理件数基準値である「２００００」件の前後５０００件である「１５０００」件から「２５０００」件の範囲内であれば正常であることを示している。
【００３３】
そして、処理時間または処理件数が、上述した範囲内にない場合には、後述する処理内において以上であると判断され、配信メールアドレス「ｍａｉｌ００１」、「ｍａｉｌ００２」の宛先の運用担当者に以上である旨の警告情報が送信されることを示している。続いて、入出力件数管理テーブル１０４について説明する。
【００３４】
入出力件数管理テーブル１０４は、各業務処理部（後述）において行われた処理の処理時間や処理件数の判断基準をプログラム単位に記憶するテーブルであり、日次で入出力チェックテーブルを作成する時に参照されるものである。
【００３５】
図５は、入出力件数管理テーブル１０４が記憶するデータの例を示す図である。図５に示すように、入出力件数管理テーブル１０４は、プログラムＩＤと、処理日区分と、集計開始日と、処理時間チェック区分と、処理時間許容範囲と、入出力識別区分と、処理件数許容範囲と、配信メールアドレスとが対応付けて記憶されている。なお、処理時間許容範囲と、入出力識別区分と、処理件数許容範囲と、配信メールアドレスが複数設定されている理由は、上述した理由と同様の理由からである。また、プログラムＩＤ、処理日区分、処理時間チェック区分、入出力識別区分、配信メールアドレスについては、これまでに述べた内容と同様であるため、ここではその説明を省略する。
【００３６】
集計開始日は、入出力件数チェックシステム１００を実行させて、処理時間や処理件数をプログラムごとの集計を開始する日を示すものである。また、処理時間許容範囲は、各業務処理部（後述）が実際に処理した時間と上述した処理時間基準値との誤差の許容範囲を示すものである。また、処理件数許容範囲は、各業務処理部（後述）が実際に処理した件数と上述した処理件数基準値との誤差の許容範囲を示すものである。なお、入出力件数管理テーブル１０４が記憶するこれらのデータは、運用担当者等によってあらかじめ設定されるものとする。
【００３７】
図５に示した例では、プログラムＩＤが「ＰＧＭ００３」であるプログラムは、処理時間許容範囲として「００：１０：００」（１０分）が設定され、入力ファイル「ＩＮＰ００１」の処理件数許容範囲として「５００」件が設定され、出力ファイル「ＯＵＴ００１」、「ＯＵＴ００２」の処理件数許容範囲として、それぞれ「３００」件、「２００」件が設定され、警告情報が「ｍａｉｌ００１」、「ｍａｉｌ００２」、「ｍａｉｌ００３」に送信される設定であり、そのような設定において「２００９年９月１日」から集計を開始することを示している。続いて、実績明細データ１０５について説明する。
【００３８】
実績明細データ１０５は、過去に記憶された入出力件数実績テーブル１０２のデータをＣＳＶ形式に変換して出力されたデータである。運用担当者は、この実績明細データ１０５を参照することによって、過去の業務処理部１１２のプログラムの処理時間と処理件数の実績を、プログラム単位に確認することができる。
【００３９】
図６は、実績明細データ１０５が記憶するデータの例を示す図である。図６に示すように、実績明細データ１０５の各項目は、なお、実績明細データ１０５が保持する各項目については、入出力件数実績テーブル１０２の各項目と同様の項目を保持している。後述するように、入出力件数チェックシステム１００の処理が実行されるごとに、入出力件数実績テーブル１０２のデータが、実績明細データ１０５として順次蓄積されるようになっている。なお、実績明細データ１０５が保持する各項目は、入出力件数実績テーブル１０２の各項目と同様であるため、ここではその説明を省略する。続いて、実績集計データ１０６について説明する。
【００４０】
実績集計データ１０６は、プログラムＩＤと処理日区分をキーとして、処理時間と処理件数とを集計したデータであり、入出力チェックテーブルをＣＳＶ形式に変換して出力したデータである。運用担当者は、この実績集計データ１０６を参照することによって、過去の業務処理部１１２のプログラムが行った処理に関する処理時間と処理件数の平均値とを、プログラム単位に確認することができる。
【００４１】
図７は、実績集計データ１０６が記憶するデータの例を示す図である。図７に示すように、実績集計データ１０６は、プログラムＩＤと、処理日区分と、処理時間チェック区分と、処理時間平均値と、入出力識別区分と、処理件数平均値とが対応付けて記憶されている。なお、入出力識別区分と、処理件数平均値とが複数設定されている理由は、上述した理由と同様の理由からである。また、プログラムＩＤ、処理日区分、処理時間チェック区分、入出力識別区分については、これまでに述べた内容と同様であるため、ここではその説明を省略する。
【００４２】
処理時間平均値は、図３に示した入出力件数実績テーブル１０２に記憶されている処理時間を、プログラムＩＤおよび処理日区分ごとに加算し、その平均値をとったものであり、処理件数平均値は、入出力件数実績テーブル１０２に記憶されている処理件数を、プログラムＩＤおよび処理日区分ごとに加算し、その平均値をとったものである。
【００４３】
図７に示した例では、処理日区分「−」（通常日）に実行されたプログラムＩＤ「ＰＧＭ００３」のプログラムは、図３に示したように、「２００９年９月３日」および「２００９年９月４日」に実行されているが、そのときの処理時間はそれぞれ「００：０２：００」（２分）、「００：０３：００」（３分）であるため、処理時間平均値は「００：０２：３０」であることを示している。これと同様に、入力ファイル「ＩＮＰ００１」の処理件数はそれぞれ「５０００」件、「５５００」件であるため、処理件数平均値は「５２５０」件であり、入力ファイル「ＩＮＰ００２」の処理件数はそれぞれ「３０００」件、「３５００」件であるため、処理件数平均値は「３２５０」件であり、出力ファイル「ＯＵＴ００１」の処理件数はそれぞれ「５０００」件、「５５００」件であるため、処理件数平均値は「５２５０」件であることを示している。続いて、実績月別集計データ１０７について説明する。
【００４４】
実績月別集計データ１０７は、処理年月ごとに、プログラムＩＤと処理日区分をキーとして、処理時間と処理件数とを集計したデータであり、実績月別集計データは実績明細データ１０５を年月別に集計し、処理時間および処理件数の平均値を算出してＣＳＶ形式に変換して出力したデータである。運用担当者は、この実績月別集計データ１０７を参照することによって、過去の業務処理部１１２のプログラムの処理時間および処理件数の平均値を、プログラム単位かつ年月別に確認することができる。さらに、後述する処理において、例えば、処理時間および処理件数が正常であるプログラムの処理時間および処理件数の平均値が算出されることによって、運用担当者は、過去の実績を踏まえた処理時間基準値および処理件数基準値として適切な値を設定することができる。
【００４５】
図８は、実績月別集計データ１０７が記憶するデータの例を示す図である。図８に示すように、実績月別集計データ１０７は、上述した実績集計データ１０６が保持する各項目に加え、処理年月が対応付けて記憶されている。後述する処理において、実績月別集計データ１０７は、処理年月の各月ごとに、各プログラムの処理時間の平均値と処理件数の平均値が集計される。なお、実績月別集計データ１０７が保持する各項目については実績集計データ１０６と同様であるため、ここではその説明を省略する。続いて、図１に戻り、入出力実績集計処理部１０８について説明する。
【００４６】
入出力実績集計処理部１０８は、業務処理部（後述）が有する各プログラムの処理結果に従って、所定のタイミング（例えば、日次）で、各プログラムの処理時間や処理件数を取得し、取得した情報を入出力チェックテーブル１０３に登録させるものである。この入出力実績集計処理部１０８が行う処理については、図９を用いて後述する。
【００４７】
入出力件数妥当性チェック処理部１０９は、業務処理部（後述）から出力された処理開始時間、処理終了時間、処理件数、プログラムＩＤ、処理日、入出力識別区分等の入出力チェックに必要な情報（以下、これらを入出力チェック情報と呼ぶ。）を取得し、処理時間および処理件数が妥当であるか否かを判定した上で、入出力チェック情報を入出力件数実績テーブル１０２に登録させるものである。この入出力件数妥当性チェック処理部１０９が行う処理については、図１０を用いて後述する。
【００４８】
統計データ作成処理部１１０は、入出力件数妥当性チェック処理部１０９が登録した入出力件数実績テーブル１０２のプログラムＩＤと処理日区分をキーとして、処理時間と処理件数とを集計したファイル（実績集計データ１０６）、および処理年月ごとに、プログラムＩＤと処理日区分をキーとして、処理時間と処理件数とを集計したファイル（実績月別集計データ１０７）を生成するものである。この統計データ作成処理部１１０が行う処理については、図１１を用いて後述する。この統計データ作成処理部１１０が図１１に示す処理を行うことによって、プログラム毎のデータの処理時間や処理件数の推移を把握することができる。このような推移を把握することによって、例えば、過去に実績に従って、処理時間基準値（あるいは処理時間最低値、処理時間最高値）、処理件数基準値（あるいは処理件数最低値、処理検す最高値）を適切に設定することができる。
【００４９】
メール配信処理部１１１は、入出力件数妥当性チェック処理部１０９が、業務処理部（後述）の処理時間、処理件数が妥当ではないと判定した場合に、ネットワークＮを介して運用担当者に警告情報をメールするものである。なお、ネットワークＮは、ＷＡＮ（Wide  Area  Network）やＬＡＮ（Local  Area  Network）等の一般的な通信回線網である。
【００５０】
業務処理部１１２は、例えば、入出金業務や精算業務等の業務系アプリケーションや営業成績統計情報等の情報系アプリケーションやシステム等、入出力件数チェックシステム１００のチェック対象となるものである。業務処理部１１２は、１または複数個のプログラムを有しており、そのプログラムは上述した入出力チェック情報を出力し、出力された入出力チェック情報を参照して、処理時間や入出力件数が上述した各部によって判定され、または集計される。
【００５１】
続いて、入出力件数チェックシステム１００で行われる処理について説明する。
【００５２】
図９は、入出力件数チェックシステム１００で行われる入出力実績集計処理の処理手順を示すフローチャートである。なお、この入出力実績集計処理は、例えば、あらかじめスケジューリングされて所定の時刻に日次で実行されるが、後述するように、この処理で用いられる入出力件数実績テーブル１０２は、個別処理部１１２の処理が実行される都度、入出力件数実績テーブル１０２の各項目が設定されるため、この入出力実績集計処理では、その時点での最新の入出力件数実績テーブル１０２を用いて処理を行っているものとする。
【００５３】
図９に示すように、入出力実績集計処理部１０８は、まず、入出力件数管理テーブル１０４を参照し、入出力件数管理テーブル１０４に登録されているレコードを読み込む（ステップＳ９０１）。次に、入出力実績集計処理部１０８は、入出力件数管理テーブル１０４のレコードに含まれるプログラムＩＤと処理日区分とを取得し、取得したプログラムＩＤと処理日区分とをキーとして、入出力件数実績テーブル１０２を参照する（ステップＳ９０２）。
【００５４】
そして、入出力実績集計処理部１０８は、取得したプログラムＩＤと処理日区分とをキーとした対象レコードが入出力件数実績テーブル１０２に存在しているか否かを判定し（ステップＳ９０３）、取得したプログラムＩＤと処理日区分とをキーとした対象レコードが入出力件数実績テーブル１０２に存在していると判定した場合（ステップＳ９０３；Ｎｏ）、ステップＳ９０６に進む。
【００５５】
一方、入出力実績集計処理部１０８は、取得したプログラムＩＤと処理日区分とをキーとした対象レコードが入出力件数実績テーブル１０２に存在していないと判定した場合（ステップＳ９０３；Ｙｅｓ）、入出力件数管理テーブル１０４の処理日区分をキーとしてカレンダーテーブル１０１を参照する（ステップＳ９０４）。
【００５６】
そして、入出力実績集計処理部１０８は、カレンダーテーブル１０１に含まれる日付と、入出力件数管理テーブル１０４に含まれるプログラムＩＤとをキーとして、入出力件数実績テーブル１０２を参照する（ステップＳ９０５）。
【００５７】
このように、カレンダーテーブル１０１に含まれる日付と、入出力件数管理テーブル１０４に含まれるプログラムＩＤとをキーとして入出力件数実績テーブル１０２を参照する理由は、後述する入出力件数妥当性チェック処理に示すように、新規プログラムが追加された場合等には、入出力件数のチェックがされることなくレコードが入出力件数実績テーブル１０２に格納される（入出力件数管理テーブル１０４に新規にレコードを登録した場合、入出力件数実績テーブル１０２には、そのレコードに対応するレコードが存在しない）ためである。
【００５８】
その後、入出力実績集計処理部１０８は、参照した入出力件数実績テーブル１０２のレコードに含まれる処理時間アラームおよび処理件数アラームのいずれにも警告を意味する「＊」が記載されていないか否かを判定し（ステップＳ９０６）、処理時間アラームまたは処理件数アラームのいずれかに「＊」が記載されていると判定した場合（ステップＳ９０６；Ｎｏ）、ステップＳ９１５に進む。
【００５９】
一方、入出力実績集計処理部１０８は、処理時間アラームおよび処理件数アラームのいずれにも「＊」が記載されていないと判定した場合（ステップＳ９０６；Ｙｅｓ）、さらに、入出力件数管理テーブル１０４の集計開始日を参照し、その集計開始日と、入出力件数実績テーブル１０２に含まれるレコードの処理日とを比較し、処理日が集計開始日以降であるか否かを判定し（ステップＳ９０７）、処理日が集計開始日以降ではないと判定した場合（ステップＳ９０７；Ｎｏ）、ステップＳ９１５に進む。
【００６０】
一方、入出力実績集計処理部１０８は、処理日が集計開始日以降であると判定した場合（ステップＳ９０７；Ｙｅｓ）、参照した入出力件数実績テーブル１０２のレコードに含まれる処理時間の合計（プログラムＩＤごと処理日区分ごとの合計）を、プログラムＩＤごと処理日区分ごとのレコード件数で除算し、処理時間の平均値を処理時間基準値として算出する（ステップＳ９０８）。
【００６１】
そして、入出力実績集計処理部１０８は、参照した入出力件数実績テーブル１０２のレコードに含まれるプログラムＩＤと処理日区分とに一致する入出力件数管理テーブル１０４のレコードに含まれる処理時間チェック区分が「１」であるか否か、すなわち処理時間のチェックが必要であるか否かを判定し（ステップＳ９０９）、処理時間のチェックが必要ではないと判定した場合（ステップＳ９０９；Ｎｏ）、ステップＳ９１２に進む。
【００６２】
一方、入出力実績集計処理部１０８は、処理時間のチェックが必要であると判定した場合（ステップＳ９０９；Ｙｅｓ）、さらに、ステップＳ９０８で算出した処理時間基準値から入出力管理テーブル１０４の処理時間許容範囲の値を減算し、処理時間最低値（すなわち、処理時間の最短値）を算出する（ステップＳ９１０）。
【００６３】
さらに、入出力実績集計処理部１０８は、ステップＳ９０８で算出した処理時間基準値から入出力管理テーブル１０４の処理時間許容範囲の値を加算し、処理時間最高値（すなわち、処理時間の最長値）を算出する（ステップＳ９１１）。
【００６４】
その後、入出力実績集計処理部１０８は、処理時間をチェックしたレコードと同じレコードに含まれる処理件数の合計（プログラムＩＤごと処理日区分ごとの合計）を、プログラムＩＤごと処理日区分ごとのレコード件数で除算し、処理件数の平均値を処理件数基準値として算出する（ステップＳ９１２）。
【００６５】
そして、入出力実績集計処理部１０８は、さらに、ステップＳ９１２で算出した処理件数基準値から入出力管理テーブル１０４の処理件数許容範囲の値を減算し、処理件数最低値（すなわち、処理件数の最小値）を算出する（ステップＳ９１３）。
【００６６】
さらに、入出力実績集計処理部１０８は、ステップＳ９１２で算出した処理件数基準値から入出力管理テーブル１０４の処理件数許容範囲の値を加算し、処理件数最高値（すなわち、処理時間の最大値）を算出する（ステップＳ９１４）。
【００６７】
その後、入出力実績集計処理部１０８は、算出した処理時間基準値、処理時間最低値、処理時間最高値、処理件数最低値、処理件数最高値を含むレコードを入出力チェックテーブル１０３に登録するステップＳ９１５）。このステップＳ９１５の処理が終了すると、図９に示した入出力実績集計処理の全ての処理が終了する。続いて、入出力件数チェックシステム１００で行われる入出力件数妥当性チェック処理について説明する。
図１０は、入出力件数チェックシステム１００で行われる入出力件数妥当性チェック処理の処理手順を示すフローチャートである。なお、この入出力件数妥当性チェック処理は、例えば、業務処理部１１２が入出力チェック情報を出力する都度リアルタイムに実行されるものとする。このように、リアルタイムに処理を行うことによって、速やかに処理時間や処理件数の妥当性を把握することができるようになっている。
【００６８】
図１０に示すように、入出力件数妥当性チェック処理部１０９は、まず、業務処理部１１２から出力された入出力チェック情報（処理開始時間、処理終了時間、処理件数、プログラムＩＤ、処理日、入出力識別区分）を、入出量件数実績テーブル１０２の各項目（エリア）に設定する（ステップＳ１００１）。
【００６９】
そして、入出力件数妥当性チェック処理部１０９は、入出力件数実績テーブル１０２に設定したレコードに含まれる処理終了時間から処理開始時間を減算し、処理時間を算出する（ステップＳ１００２）。
【００７０】
その後、入出力件数妥当性チェック処理部１０９は、入出力チェック情報に含まれる処理日をキーとしてカレンダーテーブル１０１を参照し（ステップＳ１００３）、カレンダーテーブル１０１に、対象レコード（その処理日を含むレコード）が存在するか否かを判定する（ステップＳ１００４）。
【００７１】
そして、入出力件数妥当性チェック処理部１０９は、その処理日を含むレコードが存在すると判定した場合（ステップＳ１００４；Ｎｏ）、その日付に対応するカレンダーテーブル１０１の処理日区分を、入出力件数実績テーブル１０２の処理日区分に設定する（ステップＳ１００５）。
【００７２】
一方、入出力件数妥当性チェック処理部１０９は、その処理日を含むレコードが存在しないと判定した場合（ステップＳ１００４；Ｙｅｓ）、カレンダーテーブル１０１に登録されていない処理日（例えば、通常日）として、入出力件数実績テーブル１０２の処理日区分に「−」を設定する（ステップＳ１００６）。
【００７３】
そして、入出力件数妥当性チェック処理部１０９は、プログラムＩＤとステップＳ１００５またはＳ１００６で設定した処理日区分とをキーとして、入出力チェックテーブル１０３を参照し（ステップＳ１００７）、対象レコード（そのプログラムＩＤと処理日区分とを含むレコード）が存在するか否かを判定する（ステップＳ１００８）。
【００７４】
入出力件数妥当性チェック処理部１０９は、そのプログラムＩＤと処理日区分とを含むレコードが存在しないと判定した場合（ステップＳ１００８；Ｎｏ）、ステップＳ１０１７に進む。
【００７５】
一方、入出力件数妥当性チェック処理部１０９は、そのプログラムＩＤと処理日区分とを含むレコードが存在すると判定した場合（ステップＳ１００８；Ｙｅｓ）、さらに、そのレコードに含まれる処理時間チェック区分が「１」、すなわち処理時間のチェックが必要であるか否かを判定し（ステップＳ１００９）、処理時間チェック区分が「１」ではないと判定した場合（ステップＳ１００９；Ｎｏ）、ステップＳ１０１２に進む。
【００７６】
一方、入出力件数妥当性チェック処理部１０９は、処理時間チェック区分が「１」であると判定した場合（ステップＳ１００９；Ｙｅｓ）、さらに、入出力件数実績テーブル１０２を参照し、そのプログラムＩＤと処理日区分と同じレコードを特定し、特定したレコードに含まれる処理時間が、処理時間最低値以上であって、かつ処理時間最高値以下であるか否かを判定する（ステップＳ１０１０）。
【００７７】
そして、入出力件数妥当性チェック処理部１０９は、処理時間が、処理時間最低値以上であって、かつ処理時間最高値以下であると判定した場合（ステップＳ１０１０；Ｙｅｓ）、ステップＳ１０１２に進む一方、処理時間が、処理時間最低値以上であって、かつ処理時間最高値以下ではない、すなわち処理時間が、処理時間最低値と処理時間最高値との間の許容範囲内にないと判定した場合（ステップＳ１０１０；Ｎｏ）、入出力件数実績テーブル１０２の処理時間アラームに、警告を意味する「＊」を設定する（ステップＳ１０１１）。
【００７８】
さらに、入出力件数妥当性チェック処理部１０９は、入出力件数実績テーブル１０２を参照し、そのプログラムＩＤと処理日区分と同じレコードを特定し、特定したレコードに含まれる処理件数が、処理件数最低値以上であって、かつ処理件数最高値以下であるか否かを判定する（ステップＳ１０１２）。
【００７９】
そして、入出力件数妥当性チェック処理部１０９は、処理件数が、処理件数最低値以上であって、かつ処理件数最高値以下であると判定した場合（ステップＳ１０１２；Ｙｅｓ）、ステップＳ１０１４に進む一方、処理件数が、処理件数最低値以上であって、かつ処理件数最高値以下ではない、すなわち処理件数が、処理件数最低値と処理件数最高値との間の許容範囲内にないと判定した場合（ステップＳ１０１２；Ｎｏ）、入出力件数実績テーブル１０２の処理件数アラームに、警告を意味する「＊」を設定する（ステップＳ１０１３）。
【００８０】
その後、入出力件数妥当性チェック処理部１０９は、処理時間アラームまたは処理件数アラームに「＊」が設定されているか否かを判定し（ステップＳ１０１４）、処理時間アラームまたは処理件数アラームに「＊」が設定されていると判定した場合（ステップＳ１０１４；Ｙｅｓ）、入出力チェックテーブル１０４に設定されている配信メールアドレスに警告メッセージ（例えば、該当プログラムの処理時間または処理件数が異常である旨のメッセージ）を出力し（ステップＳ１０１５）、メール配信処理部１１１が、その警告メッセージを含むメールを、その配信メールアドレスに配信する（ステップＳ１０１６）。
【００８１】
一方、入出力件数妥当性チェック処理部１０９は、処理時間アラームまたは処理件数アラームに「＊」が設定されていないと判定した場合（ステップＳ１０１４；Ｎｏ）、何もせずにステップＳ１０１７に進み、入出力実績テーブル１０２に、そのレコードを格納させる（ステップＳ１０１７）。このステップＳ１０１７の処理が終了すると、図１０に示した入出力件数妥当性チェック処理の全ての処理が終了する。続いて、入出力件数チェックシステム１００で行われる統計データ作成処理について説明する。
【００８２】
図１１は、入出力件数チェックシステム１００で行われる統計データ作成処理の処理手順を示すフローチャートである。なお、この統計データ作成処理は、例えば、運用担当者が任意のタイミング（例えば、月末、週末等のタイミング）で起動し、実行されるものとする。
【００８３】
図１１に示すように、統計データ作成処理部１１０は、まず、入出力件数実績テーブル１０２に格納されている全てのデータをＣＳＶ形式に変換した実績明細データを出力し（ステップＳ１１０１）、さらに、入出力チェックテーブルに格納されている全てのデータをＣＳＶ形式に変換した実績集計データを出力する（ステップＳ１１０２）。このように出力された詳細なデータを出力することによって、例えば、運用担当者は様々な切り口で業務処理部１１２に関する分析を行うことができる。
【００８４】
そして、統計データ作成処理部１１０は、実績明細データを、プログラムＩＤ、処理日区分、処理日の年月をキーとしてソートした上で入出力件数実績テーブル１０２を参照し、処理時間アラームが「＊」でなく、かつ処理件数アラームが「＊」でないか否か判定し（ステップＳ１１０３）、処理時間アラームおよび処理件数アラームのいずれも「＊」ではないと判定した場合（ステップＳ１１０３；Ｎｏ）、ステップＳ１１０９に進む。
【００８５】
一方、統計データ作成処理部１１０は、処理時間アラームまたは処理件数アラームのいずれかが「＊」であると判定した場合（ステップＳ１１０３；Ｙｅｓ）、処理時間の合計を算出し（ステップＳ１１０４）、さらに、処理件数の合計を算出する（ステップＳ１１０５）。
【００８６】
そして、統計データ作成処理部１１０は、入出力件数実績テーブル１０２内のレコードについて、プログラムＩＤ、処理日区分、処理日年月が一致しているか否かを判定し（ステップＳ１１０６）、プログラムＩＤ、処理日区分、処理日年月が一致していると判定した場合（ステップＳ１１０６；Ｙｅｓ）、ステップＳ１１０３に戻り、ステップＳ１１０３〜Ｓ１１０６までの処理を繰り返す。このように、ステップＳ１１０３〜１１０６までの処理を繰り返し行って、入出力件数実績テーブル１０２内の全てのレコードについて処理時時間と処理件数とを算出する。
【００８７】
一方、統計データ作成処理部１１０は、プログラムＩＤ、処理日区分、処理日年月が一致しないと判定した場合（ステップＳ１１０６；Ｎｏ）、ステップＳ１１０４で算出した処理時間の合計をレコード件数で除算して処理時間平均値を算出し（ステップＳ１１０７）、さらに、ステップＳ１１０５で算出した処理件数の合計をレコード件数で除算して処理件数平均値を算出する（ステップＳ１１０８）。
【００８８】
その後、統計データ作成処理部１１０は、プログラムＩＤ、処理日区分、処理日年月ごとに処理時間平均値と処理件数平均値とを算出した実績月別集計データをＣＳＶ形式で出力する（ステップＳ１１０９）。このステップＳ１１０９の処理が終了すると、図１１に示した統計データ作成処理の全ての処理が終了する。
【００８９】
このように、業務処理部１１２のプログラムが実行した処理の結果をチェックするサーバ１０００において、記憶部（入出力チェックテーブル１０３）が、処理の処理時間が正常であるか否かを判定するための処理時間基準値と、処理によって実行されたデータの件数が正常であるか否かを判定するための処理件数基準値と、業務処理部１１２のプログラムを識別するためのプログラムＩＤとを対応付けて記憶し、入出力件数妥当性チェック処理部１０９が、業務処理部１１２のプログラムから出力された処理の開始時刻と、処理の終了時刻と、プログラムＩＤと、処理の処理件数とを受け取り、業務処理部１１２のプログラムごとに、開始時刻と終了時刻と処理時間基準値とに基づいて処理の処理時間が正常であるか否かを判定し、処理件数と処理件数基準値とに基づいて処理の処理件数が正常であるか否かを判定し、メール配信処理部１１１が、入出力件数妥当性チェック処理部１０９が、少なくとも処理の処理時間または処理の処理件数のいずれかが正常でないと判定した場合に、プログラムの処理時間または処理件数が異常である旨の警告情報を、正常ではないと判定したタイミングで所定の宛先に送信するので、事故を未然に防止することができ、システムの信頼性を維持することができる。
【００９０】
例えば、業務処理部１１２のプログラムの処理時間と処理件数について、過去の実績より正常となる範囲を算出し、算出した値が正常範囲値内にない（異常である）場合、そのタイミングで警告メッセージを運用担当者にメールにて通知するので、未然に事故を防止することができる。また、業務処理部１１２のプログラムの処理時間と処理件数について、月別に集計して処理時間と処理件数の推移を統計データとして提供するので、将来の処理時間と処理件数の推測と未然に事故防止を役立てることができる。
【００９１】
すなわち、あらかじめプログラム単位に処理時間と処理件数の許容範囲やメール送信情報を、運用担当者等が登録しておくことにより、日々処理されるユーザプログラムの処理時間と処理件数の異常を早期に発見でき、そのタイミングで処理されたデータの内容を早急に確認し、問題の生じたプログラムの前処理に対する影響確認、あるいは後続処理の実行可否の判断を迅速に行うことができる。その結果、システムの事故を未然に防ぐ事ができ、システムの信頼性を向上させることができる。
【００９２】
また、実績明細データ、実績集計データ、実績月別集計データが作成されるため、運用担当者は業務処理部１１２の個々のプログラム、あるいはシステム全体の処理時間と処理件数の推移を把握する事が可能となり、処理のタイムオーバーやデータ容量不足等に伴う事故も未然に防ぐ事が可能となる。
【００９３】
なお、上述したサーバ１０００で実行される各種の処理は、実際にはプログラムが実行されることによって、これらの各機能が実現され、そのプログラムは、例えば、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供することが可能である。
【００９４】
また、本実施の形態のプログラムは、上述した各部（入出力実績集計処理部、入出力件数妥当性チェック処理部、統計データ作成処理部等）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵが上記記録媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、入出力実績集計処理部、入出力件数妥当性チェック処理部、統計データ作成処理部等が主記憶装置上に生成されるようになっている。
【００９５】
本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【００９６】
１０００  サーバ
１００  入出力件数チェックシステム
１０１  カレンダーテーブル
１０２  入出力件数実績テーブル
１０３  入出力チェックテーブル
１０４  入出力件数管理テーブル
１０５  実績明細データ
１０６  実績集計データ
１０７  実績月別集計データ
１０８  入出力実績集計処理部
１０９  入出力件数妥当性チェック処理部
１１０  統計データ作成処理部
１１１  メール配信処理部
１１２  業務処理部
Ｎ  ネットワーク。
【図１】
2012063898.tif 000003
【図２】
2012063898.tif 000004
【図３】
2012063898.tif 000005
【図４】
2012063898.tif 000006
【図５】
2012063898.tif 000007
【図６】
2012063898.tif 000008
【図７】
2012063898.tif 000009
【図８】
2012063898.tif 000010
【図９】
2012063898.tif 000011
【図１０】
2012063898.tif 000012
【図１１】
2012063898.tif 000013