JP4046562B2 - Load balancing method - Google Patents

Load balancing method Download PDF

Info

Publication number
JP4046562B2
JP4046562B2 JP2002201681A JP2002201681A JP4046562B2 JP 4046562 B2 JP4046562 B2 JP 4046562B2 JP 2002201681 A JP2002201681 A JP 2002201681A JP 2002201681 A JP2002201681 A JP 2002201681A JP 4046562 B2 JP4046562 B2 JP 4046562B2
Authority
JP
Japan
Prior art keywords
load
server
information
client terminal
transfer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002201681A
Other languages
Japanese (ja)
Other versions
JP2004046442A (en
Inventor
一成 相田
真一 川上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002201681A priority Critical patent/JP4046562B2/en
Publication of JP2004046442A publication Critical patent/JP2004046442A/en
Application granted granted Critical
Publication of JP4046562B2 publication Critical patent/JP4046562B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワークのサーバで実施される負荷分散システムに関する。
【0002】
【従来の技術】
近年、コンピュータによる情報処理技術と、ネットワークによる通信技術の発達により、さまざまな情報を簡易に入手、あるいは発信することができるようになってきた。また、遠隔的に配置された各種コンピュータを利用し、さまざまな情報処理を実行できるようになった。
【0003】
例えば、インターネット上のウェブサイトにアクセスし、必要なときに所望の情報を入手できるようになった。また、利用者が個々にパーソナルコンピュータを使用しつつ、LAN(Local Area Network)を介して高性能サーバを利用する場合も多い。例えば集中管理されたデータベースやオンラインシステムにアクセスする場合である。また、サーバに負荷の重い技術計算を実行させ、その結果をパーソナルコンピュータ上で得るような場合もある。
【0004】
このように、上記通信技術が発達し、便利になった反面で、利用者からのアクセスの集中による弊害も発生している。このような弊害の一つに処理負荷が特定のサーバに集中して、サービス全体のレスポンスを著しく低下させるという問題がある。
【0005】
特定のサーバへの処理負荷の集中を抑制するため、各サーバへ処理を割り振る技術としてロードバランスシステムが提案されている。
【0006】
しかし、従来のロードバランスシステムすなわち負荷分散システムにおいて、ロードバランサが特定の機器に依存するため、システムの稼働率がダウンすることがある。また、定期的に負荷状況を採取して管理するため、ソフトウェアの仕組みが複雑になり、且つシステム全体に与える処理負荷が増大しやすい。更に、ネットワーク上を流れるデータが大きいときには、ネットワークにかける負荷も増大しやすい。
【0007】
このような問題を解決するための負荷分散システムの一つとして、ロードバランサが特定の機器に依存しないよう複数のネットワークサーバで実施されるピアツーピアのロードバランシングシステムが、特表2002-510077号公報に開示されている。
【0008】
この負荷分散システムでは、クライアントからの要求を受信したサーバの負荷が第1の予め決められたレベル以下であるとき、または、その負荷が第1の予め決められたレベルより大きいが、そのサーバの負荷が第2の予め決められたレベルより小さいとき、サーバは受信した要求を直接処理する。そして、その他の場合、サーバは受信した要求をそれらピアの1つに転送する。
【0009】
そうすることにより、一つのサーバの負荷が増大し、その他のサーバが比較的低負荷となること、すなわち特定のサーバへの負荷が集中することを抑制している。
【0010】
しかしながら、このような負荷分散システムでは、サーバで処理中の負荷が予め定められたレベルを越えているかどうかを決定する手段を有する。そのため、所定のレベルをどのようにして定めるかが問題となる。また、サーバ全体としての負荷が所定のレベルを越えた場合には、どのサーバも処理を行わないという問題が生じる。さらに、負荷状況が所定のレベルに達するまでは、特定のサーバに処理が集中するという問題が生じる虞がある。
【0011】
【発明が解決しようとする課題】
本発明は、このような従来技術の問題に鑑みてなされたものである。すなわち、本発明が解決しようとする課題は、独立したハードウェアを導入する必要がなく、また既存のサーバへの導入や既存のソフトウェアへの組み込みが容易で安価な負荷分散システムを提供することである。
【0012】
【課題を解決するための手段】
本発明は、上記課題を解決するために以下の手段を採用した。
【0013】
本発明に係るサーバ装置は、クライアント端末と複数のサーバ装置とから構成されるシステムに適用され、前記複数のサーバ装置の各々のサーバ装置が、前記クライアント端末からの接続依頼を受信する受信部と、自己の負荷に関する情報および前記クライアント端末に関する情報を含む転送情報を前記システムを構成する他のサーバ装置へ転送する転送部と、前記転送部による転送から所定時間経過後に、前記クライアント端末へ前記接続依頼に対する接続許可応答を返信する応答部と、前記受信部を通じて前記システムを構成する前記他のサーバ装置から転送された他のサーバ装置の負荷に関する情報および前記接続依頼を発信したクライアント端末に関する情報を含む転送情報を受信し、当該受信した転送情報に含まれる前記他のサーバ装置の負荷に関する情報と自己の負荷に関する情報とを比較し、どちらの負荷情報が低いかを判定する判定部とを備え、前記判定部が、前記他のサーバ装置の負荷に関する情報より、前記自己の負荷に関する情報が低いと判定した場合に、前記応答部は前記クライアント端末へ前記接続依頼に対する接続許可応答を返信することを特徴とする。
【0014】
このような構成にすると、クライアント端末からの接続依頼を受信したサーバは、自己の負荷に関する情報を他のサーバへ転送するだけなので、本発明を実現するための仕組みが簡単である。また、ハードやOSに依存せずに実装することができる。
ここで、負荷に関する情報はCPU負荷、メモリ使用率、あるいはI/Oの負荷等であってもよい。また、負荷に関する情報は、現在ネットワーク上で、サーバに接続している処理端末の数であってもよい。
【0015】
また、負荷情報を容易に取得できるため、ソフトウェアの仕組みを単純化することができる。また、負荷情報を含む転送情報のデータが小さくて済むため、ネットワークにかける負荷も小さくすることができる。
【0016】
また、クライアント端末に関する情報は、クラアント端末のアドレスを含むものであってもよい。このように構成すると、バランス機能を実現するためにネットワーク上を流れるデータが小さくて済むため、上記と同様にネットワークにかける負荷も小さくすることができる。
【0018】
また、バランス対象となる各サーバ自体にロードバランス機能を持たせるため、ロードバランス機能の冗長化を実現できる。そのため、全サーバの負荷状況を一元管理する必要がない。
【0020】
また、ソフトウェアのみで実現可能なので、ロードバランス機能を独立した機器に載せる必要がない。
【0021】
また、本発明はコンピュータに以上のいずれかの機能を実現させるプログラムであってもよい。また、本発明は、そのようなプログラムを読み取り可能な記憶媒体に記憶したものであってもよい。
【0022】
【発明の実施の形態】
以下に本発明の好適な実施の形態を図1から図3の図面に基づいて説明する。図1は、本実施の形態に係る負荷分散システムの構成図であり、図2はクライアント側処理のフローチャートであり、図3はサーバ側処理のフローチャートである。
【0023】
まず、図1を参照にして、本実施の形態に係る負荷分散システムを説明する。〈システム構成〉
図1に本実施の形態に係る負荷分散システムの構成図を示す。
【0024】
この負荷分散システムは、ネットワークで接続されたコンピュータであるクラアント端末と、コンピュータであるアプリケーションサーバ群(apserve01〜03)からなり、クラアントにサーバでの処理やコンテンツなどさまざまなサービスを提供する。
【0025】
ここで各サーバが提供するサービスとは、データベース管理機能、オンライン処理機能、あるいは技術計算機能等である。
【0026】
このクライアント端末は、クライアントプログラムを含んでおり、アプリケーションサーバ群とは別のサーバコンピュータがコンテンツとして提供するシステムトップページ、およびアプリケーションサーバ群に接続する。そして、クライアントがアクセス可能なシステムトップページは、サービスを提供することができるアプリケーションサーバ群のアドレス一覧を含む。
【0027】
本実施の形態では、アプリケーションサーバ群はapserve01、02、及び03の3台である。ただし、アプリケーションサーバ群はこの台数に限るものではない。そして、各サーバはクライアントへのサービス提供の際に、システムの負荷を分散させる機能をそれぞれ備える。また、本実施の形態では、各サーバの負荷は、サーバへのユーザ接続数を基に判断する。例えば、図1の各サーバ(apserve01〜03)に丸く示された数字が現在の各サーバへのユーザ接続数である。各サーバへのユーザ接続数は、それぞれ5、6、及び2である。
【0028】
このような負荷分散システムにおけるアプリケーションサーバおよびクライアント端末は、いずれもCPU、メモリ、ハードディスク、通信基板等を備えるネットワークにアクセス可能なコンピュータである。このようなコンピュータのハードウェアの構成および作用は広く知られているので、その説明は省略する。
〈作用〉
図1を参照にして、本実施の形態に係る負荷分散システムの処理フローを説明する。
【0029】
まず、クライアント端末のクライアントプログラムは、アプリケーションサーバとは異なるサーバコンピュータにアクセスし、該サーバコンピュータが提供するシステムトップページにあるアプリケーションサーバ一覧を読み込む(S101)。ここで、アプリケーションサーバ一覧とは、クライアントが処理を依頼することができるサーバ群である。
【0030】
そして、クライアントプログラムは、一覧の中に記載されているサーバの一つをランダムに選択して、接続依頼を送信する(S102)。本実施の形態では、接続依頼データはクライアントのIPアドレス(192.163.1.10)であるが、その他の情報を含んでいてもよい。
【0031】
次に、接続依頼を受信したサーバは、受信したクライアントのIPアドレスに現在の自サーバへのユーザ接続数を付加して、他のサーバに対して接続依頼を転送する(S103)。すなわち、接続依頼を受けたapserver01は、接続依頼データに現在接続しているユーザ接続数5を付加して転送用データ(192.163.1.10/5)を作成する。そして、apserver01は、クライアントからの接続依頼を転送用データとして、apserver02およびapserver03にブロードキャスト方式で転送する。本実施の形態では、ブロードキャスト方式で転送を行うが、マルチキャスト方式等、その他の方式で転送してもよい。
【0032】
一方、接続依頼の転送を受け付けたサーバは、現在の自サーバのユーザ接続数が転送されてきたユーザ接続数よりも少ない場合には、クライアントに対して接続許可メッセージを送信する(S104)。すなわち、apserver01から転送用データを受け取ったapserver03は、ユーザ接続数は2であり、転送用データに含まれるユーザ接続数5より少ない。このような場合には、apserver03は、クライアントに対して、処理をすることができるとして接続許可を送信する。また、転送されてきたユーザ接続数よりも、自サーバのユーザ接続数の方が多い場合は転送を受け付けたサーバ、例えばapserver02、は何もしない。
【0033】
また、S102でクライアントから接続依頼を受信したサーバが、最も負荷が低い場合には、他のサーバが接続許可を送信することはない。そのため、クライアントから接続依頼を受信したサーバがそのまま接続する。
【0034】
つまり、転送用データを受信した各サーバは、現在のユーザ接続数が転送されたユーザ接続数よりも少ない場合に限って、クライアントに対して接続許可メッセージを送信するため、接続依頼を受信したサーバが最も負荷が低い場合には、接続依頼を受信したサーバがそのまま接続する。
【0035】
一方、いずれかのアプリケーションサーバから接続許可メッセージを受信したクライアントプログラムは、最も早く接続許可を送信してきたサーバに対して接続を行う(S105)。
【0036】
また、クライアントプログラムは接続依頼を送信した後であって、5秒経過後、いずれのサーバからも応答が得られない場合には、サーバ一覧から初めに接続依頼を送信したのとは別のサーバを選択して、S102と同様な接続依頼を再度行う(S106)。なお、本実施の形態では、送信後の経過時間を5秒としたが、必ずしも5秒に限定する必要はなく、適宜に定めることができる。
【0037】
次に、クライアント側の処理とサーバ側の処理とを図2及び図3に基づいて説明する。まず、図2を参照にして、クライアント側の処理について説明する。クライアントがアプリケーションプログラムを起動することにより、図2の処理は開始する。
【0038】
まず、クライアントは、システムトップページとして提案される情報を参照してサーバ一覧を読み込む(S201)。そして、クライアントは、読み込んだサーバ一覧の中から一つのサーバをランダムに選択する(S202)。
【0039】
それから、クライアントは、選択したサーバに対して接続依頼を行う(S203)。本実施の形態では、この接続依頼のデータには、依頼元クライアントのIPアドレスが含まれる。ただし、接続依頼データはこれに限定されることなく、他の情報を含んでいてもよい。例えば、IPアドレスに代えて、ネットワーク上のIP以外のアドレス、ノード名やURL(Uniform Resource Location)を含んでもよい。
【0040】
クライアントは、サーバからの応答を5秒間待ち、いずれかのサーバから応答があるか、否かを判断する(S204)。なお、本実施の形態では、応答の待ち時間を5秒間としたが、必ずしも5秒間に限定する必要はなく、適宜に定めることができる。
【0041】
S203で接続依頼を送信した後、いずれかのサーバから応答があった場合、すなわちクライアントがサーバからの接続許可メッセージを受信した場合には、制御をS205に進める。そして、クライアントは応答があったサーバに対して接続を行う(S205)。サーバでの処理完了後、クライアントはプログラムを正常終了する。
【0042】
一方、S204で5秒以内にサーバから応答がなかった場合、すなわち、クライアントがいずれのサーバからも接続許可メッセージを受信しなかった場合には、S202でランダムに選択したサーバがダウンしているとみなして、制御をS206に進める。そして、クライアントは、サーバ一覧の中から現在ランダムに選択したサーバを削除する(S206)。
【0043】
その後、クライアントはサーバ一覧の件数をチェックし、サーバの件数が0件であるか、あるいは0より多いかを判定する(S207)。すなわち、クライアントは、サーバ一覧中に選択できるサーバが存在するか、否かを判断する。そして、サーバの件数が0より多い場合、つまり、選択することができるサーバがサーバ一覧の中に存在する場合、クライアントは制御をS202に戻して、再度サーバ一覧の中からランダムに一つのサーバを選択する。
【0044】
一方、サーバの件数が0の場合には、クライアントは制御をS208に進めて、「サーバが見つかりませんでした」のメッセージを表示する(S208)。そして、クライアントは、プログラムを異常終了する。
【0045】
次に、図3を参照にして、アプリケーションサーバ側の処理について説明する。上記クライアント側の処理と同様に、クライアントがアプリケーションプログラムを起動することにより、図3の処理は開始する。
【0046】
まず、サーバは接続依頼を待ち(S301)、クライアントから接続依頼データ(依頼元クライアントのIPアドレス)を受信した場合は制御をS302に進める。 そして、サーバは、現在自サーバに接続しているクライアントの件数を取得する(S302)。
【0047】
その後、クライアントから接続依頼を受信したサーバは、クライアントからの接続依頼データに、S302で取得した自サーバに接続しているクライアントの件数を追加して、他のサーバへの転送用データを作成する。つまり、転送用データは、「依頼元クライアントのIPアドレス」と「接続クライアント数」とを含むこととなる。なお、本実施の形態では、転送用データは、依頼元クライアントの接続クライアント数としたが、これに限定されることなく自サーバの負荷状況を表すような他の情報を含んでいてもよい。
【0048】
そして、サーバは、S303で作成した転送用データをブロードキャストで他のアプリケーションサーバへ転送する(S304)。なお、本実施の形態では、ブロードキャストで転送を行うが、マルチキャスト等の他の方式で転送してもよい。
【0049】
クライアントから接続依頼を受信したサーバは、S304で他のサーバへ転送した0.5秒後に接続依頼を行ったクライアントに対して接続許可応答データを送信する(S305)。この接続許可応答データには、「自サーバのIPアドレス」が含まれる。
【0050】
なお、本実施の形態では、接続許可応答データの送信時間を0.5秒後としたが、必ずしも0.5秒に限定する必要はなく、クライアントが待つ送信経過時間(図2のS204の待ち時間5秒)より短い範囲で、適宜に定めることができる。また、接続許可応答データには「自サーバのIPアドレス」が含まれるとしたが、その他の情報を含んでもよい。例えば、IPアドレスに代えて、ネットワーク上のIP以外のアドレス、ノード名やURL(Uniform Resource Location)を含んでもよい。
【0051】
一方、サーバがS301でクライアントからではなく、他のサーバから転送された接続依頼を受信した場合には制御をS306に進める。そして、サーバは、現在自サーバに接続しているクライアントの件数を取得する(S306)。
【0052】
そして、サーバは、S306で取得したクライアント件数と転送データに含まれるクライアント件数とを比較する(S307)。
【0053】
比較の結果、サーバが自サーバに接続しているクライアントの件数が多いと判断した場合、クライアントへ接続許可は送信せずに、制御を開始状態に戻して接続依頼を待つ(S301)。
【0054】
一方、サーバがS307で自サーバに接続されているクライアント件数が少ないと判断した場合、すなわち転送を受けたサーバが、自サーバに接続しているクライアント件数よりも転送されてきたデータのクライアント件数の方が多いと判断した場合には、制御をS308に進める。そして、サーバは、転送されてきたデータに含まれる接続依頼を行ったクライアントに対して、接続許可メッセージを送信する(S308)。その後、サーバは制御を開始状態に戻して接続依頼を待つ(S301)。
従って、初めにクライアントから接続依頼を受信したサーバが複数台のアプリケーションサーバの中で最も負荷が低ければ、すなわち、他のいずれのサーバもクライアントへ接続許可を転送しなければ、初めにクライアントから依頼を受けたサーバが、また接続依頼の転送を受けたいずれかのサーバが最も負荷が低ければ、そのサーバが、最も早くクライアントへ接続許可を送信することができることになる。
〈実施の形態の効果〉
上述のように本実施の形態における負荷分散システムによれば、ロードバランサが特定の機器に依存しないため、より効率的に負荷を分散する。そのため、負荷分散システムの稼働率がアップすることができる。
【0055】
また、本負荷分散システムにおいては各サーバが転送データに含まれる負荷と自己の負荷とをそれぞれ比較するため、システムが各サーバ間の負荷を比較して定期的に負荷状況を採取して管理する必要がない。そのため、ソフトウェアの仕組みが単純化でき、且つシステム全体に与える処理負荷も少なくすることができる。
【0056】
更に、ネットワーク上を流れるデータが小さいため、ネットワークにかける負荷も小さくすることができる。
〈コンピュータ読み取り可能な記憶媒体〉
上記実施の形態のいずれかの処理をコンピュータに実行されるプログラムをコンピュータ読み取り可能な記憶媒体に記憶することができる。そして、コンピュータに、この記憶媒体のプログラムを読み込ませて実行させることにより、上記実施の形態に示した負荷分散システムの機能を提供させることができる。
【0057】
ここで、コンピュータに読み取り可能な記憶媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記憶媒体をいう。このような記憶媒体のうちコンピュータから取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、8mmテープ、メモリーカード等がある。
【0058】
また、コンピュータに固定された記録媒体としてハードディスクやROM(リード・オンリー・メモリ)等がある。
【0059】
なお、上記実施の形態は本発明の範囲をなんら限定するものではなく、当業者が理解できる範囲において適宜、各種の変形の態様があり得る。
〈その他〉
さらに、本実施の形態は以下の発明を開示する。
【0060】
(付記1) クライアント端末と複数のサーバとから構成されるシステムにおいて、該複数のサーバのうちの第一のサーバで実行される負荷分散方法であって、
前記クライアント端末からの接続依頼を受信するステップと、
前記接続依頼を送信してきたクライアント端末に関する情報と自己の負荷に関する情報とを含む転送情報を、前記複数のサーバのうちの、第二のサーバへ転送するステップと、
前記第二のサーバへ前記転送情報を転送してから、所定時間経過後に、前記クライアント端末へ応答を送信するステップと
を備えたことを特徴とする負荷分散方法。
【0061】
(付記2) クライアント端末と複数のサーバとから構成されるシステムにおいて、該複数のサーバのうちの第二のサーバで実行される負荷分散方法であって、
前記複数のサーバのうちの第一のサーバから転送された、前記クライアント端末に関する情報と該第一のサーバの負荷に関する情報とを含む転送情報を受信するステップと、
前記受信した第一のサーバの負荷に関する情報と、自己の負荷に関する情報とを比較するステップと、
前記比較の結果、前記第一のサーバよりも前記自己の負荷に関する情報の方が低いと判断した場合に、前記受信したクライアント端末に関する情報から特定される前記クライアント端末へ接続許可を送信するステップと
を備えたことを特徴とする負荷分散方法。
【0062】
(付記3) クライアント端末と複数のサーバとから構成される負荷分散システムであって、
前記クライアント端末からの接続依頼を受信する第一の受信部と、
自己の負荷に関する情報および前記クライアント端末に関する情報を含む転送情報を他のサーバへ転送する転送部と、
所定時間経過後に、前記クライアント端末へ応答を返信する第一の応答部と、
他のサーバから転送された他のサーバの負荷に関する情報およびクライアント端末に関する情報を含む転送情報を受信する第二の受信部と、
前記他のサーバの負荷に関する情報と自己の負荷に関する情報とを比較し、どちらの負荷情報が低いかを判定する判定部と、
前記他のサーバの負荷に関する情報より、前記自己の負荷に関する情報が低いと判定した場合に、前記クライアント端末へ接続許可を返信する第二の応答部とを備えたことを特徴とする負荷分散システム。
【0063】
(付記4) コンピュータに、クライアント端末からの接続依頼を受信するステップと、
前記接続依頼を送信してきたクライアント端末に関する情報と自己の負荷に関する情報とを含む転送情報を、複数のサーバのうちの第二のサーバへ転送するステップと、
前記第二のサーバへ前記転送情報を転送してから、所定時間経過後に、前記クライアント端末へ応答を送信するステップと
を実行させるプログラム。
【0064】
(付記5) コンピュータに、複数のサーバのうちの第一のサーバから転送された、クライアント端末に関する情報と該第一のサーバの負荷に関する情報とを含む転送情報を受信するステップと、
前記受信した第一のサーバの負荷に関する情報と、自己の負荷に関する情報とを比較するステップと、
前記比較の結果、前記第一のサーバよりも前記自己の負荷に関する情報の方が低いと判断した場合に、前記受信したクライアント端末に関する情報から特定される前記クライアント端末へ接続許可を送信するステップと
を実行させるプログラム。
【0065】
(付記6) ネットワーク上のクライアント端末と接続するサーバであって、
クライアント端末からの接続依頼を受信する受信部と、
前記接続依頼を送信してきたクライアント端末に関する情報と自己の負荷に関する情報とを含む転送情報を、ネットワーク上の他のサーバへ転送する転送部と、
前記他のサーバへ前記転送情報を転送してから、所定時間経過後に、前記クライアント端末へ応答を送信する送信部と
を備えたことを特徴とするサーバ。
【0066】
(付記7) ネットワーク上のクライアント端末と接続するサーバであって、
前記ネットワーク上の他のサーバから転送された、クライアント端末に関する情報と前記他のサーバの負荷に関する情報とを含む転送情報を受信する受信部と、
前記受信した他のサーバの負荷に関する情報と、自己の負荷に関する情報とを比較する比較部と、
前記比較の結果、前記他のサーバの負荷に関する情報よりも、前記自己の負荷に関する情報の方が低いと判断した場合に、前記受信したクライアント端末に関する情報から特定される前記クライアント端末へ接続許可を送信する送信部と
を備えたことを特徴とするサーバ。
【0067】
(付記8) クライアント端末と複数のサーバとから構成されるシステムにおいて実行される負荷分散方法であって、
前記クライアント端末からの接続依頼を第一のサーバが受信するステップと、
前記第一のサーバが、自己の負荷に関する情報およびクライアント端末に関する情報を含む転送情報を第二のサーバへ転送するステップと、
前記第一のサーバが、所定時間経過後に、クライアント端末へ応答を返信するステップと、
前記第一のサーバから転送された第一のサーバの前記負荷に関する情報および前記クライアント端末に関する情報を含む前記転送情報を第二のサーバが受信するステップと、
前記第二のサーバが、前記第一のサーバの負荷に関する情報と自己の負荷に関する情報とを比較し、どちらの負荷情報が低いかを判定するステップと、
前記第二のサーバが、前記第一のサーバの負荷に関する情報より前記自己の負荷に関する情報が低いと判定した場合に、前記クライアント端末へ接続許可を返信するステップとを備え、
前記クライアント端末に関する情報は、クラアント端末のアドレスである負荷分散方法。
【0068】
【発明の効果】
以上で説明したように、本発明は、独立したハードウェアを導入する必要がなく、また既存のサーバへの導入や既存のソフトウェアへの組み込みが容易で安価なロードバランスシステムを提供することができる。
【図面の簡単な説明】
【図1】本発明に係る負荷分散システム構成図
【図2】クライアント側処理のフローチャート
【図3】サーバ側処理のフローチャート
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a load distribution system implemented in a server of a network.
[0002]
[Prior art]
In recent years, with the development of information processing technology using computers and communication technology using networks, various information can be easily obtained or transmitted. In addition, various information processing can be executed by using various computers remotely located.
[0003]
For example, it has become possible to access websites on the Internet and obtain desired information when necessary. In many cases, a user uses a high-performance server via a LAN (Local Area Network) while individually using a personal computer. For example, when accessing a centrally managed database or online system. In some cases, the server performs a heavy technical calculation and obtains the result on a personal computer.
[0004]
As described above, the communication technology has been developed and is convenient, but there is also a problem caused by concentration of access from users. One such problem is that the processing load is concentrated on a specific server and the response of the entire service is significantly reduced.
[0005]
In order to suppress the concentration of processing load on a specific server, a load balance system has been proposed as a technique for allocating processing to each server.
[0006]
However, in a conventional load balance system, that is, a load distribution system, the load balancer depends on a specific device, so that the operation rate of the system may be lowered. Further, since the load status is periodically collected and managed, the software mechanism becomes complicated and the processing load applied to the entire system tends to increase. Furthermore, when the data flowing on the network is large, the load on the network is likely to increase.
[0007]
As one of the load balancing systems for solving such problems, a peer-to-peer load balancing system implemented by a plurality of network servers so that the load balancer does not depend on a specific device is disclosed in JP-T-2002-510077. It is disclosed.
[0008]
In this load distribution system, when the load of the server that receives the request from the client is equal to or lower than the first predetermined level, or the load is larger than the first predetermined level, When the load is less than the second predetermined level, the server processes the received request directly. And in other cases, the server forwards the received request to one of those peers.
[0009]
By doing so, the load on one server is increased, and the other servers are prevented from having a relatively low load, that is, the load on a specific server is prevented from being concentrated.
[0010]
However, such a load distribution system has means for determining whether or not the load being processed by the server exceeds a predetermined level. Therefore, how to determine a predetermined level becomes a problem. Further, when the load of the entire server exceeds a predetermined level, there arises a problem that no server performs processing. Furthermore, there is a possibility that the processing is concentrated on a specific server until the load state reaches a predetermined level.
[0011]
[Problems to be solved by the invention]
The present invention has been made in view of such problems of the prior art. That is, the problem to be solved by the present invention is to provide an inexpensive load distribution system that does not require the introduction of independent hardware, and that is easy to install into an existing server or into existing software. is there.
[0012]
[Means for Solving the Problems]
The present invention employs the following means in order to solve the above problems.
[0013]
The server device according to the present invention is applied to a system including a client terminal and a plurality of server devices, and each server device of the plurality of server devices receives a connection request from the client terminal. Receiving A transfer unit that transfers transfer information including information about its own load and information about the client terminal to another server device constituting the system, and the client terminal after a predetermined time has passed since the transfer by the transfer unit Returns a connection permission response to the connection request to Ruo Answer part, Through the receiver Transfer information including information on the load of the other server device transferred from the other server device constituting the system and information on the client terminal that has transmitted the connection request is received. And the concerned A determination unit that compares the information about the load of the other server device included in the received transfer information with the information about its own load, and determines which load information is lower; With When the determination unit determines that the information about the load of the self is lower than the information about the load of the other server device, The response unit is Returns a connection permission response to the connection request to the client terminal Ruko And features.
[0014]
With such a configuration, the server that has received the connection request from the client terminal simply forwards information regarding its own load to another server, and thus the mechanism for realizing the present invention is simple. It can also be implemented without depending on hardware or OS.
Here, the information regarding the load may be a CPU load, a memory usage rate, an I / O load, or the like. Further, the information regarding the load may be the number of processing terminals currently connected to the server on the network.
[0015]
Also Since the load information can be easily acquired, the software mechanism can be simplified. Also, since the transfer information data including the load information can be small, the load on the network can be reduced.
[0016]
Further, the information regarding the client terminal may include the address of the client terminal. With this configuration, data flowing on the network can be small in order to realize the balance function, so that the load on the network can be reduced as described above.
[0018]
Also Since each server to be balanced has a load balance function, the load balance function can be made redundant. Therefore, it is not necessary to centrally manage the load status of all servers.
[0020]
Also Since it can be realized only by software, it is not necessary to mount the load balance function on an independent device.
[0021]
Further, the present invention may be a program for causing a computer to realize any one of the above functions. Further, the present invention may store such a program in a readable storage medium.
[0022]
DETAILED DESCRIPTION OF THE INVENTION
A preferred embodiment of the present invention will be described below with reference to FIGS. 1 to 3. FIG. 1 is a configuration diagram of a load distribution system according to the present embodiment, FIG. 2 is a flowchart of client-side processing, and FIG. 3 is a flowchart of server-side processing.
[0023]
First, a load distribution system according to the present embodiment will be described with reference to FIG. <System configuration>
FIG. 1 shows a configuration diagram of a load distribution system according to the present embodiment.
[0024]
This load distribution system includes a client terminal which is a computer connected via a network and an application server group (apserve01 to 03) which are computers, and provides the client with various services such as server processing and content.
[0025]
Here, the service provided by each server is a database management function, an online processing function, a technical calculation function, or the like.
[0026]
The client terminal includes a client program, and connects to a system top page provided as content by a server computer different from the application server group and the application server group. The system top page accessible by the client includes an address list of application servers that can provide the service.
[0027]
In the present embodiment, there are three application server groups, apserve01, 02, and 03. However, the number of application server groups is not limited to this number. Each server has a function of distributing the system load when providing services to clients. In the present embodiment, the load on each server is determined based on the number of user connections to the server. For example, the numbers circled in each server (apserve01 to 03) in FIG. 1 are the current number of user connections to each server. The number of user connections to each server is 5, 6, and 2, respectively.
[0028]
An application server and a client terminal in such a load distribution system are all computers that can access a network including a CPU, a memory, a hard disk, a communication board, and the like. Since the configuration and operation of such computer hardware are widely known, description thereof will be omitted.
<Action>
A processing flow of the load distribution system according to the present embodiment will be described with reference to FIG.
[0029]
First, the client program of the client terminal accesses a server computer different from the application server, and reads the application server list on the system top page provided by the server computer (S101). Here, the application server list is a server group to which a client can request processing.
[0030]
Then, the client program randomly selects one of the servers listed in the list and transmits a connection request (S102). In the present embodiment, the connection request data is the IP address (192.163.1.10) of the client, but may include other information.
[0031]
Next, the server that received the connection request adds the number of user connections to the current server to the IP address of the received client, and forwards the connection request to another server (S103). That is, apserver01 that has received the connection request adds the number of currently connected user connections 5 to the connection request data and creates transfer data (192.163.1.10/5). Then, apserver01 transfers the connection request from the client as transfer data to apserver02 and apserver03 by the broadcast method. In this embodiment, transfer is performed using the broadcast method, but transfer may be performed using other methods such as a multicast method.
[0032]
On the other hand, the server that has received the transfer of the connection request transmits a connection permission message to the client when the number of user connections of the current server is smaller than the transferred number of user connections (S104). That is, apserver03 that has received the transfer data from apserver01 has two user connections, which is smaller than the five user connections included in the transfer data. In such a case, apserver03 transmits a connection permission to the client as processing can be performed. If the number of user connections of the own server is larger than the number of user connections transferred, the server that accepted the transfer, for example apserver02, does nothing.
[0033]
Further, when the server that received the connection request from the client in S102 has the lowest load, the other server does not transmit the connection permission. Therefore, the server that receives the connection request from the client connects as it is.
[0034]
In other words, each server that receives the transfer data transmits a connection permission message to the client only when the current number of user connections is smaller than the number of transferred user connections. When the load is the lowest, the server that received the connection request connects as it is.
[0035]
On the other hand, the client program that has received the connection permission message from any of the application servers connects to the server that has transmitted the connection permission earliest (S105).
[0036]
If the client program does not receive a response from any server after 5 seconds have elapsed after sending the connection request, it is different from the server that sent the connection request first from the server list. Is selected, and a connection request similar to S102 is made again (S106). In the present embodiment, the elapsed time after transmission is set to 5 seconds, but it is not necessarily limited to 5 seconds and can be set as appropriate.
[0037]
Next, the processing on the client side and the processing on the server side will be described with reference to FIGS. First, the processing on the client side will be described with reference to FIG. The processing in FIG. 2 starts when the client starts the application program.
[0038]
First, the client reads a server list with reference to information proposed as a system top page (S201). Then, the client randomly selects one server from the read server list (S202).
[0039]
Then, the client makes a connection request to the selected server (S203). In the present embodiment, the connection request data includes the IP address of the requesting client. However, the connection request data is not limited to this, and may include other information. For example, instead of the IP address, an address other than the IP on the network, a node name, or a URL (Uniform Resource Location) may be included.
[0040]
The client waits for a response from the server for 5 seconds, and determines whether there is a response from any server (S204). In this embodiment, the response waiting time is set to 5 seconds. However, the response waiting time is not necessarily limited to 5 seconds, and can be determined as appropriate.
[0041]
If there is a response from any server after transmitting the connection request in S203, that is, if the client receives a connection permission message from the server, the control proceeds to S205. Then, the client connects to the server that has responded (S205). After completion of processing at the server, the client ends the program normally.
[0042]
On the other hand, if there is no response from the server within 5 seconds in S204, that is, if the client does not receive a connection permission message from any server, the server selected at S202 is down. Assuming that the control proceeds to S206. Then, the client deletes the currently selected server from the server list (S206).
[0043]
Thereafter, the client checks the number of servers in the server list and determines whether the number of servers is 0 or more than 0 (S207). That is, the client determines whether there is a server that can be selected in the server list. If the number of servers is greater than 0, that is, if there are servers that can be selected in the server list, the client returns control to S202, and again randomly selects one server from the server list. select.
[0044]
On the other hand, if the number of servers is 0, the client advances the control to S208 and displays the message “Server not found” (S208). Then, the client ends the program abnormally.
[0045]
Next, processing on the application server side will be described with reference to FIG. Similar to the above-described processing on the client side, the processing in FIG. 3 starts when the client starts the application program.
[0046]
First, the server waits for a connection request (S301). If connection request data (IP address of the requesting client) is received from the client, the control proceeds to S302. Then, the server acquires the number of clients currently connected to the own server (S302).
[0047]
After that, the server that received the connection request from the client adds the number of clients connected to the server acquired in S302 to the connection request data from the client, and creates data for transfer to another server. . That is, the transfer data includes “IP address of requesting client” and “number of connected clients”. In the present embodiment, the transfer data is the number of connected clients of the requesting client, but is not limited to this, and may include other information indicating the load status of the own server.
[0048]
Then, the server broadcasts the transfer data created in S303 to another application server (S304). In this embodiment, transfer is performed by broadcast, but transfer may be performed by other methods such as multicast.
[0049]
The server that has received the connection request from the client transmits connection permission response data to the client that has made the connection request 0.5 seconds after being transferred to another server in S304 (S305). This connection permission response data includes “IP address of own server”.
[0050]
In this embodiment, the transmission time of the connection permission response data is 0.5 seconds later. However, the transmission time is not necessarily limited to 0.5 seconds. The transmission elapsed time that the client waits (the waiting time of S204 in FIG. 2 is 5 seconds). It can be appropriately determined within a shorter range. The connection permission response data includes “IP address of own server”, but may include other information. For example, instead of the IP address, an address other than the IP on the network, a node name, or a URL (Uniform Resource Location) may be included.
[0051]
On the other hand, if the server receives a connection request transferred from another server instead of the client in S301, the control proceeds to S306. Then, the server acquires the number of clients currently connected to its own server (S306).
[0052]
Then, the server compares the number of clients acquired in S306 with the number of clients included in the transfer data (S307).
[0053]
As a result of the comparison, if the server determines that the number of clients connected to its own server is large, it returns control to the start state and waits for a connection request without sending a connection permission to the client (S301).
[0054]
On the other hand, if the server determines in S307 that the number of clients connected to its own server is small, that is, the server that received the transfer is the number of clients of the data that has been transferred more than the number of clients connected to its own server. If it is determined that there are more, the control proceeds to S308. Then, the server transmits a connection permission message to the client that has made a connection request included in the transferred data (S308). Thereafter, the server returns control to the start state and waits for a connection request (S301).
Therefore, if the server receiving the connection request from the client first has the lowest load among the plurality of application servers, that is, if no other server transfers the connection permission to the client, the request from the client is first requested. If the server that received the request and the server that received the transfer of the connection request has the lowest load, the server can transmit the connection permission to the client earliest.
<Effect of the embodiment>
As described above, according to the load distribution system of the present embodiment, the load balancer does not depend on a specific device, and therefore the load is more efficiently distributed. Therefore, the operation rate of the load distribution system can be increased.
[0055]
Also, in this load balancing system, each server compares the load contained in the transferred data with its own load, so the system compares the load between each server and periodically collects and manages the load status There is no need. Therefore, the software mechanism can be simplified and the processing load applied to the entire system can be reduced.
[0056]
Furthermore, since the data flowing on the network is small, the load on the network can be reduced.
<Computer-readable storage medium>
A program to be executed by a computer in any of the above-described embodiments can be stored in a computer-readable storage medium. Then, by causing the computer to read and execute the program of the storage medium, it is possible to provide the function of the load distribution system described in the above embodiment.
[0057]
Here, the computer-readable storage medium refers to a storage medium that stores information such as data and programs by electrical, magnetic, optical, mechanical, or chemical action and can be read from the computer. . Examples of such a storage medium that can be removed from the computer include a flexible disk, a magneto-optical disk, a CD-ROM, a CD-R / W, a DVD, a DAT, an 8 mm tape, and a memory card.
[0058]
Further, there are a hard disk, a ROM (read only memory) and the like as a recording medium fixed to the computer.
[0059]
The above embodiment does not limit the scope of the present invention at all, and various modifications can be appropriately made within the scope that can be understood by those skilled in the art.
<Others>
Furthermore, this embodiment discloses the following invention.
[0060]
(Supplementary Note 1) In a system composed of a client terminal and a plurality of servers, a load distribution method executed by a first server among the plurality of servers,
Receiving a connection request from the client terminal;
Transferring transfer information including information about the client terminal that has transmitted the connection request and information about its own load to a second server of the plurality of servers;
A step of transmitting a response to the client terminal after elapse of a predetermined time after transferring the transfer information to the second server;
A load balancing method comprising:
[0061]
(Additional remark 2) In the system comprised from a client terminal and a some server, It is the load distribution method performed by the 2nd server of this some server,
Receiving transfer information transferred from a first server of the plurality of servers and including information on the client terminal and information on a load on the first server;
Comparing the received information about the load of the first server with information about its own load;
As a result of the comparison, when it is determined that the information about the load is lower than that of the first server, a step of transmitting a connection permission to the client terminal specified from the received information about the client terminal;
A load balancing method comprising:
[0062]
(Supplementary note 3) A load balancing system composed of a client terminal and a plurality of servers,
A first receiving unit for receiving a connection request from the client terminal;
A transfer unit for transferring transfer information including information on its own load and information on the client terminal to another server;
A first response unit that returns a response to the client terminal after a predetermined time has elapsed;
A second receiving unit for receiving transfer information including information on the load on the other server and information on the client terminal transferred from the other server;
A determination unit that compares the information about the load of the other server and the information about its own load, and determines which load information is lower;
A load distribution system comprising: a second response unit that returns a connection permission to the client terminal when it is determined that the information about the load of the server is lower than the information about the load of the other server. .
[0063]
(Supplementary Note 4) A step of receiving a connection request from a client terminal in a computer;
Transferring transfer information including information about the client terminal that has transmitted the connection request and information about its own load to a second server among a plurality of servers;
A step of transmitting a response to the client terminal after elapse of a predetermined time after transferring the transfer information to the second server;
A program that executes
[0064]
(Additional remark 5) The step which receives the transfer information containing the information regarding the load of the said 1st server and the information regarding a client terminal transferred to the computer from the 1st server of several servers,
Comparing the received information about the load of the first server with information about its own load;
As a result of the comparison, when it is determined that the information about the load is lower than that of the first server, a step of transmitting a connection permission to the client terminal specified from the received information about the client terminal;
A program that executes
[0065]
(Appendix 6) A server connected to a client terminal on a network,
A receiver for receiving a connection request from a client terminal;
A transfer unit that transfers information about the client terminal that has transmitted the connection request and information about its own load to another server on the network;
A transmission unit that transmits a response to the client terminal after a predetermined time has elapsed since the transfer information was transferred to the other server;
A server characterized by comprising:
[0066]
(Appendix 7) A server connected to a client terminal on a network,
A receiving unit for receiving transfer information transferred from another server on the network and including information on a client terminal and information on a load on the other server;
A comparison unit that compares the received information on the load of the other server with information on the load of the server;
As a result of the comparison, when it is determined that the information about the load of the self is lower than the information about the load of the other server, the connection permission to the client terminal specified from the information about the received client terminal is permitted. With the transmitter to send
A server characterized by comprising:
[0067]
(Supplementary Note 8) A load balancing method executed in a system including a client terminal and a plurality of servers,
A first server receiving a connection request from the client terminal;
The first server transfers forwarding information including information about its own load and information about the client terminal to the second server;
The first server returns a response to the client terminal after a predetermined time;
A second server receiving the transfer information including information on the load of the first server and information on the client terminal transferred from the first server;
The second server compares the information about the load of the first server with the information about its own load, and determines which load information is lower;
A step of returning a connection permission to the client terminal when the second server determines that the information about the load is lower than the information about the load of the first server;
The load distribution method, wherein the information related to the client terminal is an address of a client terminal.
[0068]
【The invention's effect】
As described above, the present invention does not require the introduction of independent hardware, and can provide an inexpensive load balancing system that can be easily installed into an existing server or incorporated into existing software. .
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a load distribution system according to the present invention.
FIG. 2 is a flowchart of client-side processing.
FIG. 3 is a flowchart of server-side processing.

Claims (4)

クライアント端末と複数のサーバ装置とから構成されるシステムに適用され、前記複数のサーバ装置の各々のサーバ装置が、
前記クライアント端末からの接続依頼を受信する受信部と、
自己の負荷に関する情報および前記クライアント端末に関する情報を含む転送情報を前記システムを構成する他のサーバ装置へ転送する転送部と、
前記転送部による転送から所定時間経過後に、前記クライアント端末へ前記接続依頼に対する接続許可応答を返信する応答部と、
前記受信部を通じて前記システムを構成する前記他のサーバ装置から転送された他のサーバ装置の負荷に関する情報および前記接続依頼を発信したクライアント端末に関する情報を含む転送情報を受信し、
当該受信した転送情報に含まれる前記他のサーバ装置の負荷に関する情報と自己の負荷に関する情報とを比較し、どちらの負荷情報が低いかを判定する判定部とを備え
前記判定部が、前記他のサーバ装置の負荷に関する情報より、前記自己の負荷に関する情報が低いと判定した場合に、前記応答部は前記クライアント端末へ前記接続依頼に対する接続許可応答を返信することを特徴とするサーバ装置。
Applied to a system composed of a client terminal and a plurality of server devices, each server device of the plurality of server devices,
A receiving unit that will receive the connection request from the client terminal,
A transfer unit that transfers transfer information including information about its own load and information about the client terminal to another server device constituting the system;
After a predetermined time from the transfer by said transfer unit, and a response unit you returns a connection permission response to the connection request to the client terminal,
Receiving the transfer information including the information on the load of the other server device transferred from the other server device constituting the system through the receiving unit and the information on the client terminal that has transmitted the connection request ;
Comparing the information about the load information and self relates to a load of the said received another server device included in the transfer information, and a determining unit which of load information or lower,
The determination unit is more information about the load of the other server devices, wherein when information about its own load is determined to be lower, the response unit the connection reply to Turkey the connection permission response to the request to the client terminal A server device characterized by the above.
前記各々のサーバ装置において、前記所定時間は、
他のサーバ装置から負荷に関する情報を受信したサーバ装置が
己の負荷に関する情報と前記他のサーバ装置の負荷に関する情報とを比較し、
比較の結果、自己の負荷が前記他のサーバ装置の負荷より低い場合に、前記他のサーバ装置よりも早く前記クライアント端末へ接続許可応答を送信するのに要する時間に設定されることを特徴とする請求項1に記載のサーバ装置。
In each of the server devices, the predetermined time is
Server apparatus receiving information on the load from another server apparatus,
Comparing the information about the load of the other server devices and information about the self load,
Result of the comparison, that the self-load is lower than the load of said other server apparatus, is set to the time required to transmit a connection permission response to the other server equipment by remote quickly the client terminal The server device according to claim 1, characterized in that:
クライアント端末とともにシステムを構成する複数のサーバ装置の各々に、
前記クライアント端末から受信し接続依頼を受け付けるステップと、
自己の負荷に関する情報および前記クライアント端末に関する情報を含む転送情報を前記システムを構成する他のサーバ装置へ転送する転送ステップと、
前記転送ステップによる転送から所定時間経過後に、前記クライアント端末へ前記接続依頼に対する接続許可応答を返信する第一の応答ステップと、
前記システムを構成する前記他のサーバ装置から転送され受信された他のサーバ装置の負荷に関する情報および前記接続依頼を発信したクライアント端末に関する情報を含む転送情報を受信し受け付ける転送受付けステップと、
前記転送受付けステップで受信した転送情報に含まれる前記他のサーバ装置の負荷に関する情報と、自己の負荷に関する情報とを比較する比較ステップと、
比較により前記他のサーバ装置の負荷に関する情報より、前記自己の負荷に関する情報が低いと判定した場合に、前記クライアント端末へ前記接続依頼に対する接続許可応答を返信する第二の応答ステップとを実行させることを特徴とするプログラム。
In each of a plurality of server devices constituting a system together with a client terminal,
Receiving from the client terminal and accepting a connection request;
A transfer step of transferring transfer information including information relating to its own load and information relating to the client terminal to another server device constituting the system;
A first response step of returning a connection permission response to the connection request to the client terminal after elapse of a predetermined time from the transfer in the transfer step;
A transfer accepting step for receiving and accepting transfer information including information relating to a load of another server device transferred and received from the other server device constituting the system and information relating to a client terminal that has transmitted the connection request;
A comparison step of comparing the information on the load of the other server device included in the transfer information received in the transfer acceptance step with the information on the own load;
A second response step of returning a connection permission response to the connection request to the client terminal when it is determined by comparison that the information about the load is lower than the information about the load of the other server device A program characterized by that.
前記各々のサーバ装置において、前記所定時間は、
他のサーバ装置から負荷に関する情報を受信したサーバ装置が
己の負荷に関する情報と前記他のサーバ装置の負荷に関する情報とを比較し、
比較の結果、自己の負荷が前記他のサーバ装置の負荷より低い場合に、前記他のサーバ装置よりも早く前記クライアント端末へ接続許可応答を送信するのに要する時間に設定されることを特徴とする請求項3に記載のプログラム。
In each of the server devices, the predetermined time is
Server apparatus receiving information on the load from another server apparatus,
Comparing the information about the load of the other server devices and information about the self load,
Result of the comparison, that the self-load is lower than the load of said other server apparatus, is set to the time required to transmit a connection permission response to the other server equipment by remote quickly the client terminal The program according to claim 3, wherein the program is characterized in that:
JP2002201681A 2002-07-10 2002-07-10 Load balancing method Expired - Fee Related JP4046562B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002201681A JP4046562B2 (en) 2002-07-10 2002-07-10 Load balancing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002201681A JP4046562B2 (en) 2002-07-10 2002-07-10 Load balancing method

Publications (2)

Publication Number Publication Date
JP2004046442A JP2004046442A (en) 2004-02-12
JP4046562B2 true JP4046562B2 (en) 2008-02-13

Family

ID=31708147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002201681A Expired - Fee Related JP4046562B2 (en) 2002-07-10 2002-07-10 Load balancing method

Country Status (1)

Country Link
JP (1) JP4046562B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072432A (en) * 2004-08-31 2006-03-16 Onkyo Corp Peer-to-peer type content delivery system
US7636325B2 (en) * 2004-12-07 2009-12-22 Hewlett-Packard Development Company, L.P. Determining highest workloads for nodes in an overlay network
WO2010064644A1 (en) 2008-12-03 2010-06-10 日本電気株式会社 Cluster control system, cluster control method, and program

Also Published As

Publication number Publication date
JP2004046442A (en) 2004-02-12

Similar Documents

Publication Publication Date Title
US7640246B2 (en) Method and system for providing content
US10771541B2 (en) Automated management of content servers based on change in demand
KR101072966B1 (en) Method, device and system for distributing file data
EP1320237B1 (en) System and method for controlling congestion in networks
US7219153B1 (en) Methods and apparatus for distributing content
JP3851275B2 (en) Scalable resource discovery and reconfiguration of distributed computer networks
US9204180B2 (en) Method, server and terminal for audio and video on demand
US20090222515A1 (en) Methods and apparatus for transferring data
US20060031395A1 (en) Method and system for managing programs for web service system
KR20080076803A (en) Bandwidth requesting system, bandwidth requesting device, client device, bandwidth requesting method, content playback method, and program
CN110830565B (en) Resource downloading method, device, system, electronic equipment and storage medium
US20060236386A1 (en) Method and apparatus for cooperative file distribution in the presence of firewalls
US20150149524A1 (en) Network system, constant connection method, electronic device, server, and program
JP2005513616A (en) Method and apparatus for transferring information using a cached server
JP2012118709A (en) Distribution system, storage capacity decision program, and storage capacity decision method
JP2002269061A (en) Client server system, repeating server, and method for determining connection destination server
CN112671554A (en) Node fault processing method and related device
CN107332894B (en) Live broadcast method, device and system, server and storage medium
CN110035128B (en) Live broadcast scheduling method and device, live broadcast system and storage medium
JP2007219637A (en) Load balancing system and program therefor
JP4046562B2 (en) Load balancing method
JP5405550B2 (en) File transmission management system and file transmission management method for supporting file transmission in mobile messaging service
KR20050060783A (en) Method for retrieving and downloading digital media files through network and medium on which the program for executing the method is recorded
KR20030076224A (en) Client side holistic health check
JP2009080642A (en) Load control method, device and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070828

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071023

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071120

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101130

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4046562

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101130

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111130

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111130

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121130

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121130

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131130

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees