説明

ゲートウェイ装置、ゲートウェイ装置の負荷分散方法及びゲートウェイ装置の負荷分散プログラム

【課題】特殊な装置を追加せずに、効率的に中継サーバの負荷分散を行う。
【解決手段】負荷分散システムは、複数の中継サーバと、クライアント端末と、中継サーバの負荷情報を管理するゲートウェイ装置とを備える。ゲートウェイ装置は、イントラネット内に設けられ、中継サーバの負荷情報を定期的に更新しながら管理する中継サーバ情報管理手段と、中継サーバにクライアント端末が接続される第1の中継サーバの負荷情報と、複数の中継サーバの負荷情報とに基づいて、当該第1の中継サーバの負荷分散を行うか否かを判断する負荷分散判断手段とを備える。負荷分散判断手段は、負荷分散を行うことが有効であると判断した場合には、クライアント端末と第1の中継サーバとの第1のコネクションを接続したまま第2の中継サーバとクライアント端末との第2のコネクションを接続し、第2のコネクションが確立した後、第1のコネクションを切断する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲートウェイ装置、ゲートウェイ装置の負荷分散方法、ゲートウェイ装置の負荷分散プログラム、負荷分散システム及び中継サーバの負荷分散方法に関し、特に、中継サーバにかかる負荷が高くなった場合に負荷分散を行うゲートウェイ装置、ゲートウェイ装置の負荷分散方法、ゲートウェイ装置の負荷分散プログラム、負荷分散システム及び中継サーバの負荷分散方法に関する。
【背景技術】
【0002】
従来、コンピュータの普及に伴って、クライアント端末とサーバ装置とを接続したクライアントサーバシステムが、幅広く利用されている。
【0003】
ここで、一般的なクライアントサーバシステムを、図11に示す。図11において、クライアントサーバシステムは、クライアント端末C1と、クライアント端末C2と、クライアント端末C3とが、ゲートウェイ装置GW1を介して、サーバ装置(以下、単にサーバという。)SV1と、サーバSV2とに接続されている。
【0004】
通常、このようなクライアントシステムでは、例えば、クライアント端末C1から送信される処理要求が、ゲートウェイ装置GW1を介して、サーバSV1又はサーバSV2に送信され、サーバSV1又はサーバSV2において、その処理要求が処理された後、ゲートウェイ装置GW1を介して、クライアント端末C1に返送される。
【0005】
そして、このような構成を用いたクライアントサーバシステムが、特許文献1に記載されている。
【特許文献1】特開2002−269061号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
この特許文献1には、複数のクライアント端末と、複数のサーバとの間に中継サーバとなるゲートウェイ装置GW1を備え、そのゲートウェイ装置GW1が、サーバSV1又はサーバSV2に接続されるクライアント端末の接続数を負荷として管理するクライアントサーバシステムが記載されている。
【0007】
そして、ゲートウェイ装置GW1は、サーバSV1又はサーバSV2の処理負荷によって、どちらのサーバに、どのクライアント端末C1〜C3を接続するかを割り当てる。
【0008】
しかしながら、特許文献1に記載されたクライアントサーバシステムでは、例えば、クライアント端末C1からの処理要求に対して、サーバSV1において負担の大きい処理(例えば、画像処理などの演算処理等)がされている場合や、或いはクライアントC1がサーバSV1から切断された場合には、ゲートウェイ装置GW1は、サーバSV1の負荷の状態をリアルタイムに把握することができなかった。
【0009】
すなわち、ゲートウェイ装置GW1は、各クライアント端末C1〜C3からの処理要求時の接続数を負荷として管理しているに過ぎず、一度クライアント端末をサーバに割り当てると、その後の各サーバの負荷状況に関わらず、クライアント端末の接続先のサーバを変更することができないという問題があった。
【0010】
また、既存の中継サーバによる負荷分散システムから、以下のような中継サーバの負荷分散システムが考えられる。
【0011】
図12の構成図を用いて説明すると、この考えられる中継サーバの負荷分散システムは、クライアント端末1101と、NAT(network address translation)1102と、中継サーバ1103と、中継サーバ1104と、中継サーバ1105と、メールサーバ1106と、NAT1107と、クライアント端末1108と、セッション管理サーバ1109とを備えている。
【0012】
このような構成を有する中継サーバ負荷分散システムでは、図13に示すフローチャートのように動作する。
【0013】
図13に示すフローチャートでは、利用者がクライアント端末に対して接続要求操作を行うことにより(ステップ1211)、クライアント端末1101は、セッション管理サーバ1109に、セッション確立要求を送信する(ステップ1212)。
【0014】
セッション管理サーバ1109は、パケット中継処理を実行する余裕がある中継サーバ1103の情報をクライアント端末1101に通知する(ステップ1213)。
【0015】
クライアント端末1101は、中継サーバ1103と接続を確立した後(ステップ1214)、クライアント端末1108に接続開始メールを送信する(ステップ1215)。
【0016】
クライアント端末1108は、接続開始メールが届いていないか定期的に確認し(ステップ1216)、接続開始メールが届いている場合にはそのメールを受信すると共に(ステップ1217)、中継サーバ1103と接続する(ステップ1218)。
【0017】
クライアント端末1101と、クライアント端末1108の接続が完了すると、中継サーバ1103は、クライアント端末1101とクライアント端末1108に接続完了メッセージを送信する(ステップ1219、ステップ1220)。
【0018】
クライアント端末1101は、接続完了メッセージ(接続完了通知)を受信すると(ステップ1220)、中継サーバ1103を介してクライアント端末1108とパケット通信を行う(ステップ1222、ステップ1223)。
【0019】
このような動作をする場合の構成について、更に図14を用いて説明する。
【0020】
図14(A)を参照すると、このような動作をする中継サーバ負荷分散システムでは、社外のクライアント端末101から社内の業務サーバ104にアクセスしようとするとき、通常、社内ネットワークは、ファイアウォール102で守られている。
【0021】
このため、クライアント端末101は、社内ネットワークにある業務サーバ104と通常通信できない。
【0022】
図14(B)を参照すると、図14(A)とは反対に、社内にあるクライアント端末109から社外にあるサーバ方向への接続は許されていることが多い。
【0023】
しかし、クライアント端末109から社外のプライベートIPアドレスのクライアント端末105には通信できない。プライベートIPでは一意に端末を特定することができないためである。
【0024】
図14(C)を参照すると、プライベートIPアドレスが割り当てられているクライアント端末110からインターネットへの通信は、通常NAT(network address translation)111と呼ばれる変換を行い、グローバルIPアドレスに変換することにより行うことができる。
【0025】
そこで、グローバルIPアドレスを持つ中継サーバ112を利用することにより、プライベートIPを使用しているクライアント端末110のNAT111を通した接続と、社内のゲートウェイ装置114からの接続とを中継転送する方式が考えられる。
【0026】
しかし、多数のクライアント端末が中継サーバ112を利用すると、高負荷になり転送に時間がかかるため、利便性が問題となる。
【0027】
従って、既存の中継サーバから考えられる、クライアント端末とゲートウェイ装置との通信を中継する中継サーバの負荷分散システムでは、サーバからのセッションとクライアント端末からのセッションの両方とも他の中継サーバに振り分けるため、ロードバランサやセッション管理サーバを設置する必要があり、システムの導入に特別なハードウェアを使用するのでコストがかかるという問題があった。
【0028】
本発明は、上記問題点に鑑みてなされたものであり、特殊な装置を追加せずに、効率的に中継サーバの負荷分散を行うゲートウェイ装置、ゲートウェイ装置の負荷分散方法、ゲートウェイ装置の負荷分散プログラム、負荷分散システム及び中継サーバの負荷分散方法を実現することを目的とする。
【課題を解決するための手段】
【0029】
本発明に係るゲートウェイ装置は、複数の中継サーバの負荷情報を管理するゲートウェイ装置であって、イントラネット内に設けられると共に、前記中継サーバの負荷情報を通信により定期的に更新しながら管理する中継サーバ情報管理手段を備え、前記中継サーバ情報管理手段は、前記中継サーバにクライアント端末が接続される第1の中継サーバの負荷情報と、前記複数の中継サーバの負荷情報とに基づいて、当該第1の中継サーバの負荷分散を行うか否かを判断する負荷分散判断手段を備え、前記負荷分散判断手段は、前記第1の中継サーバの負荷分散を行うことが有効であると判断した場合には、現在接続されている当該クライアント端末と当該第1の中継サーバとの第1のコネクションを接続したまま、前記複数の中継サーバの1つであって前記第1の中継サーバとは異なる第2の中継サーバと当該クライアント端末との第2のコネクションを接続し、当該第2のコネクションが確立した後、前記第1のコネクションを切断することにより前記第1の中継サーバの負荷分散を行うことを特徴とする。
【0030】
また、本発明に係るゲートウェイ装置は、前記負荷分散判断手段が、前記複数の中継サーバのうち、前記第1の中継サーバに接続されている前記クライアント端末の数が少ない中継サーバであって、当該中継サーバの制御部の使用率が所定範囲内にある場合には、当該中継サーバを前記第2の中継サーバとして前記第1の中継サーバの負荷分散を行うことが有効であると判断するようにしても良い。
【0031】
また、本発明に係るゲートウェイ装置は、前記中継サーバ情報管理手段が、前記中継サーバにメンテナンスを予告通知するために送信されるメンテナンス予告通知を、当該中継サーバの負荷情報から取得するメンテナンス予告通知手段を更に備え、前記メンテナンス予告通知手段は、前記メンテナンス予告通知を前記中継サーバの負荷情報から取得すると、当該中継サーバを前記第1の中継サーバとして前記負荷分散判断手段を適用し、当該第1の中継サーバに接続された前記クライアント端末を、前記第2の中継サーバに接続されるように前記第1の中継サーバから前記第2の中継サーバに切り替えるようにしても良い。
【0032】
また、本発明に係るゲートウェイ装置は、前記負荷分散判断手段が、前記複数の中継サーバのうち、前記第1の中継サーバに接続されている前記クライアント端末の数が少ない中継サーバであって、当該中継サーバの制御部の使用率が所定範囲内にある場合には、当該中継サーバを前記第2の中継サーバとして前記第1の中継サーバから切り替えるようにしても良い。
【発明の効果】
【0033】
本発明によれば、クライアント端末が最初に接続される中継サーバを経由して、クライアント端末とゲートウェイ装置との接続を確立すると共に、ゲートウェイ装置が自装置に接続されている複数の中継サーバに対して、負荷情報の更新と管理を行うことができる。
【0034】
これにより、ゲートウェイ装置は、各中継サーバの負荷情報に基づいて、クライアント端末の接続先を変更する負荷分散の判断を行うことができると共に、ゲートウェイ装置はクライアント端末と第1の中継サーバと接続を確立した状態で、第1の中継サーバとは異なる第2の中継サーバに接続を切り替えることができる。かくして、特殊な装置を追加せずに、効率的に中継サーバの負荷分散を行うゲートウェイ装置、ゲートウェイ装置の負荷分散方法、ゲートウェイ装置の負荷分散プログラム、負荷分散システム及び中継サーバの負荷分散方法を実現できる。
【発明を実施するための最良の形態】
【0035】
次に、本発明の実施の形態の構成について図面を参照して詳細に説明する。
(第1の実施の形態)
(1)第1の実施の形態による負荷分散中継システム
(1−1)負荷分散中継システムの構成
図1を参照すると、第1の実施の形態による負荷分散中継システムは、社外から社内の業務サーバ208へ接続を行うクライアント端末201と、NAT装置218と、接続を受け付けるゲートウェイ装置206と、クライアント端末201とゲートウェイ装置206との間のセッションを中継する中継サーバ202と、中継サーバ202の負荷を分散させるための中継サーバ203、中継サーバ205と、ファイアウォール207と、メールサーバ204と、業務サーバ208とを備えている。
【0036】
ここで、クライアント端末201の内部構成について、図2に示す。
【0037】
図2に示すように、クライアント端末201は、オペレーティングシステム309と、SMTP(simple mail transfer protocol)部304と、ゲートウェイ装置/中継サーバ通信部305と、制御部306と、アドレステーブル307と、アプリケーション部308と、を備えている。
【0038】
また、オペレーティングシステム309は、MAC(media access control)部301と、IP(internet protocol)部302と、TCP/UDP(transmission control protocol/user datagram protocol)部303とを備えている。
【0039】
MAC部301は、イーサネット(登録商標)におけるパケットの送受信を行う標準プロトコル処理部である。
【0040】
IP部302は、パケットのルーティングを行う標準プロトコル処理部である。
【0041】
TCP/UDP部303は、信頼性のあるパケット通信を行う標準プロトコル処理部である。
【0042】
SMTP部304は、電子メールの送信を行う標準プロトコル処理部である。
【0043】
ゲートウェイ装置/中継サーバ通信部305は、ゲートウェイ装置206と制御情報などを取得するために通信を行ったり、中継サーバ202、中継サーバ203及び中継サーバ205と通信を行う部分である。
【0044】
制御部306は、メールを送信するために、SMTP部304の関数をコールしたり、ゲートウェイ装置通信部305で受信した中継サーバ202の要求を受け取る関数をコールしたりする。
【0045】
アドレステーブル307には、ゲートウェイ装置206用のメールアカウントの情報や、最初に接続するデフォルトの中継サーバのIPアドレスが格納されている。
【0046】
アプリケーション部308は、業務サーバ208のアプリケーション部とパケットのやり取りを行うために制御部306と通信する。
【0047】
中継サーバ202、中継サーバ203及び中継サーバ205には、グローバルIPアドレスが割り当てられており、クライアント端末201からのTCPコネクション接続要求とゲートウェイ装置からのTCPコネクション接続を中継することによって、クライアント端末201とゲートウェイ装置206との間のパケット転送を行う手段を有している。
【0048】
次に、中継サーバ202、中継サーバ203及び中継サーバ205について説明する。中継サーバ202、中継サーバ203及び中継サーバ205の内部構成は、すべて同じであるため、中継サーバ202についてのみ説明することにする。
【0049】
図3に示すように、中継サーバ202は、オペレーティングシステム410と、パケット識別部404と、中継転送部405と、ゲートウェイ装置通信部406と、サーバ管理部407と、中継テーブル408と、負荷情報テーブル409とを備えている。
【0050】
また、オペレーティングシステム410は、オペレーティングシステム309と同一であるため、説明を省略する。
【0051】
パケット識別部404は、受信したパケットの種類によって中継転送部405とゲートウェイ装置通信部406にパケットを振り分ける。
【0052】
中継転送部405は、クライアント端末201とゲートウェイ装置206からの接続を待ち受ける動作と、それらのパケットを転送する機能をもつ。
【0053】
ゲートウェイ装置通信部406は、ゲートウェイ装置206からの要求を受けて、負荷情報テーブル409から情報を取得し、応答を返す機能を持つ。
【0054】
サーバ管理部407は、中継サーバ202の負荷情報を定期的に収集し、負荷情報テーブル409に書き込んでいる。
【0055】
中継テーブル408は、クライアント端末201とゲートウェイ装置206の通信を結びつけるための情報と、現在の中継転送数を持っているテーブルである。
【0056】
サーバ管理部407は、一定時間おきに中継サーバテーブル408から中継転送数を取得するとともに、その時点でのCPU(central processing unit)の使用率を負荷情報テーブル409に格納する。
【0057】
次に、メールサーバ204について説明する。メールサーバ204の内部構成を図4に示す。
【0058】
図4に示すように、メールサーバ204は、MAC部401と、IP部402と、TCP/UDP部403と、SMTP部411と、POP(post office protocol)部412と、メールスプール413とを備えている。
【0059】
ここで、MAC部401と、IP部402と、TCP/UDP部403と、SMTP部411は、クライアント端末201に備えられている部分と同一であるため、説明を省略する。
【0060】
POP部412は、電子メールを保存しているサーバからメールを受信するためのプロトコルである。
【0061】
メールスプール部413は、配信されたメールを保存しておく領域のことである。
【0062】
次に、ゲートウェイ装置206について説明する。ゲートウェイ装置206の内部構成を図5に示す。
【0063】
図5に示すように、ゲートウェイ装置206は、オペレーティングシステム509と、制御情報通信部504と、転送部505と、POP部506と、制御部507と、中継サーバ情報テーブル508とを備えている。
【0064】
オペレーティングシステム509は、オペレーティングシステム309及びオペレーティングシステム410と同一であるため、説明を省略する。
【0065】
制御情報通信部504は、中継サーバと通信を行い負荷情報の要求を送信したり受信したりする。
【0066】
転送部505は、社内、社外間の通信を転送する。本例では業務サーバ208(図1)や、クライアント端末201(図1)との通信を転送する。
【0067】
POP部506は、メールサーバ204のPOP部411と同様に、メールサーバから接続開始メールを受信する。
【0068】
制御部507は、制御情報通信部504や、転送部505或いはPOP部506の関数をコールしたり、受信したデータを中継サーバ情報テーブル508に格納したりする。また、中継サーバ情報テーブル508の情報を元に、接続先中継サーバを決定する手段を持っている。
【0069】
なお、図1には、中継サーバ202に備えられた負荷情報テーブル409(図3)の管理内容が、負荷情報テーブル209として例示されている。
【0070】
この負荷情報テーブル209には、時刻211と、コネクション数212と、CPU使用率213とが記載されている。
【0071】
また、図1には、ゲートウェイ装置206に備えられた中継サーバ情報テーブル508(図5)の管理内容が、中継サーバ情報テーブル210として例示されている。
【0072】
この中継サーバ情報テーブル210には、ホスト名214と、IPアドレス215と、コネクション数216と、CPU使用率217とが記載されている。
(1−2)負荷分散中継システムの接続先確立処理手順
次に、図1の構成図と、図6のフローチャートを参照して、第1の実施の形態による負荷分散中継システムの接続先確立処理手順について、詳細に説明する。
【0073】
まず、クライアント端末201の利用者601が、クライアント端末201に対し、接続開始を指示する(ステップ611)。
【0074】
するとクライアント端末201は、中継サーバ202にTCPコネクションを確立する(ステップ612)。
【0075】
クライアント端末201は、接続開始メールをゲートウェイ装置206のメールアカウント宛に送信する(ステップ613)。
【0076】
ゲートウェイ装置206は、定期的にメールサーバ204に接続開始メールが届いているかチェックしている(ステップ614)。
【0077】
もし、メールサーバ204に接続開始メールが存在した場合、ゲートウェイ装置206は、その接続開始メールを受信する(ステップ615)。
【0078】
そして、ゲートウェイ装置206は、中継サーバ202にTCPコネクションを開設する(ステップ616)。
【0079】
次に、ゲートウェイ装置206は、利用者601に対し接続完了通知を出すと(ステップ617)、中継サーバ202を経由してクライアント端末201に届き(ステップ618)、利用者601に接続が完了したことを通知する(ステップ619)。
【0080】
これにより、第1のコネクションが確立される。
【0081】
次に、ゲートウェイ装置206の制御部507(図5)は、制御情報通信部504を介して中継サーバ情報テーブル508(図5)に登録されている中継サーバ202、中継サーバ203、中継サーバ205に対し、現在の確立している接続数212、CPU使用率213といった負荷情報の提供要求(図6では、状態情報要求という。)を出す(ステップ620)。
【0082】
そして、中継サーバ202、中継サーバ203及び中継サーバ205は、各パケット識別部404(図3)が、ゲートウェイ装置206からの負荷情報の提供要求を制御パケットであると判断すると、ゲートウェイ装置通信部406(図3)にその制御パケットを渡す。また、各中継サーバは、サーバ管理部407(図3)で取得しておいた負荷情報と、中継テーブル408(図3)に記載されているコネクション数を、負荷情報テーブル409(図3)に定期的に更新しながら格納する。そして、各中継サーバのゲートウェイ装置通信部406(図3)は、その最新のコネクション数212(図1)とCPU使用率213(図1)とをゲートウェイ装置206へ送信する(ステップ621)。
【0083】
そして、ゲートウェイ装置206は、受信できた中継サーバ202、中継サーバ203及び中継サーバ205からの負荷情報(図5では、状態状況応答という。)を、制御情報通信部504及び制御部507を介して中継サーバ情報テーブル508に格納する。
【0084】
これにより、ゲートウェイ装置206は、図1に示した中継サーバ情報テーブル210が更新され、最新のコネクション数212とCPU使用率213とを負荷情報として保持することができる。
【0085】
次に制御部507(図5)が、中継サーバ情報テーブル508を参照して、負荷分散動作の接続先を検討する(これを変更接続先決定処理手順といい、後述する。)。
【0086】
ここで、ゲートウェイ装置206の制御部507(図5)は、新たな接続先を見つけた場合、ゲートウェイ装置206の制御情報通信部504(図5)からクライアント端末201へ接続先変更要求を出す(ステップ622)。
【0087】
接続先変更要求を受けたクライアント端末201は、第1のコネクションの接続を維持したまま、変更先の中継サーバ203へTCPコネクションを開設する(ステップ623)。
【0088】
中継サーバ203は、クライアント端末201によるTCPコネクションの開設と同時に、ゲートウェイ装置206から変更先の中継サーバ203としてTCPコネクションを開設する(ステップ624)。
【0089】
クライアント端末201とゲートウェイ装置206の双方の接続が確立されたら、ゲートウェイ装置206から今新しく開設したコネクション経由(すなわち、中継サーバ203経由)でクライアント端末201に接続完了通知を出す(ステップ625及びステップ626)。
【0090】
これで第2のコネクションが確立される。
【0091】
これにより、ゲートウェイ装置607は、第1のコネクションの切断要求を出す(ステップ627)。
【0092】
また、ゲートウェイ装置206のTCPコネクション切断要求と同時にクライアント端末602からもTCPコネクション切断要求を出す(ステップ628)。
【0093】
このように、クライアント端末201から社内の業務サーバ208(図1)へ第2のコネクションを利用して通信を開始することができる。
(1−3)負荷分散中継システムの変更接続先決定処理手順
次に、変更接続先決定処理手順について、図7のフローチャートを用いて説明する。
【0094】
まず、ステップ621(図6)で状態情報応答を収集し格納したゲートウェイ装置206は、中継サーバ情報テーブル508(図5)から、第1のコネクションで使用している中継サーバ202(図1)のコネクション数212(図1)より少ないコネクション数の中継サーバがあるか検索する(ステップ701)。
【0095】
ここで、中継サーバ情報テーブル508に、中継サーバ202のコネクション数より少ないコネクション数の中継サーバがない場合には、接続先変更動作を中止する(ステップ702)。
【0096】
これに対し、中継サーバ情報テーブル508に、中継サーバ202のコネクション数より少ないコネクション数の中継サーバがある場合には、コネクション数が最小の中継サーバのCPU使用率213(図1)が、80%以下であるか否かを調べる(ステップ703)。
【0097】
なぜなら、CPU使用率が高すぎると、コネクション数が少なかったとしても中継サーバの転送速度が遅くなってしまい、転送速度の低下を招くからである。この転送速度の低下を防ぐため、CPU使用率が80%以下であれば、その中継サーバを負荷分散動作の接続先とする(ステップ707)。
【0098】
また、ステップ703において、CPU使用率が80%以下でない場合には、その次に接続数が少ない中継サーバのCPU使用率を調べる(ステップ704)。
【0099】
もし、その中継サーバのCPU使用率が80%以下であれば、その中継サーバを負荷分散動作の接続先とする(ステップ707)。
【0100】
また、その中継サーバのCPU使用率が80%以下でない場合には、ステップ703以降の動作を再帰的に繰り返し、接続変更先中継サーバを探す。それでも見つからない場合には、コネクション数が最小の中継サーバを接続変更先とする(ステップ706)。
【0101】
このように、変更接続先決定処理手順により、確立されている中継サーバからゲートウェイ装置206に接続されている他の中継サーバに接続変更先を決定することができる。
【0102】
これにより、上記の接続先確立処理手順によって決定された接続先の中継サーバに、接続先を変更することができる。
(1−4)負荷分散中継システムの動作及び効果
本実施の形態では、デフォルト(標準設定)の中継サーバ(上記の例では、中継サーバ202)を経由して、一度クライアント端末201と、ゲートウェイ装置206との間のセッションを確立した上で、ゲートウェイ装置206から各中継サーバに負荷状況を問い合わせたり、クライアント端末201に接続先変更指示を出したりするメッセージ通信により実現することができる。
【0103】
本実施の形態によれば、ロードバランサなどの特殊な装置を使用せずに負荷分散を行うことができるので、システムの導入コストの削減が期待できる。
【0104】
また、従来のセッション管理サーバを使用する方式では、ファイアウォールの外にセッション管理サーバを設置していたためセキュリティ的に不利であったが、本実施の形態では、ファイアウォール内にあるゲートウェイ装置206に各中継サーバの情報を蓄積することができる。
【0105】
これにより、本実施の形態によれば、従来方式よりも比較的安全に負荷分散機能を運用することができる。
(第2の実施の形態)
(2)第2の実施の形態による負荷分散中継システム
(2−1)負荷分散中継システムの構成
次に、第2の実施の形態による負荷分散中継システムについて説明する。
【0106】
図8を参照すると、第2の実施の形態による負荷分散中継システムでは、第1の実施の形態の構成に、管理者が管理を行う管理者端末818が追加されている。
【0107】
また、各部の内部構成は、第1の実施の形態と同じく図2乃至図5のようになっている。
【0108】
中継サーバ802、中継サーバ803及び中継サーバ805には、グローバルIPアドレスが割り当てられており、クライアント端末801からのTCPコネクション接続要求とゲートウェイ装置806からのTCPコネクション接続要求を中継することによって、クライアント端末801と、ゲートウェイ装置806との間のパケットの中継転送を行う。
【0109】
中継サーバ802、中継サーバ803、中継サーバ805は、負荷情報テーブル809を持っており、現在自経由で確立しているクライアント端末801と、ゲートウェイ装置806との間のコネクション数812、CPU使用率813を定期的に収集し格納する。
【0110】
ゲートウェイ装置806は、中継サーバ802、中継サーバ803、中継サーバ805のホスト名と、IPアドレスを格納した中継サーバ情報テーブル810をもっている。
(2−2)負荷分散中継システムの接続先確立処理手順
次に、図8の構成図と、図9のフローチャートを参照して、第2の実施の形態による負荷分散中継システムの接続先確立処理手順について、詳細に説明する。
【0111】
但し、第1の実施の形態の動作と重複する箇所については、省略することにする。
【0112】
まず、クライアント端末801の利用者902が、クライアント端末801に対し、接続要求操作を行うことにより(ステップ911)、第1の実施の形態の場合と同様にクライアント端末801と、ゲートウェイ装置806との間で、中継サーバ802を介した第1のコネクションが開設される(ステップ911からステップ919)。
【0113】
また、ゲートウェイ装置806は、定期的に各中継サーバ802、中継サーバ803及び中継サーバ805に、各中継サーバの状態情報の要求を出す(ステップ920)。
【0114】
ここで、第2の実施の形態では、中継サーバの管理者が、管理者端末818から中継サーバ802へメンテナンス予告通知を出す(ステップ922)と、中継サーバ802に設けられた負荷情報テーブル809のメンテナンスフラグ819だけが、1になる。
【0115】
そして、本実施の形態では、ステップ920の定期的な状態情報要求を受けた中継サーバ802、中継サーバ803又は中継サーバ805は、各中継サーバに設けられた負荷情報管理テーブル809のコネクション数812、CPU使用率813に加え、更にメンテナンスフラグ情報819を加えた応答を返す(ステップ921)。
【0116】
ゲートウェイ装置806は、中継サーバ802、中継サーバ803又は中継サーバ805の応答を確認し、コネクション数816と、CPU使用率817とを中継サーバ情報テーブル810に格納する。
【0117】
このとき、メンテナンスフラグ819が1になっている中継サーバがある場合には、その中継サーバ経由で接続を確立しているコネクションを、他の中継サーバ経由での接続につなぎかえる。
【0118】
具体的には、管理者端末818から中継サーバ802へメンテナンス予告通知が出されているので、中継サーバ802のメンテナンスフラグ819だけが1となり、ゲートウェイ装置806は、中継サーバ802経由で接続を確立しているコネクションを、他の中継サーバ経由の接続につなぎかえる。
【0119】
そして、新しい接続先が決定したら、ゲートウェイ装置806からクライアント端末801へ新しい接続先となる中継サーバ803への接続要求を出す(ステップ923)。
【0120】
それを受けたクライアント端末801は、第1のコネクションの接続を維持したまま、変更先の中継サーバ803へTCPコネクションを開設する(ステップ924)。
【0121】
また同時に、ゲートウェイ装置806は、変更先の中継サーバ803にTCPコネクションを開設する(ステップ925)。
【0122】
そして、新しい接続先に中継サーバ802とゲートウェイ装置806の双方の接続が確立されたら、ゲートウェイ装置806から今新しく開設したコネクション経由で、クライアント端末801に接続完了通知を出す(ステップ926、ステップ927)。
【0123】
これにより、第2のコネクションが確立される。
【0124】
従って、ゲートウェイ装置806は、中継サーバ802へ第1のコネクションの切断要求を出す(ステップ928)。それと同時にクライアント端末801からも中継サーバ802へ切断要求を出す(ステップ929)。
(2−3)負荷分散中継システムの変更接続先決定処理
次に、変更接続先決定処理について、図10のフローチャートを用いて説明する。
【0125】
図10のフローチャートは、変更する接続先中継サーバの決定手順である。
【0126】
まず、ゲートウェイ装置806は、中継サーバ情報テーブル810を参照して、コネクション数816が、最小の中継サーバのCPU使用率817が80%以下であるか否かを調べる(ステップ1001)。
【0127】
ここで、最小の中継サーバのCPU使用率が80%以下であれば、その中継サーバを新しい接続先対象に決定する(ステップ1004)。
【0128】
これに対し、CPU使用率が80%以下でない場合には、その次にコネクション数が少ない中継サーバを検索し、そのCPU使用率が80%以下であるか否かを調べる(ステップ1002)。
【0129】
そして、そのCPU使用率が80%以下である場合には、その中継サーバを新しい接続先対象とする(ステップ1004)。
【0130】
これに対し、そのCPU使用率が80%以下でない場合には、さらにコネクション数が少なく、CPU使用率が80%以下の中継サーバの検索を再帰的に行う。
【0131】
ここで、CPU使用率が80%以下の中継サーバがない場合には、メンテナンス対象の中継サーバ802以外の中継サーバであって、コネクション数816が最小の中継サーバを新しい接続先対象とする(ステップ1005)。
(2−4)負荷分散中継システムの効果
第2の実施の形態の負荷分散中継システムでは、管理者が管理者端末901を用いて接続されている中継サーバ802にメンテナンス予告通知を出すことにより、中継サーバ802に設けられた負荷情報テーブル809のメンテナンスフラグ819に、「1」を書き込んでいる。
【0132】
このため、ゲートウェイ装置806は、中継サーバから送付される、「1」の書き込まれたメンテナンスフラグ819によって、接続を切り替える中継サーバを認識することができる。従って、ゲートウェイ装置806は、中継サーバ802から接続先を変更する次の中継サーバを決定すると共に、つなぎかえる。
【0133】
このように、クライアント端末801は、社内の業務サーバへの第2のコネクションを利用して通信を開始する。これにより管理者は、利用者に意識させずに経由する中継サーバを変更させることができる。
【産業上の利用可能性】
【0134】
本発明によれば、サーバとクライアントの双方から、中継サーバにコネクションを開設する中継サーバを用いたシステムにおいて、中継サーバの負荷分散を効率的に行うことができる。また、その管理者が中継サーバを管理する負担軽減にも貢献する。
【図面の簡単な説明】
【0135】
【図1】本発明における第1の実施の形態による負荷分散中継システムの構成を示す構成図である。
【図2】本発明における第1の実施の形態によるクライアント端末のブロック図である。
【図3】本発明における第1の実施の形態による中継サーバのブロック図である。
【図4】本発明における第1の実施の形態によるメールサーバのブロック図である。
【図5】本発明における第1の実施の形態によるゲートウェイ装置のブロック図である。
【図6】本発明における第1の実施の形態による接続先確立処理手順を表すフローチャートである。
【図7】本発明における第1の実施の形態による変更接続先決定処理手順を表すフローチャートである。
【図8】本発明における第2の実施の形態による負荷分散中継システムの構成を示す構成図である。
【図9】本発明における第2の実施の形態による接続先確立処理手順を表すフローチャートである。
【図10】本発明における第2の実施の形態による変更接続先決定処理手順を表すフローチャートである。
【図11】従来から知られている先行技術の構成図である。
【図12】従来から知られている先行技術から考えられる負荷分散中継システムである。
【図13】従来から知られている先行技術から考えられる負荷分散中継システムの動作を表したフローチャートである。
【図14】従来から知られている先行技術から考えられる構成を示した構成図である。
【符号の説明】
【0136】
201 クライアント端末
202、203、205 中継サーバ
204 メールサーバ
206 ゲートウェイ装置
207 ファイアウォール
208 業務サーバ
301 MAC部
302 IP部
303 TCP/UDP部
304 SMTP部
305 ゲートウェイ装置/中継サーバ通信部
306 制御部
307 アドレステーブル
308 アプリケーション部
309 オペレーティングシステム
401 MAC部
402 IP部
403 TCP/UDP部
404 パケット識別部
405 中継転送部
406 ゲートウェイ装置通信部
407 サーバ管理部
408 中継テーブル
409 負荷情報テーブル
410 オペレーティングシステム
411 SMTP部
412 POP部
413 メールスプール
501 MAC部
502 IP部
503 TCP/UDP部
504 制御情報通信部
505 転送部
506 POP部
507 制御部
508 中継サーバ情報テーブル
801 クライアント端末
802、803、805 中継サーバ
804 メールサーバ
806 ゲートウェイ装置
807 ファイアウォール
808 業務サーバ
818 管理者端末
901 利用者
C1、C2、C3 クライアント端末
SV1、SV2 サーバ
1101、1108 クライアント端末
1102、1107 NAT
1103、1104、1105 中継サーバ
1106 メールサーバ
1109 セッション管理サーバ
101、105、109、110 クライアント端末
102、107、113 ファイアウォール
103、108、114 ゲートウェイ装置
104、115 業務サーバ
106、111 NAT
112 中継サーバ

