説明

負荷分散装置

【課題】サーバが過負荷であるか否かとその計時機能の適切さとを判別して負荷を分散させる負荷分散装置を提供する。
【解決手段】負荷分散装置100は、現在時刻を計時する計時手段と、監査パケットを定期的にNTPサーバ200,タイムスタンプサーバ300の何れかに送信し、監査パケットにサーバが応答した際の応答時間を算出する応答時間算出手段と、応答時間に基づいて、通信ネットワークAへのデータの負荷を分散する負荷分散手段と、を備える。負荷分散手段はさらに、タイムスタンプサーバの正常・異常を当該サーバからの時刻証明書に基づいて判別し、異常の場合には、当該サーバ以外に負荷を分散する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバに対する負荷を分散しながら、クライアント端末と複数のサーバのうちの一つとを選択的に接続する負荷分散装置に関する。
【背景技術】
【0002】
従来から、サーバ・クライアントシステムにおいて、特定のサーバへの負荷集中を緩和し、個々のサーバに対し負荷を適宜割り振る負荷分散装置が利用されている。
【0003】
特に、特許文献1の負荷分散装置は、複数のサーバにヘルスチェックフレームを送出し、これに対する応答時間が閾値以上のサーバを、過負荷であるとして通信先サーバの選択対象外とする。さらに、この負荷分散装置は、フレームを送信した時間と、それに応答してサーバが送信した応答フレームを受信した時間との差を応答時間として計測していた。
【特許文献1】特開2004−62246号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1の技術では、接続先として、NTP(Network Time Protocol)サーバやタイムスタンプサーバ等の時間を扱うサーバを適用した場合に、負荷分散装置における送信時間と受信時間との差を計測しているために、それらのサーバが過負荷であるか否かを判別することはできても、その計時機能が適切であるか否かを判別できなかった。
【0005】
そのため不適切な計時を行うサーバをシステムから排除することができなかった。そして不適切なサーバをシステム内に含んだままタイムスタンプサービスを提供し続けてしまっていた。
【0006】
さらに不適切な計時を行っているサーバを正常に復帰させる手段も持っていないので、サーバが異常なまま稼動し続ける状況を改善することができず、システム全体の信頼性を維持することができなかった。
【0007】
本発明は、上記問題点に鑑みてなされたもので、サーバが過負荷であるか否かと、その計時機能の適切さとを判別して負荷を分散させる負荷分散装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明の観点に係る負荷分散装置は、
タイムスタンプサーバを含む複数のサーバが接続される第1のネットワークと、クライアントが接続される第2のネットワークとに接続され、前記複数のサーバの負荷量に応じて、前記第2のネットワークから前記第1のネットワークにデータを伝送させる際に接続先のサーバを前記複数のサーバから選択し、選択されたサーバに前記第2のネットワークからのデータを転送する負荷分散装置であって、
送信パケットを前記サーバに送信するパケット送信手段と、
前記パケット送信手段が送信した前記送信パケットに応答して前記サーバが返信した返信パケットを受信するパケット受信手段と、
前記パケット送信手段が送信した前記送信パケットに前記サーバが応答した応答時間を算出する応答時間算出手段と、
前記応答時間算出手段が算出した応答時間が所定時間以上の場合に、前記応答時間が所定時間以上のサーバが過負荷であると判別し、前記複数のサーバのうちの、当該サーバを除外したサーバに、第2のネットワークからのデータによる負荷を分散する負荷分散手段と、を備え、
前記パケット受信手段は、前記送信パケットの送信先の前記サーバがタイムスタンプサーバである場合に、前記返信パケットとして時刻証明書を受信し、
前記負荷分散手段は、前記時刻証明書が正当なものであるか否かを判別し、前記時刻証明書が正当なものではない場合には、前記タイムスタンプサーバが異常であると判別し、前記タイムスタンプサーバを除外したサーバに負荷を分散する、
ことを特徴とする。
【0009】
例えば、前記負荷分散手段は、
前記時刻証明書が証明する時刻と、前記パケット受信手段が前記時刻証明書を受信した時刻との時間差が所定時間以上の場合に、前記時刻証明書が正当なものではないと判別し、前記タイムスタンプサーバを除外したサーバに負荷を分散してもよい。
【0010】
例えば、時刻証明書の電子署名を検証して、当該時刻証明書が検証を通るか否かを判別する署名検証手段をさらに備え、
前記負荷分散手段は、
前記署名検証手段が、前記時刻証明書は検証を通らないと判別した場合に、前記時刻証明書が正当なものではないと判別し、前記タイムスタンプサーバを除外したサーバに負荷を分散してもよい。
【0011】
前記負荷分散手段は、
前記時刻証明書に適用された生成ポリシーが、要求された生成ポリシーと一致しない場合に、前記時刻証明書が正当なものではないと判別し、前記タイムスタンプサーバを除外したサーバに負荷を分散してもよい。
【0012】
例えば、前記応答時間算出手段は、前記パケット送信手段が前記送信パケットを送信した時刻から、前記パケット受信手段が前記返信パケットを受信した時刻までの時間を前記応答時間として算出し、
前記負荷分散手段は、算出された応答時間に基づいて負荷を分散してもよい。
【0013】
例えば、前記パケット送信手段は、送信時刻を含んだ送信パケットを前記サーバに送信し、
前記パケット受信手段は、前記送信パケットに応答して前記サーバが前記送信時刻と返信時刻とを含めて返信した返信パケットを受信し、
前記応答時間算出手段は、前記返信パケットに含まれた前記送信時刻から前記返信時刻までの時間を前記応答時間として算出し、
前記負荷分散手段は、算出された応答時間に基づいて負荷を分散してもよい。
【0014】
例えば、前記負荷分散手段はさらに、
前記返信時刻から、前記パケット受信手段が返信パケットを受信した時刻までの時間差が所定時間以上の場合にも、前記サーバの計時機能が異常であると判別し、前記サーバを除外したサーバに負荷を分散してもよい。
【0015】
例えば、前記所定時間は、前記複数のサーバ毎に設定されてもよい。
【0016】
例えば、前記負荷分散手段が異常であると判別したサーバの処理を停止させる、又は、正常な状態に復帰させる手段をさらに備えてもよい。
【0017】
例えば、前記パケット受信手段は、前記サーバに所定のサービスを要求する旨の情報が含まれた要求パケットを前記クライアントから受信し、
前記パケット送信手段は、前記要求パケットを前記送信パケットとして前記サーバに転送し、
前記パケット受信手段は、前記要求パケットに応答して前記サーバが返信した返信パケットを受信し、
前記負荷分散手段は、前記返信パケットに基づいて前記サーバが異常であるか否かを判別し、
前記パケット送信手段は、
前記サーバが異常である場合に、返信パケットを破棄して前記クライアントにエラー応答を送信し、
前記サーバが異常ではない場合に、返信パケットを前記クライアントに転送してもよい。
【発明の効果】
【0018】
本発明によれば、サーバが過負荷であるか否かと、その計時機能の適切さとを判別して負荷を分散させることができる。
【0019】
さらに、計時機能の適切さを判別するので、計時が不適切であった場合には、そのサーバを排除し、不適切な応答をクライアントには返さない。あるいはエラー応答をクライアントに返すようにすることで、常に適切なタイムスタンプサービスを提供することが可能となる。
【0020】
さらに、計時機能が不適切であるサーバについては、正常な状態に復帰させることができるようになり、システム全体の信頼性を維持することが可能となる。
【発明を実施するための最良の形態】
【0021】
本発明の負荷分散装置を負荷分散システム1に適用した場合を例に、図面を参照して説明する。
【0022】
図1に示すように、負荷分散システム1は、負荷分散装置100と、複数のNTP(Network Time Protocol)サーバ200と、複数のタイムスタンプサーバ(TSS)300と、その他のサービスを提供するサーバ500と、複数のクライアント400と、通信ネットワークAと、通信ネットワークBと、から構成される。
【0023】
通信ネットワークAには、負荷分散装置100と、NTPサーバ200と、タイムスタンプサーバ300と、その他のサービスを提供するサーバ500とが接続される。
【0024】
通信ネットワークBは、例えば、いわゆるインターネットであってもよいし、イントラネットであってもよい。通信ネットワークBには、負荷分散装置100と、複数のクライアント400と、が接続される。
【0025】
通信ネットワークAと通信ネットワークBとは、同一のプロトコルの通信ネットワークである。
【0026】
クライアント400は、NTPサーバ200、タイムスタンプサーバ300及びその他のサービスを提供するサーバ500により供給されるサービスを受けるユーザが利用する端末で、通信ネットワークBに接続される。
【0027】
NTPサーバ200は、現在時刻を計時する計時部を備え、ネットワークタイムプロトコルに従って、他の上位のNTPサーバから時刻を取得して参照することで、計時部が計時する現在時刻を定期的に補正する。
また、NTPサーバ200は、他装置の要求に従って、計時部が計時する現在時刻の情報を提供する。
【0028】
タイムスタンプサーバ300は、内部で計時している時刻に基づいて時刻証明書を生成してクライアント400又は負荷分散装置100に送信する。その際に、タイムスタンプサーバ300は、クライアント400又は負荷分散装置100の要求ポリシーに従って、電子署名が為された時刻証明書を送信する。
また、タイムスタンプサーバ300は、上位のNTPサーバ200から時刻を取得して参照することで、内部で計時している時刻を定期的に補正する。
【0029】
負荷分散装置100は、サーバへの負荷を分散させる機能とNTPサーバとしての機能とを持つ。負荷分散装置100はGPSや標準電波、原子時計などの正確な時刻源と接続されても良いし、そうした時刻源と接続されている他の上位のNTPサーバと時刻同期するようにしてもよい。
負荷分散装置100は、図2に示すように、制御部110と、記憶部120と、入力部130と、出力部140と、通信制御部150と、計時部160と、から構成される。
【0030】
記憶部120は、例えば、ROM(Read Only Memory)やRAM(Random Access Memory)やハードディスク等から構成され、制御部110の動作プログラムやサーバ情報121や要求ポリシー情報122等を記憶する。また、記憶部120は、制御部110のワークエリアとして機能する。
【0031】
サーバ情報121は、通信ネットワークAに接続される各サーバの状態の情報や、各サーバの状態を判別するための閾値等から構成される。具体的には、図3に示すように、例えば、サーバの種類(NTPサーバ、タイムスタンプサーバ、または送受信データ中に時刻情報を含むサービスを提供するサーバ、その他)と、各種類のサーバの番号、アドレス、各サーバの状態(正常であるか、異常であるか)、各サーバが過負荷であるか否かを判別するための閾値1a及び閾値1b、各サーバの計時機能が適切であるか否かを判別するための閾値2、各タイムスタンプサーバが発行する時刻証明書の時刻が適切であるか否かを判別するための閾値3とから構成される。なお各閾値はサーバ個々に、例えばそのサーバの処理能力等から決められる。
【0032】
要求ポリシー情報122は、クライアント400又は負荷分散装置100が、タイムスタンプサーバ300に対して時刻証明書の発行を要求するときの要求ポリシーの情報である。具体的には、図4に示すように、例えば、要求元、要求する署名アルゴリズムの種類、要求するファイル容量、要求する時刻精度、要求する発行精度等から構成される。クライアント400又は負荷分散装置100は、これらの要求ポリシーに従って、タイムスタンプサーバ300が時刻証明書を発行することを要求する。
【0033】
入力部130は、例えば、キーボード、マウス等から構成され、ユーザによる操作を受け付け、操作情報を制御部110に供給する。
【0034】
出力部140は、例えば、表示装置、プリンタ等から構成され、制御部110の制御に従い出力情報をユーザに提供する。
【0035】
通信制御部150は、LANポートや通信回路等から構成され、通信ネットワークAと通信ネットワークBとに接続され、他装置との間でデータの送受信を行う。
【0036】
計時部160は、水晶発振器を内蔵し、水晶発振器の発振周波数に同期したクロックパルスを生成し、クロックパルスに同期して現在時刻を計時して出力する。
【0037】
制御部110は、CPU(Central Processing Unit)等から構成され、記憶部120に格納された動作プログラムに従って、負荷分散装置100の全体の動作を制御する。
具体的には、制御部110は、記憶部120に格納された動作プログラムに従って、ソフトウェア的に動作する時計であるシステムクロックとして機能し、現在時刻を計時して出力する。
また、制御部110は、通信制御部150を制御して監査パケットを通信ネットワークA上の各サーバに送信して各サーバが正常であるか否かを判別し、異常であるサーバ以外に負荷を分散させる。
また、制御部110は、クライアント400による時刻証明書の要求をタイムスタンプサーバ300に転送し、それに応答してタイムスタンプサーバ300より返信された時刻証明書をクライアント400に転送する。
制御部110は、ネットワークタイムプロトコルに従って、他の上位のNTPサーバから時刻を取得して参照することで、計時部160と制御部110内部のシステムクロックとが計時する現在時刻を定期的に補正する。
【0038】
以下、上記構成を有する負荷分散システム1の動作を説明する。
【0039】
(実施の形態1)
実施の形態1に係る負荷分散装置100は、通信ネットワークAに接続される各サーバに定期的に、監査パケットを送信し、各サーバは、受信した監査パケットに応答して、返信パケットを返信する。負荷分散装置100は、監査パケットを送信してから、返信パケットを受信するまでの応答時間が閾値1a以上である場合に、そのサーバは過負荷状態であるために異常であると判別する。
【0040】
なお、負荷分散装置100がタイムスタンプサーバ300に監査パケットを送信する場合には、監査パケットに要求ポリシーを含めて送信し、タイムスタンプサーバ300は、返信パケットとして、基本的にはその要求ポリシーに従った時刻証明書を返信する。負荷分散装置100は、応答時間が閾値1a以上である場合に、そのタイムスタンプサーバ300は異常であると判別する。また、負荷分散装置100は、時刻証明書の検証を行い、時刻証明書が検証を通らない場合には、そのタイムスタンプサーバ300は異常であると判別する。また、負荷分散装置100は、時刻証明書が証明する証明時刻と、時刻証明書を受信した受信時刻との時間差が閾値3以上である場合には、そのタイムスタンプサーバ300は、その計時機能が適切でないために異常であると判別する。また、負荷分散装置100は、実際の時刻証明書の生成ポリシーが何らかの理由によって要求ポリシーと異なる場合には、そのタイムスタンプサーバ300は異常であると判別する。
【0041】
負荷分散装置100は、応答時間が閾値1a未満である場合に、そのサーバが正常であると判別する。タイムスタンプサーバ300の場合には、負荷分散装置100は、さらにその時刻証明書が検証を通り、証明時刻と受信時刻との時間差が閾値3未満であり、時刻証明書の生成ポリシーが要求ポリシーと一致している場合には、そのタイムスタンプサーバ300が正常であると判別する。
【0042】
負荷分散装置100は、新たに異常と判別されたサーバをクライアント400からの負荷の振り分け対象から外し、そのサーバの処理を停止又は変更させ、そのサーバが正常な状態に戻るように要求を送信する。
【0043】
負荷分散装置100は、異常と判別していたサーバが正常に戻ったと判別した場合に、そのサーバをクライアント400からの負荷の振り分け対象に戻す。
【0044】
このようにして、負荷分散装置100は、計時機能の適切さや負荷状態を含んだサーバの状態を判別してクライアントからサーバに対する負荷を分散することができる。
【0045】
なお、実施の形態1において記憶部120は、パケット管理情報123をさらに格納する。パケット管理情報123は、例えば、図5に示すように、監査パケットを送信するごとに、負荷分散装置100が監査対象サーバに対して自動的に割り振るポート番号、負荷分散装置100のIPアドレスおよび当該監査パケットを送信した時刻とから構成される。
【0046】
以下、フローチャートを参照しながら、実際の負荷分散装置100の処理を説明する。
【0047】
先ず、図6を参照しながら、負荷分散装置100が行う負荷分散処理を説明する。簡単に説明すると、負荷分散装置100は、各サーバに監査パケットを送信し、それに応答して返信された返信パケットを解析し、そのサーバが正常であるか否かを判別して、判別結果に基づいてクライアント400からの負荷を各サーバに振り分ける。なお、負荷分散処理は、定期的な割り込み処理で実施される。
【0048】
先ず、制御部110は、サーバ情報121に記載されているサーバから一つを監査対象サーバとして選択する(ステップS101)。なお、負荷分散処理が行われるたびに、このステップにおいて、サーバ情報121に記載されている順にサーバが監査対象サーバとして選択される。
【0049】
次に、制御部110は、監査パケットを、監査対象サーバに送信する(ステップS102)。なお、監査対象サーバがタイムスタンプサーバ300である場合には、制御部110は、所定の要求ポリシーを要求ポリシー情報122に記載して、その要求ポリシーと、その要求ポリシーに従った時刻証明書の要求とを含んだ監査パケットを、選択されたタイムスタンプサーバ300に送信する。
【0050】
制御部110は、監査パケットに応答して監査対象サーバが返信した返信パケットを受信したか否かを判別する(ステップS103)。なお、監査対象サーバがタイムスタンプサーバ300である場合には、返信パケットは時刻証明書である。
【0051】
返信パケットを受信していないと判別した場合には(S103;NO)、制御部110は、監査パケットを送信してから所定の時間が経過したか否かを判別する(ステップS104)。
【0052】
監査パケットを送信してから所定の時間が経過したと判別した場合には(S104;YES)、制御部110は、監査対象サーバが異常であると判別し(ステップS105)、処理をステップS110に進める。
【0053】
監査パケットを送信してから所定の時間が経過していないと判別した場合には(S104;NO)、制御部110は、処理をステップS103に戻す。
【0054】
返信パケットを受信したと判別した場合には(S103;YES)、制御部110は、返信パケットに基づいて監査対象サーバが正常であるか否かを判別するパケット解析処理を行う(ステップS106)。なお、パケット解析処理については、詳しく後述する。
【0055】
制御部110は、パケット解析処理の結果、監査対象サーバが正常であるか否かを判別する(ステップS107)。
【0056】
監査対象サーバが正常であると判別した場合には(S107;YES)、制御部110は、サーバ情報121を参照して、直近の負荷分散処理での判別において既にこの監査対象サーバが正常と判別されているか否かを判別する(ステップS108)。
【0057】
直近の負荷分散処理での判別においてこの監査対象サーバが正常と判別されている場合には(S108;YES)、つまり、監査対象サーバが引き続き正常である場合には、制御部110は、処理を終了させる。
【0058】
直近の負荷分散処理での判別においてこの監査対象サーバが異常と判別されている場合には(S108;NO)、つまり、監査対象サーバが異常から正常となった場合には、制御部110は、サーバ情報121におけるこの監査対象サーバの状態の欄を正常に記載変更し(ステップS109)、処理を終了させる。
【0059】
監査対象サーバが異常であると判別した場合には(S107;NO)、制御部110は、サーバ情報121を参照して、直近の負荷分散処理での判別において既にこの監査対象サーバが異常と判別されているか否かを判別する(ステップS110)。
【0060】
直近の負荷分散処理での判別においてこの監査対象サーバが異常と判別されている場合には(S110;YES)、つまり、監査対象サーバが引き続き異常である場合には、制御部110は、処理を終了させる。
【0061】
直近の負荷分散処理での判別においてこの監査対象サーバが正常と判別されている場合には(S110;NO)、つまり、監査対象サーバが正常から異常となった場合には、制御部110は、サーバ情報121におけるこの監査対象サーバの状態の欄を異常に記載を変更する(ステップS111)。
【0062】
次に、制御部110は、監査対象サーバの処理を停止又は変更させ(ステップS112)、正常状態に戻るように復帰要求を監査対象サーバに送信し(ステップS113)、処理を終了させる。
【0063】
このようにして、負荷分散処理では、負荷分散装置100は、監査対象サーバの正常・異常を判別して、判別結果に応じてサーバ情報121を書き換え、監査対象サーバに対する処理を行う。なお、サーバ情報121において状態の欄が異常となっているサーバには、それ以降のクライアント400からの負荷を振り分けないようにすることにより、負荷の分散が行われる。
【0064】
ここで、図7を参照しながら、前述したパケット解析処理(S106)について説明する。負荷分散装置100は、パケットの送受信において、パケットの応答時間や返信時刻と受信時刻との時間差等に基づいて、監査対象サーバの正常・異常を判別する。
【0065】
先ず、制御部110は、受信した返信パケットと送信した監査パケットとの紐付けを行う。返信パケットには、監査パケットに応答して監査対象サーバが返信する返信先を示すIPアドレスとポート番号が含まれている。そこで制御部110はパケット管理情報123を参照して当該返信パケットに含まれるIPアドレスとポート番号に対応する監査パケットを送信した際の情報から、当該監査パケットを送信した送信時刻を特定する。
【0066】
次に、制御部110は、返信パケットを受信した時刻と監査パケットを送信した時刻との時間差である応答時間を算出する(ステップS106−1)。
【0067】
次に、制御部110は、算出した応答時間が、サーバ情報121に記載されている、この監査対象サーバの閾値1aより小さいか否かを判別する(ステップS106−2)。
【0068】
応答時間が閾値1a以上であると判別した場合には(S106−2;NO)、制御部110は、監査対象サーバが、過負荷であるために異常であると判別して(ステップS106−9)、処理を負荷分散処理に返す。
【0069】
次に、制御部110は、監査対象サーバがタイムスタンプサーバ300であるか否かを判別する(ステップS106−3)。
【0070】
監査対象サーバがタイムスタンプサーバ300である場合には(S106−3;YES)、返信パケットは時刻証明書であるので、制御部110は、時刻証明書の電子署名の検証を行う(ステップS106−4)。
【0071】
制御部110は、ステップS106−4の結果、時刻証明書が検証を通ったか否かを判別する(ステップS106−5)。
【0072】
時刻証明書が検証を通らなかった場合には(S106−5;NO)、制御部110は、監査対象サーバ(タイムスタンプサーバ)が異常であると判別して(ステップS106−9)、処理を負荷分散処理に返す。
【0073】
時刻証明書が検証を通った場合には(S106−5;YES)、制御部110は、時刻証明書が証明する証明時刻と、時刻証明書を受信した受信時刻との時間差を算出する(ステップS106−6)。
【0074】
次に、制御部110は、証明時刻と受信時刻との時間差が、サーバ情報121に記載されている、この監査対象サーバ(タイムスタンプサーバ)の閾値3より小さいか否かを判別する(ステップS106−7)。
【0075】
証明時刻と受信時刻との時間差が閾値3以上であると判別した場合には(S106−7;NO)、制御部110は、監査対象サーバ(タイムスタンプサーバ)が、その計時機能が不適切であるために異常であると判別して(ステップS106−9)、処理を負荷分散処理に返す。
【0076】
証明時刻と受信時刻との時間差が閾値3未満であると判別した場合には(S106−7;YES)、制御部110は、要求ポリシー情報122を参照して、クライアント400が要求した要求ポリシーと、時刻証明書に適用された生成ポリシーとが一致するか否かを判別する(ステップS106−8)。
【0077】
要求ポリシーと生成ポリシーとが一致しない場合には(S106−8;NO)、制御部110は、監査対象サーバ(タイムスタンプサーバ)が異常であると判別して(ステップS106−9)、処理を負荷分散処理に返す。
【0078】
要求ポリシーと生成ポリシーとが一致する場合には(S106−8;YES)、制御部110は、監査対象サーバ(タイムスタンプサーバ)が正常であると判別して(ステップS106−10)、処理を負荷分散処理に返す。
【0079】
このようにして、パケット解析処理によれば、負荷分散装置100は、データの応答時間と、時刻証明書の状態とによって各サーバが正常であるか否かを判別することができる。
【0080】
次に、負荷分散装置100が行う時刻証明仲介処理を説明する。簡単に説明すると、負荷分散装置100は、クライアント400から時刻証明の要求を受信すると、その要求を正常なタイムスタンプサーバ300に転送し、それに応答して返信された時刻証明書を解析する。解析した結果、そのタイムスタンプサーバ300が正常であれば、時刻証明書をクライアント400に転送する。解析した結果、そのタイムスタンプサーバ300が異常であれば、エラー応答をクライアント400に送信する。
【0081】
以下、図8のフローチャートを参照しながら、時刻証明仲介処理を詳細に説明する。
【0082】
クライアント400から時刻証明の要求を受信すると、制御部110は、時刻証明の要求に添付されている要求ポリシーを要求ポリシー情報122に記載する(ステップS201)。
【0083】
次に、制御部110は、サーバ情報121の状態の欄が正常であるタイムスタンプサーバ300から一つを選択し、時刻証明の要求を、選択されたタイムスタンプサーバ300に転送する(ステップS202)。
【0084】
なお、クライアント400から送信された時刻証明の要求にはクライアント400のIPアドレスと、要求を送信するごとにクライアント400が自動的に割り振るポート番号が添付されている。制御部110は、このIPアドレスとポート番号および時刻証明の要求を転送した転送時刻をパケット管理情報123に格納する。
【0085】
制御部110は、要求に応答してタイムスタンプサーバ300が返信した時刻証明書を受信したか否かを判別する(ステップS203)。
【0086】
時刻証明書を受信していないと判別した場合には(S203;NO)、制御部110は、時刻証明の要求を転送してから所定の時間が経過したか否かを判別する(ステップS204)。
【0087】
時刻証明の要求を転送してから所定の時間が経過したと判別した場合には(S204;YES)、制御部110は、そのタイムスタンプサーバ300が異常であると判別し(ステップS205)、処理をステップS209に進める。
【0088】
時刻証明の要求を転送してから所定の時間が経過していないと判別した場合には(S204;NO)、制御部110は、処理をステップS203に戻す。
【0089】
時刻証明書を受信したと判別した場合には(S203;YES)、制御部110は、受信した時刻証明書に基づいて、そのタイムスタンプサーバ300が正常であるか否かを判別する時刻証明書解析処理を行う(ステップS206)。なお、時刻証明書解析処理については、詳しく後述する。
【0090】
制御部110は、時刻証明書解析処理の結果、タイムスタンプサーバ300が正常であるか否かを判別する(ステップS207)。
【0091】
タイムスタンプサーバ300が正常であると判別した場合には(S207;YES)、制御部110は、受信した時刻証明書をパケット管理情報123に記録されているIPアドレスとポート番号から特定したクライアント400に転送して(ステップS208)、処理を終了させる。
【0092】
タイムスタンプサーバ300が異常であると判別した場合には(S207;NO)、制御部110は、サーバ情報121におけるこのタイムスタンプサーバ300の状態の欄を異常に記載を変更する(ステップS209)。
【0093】
次に、制御部110は、タイムスタンプサーバの処理を停止又は変更させ(ステップS210)、正常状態に戻るように復帰要求をタイムスタンプサーバに送信し(ステップS211)、時刻証明書を破棄し、エラー応答をクライアント400に送信して(ステップS212)、処理を終了させる。
【0094】
このようにして、時刻証明仲介処理では、負荷分散装置100は、正常であると考えられるタイムスタンプサーバに、クライアント400の時刻証明の要求を転送して時刻証明書を受信し、その時刻証明書に基づいて、そのタイムスタンプサーバの正常・異常を再度判別し、正常である場合には時刻証明書を転送して、異常である場合には、そのサーバに対して所定の処理を行い、クライアント400には、エラー応答を送信する。よって、正常なタイムスタンプサーバ300のみからの時刻証明書をクライアント400は受信することができる。
【0095】
なお、パケット管理情報123にはクライアント400からの時刻証明の要求を転送した転送時刻が記憶されているので、この情報を用いればタイムスタンプサーバ300が発行した時刻証明書を受信するまでに要した応答時間を算出することができるので、時刻証明の要求を転送したタイムスタンプサーバ300が過負荷に陥っていないかどうかについても再度確認するようにしてもよい。
【0096】
ここで、図9を参照しながら、前述した時刻証明書解析処理(S206)について説明する。負荷分散装置100は、受信した時刻証明書を、証明時刻と受信時刻との時間差等に基づいて解析し、タイムスタンプサーバの正常・異常を判別する。
【0097】
先ず、制御部110は、受信した時刻証明書の電子署名の検証を行う(ステップS206−1)。
【0098】
制御部110は、ステップS206−1の結果、時刻証明書が検証を通ったか否かを判別する(ステップS206−2)。
【0099】
時刻証明書が検証を通らなかった場合には(S206−2;NO)、制御部110は、そのタイムスタンプサーバ300が異常であると判別して(ステップS206−6)、処理を時刻証明仲介処理に返す。
【0100】
時刻証明書が検証を通った場合には(S206−2;YES)、制御部110は、時刻証明書が証明する証明時刻と、時刻証明書を受信した受信時刻との時間差を算出する(ステップS206−3)。
【0101】
次に、制御部110は、証明時刻と受信時刻との時間差が、サーバ情報121に記載されている、そのタイムスタンプサーバ300の閾値3より小さいか否かを判別する(ステップS206−4)。
【0102】
証明時刻と受信時刻との時間差が閾値3以上であると判別した場合には(S206−4;NO)、制御部110は、そのタイムスタンプサーバ300が、その計時機能が不適切であるために異常であると判別して(ステップS206−6)、処理を時刻証明仲介処理に返す。
【0103】
証明時刻と受信時刻との時間差が閾値3未満であると判別した場合には(S206−4;YES)、制御部110は、要求ポリシー情報122を参照して、クライアント400が要求した要求ポリシーと、時刻証明書に適用された生成ポリシーとが一致するか否かを判別する(ステップS206−5)。
【0104】
要求ポリシーと生成ポリシーとが一致しない場合には(S206−5;NO)、制御部110は、タイムスタンプサーバ300が異常であると判別して(ステップS206−6)、処理を時刻証明仲介処理に返す。
【0105】
要求ポリシーと生成ポリシーとが一致する場合には(S206−5;YES)、制御部110は、タイムスタンプサーバ300が正常であると判別して(ステップS206−7)、処理を時刻証明仲介処理に返す。
【0106】
このようにして、時刻証明書解析処理によれば、負荷分散装置100は、証明書の検証結果と、証明時刻と受信時刻との時間差と、要求ポリシーと生成ポリシーとの一致・不一致とに基づいてタイムスタンプサーバ300が正常であるか否かを判別することができる。
【0107】
次に、負荷分散装置100が行う他サービス仲介処理を説明する。簡単に説明すると、負荷分散装置100は、クライアント400から、例えば、時刻情報を定期的に提供するサービス等の任意の他のサービスを受けたい旨の要求を受信すると、そのサービスの要求を、正常であり、且つ、そのサービスを行っている通信ネットワークA上のサーバ500に転送し、それに応答して返信されたパケットを受信する。そして、転送した時刻と受信した時刻との時間差が閾値以下であれば、そのサーバを正常と判定し、返信パケットをクライアント400に転送する。時間差が閾値以上であれば、そのサーバを異常と判定し、エラー応答をクライアント400に送信する。
【0108】
以下、図10のフローチャートを参照しながら、他サービス仲介処理を詳細に説明する。
【0109】
クライアント400からサービス要求パケットを受信すると、制御部110は、サーバ情報121の状態の欄が正常であり、且つ、そのサービスを行っているサーバ500から一つを選択し、そのサービスの要求を、選択されたサーバに転送する(ステップS301)。
【0110】
なお、クライアント400から送信されたサービス要求パケットにはクライアント400のIPアドレスと、サービス要求パケットを送信するごとにクライアント400が自動的に割り振るポート番号が添付されている。制御部110は、このIPアドレスとポート番号をパケット管理情報123に格納する。
【0111】
制御部110は、選択されたサーバがサービス要求パケットに応答して返信した返信パケットを受信したか否かを判別する(ステップS302)。
【0112】
返信パケットを受信していないと判別した場合には(S302;NO)、制御部110は、サービス要求パケットを転送してから所定の時間が経過したか否かを判別する(ステップS303)。
【0113】
サービス要求パケットを転送してから所定の時間が経過したと判別した場合には(S303;YES)、制御部110は、処理をステップS308に進める。
【0114】
サービス要求パケットを転送してから所定の時間が経過していないと判別した場合には(S303;NO)、制御部110は、処理をステップS302に戻す。
【0115】
返信パケットを受信したと判別した場合には(S302;YES)、制御部110は、受信した返信パケットと転送したサービス要求パケットとの紐付けを行う。返信パケットには、この選択したサーバが要求パケットに応答して返信した返信先を示すIPアドレスとポート番号が含まれている。そこで制御部110はパケット管理情報123を参照して当該返信パケットに含まれるIPアドレスとポート番号に対応するサービス要求パケットを転送した際の情報から、転送時刻を特定する。
【0116】
次に、制御部110は、返信パケットを受信した時刻とサービス要求を転送した転送時刻との時間差である応答時間を算出する(ステップS304)。
【0117】
次に、制御部110は、算出した応答時間が、サーバ情報121に記載されている、この選択したサーバの閾値1aより小さいか否かを判別する(ステップS305)。
【0118】
応答時間が閾値1a未満であると判別した場合には(S305;YES)、制御部110は、選択したサーバは正常であると判別し(ステップS306)、返信パケットを選択サーバに転送し(ステップS307)、処理を終了させる。
【0119】
応答時間が閾値1a以上であると判別した場合には(S305;NO)、制御部110は、対象サーバが、過負荷であるために異常であると判別し(ステップS308)、サーバ情報121におけるこの選択したサーバの状態の欄を異常に記載を変更する。(ステップS309)
【0120】
次に、制御部110は、選択サーバの処理を停止又は変更させ(ステップS310)、正常状態に戻るように復帰要求をこの選択したサーバに送信し(ステップS311)、返信パケットを破棄し、エラー応答をクライアント400に送信して(ステップS312)、処理を終了させる。
【0121】
このようにして、他サービス仲介処理では、負荷分散装置100は、正常なサーバに、クライアント400のサービスの要求パケットを転送して返信パケットを受信し、その返信パケットに基づいて、そのサーバの正常・異常を判別し、正常である場合には返信パケットを転送して、異常である場合には、そのサーバに対して所定の処理を行い、クライアント400には、エラー応答を送信する。よって、正常なサーバのみからのサービスをクライアントは受けることができる。
【0122】
(実施の形態2)
実施の形態1においては、パケット管理情報123を用いて応答時間を算出していた。しかし、実施の形態2においては、パケットに送信時刻及び/又は返信時刻等の時刻情報を含ませることによって応答時間を算出する。なお、応答時間の算出以外は実施の形態1と同様である。
【0123】
実施の形態2においては、負荷分散装置100は、通信ネットワークAに接続される各サーバに定期的に送信時の時刻である送信時刻情報を含めた監査パケットを送信し、各サーバは、受信した監査パケットに応答して、送信時刻情報と返信時の時刻である返信時刻情報とを含めた返信パケットを返信する。負荷分散装置100は、返信パケットを受信した後、返信パケットに含まれる送信時刻情報と返信時刻情報から、応答時間を算出し、その応答時間が閾値1b以上である場合に、そのサーバは過負荷状態であるために異常であると判別する。
【0124】
また、実施の形態2においては、負荷分散装置100がタイムスタンプサーバ300に監査パケットを送信する場合には、監査パケットに要求ポリシーを含めて送信し、タイムスタンプサーバ300は、返信パケットとして、基本的にはその要求ポリシーに従った時刻証明書を返信する。負荷分散装置100は、応答時間が閾値1b以上である場合に、そのタイムスタンプサーバ300は異常であると判別する。また、負荷分散装置100は、返信時刻から受信時刻までの時間差が閾値2以上である場合に、そのタイムスタンプサーバ300は異常であると判別する。また、負荷分散装置100は、時刻証明書の検証を行い、時刻証明書が検証を通らない場合には、そのタイムスタンプサーバ300は異常であると判別する。また、負荷分散装置100は、時刻証明書が証明する証明時刻と、時刻証明書を受信した受信時刻との時間差が閾値3以上である場合には、そのタイムスタンプサーバ300は、その計時機能が適切でないために異常であると判別する。また、負荷分散装置100は、実際の時刻証明書の生成ポリシーが何らかの理由によって要求ポリシーと異なる場合には、そのタイムスタンプサーバ300は異常であると判別する。
【0125】
また、実施の形態2においては、負荷分散装置100は、応答時間が閾値1b未満であり、返信時刻から受信時刻までの時間差が閾値2未満である場合に、そのサーバが正常であると判別する。タイムスタンプサーバ300の場合には、負荷分散装置100は、さらにその時刻証明書が検証を通り、証明時刻と受信時刻との時間差が閾値3未満であり、時刻証明書の生成ポリシーが要求ポリシーと一致している場合には、そのタイムスタンプサーバ300が正常であると判別する。
【0126】
以下、フローチャートを参照しながら、実施の形態2における実際の負荷分散装置100の処理を説明する。
【0127】
なお、実施の形態2で行われる処理のうち実施の形態1と異なるのは、パケット解析処理と他サービス仲介処理の2つであり、それ以外は実施の形態1と同様であるので詳細な説明は省略し、パケット解析処理と他サービス仲介処理の2つについて以下に詳細に説明するものとする。
【0128】
先ず、図11を参照しながら、実施の形態2におけるパケット解析処理(S106)について説明する。負荷分散装置100は、パケットの送受信において、パケットの応答時間や返信時刻と受信時刻との時間差等に基づいて、監査対象サーバの正常・異常を判別する。
【0129】
先ず、制御部110は、受信した返信パケットに含まれる送信時刻と返信時刻との時間差である応答時間を算出する(ステップS106−21)。
【0130】
次に、制御部110は、算出した応答時間が、サーバ情報121に記載されている、この監査対象サーバの閾値1bより小さいか否かを判別する(ステップS106−22)。
【0131】
応答時間が閾値1b以上であると判別した場合には(S106−22;NO)、制御部110は、監査対象サーバが、過負荷であるために異常であると判別して(ステップS106−31)、処理を負荷分散処理に返す。
【0132】
応答時間が閾値1b未満であると判別した場合には(S106−22;YES)、制御部110は、受信した返信パケットに含まれる返信時刻と、返信パケットを受信した受信時刻との時間差を算出する(ステップS106−23)。
【0133】
次に、制御部110は、返信時刻と受信時刻との時間差が、サーバ情報121に記載されている、この監査対象サーバの閾値2より小さいか否かを判別する(ステップS106−24)。
【0134】
返信時刻と受信時刻との時間差が閾値2以上であると判別した場合には(S106−24;NO)、制御部110は、監査対象サーバが、計時機能が不適切であるために異常であると判別して(ステップS106−31)、処理を負荷分散処理に返す。
【0135】
返信時刻と受信時刻との時間差が閾値2未満であると判別した場合には(S106−24;YES)、制御部110は、監査対象サーバがタイムスタンプサーバ300であるか否かを判別する(ステップS106−25)。
【0136】
監査対象サーバがタイムスタンプサーバ300ではない場合には(S106−25;NO)、制御部110は、監査対象サーバが正常であると判別して(ステップS106−32)、処理を負荷分散処理に返す。
【0137】
監査対象サーバがタイムスタンプサーバ300である場合には(S106−25;YES)、返信パケットは時刻証明書であるので、制御部110は、時刻証明書の電子署名の検証を行う(ステップS106−26)。
【0138】
制御部110は、ステップS106−26の結果、時刻証明書が検証を通ったか否かを判別する(ステップS106−27)。
【0139】
時刻証明書が検証を通らなかった場合には(S106−27;NO)、制御部110は、監査対象サーバ(タイムスタンプサーバ)が異常であると判別して(ステップS106−31)、処理を負荷分散処理に返す。
【0140】
時刻証明書が検証を通った場合には(S106−27;YES)、制御部110は、時刻証明書が証明する証明時刻と、時刻証明書を受信した受信時刻との時間差を算出する(ステップS106−28)。
【0141】
次に、制御部110は、証明時刻と受信時刻との時間差が、サーバ情報121に記載されている、この監査対象サーバ(タイムスタンプサーバ)の閾値3より小さいか否かを判別する(ステップS106−29)。
【0142】
証明時刻と受信時刻との時間差が閾値3以上であると判別した場合には(S106−29;NO)、制御部110は、監査対象サーバ(タイムスタンプサーバ)が、その計時機能が不適切であるために異常であると判別して(ステップS106−31)、処理を負荷分散処理に返す。
【0143】
証明時刻と受信時刻との時間差が閾値3未満であると判別した場合には(S106−29;YES)、制御部110は、要求ポリシー情報122を参照して、クライアント400が要求した要求ポリシーと、時刻証明書に適用された生成ポリシーとが一致するか否かを判別する(ステップS106−30)。
【0144】
要求ポリシーと生成ポリシーとが一致しない場合には(S106−30;NO)、制御部110は、監査対象サーバ(タイムスタンプサーバ)が異常であると判別して(ステップS106−31)、処理を負荷分散処理に返す。
【0145】
要求ポリシーと生成ポリシーとが一致する場合には(S106−30;YES)、制御部110は、監査対象サーバ(タイムスタンプサーバ)が正常であると判別して(ステップS106−32)、処理を負荷分散処理に返す。
【0146】
このようにして、パケット解析処理によれば、負荷分散装置100は、データの応答時間と、返信時刻と受信時刻との時間差と、時刻証明書の状態とによって各サーバが正常であるか否かを判別することができる。
【0147】
次に、実施の形態2における他サービス仲介処理を説明する。簡単に説明すると、負荷分散装置100は、クライアント400から、例えば、時刻情報を定期的に提供するサービス等の任意の他のサービスを受けたい旨の要求を受信すると、そのサービスの要求を、正常であり、且つ、そのサービスを行っている通信ネットワークA上のサーバ500に転送し、それに応答して返信されたデータを受信する。そして、返信された時刻と受信した時刻との時間差が閾値以下であれば、そのサーバを正常と判定し、返信パケットをクライアント400に転送する。時間差が閾値以上であれば、そのサーバを異常と判定し、エラー応答をクライアント400に送信する。
【0148】
以下、図12のフローチャートを参照しながら、他サービス仲介処理を詳細に説明する。
【0149】
クライアント400から任意のサービスの要求パケットを受信すると、制御部110は、サーバ情報121の状態の欄が正常であり、且つ、そのサービスを行っているサーバ500から一つを選択し、そのサービスの要求を、選択されたサーバに転送する(ステップS401)。
【0150】
制御部110は、サービスの要求に応答して選択サーバが返信した返信パケットを受信したか否かを判別する(ステップS402)。
【0151】
返信パケットを受信していないと判別した場合には(S402;NO)、制御部110は、サービスの要求パケットを転送してから所定の時間が経過したか否かを判別する(ステップS403)。
【0152】
サービスの要求パケットを転送してから所定の時間が経過したと判別した場合には(S403;YES)、制御部110は、処理をステップS408に進める。
【0153】
サービスの要求パケットを転送してから所定の時間が経過していないと判別した場合には(S403;NO)、制御部110は、処理をステップS402に戻す。
【0154】
返信パケットを受信したと判別した場合には(S402;YES)、制御部110は、受信した返信パケットに含まれる、選択サーバが返信した返信時刻と、返信パケットを受信した受信時刻との時間差を算出する(ステップS404)。
【0155】
次に、制御部110は、返信時刻と受信時刻との時間差が閾値2より小さいか否かを判別する(ステップS405)。
【0156】
返信時刻と受信時刻との時間差が閾値2未満であると判別した場合には(S405;YES)、制御部110は、選択サーバは正常であると判別し(ステップS406)、返信パケットを選択サーバに転送し(ステップS407)、処理を終了させる。
【0157】
返信時刻と受信時刻との時間差が閾値2以上であると判別した場合には(S405;NO)、制御部110は、選択サーバは異常であると判別し(ステップS408)、サーバ情報121におけるこの選択サーバの状態の欄を異常に記載を変更する(ステップS409)。
【0158】
次に、制御部110は、選択サーバの処理を停止又は変更させ(ステップS410)、正常状態に戻るように復帰要求を選択サーバに送信し(ステップS411)、返信パケットを破棄し、エラー応答をクライアント400に送信して(ステップS412)、処理を終了させる。
【0159】
このようにして、他サービス仲介処理では、負荷分散装置100は、正常なサーバに、クライアント400のサービスの要求を転送して返信パケットを受信し、その返信パケットに基づいて、そのサーバの正常・異常を判別し、正常である場合には返信パケットを転送して、異常である場合には、そのサーバに対して所定の処理を行い、クライアント400には、エラー応答を送信する。よって、正常なサーバのみからのサービスをクライアントは受けることができる。
【0160】
なお、他サービス仲介処理ではサーバの過負荷判定を実施してはいないが、実施の形態2における他の例と同様、送信時刻や返信時刻を基に判定することができることは言うまでもない。
【0161】
今まで述べたように、実施の形態2によれば、実施の形態1で得られる効果に加え、送信時刻や返信時刻をパケットに含めるので、実施の形態1のようにパケット管理情報123を持つ必要が無く、システムを簡略化することができる。さらにサーバの返信時刻を受信することにより、例えば他サービス仲介処理などにおいても時刻の確認をすることで、不適切な計時を行っているサーバをシステムから切り離す機会を増やすことができ、システム全体の信頼性をさらに向上させることができる。
【0162】
なお、本発明は上記実施形態に限定されず、種々の変形及び応用が可能である。
【0163】
本発明にかかる負荷分散装置は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、通信ネットワークA及び通信ネットワークBに接続されたコンピュータに、上述の制御部110と、記憶部120と、入力部130と、出力部140と、通信制御部150と、の動作を実行させるためのプログラムを格納した媒体(CD−ROM、MO等)からこれらのプログラムをインストールすることにより、当該コンピュータは、上述の処理を実行する負荷分散装置として機能する。
【0164】
また、コンピュータにプログラムを提供する方法は任意である。例えば、プログラムは、通信回線の掲示板(BBS)にアップロードされ、通信回線を介してコンピュータに配信されてもよい。また、プログラムは、プログラムを表す信号により搬送波を変調した変調波により伝送され、この変調波を受信した装置が変調波を復調してこのプログラムを復元するようにしてもよい。そして、コンピュータは、このプログラムを起動して、OSの制御のもと、他のアプリケーションプログラムと同様に実行する。これにより、コンピュータは、上述の処理を実行する負荷分散装置として機能する。
【0165】
なお、OSが処理の一部を分担する場合、あるいは、OSが本願発明の1つの構成要素の一部を構成するような場合、記録媒体は、その部分を除いたプログラムを格納してもよい。
【図面の簡単な説明】
【0166】
【図1】本発明の実施の形態1及び2に係る負荷分散システムの構成図である。
【図2】図1の負荷分散装置の構成図である。
【図3】図1の負荷分散装置が記憶するサーバ情報を説明するための表である。
【図4】図1の負荷分散装置が記憶する要求ポリシー情報を説明するための表である。
【図5】実施の形態1において図1の負荷分散装置が記憶するパケット管理情報を説明するための表である。
【図6】実施の形態1及び2における負荷分散処理を説明するためのフローチャートである。
【図7】実施の形態1におけるパケット解析処理を説明するためのフローチャートである。
【図8】実施の形態1及び2における時刻証明仲介処理を説明するためのフローチャートである。
【図9】実施の形態1及び2における時刻証明書解析処理を説明するためのフローチャートである。
【図10】実施の形態1における他サービス仲介処理を説明するためのフローチャートである。
【図11】実施の形態2におけるパケット解析処理を説明するためのフローチャートである。
【図12】実施の形態2における他サービス仲介処理を説明するためのフローチャートである。
【符号の説明】
【0167】
1 負荷分散システム
100 負荷分散装置
110 制御部
120 記憶部
121 サーバ情報
122 要求ポリシー情報
123 パケット管理情報
130 入力部
140 出力部
150 通信制御部
160 計時部
200 NTP(Network Time Protocol)サーバ
300 タイムスタンプサーバ
400 クライアント

