(57)【要約】【課題】独立したハードウェアを導入する必要がなく、また既存のサーバへの導入や既存のソフトウェアへの組み込みが容易で安価なロードバランスシステムを提供する。【解決手段】クライアント端末と複数のサーバとから構成されるシステムにおいて、該複数のサーバのうちの第一のサーバで、クライアント端末からの接続依頼を受信し、接続依頼を送信してきたクライアント端末に関する情報と自己の負荷に関する情報とを含む転送情報を、複数のサーバのうちの第二のサーバへ転送し、第二のサーバへ前記転送情報を転送してから、所定時間経過後に前記クライアント端末へ応答を送信する。【選択図】図１
2004046442.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末と複数のサーバとから構成されるシステムにおいて、該複数のサーバのうちの第一のサーバで実行される負荷分散方法であって、
前記クライアント端末からの接続依頼を受信するステップと、
前記接続依頼を送信してきたクライアント端末に関する情報と自己の負荷に関する情報とを含む転送情報を、前記複数のサーバのうちの、第二のサーバへ転送するステップと、
前記第二のサーバへ前記転送情報を転送してから、所定時間経過後に、前記クライアント端末へ応答を送信するステップと
を備えたことを特徴とする負荷分散方法。
【請求項２】
クライアント端末と複数のサーバとから構成されるシステムにおいて、該複数のサーバのうちの第二のサーバで実行される負荷分散方法であって、
前記複数のサーバのうちの第一のサーバから転送された、前記クライアント端末に関する情報と該第一のサーバの負荷に関する情報とを含む転送情報を受信するステップと、
前記受信した第一のサーバの負荷に関する情報と、自己の負荷に関する情報とを比較するステップと、
前記比較の結果、前記第一のサーバよりも前記自己の負荷に関する情報の方が低いと判断した場合に、前記受信したクライアント端末に関する情報から特定される前記クライアント端末へ接続許可を送信するステップと
を備えたことを特徴とする負荷分散方法。
【請求項３】
クライアント端末と複数のサーバとから構成される負荷分散システムであって、
前記クライアント端末からの接続依頼を受信する第一の受信部と、
自己の負荷に関する情報および前記クライアント端末に関する情報を含む転送情報を他のサーバへ転送する転送部と、
所定時間経過後に、前記クライアント端末へ応答を返信する第一の応答部と、他のサーバから転送された他のサーバの負荷に関する情報およびクライアント端末に関する情報を含む転送情報を受信する第二の受信部と、
前記他のサーバの負荷に関する情報と自己の負荷に関する情報とを比較し、どちらの負荷情報が低いかを判定する判定部と、
前記他のサーバの負荷に関する情報より、前記自己の負荷に関する情報が低いと判定した場合に、前記クライアント端末へ接続許可を返信する第二の応答部とを備えたことを特徴とする負荷分散システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】本発明は、ネットワークのサーバで実施される負荷分散システムに関する。
【０００２】
【従来の技術】近年、コンピュータによる情報処理技術と、ネットワークによる通信技術の発達により、さまざまな情報を簡易に入手、あるいは発信することができるようになってきた。また、遠隔的に配置された各種コンピュータを利用し、さまざまな情報処理を実行できるようになった。
【０００３】
例えば、インターネット上のウェブサイトにアクセスし、必要なときに所望の情報を入手できるようになった。また、利用者が個々にパーソナルコンピュータを使用しつつ、ＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）を介して高性能サーバを利用する場合も多い。例えば集中管理されたデータベースやオンラインシステムにアクセスする場合である。また、サーバに負荷の重い技術計算を実行させ、その結果をパーソナルコンピュータ上で得るような場合もある。
【０００４】
このように、上記通信技術が発達し、便利になった反面で、利用者からのアクセスの集中による弊害も発生している。このような弊害の一つに処理負荷が特定のサーバに集中して、サービス全体のレスポンスを著しく低下させるという問題がある。
【０００５】
特定のサーバへの処理負荷の集中を抑制するため、各サーバへ処理を割り振る技術としてロードバランスシステムが提案されている。
【０００６】
しかし、従来のロードバランスシステムすなわち負荷分散システムにおいて、ロードバランサが特定の機器に依存するため、システムの稼働率がダウンすることがある。また、定期的に負荷状況を採取して管理するため、ソフトウェアの仕組みが複雑になり、且つシステム全体に与える処理負荷が増大しやすい。更に、ネットワーク上を流れるデータが大きいときには、ネットワークにかける負荷も増大しやすい。
【０００７】
このような問題を解決するための負荷分散システムの一つとして、ロードバランサが特定の機器に依存しないよう複数のネットワークサーバで実施されるピアツーピアのロードバランシングシステムが、特表２００２−５１００７７号公報に開示されている。
【０００８】
この負荷分散システムでは、クライアントからの要求を受信したサーバの負荷が第１の予め決められたレベル以下であるとき、または、その負荷が第１の予め決められたレベルより大きいが、そのサーバの負荷が第２の予め決められたレベルより小さいとき、サーバは受信した要求を直接処理する。そして、その他の場合、サーバは受信した要求をそれらピアの１つに転送する。
【０００９】
そうすることにより、一つのサーバの負荷が増大し、その他のサーバが比較的低負荷となること、すなわち特定のサーバへの負荷が集中することを抑制している。
【００１０】
しかしながら、このような負荷分散システムでは、サーバで処理中の負荷が予め定められたレベルを越えているかどうかを決定する手段を有する。そのため、所定のレベルをどのようにして定めるかが問題となる。また、サーバ全体としての負荷が所定のレベルを越えた場合には、どのサーバも処理を行わないという問題が生じる。さらに、負荷状況が所定のレベルに達するまでは、特定のサーバに処理が集中するという問題が生じる虞がある。
【００１１】
【発明が解決しようとする課題】本発明は、このような従来技術の問題に鑑みてなされたものである。すなわち、本発明が解決しようとする課題は、独立したハードウェアを導入する必要がなく、また既存のサーバへの導入や既存のソフトウェアへの組み込みが容易で安価な負荷分散システムを提供することである。
【００１２】
【課題を解決するための手段】本発明は、上記課題を解決するために以下の手段を採用した。
【００１３】
本発明に係る負荷分散方法は、クライアント端末と複数のサーバとから構成されるシステムにおいて、該複数のサーバのうちの第一のサーバで実行される負荷分散方法であって、クライアント端末からの接続依頼を受信するステップと、接続依頼を送信してきたクライアント端末に関する情報と自己の負荷に関する情報とを含む転送情報を、複数のサーバのうちの、第二のサーバへ転送するステップと、第二のサーバへ転送情報を転送してから、所定時間経過後に、クライアント端末へ応答を送信するステップとを備えたことを特徴とする。
【００１４】
このような構成にすると、クライアント端末からの接続依頼を受信したサーバは、自己の負荷に関する情報を他のサーバへ転送するだけなので、本発明を実現するための仕組みが簡単である。また、ハードやＯＳに依存せずに実装することができる。
ここで、負荷に関する情報はＣＰＵ負荷、メモリ使用率、あるいはＩ／Ｏの負荷等であってもよい。また、負荷に関する情報は、現在ネットワーク上で、サーバに接続している処理端末の数であってもよい。
【００１５】
このように構成すると、負荷情報を容易に取得できるため、ソフトウェアの仕組みを単純化することができる。また、負荷情報を含む転送情報のデータが小さくて済むため、ネットワークにかける負荷も小さくすることができる。
【００１６】
また、クライアント端末に関する情報は、クラアント端末のアドレスを含むものであってもよい。このように構成すると、バランス機能を実現するためにネットワーク上を流れるデータが小さくて済むため、上記と同様にネットワークにかける負荷も小さくすることができる。
【００１７】
また、本発明に係る負荷分散方法は、クライアント端末と複数のサーバとから構成されるシステムにおいて、該複数のサーバのうちの第二のサーバで実行される負荷分散方法であって、複数のサーバのうちの第一のサーバから転送された、クライアント端末に関する情報と第一のサーバの負荷に関する情報とを含む転送情報を受信するステップと、受信した第一のサーバの負荷に関する情報と、自己の負荷に関する情報とを比較するステップと、その比較の結果、第一のサーバの負荷に関する情報より自己の負荷に関する情報の方が低いと判断した場合に、受信したクライアント端末に関する情報から特定されるクライアント端末へ接続許可を送信するステップとを備えたことを特徴とする。
【００１８】
このような構成にすると、バランス対象となる各サーバ自体にロードバランス機能を持たせるため、ロードバランス機能の冗長化を実現できる。そのため、全サーバの負荷状況を一元管理する必要がない。
【００１９】
さらに、本発明に係る負荷分散システムは、クライアント端末と複数のサーバとから構成される負荷分散システムであって、クライアント端末からの接続依頼を受信する第一の受信部と、自己の負荷に関する情報およびクライアント端末に関する情報を含む転送情報を他のサーバへ転送する転送部と、所定時間経過後に、クライアント端末へ応答を返信する第一の応答部と、他のサーバから転送された他のサーバの負荷に関する情報およびクライアント端末に関する情報を含む転送情報を受信する第二の受信部と、他のサーバの負荷に関する情報と自己の負荷に関する情報とを比較し、どちらの負荷情報が低いかを判定する判定部と、他のサーバの負荷に関する情報より、前記自己の負荷に関する情報が低いと判定した場合に、クライアント端末へ接続許可を返信する第二の応答部とを備えることを特徴とする。
【００２０】
このような構成にすると、ソフトウェアのみで実現可能なので、ロードバランス機能を独立した機器に載せる必要がない。
【００２１】
また、本発明はコンピュータに以上のいずれかの機能を実現させるプログラムであってもよい。また、本発明は、そのようなプログラムを読み取り可能な記憶媒体に記憶したものであってもよい。
【００２２】
【発明の実施の形態】以下に本発明の好適な実施の形態を図１から図３の図面に基づいて説明する。図１は、本実施の形態に係る負荷分散システムの構成図であり、図２はクライアント側処理のフローチャートであり、図３はサーバ側処理のフローチャートである。
【００２３】
まず、図１を参照にして、本実施の形態に係る負荷分散システムを説明する。〈システム構成〉
図１に本実施の形態に係る負荷分散システムの構成図を示す。
【００２４】
この負荷分散システムは、ネットワークで接続されたコンピュータであるクラアント端末と、コンピュータであるアプリケーションサーバ群（ａｐｓｅｒｖｅ０１〜０３）からなり、クラアントにサーバでの処理やコンテンツなどさまざまなサービスを提供する。
【００２５】
ここで各サーバが提供するサービスとは、データベース管理機能、オンライン処理機能、あるいは技術計算機能等である。
【００２６】
このクライアント端末は、クライアントプログラムを含んでおり、アプリケーションサーバ群とは別のサーバコンピュータがコンテンツとして提供するシステムトップページ、およびアプリケーションサーバ群に接続する。そして、クライアントがアクセス可能なシステムトップページは、サービスを提供することができるアプリケーションサーバ群のアドレス一覧を含む。
【００２７】
本実施の形態では、アプリケーションサーバ群はａｐｓｅｒｖｅ０１、０２、及び０３の３台である。ただし、アプリケーションサーバ群はこの台数に限るものではない。そして、各サーバはクライアントへのサービス提供の際に、システムの負荷を分散させる機能をそれぞれ備える。また、本実施の形態では、各サーバの負荷は、サーバへのユーザ接続数を基に判断する。例えば、図１の各サーバ（ａｐｓｅｒｖｅ０１〜０３）に丸く示された数字が現在の各サーバへのユーザ接続数である。各サーバへのユーザ接続数は、それぞれ５、６、及び２である。
【００２８】
このような負荷分散システムにおけるアプリケーションサーバおよびクライアント端末は、いずれもＣＰＵ、メモリ、ハードディスク、通信基板等を備えるネットワークにアクセス可能なコンピュータである。このようなコンピュータのハードウェアの構成および作用は広く知られているので、その説明は省略する。
〈作用〉
図１を参照にして、本実施の形態に係る負荷分散システムの処理フローを説明する。
【００２９】
まず、クライアント端末のクライアントプログラムは、アプリケーションサーバとは異なるサーバコンピュータにアクセスし、該サーバコンピュータが提供するシステムトップページにあるアプリケーションサーバ一覧を読み込む（Ｓ１０１）。ここで、アプリケーションサーバ一覧とは、クライアントが処理を依頼することができるサーバ群である。
【００３０】
そして、クライアントプログラムは、一覧の中に記載されているサーバの一つをランダムに選択して、接続依頼を送信する（Ｓ１０２）。本実施の形態では、接続依頼データはクライアントのＩＰアドレス（１９２．１６３．１．１０）であるが、その他の情報を含んでいてもよい。
【００３１】
次に、接続依頼を受信したサーバは、受信したクライアントのＩＰアドレスに現在の自サーバへのユーザ接続数を付加して、他のサーバに対して接続依頼を転送する（Ｓ１０３）。すなわち、接続依頼を受けたａｐｓｅｒｖｅｒ０１は、接続依頼データに現在接続しているユーザ接続数５を付加して転送用データ（１９２．１６３．１．１０／５）を作成する。そして、ａｐｓｅｒｖｅｒ０１は、クライアントからの接続依頼を転送用データとして、ａｐｓｅｒｖｅｒ０２およびａｐｓｅｒｖｅｒ０３にブロードキャスト方式で転送する。本実施の形態では、ブロードキャスト方式で転送を行うが、マルチキャスト方式等、その他の方式で転送してもよい。
【００３２】
一方、接続依頼の転送を受け付けたサーバは、現在の自サーバのユーザ接続数が転送されてきたユーザ接続数よりも少ない場合には、クライアントに対して接続許可メッセージを送信する（Ｓ１０４）。すなわち、ａｐｓｅｒｖｅｒ０１から転送用データを受け取ったａｐｓｅｒｖｅｒ０３は、ユーザ接続数は２であり、転送用データに含まれるユーザ接続数５より少ない。このような場合には、ａｐｓｅｒｖｅｒ０３は、クライアントに対して、処理をすることができるとして接続許可を送信する。また、転送されてきたユーザ接続数よりも、自サーバのユーザ接続数の方が多い場合は転送を受け付けたサーバ、例えばａｐｓｅｒｖｅｒ０２、は何もしない。
【００３３】
また、Ｓ１０２でクライアントから接続依頼を受信したサーバが、最も負荷が低い場合には、他のサーバが接続許可を送信することはない。そのため、クライアントから接続依頼を受信したサーバがそのまま接続する。
【００３４】
つまり、転送用データを受信した各サーバは、現在のユーザ接続数が転送されたユーザ接続数よりも少ない場合に限って、クライアントに対して接続許可メッセージを送信するため、接続依頼を受信したサーバが最も負荷が低い場合には、接続依頼を受信したサーバがそのまま接続する。
【００３５】
一方、いずれかのアプリケーションサーバから接続許可メッセージを受信したクライアントプログラムは、最も早く接続許可を送信してきたサーバに対して接続を行う（Ｓ１０５）。
【００３６】
また、クライアントプログラムは接続依頼を送信した後であって、５秒経過後、いずれのサーバからも応答が得られない場合には、サーバ一覧から初めに接続依頼を送信したのとは別のサーバを選択して、Ｓ１０２と同様な接続依頼を再度行う（Ｓ１０６）。なお、本実施の形態では、送信後の経過時間を５秒としたが、必ずしも５秒に限定する必要はなく、適宜に定めることができる。
【００３７】
次に、クライアント側の処理とサーバ側の処理とを図２及び図３に基づいて説明する。まず、図２を参照にして、クライアント側の処理について説明する。クライアントがアプリケーションプログラムを起動することにより、図２の処理は開始する。
【００３８】
まず、クライアントは、システムトップページとして提案される情報を参照してサーバ一覧を読み込む（Ｓ２０１）。そして、クライアントは、読み込んだサーバ一覧の中から一つのサーバをランダムに選択する（Ｓ２０２）。
【００３９】
それから、クライアントは、選択したサーバに対して接続依頼を行う（Ｓ２０３）。本実施の形態では、この接続依頼のデータには、依頼元クライアントのＩＰアドレスが含まれる。ただし、接続依頼データはこれに限定されることなく、他の情報を含んでいてもよい。例えば、ＩＰアドレスに代えて、ネットワーク上のＩＰ以外のアドレス、ノード名やＵＲＬ（Ｕｎｉｆｏｒｍ　Ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｉｏｎ）を含んでもよい。
【００４０】
クライアントは、サーバからの応答を５秒間待ち、いずれかのサーバから応答があるか、否かを判断する（Ｓ２０４）。なお、本実施の形態では、応答の待ち時間を５秒間としたが、必ずしも５秒間に限定する必要はなく、適宜に定めることができる。
【００４１】
Ｓ２０３で接続依頼を送信した後、いずれかのサーバから応答があった場合、すなわちクライアントがサーバからの接続許可メッセージを受信した場合には、制御をＳ２０５に進める。そして、クライアントは応答があったサーバに対して接続を行う（Ｓ２０５）。サーバでの処理完了後、クライアントはプログラムを正常終了する。
【００４２】
一方、Ｓ２０４で５秒以内にサーバから応答がなかった場合、すなわち、クライアントがいずれのサーバからも接続許可メッセージを受信しなかった場合には、Ｓ２０２でランダムに選択したサーバがダウンしているとみなして、制御をＳ２０６に進める。そして、クライアントは、サーバ一覧の中から現在ランダムに選択したサーバを削除する（Ｓ２０６）。
【００４３】
その後、クライアントはサーバ一覧の件数をチェックし、サーバの件数が０件であるか、あるいは０より多いかを判定する（Ｓ２０７）。すなわち、クライアントは、サーバ一覧中に選択できるサーバが存在するか、否かを判断する。そして、サーバの件数が０より多い場合、つまり、選択することができるサーバがサーバ一覧の中に存在する場合、クライアントは制御をＳ２０２に戻して、再度サーバ一覧の中からランダムに一つのサーバを選択する。
【００４４】
一方、サーバの件数が０の場合には、クライアントは制御をＳ２０８に進めて、「サーバが見つかりませんでした」のメッセージを表示する（Ｓ２０８）。そして、クライアントは、プログラムを異常終了する。
【００４５】
次に、図３を参照にして、アプリケーションサーバ側の処理について説明する。上記クライアント側の処理と同様に、クライアントがアプリケーションプログラムを起動することにより、図３の処理は開始する。
【００４６】
まず、サーバは接続依頼を待ち（Ｓ３０１）、クライアントから接続依頼データ（依頼元クライアントのＩＰアドレス）を受信した場合は制御をＳ３０２に進める。　そして、サーバは、現在自サーバに接続しているクライアントの件数を取得する（Ｓ３０２）。
【００４７】
その後、クライアントから接続依頼を受信したサーバは、クライアントからの接続依頼データに、Ｓ３０２で取得した自サーバに接続しているクライアントの件数を追加して、他のサーバへの転送用データを作成する。つまり、転送用データは、「依頼元クライアントのＩＰアドレス」と「接続クライアント数」とを含むこととなる。なお、本実施の形態では、転送用データは、依頼元クライアントの接続クライアント数としたが、これに限定されることなく自サーバの負荷状況を表すような他の情報を含んでいてもよい。
【００４８】
そして、サーバは、Ｓ３０３で作成した転送用データをブロードキャストで他のアプリケーションサーバへ転送する（Ｓ３０４）。なお、本実施の形態では、ブロードキャストで転送を行うが、マルチキャスト等の他の方式で転送してもよい。
【００４９】
クライアントから接続依頼を受信したサーバは、Ｓ３０４で他のサーバへ転送した０．５秒後に接続依頼を行ったクライアントに対して接続許可応答データを送信する（Ｓ３０５）。この接続許可応答データには、「自サーバのＩＰアドレス」が含まれる。
【００５０】
なお、本実施の形態では、接続許可応答データの送信時間を０．５秒後としたが、必ずしも０．５秒に限定する必要はなく、クライアントが待つ送信経過時間（図２のＳ２０４の待ち時間５秒）より短い範囲で、適宜に定めることができる。また、接続許可応答データには「自サーバのＩＰアドレス」が含まれるとしたが、その他の情報を含んでもよい。例えば、ＩＰアドレスに代えて、ネットワーク上のＩＰ以外のアドレス、ノード名やＵＲＬ（Ｕｎｉｆｏｒｍ　Ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｉｏｎ）を含んでもよい。
【００５１】
一方、サーバがＳ３０１でクライアントからではなく、他のサーバから転送された接続依頼を受信した場合には制御をＳ３０６に進める。そして、サーバは、現在自サーバに接続しているクライアントの件数を取得する（Ｓ３０６）。
【００５２】
そして、サーバは、Ｓ３０６で取得したクライアント件数と転送データに含まれるクライアント件数とを比較する（Ｓ３０７）。
【００５３】
比較の結果、サーバが自サーバに接続しているクライアントの件数が多いと判断した場合、クライアントへ接続許可は送信せずに、制御を開始状態に戻して接続依頼を待つ（Ｓ３０１）。
【００５４】
一方、サーバがＳ３０７で自サーバに接続されているクライアント件数が少ないと判断した場合、すなわち転送を受けたサーバが、自サーバに接続しているクライアント件数よりも転送されてきたデータのクライアント件数の方が多いと判断した場合には、制御をＳ３０８に進める。そして、サーバは、転送されてきたデータに含まれる接続依頼を行ったクライアントに対して、接続許可メッセージを送信する（Ｓ３０８）。その後、サーバは制御を開始状態に戻して接続依頼を待つ（Ｓ３０１）。
従って、初めにクライアントから接続依頼を受信したサーバが複数台のアプリケーションサーバの中で最も負荷が低ければ、すなわち、他のいずれのサーバもクライアントへ接続許可を転送しなければ、初めにクライアントから依頼を受けたサーバが、また接続依頼の転送を受けたいずれかのサーバが最も負荷が低ければ、そのサーバが、最も早くクライアントへ接続許可を送信することができることになる。
〈実施の形態の効果〉
上述のように本実施の形態における負荷分散システムによれば、ロードバランサが特定の機器に依存しないため、より効率的に負荷を分散する。そのため、負荷分散システムの稼働率がアップすることができる。
【００５５】
また、本負荷分散システムにおいては各サーバが転送データに含まれる負荷と自己の負荷とをそれぞれ比較するため、システムが各サーバ間の負荷を比較して定期的に負荷状況を採取して管理する必要がない。そのため、ソフトウェアの仕組みが単純化でき、且つシステム全体に与える処理負荷も少なくすることができる。
【００５６】
更に、ネットワーク上を流れるデータが小さいため、ネットワークにかける負荷も小さくすることができる。
〈コンピュータ読み取り可能な記憶媒体〉
上記実施の形態のいずれかの処理をコンピュータに実行されるプログラムをコンピュータ読み取り可能な記憶媒体に記憶することができる。そして、コンピュータに、この記憶媒体のプログラムを読み込ませて実行させることにより、上記実施の形態に示した負荷分散システムの機能を提供させることができる。
【００５７】
ここで、コンピュータに読み取り可能な記憶媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記憶媒体をいう。このような記憶媒体のうちコンピュータから取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ＤＡＴ、８ｍｍテープ、メモリーカード等がある。
【００５８】
また、コンピュータに固定された記録媒体としてハードディスクやＲＯＭ（リード・オンリー・メモリ）等がある。
【００５９】
なお、上記実施の形態は本発明の範囲をなんら限定するものではなく、当業者が理解できる範囲において適宜、各種の変形の態様があり得る。
〈その他〉
さらに、本実施の形態は以下の発明を開示する。
【００６０】
（付記１）　クライアント端末と複数のサーバとから構成されるシステムにおいて、該複数のサーバのうちの第一のサーバで実行される負荷分散方法であって、
前記クライアント端末からの接続依頼を受信するステップと、
前記接続依頼を送信してきたクライアント端末に関する情報と自己の負荷に関する情報とを含む転送情報を、前記複数のサーバのうちの、第二のサーバへ転送するステップと、
前記第二のサーバへ前記転送情報を転送してから、所定時間経過後に、前記クライアント端末へ応答を送信するステップと
を備えたことを特徴とする負荷分散方法。
【００６１】
（付記２）　クライアント端末と複数のサーバとから構成されるシステムにおいて、該複数のサーバのうちの第二のサーバで実行される負荷分散方法であって、
前記複数のサーバのうちの第一のサーバから転送された、前記クライアント端末に関する情報と該第一のサーバの負荷に関する情報とを含む転送情報を受信するステップと、
前記受信した第一のサーバの負荷に関する情報と、自己の負荷に関する情報とを比較するステップと、
前記比較の結果、前記第一のサーバよりも前記自己の負荷に関する情報の方が低いと判断した場合に、前記受信したクライアント端末に関する情報から特定される前記クライアント端末へ接続許可を送信するステップと
を備えたことを特徴とする負荷分散方法。
【００６２】
（付記３）　クライアント端末と複数のサーバとから構成される負荷分散システムであって、
前記クライアント端末からの接続依頼を受信する第一の受信部と、
自己の負荷に関する情報および前記クライアント端末に関する情報を含む転送情報を他のサーバへ転送する転送部と、
所定時間経過後に、前記クライアント端末へ応答を返信する第一の応答部と、他のサーバから転送された他のサーバの負荷に関する情報およびクライアント端末に関する情報を含む転送情報を受信する第二の受信部と、
前記他のサーバの負荷に関する情報と自己の負荷に関する情報とを比較し、どちらの負荷情報が低いかを判定する判定部と、
前記他のサーバの負荷に関する情報より、前記自己の負荷に関する情報が低いと判定した場合に、前記クライアント端末へ接続許可を返信する第二の応答部とを備えたことを特徴とする負荷分散システム。
【００６３】
（付記４）　コンピュータに、クライアント端末からの接続依頼を受信するステップと、
前記接続依頼を送信してきたクライアント端末に関する情報と自己の負荷に関する情報とを含む転送情報を、複数のサーバのうちの第二のサーバへ転送するステップと、
前記第二のサーバへ前記転送情報を転送してから、所定時間経過後に、前記クライアント端末へ応答を送信するステップと
を実行させるプログラム。
【００６４】
（付記５）　コンピュータに、複数のサーバのうちの第一のサーバから転送された、クライアント端末に関する情報と該第一のサーバの負荷に関する情報とを含む転送情報を受信するステップと、
前記受信した第一のサーバの負荷に関する情報と、自己の負荷に関する情報とを比較するステップと、
前記比較の結果、前記第一のサーバよりも前記自己の負荷に関する情報の方が低いと判断した場合に、前記受信したクライアント端末に関する情報から特定される前記クライアント端末へ接続許可を送信するステップと
を実行させるプログラム。
【００６５】
（付記６）　ネットワーク上のクライアント端末と接続するサーバであって、
クライアント端末からの接続依頼を受信する受信部と、
前記接続依頼を送信してきたクライアント端末に関する情報と自己の負荷に関する情報とを含む転送情報を、ネットワーク上の他のサーバへ転送する転送部と、
前記他のサーバへ前記転送情報を転送してから、所定時間経過後に、前記クライアント端末へ応答を送信する送信部と
を備えたことを特徴とするサーバ。
【００６６】
（付記７）　ネットワーク上のクライアント端末と接続するサーバであって、前記ネットワーク上の他のサーバから転送された、クライアント端末に関する情報と前記他のサーバの負荷に関する情報とを含む転送情報を受信する受信部と、
前記受信した他のサーバの負荷に関する情報と、自己の負荷に関する情報とを比較する比較部と、
前記比較の結果、前記他のサーバの負荷に関する情報よりも、前記自己の負荷に関する情報の方が低いと判断した場合に、前記受信したクライアント端末に関する情報から特定される前記クライアント端末へ接続許可を送信する送信部と
を備えたことを特徴とするサーバ。
【００６７】
（付記８）　クライアント端末と複数のサーバとから構成されるシステムにおいて実行される負荷分散方法であって、
前記クライアント端末からの接続依頼を第一のサーバが受信するステップと、前記第一のサーバが、自己の負荷に関する情報およびクライアント端末に関する情報を含む転送情報を第二のサーバへ転送するステップと、
前記第一のサーバが、所定時間経過後に、クライアント端末へ応答を返信するステップと、
前記第一のサーバから転送された第一のサーバの前記負荷に関する情報および前記クライアント端末に関する情報を含む前記転送情報を第二のサーバが受信するステップと、
前記第二のサーバが、前記第一のサーバの負荷に関する情報と自己の負荷に関する情報とを比較し、どちらの負荷情報が低いかを判定するステップと、
前記第二のサーバが、前記第一のサーバの負荷に関する情報より前記自己の負荷に関する情報が低いと判定した場合に、前記クライアント端末へ接続許可を返信するステップとを備え、
前記クライアント端末に関する情報は、クラアント端末のアドレスである負荷分散方法。
【００６８】
【発明の効果】以上で説明したように、本発明は、独立したハードウェアを導入する必要がなく、また既存のサーバへの導入や既存のソフトウェアへの組み込みが容易で安価なロードバランスシステムを提供することができる。
【図面の簡単な説明】
【図１】本発明に係る負荷分散システム構成図
【図２】クライアント側処理のフローチャート
【図３】サーバ側処理のフローチャート
【図１】
2004046442.tif 000003
【図２】
2004046442.tif 000004
【図３】
2004046442.tif 000005