(57)【要約】【課題】バックエンドシステム群のボトルネックの発生を抑止し、システム処理の効率化を図る。【解決手段】クライアント端末からバックエンドシステム群に対して処理を要求するリクエストを中継してリクエストをバックエンドシステム群へ転送するリクエスト中継サーバ及び中継方法において、中継サーバが処理中のリクエストに関するプロセス数が第１閾値を超えたタイミングで、各バックエンドシステムごとにクライアント端末からのリクエストに対するレスポンス時間の計測を開始し、所定時間にわたりレスポンス時間が第２閾値を超過するリクエスト件数が第３閾値を超過したバックエンドシステムに対して、以降のリクエストの中継サーバからの転送を抑止する。【選択図】図２
2016021171.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末からのリクエストを中継してバックエンドシステム群に含まれるいずれか一つのバックエンドシステムへ転送するリクエスト中継サーバにおいて、
リクエストを処理するリクエスト処理部と、
該リクエスト処理部で処理中のリクエストの処理単位であるプロセスの数を計測する処理プロセス数計測部と、
該処理プロセス数計測部で計測した処理中の該プロセス数が第１閾値を超過したか否かを判定する処理プロセス数超過判定部と、
該クライアント端末のリクエストに対する該バックエンドシステムの応答に要する時間（レスポンス時間）を計測するレスポンス時間計測部と、
該レスポンス時間計測部で計測したレスポンス時間が第２閾値を超過したか否かを判定するレスポンス時間超過判定部と、
該バックエンドシステムごとに、レスポンス時間が第２閾値を超過したリクエストの件数を計測するレスポンス超過件数計測部と、
を備え、
該処理プロセス数超過判定部により、該リクエスト処理部で処理中のプロセス数が第１閾値を超過したと判定された場合に、
該レスポンス時間計測部がレスポンス時間の計測を開始し、
該リクエスト処理部は、
所定時間にわたり該レスポンス超過件数計測部により計測された該リクエストの件数を各バックエンドシステムごとに取得し、
取得した該リクエストの件数が第３閾値を超過するか否かを判定し、
超過すると判定したバックエンドシステムに対するそれ以降のクライアント端末のリクエストについて、該中継サーバから該バックエンドシステムへの該リクエストの転送を抑止することを特徴とするリクエスト中継サーバ。
【請求項２】
前記クライアント端末からのバックエンドシステムに対するリクエストは、バックエンドシステムの名前とＵＲＬを含み、
前記リクエスト中継サーバは、各バックエンドシステムの各ＵＲＬごとの第２閾値及び第３閾値を登録したレスポンス閾値テーブルを有し、
前記レスポンス時間超過判定部による前記レスポンス時間の判定には、該レスポンス閾値テーブルに登録された第２閾値を使用し、
前記リクエスト処理部がリクエストの転送を抑止するときに参照する第３閾値は該レスポンス閾値テーブルに従うことを特徴とする請求項１に記載のリクエスト中継サーバ。
【請求項３】
前記中継サーバは、更に、レスポンス時間が第２閾値を超過するリクエストの情報を登録したレスポンス時間超過リクエストテーブルを有し、
該レスポンス時間超過リクエストテーブルは、前記レスポンス時間超過判定部により前記レスポンス時間が第２閾値を超過したと判定された各リクエストに関して、リクエスト受信時刻と、レスポンス受信時刻と、クライアント端末のＩＰと、リクエスト先システムと、リクエスト先ＵＲＬと、レスポンス時間の項目を含み、
前記レスポンス超過件数計測部は、該レスポンス時間超過リクエストテーブルに記録されたリクエストの件数を計測することを特徴とする請求項２に記載のリクエスト中継サーバ。
【請求項４】
クライアント端末からのリクエストを中継してバックエンドシステム群に含まれるいずれか一つのバックエンドシステムへ転送する中継サーバによるリクエスト中継方法において、
該中継サーバの処理部は、
処理中のプロセス数を計測し、
該処理プロセス数が第１閾値を超過したか否かを判定し、
超過したと判定した場合に、該クライアント端末のリクエストに対する該バックエンドシステムのレスポンス時間の計測を開始し、
該レスポンス時間が第２閾値を超過したか否かを判定し、
各バックエンドシステムごとに、第２閾値を超過したと判定したリクエストの件数を計測し、
所定時間内に該リクエストの件数が第３閾値を超過したか否かを検出し、
超過したと判定したバックエンドシステムに対するそれ以降のクライアント端末のリクエストについて、該中継サーバから該バックエンドシステムへの該リクエストの転送を抑止することを特徴とするリクエスト中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バックエンドシステム群に対するリクエストの中継サーバ及び方法に関する。
【背景技術】
【０００２】
ネットワークにおいて、クライアントとサーバの間に介在して、高速なアクセスや安全な通信などを確保するために中継サーバが配置される。この中継サーバのうち、クライアント又はサーバに代理してリクエストを中継するものをプロキシ（代理）サーバといい、サーバの直前に位置してサーバに代理してクライアントのリクエストを受け取るものを、リバースプロキシサーバという。このリバースプロキシサーバにクライアント認証機能やウィルスチェック機能を付加してセキュリティの向上を図ったり、アクセス頻度の高いコンテンツをこのリバースプロキシサーバのキャッシュに格納して、クライアントからのリクエストに対してリバースプロキシサーバが直接このコンテンツを返すことにより、リバースプロキシサーバの後ろに位置するバックエンドシステムの負荷を軽減している。このバックエンドシステムが複数ある場合には、リバースプロキシサーバ1台により、クライアントからのリクエストをバックエンドシステム群に代理して受け取り、クライアントに対する一度の認証処理によって、そのクライアントがアクセス権限を有する複数のバックエンドシステムへのアクセスが可能となるシングルサインオン機能を有する場合が多い。
【０００３】
しかし、この場合において、いずれかのバックエンドシステムが障害等により処理が遅延して無応答が継続し、処理が終わらない場合、それがボトルネックとなって、クライアントから他のバックエンドシステムに対するアクセスが停滞する不具合が発生する。この、処理が遅延して終わらないという不具合に対する改善策の例として、特許文献１に、クライアントからの処理要求に対して、サーバ（Webコンテナ）における処理が遅延してクライアントへの無応答が継続するのを避けるため、クラウドとサーバの間に配置された中継サーバ（Webサーバ）とサーバ（Webコンテナ）がリアルタイムに連携してタイムアウト検出を行い、クライアントにその旨を報告して処理を停止する方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−３６４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１によれば、クライアントから処理を要求されたサーバに障害等によるスローダウンが生じた時には、サーバ側でタイムアウトを検出して処理が停止するため、無応答の継続は解消される。しかし、そのサーバのスローダウンが回復しない場合には、クライアントからそのサーバへのアクセスがある度に途中で処理が停止するため、そのサーバがシステム全体のボトルネックになり、システムの処理効率が大幅に低下する。
【０００６】
本発明の目的は、システム全体のボトルネックの発生を抑止し、システム処理の効率化を図るバックエンドシステム群を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、クライアント端末からのリクエストを中継してバックエンドシステム群に含まれるいずれか一つのバックエンドシステムへ転送するリクエスト中継サーバにおいて、リクエストを処理するリクエスト処理部と、リクエスト処理部で処理中のリクエストの処理単位であるプロセスの数を計測する処理プロセス数計測部と、処理プロセス数計測部で計測した処理中のプロセス数が第１閾値を超過したか否かを判定する処理プロセス数超過判定部と、クライアント端末のリクエストに対するバックエンドシステムの応答に要する時間（レスポンス時間）を計測するレスポンス時間計測部と、レスポンス時間計測部で計測したレスポンス時間が第２閾値を超過したか否かを判定するレスポンス時間超過判定部と、バックエンドシステムごとに、レスポンス時間が第２閾値を超過したリクエストの件数を計測するレスポンス超過件数計測部と、を備え、処理プロセス数超過判定部により、リクエスト処理部で処理中のプロセス数が第１閾値を超過したと判定された場合に、レスポンス時間計測部がレスポンス時間の計測を開始し、リクエスト処理部は、所定時間にわたりレスポンス超過件数計測部により計測されたリクエストの件数を各バックエンドシステムごとに取得し、取得したリクエストの件数が第３閾値を超過するか否かを判定し、超過すると判定したバックエンドシステムに対するそれ以降のクライアント端末のリクエストについて、中継サーバからバックエンドシステムへのリクエストの転送を抑止することを特徴とするリクエスト中継サーバとして実現することができる。
【０００８】
また、上記リクエスト中継サーバによるリクエスト中継方法として実現することもできる。
【発明の効果】
【０００９】
本発明によれば、バックエンドシステム群によるタスクの処理に関して、ボトルネックの発生を抑止し、システム処理の効率化を図ることができる。
【図面の簡単な説明】
【００１０】
【図１】一実施例に係るバックエンドシステム群の構成を示す図である。
【図２】一実施例にかかる中継サーバの構成を示す図である。
【図３】一実施例にかかる中継サーバの全体処理フローを示す図である。
【図４】一実施例にかかるリクエスト対応状況監視部の処理フローを示す図である。
【図５】一実施例にかかる処理プロセス数閾値レジスタの内容を示す図である。
【図６】一実施例にかかるレスポンス閾値テーブルの内容を示す図である。
【図７】一実施例にかかるリクエスト抑止制御状態レジスタの内容を示す図である。
【図８】一実施例にかかるレスポンス時間超過リクエストテーブルの内容を示す図である。
【図９】一実施例にかかる接続可否状況テーブルの内容を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施例を図面に基づいて説明する。
【００１２】
図１は、本実施例に係る中継サーバを含むシステム構成を示す図である。本クライアントサーバシステムは、クライアント端末３０と、同端末からのリクエストを受け付ける中継サーバ１０と、クライアント端末３０を使用するクライアントの認証とリクエストの認可を行う認証ＡＰ（Application）サーバ５０と、本システムに登録されたクライアントの情報を格納するＡＤ（Active  Directory）サーバ６０と、複数のバックエンドシステム２０ａ、２０ｂ等から構成されるバックエンドシステム群２０と、クライアント端末３０と中継サーバ１０とを接続するネットワーク４０とから構成される。
クライアント端末３０は、キーボード等を備える入力部とディスプレー等の表示部を有する。
【００１３】
次に、中継サーバ１０の構成を図２に従って説明する。中継サーバ１０は、キーボード等を備える入力部２０１と、リバースプロキシサーバの機能を有するリバースプロキシ機能部２０２と、障害等により処理が遅延したり、無応答が継続しているバックエンドシステム２０ａへのクライアント端末３０からのリクエストの転送を抑止するための制御を行うリクエスト抑止制御部２０４とを備える。
【００１４】
なお、中継サーバ１０の各構成部は、中継サーバ１０の記憶部（図示せず）に格納されたプログラムをリクエスト処理部２２４が実行することで、各構成部の機能が実現される。
【００１５】
このリクエスト抑止制御について次に説明する。  
まず、リクエスト抑止制御で使用する３つの閾値である第1閾値、第２閾値、第３閾値について説明する。第１閾値とは、抑止制御を開始する時点を判定するために使用するものであり、中継サーバ１０で処理中のプロセス数の所定値であり、その値はレスポンス閾値テーブル２３２に格納されている。第２閾値とは、レスポンス時間が所定の値を超えるクライアント端末３０からバックエンドシステム２０ａに対するリクエストの個数を計測するために使用するその所定の時間であり、第２閾値はレスポンス閾値テーブル２３２に格納されている。第３閾値は、第２閾値を超えるリクエストの個数が所定の値を超えたときに、それ以降のクライアント端末３０からバックエンドシステム２０ａに対するリクエストを抑止するために使用するその所定の数であり、第３閾値の値はレスポンス閾値テーブル２３２に格納されている。
【００１６】
中継サーバ１０がクライアント端末３０からバックエンドシステム群２０に対する複数のリクエストを受け付けてリクエストの処理単位であるプロセスが複数進行中の場合、進行中のプロセス数が第１閾値を超え、更に、処理が遅延したり、無応答が継続するバックエンドシステム２０ａが生じた時に、このプロセスの処理に中継サーバ１０の資源が占有される。このため、これがボトルネックとなって中継サーバ１０は、クライアント端末３０からの他のリクエストに対応しきれなくなる。これに対処するため、中継サーバ１０からバックエンドシステム２０ａへの以降のリクエストの転送を抑止する制御を行う。これをリクエスト抑止制御と呼ぶことにする。これにより、システムのボトルネックを解消し、他のバックエンドリソースの有効利用によるシステム処理の効率化を図るものである。
【００１７】
中継サーバ１０がクライアント端末３０のリクエストを受け付けて処理中のプロセス数が第１閾値を超えたタイミングで、リクエスト抑止制御部２０４がリクエスト抑止制御を開始し、バックエンドシステム群２０のリクエストに対するレスポンス遅延状況の監視及び必要に応じてリクエストの転送の抑止を行う。
【００１８】
次に、リバースプロキシ機能部２０２は、クライアント端末３０の認証とリクエストの認可を行う認証・認可処理部２０５と、クライアント端末３０からのリクエストをバックエンドシステム群２０の中のリクエスト先のバックエンドシステム２０ａへ転送するリクエスト転送部２１０と、バックエンドシステム２０ａから受信した処理結果のレスポンスをクライアント端末３０へ転送するレスポンス転送部２２０から構成される。
【００１９】
リクエスト抑止制御部２０４は、処理中のプロセス（処理プロセス）の数を数える処理プロセス数計測部２３０と、処理プロセスの数が第１閾値を超えたか否かを判定する処理プロセス数超過判定部２４０と、１つのリクエストからレスポンスまでの応答時間（レスポンス時間）を測るレスポンス時間計測部２５０と、レスポンス時間計測部２５０で計測されるレスポンス時間が第２閾値を超えたか否かを判定するレスポンス時間超過判定部２６０と、第１閾値を格納する処理プロセス数閾値レジスタ２３１と、第２閾値と第３閾値とを格納するレスポンス閾値テーブル２３２と、レスポンス時間が第２閾値を超えたリクエストの情報を格納するレスポンス時間超過リクエストテーブル２３４と、リクエスト抑止制御を実行中であるか否かの状態を示すリクエスト抑止制御実行中フラグ７１０（図７）を格納するリクエスト抑止制御状態レジスタ２３７と、各バックエンドシステムが、中継サーバ１０により、クライアント端末３０からのリクエストが転送を抑止されてバックエンドシステムへの接続が不可であるか否かを示す接続可否状況テーブル２３８と、バックエンドシステム群２０のリクエスト対応状況を監視するリクエスト対応状況監視部２２２とクライアント端末３０のリクエストを処理するリクエスト処理部２２４とを有する。
【００２０】
認証ＡＰサーバ５０は、クライアントの認証・認可情報テーブル５５を格納する。ＡＤサーバ６０は本システムに登録されたクライアントの情報であるクライアント情報テーブル６５を格納する。
【００２１】
次に、図５〜９を参照して、中継サーバ１０が有するテーブル及びレジスタ等について説明する。
【００２２】
図５に示す、処理プロセス数閾値レジスタ２３１は、上述の第１閾値である処理プロセス数閾値５１０を格納するレジスタであり、現在値は６となっている。この値は最初から固定としてもよいし、入力部２０１から人手により値を可変できるようにしても良い。
【００２３】
図６に示す、レスポンス閾値テーブル２３２は、リクエスト先システム６１０と、リクエスト先ＵＲＬ６２０と、第２閾値であるレスポンス時間閾値６３０と、第３閾値であるレスポンス超過件数閾値６４０の項目から構成される。同じバックエンドシステム２０ａであっても、６０２と６０４のレコードに示すようにＵＲＬが違えば、レスポンス時間閾値６３０とレスポンス超過件数閾値６４０とは異なる。
【００２４】
図７に示すリクエスト抑止制御状態レジスタ２３７はリクエスト抑止制御実行中フラグ７１０を格納しており、上述したように、このフラグはリクエスト抑止制御を実行中であるかどうかの状態を示すフラグである。中継サーバ１０で処理中のプロセス数が第１閾値を超えた時に、リクエスト対応状況監視部２２２によりＯＮとされ、第１閾値以下となった時にＯＦＦとされる。
【００２５】
図８に示す、レスポンス時間超過リクエストテーブル２３４は、レスポンス時間が第２閾値を超えたリクエストの情報を格納するテーブルであり、レスポンス時間計測部により計測されたレスポンス時間が第２閾値６３０を超過したとレスポンス時間超過判定部２６０が判定した時に、レスポンス時間超過判定部２６０がそのリクエストに関する情報を登録するテーブルである。レスポンス時間超過リクエストテーブル２３４は、リクエスト受信時刻８１０と、レスポンス受信時刻８２０と、クライアント端末ＩＰ８３０と、リクエスト先システム８４０と、リクエスト先ＵＲＬ８５０と、レスポンス時間８６０の項目から構成される。レスポンス時間８６０は、レスポンス受信時刻８２０からリクエスト受信時刻８１０を減算した、リクエストからレスポンスまでに要する時間である。
【００２６】
図９に示す、接続可否状況テーブル２３８は、各バックエンドシステムが、中継サーバ１０により、クライアント端末３０からのリクエストの転送を抑止されて、現在バックエンドシステムへの接続が不可であるか否かを示すテーブルであり、リクエスト先システム９１０と、接続可否フラグ９２０の項目から構成される。このテーブルでは、バックエンドシステム２０ａのレコード９０２の接続可否フラグ９２０はＮＧであり、バックエンドシステム２０ａへの接続が不可であることを示している。一方、バックエンドシステム２０ｂのレコード９０４の接続可否フラグ９２０はＯＫであり、バックエンドシステム２０ｂへの接続が可能であることを示している。
【００２７】
次に本実施例の中継サーバ１０による処理フローを図３に従って説明する。クライアント端末３０は、バックエンドシステム群２０の中から処理を希望するバックエンドシステムの名前とＵＲＬを指定して中継サーバ１０に対してリクエストを送信する（Ｓ３１００）。これを中継サーバ１０が受け付けて（Ｓ３１１０）、その認証・認可処理部２０５が次のようにリクエスト元のクライアント端末３０の認可を行う。ここで、中継サーバ１０がシングルサインオン機能を有する場合には、中継サーバ１０は同クライアント端末３０のログイン時に既にクライアント端末３０の認証を済ませている。即ち、中継サーバ１０は、クライアント端末３０のログイン時に、認証ＡＰサーバ５０に対して、ＡＤサーバ６０のクライアント情報テーブル６５からそのクライアント端末３０の認証・認可情報をダウンロードさせて認証・認可情報テーブル５５に登録させ、そのクライアント端末３０の認証を既に終わらせている。
【００２８】
従って、ここでは、認証・認可処理部２０５は、再度ログインしてクライアント端末３０の認証を行うことなく、認証ＡＰサーバ５０のクライアント情報テーブル６５の認証情報の照合（Ｓ３１２０）のみによりアクセスの認否（Ｓ３１３０）を行う。
【００２９】
もし、このクライアント端末３０によるリクエスト先へのアクセス権限が認証・認可情報テーブル５５に登録されていない場合には、認証・認可処理部２０５は、認可ＮＧの旨をクライアント端末３０に応答する（Ｓ３１３５）。そして、クライアント端末３０はこれを受信する（Ｓ３１３７）。もし、Ｓ３１３０において、認証・認可処理部２０５が認証ＯＫと判定した場合には、リクエスト抑止制御実行中フラグ７１０がＯＮかどうかを判定する（Ｓ３１４０）。
【００３０】
Ｓ３１４０の判定により、リクエスト抑止制御実行中フラグ７１０がＯＮであれば、リクエスト処理部２２４は、接続可否状況テーブル２３８を照会して（Ｓ３１５０）、リクエスト先のバックエンドシステム２０ａへの接続可否状況を調べる（Ｓ３１６０）。
【００３１】
その結果、接続がＯＫであれば、リクエスト処理部２２４は、このリクエストをバックエンドシステム２０ａのリクエスト先のＵＲＬに対して転送する指示をリクエスト転送部２１０に対して与え、リクエスト転送部２１０はこのリクエストをバックエンドシステム２０ａへ転送する。そして、バックエンドシステム２０ａはこのリクエストを受信する（Ｓ３１８０）。
【００３２】
もし、Ｓ３１４０の判定により、リクエスト抑止制御実行中フラグ７１０がＯＦＦであれば、Ｓ３１５０とＳ３１６０のステップを飛ばしてＳ３１７０のステップに移る。また、もし、Ｓ３１６０の判定により、接続がＮＧであれば、リクエストのバックエンドシステム２０ａへの転送を抑止し、クライアント端末３０に対して、バックエンドシステム２０ａへの接続不可の旨を応答し（Ｓ３１６５）、クライアント端末３０はこれを受信する（Ｓ３１６７）。
【００３３】
上述のＳ３１８０で、中継サーバ１０からリクエストを受信したバックエンドシステムは、リクエストに対する処理を行い、その結果であるコンテンツを中継サーバ１０に応答する（Ｓ３１９０）。これを中継サーバ１０のリクエスト処理部２２４が受信して（Ｓ３２００）、レスポンス転送部２２０からクライアント端末３０へそのコンテンツを転送し（Ｓ３２０５）、これをクライアント端末３０が受信する（Ｓ３２０７）。また、Ｓ３２００の後、リクエスト処理部２２４は、リクエスト抑止制御実行中フラグ７１０を参照して、ＯＮとなっているかどうかを調べる（Ｓ３２１０）。
【００３４】
その結果、フラグがＯＮでリクエスト抑止制御実行中となっている場合には、リクエスト処理部２２４は、レスポンス時間計測部２５０で測定したレスポンス時間を参照し（Ｓ３２２０）、これがレスポンス閾値テーブル２３２に登録されたレスポンス時間の第２閾値を超過しているかどうかを調べる（Ｓ３２３０）。もし超過していれば、リクエスト先のバックエンドシステム名と、リクエスト先のＵＲＬと、レスポンス時間を、レスポンス時間超過リクエストテーブル２３４に登録し（Ｓ３２４０）、リクエストに対する処理を終了する（Ｓ３２５０）。もし、超過していなければ、Ｓ３２４０を飛ばしてリクエストに対する処理を終了する（Ｓ３２５０）。また、上述したＳ３２１０において、リクエスト抑止制御実行中フラグ７１０がＯＮでなければ、リクエストに対する処理を終了する（Ｓ３２５０）。
【００３５】
次に、リクエスト対応状況監視部２２２による監視処理のサイクルについて、図４のフローに従って説明する。この処理は、リクエスト抑止制御を行うために、本システムのリクエスト対応状況を常時監視するものである。まず、リクエスト対応状況監視部２２２は、監視時間のタイマを設定する（Ｓ４０００）。次に、リクエスト対応状況監視部２２２は、中継サーバ１０の処理プロセス数を処理プロセス数計測部２３０から取得し（Ｓ４１００）、リクエスト抑止制御状態レジスタ２３７からリクエスト抑止制御実行中フラグ７１０を読み出す（Ｓ４２００）。
【００３６】
その後、リクエスト対応状況監視部２２２は、Ｓ４１００で取得した処理プロセス数及びＳ４２００で読み出したリクエスト抑止制御実行中フラグ７１０の値を検討する（Ｓ４３００）。その結果、処理プロセス数が第１閾値以下であり、かつリクエスト抑止制御実行中フラグ７１０がＯＦＦであれば（Ｓ４３１０）、リクエスト抑止制御を開始する必要はなく、またリクエスト抑止制御実行中フラグ７１０をＯＦＦに変える必要もないため、リクエスト処理部２２４はＳ４０００でセットしたタイマがアップするまでアイドル状態を維持し（Ｓ４７００）、タイマがアップするとＳ４０００に戻り、同様の手順で次の監視サイクルを実行する。
【００３７】
もし、処理プロセス数が第１閾値以下であり、かつリクエスト抑止制御実行中フラグ７１０がＯＮであれば（Ｓ４３２０）、リクエスト抑止制御を開始する必要がないにも関わらず、リクエスト抑止制御実行中フラグ７１０がＯＮになっているということなので、これをＯＦＦにする必要があるため、リクエスト対応状況監視部２２２は、リクエスト抑止制御実行中フラグ７１０をＯＦＦに変更し（Ｓ４８００）、レスポンス時間超過リクエストテーブル２３４をクリアし、接続可否状況テーブル２３８を参照して、接続可否フラグ９２０を全てＯＫに変更する（Ｓ４９００）。
【００３８】
Ｓ４３００における検討の結果、もし、処理プロセス数が第１閾値を超過し、かつリクエスト抑止制御実行中フラグ７１０がＯＮであれば（Ｓ４３３０）、リクエスト対応状況監視部２２２は、クライアント端末３０からのリクエストを抑止すべきバックエンドシステムがないかどうかを判断する。そのために、リクエスト対応状況監視部２２２は、それ以降の所定の時間にわたり、バックエンドシステム群２０に対するレスポンスの遅延状況を監視する。そして、その所定の時間内に、レスポンス時間超過リクエストテーブル２３４を参照して、各バックエンドシステムごとに、リクエスト受信時刻８１０とレスポンス受信時刻８２０が共にその所定の時間内に入っている超過リクエストの件数を算出する（Ｓ４５００）。この所定の時間は、Ｓ４１００で設定する監視タイマの設定時間以下とする。
【００３９】
そして、リクエスト対応状況監視部２２２は、レスポンス閾値テーブル２３２の第３閾値６４０を参照して、算出した超過リクエストの件数が第３閾値６４０を超過しているバックエンドシステムについて、接続可否状況テーブル２３８を参照して、リクエスト先の接続可否フラグ９２０がＯＫとなっていればＮＧに変更する。逆に、レスポンス時間超過リクエストの件数が第３閾値６４０を超過していないバックエンドシステムについては、該当する接続可否フラグ９２０がＮＧとなっていれば、ＯＫに変更し、接続可否状況テーブル２３８を更新する（Ｓ４６００）。続いて、リクエスト対応状況監視部２２２はタイマがアップするまでアイドル状態を維持し（Ｓ４７００）、タイマがアップするとＳ４０００に戻り、同様の手順で次の監視サイクルを実行する。
【００４０】
次に、Ｓ４３００において、もし、処理プロセス数が第１閾値を超過し、かつリクエスト抑止制御実行中フラグ７１０がＯＦＦであれば（Ｓ４３４０）、リクエスト抑止制御を開始する必要があるにも関わらず、リクエスト抑止制御実行中フラグ７１０がＯＦＦになっているということなので、これをＯＮにする必要がある。従って、リクエスト対応状況監視部２２２は、Ｓ４４００においてリクエスト抑止制御実行中フラグ７１０をＯＮにした後、Ｓ４５００とＳ４６００の処理を行う。その後、リクエスト対応状況監視部２２２はタイマがアップするまでアイドル状態を維持し（Ｓ４７００）、タイマがアップするとＳ４０００に戻り、同様の手順で次の監視サイクルを実行する。
【００４１】
本実施例によれば、処理が遅延したり、無応答が継続しているシステムのボトルネックとなったバックエンドシステム２０ａに対するクライアント端末３０からのアクセスを抑止することにより、ボトルネックを解消し、バックエンドシステム２０ａ以外の他のバックエンドリソースの有効利用によるシステム処理の効率化を図ることができる。
【符号の説明】
【００４２】
１０：中継サーバ、２０：バックエンドシステム群、３０：クライアント端末、
４０：ネットワーク、２０２：リバースプロキシ機能部、２０４：リクエスト抑止制御部、
２２２：リクエスト対応状況監視部、２２４：リクエスト処理部、
７１０：リクエスト抑止制御実行中フラグ、９２０：接続可否フラグ
【図１】
2016021171.tif 000003
【図２】
2016021171.tif 000004
【図３】
2016021171.tif 000005
【図４】
2016021171.tif 000006
【図５】
2016021171.tif 000007
【図６】
2016021171.tif 000008
【図７】
2016021171.tif 000009
【図８】
2016021171.tif 000010
【図９】
2016021171.tif 000011