(57)【要約】【課題】負荷分散装置による業務処理装置への負荷分散方式では、各業務処理装置へ均等にリクエストが割り当てられるため、例えばＤＢ処理等を含む実行負荷の異なる業務が複数存在する場合において、高負荷な業務への処理要求が増大すると、低負荷の業務処理が滞る問題がある。【解決手段】上記課題を解決するために、クライアントからの要求ＵＲＬの解析による実行対象業務の判断機能を付加することによって、その業務の実行時負荷が予想できる場合、業務実行処理数に上限値を設けることによってＤＢ処理等の負荷を業務単位で制御できるようにする。【選択図】  図１
2005062927.tif 000002
【特許請求の範囲】
【請求項１】
端末から要求される複数の業務処理を複数の計算機で処理するための負荷制御方法において、
前記業務処理に関連するプログラムの位置情報を業務名称と対応付け、各前記業務について処理制限数を予め対応付けて記憶し、
前記プログラムの位置情報を含む要求の入力に応じて、前記プログラムが関連する業務の処理数が処理制限数を超えていない場合は前記要求に対し処理を実行し、超えた場合はキューに蓄積することを特徴とする負荷制御方法。
【請求項２】
前記位置情報は、ＵＲＬであることを特徴とする請求項１記載の負荷制御方法。
【請求項３】
前記業務処理は、共有データベースであることを特徴とする請求項１記載の負荷制御方法。
【請求項４】
前記要求を処理すると、前記処理制限数にカウントアップした処理数を対応付けて記憶することを特徴とする請求項１記載の負荷制御方法。
【請求項５】
端末から要求される複数の業務処理を複数の計算機で処理するための負荷制御方法において、
前記業務処理に関連するプログラムの位置情報を業務名称と対応付け、各前記業務についてレスポンスの上限値を予め対応付けて記憶し、
前記プログラムの位置情報を含む要求の入力に応じて、前記プログラムが関連する業務の平均レスポンスが前記レスポンスの上限値を超えていない場合は前記要求に対し処理を実行し、超えた場合はキューに蓄積することを特徴とする負荷制御方法。
【請求項６】
前記要求を処理の後で、平均レスポンスを算出し、レスポンスの上限値に対応付けて記憶することを特徴とする請求項５記載の負荷制御方法。
【請求項７】
前記位置情報は、ＵＲＬであることを特徴とする請求項５記載の負荷制御方法。
【請求項８】
前記業務処理は、共有データベースであることを特徴とする請求項５記載の負荷制御方法。
【請求項９】
端末から要求される複数の業務処理を複数の計算機で処理するための負荷制御装置において、
前記業務処理に関連するプログラムの位置情報を業務名称と対応付け、各前記業務について処理制限数を予め対応付けて記憶する手段と、
前記プログラムの位置情報を含む要求の入力に応じて、前記プログラムが関連する業務の処理数が処理制限数を超えていない場合は前記要求に対し処理を実行し、超えた場合はキューに蓄積する手段とを備えたこと特徴とする負荷制御装置。
【請求項１０】
端末から要求される複数の業務処理を複数の計算機で処理するための負荷制御装置において、
前記業務処理に関連するプログラムの位置情報を業務名称と対応付け、各前記業務についてレスポンスの上限値を予め対応付けて記憶する手段と、
前記プログラムの位置情報を含む要求の入力に応じて、前記プログラムが関連する業務の平均レスポンスが前記レスポンスの上限値を超えていない場合は前記要求に対し処理を実行し、超えた場合はキューに蓄積する手段とを備えたことを特徴とする負荷制御装置。
【請求項１１】
端末から要求される複数の業務処理を複数の計算機で処理するための負荷制御プログラムにおいて、
前記業務処理に関連するプログラムの位置情報を業務名称と対応付け、各前記業務について処理制限数を予め対応付けて記憶するステップと、
前記プログラムの位置情報を含む要求の入力に応じて、前記プログラムが関連する業務の処理数が処理制限数を超えていない場合は前記要求に対し処理を実行し、超えた場合はキューに蓄積するステップとを備えたこと特徴とする負荷制御プログラム。
【請求項１２】
端末から要求される複数の業務処理を複数の計算機で処理するための負荷制御プログラムにおいて、
前記業務処理に関連するプログラムの位置情報を業務名称と対応付け、各前記業務についてレスポンスの上限値を予め対応付けて記憶するステップと、
前記プログラムの位置情報を含む要求の入力に応じて、前記プログラムが関連する業務の平均レスポンスが前記レスポンスの上限値を超えていない場合は前記要求に対し処理を実行し、超えた場合はキューに蓄積するステップとを備えたことを特徴とする負荷制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、使用可能なリソースが複数存在する場合、条件に応じて各リソースの負荷バランスを制御する負荷制御技術に関する。
【０００２】
【従来の技術】
従来の負荷分散制御方法は、特許文献１記載に開示されているような技術を用い、計算機システムで実行されるバッチ、オンラインおよびＴＳＳ（タイムシェアリングシステム）という業務毎の資源の利用状況に合わせて負荷を分散している。
【０００３】
【特許文献１】
特開平９−１６７１４１
【０００４】
【発明が解決しようとする課題】
前記従来技術の負荷分散制御方法は、バッチ、オンラインおよびＴＳＳといった計算機システムの使用形態毎となっているため、計算機システムの使用形態が同一（例えばオンライン）の場合は、その処理内容にかかわらず、均一な負荷分散制御となってしまうという課題が生じる。
【０００５】
本発明の目的は、リソース群を利用する複数の目的について、その各々に応じた負荷分散制御を行うことにある。
【０００６】
【課題を解決するための手段】
ネットワークを介してひとつまたは複数のクライアントから要求される業務を処理する業務処理装置またはシステムにおいて、各業務共通ＤＢへ高負荷をかけるような業務処理によって、軽負荷業務の処理の滞りを防止するために、クライアントから送信されるリクエストＵＲＬから要求対象の業務を予め判断しておき、業務毎の処理上限数を任意に設定することによって、各業務共通ＤＢへの負荷を制御することを可能とした。
【０００７】
また、クライアントからの高負荷な業務へのリクエスト数をＵＲＬ単位で記録するステップと、該ＵＲＬから要求業務を判別するステップと、実行中の業務処理数と業務処理制限数とを比較し業務処理制限数に達している場合は要求を一旦キューに入れて待機させるステップと、業務実行条件を満たしている場合は業務処理装置に要求を渡すステップと、業務処理装置からの応答時間より業務処理の実行時間の平均とを計算するステップを持つことによって、共通ＤＢへの負荷を制御する機能を可能とした。
【０００８】
【発明の実施の形態】
図１は本発明を説明するための全体構成図である。１００は業務処理要求を行うクライアントである。クライアントは１０１のネットワークを経由して、１１０の負荷制御装置に接続される。負荷制御装置１１０は、リクエスト登録部１１１、負荷制限部１１２、処理結果登録部１１３、リクエスト情報ＤＢ（１１４）、制限情報ＤＢ（１１５）、待ちキュー１１６とから成る。１１７は負荷分散装置であり、１２０の業務処理装置群にリクエストを分配している。１２１は業務の単位であり業務処理装置１２０によって処理される。ひとつの業務処理装置１２０内には、複数の業務１２１が同時に処理される場合がある。１３０は、各業務処理装置１２０で使用される共通ＤＢであり、複数台存在する場合がある。クライアント１００のブラウザ等から業務処理要求がリクエストされたとき、リクエストはまず負荷制御装置１１０のリクエスト登録部１１１に入る。リクエスト登録部１１１では、到着したリクエストＵＲＬの内容によって、リクエスト情報ＤＢを更新する。
【０００９】
リクエスト情報ＤＢは図２（２００）のようなテーブルを持つ。２０１はＤＢに処理を行うＵＲＬパス名である。２０２は業務処理装置１２０内に存在する業務名である。２０３は、実行中リクエスト数であり、２０１で登録されたリクエストが業務処理装置１２０で現在何件実行されているかを示す。２０４はＵＲＬ別平均レスポンスタイムであり、該ＵＲＬの処理が開始してから終了するまでの平均時間が記録されている。
【００１０】
リクエスト登録部１１１の処理を図４に示す。負荷制御装置１１０にリクエストが到着すると、そのＵＲＬを解析する（ステップ４００）。その後リクエスト情報ＤＢにアクセスし、該ＵＲＬの実行中リクエスト数の値を１増加させる（ステップ４０１）。また、リクエストＵＲＬから対象とする業務名を確定させ（ステップ４０２）、そのＵＲＬと対象業務名を負荷制限部１１２に渡す（ステップ４０３）。負荷制限部１１２では、現在のリクエスト数と共通ＤＢ（１３０）の負荷を考慮し、業務処理実行数を抑制させる働きをする。負荷制限部１１２は、制限情報ＤＢ（１１５）を更新する。
【００１１】
制限情報ＤＢ（１１５）は図３（３００）のようなテーブルを持つ。３０１は業務名であり、３０２は、業務毎の最大リクエスト数の制限を設ける処理制限数であり、３０３は現在の処理リクエストの合計数である合計処理リクエスト数であり、３０４は、クライアントに返されるレスポンスタイムで許容できるもっとも遅いレスポンスタイムの最大値である最遅レスポンスタイムであり、３０５は現在の業務毎のレスポンスタイムの平均値である業務別平均レスポンスタイムである。
【００１２】
負荷制限部１１２の処理を図５に示す。リクエスト登録部１１１から対象業務を入力すると（ステップ５００）、その業務の合計処理リクエスト数３０３が処理制限数３０２以上に達している場合は、そのリクエストを待ちキュー１１６に一旦溜め、合計処理リクエスト数１０３が処理制限数３０２を下回るのを待ち次の処理に進む（ステップ５０１）。ステップ５０２では、現在の業務別平均レスポンス時間３０５が最遅レスポンスタイム３０４を超えている場合は、そのリクエストは待ちキュー１１６にためられ、業務別平均レスポンスタイム３０５が減少するのを待つ。そうでない場合は、制限情報ＤＢ（１１５）の合計処理リクエスト数３０３の該業務の値を１増加させ、負荷分散機１１７にリクエストを渡す。負荷分散機１１７は、各業務処理装置１２０に対して、均等にリクエストを投げる。業務処理装置１２０は、与えられた業務１２１を実行する。業務１２１は、必要に応じて共通ＤＢ１３０にアクセスして処理し、その処理結果をクライアント１００に返すが、その過程として負荷制御装置１１０の処理結果登録部１１３に返す。処理結果登録部１１３は、業務処理装置へのリクエストから、そのレスポンスまでに経過した時間を計算し、共通ＤＢの負荷状況を記録する機能を持つ。
【００１３】
処理結果登録部１１３の処理を図６に示す。リクエスト情報ＤＢ（１１４）にアクセスし、ＵＲＬ別平均レスポンスタイム２０４を計算して更新する（ステップ６００）。また、当該実行中リクエスト数２０３を１つ減らす（ステップ６０１）。次に制御情報ＤＢにアクセスし、該業務の合計処理リクエスト数３０３を１つ減らし（ステップ６０２）、業務別平均レスポンスタイム３０５を計算して更新する（ステップ６０３）。その後クライアントに結果を返して（ステップ６０４）、一連の作業を終了する。
【００１４】
以上説明したように、業務処理装置や共通ＤＢへ流入するリクエストを、業務毎に一時制限させておくことによって、負荷の大きい業務による業務処理装置や共通ＤＢへの負荷を減少させることができ、他の軽敏な業務処理まで負荷を与えないようにすることが可能となる。結果、負荷の小さい業務のレスポンスを向上させることができる。
【００１５】
【発明の効果】
リソース群を利用する複数の目的について、その各々に応じた負荷分散制御を行うことが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態を示す全体構成図である。
【図２】リクエスト情報ＤＢのテーブルである。
【図３】制限情報ＤＢのテーブルである。
【図４】本発明のリクエスト登録部のフローチャートである。
【図５】本発明の負荷制限部のフローチャートである。
【図６】本発明の処理結果登録部のフローチャートである。
【符号の説明】
１００：クライアント
１０１：ネットワーク
１１０：負荷制御装置
１１１：リクエスト登録部
１１２：負荷制限部
１１３：処理結果登録部
１１４：リクエスト情報ＤＢ
１１５：制限情報ＤＢ
１１６：待ちキュー
１１７：負荷分散装置
１２０：業務処理装置
１２１：業務
１３０：共通ＤＢ
２００：リクエスト情報ＤＢテーブル
２０１：ＵＲＬパス名
２０２：業務名
２０３：実行リクエスト数
２０４：ＵＲＬ別平均レスポンスタイム（ｓ）
３００：制限情報ＤＢテーブル
３０１：業務名
３０２：処理制限数
３０３：合計実行リクエスト数
３０４：最遅レスポンスタイム
３０５：業務別平均レスポンスタイム（ｓ）
【図１】
2005062927.tif 000003
【図２】
2005062927.tif 000004
【図３】
2005062927.tif 000005
【図４】
2005062927.tif 000006
【図５】
2005062927.tif 000007
【図６】
2005062927.tif 000008