JP2010238101A - 負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システム - Google Patents

負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システム Download PDF

Info

Publication number
JP2010238101A
JP2010238101A JP2009087246A JP2009087246A JP2010238101A JP 2010238101 A JP2010238101 A JP 2010238101A JP 2009087246 A JP2009087246 A JP 2009087246A JP 2009087246 A JP2009087246 A JP 2009087246A JP 2010238101 A JP2010238101 A JP 2010238101A
Authority
JP
Japan
Prior art keywords
server
application
monitoring
management terminal
packet
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.)
Granted
Application number
JP2009087246A
Other languages
English (en)
Other versions
JP5381247B2 (ja
Inventor
Hidehiro Yamada
英弘 山田
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 JP2009087246A priority Critical patent/JP5381247B2/ja
Publication of JP2010238101A publication Critical patent/JP2010238101A/ja
Application granted granted Critical
Publication of JP5381247B2 publication Critical patent/JP5381247B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】処理負荷を増加させることなくサーバの故障を考慮したサーバ間の負荷分散を行うことができる負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システムを提供することを目的とする。
【解決手段】負荷分散装置3であって、管理端末2からのサーバ4を指定した処理依頼のデータをサーバ4に送信する監視データ送信手段と、管理端末2からのアプリケーション処理の結果が正常であったか異常であったかの情報を元に仮想アドレスに対応付けて記憶されたアプリケーション処理をサーバ4に分散可能/不可能であるかの情報を更新する更新手段と、管理端末2以外の端末1から受信した仮想アドレスを指定したアプリケーション処理依頼のデータを、仮想アドレスに対応付けられて記憶されたアプリケーション処理依頼のデータが分散可能であるサーバ4に送信する負荷分散手段とを有することにより上記課題を解決する。
【選択図】 図8

Description

本発明は、負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システムに係り、特に通信ネットワーク分野の負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システムに関する。
通信ネットワーク分野の負荷分散装置は、クライアントからの要求を複数のサーバに振り分けることによりサーバ間の負荷分散を行う。例えば負荷分散装置は、クライアントからの要求に対して、サーバのデータ処理やアクセスの集中によるレスポンスの低下を防ぐため、サーバとクライアントとの間に設置され、クライアントからの要求を複数のサーバに振り分ける処理を行う。
従来、負荷分散装置には、サーバの故障監視を行って、故障と判断したサーバにクライアントからの要求を振り分けないようにするものがあった。なお、負荷分散装置は故障監視を行う場合、監視パケットをサーバに送信し、監視パケットに対する応答の有無で故障を判断していた。
このように、従来の負荷分散装置には、サーバ間の負荷分散と、サーバの故障監視とを行うものがあった(例えば特許文献1及び2参照)。従来の負荷分散装置は、監視パケットをサーバに送信し、サーバからの監視パケットに対する応答によりサーバの故障を判定することで、サーバへの振り分けの可否を判定していた。
特開平9−319689号公報 特開2006−285377号公報
通信ネットワーク分野においては、サーバが提供すべきサービスの高度化と短納期化にともなって、新しいサービスを提供するためのサーバ,クライアント及び負荷分散装置に実装するアプリケーションの開発やアプリケーションの処理機能がより複雑になってきている。このため、負荷分散装置はアプリケーションによる処理負荷が少なく、かつ効率的な実装技術が必須となっていた。
故障監視を行う従来の負荷分散装置は監視パケットを生成してサーバに送信し、サーバからの監視パケットに対する応答を受信したとき、サーバが正常との判断を行う。このように従来の負荷分散装置は故障監視を行うアプリケーションを実装する必要があり、故障監視を行うアプリケーションの分、処理負荷が余計に掛かっていた。
本発明の一実施形態は、上記の点に鑑みなされたもので、処理負荷を増加させることなくサーバの故障を考慮したサーバ間の負荷分散を行うことができる負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システムを提供することを目的とする。
上記課題を解決するため、本発明の一実施形態の負荷分散装置は、管理端末から受信した、アプリケーションサーバを指定したアプリケーション処理依頼のデータを該アプリケーションサーバに送信する監視データ送信手段と、前記管理端末から受信した、前記アプリケーションサーバによる前記アプリケーション処理の結果が正常であったか異常であったかの情報を元に、該アプリケーション処理の仮想アドレスに対応付けて記憶手段に記憶された、該アプリケーション処理依頼のデータを該アプリケーションサーバに分散可能であるか不可能であるかの情報を更新する更新手段と、前記管理端末以外の端末から受信した、仮想アドレスを指定したアプリケーション処理依頼のデータを、該アプリケーション処理の仮想アドレスに対応付けられて前記記憶手段に記憶された、該アプリケーション処理依頼のデータが分散可能であるアプリケーションサーバに送信する負荷分散手段とを有する。
なお、本発明の一実施形態の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
上述の如く、本発明の一実施形態によれば、処理負荷を増加させることなくサーバの故障を考慮したサーバ間の負荷分散を行うことができる負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システムを提供可能である。
本実施例の負荷分散システムの一実施例の構成図である。 負荷分散装置を実現するコンピュータシステムの一例のハードウェア構成図である。 負荷分散システムの全体処理を表した一例のシーケンス図である。 管理端末の一例の内部ブロック図である。 負荷分散装置の一例の内部ブロック図である。 クライアント,管理端末,負荷分散装置及びサーバ間におけるアプリケーションパケットと監視パケットとの流れを表した模式図である。 負荷分散システムの全体処理を表した一例のフローチャートである。 監視対象サーバテーブル及び負荷分散テーブルのデータ構成を説明する為の説明図である。 監視パケットの一例のデータ構成図である。
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明していく。まず、本実施例の理解を容易とする為に、従来の負荷分散システムと本実施例の負荷分散システムとの差異について簡単に説明する。
従来の負荷分散装置におけるサーバの故障監視はプロトコルレイヤ毎に監視パケットを生成してサーバに送信し、サーバからの監視パケットに対する応答を受信したとき、プロトコル解析によりサーバが正常かの判断を行っている。したがって、従来の負荷分散装置は故障監視を行う為の新しいプロトコルの提供が必要であり、また、故障監視を行う為に処理負荷が余計に掛かっていた。
そこで、本実施例の負荷分散システムでは、クライアントとサーバとの間で先にプロトコル実装されても、クライアントと同等な機能を持つ管理端末によりサーバの故障監視を行うことで、負荷分散装置にサーバの故障監視の機能を実装する必要が無くなる。このように本実施例の負荷分散システムでは、負荷分散装置に対して故障監視の為の新しいプロトコルの実装が不要となる。
また、本実施例の負荷分散システムでは、負荷分散装置が監視パケットの為のプロトコル処理を必要としないことにより、サーバの故障監視を行う為の処理負荷に影響されることなく、負荷分散装置がサーバ間の負荷分散機能を提供できる。
例えば新しいプロトコルのクライアントに対して1つのL7サービスを複数のサーバが提供する環境においては、効率よくクライアントからサーバへの要求を分散させる負荷分散装置が、クライアントとサーバとの間に必要とされる。L7サービスを提供する為にはサーバがプロトコル通信を正しく行っていることが前提となる。
サーバは負荷分散装置からの監視パケットに対して正常な応答を行うことで、正しく動作していることを負荷分散装置に通知する。負荷分散装置は、正しく動作するサーバにクライアントからの要求を振り分けるサーバ間の負荷分散を行う。
つまり、クライアントとサーバとの間に新しいプロトコルを実装する場合、従来の負荷分散装置はサーバに監視パケットを送信する為に、新しいプロトコルによるサーバの故障監視の機能を実装する必要があった。
本実施例の負荷分散システムではサーバの故障監視を負荷分散装置からクライアント側の管理端末に処理分担することで、新しいプロトコルによるサーバの故障監視の機能を負荷分散装置に実装する必要がなくなり、クライアントとサーバとの間の新しいプロトコルの開発効率を向上させることができる。
また、従来の負荷分散システムではクライアントが増えることで、クライアントからの要求を処理するサーバ(分散対象サーバ)の1台当たりの処理負荷が高くなるため、クライアントからの要求を振り分ける対象のサーバを増やして、1台当たりのサーバの処理負荷を軽くしていた。
しかし、従来の負荷分散システムでは分散対象サーバが増えると、負荷分散装置におけるクライアントからの要求を振り分ける処理(サーバ振り分け処理)が増え、故障監視を行うサーバの数も増えることになる。このように、従来の負荷分散システムでは分散対象サーバの数が増えることにより、負荷分散装置におけるサーバ間の負荷分散を行う為の処理負荷とサーバの故障監視を行う為の処理負荷とが増え、高い処理負荷の影響により負荷分散処理が遅延したり監視パケットが破棄されたりする可能性がある。
サーバの故障監視を行う為の処理(故障監視処理)はプロトコルに従って監視パケットを生成し、故障監視を行うサーバ(監視サーバ)への監視パケットを送信し、監視サーバから受信した監視パケットに対する応答のプロトコル解析を行い、監視サーバの故障有無の管理を行うものである。サーバ間の負荷分散を行う為の処理(負荷分散処理)は、クライアントからの要求(要求パケット)を、各サーバの負荷に応じて複数のサーバに振り分けるものである。
本実施例の負荷分散システムでは、負荷分散処理を負荷分散装置が分担し、故障監視処理を管理端末が分担することにより、負荷分散装置及び管理端末が互いの処理負荷に作用されなくなる。
本実施例の負荷分散システムでは新しいプロトコルをクライアントとサーバとの間に実装しても、クライアントと同等のプロトコルを実装した管理端末で故障監視処理を行うことにより、負荷分散装置にサーバの故障監視の機能を実装する必要がなくなる。
なお、負荷分散装置は複数のサーバのIPアドレスを1つの仮想IPアドレスとしてクライアントに公開する。したがって、クライアントはサーバの実アドレスを把握することができない。もし、クライアントからサーバの仮想IPアドレスに監視パケットを送信しても、監視パケットは負荷分散装置におけるサーバ振り分け処理によりサーバへ振り分けられてしまう。つまり、クライアントからサーバの仮想IPアドレスに監視パケットを送信した場合は、監視パケットが全てのサーバに均等に送信されず、全てのサーバの故障監視を均等に行うことができない。
このように、クライアントと同等のプロトコルを実装した管理端末はクライアント側に置かれると、仮想IPアドレスに監視パケットを送信してもサーバの故障監視を行うことができない。
そこで、本実施例の負荷分散システムでは負荷分散装置が管理端末に対して監視サーバのIPアドレスを通知することで、管理端末にサーバのIPアドレスを把握させる。管理端末は、監視パケットの宛先である監視サーバをIPアドレスにより特定できる。負荷分散装置はサービス開始前に予め管理端末のIPアドレスを把握しておくことで、クライアントからの要求パケットと管理端末からの監視パケットとを区別できる。
サービス運用時、負荷分散装置は管理端末からの監視パケットをサーバ振り分け処理の対象とせず、監視パケットの宛先である監視サーバに送信する。このように、管理端末は監視パケットの宛先である監視サーバをIPアドレスにより特定できるので、全ての監視サーバを監視することができる。
管理端末は、監視サーバからの監視パケットに対する応答の有無(の結果)を負荷分散装置に通知する。負荷分散装置は監視パケットに対する応答の有無で監視サーバの故障監視を行って、故障と判断されていない監視サーバの中から要求を振り分けるサーバを決定できる。このように、本実施例の負荷分散システムでは、負荷分散処理を負荷分散装置が分担し、故障監視処理を管理端末が分担することにより、負荷分散装置及び管理端末が互いの処理負荷に作用されなくなる。
本実施例では、複数のサーバがL7サービスをクライアントに提供する環境について説明していく。本実施例の負荷分散システムは、負荷分散装置がL7プロトコルに依存することなく、正しく動作するサーバをサーバ振り分け処理の対象とするものである。
図1は本実施例の負荷分散システムの一実施例の構成図である。図1に示す負荷分散システムは、クライアント1A〜1C,管理端末2,負荷分散装置3,サーバ4A〜4C及びハブ(HUB)等の集線装置5A〜5Bを含む。なお、クライアント1A〜1Cはクライアント1と総称する。サーバ4A〜4Cはサーバ4と総称する。集線装置5A〜5Bは集線装置5と総称する。
図1中、クライアント1は集線装置5を介して負荷分散装置3に接続される。管理端末2は負荷分散装置3に接続される。サーバ4は集線装置5を介して負荷分散装置3に接続される。クライアント1,管理端末2及びサーバ4は、負荷分散装置3及び集線装置5を介してデータ通信が可能である。
クライアント1はサーバ4に対してアプリケーションパケットで処理を要求し、処理の結果をアプリケーションパケットでサーバ4から受信するものである。サーバ4はクライアント1からの要求を処理し、処理の結果をアプリケーションパケットでクライアント1に送信するものである。クライアント1及びサーバ4は、サーバ4がクライアント1に対して提供するサービスに応じたプロトコルを実装している。
管理端末2はクライアント1と同等のプロトコルを実装している。管理端末2はサーバの故障監視を行うものである。管理端末2はクライアント1と同等のプロトコルに従って監視パケットを生成し、負荷分散装置3経由でサーバ4に送信する。管理端末2は監視パケットに対する応答を負荷分散装置3経由でサーバ4から受信する。管理端末2は監視パケットに対する応答のプロトコル解析を行い、サーバ4の故障有無の管理を行う。管理端末2はサーバ4の故障の有無を管理パケットで負荷分散装置3に通知する。
負荷分散装置3は管理端末2から通知されたサーバ4の故障の有無に応じて、故障していないサーバ4をサーバ振り分け処理の対象とすることができる。負荷分散装置3はクライアント1からのアプリケーションパケットを、サーバ振り分け処理の対象のサーバ4に振り分けることによりサーバ4間の負荷分散を行うものである。
なお、負荷分散装置3は管理端末2に対してサーバ4のIPアドレスを通知し、クライアント1に対して1つの仮想IPアドレスを公開する。管理端末2は監視パケットの宛先である例えばサーバ4AをIPアドレスにより特定できる。負荷分散装置3は予め管理端末2のIPアドレスを把握しておくことにより、クライアント1からのアプリケーションパケットと管理端末2からの監視パケットとを区別できる。負荷分散装置3は管理端末2からの監視パケットをサーバ振り分け処理の対象とせず、監視パケットの宛先である例えばサーバ4Aに送信する。負荷分散装置3は、クライアント1からのアプリケーションパケットをサーバ振り分け処理の対象とし、サーバ振り分け処理の対象のサーバ4に振り分ける
図2は、負荷分散装置を実現するコンピュータシステムの一例のハードウェア構成図である。なお、クライアント1,管理端末2,サーバ4を実現するコンピュータシステムのハードウェア構成図も図2と同様である。
図2のコンピュータシステムは、バスBで相互に接続されている入力装置11,出力装置12,ドライブ装置13,補助記憶装置14,主記憶装置15,演算処理装置16及びインターフェース装置17を有する。
入力装置11はキーボードやマウス等である。入力装置11は、各種信号を入力するために用いられる。出力装置12はディスプレイ装置等である。出力装置12は各種ウインドウやデータ等を表示するために用いられる。インターフェース装置17は、モデム,LANカード等である。インターフェース装置17は、ネットワークに接続する為に用いられる。
本実施例の負荷分散プログラムは、負荷分散装置3を制御する各種プログラムの少なくとも一部である。クライアント1,管理端末2,負荷分散装置3,サーバ4を制御するプログラムは例えば記録媒体18の配布やネットワークからのダウンロードなどによって提供される。
プログラムを記録した記録媒体18は、CD−ROM、フレキシブルディスク、光磁気ディスクなどの様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
また、プログラムを記録した記録媒体18がドライブ装置13にセットされると、プログラムは記録媒体18からドライブ装置13を介して補助記憶装置14にインストールされる。ネットワークからダウンロードされたプログラムは、インターフェース装置17を介して補助記憶装置14にインストールされる。
補助記憶装置14は、インストールされたプログラムを格納すると共に、必要なファイル,データ等を格納する。主記憶装置15は、プログラムの起動時に補助記憶装置14からプログラムを読み出して格納する。そして、演算処理装置16は主記憶装置15に格納されたプログラムに従って、後述するような各種処理を実現している。
図3は、負荷分散システムの全体処理を表した一例のシーケンス図である。ステップS1に進み、負荷分散装置3はユーザの入力により、故障監視に関連のある内容が定義設定される。定義設定には、分散対象サーバ及び監視対象サーバの定義,管理端末2のアドレス,サーバ監視周期,サーバ監視応答待ち時間,サーバ復旧時間が含まれる。定義設定は定義設定テーブルに予め登録しておいてもよい。
ステップS2に進み、負荷分散装置3は定義設定に基づき、監視サーバリストを負荷分散テーブルに登録する。監視サーバリストとは、故障監視を行うサーバ(監視サーバ)のリストである。
ステップS3に進み、負荷分散装置3は定義設定及び監視サーバリストを管理パケットで管理端末2に送信する。ステップS4に進み、管理端末2は負荷分散装置3からの管理パケットを受信する。ステップS5に進み、管理端末2は受信した管理パケットから定義設定及び監視サーバリストを取り出して、定義設定テーブル及び監視対象サーバテーブルに登録する。
ステップS6に進み、管理端末2は定義設定及び監視サーバリストの登録完了を通知する為の管理パケットを負荷分散装置3へ送信する。ステップS7に進み、負荷分散装置3は管理端末2からの管理パケットを受信する。管理端末2から定義設定及び監視サーバリストの登録完了を通知されると、負荷分散装置3はステップS8に進み、故障監視を行うサーバ4の故障監視を開始する。
ステップS9に進み、負荷分散装置3は故障監視の開始を通知する為の管理パケットを管理端末2へ送信する。ステップS10に進み、管理端末2は負荷分散装置3からの管理パケットを受信する。ステップS11に進み、管理端末2は故障監視を行うサーバ4の故障監視を開始する。
ステップS12に進み、管理端末2はクライアント1と同等のプロトコルに従って監視パケットを生成する。ステップS12で生成される監視パケットの宛先として、管理端末2は故障監視を行う例えばサーバ4AのIPアドレスを設定する。
ステップS13に進み、管理端末2は監視パケットを負荷分散装置3に送信する。負荷分散装置3はステップS14に進み、監視パケットを受信する。負荷分散装置3は予め管理端末2のIPアドレスを把握しておくことにより、パケットの送信元アドレスで管理端末2からの監視パケットを認識できる。
ステップS15に進み、負荷分散装置3は管理端末2からの監視パケットであると認識したため、サーバ振り分け処理を行わない。ステップS16に進み、負荷分散装置3は監視パケットの宛先である例えばサーバ4Aに監視パケットを送信する。
ステップS17に進み、例えばサーバ4Aは負荷分散装置3から監視パケットを受信する。ステップS18に進み、例えばサーバ4Aは監視パケットに応じたサービスの処理を行う。ステップS19に進み、例えばサーバ4Aは監視パケットに対する応答の為の監視パケットを負荷分散装置3に送信する。
ステップS20に進み、負荷分散装置3は例えばサーバ4Aから受信した監視パケットを管理端末2に送信する。ステップS21に進み、管理端末2は負荷分散装置3から監視パケットを受信する。ステップS22に進み、管理端末2はサーバ4Aから応答があったと判定する。管理端末2はサーバ4Aが正常であると判定し、監視対象サーバテーブルに反映させる。監視対象サーバテーブルにはサーバ4が正常又は異常であるかを表す故障情報が含まれる。管理端末2は例えば正常なサーバ4Aを分散対象サーバとして負荷分散装置3に通知する必要がある。
ステップS23に進み、管理端末2はサーバ4Aが分散対象サーバであることを通知する為の管理パケット(サーバ復旧通知パケット)を負荷分散装置3に送信する。ステップS24に進み、負荷分散装置3は管理端末2からサーバ4Aが分散対象サーバであることを通知する為の管理パケットを受信する。ステップS25に進み、負荷分散装置3は管理端末2から受信したサーバ4Aが分散対象サーバであることを通知する為の管理パケットに基づき、サーバ4Aを分散対象サーバと決定し、負荷分散テーブルに反映させる。
一方、管理端末2はステップS13で監視パケットを負荷分散装置3に送信してから所定時間を経過しても、負荷分散装置3から監視パケットを受信しなければ、ステップS26に進み、監視応答タイムアウトと判定する。
ステップS27に進み、管理端末2はサーバ4Aから応答がなかったと判定する。管理端末2はサーバ4Aが異常であると判定し、監視対象サーバテーブルに反映させる。管理端末2は例えば異常なサーバ4Aを分散対象サーバから除く旨を、負荷分散装置3に通知する必要がある。
ステップS28に進み、管理端末2はサーバ4Aを分散対象サーバから除く旨を通知する為の管理パケット(サーバ故障通知パケット)を負荷分散装置3に送信する。ステップS29に進み、負荷分散装置3はサーバ4Aを分散対象サーバから除く旨を通知する為の管理パケットを管理端末2から受信する。ステップS30に進み、負荷分散装置3は管理端末2から受信したサーバ4Aを分散対象サーバから除く旨を通知する為の管理パケットに基づき、サーバ4Aを分散対象サーバから除くことを決定し、負荷分散テーブルに反映させる。なお、ステップS12〜S30の処理は監視対象テーブルに登録されている監視サーバ全てに対してサーバ監視周期で行われる。
ステップS31に進み、例えばクライアント1Aは、サーバ4に対して処理を要求する為のアプリケーションパケット(リクエストパケット)を負荷分散装置3に送信する。ステップS32に進み、負荷分散装置3は例えばクライアント1Aからサーバ4に対して処理を要求する為のアプリケーションパケットを受信する。
ステップS33に進み、負荷分散装置3は仮想IPアドレスを宛先とするパケットを例えばクライアント1Aからのアプリケーションパケットと認識できる。負荷分散装置3は例えばクライアント1Aからのアプリケーションパケットと認識したため、サーバ振り分け処理を行ってアプリケーションパケットの振り分け先を指定する。
ステップS34に進み、負荷分散装置3は振り分け先に指定された例えばサーバ4Aへアプリケーションパケットを送信する。ステップS35に進み、振り分け先に指定された例えばサーバ4Aは負荷分散装置3からアプリケーションパケットを受信する。ステップS36に進み、例えばサーバ4Aはアプリケーションパケットに応じたサービスの処理を行う。ステップS37に進み、例えばサーバ4Aはアプリケーションパケットによる処理の結果を例えばクライアント1Aに応答する為のアプリケーションパケットを負荷分散装置3に送信する。
ステップS38に進み、負荷分散装置3は例えばサーバ4Aから処理の結果を例えばクライアント1Aに応答する為のアプリケーションパケットを受信する。ステップS39に進み、負荷分散装置3は例えばサーバ4Aから受信したアプリケーションパケットを例えばクライアント1Aに送信する。ステップS40に進み、例えばクライアント1Aは負荷分散装置3からサーバ4Aによる処理の結果を、アプリケーションパケットにより受信できる。
なお、図3のフローチャートは、ステップS1〜S10が管理処理を表し、ステップS11〜S30が監視処理を表し、ステップS31〜S40が分散処理を表している。
図4は管理端末の一例の内部ブロック図である。管理端末2はパケット受信部21,パケット識別部22,監視開始部23,監視パケット生成部24,定義設定/監視サーバリストの登録部25,サーバ復旧通知部26,監視応答タイムアウト部27,サーバ故障設定部28,パケット送信部29,定義設定テーブル30,監視対象サーバテーブル31を有する。
パケット受信部21は負荷分散装置3から管理パケット,監視パケットを受信する。管理パケットはサーバ4の状態管理を行うためのものである。監視パケットはサーバ4の状態監視を行うためのものである。
パケット識別部22は、パケット受信部21で受信した管理パケット又は監視パケットが、管理(設定)パケット,管理(開始)パケット,監視パケットの何れであるかを識別する。なお、管理(設定)パケットは定義設定及び監視サーバリストの登録の為のものである。管理(開始)パケットは故障監視の開始を通知する為のものである。監視パケットはサーバ4に送信した監視パケットに対する応答である。
管理(設定)パケットであると識別された場合、定義設定/監視サーバリストの登録部25は受信した管理(開始)パケットから定義設定及び監視サーバリストを取り出して定義設定テーブル30及び監視対象サーバテーブル31に登録する。定義設定/監視サーバリストの登録部25は、定義設定及び監視サーバリストの登録完了を通知する為の管理パケットを生成する。
また、管理(開始)パケットであると識別された場合、監視開始部23は故障監視を行うサーバ4の故障監視を開始する。監視パケット生成部24はクライアント1と同等のプロトコルに従って監視パケットを生成する。
さらに、監視パケットであると識別された場合、サーバ復旧通知部26は応答のあったサーバ4を判定する。サーバ復旧通知部26は応答のあったサーバ4が正常であると判定して監視対象サーバテーブル31に反映させる。サーバ復旧通知部26は、応答のあったサーバ4が分散対象サーバであることを通知する為の管理パケットを生成する。
監視応答タイムアウト部27は、負荷分散装置3に監視パケットを送信してから所定時間を経過しても、負荷分散装置3から監視パケットを受信しなければ、監視応答タイムアウトと判定する。監視応答タイムアウトと判定されると、サーバ故障設定部28は応答のなかったサーバ4を判定する。サーバ故障設定部28は、応答のなかったサーバ4が異常であると判定して監視対象サーバテーブル31に反映させる。
サーバ故障設定部28は応答のなかったサーバ4を、分散対象サーバから除く旨を通知する為の管理(設定)パケットを生成する。パケット送信部29は負荷分散装置3へ管理パケット,監視パケットを送信する。
図5は、負荷分散装置の一例の内部ブロック図である。負荷分散装置3は、パケット受信部41,パケット識別部42,宛先書き換え部43,サーバ選択部44,監視開始部45,分散対象サーバの決定部46,監視サーバリストの登録部47,サーバ振り分けなし宛先書き換え部48,宛先買い換え部49,パケット送信部50,定義設定テーブル51及び負荷分散テーブル52を有する。
パケット受信部41はクライアント1,管理端末2,サーバ4から管理パケット,監視パケット,アプリケーションパケットを受信する。アプリケーションパケットはクライアント1からサーバ4へのリクエストとサーバ4からクライアント1へのレスポンスとを行うためのものである。
パケット識別部42は、パケット受信部41で受信した管理パケット,監視パケット又はアプリケーションパケットが、管理(開始)パケット,管理(設定)パケット,監視パケット又はアプリケーションパケットの何れであるかを識別する。管理(開始)パケットは定義設定及び監視サーバリストの登録完了を通知する為のものである。管理(設定)パケットは分散対象サーバを通知する為のものである。
管理(開始)パケットであると識別された場合、監視開始部45は監視対象サーバの故障監視を開始する。監視開始部45は、故障監視の開始を通知する為の管理パケット(開始)を生成する。
管理(設定)パケットであると識別された場合、分散対象サーバの決定部46は、管理端末2から受信した管理(設定)パケットに基づき、分散対象サーバを決定して負荷分散テーブル52に反映させる。
アプリケーションパケットであると識別された場合、そのアプリケーションパケットがサーバ4から受信したものであれば、宛先書き換え部43はアプリケーションパケットの宛先をクライアント宛に書き換える。アプリケーションパケットがクライアント1から受信したものであれば、サーバ選択部44はサーバ振り分け処理を行ってアプリケーションパケットの振り分け先を選択し、アプリケーションパケットの宛先として振り分け先に選択されたサーバ4のアドレスを設定する。
監視パケットであると識別された場合、その監視パケットが管理端末2から受信したものであれば、サーバ振り分けなし宛先書き換え部48はサーバ振り分け処理を行わず、監視パケットの宛先をサーバ宛に書き換える。監視パケットがサーバ4から受信したものであれば、宛先書き換え部49は監視パケットの宛先を管理端末宛に書き換える。
故障監視に関連のある内容が定義設定された場合、監視サーバリストの登録部47は定義設定に基づき、監視サーバリストを負荷分散テーブル52に登録する。監視サーバリストの登録部47は、定義設定及び監視サーバリストを管理端末2に送信する為の管理(設定)パケットを生成する。パケット送信部50は、クライアント1,管理端末2,サーバ4へ管理パケット,監視パケット,アプリケーションパケットを送信する。
図4及び図5に示したように、管理端末2と負荷分散装置3との間では管理パケット及び監視パケットの送受信が行われる。負荷分散装置3は監視対象サーバを決定し、監視対象サーバのアドレスを管理パケットとして管理端末2に通知する。管理端末2から送信された監視パケットは、負荷分散装置3を経由してサーバ4に送信される。サーバ4は監視パケットに対する応答を返す。負荷分散装置3は監視パケットをサーバ振り分け処理による振り分けの対象としない。
監視パケットに対する応答がサーバ4から返ってきたら、管理端末2はサーバ4が正常であると判定し、サーバ4が分散対象サーバであることを管理(設定)パケットにより通知する。
監視パケットに対する応答がサーバ4から返ってこなければ、管理端末2はサーバ4が異常であると判定し、サーバ4が分散対象サーバでないことを管理(設定)パケットにより通知する。
クライアント1とサーバ4との間では、クライアント1からサーバ4へのリクエストとサーバ4からクライアント1へのレスポンスとによるアプリケーションパケット(データパケット)の送受信が行われる。負荷分散装置3はサーバ振り分け処理によりリクエストを処理させるサーバ4を決定する。負荷分散装置3は、決定したサーバ4のアドレスにアプリケーションパケットの宛先を書き換えてサーバ4に送信する。
図6はクライアント,管理端末,負荷分散装置及びサーバ間におけるアプリケーションパケットと監視パケットとの流れを表した模式図である。
図6(A)は、クライアント,負荷分散装置及びサーバ間におけるアプリケーションパケットの流れを表している。図6(B)は管理端末,負荷分散装置及びサーバ間における監視パケットの流れを表している。
図6(A)に示すように、クライアント1は仮想IPアドレスを宛先(Dst)としてアプリケーションパケットを送信する。負荷分散装置3はサーバ振り分け処理により振り分け先に決定したサーバ4のIPアドレスを宛先とし、負荷分散装置3のIPアドレスを送信元(Src)としてアプリケーションパケットを送信する。
アプリケーションパケットに応じたサービスの処理を行ったあと、サーバ4は負荷分散装置3のIPアドレスを宛先としてアプリケーションパケットを送信する。負荷分散装置3はクライアント1のIPアドレスを宛先とし、仮想IPアドレスを送信元としてアプリケーションパケットを送信する。
図6(B)に示すように、管理端末2は監視対象サーバを決め、監視対象サーバのIPアドレスを宛先として監視パケットを送信する。負荷分散装置3は監視パケットの送信元が管理端末2であるため、監視パケットをサーバ振り分け処理の対象としない。負荷分散装置3は負荷分散装置3のIPアドレスを送信元として監視パケットを送信する。
監視パケットに応じたサービスの処理を行ったあと、サーバ4は負荷分散装置3のIPアドレスを宛先として監視パケットを送信する。サーバ4はアプリケーションパケットと監視パケットとを区別しない。負荷分散装置3は、管理端末2のIPアドレスを宛先として、管理端末2に監視パケットを送信する。
図7は負荷分散システムの全体処理を表した一例のフローチャートである。負荷分散装置3はステップS51〜S53の処理により定義設定と監視サーバリストとを管理端末2に通知する。定義設定される故障監視に関連のある5種類の内容は次の通りである。
故障監視に関連のある第1の内容は、分散対象サーバと、その分散対象サーバと対になる監視対象サーバの定義である。負荷分散装置3では、正常な監視対象サーバを分散対象サーバとする。
故障監視に関連のある第2の内容は、管理端末2のアドレスである。負荷分散装置3は管理端末2からの監視パケットについてサーバ振り分け処理を行わない。負荷分散装置3は受信したパケットが「管理端末2からの監視パケット」か「クライアント1からのアプリケーションパケット」かの区別のために、管理端末2のアドレスを登録する。
故障監視に関連のある第3の内容は、サーバ監視周期である。負荷分散装置3はサーバ監視周期で管理端末2からサーバ4へ監視パケットを送信する時間間隔を定義する。故障監視に関連のある第4の内容は、サーバ監視応答待ち時間である。サーバ監視応答待ち時間は管理端末2がサーバ4へ監視パケットを送信してから、応答の監視パケットを受信するまでの待ち時間である。管理端末2は、サーバ監視応答待ち時間を過ぎると、監視対象サーバが故障していると判断し、負荷分散装置3に監視対象サーバが故障している旨を管理パケットにより通知する。
故障監視に関連のある第5の内容は、サーバ復旧時間である。サーバ復旧時間は、故障していた監視対象サーバが、監視パケットに対して正常な応答を開始してから、復旧したと判断するまでの時間である。故障していた監視対象サーバが監視パケットに対して正常な応答をサーバ復旧時間の間、続けると、管理端末2は監視対象サーバが復旧したと判断して、負荷分散装置3に監視対象サーバが復旧していることを、管理パケットにより通知する。
管理端末2はステップS54〜S58の処理により定義設定と監視サーバリストとを登録し、定義設定及び監視サーバリストの登録完了を通知する為の管理パケットを負荷分散装置3へ送信する。負荷分散装置3はステップS59〜S62の処理により故障監視を開始し、故障監視の開始を通知する為の管理パケットを管理端末2へ送信する。
管理端末2はステップS54,S55,S63,S58の処理により故障監視を開始すると共に、監視パケットを負荷分散装置3に送信する。負荷分散装置3はステップS59及びS60の処理により管理端末2から監視パケットを受信する。ステップS64及びS65の処理により負荷分散装置3は監視パケットをサーバ4に送信する。なお、負荷分散装置3は監視パケットの宛先が仮想IPアドレス以外であり、送信元が管理端末2以外であるとき、不明パケットとして破棄する。
サーバ4はステップS66〜S68の処理により監視パケットに応じたサービスの処理を行い、監視パケットに対する応答の為の監視パケットを負荷分散装置3に送信する。負荷分散装置3はステップS59,S60,S69,S62の処理により、応答の為の監視パケットを管理端末2に送信する。
管理端末2はステップS54,S55,S70の処理により応答のあったサーバ4が正常であると判定し、監視対象サーバテーブルに反映させたあと、応答のあったサーバ4が分散対象サーバであることを通知する為の管理パケット(サーバ復旧通知パケット)を生成する。管理端末2はステップS58の処理によりサーバ復旧通知パケットを負荷分散装置3に送信する。
負荷分散装置3はステップS59,S60,S71の処理により管理端末2からサーバ復旧通知パケットを受信し、サーバ復旧通知パケットに基づき、応答のあったサーバ4を分散対象サーバと決定し、負荷分散テーブルに反映させる。
一方、管理端末2はステップS54,S72,S73の処理により、監視パケットを負荷分散装置3に送信してから所定時間を経過しても、負荷分散装置3から監視パケットを受信しなければ、監視応答タイムアウトと判定する。管理端末2はサーバ4から応答がなかったと判定する。管理端末2は応答のなかったサーバ4が異常であると判定し、監視対象サーバテーブルに反映させたあと、応答のなかったサーバ4が分散対象サーバでない旨を通知する為の管理パケット(サーバ故障通知パケット)を生成する。管理端末2は、ステップS58の処理によりサーバ故障通知パケットを負荷分散装置3に送信する。
負荷分散装置3はステップS59,S60,S71の処理により管理端末2からサーバ故障通知パケットを受信し、サーバ故障通知パケットに基づき、応答のなかったサーバ4を分散対象サーバから除くことを決定し、負荷分散テーブルに反映させる。
このように、負荷分散装置3は管理端末2からの管理パケットによりサーバ4の故障又は復旧の通知を受け、正常なサーバ4を分散対象サーバとすることができる。また、管理端末2はステップS54,S74,S58の処理により、サーバ監視周期で監視パケットを生成して負荷分散装置3に送信する。なお、アプリケーションパケットの送受信に関する処理の説明は省略する。
管理端末2が行なう監視処理は、負荷分散装置3からの定義設定に従い、監視パケットの生成,監視対象サーバとのアプリケーションパケット,監視パケットの送受信、監視対象サーバの故障や復旧の状態管理、監視対象サーバの応答時間管理を行なう。
このように、管理端末2は、以下の4つの機能が実装されている。第1の機能は監視パケットの生成である。管理端末2はクライアント1と同等にサーバ4への処理要求を監視パケットにより行う。クライアント1及びサーバ4にプロトコルが新たに実装されたとしても、負荷分散装置3は新たに実装されたプロトコルのために、監視パケットを生成する新たな機能を実装する必要がなくなる。
第2の機能は監視対象サーバとのアプリケーションパケット,監視パケットの送受信である。管理端末2は負荷分散装置3から取得した監視サーバリストを宛先として、監視対象サーバに監視パケットを送信する。また、管理端末2は監視サーバリストのアドレスに従い、サーバ4から監視パケットに対する応答を受信する。
第3の機能は監視対象サーバの故障や復旧の状態管理である。管理端末2は、監視対象サーバ毎に、故障(異常)/復旧(正常)の状態有無を、監視対象サーバテーブルで保持する。
第4の機能は監視対象サーバの応答時間管理である。管理端末2は負荷分散装置3からの定義設定に従い、監視対象サーバ毎に監視パケットの応答、故障、復旧時間などをスケジュールする。管理端末2はサーバ監視周期にて送信した監視パケットが、サーバ4からサーバ監視応答待ち時間内に応答されなければ障害と判断し、管理パケットにて負荷分散装置3へ応答の無かったサーバ4の故障を通知する。
管理端末2はサーバ監視周期にて送信した監視パケットが、サーバ4からサーバ復旧時間の間、続けて応答されれば、応答のあったサーバ4が復旧したと判断し、管理パケットにて負荷分散装置3へ応答のあったサーバ4の復旧を通知する。なお、定義設定は負荷分散装置3から管理端末2へ通知されるが、変更が無い限り通知しなくてもよい。
図8は監視対象サーバテーブル及び負荷分散テーブルのデータ構成を説明する為の説明図である。管理端末2が有する監視対象サーバテーブル31は、サーバアドレス,サービス及び故障情報を対応付けて格納する。負荷分散装置3が有する負荷分散テーブル52は仮想アドレス(VIP),仮想ポート(VPORT),サーバアドレス及び処理情報を対応付けて格納する。仮想ポートはサービスを表すものである。
クライアント1は負荷分散装置3の仮想アドレス宛かつ仮想ポートの負荷分散処理依頼データを送信する。負荷分散装置3は負荷分散テーブル52を参照し、負荷分散処理依頼データの仮想アドレス及び仮想ポートに対応するサーバ4のうち、正常と判断された処理可能な分散対象サーバのサーバアドレスを選んで、そのサーバアドレス宛に、負荷分散処理依頼データを送信する。負荷分散処理依頼データは仮想アドレスと対になる仮想ポートでサーバ4に対してサービスを特定する。
負荷分散装置3は、負荷分散テーブル52にあるサーバアドレスと仮想ポートとを管理端末に通知し、管理端末2の監視対象サーバテーブル31に追加させる。管理端末2は監視処理依頼データ(テストデータ)を有している。管理端末2は、監視処理依頼データを管理端末2のアプリケーションによりサーバ4に送信する。サーバ4からの応答がサーバ監視応答待ち時間を経過してもなければ、管理端末2は応答がなかったサーバ4を異常として監視対象サーバテーブル31の故障情報を更新する。サーバ4からの応答がサーバ監視応答待ち時間を経過する前にあれば、管理端末2は応答のあったサーバ4を正常として監視対象サーバテーブル31の故障情報を更新する。
管理端末2は監視対象サーバテーブル31の更新と共に、負荷分散装置3に故障情報の更新内容を通知する。負荷分散装置3は通知された故障情報の更新内容に基づき、負荷分散テーブル52の処理情報を更新する。負荷分散装置3は、故障情報が異常に更新されたサーバ4の処理情報を処理不可に更新する。負荷分散装置3は、故障情報が正常に更新されたサーバ4の処理情報を処理可に更新する。
図9は監視パケットの一例のデータ構成図である。管理端末2は、監視対象サーバのアドレス、監視対象の仮想ポート、監視対象サーバのアプリケーションへのテストデータパターンからアプリケーション(例えばブラウザ)を利用して監視パケットを生成し、送信する。管理端末2のアプリケーションは、IPデータグラムにて、送信元の管理端末2のアドレス及び宛先のサーバ4のアドレスを設定し、TCPによるコネクションの確立を行い、テストデータ(GET/HTTP/1.1)を送信する。
サーバ4からの応答時、管理端末2は、サーバ4のアプリケーションからの応答をテストデータ(HTTP/1.1 200 OK)と照合し、同一であればサーバ4のアプリケーションが正常であると判定する。
本実施例の負荷分散システムでは、負荷分散装置3に負荷分散処理を分担させ、管理端末2に故障監視処理を分担させることで、負荷分散装置3が管理端末2における故障監視処理の処理負荷に作用されずに負荷分散処理を行うことができる。また、本実施例の負荷分散システムでは、新しいサービスの為のプロトコルの実装を、負荷分散装置3と独立して行うことができる。
本発明は、以下に記載する付記のような構成が考えられる。
(付記1)
管理端末から受信した、アプリケーションサーバを指定したアプリケーション処理依頼のデータを該アプリケーションサーバに送信する監視データ送信手段と、
前記管理端末から受信した、前記アプリケーションサーバによる前記アプリケーション処理の結果が正常であったか異常であったかの情報を元に、該アプリケーション処理の仮想アドレスに対応付けて記憶手段に記憶された、該アプリケーション処理依頼のデータを該アプリケーションサーバに分散可能であるか不可能であるかの情報を更新する更新手段と、
前記管理端末以外の端末から受信した、仮想アドレスを指定したアプリケーション処理依頼のデータを、該アプリケーション処理の仮想アドレスに対応付けられて前記記憶手段に記憶された、該アプリケーション処理依頼のデータが分散可能であるアプリケーションサーバに送信する負荷分散手段と
を有する負荷分散装置。
(付記2)
複数の前記アプリケーションサーバのアドレス、該アプリケーションサーバに分散させるアプリケーション処理の仮想アドレス、監視周期、監視応答待ち時間、前記管理端末のアドレスの入力を受け付け、対応付けて前記管理端末のアドレス宛に送信する、監視対象サーバ通知手段を更に有する付記1記載の負荷分散装置。
(付記3)
前記アプリケーション処理依頼のデータを送信してから該アプリケーションサーバからの応答待ち時間を計測し、前記監視応答待ち時間の経過前に該アプリケーションサーバから応答を受信した場合に該アプリケーションサーバによるアプリケーション処理を正常と判定し、前記監視応答待ち時間を超えて該アプリケーションサーバから応答を受信しない場合に該アプリケーションサーバによるアプリケーション処理を異常と判定する、判定手段と、
前記判定手段による判定結果を前記分散処理装置に送信する監視結果通知手段と
を更に有する付記2記載の負荷分散装置。
(付記4)
コンピュータによって実行される負荷分散方法であって、
前記コンピュータが、
管理端末から受信した、アプリケーションサーバを指定したアプリケーション処理依頼のデータを該アプリケーションサーバに送信する監視データ送信ステップと、
前記管理端末から受信した、前記アプリケーションサーバによる前記アプリケーション処理の結果が正常であったか異常であったかの情報を元に、該アプリケーション処理の仮想アドレスに対応付けて記憶手段に記憶された、該アプリケーション処理依頼のデータを該アプリケーションサーバに分散可能であるか不可能であるかの情報を更新する更新ステップと、
前記管理端末以外の端末から受信した、仮想アドレスを指定したアプリケーション処理依頼のデータを、該アプリケーション処理の仮想アドレスに対応付けられて前記記憶手段に記憶された、該アプリケーション処理依頼のデータが分散可能であるアプリケーションサーバに送信する負荷分散ステップと
を実行する負荷分散方法。
(付記5)
コンピュータを、
管理端末から受信した、アプリケーションサーバを指定したアプリケーション処理依頼のデータを該アプリケーションサーバに送信する監視データ送信手段と、
前記管理端末から受信した、前記アプリケーションサーバによる前記アプリケーション処理の結果が正常であったか異常であったかの情報を元に、該アプリケーション処理の仮想アドレスに対応付けて記憶手段に記憶された、該アプリケーション処理依頼のデータを該アプリケーションサーバに分散可能であるか不可能であるかの情報を更新する更新手段と、
前記管理端末以外の端末から受信した、仮想アドレスを指定したアプリケーション処理依頼のデータを、該アプリケーション処理の仮想アドレスに対応付けられて前記記憶手段に記憶された、該アプリケーション処理依頼のデータが分散可能であるアプリケーションサーバに送信する負荷分散手段と
して機能させるための負荷分散プログラム。
(付記6)
複数のアプリケーションサーバにアプリケーション処理依頼のデータを分散させる分散処理装置と該アプリケーション処理の管理端末とを含む負荷分散システムであって、
前記複数のアプリケーションサーバのアドレス、該複数のアプリケーションサーバに分散させるアプリケーション処理の仮想アドレス、監視周期、監視応答待ち時間、該アプリケーション処理の管理端末のアドレスの入力を受け付け、対応付けて第1の記憶手段に記憶する、前記分散処理装置の登録手段と、
前記第1の記憶手段に記憶された前記複数のアプリケーションサーバのアドレス、監視周期、監視応答待ち時間を、対応する管理端末のアドレスに送信する、前記分散処理装置の監視対象サーバ通知手段と、
受信した前記複数のアプリケーションサーバのアドレス、監視周期、監視応答待ち時間を第2の記憶手段に記憶する、前記管理端末の監視対象サーバ登録手段と、
前記第2の記憶手段に記憶した前記監視周期に基づき、前記アプリケーションサーバのアドレスを宛先としてアプリケーション処理依頼のデータを送信する、前記管理端末の監視データ送信手段と、
前記アプリケーション処理依頼のデータを受信する、前記分散処理装置の依頼受信手段と、
前記依頼受信手段で受信したアプリケーション処理依頼のデータの宛先が前記第1の記憶手段に記憶した前記アプリケーションサーバのアドレスで、且つ、送信元のアドレスが前記第1の記憶手段に記憶された前記アプリケーション処理の管理端末のアドレスである場合には、該宛先にそのまま該アプリケーション処理依頼のデータを送信する、前記分散処理装置の前記監視データ送信手段と、
前記送信したアプリケーション処理依頼のデータに対する、該アプリケーションサーバからの応答を、該アプリケーション処理依頼の送信元の前記管理端末に送信する、前記分散処理装置の監視結果送信手段と、
前記アプリケーション処理依頼のデータを送信してから該アプリケーションサーバからの応答待ち時間を計測し、前記第2の記憶手段に該アプリケーションサーバに対応付けて記憶された監視応答待ち時間の経過前に該アプリケーションサーバから応答を受信した場合に該アプリケーションサーバによるアプリケーション処理を正常と判定し、前記監視応答待ち時間を超えて該アプリケーションサーバから応答を受信しなかった場合に該アプリケーションサーバによるアプリケーション処理を異常と判定する、前記管理端末の判定手段と、
前記判定手段による判定結果を前記分散処理装置に送信する、前記管理端末の監視結果通知手段と、
前記管理端末から正常が通知された前記アプリケーションサーバのアプリケーション処理を負荷分散対象とし、前記管理端末から異常が通知された前記アプリケーションサーバのアプリケーション処理を負荷分散対象から除外する、前記負荷分散処理装置の負荷分散設定手段と、
前記依頼受信手段で受信したアプリケーション処理依頼のデータの宛先が前記第1の記憶手段に記憶した前記アプリケーション処理の仮想アドレスである場合には、該仮想アドレスに対応付けて記憶され、且つ、負荷分散対象として設定された前記アプリケーションサーバのアドレス宛に、該アプリケーション処理依頼のデータを送信する、前記負荷分散処理装置の負荷分散処理手段と、
を有する負荷分散システム。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
1A〜1C クライアント
2 管理端末
3 負荷分散装置
4,4A〜4C サーバ
5A,5B 集線装置
11 入力装置
12 出力装置
13 ドライブ装置
14 補助記憶装置
15 主記憶装置
16 演算処理装置
17 インターフェース装置
21 パケット受信部
22 パケット識別部
23 監視開始部
24 監視パケット生成部
25 定義設定/監視サーバリストの登録部
26 サーバ復旧通知部
27 監視応答タイムアウト部
28 サーバ故障設定部
29 パケット送信部
30 定義設定テーブル
31 監視対象サーバテーブル
41 パケット受信部
42 パケット識別部
43 宛先書き換え部
44 サーバ選択部
45 監視開始部
46 分散対象サーバの決定部
47 監視サーバリストの登録部
48 サーバ振り分けなし宛先書き換え部
49 宛先買い換え部
50 パケット送信部
51 定義設定テーブル
52 負荷分散テーブル
B バス

Claims (6)

  1. 管理端末から受信した、アプリケーションサーバを指定したアプリケーション処理依頼のデータを該アプリケーションサーバに送信する監視データ送信手段と、
    前記管理端末から受信した、前記アプリケーションサーバによる前記アプリケーション処理の結果が正常であったか異常であったかの情報を元に、該アプリケーション処理の仮想アドレスに対応付けて記憶手段に記憶された、該アプリケーション処理依頼のデータを該アプリケーションサーバに分散可能であるか不可能であるかの情報を更新する更新手段と、
    前記管理端末以外の端末から受信した、仮想アドレスを指定したアプリケーション処理依頼のデータを、該アプリケーション処理の仮想アドレスに対応付けられて前記記憶手段に記憶された、該アプリケーション処理依頼のデータが分散可能であるアプリケーションサーバに送信する負荷分散手段と
    を有する負荷分散装置。
  2. 複数の前記アプリケーションサーバのアドレス、該アプリケーションサーバに分散させるアプリケーション処理の仮想アドレス、監視周期、監視応答待ち時間、前記管理端末のアドレスの入力を受け付け、対応付けて前記管理端末のアドレス宛に送信する、監視対象サーバ通知手段を更に有する請求項1記載の負荷分散装置。
  3. 前記アプリケーション処理依頼のデータを送信してから該アプリケーションサーバからの応答待ち時間を計測し、前記監視応答待ち時間の経過前に該アプリケーションサーバから応答を受信した場合に該アプリケーションサーバによるアプリケーション処理を正常と判定し、前記監視応答待ち時間を超えて該アプリケーションサーバから応答を受信しない場合に該アプリケーションサーバによるアプリケーション処理を異常と判定する、判定手段と、
    前記判定手段による判定結果を前記分散処理装置に送信する監視結果通知手段と
    を更に有する請求項2記載の負荷分散装置。
  4. コンピュータによって実行される負荷分散方法であって、
    前記コンピュータが、
    管理端末から受信した、アプリケーションサーバを指定したアプリケーション処理依頼のデータを該アプリケーションサーバに送信する監視データ送信ステップと、
    前記管理端末から受信した、前記アプリケーションサーバによる前記アプリケーション処理の結果が正常であったか異常であったかの情報を元に、該アプリケーション処理の仮想アドレスに対応付けて記憶手段に記憶された、該アプリケーション処理依頼のデータを該アプリケーションサーバに分散可能であるか不可能であるかの情報を更新する更新ステップと、
    前記管理端末以外の端末から受信した、仮想アドレスを指定したアプリケーション処理依頼のデータを、該アプリケーション処理の仮想アドレスに対応付けられて前記記憶手段に記憶された、該アプリケーション処理依頼のデータが分散可能であるアプリケーションサーバに送信する負荷分散ステップと
    を実行する負荷分散方法。
  5. コンピュータを、
    管理端末から受信した、アプリケーションサーバを指定したアプリケーション処理依頼のデータを該アプリケーションサーバに送信する監視データ送信手段と、
    前記管理端末から受信した、前記アプリケーションサーバによる前記アプリケーション処理の結果が正常であったか異常であったかの情報を元に、該アプリケーション処理の仮想アドレスに対応付けて記憶手段に記憶された、該アプリケーション処理依頼のデータを該アプリケーションサーバに分散可能であるか不可能であるかの情報を更新する更新手段と、
    前記管理端末以外の端末から受信した、仮想アドレスを指定したアプリケーション処理依頼のデータを、該アプリケーション処理の仮想アドレスに対応付けられて前記記憶手段に記憶された、該アプリケーション処理依頼のデータが分散可能であるアプリケーションサーバに送信する負荷分散手段と
    して機能させるための負荷分散プログラム。
  6. 複数のアプリケーションサーバにアプリケーション処理依頼のデータを分散させる分散処理装置と該アプリケーション処理の管理端末とを含む負荷分散システムであって、
    前記複数のアプリケーションサーバのアドレス、該複数のアプリケーションサーバに分散させるアプリケーション処理の仮想アドレス、監視周期、監視応答待ち時間、該アプリケーション処理の管理端末のアドレスの入力を受け付け、対応付けて第1の記憶手段に記憶する、前記分散処理装置の登録手段と、
    前記第1の記憶手段に記憶された前記複数のアプリケーションサーバのアドレス、監視周期、監視応答待ち時間を、対応する管理端末のアドレスに送信する、前記分散処理装置の監視対象サーバ通知手段と、
    受信した前記複数のアプリケーションサーバのアドレス、監視周期、監視応答待ち時間を第2の記憶手段に記憶する、前記管理端末の監視対象サーバ登録手段と、
    前記第2の記憶手段に記憶した前記監視周期に基づき、前記アプリケーションサーバのアドレスを宛先としてアプリケーション処理依頼のデータを送信する、前記管理端末の監視データ送信手段と、
    前記アプリケーション処理依頼のデータを受信する、前記分散処理装置の依頼受信手段と、
    前記依頼受信手段で受信したアプリケーション処理依頼のデータの宛先が前記第1の記憶手段に記憶した前記アプリケーションサーバのアドレスで、且つ、送信元のアドレスが前記第1の記憶手段に記憶された前記アプリケーション処理の管理端末のアドレスである場合には、該宛先にそのまま該アプリケーション処理依頼のデータを送信する、前記分散処理装置の前記監視データ送信手段と、
    前記送信したアプリケーション処理依頼のデータに対する、該アプリケーションサーバからの応答を、該アプリケーション処理依頼の送信元の前記管理端末に送信する、前記分散処理装置の監視結果送信手段と、
    前記アプリケーション処理依頼のデータを送信してから該アプリケーションサーバからの応答待ち時間を計測し、前記第2の記憶手段に該アプリケーションサーバに対応付けて記憶された監視応答待ち時間の経過前に該アプリケーションサーバから応答を受信した場合に該アプリケーションサーバによるアプリケーション処理を正常と判定し、前記監視応答待ち時間を超えて該アプリケーションサーバから応答を受信しなかった場合に該アプリケーションサーバによるアプリケーション処理を異常と判定する、前記管理端末の判定手段と、
    前記判定手段による判定結果を前記分散処理装置に送信する、前記管理端末の監視結果通知手段と、
    前記管理端末から正常が通知された前記アプリケーションサーバのアプリケーション処理を負荷分散対象とし、前記管理端末から異常が通知された前記アプリケーションサーバのアプリケーション処理を負荷分散対象から除外する、前記負荷分散処理装置の負荷分散設定手段と、
    前記依頼受信手段で受信したアプリケーション処理依頼のデータの宛先が前記第1の記憶手段に記憶した前記アプリケーション処理の仮想アドレスである場合には、該仮想アドレスに対応付けて記憶され、且つ、負荷分散対象として設定された前記アプリケーションサーバのアドレス宛に、該アプリケーション処理依頼のデータを送信する、前記負荷分散処理装置の負荷分散処理手段と、
    を有する負荷分散システム。
JP2009087246A 2009-03-31 2009-03-31 負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システム Active JP5381247B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009087246A JP5381247B2 (ja) 2009-03-31 2009-03-31 負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009087246A JP5381247B2 (ja) 2009-03-31 2009-03-31 負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システム

Publications (2)

Publication Number Publication Date
JP2010238101A true JP2010238101A (ja) 2010-10-21
JP5381247B2 JP5381247B2 (ja) 2014-01-08

Family

ID=43092344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009087246A Active JP5381247B2 (ja) 2009-03-31 2009-03-31 負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システム

Country Status (1)

Country Link
JP (1) JP5381247B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017501657A (ja) * 2014-10-31 2017-01-12 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド リンクのヘルスチェック方法および装置
JP2020126515A (ja) * 2019-02-06 2020-08-20 東京電力ホールディングス株式会社 情報処理システム、処理サーバ、情報処理方法およびプログラム
US20220369105A1 (en) * 2021-05-12 2022-11-17 Nile Global, Inc. Methods and systems for scalable head end based authentication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163241A (ja) * 2000-11-29 2002-06-07 Ntt Data Corp クライアントサーバシステム
JP2004120040A (ja) * 2002-09-24 2004-04-15 Nec Corp Ipアドレス管理システムおよびipアドレス管理プログラム
JP2006277570A (ja) * 2005-03-30 2006-10-12 Toshiba Corp 負荷分散システム、負荷分散装置、実サーバ及び負荷分散方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163241A (ja) * 2000-11-29 2002-06-07 Ntt Data Corp クライアントサーバシステム
JP2004120040A (ja) * 2002-09-24 2004-04-15 Nec Corp Ipアドレス管理システムおよびipアドレス管理プログラム
JP2006277570A (ja) * 2005-03-30 2006-10-12 Toshiba Corp 負荷分散システム、負荷分散装置、実サーバ及び負荷分散方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017501657A (ja) * 2014-10-31 2017-01-12 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド リンクのヘルスチェック方法および装置
JP2020126515A (ja) * 2019-02-06 2020-08-20 東京電力ホールディングス株式会社 情報処理システム、処理サーバ、情報処理方法およびプログラム
JP7382720B2 (ja) 2019-02-06 2023-11-17 東京電力ホールディングス株式会社 情報処理システム、処理サーバ、情報処理方法およびプログラム
US20220369105A1 (en) * 2021-05-12 2022-11-17 Nile Global, Inc. Methods and systems for scalable head end based authentication

Also Published As

Publication number Publication date
JP5381247B2 (ja) 2014-01-08

Similar Documents

Publication Publication Date Title
US10917322B2 (en) Network traffic tracking using encapsulation protocol
US9100298B2 (en) Host visibility as a network service
US6738813B1 (en) System and method for monitoring performance of a server system using otherwise unused processing capacity of user computing devices
US8909758B2 (en) Physical server discovery and correlation
US8543692B2 (en) Network system
US9363313B2 (en) Reducing virtual IP-address (VIP) failure detection time
EP2787742B1 (en) Method and system for transmitting network video
US8930445B2 (en) Method of autonomic representative selection in local area networks
JP2004280738A (ja) 代理応答装置
JP2007219608A (ja) 負荷分散処理プログラム及び負荷分散装置
US10033602B1 (en) Network health management using metrics from encapsulation protocol endpoints
US20060221815A1 (en) Failure-monitoring program and load-balancing device
JP2002190821A (ja) 通信振り分け制御方法および制御装置
CN101102288A (zh) 一种实现大型即时通信的方法及系统
JP2012533791A (ja) インスタントメッセージクライアントでのプラグインのダウンロード
CN109787827B (zh) 一种cdn网络监控的方法及装置
JP6220625B2 (ja) 遅延監視システムおよび遅延監視方法
CN109510878A (zh) 一种长连接会话保持方法和装置
US7908355B2 (en) Method for improving network server load balancing
US20180324063A1 (en) Cloud-based system for device monitoring and control
WO2002082727A1 (en) Method for collecting a network performance information, computer readable medium storing the same, and an analysis system and method for network performance
US8572245B1 (en) Using the TCP window size for identifying packets and debugging
JP5381247B2 (ja) 負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システム
Gasmelseed et al. Traffic pattern–based load‐balancing algorithm in software‐defined network using distributed controllers
CN113014573A (zh) Dns服务器的监控方法、系统、电子装置和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130528

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130729

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: 20130903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130916

R150 Certificate of patent or registration of utility model

Ref document number: 5381247

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150