【特許請求の範囲】
【請求項1】
タイムスタンプサーバを含む複数のサーバが接続される第1のネットワークと、クライアントが接続される第2のネットワークとに接続され、前記複数のサーバの負荷量に応じて、前記第2のネットワークから前記第1のネットワークにデータを伝送させる際に接続先のサーバを前記複数のサーバから選択し、選択されたサーバに前記第2のネットワークからのデータを転送する負荷分散装置であって、
送信パケットを前記サーバに送信するパケット送信手段と、
前記パケット送信手段が送信した前記送信パケットに応答して前記サーバが返信した返信パケットを受信するパケット受信手段と、
前記パケット送信手段が送信した前記送信パケットに前記サーバが応答した応答時間を算出する応答時間算出手段と、
前記応答時間算出手段が算出した応答時間が所定時間以上の場合に、前記応答時間が所定時間以上のサーバが過負荷であると判別し、前記複数のサーバのうちの、当該サーバを除外したサーバに、第2のネットワークからのデータによる負荷を分散する負荷分散手段と、を備え、
前記パケット受信手段は、前記送信パケットの送信先の前記サーバがタイムスタンプサーバである場合に、前記返信パケットとして時刻証明書を受信し、
前記負荷分散手段は、前記時刻証明書が正当なものであるか否かを判別し、前記時刻証明書が正当なものではない場合には、前記タイムスタンプサーバが異常であると判別し、前記タイムスタンプサーバを除外したサーバに負荷を分散する、
ことを特徴とする負荷分散装置。
【請求項2】
前記負荷分散手段は、
前記時刻証明書が証明する時刻と、前記パケット受信手段が前記時刻証明書を受信した時刻との時間差が所定時間以上の場合に、前記時刻証明書が正当なものではないと判別し、前記タイムスタンプサーバを除外したサーバに負荷を分散する、
ことを特徴とする請求項1に記載の負荷分散装置。
【請求項3】
時刻証明書の電子署名を検証して、当該時刻証明書が検証を通るか否かを判別する署名検証手段をさらに備え、
前記負荷分散手段は、
前記署名検証手段が、前記時刻証明書は検証を通らないと判別した場合に、前記時刻証明書が正当なものではないと判別し、前記タイムスタンプサーバを除外したサーバに負荷を分散する、
ことを特徴とする請求項2に記載の負荷分散装置。
【請求項4】
前記負荷分散手段は、
前記時刻証明書に適用された生成ポリシーが、要求された生成ポリシーと一致しない場合に、前記時刻証明書が正当なものではないと判別し、前記タイムスタンプサーバを除外したサーバに負荷を分散する、
ことを特徴とする請求項2又は3に記載の負荷分散装置。
【請求項5】
前記応答時間算出手段は、前記パケット送信手段が前記送信パケットを送信した時刻から、前記パケット受信手段が前記返信パケットを受信した時刻までの時間を前記応答時間として算出し、
前記負荷分散手段は、算出された応答時間に基づいて負荷を分散する、
ことを特徴とする請求項1乃至4の何れかに記載の負荷分散装置。
【請求項6】
前記パケット送信手段は、送信時刻を含んだ送信パケットを前記サーバに送信し、
前記パケット受信手段は、前記送信パケットに応答して前記サーバが前記送信時刻と返信時刻とを含めて返信した返信パケットを受信し、
前記応答時間算出手段は、前記返信パケットに含まれた前記送信時刻から前記返信時刻までの時間を前記応答時間として算出し、
前記負荷分散手段は、算出された応答時間に基づいて負荷を分散する、
ことを特徴とする請求項1乃至4の何れかに記載の負荷分散装置。
【請求項7】
前記負荷分散手段はさらに、
前記返信時刻から、前記パケット受信手段が返信パケットを受信した時刻までの時間差が所定時間以上の場合にも、前記サーバの計時機能が異常であると判別し、前記サーバを除外したサーバに負荷を分散する、
ことを特徴とする請求項6に記載の負荷分散装置。
【請求項8】
前記所定時間は、前記複数のサーバ毎に設定される、
ことを特徴とする請求項1乃至7の何れかに記載の負荷分散装置。
【請求項9】
前記負荷分散手段が異常であると判別したサーバの処理を停止させる、又は、正常な状態に復帰させる手段をさらに備える、
ことを特徴とする請求項1乃至8の何れかに記載の負荷分散装置。
【請求項10】
前記パケット受信手段は、前記サーバに所定のサービスを要求する旨の情報が含まれた要求パケットを前記クライアントから受信し、
前記パケット送信手段は、前記要求パケットを前記送信パケットとして前記サーバに転送し、
前記パケット受信手段は、前記要求パケットに応答して前記サーバが返信した返信パケットを受信し、
前記負荷分散手段は、前記返信パケットに基づいて前記サーバが異常であるか否かを判別し、
前記パケット送信手段は、
前記サーバが異常である場合に、返信パケットを破棄して前記クライアントにエラー応答を送信し、
前記サーバが異常ではない場合に、返信パケットを前記クライアントに転送する、
ことを特徴とする請求項1乃至9の何れかに記載の負荷分散装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2009−140150(P2009−140150A)
【公開日】平成21年6月25日(2009.6.25)
【国際特許分類】
【出願番号】特願2007−314623(P2007−314623)
【出願日】平成19年12月5日(2007.12.5)
【出願人】(396004981)セイコープレシジョン株式会社 (481)
【Fターム(参考)】