(57)【要約】【課題】前段に負荷分散装置を設置すること無く、かつ、単一のＩＰアドレスのみの使用で、複数サーバを論理的に単一のサーバに見せることのできるサーバ装置を提供する。【解決手段】クライアント−サーバモデルの計算機システムとして、他のノードと協働してクライアントにサービスを提供する本発明の各ノード１は、イーサネット（登録商標）ドライバ１２とイーサネット（登録商標）層１４との間に仮想イーサネット（登録商標）層１３を配置している。そして、仮想イーサネット（登録商標）層１３は、サービス用ネットワーク３経由のクライアントからのパケットを制御用ネットワーク４経由で他のノードに転送する機能と、このパケットの転送を行った場合に、他のノードのＭＡＣアドレスを送信元ＭＡＣアドレスとするGratuitousＡＲＰをクライアントに送信するようにＡＲＰ処理部１９に指示する機能とを有している。【選択図】      図２
2006259845.tif 000002
【特許請求の範囲】
【請求項１】
単一のＩＰアドレスを共有する他のサーバ装置と協働してクライアント装置に対するサービスの提供を行うサーバ装置であって、
前記クライアント装置からのパケットを前記他のサーバ装置に転送するパケット転送手段と、
前記パケット転送手段によるパケットの転送が行われた場合に、前記他のサーバ装置のＭＡＣアドレスを送信元ＭＡＣアドレスとするGratuitousＡＲＰ(Address Resolution Protocol)を前記クライアント装置に送信するＡＲＰ処理手段と
を具備することを特徴とするサーバ装置。
【請求項２】
前記ＩＰアドレスを共有するすべてのサーバ装置とそのサーバ装置が提供するサービスとの対応づけを示すマッピング情報を管理するＳＳマップ管理手段を具備し、
前記パケット転送手段は、前記クライアント装置が要求するサービスを提供するサーバ装置を前記ＳＳマップ管理手段で管理されるマッピング情報から取得し、そのサーバ装置にパケットを転送することを特徴とする請求項１記載のサーバ装置。
【請求項３】
サービスの提供を受けているクライアント装置とそのクライアント装置にサービスを提供するサーバ装置との対応づけを示すマッピング情報を管理するＣＳマップ管理手段を具備し、
前記パケット転送手段は、サービスを提供するクライアント装置の総数が最も少ないサーバ装置を前記ＣＳマップ管理手段で管理されるマッピング情報から取得し、そのサーバ装置にパケットを転送することを特徴とする請求項１記載のサーバ装置。
【請求項４】
前記ＩＰアドレスを共有するすべてのサーバ装置とそのサーバ装置が提供するサービスとの対応づけを示すマッピング情報を管理するＳＳマップ管理手段と、
サービスの提供を受けているクライアント装置とそのクライアント装置にサービスを提供するサーバ装置との対応づけを示すマッピング情報を管理するＣＳマップ管理手段と
を具備し、
前記パケット転送手段は、前記クライアント装置が要求するサービスを提供するサーバ装置のうち、サービスを提供するクライアント装置の総数が最も少ないサーバ装置を前記ＳＳマップ管理手段で管理されるマッピング情報と前記ＣＳマップ管理手段で管理されるマッピング情報とから取得し、そのサーバ装置にパケットを転送することを特徴とする請求項１記載のサーバ装置。
【請求項５】
他のサーバ装置との間で生存確認メッセージを送受信する生存確認手段を具備し、
前記ＳＳマップ管理手段は、前記生存確認手段による前記生存確認メッセージの受信が一定期間以上無い他のサーバ装置に関するマッピング情報を削除することを特徴とする請求項２または４記載のサーバ装置。
【請求項６】
他のサーバ装置との間で生存確認メッセージを送受信する生存確認手段を具備し、
前記ＣＳマップ管理手段は、前記生存確認手段による前記生存確認メッセージの受信が一定期間以上無い他のサーバ装置に関するマッピング情報を削除することを特徴とする請求項３または４記載のサーバ装置。
【請求項７】
前記生存確認手段による前記生存確認メッセージの受信が一定期間以上無い他のサーバ装置が提供していたサービスの提供を引き継ぐサービス引継手段を具備することを特徴とする請求項５または６記載のサーバ装置。
【請求項８】
前記パケット転送手段は、前記パケットを転送する他のサーバ装置をラウンドロビンアルゴリズムを用いて選択することを特徴とする請求項１記載のサーバ装置。
【請求項９】
前記パケット転送手段は、前記パケットを転送する他のサーバ装置をランダムに選択することを特徴とする請求項１記載のサーバ装置。
【請求項１０】
他のサーバ装置との間で各サーバ装置の状態を示すパラメータを送受信するパラメータ送受信手段を具備し、
前記パケット転送手段は、前記パラメータにより示される各サーバ装置の状態により前記パケットを転送する他のサーバ装置を選択することを特徴とする請求項１記載のサーバ装置。
【請求項１１】
前記パラメータは、各サーバ装置のＣＰＵ負荷を含み、
前記パケット転送手段は、前記パラメータにより示されるＣＰＵ負荷が最も小さいサーバ装置にパケットを転送することを特徴とする請求項１０記載のサーバ装置。
【請求項１２】
前記パラメータは、各サーバ装置の記憶媒体に対する入出力負荷を含み、
前記パケット転送手段は、前記パラメータにより示される入出力負荷が最も小さいサーバ装置にパケットを転送することを特徴とする請求項１０記載のサーバ装置。
【請求項１３】
マスタおよびスレーブのうちマスタとして動作する場合、前記ＡＲＰ処理手段は、未知のクライアント装置からのＡＲＰ要求に対して、自サーバ装置のＭＡＣアドレスを送信元ＭＡＣアドレスとするＡＲＰ応答を返送することを特徴とする請求項１、２、３、４、５、６、７、８、９、１０、１１または１２記載のサーバ装置。
【請求項１４】
単一のＩＰアドレスを共有する、請求項１乃至１３のいずれかに記載の複数のサーバ装置と、
前記複数のサーバ装置間を接続するための第１のネットワークと、
サービスの提供を受けるクライアント装置と前記複数のサーバ装置との間を接続するための第２のネットワークと
を具備することを特徴とするサーバシステム。
【請求項１５】
単一のＩＰアドレスを共有する、請求項１乃至１３のいずれかに記載の複数のサーバ装置と、
前記複数のサーバ装置間を接続すると共に、サービスの提供を受けるクライアント装置と前記複数のサーバ装置との間を接続するためのネットワークと
を具備することを特徴とするサーバシステム。
【請求項１６】
単一のＩＰアドレスを共有する複数のサーバ装置でクライアント装置に対するサービスの提供を行うサーバシステムの負荷分散方法であって、
前記複数のサーバ装置それぞれが、
前記クライアント装置からのパケットを他のサーバ装置に転送するステップと、
前記パケットの転送を行った場合に、前記他のサーバ装置のＭＡＣアドレスを送信元ＭＡＣアドレスとするGratuitousＡＲＰを前記クライアント装置に送信するステップと
を具備することを特徴とする負荷分散方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、クライアント装置に対するサービスの提供を複数のサーバ装置で行うクライアント−サーバモデルの計算機システムにおける負荷分散技術に関する。
【背景技術】
【０００２】
クライアント−サーバモデルにてクライアントにサービスを提供する計算機システムでは、複数のサーバ上で同一のサービスを動作させ、クライアントからの当該サービスへのアクセスをこれら複数のサーバの何れかに振り分ける手法が用いられることが多い。負荷分散、スケーラビリティの確保、信頼性の確保が可能だからである。
【０００３】
このようなメリットがある一方、複数のサーバのうち、どのサーバにアクセスすべきかをクライアントが決定するような仕組みでは、クライアントが行うべきアクセス方法が煩雑になってしまう。よって、クライアントからのアクセスの利便性を考慮すると、物理的に複数のサーバを論理的に単一のサーバであるかのようにクライアントに見せることは必須であり、現在広く使用されているＴＣＰ／ＩＰベースのネットワークにおいては、ＤＮＳによるサーバの名前解決時に、クライアントに対して異なるＩＰアドレス（何れかのサーバのＩＰアドレス）を返す方法や、サーバ群の前段（フロントエンド）に負荷分散装置を設置する方法などが用いられることが多い。
【０００４】
（１）ＤＮＳによる名前解決時に異なるＩＰアドレスをクライアントへ返す方法
複数のサーバはそれぞれ異なるＩＰアドレスを持っており、一方、これらサーバ群に対する名前（ＵＲＬ）はただ１つとし、それをクライアントに対して公開する。
【０００５】
クライアントは、サーバにアクセスするときに、公開されたサーバの名前（ＵＲＬ）を使用してアクセスすることになるが、ＤＮＳによる名前解決を行う時点で、ＤＮＳサーバが、サーバの名前解決を問い合わせてきたクライアントに対して、複数存在するサーバのうちの何れかのサーバのＩＰアドレスを返す。
【０００６】
即ち、異なるクライアントに対して異なるＩＰアドレスを返すことで、実際には複数サーバ構成でサービスを実現しているが、クライアントに対しては単一のサーバ(名前)であるかのように見せることが出来る。
【０００７】
（２）負荷分散装置を用いる方法
クライアントは負荷分散装置のＩＰアドレスに対してアクセスを行う。つまり、クライアントからは負荷分散装置がサーバに見えるが、負荷分散装置が、クライアントからのアクセスを各サーバに振り分けることにより、複数サーバによるクライアントへのサービス提供を実現する。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、これらの方法には、それぞれに以下のような問題がある。
【０００９】
まず、前者の方法では、複数の（実際に存在するサーバの数だけ）ＩＰアドレスが必要になるため、十分なＩＰアドレスを用意することが出来ない状況では、クライアントからのアクセス増大に対応すべくサーバを増やすことが容易ではなく、スケーラビリティの確保が難しい。また、ＤＮＳサーバに処理が集中するため、ＤＮＳサービスの信頼性の確保のための投資も必要となる。
【００１０】
一方、後者の方法では、負荷分散装置に処理が集中するため、負荷分散装置の性能がボトルネックとなり得る。また、負荷分散処理の高信頼化のためには複数の負荷分散装置を用意するための投資も必要である。更に、複数の負荷分散装置を用いる場合は、それぞれの負荷分散装置にＩＰアドレスが必要になるため、前述のＤＮＳによる方法と同様の問題も生じる。
【００１１】
この発明は、このような事情を考慮してなされたものであり、サーバ群の前段に負荷分散装置を設置すること無く、かつ、単一のＩＰアドレスのみの使用で、複数サーバを論理的に単一のサーバに見せることを可能としたサーバ装置、サーバシステムおよびサーバシステムの負荷分散方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本目的を達成するために、この発明は、単一のＩＰアドレスを共有する他のサーバ装置と協働してクライアント装置に対するサービスの提供を行うサーバ装置であって、前記クライアント装置からのパケットを前記他のサーバ装置に転送するパケット転送手段と、前記パケット転送手段によるパケットの転送が行われた場合に、前記他のサーバ装置のＭＡＣアドレスを送信元ＭＡＣアドレスとするGratuitousＡＲＰを前記クライアント装置に送信するＡＲＰ処理手段とを具備することを特徴とする。
【００１３】
また、この発明のサーバシステムは、単一のＩＰアドレスを共有する複数の前記サーバ装置と、前記複数のサーバ装置間を接続するための第１のネットワークと、サービスの提供を受けるクライアント装置と前記複数のサーバ装置との間を接続するための第２のネットワークとを具備することを特徴とする。
【００１４】
また、この発明は、単一のＩＰアドレスを共有する複数のサーバ装置でクライアント装置に対するサービスの提供を行うサーバシステムの負荷分散方法であって、前記複数のサーバ装置それぞれが、前記クライアント装置からのパケットを前記他のサーバ装置に転送するステップと、前記パケットの転送を行った場合に、前記他のサーバ装置のＭＡＣアドレスを送信元ＭＡＣアドレスとするGratuitousＡＲＰを前記クライアント装置に送信するステップとを具備することを特徴とする。
【発明の効果】
【００１５】
この発明によれば、サーバ群の前段に負荷分散装置を設置すること無く、かつ、単一のＩＰアドレスのみの使用で、複数サーバを論理的に単一のサーバに見せることを可能としたサーバ装置、サーバシステムおよびサーバシステムの負荷分散方法を提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照してこの発明の一実施形態を説明する。
【００１７】
図１は、本実施形態に係るサーバシステムの全体構成を示す図である。なお、以下の説明では、現在広く普及している、レイヤ２（リンクレベル）にはイーサネット（登録商標）を、レイヤ３にはＩＰ（InternetProtocol）を使用したネットワークを想定している。
【００１８】
図１において、ノード１は、クライアント２に対して各種サービスを提供する計算機、いわゆるクライアント−サーバモデルにおいてサーバと呼ばれるものである。なお、本発明では、ノード数に制限は無い。また、各ノードは一意なノード識別子（０，１，…）を持つ。
【００１９】
サービス用ネットワーク３は、ノード１とクライアント２の双方が接続しているネットワークであり、サーバ１とクライアント２との間の通信に使用される単一イーサネット（登録商標）セグメントである。一方、制御用ネットワーク４は、単一のＩＰアドレスを共有する全てのノード１が接続され、ノード１間の制御情報等のやり取りや、クライアント２のアクセスをノード１間で転送する場合に使用されるものである。
【００２０】
この制御用ネットワーク４のネットワークの種類は特に制限は無いが、一般的にコスト面で有利なイーサネット（登録商標）が用いられることが想定される。また、制御用ネットワーク４での通信に用いる上位プロトコルは特に制限は無い。つまり、ＩＰを使わない場合は、制御用ネットワーク４に接続しているネットワークインタフェースにはＩＰアドレスを付与する必要もない。本発明では、この制御用ネットワーク４での具体的な通信手段(プロトコル)には言及しない。
【００２１】
ノード１の種別には、マスタとスレーブがある。制御用ネットワーク４に接続されているノードのうち、ただひとつのノードがマスタとなり、それ以外のノードは全てスレーブとなる。マスタであるノードは特別な役割を持つ(後述)。なお、マスタの選出方法には各種方法が考えられるが、マスタ選出方法は本発明の主旨では無いため、ここでは何らかの方法でただ１つのノードがマスタに選出されることとする。
【００２２】
各ノード１内のサービスとは、ノード１がクライアント２に対して提供するサービスであり、例えば、ＮＦＳ（Network File System）やＣＩＦＳ（Common Internet File System）のようなネットワーク越しのファイルシステムサービスを提供するプログラムであったり、あるいは、データベース、Ｗｅｂサービス等を提供するプログラムである。なお、本発明では、サービスの内容に制約は無い。また、各ノード１上では異なるサービスを動作させることも同一のサービスを動作させることもでき、これについても制約は無い。なお、各サービスは、サービスの種別を識別するためのサービス識別子を持つ（同一サービスは同一サービス識別子を持つ）。
【００２３】
また、各ノード１のサービス用ネットワーク３に接続しているネットワークインタフェースは、それぞれ別個のＭＡＣアドレスを持つ（MAC-A〜MAC-Z）が、一方で、全て同一のＩＰアドレスを持つ（IP-A）。
【００２４】
図２は、ノード１の構成を表す図である。このノード１上では、サービス（０）からサービス（Ｎ−１）の合計Ｎ個のサービス２０が動作している。
【００２５】
ＳＳマップ２１は、サーバ−サービスマップ（Server-Serviceマップ)の略で、どのノード(サーバ)１でどのサービス２０が動作しているかの一覧を保持するテーブルである。各ノード１は、それぞれのノード１上で動作しているサービス２０の情報を他ノード１と交換し、各々のＳＳマップ２１を最新の状態に保つ。詳細を図３に示す。
【００２６】
ＣＳマップ２２は、クライアント−サービスマップ（Client-Serviceマップ）の略で、どのクライアント２がどのノード１上のどのサービス２０にアクセスしているかの一覧を保持するテーブルである。このＣＳマップ２２に関しても、ＳＳマップ２１と同様、ノード１間で情報を交換し、各々のＣＳマップ２２の状態を最新の状態に保つ。詳細を図４に示す。
【００２７】
ＭＡＣアドレステーブル２３は、制御用ネットワーク４に接続されている全ノード１について、サービス用ネットワーク３に接続しているＮＩＣに付与されているＭＡＣアドレスの一覧を保持するテーブルである。このＭＡＣアドレステーブル２３に関しても、ＳＳマップ２１、ＣＳマップ２２と同様、ノード１間で情報を交換し、各々のＭＡＣアドレステーブル２３の状態を最新の状態に保つ。詳細を図５に示す。
【００２８】
次に、ノード１内のネットワーク関連プロトコルを説明する。本来は、下位層から上位層へ、ネットワークインタフェース１１，１８、イーサネット（登録商標）ドライバ１２，１７、イーサネット（登録商標）層１４、ＴＣＰ／ＩＰ層１５というプロトコルスタックとなるのが一般的であるが、本発明では、クライアント２から各ノード１上のサービス２０へのアクセスの送信先等を制御する仮想イーサネット（登録商標）層１３が、イーサネット（登録商標）ドライバ１２とイーサネット（登録商標）層１４との間に位置する。以下、個々のプロトコル層について説明する。
【００２９】
イーサネット（登録商標）ドライバ１２、および１７は、サービス用ネットワーク３、制御用ネットワーク４に接続するネットワークインタフェースそれぞれに対して存在し、ネットワークインタフェースを制御して、実際のイーサネット（登録商標）フレームの送受信処理を行うソフトウェアである。本発明ではイーサネット（登録商標）ドライバには特別な機能は不要であり、一般的な機能を持つものとする。
【００３０】
イーサネット（登録商標）層１４は、下位層からイーサネット（登録商標）フレームを受信、あるいは、下位層へイーサネット（登録商標）フレームを送信する等、イーサネット（登録商標）プロトコルの各種処理を行うプロトコル層である。本発明では、仮想イーサネット（登録商標）層１３の上位層に位置する（本来であればイーサネット（登録商標）ドライバ１２の上位に位置する）ことを除けば、イーサネット（登録商標）層１４に特別な機能は不要であり、一般的な機能を持つものとする。
【００３１】
ＴＣＰ／ＩＰ層１５は、ＩＰ、ＴＣＰ、ＵＤＰ等のプロトコル処理を行うプロトコル層であって、本発明では、特別な機能は不要であり、一般的な機能を持つものとする。
【００３２】
そして、仮想イーサネット（登録商標）層１３は、本発明において特徴的な処理部であり、イーサネット（登録商標）ドライバ１２の上位、イーサネット（登録商標）層１４の下位に位置する仮想的なイーサネット（登録商標）プロトコル層である。クライアント２または制御用ネットワーク４経由で他ノード１からサービス２０へのアクセスを受信し、その後の動作を決定するための処理を行う。その際、ＳＳマップ２１、ＣＳマップ２２の情報を利用する。
【００３３】
まず、図６および図７のフローチャートを参照しながら、この仮想イーサネット（登録商標）層１３の基本的な動作手順を説明する。なお、以後の説明において、”パケット”とは、ノード１上のサービス２０を利用するためのクライアント２からのＩＰパケット（及びＵＤＰまたはＴＣＰのデータ）を格納したイーサネット（登録商標）フレームを指す。
【００３４】
図６は、仮想イーサネット（登録商標）層１３で実行される制御情報の処理フローである。
【００３５】
自ノード１上で新たなサービス２０が動作開始したら（ステップＡ１のＹｅｓ）、その動作開始したサービス２０のサービス識別子と自身のノード識別子との組をＳＳマップ２１に登録する（ステップＡ２）。また、同サービス識別子およびノード識別子からＳＳマップ登録メッセージを作成し、制御用ネットワーク４にブロードキャスト（全ての他ノードへの送信）する（ステップＡ３）。
【００３６】
一方、自ノード１上で動作していたサービス２０が終了した場合には（ステップＡ４のＹｅｓ）、その動作終了したサービス２０のサービス識別子と自身のノード識別子との組に一致するエントリをＳＳマップ２１から削除する（ステップＡ５）。また、同サービス識別子およびノード識別子からＳＳマップ削除メッセージを作成し、制御用ネットワーク４にブロードキャストする(ステップＡ６)。
【００３７】
また、制御用ネットワーク４からイーサネット（登録商標）ドライバ１７経由でＳＳマップ登録メッセージを受信すると（ステップＡ７のＹｅｓ）、受け取ったＳＳマップ登録メッセージに含まれるノード識別子とサービス識別子との組に一致するエントリが自身のＳＳマップ２１に存在するか調べ（ステップＡ８）、存在しなければ（ステップＡ８のＮｏ）、それらの情報をＳＳマップ２１に登録する（ステップＡ９）。既に存在すれば（ステップＡ８のＹｅｓ）、ここでは特に何もしない。
【００３８】
一方、制御用ネットワーク４からイーサネット（登録商標）ドライバ１２経由でＳＳマップ削除メッセージを受信すると（ステップＡ１０のＹｅｓ）、受け取ったＳＳマップ削除メッセージに含まれるノード識別子とサービス識別子との組に一致するエントリが自身のＳＳマップ２１に存在するか調べ（ステップＡ１１）、存在すれば（ステップＡ１１のＹｅｓ）、それらの情報をＳＳマップ２１から削除する（ステップＡ１２）。存在しなければ（ステップＡ１１のＮｏ）、ここでは特に何もしない。
【００３９】
さらに、制御用ネットワーク４からイーサネット（登録商標）ドライバ１７経由でＣＳマップ登録メッセージを受け取ると（ステップＡ１３のＹｅｓ）、受け取ったＣＳマップ登録メッセージに含まれるクライアント情報、ノード識別子およびサービス識別子の組に一致するエントリが自身のＣＳマップ２２に存在するか調べ（ステップＡ１４）、存在しなければ（ステップＡ１４のＮｏ）、それらの情報をＣＳマップ２２に登録する（ステップＡ１５）。既に存在すれば（ステップＡ１４のＹｅｓ）、ここでは特に何もしない。
【００４０】
また、図７は、仮想イーサネット（登録商標）層１３で実行されるクライアント２からのアクセス（パケット）の処理フローである。
【００４１】
パケットを受信すると、まず、パケットを送信したクライアント２が既知、即ち、ＣＳマップ２２に登録されたクライアント２かどうかを調べる（ステップＢ１）。もし、未知のクライアント２であれば（ステップＢ１のＮｏ）、ＳＳマップ２１を参照し、以下の処理（ステップＢ２〜ステップＢ１３）を行う。
【００４２】
クライアント２がアクセスしようとしているサービス２０が自ノード１上のみで動作している場合（ステップＢ２のＹｅｓ）、クライアント２からのパケットを上位層（イーサネット（登録商標）層１４）に渡す（ステップＢ３）。即ち、自ノード１上で動作している該当サービス２０へクライアント２からのアクセスを引き渡すことになる。そして、当該クライアント２、当該クライアント２がアクセスしようとしたノード識別子、サービス識別子の組からなる情報をＣＳマップ２２に登録する（ステップＢ４）。この時、これらの情報からＣＳマップ登録メッセージを作成し、制御用ネットワーク４にブロードキャストする。
【００４３】
クライアント２がアクセスしようとしているサービス２０が他ノード１上のみで動作している場合であって、かつ、ただ１つのノード１上で動作している場合（ステップＢ５のＹｅｓ）、このクライアント２からのパケットをサービス２０が動作しているノード１へ転送する（ステップＢ６）。即ち、クライアント２からのパケットの宛先ＭＡＣアドレスを当該ノード１の制御用ネットワーク４に接続しているネットワークインタフェースのものに置き換え、制御用ネットワーク４側のイーサネット（登録商標）ドライバ１７に渡す。また、当該クライアント２のＭＡＣアドレス、転送先ノード１のサービス用ネットワーク３側のネットワークインタフェース１８のＭＡＣアドレスを格納し、“根拠の無いＡＲＰ（GratuitousＡＲＰ）”の送信要求をＡＲＰ処理部１９に対して発行する（ステップＢ７）。以後、当該クライアント２から他ノード１上のサービス２０へのアクセスが、自ノード１を経由しないようにするための措置である。そして、その後、ステップＢ４の手順で、ＣＳマップ２２への登録を行う。
【００４４】
クライアント２がアクセスしようとしているサービス２０が他ノード１上のみで動作している場合であって、かつ、複数のノード１上で動作している場合（ステップＢ８のＹｅｓ）、ＣＳマップ２２を参照し、当該サービス２０が動作しているノード１の内、クライアント２からのアクセスが最も少ないサービス２０が動作しているノード１を選択し（ステップＢ９）、前述のステップＢ６〜ステップＢ７の手順で、当該クライアント２からのパケットを転送し、ステップＢ４の手順で、ＣＳマップ２２への登録を行う。なお、アクセス頻度が同じであれば、転送先ノード１はランダムに選択する。
【００４５】
クライアント２がアクセスしようとしているサービス２０が自ノード１および他ノード１の両方で動作している場合（ステップＢ１０のＹｅｓ）、ＣＳマップ２２を参照し、当該サービス２０が動作しているノードの内、クライアント２からのアクセスが最も少ないサービス２０が動作しているノードを選択する（ステップＢ１１）。そして、そのノード１が自ノード１でなければ（ステップＢ１２のＮｏ）、前述のステップＢ６〜ステップＢ７の手順で、当該クライアントからのパケットを転送する。一方、クライアント２からのアクセスが最も少ないサービス２０が動作しているノード１が自ノード１であれば（ステップＢ１２のＹｅｓ）、前述のステップＢ３〜ステップＢ４の手順で、自ノード１上の上位層（イーサネット（登録商標）層１４）に当該クライアント２からのパケットを渡すと共に、ＣＳマップ２２への登録を行う。なお、アクセス頻度が同じであれば自ノード１を選択する。
【００４６】
なお、ステップＢ２，Ｂ５，Ｂ８，Ｂ１０のいずれの条件にも該当しない場合（ステップＢ１０のＮｏ）、そのサービス２０はいずれにも存在しないので、クライアント２からのパケットを上位層（イーサネット（登録商標）層１４）に渡し、ＴＣＰ／ＩＰ１５にエラー処理を実行させる（ステップＢ１３）。
【００４７】
また、クライアント２が既知であった場合（ステップＢ１のＹｅｓ）、ＣＳマップを参照し、以下の処理（ステップＢ１４〜ステップＢ１８）を行う。
【００４８】
クライアント２が自ノード１上のサービス２０にアクセスしようとしている場合（ステップＢ１４のＹｅｓ）、このクライアント２からのパケットを上位層（イーサネット（登録商標）層１４）に渡す（ステップＢ１５）。即ち、前述のステップＢ３と同様、自ノード１上で動作している該当サービスへクライアント２からのアクセスを引き渡すことになる。
【００４９】
一方、クライアント２が他ノード１上のサービスにアクセスしようとしている場合（ステップＢ１４のＮｏ）、ＣＳマップ２２からアクセス先のノード１を同定し（ステップＢ１６）、当該アクセスをそのノード１へ転送する（ステップＢ１７）。即ち、前述のステップＢ６と同様、クライアント２からのパケットの宛先ＭＡＣアドレスを上記選択したノード１の制御用ネットワーク４に接続しているネットワークインタフェースのものに置き換え、制御用ネットワーク４側のイーサネット（登録商標）ドライバ１７に渡す。また、前述のステップＢ７と同様、当該クライアント２のＭＡＣアドレス、転送先ノード１のサービス用ネットワーク３側のネットワークインタフェースのＭＡＣアドレスを格納し、“根拠の無いＡＲＰ（GratuitousＡＲＰ）”の送信要求をＡＲＰ処理部１９に対して発行する（ステップＢ１８）。
【００５０】
以上のように動作する、イーサネット（登録商標）ドライバ１２とイーサネット（登録商標）層１４との間に介在して設けられる仮想イーサネット（登録商標）層１３の働きにより、ノード１群の前段に負荷分散装置を設置すること無く、かつ、単一のＩＰアドレスのみの使用で、複数ノード１を論理的に単一のノード１に見せることが可能となる。
【００５１】
なお、ＡＲＰ処理部１９は、ＡＲＰ要求の受信、ＡＲＰ応答の送信および仮想イーサネット（登録商標）層１３からの指示に基づき“根拠の無いＡＲＰ（GratuitousＡＲＰ）”の送信を行う部分であり、ＭＡＣアドレステーブルを利用する。具体的には、以下の処理を行う。
【００５２】
未知のクライアント２、即ち、ＣＳマップ２２に登録されていないクライアント２からＡＲＰ要求を受信すると、自身がマスタならば自身のＭＡＣアドレスを送信元ＭＡＣアドレスフィールドに設定したＡＲＰ応答をそのクライアント２へ送信する。一方、自身がスレーブならば何もしない。
【００５３】
一方、既知のクライアント２、即ち、ＣＳマップ２２に登録されているクライアント２からＡＲＰ要求を受信すると、当該クライアント２が自ノード１上で動作しているサービス２０にアクセスしているのであれば、自身のＭＡＣアドレスを送信元ＭＡＣアドレスフィールドに設定したＡＲＰ応答をそのクライアント２へ送信する。一方、そうでない場合は何もしない。
【００５４】
また、仮想イーサネット（登録商標）層１３から“根拠の無いＡＲＰ（GratuitousＡＲＰ）”の送信要求を受け取ると、サービス用ネットワーク３に“根拠の無いＡＲＰ（GratuitousＡＲＰ）”を送信する。この時の宛先ＭＡＣアドレスフィールドおよび送信元ＭＡＣアドレスフィールドは、仮想イーサネット（登録商標）層１３からの指示によるが、送信元ＭＡＣアドレスフィールドは、クライアント２がアクセスしようとしたサービス２０が動作しているノード１のＭＡＣアドレスであり、仮想イーサネット（登録商標）層１３から受け取ったノード情報からＭＡＣアドレステーブル２３を参照して取得する。一方、宛先ＭＡＣアドレスフィールドは、当該ノード１上のサービス２０にアクセスしようとしたクライアント２のＭＡＣアドレスである。
【００５５】
なお、以上のＡＲＰ応答、“根拠の無いＡＲＰ（GratuitousＡＲＰ）”の送信元ＩＰアドレスフィールドは、すべてノード１群が共有するＩＰアドレスである。
【００５６】
また、生存確認処理部１６は、他ノード１との間の定期的な生存確認メッセージのやり取りを行う。あるノード１との生存確認が途切れた場合、ＳＳマップ２１、ＣＳマップ２２、ＭＡＣアドレステーブル２３の当該ノード１に関するエントリを全て破棄する。具体的には以下の処理を行う。
【００５７】
ノード１が起動した後、定期的な生存確認メッセージの送信を開始する。つまり、制御用ネットワーク４に生存確認メッセージをブロードキャストする。生存確認メッセージに自身のノード識別子と、サービス用ネットワーク３に接続しているネットワークインタフェースに付与されているＭＡＣアドレスとを含める。このようにすることで、他のノード１へ自身のＭＡＣアドレスを通知する。
【００５８】
一方、制御用ネットワーク４から生存確認メッセージを受信したら、この生存確認メッセージからノード識別子とＭＡＣアドレスを取り出し、これらのエントリがＭＡＣアドレステーブル２３になければ登録し、既に登録されていれば何もしない。
【００５９】
そして、一定時間以上、あるノード１から生存確認メッセージを受信しなかったら、ＳＳマップ２１、ＣＳマップ２２、ＭＡＣアドレステーブル２３のそのノード１に関するエントリを全て削除する。
【００６０】
ここで、より具体的な例を挙げて、各クライアント２およびノード１間の相互作用、各種情報の流れを説明する。以下の説明で使用する構成の全体を図８に、その時点での各ノード１のＳＳマップ２１、ＣＳマップ２２、ＭＡＣアドレステーブル２３の状態をそれぞれ図９（ノード（０）１の状態）および図１０（ノード（１）１の状態）に示す。
【００６１】
図８に示す通り、ここでは、ノード１は２つで、ＭＡＣアドレスとして、それぞれMAC-A、MAC-Bを持つ。一方、ＩＰアドレスは、192.168.1.1で、２つのノード１はこれを共有している。また、ノード（０）１がマスタである。
【００６２】
また、図９、図１０に示す通り、双方のノード１上でＮＦＳサービス２０、ＣＩＦＳサービス２０が、ノード（０）１上でＨＴＴＰサービス２０が、ノード（１）１上でＤＮＳサービス２０が動作しており、更に、クライアント（０）２はノード（０）１上のサービス（０）２０、即ち、ＮＦＳサービス２０に、クライアント（１）２はノード（１）１上のサービス（１）２０、即ち、ＣＩＦＳサービス２０にアクセスしている状態である。一方、クライアント（２）２、クライアント（３）２は何れのノード１上のサービス２０にもアクセスしていない状態である。なお、各サービスの概要は以下の通りである。
【００６３】
（ａ）ＮＦＳサービス（サービス識別子＝０）
ＮＦＳ（Network File System）を提供するサーバプログラム。
【００６４】
（ｂ）ＣＩＦＳサービス（サービス識別子＝１）
ＣＩＦＳ（Common Internet File System）を提供するサーバプログラム。
【００６５】
（ｃ）ＨＴＴＰサービス（サービス識別子＝２）
ＨＴＴＰ（Hyper Text Transfer Protocol）サービスを提供するプログラム。
【００６６】
（ｄ）ＤＮＳサービス（サービス識別子＝３）
ＤＮＳ（Domain Name service）サービスを提供するプログラム。
【００６７】
次に、クライアント２からのアクセスに応じたノード（０）１およびノード（１）１の動作手順と生存確認処理部１６関連の動作手順とをケース別に説明する。なお、ノード１内の各機能の処理については既述の通りであるので、ここでは詳述しない。
【００６８】
（１）既知のクライアント２からＡＲＰ要求を受信した場合
クライアント（０）２が192.168.1.1に対するＡＲＰ要求をサービス用ネットワーク３へブロードキャストした場合、ノード（０）１、ノード（１）１はそれぞれ以下の処理を行う。
【００６９】
（ａ）ノード（０）１
ＣＳマップ２２を参照し、クライアント（０）２が自ノード１上のサービス（０）２０にアクセスしていることから、送信元ＭＡＣアドレスフィールドを自ノードのＭＡＣアドレスMAC-Aに、宛先ＭＡＣアドレスフィールドをクライアント（０）２のＭＡＣアドレスに設定し、ＡＲＰ応答を送信する。
【００７０】
（ｂ）ノード（１）１
ＣＳマップ２２を参照し、クライアント（０）が自ノード１上のサービス２０にはアクセスしていないことから、何もしない。
【００７１】
（２）未知のクライアント２からＡＲＰ要求を受信した場合
クライアント（２）２が192.168.1.1に対するＡＲＰ要求をサービス用ネットワーク３へブロードキャストした場合、ノード（０）１、ノード（１）１はそれぞれ以下の処理を行う。
【００７２】
（ａ）ノード（０）１
ノード（０）１はマスタなので、送信元ＭＡＣアドレスフィールドを自ノード１のＭＡＣアドレスMAC-Aに、宛先ＭＡＣアドレスフィールドをクライアント（２）２のＭＡＣアドレスに設定し、ＡＲＰ応答を送信する。
【００７３】
（ｂ）ノード（１）１
ノード（１）はスレーブなので、未知の（ＣＳマップ２２に登録されていない）クライアント（２）２からのＡＲＰ要求を受信しても何もしない。
【００７４】
（３）既知のクライアント２から自ノード１上のサービス２０へのパケットを受信した場合
クライアント（０）２のＡＲＰテーブル（各クライアント２がＡＲＰ処理を行うために備えるテーブル）にて、192.168.1.1に対するＭＡＣアドレスとしてMAC-Aのエントリがある状態で、クライアント（０）２がサービス（０：ＮＦＳサービス)２０にアクセスした場合、ノード（０）１がクライアント（０）２からのパケットを受信する。
【００７５】
ノード（０）１はＣＳマップ２２を参照し、クライアント（０）２が自ノード１上のサービス（０）２０にアクセス中であることを確認し、当該パケットを自ノード１上のサービス（０）２０に送信する。つまり、ノード（０）１がクライアント（０）２に対してサービス（０）２０のサービスを提供することとなる。
【００７６】
（４）既知のクライアント２から他ノード１上のサービス２０へのパケットを受信した場合
クライアント１のＡＲＰテーブルにて、192.168.1.1に対するＭＡＣアドレスとしてMAC-Aのエントリがある状態で、クライアント（１）２がサービス（１：ＣＩＦＳサービス）２０にアクセスした場合、ノード（０）１がクライアント（１）２からのパケットを受信する。
【００７７】
ノード（０）１はＣＳマップ２２を参照し、クライアント（１）２がノード（１）１上のサービス（１）２０にアクセス中であることを確認し、制御用ネットワーク４経由で当該パケットをノード１に転送する。
【００７８】
また、ＭＡＣアドレステーブル２３からノード（１）１のＭＡＣアドレスを読み出し、送信元ＭＡＣアドレスフィールドをノード（１）１のＭＡＣアドレスに、宛先ＭＡＣアドレスフィールドをクライアント（１）２のＭＡＣアドレスに設定し、“根拠の無いＡＲＰ（GratuitousＡＲＰ）”を送信する。
【００７９】
このように“根拠の無いＡＲＰ（GratuitousＡＲＰ）”を送信することで、次回のクライアント（１）２からの192.168.1.1のサービス（１）２０へのパケットはノード（１）１で受信されるはずである。一方、ノード（０）１から、クライアント（１）２からのパケットを転送されたノード（１）１は、そのパケットを自ノード１上のサービス（１）２０に送信する。つまり、ノード（１）１がクライアント（１）２に対してサービス（１）２０のサービスを提供することとなる。
【００８０】
なお、サービス（１）２０からのクライアント（１）２への折り返しのパケットは、ノード（１）１から直接クライアント（１）２に送信し、ノード（０）１への転送は行わない。
【００８１】
（５）未知のクライアント２から自ノード１上のみにあるサービス２０へのパケットを受信した場合
クライアント（２）２のＡＲＰテーブルにて、192.168.1.1に対するＭＡＣアドレスとしてMAC-Aのエントリがある状態で、クライアント（２）２がサービス（２：ＨＴＴＰサービス）２０にアクセスした場合、ノード（０）１がクライアント（２）２からのパケットを受信する。
【００８２】
ノード（０）１は、ＣＳマップ２２を参照し、クライアント（２）２は何れのノード１上のサービス２０にもアクセス中ではないことを確認する。次に、ノード（０）１は、ＳＳマップ２１を参照し、自ノード１上でサービス（２）２０が動作していることを確認すると、クライアント（２）２からのパケットをサービス（２）２０へ送信する。つまり、ノード（０）１がクライアント（２）２に対してサービス（２）２０のサービスを提供することとなる。また、クライアント（２）２、自ノード１のノード識別子、サービス識別子（２）のエントリを自ノード１のＣＳマップ２２に登録すると共に、これらの情報をＣＳマップ登録メッセージに格納し、制御用ネットワーク４経由で他ノード１に送信する。
【００８３】
制御用ネットワーク４経由でＣＳマップ登録メッセージを受け取った他ノード１（ここではノード（１）１）は、ＣＳマップ登録メッセージからクライアント、ノード識別子、サービス識別子の情報を取り出し、これらのエントリが自ノード１上のＣＳマップ２２に登録されていなければ登録し、既に登録されていれば登録を行わない。
【００８４】
以上の処理が完了した後のノード（０）１、ノード（１）１双方のＣＳマップ２２は、図１１のようになる。
【００８５】
（６）未知のクライアント２から他ノード１上のみにあるサービス２０へのパケットを受信した場合
クライアント（３）２のＡＲＰテーブルにて、192.168.1.1に対するＭＡＣアドレスとしてMAC-Aのエントリがある状態で、クライアント（３）２がサービス（３：ＤＮＳサービス）２０にアクセスした場合、ノード（０）１がクライアント（３）２からのパケットを受信する。
【００８６】
ノード（０）１は、ＣＳマップ２２を参照し、クライアント（３）２は何れのノード１上のサービス２０にもアクセス中ではないことを確認する。次に、ノード（０）１は、ＳＳマップ２１を参照し、ノード（１）１上でサービス（３）２０が動作していることを確認すると、クライアント（３）２からのパケットを制御用ネットワーク４経由でノード（１）１へ転送する。
【００８７】
また、ＭＡＣアドレステーブルからノード（１）１のＭＡＣアドレスを読み出し、送信元ＭＡＣアドレスフィールドをノード（１）１のＭＡＣアドレスに、宛先ＭＡＣアドレスフィールドをクライアント（３）２のＭＡＣアドレスに設定し、“根拠の無いＡＲＰ（GratuitousＡＲＰ）”を送信する。
【００８８】
このように“根拠の無いＡＲＰ（GratuitousＡＲＰ）”を送信することで、次回のクライアント（３）２からの192.168.1.1のサービス（３）２０へのパケットはノード（１）１で受信されるはずである。一方、ノード（０）１から、クライアント（３）２からのパケットを転送されたノード（１）１は、そのパケットを自ノード１上のサービス（３）２０に送信する。つまり、ノード（１）１がクライアント（３）２に対してサービス（３）２０のサービスを提供することとなる。
【００８９】
なお、サービス（３）２０からのクライアント（３）２への折り返しのパケットは、ノード（１）１から直接クライアント（３）２に送信し、ノード（０）１への転送は行わない。更に、ノード（１）１は、クライアント（３）２、自ノード１のノード識別子、サービス識別子（３）のエントリを自ノード１のＣＳマップ２２に登録すると共に、これらの情報をＣＳマップ登録メッセージに格納し、制御用ネットワーク４経由で他ノード１に送信する。
【００９０】
制御用ネットワーク４経由でＣＳマップ登録メッセージを受け取った他ノード１（ここではノード（０）１）は、ＣＳマップ登録メッセージからクライアント、ノード識別子、サービス識別子の情報を取り出し、これらのエントリが自ノード１上のＣＳマップ２２に登録されていなければ登録し、既に登録されていれば登録を行わない。
【００９１】
以上の処理が完了した後のノード（０）１、ノード（１）１双方のＣＳマップ２２は、図１２のようになる。
【００９２】
（７）未知のクライアント２から自ノード１および他ノード１上にあるサービス２０へのパケットを受信した場合であって、かつ、自ノード１上のサービス２０へは他のクライアント２がアクセス中である場合
クライアント（４）２のＡＲＰテーブルにて、192.168.1.1に対するＭＡＣアドレスとしてMAC-Aのエントリがある状態で、クライアント（４）２がサービス（０：ＮＦＳサービス）２０にアクセスした場合、ノード（０）１がクライアント（４）２からのパケットを受信する。
【００９３】
ノード（０）１は、ＣＳマップ２２を参照し、クライアント（４）２は何れのノード１上のサービス２０にもアクセス中ではないことを確認する。次に、ノード（０）１は、ＳＳマップ２１を参照し、ノード（０）１、ノード（１）１双方でサービス（０）２０が動作していることを確認する。更に、ノード（０）１は、ＣＳマップ２２を参照し、ノード（０：自ノード）１上のサービス（０）２０には既に他のクライアント２（クライアント（０）２）がアクセスしており、一方、ノード（１）１上のサービス（０）２０にはクライアント２からのアクセスが無いことを確認する。その結果、ノード（１）１上のサービス（０）２０の方がクライアント２からのアクセスが少ないので、クライアント（４）２０からのパケットを制御用ネットワーク４経由でノード（１）１へ転送する。
【００９４】
また、ＭＡＣアドレステーブルからノード（１）１のＭＡＣアドレスを読み出し、送信元ＭＡＣアドレスフィールドをノード（１）のＭＡＣアドレスに、宛先ＭＡＣアドレスフィールドをクライアント（４）２のＭＡＣアドレスに設定し、“根拠の無いＡＲＰ（GratuitousＡＲＰ）”を送信する。
【００９５】
このように“根拠の無いＡＲＰ（GratuitousＡＲＰ）”を送信することで、次回のクライアント（４）２からの192.168.1.1のサービス（０）２０へのパケットはノード（１）１で受信されるはずである。一方、ノード（０）１から、クライアント（４）２からのパケットを転送されたノード（１）１は、そのパケットを自ノード１上のサービス（０）２０に送信する。つまり、ノード（１）１がクライアント（４）２に対してサービス（０）２０のサービスを提供することとなる。
【００９６】
なお、サービス（０）２０からのクライアント（４）２への折り返しのパケットは、ノード（１）１から直接クライアント（４）２に送信し、ノード（０）１への転送は行わない。更に、ノード（１）１は、クライアント（４）２、自ノード１のノード識別子、サービス識別子（０）のエントリを自ノード１のＣＳマップ２２に登録すると共に、これらの情報をＣＳマップ登録メッセージに格納し、制御用ネットワーク４経由で他ノード１に送信する。
【００９７】
制御用ネットワーク４経由でＣＳマップ登録メッセージを受け取った他ノード１（ここではノード（０）１）は、ＣＳマップ登録メッセージからクライアント、ノード識別子、サービス識別子の情報を取り出し、これらのエントリが自ノード１上のＣＳマップ２２に登録されていなければ登録し、既に登録されていれば登録を行わない。
【００９８】
以上の処理が完了した後のノード（０）１、ノード（１）１双方のＣＳマップ２２は、図１３のようになる。
【００９９】
なお、クライアント２からのアクセスを自ノード１のサービス２０に送信するか、制御用ネットワーク４経由で他ノード１に転送するかを決定するアルゴリズムとして、上記では、アクセスを受けたサービス２０へ既にアクセスしているクライアント２の数を判断基準にしたものを用いているが、他のアルゴリズムも使用可能であり、例えば、単純にラウンドロビンで転送先ノードを決めたり、上記のようなサービス単位のクライアント２からのアクセス数ではなく、ノード１単位のクライアント２からのアクセス数を元に判断することも可能である。
【０１００】
（８）未知のクライアント２から自ノード１および他ノード１上にあるサービス２０へのパケットを受信した場合であって、かつ、他ノード１上のサービス２０へは他のクライアント２がアクセス中である場合
クライアント（５）２のＡＲＰテーブルにて、192.168.1.1に対するＭＡＣアドレスとしてMAC-Aのエントリがある状態で、クライアント（５）２がサービス（１：ＣＩＦＳサービス）２０にアクセスした場合、ノード（０）１がクライアント（５）２からのパケットを受信する。
【０１０１】
ノード（０）１は、ＣＳマップ２２を参照し、クライアント（５）２は何れのノード１上のサービス２０にもアクセス中ではないことを確認する。次に、ノード（０）１は、ＳＳマップ２１を参照し、ノード（０）１、ノード（１）１双方でサービス（１）２０が動作していることを確認する。更に、ノード（０）１は、ＣＳマップ２２を参照し、ノード（１：他ノード）１上のサービス（１）２０には既に他のクライアント２（クライアント（１）２）がアクセスしており、一方、自ノード１上のサービス（１）２０にはクライアント２からのアクセスが無いことを確認する。その結果、自ノード１上のサービス（１）２０の方がクライアント２からのアクセスが少ないので、クライアント（５）２からのパケットを自ノード１のサービス（１）２０へ送信する。つまり、ノード（０）１がクライアント（５）２に対してサービス（１）２０のサービスを提供することとなる。
【０１０２】
また、クライアント（５）２、自ノード１のノード識別子、サービス識別子１のエントリを自ノード１のＣＳマップ２２に登録すると共に、これらの情報をＣＳマップ登録メッセージに格納し、制御用ネットワーク４経由で他ノード１に送信する。
【０１０３】
制御用ネットワーク４経由でＣＳマップ登録メッセージを受け取った他ノード１（ここではノード（１）１）は、ＣＳマップ登録メッセージからクライアント、ノード識別子、サービス識別子の情報を取り出し、これらのエントリが自ノード１上のＣＳマップ２２に登録されていなければ登録し、既に登録されていれば登録を行わない。
【０１０４】
以上の処理が完了した後のノード（０）１、ノード（１）１双方のＣＳマップ２２は、図１４のようになる。
【０１０５】
（９）ノード１がダウンした場合
ノード（０）１は、ノード（１）１からの生存確認メッセージを一定時間以上受信しないため、自身のＳＳマップ２１、ＣＳマップ２２、ＭＡＣアドレステーブル２３からノード（１）に関するエントリを全て削除する。
【０１０６】
以上の処理が完了した後のノード（０）１のＳＳマップ２１、ＣＳマップ２２、ＭＡＣアドレステーブル２３は、図１５のようになる。
【０１０７】
なお、ノード（１）１ダウン後も、このノード（１）１上のみで動作していたサービス（３）２０以外のサービス２０については、ノード（０）１にて引き継いでクライアント２に提供することが可能である。
【０１０８】
このように、本サーバシステムでは、各ノード（サーバ）１が協働して、クライアント２に対するサービス２０の提供を負荷分散し、ノード１群の前段に負荷分散装置を設置すること無く、かつ、単一のＩＰアドレスのみの使用で、複数ノード１を論理的に単一のノード１に見せることを可能とする。
【０１０９】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１１０】
【図１】本発明の一実施形態に係るサーバシステムの全体構成を示す図
【図２】同実施形態のサーバシステムのノード（サーバ）の構成を表す図
【図３】同実施形態のサーバシステムのノードが備えるＳＳ（サーバ−サービス）マップの構成を示す図
【図４】同実施形態のサーバシステムのノードが備えるＣＳ（クライアント−サービス）マップの構成を示す図
【図５】同実施形態のサーバシステムのノードが備えるＭＡＣアドレステーブルの構成を示す図
【図６】同実施形態のサーバシステムのノードの仮想イーサネット（登録商標）層で実行される制御情報の処理フロー
【図７】同実施形態のサーバシステムのノードの仮想イーサネット（登録商標）層で実行されるクライアントからのアクセス（パケット）の処理フロー
【図８】同実施形態のサーバシステムにおける各クライアントおよびノード間の相互作用、各種情報の流れを説明するための全体構成図
【図９】図８のサーバシステムにおけるノード（０）のＳＳマップ、ＣＳマップ、ＭＡＣアドレステーブルの状態を示す図
【図１０】図９のサーバシステムにおけるノード（１）のＳＳマップ、ＣＳマップ、ＭＡＣアドレステーブルの状態を示す図
【図１１】ノード（０）が未知のクライアント（２）から自ノード（０）上のみにあるサービス（２）へのパケットを受信した場合の処理後のノード（０）、ノード（１）のＣＳマップの状態を示す図
【図１２】ノード（０）が未知のクライアント（３）から他ノード（１）上のみにあるサービス（３）へのパケットを受信した場合の処理後のノード（０）、ノード（１）のＣＳマップの状態を示す図
【図１３】ノード（０）が未知のクライアント（４）から自ノード（０）および他ノード（１）上にあるサービス（４）へのパケットを受信した場合であって、かつ、自ノード（０）上のサービス（４）へは他のクライアント（０）がアクセス中である場合の処理後のノード（０）、ノード（１）のＣＳマップの状態を示す図
【図１４】ノード（０）が未知のクライアント（５）から自ノード（０）および他ノード（１）上にあるサービス（１）へのパケットを受信した場合であって、かつ、他ノード（１）上のサービス（１）へは他のクライアント（１）がアクセス中である場合の処理後のノード（０）、ノード（１）のＣＳマップの状態を示す図
【図１５】ノード（１）がダウンした場合におけるノード（０）のＳＳマップ、ＣＳマップ、ＭＡＣアドレステーブルの状態を示す図
【符号の説明】
【０１１１】
１…ノード、２…クライアント、３…サービス用ネットワーク、４…制御用ネットワーク、１１…ネットワークインタフェース、１２…イーサネット（登録商標）ドライバ、１３…仮想イーサネット（登録商標）層、１４…イーサネット（登録商標）層、１５…ＴＣＰ／ＩＰ、１６…生存確認処理部、１７…イーサネット（登録商標）ドライバ、１８…ネットワークインタフェース、１９…ＡＲＰ処理部、２０…サービス、２１…ＳＳマップ、２２…ＣＳマップ、２３…ＭＡＣアドレステーブル。
【図１】
2006259845.tif 000003
【図２】
2006259845.tif 000004
【図３】
2006259845.tif 000005
【図４】
2006259845.tif 000006
【図５】
2006259845.tif 000007
【図６】
2006259845.tif 000008
【図７】
2006259845.tif 000009
【図８】
2006259845.tif 000010
【図９】
2006259845.tif 000011
【図１０】
2006259845.tif 000012
【図１１】
2006259845.tif 000013
【図１２】
2006259845.tif 000014
【図１３】
2006259845.tif 000015
【図１４】
2006259845.tif 000016
【図１５】
2006259845.tif 000017