(57)【要約】【課題】種別毎のデータ量に関して、蓄積サーバ毎の偏りを抑制することを目的とする。【解決手段】コンピュータに、複数の種別のデータが登録され、複数の蓄積サーバに分散して保存されるデータベースに対するデータ更新の際に、当該データ更新の対象データの種別を判別し、複数の蓄積サーバそれぞれについての、種別毎のデータ量に関する情報を含む管理情報に基づいて、対象データを保存する蓄積先サーバを特定し、蓄積先サーバに対象データを蓄積させるとともに、管理情報を更新する処理を実行させる。【選択図】図１２
2018180931.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数の種別のデータが登録され、複数の蓄積サーバに分散して保存されるデータベースに対するデータ更新の際に、当該データ更新の対象データの前記種別を判別し、
前記複数の蓄積サーバそれぞれについての、前記種別毎のデータ量に関する情報を含む管理情報に基づいて、前記対象データを保存する蓄積先サーバを特定し、
前記蓄積先サーバに前記対象データを蓄積させるとともに、前記管理情報を更新する、
処理を実行させる管理プログラム。
【請求項２】
前記種別は、前記データベースに対するクエリに基づいてデータの絞り込みを行う際に用いられる単位を示す
請求項１記載の管理プログラム。
【請求項３】
前記データ更新は、新規データの登録と既に登録されているデータの更新とを含む
請求項１または請求項２の記載の管理プログラム。
【請求項４】
取得した検索要求に応じて、前記複数の蓄積サーバに検索を指示する情報を送信して、前記複数の蓄積サーバに、蓄積されたデータを並列で検索させる
処理を前記コンピュータに実行させる請求項１乃至３のうちのいずれか１項に記載の管理プログラム。
【請求項５】
前記管理情報に基づいて、前記複数の蓄積サーバの前記種別毎のデータ量が均等になるように、前記対象データを保存する蓄積先サーバを特定する
処理を前記コンピュータに実行させる請求項１乃至４のうちのいずれか１項に記載の管理プログラム。
【請求項６】
前記管理情報に含まれる、前記複数の蓄積サーバの前記種別毎のデータ量と前記複数の蓄積サーバの処理性能とに基づいて、前記対象データを保存する蓄積先サーバを特定する
処理を前記コンピュータに実行させる請求項１乃至４のうちのいずれか１項に記載の管理プログラム。
【請求項７】
前記複数の蓄積サーバのうちいずれかの蓄積サーバにおけるデータ量が、当該蓄積サーバ以外の少なくとも一つの蓄積サーバのデータ量より所定の許容閾値以上大きい場合、前記複数の蓄積サーバの全体のデータ量が均等になるように、前記対象データを保存する蓄積先サーバを特定する
処理を前記コンピュータに実行させる請求項５に記載の管理プログラム。
【請求項８】
前記複数の蓄積サーバのうちいずれかの蓄積サーバにおけるデータ量が、当該蓄積サーバ以外の少なくとも一つの蓄積サーバのデータ量より所定の許容閾値以上大きい場合、前記複数の蓄積サーバの全体のデータ量と前記複数の蓄積サーバの処理性能とに基づいて、前記対象データを保存する蓄積先サーバを特定する
処理を前記コンピュータに実行させる請求項６に記載の管理プログラム。
【請求項９】
複数の種別のデータが登録され、複数の蓄積サーバに分散して保存されるデータベースに対するデータ更新の際に、当該データ更新の対象データの前記種別を判別し、
前記複数の蓄積サーバそれぞれについての、前記種別毎のデータ量に関する情報を含む管理情報に基づいて、前記対象データを保存する蓄積先サーバを特定し、
前記蓄積先サーバに前記対象データを蓄積させるとともに、前記管理情報を更新する、
処理をコンピュータが実行することを特徴とする管理方法。
【請求項１０】
複数の種別のデータが登録され、複数の蓄積サーバに分散して保存されるデータベースに対するデータ更新の際に、当該データ更新の対象データの前記種別を判別する判別部と、
前記複数の蓄積サーバそれぞれについての、前記種別毎のデータ量に関する情報を含む管理情報に基づいて、前記対象データを保存する蓄積先サーバを特定する特定部と、
前記蓄積先サーバに前記対象データを蓄積させるとともに、前記管理情報を更新する更新部と、
を備えることを特徴とする管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理プログラム、管理方法、及び管理装置に関する。
【背景技術】
【０００２】
近年、人や企業の行動、社会環境の変化等に関するデータが増加している。該データは、単に量が膨大であるだけでなく、様々な形式を有する。該データを自在に取扱い可能とすることは、リレーショナルデータベース（ＲＤＢ）を用いた場合、膨大な時間とコストがかかるため実現が困難であった。
【０００３】
そこで、ＲＤＢでは実現困難であった課題を解消するために、例えば、Extensible Markup Language（ＸＭＬ）文書をデータとして用い、スキーマレスかつインデックスレスであるデータベースが開発されている。該データベースでは、オートマトンを用いたパターンマッチグアルゴリズムを用いられている。また、該データベースでは、一方向逐次処理による高速文字列照合アルゴリズムが用いられており、複雑な検索条件が与えられても安定した検索レスポンスが得られる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２２２１９４号公報
【特許文献２】特開平６−２５９４７８号公報
【特許文献３】特開平１０−２６９２２５号公報
【特許文献４】特開平１１−１６１６８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数の蓄積サーバにデータが分散している場合、各蓄積サーバを並列に検索して、全蓄積サーバの検索が終了したら、検索結果を統合して出力することが考えられる。例えば、各蓄積サーバに対して、一方向逐次処理が行われると、蓄積サーバ毎のデータ量に応じて検索時間が異なる場合がある。該検索時間が異なる場合、検索を指示する管理サーバは、最も遅い蓄積サーバの応答を待つことになる。
【０００６】
また、例えば、特定の種別のデータを検索する場合、該種別に属するデータ量に偏りがあると、管理サーバは最も応答が遅い蓄積サーバの応答を待つことになり、応答出力が遅くなることを、発明者は見出した。
【０００７】
１つの側面として、本発明は、種別毎のデータ量に関して、蓄積サーバ毎の偏りを抑制することを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、管理プログラムは、コンピュータに、複数の種別のデータが登録され、複数の蓄積サーバに分散して保存されるデータベースに対するデータ更新の際に、当該データ更新の対象データの前記種別を判別し、前記複数の蓄積サーバそれぞれについての、前記種別毎のデータ量に関する情報を含む管理情報に基づいて、前記対象データを保存する蓄積先サーバを特定し、前記蓄積先サーバに前記対象データを蓄積させるとともに、前記管理情報を更新する、処理を実行させる。
【発明の効果】
【０００９】
１つの側面によれば、種別毎のデータ量に関して、蓄積サーバ毎の偏りを抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態のシステムの全体構成の一例を示す図である。
【図２】管理サーバの一例を示す図である。
【図３】動作環境情報の一例を示す図である。
【図４】蓄積サーバの一例を示す図である。
【図５】データ記憶部が蓄積するデータの例を示す図である。
【図６】蓄積サーバが記憶する顧客および取引に関するデータの配分例を示す図である。
【図７】蓄積サーバが記憶するデータの配分例を示す図である。
【図８】検索処理の第１の例を示す図である。
【図９】検索処理の第２の例を示す図である。
【図１０】検索処理の第３の例を示す図である。
【図１１】検索処理の第４の例を示す図である。
【図１２】実施形態の蓄積処理の流れの一例を示すフローチャートである。
【図１３】図１２のステップＳ１０３における特定処理の第１の例を示すフローチャートである。
【図１４】図１２のステップＳ１０３における特定処理の第２の例を示すフローチャートである。
【図１５】実施形態の検索制御処理の流れの一例を示すフローチャートである。
【図１６】実施形態の検索処理の流れの一例を示すフローチャートである。
【図１７Ａ】蓄積処理の第１の実施例を示す図（その１）である。
【図１７Ｂ】蓄積処理の第１の実施例を示す図（その２）である。
【図１８Ａ】蓄積処理の第２の実施例を示す図（その１）である。
【図１８Ｂ】蓄積処理の第２の実施例を示す図（その２）である。
【図１９】管理サーバおよび蓄積サーバのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
＜実施形態のシステムの全体構成の一例＞
以下、図面を参照して、実施形態について説明する。図１は、実施形態のシステムの全体構成の一例を示す図である。図１に示すように、実施形態のシステムは、管理サーバ１と複数の蓄積サーバ２と複数の情報処理端末３とネットワーク４とを含む。
【００１２】
管理サーバ１は、情報処理端末３、または他の情報処理端末等（図示せず）から取得した複数の種別のデータを複数の蓄積サーバ２に分散して蓄積する。また、管理サーバ１は、Local Area Network （ＬＡＮ）等のネットワークを介して蓄積サーバ２と通信可能であり、蓄積サーバ２に蓄積したデータを管理する。管理サーバ１は、管理装置、およびコンピュータの一例である。
【００１３】
また、管理サーバ１は、ネットワーク４を介して情報処理端末３から検索要求（クエリ）を受け付け、検索要求に応じて蓄積サーバ２内のデータを検索する。そして、管理サーバ１は、情報処理端末３に検索結果を送信する。
【００１４】
蓄積サーバ２は、複数の種別のデータが登録されたデータベースを含む。本実施形態のデータベースは、複数の蓄積サーバ２に分散して保存される。データベースに登録されるデータは、該データの種別を示す情報を含む。種別は、データベースに対して、クエリに基づくデータの絞り込みを行う際に用いられる単位を示す。
【００１５】
情報処理端末３は、蓄積サーバ２のデータの検索条件の入力に用いられる。情報処理端末３は、例えば、パーソナルコンピュータ、または携帯端末等である。図１では、情報処理端末３は複数台の例を示すが、情報処理装置３は１台であってもよい。
【００１６】
ネットワーク４は、管理サーバ１と情報処理端末３との間の通信を中継する。ネットワーク４は、例えば、インターネット、またはLocal Area Network（ＬＡＮ）であってもよい。
【００１７】
＜管理サーバの一例＞
図２は、管理サーバ１の一例を示す図である。管理サーバ１は、第１通信部１１と管理情報記憶部１２と判別部１３と特定部１４と更新部１５と検索制御部１６とを含む。
【００１８】
第１通信部１１は、情報処理端末３、または他の情報処理端末等（図示せず）から複数の種別のデータを受信する。また、第１通信部１１は、情報処理端末３から検索要求を受信する。
【００１９】
管理情報記憶部１２は、複数の蓄積サーバ２それぞれについての、種別毎のデータ量に関する情報を含む管理情報を記憶する。管理情報は、各蓄積サーバ２へのデータ配布に用いる配布比率を含んでいてもよい。
【００２０】
配布比率は、例えば、蓄積サーバ２の処理性能（例えば、ＣＰＵのクロック数）に応じてデータの種別毎に予め設定される。例えば、処理性能が高いほど、高い配布比率が設定され、処理性能が低いほど、低い配布比率が設定される。検索速度は、蓄積サーバ２の処理性能に応じて異なる。従って、データの検索時間は、該データの配布済データ量を配布比率で除算した値に依存する。配布済データ量は、既に管理サーバ１から配布され、蓄積サーバ２に蓄積されているデータの量である。そこで、管理情報は、データの種別毎の「配布済データ量÷配布比率」の計算結果を含んでいてもよい。
【００２１】
判別部１３は、データベースに対するデータ更新の際に、当該データ更新の対象データを取得し、対象データの種別を判別する。データ更新は、データベースへの新規データの登録と既に登録されているデータの更新とを含む。
【００２２】
なお、本実施形態において蓄積サーバ２に蓄積するデータは、ＸＭＬ形式のデータであり、ＸＭＬ形式のデータのルートタグに、種別を示す情報が含まれるとする。従って、判別部１３は、対象データのルートタグを参照することにより、対象データの種別を判別することができる。
【００２３】
特定部１４は、管理情報記憶部１２に記憶された管理情報に基づいて、対象データの蓄積先となる蓄積サーバ２を特定する。
【００２４】
特定部１４は、管理情報記憶部１２の管理情報を参照することにより、各蓄積サーバ２が記憶するデータのうち、対象データの種別（以下、対象種別と記載することがある）のデータ量を参照する。
【００２５】
そして、特定部１４は、例えば、対象種別のデータ量が最も少ない蓄積サーバ２を対象データの蓄積先に特定する。すなわち、特定部１４は、複数の蓄積サーバ２の種別毎のデータ量が均等になるように蓄積先の蓄積サーバ２を特定する。
【００２６】
特定部１４は、種別毎の配布済データ量と、蓄積サーバ２の処理性能とに基づいて、対象種別のデータの検索時間が均等となるように、対象データの蓄積先を特定してもよい。特定部１４は、対象種別のデータの検索時間を均等にするために、例えば、対象種別の「配布済データ量÷配布比率」の値が最も少ない蓄積サーバ２を対象データの蓄積先に特定してもよい。
【００２７】
特定部１４は、いずれかの蓄積サーバ２の全体のデータ量が他の少なくとも一つの蓄積サーバ２の全体のデータ量より所定の許容閾値以上大きい場合、複数の蓄積サーバ２の全体のデータ量が均等になるように蓄積先となる蓄積サーバ２を特定してもよい。例えば、特定部１４は、全体のデータ量が最も少ない蓄積サーバ２を対象データの蓄積先に特定してもよい。
【００２８】
特定部１４は、いずれかの蓄積サーバ２のデータ量が他の少なくとも一つの蓄積サーバ２のデータ量より所定の許容閾値以上大きい場合、複数の蓄積サーバ２の全体のデータ量と処理性能に基づいて蓄積先となる蓄積サーバ２を特定してもよい。例えば、特定部１４は、データ全体について「配布済データ量÷配布比率」の値が最も少ない蓄積サーバ２を対象データの蓄積先に特定してもよい。
【００２９】
更新部１５は、特定部１４により特定された蓄積サーバ２に対象データを蓄積させるとともに、管理情報記憶部１２の管理情報を更新する。更新部１５は、例えば、特定された蓄積サーバ２に、第１通信部１１を介して対象データを送信するとともに、管理情報に対象データに関する情報を追加する。
【００３０】
検索制御部１６は、第１通信部１１を介して情報処理端末３から検索要求を受け付け、検索要求に含まれる検索条件から検索対象データの種別を認識する。そして、検索制御部１６は、複数の蓄積サーバ２に対象種別のデータを検索する指示情報を送信する。
【００３１】
検索制御部１６は、取得した検索要求に応じて、複数の蓄積サーバ２に指示情報を送信して、複数の蓄積サーバ２に蓄積されたデータを並列で検索する。検索制御部１６が、複数の蓄積サーバ２に対して並列検索を実施することで、検索時間の短縮が図られる。
【００３２】
検索制御部１６は、複数の情報処理端末３から検索要求を受信した場合、複数の検索要求を一体化して、検索処理を実施してもよい。そして、検索制御部１６は、検索結果を蓄積サーバ２から受信した際に、検索結果を複数の情報処理端末３に振り分ける。検索制御部１６は、検索要求を一体化することにより、検索要求の増加に応じて処理時間が増加を抑制することができる。
【００３３】
図３は、動作環境情報の一例を示す図である。図３に示す動作環境情報は、管理情報記憶部１２が記憶する管理情報の一部である。図３に示すように動作環境情報は、ｓｅａｒｃｈｅｒ判別子、蓄積サーバ２のホスト名、ｄｉｒｅｃｔｏｒ判別子、データ配布比率および許容閾値を含む。
【００３４】
ｓｅａｒｃｈｅｒ判別子は、蓄積サーバ２の動作環境を示す判別子である。ｄｉｒｅｃｔｏｒ判別子は、管理サーバ１の動作環境を示す判別子である。
【００３５】
なお、管理情報は、図３に示す動作環境情報に加え、上述のように種別毎のデータ量と「配布済データ量÷配布比率」の計算結果とを含む。
【００３６】
＜蓄積サーバの一例＞
図４は、蓄積サーバ２の一例を示す図である。蓄積サーバ２は、第２通信部２１と検索処理部２２とデータ記憶部２３とを含む。
【００３７】
第２通信部２１は、蓄積処理において、管理サーバ１から送信された対象データを受信する。また、第２通信部２１は、検索処理において、管理サーバ１から検索を依頼する指示情報を受信する。
【００３８】
検索処理部２２は、管理サーバ１から受信した指示情報に応じて、データ記憶部２３に記憶されたデータを検索する。検索処理部２２の検索には、例えば、一方向逐次処理による高速文字列照合アルゴリズムが用いられることで、複雑な検索条件が与えられても安定した検索レスポンスが得ることができる。なお、検索処理部２２は、一方向逐次処理による高速文字列照合アルゴリズム以外の方法で、検索を行ってもよい。検索処理部２２は、例えば、インデックス等を用いずに各データを順に参照する検索方法を用いる。
【００３９】
データ記憶部２３は、管理サーバ１から送信されたデータを記憶する。上述のように、蓄積する対象データは、例えば、ＸＭＬ形式のデータであるとする。
【００４０】
図５は、データ記憶部２３が蓄積するデータの例を示す図である。図５の例に示すように、データ記憶部２３が蓄積するデータは、ＸＭＬ形式で記述されたデータであり、先頭のルートタグに、データの種別が記述されている。
【００４１】
なお、本実施形態で用いられるデータは、ＸＭＬ形式のデータに限定されない。例えば、データ内の所定の位置にデータの種別が記述されており、データ全てを読み込まなくても種別を識別可能なデータであればよい。
【００４２】
図５の例に示すデータを用いた場合、検索処理部２２は、対象データ全体を読み込まなくとも、先頭のルートタグを参照して、参照したデータが対象種別のデータか否かを判定することができる。検索処理部２２は、例えば、対象種別のデータであれば、ルートタグ（＜顧客＞）から終了を示すタグ（＜／顧客＞）までの読み込みを行い、対象種別のデータでなければルートタグより後の部分の読み込みをスキップする。
【００４３】
＜蓄積サーバのデータ配分の例＞
図６は、蓄積サーバ２が記憶する顧客および取引に関するデータの配分例を示す。図６（ａ）に示す例では、各蓄積サーバ２にデータ量の異なる顧客データが記憶されている。また、図６（ａ）には、データ量が最も大きい蓄積サーバ２（♯１）のデータ量と、データ量が最も小さい蓄積サーバ２（♯３）のデータ量との差分Ｄが示されている。
【００４４】
図６（ｂ）に示す例では、図６（ａ）に示す顧客データが記憶された後に、各蓄積サーバ２の全体のデータ量が均等になるように、取引データが蓄積されたことを想定した例である。図６に示すように、各蓄積サーバ２のデータ量の差は小さいが、取引データのデータ量が偏っている。
【００４５】
図６（ｃ）に示す例では、図６（ａ）に示す顧客データが記憶された後に、複数の蓄積サーバ２の、種別毎のデータ量が均等になるように、取引データが蓄積されたことを想定した例である。図６に示すように、各蓄積サーバ２の取引データのデータ量が均等となるようにデータが蓄積される。
【００４６】
特定部１４は、上述のように、いずれかの蓄積サーバ２のデータ量が、他の少なくとも一つの蓄積サーバ２のデータ量より所定の許容閾値以上多い場合、蓄積サーバ２の全体のデータ量が均等になるように、対象データを保存する蓄積サーバ２を特定する。
【００４７】
図６（ａ）に示す例では、差分Ｄが許容閾値以上であれば、特定部１４は、蓄積サーバ２（♯１）以外の蓄積サーバ２に取引データを蓄積する。差分Ｄが許容閾値未満であれば、図６（ｃ）に示すように、取引データのデータ量が均等となるようにデータが蓄積される。
【００４８】
図７は、蓄積サーバ２が記憶するデータの配分例を示す図である。図７（ａ）は、各蓄積サーバ２の全体のデータ量が均等になるように、各種別のデータが蓄積された例を示す。図７（ａ）の例では、各蓄積サーバ２の全体のデータ量は均等になっているが、種別毎のデータ量の差が大きい。
【００４９】
図７（ｂ）は、各蓄積サーバ２の種別毎のデータ量が均等になるように、各種別のデータが蓄積された例を示す。図７（ｂ）の例では、各蓄積サーバ２の種別毎のデータ量の差が図７（ａ）と比べて小さくなっている。なお、図７（ｂ）に示す例では、管理情報に含まれる配布比率が１であるとしてデータを蓄積したことを想定する。
【００５０】
＜検索処理の第１の例＞
図８は、検索処理の第１の例を示す図である。第１の例では、管理サーバ１が、１台の情報処理端末３から検索要求を受信することを想定している。また、図８では、各蓄積サーバ２の性能が同じであることを想定している。
【００５１】
管理サーバ１の検索制御部１６は、検索要求に含まれる検索条件から検索するデータの種別を認識する。そして、検索制御部１６は、複数の蓄積サーバ２（♯１、♯２、♯３）に認識した種別のデータを検索する指示情報を同時に送信することにより複数の蓄積サーバ２の並列検索を実施する。図８に示す例では、検索するデータの種別は、「顧客」であるとする。
【００５２】
複数の蓄積サーバ２の検索処理部２２は、管理サーバ１から送信された指示情報に応じて、種別が「顧客」であるデータを検索する。上述のように、蓄積サーバ２に記憶されるデータはＸＭＬ形式であり、ルートタグにデータの種別が記載される。よって、検索処理部２２は、ルートタグ名が「顧客」であるデータを走査し、他のデータをスキップする。
【００５３】
図８に示す例では、蓄積サーバ２（♯１）の検索にかかる時間は、ｔ１１＋ｔ１２＝ｔ１となる。また、蓄積サーバ２（♯２）の検索にかかる時間は、ｔ２１＋ｔ２２＋ｔ２３＝ｔ２となる。また、蓄積サーバ２（♯３）の検索にかかる時間は、ｔ３１＋ｔ３２＝ｔ３となる。図８に示す例では、各蓄積サーバ２の顧客データのデータ量が異なっているため、ｔ１、ｔ２、ｔ３もそれぞれ異なる時間となる。
【００５４】
管理サーバ１は、全蓄積サーバ２から検索結果を示す応答を受信するまで待つ。そして、管理サーバ１は、各蓄積サーバ２から、検索結果を示す応答を受信したら、各蓄積サーバ２からの検索結果を束ねて情報処理端末３に応答する。
【００５５】
図８に示す例において、ｔ２＜ｔ３＜ｔ１が成り立つとすると、検索にかかる時間は、各蓄積サーバ２の検索時間のうち最も遅い検索時間であるｔ１となる。各蓄積サーバ２の検索時間は、データ量に依存するため、各蓄積サーバ２の対象種別のデータ量に偏りが大きいほど、検索時間差が大きくなる。そして、検索時間差が大きいほど、情報処理端末３から検索要求を受けてから応答するまでの時間は長くなる。
【００５６】
図９は、検索処理の第２の例を示す図である。第２の例では、管理サーバ１が、２台の情報処理端末３から検索要求を受信することを想定している。また、図９では、各蓄積サーバ２の性能が同じであることを想定している。
【００５７】
図９に示す例では、複数の情報処理端末３から検索要求を受信するため、検索制御部１６は、検索要求を一体化する。そして、管理サーバ１の検索制御部１６は、検索要求に含まれる検索条件から検索対象データの種別を認識する。図９に示す例では、情報処理端末３（♯１）からの検索要求に含まれる種別は、「顧客」であり、情報処理端末３（♯２）からの検索要求に含まれる種別は、「取引」であるとする。
【００５８】
そして、検索制御部１６は、複数の蓄積サーバ２（♯１、♯２、♯３）に種別が「顧客」または「取引」であるデータを検索する指示情報を同時に送信することにより、複数の蓄積サーバ２の並列検索を実施する。
【００５９】
複数の蓄積サーバ２の検索処理部２２は、管理サーバ１から送信された指示情報に応じて、種別が「顧客」または「取引」であるデータを検索する。上述のように、蓄積サーバ２に記憶されるデータはＸＭＬ形式であり、ルートタグにデータの種別が記載される。よって、検索処理部２２は、ルートタグ名が「顧客」または「取引」であるデータを走査し、他のデータをスキップする。
【００６０】
図９に示す例では、蓄積サーバ２（♯１）の検索にかかる時間は、ｔ１１＋ｔ１２＝ｔ１となる。上述したように、検索処理部２２は、種別が「顧客」または「取引」であるデータを検索するため、例えば、ｔ１１およびｔ１２は、種別が「顧客」の検索時間と「取引」の検索時間との合計時間になる。
【００６１】
また、蓄積サーバ２（♯２）の検索にかかる時間は、ｔ２１＋ｔ２２＝ｔ２となる。また、蓄積サーバ２（♯３）の検索にかかる時間は、ｔ３１＋ｔ３２＝ｔ３となる。
【００６２】
管理サーバ１は、全蓄積サーバ２から検索結果を示す応答を受信するまで待つ。そして、管理サーバ１は、各蓄積サーバ２から、検索結果を示す応答を受信したら、「顧客」に関する検索結果を情報処理端末３（♯１）に送信し、「取引」に関する検索結果を情報処理端末３（♯２）に送信する。
【００６３】
図９に示す例において、ｔ２＜ｔ１＜ｔ３が成り立つとすると、検索にかかる時間は、各蓄積サーバ２の検索時間のうち最も長い検索時間であるｔ３となる。第１の例と同様に、各蓄積サーバ２の検索時間は、データ量に依存するため、各蓄積サーバ２の対象種別のデータ量に偏りが大きいほど、検索時間差が大きくなる。そして、検索時間差が大きいほど、情報処理端末３から検索要求を受けてから応答するまでの時間は長くなる。
【００６４】
図１０は、検索処理の第３の例を示す図である。図１０に示すシステム構成および検索手順は、図８に示す第１の例と同様であるため、詳細な説明を省略する。図８に示す例では各蓄積サーバ２の顧客データのデータ量が異なっていたが、図１０に示す例では、各蓄積サーバ２の顧客データのデータ量がほぼ同じであるとする。各蓄積サーバ２の顧客データのデータ量がほぼ同じであるため、各蓄積サーバ２の検索時間ｔ１、ｔ２、ｔ３もほぼ同じ時間となる。
【００６５】
上述のように、管理サーバ１は、全蓄積サーバ２から検索結果を示す応答を受信するまで待つため、検索にかかる時間は、各蓄積サーバ２の検索時間のうち最も遅い検索時間と同じである。従って、種別毎のデータの総データ量の差分が少ない場合、図１０の例のように各蓄積サーバ２のデータの偏りが少ない方が、各蓄積サーバ２のデータの偏りが多い場合より、検索時間は短くなる。
【００６６】
なお、図９に示す例のように、複数の情報処理端末３から検索要求を受信し、検索要求を一体化する場合でも、同様に、各蓄積サーバ２のデータの偏りが多いケースと比較して、該偏りが少ないケースの方が、検索時間ｔ０は短くなる。
【００６７】
図１１は、検索処理の第４の例を示す図である。図１１に示すシステム構成および検索手順は、図８に示す第１の例と同様であるため、詳細な説明を省略する。図１１に示す例は、各蓄積サーバ２のＣＰＵ性能（クロック数）を明示している点で図８に示す例と異なる。
【００６８】
蓄積サーバ２（♯１）、蓄積サーバ２（♯２）のＣＰＵ性能は、１．４０ＧＨｚであり、蓄積サーバ２（♯３）のＣＰＵ性能は、２．８０ＧＨｚである。すなわち、蓄積サーバ２（♯３）のＣＰＵ性能は、蓄積サーバ２（♯１）、蓄積サーバ２（♯２）のＣＰＵ性能の２倍となっている。
【００６９】
検索速度は、ＣＰＵ性能に比例すると考えられるため、蓄積サーバ２（♯３）の検索速度は、蓄積サーバ２（♯１）、蓄積サーバ２（♯２）の検索速度の２倍となる。ただし、蓄積サーバ２（♯３）のデータ量は、ＣＰＵ性能に応じた配布利率に従って蓄積された結果、蓄積サーバ２（♯１）、蓄積サーバ２（♯２）のデータ量のほぼ２倍となっている。従って、各蓄積サーバ２の検索時間ｔ１、ｔ２、ｔ３はほぼ同じ時間となるため、待ち時間が少なく、図８に示す例と比べて検索時間ｔ０は短くなる。
【００７０】
＜実施形態の蓄積処理の流れの一例＞
図１２は、実施形態の蓄積処理の流れの一例を示すフローチャートである。判別部１３は、蓄積対象データを取得する（ステップＳ１０１）。
【００７１】
そして、判別部１３は、データベースに対するデータ更新の際に、データ更新の対象データの種別およびデータ量を判別する（ステップＳ１０２）。判別部１３は、対象データのうち、種別が記載された部分を参照することにより、対象データの種別を判別する。判別部１３は、例えば、対象データがＸＭＬ形式である場合、ルートタグを参照することにより、対象データの種別を判別する。
【００７２】
特定部１４は、管理情報記憶部１２に記憶され、種別毎のデータ量に関する情報を含む管理情報に基づいて、対象データを保存する蓄積先サーバ（蓄積サーバ２）を特定する（ステップＳ１０３）。ステップＳ１０３の詳細な処理は後述する。
【００７３】
更新部１５は、管理情報記憶部１２の管理情報を更新する（ステップＳ１０４）。更新部１５は、例えば、管理情報に対象データに関する情報を追加または更新する。
【００７４】
更新部１５は、特定部１４により特定された蓄積サーバ２に対象データを蓄積させる（ステップＳ１０５）。更新部１５は、例えば、特定された蓄積サーバ２に、第１通信部１１を介して対象データを送信することにより、蓄積サーバ２に対象データを蓄積する。
【００７５】
以上のように、特定部１４は、種別毎のデータ量が記録された管理情報に基づいて、対象データの蓄積先となる蓄積サーバ２を特定するため、種別毎のデータ量に関して、蓄積サーバ２毎の偏りを抑制することができる。従って、管理サーバ１は、図１０および図１１の例のように、各蓄積サーバ２の検索時間が均等となり、検索時間を短くすることができる。
【００７６】
例えば、蓄積サーバ２毎のデータ量の偏りを抑制するために、蓄積サーバ２を増設し、蓄積するデータを分散することも考えられるが、ハードウェア、ソフトウェア、運用、およびメンテナンス等のコストが増加する。本実施形態の管理サーバ１は、コストを増加させることなく、種別毎のデータ量に関して、蓄積サーバ２毎の偏りを抑制することができる。
【００７７】
＜特定処理の第１の例＞
図１３は、図１２のステップＳ１０３における特定処理の第１の例を示すフローチャートである。第１の例では、蓄積サーバ２の処理性能に応じた配布比率が設定されていないことを想定する。
【００７８】
特定部１４は、管理情報を参照することにより、対象種別のデータが少なくとも一つの蓄積サーバ２に存在するか判定する（ステップＳ２０１）。
【００７９】
ステップＳ２０１でＹＥＳの場合、特定部１４は、全体のデータ量の差が許容閾値以上の蓄積サーバ２が存在するか判定する（ステップＳ２０２）。すなわち、特定部１４は、いずれかの蓄積サーバ２の全体のデータ量が、他の少なくとも一つの蓄積サーバ２の全体のデータ量より所定の許容閾値以上大きいか判定する。
【００８０】
ステップＳ２０２でＮＯの場合、特定部１４は、対象種別のデータ量が最も少ない蓄積サーバ２を対象データの蓄積先に特定する（ステップＳ２０３）。すなわち、特定部１４は、複数の蓄積サーバ２の対象種別のデータ量が均等になるように、対象データを保存する蓄積サーバ２を特定する。
【００８１】
ステップＳ２０１でＮＯ、またはステップＳ２０２でＹＥＳの場合、特定部１４は、全体のデータ量が最も少ない蓄積サーバ２を対象データの蓄積先に特定する（ステップＳ２０４）。すなわち、特定部１４は、複数の蓄積サーバ２の全体のデータ量が均等になるように、対象データの蓄積先となる蓄積サーバ２を特定する。
【００８２】
以上のように、第１の例では、特定部１４は、ステップＳ２０３において、対象種別のデータ量が均等になるように、蓄積サーバ２を対象データの蓄積先に特定するので、蓄積サーバ毎の偏りを抑制することができる。
【００８３】
また、蓄積サーバ２の全体のデータ量の差が許容閾値以上である場合、特定部１４は、ステップＳ２０４において、全体のデータ量が最も少ない蓄積サーバ２を対象データの蓄積先に特定する。従って、各蓄積サーバ２の全体のデータ量の差が大きくなることを抑制することができる。従って、管理サーバ２は、例えば、データ量が蓄積サーバ２の処理可能なメモリ量を超える可能性を低減することができる。
【００８４】
＜特定処理の第２の例＞
図１４は、図１２のステップＳ１０３における特定処理の第２の例を示すフローチャートである。第２の例では、蓄積サーバ２の処理性能に応じた配布比率が設定されていることを想定する。ステップＳ２０１、Ｓ２０２の処理は、図１３に示す処理と同じであるため、説明を省略する。
【００８５】
ステップＳ２０２でＮＯの場合、特定部１４は、対象種別の「配布済データ量÷配布比率」の値が最も少ない蓄積サーバ２を対象データの蓄積先に特定する（ステップＳ２０３’）。
【００８６】
配布比率は、蓄積サーバ２の処理性能に応じて設定される。すなわち、特定部１４は、管理情報に含まれる複数の蓄積サーバ２の種別毎のデータ量と複数の蓄積サーバ２の処理性能に基づいて、対象データを保存する蓄積先サーバを特定する。また、「配布済データ量÷配布比率」の値は、検索時間に対応するため、管理サーバ１は、後述する検索処理において、各蓄積サーバ２における検索時間を均等にすることができる。
【００８７】
ステップＳ２０１でＮＯ、またはステップＳ２０２でＹＥＳの場合、特定部１４は、データ全体について「配布済データ量÷配布比率」の値が最も少ない蓄積サーバ２を対象データの蓄積先に特定する（ステップＳ２０４’）。すなわち、特定部１４は、複数の蓄積サーバの全体のデータ量と複数の蓄積サーバの処理性能に基づいて、対象データを保存する蓄積先サーバを特定する。
【００８８】
以上のように、第２の例では、特定部１４は、蓄積サーバ２の処理性能を考慮して、対象種別のデータの検索時間が均等になるように、対象データの蓄積先となる蓄積サーバ２を特定する。例えば、システム運用後に蓄積サーバ２を増設する際に、既設の蓄積サーバ２の処理性能と増設する蓄積サーバ２の処理性能を一致させることが難しい場合がある。管理サーバ１は、各蓄積サーバ２の処理性能が異なっていても、対象種別のデータの検索時間が均等になるようにデータを蓄積することで、検索時間を短くすることができる。
【００８９】
＜実施形態の検索処理の流れの一例＞
図１５は、実施形態の検索制御処理の流れの一例を示すフローチャートである。管理サーバ１の検索制御部１６は、第１通信部１１を介して情報処理端末３から検索要求を受け付ける（ステップＳ３０１）。そして、検索制御部１６は、検索要求に含まれる検索条件から検索対象データの種別を認識する（ステップＳ３０２）。
【００９０】
検索制御部１６は、複数の蓄積サーバ２に検索条件に応じた指示情報を送信する（ステップＳ３０３）。検索制御部１６は、指示情報を送信した複数の蓄積サーバ２から検索結果を受信する（ステップＳ３０４）。そして、検索制御部１６は、受信した検索結果を、検索要求の送信元の情報処理端末３に送信する（ステップＳ３０５）
図１６は、実施形態の検索処理の流れの一例を示すフローチャートである。図１５に示す処理は、蓄積サーバ２が管理サーバ１から検索指示情報を受信した際の処理である。
【００９１】
第２通信部２１は、管理サーバ１から検索を依頼する指示情報を受信する（ステップＳ４０１）。検索処理部２２は、管理サーバ１から受信した指示情報に応じて、データ記憶部２３に記憶されたデータを検索するために、繰り返し処理を開始する（ステップＳ４０２）。
【００９２】
検索処理部２２は、指示情報に含まれる種別が該当レコードの種別と一致するか判定する（ステップＳ４０３）。検索処理部２２は、例えば、ＸＭＬ形式データのルートタグ名が指示情報に含まれる種別と一致するか判定する。
【００９３】
ステップＳ４０３でＹＥＳの場合、該当レコードが検索条件に該当するかを評価する（ステップＳ４０４）。ステップＳ４０３でＮＯの場合、該当レコードを走査せずスキップする。
【００９４】
すなわち、検索処理部２２は、１回の繰り返し処理において、１つのＸＭＬ形式データを走査またはスキップする。
【００９５】
検索処理部２２は、全レコードについてステップＳ４０３、Ｓ４０４の処理を実行した後、繰り返し処理を終了する（ステップＳ４０５）。そして、検索処理部２２は、第２通信部２１を介して、検索結果を管理サーバ１に送信する（ステップＳ４０６）。
【００９６】
＜蓄積処理の第１の実施例＞
図１７Ａおよび図１７Ｂは、蓄積処理の第１の実施例を示す図である。図１７Ａおよび図１７Ｂは、図１３に示す蓄積処理を行う例を示す。また、ステップＳ２０２の処理で用いるデータ差の許容閾値が３００バイトであるとする。
【００９７】
図１７Ａおよび図１７Ｂには、管理情報の遷移と蓄積されるデータの種別とデータ量が示されている。図１７Ａおよび図１７Ｂに示す管理情報は、蓄積サーバ２の識別番号とデータ全体の配布済データ量とデータの種別毎の配布済データ量とを含む。なお、管理情報における下線部分は、更新された項目を示す。
【００９８】
（ａ）に示す管理情報は、いずれの蓄積サーバ２にもデータが蓄積されていない状態を示している。例えば、（そして、管理サーバ１が１５０バイトの顧客データを取得したとする。
【００９９】
管理サーバ１が、上記顧客データを取得する前は、対象種別のデータが何れの蓄積サーバ２にも存在しないため（ステップＳ２０１でＮＯ）、ステップＳ２０４の処理が行われる。上述したように、全ての蓄積サーバ２の配布済みデータ量が０であるため、本実施例では、ステップＳ２０４の処理において、特定部１４は、識別番号が小さい蓄積サーバ２（♯１）を蓄積先に特定する。そして、管理情報は、（ｂ）に示す状態となる。
【０１００】
そして、管理サーバ１が１００バイトの取引データを取得したとする。対象種別のデータが存在しないため（ステップＳ２０１でＮＯ）、ステップＳ２０４の処理が行われる。ステップＳ２０４の処理において、特定部１４は、全体のデータ量が最も少ない蓄積サーバ２（♯２）または蓄積サーバ２（♯３）のいずれかを特定する。本実施例では、特定部１４は、識別番号が小さい蓄積サーバ２（♯２）を蓄積先に特定する。そして、管理情報は、（ｃ）に示す状態となる。
【０１０１】
そして、管理サーバ１が７５バイトの顧客データを取得したとする。対象種別のデータが存在し（ステップＳ２０１でＹＥＳ）、データ差が許容閾値以上の蓄積サーバ２が存在しないため（ステップＳ２０２でＮＯ）、ステップ２０３の処理が行われる。
【０１０２】
ステップ２０３において、特定部１４は、対象種別の配布済みデータ量が最も少ない蓄積サーバ２（♯２）または蓄積サーバ２（♯３）のいずれかを蓄積先に特定する。本実施例では、特定部１４は、判別番号が小さい蓄積サーバ２（♯２）を蓄積先に特定する。そして、管理情報は、（ｄ）に示す状態となる。
【０１０３】
そして、管理サーバ１が５００バイトの顧客データを取得したとする。対象種別のデータが存在し（ステップＳ２０１でＹＥＳ）、データ差が許容閾値以上の蓄積サーバ２が存在しないため（ステップＳ２０２でＮＯ）、ステップ２０３の処理が行われる。ステップ２０３において、対象種別の配布済みデータ量は、蓄積サーバ２（♯３）が最も少ないため、特定部１４は、蓄積サーバ２（♯３）を蓄積先に特定する。そして、管理情報は、（ｅ）に示す状態となる。
【０１０４】
そして、管理サーバ１が１００バイトの取引データを取得したとする。対象種別のデータが存在し（ステップＳ２０１でＹＥＳ）、ステップＳ２０２の判定が行われる。蓄積サーバ２（♯３）と蓄積サーバ２（♯２）とでは、全体のデータ量の差が許容閾値である３００バイト以上であるため、ステップＳ２０２でＹＥＳとなり、ステップＳ２０４の処理が行われる。ステップ２０４において、特定部１４は、全体の配布済みデータ量が最も少ない蓄積サーバ２（♯１）を蓄積先に特定する。そして、管理情報は、（ｆ）に示す状態となる。
【０１０５】
＜蓄積処理の第２の実施例＞
図１８Ａおよび図１８Ｂは、蓄積処理の第２の実施例を示す図である。図１８Ａおよび図１８Ｂは、図１４に示す蓄積サーバ２の処理能力を考慮した蓄積処理を行う例を示す。また、ステップＳ２０２の処理で用いるデータ差の許容閾値が３００バイトであるとする。
【０１０６】
図１８Ａおよび図１８Ｂには、管理情報の遷移と蓄積されるデータの種別とデータ量が示されている。図１８Ａおよび図１８Ｂに示す管理情報は、蓄積サーバ２の識別番号と配布比率と全体とデータの種別毎との項目を含む。全体の項目は、データ全体の配布済データ量および配布済みデータ量÷配布比率の値を含む。データの種別毎の項目は、データの種別毎の配布済データ量および配布済みデータ量÷配布比率の値を含む。
【０１０７】
（ａ）に示す管理情報は、いずれの蓄積サーバ２にもデータが蓄積されていない状態を示している。そして、管理サーバ１が２００バイトの顧客データを取得したとする。対象種別のデータが存在しないため（ステップＳ２０１でＮＯ）、ステップＳ２０４’の処理が行われる。ステップＳ２０４’の処理において、全ての蓄積サーバ２の「配布済みデータ量÷配布比率」が０であるため、本実施例では、特定部１４は、判別番号が小さい蓄積サーバ２（♯１）を蓄積先に特定する。そして、管理情報は、（ｂ）に示す状態となる。
【０１０８】
そして、管理サーバ１が２００バイトの顧客データを取得したとする。対象種別のデータが存在し（ステップＳ２０１でＹＥＳ）、データ差が許容閾値以上の蓄積サーバ２が存在しないため（ステップＳ２０２でＮＯ）、ステップ２０３’の処理が行われる。ステップ２０３’において、対象種別の「配布済みデータ量÷配布比率」の値が最も少ない蓄積サーバ２（♯２）および蓄積サーバ２（♯３）のいずれかの蓄積サーバ２を蓄積先に特定する。本実施例では、特定部１４は、判別番号が小さい蓄積サーバ２（♯２）を蓄積先に特定する。そして、管理情報は、（ｃ）に示す状態となる。
【０１０９】
そして、管理サーバ１が２００バイトの顧客データを取得したとする。対象種別のデータが存在し（ステップＳ２０１でＹＥＳ）、データ差が許容閾値以上の蓄積サーバ２が存在しないため（ステップＳ２０２でＮＯ）、ステップ２０３’の処理が行われる。ステップ２０３’において、特定部１４は、対象種別の「配布済みデータ量÷配布比率」の値が最も少ない蓄積サーバ２（♯３）を蓄積先に特定する。そして、管理情報は、（ｄ）に示す状態となる。
【０１１０】
そして、管理サーバ１が２００バイトの顧客データを取得したとする。対象種別のデータが存在し（ステップＳ２０１でＹＥＳ）、データ差が許容閾値以上の蓄積サーバ２が存在しないため（ステップＳ２０２でＮＯ）、ステップ２０３’の処理が行われる。ステップ２０３’において、対象種別の「配布済みデータ量÷配布比率」の値は、蓄積サーバ２（♯３）が最も少ないため、特定部１４は、蓄積サーバ２（♯３）を蓄積先に特定する。そして、管理情報は、（ｅ）に示す状態となる。
【０１１１】
そして、管理サーバ１が６００バイトの顧客データを取得したとする。対象種別のデータが存在し（ステップＳ２０１でＹＥＳ）、データ差が許容閾値以上の蓄積サーバ２が存在しないため（ステップＳ２０２でＮＯ）、ステップ２０３’の処理が行われる。ステップ２０３’において、対象種別の「配布済みデータ量÷配布比率」の値は、全ての蓄積サーバ２が同じである。本実施例では、特定部１４は、判別番号が最も小さい蓄積サーバ２（♯１）を蓄積先に特定する。そして、管理情報は、（ｆ）に示す状態となる。
【０１１２】
そして、管理サーバ１が２０バイトの取引データを取得したとする。対象種別のデータが存在しないため、ステップＳ２０１でＮＯとなり、ステップ２０４’の処理が行われる。ステップ２０４’において、全体の「配布済みデータ量÷配布比率」の値が最も少ない蓄積サーバ２は、蓄積サーバ２（♯２）および蓄積サーバ２（♯３）である。本実施例では、特定部１４は、判別番号が最も小さい蓄積サーバ２（♯２）を蓄積先に特定する。そして、管理情報は、（ｇ）に示す状態となる。
【０１１３】
そして、管理サーバ１が２０バイトの取引データを取得したとする。対象種別のデータが存在し（ステップＳ２０１でＹＥＳ）、ステップＳ２０２の判定が行われる。蓄積サーバ２（♯１）と蓄積サーバ２（♯２）および蓄積サーバ２（♯３）との全体のデータ量の差が、許容閾値である３００バイト以上であるため、ステップＳ２０２でＹＥＳとなり、ステップＳ２０４’の処理がおこなわれる。ステップ２０４’において、特定部１４は、全体の「配布済みデータ量÷配布比率」の値が最も少ない蓄積サーバ２（♯３）を蓄積先に特定する。そして、管理情報は、（ｈ）に示す状態となる。
【０１１４】
＜管理装置のハードウェア構成の一例＞
次に、図１９の例を参照して、管理サーバ１および蓄積サーバ２のハードウェア構成の一例を説明する。図１９の例に示すように、バス１００に対して、プロセッサ１１１とRandom Access Memory(RAM)１１２とRead Only Memory(ROM)１１３とが接続される。また、該バス１００に対して、補助記憶装置１１４と媒体接続部１１５と通信インタフェース１１６とが接続される。
【０１１５】
プロセッサ１１１はＲＡＭ１１２に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における処理を行う管理プログラムが適用されてもよい。
【０１１６】
ＲＯＭ１１３はＲＡＭ１１２に展開されるプログラムを記憶する不揮発性の記憶装置である。補助記憶装置１１４は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等を補助記憶装置１１４に適用してもよい。補助記憶装置１１４は、ＲＡＭ１１２に展開されるプログラムを記憶していてもよい。媒体接続部１１５は、可搬型記録媒体１１８と接続可能に設けられている。
【０１１７】
可搬型記録媒体１１８としては、可搬型のメモリや光学式ディスク（例えば、Compact Disc(CD)やDigital Versatile Disc(DVD))、半導体メモリ等を適用してもよい。可搬型記録媒体１１８に実施形態の処理を行う管理プログラムが記録されていてもよい。
【０１１８】
図２に示す管理情報記憶部１２および図４に示すデータ記憶部２３は、ＲＡＭ１１２や補助記憶装置１１４等により実現されてもよい。図２に示す第１通信部１１および図４に示す第２通信部２１は、通信インタフェース１１６により実現されてもよい。図２に示す判別部１３、特定部１４、更新部１５、および検索制御部１６は、与えられた管理プログラムをプロセッサ１１１が実行することにより実現されてもよい。図４に示す検索処理部２２は、与えられた管理プログラムをプロセッサ１１１が実行することにより実現されてもよい。
【０１１９】
ＲＡＭ１１２、ＲＯＭ１１３、補助記憶装置１１４および可搬型記録媒体１１８は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
【０１２０】
＜その他＞
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【符号の説明】
【０１２１】
１    管理サーバ
２    蓄積サーバ
３    情報処理端末
４    ネットワーク
１１    第１通信部
１２    管理情報記憶部
１３    判別部
１４    特定部
１５    更新部
１６    検索制御部
２１    第２通信部
２２    検索処理部
２３    データ記憶部
１１１    プロセッサ
１１２    ＲＡＭ
１１３    ＲＯＭ
【図１】
2018180931.tif 000003
【図２】
2018180931.tif 000004
【図３】
2018180931.tif 000005
【図４】
2018180931.tif 000006
【図５】
2018180931.tif 000007
【図６】
2018180931.tif 000008
【図７】
2018180931.tif 000009
【図８】
2018180931.tif 000010
【図９】
2018180931.tif 000011
【図１０】
2018180931.tif 000012
【図１１】
2018180931.tif 000013
【図１２】
2018180931.tif 000014
【図１３】
2018180931.tif 000015
【図１４】
2018180931.tif 000016
【図１５】
2018180931.tif 000017
【図１６】
2018180931.tif 000018
【図１７Ａ】
2018180931.tif 000019
【図１７Ｂ】
2018180931.tif 000020
【図１８Ａ】
2018180931.tif 000021
【図１８Ｂ】
2018180931.tif 000022
【図１９】
2018180931.tif 000023