(57)【特許請求の範囲】
【請求項１】
複数の情報処理装置を備える情報処理システムにおいて、
前記複数の情報処理装置のうち、第１の情報処理装置は、
宛先情報と、前記宛先情報に対応する固有宛先情報とを対応付けた第１の宛先情報テーブルを記憶する第１の記憶部と、
仮想マシンから受信した第１のパケットに含まれる宛先情報に基づいてハッシュ値を計算するとともに前記第１の宛先情報テーブルを検索し、検索対象のエントリが無い場合、計算した前記ハッシュ値に基づき、第２の情報処理装置を選択し、前記ハッシュ値と自装置である前記第１の情報処理装置を特定する特定情報とを受信した前記第１のパケットに付加した第２のパケットを生成する第１の処理部と、
前記第１の処理部が選択した前記第２の情報処理装置に、前記第２のパケットを送信する送信部と、を有し、
前記複数の情報処理装置のうち、第２の情報処理装置は、
宛先情報と、前記宛先情報に対応する固有宛先情報とを対応付けた第２の宛先情報テーブルを記憶する第２の記憶部と、
前記送信部が送信した前記第２のパケットを受信する受信部と、
前記受信部が受信した第２のパケットに含まれる前記ハッシュ値に基づき、前記第２の宛先情報テーブルを検索して得られた固有宛先情報を用いて前記第２のパケットから変換した第３のパケットを、前記固有宛先情報が示す宛先に送信する第２の処理部と、を有することを特徴とする情報処理システム。
【請求項２】
前記第１の記憶部はさらに、前記複数の情報処理装置を識別する識別情報を含むエントリを複数含むノード決定テーブルを記憶し、
前記第１の処理部は、前記仮想マシンから受信した第１のパケットに含まれる宛先情報に基づいてハッシュ値を計算するとともに前記第１の宛先情報テーブルを検索し、検索対象のエントリが無い場合、計算した前記ハッシュ値に基づき、前記複数の情報処理装置のうち、前記ノード決定テーブルを検索して得られた識別情報に対応する第２の情報処理装置を選択することを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記第１の処理部は、前記第２のパケットに前記ハッシュ値を含むことを示す制御情報をさらに付加し、
前記第２の処理部は、前記第２のパケットに含まれる前記制御情報に基づいて、前記第２の宛先情報テーブルの検索を行うか否か判定することを特徴とする請求項１または２記載の情報処理システム。
【請求項４】
複数の情報処理装置を備える情報処理システムにおける、前記複数の情報処理装置のうちの第１の情報処理装置であって、
宛先情報と、前記宛先情報に対応する固有宛先情報とを対応付けた第１の宛先情報テーブルを記憶する第１の記憶部と、
仮想マシンから受信した第１のパケットに含まれる宛先情報に基づいてハッシュ値を計算するとともに前記第１の宛先情報テーブルを検索し、検索対象のエントリが無い場合、計算した前記ハッシュ値に基づき、前記複数の情報処理装置のうちの第２の情報処理装置を選択し、前記ハッシュ値と自装置である前記第１の情報処理装置を特定する特定情報とを受信した前記第１のパケットに付加した第２のパケットを生成する第１の処理部と、
前記第１の処理部が選択した前記第２の情報処理装置に、前記第２のパケットを送信する送信部と、
を備える情報処理装置。
【請求項５】
複数の情報処理装置を備える情報処理システムの制御方法であって、
前記複数の情報処理装置のうち、第１の情報処理装置が
仮想マシンから受信した第１のパケットに含まれる宛先情報に基づいてハッシュ値を計算するとともに宛先情報と、前記宛先情報に対応する固有宛先情報とを対応付けた第１の宛先情報テーブルを検索し、
検索対象のエントリが無い場合、計算した前記ハッシュ値に基づき、第２の情報処理装置を選択し、
前記ハッシュ値と自装置である前記第１の情報処理装置を特定する特定情報とを受信した前記第１のパケットに付加した第２のパケットを生成し、
前記第２の情報処理装置に、前記第２のパケットを送信し、
前記複数の情報処理装置のうち、第２の情報処理装置が、
前記第２のパケットを受信し、
前記第２のパケットに含まれる前記ハッシュ値に基づき、宛先情報と前記宛先情報に対応する固有宛先情報とを対応付けた第２の宛先情報テーブルを検索し、
前記第２の宛先情報テーブルを検索して得られた固有宛先情報を用いて前記第２のパケットから変換した第３のパケットを、前記固有宛先情報が示す宛先に送信する、
処理を有する情報処理システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、および情報処理システムの制御方法に関する。
【背景技術】
【０００２】
近年、データセンターネットワークではＶＸＬＡＮ（Virtual eXtensible Local Area Network）やＳＴＴ（Stateless Transport Tunneling）などのオーバーレイ技術を用いたネットワーク仮想化技術が注目されている。
【０００３】
オーバーレイ技術の一つであるＶＸＬＡＮでは、ＶＴＥＰ(VXLAN Terminal End Point)がＶＸＬＡＮのエッジのエンドポイントに配置される。ＶＴＥＰは、ＶＸＬＡＮへ送信するパケットのカプセル化やＶＸＬＡＮから受信したパケットの非カプセル化などのパケット変換処理を行う。
【０００４】
ＶＴＥＰは、通常、物理サーバ上のハイパーバイザで動作する。すなわち、パケット変換処理は、ソフトウェアにより実行される。
【０００５】
ネットワーク仮想化において、パケットのカプセル化はソフトウェアで行われるため、ＣＰＵ（Central Processing Unit）負荷によるボトルネックの発生やＮＩＣ（Network Interface Card）の高速化機能の恩恵を受けにくくなるなどの理由で、性能上の問題が発生している。
【０００６】
これに対して、ソフトウェアで行われるパケットのカプセル化／非カプセル化処理をＮＩＣやスイッチ等のハードウェアにオフロードする（ハードウェアオフロード）ことで高速化を可能とする製品が登場している。すなわち、これらの製品はＶＴＥＰの機能をＮＩＣやスイッチで実現する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１４−１６０９０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＶＴＥＰなどのネットワーク仮想化のためのプロトコル終端部では、カプセル化後のパケットの宛先ノード情報を宛先テーブルから取得し、取得した情報を用いてカプセル化を行う。
【０００９】
オフロード機能を持つデバイスの宛先テーブルのエントリ数は、実装面積やコストの関係から非常に少ない。そのため、オフロード機能を利用しつつ大規模構成を実現することは困難である。
【００１０】
本発明の課題は、情報処理システム全体のテーブルのエントリ数を増加させることである。
【課題を解決するための手段】
【００１１】
実施の形態の情報処理システムは、複数の情報処理装置を備える。
前記複数の情報処理装置のうち、第１の情報処理装置は、第１の記憶部と、第１の処理部と、送信部と、を備える。
前記第１の記憶部は、宛先情報と、前記宛先情報に対応する固有宛先情報とを対応付けた第１の宛先情報テーブルを記憶する。
【００１２】
前記第１の処理部は、仮想マシンから受信した第１のパケットに含まれる宛先情報に基づいてハッシュ値を計算するとともに前記第１の宛先情報テーブルを検索し、検索対象のエントリが無い場合、計算した前記ハッシュ値に基づき、第２の情報処理装置を選択し、前記ハッシュ値と自装置である前記第１の情報処理装置を特定する特定情報とを受信した前記第１のパケットに付加した第２のパケットを生成する。
【００１３】
前記送信部は、前記第１の処理部が選択した前記第２の情報処理装置に、前記第２のパケットを送信する。
前記複数の情報処理装置のうち、第２の情報処理装置は、第２の記憶部と、受信部と、第２の処理部と、を備える。
前記第２の記憶部は、宛先情報と、前記宛先情報に対応する固有宛先情報とを対応付けた第２の宛先情報テーブルを記憶する。
【００１４】
前記受信部は、前記送信部が送信した前記第２のパケットを受信する。
前記第２の処理部は、前記受信部が受信した第２のパケットに含まれる前記ハッシュ値に基づき、前記第２の宛先情報テーブルを検索して得られた固有宛先情報を用いて前記第２のパケットから変換した第３のパケットを、前記固有宛先情報が示す宛先に送信する。
【発明の効果】
【００１５】
実施の形態の情報処理システムによれば、情報処理システム全体のテーブルのエントリ数を増大させることができる。それにより、ハードウェアオフロードの利用しつつ、大規模なシステムを構築できる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態に係る情報処理システムの構成図である。
【図２】実施の形態に係る情報処理システムの構成図の変形例である。
【図３】実施の形態に係るノードの構成図である。
【図４】実施の形態に係るノードのハードウェア図である。
【図５】ノード決定テーブルの例である。
【図６】ＶＮＩテーブルの例である。
【図７】宛先ＶＴＥＰテーブルの例（その１）である。
【図８】宛先ＶＴＥＰテーブルの例（その２）である。
【図９】ＶＸＬＡＮパケットの形式の詳細図である。
【図１０】ＶＸＬＡＮパケットの形式の概略図である。
【図１１】実施の形態に係るパケット中継方法の概略を示す図である。
【図１２】実施の形態に係るクラスタの見かけ上の動作を示す図である。
【図１３】実施の形態に係るパケット中継方法のフローチャートである。
【図１４】担当ノード決定の処理を示す図である。
【図１５】パケットのクラスタ内ノード間の転送時のＶＸＬＡＮヘッダを示す図である。
【図１６】パケットのクラスタ内ノード間の転送時のＶＸＬＡＮパケットを示す図である。
【図１７】実施の形態に係るパケット中継方法のフローチャートである。
【図１８】パケットのＶＸＬＡＮへの送信時のＶＸＬＡＮヘッダを示す図である。
【図１９】パケットのＶＸＬＡＮへの送信時のＶＸＬＡＮパケットを示す図である。
【図２０】他の実施の形態に係るノードの構成図である。
【図２１】他の実施の形態に係るノードのハードウェア図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら実施の形態について説明する。
図１は、実施の形態に係る情報処理システムの構成図である。
情報処理システム１０１は、ノード２０１−ｉ（ｉ＝１〜５）を有する。
ノード２０１は、例えば、サーバやパーソナルコンピュータ等である。ノード２０１は、情報処理装置の一例である。
【００１８】
ノード２０１−ｉは、ＶＸＬＡＮに接続している。ＶＸＬＡＮは、オーバーレイネットワークの一例である。ノード２０１−１〜２０１−３は、ＶＸＬＡＮを介して、ノード２０１−４、２０１−５と接続している。
【００１９】
ノード２０１−１〜２０１−５は、それぞれＶＴＥＰ＃１−１〜＃１−３、＃４、＃５の機能を有する。ＶＴＥＰは、ＶＸＬＡＮのエッジのエンドポイントに配置され、ＶＸＬＡＮへ送信するパケットのカプセル化やＶＸＬＡＮから受信したパケットの非カプセル化（カプセル解除）などのパケット変換処理を行う。
【００２０】
ノード２０１−１〜２０１−３は、それぞれ専用の通信路で互いに接続されている。情報処理システム１０１において、ノード２０１−１〜２０１−３によりクラスタ（グループ）を構成している。
【００２１】
ＶＴＥＰ＃１−１〜＃１−３、＃４、＃５は、それぞれ宛先ＶＴＥＰテーブルを有する。宛先ＶＴＥＰテーブルには、パケットの宛先情報（宛先ＭＡＣアドレス）とＶＴＥＰの固有宛先情報（ＶＴＥＰ  ＩＰアドレスとＶＴＥＰ  ＭＡＣアドレス）とが対応付けられて記載されている。
ＶＴＥＰ＃１−１〜＃１−３、＃４、＃５は、パケットのカプセル化を宛先ＶＴＥＰテーブルを用いて行う。
【００２２】
クラスタ内で宛先ＶＴＥＰテーブルのエントリが重複しないように宛先ＶＴＥＰテーブルは作成されている。例えば、クラスタ内のノード２０１−１〜２０１−３のうち、ノード２０１−１が有する宛先ＶＴＥＰテーブルにはＶＴＥＰ＃５の情報が記載され、ノード２０１−２が有する宛先ＶＴＥＰテーブルにはＶＴＥＰ＃４の情報が記載される。
また、実施の形態に係る情報処理システム１０１は、図２に示すような構成でも良い。
【００２３】
図１の情報処理システムでは、ノード２０１−１〜２０１−３は、それぞれ専用の通信路で互いに接続されていたが、図２に示すように、ＶＸＬＡＮと物理通信路を共有し、共有した物理通信路を介して、ノード２０１−１〜２０１−３が互いに通信可能としても良い。
また、共有された物理通信路上に互いに独立した（分離された）論理通信路を構成して、ノード２０１−１〜２０１−３を互いに接続するようにしてもよい。
【００２４】
図３は、実施の形態に係るノードの構成図である。
ノード２０１−ｉは、コンピュータ部２１１−ｉとＮＩＣ２２１−ｉを備える。
コンピュータ部２１１−ｉは、プログラムを実行可能なハードウェア装置である。コンピュータ部２１１−ｉにおいて、仮想マシン（ＶＭ）が実行されている。尚、仮想マシンの数は、任意の数とすることができる。
【００２５】
ＮＩＣ２２１−ｉは、ＶＸＬＡＮ等のネットワークに対する入出力（Ｉ／Ｏ）を実行する。
ＮＩＣ２２１−ｉは、パケット処理部２３１−ｉ、クラスタ内送受信部２４１−ｉ、および記憶部２５１−ｉを備える。パケット処理部２３１−ｉ、クラスタ内送受信部２４１−ｉ、および記憶部２５１−ｉにより、ＶＴＥＰの機能が実現される。
【００２６】
パケット処理部２３１−ｉは、受信したパケットに対する宛先ＶＴＥＰテーブルの検索、ハッシュ値の計算、およびパケットのカプセル化／非カプセル化などの処理を行う。
クラスタ内送受信部２４１−ｉは、パケットを転送するクラスタ内のノード２０１−ｉの決定、パケットへの情報の付加、決定したノード２０１−ｉへのパケットの転送などの処理を行う。
【００２７】
記憶部２５１−ｉは、ＮＩＣ２２１−ｉで使用されるデータやテーブルを格納する記憶装置である。記憶部２５１−ｉは、ノード決定テーブル２５２−ｉ、ＶＮＩテーブル２５３−ｉ、および宛先ＶＴＥＰテーブル２５４−ｉを格納する。ノード決定テーブル２５２−ｉ、ＶＮＩテーブル２５３−ｉ、および宛先ＶＴＥＰテーブル２５４−ｉの詳細については、後述する。
【００２８】
図４は、実施の形態に係るノードのハードウェア図である。
ノード２０１−ｉは、ＣＰＵ２１２−ｉ、メモリ２１３−ｉ、ストレージ２１４−ｉ、およびＮＩＣ２６１−ｉを備える。
ＣＰＵ２１２−ｉ、メモリ２１３−ｉ、およびストレージ２１４−ｉは、コンピュータ部２１１−ｉに対応する。
【００２９】
ＣＰＵ２１２−ｉは、各種処理を実行するプロセッサである。ＣＰＵ２１２−ｉは、メモリ２１３−ｉに読み出されたプログラムを実行することにより、仮想マシンの制御などの各種処理を行う。
メモリ２１３−ｉは、ノード２０１−ｉで使用されるデータやプログラム等を一時的に記憶する記憶装置である。メモリ２１３−ｉは、例えば、ＲＡＭ（Random Access Memory）である。
【００３０】
ストレージ２１４−ｉは、ノード２０１−ｉで使用されるデータやプログラム等を記憶する記憶装置である。ストレージ２１４−ｉは、例えば、磁気ディスク装置（ハードディスクドライブ）、不揮発性メモリなどである。
ＮＩＣ２６１−ｉは、コントローラ２６２−ｉ、処理回路２６３−ｉ、メモリ２６４−ｉ、および送受信ポート２６５−ｉを備える。
【００３１】
ＮＩＣ２６１−ｉは、ＮＩＣ２２１−ｉに対応する。
コントローラ２６２−ｉは、ＮＩＣ２６１−ｉの制御を行うチップである。
処理回路２６３−ｉは、ハッシュ値の計算、パケットのカプセル化／非カプセル化、パケットを転送するクラスタ内のノード２０１−ｉの決定、パケットへの情報の付加、決定したノード２０１−ｉへのパケットの転送などを行う。処理回路２６３−ｉは、パケット処理部２３１−ｉおよびクラスタ内送受信部２４１−ｉに対応する。また、処理回路２６３−ｉは、メモリ２６４−ｉに格納されたプログラムを実行するプロセッサでもよい。
【００３２】
メモリ２６４−ｉは、ＮＩＣ２６１−ｉで使用されるデータやプログラム等を一時的に記憶する記憶装置である。メモリ２６４−ｉは、記憶部２５１−ｉに対応する。
送受信ポート２６５−ｉは、パケットの送信および受信を行うインターフェースである。
【００３３】
図５は、ノード決定テーブルの例である。
ノード決定テーブル２５２−ｉは、後述の担当ノードの決定の処理で用いられ、送信パケットの宛先ＶＴＥＰの情報をどのノード２０１−ｉが持っているかを示す。
ノード決定テーブルには、インデックス値とノードＩＤとが対応付けられて記載されている。
【００３４】
インデックス値は、検索の際に参照されるインデックスであり、送信パケットから算出されるハッシュ値の一部が記載されている。
ノードＩＤは、ノード２０１−ｉを識別する識別子（ＩＤ）である。ノード２０１−ｉには、それぞれユニークなノードＩＤが割り当てられている。
【００３５】
図６は、ＶＮＩテーブルの例である。
ＶＮＩテーブル２５３−ｉは、ＶＭと当該ＶＭが所属する論理ネットワークとの対応関係を示す。
【００３６】
ＶＮＩテーブル２５３−ｉには、アドレス、送信元ＭＡＣアドレス、ＶＬＡＮ ＩＤ、およびＶＮＩが対応付けられて記載されている。
アドレスは、ＶＮＩテーブルのエントリを識別するインデックスである。
送信元ＭＡＣアドレスは、ＶＭのＭＡＣアドレスである。
ＶＬＡＮ ＩＤは、ＶＭが属するＶＬＡＮの識別情報である。
ＶＮＩは、ＶＭの所属する論理ネットワークの識別情報である。
【００３７】
図７は、宛先ＶＴＥＰテーブルの例（その１）である。
宛先ＶＴＥＰテーブル２５４−ｉ−１には、アドレス、宛先ＭＡＣアドレス、ＶＮＩ、宛先ＶＴＥＰ  ＩＰアドレス、および宛先ＶＴＥＰ  ＭＡＣアドレスが対応付けられて記載されている。
【００３８】
アドレスは、宛先ＶＴＥＰテーブル２５４−ｉ−１のエントリを識別するインデックスである。
宛先ＭＡＣアドレスは、宛先のＶＭのＭＡＣアドレスである。宛先ＭＡＣアドレスは、宛先情報の一例である。
ＶＮＩは、論理ネットワークの識別情報である。
宛先ＶＴＥＰ  ＩＰアドレスは、ＶＴＥＰのＩＰアドレスである。
【００３９】
宛先ＶＴＥＰ  ＭＡＣアドレスは、ＶＴＥＰ  ＭＡＣアドレスである。
宛先ＶＴＥＰ  ＩＰアドレスおよび宛先ＶＴＥＰ  ＭＡＣアドレスは固有宛先情報の一例である。
また、宛先ＶＴＥＰテーブル２５４−ｉは次のような構成でも良い。
【００４０】
図８は、宛先ＶＴＥＰテーブルの例（その２）である。
この例（その２）では、２つのテーブル２５４−ｉ−２、２５４−ｉ−３で宛先ＶＴＥＰテーブル２５４−ｉを構成する。
【００４１】
ここでは、図７の宛先ＶＴＥＰテーブルを２つのテーブル２５４−ｉ−２、２５４−ｉ−３に分割する。そして、各テーブルの宛先ＶＴＥＰ ＩＤをキーとして２つのテーブル２５４−ｉ−２、２５４−ｉ−３のエントリを対応付ける。
【００４２】
第１のテーブル２５４−ｉ−２は、アドレス、宛先ＭＡＣアドレス、ＶＮＩ、および宛先ＶＴＥＰ ＩＤが対応付けられて記載されている。
アドレス、宛先ＭＡＣアドレス、およびＶＮＩは、宛先ＶＴＥＰテーブルの例（その１）と同様であり説明は省略する。
【００４３】
宛先ＶＴＥＰ ＩＤは、ＶＴＥＰの識別情報である。
第２のテーブル２５４−ｉ−３には、宛先ＶＴＥＰ ＩＤ、宛先ＶＴＥＰ  ＩＰアドレス、および宛先ＶＴＥＰ  ＭＡＣアドレスが対応付けられて記載されている。
宛先ＶＴＥＰ ＩＤは、ＶＴＥＰの識別情報である。
宛先ＶＴＥＰ  ＩＰアドレスおよび宛先ＶＴＥＰ  ＭＡＣアドレスは、宛先ＶＴＥＰテーブルの例（その１）と同様であり説明は省略する。
【００４４】
このような２つのテーブルを用いて検索を行う場合、最初に第１のテーブル２５４−ｉ−２を検索して、検出された宛先ＶＴＥＰ  ＩＤをキーとして、第２のテーブル２５４−ｉ−３を参照する。そして、検出された宛先ＶＴＥＰ  ＩＤに対応する宛先ＶＴＥＰ ＩＰアドレスと宛先ＶＴＥＰ  ＭＡＣアドレスを検索結果として取得する。
宛先ＶＴＥＰテーブル２５４−ｉのエントリは、クラスタ内のノード２０１−１〜２０１−３で重複しないように設定される。
【００４５】
図９は、ＶＸＬＡＮパケットの形式の詳細図である。
図１０は、ＶＸＬＡＮパケットの形式の概略図である。図１０に示すＶＸＬＡＮパケットは、図９のＶＸＬＡＮパケットの一部を記載したものである。
【００４６】
ＶＸＬＡＮパケットは、本来のイーサネットフレーム（Original Frame）をカプセル化したパケットである。カプセル化のために、本来のイーサネットフレームにアウターヘッダ（Outer Header）が付加されている。アウターヘッダは、アウターイーサネットヘッダ、アウターＩＰヘッダ、アウターＵＤＰ（User Datagram Protocol）ヘッダ、及びＶＸＬＡＮヘッダを含む。
【００４７】
アウターイーサネットヘッダは、宛先ＭＡＣアドレスフィールド（図９中「Destination VTEP MAC Address(H)」「Destination VTEP MAC Address(L)」が表記されたフィールド）、送信元ＭＡＣアドレスフィールド（図９中「Source VTEP MAC Address(H)」「Source VTEP MAC Address(L)」が表記されたフィールド）、EtherType（Ethernet Type）フィールド、及びOuter VLAN Tag Informationフィールドを含む。
【００４８】
上記フィールドのなかで、EtherTypeフィールドは、通信プロトコルの種類を表す識別子がデータとして格納されるフィールドである。Optional EtherTypeフィールドに表記の「C-Tag 802.1Q」は、ネットワーク規格としてＩＥＥＥ（Institute of Electrical and Electronic Engineers）８０２．１Ｑが指定されていることを表している。その場合、Outer VLAN Tag Informationフィールドには、ＰＣＰ（Priority Code Point）、ＣＦＩ（Canonical Format Indicator）、及びＶＬＡＮ  ＩＤ（Identifier）がデータとして格納される。ＲＣＰは、ＶＸＬＡＮパケットの優先度を指定するデータである。ＣＦＩは、ＭＡＣアドレスが正規フォーマットか否かを表すデータである。
【００４９】
アウターＩＰヘッダは、ＴｏＳ（Type of Service）フィールド、Protocolフィールド、送信元ＩＰアドレスフィールド（図９中「Source VTEP IP Address」と表記）、及び宛先ＩＰアドレスフィールド（図９中「Destination VTEP IP Address」と表記）を含む。ＴｏＳフィールドには、サービスの種類を表す種別データが格納され、Protocolフィールドには、通信プロトコルの種類を表す識別子が格納される。
【００５０】
アウターＵＤＰヘッダは、送信ポート番号フィールド（図９中「Source Port」と表記）、および受信ポート番号フィールド（図９中「Dest Port」と表記）を含む。送信ポート番号フィールドには、一般に、同じ送信元IPアドレス内での送信元アプリケーションを識別するための情報が格納され、受信ポート番号フィールドには同じ宛先IPアドレス内での宛先アプリケーションを識別するための情報が格納される。図９中の「Dest Port=VXLAN Port」は、このUDPパケットがVXLANパケットであることを示している。VXLANでは、送信元ポート番号には任意の値を設定可能であり、図９中の「Source Port=ｘｘｘｘ」は任意の値が設定されていることを示す。なお、VXLAN仕様ではカプセル化前の元パケット情報に関する情報（ハッシュ値等）を格納することを推奨している。
【００５１】
ＶＸＬＡＮヘッダは、フラグフィールド（図９中「Flags」と表記）、ＶＮＩ（VXLAN Network Identifier）が格納されるVXLAN Network Identifierフィールド、予約ビット（図９中「Reserved」と表記）を含む。
【００５２】
図１１は、実施の形態に係るパケット中継方法の概略を示す図である。
図１１では、ノード２０１−１上で動作するＶＭ１がノード２０１−４上で動作するＶＭ６にパケットを送信する場合の例について説明する。尚、図１１では、ＶＴＥＰ＃１−３、＃５の記載は省略している。
【００５３】
実施の形態において、ノード２０１−１〜２０１−３がクラスタを構成しており、ノード２０１−１〜２０１−３のそれぞれが有するＶＴＥＰ＃１−１〜＃１−３が協調することで、１つの仮想的なＶＴＥＰ＃１として動作する。パケット変換に必要な情報は、クラスタ内のノード２０１−１〜２０１−３間で重複しないように宛先ＶＴＥＰテーブル２５４−１、２５４−２に記載されている。
【００５４】
先ず、ＶＭ１は、ＶＭ６へのパケットをＶＴＥＰ＃１−１に出力する（Ｓ１０）。
ＶＴＥＰ＃１−１のパケット処理部２３１−１は、パケットを受信し、ハッシュ値を計算するとともに宛先ＶＴＥＰテーブル２５４−１を検索し、検索において受信パケットに該当する情報が未登録の場合、検索時に計算したハッシュ値と受信パケットをクラスタ内送受信部２４１−１に転送する（Ｓ２０）。
【００５５】
クラスタ内送受信部２４１−１は、前記ハッシュ値(の一部)から受信パケットを担当するクラスタ内のノード２０１−２（ＶＴＥＰ＃１−２）を決定し、自装置情報とハッシュ値を受信パケットに付加して決定したノード２０１−２（ＶＴＥＰ＃１−２）に転送する（Ｓ３０）。
【００５６】
クラスタ内送受信部２４１−２がハッシュ値を含むパケットを受信した場合、パケット処理部２３１−２は、当該ハッシュ値を用いて宛先ＶＴＥＰテーブル２５４−２を検索(このときハッシュ値の再計算は不要)し、取得したエントリに記載された当該パケットに対応する固有宛先情報（宛先ＶＴＥＰ  ＩＰアドレス、宛先ＶＴＥＰ  ＭＡＣアドレス）を取得する（Ｓ４０）。
パケット処理部２３１−２は、取得した固有宛先情報を用いてパケットを変換(カプセル化)し、ネットワークに送信する（Ｓ５０）。
【００５７】
図１２は、実施の形態に係るクラスタの見かけ上の動作を示す図である。
実施の形態の情報処理システム１０１において、複数のノード２０１−１〜２０１−３（ＶＴＥＰ＃１−１〜＃１−３）が協調して動作する（図１２左図）。クラスタ内のノード上で動作するＶＭ１〜ＶＭ５から見た場合、自身が接続するＶＴＥＰは、１つの大きな宛先ＶＴＥＰテーブルを持つ仮想的なＶＴＥＰとして見える（図１２右図）。例えば、各ノードのテーブルのエントリ数が同じだとすると、Ｎ台のノードでクラスタを構成するとテーブルのエントリ数はＮ倍になる。
【００５８】
図１３は、実施の形態に係るパケット中継方法のフローチャートである。
図１３は、仮想マシン（ＶＭ）が出力したパケットを最初に受信するＶＴＥＰの処理を示す。例えば、図１１に示す例では、ＶＭ１からのパケットを最初に受信するＶＴＥＰ＃１−１（ノード２０１−１）の処理に対応する。
【００５９】
ステップＳ５０１において、パケット処理部２３１−ｉは、ＶＭからパケットを受信する。以下、受信されたパケットは、受信パケットと表記する。
ステップＳ５０２において、パケット処理部２３１−ｉは、受信パケットに含まれる送信元ＭＡＣアドレスおよびＶＬＡＮ  ＩＤをキーとして、ＶＮＩテーブル２５３−ｉを検索する。パケット処理部２３１−ｉは、検索結果としてキーに対応するＶＮＩを取得する。
【００６０】
ステップＳ５０３において、パケット処理部２３１−ｉは、受信パケットに含まれる宛先ＭＡＣアドレスと取得したＶＮＩを用いてハッシュ値を算出し、当該ハッシュ値を用いて宛先ＶＴＥＰテーブル２５４−ｉを検索する。詳細には、パケット処理部２３１−ｉは、ハッシュ値に対応する宛先ＶＴＥＰテーブル２５４−ｉのアドレスのエントリを参照する。
【００６１】
ステップＳ５０４において、パケット処理部２３１−ｉは、受信パケットに対応するエントリが宛先ＶＴＥＰテーブル２５４−ｉに存在するかチェックし、存在する場合、制御はステップＳ５０５に進み、存在しない場合、制御はステップＳ５０８に進む。詳細には、パケット処理部２３１−ｉは、ハッシュ値を用いて参照した宛先ＶＴＥＰテーブル２５４−ｉのエントリが受信パケットに含まれる宛先ＭＡＣアドレスおよび取得したＶＮＩと一致するかチェックする。一致する場合、パケット処理部２３１−ｉは、受信パケットに対応するエントリが宛先ＶＴＥＰテーブル２５４−ｉに存在すると判定し、一致しない場合、パケット処理部２３１−ｉは、受信パケットに対応するエントリが宛先ＶＴＥＰテーブル２５４−ｉに存在と判定する。
【００６２】
ステップＳ５０５において、パケット処理部２３１−ｉは、検索結果として、受信パケットの宛先ＶＴＥＰアドレス（宛先ＶＴＥＰ  ＩＰアドレスと宛先ＶＴＥＰ  ＭＡＣアドレス）を取得する。
ステップＳ５０６において、パケット処理部２３１−ｉは、取得したＶＮＩ、宛先ＶＴＥＰアドレス、および自身のＶＴＥＰアドレスを用いて、受信パケットをカプセル化（パケット変換）する。
【００６３】
ステップＳ５０７において、パケット処理部２３１−ｉは、カプセル化したパケットを宛先のＶＴＥＰに出力する。
ステップＳ５０８において、クラスタ内送受信部２４１−ｉは、検索結果として検索に用いたハッシュ値を取得する。
【００６４】
ステップＳ５０９において、クラスタ内送受信部２４１−ｉは、取得したハッシュ値を用いて、ノード決定テーブル２５２−ｉを参照し、ハッシュ値に対応するノードＩＤ（担当ノード情報）を取得する。すなわち、パケット処理部２３１−ｉは、受信パケットの担当ノードを決定し、担当ノードの情報である担当ノード情報を取得する。
【００６５】
ステップＳ５１０において、クラスタ内送受信部２４１−ｉは、取得したハッシュ値、担当ノード情報、および自身のＶＴＥＰアドレスを用いて、受信パケットをカプセル化（パケット変換）する。詳細には、ＶＸＬＡＮの場合、クラスタ内送受信部２４１−ｉは、受信パケットを後述のクラスタ内ノード間の転送時のＶＸＬＡＮパケットに変換する。
【００６６】
ステップＳ５１１において、パケット処理部２３１−ｉは、カプセル化したパケットを担当ノードに送信する。
ここで、担当ノード決定の処理の例を示す。
【００６７】
図１４は、担当ノード決定の処理を示す図である。
図１３で説明したように、パケット処理部２３１−ｉは、ＶＭからパケットを受信し（Ｓ５０１）、受信パケットの送信元ＭＡＣアドレスとＶＬＡＮ  ＩＤを用いて、ＶＮＩテーブル２５３−ｉを検索し、ＶＮＩを取得する（Ｓ５０２）。そして、パケット処理部２３１−ｉは、受信パケットの宛先ＭＡＣアドレスと取得したＶＮＩを用いて、ハッシュ値の計算し、宛先ＶＴＥＰテーブル２５４−ｉの検索を行う（Ｓ５０３）。
【００６８】
受信パケットに対応するエントリが宛先ＶＴＥＰテーブル２５４−ｉに無い場合（Ｓ５０４：Ｎｏ）、クラスタ内送受信部２４１−ｉは、ハッシュ値を検索結果として取得する（Ｓ５０８）。ここでは、受信パケットのハッシュ値として0x41a45762f4を取得したとする。
クラスタ内送受信部２４１−ｉは、取得したハッシュ値の上位２ビット＝０１(0x4 = 0100)をノード決定情報(インデックス値)として抽出する。ここでは、クラスタ内のノード数の最大が４であるとする。
【００６９】
そして、クラスタ内送受信部２４１−ｉは、抽出したノード決定情報をキーとして、ノード決定テーブル２５２−ｉを参照する（Ｓ５０９）。図１４では、インデックス値＝０１に対応するノードＩＤとして２が得られる。よって、ノードＩＤ＝２に対応するノード２０１−ｉが担当ノードとして決定（算出）される。
【００７０】
上記のような処理で担当ノードを決定できるようにするため、宛先ＶＴＥＰテーブル２５４−ｉの作成時にどのエントリをどのノード２０１−ｉに配置するかは、担当ノードの決定の処理と同様に宛先ＭＡＣアドレスとＶＮＩからハッシュ値を算出し、ハッシュ値（の一部）を用いてノード決定テーブル２５２−ｉを参照して決定する。尚、上述のハッシュ値からのインデックス値の取得方法は一例であり、ここで記載した方法に限らない。
【００７１】
図１５は、パケットのクラスタ内ノード間の転送時のＶＸＬＡＮヘッダを示す図である。
図１５の上側は、従来のＶＸＬＡＮヘッダ、下側は、クラスタ内ノード間転送時のパケットのＶＸＬＡＮヘッダを示す。
【００７２】
従来のＶＸＬＡＮヘッダの８ビットのフラグフィールドのうち７ビットは予約ビット（図１５中で「Ｒ」と表記）である。実施の形態において、フラグフィールドのうちの最下位ビットをパケットが通常のＶＸＬＡＮパケットであるかクラスタ内ノード間通信のパケットであるかを示すビットとして利用する。
【００７３】
実施の形態において、フラグフィールドの最下位ビットをＥビットと呼ぶ。Ｅビットは、パケットが通常のＶＸＬＡＮパケットであるかクラスタ内ノード間通信のパケットであるかを示す制御情報として使用される。Ｅビット＝０の場合、パケットが通常のＶＸＬＡＮパケット、Ｅビット＝１の場合、パケットがクラスタ内ノード間通信のパケットであることを示す。
【００７４】
図１５の下側に示すように、クラスタ内のノードにパケットを転送する場合、Ｅビットは１に設定される。また、ＶＸＬＡＮヘッダの予約ビット（Reserved）はパケットのハッシュ値、ＶＩＮフィールドは０にそれぞれ設定される。
【００７５】
図１６は、パケットのクラスタ内ノード間の転送時のＶＸＬＡＮパケットを示す図である。
図１６では、図１１と同様にＶＴＥＰ＃１−１がＶＭ１からパケットを受信し、ＶＴＥＰ＃１−２にパケットを転送する場合を説明する。
図１６は、ＶＴＥＰ＃１−１からＶＴＥＰ＃１−２に送信されるＶＸＬＡＮパケットを示す。
【００７６】
ＶＸＬＡＮパケットの宛先ＭＡＣアドレスおよび宛先ＩＰアドレスには、ＶＴＥＰ＃１−２のＭＡＣアドレスおよびＩＰアドレスがそれぞれ記載される。ＶＸＬＡＮパケットの送信元ＭＡＣアドレスおよび送信元ＩＰアドレスには、ＶＴＥＰ＃１−１の宛先ＭＡＣアドレスおよび宛先ＩＰアドレスがそれぞれ記載される。また、ＶＸＬＡＮヘッダには、図１５で示したクラスタ内ノード間転送時のＶＸＬＡＮヘッダが設定される。
【００７７】
上記説明では、オーバーレイプロトコルとしてＶＸＬＡＮが用いられる場合のクラスタ内ノード間転送時のパケット変換を述べたが、ここでオーバーレイプロトコルとしてＧｅｎｅｖｅが用いられる場合のクラスタ内ノード間転送時のパケット変換の方法について述べる。
【００７８】
Ｇｅｎｅｖｅでは、トンネルヘッダ(ＶＸＬＡＮのＶＸＬＡＮヘッダに相当)に複数のオプションを付加可能となっている。
オーバーレイプロトコルとしてＧｅｎｅｖｅが用いられた場合のクラスタ内ノード間転送時のパケット変換では、下記の様な処理が行われる。
【００７９】
ハッシュ値をオプションとしてトンネルヘッダに埋め込む。尚、オプションはＴＬＶ（Type，Length,   Value）形式で設定され、ハッシュ値を設定する場合はTypeにハッシュ値が含まれるＴＬＶであることを示す値が、Lengthにハッシュ値の長さをバイト数(ここでは４バイト)で、Valueにハッシュ値が設定される。アウターヘッダの送信元アドレスと宛先アドレスはＶＸＬＡＮの場合と同様に設定する。ＶＮＩは未決定のため、ＶＮＩフィールドは、０に設定する。
【００８０】
次に、クラスタ内のノード若しくはネットワークからパケットを受信した場合のノードの処理について説明する。
【００８１】
図１７は、実施の形態に係るパケット中継方法のフローチャートである。
図１７は、クラスタ内のＶＴＥＰから転送されたパケットまたはＶＸＬＡＮからのパケットを受信するＶＴＥＰの処理を示す。例えば、図１１に示す例では、ＶＴＥＰ＃１−１からのパケットを受信するＶＴＥＰ＃１−２（ノード２０１−２）の処理に対応する。
ステップＳ５２１において、クラスタ内送受信部２４１−ｉは、クラスタ内のノード若しくはネットワーク（ＶＸＬＡＮ）からパケットを受信する。
【００８２】
ステップＳ５２２において、パケット処理部２３１−ｉは、受信パケットにハッシュ値が含まれているか判定する。詳細には、ＶＸＬＡＮの場合、パケット処理部２３１−ｉは、Ｅビットを参照し、Ｅビットの値に基づいてハッシュ値の有無を判定する。パケット処理部２３１−ｉは、Ｅビット＝０の場合、受信パケットにハッシュ値が含まれていないと判定し、Ｅビット＝１の場合、受信パケットにハッシュ値が含まれていると判定する。受信パケットにハッシュ値が含まれている場合、制御はステップＳ５２３に進み、含まれていない場合、制御はステップＳ５２７に進む。
【００８３】
ステップＳ５２３において、パケット処理部２３１−ｉは、ハッシュ値を用いて宛先ＶＴＥＰテーブル２５４−ｉを検索し、受信パケットのＶＮＩと宛先ＶＴＥＰアドレス（宛先ＶＴＥＰ  ＭＡＣアドレスおよび宛先ＶＴＥＰ  ＩＰアドレス）を取得する。詳細には、パケット処理部２３１−ｉは、ハッシュ値に対応する宛先ＶＴＥＰテーブル２５４−ｉのアドレスのエントリを参照し、受信パケットのＶＮＩと宛先ＶＴＥＰアドレスを取得する。
【００８４】
ステップＳ５２４において、パケット処理部２３１−ｉはアウターヘッダの送信元ＭＡＣアドレスおよび送信元ＩＰアドレスを自ＶＴＥＰのＭＡＣアドレスおよびＩＰアドレスに書き換え、アウターヘッダの宛先ＭＡＣアドレスおよび宛先ＩＰアドレスに取得した宛先ＶＴＥＰのＭＡＣアドレスおよびＩＰアドレスをそれぞれ設定する。
【００８５】
ステップＳ５２５において、パケット処理部２３１−ｉは、ＶＸＬＡＮヘッダに含まれているハッシュ値を削除し、ＶＮＩフィールドに取得したＶＮＩを設定する。
ステップＳ５２６において、パケット処理部２３１−ｉは、パケット処理部２３１−ｉは、カプセル化したパケットをネットワークに出力する。
ステップＳ５２７において、パケット処理部２３１−ｉは、通常のオーバーレイパケットの受信処理（例えば、非カプセル化（カプセル解除）など）を実施する。
【００８６】
図１８は、パケットのＶＸＬＡＮへの送信時のＶＸＬＡＮヘッダを示す図である。
図１１に示したパケット中継の例では、下記のパケット変換はＶＴＥＰ＃１−２で行われる。
図１８の上側はクラスタ内のノードから受信したパケットのＶＸＬＡＮヘッダを示し、下側はＶＸＬＡＮへの送信時のパケットのＶＸＬＡＮヘッダを示す。
【００８７】
上述のように、クラスタ内ノード間の転送時のＶＸＬＡＮヘッダのＥビットは１に設定されており、予約ビット（Reserved）にはハッシュ値が設定されている。
ＶＸＬＡＮへの送信時には、標準のＶＸＬＡＮヘッダに戻す。すなわち、Ｅビットを０に変更し、予約ビット（Reserved）に記載されたハッシュ値は０に変更する。さらに、ＶＮＩフィールドに検索で得られたＶＮＩをセットする。
【００８８】
図１９は、パケットのＶＸＬＡＮへの送信時のＶＸＬＡＮパケットを示す図である。
図１９では、図１１と同様にＶＴＥＰ＃１−２がＶＴＥＰ＃１−１からパケットを受信し、ＶＸＬＡＮを介してＶＴＥＰ＃４にパケットを送信する場合を説明する。
図１９の上側はＶＴＥＰ＃１−１から受信したＶＸＬＡＮパケット（変換前パケット）を示し、下側はＶＴＥＰ＃４への送信時のＶＸＬＡＮパケット（変換後パケット）を示す。
【００８９】
変換後パケットのアウターヘッダの宛先ＭＡＣアドレスおよび宛先ＩＰアドレスには、ＶＴＥＰ＃４のＭＡＣアドレスおよびＩＰアドレスがそれぞれ記載される。変換後パケットの送信元ＭＡＣアドレスおよび送信元ＩＰアドレスには、変換前パケットの宛先ＭＡＣアドレスおよび宛先ＩＰアドレスであるＶＴＥＰ＃１−２の宛先ＭＡＣアドレスおよび宛先ＩＰアドレスがそれぞれ記載される。
【００９０】
また、図１６の説明の最後で、オーバーレイプロトコルとしてＧｅｎｅｖｅが用いられた場合のクラスタ内ノード間転送時のパケット変換の方法について述べた。
上述のような変換が行われたパケットをクラスタ内からオーバーレイネットワークに出力する際には、以下のような処理を行い標準形式に変換する。
【００９１】
トンネルヘッダのオプション部からハッシュ値部分を削除する。そして、ＶＮＩフィールドに検索結果で得られたＶＮＩをセットする。尚、アウターヘッダの送信元アドレスと宛先アドレスの変更は、ＶＸＬＡＮの場合と同様である。
【００９２】
尚、実施の形態において、クラスタ内ノード間通信のパケット形式はオーバーレイプロトコルのパケット形式を流用したが、これはLSI（Large Scale Integration）の実装量などを削減するためであり、クラスタ内ノード間通信には完全に独自のパケット形式を用いてもよい。
また、ノード２０１−ｉは下記のような構成でも良い。
【００９３】
図２０は、他の実施の形態に係るノードの構成図である。
ノード１２０１は、コンピュータ部１２１１−ｊ（ｊ−１、２）、およびスイッチ１２２１を備える。ノード１２０１は、単一の装置でなく、図２０に示すようなシステムでもよい。
【００９４】
コンピュータ部１２１１−ｊは、プログラムを実行可能なハードウェア装置である。コンピュータ部１２１１−ｊにおいて、仮想マシン（ＶＭ）が実行されている。尚、仮想マシンの数は、任意の数とすることができる。また、コンピュータ部１２１１の数も任意の数とすることができる。
【００９５】
コンピュータ部１２１１−ｊは、ＮＩＣ１２１５−ｊを備える。
ＮＩＣ１２１５−ｊは、通信に伴うデータ変換等の処理を行う。ＮＩＣ１２１５−ｊは、スイッチ１２２１とＬＡＮ等のネットワークを介して接続する。
【００９６】
スイッチ１２２１は、ＶＸＬＡＮ等のネットワークに対する入出力（Ｉ／Ｏ）を実行する。
【００９７】
スイッチ１２２１は、パケット処理部１２３１、クラスタ内送受信部１２４１、および記憶部１２５１を備える。パケット処理部１２３１、クラスタ内送受信部１２４１、および記憶部１２５１により、ＶＴＥＰの機能が実現される。
記憶部１２５１は、ノード決定テーブル１２５２、ＶＮＩテーブル１２５３、および宛先ＶＴＥＰテーブル１２５４を格納する。
【００９８】
パケット処理部１２３１、クラスタ内送受信部１２４１、および記憶部１２５１の機能は、パケット処理部２３１−ｉ、クラスタ内送受信部２４１−ｉ、および記憶部２５１−ｉとそれぞれ同様であるため説明は省略する。ノード決定テーブル１２５２、ＶＮＩテーブル１２５３、および宛先ＶＴＥＰテーブル１２５４の構成は、ノード決定テーブル２５２−ｉ、ＶＮＩテーブル２５３−ｉ、および宛先ＶＴＥＰテーブル２５４−ｉとそれぞれ同様であるため説明は省略する。
【００９９】
図２１は、他の実施の形態に係るノードのハードウェア図である。
ノード１２０１は、計算機１２１８−ｊおよびスイッチ１２６１を備える。
計算機１２１８−ｊは、ＣＰＵ１２１２−ｊ、メモリ１２１３−ｊ、ストレージ１２１４−ｊ、およびＮＩＣ１２６１−ｊを備える。
【０１００】
計算機１２１８−ｊは、コンピュータ部１２１１−ｊに対応する。計算機１２１８−ｊは、サーバやパーソナルコンピュータ等の情報処理装置である。
ＣＰＵ１２１２−ｊ、メモリ１２１３−ｊ、およびストレージ１２１４−ｊの機能は、ＣＰＵ２１２−ｉ、メモリ２１３−ｉ、ストレージ２１４−ｉとそれぞれ同様であるため説明は省略する。
【０１０１】
ＮＩＣ１２６１−ｊは、ＮＩＣ１２１５−ｊに対応する。ＮＩＣ１２６１−ｊは、送受信ポート１２１７−ｊを備える。
送受信ポート１２１７−ｊは、パケットの送信および受信を行うインターフェースである。
【０１０２】
スイッチ１２６１は、スイッチ１２２１に対応する。スイッチ１２６１は、802.1Qスイッチチップ１２６２、処理回路１２６３、メモリ１２６４、および送受信ポート１２６５、１２６６−ｊを備える。
802.1Qスイッチチップ１２６２は、ネットワークの規格であるIEEE 802.1Qに従った処理を行う。
【０１０３】
処理回路１２６３は、パケット処理部１２３１およびクラスタ送受信部１２４１に対応する。また、処理回路２６３−ｉは、メモリ１２６４に格納されたプログラムを実行するプロセッサでもよい。
メモリ１２６４は、記憶部１２５１に対応する。
【０１０４】
処理回路１２６３、メモリ１２６４、および送受信ポート１２６５、１２６６−ｊの機能は、処理回路２６３−ｉ、メモリ２６４−ｉ、および送受信ポート２６５−ｉとそれぞれ同様であるため説明は省略する。
【０１０５】
実施の形態の情報処理システムによれば、パケット変換処理においてクラスタに含まれるノードの全ての宛先ＶＴＥＰテーブルを重複なく利用でき、情報処理システム全体のテーブルのエントリ数を増大させることができる。それにより、ハードウェアオフロードの利用しつつ、大規模なシステムを構築できる。
【０１０６】
実施の形態の情報処理システムによれば、宛先ＶＴＥＰテーブルの検索に用いるハッシュ値の計算をパケットを最初に受信したノードで行い、クラスタ内の他のノードへの転送時にパケットにハッシュ値を付加するため、再度ハッシュ値の計算の必要が無くなり、他のノードにおいて宛先ＶＴＥＰテーブルの検索を高速に行うことができる。
【０１０７】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）
複数の情報処理装置を備える情報処理システムにおいて、
前記複数の情報処理装置のうち、第１の情報処理装置は、
宛先情報と、前記宛先情報に対応する固有宛先情報とを対応付けた第１の宛先情報テーブルを記憶する第１の記憶部と、
仮想マシンから受信した第１のパケットに含まれる宛先情報に基づいてハッシュ値を計算するとともに前記第１の宛先情報テーブルを検索し、検索対象のエントリが無い場合、計算した前記ハッシュ値に基づき、第２の情報処理装置を選択し、前記ハッシュ値と自装置である前記第１の情報処理装置を特定する特定情報とを受信した前記第１のパケットに付加した第２のパケットを生成する第１の処理部と、
前記第１の処理部が選択した前記第２の情報処理装置に、前記第２のパケットを送信する送信部と、を有し、
前記複数の情報処理装置のうち、第２の情報処理装置は、
宛先情報と、前記宛先情報に対応する固有宛先情報とを対応付けた第２の宛先情報テーブルを記憶する第２の記憶部と、
前記送信部が送信した前記第２のパケットを受信する受信部と、
前記受信部が受信した第２のパケットに含まれる前記ハッシュ値に基づき、前記第２の宛先情報テーブルを検索して得られた固有宛先情報を用いて前記第２のパケットから変換した第３のパケットを、前記固有宛先情報が示す宛先に送信する第２の処理部と、を有することを特徴とする情報処理システム。
（付記２）
前記第１の記憶部はさらに、前記複数の情報処理装置を識別する識別情報を含むエントリを複数含むノード決定テーブルを記憶し、
前記第１の処理部は、前記仮想マシンから受信した第１のパケットに含まれる宛先情報に基づいてハッシュ値を計算するとともに前記第１の宛先情報テーブルを検索し、検索対象のエントリが無い場合、計算した前記ハッシュ値に基づき、前記複数の情報処理装置のうち、前記ノード決定テーブルを検索して得られた識別情報に対応する第２の情報処理装置を選択することを特徴とする付記１記載の情報処理システム。
（付記３）
前記第１の処理部は、前記第２のパケットに前記ハッシュ値を含むことを示す制御情報をさらに付加し、
前記第２の処理部は、前記第２のパケットに含まれる前記制御情報に基づいて、前記第２の宛先情報テーブルの検索を行うか否か判定することを特徴とする付記１または２記載の情報処理システム。
（付記４）
複数の情報処理装置を備える情報処理システムにおける、前記複数の情報処理装置のうちの第１の情報処理装置であって、
宛先情報と、前記宛先情報に対応する固有宛先情報とを対応付けた第１の宛先情報テーブルを記憶する第１の記憶部と、
仮想マシンから受信した第１のパケットに含まれる宛先情報に基づいてハッシュ値を計算するとともに前記第１の宛先情報テーブルを検索し、検索対象のエントリが無い場合、計算した前記ハッシュ値に基づき、前記複数の情報処理装置のうちの第２の情報処理装置を選択し、前記ハッシュ値と自装置である前記第１の情報処理装置を特定する特定情報とを受信した前記第１のパケットに付加した第２のパケットを生成する第１の処理部と、
前記第１の処理部が選択した前記第２の情報処理装置に、前記第２のパケットを送信する送信部と、
を備える情報処理装置。
（付記５）
前記第１の記憶部はさらに、前記複数の情報処理装置を識別する識別情報を含むエントリを複数含むノード決定テーブルを記憶し、
前記第１の処理部は、前記仮想マシンから受信した第１のパケットに含まれる宛先情報に基づいてハッシュ値を計算するとともに前記第１の宛先情報テーブルを検索し、検索対象のエントリが無い場合、計算した前記ハッシュ値に基づき、前記複数の情報処理装置のうち、前記ノード決定テーブルを検索して得られた識別情報に対応する第２の情報処理装置を選択することを特徴とする付記４記載の情報処理装置。
（付記６）
前記第１の処理部は、前記第２のパケットに前記ハッシュ値を含むことを示す制御情報をさらに付加することを特徴とする付記４または５記載の情報処理装置。
（付記７）
複数の情報処理装置を備える情報処理システムの制御方法であって、
前記複数の情報処理装置のうち、第１の情報処理装置が
仮想マシンから受信した第１のパケットに含まれる宛先情報に基づいてハッシュ値を計算するとともに宛先情報と、前記宛先情報に対応する固有宛先情報とを対応付けた第１の宛先情報テーブルを検索し、
検索対象のエントリが無い場合、計算した前記ハッシュ値に基づき、第２の情報処理装置を選択し、
前記ハッシュ値と自装置である前記第１の情報処理装置を特定する特定情報とを受信した前記第１のパケットに付加した第２のパケットを生成し、
前記第２の情報処理装置に、前記第２のパケットを送信し、
前記複数の情報処理装置のうち、第２の情報処理装置が、
前記第２のパケットを受信し、
前記第２のパケットに含まれる前記ハッシュ値に基づき、宛先情報と前記宛先情報に対応する固有宛先情報とを対応付けた第２の宛先情報テーブルを検索し、
前記第２の宛先情報テーブルを検索して得られた固有宛先情報を用いて前記第２のパケットから変換した第３のパケットを、前記固有宛先情報が示す宛先に送信する、
処理を有する情報処理システムの制御方法。
（付記８）
前記第１の情報処理装置は
前記複数の情報処理装置を識別する識別情報を含むエントリを複数含むノード決定テーブルをさらに記憶し、
前記第２の情報処理装置を選択する処理において、前記仮想マシンから受信した第１のパケットに含まれる宛先情報に基づいてハッシュ値を計算するとともに前記第１の宛先情報テーブルを検索し、検索対象のエントリが無い場合、計算した前記ハッシュ値に基づき、前記複数の情報処理装置のうち、前記ノード決定テーブルを検索して得られた識別情報に対応する第２の情報処理装置を選択することを特徴とする付記７記載の制御方法。
（付記９）
前記第１の情報処理装置が、前記第２のパケットに前記ハッシュ値を含むことを示す制御情報をさらに付加し、
前記第２の情報処理装置が、前記第２のパケットに含まれる前記制御情報に基づいて、前記第２の宛先情報テーブルの検索を行うか否か判定することを特徴とする付記７または８記載の制御方法。
【符号の説明】
【０１０８】
１０１    情報処理システム
２０１    ノード
２１１    コンピュータ部
２１２    ＣＰＵ
２１３    メモリ
２１４    ストレージ
２２１    ＮＩＣ
２３１    パケット処理部
２４１    クラスタ内送受信部
２５１    記憶部
２５２    ノード決定テーブル
２５３    ＶＮＩテーブル
２５４    宛先ＶＴＥＰテーブル
２６１    ＮＩＣ
２６２    コントローラ
２６３    処理回路
２６４    メモリ
２６５    送受信ポート
【図１】
0006428296.tif 000002
【図２】
0006428296.tif 000003
【図３】
0006428296.tif 000004
【図４】
0006428296.tif 000005
【図５】
0006428296.tif 000006
【図６】
0006428296.tif 000007
【図７】
0006428296.tif 000008
【図８】
0006428296.tif 000009
【図９】
0006428296.tif 000010
【図１０】
0006428296.tif 000011
【図１１】
0006428296.tif 000012
【図１２】
0006428296.tif 000013
【図１３】
0006428296.tif 000014
【図１４】
0006428296.tif 000015
【図１５】
0006428296.tif 000016
【図１６】
0006428296.tif 000017
【図１７】
0006428296.tif 000018
【図１８】
0006428296.tif 000019
【図１９】
0006428296.tif 000020
【図２０】
0006428296.tif 000021
【図２１】
0006428296.tif 000022