(57)【要約】【課題】サーバの過負荷時にも、優先順位の高いクライアントに対しては、接続を可能とするようにし、不特定多数のクライアントとサーバとの間の通信異常をクライアント主体にヘルスチェックする。【解決手段】クライアントがサーバにアクセスした場合、サーバからクライアントにヘルスチェック用のソフトをダウンロードする。クライアントは、このヘルスチェックを定期的にサーバへ送信することにより、クライアントとサーバとの間の通信異常とサーバの異常と検出する。また、クライアントに優先順位を設定させ、サーバに自サーバの過負荷レベルを算出させ、予め設定されている負荷レベルとクライアント優先順位との関係より、接続可能なクライアント台数を制限することによりサーバの負荷増加を低減させる。【選択図】図１
2007265194.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアントとサーバとがネットワークにより接続されて構成されるクライアント・サーバシステムにおけるクライアントとサーバとの間での通信のヘルスチェック方法において、前記サーバは、前記クライアントからの処理要求があると、その応答の情報と共に、ヘルスチェックソフトをクライアントに送信してクライアントにダウンロードさせ、前記クライアントは、前記サーバからダウンロードしたヘルスチェックソフトを、予め定めた所定の時間間隔毎に起動して、前記サーバにヘルスチェックリクエストを要求し、サーバからのヘルスチェック応答を受信して通信の正常性を確認することを特徴とする通信のヘルスチェック方法。
【請求項２】
前記クライアントは、前記サーバからのヘルスチェック応答を受信して通信の正常性を確認した結果、通信回線が異常であった場合、警報の通知を行うことを特徴とする請求項１記載の通信のヘルスチェック方法。
【請求項３】
前記クライアントは、前記サーバからのヘルスチェック応答を受信して通信の正常性を確認した結果、通信回線が異常であった場合、処理のためにクライアントに表示されている各サービス画面をクローズさせることを特徴とする請求項１記載の通信のヘルスチェック方法。
【請求項４】
複数のクライアントとサーバとがネットワークにより接続されて構成されるクライアント・サーバシステムにおけるクライアントの接続制御方法において、前記クライアントには、予めサーバへの接続優先順位が設定され、前記クライアントは、接続要求と前記接続優先順位とを前記サーバに送信し、前記サーバは、前記接続要求時点でのサーバが持つＣＰＵの使用率、トラフィック状況、プロセス起動数により、自サーバの過負荷状態を過負荷レベルとして算出し、算出した過負荷レベルと前記クライアントの接続優先順位とにより、クライアントとの接続を行うか否かを決定してクライアントに通知し、前記クライアントは、前記サーバから接続可の通知を受けると、前記サーバに処理要求を送信し、前記サーバは、前記クライアントからの処理要求が受信して、その応答の情報と共に、ヘルスチェックソフトをクライアントに送信してクライアントにダウンロードさせ、前記クライアントは、前記サーバからダウンロードしたヘルスチェックソフトを、予め定めた所定の時間間隔毎に起動して、前記サーバにヘルスチェックリクエストを要求し、サーバからのヘルスチェック応答を受信して通信の正常性を確認することを特徴とするクライアントの接続制御方法。
【請求項５】
前記サーバには、算出した自サーバの過負荷レベル毎に接続可能なクライアント接続数の総量、及び、クライアントの接続優先順位毎の接続可能なクライアント台数が分配されて設定されており、前記サーバは、この設定情報に基づいて接続するクライアントの数を制限することを特徴とする請求項４記載のクライアントの接続制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信のヘルスチェック方法及びクライアントの接続制御方法に係り、特に、ネットワークに接続されたサーバとクライアントとにより構成されるクライアント・サーバシステムにおけるサーバとクライアントとの間の通信の異常を検出する通信のヘルスチェック方法及びクライアントの接続制御方法に関する。
【背景技術】
【０００２】
複数のコンピュータを接続してコンピュータ相互間で通信を行って処理を実行するために使用されるコンピュータ・ネットワークに代表される通信ネットワークは、一般に、高い信頼性が要求される。特に、ネットワーク上の複数のコンピュータによりクライアント・サーバシステムを構成し、同一のネットワーク上に接続されている対象装置を監視・制御する場合等には、極めて高い信頼性が要求される。また、サーバには、クライアントに対する充分なサービスを行うことができることが要求されている。
【０００３】
このため、従来、サーバが過負荷状態にある場合、サーバは、クライアントの接続台数を制限する制御を行っている。この従来技術は、サーバが全てのクライアントの優先順位を管理してクライアントからの接続要求を制御すると共に、セッションが全て使用中の場合に、優先度の低いクライアントからの要求を切断し、優先度の高いクライアントを優先的に接続するというものである。なお、このようなサーバへのクライアントの接続台数を制御する従来技術として、例えば、特許文献１等に記載された技術が知られている。
【０００４】
また、クライアント・サーバシステムにおけるサーバとクライアントとの間の通信のヘルスチェックを行って、通信の信頼性の確保を行っている。この従来技術によるヘルスチェックの方法は、サーバが、自サーバが管理している全クライアントの情報を予め入手しておき、全てのクライアントに対して所定の検出信号をブロードキャスト（同時送信）する。そして、サーバは、自サーバが管理しているクライアントからの応答信号がない場合に、その応答信号のないクライアントが故障している、あるいは、その間の通信回線に異常があると判定するというものである。
【特許文献１】特開平１５−１６０３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
一般に、クライアント・サーバシステムは、例えば、ＴＣＰ／ＩＰ通信プロトコルを利用して、サーバがクライアント（コンピュータ）からの処理要求を受けて実際の処理を行い、その結果をクライアント（コンピュータ）に返すという分散処理形態を持っており、データベース等の情報資源を集中的に管理するサーバと、このサーバを利用する複数のクライアント（コンピュータ）とから構成される。
【０００６】
しかし、従来のクライアント・サーバシステムにおいて、サーバに対し接続が可能な最大のクライアント数の全部について、サーバがそれぞれのクライアントとのセッション(Session）を維持している場合、所要のクライアントからサーバに対し接続要求を受けた際、サーバは、そのクライアントに対して接続拒否を送信する。従って、クライアントの優先順位に従ってクライアントの制御台数を制御する従来技術は、例えば、接続要求を行うクライアントによって、サーバと接続し、サーバのサービスを使用し、あるいは、サーバの設定情報を変更する等の緊急性を必要とするサービスができなくなってしまうという問題を生じさせている。
【０００７】
また、前述した従来技術による通信のヘルスチェック方法は、サーバが、不特定多数のクライアントの情報を入力して管理することができず、また、クライアント端末が常に使用状態となっているとは限らないため、サーバが主体となったヘルスチェックを行うことができないという問題点を有している。
【０００８】
本発明の目的は、前述した従来技術の問題点を解決し、クライアントとサーバとの間において、ＨＴＴＰプロトコル等を使用して通信を行う場合に、クライアントの優先順位をクライアント自身に設定させ、サーバの過負荷時にも、優先順位の高いクライアントに対しては、接続を可能とするようにし、かつ、不特定多数のクライアントとサーバとの間の通信異常をクライアント主体にかつ必要時にのみヘルスチェックすることを可能とした通信のヘルスチェック方法及びクライアントの接続制御方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明によれば前記目的は、複数のクライアントとサーバとがネットワークにより接続されて構成されるクライアント・サーバシステムにおけるクライアントとサーバとの間での通信のヘルスチェック方法において、前記サーバは、前記クライアントからの処理要求があると、その応答の情報と共に、ヘルスチェックソフトをクライアントに送信してクライアントにダウンロードさせ、前記クライアントは、前記サーバからダウンロードしたヘルスチェックソフトを、予め定めた所定の時間間隔毎に起動して、前記サーバにヘルスチェックリクエストを要求し、サーバからのヘルスチェック応答を受信して通信の正常性を確認することにより達成される。
【００１０】
また、前記目的は、複数のクライアントとサーバとがネットワークにより接続されて構成されるクライアント・サーバシステムにおけるクライアントの接続制御方法において、前記クライアントには、予めサーバへの接続優先順位が設定され、前記クライアントは、接続要求と前記接続優先順位とを前記サーバに送信し、前記サーバは、前記接続要求時点でのサーバが持つＣＰＵの使用率、トラフィック状況、プロセス起動数により、自サーバの過負荷状態を過負荷レベルとして算出し、算出した過負荷レベルと前記クライアントの接続優先順位とにより、クライアントとの接続を行うか否かを決定してクライアントに通知し、前記クライアントは、前記サーバから接続可の通知を受けると、前記サーバに処理要求を送信し、前記サーバは、前記クライアントからの処理要求が受信して、その応答の情報と共に、ヘルスチェックソフトをクライアントに送信してクライアントにダウンロードさせ、前記クライアントは、前記サーバからダウンロードしたヘルスチェックソフトを、予め定めた所定の時間間隔毎に起動して、前記サーバにヘルスチェックリクエストを要求し、サーバからのヘルスチェック応答を受信して通信の正常性を確認することにより達成される。
【発明の効果】
【００１１】
本発明によれば、不特定多数のクライアントとサーバとの間の通信に対するヘルスチェックを効率よくまた、サーバ側で、クライアントの情報を認識する必要なく、通信異常をチェックすることが可能となるり、また、クライアント自身に優先順位設定させることによって、サーバに過負荷が発生した場合にも、各クライアントは、サーバから接続拒否されることなく、サーバに接続することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明による通信のヘルスチェック方法及びクライアントの接続制御方法の実施形態を図面により詳細に説明する。
【００１３】
図１は本発明が適用されるクライアント・サーバシステムの構成を示すブロック図である。図１において、１１はクライアント、１２はサーバ、１３はネットワークである。
【００１４】
図１に示すように、本発明でのヘルスチェック方法及びクライアントの接続制御方法を実施するクライアント・サーバシステムは、複数のクライアント１１とサーバ１２とがＩＰネットワーク等のネットワーク１３に接続されて構成されている。そして、図示クライアント・サーバシステムは、例えば、サーバ１２がクライアント１１からの処理要求を受けて実際の処理を行っている。この処理の１つの例として、例えば、図示しないが、ネットワークに接続されるＶｏＩＰ装置等の監視制御を行う。また、クライアント１１とサーバ１２との間で本発明の実施形態でのヘルスチェックは、サーバ１２がクライアント１１の情報を管理することなく行われる。
【００１５】
前述したクライアント・サーバシステムを構成するクライアント及びサーバは、図示しないが、ＣＰＵ、メモリ、ＨＤＤ等による記憶装置、キーボード、マウス等の入力装置、表示装置を備えて構成され、後述する各種の機能は、メモリにロードされたプログラムをＣＰＵが実行することにより実現される。
【００１６】
図２はクライアント１１とサーバ１２との間での本発明の実施形態によるヘルスチェックの処理動作を説明するフローチャートであり、次に、これについて説明する。
【００１７】
（１）クライアント１１がサーバに処理を要求するためサーバ１２内のあるＷｅｂサイトにアクセスし、メイン画面の表示依頼を送信すると、サーバ１２は、そのクライアント１１に対して、Ｗｅｂサイトへのアクセスに対する応答（メイン画面の提供）を送信すると共に、ヘルスチェックソフトを送信して、ヘルスチェックソフトをクライアント１１にダウンロードする（ステップ２０１、２０２）。
【００１８】
（２）クライアント１１は、ヘルスチェックソフトがダウンロードされると、それを保持し、予め設定した一定の時間、例えば、１０秒毎に、自律的にヘルスチェックソフトを起動し、サーバ１２に、ヘルスチェックのリクエスト要求を送信する。なお、クライアント１１は、ヘルスチェックソフトを起動する周期の間に、Ｗｅｂサイトへのアクセスに対する応答として得られた画面を用いて、サーバ１２との間で必要な処理を行う（ステップ２０３、２０４）。
【００１９】
（３）ステップ２０４でのヘルスチェックのリクエスト要求の処理は、サーバに対してメインフレームの取得を行う処理である。メインフレームとは、クライアントからの取得要求が発生する度に、異なるカウンター値を返却する仕様のものであり、サーバ１２は、このメインフレームの取得要求を受信した場合、その応答結果として任意の値のフレームキーをクライアント１１に返却する（ステップ２０５）。
【００２０】
（４）クライアント１１は、ステップ２０５で送信されてきたフレームキーを受信し、この受信したフレームキーの取得結果と前回受信フレームキーとを比較、判定し、これらの値が異なっていて差分がある場合、ヘルスチェックＯＫと判定し、通信が正常であると判断し、受信したフレームキーを更新、保持して、ヘルスチェックの周期処理を終了する（ステップ２０６、２０８、２１０）。
【００２１】
（５）ステップ２０６の判定で、差分がなかった場合（判定手段が保持しているフレームキーの値が次のヘルスチェックで変更されなかった場合、このフレームキーの値と更新している前回のフレームキーの値とが同一となって、差分がないことになる）、ヘルスチェックＮＧと判定し、通信異常、すなわち、クライアントとサーバとの間の通信回線の異常あるいはサーバの異常が発生したと判定し、リトライ回数が一定値以下であるか否かのチェックを行う（ステップ２０７、２０９）。
【００２２】
（６）ステップ２０９の判定で、リトライ回数が規定値以下であった場合、再送回数のカウント値を更新して、ヘルスチェックの周期処理を終了し、リトライ回数が規定値を越えていた場合、通信異常発生と判定して、後述する通信異常処理を実行する（ステップ２１３、２１０、２１２、２１４）。
【００２３】
図３はヘルスチェックの異常時のクライアントでの処理の概要について説明する図であり、次に、これについて説明する。ここでの処理は、図２により説明したステップ２０２の処理でサーバ１２からＷｅｂサイトへのアクセスに対する応答（メイン画面の提供）を受け取って、ヘルスチェックソフトをダウンロードしたクライアント１１が、図３に示すように、メニュー画面３０１を表示して、複数の起動画面１（３０６）、起動画面２（３０７）を介して、それぞれ複数の子画面３０８、３０９を開いているものとした場合の処理の例である。
【００２４】
（１）この状態で、クライアント１１は、タイマ処理部３０２が一定時間毎に、起動ＰＯＳＴ（ヘルスチェックリクエスト）開始３０４の処理を開始させ、ヘルスチェックリクエストをサーバ１２のＷｅｂサーバ３１３に送信する（ステップ３０３、３１１）。
【００２５】
（２）クライアント１１は、サーバ１２のＷｅｂサーバ３１３からの応答をリンク断検出フレーム部３０５により検出しチェック機能３０４の処理により、通信異常の検出を行う。なお、ここまでの処理は、図２に示すフローにより説明した処理である（ステップ３１２、３０４）。
【００２６】
（３）前述までの処理で通信異常が検出された場合、クライアント１１は、クライアントの操作者に対してその旨のメッセージを表示する。さらに、クライアント１１は、タイマ処理部３０２のチェック機能３０４からメニュー画面３０１より起動されている全ての起動画面３０６、３０７に対してリンクダウンの通知を行い、また、全ての起動画面からそれらの子画面３０８、３０９に対してリンクダウンを通知する。これにより、起動画面３０６、３０７、それらの子画面３０８、３０９の全てがクローズされる（ステップ３１０、３１４）。
【００２７】
前述で、本発明の実施形態によるＷｅｂ形式でのクライアント主体のヘルスチェックの方法について説明したが、本発明は、前述の実施形態に限定されることなく、種々の設計変更を行うことが可能である。
【００２８】
図４は本発明の実施形態によるクライアントの接続制御の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００２９】
（１）まず、クライアントの操作者は、クライアント１１にサーバとの接続の優先順位を設定する。この接続優先順位は、操作者が、例えば、５を最大の優先順位として、５段階のレベルに任意に設定することが可能である（ステップ４０１）。
【００３０】
（２）その後、クライアント１１の操作者は、クライアント１１からサーバ１２に対して、接続要求と、設定した優先順位の値とを送信する（ステップ４０２）。
【００３１】
（３）接続要求と、設定した優先順位の値とを受信したサーバ１２は、クライアント１１から受信した接続優先順位の値とクライアントの接続時点における自サーバの負荷状態を算出し、接続可否の判定を行う（ステップ４０３）。
【００３２】
（４）サーバ１２は、ステップ４０３の処理で判定した接続可否の判定結果をクライアント１１に送信する。この判定結果を受信したクライアント１１は、判定結果により接続の可否を判定する（ステップ４０４、４０５）。
【００３３】
（５）ステップ４０５の判定で、接続がＯＫであった場合、前述で説明した図２に示すフローの処理を実行し、図２のフローの処理でのヘルスチェックが異常であった場合、図３により説明した処理を行う。また、接続がＮＧであった場合、サーバヘの接続を行わずに、図３により説明した処理を行う（ステップ４０６、４０８、４０９、４０７、４０９）。
【００３４】
図５は前述したステップ４０１の処理での優先順位設定時に、クライアントに表示される優先順位設定を指示する表示例を示す図である。この表示は、クライアント１１の電源投入時等のクライアントの立ち上げ時に表示されるもので、接続優先順位の設定を操作者に促す内容を持ったものであればよく、図示例では、「サーバへの接続要求レベルを設定してください。（１〜５）  ５：最大」を表示することとしている。
【００３５】
図６は前述したステップ４０３の処理でのサーバの負荷状態の算出に使用するサーバ内の各資源の負荷状態と重み付けの値とを示す図である。図６に示すように、サーバ１２は、刻々と変化する負荷情報として、ＣＰＵ使用率、トラフイック情報、プロセス起動数を、それぞれ５投階に区分した値と、それらに対する重み付けの値とを保持している。そして、サーバ１２は、クライアント１１から接続要求があったとき、その時点の負荷情報の値と重み付けの値とにより、その時点でのサーバ全体の負荷情報を算出する。この負荷情報の算出は、
サーバ全体の負荷情報の値＝ＣＰＵ使用率の値×重み付け値
＋トラフイック情報の値×重み付け値
＋プロセス起動数の値×重み付け値
として算出される。
【００３６】
図７はサーバ全体の負荷情報の値毎の負荷レベルを過負荷レベルとして区分したテーブルを示す図である。このテーブルは、前述した数式により算出されたサーバ全体の負荷情報の値０〜５０を、１〜５の５段階の過負荷レベルに区分して示したものである。
【００３７】
図８は接続要求のあるクライアントの接続を可能とするクライアント優先レベルと過負荷レベルとの対応関係をテーブルとして示す図である。図８に示す例では、図７に示すように決定された過負荷レベル１〜５のそれぞれについて、サーバに接続可能なクライアントの優先順位を対応付けている。
【００３８】
サーバ１２は、前述したような過負荷レベルの値とクライアント１１の接続優先レベルの値とに応じて、クライアントからの接続要求に対する接続可否を判断する。
【００３９】
図９は過負荷レベルの値とクライアントの接続可能総台数と優先レベルの値毎の分配テーブルを示す図である。
【００４０】
本発明の実施形態では、さらに、サーバの過負荷レベルの値により、クライアントの接続可能総台数を予め設定しておくと共に、その場合の優先レベルの値毎の接続可能なクライアントの分配数を予め設定しておくことができる。図９に示す例では、サーバの過負荷レベルの値が１の場合、最大５０台までのクライアントがサーバに接続可能であり、その際のクライアントの優先レベルの値１〜５のものについて、それぞれ、１０：１０：１０：１０：１０の比率で接続可能であることが示され、また、サーバの過負荷レベルの値が３の場合、最大３０台までのクライアントがサーバに接続可能であり、その際のクライアントの優先レベルの値１〜５のものについて、それぞれ、０：０：２：４：４の比率で、すなわち、優先レベル１、２のクライアントの接続を拒否し、優先レベル３のクライアントは、６台また、優先レベル４、５のクライアントは、それぞれ１２台まで接続可能であることを示している。
【００４１】
前述したように、過負荷レベル毎の接続可能台数とクライアントレベル毎に接続可能な分配表を予め決めてくことによって、接続可能なクライアントの総台数と、クライアントの優先レベル毎のクライアントの接続数とを決定することができ、サーバの過負荷時にも、優先順位の高いクライアントに対して、接続を行うことが可能となる。
【００４２】
前述した本発明の実施形態は、クライアントがサーバ内のＷｅｂサーバにアクセスし、Ｗｅｂサーバからの画面をＧＵＩとして利用し、このＧＵＩを利用して各種の処理をサーバと共に進めるとして説明したが、本発明は、クライアントとサーバとを接続して、サーバがクライアントからの処理要求を受けて実際の処理を行って、その結果をクライアントに返すように構成されれば、どのようなクライアント・サーバシステムに対しても適用することができる。
【図面の簡単な説明】
【００４３】
【図１】本発明が適用されるクライアント・サーバシステムの構成を示すブロック図である。
【図２】クライアントとサーバとの間での本発明の実施形態によるヘルスチェックの処理動作を説明するフローチャートである。
【図３】ヘルスチェックの異常時のクライアントでの処理の概要について説明する図である。
【図４】本発明の実施形態によるクライアントの接続制御の処理動作を説明するフローチャートである。
【図５】図４のステップ４０１の処理での優先順位設定時に、クライアントに表示される優先順位設定を指示する表示例を示す図である。
【図６】図４のステップ４０３の処理でのサーバの負荷状態の算出に使用するサーバ内の各資源の負荷状態と重み付けの値とを示す図である。
【図７】サーバ全体の負荷情報の値毎の負荷レベルを過負荷レベルとして区分したテーブルを示す図である。
【図８】接続要求のあるクライアントの接続を可能とするクライアント優先レベルと過負荷レベルとの対応関係をテーブルとして示す図である。
【図９】過負荷レベルの値とクライアントの接続可能総台数と優先レベルの値毎の分配テーブルを示す図である。
【符号の説明】
【００４４】
１１  クライアント
１２  サーバ
１３  ネットワーク
【図１】
2007265194.tif 000003
【図２】
2007265194.tif 000004
【図３】
2007265194.tif 000005
【図４】
2007265194.tif 000006
【図５】
2007265194.tif 000007
【図６】
2007265194.tif 000008
【図７】
2007265194.tif 000009
【図８】
2007265194.tif 000010
【図９】
2007265194.tif 000011