(57)【特許請求の範囲】
【請求項１】
クライアントからのＡＲＰ要求に対してＡＲＰ応答があった前記複数のサーバのうち、前記各サーバとクライアントとの接続状況に基づいて選択した前記サーバからのＡＲＰ応答を前記クライアントに転送するネットワーク負荷分散装置であって、
各サーバ毎のクライアントとの接続数をカウント値として含むカウンタテーブルを生成する、サーバとクライアントとの接続状況を管理する手段と、
前記カウンタテーブルに基づいて負荷の小さいサーバを選択するサーバ選択手段と
を備えることを特徴とするネットワーク負荷分散装置。
【請求項２】
クライアントから受信したＡＲＰ要求をサーバ群に転送して、該サーバ群の各サーバからのＡＲＰ応答を受信する手段と、
前記選択したサーバからのＡＲＰ応答をクライアントに転送する手段と
を備えることを特徴とする請求項１に記載のネットワーク負荷分散装置。
【請求項３】
前記カウンタテーブルが、ＩＰアドレス毎に、各サーバのＭＡＣアドレスと、当該ＭＡＣアドレス毎の前記カウント値が対応付けられ、
前記各サーバとクライアントとの接続状況を管理する手段が、前記サーバ群の各サーバからのＡＲＰ応答の有無に応じて、前記カウンタテーブルに対するＭＡＣアドレスの登録または削除を行うことを特徴とする請求項１又は請求項２に記載のネットワーク負荷分散装置。
【請求項４】
前記クライアントからのＡＲＰ要求に対する前記ＡＲＰ応答の受け付けを完了する所定の時間を設定したタイマ手段を備え、
前記各サーバとクライアントとの接続状況を管理する手段は、前記タイマ手段に設定した所定時間が経過するまで、前記カウンタテーブルに対するＭＡＣアドレスの登録または削除を行い、
前記サーバ選択手段は、前記タイマ手段に設定した所定時間が経過した後に、前記ＡＲＰ応答があったサーバの中から負荷の小さいサーバを選択することを特徴とする請求項１から請求項３の何れかに記載のネットワーク負荷分散装置。
【請求項５】
前記クライアントからのパケットを受信し、当該パケットが前記ＡＲＰ要求を含むかを解析する解析手段を備えることを特徴とする請求項１から請求項４の何れかに記載のネットワーク負荷分散装置。
【請求項６】
クライアントからのＡＲＰ要求に対してＡＲＰ応答があった前記複数のサーバのうち、前記各サーバとクライアントとの接続状況に基づいて選択した前記サーバからのＡＲＰ応答を前記クライアントに転送するネットワーク負荷分散装置の負荷分散方法であって、
各サーバ毎のクライアントとの接続数をカウント値として含むカウンタテーブルを生成する、各サーバとクライアントとの接続状況を管理するステップと、
前記カウンタテーブルに基づいて負荷の小さいサーバを選択するサーバ選択ステップと
を含むことを特徴とする負荷分散方法。
【請求項７】
クライアントから受信したＡＲＰ要求をサーバ群に転送して、該サーバ群の各サーバからのＡＲＰ応答を受信するステップと、
前記選択したサーバからのＡＲＰ応答をクライアントに転送するステップと
を含むことを特徴とする請求項６に記載の負荷分散方法。
【請求項８】
前記カウンタテーブルが、ＩＰアドレス毎に、各サーバのＭＡＣアドレスと、当該ＭＡＣアドレス毎の前記カウント値が対応付けられ、
前記各サーバとクライアントとの接続状況を管理するステップにおいて、前記サーバ群の各サーバからのＡＲＰ応答の有無に応じて、前記カウンタテーブルに対するＭＡＣアドレスの登録または削除を行うことを特徴とする請求項６又は請求項７に記載の負荷分散方法。
【請求項９】
前記クライアントからのＡＲＰ要求に対する前記ＡＲＰ応答の受け付けを完了する所定の時間を設定し、
前記各サーバとクライアントとの接続状況を管理するステップにおいて、前記所定時間が経過するまで、前記カウンタテーブルに対するＭＡＣアドレスの登録または削除を行い、
前記サーバ選択ステップにおいて、前記所定時間が経過した後に、前記ＡＲＰ応答があったサーバの中から負荷の小さいサーバを選択することを特徴とする請求項６から請求項８の何れかに記載の負荷分散方法。
【請求項１０】
前記クライアントからのパケットを受信し、当該パケットが前記ＡＲＰ要求を含むかを解析する解析ステップを備えることを特徴とする請求項６から請求項９の何れかに記載の負荷分散方法。
【請求項１１】
コンピュータ上で動作し、クライアントからのＡＲＰ要求に対してＡＲＰ応答があった前記複数のサーバのうち、前記各サーバとクライアントとの接続状況に基づいて選択した前記サーバからのＡＲＰ応答を前記クライアントに転送する負荷分散プログラムであって、
前記コンピュータに、
各サーバ毎のクライアントとの接続数をカウント値として含むカウンタテーブルを生成する、各サーバとクライアントとの接続状況を管理する処理と
前記カウンタテーブルに基づいて負荷の小さいサーバを選択するサーバ選択処理と
を実行させることを特徴とする負荷分散プログラム。
【請求項１２】
前記コンピュータに、
クライアントから受信したＡＲＰ要求をサーバ群に転送して、該サーバ群の各サーバからのＡＲＰ応答を受信する処理と、
前記選択したサーバからのＡＲＰ応答をクライアントに転送する処理と
を実行させることを特徴とする請求項１１に記載の負荷分散プログラム。
【請求項１３】
前記カウンタテーブルが、ＩＰアドレス毎に、各サーバのＭＡＣアドレスと、当該ＭＡＣアドレス毎の前記カウント値が対応付けられ、
前記各サーバとクライアントとの接続状況を管理する処理において、前記サーバ群の各サーバからのＡＲＰ応答の有無に応じて、前記カウンタテーブルに対するＭＡＣアドレスの登録または削除を行うことを特徴とする請求項１１又は請求項１２に記載の負荷分散プログラム。
【請求項１４】
前記クライアントからのＡＲＰ要求に対する前記ＡＲＰ応答の受け付けを完了する所定の時間を設定し、
前記各サーバとクライアントとの接続状況を管理する処理において、前記所定時間が経過するまで、前記カウンタテーブルに対するＭＡＣアドレスの登録または削除を行い、
前記サーバ選択処理において、前記所定時間が経過した後に、前記ＡＲＰ応答があったサーバの中から負荷の小さいサーバを選択することを特徴とする請求項１１から請求項１３の何れかに記載の負荷分散プログラム。
【請求項１５】
前記クライアントからのパケットを受信し、当該パケットが前記ＡＲＰ要求を含むかを解析する解析処理を備えることを特徴とする請求項１１から請求項１４の何れかに記載の負荷分散プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントからのアクセスを複数のサーバに振り分けることで負荷分散を行うネットワーク負荷分散装置、ネットワーク負荷分散方法及びプログラムに関する。
【背景技術】
【０００２】
ネットワーク上でクライアント（端末）からサーバに対してアクセスするネットワークシステムにおいては、クライアントからの多くのアクセスを複数のサーバに振り分けることで負荷分散を行うネットワーク負荷分散装置（ロードバランサ）が設置されている。そして、この種のネットワーク負荷分散装置においては、利用可能なサーバの中から最適なサーバを選択する負荷分散アルゴリズムとして、ＮＡＴ(Network Address Translation：ネットワークアドレス変換)方式と、ＭＡＴ(MAC Address
Translation：ＭＡＣアドレス変換)方式が広く用いられている。
【０００３】
ＮＡＴ方式では、負荷分散装置はクライアントがデータの宛先としている仮想サーバと、選択されたサーバ間のネットワークアドレス変換を行う。しかしながら、一般にネットワークアドレス変換では、ポート番号の変換も行うＮＡＰＴ(Network Address Port Translation)が用いられるため、装置が複雑になり、ＩＣＭＰ(Internet
Control Message Protocol:インターネット制御通知プロトコル)パケットやＲａｗ（生の）「ＩＰパケットを転送することができず、また、負荷分散するサーバ側からクライアント側への通信ができないという問題がある。
【０００４】
一方、ＭＡＴ方式は、インターネット接続のマルチホーミング（ルータ負荷分散）時やファイアウォールの負荷分散時に広く用いられる方式で、宛先ＩＰアドレスはそのままで宛先ＭＡＣアドレスを変換することにより、接続する機器を選択する。しかしながら、このＭＡＴ方式の場合、仮想サーバのＩＰアドレスと、それに対応するサーバ群のＭＡＣアドレスを負荷分散装置にあらかじめ登録しておく必要があり、またクライアントからのＡＲＰ(Address Resolution Protocol:アドレス解決プロトコル）要求に対するＡＲＰ応答を返さないような設定を各サーバに行っておく必要がある。
【０００５】
図７に、ＭＡＴ方式による負荷分散装置の一般的な構成を示す。ＭＡＴ方式では、図７のようにクライアント６０からのＡＲＰ要求に対してサーバ群６１がＡＲＰ応答を返さないようにしておき、代わりに負荷分散装置６２があらかじめ設定しておいたサーバ郡のＭＡＣアドレスのうちの１つを選択して返す。従って、この方式では、サーバがＡＲＰ応答を返さないようにする必要があり、負荷分散装置にはサーバのＭＡＣアドレスをあらかじめ登録しておく必要がある。
【０００６】
ＮＡＴ方式による負荷分散装置（ロードバランサ）の関連技術が、特開２００４−１１８６２２号公報（特許文献１）に開示されている。
【０００７】
【特許文献１】特開２００４−１１８６２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したように、特許文献１等に記載の負荷分散装置においては、以下に述べるような問題点を有していた。
【０００９】
（１）ＮＡＴ方式では、ＮＡＰＴを用いるため、全てのパケットに対して、複雑なハードウェア、ソフトウェアによるＩＰアドレスやポート番号の変換、セッション管理等の複雑な処理が必要となる。また、ＮＡＴ方式では、全てのパケットに対してアドレス変換を行うことが必要であるので、パケットが多くなるにつれて処理能力が低下する。
【００１０】
（２）ＮＡＴ方式は、ＴＣＰまたはＵＤＰのポート番号を元にアドレス変換を行うため、ＩＣＭＰパケットや生のＩＰパケットのような、ポート番号のないパケットについては処理を行うことができない。また、ＮＡＴ方式はＮＡＰＴを用いるため、サーバ側からクライアント側への通信を行うことができない。
【００１１】
（５）ＮＡＴ方式では、負荷分散装置に仮想サーバのＩＰアドレス、サーバ群を接続するインタフェースのＩＰアドレス、サーバ群のＩＰアドレス等を設定するといった、特別の設定が必要であった。また、ＭＡＴ方式についても、負荷分散を行う全てのサーバに対してＡＲＰ応答を応答しないよう設定しておく必要があり、また負荷分散装置にはサーバのＭＡＣアドレスをあらかじめ登録しておく必要がある。サーバの設定変更は、サーバ数が多かったり、サーバＯＳにより設定方法が異なるなど、その作業は煩雑である。また、サーバの新規追加や削除の度に、負荷分散装置の設定を変更しなればならない。
【００１２】
本発明は、上述した問題点に鑑みてなされたものであり、処理が複雑でなく、負荷分散装置やサーバ群に特別な設定をする必要がないネットワーク負荷分散装置、ネットワーク負荷分散方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明によるネットワーク負荷分散装置は、クライアントからのＡＲＰ要求に対してＡＲＰ応答があった複数のサーバのうち、各サーバとクライアントとの接続状況に基づいて選択したサーバからのＡＲＰ応答をクライアントに転送するネットワーク負荷分散装置であって、各サーバ毎のクライアントとの接続数をカウント値として含むカウンタテーブルを生成する、サーバとクライアントとの接続状況を管理する手段と、カウンタテーブルに基づいて負荷の小さいサーバを選択するサーバ選択手段とを備える。
【００１４】
本発明による負荷分散方法は、クライアントからのＡＲＰ要求に対してＡＲＰ応答があった複数のサーバのうち、各サーバとクライアントとの接続状況に基づいて選択したサーバからのＡＲＰ応答をクライアントに転送するネットワーク負荷分散装置の負荷分散方法であって、各サーバ毎のクライアントとの接続数をカウント値として含むカウンタテーブルを生成する、各サーバとクライアントとの接続状況を管理するステップと、カウンタテーブルに基づいて負荷の小さいサーバを選択するサーバ選択ステップとを含む。
【００１５】
本発明による負荷分散プログラムは、コンピュータ上で動作し、クライアントからのＡＲＰ要求に対してＡＲＰ応答があった複数のサーバのうち、各サーバとクライアントとの接続状況に基づいて選択したサーバからのＡＲＰ応答をクライアントに転送する負荷分散プログラムであって、コンピュータに、各サーバ毎のクライアントとの接続数をカウント値として含むカウンタテーブルを生成する、各サーバとクライアントとの接続状況を管理する処理とカウンタテーブルに基づいて負荷の小さいサーバを選択するサーバ選択処理とを実行させる。
【発明の効果】
【００１６】
本発明によれば、全てのパケットに対して、複雑なハードウェア、ソフトウェアによるＩＰアドレスやポート番号の変換、セッション管理等の複雑な処理が不要となる。また、全てのパケットに対してアドレス変換を行う必要がなく、パケットが多くなるにつれて処理能力が低下するといったことも発生しない。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施の形態について図面を参照して詳細に説明する。
【００１８】
（実施の形態の構成）
図１は本発明の実施の形態によるネットワーク負荷分散装置１０を含むネットワーク構成例を示す図である。図において、ネットワーク負荷分散装置１０の機能を概略的に説明すると、クライアント２０からＩＰアドレスがＩＰ１であるサーバへアクセスする場合、ネットワーク負荷分散装置１０はＩＰアドレスがそれぞれＩＰ１であるサーバ３１、３２、３３の中から１つを選択して振り分ける。
【００１９】
具体的には、まずクライアント２０は、ＩＰアドレスＩＰ１に対応するＭＡＣアドレスを取得するため、ＩＰアドレスＩＰ１に対するＡＲＰ要求をブロードキャストする。ネットワーク負荷分散装置１０は、クライアント２０からのＡＲＰ要求をサーバ群の接続されているポートに転送する。クライアント２０からのＡＲＰ要求を受けたサーバ３１、３２、３３は、それぞれ自分のＭＡＣアドレスをＡＲＰ応答として返答する。
【００２０】
ここで、サーバ３１、３２、３３からそれぞれＡＲＰ応答を受けたネットワーク負荷分散装置１０は、全てのＡＲＰ応答をクライアント２０に返却せず、その中の１つだけを選択してクライアント２０に転送し、クライアント２０はＩＰアドレスがＩＰ１であるサーバとして、サーバ群の中の１つのサーバとのみ通信することとなる。
【００２１】
このようにして、たとえばクライアントが１００台、サーバが５台あるような場合に、サーバ１台につきクライアントが２０台ずつ接続されるように負荷分散を行う。
【００２２】
図２は、ネットワーク負荷分散装置１０の構成を示すブロック図である。図において、ネットワーク負荷分散装置１０は、入出力ポート部１００、レイヤ２スイッチ処理部１１、パケット解析部１２、サーバ選択部１３、カウンタテーブル部１４、およびタイマ部１５を備えている。
【００２３】
入出力ポート部１００は、ネットワークケーブルを接続する複数の入出力ポート１０１、１０２、１０３、・・・を有し、これらの入出力ポートには、ネットワークケーブルを介して別のネットワークスイッチやルータ、クライアントやサーバなどが接続される。
【００２４】
レイヤ２スイッチ処理部１１は、入出力ポートから受信されたパケットを適切な入出力ポートに転送する。
【００２５】
パケット解析部１２は、入出力ポートから受信されたパケットをレイヤ２スイッチ処理部１１を介して受け取り、ＡＲＰパケットの解析を行い、またカウンタテーブル部１４内のカウンタテーブル２００−１、２００−２、２００−３、・・・を更新する。
【００２６】
サーバ選択部１３は、カウンタテーブル部１４内のカウンタテーブル２００−１、２００−２、２００−３、・・・を参照し、カウンタが最小であるＭＡＣアドレスのＡＲＰ応答をレイヤ２スイッチ処理部１１を介して入出力ポートから送信する。
【００２７】
カウンタテーブル部１４は、ＩＰアドレス毎のカウンタテーブル２００−１、２００−２、２００−３、・・・を有する。このカウンタテーブル部１４は、例えば、磁気ディスク、半導体メモリ等の不揮発性メモリからなる記録装置内に形成される。
【００２８】
図４に、カウンタテーブル部１４が保持するカウンタテーブルの一例を示す。図４に示すように、カウンタテーブル２００−１、２００−２は、各ＩＰアドレス毎に、各サーバのＭＡＣアドレスと、ＭＡＣアドレス毎のクライアントの接続数を示すカウンタ及び受信マークのフラグが記録・更新される。カウンタテーブルにおけるカウンタの値によって各サーバの通信状況、つまり各サーバ毎のクライアントとの接続数が管理される。また、受信マークによって、対象サーバがクライアントとの通信が可能な状況にあるかどうかの判別がなされる。
【００２９】
タイマ部１５には、ＩＰアドレス毎に所定長さの時間であるタイマ（タイマ（１）、タイマ（２）、タイマ（３）、・・・）が設定される。このタイマ部１５は、パケット解析部１２がＡＲＰ要求を受けてから発動し、設定したタイマが経過した場合にＡＲＰ応答の受け付けを完了するために利用される。
【００３０】
（実施の形態の動作）
次に、本発明の実施の形態に係るネットワーク負荷分散装置１０の動作について図３を用いて説明する。図３は図２に示したネットワーク負荷分散装置１０における動作を説明するフローチャートである。
【００３１】
まず、ステップＳ３０１において入出力ポートから受信されたパケットは、レイヤ２スイッチ処理部１１にて転送されるべき入出力ポートへと転送される（ステップＳ３０２）。具体的には、受信パケットがユニキャストパケットであれば、送信先ＭＡＣアドレスを有する装置が接続されている入出力ポートへパケットを転送する。受信パケットがブロードキャストパケットであれば、パケットを受信した入出力ポートと同じＶＬＡＮ(Virtual LAN)に属する全ての入出力ポートへパケットを転送する。
【００３２】
さらに、パケット解析部１２は、受信したパケットがＡＲＰ要求であるかどうかを確認し（ステップＳ３０３）、ＡＲＰ要求であった場合は、カウンタテーブル部１４内にＡＲＰ要求で要求されるＩＰアドレスのカウンタテーブル２００−１、２００−２、２００−３、・・・が存在するかを確認する（ステップＳ３０４）。
【００３３】
カウンタテーブルが存在しなければ、パケット解析部１２は、新たにそのＩＰアドレスのカウンタテーブルを作成する（ステップＳ３０５、図４を参照）。一方、カウンタテーブルが既に存在する場合は、カウンタテーブル内の受信マークを全てｏｆｆに設定する（ステップＳ３０６）。
【００３４】
その後、パケット解析部１２は、そのＡＲＰ要求に対するＡＲＰ応答が入出力ポートから受信されるのを一定時間ｔ１だけ待つ（ステップＳ３０７）。この一定時間ｔ１は、ＡＲＰ要求で要求されるＩＰアドレス毎にタイマ部１５にタイマとして設定されており、パケット解析部１２がＡＲＰ要求を受けてから発動したタイマ部１５によって計時される。
【００３５】
一定時間ｔ１内にＡＲＰ応答を受信した場合（ステップＳ３０８）、ＡＲＰ要求で要求されたＩＰアドレスに対応するカウンタテーブル２００−１、２００−２、２００−３、・・・に、ＡＲＰ応答で返答されたサーバのＭＡＣアドレスが登録されているかを確認する（ステップＳ３０９）。カウンタテーブルに該当ＭＡＣアドレスがない場合は、そのＭＡＣアドレスをカウンタテーブルに新規に登録し（ステップＳ３１０）、カウンタ値を０とし、受信マークをｏｎとする（ステップＳ３１１）。カウンタテーブルに該当ＭＡＣアドレスがある場合は、そのＭＡＣアドレスに対応する受信マークをｏｎにする（ステップＳ３１１）。
【００３６】
上記ＡＲＰ応答の受信と、カウンタテーブル２００−１、２００−２、２００−３、・・・の更新は、一定時間ｔ１の間行われる。
【００３７】
ステップＳ３０７において、一定時間ｔ１が経過すると、サーバ選択部１３は、ＡＲＰ要求で要求されたＩＰアドレスに対応するカウンタテーブル２００−１、２００−２、２００−３、・・・を参照し、受信マークがｏｆｆのＭＡＣアドレスをカウンタテーブルから削除した後（ステップＳ３１２）、カウンタテーブルの中で、カウンタの値が最も小さいＭＡＣアドレスを選択する（ステップＳ３１３）。なお、最も小さいカウンタ値を持つＭＡＣアドレスが複数ある場合は、何れを選択してもよい。
【００３８】
サーバ選択部１３は、返却するＭＡＣアドレスを選択したら、そのＭＡＣアドレスに対応するカウンタを「１」だけ増加させ、ＡＲＰ要求を受信した入出力ポートに、選択したＭＡＣアドレスを含むＡＲＰ応答を転送する（ステップＳ３１４）。
【００３９】
なお、サーバを新規に追加した場合は、ＡＲＰ要求に対するＡＲＰ応答が新規サーバから新たに受信されるようになるので、カウンタテーブル２００−１、２００−２、２００−３、・・・に新しいサーバのＭＡＣアドレスがカウンタ０で追加され、自動的に負荷分散の対象となる。また、今まで接続されていたサーバを撤去した場合は、ＡＲＰ要求に対するＡＲＰ応答が返らなくなるので、カウンタテーブル内の受信マークがｏｆｆのままとなり、カウンタテーブルから削除され、負荷分散の対象から自動的に外れるようになる。
【００４０】
（実施の形態の効果）
以下、本実施の形態による効果について説明する。
【００４１】
第1に、全てのパケットに対して、複雑なハードウェア、ソフトウェアによるＩＰアドレスやポート番号の変換、セッション管理等の複雑な処理が不要となる。すなわち、ＮＡＴ方式はＮＡＰＴを用いるため、全てのパケットに対して、ＩＰアドレスやポート番号の変換、セッション管理等の複雑な処理が必要となるが、本実施の形態においては、既存のレイヤ２スイッチに本実施の形態によるＡＲＰに関する処理を追加するだけでよい。
【００４２】
第２に、処理が簡単であるということである。ＮＡＴ方式では、全てのパケットに対してアドレス変換を行う必要があるが、本実施の形態においては、通信の最初に行われるＡＲＰ処理のみ特別な処理が必要となるが、ＡＲＰ解決が完了した後は、通常のレイヤ２スイッチの動作となるので処理が簡単であり、パケットが多くなるにつれて処理能力が低下するようなことが起こらない。
【００４３】
第３に、ＩＣＭＰパケットや生のＩＰパケットのような非ＴＣＰ、非ＵＤＰパケットにも対応が可能なことである。ＮＡＴ方式は、ＴＣＰまたはＵＤＰのポート番号を元にアドレス変換を行うため、ＩＣＭＰパケットや生のＩＰパケットのような、ポート番号のないパケットについては処理を行うことができないが、本実施の形態ではパケットのポート番号を意識しないため問題とならない。
【００４４】
第４に、サーバ群からクライアントに対して接続を行うことができるということである。ＮＡＴ方式はＮＡＰＴを用いるため、クライアントから接続を行うことしかできなかったが、本実施の形態ではＮＡＰＴを用いないため、サーバからクライアントへの接続が可能である。
【００４５】
第５に、特別な設定が不要ということである。ＮＡＴ方式では、負荷分散装置に仮想サーバのＩＰアドレス、サーバ群を接続するインタフェースのＩＰアドレス、サーバ群のＩＰアドレス等を設定する必要があった。また、ＭＡＴ方式では、負荷分散を行う全てのサーバに対してＡＲＰ応答を応答しないよう設定しておく必要があり、また負荷分散装置にはサーバのＭＡＣアドレスをあらかじめ登録しておく必要がある。本実施の形態では、サーバへの特別な設定は一切不要であり、負荷分散装置に対してもＭＡＣアドレスの手動設定は一切不要である。
【００４６】
ここで、上記実施の形態によるネットワーク負荷分散装置１０のハードウェア構成について、図６を参照して説明する。
【００４７】
図６を参照すると、ネットワーク負荷分散装置１０は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、ＣＰＵ（Central Processing Unit）４０１、ＲＡＭ（Random Access Memory）等のメインメモリであり、データの作業領域やデータの一時退避領域に用いられる主記憶部４０２、ネットワークを介して他のノードとデータの送受信を行う通信部４０３、キーボードやマウス等の入力装置４０５、表示装置等の出力装置４０６及び記憶装置４０７と接続してデータの送受信を行う入出力インタフェース部４０４、上記各構成要素を相互に接続するシステムバス４０８を備えている。記憶装置４０７は、例えば、ＲＯＭ（Read
Only Memory）、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置等で実現される。
【００４８】
本実施の形態によるネットワーク負荷分散装置１０は、負荷分散制御を行うプログラムを組み込んだ、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、パケット解析部１２、サーバ選択部１３等の各機能を提供するプログラムを、補助記憶部４０５に格納し、そのプログラムを主記憶部４０２にロードしてＣＰＵ４０１で実行することにより、ソフトウェア的に実現することも可能である。
【００４９】
上述した実施の形態では、複数のＭＡＣアドレスから１つを選択する方法として、カウンタが最小のものを選択したが、ラウンドロビン方式でＭＡＣアドレスを選択してもよいし、ＡＲＰ応答が最初に戻ってきたものを負荷の少ないサーバとみなして選択してもよい。
【００５０】
また、図５に示すように、クライアントが複数のＶＬＡＮ  ＶＬ１、ＶＬ２にそれぞれ存在し、各サーバがそれぞれのＶＬＡＮにｔａｇｇｅｄ  ＶＬＡＮ（タグＶＬＡＮ）ＴＶＬ１、ＴＶＬ２で属しているようなネットワーク構成の場合、ネットワーク負荷分散装置１０をそれらの間に配置すれば、上述した構成を変更することなくそのまま対応可能である。このような環境では、ＶＬＡＮ毎にサーバを別々に用意する必要がないので効率的な負荷分散が可能となる。
【００５１】
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施の形態によるネットワーク負荷分散装置を含むネットワーク構成例を示す図である。
【図２】本発明の実施の形態によるネットワーク負荷分散装置の構成を示すブロック図である。
【図３】図２に示したネットワーク負荷分散装置における動作を説明するフローチャートである。
【図４】本発明の実施の形態によるネットワーク負荷分散装置のカウンタテーブル部が保持するカウンタテーブルの一例を示す図である。
【図５】クライアントが複数のＶＬＡＮを介して接続されるネットワーク構成におけるネットワーク負荷分散装置の実装例を示すブロック図である。
【図６】本実施の形態によるネットワーク負荷分散装置のハードウェア構成例を示すブロック図である。
【図７】MAT方式によるネットワーク負荷分散装置の一般的な構成態様を示す図である。
【符号の説明】
【００５３】
１０：ネットワーク負荷分散装置
２０：クライアント
３１〜３３：サーバ
１１：レイヤ２スイッチ処理部
１２：パケット解析部
１３：サーバ選択部
１４：カウンタテーブル部
１５：タイマ部
１００：入出力ポート部
１０１〜１０３：入出力ポート
【図１】
0004683345.tif 000002
【図２】
0004683345.tif 000003
【図３】
0004683345.tif 000004
【図４】
0004683345.tif 000005
【図５】
0004683345.tif 000006
【図６】
0004683345.tif 000007
【図７】
0004683345.tif 000008