(57)【要約】【課題】冗長化システムの構築費用を削減するとともに、２重故障時でも処理を止めることなく運用する。【解決手段】冗長化システムであって、複数の冗長化サブシステム１、２、３と、共用ＤＢサーバ４とを備え、各冗長化サブシステムは、マスタＤＢサーバ１１、２１、３１と、第１スレーブＤＢサーバ１２、２２、３２とを備え、共用ＤＢサーバ４は、複数の冗長化サブシステム１、２、３で共用する第２スレーブＤＢサーバであり、各冗長化サブシステムのマスタＤＢサーバ１１、２１、３１は、当該マスタＤＢサーバが備えるマスタＤＢへの更新が発生した場合、第１スレーブＤＢサーバ１２、２２、３２および共用ＤＢサーバ４へのレプリケーションを行う。【選択図】図１
2016040675.tif 000002
【特許請求の範囲】
【請求項１】
冗長化システムであって、
複数の冗長化サブシステムと、共用ＤＢサーバとを備え、
各冗長化サブシステムは、マスタＤＢサーバと、第１スレーブＤＢサーバとを備え、
前記共用ＤＢサーバは、前記複数の冗長化サブシステムで共用する第２スレーブＤＢサーバであり、
各冗長化サブシステムのマスタＤＢサーバは、当該マスタＤＢサーバが備えるマスタＤＢへの更新が発生した場合、第１スレーブＤＢサーバおよび前記共用ＤＢサーバへのレプリケーションを行うこと
を特徴とする冗長化システム。
【請求項２】
請求項１記載の冗長化システムであって、    
前記冗長化サブシステムのマスタＤＢサーバおよび第１スレーブＤＢサーバが故障した場合、前記共用ＤＢサーバが当該冗長化サブシステムのマスタＤＢサーバとして動作するとともに、他の冗長化サブシステムからの当該共用ＤＢサーバへのレプリケーションを停止すること
を特徴とする冗長化システム。
【請求項３】
請求項１または２に記載の冗長化システムであって、
前記冗長化サブシステムの第１スレーブＤＢサーバが故障した場合、当該冗長化サブシステムのマスタＤＢサーバは、前記共用ＤＢサーバのみにレプリケーションを行うこと
を特徴とする冗長化システム。
【請求項４】
請求項１ないし３のいずれか１項に記載の冗長化システムであって、
前記共用ＤＢサーバは、所定の時間、マスタＤＢサーバからのレプリケーションがない場合、当該マスタＤＢサーバにレプリケーション要求を送信すること
を特徴とする冗長化システム。
【請求項５】
複数の冗長化サブシステムと、共用ＤＢサーバとを備える冗長化システムが行うレプリケーション方法であって、
各冗長化サブシステムは、マスタＤＢサーバと、第１スレーブＤＢサーバとを備え、
前記共用ＤＢサーバは、各冗長化サブシステムで共用する第２スレーブＤＢサーバであり、
各冗長化サブシステムのマスタＤＢサーバは、
前記マスタＤＢへの更新を行う更新ステップと、
第１スレーブＤＢサーバおよび前記共用ＤＢサーバへのレプリケーションを行うレプリケーションステップと、を行うこと
を特徴とするレプリケーション方法。
【請求項６】
請求項５記載のレプリケーション方法であって、
前記冗長化サブシステムのマスタＤＢサーバおよび第１スレーブＤＢサーバが故障した場合、前記共用ＤＢサーバは、
当該冗長化サブシステムをマスタＤＢサーバとして切り替える切替ステップと、
他の冗長化サブシステムからの当該共用ＤＢサーバへのレプリケーションを停止する停止ステップと、を行うこと
を特徴とするレプリケーション方法。
【請求項７】
請求項５または６に記載のレプリケーション方法であって、
前記レプリケーションステップは、前記第１スレーブＤＢサーバが故障した場合、前記共用ＤＢサーバのみにレプリケーションを行うこと
を特徴とするレプリケーション方法。
【請求項８】
請求項５ないし７のいずれか１項に記載のレプリケーション方法であって、
前記共用ＤＢサーバは、所定の時間、マスタＤＢサーバからのレプリケーションがない場合、当該マスタＤＢサーバにレプリケーション要求を送信する要求ステップをさらに行うこと
を特徴とするレプリケーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタ‐スレーブの冗長化システム、およびレプリケーション方法に関する。
【背景技術】
【０００２】
マスタ/スレーブの２重化の冗長構成のＤＢ（データベース）システムにおいて、２重故障対策を実施する場合、３重化（マスタ/スレーブ/スレーブ）の冗長構成とする場合と、Ｎ＋１（予備機）構成とすることが考えられる。
【０００３】
また、特許文献１には、マスタ/スレーブの２重化の冗長構成において、ＤＢの差分情報を記憶するために必要な記憶領域の肥大化を防ぐ技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2013-171483号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
３重化（マスタ/スレーブ/スレーブ）の冗長構成とする場合、図８に示すように、ファミリー毎に分散されたＤＢシステムにおいては、ファミリー毎にスレーブが必要となるため、スレーブの構築費用が増大するという問題がある。
【０００６】
また、Ｎ＋１構成とする場合、図９に示すように、ファミリー＃１のスレーブが故障して、故障発生後に予備機をスレーブとしてファミリー＃１に組み込むための作業が発生し、時間と操作負荷を要するという問題がある。なお、予備機をファミリー＃１に組み込むため作業としては、マスタのデータのレプリケーション作業、ＩＰアドレスなどの所データの設定作業などがある。
【０００７】
本発明は、上記の事情に鑑みなされたものであって、本発明の目的は、冗長化システムの構築費用を削減するとともに、２重故障時でも処理を止めることなく運用することにある。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明は、冗長化システムであって、複数の冗長化サブシステムと、共用ＤＢサーバとを備え、各冗長化サブシステムは、マスタＤＢサーバと、第１スレーブＤＢサーバとを備え、前記共用ＤＢサーバは、前記複数の冗長化サブシステムで共用する第２スレーブＤＢサーバであり、各冗長化サブシステムのマスタＤＢサーバは、当該マスタＤＢサーバが備えるマスタＤＢへの更新が発生した場合、第１スレーブＤＢサーバおよび前記共用ＤＢサーバへのレプリケーションを行う。
【０００９】
本発明は、複数の冗長化サブシステムと、共用ＤＢサーバとを備える冗長化システムが行うレプリケーション方法であって、各冗長化サブシステムは、マスタＤＢサーバと、第１スレーブＤＢサーバとを備え、前記共用ＤＢサーバは、各冗長化サブシステムで共用する第２スレーブＤＢサーバであり、各冗長化サブシステムのマスタＤＢサーバは、前記マスタＤＢへの更新を行う更新ステップと、第１スレーブＤＢサーバおよび前記共用ＤＢサーバへのレプリケーションを行うレプリケーションステップと、を行う。
【発明の効果】
【００１０】
本発明によれば、冗長化システムの構築費用を削減することができるとともに、２重故障時でも処理を止めることなく運用することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態の冗長化システムの全体構成図である。
【図２】マスタＤＢサーバ構成を示すブロック図である。
【図３】第１スレーブＤＢサーバの構成を示すブロック図である。
【図４】共用ＤＢサーバの構成を示すブロック図である。
【図５】通常時の冗長化システムの動作を説明するための図である。
【図６】片系故障時の冗長化システムの動作を説明するための図である。
【図７】２重故障時の冗長化システムの動作を説明するための図である。
【図８】３重化（マスタ/スレーブ/スレーブ）の冗長構成を示す図である。
【図９】Ｎ＋１の冗長構成を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を、図面を参照して説明する。
【００１３】
図１は、本実施形態のＤＢサーバシステム（冗長化システム）の全体構成図である。
【００１４】
図示するＤＢサーバシステムは、複数のファミリー＃１、＃２、＃３（複数の冗長化サブシステム）１、２、３と、共用ＤＢサーバ４とを備え、ファミリー毎にＤＢが分散された分散ＤＢサーバシステムである。
【００１５】
各ファミリー１、２、３は、それぞれ対応するＳＩＰサーバ５、６、７（アプリケーションサーバ）の冗長構成のＤＢとして動作し、マスタＤＢサーバと、第１スレーブサーバとを備える。図示する例では、ファミリー＃１＿１は、ＳＩＰサーバ５のＤＢサブシステムであって、マスタＤＢサーバ１１と第１スレーブＤＢサーバ１２とを備える。ファミリー＃２＿２は、ＳＩＰサーバ６のＤＢサブシステムであって、マスタＤＢサーバ２１と第１スレーブＤＢサーバ２２とを備える。ファミリー＃３＿３は、ＳＩＰサーバ７のＤＢサブシステムであって、マスタＤＢサーバ３１と第１スレーブＤＢサーバ３２とを備える。
【００１６】
なお、本実施形態では、アプリケーションサーバとして、呼処理を行うＳＩＰ（Session Initiation Protocol）サーバ５、６、７を用いることとするが、ＳＩＰサーバ５、６、７に限定されるものではない。図示する例では、電話番号に応じてＳＩＰサーバが振り分けられ、各ファミリー１、２、３には対応する電話番号の電話番号情報（加入者情報など）が記憶されているものとする。
【００１７】
共用ＤＢサーバ４は、複数のファミリー１、２、３の第２スレーブＤＢサーバとして、ネットワーク上に構築される。これにより、各ファミリー１、２、３は、マスタＤＢサーバと、第１スレーブＤＢサーバと、第２スレーブＤＢサーバ（共用ＤＢサーバ４）の３重化の冗長構成となり、２重故障対策を実現することができる。
【００１８】
図２は、ファミリー＃１＿１のマスタＤＢサーバ１１の構成を示すブロック図である。図示するマスタＤＢサーバ１１は、宛先解決部１１０と、更新部１１１と、レプリケーション部１１２と、マスタＤＢ１１３とを備える。
【００１９】
宛先解決部１１０は、ＳＩＰサーバ５から、電話番号を含む宛先解決要求（データ参照要求）を受信すると、要求された電話番号の電話番号情報をマスタＤＢ１１３から読み出し、ＳＩＰサーバ５に送信する。更新部１１１は、ＳＩＰサーバ５から、データ更新要求を受信すると、マスタＤＢ１１３の要求されたデータを更新する。
【００２０】
レプリケーション部１１２は、更新部１１１によるマスタＤＢ１１３のデータ更新処理が発生した場合、当該更新内容を第１スレーブＤＢサーバ１２および共用ＤＢサーバ４に送信し、マスタＤＢ１１３への更新内容を第１および第２スレーブＤＢに反映させるレプリケーション（同期処理）を行う。これにより、マスタＤＢ１１３と、第１および第２スレーブＤＢとが常に同期した状態になる。マスタＤＢ１１３は、元となるオリジナルデータが格納されるＤＢである。
【００２１】
なお、ファミリー＃２＿２およびファミリー＃３のマスタＤＢサーバ２１、３１は、図２に示すマスタＤＢサーバ１１と同様であるため、ここでは説明を省略する。
【００２２】
図３は、ファミリー＃１＿１の第１スレーブＤＢサーバ１２の構成を示すブロック図である。図示する第１スレーブＤＢサーバ１２は、宛先解決部１２０と、更新部１２１と、レプリケーション部１２２と、第１スレーブＤＢ１２３とを備える。
【００２３】
宛先解決部１２０および更新部１２１は、マスタＤＢサーバ１１の宛先解決部１１０および更新部１１１と同様である。なお、宛先解決部１２０および更新部１２１は、通常時においては動作しない。第１スレーブＤＢサーバ１２は、マスタＤＢサーバ１１が故障し、自身がマスタＤＢサーバとして動作する場合に、宛先解決部１２０および更新部１２１を起動する。
【００２４】
レプリケーション部１２２は、マスタＤＢサーバ１１のレプリケーション部１１２から送信される更新データを受信し、第１スレーブＤＢ１２３をマスタＤＢ１１３と同期させるように、第１スレーブＤＢ１２３を更新する。第１スレーブＤＢ１２３は、マスタＤＢ１１３のレプリカ（複製データ）が格納されるＤＢである。
【００２５】
なお、ファミリー＃２＿２およびファミリー＃３＿３の第１スレーブＤＢサーバ２２、３２は、図３に示す第１スレーブＤＢサーバ１２と同様であるため、ここでは説明を省略する。
【００２６】
図４は、共用ＤＢサーバ４の構成を示すブロック図である。図示する共用ＤＢサーバ４は、宛先解決部４０と、更新部４１と、レプリケーション部４２と、レプリケーション要求部４３と、マスタ切替部４４と、共用ＤＢ４５とを備える。
【００２７】
宛先解決部４０および更新部４１は、マスタＤＢサーバ１１の宛先解決部１１０と、更新部１１１と同様である。なお、１台のサーバで複数ファミリーの共用第２スレーブとして使用するため、リソースの枯渇を回避する必要があることから、宛先解決部４０および更新部４１は、通常時においては動作しない。共用ＤＢサーバ４は、マスタＤＢサーバ１１および第１スレーブＤＢサーバ１２が故障し、自身がマスタＤＢサーバとして動作する場合に、宛先解決部４０および更新部４１を起動する。
【００２８】
レプリケーション部１２２は、マスタＤＢサーバ１１のレプリケーション部１１２から送信される更新データを受信し、共用ＤＢ４５のファミリー＃１用データをマスタＤＢ１１３と同期させるように、共用ＤＢ４５のファミリー＃１用データを更新する。
【００２９】
レプリケーション要求部４３は、所定の時間、マスタＤＢサーバからのレプリケーションがない場合に、当該マスタＤＢサーバにレプリケーション要求を送信する。マスタ切替部４４は、あるファミリーにおいて、マスタＤＢサーバおよび第１スレーブＤＢサーバの２重故障が発生した場合、自身が当該ファミリーのマスタＤＢサーバとして動作するよう切り替える。
【００３０】
共用ＤＢ４５は、全てのファミリーが共用する第２スレーブＤＢであって、図示する共用ＤＢ４５には、ファミリー＃１のマスタＤＢ１１３のレプリカ（複製データ）であるファミリー＃１用データと、ファミリー＃２のマスタＤＢのレプリカであるファミリー＃２用データと、ファミリー＃３のマスタＤＢのレプリカであるファミリー＃３用データとが格納される。
【００３１】
上記説明した、マスタＤＢサーバ１１、２１、３１、第１スレーブＤＢサーバ１２、２２、３２および共用ＤＢサーバ４は、例えば、ＣＰＵと、メモリと、ハードディスク等の外部記憶装置と、入力装置と、出力装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、ＣＰＵがメモリ上にロードされた所定のプログラムを実行することにより、各部の各機能が実現される。例えば、マスタＤＢサーバ、第１スレーブＤＢサーバおよび共用ＤＢサーバの各機能は、マスタＤＢサーバ用のプログラムの場合はマスタＤＢサーバのＣＰＵが、第１スレーブＤＢサーバ用のプログラムの場合は第１スレーブＤＢサーバのＣＰＵが、そして、共用ＤＢサーバ用のプログラムの場合は共用ＤＢサーバのＣＰＵがそれぞれ実行することにより実現される。
【００３２】
また、マスタＤＢサーバ用のプログラム、第１スレーブＤＢサーバ用のプログラムおよび共用ＤＢサーバ用のプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ−ＲＯＭなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【００３３】
次に、本実施形態の動作について説明する。
【００３４】
図５は、本実施形態の通常時の動作を説明するための図である。図示する例では、ファミリー＃１において、データ更新処理が発生した場合を例に説明する。
【００３５】
マスタＤＢサーバ１１の更新部１１１は、ＳＩＰサーバ５からのデータ更新要求を受信すると、マスタＤＢ１１３を更新する（Ｓ１１）。そして、レプリケーション部１１２は、第１スレーブＤＢサーバ１２へのレプリケーションを行うとともに（Ｓ１２）、共用ＤＢサーバ４へのレプリケーションを行う（Ｓ１３）。すなわち、マスタＤＢ１１３への更新内容を第１スレーブＤＢ１２３および共用ＤＢ４５（ファミリー＃１用の第２スレーブＤＢ）に反映させるために、更新内容を含むレプリケーション指示を送信する。
【００３６】
これにより、第１スレーブＤＢサーバ１２のレプリケーション部１２２は、マスタＤＢサーバ１１から送信された更新内容に基づいて、第１スレーブＤＢ１２３を更新する。また、共用ＤＢサーバ４のレプリケーション部４２は、マスタＤＢサーバ１１から送信された更新内容に基づいて、共用ＤＢ４５を更新する。このような処理により、マスタＤＢ１１３と、第１スレーブＤＢ１２３と、第２スレーブＤＢである共用ＤＢ４５とが同期される。
【００３７】
また、共用ＤＢサーバ４のレプリケーション要求部４３は、所定の時間、マスタＤＢサーバ１１からのレプリケーション指示を受信しない場合、自律的にマスタＤＢサーバ１１にレプリケーション要求を送信する（Ｓ１４）。
【００３８】
これにより、マスタＤＢサーバ１１のレプリケーション部１１２は、未送信のレプリケーションがある場合は、レプリケーション指示を共用ＤＢサーバ４に送信する。一方、マスタＤＢサーバ１１からの応答がない場合、共用ＤＢサーバ４のレプリケーション要求部４３は、マスタＤＢサーバ１１が故障したこと（障害発生）を検知する。故障検知後の処理については、後述する。
【００３９】
図６は、本実施形態の片系故障時（第１スレーブＤＢサーバ故障時）の動作を説明するための図である。図示する例では、ファミリー＃１の第１スレーブＤＢサーバ１２が故障した場合を例に説明する。
【００４０】
第１スレーブＤＢサーバ１２が故障すると（Ｓ２１）、マスタＤＢサーバ１１は、当該故障を検知し、その後は、マスタＤＢ１１３および共用ＤＢ４５（第２スレーブＤＢ）の２重化の冗長構成として動作する。
【００４１】
すなわち、その後、マスタＤＢサーバ１１の更新部１１１は、ＳＩＰサーバ５からのデータ更新要求を受信すると、マスタＤＢ１１３を更新する（Ｓ２２）。そして、レプリケーション部１１２は、共用ＤＢサーバ４へのレプリケーションを行う（Ｓ２３）。すなわち、マスタＤＢ１１３への更新内容を共用ＤＢ４５（ファミリー＃１用の第２スレーブＤＢ）に反映させるために、更新内容を含むレプリケーション指示を送信する。
【００４２】
これにより、共用ＤＢサーバ４のレプリケーション部４２は、マスタＤＢサーバ１１から送信された更新内容に基づいて、共用ＤＢ４５を更新する。このような処理により、マスタＤＢ１１３と、第２スレーブＤＢである共用ＤＢ４５とが同期される。
【００４３】
図７は、本実施形態の２重故障時（両系故障時）の動作を説明するための図である。図示する例では、ファミリー＃１のマスタＤＢサーバ１１および第１スレーブＤＢサーバ１２が故障した場合を例に説明する。
【００４４】
マスタＤＢサーバ１１および第１スレーブＤＢサーバ１２がともに故障する（Ｓ３１、Ｓ３２）。これにより、共用ＤＢサーバ４には、所定の時間、マスタＤＢサーバ１１からのレプリケーション指示が送信されない状態となるため、共用ＤＢサーバ４のレプリケーション要求部４３は、マスタＤＢサーバ１１にレプリケーション要求を送信する（Ｓ３３）。
【００４５】
この場合、マスタＤＢサーバ１１および第１スレーブＤＢサーバ１２が故障しているため、Ｓ３３のレプリケーション要求に対する応答が無いため、レプリケーション要求部４３は、マスタＤＢサーバ１１および第１スレーブＤＢサーバ１２の両系が故障中であることを検知する。
【００４６】
故障を検知した場合、マスタ切替部４４は、当該共用ＤＢサーバ４をファミリー＃１のマスタＤＢサーバ１１として動作するように切り替える（Ｓ３４）。すなわち、マスタＤＢサーバへ格上げするために、宛先解決部４０および更新部４１を起動する。
【００４７】
また、マスタ切替部４４は、他のファミリー＃２、＃３のマスタＤＢサーバ２１、３１に、当該共用ＤＢサーバ４がファミリー＃１のマスタＤＢサーバとして動作することを通知し、他のファミリー＃２、＃３から共用ＤＢサーバ４に対するアクセスを禁止する（Ｓ３５）。他のファミリー＃２、＃３のマスタＤＢサーバ２１、３１は、共用ＤＢサーバ４からの当該通知を受信すると、共用ＤＢサーバ４（第２スレーブＤＢ）へのレプリケーションを停止する。これにより、共用ＤＢサーバ４が、マスタＤＢサーバとして動作することによるリソースの枯渇を回避することができる。
【００４８】
また、マスタ切替部４４は、対応するＳＩＰサーバ５に当該共用ＤＢサーバ４がファミリー＃１のマスタＤＢサーバとして動作することを通知する。これにより、ＳＩＰサーバ５は、宛先解決要求およびデータ更新要求を共用ＤＢサーバ４に送信する。宛先解決部４０は、ＳＩＰサーバ５からの宛先解決要求を受信し、共用ＤＢ４５に格納されたファミリー＃１用のデータを参照し、当該宛先解決要求で指定された電話番号に関する情報を読み出し、ＳＩＰサーバ５に送信する。また、更新部４１は、ＳＩＰサーバ５からのデータ更新要求を受信すると、共用ＤＢ４５のファミリー＃１用のデータを更新する（Ｓ３６）。
【００４９】
なお、２重故障の復旧後は、共用ＤＢサーバ４のマスタ切替部４４は、自身をマスタＤＢサーバから共用ＤＢサーバに切り替え、宛先解決部４０および更新部４１を停止する。また、マスタ切替部４４は、アクセスを禁止していた他のファミリー＃２、＃３に、自身が共用ＤＢサーバ４としての動作を再開したこと（アクセスの再開）を通知する。これにより、他のファミリー＃２、＃３のマスタＤＢサーバ２１、３１は、アクセスが禁止されていた期間のレプリケーションを共用ＤＢサーバ４に対して行い、マスタＤＢと共用ＤＢ４５（第２スレーブＤＢ）とを同期させる。
【００５０】
以上説明した本実施形態では、１台のＤＢサーバ４を複数ファミリーの共用第２スレーブサーバとして利用させることにより、２重化（マスタ／スレーブ）の冗長構成をとっているＤＢサーバシステムにおいて、冗長構成の効率化を実現することができる。すなわち、冗長化システムの構築費用を削減することができるとともに、マスタ/スレーブの２重故障が発生した場合であっても、処理を停止させることなく運用することができる。
【００５１】
また、本実施形態では、常時、各ファミリーのマスタＤＢサーバは、共用ＤＢサーバ４へのレプリケーションを行い、マスタＤＢと共用ＤＢとを同期させている。このため、本実施形態では、故障発生後に、マスタＤＢのデータを共用ＤＢにレプリケーションする処理が不要であり、迅速に、共用ＤＢサーバ４をマスタＤＢサーバに切り替えることができる。すなわち、常時行われているマスタＤＢサーバからのレプリケーションによりバックアップを取得しているため、故障時の組み込み設定が不要である。
【００５２】
また、本実施形態では、マスタ／スレーブの２重故障発生時においても、共用ＤＢサーバ４をマスタＤＢサーバに格上げすることにより、アプリケーション処理を中断させることなく安定した運用を継続することができる。
【００５３】
なお、本発明は上記実施形態に限定されるものではなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００５４】
１１、２１、３１：マスタＤＢサーバ
１２、２２、３２：第１スレーブＤＢサーバ
１１０、１２０  ：宛先解決部
１１１、１２１：更新部
１１２、１２２：レプリケーション部
１１３：マスタＤＢ
１２３：第１スレーブＤＢ      
４    ：共用ＤＢサーバ
４０  ：宛先解決部
４１  ：更新部
４２  ：レプリケーション部
４３  ：レプリケーション要求部
４４  ：マスタ切替部
４５  ：共用ＤＢ
【図１】
2016040675.tif 000003
【図２】
2016040675.tif 000004
【図３】
2016040675.tif 000005
【図４】
2016040675.tif 000006
【図５】
2016040675.tif 000007
【図６】
2016040675.tif 000008
【図７】
2016040675.tif 000009
【図８】
2016040675.tif 000010
【図９】
2016040675.tif 000011