(57)【特許請求の範囲】
【請求項１】
ｎ個のダウンリンクポートと１個以上のアップリンクポートとを各々有する３個のスイッチ（ここで、ｎは２以上の整数）と、
異なるスイッチのダウンリンクポートにそれぞれ接続された少なくとも２個以上のネットワークインタフェースカードを各々有するｍ個のサーバ（ここで、ｍ＝３ｐ／２、ｐは２より大きいｎ以下の偶数）とを備え、
３個のサーバが１つのグループを構成し、当該グループの第１のサーバは、２個の前記ネットワークインタフェースカードを介して、第１のスイッチのダウンリンクポートと第２のスイッチのダウンリンクポートとにそれぞれ接続され、前記グループの第２のサーバは、２個の前記ネットワークインタフェースカードを介して、第１のスイッチのダウンリンクポートと第３のスイッチのダウンリンクポートとにそれぞれ接続され、前記グループの第３のサーバは、２個の前記ネットワークインタフェースカードを介して、第２のスイッチのダウンリンクポートと第３のスイッチのダウンリンクポートとにそれぞれ接続される
ことを特徴とするサーバ間接続システム。
【請求項２】
前記ダウンリンクポートが１Ｇイーサネットポートであり、前記アップリンクポートが１０Ｇイーサネットポートであることを特徴とする請求項１に記載のサーバ間接続システム。
【請求項３】
前記３個のスイッチと前記ｍ個のサーバが単一のラックに配置されることを特徴とする請求項１又は請求項２に記載のサーバ間接続システム。
【請求項４】
請求項１から請求項３の何れかに記載の３つのサーバ間接続システムを備え、
各サーバが有する４個以上のネットワークインタフェースカードのうち、２個のネットワークインタフェースカードは、各サーバが属するサーバ間接続システム内の別個のスイッチのダウンリンクポートに接続されたままとし、他の２個のネットワークインタフェースカードは、他の２つのサーバ間接続システム内の対応するサーバの新たに追加された対応するネットワークインタフェースカードにそれぞれ接続され、
第１のサーバ間接続システムのサーバグループ内の第１のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第２のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続され、第１のサーバ間接続システムのサーバグループ内の第２のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第２のサーバ間接続システムのサーバグループ内の第２のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第２のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続され、第１のサーバ間接続システムのサーバグループ内の第３のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第２のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続され、
第２のサーバ間接続システムのサーバグループ内の第１のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される。第２のサーバ間接続システムのサーバグループ内の第２のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第２のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第２のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続され、第２のサーバ間接続システムのサーバグループ内の第３のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続され、
第３のサーバ間接続システムのサーバグループ内の第１のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードと、第２のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される。第３のサーバ間接続システムのサーバグループ内の第２のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第２のサーバの新たに追加された対応するネットワークインタフェースカードと、第２のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される。第３のサーバ間接続システムのサーバグループ内の第３のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードと、第２のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される
ことを特徴とする改良型サーバ間接続システム。
【請求項５】
請求項１から請求項３の何れかに記載のサーバ間接続システムに配置されるサーバであって、
前記サーバは、
ネットワークプロトコルスタックからデータパケットを取得し、ＡＲＰマッピングテーブルでデータパケットの宛先ＭＡＣアドレスを特定するように構成された宛先ＭＡＣ検索手段と、
データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいてフォワーディングテーブルを検索するように構成されたフォワーディングテーブル検索手段と、
データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するように構成された隣接サーバ検索手段と、
前記フォワーディングテーブル検索手段または前記隣接サーバ検索手段により特定されたネットワークインタフェースカードにデータパケットを送信するように構成されたデータパケット送信ユニットとを備え、これにより前記ネットワークインタフェースカードを介してデータパケットを送信し、
前記フォワーディングテーブル検索手段は、前記フォワーディングテーブル内において宛先ＭＡＣアドレスに対応するレコードを検出できなかった場合、前記隣接サーバ検索手段に宛先ＭＡＣアドレスを送信して、隣接サーバ情報テーブルを検索させ、
前記隣接サーバ検索手段は、前記隣接サーバ情報テーブル内において宛先ＭＡＣアドレスに対応するレコードを検出した場合、当該レコード内のネットワークインタフェースカードをデータパケット送信先のネットワークインタフェースカードとして前記フォワーディングテーブル検索手段に通知し、前記フォワーディングテーブル検索手段は、新しいレコードを追加して前記フォワーディングテーブルを更新する
ことを特徴とするサーバ。
【請求項６】
前記フォワーディングテーブル検索手段がフォワーディングテーブル内で宛先ＭＡＣアドレスに対応するレコードを検出した場合、前記フォワーディングテーブル検索手段は、前記レコード内のネットワークインタフェースカードをデータパケット送信先のネットワークインタフェースカードとして特定することを特徴とする請求項５に記載のサーバ。
【請求項７】
排他的論理和演算に基づいて、データパケット送信先のネットワークインタフェースカードを選択するよう構成されたネットワークインタフェースカード選択手段を備え、
前記データパケット送信ユニットは、前記ネットワークインタフェースカード選択手段によって選択されたネットワークインタフェースカードにデータパケットを送信するように構成され、これにより、前記ネットワークインタフェースカードを介してデータパケットを送信し、
前記隣接サーバ検索手段が前記隣接サーバ情報テーブル内において宛先ＭＡＣアドレスに対応するレコードを検出できない場合、前記ネットワークインタフェースカード選択手段が、排他的論理和演算に基づいて、データパケット送信先のネットワークインタフェースカードを選択し、
前記ネットワークインタフェースカード選択手段は、以下の排他的論理和演算
ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄ  ｉｎｄｅｘ＝（ｓｏｕｒｃｅ  ＭＡＣ  ａｄｄｒｅｓｓ  ＸＯＲ  ｄｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  ａｄｄｒｅｓｓ）ｍｏｄｕｌｏ（ｔｈｅ  ｎｕｍｂｅｒ  ｏｆ  ｔｈｅ  ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄｓ）
によってネットワークインタフェースカードを特定することを特徴とする請求項５又は請求項６に記載のサーバ。
【請求項８】
請求項１から請求項３の何れかに記載のサーバ間接続システムに配置されるサーバであって、
前記サーバは、
ネットワークインタフェースカードからデータパケットを受信するよう構成されたデータパケット受信ユニットと、
データパケットの宛先ＭＡＣアドレスが当該サーバのＭＡＣアドレスかどうかを判定し、宛先ＭＡＣアドレスが当該サーバのＭＡＣアドレスではない場合には、宛先ＭＡＣアドレスを隣接サーバ検索手段に送信するよう構成されたデータパケット分類ユニットと、
データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するよう構成された隣接サーバ検索手段と、
前記隣接サーバ検索手段によって特定されたネットワークインタフェースカードにデータパケットを送信するよう構成されたデータパケット送信ユニットとを含み、これにより前記ネットワークインタフェースカードを介してデータパケットを送信する
ことを特徴とするサーバ。
【請求項９】
請求項１から請求項３の何れかに記載のサーバ間接続システムで使用されるデータ転送方法であって、
ネットワークプロトコルスタックからデータパケットを取得し、ＡＲＰマッピングテーブルによりデータパケットの宛先ＭＡＣアドレスを特定するステップと、
データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいてフォワーディングテーブルを検索するステップと、
前記フォワーディングテーブル内において宛先ＭＡＣアドレスに対応するレコードが検出されなかった場合、データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するステップと、
前記隣接サーバ情報テーブル内において宛先ＭＡＣアドレスに対応するレコードが検出された場合、特定されたネットワークインタフェースカードを介してデータパケットを送信するステップと
を含むことを特徴とするデータ転送方法。
【請求項１０】
請求項１から請求項３の何れかに記載のサーバ間接続システムで使用されるデータ転送方法であって、
ネットワークインタフェースカードからデータパケットを受信して、データパケットの宛先ＭＡＣアドレスがサーバのＭＡＣアドレスか否かを判定するステップと、
宛先ＭＡＣアドレスが前記サーバのＭＡＣアドレスではない場合、データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するステップと、
前記隣接サーバ情報テーブル内において宛先ＭＡＣアドレスに対応するレコードが検出された場合には、特定されたネットワークインタフェースカードを介してデータパケットを送信するステップと
を含むことを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データセンタネットワークに関し、特に、より多くのサーバを隣接サーバにすることにより、データセンタネットワークにおいて、より多くのトラフィックフローを局所化するためのサーバ間接続システム、サーバ、およびデータ転送方法に関する。本発明において、「隣接サーバ」という用語は、エッジスイッチ（または、ＴｏＲ（Ｔｏｐ  ｏｆ  Ｒａｃｋ：トップオブラック））のアップリンクを介さず通信を実行できる２台のサーバを意味する。
【背景技術】
【０００２】
現在のクラウドコンピューティングにおいて、クラウドサービスに計算やストレージの機能を提供するサーバは、すべてデータセンターに配置され、ネットワークで接続されている。そのため、現代のデータセンターの役割はますます重要になっている。
【０００３】
図１は、典型的なデータセンタネットワーク構造を示す概略図である。図１に示すツリー型のネットワーク構造において、各エッジスイッチ（すなわち、ＴｏＲ）は、通常、下方のサーバに接続される１Ｇイーサネットポートを４８個、上方のアグリゲーションスイッチに接続される１０Ｇイーサネットポートを１〜４個、備えている。エッジスイッチとアグリゲーションスイッチ間のリンクは、「アップリンク」と呼ばれる。このような構造においては、サーバのラック間で大量のデータ通信が生じると、コアネットワークがボトルネックとなってアプリケーション性能の低下を招くことが多い。特に、現代のクラウドコンピューティング環境では、Ｍａｐ−Ｒｅｄｕｃｅのようなアプリケーションが増加しているため、サーバ間で大量のデータを転送する必要がある。単純な最適化方法の例としては、できるだけ多くのサーバの通信を局所化させ、データ通信がコアネットワークを通過する必要がないようにすることが挙げられる。例えば、上記のサービスに対する大規模な分散システムを完全に展開できるだけの十分な数のサーバを１つのラックに収容できれば、サーバ間通信は混雑したコアネットワークを通過する必要がないので、コアネットワークがシステムのボトルネックになることはない。
【０００４】
図２は、エッジスイッチスタックの解決法とサーバ側リンクアグリゲーションの解決法との組み合わせを示す概略図である。こうした接続の利点は、サーバの帯域幅が拡大することと、各エッジスイッチの下にあるサーバ通信が、スタックされているデータラインに限定されないことである。エッジスイッチスタックの解決法によれば、エッジスイッチは追加のスタックモジュールを装備でき、データライン（図２ではデータライン「２〜２．５Ｇ」）で相互に接続することが可能である。サーバ側リンクアグリゲーション（リンクアグリゲーション、またはＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ：ネットワークインタフェースカード）ボンディング）の解決法では、複数のＮＩＣを１台のサーバ（ホスト）に挿入し、リンクアグリゲーション機能を提供するソフトウェアを利用することによって、複数のＮＩＣが１つのネットワーク識別子（例：ＭＡＣアドレス、ＩＰアドレス等）を共有できるようになる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
図１に示すようなサービスに対する大規模な分散システムを完全に展開できるだけの十分な数のサーバを１つのラックに配置する場合、現実には、１つのラックに接続できるサーバの数はエッジスイッチのポート数（通常は４８台）に限定されるので、エッジスイッチのポート数を増やすためには、きわめて高いコストがかかる。例えば、９６ポートのスイッチの価格は、４８ポートのスイッチの価格の約１０倍である。
【０００６】
また、図２に示すエッジスイッチスタックの解決法とサーバ側リンクアグリゲーションの解決法を組み合わせたとしても、直接通信できるサーバの数が増加するわけではない。例えば、各スイッチのポート数が４８あるとしても、上記の組み合わせによって接続されるサーバの数は依然、（４８＋４８）／２＝４８である。これは、各サーバがスイッチ上の２つのポートを占有するためである。
【０００７】
本発明は、より多くのサーバを隣接サーバとすることができる、サーバ間接続システム、サーバ、およびデータ転送方法を提供する。当該サーバは自サーバのデータを送受信するだけでなく、隣接サーバに向けてデータを転送することも可能であり、これによりデータセンタネットワークにおいてより多くのトラフィックフローを局所化することが可能になる。
【課題を解決するための手段】
【０００８】
本発明の第１の態様によれば、サーバ間接続システムが提供される。当該システムは、ｎ個のダウンリンクポートと１つ以上のアップリンクポートとを各々有する３台のスイッチ（ここで、ｎは２以上の整数）と、異なるスイッチのダウンリンクポートにそれぞれ接続された２枚以上のネットワークインタフェースカードを各々有するｍ台のサーバ（ここで、ｍ＝３ｐ／２、ｐは２より大きいｎ以下の偶数）とを含む。サーバは３台で１つのグループを構成する。各サーバグループの第１のサーバは、その２枚のネットワークインタフェースカードを介して、第１のスイッチのダウンリンクポートと第２のスイッチのダウンリンクポートとにそれぞれ接続される。当該サーバグループの第２のサーバは、その２枚のネットワークインタフェースカードを介して、第１のスイッチのダウンリンクポートと第３のスイッチのダウンリンクポートとにそれぞれ接続される。当該サーバグループの第３のサーバは、その２枚のネットワークインタフェースカードを介して、第２のスイッチのダウンリンクポートと第３のスイッチのダウンリンクポートとにそれぞれ接続される。
【０００９】
本発明の第１の態様によるサーバ間接続システムは、さらに改良して改良型サーバ間接続システムにすることができる。１つの実施例においては、本発明の第１の態様による３つのサーバ間接続システムが採用される。各サーバには、４枚以上のネットワークインタフェースカードが搭載され、うち２枚のネットワークインタフェースカードは、各サーバが属するサーバ間接続システム内の別個のスイッチのダウンリンクポートに接続されたままとし、他の２枚のネットワークインタフェースカードは、他の２つのサーバ間接続システム内の対応するサーバの新たに追加された対応するネットワークインタフェースカードにそれぞれ接続される。第１のサーバ間接続システムのサーバグループ内の第１のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第２のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される。第１のサーバ間接続システムのサーバグループ内の第２のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第２のサーバ間接続システムのサーバグループ内の第２のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第２のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される。第１のサーバ間接続システムのサーバグループ内の第３のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第２のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される。第２のサーバ間接続システムのサーバグループ内の第１のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される。第２のサーバ間接続システムのサーバグループ内の第２のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第２のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第２のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される。第２のサーバ間接続システムのサーバグループ内の第３のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される。第３のサーバ間接続システムのサーバグループ内の第１のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードと、第２のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される。第３のサーバ間接続システムのサーバグループ内の第２のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第２のサーバの新たに追加された対応するネットワークインタフェースカードと、第２のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される。第３のサーバ間接続システムのサーバグループ内の第３のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードと、第２のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される。
【００１０】
本発明の第２の態様によれば、本発明の第１の態様によるサーバ間接続システムに展開されるサーバが提供される。当該サーバは、ネットワークプロトコルスタックからデータパケットを取得し、ＡＲＰマッピングテーブルでデータパケットの宛先ＭＡＣアドレスを特定するように構成された宛先ＭＡＣ検索手段と、データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいてフォワーディングテーブルを検索するように構成されたフォワーディングテーブル検索手段と、データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するように構成された隣接サーバ検索手段と、フォワーディングテーブル検索手段または隣接サーバ検索手段により特定されたネットワークインタフェースカードにデータパケットを送信するように構成されたデータパケット送信ユニットとを含み、これにより当該ネットワークインタフェースカードを介してデータパケットを送信する。フォワーディングテーブル検索手段は、フォワーディングテーブル内で宛先ＭＡＣアドレスに対応するレコードを検出できなかった場合には、隣接サーバ検索手段に宛先ＭＡＣアドレスを送信して、隣接サーバ情報テーブルを検索させる。隣接サーバ検索手段は、隣接サーバ情報テーブル内で宛先ＭＡＣアドレスに対応するレコードを検出した場合には、当該レコード内のネットワークインタフェースカードをデータパケット送信先のネットワークインタフェースカードとしてフォワーディングテーブル検索手段に通知する。フォワーディングテーブル検索手段は、新しいレコードを追加してフォワーディングテーブルを更新する。
【００１１】
本発明の第３の態様によれば、本発明の第１の態様によるサーバ間接続システムに展開されるサーバが提供される。当該サーバは、ネットワークインタフェースカードからデータパケットを受信するように構成されたデータパケット受信ユニットと、データパケットの宛先ＭＡＣアドレスが当該サーバのＭＡＣアドレスかどうかを判定し、宛先ＭＡＣアドレスが当該サーバのＭＡＣアドレスではない場合には、宛先ＭＡＣアドレスを隣接サーバ検索手段に送信するように構成されたデータパケット分類ユニットと、データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するように構成された隣接サーバ検索手段と、隣接サーバ検索手段によって特定されたネットワークインタフェースカードにデータパケットを送信するように構成されたデータパケット送信ユニットとを含み、これにより当該ネットワークインタフェースカードを介してデータパケットを送信する。
【００１２】
本発明の第４の態様によれば、本発明の第１の態様によるサーバ間接続システムで使用されるデータ転送方法が提供される。当該データ転送方法は、ネットワークプロトコルスタックからデータパケットを取得し、ＡＲＰマッピングテーブルによりデータパケットの宛先ＭＡＣアドレスを特定するステップと、データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいてフォワーディングテーブルを検索するステップと、フォワーディングテーブル内で宛先ＭＡＣアドレスに対応するレコードが検出されなかった場合には、データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するステップと、隣接サーバ情報テーブル内で宛先ＭＡＣアドレスに対応するレコードが検出された場合には、特定されたネットワークインタフェースカードを介してデータパケットを送信するステップとを含む。
【００１３】
本発明の第５の態様によれば、本発明の第１の態様によるサーバ間接続システムで使用されるデータ転送方法が提供される。当該データ転送方法は、ネットワークインタフェースカードからデータパケットを受信して、データパケットの宛先ＭＡＣアドレスが当該サーバのＭＡＣアドレスか否かを判定するステップと、宛先ＭＡＣアドレスが当該サーバのＭＡＣアドレスではなかった場合には、データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するステップと、隣接サーバ情報テーブル内で宛先ＭＡＣアドレスに対応するレコードが検出された場合には、特定されたネットワークインタフェースカードを介してデータパケットを送信するステップとを含む。
【発明の効果】
【００１４】
本発明によれば、より多くのサーバを隣接サーバにすることができる。各サーバは自らのデータを送受信するだけでなく、自サーバの隣接サーバに向けてデータを転送することもできるので、より多くのサーバ間で、エッジスイッチのアップリンクを通過することなく通信ができるようになり、その結果、データセンタネットワークにおいてより多くのトラフィックフローを局所化することができる。
【図面の簡単な説明】
【００１５】
本発明の上記および他の目的、特徴、利点は、本発明の実施例に関する以下の説明と添付図面とを参照することによりさらに明らかになるであろう。
【００１６】
【図１】典型的なデータセンタネットワークの構造を示す概略図である。
【図２】エッジスイッチスタックの解決法とサーバ側リンクアグリゲーションの解決法の組み合わせを示す概略図である。
【図３】本発明によるサーバ間接続システム６００のアーキテクチャを示す概略図である。
【図４】図３に示すアーキテクチャ内の各サーバ７００の構造を詳細に示す。
【図５】本発明によるデータ転送方法８００のフローチャートである。
【図６】本発明によるデータ転送方法９００のフローチャートである。
【図７Ａ】本発明と比較対象の解決法との性能比較を示す概略図である。
【図７Ｂ】本発明と比較対象の解決法との性能比較を示す概略図である。
【図８】本発明による改良型サーバ間接続システム１１００のアーキテクチャを示す概略図である。
【図９】図８に示すアーキテクチャにおける各サーバ１２００の構造を詳細に示す。
【図１０】本発明によるデータ転送方法１３００のフローチャートである。
【図１１】本発明によるデータ転送方法１４００のフローチャートである。
【００１７】
これらの図面においては、同一もしくは類似の要素またはステップは、同一もしくは類似の参照記号で識別されている。
【発明を実施するための形態】
【００１８】
以下では、図面を参照して本発明の実施例を詳細に説明する。これにより、当業者には本発明の原理と実装が明らかになるであろう。ただし、本発明は、以下で説明する特定の実施例に限定されるわけではない。また、明快で簡素な内容とするため、本発明に関連する一般的な要素の説明は省略する。
【００１９】
図３は、本発明によるサーバ間接続システム６００を示す概略図である。
【００２０】
図３に示すように、本発明によるサーバ間接続システム６００は、３台のスイッチ６１１、６１２、６１３と３台のサーバ６２１、６２２、６２３とを備える。各スイッチ６１１、６１２、６１３は、２つ以上のダウンリンクポート（例：１Ｇイーサネットポート）および１つ以上のアップリンクポート（例：１０Ｇイーサネットポート）を備える。サーバ６２１、６２２、６２３の各々は、別個のスイッチのダウンリンクポートにそれぞれ接続された２枚以上のネットワークインタフェースカードを備える。具体的には、サーバ６２１は２枚のネットワークインタフェースカードを介してスイッチ６１１および６１２のダウンリンクポートにそれぞれ接続され、サーバ６２２は２枚のネットワークインタフェースカードを介してスイッチ６１１および６１３のダウンリンクポートにそれぞれ接続され、サーバ６２３は２枚のネットワークインタフェースカードを介してスイッチ６１２および６１３のダウンリンクポートにそれぞれ接続されている。
【００２１】
これらのスイッチとサーバとは、図３に示すアーキテクチャに従って接続されている。４８個のダウンリンクポートを備えるスイッチの場合には、図３のアーキテクチャによって接続可能なサーバは７２台（４８×３／２＝７２）となる。
【００２２】
さらに、図３に示すように、３台のスイッチ６１１、６１２、６１３と３台のサーバ６２１、６２２、６２３とを１つのラック内に配置してもよい。
【００２３】
図４は、図３に示すアーキテクチャにおける各サーバ７００（例：図３のサーバ６２１、６２２、６２３）の構造を詳細に示す。
【００２４】
図４に示すように、各サーバ７００は、ネットワークプロトコルスタック７０５、宛先ＭＡＣ検索ユニット７１０、アドレス解決プロトコル（ＡＲＰ）マッピングテーブル７２０、フォワーディングテーブル検索ユニット７７０、フォワーディングテーブル７８０、隣接サーバ検索ユニット７９０、隣接サーバ情報テーブル７９５、ネットワークインタフェースカード選択ユニット７３０、データパケット送信ユニット７４０、データパケット受信ユニット７５０、およびデータパケット分類ユニット７６０を含む。
【００２５】
以下では、図４に示すサーバ７００の各手段の具体的な動作について詳細に説明する。
・宛先ＭＡＣ検索ユニット７１０は、サーバ７００のネットワークプロトコルスタック７０５からデータパケットを取得し、次にＡＲＰマッピングテーブル７２０でデータパケットの宛先ＭＡＣアドレスを検索する。宛先ＭＡＣアドレスが検出されない場合には、ＡＲＰクエリメッセージがブロードキャストされる。ＡＲＰクエリメッセージが取得されると、ＡＲＰマッピングテーブル７２０のレコードが更新される。
・ＡＲＰマッピングテーブル７２０は、ＩＰアドレスからＭＡＣアドレスへのマッピングを記録する（例：１２３．１２７．１８６．２１１→ＡＡ：ＢＢ：ＣＣ：ＤＤ：ＥＥ：ＦＦ）。
・フォワーディングテーブル検索ユニット７７０は、データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために、宛先ＭＡＣアドレスに基づいてフォワーディングテーブル７８０を検索する。対応するレコードが検出された場合には、データパケット送信ユニット７４０が呼び出されて、特定されたネットワークインタフェースカードを介してデータパケットが送信される。同時に、レコードのタイムアウト値がデフォルト値（例：１０秒）にリセットされる。対応するレコードが検出されなかった場合には、隣接サーバ検索ユニット７９０が呼び出される。隣接サーバ検索ユニット７９０が指定されたネットワークインタフェースカードを返した場合は、フォワーディングテーブル７８０が更新され、データパケット送信ユニット７４０が呼び出されて、返されたネットワークインタフェースカードを介してデータパケットが送信される。隣接サーバ検索ユニット７９０がＮＵＬＬを返した場合は、ネットワークインタフェースカード選択ユニット７３０が呼び出されてデータパケットを送信するネットワークインタフェースカードが選択され、フォワーディングテーブル７８０が更新され、データパケット送信ユニット７４０が呼び出されて選択されたネットワークインタフェースカードを介してデータパケットが送信される。
・フォワーディングテーブル７８０は、例えば表１のようなデータ構造を有し、データパケットを送信するために特定／返却／選択されたネットワークインタフェースカードがキャッシュされる。一致するレコードがあった場合には、レコードのタイムアウト値がデフォルト値にリセットされる。あるレコードに対してタイムアウトが発生すると、当該レコードは自動的に削除される。
【００２６】
表１は、フォワーディングテーブル７８０のデータ構造の例である。
【表１】
0005467143.tif 000002
・隣接サーバ検索ユニット７９０は、宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブル７９５を検索する。対応するレコードが検出された場合、これはデータパケットの宛先アドレスはサーバ７００の隣接サーバであることを意味し、当該隣接サーバに対応するネットワークインタフェースカードが返される。対応するレコードが検出されなかった場合には、ＮＵＬＬが返される。
・隣接サーバ情報テーブル７９５は、例えば表２のようなデータ構造を有し、サーバ７００の隣接サーバ情報がキャッシュされる。隣接サーバ情報は、隣接サーバのＩＰアドレス、ＭＡＣアドレス、接続されているネットワークインタフェースカード、タイムアウト値等を含むがこれに限定されない。本発明は、隣接サーバ情報テーブル７９５の１つの構築プロセスに限定されるわけではなく、任意の方法で構築することができる。例えば、サーバ７００はデーモンインスタンスを実行してもよい。このインスタンスは、特定のポート（例：５５６６）を監視し、すべてのネットワークインタフェースカードを介して、アナウンスメッセージを定期的にブロードキャストする。このメッセージには、ポートの識別情報（ＩＰアドレスとＭＡＣアドレス）が含まれる。サーバ７００は、隣接サーバからアナウンスメッセージを受信すると、自身の隣接サーバ情報テーブル７９５を更新する。他のラックを介してブロードキャストされたアナウンスメッセージがローカルラックに入ることによるエラーを回避するために、図３に示すスイッチ６１１、６１２、６１３等のエッジスイッチに以下のフィルタリング条件を設定してもよい。
ｉｆ       ｉｎ＿ｐｏｒｔ＝ｕｐｌｉｎｋ  ｐｏｒｔ（１０Ｇ），ｄｓｔ  ｐｏｒｔ＝６６６８，ｐｒｏｔｏｃｏｌ＝ｕｄｐ
ｔｈｅｎ  ｄｒｏｐ  ｔｈｅ  ｐａｃｋｅｔ
【００２７】
表２は、図４の隣接サーバ情報テーブル７９５のデータ構造の例である。
【表２】
0005467143.tif 000003
・ネットワークインタフェースカード選択ユニット７３０は、排他的論理和（ＸＯＲ）演算に基づいて、データパケット送信先のネットワークインタフェースカードを選択する。具体的には、ネットワークインタフェースカードは、以下のＸＯＲ演算に基づいて特定することができる。
ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄ  ｉｎｄｅｘ＝（ｓｏｕｒｃｅ  ＭＡＣ  ａｄｄｒｅｓｓ  ＸＯＲ  ｄｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  ａｄｄｒｅｓｓ）ｍｏｄｕｌｏ（ｔｈｅ  ｎｕｍｂｅｒ  ｏｆ  ｔｈｅ  ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄｓ）．
・データパケット送信ユニット７４０は、フォワーディングテーブル検索ユニット７７０によって特定されたネットワークインタフェースカードにデータパケットを送信するように構成されており、これによりデータパケットは当該ネットワークインタフェースカードを介してサーバ外へ送信される。
・データパケット受信ユニット７５０は、ネットワークインタフェースカードからデータパケットを受信するように構成されている。
・データパケット分類ユニット７６０は、データパケットの宛先ＭＡＣアドレスをホストのＭＡＣアドレスと比較するように構成されている。宛先ＭＡＣアドレスがローカルサーバ７００のＭＡＣアドレスである場合には、データパケットはサーバ７００のネットワークプロトコルスタック７０５にアップロードされる。宛先ＭＡＣアドレスがローカルサーバ７００のＭＡＣアドレスではない場合には、データパケット分類ユニット７６０は、さらに隣接サーバ検索ユニット７９０を呼び出して、宛先ＭＡＣアドレスがローカルサーバ７００の隣接サーバのＭＡＣアドレスか否かを判定する必要がある。隣接サーバ検索ユニット７９０が、指定されたネットワークインタフェースカードを返した場合は、データパケット送信ユニット７４０が呼び出され、返されたネットワークインタフェースカードを介してデータパケットが転送される。隣接サーバ検索ユニット７９０がＮＵＬＬを返した場合は、データパケットは廃棄される。
【００２８】
図５および図６は、それぞれ本発明によるデータ転送方法８００および９００のフローチャートである。
【００２９】
図５に示すように、ステップ８１０において、ネットワークプロトコルスタックからデータパケットが取得される。ステップ８２０において、ＡＲＰマッピングテーブルを使用してデータパケットの宛先ＭＡＣアドレスが特定される。ステップＳ８３０において、宛先ＭＡＣアドレスに基づいてフォワーディングテーブルが検索され、データパケット送信先としてキャッシュされているネットワークインタフェースカードが特定される。対応するレコードが検出された場合（ステップＳ８３０でＹＥＳ）には、特定されたネットワークインタフェースカードを介してデータパケットを送信するステップＳ８６０に進む。対応するレコードが検出されなかった場合（ステップＳ８３０でＮＯ）には、データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために、宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するステップＳ８４０に進む。ステップＳ８４０において、対応するレコードが検出された場合（ステップＳ８４０でＹＥＳ）には、特定されたネットワークインタフェースカードを介してデータパケットを送信するステップＳ８６０に進む。対応するレコードが検出されなかった場合（ステップＳ８４０でＮＯ）には、排他的論理和（ＸＯＲ）演算（例：ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄ  ｉｎｄｅｘ＝（ｓｏｕｒｃｅ  ＭＡＣ  ａｄｄｒｅｓｓ  ＸＯＲ  ｄｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  ａｄｄｒｅｓｓ）ｍｏｄｕｌｏ（ｔｈｅ  ｎｕｍｂｅｒ  ｏｆ  ｔｈｅ  ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄｓ））に基づいてデータパケット送信先のネットワークインタフェースカードを選択するステップＳ８５０に進む。その後、ステップＳ８６０において、選択されたネットワークインタフェースカードを介してデータパケットが送信される。
【００３０】
図６に示すように、ステップＳ９１０において、ネットワークインタフェースカードからデータパケットが取得される。ステップＳ９２０において、データパケットの宛先ＭＡＣアドレスがローカルサーバのＭＡＣアドレスか否かが判定される。宛先ＭＡＣアドレスがローカルサーバのＭＡＣアドレスであった場合（ステップＳ９２０でＹＥＳ）には、データパケットをネットワークプロトコルスタックにアップロードするステップＳ９３０に進む。宛先ＭＡＣアドレスがローカルサーバのＭＡＣアドレスではなかった場合（ステップＳ９２０でＮＯ）には、データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために、宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するステップＳ９４０に進む。対応するレコードが検出された場合（ステップＳ９４０でＹＥＳ）には、特定されたネットワークインタフェースカードを介してデータパケットを送信するステップＳ９５０に進む。対応するレコードが検出されなかった場合（ステップＳ９４０でＮＯ）には、データパケットを廃棄するステップＳ９６０に進む。
【００３１】
図７Ａおよび図７Ｂは、それぞれ、本発明と比較対象の解決法との性能比較を示す概略図である。図７Ａおよび図７Ｂに示すように、エッジスイッチ数とサーバ数はいずれも同じ（スイッチ６台、サーバ１４４台）であるが、それらの接続方法は異なっている。表３は、具体的な比較データである。
【表３】
0005467143.tif 000004
【００３２】
表３から、本発明によって、より多くのサーバを隣接サーバにすることが可能であり、これにより、データネットワークセンターにおいて、より多くのトラフィックフローを局所化できることが明らかである。
【００３３】
図８は本発明に基づく改良型サーバ間接続システム１１００のアーキテクチャの概略図である。
【００３４】
図８に示すように、本発明に基づく改良型サーバ間接続システム１１００は、図３に示す３つのサーバ間接続システム６００、６００’、６００’’を含む。図８は、各サーバ６２１、６２２、６２３、６２１’、６２２’、６２３’、６２１’’、６２２’’、６２３’’が４枚以上のネットワークインタフェースカードを搭載し、そのうち当初２枚のネットワークインタフェースカードは、各サーバのローカルラック内の別個のスイッチのダウンリンクポートに接続されたままであり、新たに追加された他の２枚のネットワークインタフェースカードは、他の２つのラック内の対応するサーバの、新たに追加された対応するネットワークインタフェースカードにそれぞれ接続されている点で、図３とは異なる。
【００３５】
具体的には、サーバ６２１は当初２枚のネットワークインタフェースカードを介して、それぞれスイッチ６１１および６１２のダウンリンクポートに接続され、サーバ６２２は当初２枚のネットワークインタフェースカードを介して、それぞれスイッチ６１１および６１３のダウンリンクポートに接続され、サーバ６２３は当初２枚のネットワークインタフェースカードを介して、それぞれスイッチ６１２および６１３のダウンリンクポートに接続されている。サーバ６２１は新たに追加された２枚のネットワークインタフェースカードを介して、それぞれサーバ６２１’および６２１’’の新たに追加された対応するネットワークインタフェースカードに接続され、サーバ６２２は新たに追加された２枚のネットワークインタフェースカードを介して、それぞれサーバ６２２’および６２２’’の新たに追加された対応するネットワークインタフェースカードに接続され、サーバ６２３は新たに追加された２枚のネットワークインタフェーカードを介して、それぞれサーバ６２３’および６２３’’の新たに追加された対応するネットワークインタフェースカードに接続されている。
【００３６】
サーバ６２１’は当初２枚のネットワークインタフェースカードを介して、それぞれスイッチ６１１’および６１２’のダウンリンクポートに接続されている。サーバ６２２’は当初２枚のネットワークインタフェースカードを介して、それぞれスイッチ６１１’および６１３’のダウンリンクポートに接続されている。サーバ６２３’は当初２枚のネットワークインタフェースカードを介して、それぞれスイッチ６１２’および６１３’のダウンリンクポートに接続されている。サーバ６２１’は新たに追加された２枚のネットワークインタフェースカードを介して、それぞれサーバ６２１および６２１’’の新たに追加された対応するネットワークインタフェースカードに接続され、サーバ６２２’は新たに追加された２枚のネットワークインタフェースカードを介して、それぞれサーバ６２２および６２２’’の新たに追加された対応するネットワークインタフェースカードに接続され、サーバ６２３’は新たに追加された２枚のネットワークインタフェースカードを介して、それぞれサーバ６２３および６２３’’の新たに追加された対応するネットワークインタフェースカードに接続されている。
【００３７】
サーバ６２１’’は当初２枚のネットワークインタフェースカードを介して、それぞれスイッチ６１１’’および６１２’’のダウンリンクポートに接続されている。サーバ６２２’’は当初２枚のネットワークインタフェースカードを介して、それぞれスイッチ６１１’’および６１３’’のダウンリンクポートに接続されている。サーバ６２３’’は当初２枚のネットワークインタフェースカードを介して、それぞれスイッチ６１２’’および６１３’’のダウンリンクポートに接続されている。サーバ６２１’’は新たに追加された２枚のネットワークインタフェースカードを介して、それぞれサーバ６２１および６２１’の新たに追加された対応するネットワークインタフェースカードに接続され、サーバ６２２’’は新たに追加された２枚のネットワークインタフェースカードを介して、それぞれサーバ６２２および６２２’の新たに追加された対応するネットワークインタフェースカードに接続され、サーバ６２３’’は新たに追加された２枚のネットワークインタフェースカードを介して、それぞれサーバ６２３および６２３’の新たに追加された対応するネットワークインタフェースカードに接続されている。
【００３８】
これにより、３つのラックが１つの連携システムを構成する。
【００３９】
改良型サーバ間接続システム１１００においては、各サーバは、ネットワークインタフェースカードを介して２台の隣接サーバに直接接続されている。また、データパケットは、隣接サーバ間の転送により、エッジスイッチのアップリンクを通過することなく隣接するラックに到達する。例えば、図８の太い実線で示すように、サーバ６２２は、サーバ６２２’’の転送によりデータパケットをサーバ６２１’’に送信する。
【００４０】
図９は、図８に示すアーキテクチャ内の各サーバ１２００（例：サーバ６２１、６２２、６２３、６２１’、６２２’、６２３’、６２１’’、６２２’’、６２３’’）の構造を詳細に示している。簡素化のため、図４内の同一の要素は同一の参照記号で示し、これらの要素については詳細な説明を省略する。
【００４１】
各サーバ１２００は、ネットワークプロトコルスタック７０５、宛先ＭＡＣ検索ユニット７１０、アドレス解決プロトコル（ＡＲＰ）マッピングテーブル７２０、フォワーディングテーブル検索ユニット７７０、フォワーディングテーブル７８０、連携隣接サーバ検索ユニット１２９０、隣接サーバ情報テーブル１２９５、ネットワークインタフェースカード選択ユニット７３０、データパケット送信ユニット７４０、データパケット受信ユニット７５０、およびデータパケット分類ユニット１２６０を含む。
・連携隣接サーバ検索ユニット１２９０は、宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブル１２９５を検索する。対応するレコードが検出された場合、これはデータパケットの宛先アドレスがサーバ１２００の隣接サーバ（直接隣接サーバまたは通常隣接サーバ）であることを意味し、当該隣接サーバに対応するネットワークインタフェースカードが返される。対応するレコードが検出されなかった場合には、データパケット送信ユニット７４０は、２台の直接隣接サーバに隣接サーバクエリメッセージ（Ｎｅｉｇｈｂｏｒ＿Ｑｕｅｒｙ）（宛先ＭＡＣアドレスを含む）を送信する。隣接サーバクエリメッセージを受信した２台の直接隣接サーバは、各々の隣接サーバ情報テーブル内の宛先ＭＡＣアドレスのレコードをそれぞれ検索する。対応するレコードが検出された場合には、データパケット送信ユニットは、隣接サーバクエリメッセージを送信したサーバ１２００に隣接サーバ確認メッセージ（Ｉｓ＿Ｍｙ＿Ｎｅｉｇｈｂｏｒ）を返し、対応するレコードが検出されなかった場合には、非隣接サーバ確認メッセージ（Ｎｏｔ＿Ｍｙ＿Ｎｅｉｇｈｂｏｒ）を返すことができる。直接隣接サーバが隣接サーバ確認メッセージを返した場合には、連携隣接サーバ検索ユニット１２９０は、直接隣接サーバに接続されたネットワークインタフェースカードを返す。このとき、フォワーディングテーブル検索ユニット７７０は、連携隣接サーバ検索ユニット１２９０によって返されたネットワークインタフェースカードに基づいてフォワーディングテーブル７８０を更新してもよい。２台の直接隣接サーバが、それぞれ非隣接サーバ確認メッセージを返した場合には、連携隣接サーバ検索ユニット１２９０は、フォワーディングテーブル検索ユニット７７０にＮＵＬＬを返す。
・例えば表４のデータ構造を有する隣接サーバ情報テーブル１２９５は、サーバ１２００の隣接サーバ情報をキャッシュする。隣接サーバ情報は、隣接サーバのＩＰアドレス、ＭＡＣアドレス、接続されているネットワークインタフェースカード、タイムアウト値等を含むがこれに限定されない。表２に示す隣接サーバ情報テーブル７９５と比較すると、表４に示す隣接サーバ情報テーブル１２９５には、隣接サーバのタイプ（直接隣接サーバか通常隣接サーバか）を識別する項目が追加されている。図８に示す、本発明に基づく改良型サーバ間接続システム１１００のアーキテクチャにおいては、隣接サーバ情報テーブル１２９５は２つの直接隣接サーバエントリを含む。
【００４２】
表４は、図９の隣接サーバ情報テーブル１２９５の例示的データ構造である。
【表４】
0005467143.tif 000005
・データパケット分類ユニット１２６０は、データパケットの宛先ＭＡＣアドレスをホストのＭＡＣアドレスと比較するように構成されている。宛先ＭＡＣアドレスがローカルサーバ１２００のＭＡＣアドレスであった場合には、データパケットはサーバ１２００のネットワークプロトコルスタック７０５にアップロードされる。宛先ＭＡＣアドレスがローカルサーバ１２００のＭＡＣアドレスではなかった場合には、データパケット分類ユニット１２６０は、さらに、連携隣接サーバ検索ユニット１２９０を追加して呼び出し、宛先ＭＡＣアドレスがローカルサーバ１２００の隣接サーバ（通常隣接サーバ、または直接隣接サーバの通常隣接サーバ）のＭＡＣアドレスか否かを判別する必要がある。連携隣接サーバ検索ユニット１２９０が指定されたネットワークインタフェースカードを返した場合には、データパケット送信ユニット７４０が呼び出され、返されたネットワークインタフェースカードを介してデータパケットが転送される。連携隣接サーバ検索ユニット１２９０がＮＵＬＬを返した場合には、データパケットは廃棄される。また、データパケット分類ユニット１２６０は、隣接サーバクエリメッセージ（Ｎｅｉｇｈｂｏｒ＿Ｑｕｅｒｙ）処理ユニット１２６５をさらに備える。隣接サーバクエリメッセージ処理ユニット１２６５は、直接隣接サーバとして機能するサーバから隣接サーバクエリメッセージ（宛先ＭＡＣアドレスを含む）を受信すると、連携隣接サーバ検索ユニット１２９０を制御して、自サーバの隣接サーバ情報テーブル１２９５内で宛先ＭＡＣアドレスのレコードをクエリする。対応するレコードが検出された場合には、隣接サーバ問い合わせメッセージ処理ユニット１２６５は、データパケット送信ユニット７４０を制御して隣接サーバ問い合わせメッセージ（Ｎｅｉｇｈｂｏｒ＿Ｑｕｅｒｙ）を送信してきたサーバに隣接サーバ確認メッセージ（Ｉｓ＿Ｍｙ＿Ｎｅｉｇｈｂｏｒ）を返し、対応するレコードが検出されなかった場合には、非隣接サーバ確認メッセージ（Ｎｏｔ＿Ｍｙ＿Ｎｅｉｇｈｂｏｒ）を返す。
【００４３】
図１０および図１１は、本発明のデータ転送方法１３００および１４００のフローチャートである。簡素化のため、図５および図６のフローチャートに含まれる同一のステップは、同一の参照記号によって識別している。
【００４４】
図１０に示すように、ステップＳ８１０において、ネットワークプロトコルスタックからデータパケットが取得される。ステップＳ８２０において、ＡＲＰマッピングテーブルを使用してデータパケットの宛先ＭＡＣアドレスが特定される。ステップＳ８３０において、宛先ＭＡＣアドレスに基づいてフォワーディングテーブルが検索され、データパケット送信先としてキャッシュされているネットワークインタフェースカードが特定される。対応するレコードが検出された場合（ステップＳ８３０でＹＥＳ）には、特定されたネットワークインタフェースカードを介してデータパケットを送信するステップＳ８６０に進む。対応するレコードが検出されなかった場合（ステップＳ８３０でＮＯ）には、データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために、宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するステップＳ８４０に進む。対応するレコードが検出された場合（ステップＳ８４０でＹＥＳ）には、特定されたネットワークインタフェースカードを介してデータパケットを送信するステップＳ８６０に進む。対応するレコードが検出されなかった場合（ステップＳ８４０でＮＯ）には、直接隣接サーバに隣接サーバクエリメッセージ（Ｎｅｉｇｈｂｏｒ＿Ｑｕｅｒｙ）（宛先ＭＡＣアドレスを含む）を送信するステップＳ１３４２に進む。次に、隣接サーバ確認メッセージ（Ｉｓ＿Ｍｙ＿Ｎｅｉｇｈｂｏｒ）が直接隣接サーバから受信されたか否かを判定するステップＳ１３４４に進む。隣接サーバ確認メッセージが受信されていた場合（ステップＳ１３４４でＹＥＳ）には、隣接サーバ確認メッセージを送信してきた直接隣接サーバにデータパケットを送信するステップＳ８６０に進む。隣接サーバ確認メッセージが受信されていなかった場合（ステップＳ１３４４でＮＯ）には、排他的論理和（ＸＯＲ）演算（例：ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄ  ｉｎｄｅｘ＝（ｓｏｕｒｃｅ  ＭＡＣ  ａｄｄｒｅｓｓ  ＸＯＲ  ｄｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  ａｄｄｒｅｓｓ）ｍｏｄｕｌｏ（ｔｈｅ  ｎｕｍｂｅｒ  ｏｆ  ｔｈｅ  ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄｓ））に基づいてデータパケット送信先のネットワークインタフェースカードを選択するステップＳ８５０に進む。その後、ステップＳ８６０において、選択されたネットワークインタフェースカードを介してデータパケットが送信される。
【００４５】
図１１に示すように、ステップＳ１４１０において、ネットワークインタフェースカードからデータパケットが取得される。ステップＳ９２０において、データパケットの宛先ＭＡＣアドレスがローカルサーバのＭＡＣアドレスか否かが判定される。宛先ＭＡＣアドレスがローカルサーバのＭＡＣアドレスであった場合（ステップＳ９２０でＹＥＳ）には、データパケットが隣接サーバクエリメッセージ（Ｎｅｉｇｈｂｏｒ＿Ｑｕｅｒｙ）（宛先ＭＡＣアドレスを含む）か否かを判定するステップＳ１４２２に進む。データパケットが隣接サーバクエリメッセージ（ステップＳ１４２２でＹＥＳ）であった場合には、隣接サーバクエリメッセージに含まれる宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するステップＳ１４２４に進む。対応するレコードが検出された場合（ステップＳ１４２４でＹＥＳ）には、隣接サーバクエリメッセージを送信してきたサーバに隣接サーバ確認メッセージ（Ｉｓ＿Ｍｙ＿Ｎｅｉｇｈｂｏｒ）を返すステップＳ１４２６に進む。対応するレコードが検出されなかった場合（ステップＳ１４２４でＮＯ）には、隣接サーバクエリメッセージを送信してきたサーバに非隣接サーバ確認メッセージ（Ｎｏｔ＿Ｍｙ＿Ｎｅｉｇｈｂｏｒ）を返すステップＳ１４２８に進む。ステップＳ１４２２において、データパケットが隣接サーバクエリメッセージではないと判定された場合（ステップＳ１４２２でＮＯ）には、ネットワークプロトコルスタックへデータパケットをアップロードするステップＳ９３０に進む。宛先ＭＡＣアドレスがローカルサーバのＭＡＣアドレスではなかった場合（ステップＳ９２０でＮＯ）には、データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために、宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するステップＳ９４０に進む。対応するレコードが検出された場合（ステップＳ９４０でＹＥＳ）には、特定されたネットワークインタフェースカードを介してデータパケットを送信するステップＳ９５０に進む。対応するレコードが検出されなかった場合（ステップＳ９４０でＮＯ）には、データパケットを廃棄するステップ９６０に進む。
【００４６】
表５は、本発明による改良型解決法と比較対象の解決法との性能比較を示す。この表には、それぞれ同数のスイッチとサーバ（スイッチ９台、サーバ４３２台）を有する場合の具体的な比較データが示されている。
【表５】
0005467143.tif 000006
【００４７】
表５から、上記の改良を備える本発明では、より多くのサーバを隣接サーバにすることが可能になり、それによって、データネットワークセンターにおいてより多くのトラフィックフローを局所化できることが明らかである。
【００４８】
本発明の他の構成は、実施例の各ステップおよび動作を実行するソフトウェアプログラムを含む。これらについて、最初に概要を述べ、次に詳細に説明する。具体的には、１つの実施例は、符号化されたコンピュータプログラムロジックを格納するコンピュータ可読媒体で構成されるコンピュータプログラム製品である。コンピュータプログラムロジックは、コンピュータ装置上で実行されると、上記の３Ｄ位置決め解決法を提供するために必要な動作を提供する。コンピュータプログラムロジックは、それがコンピューティングシステムの少なくとも１つのプロセッサ上で実行されたときに、当該少なくとも１つのプロセッサが本発明の実施例の動作（方法）を実行することを可能にする。本発明のこうした構成は、典型的には、光媒体（例：ＣＤ−ＲＯＭ）、ソフトディスク、ハードディスク等のコンピュータ可読媒体上に設定もしくは符号化されたソフトウェア、コード、その他のデータ構造体、１つ以上のＲＯＭ、ＲＡＭ、もしくはＰＲＯＭチップに格納されたファームウェアもしくはマイクロコード等のその他の媒体、特定用途向け集積回路（ＡＳＩＣ）、または単一もしくは複数モジュール上のダウンロード可能なソフトウェアイメージおよび共有データベース等として提供される。ソフトウェア、ハードウェア等の構成は、コンピューティング装置上にインストールされることにより、コンピューティング装置内の１つ以上のプロセッサを介して、本発明の実施例による技法を実行することができる。また、本発明のノードおよびホストは、ソフトウェアプロセスを、例えば他のエンティティ内の一連のデータ通信装置やコンピューティング装置と共に稼働させることによっても実現することができる。本発明のノードおよびホストはさらに、複数のデータ通信装置間で複数のソフトウェアプロセスに分散させたり、一連の小型専用コンピュータ上で稼働するすべてのソフトウェアプロセスに分散させたり、あるいは単一のコンピュータ上で稼働するすべてのソフトウェアプロセスに分散させることも可能である。
【００４９】
本発明の実施例は、簡潔に述べれば、ソフトウェアプログラム、１台のデータ処理装置上のソフトウェアおよびハードウェア、個別ソフトウェア、または個別回路として実装できることに留意されたい。
【００５０】
以上、実施例に関連して本発明を説明してきたが、本発明はその精神と範囲から逸脱することなく様々な変更、置換、追加を行うことが可能なことは当業者には理解されるであろう。したがって、本発明の範囲は上記の特定の実施例に限定されず、以下の請求項によってのみ限定される。
【００５１】
さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。
【００５２】
（付記１）
ｎ個のダウンリンクポートと１個以上のアップリンクポートとを各々有する３個のスイッチ（ここで、ｎは２以上の整数）と、
異なるスイッチのダウンリンクポートにそれぞれ接続された少なくとも２個以上のネットワークインタフェースカードを各々有するｍ個のサーバ（ここで、ｍ＝３ｐ／２、ｐは２より大きいｎ以下の偶数）とを備え、
３個のサーバが１つのグループを構成し、当該グループの第１のサーバは、２個の前記ネットワークインタフェースカードを介して、第１のスイッチのダウンリンクポートと第２のスイッチのダウンリンクポートとにそれぞれ接続され、前記グループの第２のサーバは、２個の前記ネットワークインタフェースカードを介して、第１のスイッチのダウンリンクポートと第３のスイッチのダウンリンクポートとにそれぞれ接続され、前記グループの第３のサーバは、２個の前記ネットワークインタフェースカードを介して、第２のスイッチのダウンリンクポートと第３のスイッチのダウンリンクポートとにそれぞれ接続される
ことを特徴とするサーバ間接続システム。
【００５３】
（付記２）
前記ダウンリンクポートが１Ｇイーサネットポートであり、前記アップリンクポートが１０Ｇイーサネットポートであることを特徴とする付記１に記載のサーバ間接続システム。
【００５４】
（付記３）
前記３個のスイッチと前記ｍ個のサーバが単一のラックに配置されることを特徴とする付記１又は付記２に記載のサーバ間接続システム。
【００５５】
（付記４）
付記１から付記３の何れかに記載の３つのサーバ間接続システムを備え、
各サーバが有する４個以上のネットワークインタフェースカードのうち、２個のネットワークインタフェースカードは、各サーバが属するサーバ間接続システム内の別個のスイッチのダウンリンクポートに接続されたままとし、他の２個のネットワークインタフェースカードは、他の２つのサーバ間接続システム内の対応するサーバの新たに追加された対応するネットワークインタフェースカードにそれぞれ接続され、
第１のサーバ間接続システムのサーバグループ内の第１のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第２のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続され、第１のサーバ間接続システムのサーバグループ内の第２のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第２のサーバ間接続システムのサーバグループ内の第２のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第２のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続され、第１のサーバ間接続システムのサーバグループ内の第３のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第２のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続され、
第２のサーバ間接続システムのサーバグループ内の第１のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される。第２のサーバ間接続システムのサーバグループ内の第２のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第２のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第２のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続され、第２のサーバ間接続システムのサーバグループ内の第３のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードと、第３のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続され、
第３のサーバ間接続システムのサーバグループ内の第１のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードと、第２のサーバ間接続システムのサーバグループ内の第１のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される。第３のサーバ間接続システムのサーバグループ内の第２のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第２のサーバの新たに追加された対応するネットワークインタフェースカードと、第２のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される。第３のサーバ間接続システムのサーバグループ内の第３のサーバは、そのサーバの新たに追加された２枚のネットワークインタフェースカードを介して、第１のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードと、第２のサーバ間接続システムのサーバグループ内の第３のサーバの新たに追加された対応するネットワークインタフェースカードとに、それぞれ接続される
ことを特徴とする改良型サーバ間接続システム。
【００５６】
（付記５）
付記１から付記３の何れかに記載のサーバ間接続システムに配置されるサーバであって、
前記サーバは、
ネットワークプロトコルスタックからデータパケットを取得し、ＡＲＰマッピングテーブルでデータパケットの宛先ＭＡＣアドレスを特定するように構成された宛先ＭＡＣ検索手段と、
データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいてフォワーディングテーブルを検索するように構成されたフォワーディングテーブル検索手段と、
データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するように構成された隣接サーバ検索手段と、
前記フォワーディングテーブル検索手段または前記隣接サーバ検索手段により特定されたネットワークインタフェースカードにデータパケットを送信するように構成されたデータパケット送信ユニットとを備え、これにより前記ネットワークインタフェースカードを介してデータパケットを送信し、
前記フォワーディングテーブル検索手段は、前記フォワーディングテーブル内において宛先ＭＡＣアドレスに対応するレコードを検出できなかった場合、前記隣接サーバ検索手段に宛先ＭＡＣアドレスを送信して、隣接サーバ情報テーブルを検索させ、
前記隣接サーバ検索手段は、前記隣接サーバ情報テーブル内において宛先ＭＡＣアドレスに対応するレコードを検出した場合、当該レコード内のネットワークインタフェースカードをデータパケット送信先のネットワークインタフェースカードとして前記フォワーディングテーブル検索手段に通知し、前記フォワーディングテーブル検索手段は、新しいレコードを追加して前記フォワーディングテーブルを更新する
ことを特徴とするサーバ。
【００５７】
（付記６）
前記フォワーディングテーブル検索手段がフォワーディングテーブル内で宛先ＭＡＣアドレスに対応するレコードを検出した場合、前記フォワーディングテーブル検索手段は、前記レコード内のネットワークインタフェースカードをデータパケット送信先のネットワークインタフェースカードとして特定することを特徴とする付記５に記載のサーバ。
【００５８】
（付記７）
排他的論理和演算に基づいて、データパケット送信先のネットワークインタフェースカードを選択するよう構成されたネットワークインタフェースカード選択手段を備え、
前記データパケット送信ユニットは、前記ネットワークインタフェースカード選択手段によって選択されたネットワークインタフェースカードにデータパケットを送信するように構成され、これにより、前記ネットワークインタフェースカードを介してデータパケットを送信し、
前記隣接サーバ検索手段が前記隣接サーバ情報テーブル内において宛先ＭＡＣアドレスに対応するレコードを検出できない場合、前記ネットワークインタフェースカード選択手段が、排他的論理和演算に基づいて、データパケット送信先のネットワークインタフェースカードを選択し、
前記ネットワークインタフェースカード選択手段は、以下の排他的論理和演算
ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄ  ｉｎｄｅｘ＝（ｓｏｕｒｃｅ  ＭＡＣ  ａｄｄｒｅｓｓ  ＸＯＲ  ｄｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  ａｄｄｒｅｓｓ）ｍｏｄｕｌｏ（ｔｈｅ  ｎｕｍｂｅｒ  ｏｆ  ｔｈｅ  ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄｓ）
によってネットワークインタフェースカードを特定することを特徴とする付記５又は付記６に記載のサーバ。
【００５９】
（付記８）
前記隣接サーバ検索手段が前記隣接サーバ情報テーブル内において宛先ＭＡＣアドレスに対応するレコードを検出できない場合、前記隣接サーバ検索手段は、前記データパケット送信ユニットを介して宛先ＭＡＣアドレスを含む隣接サーバクエリメッセージを直接隣接サーバに送信し、
直接隣接サーバの何れか１つが隣接サーバ確認メッセージを返した場合、隣接サーバ検索手段は、１つの直接隣接サーバのレコード内のネットワークインタフェースカードを、データバケット送信先のネットワークインタフェースカードとして、前記フォワーディングテーブル検索手段に通知し、前記フォワーディングテーブル検索手段は、新しいレコードを追加してフォワーディングテーブルを更新することを特徴とする付記５から付記７の何れかに記載のサーバ。
【００６０】
（付記９）
付記１から付記３の何れかに記載のサーバ間接続システムに配置されるサーバであって、
前記サーバは、
ネットワークインタフェースカードからデータパケットを受信するよう構成されたデータパケット受信ユニットと、
データパケットの宛先ＭＡＣアドレスが当該サーバのＭＡＣアドレスかどうかを判定し、宛先ＭＡＣアドレスが当該サーバのＭＡＣアドレスではない場合には、宛先ＭＡＣアドレスを隣接サーバ検索手段に送信するよう構成されたデータパケット分類ユニットと、
データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するよう構成された隣接サーバ検索手段と、
前記隣接サーバ検索手段によって特定されたネットワークインタフェースカードにデータパケットを送信するよう構成されたデータパケット送信ユニットとを含み、これにより前記ネットワークインタフェースカードを介してデータパケットを送信する
ことを特徴とするサーバ。
【００６１】
（付記１０）
前記隣接サーバ検索手段が前記隣接サーバ情報テーブル内に宛先ＭＡＣアドレスに対応するレコードを検出できなかった場合、前記データパケット分類ユニットは、前記データパケットを廃棄することを特徴とする付記９に記載のサーバ。
【００６２】
（付記１１）
前記宛先ＭＡＣアドレスがサーバのＭＡＣアドレスである場合、前記データパケット分類ユニットは、データパケットをネットワークプロトコルスタックにアップロードすることを特徴とする付記９又は付記１０に記載のサーバ。
【００６３】
（付記１２）
付記１から付記３の何れかに記載のサーバ間接続システムで使用されるデータ転送方法であって、
ネットワークプロトコルスタックからデータパケットを取得し、ＡＲＰマッピングテーブルによりデータパケットの宛先ＭＡＣアドレスを特定するステップと、
データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいてフォワーディングテーブルを検索するステップと、
前記フォワーディングテーブル内において宛先ＭＡＣアドレスに対応するレコードが検出されなかった場合、データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するステップと、
前記隣接サーバ情報テーブル内において宛先ＭＡＣアドレスに対応するレコードが検出された場合、特定されたネットワークインタフェースカードを介してデータパケットを送信するステップと
を含むことを特徴とするデータ転送方法。
【００６４】
（付記１３）
前記隣接サーバ情報テーブル内において宛先ＭＡＣアドレスに対応するレコードが検出された場合、特定された前記ネットワークインタフェースカードを介してデータパケットを送信することを特徴とする付記１２に記載のデータ転送方法。
【００６５】
（付記１４）
前記隣接サーバ情報テーブル内において宛先ＭＡＣアドレスに対応するレコードを検出できない場合、排他的論理和演算に基づいて、データパケット送信先のネットワークインタフェースカードを選択し、選択したネットワークインタフェースカードを介してデータパケットを送信するステップをさらに含むことを特徴とする付記１２又は付記１３に記載にデータ転送方法。
【００６６】
（付記１５）
前記隣接サーバ情報テーブル内において宛先ＭＡＣアドレスに対応するレコードを検出できない場合、宛先ＭＡＣアドレスを含む隣接サーバクエリメッセージを直接隣接サーバに送信するステップと、
直接隣接サーバの何れか１つが隣接サーバ確認メッセージを返した場合、確認メッセージを送信した直接隣接サーバにデータパケットを送信するステップと、
隣接サーバ確認メッセージを受信しない場合、排他的論理和演算に基づいて、データパケット送信先のネットワークインタフェースカードを選択し、選択したネットワークインタフェースカードを介してデータパケットを送信するステップをさらに含むことを特徴とする付記１２又は付記１３に記載のデータ転送方法。
【００６７】
（付記１６）
以下の排他的論理和演算
ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄ  ｉｎｄｅｘ＝（ｓｏｕｒｃｅ  ＭＡＣ  ａｄｄｒｅｓｓ  ＸＯＲ  ｄｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  ａｄｄｒｅｓｓ）ｍｏｄｕｌｏ（ｔｈｅ  ｎｕｍｂｅｒ  ｏｆ  ｔｈｅ  ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄｓ）
によってネットワークインタフェースカードを特定することを特徴とする付記１４又は付記１５に記載のデータ転送方法。
【００６８】
（付記１７）
付記１から付記３の何れかに記載のサーバ間接続システムで使用されるデータ転送方法であって、
ネットワークインタフェースカードからデータパケットを受信して、データパケットの宛先ＭＡＣアドレスがサーバのＭＡＣアドレスか否かを判定するステップと、
宛先ＭＡＣアドレスが前記サーバのＭＡＣアドレスではない場合、データパケット送信先としてキャッシュされているネットワークインタフェースカードを特定するために宛先ＭＡＣアドレスに基づいて隣接サーバ情報テーブルを検索するステップと、
前記隣接サーバ情報テーブル内において宛先ＭＡＣアドレスに対応するレコードが検出された場合には、特定されたネットワークインタフェースカードを介してデータパケットを送信するステップと
を含むことを特徴とするデータ転送方法。
【００６９】
（付記１８）
前記隣接サーバ情報テーブル内において宛先ＭＡＣアドレスに対応するレコードが検出されなかった場合、前記データパケットを廃棄することを特徴とする付記１７に記載のデータ転送方法。
【００７０】
（付記１９）
前記宛先ＭＡＣアドレスがサーバのＭＡＣアドレスである場合、データパケットをネットワークプロトコルスタックにアップロードすることを特徴とする付記１７又は付記１８に記載のデータ転送方法。
【符号の説明】
【００７１】
６１１：スイッチ
６２１：サーバ
７００：サーバ
７０５：ネットワークプロトコルスタック
７１０：宛先ＭＡＣ検索ユニット
７２０：ＡＲＰマッピングテーブル
７３０：ネットワークインタフェースカード選択ユニット
７４０：データパケット送信ユニット
７５０：データパケット受信ユニット
７６０：データパケット分類ユニット
７７０：フォワーディングテーブル検索ユニット
７８０：フォワーディングテーブル
７９０：隣接サーバ検索ユニット
７９５：隣接サーバ情報テーブル
６００：サーバ間接続システム
１１００：改良型サーバ間接続システム
１２００：サーバ
１２６０：データパケット分類ユニット
１２６５：隣接サーバクエリメッセージ処理ユニット
１２９０：連携隣接サーバ検索ユニット
１２９５：隣接サーバ情報テーブル
【図１】
0005467143.tif 000007
【図２】
0005467143.tif 000008
【図３】
0005467143.tif 000009
【図４】
0005467143.tif 000010
【図５】
0005467143.tif 000011
【図６】
0005467143.tif 000012
【図７Ａ】
0005467143.tif 000013
【図７Ｂ】
0005467143.tif 000014
【図８】
0005467143.tif 000015
【図９】
0005467143.tif 000016
【図１０】
0005467143.tif 000017
【図１１】
0005467143.tif 000018