(57)【要約】【課題】コスト負担を抑えつつ、仮想ネットワークと上手く連動させた負荷分散を実現することを課題とする。【解決手段】データセンタ内にある複数のサーバ０〜４のうち、負荷分散装置として機能するサーバ０は、リクエストパケットの転送先ＩＰアドレスと一致するグローバルアドレスに対応付けられたＶＬＡＮＩＤが同一である、プライベートアドレスおよび他のサーバの通信機器に割り当てられているＭＡＣアドレスの対を全て取得し、取得したプライベートアドレスおよびＭＡＣアドレスの対の中から、リクエストパケットの振り分け先を分散アルゴリズムにより決定して、振り分け先に決定されたプライベートアドレスおよびＭＡＣアドレスの対およびＶＬＡＮＩＤを、リクエストパケットを転送制御させるためのフロー情報として、オープンフロースイッチ１１０のフローテーブルに設定する。【選択図】図１
2013105308.tif 000002
【特許請求の範囲】
【請求項１】
同一のローカルネットワーク内に収容され、複数のテナントに貸し出される複数の情報処理装置と、外部のネットワークを経由するクライアントからの前記情報処理装置に対するアクセスを制御する負荷分散装置とを有する負荷分散システムであって、
前記負荷分散装置は、
前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットに挿入されたアドレス情報を変換するためのフローテーブルに従って、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットを転送する転送部と、
前記情報処理装置により前記外部のネットワークにおいて利用されるグローバルアドレスと、前記情報処理装置により前記ローカルネットワークにおいて利用されるプライベートアドレスおよび前記情報処理装置のＭＡＣアドレスの対と、前記ローカルネットワーク内に前記テナント単位で構築された仮想ネットワークのうち前記情報処理装置が属する仮想ネットワークを識別する仮想ネットワーク識別子とを対応付けて記憶するテナント情報記憶部と、
リクエストパケットの転送手順の問合せを前記転送部から受信した場合に、前記リクエストパケットの宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子が同一である、前記プライベートアドレスおよび前記ＭＡＣアドレスの対を前記テナント情報記憶部から全て取得し、取得した前記プライベートアドレスおよび前記ＭＡＣアドレスの全ての対の中から、前記リクエストパケットの振り分け先を分散アルゴリズムにより決定し、前記振り分け先に決定された前記プライベートアドレスおよび前記ＭＡＣアドレスの対と、前記宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子とを、前記リクエストパケットを転送制御させるためのフロー情報として前記フローテーブルに設定するリクエスト転送設定部と
を有することを特徴とする負荷分散システム。
【請求項２】
前記プライベートアドレスに対応付けて、前記負荷分散装置のＭＡＣアドレスおよび前記グローバルアドレスを記憶するリプライ情報記憶部と、
前記リクエストパケットに対するリプライパケットの転送手順の問合せを前記転送部から受信した場合に、前記リプライパケットの送信元ＩＰアドレスと同一の前記プライベートアドレスに対応付けられた、前記グローバルアドレスおよび前記負荷分散装置のＭＡＣアドレスを前記リプライ情報記憶部から取得し、取得した前記グローバルアドレスおよび前記負荷分散装置のＭＡＣアドレスを、前記リプライパケットを転送制御させるためのフロー情報として前記フローテーブルに設定するリプライ転送設定部と
をさらに有することを特徴とする請求項１に記載の負荷分散システム。
【請求項３】
複数のテナントに貸し出される複数の情報処理装置と同一のローカルネットワーク内に収容され、外部のネットワークを経由するクライアントからの前記情報処理装置に対するアクセスを制御する負荷分散装置であって、
前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットに挿入されたアドレス情報を変換するためのフローテーブルに従って、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットを転送する転送部と、
前記情報処理装置により前記外部のネットワークにおいて利用されるグローバルアドレスと、前記情報処理装置により前記ローカルネットワークにおいて利用されるプライベートアドレスおよび前記情報処理装置のＭＡＣアドレスの対と、前記ローカルネットワーク内に前記テナント単位で構築された仮想ネットワークのうち前記情報処理装置が属する仮想ネットワークを識別する仮想ネットワーク識別子とを対応付けて記憶するテナント情報記憶部と、
リクエストパケットの転送手順の問合せを前記転送部から受信した場合に、前記リクエストパケットの宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子が同一である、前記プライベートアドレスおよび前記ＭＡＣアドレスの対を前記テナント情報記憶部から全て取得し、取得した前記プライベートアドレスおよび前記ＭＡＣアドレスの全ての対の中から、前記リクエストパケットの振り分け先を分散アルゴリズムにより決定し、前記振り分け先に決定された前記プライベートアドレスおよび前記ＭＡＣアドレスの対と、前記宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子とを、前記リクエストパケットを転送制御させるためのフロー情報として前記フローテーブルに設定するリクエスト転送設定部と
を有することを特徴とする負荷分散装置。
【請求項４】
同一のローカルネットワーク内に収容され、複数のテナントに貸し出される複数の情報処理装置と、外部のネットワークを経由するクライアントからの前記情報処理装置に対するアクセスを制御する負荷分散装置とを有する負荷分散システムで実行される負荷分散方法であって、
前記負荷分散装置が、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットに挿入されたアドレス情報を変換するためのフローテーブルに従って、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットを転送する転送部から、リクエストパケットの転送手順の問合せを受信した場合に、前記情報処理装置により前記外部のネットワークにおいて利用されるグローバルアドレスと、前記情報処理装置により前記ローカルネットワークにおいて利用されるプライベートアドレスおよび前記情報処理装置のＭＡＣアドレスの対と、前記ローカルネットワーク内に前記テナント単位で構築された仮想ネットワークのうち前記情報処理装置が属する仮想ネットワークを識別する仮想ネットワーク識別子とを対応付けて記憶するテナント情報記憶部から、前記リクエストパケットの宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子が同一である、前記プライベートアドレスおよび前記ＭＡＣアドレスの対を全て取得し、取得した前記プライベートアドレスおよび前記ＭＡＣアドレスの全ての対の中から、前記リクエストパケットの振り分け先を分散アルゴリズムにより決定する決定ステップと、
前記負荷分散装置が、前記振り分け先に決定された前記プライベートアドレスおよび前記ＭＡＣアドレスの対と、前記宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子とを、前記リクエストパケットを転送制御させるためのフロー情報として前記フローテーブルに設定するリクエスト転送設定ステップと
を含むことを特徴とする負荷分散方法。
【請求項５】
複数のテナントに貸し出される複数の情報処理装置と同一のローカルネットワーク内に収容され、外部のネットワークを経由するクライアントからの前記情報処理装置に対するアクセスを制御する負荷分散装置が実行する負荷分散方法であって、
前記負荷分散装置が、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットに挿入されたアドレス情報を変換するためのフローテーブルに従って、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットを転送する転送部から、リクエストパケットの転送手順の問合せを受信した場合に、前記情報処理装置により前記外部のネットワークにおいて利用されるグローバルアドレスと、前記情報処理装置により前記ローカルネットワークにおいて利用されるプライベートアドレスおよび前記情報処理装置のＭＡＣアドレスの対と、前記ローカルネットワーク内に前記テナント単位で構築された仮想ネットワークのうち前記情報処理装置が属する仮想ネットワークを識別する仮想ネットワーク識別子とを対応付けて記憶するテナント情報記憶部から、前記リクエストパケットの宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子が同一である、前記プライベートアドレスおよび前記ＭＡＣアドレスの対を全て取得し、取得した前記プライベートアドレスおよび前記ＭＡＣアドレスの全ての対の中から、前記リクエストパケットの振り分け先を分散アルゴリズムにより決定する決定ステップと、
前記負荷分散装置が、前記振り分け先に決定された前記プライベートアドレスおよび前記ＭＡＣアドレスの対と、前記宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子とを、前記リクエストパケットを転送制御させるためのフロー情報として前記フローテーブルに設定するリクエスト転送設定ステップと
を含むことを特徴とする負荷分散方法。
【請求項６】
複数のテナントに貸し出される複数の情報処理装置と同一のローカルネットワーク内に収容され、外部のネットワークを経由するクライアントからの前記情報処理装置に対するアクセスを制御する負荷分散装置に実行させるための負荷分散プログラムであって、
前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットに挿入されたアドレス情報を変換するためのフローテーブルに従って、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットを転送する転送部から、リクエストパケットの転送手順の問合せを受信した場合に、前記情報処理装置により前記外部のネットワークにおいて利用されるグローバルアドレスと、前記情報処理装置により前記ローカルネットワークにおいて利用されるプライベートアドレスおよび前記情報処理装置のＭＡＣアドレスの対と、前記ローカルネットワーク内に前記テナント単位で構築された仮想ネットワークのうち前記情報処理装置が属する仮想ネットワークを識別する仮想ネットワーク識別子とを対応付けて記憶するテナント情報記憶部から、前記リクエストパケットの宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子が同一である、前記プライベートアドレスおよび前記ＭＡＣアドレスの対を全て取得し、取得した前記プライベートアドレスおよび前記ＭＡＣアドレスの全ての対の中から、前記リクエストパケットの振り分け先を分散アルゴリズムにより決定する決定手順と、
前記振り分け先に決定された前記プライベートアドレスおよび前記ＭＡＣアドレスの対と、前記宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子とを、前記リクエストパケットを転送制御させるためのフロー情報として前記フローテーブルに設定するリクエスト転送設定手順と
を実行させることを特徴とする負荷分散プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷分散システム、負荷分散装置、負荷分散方法および負荷分散プログラムに関する。
【背景技術】
【０００２】
従来、クラウドシステムやデータセンタなどにおいて、クライアントからのアクセスが特定のサーバに集中することを回避して負荷分散を図る技術がある。例えば、非特許文献１では、クラウドシステムやデータセンタに配置されたサーバとクライアントとの間に設けられたネットワーク上に負荷分散装置を組み込み、この負荷分散装置が、サーバやネットワークの状態に応じてトラフィックをコントロールするものについての開示がある。この非特許文献１は、ＶＬＡＮ（Virtual  Local  Area  Network）に対応することで、負荷分散装置の配下に複数のネットワークの収容を可能とし、ＶＬＡＮ単位での負荷分散を行う。
【０００３】
また、クラウドシステムやデータセンタにおける負荷分散に関連する技術として、負荷分散を実現するためのソフトウェアを利用するものもある。例えば、非特許文献２には、レイヤ４やレイヤ７などに対応し、比較的安価なサーバに負荷分散の処理を行わせるソフトウェアについての開示がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】「ＢＩＧ−ＩＰ」、［Ｏｎｌｉｎｅ］、［平成２３年１１月２日検索］、インターネット（ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｆ５ｎｅｔｗｏｒｋｓ．ｃｏ．ｊｐ／ｐｒｏｄｕｃｔ／ｂｉｇｉｐ／ｉｎｄｅｘ．ｈｔｍｌ）
【非特許文献２】「ＵｌｔｒａＭｏｎｋｅｙ−Ｌ７」、［Ｏｎｌｉｎｅ］、［平成２３年１１月２日検索］、インターネット（ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｓｓ．ｅｃｌ．ｎｔｔ．ｃｏ．ｊｐ／ｏｓｓｃ／ｄｏｗｎｌｏａｄ／ＵｌｔｒａＭｏｎｋｅｙ．ｐｄｆ）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した非特許文献１では、テナント数の増加に対応する場合、テナントの増加予測数に応じた数の装置を予め準備しておく必要がある。一般的に、非特許文献１に開示されているような負荷分散装置は高価であるので、テナントの増加予測数に応じた数の装置を予め準備することは経費の負担が大きく、また、テナントの増加予測数に応じた数の装置を予め準備するといった設備計画が困難であるという問題がある。
【０００６】
一方、上述した非特許文献２に開示があるソフトウェアを利用すれば、テナント数の増加に対して比較的柔軟に対応できる。しかしながら、非特許文献２に開示されているソフトウェアでは、ＶＬＡＮのレイヤ（レイヤ２やレイヤ３）に対応していないので、ＶＬＡＮ単位で負荷分散を実現できないという問題がある。
【０００７】
すなわち、上述した非特許文献１は、クラウドシステムやデータセンタなどにおいて、ＶＬＡＮなどの仮想ネットワークに対応した負荷分散を行う場合、コスト負担が大きい点やハードウェアの設備計画が困難であるという点で問題があり、また、上述した非特許文献２は、仮想ネットワークに上手く連動させた状態でのハードウェアの転用ができないという点で問題がある。
【０００８】
本発明は、上記に鑑みてなされたものであって、コスト負担を抑えつつ、仮想ネットワークと上手く連動させた負荷分散を実現することが可能な負荷分散システム、負荷分散装置、負荷分散方法および負荷分散プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、同一のローカルネットワーク内に収容され、複数のテナントに貸し出される複数の情報処理装置を有し、外部のネットワークを経由するクライアントからの前記情報処理装置に対するアクセスを制御する負荷分散装置を有する負荷分散システムであって、前記負荷分散装置は、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットに挿入されたアドレス情報を変換するためのフローテーブルに従って、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットを転送する転送部と、前記情報処理装置により前記外部のネットワークにおいて利用されるグローバルアドレスと、前記情報処理装置により前記ローカルネットワークにおいて利用されるプライベートアドレスおよび前記情報処理装置のＭＡＣアドレスの対と、前記ローカルネットワーク内に前記テナント単位で構築された仮想ネットワークのうち前記情報処理装置が属する仮想ネットワークを識別する仮想ネットワーク識別子とを対応付けて記憶するテナント情報記憶部と、リクエストパケットの転送手順の問合せを前記転送部から受信した場合に、前記リクエストパケットの宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子が同一である、前記プライベートアドレスおよび前記ＭＡＣアドレスの対を前記テナント情報記憶部から全て取得し、取得した前記プライベートアドレスおよび前記ＭＡＣアドレスの全ての対の中から、前記リクエストパケットの振り分け先を分散アルゴリズムにより決定し、前記振り分け先に決定された前記プライベートアドレスおよび前記ＭＡＣアドレスの対と、前記宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子とを、前記リクエストパケットを転送制御させるためのフロー情報として前記フローテーブルに設定するリクエスト転送設定部とを有することを特徴とする。
【００１０】
また、本発明は、複数のテナントに貸し出される複数の情報処理装置と同一のローカルネットワーク内に収容され、外部のネットワークを経由するクライアントからの前記情報処理装置に対するアクセスを制御する負荷分散装置であって、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットに挿入されたアドレス情報を変換するためのフローテーブルに従って、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットを転送する転送部と、前記情報処理装置により前記外部のネットワークにおいて利用されるグローバルアドレスと、前記情報処理装置により前記ローカルネットワークにおいて利用されるプライベートアドレスおよび前記情報処理装置のＭＡＣアドレスの対と、前記ローカルネットワーク内に前記テナント単位で構築された仮想ネットワークのうち前記情報処理装置が属する仮想ネットワークを識別する仮想ネットワーク識別子とを対応付けて記憶するテナント情報記憶部と、リクエストパケットの転送手順の問合せを前記転送部から受信した場合に、前記リクエストパケットの宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子が同一である、前記プライベートアドレスおよび前記ＭＡＣアドレスの対を前記テナント情報記憶部から全て取得し、取得した前記プライベートアドレスおよび前記ＭＡＣアドレスの全ての対の中から、前記リクエストパケットの振り分け先を分散アルゴリズムにより決定し、前記振り分け先に決定された前記プライベートアドレスおよび前記ＭＡＣアドレスの対と、前記宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子とを、前記リクエストパケットを転送制御させるためのフロー情報として前記フローテーブルに設定するリクエスト転送設定部とを有することを特徴とする。
【００１１】
また、本発明は、同一のローカルネットワーク内に収容され、複数のテナントに貸し出される複数の情報処理装置と、外部のネットワークを経由するクライアントからの前記情報処理装置に対するアクセスを制御する負荷分散装置とを有する負荷分散システムで実行される負荷分散方法であって、前記負荷分散装置が、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットに挿入されたアドレス情報を変換するためのフローテーブルに従って、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットを転送する転送部から、リクエストパケットの転送手順の問合せを受信した場合に、前記情報処理装置により前記外部のネットワークにおいて利用されるグローバルアドレスと、前記情報処理装置により前記ローカルネットワークにおいて利用されるプライベートアドレスおよび前記情報処理装置のＭＡＣアドレスの対と、前記ローカルネットワーク内に前記テナント単位で構築された仮想ネットワークのうち前記情報処理装置が属する仮想ネットワークを識別する仮想ネットワーク識別子とを対応付けて記憶するテナント情報記憶部から、前記リクエストパケットの宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子が同一である、前記プライベートアドレスおよび前記ＭＡＣアドレスの対を全て取得し、取得した前記プライベートアドレスおよび前記ＭＡＣアドレスの全ての対の中から、前記リクエストパケットの振り分け先を分散アルゴリズムにより決定する決定ステップと、前記負荷分散装置が、前記振り分け先に決定された前記プライベートアドレスおよび前記ＭＡＣアドレスの対と、前記宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子とを、前記リクエストパケットを転送制御させるためのフロー情報として前記フローテーブルに設定するリクエスト転送設定ステップとを含むことを特徴とする。
【００１２】
また、本発明は、複数のテナントに貸し出される複数の情報処理装置と同一のローカルネットワーク内に収容され、外部のネットワークを経由するクライアントからの前記情報処理装置に対するアクセスを制御する負荷分散装置が実行する負荷分散方法であって、前記負荷分散装置が、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットに挿入されたアドレス情報を変換するためのフローテーブルに従って、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットを転送する転送部から、リクエストパケットの転送手順の問合せを受信した場合に、前記情報処理装置により前記外部のネットワークにおいて利用されるグローバルアドレスと、前記情報処理装置により前記ローカルネットワークにおいて利用されるプライベートアドレスおよび前記情報処理装置のＭＡＣアドレスの対と、前記ローカルネットワーク内に前記テナント単位で構築された仮想ネットワークのうち前記情報処理装置が属する仮想ネットワークを識別する仮想ネットワーク識別子とを対応付けて記憶するテナント情報記憶部から、前記リクエストパケットの宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子が同一である、前記プライベートアドレスおよび前記ＭＡＣアドレスの対を全て取得し、取得した前記プライベートアドレスおよび前記ＭＡＣアドレスの全ての対の中から、前記リクエストパケットの振り分け先を分散アルゴリズムにより決定する決定ステップと、前記負荷分散装置が、前記振り分け先に決定された前記プライベートアドレスおよび前記ＭＡＣアドレスの対と、前記宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子とを、前記リクエストパケットを転送制御させるためのフロー情報として前記フローテーブルに設定するリクエスト転送設定ステップとを含むことを特徴とする。
【００１３】
また、本発明は、複数のテナントに貸し出される複数の情報処理装置と同一のローカルネットワーク内に収容され、外部のネットワークを経由するクライアントからの前記情報処理装置に対するアクセスを制御する負荷分散装置に実行させるための負荷分散プログラムであって、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットに挿入されたアドレス情報を変換するためのフローテーブルに従って、前記ローカルネットワークと前記外部のネットワークとの間でやり取りされるパケットを転送する転送部から、リクエストパケットの転送手順の問合せを受信した場合に、前記情報処理装置により前記外部のネットワークにおいて利用されるグローバルアドレスと、前記情報処理装置により前記ローカルネットワークにおいて利用されるプライベートアドレスおよび前記情報処理装置のＭＡＣアドレスの対と、前記ローカルネットワーク内に前記テナント単位で構築された仮想ネットワークのうち前記情報処理装置が属する仮想ネットワークを識別する仮想ネットワーク識別子とを対応付けて記憶するテナント情報記憶部から、前記リクエストパケットの宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子が同一である、前記プライベートアドレスおよび前記ＭＡＣアドレスの対を全て取得し、取得した前記プライベートアドレスおよび前記ＭＡＣアドレスの全ての対の中から、前記リクエストパケットの振り分け先を分散アルゴリズムにより決定する決定手順と、前記振り分け先に決定された前記プライベートアドレスおよび前記ＭＡＣアドレスの対と、前記宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子とを、前記リクエストパケットを転送制御させるためのフロー情報として前記フローテーブルに設定するリクエスト転送設定手順とを実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、コスト負担を抑えつつ、仮想ネットワークと上手く連動させた負荷分散を実現することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施例１に係るデータセンタの構成例を示す図である。
【図２】図２は、負荷分散処理部の構成を示す機能ブロック図である。
【図３】図３は、ＭＡＣアドレス格納部に格納されているレコードの一例を示す図である。
【図４】図４は、実施例１に係るテナントサーバ情報格納部に格納されているレコードの一例を示す図である。
【図５】図５は、実施例１に係るリプライ情報格納部に格納されているレコードの一例を示す図である。
【図６】図６は、実施例１に係る処理の流れを示す図である。
【図７】図７は、実施例２に係るデータセンタの構成例を示す図である。
【図８】図８は、実施例２に係るテナントサーバ情報格納部に格納されているレコードの一例を示す図である。
【図９】図９は、実施例２に係るリプライ情報格納部に格納されているレコードの一例を示す図である。
【図１０】図１０は、実施例で説明した処理と同様の機能を実現させるためのプログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１６】
以下に、図面を参照しつつ、本願にかかる負荷分散システム、負荷分散装置、負荷分散方法および負荷分散プログラムの実施例を説明する。後述する各実施例は一実施形態にすぎず、本願にかかる負荷分散システム、負荷分散装置、負荷分散方法および負荷分散プログラムの実施形態を限定するものではない。また、後述する各実施例は処理内容に矛盾を生じさせない範囲で適宜組み合わせることもできる。
【実施例１】
【００１７】
［負荷分散システムの概要および特徴（実施例１）］
実施例１に係る負荷分散システムの概要および特徴を説明する。実施例１に係る負荷分散システムは、同一のローカルネットワーク内に収容され、複数のテナントに貸し出される複数の情報処理装置を有し、外部のネットワークを経由するクライアントからの前記情報処理装置に対するアクセスを制御することを概要とする。そして、実施例１に係る負荷分散システムは、コスト負担を抑えつつ、仮想ネットワークと上手く連動させた負荷分散を実現することが可能である点に主たる特徴がある。
【００１８】
まず、複数の情報処理装置のうちの１つの情報処理装置を、外部のネットワークを経由するクライアントからの前記情報処理装置に対するアクセスを制御する負荷分散装置として機能させる。これにより、テナントの増加予測数に応じて高価な負荷分散装置を予め用意するためのコスト負担が必要なく、テナントの増加予測数に応じた数の装置を予め準備するといった設備計画の困難性からも開放される。
【００１９】
そして、負荷分散装置は、フローテーブルに従って前記ローカルネットワークと前記外部のネットワークとの間でやり取りされる情報を転送する転送部を有する。また、負荷分散装置は、転送部から、リクエストパケットの転送手順の問合せを受信した場合に、前記情報処理装置により前記外部のネットワークにおいて利用されるグローバルアドレスと、前記情報処理装置により前記ローカルネットワークにおいて利用されるプライベートアドレスおよび前記情報処理装置のＭＡＣアドレスの対と、前記ローカルネットワーク内に前記テナント単位で構築された仮想ネットワークのうち前記情報処理装置が属する仮想ネットワークを識別する仮想ネットワーク識別子とを対応付けて記憶するテナント情報記憶部から、前記リクエストパケットの宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子が同一である、前記プライベートアドレスおよび前記ＭＡＣアドレスの対を全て取得し、取得した前記プライベートアドレスおよび前記ＭＡＣアドレスの全ての対の中から、前記リクエストパケットの振り分け先を分散アルゴリズムにより決定し、前記振り分け先に決定された前記プライベートアドレスおよび前記ＭＡＣアドレスの対と、前記宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子とを、前記リクエストパケットを転送制御させるためのフロー情報として前記フローテーブルに設定するリクエスト転送設定部を有する。これにより、負荷分散装置は、仮想ネットワーク単位で情報処理装置へのアクセスを制御することができる。
【００２０】
このようなことから、実施例１に係る負荷分散システムは、コスト負担を抑えつつ、仮想ネットワークと上手く連動させた負荷分散を実現できる。
【００２１】
［負荷分散システムの構成（実施例１）］
以下の実施例１では、テナントに提供される複数のサーバを有するデータセンタを、実施例１に係る負荷分散システムの一例として説明する。
【００２２】
図１は、実施例１に係るデータセンタの構成例を示す図である。図１に示すように、実施例１に係るデータセンタは、サーバ０〜サーバ４の５台の物理サーバを有し、これらの物理サーバをテナントである企業に貸し出すサービスを提供する。例えば、図１に示すサーバ１およびサーバ２はテナントＡに貸し出され、サーバ３およびサーバ４は、テナントＢに貸し出された状態にある。そして、スイッチ２００およびサーバ０〜サーバ４を収容するローカルネットワーク内に２つの仮想ネットワークが構築される。
【００２３】
テナントＡに貸し出されているサーバ１およびサーバ２は、ローカルネットワーク内に構築された仮想ネットワークの１つに属する。そして、図１に示すように、サーバ１およびサーバ２が属する仮想ネットワークは、識別子として付与された「ＶＬＡＮ（Virtual  Local  Area  Network）＝２０」で管理されている。また、テナントＢに貸し出されているサーバ３およびサーバ４は、サーバ１およびサーバ２が属する仮想ネットワークとは異なる仮想ネットワークに属する。そして、サーバ３およびサーバ４が属する仮想ネットワークは、識別子として付与された「ＶＬＡＮ（Virtual  Local  Area  Network）＝４０」で管理されている。このように、データセンタは、ＶＬＡＮ単位でマルチテナントの形態をとっている。マルチテナントとは、複数の顧客企業間でハードウェアやソフトウェアなどのリソースを共有する方式であり、ハードウェアのみを共有し、仮想マシン上で顧客ごとに異なるソフトウェアを用意する方式や、アプリケーションソフトやデータベースのスキーマ（設定）までを共有し、設定情報やデータベースの内容のみが顧客ごとに異なる方式などがある。
【００２４】
サーバ１〜４は、ネットワークインターフェースカードを１枚装備し、データセンタ内のローカルネットワークに接続される。また、サーバ１〜４では、テナントに利用させるための仮想マシンが稼動しており、サーバ１では、テナントＡに利用させるための仮想マシン「Ａ．１」および「Ａ．２」が稼動し、サーバ２では、テナントＡに利用させるための仮想マシン「Ａ．３」および「Ａ．４」が稼動している。また、サーバ３では、テナントＢに利用させるための仮想マシン「Ｂ．１」および「Ｂ．２」が稼動しており、サーバ４では、テナントＢに利用させるための仮想マシン「Ｂ．３」および「Ｂ．４」が稼動している。また、サーバ１〜４は、それぞれブリッジを有し、サーバ内で稼動する仮想マシンにはブリッジを介して接続される。
【００２５】
サーバ０は、サーバ１〜４に対するクライアントからのアクセスを制御する負荷分散装置として機能する。クライアントは、サーバ０を介して、データセンタ内のサーバ１〜４（サーバ１〜４で稼動する仮想マシン）へのアクセスが可能となる。
【００２６】
図１に示すように、サーバ０は、ネットワークインターフェースカード（ＮＩＣ：Network  Interface  Card）を２枚装備し、一方のネットワークインターフェースカード（ＮＩＣ１）は、インターネットに接続され、他方のネットワークインターフェースカード（ＮＩＣ２）は、データセンタ内のローカルネットワークに接続される。
【００２７】
そして、サーバ０は、図１に示すように、オープンフロースイッチ１１０と、コントローラ１２０と、負荷分散処理部１３０とを有する。
【００２８】
オープンフロースイッチ１１０は、フローテーブルに設定されたフロー情報（オープンフロー）に従って、オープンフローによるパケット通信の制御処理を行う、ソフトウェアで実行された仮想スイッチである。なお、オープンフローとは、ＭＡＣ（Media  Access  Control）アドレスやＩＰ（Internet  Protocol）アドレス、ポート番号などの組合せによって決定される一連の通信をフローと定義し、フロー単位で通信経路を制御する方式である。また、フローテーブルは、オープンフロースイッチ１１０がパケットを宛先に転送するために、パケットに挿入されたアドレス情報を変換する（書き換える）ためのフロー情報を記憶するテーブルである。フローテーブルには、後述する負荷分散処理部１３０によりフロー情報が設定される。
【００２９】
具体的に説明すると、オープンフロースイッチ１１０は、ゲートウェイからａｒｐ（address  resolution  protocol）パケットを受信すると、コントローラ１２０に転送する。また、オープンフロースイッチ１１０は、コントローラ１２０からａｒｐパケット応答命令を受信すると、ａｒｐパケット応答をゲートウェイに転送する。
【００３０】
また、オープンフロースイッチ１１０は、ゲートウェイから、テナントサーバへのリクエストパケットであるＨＴＴＰ（Hypertext  Transfer  Protocol）パケットを受信すると、フローテーブルに対応するフロー情報があるかどうかを確認する。オープンフロースイッチ１１０は、対応するフロー情報がフローテーブルになければ、リクエストパケット転送用のフロー情報の問合せをコントローラ１２０に送信する。また、オープンフロースイッチ１１０は、コントローラ１２０によりフローテーブルに設定されたフロー情報に基づいて、ゲートウェイから受信したリクエストパケットのアドレス情報を書き換えてテナントサーバへ転送する。例えば、オープンフロースイッチ１１０は、フロー情報に従って、リクエストパケットの宛先として記入されている転送先ＩＰアドレスを、データセンタ内にある対応テナントサーバに割り当てられたプライベートアドレスに書き換え、データセンタ内にある対応テナントサーバのＭＡＣアドレスをリクエストパケットに記入し、データセンタ内にある対応テナントサーバが属する仮想ネットワークのＶＬＡＮＩＤをリクエストパケットに付与する。実施例１において、テナントサーバとは、リクエストパケットの宛先であるデータセンタ内の物理サーバ（あるいは、物理サーバ内で稼動する仮想マシン（例えば、Ａ．１〜Ａ．４、Ｂ．１〜Ｂ．４など））に該当する。
【００３１】
また、オープンフロースイッチ１１０は、テナントサーバから、リクエストパケットに対するリプライパケットを受信すると、対応するフロー情報があるかどうかを確認する。オープンフロースイッチ１１０は、対応するフロー情報がフローテーブルになければ、リプライパケット転送用のフロー情報の問合せをコントローラ１２０に送信する。また、オープンフロースイッチ１１０は、コントローラ１２０によりフローテーブルに設定されたフロー情報に従って、テナントサーバから受信したリプライパケットのアドレス情報を書き換えてゲートウェイへ転送する。例えば、オープンフロースイッチ１１０は、フロー情報に従って、リプライパケットに送信元として記入されている送信元ＩＰアドレスを、データセンタ内にある対応テナントサーバに割り当てられたグローバルアドレスに書き換え、リプライパケットに記入されたテナントサーバ（仮想マシン）のＭＡＣアドレスをサーバ０のＭＡＣアドレスに書き換え、リプライパケットに付与されているＶＬＡＮＩＤを削除する。
【００３２】
コントローラ１２０は、オープンフロースイッチ１１０と負荷分散処理部１３０との間でやり取りされる各種情報を中継し、サーバ０における処理をコントロールする。
【００３３】
具体的に説明すると、コントローラ１２０は、オープンフロースイッチ１１０からａｒｐパケットを受信すると、負荷分散処理部１３０に転送する。また、コントローラ１２０は、負荷分散処理部１３０からＭＡＣアドレスを受信すると、このＭＡＣアドレスを付与したａｒｐパケット応答命令をオープンフロースイッチ１１０に送信する。
【００３４】
また、コントローラ１２０は、オープンフロースイッチ１１０から、リクエストパケットの転送用のフロー情報の問合せを受信すると、負荷分散処理部１３０に転送する。また、コントローラ１２０は、負荷分散処理部１３０から、リクエストパケットの転送用の対応フロー情報を受信すると、オープンフロースイッチ１１０が有するフローテーブルに対して、対応フロー情報に含まれるプライベートアドレス、リクエストパケットの宛先であるテナントサーバ（仮想マシン）のＭＡＣアドレス、リクエストパケットの宛先であるテナントサーバが属する仮想ネットワークのＶＬＡＮＩＤを、リクエストパケットの転送用のフロー情報として設定する。
【００３５】
また、コントローラ１２０は、オープンフロースイッチ１１０から、リプライパケットの転送用のフロー情報の問合せを受信すると、負荷分散処理部１３０に転送する。また、コントローラ１２０は、負荷分散処理部１３０から、リプライパケットの転送用の対応フロー情報を受信すると、オープンフロースイッチ１１０が有するフローテーブルに対して、対応フロー情報に含まれる、リプライパケットの送信元であるテナントサーバのグローバルアドレス、サーバ０のＭＡＣアドレスを、リプライパケットの転送用のフロー情報として設定する。
【００３６】
負荷分散処理部１３０は、特定のテナントサーバにアクセスが集中しないように、クライアントからのアクセスを制御する。図２に、負荷分散処理部１３０の構成例を示す。図２は、負荷分散処理部の構成を示す機能ブロック図である。図２に示すように、負荷分散処理部１３０は、パケット処理部１３１と、ａｒｐ処理部１３２と、ＭＡＣアドレス格納部１３３と、回答送信部１３４と、リクエストパケット処理部１３５と、テナントサーバ情報格納部１３６と、リクエストパケット振分け部１３７と、リプライパケット処理部１３８と、リプライ情報格納部１３９とを有する。
【００３７】
具体的に説明すると、パケット処理部１３１は、コントローラ１２０からａｒｐパケットを受信した場合には、ａｒｐパケットの処理をａｒｐ処理部１３２に指示する。また、パケット処理部１３１は、リクエストパケットに関するフロー情報の問合せをコントローラ１２０から受信した場合には、問合せの処理をリクエストパケット処理部１３５に指示する。また、パケット処理部１３１は、リプライパケットに関するフロー情報の問合せをコントローラ１２０から受信した場合には、問合せの処理をリプライパケット処理部１３８に指示する。
【００３８】
ａｒｐ処理部１３２は、パケット処理部１３１からの指示に応じて、ａｒｐパケットの処理を実行する。例えば、ａｒｐ処理部１３２は、ＭＡＣアドレス格納部１３３に格納されているレコードの中に、ａｒｐパケットに含まれる問い合わせＩＰアドレスに対応するＭＡＣアドレスがあるかどうかを検索する。ａｒｐ処理部１３２は、ＭＡＣアドレス格納部１３３からＭＡＣアドレスを取得できた場合には、取得したＭＡＣアドレスを、回答送信部１３４を介してコントローラ１２０に送信する。
【００３９】
図３に、ＭＡＣアドレス格納部１３３に格納されているレコードの一例を示す。図３は、ＭＡＣアドレス格納部に格納されているレコードの一例を示す図である。図３に示すように、ＭＡＣアドレス格納部１３３は、問い合わせＩＰアドレスとＭＡＣアドレスとを対応付けて記憶している。問い合わせＩＰアドレスは、テナントサーバが外部（クライアントなど）に公開するグローバルアドレスであり、クライアントから送信されるリクエストパケットの宛先に挿入されるアドレスとなる。ＭＡＣアドレスは、データセンタ内のテナントサーバに対するクライアントからのアクセスを受け付けるためにゲートウェイに応答するＭＡＣアドレスであり、負荷分散装置として機能するサーバ０のネットワークインターフェースカード（ＮＩＣ１、図１参照）に割り当てられたＭＡＣアドレスである。実施例１では、ＭＡＣアドレス格納部１３３は、例えば、図３に示すように、テナントサーバＡの問い合わせＩＰアドレスである「120．18．20．105」に対応付けて、ＮＩＣ１に割り当てられたＭＡＣアドレスである「AA：B2：10：AA：FF：A4」を記憶する。同様に、ＭＡＣアドレス格納部１３３は、例えば、図３に示すように、テナントサーバＡの問い合わせＩＰアドレスである「23．100．51．12」に対応付けて、ＮＩＣ１に割り当てられたＭＡＣアドレスである「AA：B2：10：AA：FF：A4」を記憶する。
【００４０】
回答送信部１３４は、コントローラ１２０へ各種情報を送信する。例えば、回答送信部１３４は、上述のａｒｐ処理部１３２から送出されたＭＡＣアドレスをコントローラ１２０へ送信する。また、回答送信部１３４は、後述するリクエストパケット振分け部１３７から送出されたリクエストパケット転送用のフロー情報をコントローラ１２０に送信する。なお、このリクエストパケット転送用のフロー情報には、リクエストパケットの宛先となるテナントサーバに割り当てられたプライベートアドレス、このテナントサーバのＭＡＣアドレス、このテナントサーバが属する仮想ネットワークのＶＬＡＮＩＤが含まれる。また、回答送信部１３４は、後述するリプライパケット処理部１３８から送出されたリプライパケット転送用のフロー情報をコントローラ１２０に送信する。なお、このリプライパケット転送用のフロー情報には、リプライパケットの送信元であるテナントサーバに割り当てられたグローバルアドレス、サーバ０のＭＡＣアドレスが含まれる。
【００４１】
リクエストパケット処理部１３５は、パケット処理部１３１からの指示に応じて、リクエストパケットの処理を実行する。例えば、リクエストパケット処理部１３５は、リクエストパケットに関するフロー情報の問合せ処理の指示があると、リクエストパケットの転送先ＩＰアドレスと同一のアドレスに対応付けられたテナントサーバリストおよびＶＬＡＮＩＤをテナントサーバ情報格納部１３６から取得する。そして、リクエストパケット処理部１３５は、取得したテナントサーバリストおよびＶＬＡＮＩＤをリクエストパケット振分け部１３７に送出する。
【００４２】
図４に、実施例１に係るテナントサーバ情報格納部１３６に格納されているレコードの一例を示す。図４は、実施例１に係るテナントサーバ情報格納部に格納されているレコードの一例を示す図である。図４に示すように、テナントサーバ情報格納部１３６は、テナントサーバが外部（クライアントなど）に公開するグローバルアドレスであるテナントサーバアドレスに対応付けて、テナントサーバとして物理サーバ内で稼動する仮想マシンに割り当てられた仮想的なプライベートアドレスと、仮想マシンに割り当てられている仮想的なＭＡＣアドレスとの組合せの一覧を、テナントサーバリストとして記憶するとともに、データセンタ内に構築される仮想ネットワークのうちテナントサーバとして稼動する仮想マシンが属する仮想ネットワークを識別するために仮想ネットワークごとに固有に付与されたＶＬＡＮＩＤを記憶する。例えば、テナントサーバ情報格納部１３６は、テナントＡが公開するグローバルアドレス「120．18．20．105」に対応付けて、テナントサーバＡとしてサーバ１内で稼動する仮想マシンＡ．１に割り当てられたプライベートアドレス「192．168．100．20」とＭＡＣアドレス「52：20：00：AA：FF：A4」の対、テナントサーバＡとしてサーバ１内で稼動する仮想マシンＡ．２に割り当てられたプライベートアドレス「192．168．100．21」とＭＡＣアドレス「52：20：00：AA：FF：A5」の対、テナントサーバＡとしてサーバ２内で稼動する仮想マシンＡ．３に割り当てられたプライベートアドレス「192．168．100．22」とＭＡＣアドレス「52：20：00：AA：FF：A6」の対、テナントサーバＡとしてサーバ２内で稼動する仮想マシンＡ．４に割り当てられたプライベートアドレス「192．168．100．23」とＭＡＣアドレス「52：20：00：AA：FF：A7」の対をテナントサーバリストとして記憶するとともに、テナントサーバＡとしてサーバ１およびサーバ内２内で稼動する４つの仮想マシンＡ．１〜Ａ．４が属する仮想ネットワークの識別子「ＶＬＡＮＩＤ＝２０」を記憶している。同様に、テナントサーバ情報格納部１３６は、テナントＢが公開するグローバルアドレス「23．100．51．12」に対応付けて、テナントサーバＢとしてサーバ３内で稼動する仮想マシンＢ．１に割り当てられたプライベートアドレス「192．168．100．24」とＭＡＣアドレス「52：20：00：AA：FF：B4」の対、テナントサーバＢとしてサーバ３内で稼動する仮想マシンＢ．２に割り当てられたプライベートアドレス「192．168．100．25」とＭＡＣアドレス「52：20：00：AA：FF：B5」の対、テナントサーバＢとしてサーバ４内で稼動する仮想マシンＢ．３に割り当てられたプライベートアドレス「192．168．100．26」とＭＡＣアドレス「52：20：00：AA：FF：B6」の対、テナントサーバＢとしてサーバ４内で稼動する仮想マシンＢ．４に割り当てられたプライベートアドレス「192．168．100．27」とＭＡＣアドレス「52：20：00：AA：FF：B7」の対をテナントサーバリストとして記憶するとともに、テナントサーバＢとしてサーバ３およびサーバ４内で稼動する４つの仮想マシンＢ．１〜Ｂ．４が属する仮想ネットワークの識別子「ＶＬＡＮＩＤ＝４０」が記憶されている。
【００４３】
リクエストパケット振分け部１３７は、リクエストパケットの振り分け先を決定する処理を行う。例えば、リクエストパケット振分け部１３７は、リクエストパケット処理部１３５から、テナントサーバリストおよびＶＬＡＮＩＤを受け取ると、テナントサーバリスト（テナントサーバとして稼動する複数の仮想マシンのそれぞれに対応するプライベートアドレスとＭＡＣアドレスとの組合せの一覧）の中から、公知の分散アルゴリズムを利用して、リクエストパケットの振り分ける先を決定する。分散アルゴリズムとしては、スタティック負荷分散やダイナミック負荷分散のどちらを利用してもよく、例えば、スタティック負荷分散であればラウンドロビン、ダイナミック負荷分散であれば最速応答時間、最小負荷、最小コネクションなどを利用することができる。なお、分散アルゴリズムを利用した負荷分散技術には、例えば、「ＤＮＳを用いた広域負荷分散の実装（情報処理学会研究報告、１９９８年５月１５日）」などがある。そして、リクエストパケット振分け部１３７は、リクエストパケットの振り分け先を決定すると、振り分け先として決定した仮想マシンに割り当てられているプライベートアドレスおよびＭＡＣアドレス、振り分け先の仮想マシンが属する仮想ネットワークを識別するＶＬＡＮＩＤをフロー情報として、回答送信部１３４に送出する。
【００４４】
リプライパケット処理部１３８は、パケット処理部１３１からの指示に応じて、リプライパケットの処理を実行する。例えば、リプライパケット処理部１３８は、リプライパケットに関するフロー情報の問合せ処理の指示があると、リプライパケットの送信元ＩＰアドレスと同一のアドレスに対応付けられたグローバルアドレスおよびＭＡＣアドレスをリプライ情報格納部１３９から取得する。そして、リプライパケット処理部１３８は、取得したグローバルアドレスおよびＭＡＣアドレスを回答送信部１３４に送出する。
【００４５】
図５に、実施例１に係るリプライ情報格納部１３９に格納されているレコードの一例を示す。図５は、実施例１に係るリプライ情報格納部に格納されているレコードの一例を示す図である。図５に示すように、リプライ情報格納部１３９は、リプライパケットの送信元アドレスとなり得る送信元ＩＰアドレス（プライベートアドレス）に対応付けて、サーバ０に搭載されたネットワークインターフェースカード（ＮＩＣ１）のＭＡＣアドレスおよびテナントサーバのグローバルなＩＰアドレスを記憶する。なお、図５に示すＩＰアドレス（グローバル）は、リプライパケットの送信元であるテナントサーバが外部（クライアントなど）に公開するＩＰアドレス（図４のグローバルなＩＰアドレスと同一のアドレス）である。また、ＭＡＣアドレスは、上述したように、負荷分散装置として機能するサーバ０のネットワークインターフェースカードであるＮＩＣ１（図１参照）に割り当てられたＭＡＣアドレス（例えば、「AA：B2：10：AA：FF：A4」）であり、データセンタ内のテナントサーバに対するクライアントからのアクセスを受け付けるためにゲートウェイに応答するＭＡＣアドレスとなる。
【００４６】
なお、サーバ０は、例えば、アプリケーションソフトや周辺機器の監視、ディスクやメモリなどの資源の管理、割り込み処理、プロセス間通信などの機能を実現する所定のＯＳ（Operating  System）が動作する情報処理装置であればよい。
【００４７】
［実施例１における処理］
図６を用いて、実施例１に係るデータセンタにおける処理の流れを説明する。図６は、実施例１に係る処理の流れを示す図である。なお、以下では、オープンフロースイッチ１１０が有するフローテーブルに、パケットの転送用のフロー情報が設定されていない状態での処理の流れを説明する。
【００４８】
図６に示すように、クライアントはテナントサーバへのＨＴＴＰパケットを送信する（Ｓ１０１）。ゲートウェイは、テナントサーバへのＨＴＴＰパケットをクライアントから受信すると、テナントサーバへのａｒｐパケットを送信する（Ｓ１０２）。
【００４９】
オープンフロースイッチ１１０は、ゲートウェイからａｒｐパケットを受信すると、コントローラ１２０に転送する（Ｓ１０３）。コントローラ１２０は、オープンフロースイッチ１１０からａｒｐパケットを受信すると、負荷分散処理部１３０に転送する（Ｓ１０４）。
【００５０】
負荷分散処理部１３０は、コントローラ１２０からａｒｐパケットを受信した場合には、ＭＡＣアドレス（Ｇ）を解決してコントローラ１２０に送信する（Ｓ１０５）。例えば、負荷分散処理部１３０は、ａｒｐパケットに含まれる問い合わせＩＰアドレスに対応するＭＡＣアドレスがあるかどうかを検索し、取得したＭＡＣアドレスを、コントローラ１２０に送信する。なお、ＭＡＣアドレス（Ｇ）は、データセンタ内のテナントサーバにアクセスさせるために外部に公開するグローバルなＭＡＣアドレスを意味し、実施例１では、外部とデータセンタとの通信の中継地点となるサーバ０のネットワークインターフェースカード（ＮＩＣ１、図１参照）に割り当てられたＭＡＣアドレスとなる。
【００５１】
コントローラ１２０は、負荷分散処理部１３０からＭＡＣアドレスを受信すると、このＭＡＣアドレスを付与したａｒｐパケット応答命令をオープンフロースイッチ１１０に送信する（Ｓ１０６）。オープンフロースイッチ１１０は、コントローラ１２０からａｒｐパケット応答命令を受信すると、ａｒｐパケット応答をゲートウェイに転送する（Ｓ１０７）。
【００５２】
ゲートウェイは、オープンフロースイッチ１１０からａｒｐパケット応答を受信すると、クライアントから受信した、テナントサーバへのリクエストパケットであるＨＴＴＰ（Hypertext  Transfer  Protocol）パケットを送信する（Ｓ１０８）。
【００５３】
オープンフロースイッチ１１０は、ゲートウェイから、テナントサーバへのリクエストパケットであるＨＴＴＰパケットを受信すると、リクエストパケットの転送先ＩＰアドレスに対応するフロー情報（リクエストパケットの転送手順対応のフロー情報）の問合せをコントローラ１２０に送信する（Ｓ１０９）。
【００５４】
コントローラ１２０は、オープンフロースイッチ１１０から、フロー情報（リクエストパケットの転送手順対応のフロー情報）の問合せを受信すると、負荷分散処理部１３０に転送する（Ｓ１１０）。
【００５５】
負荷分散処理部１３０は、リクエストパケットに関するフロー情報の問合せをコントローラ１２０から受信した場合には、次のように処理を行う。すなわち、リクエストパケット処理部１３５は、リクエストパケットの転送先ＩＰアドレスに対応付けられたテナントサーバリストおよびＶＬＡＮＩＤをテナントサーバ情報格納部１３６から取得する（Ｓ１１１）。続いて、リクエストパケット振分け部１３７は、リクエストパケット処理部１３５から、テナントサーバリストおよびＶＬＡＮＩＤを受け取ると、テナントサーバリストの中から、公知の分散アルゴリズムを利用して、リクエストパケットの振り分ける先（転送先ＩＰアドレス（Ｐ））を決定する（Ｓ１１２）。なお、転送先ＩＰアドレス（Ｐ）は、テナントサーバとして物理サーバ内で稼動する仮想マシンの各々に割り当てられたプライベートアドレスのうち、振り分け先に決定された仮想マシンに割り当てられているプライベートアドレスを意味する。続いて、回答送信部１３４は、転送先ＩＰアドレス（Ｐ）、ＭＡＣアドレス（Ｐ）およびＶＬＡＮＩＤを、対応フロー情報としてコントローラ１２０に応答送信する（Ｓ１１３）。なお、ＭＡＣアドレス（Ｐ）は、振り分け先に決定された仮想マシンに割り当てられている仮想的なＭＡＣアドレスを意味する。
【００５６】
コントローラ１２０は、負荷分散処理部１３０から、リクエストパケット転送用のフロー情報を受信すると、オープンフロースイッチ１１０が有するフローテーブルにフロー情報（転送先ＩＰアドレス（Ｐ）、ＭＡＣアドレス（Ｐ）、ＶＬＡＮＩＤ）を設定する（Ｓ１１４）。
【００５７】
オープンフロースイッチ１１０は、コントローラ１２０によりフローテーブルに設定されたフロー情報に基づいて、ゲートウェイから受信したリクエストパケットのアドレス情報の書き換えを実行し、ＶＬＡＮＩＤを付与した後（Ｓ１１５）、テナントサーバへ転送する（Ｓ１１６）。すなわち、ステップＳ１１５、Ｓ１１６の処理では、オープンフロースイッチ１１０が、フロー情報に従って、リクエストパケットの宛先として記入されている転送先ＩＰアドレスを、データセンタ内にある対応テナントサーバに割り当てられたプライベートアドレスに書き換え、データセンタ内にある対応テナントサーバのＭＡＣアドレスをリクエストパケットに記入し、データセンタ内にある対応テナントサーバが属する仮想ネットワークのＶＬＡＮＩＤをリクエストパケットに付与して、リクエストパケットを宛先のテナントサーバへ転送する処理である。
【００５８】
テナントサーバは、リクエストパケットに対するリプライパケットをサーバ０（オープンフロースイッチ１１０）に返信する（Ｓ１１７）。オープンフロースイッチ１１０は、テナントサーバから、リクエストパケットに対するリプライパケットを受信すると、リプライパケット転送用のフロー情報の問合せをコントローラ１２０に送信する（Ｓ１１８）。
【００５９】
コントローラ１２０は、オープンフロースイッチ１１０から、リプライパケット転送用のフロー情報の問合せを受信すると、負荷分散処理部１３０に転送する（Ｓ１１９）。
【００６０】
負荷分散処理部１３０は、リプライパケットに関するフロー情報の問合せをコントローラ１２０から受信した場合には、次のように処理を行う。すなわち、リプライパケット処理部１３８は、リプライパケットの送信元ＩＰアドレスと同一のアドレスに対応付けられたＩＰアドレス（Ｇ）およびＭＡＣアドレス（Ｇ）をリプライ情報格納部１３９から取得する（Ｓ１２０）。続いて、回答送信部１３４は、ＩＰアドレス（Ｇ）およびＭＡＣアドレス（Ｇ）をコントローラ１２０に応答送信する（Ｓ１２１）。なお、ＩＰアドレス（Ｇ）は、リプライパケットの送信元であるテナントサーバが外部（クライアントなど）に公開するＩＰアドレスであり、ＭＡＣアドレス（Ｇ）は、負荷分散装置として機能するサーバ０のネットワークインターフェースカード（ＮＩＣ１、図１参照）に割り当てられたＭＡＣアドレスである。
【００６１】
コントローラ１２０は、負荷分散処理部１３０から、リプライパケット転送用のフロー情報を受信すると、オープンフロースイッチ１１０が有するフローテーブルにフロー情報（ＩＰアドレス（Ｇ）、ＭＡＣアドレス（Ｇ））を設定する（Ｓ１２２）。
【００６２】
オープンフロースイッチ１１０は、コントローラ１２０によりフローテーブルに設定されたフロー情報に従って、テナントサーバから受信したリプライパケットのアドレス情報の書き換えを実行し、ＶＬＡＮＩＤを削除した後（Ｓ１２３）、ゲートウェイへ転送する（Ｓ１２４）。すなわち、ステップＳ１２３、Ｓ１２４の処理では、オープンフロースイッチ１１０が、フロー情報に従って、リプライパケットに送信元として記入されている送信元ＩＰアドレスを、データセンタ内にある対応テナントサーバに割り当てられたグローバルアドレスに書き換え、リプライパケットに記入されたテナントサーバ（仮想マシン）のＭＡＣアドレスをサーバ０のＭＡＣアドレスに書き換え、リプライパケットに付与されているＶＬＡＮＩＤを削除し、転送する処理である。
【００６３】
そして、データセンタ（サーバ０）から送信されたリプライパケットは、ゲートウェイを介して、リクエストパケットの送信元であるクライアントの元に届けられる。
【００６４】
［実施例１による効果］
上述してきたように、実施例１に係る負荷分散システムでは、データセンタ内に配置された複数のサーバのうち、１つのサーバ（サーバ０）を、負荷分散装置として機能させる。これにより、テナントの増加予測数に応じて高価な負荷分散装置を予め用意するためのコスト負担が必要なく、テナントの増加予測数に応じた数の装置を予め準備するといった設備計画の困難性からも開放される。
【００６５】
また、実施例１に係る負荷分散システムでは、リクエストパケットの転送先ＩＰアドレスに基づいて、リクエストパケットの宛先となるテナントサーバおよびＶＬＡＮＩＤを特定し、テナントサーバとして稼動する複数の仮想マシンの中から、リクエストパケットの振り分け先を公知の分散アルゴリズムに基づいて決定して、リクエストパケットを転送する為のフロー情報をオープンフロースイッチ１１０のフローテーブルに設定する。これにより、仮想ネットワーク単位で、テナントサーバへのアクセスを制御することができる。
【００６６】
このようなことから、実施例１によれば、コスト負担を抑えつつ、仮想ネットワークと上手く連動させた負荷分散を実現できる。
【００６７】
また、実施例１に係る負荷分散システムでは、リクエストパケットに対するテナントサーバからのリプライパケットのアドレス情報を、再び、グローバルなアドレス情報に変換するためのフロー情報をオープンフロースイッチ１１０のフローテーブルに設定する。これにより、仮想ネットワーク単位でテナントサーバへのアクセスを制御する場合に、リクエストに対するリプライのアドレス情報をグローバルなアドレス情報に変換した状態で、リクエスト送信元であるクライアントに転送できる。
【００６８】
また、上述した実施例１では、データセンタ内に配置された物理サーバ内で稼動する複数の仮想マシンをテナントに提供する場合について、仮想ネットワーク単位で、テナントサーバへのアクセスを制御する処理を説明したが、仮想マシンではなく、物理サーバ自体をテナントに提供する場合も同様に適用することができる。例えば、テナントサーバとして提供される複数の物理サーバの中から、リクエストパケットの振り分け先を公知の分散アルゴリズムに基づいて決定する場合には、まず、リクエストパケットの転送先ＩＰアドレスと同一のアドレスに対応付けられたＶＬＡＮＩＤが同一であるプライベートアドレス（または、プライベートアドレスとＭＡＣアドレスの対）を取得できるように、リクエストパケット処理部１３５やテナントサーバ情報格納部１３６を構成しておく。これにより、物理サーバ自体をテナントに提供する場合も、コスト負担を抑えつつ、仮想ネットワークと上手く連動させた負荷分散を実現できる。
【実施例２】
【００６９】
図７に、実施例２に係るデータセンタの構成例を示す。図７は、実施例２に係るデータセンタの構成例を示す図である。図７に示すように、データセンタ内に構築された複数の仮想ネットワーク（ＶＬＡＮ＝２０、ＶＬＡＮ＝４０）の境界が、データセンタ内に配置された複数のサーバの中のある１つのサーバ２内にある場合についても、上述した実施例１の処理（図６）を適用することにより、仮想ネットワーク単位で、テナントサーバへのアクセスを制御することができる。
【００７０】
例えば、図７に示すサーバ１〜４には、ブリッジの代わりに、オープンフロースイッチを設置する。これにより、例えば、データセンタに負荷に応じて、サーバ数を柔軟に変更することができる。
【００７１】
そして、図７に示すように、サーバ２では、ＶＬＡＮ＝２０の仮想ネットワークに属する仮想マシンＡ．３と、ＶＬＡＮ＝４０の仮想ネットワークに属する仮想マシンＢ．０が稼動している。これに応じて、サーバ０が有する負荷分散処理部１３０のテナントサーバ情報格納部１３６およびリプライ情報格納部１３９のレコードを書き換えることにより、上述した実施例１の処理（図６）を適用できる。以下、実施例２に係るテナントサーバ情報格納部１３６のレコードの構成例、および実施例２に係るリプライ情報格納部１３９のレコードの構成例を説明する。
【００７２】
図８に、実施例２に係るテナントサーバ情報格納部１３６に格納されているレコードの一例を示す。図８は、実施例２に係るテナントサーバ情報格納部に格納されているレコードの一例を示す図である。図８に示すように、テナントサーバ情報格納部１３６は、実施例２に係るデータセンタの構成に応じた情報を記憶しており、例えば、テナントＡがクライアントなどに公開するグローバルアドレス「120．18．20．105」に対応付けて、データセンタ内でテナントサーバとして稼動する仮想マシンＡ．１に割り当てられたプライベートアドレス「192．168．100．20」とＭＡＣアドレス「52：20：00：AA：FF：A4」の対、仮想マシンＡ．２に割り当てられたプライベートアドレス「192．168．100．21」とＭＡＣアドレス「52：20：00：AA：FF：A5」の対、仮想マシンＡ．３に割り当てられたプライベートアドレス「192．168．100．22」とＭＡＣアドレス「52：20：00：AA：FF：A6」の対を記憶するとともに、テナントサーバＡとして稼動する３つの仮想マシンＡ．１〜Ａ．３が属する仮想ネットワークのＶＬＡＮＩＤ「２０」が記憶されている。また、図８に示すように、テナントサーバ情報格納部１３６は、テナントＢが外部に公開するグローバルアドレス「23．100．51．12」に対応付けて、データセンタ内でテナントサーバとして稼動する仮想マシンＢ．０に割り当てられたプライベートアドレス「192．168．100．23」とＭＡＣアドレス「52：20：00：AA：FF：B4」の対、データセンタ内でテナントサーバとして稼動する仮想マシンＢ．１に割り当てられたプライベートアドレス「192．168．100．24」とＭＡＣアドレス「52：20：00：AA：FF：B5」の対、仮想マシンＢ．２に割り当てられたプライベートアドレス「192．168．100．25」とＭＡＣアドレス「52：20：00：AA：FF：B6」の対、仮想マシンＢ．３に割り当てられたプライベートアドレス「192．168．100．26」とＭＡＣアドレス「52：20：00：AA：FF：B7」の対、仮想マシンＢ．４に割り当てられたプライベートアドレス「192．168．100．27」とＭＡＣアドレス「52：20：00：AA：FF：B8」の対をテナントサーバリストとして記憶するとともに、テナントサーバＢとして稼動する５つの仮想マシンＢ．０〜Ｂ．４が属する仮想ネットワークのＶＬＡＮＩＤ「４０」が記憶されている。
【００７３】
図９に、実施例２に係るリプライ情報格納部１３９に格納されているレコードの一例を示す。図９は、実施例２に係るリプライ情報格納部に格納されているレコードの一例を示す図である。図９に示すように、リプライ情報格納部１３９は、実施例２に係るデータセンタの構成に応じた情報を記憶しており、例えば、リプライパケットの送信元アドレスとなり得る送信元ＩＰアドレス（「192．168．100．20」〜「192．168．100．27」）に対応付けて、サーバ０に搭載されたネットワークインターフェースカード（ＮＩＣ１）のＭＡＣアドレス（例えば、「AA：B2：10：AA：FF：A4」）およびテナントサーバのグローバルなＩＰアドレス（例えば、「120．18．20．105」もしくは「23．100．51．12」）を記憶する。
【００７４】
上述してきたテナントサーバ情報格納部１３６およびリプライ情報格納部１３９を利用することにより、実施例２に係るサーバ０の負荷分散処理部１３０は、上述の実施例１と同様の手順（図６参照）で、仮想ネットワーク単位で、テナントサーバへのアクセスを制御することができる。
【実施例３】
【００７５】
以下、本発明にかかる負荷分散システム、負荷分散装置、負荷分散方法および負荷分散プログラムのその他の実施形態として実施例３を説明する。
【００７６】
（１）装置構成等
実施例１に係る負荷分散システムの構成、例えば、図１に示すサーバ０の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【００７７】
例えば、図１に示すサーバ０の負荷分散処理部１３０とコントローラ１２０とを、機能的または物理的に統合した構成とし、負荷分散処理部１３０と同様の処理手順を実現するプログラムをコントローラ１２０に実行させるようにしてもよい。また、図２に示す負荷分散処理部１３０が有するＭＡＣアドレス格納部１３３、テナントサーバ情報格納部１３６およびリプライ情報格納部１３９を、負荷分散処理部１３０と機能的または物理的に分散させた構成としてもよい。このように、図１に示す負荷分散システムの各構成要素の分散または統合の具体的形態は、図１に示すものに限られず、各構成要素の全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００７８】
（２）負荷分散方法
実施例１に係る負荷分散システムにより、以下のような負荷分散方法が実現される。例えば、同一のローカルネットワーク内に収容され、複数のテナントに貸し出される複数の情報処理装置を有し、外部のネットワークを経由するクライアントからの前記情報処理装置に対するアクセスを制御する負荷分散装置を有する負荷分散システムで実行される負荷分散方法であって、前記負荷分散装置が、フローテーブルに従って前記ローカルネットワークと前記外部のネットワークとの間でやり取りされる情報を転送する転送部から、リクエストパケットの転送手順の問合せを受信した場合に、前記情報処理装置により前記外部のネットワークにおいて利用されるグローバルアドレスと、前記情報処理装置により前記ローカルネットワークにおいて利用されるプライベートアドレスおよび前記情報処理装置のＭＡＣアドレスの対と、前記ローカルネットワーク内に前記テナント単位で構築された仮想ネットワークのうち前記情報処理装置が属する仮想ネットワークを識別する仮想ネットワーク識別子とを対応付けて記憶するテナント情報記憶部から、前記リクエストパケットの宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子が同一である、前記プライベートアドレスおよび前記ＭＡＣアドレスの対を全て取得し、取得した前記プライベートアドレスおよび前記ＭＡＣアドレスの全ての対の中から、前記リクエストパケットの振り分け先を分散アルゴリズムにより決定する決定ステップと（例えば、図６のステップＳ１０９〜Ｓ１１２など参照）、前記負荷分散装置が、前記振り分け先に決定された前記プライベートアドレスおよび前記ＭＡＣアドレスの対と、前記宛先ＩＰアドレスと同一の前記グローバルアドレスに対応付けられた前記仮想ネットワーク識別子とを、前記リクエストパケットを転送制御させるためのフロー情報として前記フローテーブルに設定するリクエスト転送設定ステップと（例えば、図６のステップＳ１１３〜Ｓ１１４など参照）、を含む負荷分散方法が実現される。
【００７９】
（３）ログ解析装置に所定の手順を実行させるプログラム
また、上述の実施例で説明した各種の処理（例えば、図６など）は、実施例１に係るデータセンタ内で負荷分散装置として実装される、パーソナルコンピュータやワークステーションなどのコンピュータであるサーバ０に、上述の実施例で説明した各種の処理と同様の処理機能を実現するための手順（プロセス）を実行させるためのプログラムをインストールすることにより実現することもできる。
【００８０】
そこで、以下では、図１０を用いて、上述の実施例で説明した各種の処理（例えば、図６など）と同様の機能を実現するコンピュータの一例を説明する。図１０は、上述の実施例で説明した処理と同様の機能を実現させるためのプログラムを実行するコンピュータの一例を示す図である。
【００８１】
図１０に示すように、サーバ０として実装されるコンピュータ３００は、例えば、メモリ３０１と、ＣＰＵ（Central  Processing  Unit）３０２を有する。また、コンピュータ３００は、図１０に示すように、ハードディスクドライブインタフェース３０３と、光ディスクドライブインタフェース３０４を有する。また、コンピュータ３００は、図１０に示すように、シリアルポートインタフェース３０５と、ビデオアダプタ３０６と、ネットワークインタフェース３０７を有する。そして、コンピュータ３００は、これらの各部３０１〜３０７をバス３０８によって接続する。
【００８２】
メモリ３０１は、図１０に示すように、ＲＯＭ（Read  Only  Memory）及びＲＡＭ（Random  Access  Memory）を含む。ＲＯＭは、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース３０３は、図１０に示すように、ハードディスクドライブ３０９に接続される。光ディスクドライブインタフェース３０４は、図１０に示すように、光ディスクドライブ３１０に接続される。例えば、光ディスクドライブ３１０には、光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース３０５は、図１０に示すように、例えば、マウス４００およびキーボード５００に接続される。ビデオアダプタ３０６は、図１０に示すように、例えば、ディスプレイ６００に接続される。
【００８３】
ここで、図１０に示すように、ハードディスクドライブ３０９は、例えば、ＯＳ（Operating  System）、アプリケーションプログラム、プログラムモジュール、プログラムデータを記憶する。
【００８４】
すなわち、上述したサーバ０により実行される処理と同様の機能を実現するための所定の手順をコンピュータに実行させるプログラムは、コンピュータ３００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ３０９に記憶される。つまり、上述の実施例で説明した各種の処理（例えば、図６など）と同様の処理機能をサーバ０としてのコンピュータ３００に実現させるための手順が記述されたプログラムモジュールが、ハードディスクドライブ３０９に記憶される。このプログラムモジュールは、例えば、図１に示すサーバ０の負荷分散処理部１３０などにより実行される手順（プロセス）に対応する。
【００８５】
また、上述の実施例で説明した各種の処理（例えば、図６など）と同様の処理機能をサーバ０としてのコンピュータ３００に実現させるための手順が記述されたプログラムモジュールにより用いられるデータは、プログラムデータとして、例えばハードディスクドライブ３０９に記憶される。例えば、このプログラムデータは、例えば、負荷分散処理部１３０が有するテナントサーバ情報格納部１３６に格納されているデータ（図４参照）、リプライ情報格納部１３９に格納されているデータ（図５参照）などの各種データに対応する。
【００８６】
そして、ＣＰＵ３０２が、ハードディスクドライブ３０９に記憶されたプログラムモジュールやプログラムデータを必要に応じてＲＡＭに読み出し、上述の実施例で説明した各種の処理（例えば、図６など）を実現するための手順を実行する。
【００８７】
なお、上述の実施例で説明した各種の処理（例えば、図６など）と同様の処理をサーバ０としてのコンピュータ３００に実現させるために、コンピュータ３００に実行させる手順が記述されたプログラムモジュールやプログラムデータは、ハードディスクドライブ３０９に記憶される場合に限られるものではなく、例えば、着脱可能な記憶媒体である光ディスクドライブ３１０等に記憶されていてもよい。この場合には、ＣＰＵ３０２が、光ディスクドライブ３１０を介して、サーバ０と同様の機能を有するプログラムモジュールやプログラムデータを読み出す。
【００８８】
あるいは、上述の実施例で説明した各種の処理（例えば、図６など）と同様の処理機能をサーバ０としてのコンピュータ３００に実現させるための手順が記述されたプログラムモジュールやプログラムデータは、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）など）を介して接続された他のコンピュータに記憶されていてもよい。この場合には、ＣＰＵ３０２が、ネットワークインタフェース３０７を介して、サーバ０と同様の機能を有するプログラムモジュールやプログラムデータを他のコンピュータから読み出す。
【００８９】
なお、プログラムによりＣＰＵ３０２が動作して各種処理を行う代わりに、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ(Field  Programmable  Gate  Array)などの電子回路を用いて処理を行うこともできる。また、メモリ３０１として、フラッシュメモリ(flash  memory)などを用いることもできる。
【符号の説明】
【００９０】
０〜４  サーバ
１１０  オープンフロースイッチ
１２０  コントローラ
１３０  負荷分散処理部
１３１  パケット処理部
１３２  ａｒｐ処理部
１３３  ＭＡＣアドレス格納部
１３４  回答送信部
１３５  リクエストパケット処理部
１３６  テナントサーバ情報格納部
１３７  リクエストパケット振分け部
１３８  リプライパケット処理部
１３９  リプライ情報格納部
２００  スイッチ
３００  コンピュータ
３０１  メモリ
３０２  ＣＰＵ
３０３  ハードディスクドライブインタフェース
３０４  光ディスクドライブインタフェース
３０５  シリアルポートインタフェース
３０６  ビデオアダプタ
３０７  ネットワークインタフェース
３０８  バス
３０９  ハードディスクドライブ
３１０  光ディスクドライブ
４００  マウス
５００  キーボード
６００  ディスプレイ
【図１】
2013105308.tif 000003
【図２】
2013105308.tif 000004
【図３】
2013105308.tif 000005
【図４】
2013105308.tif 000006
【図５】
2013105308.tif 000007
【図６】
2013105308.tif 000008
【図７】
2013105308.tif 000009
【図８】
2013105308.tif 000010
【図９】
2013105308.tif 000011
【図１０】
2013105308.tif 000012