(57)【要約】【課題】データ記録の高速化を実現しつつ、十分な抗たん性を確保する。【解決手段】計算機装置１０は、各々に記憶装置が備わっている３つ以上の計算機装置が含まれ、送信元の計算機装置以外のいずれかの計算機装置の記憶装置に書込むべき書込み対象データが送信元の計算機装置以外の計算機装置に送信される計算機システムに含まれる。書込み待ちデータ量取得部は、自計算機装置１０の補助記憶装置９０３の書込み待ちデータの量を第１の書込み待ちデータ量として取得し、他の計算機装置の各々の記憶装置の書込み待ちデータの量を第２の書込み待ちデータ量として取得する。書込み先選択部１２３は、書込み対象データの書込み先の記憶装置を、第１の書込み待ちデータ量と書込み対象データの送信元以外の他の計算機装置の記憶装置の第２の書込み待ちデータ量とに基づき選択する。【選択図】図３
2018180819.tif 000002
【特許請求の範囲】
【請求項１】
各々に記憶装置が備わっている３つ以上の計算機装置が含まれ、送信元の計算機装置以外のいずれかの計算機装置の記憶装置に書込むべき書込み対象データが送信元の計算機装置以外の計算機装置に送信される計算機システムに含まれる計算機装置であって、
自計算機装置の記憶装置の書込み待ちデータの量を第１の書込み待ちデータ量として取得し、自計算機装置以外の他の計算機装置の各々の記憶装置の書込み待ちデータの量を第２の書込み待ちデータ量として取得する書込み待ちデータ量取得部と、
前記書込み対象データの書込み先の記憶装置を、前記第１の書込み待ちデータ量と前記書込み対象データの送信元以外の他の計算機装置の記憶装置の前記第２の書込み待ちデータ量とに基づき選択する書込み先選択部とを有する計算機装置。
【請求項２】
前記書込み先選択部は、
自計算機装置の記憶装置が、書込み先の記憶装置として優先して選択される優先記憶装置に該当する場合に、前記第１の書込み待ちデータ量に基づき、前記書込み対象データの自計算機装置の記憶装置への書込みの許否を判定し、
前記書込み対象データの自計算機装置の記憶装置への書込みを許可しない場合に、前記書込み対象データの送信元以外の他の計算機装置の記憶装置の前記第２の書込み待ちデータ量に基づき、前記書込み対象データの送信元以外の他の計算機装置の中から、前記書込み対象データの書込み先の記憶装置を選択する請求項１に記載の計算機装置。
【請求項３】
前記書込み先選択部は、
前記第１の書込み待ちデータ量と前記書込み対象データのデータ量との合計値が閾値未満であるか否かを判定して、前記書込み対象データの自計算機装置の記憶装置への書込みの許否を判定し、
前記第１の書込み待ちデータ量と前記書込み対象データのデータ量との合計値が前記閾値未満であれば、前記書込み対象データの自計算機装置の記憶装置への書込みを許可し、前記書込み対象データの書込み先の記憶装置として自計算機装置の記憶装置を選択し、
前記第１の書込み待ちデータ量と前記書込み対象データのデータ量との合計値が前記閾値以上であれば、前記書込み対象データの自計算機装置の記憶装置への書込みを許可せず、前記書込み対象データの送信元以外の他の計算機装置の中から、前記書込み対象データの書込み先の記憶装置を選択する請求項２に記載の計算機装置。
【請求項４】
前記書込み先選択部は、
他のいずれかの計算機装置の記憶装置が前記優先記憶装置に該当する場合に、当該他の計算機装置の記憶装置の前記第２の書込み待ちデータ量に基づき、前記書込み対象データの当該他の計算機装置の記憶装置への書込みの許否を判定し、
前記書込み対象データの当該他の計算機装置の記憶装置への書込みを許可しない場合に、前記第１の書込み待ちデータ量と当該他の計算機装置以外の他の計算機装置の記憶装置の前記第２の書込み待ちデータ量とを比較して、前記書込み対象データの書込み先の記憶装置を選択する請求項３に記載の計算機装置。
【請求項５】
前記書込み先選択部は、
当該他の計算機装置の記憶装置の前記第２の書込み待ちデータ量と前記書込み対象データのデータ量との合計値が前記閾値未満であるか否かを判定して、前記書込み対象データの当該他の計算機装置の記憶装置への書込みの許否を判定し、
当該他の計算機装置の記憶装置の前記第２の書込み待ちデータ量と前記書込み対象データのデータ量との合計値が前記閾値未満であれば、前記書込み対象データの当該他の計算機装置の記憶装置への書込みを許可し、前記書込み対象データの書込み先の記憶装置として当該他の計算機装置の記憶装置を選択し、
当該他の計算機装置の記憶装置の前記第２の書込み待ちデータ量と前記書込み対象データのデータ量との合計値が前記閾値以上であれば、前記書込み対象データの当該他の計算機装置の記憶装置への書込みを許可せず、自計算機装置の記憶装置が前記優先記憶装置に該当しなければ、前記第１の書込み待ちデータ量と当該他の計算機装置以外の他の計算機装置の記憶装置の前記第２の書込み待ちデータ量とを比較して、前記書込み対象データの書込み先の記憶装置を選択する請求項４に記載の計算機装置。
【請求項６】
前記書込み先選択部は、
書込み待ちデータの量が少ない順に規定数の記憶装置を前記書込み対象データの書込み先の記憶装置として選択する請求項１に記載の計算機装置。
【請求項７】
前記書込み先選択部は、
繰り返し到来する選択タイミングが到来する度に、前記書込み対象データの書込み先の記憶装置を選択しており、
いずれかの選択タイミングにて、前記書込み対象データの送信元以外の他のいずれかの計算機装置の記憶装置が前記書込み対象データの書込み先の記憶装置として選択できない状態にある場合に、前記書込み対象データの書込み先の記憶装置として選択できない記憶装置を除外して、前記書込み対象データの書込み先の記憶装置を選択する請求項１に記載の計算機装置。
【請求項８】
前記書込み先選択部は、
前記選択タイミングが到来するまでに、記憶装置が前記書込み対象データの書込み先の記憶装置として選択可能であることを通知する選択可能通知を他のいずれかの計算機装置から受信していない場合に、当該他の計算機装置の記憶装置が前記書込み対象データの書込み先の記憶装置として選択できない状態にあると判定する請求項７に記載の計算機装置。
【請求項９】
前記計算機装置は、更に、
前記書込み先選択部により前記書込み対象データの書込み先の記憶装置として自計算機装置の記憶装置が選択された場合に、前記書込み対象データを自計算機装置の記憶装置に書込むデータ書込み部を有する請求項１に記載の計算機装置。
【請求項１０】
各々に記憶装置が備わっている３つ以上の計算機装置が含まれ、送信元の計算機装置以外のいずれかの計算機装置の記憶装置に書込むべき書込み対象データが送信元の計算機装置以外の計算機装置に送信される計算機システムに含まれる計算機装置が、
自計算機装置の記憶装置の書込み待ちデータの量を第１の書込み待ちデータ量として取得し、自計算機装置以外の他の計算機装置の各々の記憶装置の書込み待ちデータの量を第２の書込み待ちデータ量として取得する書込み待ちデータ量取得処理と、
前記書込み対象データの書込み先の記憶装置を、前記第１の書込み待ちデータ量と前記書込み対象データの送信元以外の他の計算機装置の記憶装置の前記第２の書込み待ちデータ量とに基づき選択する書込み先選択処理とを行う書込み先選択方法。
【請求項１１】
各々に記憶装置が備わっている３つ以上の計算機装置が含まれ、送信元の計算機装置以外のいずれかの計算機装置の記憶装置に書込むべき書込み対象データが送信元の計算機装置以外の計算機装置に送信される計算機システムに含まれる計算機装置に、
自計算機装置の記憶装置の書込み待ちデータの量を第１の書込み待ちデータ量として取得し、自計算機装置以外の他の計算機装置の各々の記憶装置の書込み待ちデータの量を第２の書込み待ちデータ量として取得する書込み待ちデータ量取得処理と、
前記書込み対象データの書込み先の記憶装置を、前記第１の書込み待ちデータ量と前記書込み対象データの送信元以外の他の計算機装置の記憶装置の前記第２の書込み待ちデータ量とに基づき選択する書込み先選択処理とを実行させる書込み先選択プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機装置（以下、単に計算機ともいう）に関する。より具体的には、複数の計算機装置が含まれる計算機システムに含まれる計算機装置に関する。
【背景技術】
【０００２】
防衛分野等においては、データ記録の高速性や抗たん性が求められる場合が多い。この際に、計算機システムを構成する全計算機の電源断時にも、電源断の直前の状態から復旧するために復旧に必要なデータを予め復旧データ専用の補助記憶装置（データベース）に記録しておき、復旧時にはデータベースからデータを復旧していた。この際に、データベースへの書込みを高速化する場合は、データの記録先を複数に分散することによって記録時間を高速化するシャーディング機能を用いて補助記憶装置を分散させていた。
例えば、特許文献１に開示の技術では、シャーディング機能が用いられている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１６４５２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、このようなシャーディング機能を用いデータの記録先を分散させた場合も、補助記憶装置のマスタが故障すると計算機システムを復旧することができず、十分な抗たん性を確保できないという課題があった。
【０００５】
この発明は、上記のような課題を解決することを主な目的の一つとしている。具体的には、本発明は、データ記録の高速化を実現しつつ、十分な抗たん性を確保できる構成を得ることを主な目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る計算機装置は、
各々に記憶装置が備わっている３つ以上の計算機装置が含まれ、送信元の計算機装置以外のいずれかの計算機装置の記憶装置に書込むべき書込み対象データが送信元の計算機装置以外の計算機装置に送信される計算機システムに含まれる計算機装置であって、
自計算機装置の記憶装置の書込み待ちデータの量を第１の書込み待ちデータ量として取得し、自計算機装置以外の他の計算機装置の各々の記憶装置の書込み待ちデータの量を第２の書込み待ちデータ量として取得する書込み待ちデータ量取得部と、
前記書込み対象データの書込み先の記憶装置を、前記第１の書込み待ちデータ量と前記書込み対象データの送信元以外の他の計算機装置の記憶装置の前記第２の書込み待ちデータ量とに基づき選択する書込み先選択部とを有する。
【発明の効果】
【０００７】
本発明によれば、データ記録の高速化を実現しつつ、十分な抗たん性を確保することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る計算機システムの構成例を示す図。
【図２】実施の形態１に係る計算機装置のハードウェア構成例を示す図。
【図３】実施の形態１に係る計算機装置の機能構成例を示す図。
【図４】実施の形態１に係る計算機装置の動作例を示すフローチャート。
【図５】実施の形態１に係る書込み先選択処理の詳細を示すフローチャート。
【図６】実施の形態１に係る書込み待ちデータ量テーブルの例を示す図。
【図７】実施の形態１に係る記録計算機割当テーブルの例を示す図。
【図８】実施の形態１に係るデータ書込平準化の例を示す図。
【図９】実施の形態１に係る書込み先選択処理の詳細を示すフローチャート。
【図１０】実施の形態２に係る計算機装置の機能構成例を示す図。
【図１１】実施の形態２に係る処理完了通知テーブルの例を示す図。
【図１２】実施の形態２に係る動作シーケンスの例を示す図。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分または相当する部分を示す。
【００１０】
実施の形態１．
従来は、計算機装置の性能はサーバ計算機が高く、クライアント計算機は低いという制約があった。このため、ＣＯＲＢＡ（Ｃｏｍｍｏｎ  Ｏｂｊｅｃｔ  Ｒｅｑｕｅｓｔ  Ｂｒｏｋｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ）などクライアント−サーバ型で、ある特定の性能の高いサーバ計算機に対してクライアント計算機が処理を依頼して応答を待つ方式が主流であった。しかし、近年、計算機の性能向上によりＤＤＳ（Ｄａｔａ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓｅｒｖｉｃｅ  ｆｏｒ  Ｒｅａｌ−ｔｉｍｅ  Ｓｙｓｔｅｍｓ）のようなデータが全ての計算機にマルチキャスト又はブロードキャストで配信され、各計算機は流れているデータの中から必要なデータを能動的に処理するデータドリブン型アーキテクチャが注目されている。
本実施の形態では、データドリブン型アーキテクチャを用いた計算機システムを説明する。
【００１１】
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係る計算機システムの構成例を示す。
図１は、一例として、計算機装置Ａ１０ａ、計算機装置Ｂ１０ｂ、計算機装置Ｃ１０ｃ及び計算機装置Ｄ１０ｄで構成される計算機システムを示す。
計算機装置Ａ１０ａには、アプリケーションプログラム１１ａと通信ミドルウェア１２ａと補助記憶装置９０３ａが含まれる。計算機装置Ｂ１０ｂには、アプリケーションプログラム１１ｂと通信ミドルウェア１２ｂと補助記憶装置９０３ｂが含まれる。計算機装置Ｃ１０ｃには、アプリケーションプログラム１１ｃと通信ミドルウェア１２ｃと補助記憶装置９０３ｃが含まれる。計算機装置Ｄ１０ｄには、アプリケーションプログラム１１ｄと通信ミドルウェア１２ｄと補助記憶装置９０３ｄが含まれる。
計算機装置Ａ１０ａ、計算機装置Ｂ１０ｂ、計算機装置Ｃ１０ｃ及び計算機装置Ｄ１０ｄを区別する必要がない場合は、これらをまとめて計算機装置１０という。
また、アプリケーションプログラム１１ａ、アプリケーションプログラム１１ｂ、アプリケーションプログラム１１ｃ及びアプリケーションプログラム１１ｄを区別する必要がない場合は、これらをまとめてアプリケーションプログラム１１という。
通信ミドルウェア１２ａ、通信ミドルウェア１２ｂ、通信ミドルウェア１２ｃ及び通信ミドルウェア１２ｄを区別する必要がない場合は、これらをまとめて通信ミドルウェア１２という。
また、補助記憶装置９０３ａ、補助記憶装置９０３ｂ、補助記憶装置９０３ｃ及び補助記憶装置９０３ｄを区別する必要がない場合は、これらをまとめて補助記憶装置９０３という。
アプリケーションプログラム１１間の通信は通信ミドルウェア１２を介して行われる。
各計算機装置１０のアプリケーションプログラム１１はデータを生成する。各計算機装置１０の通信ミドルウェア１２は、アプリケーションプログラム１１で生成されたデータを書込み対象データとして他の全ての計算機装置１０に送信する。書込み対象データは、計算機システムの復旧の際に復旧データとして用いることができるようにするために、送信元の計算機装置１０以外のｎ台の計算機装置１０の補助記憶装置９０３に書き込まれる。ｎは、１以上であって、計算機システムに含まれる計算機装置１０の台数以下の任意の値である。なお、ｎの値は設定により変更可能である。ｎ＝１の時は抗たん性は低いがデータ記録速度が高速である。ｎが大きくなるほどデータ記録速度は低下するが抗たん性は向上する。
各計算機装置１０は、同期して書込み対象データの送受信、書込み対象データの書込み先の選択及び書込み対象データの書込み処理を行う。
なお、各計算機装置１０で行われる動作は、書込み先選択方法及び書込み先選択プログラムに相当する。
【００１２】
図２は、本実施の形態に係る計算機装置１０のハードウェア構成例を示す。
計算機装置１０は、ハードウェアとして、プロセッサ９０１、メモリ９０２、補助記憶装置９０３及び通信装置９０４を備える。プロセッサ９０１、メモリ９０２、補助記憶装置９０３及び通信装置９０４はバス９０５に接続されている。
補助記憶装置９０３には、アプリケーションプログラム１１及び通信ミドルウェア１２が記憶されている。アプリケーションプログラム１１及び通信ミドルウェア１２は、補助記憶装置９０３からメモリ９０２にロードされる。そして、プロセッサ９０１がメモリ９０２からアプリケーションプログラム１１及び通信ミドルウェア１２を読み出し、アプリケーションプログラム１１及び通信ミドルウェア１２を実行する。
この結果、プロセッサ９０１は、後述するアプリケーションプログラム１１及び通信ミドルウェア１２の動作を行う。
図２では、プロセッサ９０１がアプリケーションプログラム１１及び通信ミドルウェア１２を実行している状態を模式的に表している。
また、補助記憶装置９０３は、自計算機装置１０のアプリケーションプログラム１１で生成されたデータ及び他の計算機装置１０のアプリケーションプログラム１１で生成されたデータを記憶する。
通信装置９０４は、計算機装置１０が他の計算機装置１０と通信を行う際に用いられる。
【００１３】
図３は、本実施の形態に係る計算機装置１０の機能構成例を示す。
【００１４】
データ受信部１２１は、他の計算機装置１０から送信された書込み対象データを受信する。
また、データ受信部１２１は、他の計算機装置１０から送信された他の計算機装置１０の補助記憶装置９０３における書込み待ちデータ量テーブル２１を受信する。書込み待ちデータ量テーブル２１には、書込み待ちデータ量が記述される。書込み待ちデータ量は、書込み待ちデータのデータ量である。書込み待ちデータは、補助記憶装置９０３への書込みを待っている状態のデータである。
以下、他の計算機装置１０の補助記憶装置９０３における書込み待ちデータ量を、他の計算機装置１０の書込み待ちデータ量ともいう。また、他の計算機装置１０の補助記憶装置９０３における書込み待ちデータ量テーブル２１を、他の計算機装置１０の書込み待ちデータ量テーブル２１ともいう。
【００１５】
図６は、計算機装置Ａの書込み待ちデータ量テーブル２１の例を示す。書込み待ちデータ量テーブル２１では、時刻ごとに書込み待ちデータ量が示される。
図１に示す計算機システムでは、各計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄは、それぞれ計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄの書込み待ちデータ量テーブル２１を保持する。このように、計算機装置１０間で書込み待ちデータ量テーブル２１を共有するのは、各計算機装置１０は自計算機装置１０の書込み待ちデータ量は把握できても他計算機装置１０の書込み待ちデータ量は把握できないためである。
【００１６】
書込み待ちデータ量管理部１２２は、データ受信部１２１により受信された他の計算機装置１０の書込み待ちデータ量テーブル２１をメモリ９０２に格納する。また、書込み待ちデータ量管理部１２２は、メモリ９０２から他の計算機装置１０の書込み待ちデータ量テーブル２１を読み出す。
更に、書込み待ちデータ量管理部１２２は自計算機装置１０の補助記憶装置９０３での書込み待ちデータ量を取得し、自計算機装置１０の補助記憶装置９０３での書込み待ちデータ量を示す書込み待ちデータ量テーブル２１をメモリ９０２に格納する。以下、自計算機装置１０の補助記憶装置９０３での書込み待ちデータ量を、自計算機装置１０の書込み待ちデータ量ともいう。また、自計算機装置１０の書込み待ちデータ量を示す書込み待ちデータ量テーブル２１を、自計算機装置１０の書込み待ちデータ量テーブル２１ともいう。
また、書込み待ちデータ量管理部１２２は、メモリ９０２から自計算機装置１０の書込み待ちデータ量テーブル２１を読み出す。
書込み待ちデータ量管理部１２２は、読み出した自計算機装置１０の書込み待ちデータ量テーブル２１及び他の計算機装置１０の書込み待ちデータ量テーブル２１を書込み先選択部１２３に出力する。
また、書込み待ちデータ量管理部１２２は、他の計算機装置１０からの書込み対象データをデータ受信部１２１から取得する。そして、書込み待ちデータ量管理部１２２は、他の計算機装置１０からの書込み対象データを書込み先選択部１２３に出力する。
なお、自計算機装置１０の書込み待ちデータ量は第１の書込み待ちデータ量に相当する。また、他計算機装置１０の書込み待ちデータ量は第２の書込み待ちデータ量に相当する。
【００１７】
図３に示すように、データ受信部１２１及び書込み待ちデータ量管理部１２２は、併せて書込み待ちデータ量取得部に相当する。
また、データ受信部１２１及び書込み待ちデータ量管理部１２２により行われる処理は、書込み待ちデータ量取得処理に相当する。
【００１８】
書込み先選択部１２３は、書込み対象データの書込み先の記憶装置を、自計算機装置１０の書込み待ちデータ量（第１の書込み待ちデータ量）と書込み対象データの送信元以外の他の計算機装置１０の書込み待ちデータ量（第２の書込み待ちデータ量）とに基づき選択する。
なお、書込み先選択部１２３により行われる処理は、書込み先選択処理に相当する。
【００１９】
データ書込み部１２４は、書込み先選択部１２３により書込み対象データの書込み先の記憶装置として自計算機装置１０の補助記憶装置９０３が選択された場合に、書込み対象データを自計算機装置１０の補助記憶装置９０３に書込む。
【００２０】
データ送信部１２５は、アプリケーションプログラム１１により生成されたデータを自計算機装置１０の書込み対象データとして他の計算機装置１０に送信する。
また、データ送信部１２５は、自計算機装置１０の書込み待ちデータ量テーブル２１を他の計算機装置１０に送信する。
【００２１】
＊＊＊動作の説明＊＊＊
次に、図４を参照して、本実施の形態に係る計算機装置１０の動作例を説明する。各計算機装置１０は、同期して、図４に示す手順を一定の周期で繰り返す。
【００２２】
書込み待ちデータ量管理部１２２は、自計算機装置１０の書込み待ちデータ量を算出する（ステップＳ１０１）。そして、書込み待ちデータ量管理部１２２は、自計算機装置１０の書込み待ちデータ量を示す書込み待ちデータ量テーブル２１を生成する。書込み待ちデータ量管理部１２２は、生成した書込み待ちデータ量テーブル２１をデータ送信部１２５に出力する。書込み待ちデータ量管理部１２２は、例えば、補助記憶装置９０３へのキューに格納されているデータのデータ量をカウントして、自計算機装置１０の書込み待ちデータ量を得る。
また、書込み待ちデータ量管理部１２２は、生成した書込み待ちデータ量テーブル２１をメモリ９０２に格納する。
【００２３】
データ送信部１２５は、自計算機装置１０の書込み待ちデータ量テーブル２１を他の計算機装置１０に送信する（ステップＳ１０２）。
【００２４】
また、データ受信部１２１が、他の計算機装置１０から送信された他の計算機装置１０の書込み待ちデータ量テーブル２１を受信する（ステップＳ１０３）。そして、データ受信部１２１は、他の計算機装置１０の書込み待ちデータ量テーブル２１を書込み待ちデータ量管理部１２２に出力する。書込み待ちデータ量管理部１２２は、他の計算機装置１０の書込み待ちデータ量テーブル２１をメモリ９０２に格納する。
【００２５】
また、アプリケーションプログラム１１がデータを生成し、生成したデータをデータ送信部１２５に出力する。データ送信部１２５は、アプリケーションプログラム１１により生成されたデータを書込み対象データとして他の計算機装置１０に送信する（ステップＳ１０４）。
アプリケーションプログラム１１において生成すべきデータがない場合は、ステップＳ１０４は省略される。
【００２６】
また、データ受信部１２１は、他の計算機装置１０から、他の計算機装置１０の書込み対象データを受信する（ステップＳ１０５）。そして、データ受信部１２１は、他の計算機装置１０の書込み対象データをアプリケーションプログラム１１に出力する。また、データ受信部１２１は、他の計算機装置１０の書込み対象データを書込み待ちデータ量管理部１２２に出力する。書込み待ちデータ量管理部１２２は、メモリ９０２から自計算機装置１０の書込み待ちデータ量テーブル２１及び他の計算機装置１０の書込み待ちデータ量テーブル２１を読み出す。そして、書込み待ちデータ量管理部１２２は、自計算機装置１０の書込み待ちデータ量テーブル２１、他の計算機装置１０の書込み待ちデータ量テーブル２１と、他の計算機装置１０の書込み対象データを書込み先選択部１２３に出力する。
【００２７】
なお、図４のステップＳ１０１〜Ｓ１０５の順序は例示であり、Ｓ１０１→Ｓ１０２の順序が確保されていれば、ステップＳ１０１〜Ｓ１０５の順序は入れ替わってもよい。
書込み待ちデータ量管理部１２２は、自計算機装置１０の書込み待ちデータ量テーブル２１、他の計算機装置１０の書込み待ちデータ量テーブル２１と、他の計算機装置１０の書込み対象データが揃ったら、自計算機装置１０の書込み待ちデータ量テーブル２１、他の計算機装置１０の書込み待ちデータ量テーブル２１と、他の計算機装置１０の書込み対象データを書込み先選択部１２３に出力する。
【００２８】
書込み先選択部１２３は、自計算機装置１０の書込み待ちデータ量テーブル２１及び他の計算機装置１０の書込み待ちデータ量テーブル２１に基づいて、他の計算機装置１０の書込み対象データの書込み先を選択する（ステップＳ１０６）。
なお、ステップＳ１０６の詳細は後述する。
【００２９】
ステップＳ１０６において他の計算機装置１０の書込み対象データの書込み先として自計算機装置１０の補助記憶装置９０３が選択された場合（ステップＳ１０７でＹＥＳ）は、データ書込み部１２４が書込み対象データを自計算機装置１０の補助記憶装置９０３に書き込む（ステップＳ１０８）。
【００３０】
次に、図５を参照して、図４のステップＳ１０６の詳細を説明する。
なお、図５の例では、書込み対象データを優先計算機装置の補助記憶装置９０３に優先して書き込むようにしている。
優先計算機装置は、図１の計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄの中で、書込み対象データの書込み先として、補助記憶装置９０３が優先して選択される計算機装置である。例えば、計算機装置Ｂ１０ｂ〜計算機装置Ｄ１０ｄの書込み対象データの書込み先として、計算機装置Ａ１０ａの補助記憶装置９０３ａが計算機装置Ｂ１０ｂ〜計算機装置Ｄ１０ｄの補助記憶装置９０３ｄよりも優先されることが設定されている場合は、計算機装置Ａ１０ａが優先計算機装置である。また、計算機装置Ａ１０ａの補助記憶装置９０３ａを優先記憶装置という。
同じ計算機装置１０に復旧データがまとまって記憶されている方が効率的に計算機システムを復旧させることができので、図５の例では、優先計算機装置の補助記憶装置９０３にまとまって書込み対象データを書き込むようにしている。そして、優先計算機装置の書込み待ちデータ量が過大になった場合に、書込み先選択部１２３は、他の計算機装置の補助記憶装置９０３を書込み対象データの書込み先として選択する。優先計算機装置は、２台以上存在してもよい。優先計算機装置が２台以上存在する場合は、書込み先選択部１２３は、優先計算機装置ごとに図５に示す処理を行う。
なお、図５に示す書込み先の選択方法は一例であり、書込み先選択部１２３は、図５に示す手順と異なる手順で書込み先を決定することができる。
【００３１】
書込み先選択部１２３は、先ず、優先計算機装置の予測書込み待ちデータ量と閾値とを比較する（ステップＳ１６１）。
予測書込み待ちデータ量とは、優先計算機装置の書込み待ちデータ量テーブル２１に記載されている書込み待ちデータ量と、書込み対象データのデータ量との合計値である。
自計算機装置１０が優先計算機装置であれば、書込み先選択部１２３は、自計算機装置１０の書込み待ちデータ量と、書込み対象データのデータ量とを合計して、優先計算機装置としての自計算機装置１０の予測書込み待ちデータ量を得る。
一方、他の計算機装置１０が優先計算機装置であれば、書込み先選択部１２３は、当該他の計算機装置１０の書込み待ちデータ量と、書込み対象データのデータ量とを合計して、優先計算機装置としての他の計算機装置１０の予測書込み待ちデータ量を得る。
そして書込み先選択部１２３は、優先計算機装置の予測書込み待ちデータ量を閾値と比較する。
【００３２】
優先計算機装置の予測書込み待ちデータ量が閾値未満であれば（ステップＳ１６２でＹＥＳ）、書込み先選択部１２３は、書込み対象データの書込み先として、優先計算機装置を選択する（ステップＳ１６３）。
【００３３】
一方、優先計算機装置の予測書込み待ちデータ量が閾値以上であれば（ステップＳ１６２でＮＯ）、書込み先選択部１２３は、書込み待ちデータ量が最少の計算機装置１０を抽出する（ステップＳ１６４）。すなわち、書込み先選択部１２３は、書込み対象データの送信元及び現在の優先計算機装置以外の計算機装置１０の中から書込み待ちデータ量が最少の計算機装置１０を抽出する。
【００３４】
次に、書込み先選択部１２３は、ステップＳ１６４で抽出した計算機装置１０の予測書込み待ちデータ量と閾値とを比較する（ステップＳ１６５）。
予測書込み待ちデータ量の算出方法は、前述したとおりである。
【００３５】
ステップＳ１６４で抽出した計算機装置１０の予測書込み待ちデータ量が閾値未満であれば（ステップＳ１６６でＹＥＳ）、書込み先選択部１２３は、書込み対象データの書込み先として、ステップＳ１６４で抽出した計算機装置１０を選択する（ステップＳ１６７）。
【００３６】
一方、ステップＳ１６４で抽出した計算機装置１０の予測書込み待ちデータ量が閾値以上であれば（ステップＳ１６６でＮＯ）、当該書込み対象データの書込み先はないと決定する（ステップＳ１６８）。この場合は、書込み先選択部１２３は、書込み対象データの送信元の計算機装置１０に、書込み先が存在しない旨を通知してもよい。
【００３７】
そして、書込み先選択部１２３は、ステップＳ１６３、ステップＳ１６７又はステップＳ１６８の結果に応じて、記録計算機割当てテーブルを更新する（ステップＳ１６９）。
記録計算機割当テーブル２２は、図７に示すテーブルである。記録計算機割当てテーブルには、書込み対象データごとに、書込み先の計算機と、書込みを開始する時刻が示される。記録計算機割当テーブル２２は、計算機システムの復旧時に参照される。
ステップＳ１６３の後にステップＳ１６９が行われる場合は、記録計算機割当てテーブルの「計算機」の欄には、優先計算機装置が書き込まれる。ステップＳ１６７の後にステップＳ１６９が行われる場合は、記録計算機割当てテーブルの「計算機」の欄には、ステップＳ１６４で抽出された計算機装置１０が書き込まれる。ステップＳ１６８の後にステップＳ１６９が行われる場合は、記録計算機割当てテーブルの「計算機」の欄には、「なし」が書き込まれる。
【００３８】
図５の手順によれば、各計算機装置１０において、書込み先選択部１２３は、自計算機装置１０が優先計算機装置に該当する場合（換言すると、自計算機装置１０の補助記憶装置９０３が優先記憶装置に該当する場合）に、自計算機装置１０の書込み待ちデータ量に基づき、書込み対象データの自計算機装置１０の補助記憶装置９０３への書込みの許否を判定する。具体的には、書込み先選択部１２３は、自計算機装置１０の書込み待ちデータ量と書込み対象データのデータ量との合計値が閾値未満であるか否かを判定して、書込み対象データの自計算機装置１０の補助記憶装置９０３への書込みの許否を判定する。自計算機装置１０の書込み待ちデータ量と書込み対象データのデータ量との合計値が閾値未満であれば、書込み先選択部１２３は、書込み対象データの自計算機装置１０の補助記憶装置９０３への書込みを許可し、書込み対象データの書込み先の記憶装置として自計算機装置１０の補助記憶装置９０３を選択する。一方、自計算機装置１０の書込み待ちデータ量と書込み対象データのデータ量との合計値が閾値以上であれば、書込み先選択部１２３は、書込み対象データの自計算機装置１０の補助記憶装置９０３への書込みを許可しない。そして、書込み先選択部１２３は、書込み対象データの送信元以外の他の計算機装置１０の書込み待ちデータ量に基づき、書込み対象データの送信元以外の他の計算機装置１０の中から、書込み対象データの書込み先の記憶装置を選択する。
【００３９】
また、書込み先選択部１２３は、他のいずれかの計算機装置１０が優先計算機装置に該当する場合（換言すると、他のいずれかの計算機装置１０の補助記憶装置９０３が優先記憶装置に該当する場合）に、当該他の計算機装置１０の書込み待ちデータ量に基づき、書込み対象データの当該他の計算機装置の記憶装置への書込みの許否を判定する。具体的には、書込み先選択部１２３は、当該他の計算機装置１０の書込み待ちデータ量と書込み対象データのデータ量との合計値が閾値未満であるか否かを判定して、書込み対象データの当該他の計算機装置１０の補助記憶装置９０３への書込みの許否を判定する。当該他の計算機装置１０の書込み待ちデータ量と書込み対象データのデータ量との合計値が閾値未満であれば、書込み先選択部１２３は、書込み対象データの当該他の計算機装置１０の補助記憶装置９０３への書込みを許可し、書込み対象データの書込み先の記憶装置として当該他の計算機装置１０の補助記憶装置９０３を選択する。一方、当該他の計算機装置１０の書込み待ちデータ量と書込み対象データのデータ量との合計値が閾値以上であれば、書込み先選択部１２３は、書込み対象データの当該他の計算機装置１０の記憶装置への書込みを許可しない。そして、書込み先選択部１２３は、自計算機装置１０が優先計算機装置に該当しなければ、自計算機装置１０の書込み待ちデータ量と当該他の計算機装置１０以外の他の計算機装置１０の書込み待ちデータ量とを比較して、書込み対象データの書込み先の記憶装置を選択する。
【００４０】
図８は、図５に示す手順を行った場合の計算機装置１０の書込待ちデータ量の時間推移を示す。
図８では、計算機装置Ａ１０ａが優先計算機装置である。また、現在時刻はｔｍである。現在時刻ｔｍにおける計算機装置Ａ１０ａの書込待ちデータ量をＤｘｍとする。また、書込み対象データのデータ量をｄｘｍ＋１とする。また、閾値はＤｘＭＡＸとする。
【００４１】
図８（ａ）は、優先計算機装置である計算機装置Ａ１０ａの補助記憶装置９０３ａに書込み対象データを書き込む場合の書込み待ちデータ量を示す。
図８（ａ）では、計算機装置Ａ１０ａの書込待ちデータ量Ｄｘｍと書込み対象データのデータ量ｄｘｍ＋１との合計値である予測書込待ちデータ量である（Ｄｘｍ＋ｄｘｍ＋１）は閾値ＤｘＭＡＸを越える（図５のステップＳ１６２でＮＯ）。このため、書込み先選択部１２３は、書込み待ちデータ量が最も少ない計算機装置Ｄ１０ｄを抽出する（図５のステップＳ１６４）。計算機装置Ｄ１０ｄの予測書込待ちデータ量は、閾値ＤｘＭＡＸ未満なので（図５のステップＳ１６６でＮＯ）。書込み先選択部１２３は、計算機装置Ｄ１０ｄの補助記憶装置９０３ｄを書込み先として選択する（図５のステップＳ１６７）。
この結果、図８（ｂ）に示すように、計算機装置Ａ１０ａの書込待ちデータ量Ｄｘｍは閾値ＤｘＭＡＸ未満を維持している。次の時刻ｔｍ＋１以降は、計算機装置Ａ１０ａに代えて計算機装置Ｄ１０ｄが優先計算機装置となる。
【００４２】
また、図９は、図４のステップＳ１０６の詳細の別の例を示す。
なお、図９の例では、優先計算機装置という概念は存在しない。
【００４３】
書込み先選択部１２３は、各計算機装置１０の予測書込み待ちデータ量を算出する（ステップＳ１６０１）。
つまり、書込み先選択部１２３は、書込み対象データの送信元以外の計算機装置１０の予測書込み待ちデータ量を算出する。
【００４４】
次に、書込み先選択部１２３は、各計算機装置１０の予測書込み待ちデータ量を比較する（ステップＳ１６０２）。
【００４５】
次に、書込み先選択部１２３は、予測書込み待ちデータ量が少ない順にｎ台の計算機装置１０を抽出する（ステップＳ１６０３）。
【００４６】
次に、書込み先選択部１２３は、ステップＳ１６０３で抽出したｎ台の計算機装置１０の補助記憶装置９０３を書込み先として選択する。
【００４７】
最後に、書込み先選択部１２３は、記録計算機割当てテーブルを更新する。具体的には、書込み先選択部１２３は、記録計算機割当てテーブルの「計算機」の欄に、ステップＳ１６０４で選択されたｎ台の計算機装置１０を書き込む。
【００４８】
なお、図５に示す手順と図９に示す手順を併用してもよい。例えば、ｎ＝２である場合に、書込み先選択部１２３は、書込み対象データの１つの書込み先を図５に示す手順にて決定し、残りの書込み先を図９に示す手順で決定するようにしてもよい。
【００４９】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態によれば、複数の計算機装置でデータを分散記録するため、データ記録を含めた処理時間が向上する。
【００５０】
また、本実施の形態によれば、複数の計算機装置でデータを分散記録するため、抗たん性が向上する。
【００５１】
また、本実施の形態によれば、継続運用中のスループットの急低下を防ぐことができ、また、継続運用中の処理時間の急低下を防ぐことができる。
【００５２】
また、本実施の形態では、各計算機装置が、それぞれの計算機装置の書込み待ちデータ量を解析して書込み対象データの書込み先を選択するため、書込み対象データの書込みを他の計算機装置に依頼する必要がない。このため、計算機システムの通信帯域が書込みの依頼メッセージの送受信に費やされる事態を回避することができる。
【００５３】
また、本実施の形態では、各計算機装置が、それぞれの計算機装置の書込み待ちデータ量を把握しているため、書込み対象データの他の計算機装置への書込みの依頼により、特定の計算機装置の書込み待ちデータ量が急増するという事態が発生しない。また、特定の計算機装置の書込み待ちデータ量が急増するという事態が発生しないため、ある計算機装置から他の計算機装置に書込み対象データの書込みを再依頼するという悪循環は発生しない。このため、データの分散保存の平準化が非効率になる事態を回避することができる。
【００５４】
実施の形態２．
本実施の形態では、主に実施の形態１との差異を説明する。
なお、以下で説明していない事項は、実施の形態１と同様である。
【００５５】
図１０は、本実施の形態に係る計算機装置１０の機能構成例を示す。
図１０では、図３の機能構成と比較して、処理完了通知テーブル２３が追加されている。
本実施の形態では、データ書込み部１２４による書込み対象データの補助記憶装置９０３への書込みが終了すると、データ書込み部１２４が書込み処理の完了を通知する処理完了通知テーブル２３を生成する。また、データ書込み部１２４による書込み対象データの書込みが行われない場合は、書込み先選択部１２３が処理完了通知テーブル２３を生成する。書込み先選択部１２３及びデータ書込み部１２４は、生成した処理完了通知テーブル２３をメモリ９０２に格納する。また、書込み先選択部１２３及びデータ書込み部１２４は、生成した処理完了通知テーブル２３をデータ送信部１２５に出力する。
データ送信部１２５は、書込み先選択部１２３又はデータ書込み部１２４により生成された処理完了通知テーブル２３を他の計算機装置１０に送信する。
【００５６】
また、本実施の形態では、データ受信部１２１は、他の計算機装置１０から送信された処理完了通知テーブル２３を受信する。そして、データ受信部１２１は、受信した処理完了通知テーブル２３を書込み待ちデータ量管理部１２２に出力する。
書込み待ちデータ量管理部１２２は、処理完了通知テーブル２３をメモリ９０２に格納する。また、書込み待ちデータ量管理部１２２は、書込み先選択部１２３に書込み対象データの書込み先を選択させるためにメモリ９０２から書込み待ちデータ量テーブル２１を読み出す際に、併せて処理完了通知テーブル２３もメモリ９０２から読み出す。そして、書込み待ちデータ量管理部１２２は、書込み待ちデータ量テーブル２１と処理完了通知テーブル２３とを併せて書込み先選択部１２３に出力する。
書込み先選択部１２３は、実施の形態１と同様に、周期ごとに、書込み対象データの書込み先を選択する。つまり、書込み先選択部１２３は、繰り返し到来する選択タイミングが到来する度に、書込み対象データの書込み先を選択する。
書込み先選択部１２３は、処理完了通知テーブル２３を送信できた計算機装置１０の中から書込み対象データの書込み先を選択する。つまり、書込み先選択部１２３は、他のいずれかの計算機装置１０から処理完了通知テーブル２３を受信していない場合は、当該他の計算機装置１０の補助記憶装置９０３は書込み対象データの書込み先として選択できない状態にあると判定する。そして、書込み先選択部１２３は、書込み対象データの書込み先として選択できない補助記憶装置９０３を除外して、書込み対象データの書込み先を選択する。
処理完了通知テーブル２３は、このように、各計算機装置１０の補助記憶装置９０３が書込み対象データの書込み先として選択可能であることを他の計算機装置１０に通知するテーブルである。処理完了通知テーブル２３は、選択可能通知に相当する。
【００５７】
図１１は、処理完了通知テーブル２３の例を示す。
図１１（ａ）は、計算機装置Ａ１０ａで生成される処理完了通知テーブル２３の例を示す。
図１１（ｂ）は、計算機装置Ｂ１０ｂで生成される処理完了通知テーブル２３の例を示す。
図１１（ｃ）は、計算機装置Ｃ１０ｃで生成される処理完了通知テーブル２３の例を示す。
図１１（ｄ）は、計算機装置Ｄ１０ｄで生成される処理完了通知テーブル２３の例を示す。
【００５８】
実施の形態１では計算機システム内の計算機装置１０間の同期が前提であったが、本実施の形態では、処理完了通知テーブル２３の共有により、いずれかの計算機装置１０の書込み処理が一定時間内に間に合わない場合でも、間に合った残りの計算機装置１０のみで動作を継続することができる。
書込み処理が間に合わなかった計算機装置１０から処理完了通知テーブル２３を受信した場合には、次の周期には当該計算機装置１０を含めて書込み対象データの書込み先を選択することができる。
【００５９】
図１２は、本実施の形態に係る計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄの動作シーケンスを示す。
図１２において、破線は、各周期の終端を示す。計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄは、各周期の終端までに処理完了通知テーブル２３を送信していなければならない。
【００６０】
周期Ｔｍ−２では、計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄのいずれもが、周期Ｔｍ−２の終了までに処理完了通知テーブル２３を送信しており、周期Ｔｍ−２の終了時では、計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄは、それぞれ、計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄの処理完了通知テーブル２３を保持している。
このため、周期Ｔｍ−１において、計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄの各々では、書込み先選択部１２３が、計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄの中から書込み対象データの書込み先を選択する。書込み先選択部１２３による書込み対象データの書込み先の選択手順は実施の形態１に示した通りである。
【００６１】
次に、周期Ｔｍ−１では、計算機装置Ａ１０ａ、計算機装置Ｂ１０ｂ及び計算機装置Ｄ１０ｄは、それぞれ、周期Ｔｍ−１の終了までに処理完了通知テーブル２３を送信することができたが、計算機装置Ｃ１０ｃでは、書込み処理に時間を要してしまい、処理完了通知テーブル２３を送信することができなかった。このため、周期Ｔｍ−１の終了時では、計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄは、計算機装置Ａ１０ａ、計算機装置Ｂ１０ｂ及び計算機装置Ｄ１０ｄの処理完了通知テーブル２３のみを保持している。
【００６２】
従って、周期Ｔｍでは、計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄの各々では、書込み先選択部１２３が、計算機装置Ａ１０ａ、計算機装置Ｂ１０ｂ及び計算機装置Ｄ１０ｄの中から書込み対象データの書込み先を選択する。
周期Ｔｍでは、計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄのいずれもが、周期Ｔｍの終了までに処理完了通知テーブル２３を送信しており、周期Ｔｍの終了時では、計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄは、それぞれ、計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄの処理完了通知テーブル２３を保持している。
【００６３】
このため、周期Ｔｍ＋１において、計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄの各々では、書込み先選択部１２３が、計算機装置Ａ１０ａ〜計算機装置Ｄ１０ｄの中から書込み対象データの書込み先を選択する。
【００６４】
このように、本実施の形態では、同期できない計算機装置が存在する場合でも、残りの計算機装置でデータ記録を分担する。このため、本実施の形態によれば、同期できない計算機装置が存在する場合でも、分散記録時の継続運用中の計算機システム全体の処理時間の急低下を防止することができる。
【００６５】
また、本実施の形態によれば、あるタイミングで使用できる全ての計算機装置を使用して最短の時間で分散記録をしようとするため、分散記録時の継続運用中の計算機システム全体の処理時間の高速化を図ることができる。
【００６６】
以上、本発明の実施の形態について説明したが、これら２つの実施の形態を組み合わせて実施しても構わない。
あるいは、これら２つの実施の形態のうち、１つを部分的に実施しても構わない。
あるいは、これら２つの実施の形態を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【００６７】
＊＊＊ハードウェア構成の説明＊＊＊
最後に、計算機装置１０のハードウェア構成の補足説明を行う。
図２に示すプロセッサ９０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等である。
図２に示すメモリ９０２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
図２に示す補助記憶装置９０３は、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等である。
図２に示す通信装置９０４は、データを受信するレシーバー及びデータを送信するトランスミッターを含む。
通信装置９０４は、例えば、通信チップ又はＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
【００６８】
補助記憶装置９０３には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。
そして、ＯＳの少なくとも一部がメモリ９０２にロードされ、プロセッサ９０１により実行される。
プロセッサ９０１はＯＳの少なくとも一部を実行しながら、アプリケーションプログラム１１及び通信ミドルウェア１２を実行する。
プロセッサ９０１がＯＳを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、アプリケーションプログラム１１及び通信ミドルウェア１２の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、メモリ９０２、補助記憶装置９０３、プロセッサ９０１内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、アプリケーションプログラム１１及び通信ミドルウェア１２は、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ等の可搬記憶媒体に記憶されてもよい。
【符号の説明】
【００６９】
１０  計算機装置、１１  アプリケーションプログラム、１２  通信ミドルウェア、２１  書込み待ちデータ量テーブル、２２  記録計算機割当テーブル、２３  処理完了通知テーブル、１２１  データ受信部、１２２  書込み待ちデータ量管理部、１２３  書込み先選択部、１２４  データ書込み部、１２５  データ送信部、９０１  プロセッサ、９０２  メモリ、９０３  補助記憶装置、９０４  通信装置、９０５  バス。
【図１】
2018180819.tif 000003
【図２】
2018180819.tif 000004
【図３】
2018180819.tif 000005
【図４】
2018180819.tif 000006
【図５】
2018180819.tif 000007
【図６】
2018180819.tif 000008
【図７】
2018180819.tif 000009
【図８】
2018180819.tif 000010
【図９】
2018180819.tif 000011
【図１０】
2018180819.tif 000012
【図１１】
2018180819.tif 000013
【図１２】
2018180819.tif 000014