(57)【特許請求の範囲】
【請求項１】
クライアントから送出されたデータ要求をサーバに代わり受信し、当該受信したクライアントからサーバ計算機へのデータ要求について、当該サーバ計算機が過去の一定期間内に受信した前記データ要求の回数を計測して、当該計測したデータ要求の回数を閾値と比較し、当該比較の結果に応じて前記受信したデータ要求を保留し若しくは要求先のサーバ計算機に転送するサーバ計算機保護装置に於いて、
前記受信したデータ要求の保留状態と前記データ要求をサーバに送出した際のサーバからの応答状態をもとに前記閾値を動的に可変制御する手段を具備したことを特徴とするサーバ計算機保護装置。
【請求項２】
クライアントから送出されたデータ要求をサーバに代わり受信する要求受信手段と、
前記要求受信手段が受信したクライアントからサーバ計算機へのデータ要求について、前記サーバ計算機が過去の一定期間内に受信した前記データ要求の回数を計測する計測手段と、
前記計測手段で計測されたデータ要求の回数を比較の対象とする閾値を出力する閾値出力手段と、
前記計測手段で計測されたデータ要求の回数を前記閾値出力手段より出力される閾値と比較する比較手段と、
前記比較手段の比較の結果、前記計測手段で計測したデータ要求の回数が前記閾値を超えた際は前記要求受信手段が受信したデータ要求を保留し、前記計測手段で計測したデータ要求の回数が前記閾値を超えない際は前記要求受信手段が受信したデータ要求をサーバ計算機に送出するデータ要求送信手段とを具備し、
前記閾値出力手段に、
前記要求受信手段が受信したデータ要求の一定時間内での保留回数を計数する保留計数手段と、
前記データ要求送信手段からデータ要求を送出した際に、当該データ要求を受信したサーバ計算機から応答を受信するまでの所要時間を測定するサーバ応答測定手段と、
前記サーバ応答測定手段で測定した所要時間が予め設定した一定時間を超えた回数を過去の一定時間内に於いて計数するタイムアウト計数手段と、
前記比較手段に出力する閾値を保持する保持手段を有し、一定時間毎に、前記保留計数手段の計数値を入力して、当該計数値が一定値以下の場合は前記保持手段の値を指定した減算率で減算し、前記保留計数手段の計数値が一定値を超え、かつ前記タイムアウト計数手段の計数値が一定値以下の場合は、前記保持手段の値を指定した加算率で加算する閾値計数手段とを具備して、
前記データ要求送信手段は、前記閾値出力手段に設けた閾値計数手段より出力された動的な閾値をもとに、受信したデータ要求の送出を制御することを特徴とするサーバ計算機保護装置。
【請求項３】
クライアントから送出されたデータ要求をサーバに代わり受信する要求受信手段と、
前記要求受信手段が受信したクライアントからサーバ計算機へのデータ要求について、前記サーバ計算機が過去の一定期間内に受信した前記データ要求の回数を計測する計測手段と、
前記計測手段で計測されたデータ要求の回数を比較の対象とする閾値を出力する閾値出力手段と、
前記計測手段で計測されたデータ要求の回数を前記閾値出力手段より出力される閾値と比較する比較手段と、
前記比較手段の比較の結果、前記計測手段で計測したデータ要求の回数が前記閾値を超えた際は前記要求受信手段が受信したデータ要求を保留し、前記計測手段で計測したデータ要求の回数が前記閾値を超えない際は前記要求受信手段が受信したデータ要求をサーバ計算機に送出するデータ要求送信手段とを具備し、
前記閾値出力手段に、
前記要求受信手段が受信したデータ要求の過去の一定時間内での保留回数を計数する保留計数手段と、
前記データ要求送信手段からデータ要求を送出した際に、当該データ要求を受信したサーバ計算機から応答を受信するまでの所要時間を測定するサーバ応答測定手段と、
前記比較手段に出力する閾値を保持する保持手段を有し、一定時間毎に、前記保留計数手段の計数値を入力して、当該計数値が一定値以下の場合は前記保持手段の値を指定した減算率で減算し、前記保留計数手段の計数値が一定値を超えている場合は予め設定された上限値を超えない範囲で前記保持手段の値を指定した加算率で加算する閾値計数手段とを具備して、
前記データ要求送信手段が前記閾値出力手段の前記閾値計数手段より出力された動的な閾値をもとに、受信したデータ要求の送出を制御することを特徴とするサーバ計算機保護装置。
【請求項４】
前記データ要求送信手段は、保留したデータ要求をそれぞれ異る時間経過の後、再度、サーバ計算機への送出を試みる手段を具備したことを特徴とする請求項１または２または３記載のサーバ計算機保護装置。
【請求項５】
前記タイムアウト計数手段は、前記サーバ応答測定手段で測定した所要時間が予め設定した一定時間を超えた回数を過去の一定時間内に於いて計数し、当該計数値が一定値を超えている場合は、閾値計数手段の値を予め指定の最小値乃至現在の計数値で初期化する手段をを具備したことを特徴とする請求項２記載のサーバ計算機保護装置。
【請求項６】
前記閾値計数手段を初期化した際の閾値計数手段の計数値の履歴を保持する閾値初期化履歴保持手段を具備し、前記閾値計数手段の計数値を加算する加算率は、前記閾値初期化履歴保持手段に保持された履歴に基づき決定されることを特徴とする請求項５記載のサーバ計算機保護装置。
【請求項７】
クライアントから送出されたデータ要求をサーバに代わり受信し、当該受信したクライアントからサーバ計算機へのデータ要求について、当該サーバ計算機が過去の一定期間内に受信した前記データ要求の回数を計測して、当該計測したデータ要求の回数を閾値と比較し、当該比較の結果に応じて前記受信したデータ要求を保留し若しくは要求先のサーバ計算機に転送するサーバ計算機保護装置のデータ転送制御方法に於いて、
前記受信したデータ要求の保留状態と前記データ要求をサーバに送出した際のサーバからの応答状態をもとに前記閾値を動的に可変制御して、前記クライアントに代わり受信したサーバ計算機へのデータ要求が急激に増加した際に、前記サーバ計算機保護装置からサーバ計算機へ転送されるデータ要求の急激な増加を所定の変動範囲内に抑制するデータ転送制御を行うことを特徴とするサーバ計算機保護装置のデータ転送制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不特定多数あるいは特定多数のクライアントをパケット交換ネットワーク経由で１台あるいは複数台のサーバ計算機に接続した、クライアント／サーバシステムに於いて、上記サーバ計算機への不正アクセスの防止あるいは不正アクセスの検知を行う機能を実現する際に用いて好適なサーバ計算機保護装置、およびサーバ計算機保護装置のデータ転送制御方法に関する。
【０００２】
【従来の技術】
不特定多数あるいは特定多数のクライアントをパケット交換ネットワーク経由で１台あるいは複数台のサーバ計算機に接続した、クライアント／サーバシステムに於いて、上記サーバ計算機への不正アクセスの防止あるいは検知を行う機能をもつ装置として、クライアントとサーバ計算機との間に介在され、クライアントからサーバ計算機に送出されるデータ要求について、そのデータ要求の転送先サーバが過去の一定期間内に受信したデータ要求の単位時間当たりの回数を監視して、その回数をもとに、サーバ計算機が過負荷となるか否かを判断する機構を備えたサーバ計算機保護装置が存在する。
【０００３】
この種、従来のサーバ計算機保護装置の構成例を図３に示す。図３に於いて、３０は従来の構成によるサーバ計算機保護装置であり、ネットワークインタフェース３１Ａ，３１Ｂと、接続転送手段３２とを備えて構成される。上記接続転送手段３２は、データ要求受信手段３３、データ要求送信手段３４、サーバデータ要求計測手段３５、閾値保持手段３６、閾値比較手段３７等により構成される。
【０００４】
ネットワークインタフェース３１Ａは、ネットワークセグメント（Ａ）を介してクライアントとの間でパケットを送受信する機能を持つ。
【０００５】
ネットワークインタフェース３１Ｂは、サーバ計算機との間でパケットを送受信する機能を持ち、データ要求受信手段３４から渡されたデータ要求をサーバ計算機へ送出し、サーバ計算機からデータ（パケット）を受信する機能を持つ。
【０００６】
接続転送手段３２に於いて、データ要求受信手段３３は、ネットワークインタフェース３１Ａとの間でパケットを交換し、クライアントから送出されたデータ要求をサーバに代って受取る機能を持つ。
【０００７】
データ要求送信手段３４は、閾値比較手段３７からの比較結果を受取り、その内容がサーバデータ要求計測手段３５により計測されたデータ要求の回数が閾値保持手段３６に保持された閾値を下回っていることを示す場合は、データ要求受信手段３３が受取ったデータ要求をクライアントが実際にデータを要求している本来のサーバ計算機へネットワークインタフェース３１（Ｂ）を介し転送する機能を持つ。
【０００８】
サーバデータ要求計測手段３５は、データ要求受信手段３３が受信したクライアントからサーバ計算機へのデータ要求について、そのデータ要求を転送する転送先のサーバ計算機が過去の一定期間内に受信したデータ要求の回数を計測する機能を持つ。
【０００９】
閾値保持手段３６は、予め設定されたデータ要求の回数を閾値として保持する機能を持つ。
【００１０】
閾値比較手段３７はサーバデータ要求計測手段３５により計測されたデータ要求の回数と、閾値保持手段３６に保持されたデータ要求の閾値とを比較して、その比較結果をデータ要求送信手段３４に伝える機能を持つ。
【００１１】
図４は上記サーバ計算機保護装置３０の閾値保持手段３６に格納される情報の一例を示す図あり、ここでは、保護の対象となる各サーバ計算機のネットワークアドレスと、その各サーバ計算機に於ける単位時間（この例では１分間）での処理可能なデータ要求の回数とが閾値として保持される。
【００１２】
上記構成のサーバ計算機保護装置に於いて、閾値保持手段３６には、図４のような保護の対象となる各サーバ計算機と、その各サーバ計算機で処理可能なデータ要求の回数を示す閾値とが保持されていたとする。即ち、この図４に示す例では、保護の対象となる各サーバ計算機として「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機と、「１９２．１６８．１．３２」のネットワークアドレスをもつサーバ計算機とが存在し、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機の閾値「１００」、「１９２．１６８．１．３２」のネットワークアドレスをもつサーバ計算機の閾値「１５０」がそれぞれ単位時間（ここでは１分間）での現在までのデータ要求の回数として保持されている。
【００１３】
その状態で、あるクライアントが「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機に対してデータ要求を送出したとする。
【００１４】
ネットワークインタフェース３１（Ａ）で受信されたデータ要求のパケットは、データ要求受信手段３３が、サーバに成り代り受取る。データ要求受信手段３３はクライアントからの接続要求への応答などの処理も行う。この際、データ要求受信手段３３は、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機のネットワークアドレスをそのまま用いて、クライアントから送出されたデータ要求を受取る方法の他に、クライアントに明示的に別のネットワークアドレスを伝えておき、クライアントが当該別のネットワークアドレスに対して、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機へのデータ要求を送ることで、データ要求受信手段３３が当該データ要求をサーバに成り代り受取ることを可能にする方法等もある。
【００１５】
このようにしてデータ要求受信手段３３で受取ったデータ要求は、データ要求送信手段３４へ渡される。サーバデータ要求計測手段３５は、当該データ要求について、要求先のサーバ計算機が過去の一定期間内に受信したデータ要求の回数を計測している。
【００１６】
この際、データ要求受信手段３３で受け取ったデータ要求がデータ要求送信手段３４へ渡された時点で、サーバデータ要求計測手段３５が計測した、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機で過去の一分間に受取ったデータ要求の回数が、例えば「８５」であったとする。
【００１７】
この状態でデータ要求送信手段３４は閾値比較手段３７に問い合わせを行う。閾値比較手段３７は、閾値保持手段３６に保持された、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機の閾値が「１００」と、上記サーバデータ要求計測手段３５で計測したデータ要求の回数「８５」とを比較照合し、この際は上記サーバデータ要求計測手段３５で計測したデータ要求の回数「８５」が閾値保持手段３６に保持された、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機の閾値「１００」を超えていないので、計測したデータ要求回数が閾値内にあることを示す比較結果の値をデータ要求送信手段３４に渡す。
【００１８】
データ要求送信手段３４は、閾値比較手段３７から、計測したデータ要求回数が閾値内にあることを示す比較結果の値を受けると、ネットワークインタフェース３１Ｂを介して、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機へ、上記データ要求のパケットを送出（転送）する。この際、データ要求送信手段３４はサーバ計算機への接続要求などの処理も行う。
【００１９】
「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機は、サーバ計算機保護装置３０を経由してクライアントから受取ったデータ要求に応じたデータを送出する。このサーバ計算機より送出されたデータはネットワークセグメント（Ｂ）を経由してネットワークインタフェース３１Ｂに受取られ、ネットワークインタフェース３１Ａを介して要求元のクライアントに渡される。この際、クライアントに明示的にデータ要求受信手段３３が用いる別のアドレスを伝えていた場合は、ネットワークインタフェース３１Ａからクライアントへ送出されるデータが、上記別のアドレスからの応答の形でクライアントへ送られる。また、データ要求受信手段３３が「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機のネットワークアドレスをそのまま用いて、クライアントから送出されたデータ要求を受取る方法を用いた場合は、ネットワークインタフェース３１Ｂで受信された、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機からのデータが、当該データを運ぶパケットのヘッダのポート番号やシーケンス番号、チェックサムなどを書き換えられた後、ネットワークインタフェース３１Ａから要求元のクライアントへ送出される。
【００２０】
このようにして、クライアントから送出されたデータ要求がサーバ計算機に送られ、その要求に応じたデータが、サーバ計算機からクライアントに渡される。
【００２１】
次に、別のある時点で、データ要求受信手段３３で受け取ったデータ要求がデータ要求送信手段３４へ渡された際に、サーバデータ要求計測手段３５が計測した、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機で過去の一分間に受取ったデータ要求の回数が、例えば「１０３回」であったとする。この状態でデータ要求送信手段３４は閾値比較手段３７に問い合わせを行う。閾値比較手段３７は、閾値保持手段３６に保持された、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機の閾値が「１００」と、上記サーバデータ要求計測手段３５で計測したデータ要求の回数「１０３」とを比較照合し、この際は上記サーバデータ要求計測手段３５で計測したデータ要求の回数「１０３」が閾値保持手段３６に保持された、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機の閾値「１００」を超えているので、計測したデータ要求回数が閾値を超えたことを示す比較結果の値をデータ要求送信手段３４に渡す。
【００２２】
データ要求送信手段３４は、閾値比較手段３７から計測したデータ要求回数が閾値を超えたことを示す比較結果の値を受けると、上記データ要求受信手段３３より受けたデータ要求のパケットを破棄する。
【００２３】
しかしながら上記した従来のサーバ計算機保護装置に於いては以下のような問題があった。即ち、従来のサーバ計算機保護装置では、各々のサーバ計算機が一定期間内に処理可能なデータ要求の回数を予め閾値として設定しておく必要があった。しかし、サーバ計算機が一定期間内に処理可能なデータ要求の回数は、データ要求の内容等によって大きく異なることから、適正な閾値の設定が難しく、適正でない誤った閾値を設定してしまった場合は、サーバ計算機の保護が行なえなかったり、あるいは、サーバ計算機は保護できても、サーバの処理能力を有効利用できなくなる等の問題があった。
【００２４】
【発明が解決しようとする課題】
上述したように従来では、サーバ計算機各々について、サーバ計算機が一定期間内に処理可能なデータ要求の回数を、予め閾値として設定しておく必要があり、その適正な閾値の難しく、適正でない誤った値を閾値として設定してしまった場合は、サーバ計算機の保護が行なえなかったり、あるいは、サーバ計算機は保護できても、サーバの処理能力を有効利用できなくなる等の問題があった。
【００２５】
この閾値を自動的に設定するために、サーバ計算機からの応答を受信するまでの時間を測定し、一定時間内に応答が受信できなかった場合、サーバが処理可能なデータ要求回数を超えたものとして、その時点での平均データ要求回数を閾値として用いたり、サーバ上にサーバ計算機の負荷を測定する手段を設け、サーバ計算機の負荷が一定以上になった時点での平均データ要求回数を閾値として用いたりするサーバ計算機保護装置が考えられるが、急速にクライアントからのリクエスト数が増加した場合、平均データ要求回数はサーバが一定期間内に処理可能なデータ要求の回数と隔たりのある値となってしまい、平均データ要求回数を閾値として用いてしまうと、サーバの処理能力を有効利用できなくなったり、サーバの保護ができなかったりするなどの問題が生じる。
【００２６】
本発明は上記実情に鑑みなされたもので、利用者が、サーバ各々の処理可能なデータ要求の回数を設定しなくてもサーバ計算機の保護を行なうことができるとともに、サーバの処理能力を有効利用できるサーバ計算機保護装置および同装置のデータ転送制御方法を提供することを目的とする。
【００２７】
更に本発明は、クライアントからのリクエスト数が急速に増加した場合に於いても、サーバ計算機の保護をしつつ、サーバ計算機の処理能力を有効かつ継続して利用でき、クライアントからのリクエスト数の大きな変動に対しても、サーバ計算機との間で常に安定したパケット交換動作を維持することのできるサーバ計算機保護装置および同装置のデータ転送制御方法を提供することを目的とする。
【００２８】
【課題を解決するための手段】
本発明は、クライアントからサーバに送られるデータ要求の単位時間あたりの回数を計測し、その計測値と閾値との比較の結果に応じて、前記受信したデータ要求を保留し若しくは要求先のサーバ計算機に転送するサーバ計算機保護装置に於いて、前記受信したデータ要求の保留状態と前記データ要求をサーバに送出した際のサーバからの応答状態をもとに前記閾値を動的に可変制御して、前記クライアントに代わり受信したサーバ計算機へのデータ要求が急激に増加した際に、前記サーバ計算機保護装置からサーバ計算機へ転送されるデータ要求の急激な増加を所定の変動範囲内に抑制するデータ転送制御機能を実現したことを特徴とする。
【００２９】
即ち、本発明は、クライアントから送出されたデータ要求をサーバに代わり受信し、当該受信したクライアントからサーバ計算機へのデータ要求について、当該サーバ計算機が過去の一定期間内に受信した前記データ要求の回数を計測して、当該計測したデータ要求の回数を閾値と比較し、当該比較の結果に応じて前記受信したデータ要求を保留し若しくは要求先のサーバ計算機に転送するサーバ計算機保護装置に於いて、前記受信したデータ要求の保留状態と前記データ要求をサーバに送出した際のサーバからの応答状態をもとに前記閾値を動的に可変制御する手段を具備したことを特徴とする。
【００３０】
また、本発明は、クライアントから送出されたデータ要求をサーバに代わり受信する要求受信手段と、前記要求受信手段が受信したクライアントからサーバ計算機へのデータ要求について、前記サーバ計算機が過去の一定期間内に受信した前記データ要求の回数を計測する計測手段と、前記計測手段で計測されたデータ要求の回数を比較の対象とする閾値を出力する閾値出力手段と、前記計測手段で計測されたデータ要求の回数を前記閾値出力手段より出力される閾値と比較する比較手段と、前記比較手段の比較の結果、前記計測手段で計測したデータ要求の回数が前記閾値を超えた際は前記要求受信手段が受信したデータ要求を保留し、前記計測手段で計測したデータ要求の回数が前記閾値を超えない際は前記要求受信手段が受信したデータ要求をサーバ計算機に送出するデータ要求送信手段とを具備し、前記閾値出力手段に、前記要求受信手段が受信したデータ要求の一定時間内での保留回数を計数する保留計数手段と、前記データ要求送信手段からデータ要求を送出した際に、当該データ要求を受信したサーバ計算機から応答を受信するまでの所要時間を測定するサーバ応答測定手段と、前記サーバ応答測定手段で測定した所要時間が予め設定した一定時間を超えた回数を過去の一定時間内に於いて計数するタイムアウト計数手段と、前記比較手段に出力する閾値を保持する保持手段を有し、一定時間毎に、前記保留計数手段の計数値を入力して、当該計数値が一定値以下の場合は前記保持手段の値を指定した減算率で減算し、前記保留計数手段の計数値が一定値を超え、かつ前記タイムアウト計数手段の計数値が一定値以下の場合は、前記保持手段の値を指定した加算率で加算する閾値計数手段とを具備して、前記データ要求送信手段は、前記閾値出力手段に設けた閾値計数手段より出力された動的な閾値をもとに、受信したデータ要求の送出を制御することを特徴とする。
【００３１】
また、本発明は、クライアントから送出されたデータ要求をサーバに代わり受信する要求受信手段と、前記要求受信手段が受信したクライアントからサーバ計算機へのデータ要求について、前記サーバ計算機が過去の一定期間内に受信した前記データ要求の回数を計測する計測手段と、前記計測手段で計測されたデータ要求の回数を比較の対象とする閾値を出力する閾値出力手段と、前記計測手段で計測されたデータ要求の回数を前記閾値出力手段より出力される閾値と比較する比較手段と、前記比較手段の比較の結果、前記計測手段で計測したデータ要求の回数が前記閾値を超えた際は前記要求受信手段が受信したデータ要求を保留し、前記計測手段で計測したデータ要求の回数が前記閾値を超えない際は前記要求受信手段が受信したデータ要求をサーバ計算機に送出するデータ要求送信手段とを具備し、前記閾値出力手段に、前記要求受信手段が受信したデータ要求の過去の一定時間内での保留回数を計数する保留計数手段と、前記データ要求送信手段からデータ要求を送出した際に、当該データ要求を受信したサーバ計算機から応答を受信するまでの所要時間を測定するサーバ応答測定手段と、前記比較手段に出力する閾値を保持する保持手段を有し、一定時間毎に、前記保留計数手段の計数値を入力して、当該計数値が一定値以下の場合は前記保持手段の値を指定した減算率で減算し、前記保留計数手段の計数値が一定値を超えている場合は予め設定された上限値を超えない範囲で前記保持手段の値を指定した加算率で加算する閾値計数手段とを具備して、前記データ要求送信手段が前記閾値出力手段の前記閾値計数手段より出力された動的な閾値をもとに、受信したデータ要求の送出を制御することを特徴とする。
【００３２】
また、本発明は、クライアントから送出されたデータ要求をサーバに代わり受信し、当該受信したクライアントからサーバ計算機へのデータ要求について、当該サーバ計算機が過去の一定期間内に受信した前記データ要求の回数を計測して、当該計測したデータ要求の回数を閾値と比較し、当該比較の結果に応じて前記受信したデータ要求を保留し若しくは要求先のサーバ計算機に転送するサーバ計算機保護装置のデータ転送制御方法に於いて、前記受信したデータ要求の保留状態と前記データ要求をサーバに送出した際のサーバからの応答状態をもとに前記閾値を動的に可変制御して、前記クライアントに代わり受信したサーバ計算機へのデータ要求が急激に増加した際に、前記サーバ計算機保護装置からサーバ計算機へ転送されるデータ要求の急激な増加を所定の変動範囲内に抑制するデータ転送制御を行うことを特徴とする。
【００３３】
上記したような、本発明のデータ転送制御機能をもつことで、利用者が、サーバ各々の処理可能なデータ要求の回数を設定しなくてもサーバ計算機の保護を行なうことができるとともに、サーバの処理能力を最大限に有効利用できるサーバ計算機保護装置が実現できる。また、急速にクライアントからのリクエスト数が増加した場合であっても、サーバ計算機の保護を行なうことができるとともに、サーバの処理能力を最大限に有効利用できるサーバ計算機保護装置が実現できる。
【００３４】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
【００３５】
図１は本発明の第１実施形態に於けるサーバ計算機保護装置の構成を示すブロック図である。
【００３６】
図１に示す本発明の第１実施形態によるサーバ計算機保護装置１０は、ネットワークインタフェース１１Ａ，１１Ｂと、接続転送手段１２とを具備して構成される。
【００３７】
ネットワークインタフェース１１Ａは、ネットワークセグメント（Ａ）を介してクライアントとの間でパケットを送受信する機能を持つ。ネットワークインタフェース１１Ｂは、ネットワークセグメント（Ｂ）を介してサーバ計算機との間でパケットを送受信する機能を持ち、接続転送手段１２に設けたデータ要求受信手段１３から渡されたデータ要求のパケットをサーバ計算機へ送出し、サーバ計算機からデータを受信する機能を持つ。
【００３８】
接続転送手段１２は、データ要求受信手段１３と、データ要求送信手段１４と、サーバデータ要求計測手段１５と、閾値比較手段１６と、閾値出力手段１７とを具備して構成される。
【００３９】
接続転送手段１２に於いて、データ要求受信手段１３は、ネットワークインタフェース１１Ａとの間でパケットを交換し、クライアントから送出されたデータ要求をサーバに代って受取る機能を持つ。
【００４０】
データ要求送信手段１４は、閾値比較手段１６からの比較結果を受取り、サーバデータ要求計測手段１５で計測されたデータ要求の回数が閾値出力手段１７から出力された閾値を下回っていた場合、データ要求受信手段１３が受取ったデータ要求のパケットを、クライアントが実際にデータを要求している本来のサーバ計算機へネットワークインタフェース１１Ｂを介して転送し、サーバデータ要求計測手段１５で計測されたデータ要求の回数が閾値保持手段１６に保持された閾値を上回っていた場合、データ要求受信手段１３が受取ったデータ要求のパケットを保留バッファ１４ａに保留する機能を持つ。
【００４１】
サーバデータ要求計測手段１５は、データ要求受信手段１３が受信したデータ要求について、要求先（転送先）のサーバが過去の一定期間内に受信したデータ要求の回数を計測する機能を持つ。
【００４２】
閾値比較手段１６は、サーバデータ要求計測手段１５で計測されたデータ要求の回数と、閾値出力手段１７から出力された閾値とを比較し、その比較結果の内容をデータ要求送信手段１４に伝える機能を持つ。
【００４３】
閾値出力手段１７は、サーバ応答測定手段と、タイムアウト計数手段と、保留計数手段と、閾値計数手段とを備えて、データ要求送信手段１４に保留されたデータ要求の状態、サーバ計算機からの応答状態等に基づいて、上記データ要求の回数の閾値を動的に可変し設定して出力する機能を持つ。
【００４４】
図２は上記閾値出力手段１７の内部の構成を示すブロック図であり、保留計数手段１７１と、サーバ応答測定手段１７２と、閾値計数手段１７３と、タイムアウト計数手段１７４とを備えて構成される。
【００４５】
保留計数手段１７１は、データ要求送信手段１４に於いて過去の一定期間内に保留したデータ要求の回数を計数し、その計数値を加減算制御信号（ｕｐ／ｄｏｗｎ）として閾値計数手段１７３に送出する。
【００４６】
サーバ応答測定手段１７２は、データ要求送信手段１４がデータ要求のパケットを送出してからサーバ計算機より応答を受信するまでの所要時間を測定し、その測定時間情報をタイムアウト計数手段１７４に送出する。
【００４７】
閾値計数手段１７３は、保留計数手段１７１より出力された計数値を加減算制御信号（ｕｐ／ｄｏｗｎ）として入力し、更にタイムアウト計数手段１７４より出力された測定時間情報を入力して、これらの入力情報をもとに、定期的に、閾値となる数値の加減算を行い、その計数値を閾値として閾値比較手段１６に送出する機能を持つ。
【００４８】
タイムアウト計数手段１７４は、サーバ応答測定手段１７２より出力された測定時間情報で示される測定時間について、過去一定時間毎の、予め設定した時間を超えた回数を計数し、その回数が予め設定した回数を超えた際に、閾値計数手段１７３に初期化制御信号（ｐｒｅｓｅｔ）を送出する機能をもつ。
【００４９】
ここで、上記図１および図２を参照して本発明に係るサーバ計算機保護装置の動作を説明する。
【００５０】
あるクライアントが、サーバ計算機に対してデータ要求を送出すると、当該データ要求がネットワークセグメント（Ａ）を介してネットワークインタフェース１１Ａに受信される。
【００５１】
ネットワークインタフェース１１Ａに受信されたデータ要求は、データ要求受信手段１３がサーバ計算機に代って受取る。この際、データ要求受信手段１３は、クライアントからの接続要求への応答などの処理も行う。データ要求受信手段１３は受取ったデータ要求をデータ要求送信手段１４へ渡す。
【００５２】
データ要求送信手段１４は、データ要求受信手段１３からデータ要求を受け取ると、閾値比較手段１６から比較結果の内容を取得し、その内容に従い、データ要求受信手段１３で受信したデータ要求のパケットを保留するか要求先のサーバ計算機に転送するかを決定する。
【００５３】
この際の閾値比較手段１６による処理に於いて、サーバデータ要求計測手段１５は、当該データ要求について、要求先のサーバが過去の一定期間内に受信した当該データ要求の回数を測定している。
【００５４】
閾値比較手段１６は、データ要求送信手段１４から比較結果の内容についての問い合わせを受けると、まず、閾値出力手段１７から、その時点での閾値を取得し、次に、サーバデータ要求計数手段１５から、測定されたデータ要求の回数を取得して、その取得した閾値と測定された回数とを比較し、その比較結果の内容をデータ要求送信手段１４に渡す。
【００５５】
データ要求送信手段１４は、上記閾値比較手段１６から取得した比較結果の内容が、サーバデータ要求計測手段１５で測定したデータ要求の回数が閾値を上回っていることを示していると、データ要求受信手段１３より受けたデータ要求を保留する。
【００５６】
ここで、上記データ要求送信手段１４がデータ要求を保留した際、その旨が閾値出力手段１７に通知される。
【００５７】
閾値出力手段１７に於いて、保留計数手段１７１は、データ要求送信手段１４が保留したデータ要求の数（データ要求のパケットの個数）をカウントしており、データ要求送信手段１４からデータ要求を保留した通知を受ける毎に、その計数値を更新（＋１）する。この保留計数手段１７１の計数値は加減算制御信号（ｕｐ／ｄｏｗｎ）として閾値計数手段１７３に送出される。
【００５８】
閾値計数手段１７３は、保留計数手段１７１より受けた計数値を加減算制御信号（ｕｐ／ｄｏｗｎ）として、その値を定期的に判定し、その値が、一定値以下であれば、データ要求の量に対して閾値に余裕があると判断して、閾値として出力する自己の計数値を予め指定した減算率で減算する。また、その値が、一定値を超えていれば、データ要求の量に対して閾値が小さいと判断して、閾値として出力する自己の計数値を予め指定した加算率で加算する。この閾値計数手段１７３で加減算処理された計数値が閾値として閾値比較手段１６に渡される。
【００５９】
このようにして、データ要求の量に応じて閾値が指定の加算／減算率で追従することで、急速にクライアントからのリクエスト数（データ要求の回数）が増加した場合であっても、サーバ計算機へのデータ要求の急増を防ぐことができ、サーバ計算機を保護することができる。
【００６０】
また、上記比較結果の内容が、サーバデータ要求計測手段１５で測定したデータ要求の回数が閾値を下回っていることを示していると、データ要求受信手段１３より受けたデータ要求をネットワークインタフェース１１Ｂを介してクライアントが実際にデータを要求している本来のサーバ計算機へ送出する。
【００６１】
この際、データ要求送信手段１４はサーバ計算機への接続要求などの処理も行う。サーバ計算機は受取ったデータ要求に応じてデータを送出する。サーバ計算機から送出されたデータはネットワークインタフェース１１Ｂに受信され、ネットワークインタフェース１１Ａより送信されて、ネットワークインタフェース１１Ａを介し、データ要求元のクライアントに渡される。
【００６２】
上記したデータ要求の受け渡しの処理に於いて、閾値出力手段１７に設けられたサーバ応答測定手段１７２は、データ要求送信手段１４がデータ要求に関わるパケットを送出してからサーバ計算機より応答を受信するまでの所要時間を測定し、その測定した時間情報をタイムアウト計数手段１７４に送出する。
【００６３】
タイムアウト計数手段１７４は、サーバ応答測定手段１７２から受けた測定時間が、予め設定した一定時間を超えたことを判定する度に、その回数を計数する。更に、そのその回数が予め設定した回数を超えると、閾値計数手段１７３に初期化制御信号（ｐｒｅｓｅｔ）を送出する。
【００６４】
閾値計数手段１７３は、タイムアウト計数手段１７４から初期化制御信号（ｐｒｅｓｅｔ）を受けると、閾値として出力する自己の計数値を、予め設定した最小値と現在の計数値の間の数値、例えばその中間の値に初期化する。
【００６５】
閾値計数手段１７３に於いて、閾値として出力する計数値は、以降、前述したように、クライアントから送出されたデータ要求の数（データ要求受信手段１３で受信したデータ要求の数）と、保留計数手段１７１の計数値とによって加減算される。
【００６６】
このようにして、ユーザ（利用者）が、サーバ計算機各々に於ける処理可能なデータ要求の回数を設定しなくても、サーバ計算機の保護を行なうことができるとともに、サーバ計算機の処理能力を最大限に有効利用できるサーバ計算機保護装置が実現できる。また、急速にクライアントからのリクエスト数（データ要求の回数）が増加した場合であっても、サーバ計算機の保護を行なうことができるとともに、サーバの処理能力を最大限に有効利用できるサーバ計算機保護装置が実現できる。
【００６７】
【発明の効果】
以上詳記したように本発明によれば、利用者が、サーバ各々の処理可能なデータ要求の回数を設定しなくてもサーバ計算機の保護を行なうことができるとともに、サーバの処理能力を有効利用できる。更に本発明によれば、クライアントからのリクエスト数が急速に増加した場合に於いても、サーバ計算機の保護をしつつ、サーバ計算機の処理能力を有効かつ継続して利用でき、クライアントからのリクエスト数の大きな変動に対しても、サーバ計算機との間で常に安定したパケット交換動作を維持することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に於けるサーバ計算機保護装置の構成を示すブロック図。
【図２】上記実施形態に於ける閾値出力手段の構成を示すブロック図。
【図３】従来のサーバ計算機保護装置の構成を示すブロック図。
【図４】サーバ計算機保護装置の閾値保持手段に格納された内容の一例を示す図。
【符号の説明】
１０…サーバ計算機保護装置
１１Ａ，１１Ｂ…ネットワークインタフェース
１２…接続転送手段
１３…データ要求受信手段
１４…データ要求送信手段
１４ａ…保留バッファ
１５…サーバデータ要求計測手段
１６…閾値比較手段
１７…閾値出力手段
１７１…保留計数手段
１７２…サーバ応答測定手段
１７３…閾値計数手段
１７４…タイムアウト計数手段
【図１】
0003566699.tif 000002
【図２】
0003566699.tif 000003
【図３】
0003566699.tif 000004
【図４】
0003566699.tif 000005