【特許請求の範囲】
【請求項1】
複数の中継サーバの負荷情報を管理するゲートウェイ装置であって、
イントラネット内に設けられると共に、前記中継サーバの負荷情報を通信により定期的に更新しながら管理する中継サーバ情報管理手段を備え、
前記中継サーバ情報管理手段は、
前記中継サーバにクライアント端末が接続される第1の中継サーバの負荷情報と、前記複数の中継サーバの負荷情報とに基づいて、当該第1の中継サーバの負荷分散を行うか否かを判断する負荷分散判断手段を備え、
前記負荷分散判断手段は、
前記第1の中継サーバの負荷分散を行うことが有効であると判断した場合には、
現在接続されている当該クライアント端末と当該第1の中継サーバとの第1のコネクションを接続したまま、前記複数の中継サーバの1つであって前記第1の中継サーバとは異なる第2の中継サーバと当該クライアント端末との第2のコネクションを接続し、当該第2のコネクションが確立した後、前記第1のコネクションを切断することにより前記第1の中継サーバの負荷分散を行う
ことを特徴とするゲートウェイ装置。
【請求項2】
前記負荷分散判断手段は、
前記複数の中継サーバのうち、前記第1の中継サーバに接続されている前記クライアント端末の数が少ない中継サーバであって、当該中継サーバの制御部の使用率が所定範囲内にある場合には、当該中継サーバを前記第2の中継サーバとして前記第1の中継サーバの負荷分散を行うことが有効であると判断する
ことを特徴とする請求項1記載のゲートウェイ装置。
【請求項3】
前記中継サーバ情報管理手段は、
前記中継サーバにメンテナンスを予告通知するために送信されるメンテナンス予告通知を、当該中継サーバの負荷情報から取得するメンテナンス予告通知手段を更に備え、
前記メンテナンス予告通知手段は、
前記メンテナンス予告通知を前記中継サーバの負荷情報から取得すると、当該中継サーバを前記第1の中継サーバとして前記負荷分散判断手段を適用し、当該第1の中継サーバに接続された前記クライアント端末を、前記第2の中継サーバに接続されるように前記第1の中継サーバから前記第2の中継サーバに切り替える
ことを特徴とする請求項1に記載のゲートウェイ装置。
【請求項4】
前記負荷分散判断手段は、
前記複数の中継サーバのうち、前記第1の中継サーバに接続されている前記クライアント端末の数が少ない中継サーバであって、当該中継サーバの制御部の使用率が所定範囲内にある場合には、当該中継サーバを前記第2の中継サーバとして前記第1の中継サーバから切り替える
ことを特徴とする請求項3記載のゲートウェイ装置。
【請求項5】
複数の中継サーバの負荷情報を管理するゲートウェイ装置における負荷分散方法であって、
イントラネット内に設けられると共に、前記中継サーバの負荷情報を通信により定期的に更新しながら管理する中継サーバ情報管理ステップを備え、
前記中継サーバ情報管理ステップは、
前記中継サーバにクライアント端末が接続される第1の中継サーバの負荷情報と、前記複数の中継サーバの負荷情報とに基づいて、当該第1の中継サーバの負荷分散を行うか否かを判断する負荷分散判断ステップを備え、
前記負荷分散判断ステップは、
前記第1の中継サーバの負荷分散を行うことが有効であると判断した場合には、
現在接続されている当該クライアント端末と当該第1の中継サーバとの第1のコネクションを接続したまま、前記複数の中継サーバの1つであって前記第1の中継サーバとは異なる第2の中継サーバと当該クライアント端末との第2のコネクションを接続し、当該第2のコネクションが確立した後、前記第1のコネクションを切断することにより前記第1の中継サーバの負荷分散を行う
ことを特徴とする負荷分散方法。
【請求項6】
前記中継サーバ情報管理ステップは、
前記中継サーバにメンテナンスを予告通知するために送信されるメンテナンス予告通知を、当該中継サーバの負荷情報から取得するメンテナンス予告通知ステップを更に備え、
前記メンテナンス予告通知ステップは、
前記メンテナンス予告通知を前記中継サーバの負荷情報から取得すると、当該中継サーバを前記第1の中継サーバとして前記負荷分散判断ステップを適用し、当該第1の中継サーバに接続された前記クライアント端末を、前記第2の中継サーバに接続されるように前記第1の中継サーバから前記第2の中継サーバに切り替える
ことを特徴とする請求項5に記載の負荷分散方法。
【請求項7】
複数の中継サーバの負荷情報を管理するゲートウェイ装置における負荷分散プログラムであって、
イントラネット内に設けられると共に、前記中継サーバの負荷情報を通信により定期的に更新しながら管理する中継サーバ情報管理手順を備え、
前記中継サーバ情報管理手順は、
前記中継サーバにクライアント端末が接続される第1の中継サーバの負荷情報と、前記複数の中継サーバの負荷情報とに基づいて、当該第1の中継サーバの負荷分散を行うか否かを判断する負荷分散判断手順を備え、
前記負荷分散判断手順は、
前記第1の中継サーバの負荷分散を行うことが有効であると判断した場合には、
現在接続されている当該クライアント端末と当該第1の中継サーバとの第1のコネクションを接続したまま、前記複数の中継サーバの1つであって前記第1の中継サーバとは異なる第2の中継サーバと当該クライアント端末との第2のコネクションを接続し、当該第2のコネクションが確立した後、前記第1のコネクションを切断することにより前記第1の中継サーバの負荷分散を行う
ことをコンピュータに実行させることを特徴とする負荷分散プログラム。
【請求項8】
前記中継サーバ情報管理手順は、
前記中継サーバにメンテナンスを予告通知するために送信されるメンテナンス予告通知を、当該中継サーバの負荷情報から取得するメンテナンス予告通知手順を更に備え、
前記メンテナンス予告通知手順は、
前記メンテナンス予告通知を前記中継サーバの負荷情報から取得すると、当該中継サーバを前記第1の中継サーバとして前記負荷分散判断手順を適用し、当該第1の中継サーバに接続された前記クライアント端末を、前記第2の中継サーバに接続されるように前記第1の中継サーバから前記第2の中継サーバに切り替える
ことをコンピュータに実行させることを特徴とする請求項7に記載の負荷分散プログラム。
【請求項9】
前記請求項1乃至4の何れか1項に記載されたゲートウェイ装置と、複数の中継サーバと、前記中継サーバに接続されるクライアント端末とを備えたことを特徴とする負荷分散システム。
【請求項10】
複数の中継サーバと、前記中継サーバに接続されるクライアント端末と、前記中継サーバの負荷情報を管理するゲートウェイ装置とを備えた負荷分散システムにおける負荷分散方法であって、
前記ゲートウェイ装置は、
イントラネット内に設けられると共に、前記中継サーバの負荷情報を通信により定期的に更新しながら管理する中継サーバ情報管理ステップを備え、
前記中継サーバ情報管理ステップは、
前記中継サーバに前記クライアント端末が接続される第1の中継サーバの負荷情報と、前記複数の中継サーバの負荷情報とに基づいて、当該第1の中継サーバの負荷分散を行うか否かを判断する負荷分散判断ステップを備え、
前記負荷分散判断ステップは、
前記第1の中継サーバの負荷分散を行うことが有効であると判断した場合には、
現在接続されている当該クライアント端末と当該第1の中継サーバとの第1のコネクションを接続したまま、前記複数の中継サーバの1つであって前記第1の中継サーバとは異なる第2の中継サーバと当該クライアント端末との第2のコネクションを接続し、当該第2のコネクションが確立した後、前記第1のコネクションを切断することにより前記第1の中継サーバの負荷分散を行う
ことを特徴とする負荷分散方法。
【請求項11】
前記負荷分散判断ステップは、
前記複数の中継サーバのうち、前記第1の中継サーバに接続されている前記クライアント端末の数が少ない中継サーバであって、当該中継サーバの制御部の使用率が所定範囲内にある場合には、当該中継サーバを前記第2の中継サーバとして前記第1の中継サーバの負荷分散を行うことが有効であると判断する
ことを特徴とする請求項10記載の負荷分散方法。
【請求項12】
前記中継サーバのメンテナンスを行う管理者用端末を更に備え、
前記中継サーバ情報管理ステップは、
前記管理者用端末から前記中継サーバにメンテナンスを予告通知するために送信されるメンテナンス予告通知を、当該中継サーバの負荷情報から取得するメンテナンス予告通知ステップを更に備え、
前記メンテナンス予告通知ステップは、
前記メンテナンス予告通知を前記中継サーバの負荷情報から取得すると、当該中継サーバを前記第1の中継サーバとして前記負荷分散判断ステップを適用し、当該第1の中継サーバに接続された前記クライアント端末を、前記第2の中継サーバに接続されるように前記第1の中継サーバから前記第2の中継サーバに切り替える
ことを特徴とする請求項10に記載の負荷分散方法。
【請求項13】
前記負荷分散判断ステップは、
前記複数の中継サーバのうち、前記第1の中継サーバに接続されている前記クライアント端末の数が少ない中継サーバであって、当該中継サーバの制御部の使用率が所定範囲内にある場合には、当該中継サーバを前記第2の中継サーバとして前記第1の中継サーバから切り替える
ことを特徴とする請求項12記載の負荷分散方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2008−225644(P2008−225644A)
【公開日】平成20年9月25日(2008.9.25)
【国際特許分類】
【出願番号】特願2007−60164(P2007−60164)
【出願日】平成19年3月9日(2007.3.9)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】