(57)【要約】  ネットワークシステムにおいて、各サーバは少なくとも１つの中継処理装置に割り当てられる。また、ネットワーク中には複数のスイッチが配置され、コントローラがそれらスイッチを制御する。具体的には、コントローラは、要求元スイッチからの要求に応答して、要求元スイッチから宛先アドレスまでのフローの経路を設計する。このとき、コントローラは、サーバと中継処理装置との割り当て関係を示す割当情報を参照して、宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか１つをターゲットとして選択し、そのターゲットを含むように経路を設計する。そして、コントローラは、設計経路上の各スイッチに対して、当該設計経路に沿ってパケットが転送されるようにフローテーブルを設定することを指示する。
2011049135.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数のサーバと、
前記ネットワークに接続された複数の中継処理装置と、
前記ネットワーク中に配置された複数のスイッチと、
前記複数のスイッチを制御するコントローラと
を備え、
前記複数のサーバの各々は、前記複数の中継処理装置のうち少なくとも１つに割り当てられ、
前記複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行し、
前記複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、前記フローテーブルを参照することによって、前記入力元から受け取ったパケットを前記転送先に転送し、
前記コントローラは、
記憶部と、
前記複数のスイッチのうち要求元スイッチからの要求に応答して、前記要求元スイッチから宛先アドレスまでのフローの経路を設計する経路設計部と、
前記設計された経路上の各スイッチに対して、当該フローのパケットが前記設計された経路に沿って転送されるように前記フローテーブルを設定することを指示するスイッチ設定部と
を備え、
前記記憶部には、
前記複数のサーバ、前記複数の中継処理装置、前記複数のスイッチ間の接続状態を示すネットワーク構成情報と、
前記複数のサーバと前記複数の中継処理装置との間の割り当て関係を示す割当情報と
が格納され、
前記経路設計部は、前記割当情報を参照して、前記宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか１つをターゲットとして選択し、
前記経路設計部は、前記ネットワーク構成情報を参照して、前記ターゲットを含むように前記経路を設計する
ネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムであって、
前記宛先アドレスで指定されるサーバは、前記複数の中継処理装置のうち２以上の中継処理装置に割り当てられており、
前記経路設計部は、前記２以上の中継処理装置のうちいずれか１つを前記ターゲットとして選択する
ネットワークシステム。
【請求項３】
請求項２に記載のネットワークシステムであって、
前記記憶部には、更に、
前記複数の中継処理装置のそれぞれの負荷を示す負荷情報と、
前記ネットワークにおけるリンクの状態を示すリンク情報と
が格納され、
前記経路設計部は、前記負荷情報と前記リンク情報のうち少なくとも一方を参照することによって、前記２以上の中継処理装置のうち最適な１つを前記ターゲットとして選択する
ネットワークシステム。
【請求項４】
請求項２又は３に記載のネットワークシステムであって、
前記各中継処理装置は、ロードバランサである
ネットワークシステム。
【請求項５】
請求項１に記載のネットワークシステムであって、
前記宛先アドレスで指定されるサーバは、前記複数の中継処理装置のうち１つの中継処理装置に割り当てられており、
前記経路設計部は、前記１つの中継処理装置を前記ターゲットとして選択する
ネットワークシステム。
【請求項６】
請求項５に記載のネットワークシステムであって、
前記各中継処理装置は、ファイアウォールである
ネットワークシステム。
【請求項７】
請求項１乃至６のいずれか一項に記載のネットワークシステムであって、
前記コントローラは、更に、サーバあるいは中継処理装置の追加に応答して前記割当情報を更新する割当管理部を備える
ネットワークシステム。
【請求項８】
ネットワーク中に配置された複数のスイッチを制御するコントローラであって、
前記ネットワークには複数のサーバと複数の中継処理装置が接続され、
前記複数のサーバの各々は、前記複数の中継処理装置のうち少なくとも１つに割り当てられ、
前記複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行し、
前記複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、前記フローテーブルを参照することによって、前記入力元から受け取ったパケットを前記転送先に転送し、
前記コントローラは、
記憶部と、
前記複数のスイッチのうち要求元スイッチからの要求に応答して、前記要求元スイッチから宛先アドレスまでのフローの経路を設計する経路設計部と、
前記設計された経路上の各スイッチに対して、当該フローのパケットが前記設計された経路に沿って転送されるように前記フローテーブルを設定することを指示するスイッチ設定部と
を備え、
前記記憶部には、
前記複数のサーバ、前記複数の中継処理装置、前記複数のスイッチ間の接続状態を示すネットワーク構成情報と、
前記複数のサーバと前記複数の中継処理装置との間の割り当て関係を示す割当情報と
が格納され、
前記経路設計部は、前記割当情報を参照して、前記宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか１つをターゲットとして選択し、
前記経路設計部は、前記ネットワーク構成情報を参照して、前記ターゲットを含むように前記経路を設計する
コントローラ。
【請求項９】
ネットワークシステムの制御方法であって、
前記ネットワークシステムは、
ネットワークに接続された複数のサーバと、
前記ネットワークに接続された複数の中継処理装置と、
前記ネットワーク中に配置された複数のスイッチと
を備え、
前記複数のサーバの各々は、前記複数の中継処理装置のうち少なくとも１つに割り当てられ、
前記複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行し、
前記複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、前記フローテーブルを参照することによって、前記入力元から受け取ったパケットを前記転送先に転送し、
前記制御方法は、
前記複数のスイッチのうち要求元スイッチからの要求に応答して、前記要求元スイッチから宛先アドレスまでのフローの経路を設計するステップと、
前記設計された経路上の各スイッチに対して、当該フローのパケットが前記設計された経路に沿って転送されるように前記フローテーブルを設定することを指示するステップと
を含み、
前記経路を設計するステップは、
ネットワーク構成情報と割当情報を記憶装置から読みだすステップと、ここで、前記ネットワーク構成情報は、前記複数のサーバ、前記複数の中継処理装置、前記複数のスイッチ間の接続状態を示し、前記割当情報は、前記複数のサーバと前記複数の中継処理装置との間の割り当て関係を示し、
前記割当情報を参照して、前記宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか１つをターゲットとして選択するステップと、
前記ネットワーク構成情報を参照して、前記ターゲットを含むように前記経路を設計するステップと
を含む
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステムとその制御方法に関する。
【背景技術】
【０００２】
ネットワークシステムにおいて、負荷分散（load balancing）は重要な課題の１つである。例えば、非特許文献１に記載された技術は、エンタープライズネットワークのような非構造的なネットワークにおいて、ネットワーク輻輳状態とサーバ負荷状態を考慮することによって総合的な負荷分散を実現している。【０００３】
特許文献１（特開２００５−６４８８２号公報）には、高位レイヤ処理システムが開示されている。その高位レイヤ処理システムにおいて、システムのスケーラビリティ確保のため、複数の高位レイヤ処理装置が並列に配置される。それら高位レイヤ処理装置群のリソースを均等に活用するために、高位レイヤ処理装置群の前段にパケット振分装置が設けられる。パケット振分装置は、受信パケットのＬ３以下の情報に基づいて、複数の高位レイヤ処理装置に対してパケットを振り分ける。具体的には、パケット振分装置は、ハッシュ値を受信パケットに組み込み、そのパケットを高位レイヤ処理装置に送信する。高位レイヤ処理装置は、そのパケットを受け取り、自分が輻輳するおそれがある場合にはその旨をパケット振分装置に通知する。その場合、パケット振分装置は、他の高位レイヤ処理装置を選択する。これにより、特定の高位レイヤ処理装置への負荷集中が防止される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−６４８８２号公報
【非特許文献】
【０００５】
【非特許文献１】Ｎｉｋｈｉｌ  Ｈａｎｄｉｇｏｌ  ｅｔ  ａｌ．，  “Ｐｌｕｇ−ｎ−Ｓｅｒｖｅ：  Ｌｏａｄ−Ｂａｌａｎｃｉｎｇ  Ｗｅｂ  Ｔｒａｆｆｉｃ  ｕｓｉｎｇ  ＯｐｅｎＦｌｏｗ”，  ＡＣＭ  ＳＩＧＣＯＭＭ，  ２００９，  (http://conferences.sigcomm.org/sigcomm/2009/demos/sigcomm-pd-2009-final26.pdf)
【発明の概要】
【０００６】
上記特許文献１に記載された技術によれば、複数の高位レイヤ処理装置の前段にパケット振分装置が設けられ、それにより、特定の高位レイヤ処理装置への負荷集中が抑制される。しかしながらこの場合、そのパケット振分装置自体がボトルネックとなる。従って、パケット振分装置自体のスケーラビリティも確保することが好ましい。
【０００７】
より一般的に、パケット振分装置に限らず、ロードバランサ（load balancer；負荷分散装置）やファイアウォール（fire wall）等の装置は、以下「中継処理装置」と参照される。本発明の１つの目的は、ネットワークシステムにおいて中継処理装置のスケーラビリティを容易に確保することにある。
【０００８】
本発明の１つの観点において、ネットワークシステムが提供される。ネットワークシステムは、ネットワークに接続された複数のサーバと、ネットワークに接続された複数の中継処理装置と、ネットワーク中に配置された複数のスイッチと、複数のスイッチを制御するコントローラと、を備える。複数のサーバの各々は、複数の中継処理装置のうち少なくとも１つに割り当てられる。複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行する。複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、フローテーブルを参照することによって、入力元から受け取ったパケットを転送先に転送する。コントローラは、記憶部と、経路設計部と、スイッチ設定部とを備える。記憶部には、複数のサーバ、複数の中継処理装置、複数のスイッチ間の接続状態を示すネットワーク構成情報と、複数のサーバと複数の中継処理装置との間の割り当て関係を示す割当情報と、が格納される。経路設計部は、複数のスイッチのうち要求元スイッチからの要求に応答して、要求元スイッチから宛先アドレスまでのフローの経路を設計する。詳細には、経路設計部は、割当情報を参照して、宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか１つをターゲットとして選択する。そして、経路設計部は、ネットワーク構成情報を参照して、選択されたターゲットを含むように経路を設計する。スイッチ設定部は、設計経路上の各スイッチに対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルを設定することを指示する。
【０００９】
本発明の他の観点において、ネットワーク中に配置された複数のスイッチを制御するコントローラが提供される。ネットワークには複数のサーバと複数の中継処理装置が接続される。複数のサーバの各々は、複数の中継処理装置のうち少なくとも１つに割り当てられる。複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行する。複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、フローテーブルを参照することによって、入力元から受け取ったパケットを転送先に転送する。コントローラは、記憶部と、経路設計部と、スイッチ設定部とを備える。記憶部には、複数のサーバ、複数の中継処理装置、複数のスイッチ間の接続状態を示すネットワーク構成情報と、複数のサーバと複数の中継処理装置との間の割り当て関係を示す割当情報と、が格納される。経路設計部は、複数のスイッチのうち要求元スイッチからの要求に応答して、要求元スイッチから宛先アドレスまでのフローの経路を設計する。詳細には、経路設計部は、割当情報を参照して、宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか１つをターゲットとして選択する。そして、経路設計部は、ネットワーク構成情報を参照して、選択されたターゲットを含むように経路を設計する。スイッチ設定部は、設計経路上の各スイッチに対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルを設定することを指示する。
【００１０】
本発明の更に他の観点において、ネットワークシステムの制御方法が提供される。ネットワークシステムは、ネットワークに接続された複数のサーバと、ネットワークに接続された複数の中継処理装置と、ネットワーク中に配置された複数のスイッチと、を備える。複数のサーバの各々は、複数の中継処理装置のうち少なくとも１つに割り当てられる。複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行する。複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、フローテーブルを参照することによって、入力元から受け取ったパケットを転送先に転送する。制御方法は、（Ａ）複数のスイッチのうち要求元スイッチからの要求に応答して、要求元スイッチから宛先アドレスまでのフローの経路を設計するステップと、（Ｂ）設計経路上の各スイッチに対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルを設定することを指示するステップと、を含む。（Ａ）経路を設計するステップは、（Ａ１）ネットワーク構成情報と割当情報を記憶装置から読みだすステップと、ここで、ネットワーク構成情報は、複数のサーバ、複数の中継処理装置、複数のスイッチ間の接続状態を示し、割当情報は、複数のサーバと複数の中継処理装置との間の割り当て関係を示し、（Ａ２）割当情報を参照して、宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか１つをターゲットとして選択するステップと、（Ａ３）ネットワーク構成情報を参照して、選択されたターゲットを含むように経路を設計するステップと、を含む。
【００１１】
本発明によれば、ネットワークシステムにおいて中継処理装置のスケーラビリティを容易に確保することが可能となる。
【図面の簡単な説明】
【００１２】
上記及び他の目的、長所、特徴は、次の図面と共に説明される本発明の実施の形態により明らかになるであろう。【００１３】
【図１】図１は、本発明の実施の形態に係るネットワークシステムの構成例を示すブロック図である。
【図２】図２は、本発明の実施の形態におけるスイッチの構成例を示すブロック図である。
【図３】図３は、本発明の実施の形態におけるフローテーブルを示す概念図である。
【図４】図４は、本発明の実施の形態に係るネットワークシステムの動作を示すフローチャートである。
【図５Ａ】図５Ａは、本発明の実施の形態に係るコントローラのハードウェア構成例を示すブロック図である。
【図５Ｂ】図５Ｂは、本発明の実施の形態に係るコントローラの機能構成を示す機能ブロック図である。
【図６】図６は、本発明の実施の形態における割当情報を示す概念図である。
【図７】図７は、本発明の実施の形態におけるステップＳ１１０（経路設計）の処理を示すフローチャートである。
【図８】図８は、本発明の実施の形態におけるステップＳ１４０の処理を示すフローチャートである。
【図９】図９は、本発明の実施の形態におけるステップＳ１５０の処理を示すフローチャートである。
【図１０】図１０は、本発明の実施の形態におけるステップＳ１６０の処理を示すフローチャートである。
【図１１】図１１は、本発明の実施の形態におけるステップＳ１７０の処理を示すフローチャートである。
【図１２】図１２は、第１の例におけるネットワークシステムの構成を示している。
【図１３】図１３は、第１の例におけるネットワークシステムの論理構成を示している。
【図１４】図１４は、第１の例における割当情報を示している。
【図１５】図１５は、第２の例におけるネットワークシステムの構成を示している。
【図１６】図１６は、第２の例におけるネットワークシステムの論理構成を示している。
【図１７】図１７は、第２の例における割当情報を示している。
【発明を実施するための形態】
【００１４】
添付図面を参照して、本発明の実施の形態を説明する。
【００１５】
１．ネットワークシステム
図１は、本実施の形態に係るネットワークシステム１の構成例を示すブロック図である。ネットワークシステム１は、複数のスイッチ１０、複数の中継処理装置２０、複数のサーバ３０、及びコントローラ１００を備えている。
【００１６】
中継処理装置２０及びサーバ３０は、スイッチ１０を介してネットワークに接続されている。中継処理装置２０は、サーバ３０宛のフローを処理するための専用装置である。中継処理装置２０としては、ロードバランサ（負荷分散装置）やファイアウォールといったネットワークアプライアンスが例示される。ネットワークアプライアンスは、専用のハードウェアによって、あるいは、汎用サーバにソフトウェアを実装することによって実現される。あるいは、ネットワークアプライアンスは、汎用サーバ上の仮想マシン（Virtual Machine）にソフトウェアを実装することによって実現されてもよい（仮想アプライアンスと呼ばれる）。
【００１７】
本実施の形態では、中継処理装置２０のスケーラビリティを確保するため、複数の中継処理装置２０が設けられる。また、複数の中継処理装置２０と複数のサーバ３０とは互いに関連付けられる。各サーバ３０は、複数の中継処理装置２０のうち少なくとも１つに割り当てられ、各中継処理装置２０は、複数のサーバ３０のうち少なくとも１つに割り当てられる。そして、各中継処理装置２０は、自身に割り当てられたサーバ３０へのフローのパケットに対して、所定の処理（ロードバランサとしての処理、ファイアウォールとしての処理、等）を実行する。
【００１８】
尚、中継処理装置２０及びサーバ３０は、管理装置（図示されない）によってそれぞれ管理される。それぞれの管理装置は、コントローラ１００からの要求に応じて、中継処理装置２０及びサーバ３０の識別情報等をコントローラ１００に通知する。
【００１９】
複数のスイッチ１０は、ネットワーク内に分散的に配置されている。スイッチ１０間はリンク（回線）で接続されており、複数のスイッチ１０によってスイッチネットワークが構成される。このスイッチネットワークは、外部ネットワークと中継処理装置２０、サーバ３０との間、及び、中継処理装置２０とサーバ３０との間に介在している。各スイッチ１０は、受信したパケットを指定された転送先に転送する機能を有している。その指定を行うのが、コントローラ１００である。コントローラ１００は、制御回線５を介してスイッチ１０に接続されており、制御回線５を介して各スイッチ１０を制御する機能を有している。
【００２０】
図２は、スイッチ１０の構成例を示している。スイッチ１０は、スイッチ処理部１１、コントローラ通信部１２、記憶部１３、及び複数のポート１５を備えている。外部からパケットが入力されるポート１５は入力ポートであり、パケットが外部に出力されるポート１５は出力ポートである。スイッチ処理部１１は、入力ポートから出力ポートへのパケット転送等、スイッチの主要な処理を行う。コントローラ通信部１２は、制御回線５を介してコントローラ１００に接続されており、コントローラ１００と通信を行う。
【００２１】
記憶部１３には、フローテーブル（転送テーブル）ＴＢＬが格納されている。このフローテーブルＴＢＬは、パケットの入力元（入力ポート）と転送先（出力ポート）との対応関係を、フロー毎に示している。スイッチ処理部１１は、記憶部１３に格納されているフローテーブルＴＢＬを参照することによって、入力ポートから受け取ったパケットを指定された出力ポートに転送することができる。より詳細には、次の通りである。
【００２２】
図３は、フローテーブルＴＢＬを示す概念図である。フローテーブルＴＢＬは、フロー毎に異なるエントリを有している。１つのエントリは、入力ポート、ヘッダ情報、出力ポート、及びアクションの対応関係を示している。ヘッダ情報は、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、宛先ＩＰアドレス、送信元ＩＰアドレス等、パケットヘッダから得られる情報である。このヘッダ情報を用いることにより、フローを識別することができる。アクションは、受信パケットに対する処理内容（転送、消去等）を示す。
【００２３】
図４は、本実施の形態に係るネットワークシステム１の動作を示すフローチャートである。スイッチ１０は、あるフローのパケットを受信する（ステップＳ１１）。具体的には、スイッチ処理部１１が、入力ポートを通してパケットを受信する。入力ポートからパケットを受け取ると、スイッチ処理部１１は、受信パケットのヘッダ情報を抽出する。そして、スイッチ処理部１１は、抽出したヘッダ情報と入力ポートを検索キーとして用いてフローテーブルＴＢＬの検索を行う（ステップＳ１２）。検索キーに一致するエントリが有る場合（ステップＳ１３；Ｙｅｓ)、スイッチ処理部１１は、該当エントリに示されているアクションを実行する（ステップＳ１４）。典型的には、スイッチ処理部１１は、該当エントリに示される出力ポートに受信パケットを出力する。
【００２４】
一方、検索キーに一致するエントリがフローテーブルＴＢＬに無い場合（ステップＳ１３；Ｎｏ）、それは、スイッチ１０が当該フローのパケットを初めて受信したことを意味する。この場合、スイッチ処理部１１は、当該フローのパケットの転送経路を設定するよう、コントローラ１００に対して要求する。具体的には、スイッチ処理部１１は、コントローラ通信部１２を介して、受信パケット（あるいは受信パケットのヘッダ情報）をコントローラ１００に送信する（ステップＳ１５）。この経路設定要求をコントローラ１００に送信したスイッチ１０は、以下「要求元スイッチ」と参照される。
【００２５】
コントローラ１００は、要求元スイッチから経路設定要求（パケットあるいはヘッダ情報）を受け取る。この経路設定要求に応答して、コントローラ１００は、当該フローの経路を設計する（ステップＳ１１０）。より詳細には、コントローラ１００は、経路設定要求からパケットの宛先アドレスを抽出し、要求元スイッチからその宛先アドレスまでの経路を設計（決定）する。このとき、本実施の形態に係るコントローラ１００は、複数の中継処理装置２０の中から最適なものを選び、最適な中継処理装置２０を通過するようにフロー経路を設計する。詳細は後述される（第２節参照）。
【００２６】
次に、コントローラ１００は、設計経路上のスイッチ１０（要求元スイッチを含む）に対して、設計経路に沿ったフロー通信を実現するように指示する（ステップＳ１２０）。具体的には、コントローラ１００は、設計経路上の各スイッチ１０に対して、当該設計経路をフローテーブルＴＢＬに反映するよう指示する。すなわち、コントローラ１００は、設計経路上の各スイッチ１０に対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルＴＢＬを設定することを指示する。この指示に応答して、設計経路上の各スイッチ１０は、当該フローに関連するエントリを自身のフローテーブルＴＢＬに追加する。
【００２７】
フローテーブルＴＢＬの設定後、コントローラ１００は、受信パケットを要求元スイッチに返送する（ステップＳ１３０）。それ以降、設計経路上の各スイッチ１０は、当該フローのパケットを受け取った際に、そのパケットを指定された経路に沿って転送することができる。
【００２８】
このように、コントローラ１００は、フロー経路を決定し、そのフロー経路に沿った通信が実現されるようにネットワーク中のスイッチ１０を制御する。つまり、コントローラ１００は、スイッチ１０を制御することによって、ネットワーク通信を適宜制御することができる。このような処理を実現するためのコントローラ１００とスイッチ１０との間のインタフェース方式としては、例えば、Ｏｐｅｎｆｌｏｗ（http://www.openflowswitch.org/を参照）が挙げられる。この場合、「Ｏｐｅｎｆｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ」がコントローラ１００となり、「Ｏｐｅｎｆｌｏｗ  Ｓｗｉｔｃｈ」が各スイッチ１０となる。Ｏｐｅｎｆｌｏｗの「Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ」を利用することにより、各スイッチ１０のフローテーブルＴＢＬの設定が可能である。
【００２９】
尚、本実施の形態に係るネットワークシステム１は、例えばデータセンター（data center）に適用される。一般的に、データセンターではサーバ群はラックに収容される。単一テナントの場合、ラック内のサーバ、あるいは、サーバ内の仮想マシンは全て、同じテナントに属することになる。一方、マルチテナントの場合、ラック内に複数のテナント環境が混在し得る。その場合、ＶＬＡＮなどのネットワーク仮想化技術によって、物理ネットワーク上に仮想的なネットワークが多重される。そして、個々の仮想的なネットワークにおいて、中継処理装置及びサーバが接続管理される。
【００３０】
２．コントローラ
２−１．構成
次に、本実施の形態に係るコントローラ１００を詳しく説明する。図５Ａは、コントローラ１００のハードウェア構成例を示すブロック図である。コントローラ１００は、ＣＰＵ（Central Processing Unit）１０１、メモリ１０２、二次記憶装置１０３、ネットワークインタフェース１０４等を備える計算機である。
【００３１】
図５Ｂは、コントローラ１００の機能構成を示す機能ブロック図である。コントローラ１００は、経路設計部１１０、スイッチ設定部１２０、スイッチ通信部１３０、割当管理部１４０、管理インタフェース１５０、及び記憶部１６０を備えている。
【００３２】
経路設計部１１０は、上述のステップＳ１１０（経路設計）を実行する。スイッチ設定部１２０は、上述のステップＳ１２０（スイッチ設定）を実行する。スイッチ通信部１３０は、制御回線５を介して各スイッチ１０に接続されており、各スイッチ１０と通信を行う。割当管理部１４０は、後述される割当管理処理（ステップＳ１４０、Ｓ１５０、Ｓ１６０、Ｓ１７０）を実行する。管理インタフェース１５０は、中継処理装置２０及びサーバ３０の管理装置と通信を行う。スイッチ通信部１３０及び管理インタフェース１５０は、図５Ａ中のネットワークインタフェース１０４に対応している。経路設計部１１０、スイッチ設定部１２０、割当管理部１４０等は、ＣＰＵ１０１がコンピュータプログラムを実行することにより実現される。このコンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
【００３３】
記憶部１６０は、ＲＡＭ（Random Access Memory）やＨＤＤ（Hard Disk Drive）といった記憶装置であり、図５Ａ中のメモリ１０２及び二次記憶装置１０３に相当する。この記憶部１６０には、ネットワーク構成情報ＴＰＬ、負荷情報ＬＡＤ、リンク情報ＬＮＫ、設計経路情報ＲＴＥ、ポリシ情報ＰＯＬ、割当情報ＡＳＮなどが格納される。
【００３４】
ネットワーク構成情報ＴＰＬは、ネットワークの物理構成及び論理構成を示す。すなわち、ネットワーク構成情報ＴＰＬは、複数のサーバ３０、複数の中継処理装置２０、複数のスイッチ１０間の接続状態（トポロジ）を示す。例えば、ネットワーク構成情報ＴＰＬは、各サーバ３０がどのスイッチ１０のどのポート１５に接続されているか、各中継処理装置２０がどのスイッチ１０のどのポート１５に接続されているか、などを示す。
【００３５】
負荷情報ＬＡＤは、それぞれの中継処理装置２０の負荷を示す。各中継処理装置２０の負荷は、各中継処理装置２０によって計測される。コントローラ１００は、中継処理装置２０の管理装置を通して、計測された負荷に関する情報を取得する。
【００３６】
リンク情報ＬＮＫは、ネットワークにおけるリンク（回線）の状態を示す。リンク状態は、リンク容量（通信能力）及び輻輳状態を含む。リンク容量は予め決まっている。輻輳状態は、各スイッチ１０により計測され、コントローラ１００に通知される。尚、ここでのリンクは、物理的な回線だけでなく、物理的な回線を分割した仮想リンクも含む。この場合、スイッチ間の通信能力は、仮想リンクの帯域幅で規定される。
【００３７】
設計経路情報ＲＴＥは、ステップＳ１１０の結果作成される情報であり、あるフローのパケットの転送経路を示す。
【００３８】
ポリシ情報ＰＯＬは、中継処理装置２０（ロードバランサ、ファイアウォール）のポリシを示す。このポリシ情報ＰＯＬは、中継処理装置２０へのポリシ設定に利用される。
【００３９】
割当情報ＡＳＮは、複数のサーバ３０と複数の中継処理装置２０との間の割り当て関係を示す。各サーバ３０は、複数の中継処理装置２０のうち少なくとも１つに割り当てられ、各中継処理装置２０は、複数のサーバ３０のうち少なくとも１つに割り当てられる。図６は、割当情報ＡＳＮを示す概念図である。例えば、割当情報ＡＳＮは、各中継処理装置２０の識別情報と、各中継処理装置２０に割り当てられたサーバ３０の識別情報及びＩＰアドレスを示す。
【００４０】
２−２．経路設計（ステップＳ１１０）及びスイッチ設定（ステップＳ１２０）
ステップＳ１１０において、経路設計部１１０は、要求元スイッチから経路設定要求（パケットあるいはヘッダ情報）を受け取る。この経路設定要求に応答して、経路設計部１１０は、要求元スイッチから宛先までのフローの経路を設計する。図７に示されるフローチャートを参照して、本実施の形態におけるステップＳ１１０を以下に詳しく説明する。
【００４１】
ステップＳ１１１：
経路設計部１１０は、受け取った経路設定要求からパケットの宛先ＩＰアドレスを抽出する。続いて、経路設計部１１０は、記憶部１６０に格納されている上記割当情報ＡＳＮを参照して、宛先ＩＰアドレスに関連付けられている中継処理装置２０を抽出する。つまり、経路設計部１１０は、割当情報ＡＳＮを参照することによって、宛先ＩＰアドレスで指定されるサーバに対して割り当てられている中継処理装置２０を抽出する。
【００４２】
ステップＳ１１３：
抽出数が１の場合、すなわち、宛先ＩＰアドレスが単一の中継処理装置２０にだけ割り当てられている場合（ステップＳ１１２；Ｙｅｓ）、経路設計部１１０は、その単一の中継処理装置２０を“ターゲット”として選択する。
【００４３】
ステップＳ１１４：
抽出数が複数の場合、すなわち、宛先ＩＰアドレスが２以上の中継処理装置２０に割り当てられている場合（ステップＳ１１２；Ｎｏ）、経路設計部１１０は、それら中継処理装置２０のうちいずれか１つを“ターゲット”として選択する。このターゲット選択に際し、経路設計部１１０は、通信効率や中継処理装置２０の負荷分散を考慮する。そのため、経路設計部１１０は、記憶部１６０に格納されているリンク情報ＬＩＮＫあるいは／及び負荷情報ＬＡＤを参照する。そして、経路設計部１１０は、通信効率や負荷分散の観点から最適な１つの中継処理装置２０をターゲットとして選択する。
【００４４】
ステップＳ１１５：
経路設計部１１０は、ネットワーク構成情報ＴＰＬを参照して、要求元スイッチから宛先アドレスまでのパケット転送経路を設計する。このとき、経路設計部１１０は、上述の選択ターゲットを通過するように経路を設計（決定）する。
【００４５】
ステップＳ１１６：
経路設計部１１０は、設計した経路を示す設計経路情報ＲＴＥを作成し、その設計経路設計情報ＲＴＥを記憶部１６０に格納する。
【００４６】
その後、スイッチ設定部１２０は、記憶部１６０に格納された設計経路情報ＲＴＥを参照して、ステップＳ１２０を実行する。具体的には、スイッチ設定部１２０は、設計経路上の各スイッチ１０に対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルＴＢＬを設定することを指示する。この指示に応答して、設計経路上の各スイッチ１０は、当該フローに関連するエントリを自身のフローテーブルＴＢＬに追加する。
【００４７】
以上に説明されたように、本実施の形態によれば、中継処理装置２０のスケーラビリティを確保するために、複数の中継処理装置２０が設けられる。更に、それら複数の中継処理装置２０の前段に複数のスイッチ１０が設けられる。コントローラ１００は、複数の中継処理装置２０の中から宛先に応じた適切なものをターゲットとして選択し、そのターゲットを通過するように経路を設計する。そして、設計経路に沿ってパケットが転送されるように、中継処理装置２０の前段に設けられたスイッチ１０を制御する。これは、複数の中継処理装置２０に対するフローの分配（振り分け）が、スイッチ１０とコントローラ１００によって実現されていることを意味する。従って、状況に応じて、中継処理装置２０を簡単にスケールアウトすることができる。このように、本実施の形態によれば、中継処理装置２０のスケーラビリティを容易に確保することができる。
【００４８】
２−３．割当管理
例えばサーバ３０や中継処理装置２０が新たに追加されると、ネットワーク構成が変わる。このようなネットワーク構成の変更に応答して、コントローラ１００の割当管理部１４０は、割当情報ＡＳＮの更新を行う。
【００４９】
（ステップＳ１４０：サーバ追加）
図８を参照して、新規サーバをネットワークに追加登録する場合の処理（ステップＳ１４０）を説明する。典型的には、ネットワークシステムにおいてサーバをスケールアウトするために、新規のサーバが追加される。
【００５０】
ステップＳ１４１：
割当管理部１４０は、サーバ３０の管理装置あるいはサーバ３０の設定情報ファイルから新規サーバ情報を取得する。更に、サーバ探索処理等を行い、新規サーバの接続先情報（どのスイッチのどのポートに接続されたか）を取得する。
【００５１】
ステップＳ１４２：
割当管理部１４０は、ネットワーク構成情報ＴＰＬ（論理的なネットワーク接続関係）と接続先情報及び新規サーバ情報に基づいて、新規サーバを担当する中継処理装置２０を決定する。このとき、割当管理部１４０は、新規サーバに必要な機能を有する中継処理装置２０を選択する。例えば、新規サーバに対してロードバランサが必要な場合、割当管理部１４０は、ロードバランサ機能をもつ中継処理装置２０を選択する。
【００５２】
ステップＳ１４３：
割当管理部１４０は、ステップＳ１４２で選択された中継処理装置２０に、新規サーバ情報を登録する。新規サーバ情報は、複数の中継処理装置２０に登録されてもよい。中継処理装置２０がロードバランサの場合、新規サーバ情報はロードバランスグループに追加される。中継処理装置２０がファイアウォールの場合、そのファイアウォールに後段のサーバ情報を明示的に登録する必要はないが、中継処理装置を介して転送する可能性のあるサーバについての情報をコントローラ１００に保持しておく。
【００５３】
ステップＳ１４４：
割当管理部１４０は、割当情報ＡＳＮを更新する。
【００５４】
（ステップＳ１５０：サーバ削除）
図９を参照して、サーバを登録から削除する場合の処理（ステップＳ１５０）を説明する。典型的には、サーバの性能が十分となった場合に、サーバが削除される。
【００５５】
ステップＳ１５１：
割当管理部１４０は、サーバ３０の管理装置あるいはサーバ３０の設定情報ファイルから削除サーバ情報を取得する。
【００５６】
ステップＳ１５２：
割当管理部１４０は、割当情報ＡＳＮを参照して、削除サーバに割り当てられている中継処理装置２０を認識する。
【００５７】
ステップＳ１５３：
割当管理部１４０は、ステップＳ１５２で得られた中継処理装置２０から、サーバ情報を削除する。
【００５８】
ステップＳ１５４：
割当管理部１４０は、割当情報ＡＳＮを更新する。
【００５９】
（ステップＳ１６０：中継処理装置の追加）
図１０を参照して、新規中継処理装置を追加する場合の処理（ステップＳ１６０）を説明する。典型的には、典型的には、中継処理装置２０の性能が足りなくなった場合や、サーバ３０までの中継経路が輻輳した場合に、新規中継処理装置が追加される。
【００６０】
ステップＳ１６１：
割当管理部１４０は、中継処理装置２０の管理装置あるいは中継処理装置２０の設定情報ファイルから、新規中継処理装置の識別情報（機能、アドレス等）及び接続先情報（どのスイッチのどのポートに接続されたか）を取得する。
【００６１】
ステップＳ１６２：
割当管理部１４０は、新規中継処理装置の識別情報及び接続先情報に基づいて、既存の中継処理装置２０が担当していたサーバのうち新規中継処理装置へ担当を変更するサーバを選択する。
【００６２】
ステップＳ１６３：
割当管理部１４０は、ステップＳ１６２で選択されたサーバのサーバ情報を、新規中継処理装置に登録する。
【００６３】
ステップＳ１６４：
割当管理部１４０は、割当情報ＡＳＮを更新する。
【００６４】
（ステップＳ１７０：割当サーバ数の変更）
図１１を参照して、中継処理装置２０に対する割当サーバ数を変更する場合の処理（ステップＳ１７０）を説明する。
【００６５】
ステップＳ１７１：
中継処理装置２０は、自身の負荷を計測し、計測負荷を管理装置経由でコントローラ１００に通知する。あるいは、コントローラ１００の負荷情報収集部（図示されない）が、各中継処理装置２０から計測負荷情報を収集してもよい。割当管理部１４０は、それぞれの中継処理装置２０の負荷を示す上述の負荷情報ＬＡＤを記憶部１６０に格納する。
【００６６】
ステップＳ１７２：
割当管理部１４０は、負荷情報ＬＡＤを参照し、各中継処理装置２０の計測負荷を所定の閾値と比較する。計測負荷が閾値を超えていない場合（ステップＳ１７２；Ｎｏ）、処理は終了する。
【００６７】
ステップＳ１７３：
一方、ある中継処理装置２０（移行元の中継処理装置）に関する計測負荷が閾値を超えている場合（ステップＳ１７２；Ｙｅｓ）、割当管理部１４０は、他の中継処理装置２０に余裕があるかどうか調べる。余裕のある他の中継処理装置２０が有る場合（ステップＳ１７３；Ｙｅｓ）、割当管理部１４０は、その中継処理装置２０を移行先の中継処理装置とする。
【００６８】
ステップＳ１７４：
一方、余裕のある中継処理装置２０が他に無い場合（ステップＳ１７３；Ｎｏ）、上記ステップＳ１６０と同様に、新規中継処理装置が追加される。この場合、割当管理部１４０は、新規中継処理装置を移行先の中継処理装置とする。
【００６９】
ステップＳ１７５：
割当管理部１４０は、移行元の中継処理装置が担当していたサーバのうち、移行先の中継処理装置へ担当を変更するサーバを選択する。そして、割当管理部１４０は、選択されたサーバのサーバ情報を、移行元の中継処理装置から削除し、移行先の中継処理装置に登録する。
【００７０】
ステップＳ１７６：
割当管理部１４０は、割当情報ＡＳＮを更新する。このようにして、各中継処理装置２０に割り当てるサーバ数を、各中継処理装置２０の負荷に応じて増減させることが可能となる。それにより、中継処理装置２０のリソースを効率的に利用することが可能となる。
【００７１】
３．具体例
３−１．第１の例：ロードバランサ
図１２〜図１４を参照して、本実施の形態の第１の例を説明する。図１２は、第１の例におけるネットワークシステム１の構成を示している。図１３は、第１の例におけるネットワークシステム１の論理構成を示している。図１４は、第１の例における割当情報ＡＳＮを示している。
【００７２】
第１の例では、中継処理装置２０がロードバランサＬＢである。図１２に示されるように、第１のロードバランサＬＢ１がスイッチ１０−１に接続されており、第２のロードバランサＬＢ２がスイッチ１０−２に接続されている。第１のロードバランサＬＢ１には、２０台のサーバＳＶ１−１〜ＳＶ１−２０が割り当てられており、第１のロードバランサＬＢ１は、それらサーバＳＶ１−１〜ＳＶ１−２０に対する負荷分散を行う。第２のロードバランサＬＢ２には、１０台のサーバＳＶ２−１〜ＳＶ２−１０が割り当てられており、第２のロードバランサＬＢ２は、それらサーバＳＶ２−１〜ＳＶ２−１０に対する負荷分散を行う。
【００７３】
図１３及び図１４に示されるように、ロードバランサＬＢ１、ＬＢ２が処理するサーバ群の仮想ＩＰアドレスは共通の「２０．１．１．１」であるとする。各ロードバランサＬＢ１、ＬＢ２は、宛先ＩＰアドレスが「２０．１．１．１」であるパケットを受信すると、配下の複数の実サーバ３０のうち１つを選択し、その実サーバに受信パケットを振り分ける（どの実サーバに送信しても処理は可能である）。つまり、宛先ＩＰアドレスは複数のサーバＳＶ間で共通であり、その単一の宛先ＩＰアドレスが２つのロードバランサＬＢ１、ＬＢ２に対応付けられている。これは、各サーバＳＶが、２つのロードバランサＬＢ１、ＬＢ２に割り当てられていることと等価である。
【００７４】
ここで、新規サーバＳＶ３の追加（ステップＳ１４０）を考える。新規サーバＳＶ３がスイッチ１０−２に追加接続されると、コントローラ１００は、その新規サーバＳＶ３に関するサーバ情報及び接続先情報を取得する（ステップＳ１４１）。次に、コントローラ１００は、新規サーバＳＶ３を含むネットワーク構成を参照して、新規サーバＳＶ３を、スイッチ１０−２に近い第２のロードバランサＬＢ２の配下に組み込む（ステップＳ１４２）。続いて、コントローラ１００は、第２のロードバランサＬＢ２のロードバランスグループに、新規サーバＳＶ３のサーバ情報を追加する（ステップＳ１４３）。そして、コントローラ１００は、図１４で示されるように割当情報ＡＳＮを更新する（ステップＳ１４４）。
【００７５】
尚、並列で第１のロードバランサＬＢ１にも、新規サーバＳＶ３を少ない重み付けで登録してもよい。この場合、サーバＳＶ３を利用するトラヒックのほとんどは第２のロードバランサＬＢ２で処理されるが、第１のロードバランサＬＢ１の配下のサーバＳＶ１−１〜ＳＶ１−２０が過負荷のときにサーバＳＶ３を選択するといった処理も可能となる。
【００７６】
スイッチ１０−４（図１２参照）が、「宛先ＩＰアドレス＝２０．１．１．１」のパケットを初めて受信した場合を考える。つまり、スイッチ１０−４が要求元スイッチとなる場合を考える。このとき、要求元スイッチ１０−４は、経路設定要求（パケットあるいはヘッダ情報）をコントローラ１００に送る。
【００７７】
経路設計部１１０は、受け取った経路設定要求から「宛先ＩＰアドレス＝２０．１．１．１」を抽出する。更に、経路設計部１１０は、図１４に示される割当情報ＡＳＮを参照して、「宛先ＩＰアドレス＝２０．１．１．１」に対応付けられている２台のロードバランサＬＢ１、ＬＢ２を抽出する（ステップＳ１１１、ステップＳ１１２；Ｎｏ）。
【００７８】
この場合、経路設計部１１０は、通信効率や負荷分散を考慮して、２台のロードバランサＬＢ１、ＬＢ２のうちいずれか１つをターゲットとして選択する（ステップＳ１１４）。例えば、図１２に示されるように、第１のロードバランサＬＢ１が接続されているスイッチ１０−１と要求元スイッチ１０−４との間のリンク容量が１Ｇｂｐｓであり、第２のロードバランサＬＢ２が接続されているスイッチ１０−２と要求元スイッチ１０−４との間のリンク容量が１０Ｇｂｐｓである場合を考える。経路設計部１１０は、ネットワーク構成情報ＴＰＬやリンク情報ＬＮＫに基づいて、第２のロードバランサＬＢ２の方をターゲットとして選択する。
【００７９】
経路設計部１１０は、要求元スイッチ１０−４から宛先ＩＰアドレスまでのパケット転送経路を設計する（ステップＳ１１５）。このとき、経路設計部１１０は、第２のロードバランサＬＢ２を通過するように経路を決定する。その後、スイッチ設定部１２０は、設計経路上の各スイッチ１０−４、１０−２に対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルＴＢＬを設定することを指示する（ステップＳ１２０）。この指示に応答して、設計経路上の各スイッチ１０−４、１０−２は、当該フローに関連するエントリを自身のフローテーブルＴＢＬに追加する。第２のロードバランサＬＢ２は、配下のサーバＳＶ２−１〜２−１０、ＳＶ３に対して分散処理を実施する。
【００８０】
３−２．第２の例：ファイアウォール
図１５〜図１７を参照して、本実施の形態の第２の例を説明する。図１５は、第２の例におけるネットワークシステム１の構成を示している。図１６は、第２の例におけるネットワークシステム１の論理構成を示している。図１７は、第２の例における割当情報ＡＳＮを示している。
【００８１】
第２の例では、中継処理装置２０がファイアウォールＦＷである。ファイアウォールＦＷは、個別の宛先サーバ３０に対するパケットを中継する。図１５に示されるように、第１のファイアウォールＦＷ１がスイッチ１０−１に接続されており、第２のファイアウォールＦＷ２がスイッチ１０−２に接続されている。第１のファイアウォールＦＷ１には、２０台のサーバＳＶ１−１〜ＳＶ１−２０が割り当てられており、第１のファイアウォールＦＷ１は、それらサーバＳＶ１−１〜ＳＶ１−２０に対するパケットを中継する。第２のファイアウォールＦＷ２には、１０台のサーバＳＶ２−１〜ＳＶ２−１０が割り当てられており、第２のファイアウォールＦＷ２は、それらサーバＳＶ２−１〜ＳＶ２−１０に対するパケットを中継する。
【００８２】
図１６及び図１７に示されるように、ファイアウォールＦＷ１、ＦＷ２の各々のＩＰアドレスは「２０．１．１．２」である。各ファイアウォールＦＷ１、ＦＷ２は、「ＩＰアドレス＝２０．１．１．２」が転送次ホップとして指定されたパケットを受信し、ファイアウォールポリシに従ってフィルタ処理を行ったのち、当該パケットを宛先ＩＰアドレスで指定される個々のサーバ３０へ転送する。尚、ファイアウォールポリシは、ポリシ情報ＰＯＬに従って、コントローラ１００によって各ファイアウォールＦＷ１、ＦＷ２に設定される。
【００８３】
ここで、新規サーバＳＶ３の追加（ステップＳ１４０）を考える。新規サーバＳＶ３がスイッチ１０−２に追加接続されると、コントローラ１００は、その新規サーバＳＶ３に関するサーバ情報及び接続先情報を取得する（ステップＳ１４１）。次に、コントローラ１００は、新規サーバＳＶ３を含むネットワーク構成を参照して、新規サーバＳＶ３を、スイッチ１０−２に近い第２のファイアウォールＦＷ２の配下に組み込む（ステップＳ１４２）。そして、コントローラ１００は、図１７で示されるように割当情報ＡＳＮを更新する（ステップＳ１４４）。但し、第１のファイアウォールＦＷ１からもサーバＳＶ３に接続は可能である。サーバＳＶ３を利用するトラヒックのほとんどが第２のファイアウォールＦＷ２から接続されるが、第２のファイアウォールＦＷ２が過負荷のときには、第１のファイアウォールＦＷ１を介してサーバＳＶ３に接続することも可能である。
【００８４】
スイッチ１０−４（図１５参照）が、「宛先ＩＰアドレス＝２０．１．３．１」のパケットを初めて受信した場合を考える。つまり、スイッチ１０−４が要求元スイッチとなる場合を考える。このとき、要求元スイッチ１０−４は、経路設定要求（パケットあるいはヘッダ情報）をコントローラ１００に送る。
【００８５】
経路設計部１１０は、受け取った経路設定要求から「宛先ＩＰアドレス＝２０．１．３．１」を抽出する。更に、経路設計部１１０は、図１７に示される割当情報ＡＳＮを参照して、「宛先ＩＰアドレス＝２０．１．３．１」に対応付けられている第２のファイアウォールＦＷ２を抽出する（ステップＳ１１１、ステップＳ１１２；Ｙｅｓ）。この場合、経路設計部１１０は、この第２のファイアウォールＦＷ２をターゲットとして選択する（ステップＳ１１３）。
【００８６】
経路設計部１１０は、要求元スイッチ１０−４から宛先ＩＰアドレスまでのパケット転送経路を設計する（ステップＳ１１５）。このとき、経路設計部１１０は、第２のファイアウォールＦＷ２を通過するように経路を決定する。その後、スイッチ設定部１２０は、設計経路上の各スイッチ１０−４、１０−２に対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルＴＢＬを設定することを指示する（ステップＳ１２０）。この指示に応答して、設計経路上の各スイッチ１０−４、１０−２は、当該フローに関連するエントリを自身のフローテーブルＴＢＬに追加する。第２のファイアウォールＦＷ２は、宛先ＩＰアドレスで指定されるサーバＳＶ３に対するパケットを中継する。
【００８７】
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
【００８８】
本出願は、２００９年１０月２３日に出願された日本国特許出願２００９−２４４８７２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2011049135.tif 000003
【図２】
2011049135.tif 000004
【図３】
2011049135.tif 000005
【図４】
2011049135.tif 000006
【図５Ａ】
2011049135.tif 000007
【図５Ｂ】
2011049135.tif 000008
【図６】
2011049135.tif 000009
【図７】
2011049135.tif 000010
【図８】
2011049135.tif 000011
【図９】
2011049135.tif 000012
【図１０】
2011049135.tif 000013
【図１１】
2011049135.tif 000014
【図１２】
2011049135.tif 000015
【図１３】
2011049135.tif 000016
【図１４】
2011049135.tif 000017
【図１５】
2011049135.tif 000018
【図１６】
2011049135.tif 000019
【図１７】
2011049135.tif 000020
【国際調査報告】
2011049135.tif 000021
2011049135.tif 000022
2011049135.tif 000023
2011049135.tif 000024