(57)【特許請求の範囲】
【請求項１】
外部記憶装置と、前記外部記憶装置と接続し、主記憶装置を有し、前記主記憶装置上のデータに対して処理を実行するデータ処理サーバとを含むデータ処理システムにおけるデータ処理方法であって、
前記データ処理サーバのシステム制御部は、該データ処理サーバのＯＳが起動し、起動された前記ＯＳにより前記主記憶装置上にロードされて起動され、前記データに対する処理要求の有無に関わらず、前記外部記憶装置に参照確率の降順に連続領域に格納された、前記データを含む一連のデータを連続的に読み出して前記主記憶装置へロードするデータロード制御部の実行と並行して、該システム制御部からの前記データに対する前記処理要求を受け付けるデータ処理制御部を実行し、
前記処理要求に対応する前記データが、前記データロード制御部の実行によって前記主記憶装置へロードされていないとき、前記データロード制御部の実行によって前記データが前記主記憶装置へロードされた後に、前記データ処理制御部が前記主記憶装置へロードされた前記データに対して前記処理要求に対応する処理を実行し、
前記システム制御部は、システム終了コマンドが入力されると、前記データ処理制御部によるデータ処理を終了させ、前記一連のデータを前記主記憶装置から前記外部記憶装置へアンロードするアンロード制御部を実行し、
前記アンロード制御部は、前記データ処理サーバに接続する入力装置からの入力情報及び前記データの処理に関する統計情報の少なくとも一方に基づいて、前記データの参照のされやすさを数値化した前記参照確率を求め、
前記アンロード制御部は、前記データを含む前記一連のデータを、前記主記憶装置から、前記データロード制御部によって前記参照確率の降順に連続的に読み出される前記外部記憶装置へ前記参照確率の降順にアンロードすることを特徴とするデータ処理方法。
【請求項２】
前記データの処理に関する統計情報には、前記参照確率に反映する前記データの処理回数及び前記データの処理日時の少なくとも一方を含むことを特徴とする請求項１記載のデータ処理方法。
【請求項３】
前記データロード制御部は、前記外部記憶装置から前記参照確率の降順に連続的に読み出される前記データの前記主記憶装置上への格納に応答して、前記データを管理するための管理情報に、前記データ処理制御部が前記処理要求に対応する前記データが前記主記憶装置へロードされているかを判定するために用いる、前記データの前記主記憶装置上の格納アドレスを設定することを特徴とする請求項２記載のデータ処理方法。
【請求項４】
前記外部記憶装置へアンロードされた前記一連のデータを、前記データロード制御部が前記主記憶装置へロードするときに参照する前記管理情報は、前記主記憶装置を構成する不揮発メモリによる記憶領域に格納されることを特徴とする請求項３記載のデータ処理方法。
【請求項５】
前記アンロード制御部は、前記一連のデータを、前記データロード制御部によって連続的に読み出される前記外部記憶装置へ前記主記憶装置から前記参照確率の降順にアンロードすると共に、前記データ処理制御部がランダム読み込みする、前記データ処理サーバに接続する他の外部記憶装置へ前記主記憶装置からアンロードすることを特徴とする請求項２記載のデータ処理方法。
【請求項６】
前記データ処理システムの再起動時に、前記データ処理サーバの前記システム制御部が、前記外部記憶装置へアンロードされた前記一連のデータを、前記データロード制御部を実行して前記主記憶装置へロードして、前記データ処理制御部の処理を再開するとき、前記主記憶装置へロードする前記一連のデータを前記外部記憶装置から前記参照確率の降順に連続的に読み出す前記データロード制御部の実行と並行して、前記システム制御部からの他のデータに対する他の処理要求を受け付ける前記データ処理制御部を実行し、
前記他の処理要求に対応する前記他のデータが、前記データロード制御部によって前記主記憶装置へロードされていないとき、前記データ処理制御部が、前記他のデータを前記他の外部記憶装置から前記主記憶装置へ読み出すことを特徴とする請求項５記載のデータ処理方法。
【請求項７】
外部記憶装置と、前記外部記憶装置と接続し、主記憶装置を有し、前記主記憶装置上のデータに対して処理を実行するデータ処理サーバとを含むデータ処理システムであって、
前記データ処理サーバのシステム制御部により実行される、前記データに対する処理要求の有無に関わらず、前記外部記憶装置に参照確率の降順に連続領域に格納された、前記データを含む一連のデータを連続的に読み出して前記主記憶装置へロードするデータロード制御部と、
前記データロード制御部の実行と並行して、該システム制御部からの前記データに対する前記処理要求を受け付けるデータ処理制御部とを有し、
前記処理要求に対応する前記データが、前記データロード制御部の実行によって前記主記憶装置へロードされていないとき、前記データロード制御部の実行によって前記データが前記主記憶装置へロードされた後に、前記データ処理制御部は、前記主記憶装置へロードされた前記データに対して前記処理要求に対応する処理を実行し、
前記システム制御部は、システム終了コマンドが入力されると、前記データ処理制御部によるデータ処理を終了させ、前記一連のデータを前記主記憶装置から前記外部記憶装置へアンロードするアンロード制御部を実行し、
前記アンロード制御部は、前記データ処理サーバに接続する入力装置からの入力情報及び前記データの処理に関する統計情報の少なくとも一方に基づいて、前記データの参照のされやすさを数値化した前記参照確率を求め、
前記アンロード制御部は、前記データを含む前記一連のデータを、前記主記憶装置から、前記データロード制御部によって前記参照確率の降順に連続的に読み出される前記外部記憶装置へ前記参照確率の降順にアンロードすることを特徴とするデータ処理システム。
【請求項８】
前記データの処理に関する統計情報には、前記参照確率に反映する前記データの処理回数及び前記データの処理日時の少なくとも一方を含むことを特徴とする請求項７記載のデータ処理システム。
【請求項９】
前記データロード制御部は、前記外部記憶装置から前記参照確率の降順に連続的に読み出される前記データの前記主記憶装置上への格納に応答して、前記データを管理するための管理情報に、前記データ処理制御部が前記処理要求に対応する前記データが前記主記憶装置へロードされているかを判定するための、前記データの前記主記憶装置上の格納アドレスを設定することを特徴とする請求項８記載のデータ処理システム。
【請求項１０】
前記外部記憶装置へアンロードされた前記一連のデータを、前記データロード制御部が前記主記憶装置へロードするときに参照する前記管理情報は、前記主記憶装置を構成する不揮発メモリによる記憶領域に格納されることを特徴とする請求項９記載のデータ処理システム。
【請求項１１】
前記アンロード制御部は、前記一連のデータを、前記データロード制御部によって連続的に読み出される前記外部記憶装置へ前記主記憶装置から前記参照確率の降順にアンロードすると共に、前記データ処理制御部がランダム読み込みする、前記データ処理サーバに接続する他の外部記憶装置へ前記主記憶装置からアンロードすることを特徴とする請求項８記載のデータ処理システム。
【請求項１２】
前記データ処理システムの再起動時に、前記データ処理サーバの前記システム制御部は、前記外部記憶装置へアンロードされた前記一連のデータを、前記データロード制御部を実行して前記主記憶装置へロードして、前記データ処理制御部の処理を再開するとき、前記主記憶装置へロードする前記一連のデータを、前記外部記憶装置から前記参照確率の降順の連続的な読み出す前記データロード制御部の実行と並行して、前記システム制御部は、前記システム制御部からの他のデータに対する他の処理要求を受け付ける前記データ処理制御部を実行し、
前記他の処理要求に対応する前記他のデータが、前記データロード制御部によって前記主記憶装置へロードされていないとき、前記データ処理制御部は前記他のデータを前記他の外部記憶装置から前記主記憶装置へ読み出すことを特徴とする請求項１１記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムの起動を開始してからデータ処理が可能となるまでの時間を短縮するデータ処理方法及びシステムに関する。
【背景技術】
【０００２】
一般企業や公共機関など、様々な場所でオンライントランザクションシステムが適用され、実現するサービスには高速性や継続性が求められている。
【０００３】
高速性の観点では、CPUがアクセス可能な主記憶装置のアドレス空間の広がりとその主記憶装置の価格が安くなってきたことで、全てのデータを主記憶装置上にロードして処理するインメモリデータ処理システムが現実的な解となりつつある。
【０００４】
継続性の観点では、定期メンテナンスなどでシステムを停止する場合でも、ユーザへの影響を最小限にするためにサービスの停止時間をできるだけ短くする必要がある。しかし、インメモリデータ処理システムでは、特許文献１に記載されているようにシステム起動時に磁気ディスク装置などの外部記憶装置から全てのデータを主記憶装置にロードしておく必要がある。
【０００５】
【特許文献１】特開平９−２６９０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記の従来技術では、主記憶装置にロードするデータ量に比例してロード時間は増加し、システムの起動に時間が掛かることになる。この起動時間をできるだけ短くし、サービス停止時間を短縮することが求められている。
【０００７】
インメモリデータ処理システムで処理するデータ量は数百ＧＢにも及ぶと想定され、それに応じた大容量の主記憶装置が必要となる。主記憶装置にコストを掛ける分、バックアップ的な位置付けとなる外部記憶装置には安価な磁気ディスク装置が用いられると考えられる。例えば、転送速度が１００ＭＢ／ｓの磁気ディスク装置を用いる場合、１００ＧＢのデータロードに１７分程度掛かり、その分だけサービス停止時間が長くなる。たとえ、キャッシュ機構を持つような高価で高速な外部記憶装置を用いたとしても、初期ロードではそのキャッシュの効果は期待できない。
【０００８】
上記のように典型的な例であるインメモリデータ処理システムではなくとも、主記憶装置に初期にロードするデータ量が多いデータ処理システムでは、起動時間（データ処理開始までの時間）の短縮が課題である。
【課題を解決するための手段】
【０００９】
本発明のデータ処理システムは、システム起動時に処理受付と並行してデータ本体（一連のデータ）をロードすることにより、見かけ上のシステム起動時間を短縮させることが可能なデータ処理方法及びシステムである。ここで言うシステム起動時間の短縮とは、データ処理システムのOSを含む種々のプログラムの立ち上げ後、サービスを開始するまでの時間の短縮である。
【００１０】
本発明の態様は、主記憶装置上のデータに対して処理を実行するデータ処理システムにおけるデータ処理方法であって、データ処理システムの起動に伴って、個々のデータに対する処理要求の有無に関わらず、個々のデータからなる一連のデータ（データ本体）の外部記憶装置から主記憶装置へのロードと並行して、処理要求を受け付け、その処理要求に対応する対象データが主記憶装置へロードされていないとき、対象データが主記憶装置へロードされた後に、その処理要求に対応する処理を実行するデータ処理方法及びシステムである。
【００１１】
本発明の他の態様は、処理要求に対応する対象データが主記憶装置へロードされていないとき、前記ある処理要求に対応する対象データが前記主記憶装置へロードされるまで、前記処理の実行開始を待つデータ処理方法及びシステムである。
【００１２】
本発明のさらに他の態様は、データ処理の終了時に、処理が実行された対象データを含む一連のデータをデータ本体として主記憶装置から外部記憶装置へアンロードするデータ処理方法及びシステムである。
【００１３】
本発明のさらに他の態様は、入力装置からの入力情報及び個々のデータの処理に関する統計情報の少なくとも一方に基づいて、個々のデータに対する参照や更新する確率である参照確率を求め、主記憶装置から外部記憶装置へ参照確率の降順に個々のデータをアンロードするデータ処理方法及びシステムである。
【００１４】
本発明のさらに他の態様は、データ処理システムの再起動に伴って、外部記憶装置へアンロードされた一連のデータを主記憶装置へロードして、データ処理を再開するとき、主記憶装置へロードする一連のデータを外部記憶装置から参照確率の降順に連続的に読み出す（シーケンシャル・リードする）データ処理方法及びシステムである。
【００１５】
本発明のさらに他の態様は、外部記憶装置から参照確率の降順に連続的に読み出される個々のデータの主記憶装置上への格納時に、個々のデータを管理するための管理情報に、個々のデータの主記憶装置上の格納アドレスを設定するデータ処理方法及びシステムである。
【００１６】
本発明のさらに他の態様は、主記憶装置を構成する不揮発メモリによる記憶領域に管理情報を格納するデータ処理方法及びシステムである。
【００１７】
本発明のさらに他の態様は、個々のデータを一連のデータとして、主記憶装置から外部記憶装置へ参照確率の降順にアンロードすると共に、主記憶装置から他の外部記憶装置へアンロードするデータ処理方法及びシステムである。
【００１８】
本発明のさらに他の態様は、データ処理システムの再起動に伴って、外部記憶装置へアンロードされた一連のデータを主記憶装置へロードして、データ処理システムの処理を再開するとき、主記憶装置へロードする一連のデータを外部記憶装置から参照確率の降順に連続的に読み出し、処理要求に対応する対象データが主記憶装置へロードされていないとき、その対象データを他の外部記憶装置から主記憶装置へ読み出すデータ処理方法及びシステムである。
【発明の効果】
【００１９】
本発明によれば、システム起動時には一連のデータのロードと並行して要求受付を開始することにより、見かけ上のシステム起動時間を短縮させることができる。
【発明を実施するための最良の形態】
【００２０】
本発明を実施するための最良の形態を具体的に説明する。
【実施例１】
【００２１】
図１は、本実施例のデータ処理システムのハードウェア構成である。本実施例のデータ処理システムは、図１に示すように、ＣＰＵ１０１、主記憶装置１０２からなるデータ処理サーバ１００、データ処理サーバ１００に接続する表示装置１０３、入力装置１０４および外部記憶装置１０５から構成される。外部記憶装置１０５は、データ処理システムが処理を終了する際に処理結果のデータを保存するために用いられる。
【００２２】
また、データ処理サーバ１００には、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の通信回線１０６を介して、ＣＰＵ１０８、主記憶装置１０９からなる原本データ管理サーバ１０７が接続されている。原本データ管理サーバ１０７にも同様に、表示装置１１０、入力装置１１１および外部記憶装置１１２が接続されている。外部記憶装置１１２には、データ処理サーバ１００の初期データとなる原本データが格納されている。
【００２３】
データ処理システムの初回の起動時には、データ処理サーバ１００は原本データ管理サーバ１０７に原本データを要求し、得られたデータを主記憶装置１０２に格納する。データ処理は主記憶装置１０２に格納されたデータに対して行われ、データ処理システムの処理終了時に処理結果（又は、処理終了時点のデータとして）のデータを外部記憶装置１０５に格納する。データ処理システムの二回目以降の起動時には、データ処理サーバ１００は前回、処理を終了する際に外部記憶装置１０５に格納した（バックアップ）データを主記憶装置１０２に格納して処理を行う。
【００２４】
図２は、本実施例のデータ処理システムにおけるモジュール構成である。データ処理サーバ１００の主記憶装置１０２には、システム制御部２００、データ処理制御部２０１、データロード制御部２０２、及びデータアンロード制御部２０３の各処理プログラムが格納されるとともに、データ統計情報格納領域２０４、データ管理情報格納領域２０５、データ本体格納領域２０６、参照確率格納領域２０７が確保される。各処理プログラムは、データ処理サーバ１００のＣＰＵ１０１によって実行される。
【００２５】
なお、図示及びその説明は、煩雑さを避けるために、本実施例を説明するに十分な範囲のものとする。省略する具体例としてOSがある。後にシステム起動時の説明をするが、本実施例はデータの初期ロードの点に注目しているため、OSが起動され、各処理プログラムも主記憶装置１０２上にロードされた状態を起点として説明する。
【００２６】
データ処理制御部２０１は統計情報更新部２０８及びデータ処理実行部２０９で構成される。データロード制御部２０２は、初期データロード部２１０、管理情報ロード部２１１、及びデータ本体ロード部２１２で構成される。データアンロード制御部２０３は、参照確率算出部２１３、管理情報アンロード部２１４、及びデータ本体アンロード部２１５で構成される。データ処理サーバ１００に接続している外部記憶装置１０５にはバックアップデータとしてデータ管理情報２１６、データ本体２１７が格納される。また、原本データ管理サーバ１０７に接続している外部記憶装置１１２にはデータ処理システムの初期データとなる原本データ２１８が格納されている。
【００２７】
データ処理システムの初回の起動時には、外部記憶装置１０５にはまだバックアップデータであるデータ管理情報２１６およびデータ本体２１７は格納されていない。そのため、データロード制御部２０２は原本データ管理サーバ１０７に原本データ２１８を要求し、データ管理情報格納領域２０５とデータ本体格納領域２０６に格納する。原本データ２１８のデータ本体をデータ本体格納領域２０６に格納し、そのデータ本体を管理するためのデータ管理情報をデータ管理情報格納領域２０５に格納する。
【００２８】
データ本体とは、個々のデータの集まりである一連のデータであり、本実施例のデータ処理システムの処理対象になり得るデータである。データ管理情報は、個々のデータの格納アドレスなどを管理する情報であり、全体としてデータ本体の管理情報ともいえる。
【００２９】
データ処理制御部２０１は外部からの処理要求を受け付け、処理要求の対象データに関して、データ管理情報格納領域２０５に格納されている対象データの管理情報やデータ本体格納領域２０６に格納されている対象データの本体に要求に応じた処理を実行するとともに、データ統計情報格納領域２０４に格納されている対象データの統計情報を更新する。対象データの処理開始時にデータ本体がまだデータ本体格納領域２０６に格納されていない場合には、ロードされるまで待機する。
【００３０】
データ処理システムの処理の終了時に、データアンロード制御部２０３は、データ管理情報格納領域２０５に格納されているデータ管理情報を外部記憶装置１０５にデータ管理情報２１６として格納する。その後、データ統計情報格納領域２０４に格納されている統計情報を用いて各データの参照確率を算出して参照確率格納領域２０７に格納する。その参照確率の降順にデータ本体格納領域２０６に格納されているデータ本体を外部記憶装置１０５にデータ本体２１７として格納する。このデータ本体２１７は参照確率の降順に外部記憶装置１０５の連続領域に配置される。
【００３１】
データ処理システムの二回目以降の起動時には、データロード制御部２０２は、原本データ２１８の代わりに、外部記憶装置１０５に格納されているデータ管理情報２１６およびデータ本体２１７をロードし、データ管理情報格納領域２０５およびデータ本体格納領域２０６に格納する。
【００３２】
以下、各制御部の処理内容をPAD(Problem Analysis Diagram)を用いて詳細に説明する。  システム制御部２００の処理内容を、図３を用いて説明する。システム制御部２００は、データ統計情報格納領域２０４を初期化する（S300）。統計情報とはデータに対する処理回数（参照回数および更新回数）や最新処理日時を含んだものであり、データアンロード制御部２０３で参照確率を算出するために必要な基礎情報となる。データロード制御部２０２を起動し（S301）、データをロードする。データロード制御部２０２から完了メッセージを受信するまで待つ（S302）。データロード制御部２０２から完了メッセージを受信したら、データ処理制御部２０１を起動する（S303）。データ処理要求の受付を開始し、受け付けた処理要求をデータ処理制御部２０１に送信する処理（S305）をシステム終了コマンドが入力装置１０４から入力されるまで繰り返す（S304）。入力装置１０４からシステム終了コマンドが入力されると、データ処理制御部２０１に終了メッセージを送信して（S306）、データ処理を終了させる。データアンロード制御部２０３を起動し（S307）、データ管理情報格納領域２０５に格納されているデータ管理情報とデータ本体格納領域２０６に格納されているデータ本体を外部記憶装置１０５に格納する。
【００３３】
データロード制御部２０２の処理内容を、図４を用いて説明する。データロード制御部２０２はシステム制御部２００によって起動される（図３のS301）。起動されると、データ管理情報２１６およびデータ本体２１７が外部記憶装置１０５に格納されているかどうかを確認する（S400）。格納されていないと判断（データ処理システムの初回の起動時と判断）した場合には、初期データロード部210を起動し、原本データ２１８のロード処理を行う（S401〜S403）。格納されていると判断した場合には、管理情報ロード部２１１とデータ本体ロード部２１２を起動し、データ管理情報２１６およびデータ本体２１７のロード処理を行う（S404〜S408）。
【００３４】
原本データ２１８のロード処理では、初期データロード部２１０は原本データ管理サーバ１０７に原本データ２１８を要求する（S401）。取得した原本データ２１８をデータ本体としてデータ本体格納領域２０６に格納し、その格納先や属性情報をデータ管理情報としてデータ管理情報格納領域２０５に格納する（S402）。システム制御部２００に完了メッセージを送信する（S403）。システム制御部２００はこの完了メッセージを受信すると、処理を再開する。
【００３５】
データ管理情報２１６およびデータ本体２１７のロード処理では、管理情報ロード部211は、外部記憶装置１０５からデータ管理情報２１６を読み込み、データ管理情報格納領域２０５に格納し（S404）、システム制御部２００に完了メッセージを送信する（S405）。システム制御部２００はこの完了メッセージを受信すると、処理を再開する。このシステム制御部２００の再開された処理と並行して、データ本体ロード部２１２が全てのデータ本体に対して、S407及びS408の処理を繰り返す。外部記憶装置１０５からデータ本体２１７を読み込み、データ本体格納領域２０６に格納する（S407）。データ本体の格納先（アドレス）をデータ管理情報格納領域２０５に格納されている管理情報に設定する（S408）。データ本体２１７の読み込み処理（S407）と管理情報の設定処理（S408）は交互に行われるが、外部記憶装置１０５の上では連続的な読み出し処理となる。
【００３６】
データ処理制御部２０１の処理内容を、図５を用いて説明する。データ処理制御部２０１は、データロード制御部２０２から完了メッセージを受信したシステム制御部２００によって起動される。
【００３７】
起動された時点では、データ管理情報とデータ本体との主記憶装置１０２への格納状態には二つの状態が存在する。一つ目はデータ本体格納領域２０６にデータ本体が格納され、データ管理情報格納領域２０５にデータ本体の格納先などの管理情報が設定されている状態である。二つ目はデータ本体格納領域２０６にデータ本体が未格納であり、データ管理情報格納領域２０５にデータ本体の格納先などの管理情報が設定されていない状態である。
【００３８】
データ処理制御部２０１は起動されると、システム制御部２００から終了メッセージを受信するまでS501〜S505の処理を繰り返す（S500）。システム制御部２００からデータの処理要求を受信する（S501）。処理要求の対象となる本体データの格納先などの管理情報がデータ管理情報格納領域２０５に格納されているかどうかを確認する（S502）。設定されていない場合、処理要求の対象のデータ本体の格納先などの管理情報がデータ管理情報格納領域２０５に設定されるまで待機する（S503）。
【００３９】
処理対象のデータ本体の格納先などの管理情報がデータ管理情報格納領域２０５に設定されているならば、データ本体格納領域２０６に処理対象のデータ本体が格納されているので、データ処理実行部２０９を起動し、処理対象データに要求された処理を実行する（S504）。
【００４０】
統計情報更新部２０８を起動し、データ統計情報格納領域２０４に格納されている処理対象データの統計情報を処理内容に応じて更新する（S505）。処理対象データの統計情報とは、例えば処理回数（参照回数および更新回数）や最新処理日時などであり、統計情報の更新処理とは処理回数をカウントアップしたり、最新処理日時を現在の日時に書き直したりすることである。
【００４１】
データアンロード制御部２０３の処理内容を、図６を用いて説明する。データアンロード制御部２０３は、入力装置１０４からシステム終了コマンドを入力されたシステム制御部２００によって起動される。データアンロード制御部２０３は起動されると、管理情報アンロード部２１４を起動し、データ管理情報格納領域２０５に格納されている管理情報を、外部記憶装置１０５にデータ管理情報２１６として書き込む（S600）。
【００４２】
参照確率算出部２１３を起動し、データ統計情報格納領域２０４に格納されている統計情報からデータの参照確率を算出し、参照確率格納領域２０７に格納する（S601）。データ本体アンロード部２１５を起動し、参照確率格納領域２０７に格納されている参照確率の降順に、データ本体格納領域２０６に格納されているデータ本体を外部記憶装置１０５にデータ本体２１７として書き込む（S602）。データ本体２１７は参照確率の降順に外部記憶装置１０５の連続領域に配置される。
【００４３】
ここで参照確率とは、参照のされやすさを数値化したものであり、参照される可能性の高いデータほど高い数値となるように統計情報を用いて算出する。例えば、処理回数（参照回数および更新回数）の高いデータほど高い参照確率、最新処理日時が新しいデータほど高い参照確率になるような所定の計算式を用いて算出する。
【００４４】
以上説明したように、システム起動時にデータの管理情報を全て主記憶装置にロードした時点で処理受付を開始し、処理受付（処理対象のデータ本体のロードが完了している場合は、受け付けた処理の実行）と並行してデータ本体をロードすることにより、見かけ上のシステム起動時間を短縮させることが可能となり、本システムを使用したサービスの停止時間を短くすることができる。さらに、外部記憶装置からの高速なシーケンシャルリードで、参照される可能性の高いデータ本体から先にロードできるバックアップデータを、前回のシステム終了時に作成しておき、そのバックアップデータを処理受付と並行してロードすることにより、処理要求を受けたデータ本体が未ロードの際の待ち時間の期待値を小さくするとともに、データ全体のロードが完了するまでの時間を短縮することが可能であり、短い時間でシステムの最高性能に達することができる。
【００４５】
なお、本実施例では初回の起動時に原本データ管理サーバから全ての原本データを取得しているが、予め定められたデータのみに限定してもよい。たとえば、原本データが複数の表で構成されている場合には、処理対象となる表のみを取得するようにしてもよい。
本実施例ではデータ処理システムを起動している間中、データの処理状況に応じて統計情報を更新する構成で説明したが、システム起動直後の一定時間内だけ統計情報を取得するようにしてもよい。業務の進行状況に応じて必要となるデータは異なる場合があり、システム起動時の参照されやすさは起動直後の統計情報を用いた方が高精度となる場合がある。
【００４６】
本実施例ではデータ処理の統計情報を用いてデータ本体のアンロード順を決定しているが、入力装置からの統計情報の入力により、その統計情報に従ってアンロード順を決定するようにしてもよい。例えば、株売買システムなどで用いられるような場合、ニュースなどで報道された情報によって売買開始直後に処理されるデータが異なることが多く、報道回数などの統計情報に従って、優先的にロードするデータを決定することは効果的である。
【００４７】
本実施例では全てのデータを参照される可能性の高い順に外部記憶装置の連続領域に書き出しているが、参照される可能性の高い順にデータを複数グループに分け、そのグループ毎に別領域に書き出すようにしてもよい。こうすることにより、全てのデータを書き出せる連続領域が確保できない場合でも、グループ数分の読み出しオフセット時間の増加だけで実現することができる。
【実施例２】
【００４８】
実施例１においては、データ処理システムの二回目以降の起動時には、データ管理情報を主記憶装置にロードしてから、処理要求の受付を開始するのと並行して、データ本体のロードを行っていた。これは、主記憶装置が揮発性メモリによって構成されることを前提としていたからである。
【００４９】
しかし、主記憶装置の一部をフラッシュメモリのような不揮発性メモリで構成することにより、データ管理情報を不揮発性メモリで構成された主記憶装置の領域に格納することが可能となる。このようにすることにより、システムが処理を終了してもデータ管理情報を主記憶装置上に保持しておき、システム起動開始直後から処理要求の受付を開始できるようになる。数百ＧＢにも及ぶと想定されるデータ本体に対し、その管理情報は数パーセント程度と想定されるため、不揮発性メモリに管理情報を格納することは現実的な解である。
【００５０】
実施例２の構成を説明する。本実施例は基本的に実施例１と同様の構成をとるが、主記憶装置１０２内の構成が異なる。図７は本実施例のデータ処理サーバ１００のハードウェア構成を示す図である。原本データ管理サーバ１０７や通信回線１０６の構成は実施例１と同じであるため図示を省略する。主記憶装置１０２ａは不揮発性メモリ７００と揮発性メモリ７０１で構成される。不揮発性メモリ７００にはデータ管理情報が格納され、揮発性メモリ７０１にはその他のデータやプログラムモジュールが格納される。
【００５１】
図８に本実施例のモジュール構成を示す。本実施例のデータ処理サーバ１００には不揮発性メモリ領域７００と揮発性メモリ領域７０１の二つのメモリ領域が存在する。不揮発性メモリ領域７００にはデータ管理情報格納領域２０５が確保される。揮発性メモリ領域７０１にはシステム制御部２００、データ処理制御部２０１、データロード制御部２０２ａ、及びデータアンロード制御部２０３ａの各処理プログラムが格納されるとともに、データ統計情報格納領域２０４、データ本体格納領域２０６、参照確率格納領域２０７が確保される。
【００５２】
データ処理制御部２０１は実施例１と同様に統計情報更新部２０８及びデータ処理実行部２０９で構成される。データロード制御部２０２ａは、初期データロード部２１０及びデータ本体ロード部２１２で構成される。データアンロード制御部２０３ａは、参照確率算出部２１３及びデータ本体アンロード部２１５ａで構成される。
【００５３】
データ処理サーバ１００に接続している外部記憶装置１０５にはバックアップデータとしてデータ本体２１７が格納される。原本データ管理サーバ１０７に接続している外部記憶装置１１２にはデータ処理システムの初期データとなる原本データ２１８が格納されている。
【００５４】
データ処理システムの初回の起動時には、外部記憶装置１０５にはまだバックアップデータであるデータ本体２１７は格納されていない。そのため、データロード制御部２０２ａは原本データ管理サーバ１０７に原本データ２１８を要求し、データ管理情報は不揮発性メモリ領域７００に確保したデータ管理情報格納領域２０５に、データ本体は揮発性メモリ領域７０１に確保したデータ本体格納領域２０６に格納する。データ処理制御部２０１は外部からの処理要求を受け付け、処理要求の対象データに関して、データ管理情報格納領域２０５に格納されている対象データの管理情報やデータ本体格納領域２０６に格納されている対象データの本体に要求に応じた処理を実行するとともに、揮発性メモリ領域７０１に確保したデータ統計情報格納領域２０４に格納されている対象データの統計情報を更新する。対象データの処理開始時にデータ本体がまだデータ本体格納領域２０６に格納されていない場合には、ロードされるまで待機する。
【００５５】
データ処理システムの終了時には、データアンロード制御部２０３ａは、データ統計情報格納領域２０４に格納されている統計情報を用いて各データの参照確率を算出して揮発性メモリ領域７０１に確保した参照確率格納領域２０７に格納する。その参照確率の降順にデータ本体格納領域２０６に格納されているデータ本体を外部記憶装置１０５にデータ本体２１７として格納する。このデータ本体２１７は参照確率の降順に外部記憶装置１０５の連続領域に配置される。不揮発性メモリ領域７００に確保したデータ管理情報格納領域２０５に格納されている管理情報は保持したままとなる。
【００５６】
データ処理システムの二回目以降の起動時には、データロード制御部２０２ａは、原本データ２１８の代わりに、外部記憶装置１０５に格納されているデータ本体２１７をデータ本体格納領域２０６に格納し、データ管理情報は不揮発性メモリ領域７００内のデータ管理情報格納領域２０５に保持しておいた情報を使用する。
【００５７】
本実施例におけるシステム制御部２００とデータ処理制御部２０１の処理内容は実施例１と同様である。以下、実施例１と異なるデータロード制御部２０２ａとデータアンロード制御部２０３ａの処理内容を説明する。
【００５８】
データロード制御部２０２ａの処理内容を、図９を用いて説明する。データロード制御部２０２ａはシステム制御部２００によって起動される（図３のS301）。起動されると、データ本体２１７が外部記憶装置１０５に格納されているかどうかを確認する（S900）。格納されていないと判断（データ処理システムの初回の起動時と判断）した場合には、初期データロード部を起動し、原本データ２１８のロード処理を行う（S401〜S403）。格納されていると判断した場合には、データ本体ロード部２１２を起動し、データ本体２１７のロード処理を行う（S405〜S408）。
【００５９】
原本データ２１８のロード処理では、初期データロード部２１０は原本データ管理サーバ１０７に原本データ２１８を要求する（S401）。取得した原本データ２１８をデータ本体として揮発性メモリ領域７０１に確保したデータ本体格納領域２０６に格納し、その格納先や属性情報をデータ管理情報として不揮発性メモリ領域７００に確保したデータ管理情報格納領域２０５に格納する（S402）。システム制御部２００に完了メッセージを送信する（S403）。システム制御部２００はこの完了メッセージを受信すると、処理を再開する。
【００６０】
データ本体２１７のロード処理では、システム制御部２００に完了メッセージを送信する（S405）。システム制御部２００はこの完了メッセージを受信すると、処理を再開する。このシステム制御部２００の再開された処理と並行して、データ本体ロード部２１２がステップ４０６で全てのデータ本体に対して、S407及びS408の処理を繰り返す。外部記憶装置１０５からデータ本体２１７を読み込み、揮発性メモリ領域７０１に確保したデータ本体格納領域２０６に格納する（S407）。データ本体の格納先を不揮発性メモリ領域７００内のデータ管理情報格納領域２０５に格納されている管理情報に設定する（S408）。ステップ４０７におけるデータ本体２１７の読み込み処理（S407）と管理情報の設定処理（S408）は交互に行われるが、外部記憶装置１０５の上では連続的な読み出し処理となる。
【００６１】
データアンロード制御部２０３ａの処理内容を、図１０を用いて説明する。データアンロード制御部２０３ａは、入力装置１０４からシステム終了コマンドを入力されたシステム制御部２００によって起動される。
【００６２】
データアンロード制御部２０３ａは起動されると、参照確率算出部２１３を起動し、データ統計情報格納領域２０４に格納されている統計情報からデータの参照確率を算出し、揮発性メモリ領域７０１に確保した参照確率格納領域２０７に格納する（S601）。この参照確率は実施例１と同様のものを用いる。データ本体アンロード部２１５ａを起動し、参照確率格納領域２０７に格納されている参照確率の降順に、データ本体格納領域２０６に格納されているデータ本体を外部記憶装置１０５にデータ本体２１７として書き込む（S602）。データ本体２１７は参照確率の降順に外部記憶装置１０５の連続領域に配置される。不揮発性メモリ領域７００内のデータ管理情報格納領域２０５に格納されているデータの管理情報からデータ本体格納先を消去する（S1000）。
【００６３】
以上説明したように、本実施例ではデータの管理情報をフラッシュメモリなどの不揮発性メモリに格納して保持しておくようにする。そして、二回目以降のシステム起動時には、保持しておいた管理情報を用いることにより、起動すると即座に処理受付を開始することが可能となる。その結果、見かけ上のシステム起動時間のさらなる短縮を可能とするとともに、システム終了時に出力した順にデータをロードすることにより、外部記憶装置からの高速なシーケンシャルリードで、参照される可能性の高いデータを優先的にロードでき、要求されたデータが未ロードの際の待ち時間の期待値を小さくすることが可能になる。
【実施例３】
【００６４】
実施例１および実施例２では、データ処理システムの二回目以降の起動時には、処理受付の開始と並行してデータ本体の主記憶装置へのロードを行っており、処理対象のデータ本体が未ロードの場合には、ロードされるまで処理を中断していた。
【００６５】
本実施例では、連続読み込み用とランダム読み込み用の二つの外部記憶装置を用意し、それぞれにバックアップデータを作成しておく。処理対象のデータ本体が連続読み込み用外部記憶装置から未ロードの場合には、ランダム読み込み用外部記憶装置から読み込んで処理を継続することにより、連続読み込みを行っている外部記憶装置に影響を与えることなく、処理要求の待ち時間を削減することが可能となる。
【００６６】
外部記憶装置に影響を与えないとは、次のようなことを言う。外部記憶装置にたとえば磁気ディスクを用いる場合、連続する領域に格納されているデータを連続読み出しすると、読み出し用のヘッドのシーク時間を省略できるので、ヘッド位置を大きく変化させないようにすることである。磁気ディスクに対する入出力が中断されると、ヘッド位置がホームポジションに戻る磁気ディスクの場合は、再開後に一度のシークが発生するが、シーク時間を一回分に留めることができる。
【００６７】
外部記憶装置として先読み機能を持つRAID（Redundant Arrays of Inexpensive Disks）システムを用いると、連続的なデータはディスクから先読みされて、RAIDの制御装置内のキャッシュメモリに置かれ、処理サーバから見た読み出し時間が短くなる。したがって、連続読み出しを中断しても、中断時点では連続する先のデータがキャッシュメモリに存在する。再開した場合、キャッシュメモリにあるデータが読まれ、その間にさらに先読みが進む。データへのランダムアクセスがこの先読み機能に影響を与えないようにすればよい。
【００６８】
そのためには、連続読み込み用とランダム読み込み用とに分けてRAIDシステムを用意しても良い。RAIDシステムは、サーバとのインタフェース（パス）が複数あり、各インターフェイスごとに先読み機能が独立に制御されるので、同じRAIDシステム内に、連続読み込み用とランダム読み込み用の記憶領域を設け、サーバから異なるインターフェイス（パス）を用いれば、連続読み出しの外部記憶装置に影響を与えないように実現できる。RAIDシステム内のボリューム（記憶領域）毎に先読み機能が独立に制御される場合は、ボリュームを分けておけばよい。
【００６９】
連続読み込みを中断して、ランダムアクセスしたデータに対する処理を実行後に、連続読み込み用外部記憶装置からデータ本体が再度ロードされることになる。ランダムアクセスした対象データを更新した場合、更新後データが、連続読み込みされた更新前データによって上書きされる。そのため、新しい番号を更新後データに付与するなどにより、更新前データと更新後データを別データとして扱い、上書きされないようにする。
【００７０】
実施例３の構成を説明する。本実施例は基本的に実施例１と同様の構成をとるが、外部記憶装置との接続状況とプログラムモジュール構成が異なる。
【００７１】
図１１は本実施例のデータ処理サーバ１００のハードウェア構成を示す図である。原本データ管理サーバ１０７や通信回線１０６の構成は実施例１と同じであるので図示していない。データ処理サーバ１００には図１に示したバックアップデータ格納用の外部記憶装置１０５に加えて、ランダム読み込み用バックアップデータを格納する外部記憶装置１１００を接続する。
【００７２】
図１２に本実施例のモジュール構成を示す。本実施例のデータ処理サーバ１００には、システム制御部２００、データ処理制御部２０１ｂ、データロード制御部２０２、及びデータアンロード制御部２０３ｂの各処理プログラムが格納されるとともに、データ統計情報格納領域２０４、データ管理情報格納領域２０５、データ本体格納領域２０６、参照確率格納領域２０７が確保される。
【００７３】
データ処理制御部２０１ｂは統計情報更新部２０８、データ処理実行部２０９ｂ、及び未ロードデータ取得部１２０１で構成される。データロード制御部２０２は、初期データロード部２１０、管理情報ロード部２１１、及びデータ本体ロード部２１２で構成される。データアンロード制御部２０３ｂは、参照確率算出部２１３、管理情報アンロード部２１４、及びデータ本体アンロード部２１５ｂで構成される。
【００７４】
データ処理サーバ１００に接続している外部記憶装置１０５にはバックアップデータとしてデータ管理情報２１６及びデータ本体２１７が格納される。他の一台の外部記憶装置１１００にはデータ本体１２００が格納されている。原本データ管理サーバ１０７に接続している外部記憶装置１１２には、データ処理システムの初期データとなる原本データ２１８が格納されている。
【００７５】
データ処理システムの初回の起動時には、外部記憶装置１０５にはまだバックアップデータであるデータ管理情報２１６およびデータ本体２１７は格納されていない。そのため、データロード制御部２０２は原本データ管理サーバ１０７に原本データ２１８を要求し、データ管理情報格納領域２０５とデータ本体格納領域２０６に格納する。データ処理制御部２０１ｂは外部からの処理要求を受け付け、処理要求の対象データに関して、データ管理情報格納領域２０５に格納されている対象データの管理情報やデータ本体格納領域２０６に格納されている対象データの本体に要求に応じた処理を実行するとともに、データ統計情報格納領域２０４に格納されている対象データの統計情報を更新する。対象データの処理開始時にデータ本体がまだデータ本体格納領域２０６に格納されていない場合には、外部記憶装置１１００に格納されているデータ本体１２００から対象データを探索し、それをデータ本体格納領域２０６に格納してから処理を実行する。
【００７６】
データ処理システムの終了時には、データアンロード制御部２０３ｂは、データ管理情報格納領域２０５に格納されているデータ管理情報を外部記憶装置１０５にデータ管理情報２１６として格納する。その後、データ統計情報格納領域２０４に格納されている統計情報を用いて各データの参照確率を算出して参照確率格納領域２０７に格納する。その参照確率の降順にデータ本体格納領域２０６に格納されているデータ本体を外部記憶装置１０５にデータ本体２１７として格納する。このデータ本体２１７は参照確率の降順に外部記憶装置１０５の連続領域に配置される。さらに外部記憶装置１１００にもデータ本体１２００を格納する。
【００７７】
データ処理システムの二回目以降の起動時には、データロード制御部２０２は、原本データ２１８の代わりに、外部記憶装置１０５に格納されているデータ管理情報２１６およびデータ本体２１７を、データ管理情報格納領域２０５およびデータ本体格納領域２０６に格納する。
【００７８】
本実施例におけるシステム制御部２００とデータロード制御部２０２の処理内容は実施例１と同様である。以下、実施例１と処理内容が異なるデータ処理制御部２０１ｂとデータアンロード制御部２０３ｂについて、その処理を説明する。
【００７９】
データ処理制御部２０１ｂの処理内容を、図１３を用いて説明する。データ処理制御部２０１ｂは、データロード制御部２０２から完了メッセージを受信したシステム制御部２００によって起動される。
【００８０】
起動された時点では、データ管理情報とデータ本体との主記憶装置１０２への格納状態には二つの状態が存在する。一つ目はデータ本体格納領域２０６にデータ本体が格納され、データ管理情報格納領域２０５にデータ本体の格納先などの管理情報が設定されている状態である。二つ目はデータ本体格納領域２０６にデータ本体が未格納であり、データ管理情報格納領域２０５にデータ本体の格納先などの管理情報が設定されていない状態である。
【００８１】
データ処理制御部２０１は起動されると、システム制御部２００から終了メッセージを受信するまでS501〜S505の処理を繰り返す（S500）。システム制御部２００からデータの処理要求を受信する（S501）。処理要求の対象となる本体データの格納先などの管理情報がデータ管理情報格納領域２０５に格納されているかどうかを確認する（S502）。設定されていない場合、未ロードデータ取得部１２０１を起動し、外部記憶装置１１００に格納されているデータ本体１２００から対象データを探索し、データ本体格納領域２０６に格納する（S1300）。対象データのデータ本体の格納先などの管理情報をデータ管理情報格納領域２０５に格納する（S1301）。
【００８２】
処理要求の対象データの本体がデータ本体格納領域２０６に格納されたので、データ処理実行部２０９ｂを起動して要求された処理を実行する。処理要求が参照処理か更新処理かを判断する（S1302）。参照処理の場合、処理対象データの参照結果を処理要求元に返却する（S1303）。更新処理の場合、対象データを処理要求に基づいて更新した新規データを作成し、新しい番号を付与して新規登録する（S1304）。統計情報更新部２０８を起動し、データ統計情報格納領域２０４に格納されている処理対象データの統計情報を処理内容に応じて更新する（S505）。
【００８３】
上記S1304の更新後データの新規登録処理を、図１４を用いて詳細に説明する。図１４はデータ管理情報格納領域２０５に格納された管理情報の例である。図１４の例では、データの管理情報として、“データ番号”、“データ名称”、“作成日付”、“データ容量”、“旧データ番号”、“本体格納先”を格納している。“データ番号”は個々のデータに固有の識別番号である。“データ名称”、“作成日付”、“データ容量”はデータの属性情報であり、その他に“更新日付”、“作成者”などを追加してもよい。“旧データ番号”は該データが更新後データである場合、更新前データのデータ番号を示している。これに“ｎｕｌｌ”が格納されている場合は、更新前データが存在しないことを意味する。“本体格納先”にはデータ本体格納領域２０６に格納されているデータ本体へのポインタ情報が含まれる。ここに“ｎｕｌｌ”が格納されている場合は、データ本体が未ロードであることを意味する。
【００８４】
なお、データ統計情報格納領域２０４に格納されているデータの統計情報を、この管理情報と同一領域で管理するようにしてもよい。図１４の例では“データ番号”が“０００００００２”のデータを更新している。まず“０００００００２”のデータのエントリ情報を、新規データ番号“００００１２０３”にコピーする。そして更新したデータ本体をデータ本体格納領域２０６に格納し、そのデータ本体へのポインタ情報である“ａｄｄｒｅｓｓ１２０３”を“本体格納先”に格納する。最後に、“データ容量”のように変更となる属性があれば変更する。このように更新後データに新しい番号を付与して管理することにより、その後連続読み込み用外部記憶装置１０５から更新前データがロードされた場合に、更新後データが上書きされることがない。
【００８５】
データアンロード制御部２０３ｂの処理内容を、図１５を用いて説明する。データアンロード制御部２０３ｂは、入力装置１０４からシステム終了コマンドを入力されたシステム制御部２００によって起動される。データアンロード制御部２０３ｂは起動されると、管理情報アンロード部２１４を起動し、データ管理情報格納領域２０５に格納されている管理情報を、外部記憶装置１０５にデータ管理情報２１６として書き込む（S600）。
【００８６】
参照確率算出部２１３を起動し、データ統計情報格納領域２０４に格納されている統計情報からデータの参照確率を算出し、参照確率格納領域２０７に格納する（S601）。データ本体アンロード部２１５を起動し、参照確率格納領域２０７に格納されている参照確率の降順に、データ本体格納領域２０６に格納されているデータ本体を外部記憶装置１０５にデータ本体２１７として書き込む（S602）。データ本体２１７は参照確率の降順に外部記憶装置１０５の連続領域に配置される。データ本体格納領域２０６に格納されているデータ本体を外部記憶装置１１００にデータ本体１２００として格納する（S1500）。このデータ本体１２００の格納順には特に制限はない。
【００８７】
以上説明したように、本実施例では連続読み込み用とランダム読み込み用の二つの外部記憶装置を用意し、それぞれにバックアップデータを作成しておく。処理対象データが連続読み込み用外部記憶装置から未ロードの場合には、ランダム読み込み用外部記憶装置から対象データを読み込むことにより、連続読み込みを行っている外部記憶装置のヘッドに影響を与えることなく、処理を継続することができる。その結果、全てのデータをロードするまでの時間を増加させることなく、処理要求の待ち時間を削減することが可能となる。
【図面の簡単な説明】
【００８８】
【図１】実施例１のハードウェア構成図である。
【図２】実施例１のモジュール構成図である。
【図３】実施例１のシステム制御部の処理内容を示すＰＡＤ図である。
【図４】実施例１のデータロード制御部の処理内容を示すＰＡＤ図である。
【図５】実施例１のデータ処理制御部の処理内容を示すＰＡＤ図である。
【図６】実施例１のデータアンロード制御部の処理内容を示すＰＡＤ図である。
【図７】実施例２のハードウェア構成図である。
【図８】実施例２のモジュール構成図である。
【図９】実施例２のデータロード制御部の処理内容を示すＰＡＤ図である。
【図１０】実施例２のデータアンロード制御部の処理内容を示すＰＡＤ図である。
【図１１】実施例３のハードウェア構成図である。
【図１２】実施例３のモジュール構成図である。
【図１３】実施例３のデータ処理制御部の処理内容を示すＰＡＤ図である。
【図１４】実施例３のデータ管理情報の構成例を示す図である。
【図１５】実施例３のデータアンロード制御部の処理内容を示すＰＡＤ図である。
【符号の説明】
【００８９】
１００…データ処理サーバ、１０１…ＣＰＵ、１０２…主記憶装置、１０２ａ…主記憶装置、１０３…表示装置、１０４…入力装置、１０５…外部記憶装置、１０６…通信回線、１０７…原本データ管理サーバ、１０８…ＣＰＵ、１０９…主記憶装置、１１０…表示装置、１１１…入力装置、１１２…外部記憶装置、２００…システム制御部、２０１…データ処理制御部、２０１ｂ…データ処理制御部、２０２…データロード制御部、２０２ａ…データロード制御部
２０３…データアンロード制御部、２０３ａ…データアンロード制御部、２０３ｂ…データアンロード制御部、２０４…データ統計情報格納領域、２０５…データ管理情報格納領域、２０６…データ本体格納領域、２０７…参照確率格納領域、２０８…統計情報更新部、２０９…データ処理実行部、２０９ｂ…データ処理実行部、２１０…初期データロード部、２１１…管理情報ロード部、２１２…データ本体ロード部、２１３…参照確率算出部、２１４…管理情報アンロード部、２１５…データ本体アンロード部、２１５ａ…データ本体アンロード部、２１５ｂ…データ本体アンロード部、２１６…データ管理情報、２１７…データ本体、２１８…原本データ、７００…不揮発性メモリ、７０１…揮発性メモリ、１１００…外部記憶装置、１２００…データ本体、１２０１…未ロードデータ取得部。
【図１】
0004512201.tif 000002
【図２】
0004512201.tif 000003
【図３】
0004512201.tif 000004
【図４】
0004512201.tif 000005
【図５】
0004512201.tif 000006
【図６】
0004512201.tif 000007
【図７】
0004512201.tif 000008
【図８】
0004512201.tif 000009
【図９】
0004512201.tif 000010
【図１０】
0004512201.tif 000011
【図１１】
0004512201.tif 000012
【図１２】
0004512201.tif 000013
【図１３】
0004512201.tif 000014
【図１４】
0004512201.tif 000015
【図１５】
0004512201.tif 000016