(57)【要約】【課題】各サーバの稼動状況を複数のリソースの使用状況などに基づいて総合的に判断することで、効率の良い負荷分散を実現する。【解決手段】負荷分散を行う負荷分散装置に対して自身の負荷状況を通知するサーバであって、複数のリソースの各々について、リソース値を正規化し、正規化リソース値を生成する生成手段と、生成した複数種類の正規化リソース値の加重平均を導出する導出手段と、導出された前記加重平均を自身の稼動状況値として前記負荷分散装置に通知する通知手段とを具備する。【選択図】図２
2011186546.tif 000002
【特許請求の範囲】
【請求項１】
負荷分散を行う負荷分散装置に対して自身の負荷状況を通知するサーバであって、
複数のリソースの各々について、リソース値を正規化し、正規化リソース値を生成する生成手段と、
生成した複数種類の正規化リソース値の加重平均を導出する導出手段と、
導出された前記加重平均を自身の稼動状況値として前記負荷分散装置に通知する通知手段と
を具備することを特徴とする負荷状況通知サーバ。
【請求項２】
前記生成手段は、前記複数のリソースの各々について、過去に求めた複数の正規化リソース値を利用して正規化リソース値の加重平均を求め、加重正規化リソース値を生成し、
前記導出手段は、生成した複数種類の加重正規化リソース値の加重平均を導出することを特徴とする請求項１に記載の負荷状況通知サーバ。
【請求項３】
前記生成手段は、前記正規化リソース値の加重平均を求める際、最新の正規化リソース値に対する重みが最大となり、過去の正規化リソース値に対する重みほど小さくなるように、各重みの値が設定されていることを特徴とする請求項２に記載の負荷状況通知サーバ。
【請求項４】
前記複数のリソースには、ハードウエア・リソースが２つ以上含まれていることを特徴とする請求項１〜３のいずれか１の請求項に記載の負荷状況通知サーバ。
【請求項５】
請求項１〜４のいずれか１の請求項に記載の負荷状況通知サーバと、
前記各負荷状況通知サーバからの通知に基づき、負荷分散を実現する負荷分散装置とを備えた負荷分散システムであって、
前記負荷分散装置は、
各サーバから通知される前記稼動状況値に基づいて、前記負荷分散の重み付けを変更することを特徴とする負荷分散システム。
【請求項６】
負荷分散を行う負荷分散装置に対して自身の負荷状況を通知するサーバコンピュータを制御するプログラムであって、
前記サーバコンピュータを、
複数のリソースの各々について、リソース値を正規化し、正規化リソース値を生成する生成手段、
生成した複数種類の正規化リソース値の加重平均を導出する導出手段、
導出された前記加重平均を自身の稼動状況値として前記負荷分散装置に通知する通知手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントからのリクエストを複数のサーバへ振り分ける負荷分散システムに関する。
【背景技術】
【０００２】
負荷分散を実現するロードバランサを利用することで、単一のサーバに負荷が集中することを防ぐことが昨今では一般的となっている（例えば特許文献１参照）。
特許文献１に記載の負荷分散方法は、サーバの稼働状況に応じて、負荷分散方法の1つである重み付きラウンドロビンの重みを動的に変更するものである。ここで、ラウンドロビンとは、各サーバにかかる負荷が均等になるように、クライアントからの通信リクエストを振り分ける方式をいい、重み付きラウンドロビンとは、各サーバに設定した重みによって通信リクエストの分散比率を指定し、指定された分散比率に従って各サーバに通信リクエストを振り分ける方式をいう。
【０００３】
この重み付きラウンドロビンを利用した方法では、各サーバのＣＰＵ負荷を定期的に測定し、これを負荷分散装置に通知する。負荷分散装置は、各サーバから通知されたＣＰＵ負荷の状況に基づき、重み付きラウンドロビンの重み（すなわち、各サーバに設定する重み）を定期的に変更することで、各サーバのＣＰＵ負荷が均一となるように制御していた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１４０２１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された方法では、ＣＰＵ負荷など特定リソースのみでサーバの稼働状況を決定しており、他のリソース（例えばメモリなど）はサーバの稼働状況の決定に反映されない。そのため動的な重み付けの結果がサーバの特定リソースに偏ったものとなってしまう問題がある。
【０００６】
例えば、サーバの稼働状況がＣＰＵ負荷率で決定される場合において、アプリケーションの不具合等の理由により、ＣＰＵ負荷率は一定のままでサーバのメモリの占有率が上がり続けていくような状況が発生しても、負荷分散装置の分散方式の重み付けは変わらない。従って、当該サーバへの負荷の割り当ては不具合等が生じる前と変わらず、最終的には当該サーバの動作は継続不能な状況に陥ってしまう。
【０００７】
本発明は以上説明した事情を鑑みてなされたものであり、各サーバの稼動状況を複数のリソースの使用状況などに基づいて総合的に判断することで、効率の良い負荷分散を実現することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る負荷状況通知サーバは、負荷分散を行う負荷分散装置に対して自身の負荷状況を通知するサーバであって、複数のリソースの各々について、リソース値を正規化し、正規化リソース値を生成する生成手段と、生成した複数種類の正規化リソース値の加重平均を導出する導出手段と、導出された前記加重平均を自身の稼動状況値として前記負荷分散装置に通知する通知手段とを具備することを特徴とする。
【０００９】
かかる構成によれば、生成した複数種類の正規化リソース値の加重平均を導出し、導出した加重平均を当該サーバの稼動状況値として負荷分散装置に通知するため、ＣＰＵ負荷など特定リソースのみでサーバの稼働状況を決定していた従来例に比べて、効率の良い負荷分散を実現することが可能となる。
【発明の効果】
【００１０】
以上説明したように、本発明によれば、各サーバの稼動状況を複数のリソースの使用状況などに基づいて総合的に判断することで、効率の良い負荷分散を実現することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る負荷分散システムの概略構成を示す図である。
【図２】同実施形態に係る負荷分散装置及びサーバの機能構成を示すブロック図である。
【図３】同実施形態に係る正規化テーブルを例示した図である。
【図４】同実施形態に係るリクエスト数とリソース値との関係を例示した図である。
【図５】同実施形態に係る各サーバが定期的に実行する処理フローを示す図である。
【図６】同実施形態に係るリソース値正規化処理のフローを示す図である。
【図７】同実施形態に係る稼動状況値処理のフローを示す図である。
【図８】同実施形態に係る稼動状況値通知処理のフローを示す図である。
【図９】変形例に係る負荷分散装置及びサーバの機能構成を示すブロック図である。
【図１０】同変形例に係るリソース値正規化処理のフローを示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。
【００１３】
Ａ．本実施形態
（１）実施形態の構成
図１は、本実施形態に係る負荷分散システム４００の構成例を示す図である。
負荷分散システム４００は、サービスを提供する複数のサーバ３００−Ｎ（Ｎ≧２）と、サービスの利用を要求（リクエスト）する複数のクライアント１００−Ｍ（Ｍ≧２）と、クライアント１００−Ｍからのリクエストを適切なサーバ３００−Ｎへ割り振り（負荷分散）等を行う負荷分散装置２００とを備えて構成される。なお、以下の説明では、サーバ３００−Ｎ、クライアント１００−Ｍのそれぞれについて、特に区別する必要がない場合にはサーバ３００、クライアント１００と呼ぶ。
【００１４】
図２は、負荷分散装置２００及びサーバ３００の機能構成を示すブロック図である。
負荷分散装置２００は、分散方式の重み付けが動的に変更可能な装置であり、通知受信処理インタフェース２１０を備えている。負荷分散装置２００は、通知受信処理インタフェース２１０を介して各サーバ３００から通知されるサーバの稼動状況値（詳細は後述）を受信するとともに、受信した稼動状況値に基づいて分散方式の重み付けを動的に変更する。
【００１５】
サーバ（負荷状況通知サーバ）３００は、クライアント１００からのリクエストに応じてサービスを提供する。サーバ１００は、実装されたＣＰＵがＲＯＭ、ＲＡＭなどに格納された各種プログラムを実行することにより、リソース値取得部３０８、制御部３０９を実現する。
【００１６】
リソース値取得部３０８は、実装されている様々なリソース（ハードウェエア、ソフトウェアリソース）についてリソース値を取得する。本実施形態では、例えばＣＰＵの負荷率、メモリの占有率、ディスクのアクセス速度などのリソース１〜リソースＫ（Ｋ≧２）からリソース値を取得する場合を想定する。
【００１７】
制御部３０９は、サーバ全体を中枢的に制御する機能を有しており、リソース値正規化処理部３１０、稼動状況値処理部３１１、稼動状況値通知処理部３１２を備えている。
【００１８】
リソース値正規化処理部（生成手段）３１０は、第１データベース３１８に格納されているリソース１〜Kに対応する各正規化テーブル１〜Ｋを利用して、各リソース１〜Ｋのリソース値を正規化した値（正規化リソース値）Ｘ１〜ＸＫを求める。
【００１９】
図３は、正規化テーブルを例示した図であり、図４は正規化テーブルを利用して正規化リソース値を求める方法を説明するための図である。
ここで、リソース値をｖとした場合、リクエスト数が０からＲ１までの間は、０≦ｖ≦Ｖ１となり、この場合の正規化リソース値は「１」となる（図３及び図４参照）。リクエスト数がＲ１からＲ２までの間は、Ｖ１＜ｖ≦Ｖ２となり、正規化リソース値は「２」となる一方、リクエスト数がＲ２からＲ３までの間は、Ｖ２＜ｖ≦Ｖ３となり、正規化リソース値は「３」となる（図３及び図４参照）。さらに、リクエスト数がＲ３からＲ４までの間は、Ｖ３＜ｖ≦Ｖ４となり、正規化リソース値は「４」となる一方、リクエスト数がＲ４からＲ５（図示略）までの間は、Ｖ４＜ｖ≦Ｖ５となり、この場合の正規化リソース値は「５」となる（図３及び図４参照）。なお、図４においては、リソース値Ｖ５をリソース値の論理的な上限値Ｖｔｈとしたが、いずれの値に設定するかは任意である。
【００２０】
リソース値正規化処理部３１０は、求めた正規化リソース値Ｘ１〜ＸＫを第２データベース３１３に格納するとともに、稼動状況処理部３１１に処理が終了した旨を通知する。
【００２１】
稼動状況処理部（導出手段）３１１は、第１データベース３１８に格納されているリソース１〜Ｋに対応する正規化リソース値Ｘ１〜ＸＫと重みＷ１〜ＷＫを下記式（１）に入力することで、各正規化リソース値の加重平均を算出する。稼動状況処理部３１１は、算出した各正規化リソース値の加重平均を当該サーバ３００の稼動状況値Ｃとして第２データベース３１３に格納するとともに、稼動状況値通知処理部３１２に処理が終了した旨を通知する。
【数１】
2011186546.tif 000003
Ｃ：稼動状況値
ＸＰ：リソースＰの正規化リソース値（Ｐ＝１、２、・・・Ｋ）
ＷＰ：リソースＰの重み（Ｐ＝１、２、・・・Ｋ）
【００２２】
稼動状況値通知処理部（通知手段）３１２は、第２データベース３１３に格納されている稼動状況値Ｃを負荷分散装置２００に通知する。以下、図５〜図８等を参照しながら負荷分散システム４００の動作について説明する。
【００２３】
（２）実施形態の動作
図５は、各サーバ３００が定期的（例えば１秒毎）に実行する処理フローを示す図である。
各サーバ３００は、リソース値正規化処理（ステップＳ１００２；図６参照）→稼動状況値処理（ステップＳ１００３；図７参照）→稼動状況値通知処理（ステップＳ１００４；図８参照）という一連の処理を実行した後、何らかの異常が生じたか否かを判断する（ステップＳ１００５）。異常が生じていないと判断した場合には（ステップＳ１００５；ＮＯ）、ステップＳ１００２に戻り、上述した一連の処理を繰り返し実行する一方、異常が生じていると判断した場合には（ステップＳ１００５；ＹＥＳ）、処理を終了する。
【００２４】
２−１．リソース値正規化処理
リソース値正規化処理部３１０は、制御部３０９から正規化リソース値の算出依頼を受け取ると、リソース値正規化処理を実行する。リソース値正規化処理部３１０は、まず、リソース値取得処理部３０８に対してリソース値の取得を指示する（ステップＳ１００８→ステップＳ１００９）。
リソース値取得処理部３０８は、リソース値正規化処理部３１０からの指示に従ってリソース１〜リソースＫのリソース値を取得し、取得したリソース１〜リソースＫのリソース値をリソース値正規化処理部３１０へ返す。
【００２５】
リソース値正規化処理部３１０は、リソースＰ（１≦Ｐ≦Ｋ）のリソース値を受け取ると（ステップＳ１０１０）、リソースＰに対応する正規化テーブルＰを取得し、この正規化テーブルＰを利用することでリソースＰの正規化リソース値ＸPを求める（ステップＳ１０１１→ステップＳ１０１２）。そして、求めた正規化リソースＸPを第２データベース３１３に格納する（ステップＳ１０１３→ステップＳ１０１４）。
【００２６】
リソース値正規化処理部３１０は、以上説明したステップＳ１００８〜ステップＳ１０１４までの処理を、リソースの数（Ｋ個）だけ繰り返し実行する。
【００２７】
２−２．稼動状況値処理
稼動状況値処理部３１１は、制御部３０９からサーバの稼動状況の数値化の依頼を受け取ると、稼動状況値処理を実行する。稼動状況値処理部３１１は、第１データベース３１８に格納されているリソース１〜Ｋに対応する正規化リソース値ＸＰを取得し（ステップＳ１０２０→ステップＳ１０２１）、次いで重みＷＰを取得する（ステップＳ１０２２）。稼動状況処理部３１１は、このステップＳ１０２０〜ステップＳ１０２３までの処理を、リソースの数（Ｋ個）だけ繰り返し実行する。
【００２８】
稼動状況値処理部３１１は、このようにして取得した正規化リソース値Ｘ１〜ＸＫと重みＷ１〜ＷＫを上述した式（１）に入力することで、正規化リソース値の加重平均（すなわち、稼動状況値Ｃ）を算出する（ステップＳ１０２４）。稼動状況処理部３１１は、算出した稼動状況値Ｃを第２データベース３１３に格納する（ステップＳ１０２５）。
【００２９】
２−３．稼動状況値通知処理
稼動状況値通知処理部３１２は、制御部３０９からサーバの稼動状況の通知依頼を受け取ると、稼動状況値通知処理を実行する。稼動状況値通知処理部３１２は、第２データベース３１３に格納されている当該サーバ３００の稼動状況値Ｃを取得すると（ステップＳ１０２８）、これを負荷分散装置２００へ通知する（ステップステップＳ１０２９）。
【００３０】
負荷分散装置２００は、通知受信処理インタフェース２１０を介して各サーバ３００から稼動状況値Ｃの通知を受け取ると、受け取った稼動状況値Ｃに基づき分散方式の重み付けを同的に変更する。このように、複数のリソースの使用状況に基づいて算出したサーバの稼動状況値Ｃを、負荷分散装置２００の分散方式の重み付けに反映させることで、いずれかのサーバ３００のリソースが大きく変化（例えばメモリの占有率が上がり続ける等）したとしても、このリソースの変化に負荷分散装置２００の分散方式の重み付けを追従させることが可能となる。
【００３１】
Ｂ．変形例
（１）変形例の構成
図９は、変形例に係る負荷分散装置２００及びサーバ３００’の機能構成を示すブロック図である。なお、図９に示すサーバ３００’は、変形例に係るサーバ３００’の第１データベース３１８’、第２データベース３１３’の登録内容を除けば、図２に示すサーバ３００と同様であるため、対応する部分には同一符号を付し、詳細な説明は割愛する。
【００３２】
第１データベース３１８’には、リソース１〜Kに対応する各正規化テーブル１〜Ｋが格納されるほか、各リソース１〜Ｋに対応する重み群Ｗ１ａ〜ＷＫａが格納されている。
一方、第２データベース３１３’には、リソース１〜Ｋに対応する正規化リソース値群Ｘ１ａ〜ＸＫａが格納されている。各正規化リソース値群は、最新の正規化リソース値に加え、Ｊ回前から１回前（直近）までに取得した合計（Ｊ＋１）個分の正規化リソース値によって構成される。また、各重み群は、Ｊ回前から最新までの正規化リソース値に対する（Ｊ＋１）個分の重みと、リソースに対する重みの合計（Ｊ＋２）個分の重みで構成されている。
【００３３】
ここで、Ｊ回前から最新までの正規化リソース値に対する（Ｊ＋１）個分の重みに関して、最新の正規化リソース値に対する重みが最大、Ｊ回前に取得した正規化リソース値に対する重みが最小となるように、各重みの値を階段状に設定する。このように設定することで、現時点に近い正規化リソース値ほど、これから求める正規化リソース値に対する影響が大きくなる。
なお、過去何回分の正規化リソース値または重みを利用するかは、任意に設定可能である。また、Ｊ回前から最新までの正規化リソース値に対する（Ｊ＋１）個分の重みに関して、各重みの値をどのように設定するかは、任意に設定変更可能である。
【００３４】
（２）変形例の動作
図１０は、変形例に係るリソース値正規化処理を示すフローチャートであり、前掲図６に対応している。各サーバ３００が定期的（例えば１秒毎）に実行する処理（図５参照）や、稼動状況値処理（図７参照）、稼動状況値通知処理（図８参照）は、本実施形態とほぼ同様に説明することができるため、図示および説明を省略する。
【００３５】
２−１．リソース値正規化処理
リソース値正規化処理部３１０は、制御部３０９から正規化リソース値の算出依頼を受け取ると、リソース値正規化処理を実行する。リソース値正規化処理部３１０は、まず、リソース値取得処理部３０８に対してリソース値の取得を指示する（ステップＳ１１０８→ステップＳ１１０９）。
リソース値取得処理部３０８は、リソース値正規化処理部３１０からの指示に従ってリソース１〜リソースＫのリソース値を取得し、取得したリソース１〜リソースＫのリソース値をリソース値正規化処理部３１０へ返す。
【００３６】
リソース値正規化処理部３１０は、リソースＰ（１≦Ｐ≦Ｋ）のリソース値を受け取ると（ステップＳ１１１０）、リソースＰに対応する正規化テーブルＰを取得し、この正規化テーブルＰを利用することでリソースＰの正規化リソース値ＸPを求める（ステップＳ１１１１）。さらに、リソース値正規化処理部３１０は、第２データベース３１３’からリソースＰの過去（Ｊ＋１）個分の正規化リソース値を取得する（ステップＳ１１２）。さらに、リソース値正規化処理部３１０は、第１データベース３１８’からリソースＰに対する合計（Ｊ＋１）個分の重みを取得し、これらリソースＰの（Ｊ＋１）個分の正規化リソース値と（Ｊ＋１）個分の重みを下記式（２）に代入することで、正規化リソース値の加重平均を算出する（ステップＳ１１１４）。
【数２】
2011186546.tif 000004
リソースＰの重み群：ｗＰ０，ｗＰ１，ｗＰ２・・・，ｗＰＴ・・・，ｗＰＪ
リソースＰの正規化リソース群：ｘＰ０，ｘＰ１，ｘＰ２・・・，ｘＰＴ・・・，ｘＰＪ
ｘＰＪ：Ｔ回前に取得したリソースＰの正規化リソース値（Ｔ＝０，１，・・・，Ｊ）
（Ｔ＝０のとき、最新の正規化リソース値をあらわす）
ｗＰＪ：Ｔ回前に取得したリソースＰの重み（Ｔ＝０，１，・・・，Ｊ）
（Ｔ＝０のとき、最新のリソース値に対する重みをあらわす）
【００３７】
そして、リソース値正規化処理部３１０は、これを最新の正規化リソース値ＸPとして第２データベース３１３’に格納する（ステップＳ１１１５）。
【００３８】
リソース値正規化処理部３１０は、以上説明したステップＳ１１０８〜ステップＳ１１１５までの処理を、リソースの数（Ｋ個）だけ繰り返し実行する。 
【００３９】
稼動状況値処理部３１１は、このようにしてリソース値正規化処理部３１０が取得した正規化リソース値（詳細には各リソースにおける加重平均後の正規化リソース値）Ｘ１〜ＸＫと重みＷ１〜ＷＫを、上述した式（１）に入力することで、正規化リソース値の加重平均（すなわち、稼動状況値Ｃ）を算出し、算出した稼動状況値Ｃを第２データベース３１３’に格納する。なお、この後の動作は本実施形態と同様に説明することができるため、割愛する。
【００４０】
かかる構成によれば、稼動状況値を求める際に、本実施形態の如く各リソースの最新の正規化リソース値の加重平均のみを反映させるだけでなく、各リソースの過去の正規化リソース値を用いた加重平均を算出し、これらの加重平均を反映させているため、例えばあるリソース（例えばＣＰＵ使用率）のリソース値の突発的な変化によってサーバの稼動状況が急変してしまうことを防止することができる。
【００４１】
なお、本実施形態や変形例において示した各処理のステップは処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。さらに本明細書等において、手段とは、単に物理的手段を意味するものではなく、その手段が有する機能をソフトウェアによって実現する場合も含む。さらにまた、１つの手段が有する機能が２つ以上の物理的手段により実現されても、２つ以上の手段の機能が１つの物理的手段により実現されてもよい。また、本発明に係るソフトウェアの開発支援プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。
【００４２】
また、本実施形態や変形例で示した態様の一部又は全部は、付記のように記載することもできるが、これに限定されるものではない。
【００４３】
（付記１）負荷分散を行う負荷分散装置に対して自身の負荷状況を通知するサーバであって、
複数のリソースの各々について、リソース値を正規化し、正規化リソース値を生成する生成手段と、生成した複数種類の正規化リソース値の加重平均を導出する導出手段と、導出された前記加重平均を自身の稼動状況値として前記負荷分散装置に通知する通知手段とを具備することを特徴とする負荷状況通知サーバ。
【００４４】
（付記２）前記生成手段は、前記複数のリソースの各々について、過去に求めた複数の正規化リソース値を利用して正規化リソース値の加重平均を求め、加重正規化リソース値を生成し、
前記導出手段は、生成した複数種類の加重正規化リソース値の加重平均を導出することを特徴とする付記１に記載の負荷状況通知サーバ。
【００４５】
（付記３）前記生成手段は、前記正規化リソース値の加重平均を求める際、最新の正規化リソース値に対する重みが最大となり、過去の正規化リソース値に対する重みほど小さくなるように、各重みの値が設定されていることを特徴とする付記２に記載の負荷状況通知サーバ。
【００４６】
（付記４）前記複数のリソースには、ハードウエア・リソースが２つ以上含まれていることを特徴とする付記１〜３のいずれか１の付記に記載の負荷状況通知サーバ。
【００４７】
（付記５）付記１〜４のいずれか１の付記に記載の負荷状況通知サーバと、前記各負荷状況通知サーバからの通知に基づき、負荷分散を実現する負荷分散装置とを備えた負荷分散システムであって、前記負荷分散装置は、各サーバから通知される前記稼動状況値に基づいて、前記負荷分散の重み付けを変更することを特徴とする負荷分散システム。
【００４８】
（付記６）負荷分散を行う負荷分散装置に対して自身の負荷状況を通知するサーバコンピュータを制御するプログラムであって、前記サーバコンピュータを、複数のリソースの各々について、リソース値を正規化し、正規化リソース値を生成する生成手段、生成した複数種類の正規化リソース値の加重平均を導出する導出手段、導出された前記加重平均を自身の稼動状況値として前記負荷分散装置に通知する通知手段として機能させることを特徴とするプログラム。
【符号の説明】
【００４９】
４００…負荷分散システム、１００…クライアント、２００…負荷分散装置、２１０…通知受信処理インタフェース、３００、３００’…サーバ、３０８…リソース値取得処理部、３０９…制御部、３１０…リソース値正規化処理部、３１１…稼動状況値処理部、３１２…稼動状況値通知処理部、３１３、３１３’…第２データベース、３１８、３１８’…第１データベース。
【図１】
2011186546.tif 000005
【図２】
2011186546.tif 000006
【図３】
2011186546.tif 000007
【図４】
2011186546.tif 000008
【図５】
2011186546.tif 000009
【図６】
2011186546.tif 000010
【図７】
2011186546.tif 000011
【図８】
2011186546.tif 000012
【図９】
2011186546.tif 000013
【図１０】
2011186546.tif 000014