(57)【特許請求の範囲】
【請求項１】
クライアント装置から操作指示と操作対象を特定したリクエストを取得するリクエスト取得手段と、
前記クライアント装置に記憶された、過去に前記リクエストに応じた処理を実行した際に計測された、処理時間、同時実行されるプロセス数、ＣＰＵ使用率に応じた想定コスト情報を取得する想定コスト情報取得手段と、
前記想定コスト情報、前記リクエストを取得したときの同時実行されているプロセス数、及び、予め設定された期間に実行されたプロセス数と当該プロセスの平均処理時間の関係を表す負荷統計情報に基づいて、予測されるプロセスの処理時間を表す予測スループットを算出する予測スループット算出手段と、
前記リクエストを取得したときのＣＰＵ使用率及び前記想定コスト情報に含まれるＣＰＵ使用率に基づいて、前記算出された予測スループットを補正した補正スループットを算出する補正スループット算出手段と、
前記算出された補正スループットに応じて、前記リクエストの実行の可否を判定する補正スループット判定手段と、
を含むことを特徴とするサーバ装置。
【請求項２】
前記補正スループット判定手段は、前記補正スループットがあらかじめ定められた第１の閾値よりも大きいと判断した場合には、前記リクエストの実行が不可であることを示す情報を前記クライアント装置に送信することを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記サーバ装置は、更に、
前記補正スループット判定手段が、前記補正スループットが前記第１の閾値以下であると判断した場合に、前記リクエストに応じた処理を実行する実行手段と、
前記サーバ装置が前記リクエストの処理に要した、処理時間、同時実行されたプロセス数、ＣＰＵ使用率を示すコスト情報を前記クライアント装置に送信するコスト情報送信手段と、
を含むことを特徴とする請求項２に記載のサーバ装置。
【請求項４】
前記補正スループット算出手段は、予め設定された、前記サーバ装置における現在のＣＰＵ使用率と前記想定コスト情報に含まれるＣＰＵ使用率との比と、補正する割合との関係を表す変換テーブルを参照して、前記補正スループットを算出することを特徴とすることを特徴とする請求項１乃至３のいずれかに記載のサーバ装置。
【請求項５】
各操作指示と各操作対象に関連付けて記憶された、前記各操作対象について前記各操作指示をサーバ装置で処理した際に想定される処理時間、同時実行プロセス数、ＣＰＵ使用率を示す想定コスト情報を記憶した想定コスト情報記憶手段と、
前記サーバ装置に操作指示と操作対象を特定したリクエストを送信するリクエスト送信手段と、
前記想定コスト情報記憶手段に記憶された想定コスト情報のうち、前記リクエストに関連付けられた想定コスト情報を取得し、前記サーバ装置に送信する想定コスト情報送信手段と、
前記サーバ装置から前記リクエストに対する前記サーバ装置の処理結果に応じたレスポンスを取得するレスポンス取得手段と、
前記サーバ装置が前記リクエストの処理に要した処理時間、同時実行プロセス数、ＣＰＵ使用率を示すコスト情報を取得するコスト情報取得手段と、
前記取得されたコスト情報に応じて、前記想定コスト情報記憶手段に記憶された想定コスト情報を更新する更新手段と、
を含むことを特徴とするクライアント装置。
【請求項６】
前記更新手段は、
前記コスト情報に含まれる処理時間があらかじめ設定された第２の閾値より大きいか否かを判定する処理時間判定手段と、
前記リクエストに対応する想定コスト情報が前記想定コスト情報記憶手段に記憶されているか否かを判定する記憶判定手段と、を含み、
前記更新手段は、前記処理時間判定手段の判定結果及び前記記憶判定手段の判定結果に応じて、前記想定コスト情報記憶手段に記憶された想定コスト情報を更新する、
ことを特徴とする請求項５に記載のクライアント装置。
【請求項７】
前記更新手段は、前記処理時間判定手段が前記コスト情報に含まれる処理時間が前記第２の閾値より大きいと判定した場合であって、かつ、前記リクエストに対応する想定コスト情報が前記想定コスト情報記憶手段に記憶されていると判定した場合に、前記リクエストに対応する想定コスト情報と前記コスト情報の平均値を算出する平均値算出手段を含み、
前記更新手段は、前記リクエストに対応する想定コスト情報を前記平均値に置換する、
ことを特徴とする請求項６に記載のクライアント装置。
【請求項８】
前記更新手段は、前記処理時間判定手段が前記コスト情報に含まれる処理時間が第２の閾値より大きいと判定した場合であって、かつ、前記リクエストに対応する想定コスト情報が前記想定コスト情報記憶手段に記憶されていないと判定した場合には、前記コスト情報を、想定コスト情報として新たに前記想定コスト情報記憶手段に記憶することを特徴とする請求項６または７に記載のクライアント装置。
【請求項９】
前記更新手段は、前記処理時間判定手段が前記コスト情報に含まれる処理時間が前記第２の閾値以下と判定した場合であって、かつ、前記リクエストに対応する想定コスト情報が前記想定コスト情報記憶手段に記憶されていると判定した場合には、前記リクエストに対応する想定コスト情報を前記想定コスト情報記憶手段から削除することを特徴とする請求項６乃至８のいずれかに記載のクライアント装置。
【請求項１０】
クライアント装置から操作指示と操作対象を特定したリクエストを取得するリクエスト取得手段、
前記クライアント装置に記憶された、過去に前記リクエストに応じた処理を実行した際に計測された、処理時間、同時実行されるプロセス数、ＣＰＵ使用率に応じた想定コスト情報を取得する想定コスト情報取得手段、
前記想定コスト情報、前記リクエストを取得したときの同時実行されているプロセス数、及び、予め設定された期間に実行されたプロセス数と当該プロセスの平均処理時間の関係を表す負荷統計情報に基づいて、予測されるプロセスの処理時間を表す予測スループットを算出する予測スループット算出手段、
前記リクエストを取得したときのＣＰＵ使用率及び前記想定コスト情報に含まれるＣＰＵ使用率に基づいて、前記算出された予測スループットを補正した補正スループットを算出する補正スループット算出手段、及び、
前記算出された補正スループットに応じて、前記リクエストの実行の可否を判定する補正スループット判定手段、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項１１】
各操作指示と各操作対象に関連付けて記憶された、前記各操作対象について前記各操作指示をサーバ装置で処理した際に想定される処理時間、同時実行プロセス数、ＣＰＵ使用率を示す想定コスト情報を記憶した想定コスト情報記憶手段、
前記サーバ装置に操作指示と操作対象を特定したリクエストを送信するリクエスト送信手段、
前記想定コスト情報記憶手段に記憶された想定コスト情報のうち、前記リクエストに関連付けられた想定コスト情報を取得し、前記サーバ装置に送信する想定コスト情報送信手段、
前記サーバ装置から前記リクエストに対する前記サーバ装置の処理結果に応じたレスポンスを取得するレスポンス取得手段、
前記サーバ装置が前記リクエストの処理に要した処理時間、同時実行プロセス数、ＣＰＵ使用率を示すコスト情報を取得するコスト情報取得手段、及び、
前記取得されたコスト情報に応じて、前記想定コスト情報記憶手段に記憶された想定コスト情報を更新する更新手段、
としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
サーバ、端末、プログラムに関する。
【背景技術】
【０００２】
クライアント・サーバシステムにおいて、クライアントからの処理要求に対して、サーバ側でその受付を制限する技術が知られている。具体的には、下記特許文献１には、クライアントから処理要求を受けると、サーバは、プログラムの機能毎に負荷判定値が関連付けられた負荷判定テーブルを参照し、要求されたプログラムの負荷判定値と、その時点の負荷状態値を比較し、その比較結果に応じて、処理要求の受付の可否を判定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３２２３６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、クライアント・サーバシステムにおいて、クライアント装置が過去に要求した処理に対応するサーバ装置側の負荷状況に基づいて、再び当該要求に応じた処理をするときに、当該処理の実行の可否を判定するサーバ装置、クライアント装置、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に記載のサーバ装置は、クライアント装置から操作指示と操作対象を特定したリクエストを取得するリクエスト取得手段と、前記クライアント装置に記憶された、過去に前記リクエストに応じた処理を実行した際に計測された、処理時間、同時実行されるプロセス数、ＣＰＵ使用率に応じた想定コスト情報を取得する想定コスト情報取得手段と、前記想定コスト情報、前記リクエストを取得したときの同時実行されているプロセス数、及び、予め設定された期間に実行されたプロセス数と当該プロセスの平均処理時間の関係を表す負荷統計情報に基づいて、予測スループットを算出する予測スループット算出手段と、前記リクエストを取得したときのＣＰＵ使用率及び前記想定コスト情報に含まれるＣＰＵ使用率に基づいて、前記算出された予測スループットを補正した補正スループットを算出する補正スループット算出手段と、前記算出された補正スループットに応じて、前記リクエストの実行の可否を判定する補正スループット判定手段と、を含むことを特徴とする。
【０００６】
請求項２に記載のサーバ装置は、請求項１に記載のサーバ装置において、前記補正スループット判定手段は、前記補正スループットがあらかじめ定められた第１の閾値よりも大きいと判断した場合には、前記リクエストの実行が不可であることを示す情報を前記クライアント装置に送信することを特徴とする。
【０００７】
請求項３に記載のサーバ装置は、請求項１または２に記載のサーバ装置において、前記サーバ装置は、更に、前記補正スループット判定手段が、前記補正スループットが前記第１の閾値以下であると判断した場合に、前記リクエストに応じた処理を実行する実行手段と、前記サーバ装置が前記リクエストの処理に要した、処理時間、同時実行されたプロセス数、ＣＰＵ使用率を示すコスト情報を前記クライアント装置に送信するコスト情報送信手段と、を含むことを特徴とする。
【０００８】
請求項４に記載のサーバ装置は、請求項１乃至３のいずれかに記載のサーバ装置において、前記補正スループット算出手段は、予め設定された、前記サーバ装置における現在のＣＰＵ使用率と前記想定コスト情報に含まれるＣＰＵ使用率との比と、補正する割合との関係を表す変換テーブルを参照して、前記補正スループットを算出することを特徴とすることを特徴とする。
【０００９】
請求項５に記載のクライアント装置は、各操作指示と各操作対象に関連付けて記憶された、前記各操作対象について前記各操作指示をサーバ装置で処理した際に想定される処理時間、同時実行プロセス数、ＣＰＵ使用率を示す想定コスト情報を記憶した想定コスト情報記憶手段と、前記サーバ装置に操作指示と操作対象を特定したリクエストを送信するリクエスト送信手段と、前記想定コスト情報記憶手段に記憶された想定コスト情報のうち、前記リクエストに関連付けられた想定コスト情報を取得し、前記サーバ装置に送信する想定コスト情報送信手段と、前記サーバ装置から前記リクエストに対する前記サーバ装置の処理結果に応じたレスポンスを取得するレスポンス取得手段と、前記サーバ装置が前記リクエストの処理に要した処理時間、同時実行プロセス数、ＣＰＵ使用率を示すコスト情報を取得するコスト情報取得手段と、前記取得されたコスト情報に応じて、前記想定コスト情報記憶手段に記憶された想定コスト情報を更新する更新手段と、を含むことを特徴とする。
【００１０】
請求項６に記載のクライアント装置は、請求項５に記載のクライアント装置において、前記更新手段は、前記コスト情報に含まれる処理時間があらかじめ設定された第２の閾値より大きいか否かを判定する処理時間判定手段と、前記リクエストに対応する想定コスト情報が前記想定コスト情報記憶手段に記憶されているか否かを判定する記憶判定手段と、を含み、前記更新手段は、前記処理時間判定手段の判定結果及び前記記憶判定手段の判定結果に応じて、前記想定コスト情報記憶手段に記憶された想定コスト情報を更新する、ことを特徴とする。
【００１１】
請求項７に記載のクライアント装置は、請求項６に記載のクライアント装置において、前記更新手段は、前記処理時間判定手段が前記コスト情報に含まれる処理時間が前記第２の閾値より大きいと判定した場合であって、かつ、前記リクエストに対応する想定コスト情報が前記想定コスト情報記憶手段に記憶されていると判定した場合に、前記リクエストに対応する想定コスト情報と前記コスト情報の平均値を算出する平均値算出手段を含み、前記更新手段は、前記リクエストに対応する想定コスト情報を前記平均値に置換する、ことを特徴とする。
【００１２】
請求項８に記載のクライアント装置は、請求項６または７に記載のクライアント装置において、前記更新手段は、前記処理時間判定手段が前記コスト情報に含まれる処理時間が第２の閾値より大きいと判定した場合であって、かつ、前記リクエストに対応する想定コスト情報が前記想定コスト情報記憶手段に記憶されていないと判定した場合には、前記コスト情報を、想定コスト情報として新たに前記想定コスト情報記憶手段に記憶することを特徴とする。
【００１３】
請求項９に記載のクライアント装置は、請求項６乃至８のいずれかに記載のクライアント装置において、前記更新手段は、前記処理時間判定手段が前記コスト情報に含まれる処理時間が前記第２の閾値以下と判定した場合であって、かつ、前記リクエストに対応する想定コスト情報が前記想定コスト情報記憶手段に記憶されていると判定した場合には、前記リクエストに対応する想定コスト情報を前記想定コスト情報記憶手段から削除することを特徴とする。
【００１４】
請求項１０に記載のプログラムは、クライアント装置から操作指示と操作対象を特定したリクエストを取得するリクエスト取得手段、前記クライアント装置に記憶された、過去に前記リクエストに応じた処理を実行した際に計測された、処理時間、同時実行されるプロセス数、ＣＰＵ使用率に応じた想定コスト情報を取得する想定コスト情報取得手段、前記想定コスト情報、前記リクエストを取得したときの同時実行されているプロセス数、及び、予め設定された期間に実行されたプロセス数と当該プロセスの平均処理時間の関係を表す負荷統計情報に基づいて、予測スループットを算出する予測スループット算出手段、
前記リクエストを取得したときのＣＰＵ使用率及び前記想定コスト情報に含まれるＣＰＵ使用率に基づいて、前記算出された予測スループットを補正した補正スループットを算出する補正スループット算出手段、及び、前記算出された補正スループットに応じて、前記リクエストの実行の可否を判定する補正スループット判定手段、としてコンピュータを機能させることを特徴とする。
【００１５】
請求項１１に記載のプログラムは、各操作指示と各操作対象に関連付けて記憶された、前記各操作対象について前記各操作指示をサーバ装置で処理した際に想定される処理時間、同時実行プロセス数、ＣＰＵ使用率を示す想定コスト情報を記憶した想定コスト情報記憶手段、前記サーバ装置に操作指示と操作対象を特定したリクエストを送信するリクエスト送信手段、前記想定コスト情報記憶手段に記憶された想定コスト情報のうち、前記リクエストに関連付けられた想定コスト情報を取得し、前記サーバ装置に送信する想定コスト情報送信手段、前記サーバ装置から前記リクエストに対する前記サーバ装置の処理結果に応じたレスポンスを取得するレスポンス取得手段、前記サーバ装置が前記リクエストの処理に要した処理時間、同時実行プロセス数、ＣＰＵ使用率を示すコスト情報を取得するコスト情報取得手段、及び、前記取得されたコスト情報に応じて、前記想定コスト情報記憶手段に記憶された想定コスト情報を更新する更新手段、としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００１６】
請求項１、４、１０の発明によれば、過去にクライアント装置から要求して実行したリクエストのコスト情報に基づいて、再び当該リクエストを実行するときにサーバ装置側の負荷状況を計算し、当該リクエストの実行の可否を判定するサーバ装置を提供することができる。。
【００１７】
請求項２の発明によれば、予測されるスループットがあらかじめ設定された値よりも大きい場合には、リクエストを受け付けず、サーバ装置の負荷が増加しない。
【００１８】
請求項３の発明によれば、サーバ装置で予測されるスループットがあらかじめ設定された値以下である場合には、リクエストを実行する。
【００１９】
請求項５、１１の発明によれば、クライアント装置側で、サーバ装置における処理負荷の高いリクエストに関する情報が保持され、サーバ装置で当該情報を保持するよりも、サーバ装置の負荷が軽減される。
【００２０】
請求項６、７の発明によれば、想定されるコスト情報が動的に更新される。
【００２１】
請求項８の発明によれば、記憶されていない想定コスト情報が追加される。
【００２２】
請求項９の発明によれば、不要な想定コスト情報が削除される。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施形態に係る情報処理システムのハードウェア構成の概要について説明するための図である。
【図２】サーバの機能的構成の一例について説明するための図である。
【図３】想定コスト情報について説明するための図である。
【図４】アクセスログ管理部に記憶されたアクセスログについて説明するための図である。
【図５】サーバ負荷統計情報について説明するための図である。
【図６】サーバ負荷統計情報について説明するための図である。
【図７】補正値変換テーブルについて説明するための図である。
【図８】補正値変換テーブルについて説明するための図である。
【図９】端末の機能的構成の一例について説明するための図である。
【図１０】更新部の機能的構成の一例について説明するための図である。
【図１１】サーバの処理のフローの一例を説明するための図である。
【図１２】端末の処理のフローの一例を説明するための図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態について、図面を参照しつつ説明する。なお、図面については、同一又は同等の要素には同一の符号を付し、重複する説明は省略する。
【００２５】
図１は、本発明の実施形態に係る情報処理システムのハードウェア構成の概要について説明するための図である。図１に示すように、情報処理システム１００は、ネットワーク１３０（例えば、インターネット）を介して接続されたサーバ１１０及び端末１２０を有する。なお、図１においては、情報処理システム１００は、１の端末１２０のみを有しているが、その他複数の端末１２０を有してもよい。
【００２６】
サーバ１１０は、制御部１１１、記憶部１１２、通信部１１３を含む。制御部１１１は、例えば、ＣＰＵ等であって、記憶部１１２に格納されたプログラムに従って動作する。記憶部１１２は、例えば、ハードディスクやＲＯＭやＲＡＭ等の情報記録媒体で構成され、制御部１１１によって実行されるプログラムを保持する情報記録媒体である。また、記憶部１１２は、制御部１１１のワークメモリとしても動作する。
【００２７】
通信部１１３は、ネットワークインターフェースであって、制御部１１１からの指示に応じて、ネットワーク１３０を介して、情報を送受信する。なお、制御部１１１、記憶部１１２、通信部１１３は、それぞれ、バス１１４を介して接続される。
【００２８】
また、端末１２０は、制御部１２１、通信部１２２、記憶部１２３、表示部１２４、操作部１２５を含む。同様に、各部１２０乃至１２５は、バス１２６を介して接続される。上述したサーバ１１０と同様に、制御部１２１は、例えば、ＣＰＵであって、記憶部１１２に格納されたプログラムに従って動作する。記憶部１２３は、例えば、ハードディスクやＲＯＭやＲＡＭ等の情報記録媒体で構成され、制御部１２１によって実行されるプログラムを保持する情報記録媒体である。また、記憶部１２３は、制御部１２１のワークメモリとしても動作する。
【００２９】
操作部１２５は、例えば、キーボード、マウス、ボタン等のインターフェースで構成され、ユーザの指示操作に応じて、当該指示操作の内容を制御部１２１に出力する。表示部１２４は、例えば、液晶ディスプレイ、ＣＲＴディスプレイ、または有機ＥＬディスプレイ等であって、制御部１２１からの指示に従い、情報を表示する。
【００３０】
なお、上記制御部１１１及び１２１で処理されるプログラムは、例えば、ネットワークを介して、ダウンロードされて提供されてもよいし、または、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータで読み取り可能な各種の情報記録媒体によって提供されてもよい。なお、上記サーバ１１０や端末１２０の構成は一例であってこれに限定されるものではない。また、サーバ１１０及び端末１２０の機能的な構成の詳細については、後述する。
【００３１】
図２は、サーバの機能的構成の一例について説明するための図である。図２に示すように、サーバ１１０は、機能的に、リクエスト取得部２０１、想定コスト情報取得部２０２、アクセスログ管理部２０３、サーバ負荷統計情報算出部２０４、プロセス情報取得部２０５、予測スループット算出部２０６、補正スループット算出部２０７、補正スループット判定部２０８、実行部２０９、レスポンス生成部２１０、変換テーブル記憶部２１１と、を含む。
【００３２】
リクエスト取得部２０１は、例えば、端末１２０からの操作指示と操作対象を特定したリクエスト、及び、後述する想定コスト情報を取得する。ここで、リクエストには、例えば、提案資料についてのサムネイル画像の一覧取得指示、プロジェクトについての名称などの情報の一覧取得指示、仕様書の文書ファイルの登録指示が含まれる。下記においては、説明の簡略化のため、主に、端末１２０側から、１０時２０分に対象オブジェクト：０２提案資料について、操作指示：サムネイル一覧取得指示をリクエストした場合を例として、説明する。
【００３３】
なお、当該リクエストは、例えば、ユーザが端末１２０の操作部１２５を介して、指示を入力することにより端末１２０から送信される。また、上記においては、リクエスト取得部２０１は、端末１２０からのリクエスト及び想定コスト情報の両者を取得する構成としたが、例えば、想定コスト情報取得部２０２が直接端末１１０から想定コスト情報を取得するように構成してもよい。
【００３４】
想定コスト情報取得部２０２は、想定コスト情報を取得する。ここで、想定コスト情報とは、取得されたリクエストに応じた処理をサーバで処理した際に想定される、処理時間、同時実行されるプロセス数（同時実行プロセス数）、ＣＰＵ使用率を示す情報を含む。具体的には、例えば、想定コスト情報は、後述するように過去に同じリクエストに応じた処理を実行した際に計測された処理時間、同時実行プロセス数、ＣＰＵ使用率に応じた情報に相当する。また、ＣＰＵ使用率の最も高かったプロセス名を示す情報を含んでもよい。当該想定コスト情報は、後述する端末１２０の想定コスト情報記憶部９０２に各操作指示と各操作対象に関連付けて記憶される。
【００３５】
具体的には、例えば、図３に示すように、想定コスト情報記憶部９０２は、操作指示を識別する操作情報、対象オブジェクトを識別する対象オブジェクト情報、操作指示についてのサーバにおける処理時間を示す処理時間情報、同時実行プロセス数情報、ＣＰＵ使用率の最も高いプロセス名を示す情報、ＣＰＵ使用率を示す情報を関連付けて記憶する。上記例の場合、例えば、想定コスト情報取得部２０２は、端末１２０から、想定コスト情報として、処理時間情報：４０（ｓ）、同時実行プロセス数：１５、ＣＰＵ使用率の最も高かったプロセス名：conv.exe、ＣＰＵ使用率：６０（％）を取得する。
【００３６】
アクセスログ管理部２０３は、端末１２０からサーバ１１０へのアクセスログを管理する。具体的には、例えば、アクセスログ管理部２０３は、図４に示すように、タスクに相当するプロセスの処理の開始時間（開始時間）、プロセスの処理の開始時におけるプロセス数（開始時プロセス数）、プロセスの終了時におけるプロセス数（終了時プロセス数）、開始時から終了時までの期間における平均のプロセス数（平均プロセス数）、プロセスの処理に要した時間（処理時間）を記憶・管理する。
【００３７】
サーバ負荷統計情報算出部２０４は、アクセスログ管理部２０３から取得したアクセスログに基づいて、時間帯毎のプロセス数と平均時間に関する統計情報を算出する。具体的には、例えば、図５に示すように、サーバ負荷統計情報算出部２０４は、アクセスログ管理部２０３に記憶されたアクセスログに基づいて、各時間帯におけるプロセス数毎の平均の処理時間（平均処理時間）を算出する。そして、時間帯毎に、例えば、図６に示すような、プロセス数と平均処理時間の関係（サーバ負荷統計情報）を算出する。なお、図６は、一例として、図５に示した１０時から１１時におけるサーバ負荷統計情報をグラフにした様子を示す。
【００３８】
プロセス情報取得部２０５は、現在のサーバにおいて同時実行されているプロセス数、現在のＣＰＵ使用率を表すプロセス情報を取得する。具体的には、例えば、リクエスト取得部２０１が上記リクエストを取得したときに同時実行されているプロセス数やＣＰＵ使用率を表すプロセス情報を取得する。
【００３９】
予測スループット算出部２０６は、想定コスト情報取得部２０２により取得された想定コスト情報、プロセス情報取得部２０５により取得された現在のサーバ１１０における同時実行されているプロセス数、サーバ負荷統計情報取得部２０４により取得されたサーバ負荷統計情報に基づいて、予測されるサーバのスループット（予測スループット情報）を算出する。
【００４０】
上記例の場合、予測スループット算出部２０６は、想定コスト情報に含まれる同時実行プロセス数が１５であるので、例えば、図６に示したサーバ負荷統計情報に基づいて、平均処理時間、７（ｓ）（統計コスト）を算出する。また、予測スループット算出部２０６は、想定コスト情報に含まれる処理時間（予想コスト）が、４０（ｓ）であるので、コスト比率（処理速度）として４０／７（約５．７）を算出する。ここで、コスト比率を予想コスト／統計コストで定義し、予測スループットＳ（ｘ）（ｓ）を同時実行プロセス数とコスト比率の和（Ｓ（ｘ＋コスト比率））で定義する。つまり、上記例の場合、例えば、現在の同時実行プロセス数が１０の場合の予測スループットをＳ（１０＋５．７）＝７．５（ｓ）、現在の同時実行プロセス数が２０の場合の予測スループットをＳ（２０＋５．７）＝１６（ｓ）のように算出する。
【００４１】
補正スループット算出部２０７は、プロセス情報取得部２０５により取得された現在のＣＰＵ使用率と、想定コスト情報に含まれるＣＰＵ使用率の比（現在のＣＰＵ使用率／想定コスト情報に含まれるＣＰＵ使用率）に基づいて、補正値変換テーブルを参照することにより、上記予測スループットを補正した補正スループットを算出する。ここで、補正値変換テーブルとは、例えば、図７に示すように、ＣＰＵ使用率の比と、補正値（％）との関係を示す表である。なお、当該補正値変換テーブルは、例えば、あらかじめ設定される。また、図８は、当該関係をグラフとして示した図である。
【００４２】
具体的には、上記例の場合であって、現在のＣＰＵ使用率が０％の場合、想定コスト情報に含まれるＣＰＵ使用率が６０（％）であることから、０／６０＝０を求め、補正値変換テーブルを参照することにより、補正値：−３０％を取得する。この場合、補正スループットは、予測スループット：７．５（ｓ）を３０％低下させた値、約５．３（ｓ）と求められる。また、現在のＣＰＵ使用率が８０％の場合、想定コスト情報に含まれるＣＰＵ使用率が６０（％）であることから、８０／６０を求め、補正値変換テーブルを参照することにより、補正値：０％を取得する。この場合、補正スループットは、１６（ｓ）と求められる。なお、補正値変換テーブルは、例えば、変換テーブル記憶部２１１に記憶される。
【００４３】
補正スループット判定部２０８は、補正スループットがあらかじめ設定された値（第１の閾値）より大きいか否かを判定する。例えば、当該第１の閾値が１５（ｓ）であるとすると、上記例において、現在のＣＰＵ使用率が０％の場合、補正スループットが５．３（ｓ）であるので、第１の閾値以下であると判断する。また、現在のＣＰＵ使用率が８０％の場合は補正スループットが１６（ｓ）であるので、第１の閾値より大きいと判断する。
【００４４】
実行部２０９は、補正スループット判定部２０８が第１の閾値以下であると判断した場合には、端末１２０からのリクエスト、例えば、サムネイル一覧表示処理、を実行する。
【００４５】
レスポンス生成部２１０は、補正スループット判定部２０８が、補正スループットが第１の閾値以下であると判断した場合には、前記サーバが前記リクエストの処理に要した、処理時間、同時実行されたプロセス数、ＣＰＵ使用率を示すコスト情報、及び、実行結果（例えば、サムネイル一覧表示処理した画像情報）を、端末１２０に送信する。なお、コスト情報については、実行結果とは別に、例えば、コスト情報送信部（図示なし）により、送信されるように構成してもよい。あるいは、当該コスト情報送信部は、レスポンス生成部２１０に含まれるように構成してもよい。一方、レスポンス生成部２１０は、補正スループット判定部２０８が、補正スループットが閾値より大きいと判断した場合には、実行不可を表すレスポンスを端末１２０に送信する。
【００４６】
図９は、端末の機能的構成の一例について説明するための図である。図９に示すように、端末１２０は、リクエスト送信部９０１、想定コスト情報記憶部９０２、レスポンス取得部９０３、表示情報生成部９０４、処理時間取得部９０５、更新部９０６を含む。
【００４７】
リクエスト送信部９０１は、リクエストをサーバに送信する。この際、リクエスト送信部９０１は、想定コスト情報記憶部９０２に記憶されているリクエストを送信する場合には、対応する想定コスト情報を含めて送信する。
【００４８】
具体的には、上記例のように、１０時２０分に０２提案資料に対するサムネイル一覧表示をリクエストした場合であって、想定コスト情報記憶部９０２に、図３に示すような想定コスト情報が記憶されている場合を例として説明する。この場合、想定コスト情報記憶部９０２に、リクエストに対応する、操作：サムネイル一覧表示、対象オブジェクト：０２提案資料が含まれているので、当該リクエストに関連付けて記憶された想定コスト情報を含めてリクエストを送信する。なお、想定コスト情報記憶部９０２に記憶されていないリクエストを送信する場合には、当該リクエストに想定コスト情報を含まずに、リクエストが送信される。なお、上記の他、想定コスト情報を、例えば、想定コスト送信部（図示なし）によりリクエストの送信とは別個に、送信するように構成してもよい。また、当該想定コスト情報送信部は、リクエスト送信部９０１に含まれてもよい。
【００４９】
レスポンス取得部９０３は、サーバ１１０から、端末１２０から送信したリクエストに対する実行結果を含むレスポンス、または、当該リクエストの実行が不可であることを表すレスポンスを取得する。当該実行結果を含むレスポンスには、例えば、サーバ側でリクエストを処理するのに実際に要したコスト情報（例えば、処理時間、同時実行プロセス数、最も使用率の最も高かったプロセス名、ＣＰＵ使用率）を含む。なお、上記の他、レスポンスとは別に、例えば、コスト情報取得部（図示なし）がコスト情報を取得するように構成してもよい。
【００５０】
表示情報生成部９０４は、実行結果を表す画像情報、または、実行不可を表すメッセージを示す表示情報を生成し、表示部１２４に表示する。処理時間取得部９０５は、処理時間情報を取得する。具体的には、例えば、レスポンスに処理時間を示す情報が含まれる場合には、当該レスポンスから処理時間情報を取得する。
【００５１】
更新部９０６は、想定コスト情報記憶部９０２に記憶された想定コスト情報の更新を行う。具体的には、例えば、更新部９０６は、図１０に示すように、処理時間判定部９０８、記憶判定部９０９、平均値算出部９１０を含む。
【００５２】
処理時間判定部９０８は、当該処理時間情報があらかじめ設定された値（第２の閾値）より大きいか否かを判定する。なお、下記においては、例えば、想定コスト情報記憶部９０２に、操作：サムネイル一覧表示、対象オブジェクト：０２提案資料のリクエストに対するサーバからのレスポンスに処理時間：５０、同時実行プロセス数：２０、ＣＰＵ使用率の最も高かったプロセス名：conv.exe、ＣＰＵ使用率：８０（コスト情報）が含まれている場合であって、対応する想定コスト情報として、操作：サムネイル一覧表示、対象オブジェクト：０２提案資料、処理時間：３０、同時実行プロセス数：１０、ＣＰＵ使用率の最も高かったプロセス名：conv.exe、ＣＰＵ使用率：４０が想定コスト情報記憶部９０２に記憶されている場合を例に説明する。ここで、処理時間判定部９０８は、例えば、閾値が４０（ｓ）とすると、上記例の場合、レスポンスに含まれる処理時間は５０（ｓ）であるので、第２の閾値より大きいと判定する。
【００５３】
記憶判定部９０９は、処理時間判定部９０８がレスポンスに含まれる処理時間情報があらかじめ設定された値（第２の閾値）より大きいと判定した場合には、対応する想定コスト情報が想定コスト情報記憶部９０２に既に記憶されているか否かを判定する。
【００５４】
平均値算出部９１０は、対応する想定コスト情報が既に記憶されていると判定した場合には、記憶されている想定コスト情報と、取得されたレスポンスに含まれるコスト情報の平均値を算出する。そして、更新部９１１は、当該対応する想定コスト情報を当該平均値に更新する。
【００５５】
上記例の場合、対応する想定コスト情報が既に記憶されているので、想定コスト情報とコスト情報の平均値を対応する想定コスト情報と置換する。これにより、上記例の場合、図３に示すように、処理時間情報、同時実行プロセス数、ＣＰＵ使用率が想定コスト情報とコスト情報の平均値に更新される。
【００５６】
一方、記憶判定部９０９が、対応する想定コスト情報が想定コスト情報記憶部９０２に記憶されていないと判定した場合には、更新部９０６は、新たにレスポンス情報に含まれるコスト情報を想定コスト情報記憶部９０２に記憶する。例えば、サーバからのレスポンスに、操作：一覧表示、対象オブジェクト：０１プロジェクト、処理時間情報：１、処理時間：５０、同時実行プロセス数：１、ＣＰＵ使用率の最も高かったプロセス名：process1.exe、ＣＰＵ使用率：２０（コスト情報）が含まれている場合であって、当該一覧表示等に対応する想定コスト情報が想定コスト情報記憶部９０２に記憶されていない場合には、当該コスト情報を想定コスト情報として、想定コスト情報記憶部９０２に記憶する。
【００５７】
また、処理時間判定部９０８が、当該処理時間情報があらかじめ設定された値（第２の閾値）以下であると判定した場合にも、記憶判定部９０９は、対応する想定コスト情報が想定コスト情報記憶部９０２に既に記憶されているか否かを判定する。
【００５８】
記憶判定部９０９が対応する想定コスト情報が想定コスト情報記憶部９０２に既に記憶されていると判定した場合には、更新部９０６は、想定コスト情報記憶部９０２の対応する想定コスト情報を削除する。一方、記憶判定部９０９が対応する想定コスト情報が想定コスト情報記憶部９０２に記憶されていないと判定した場合には、更新部９０６は、想定コスト情報記憶部９０２の想定コスト情報を維持する。
【００５９】
次に、本実施の形態における情報処理システムのフローの概要について説明する。図１１は、本実施の形態におけるサーバの処理のフローの一例を説明するための図である。具体的には、図１１は、サーバ１１０が端末１２０からリクエストを取得してから、当該端末１２０にレスポンスを送信するまでの処理のフローの一例を示す。
【００６０】
図１１に示すように、リクエスト取得部２０１は、端末１２０からのリクエストを取得する（Ｓ１０１）。想定コスト情報取得部２０２は、取得されたリクエストに含まれる想定コスト情報を取得する（Ｓ１０２）。プロセス情報取得部２０５は、現在のサーバにおける同時実行プロセス数情報、現在のＣＰＵ使用率を含むプロセス情報を取得する（Ｓ１０３）。
【００６１】
予測スループット算出部２０６は、想定コスト情報取得部２０２により取得された想定コスト情報、プロセス情報取得部２０５により取得された同時実行プロセス数情報、サーバ負荷統計情報取得部２０４により取得されたサーバ負荷統計情報に基づいて、予測されるサーバのスループット（予測スループット情報）を算出する（Ｓ１０４）。
【００６２】
補正スループット算出部２０７は、プロセス情報取得部２０５により取得された現在のＣＰＵ使用率と、想定コスト情報に含まれるＣＰＵ使用率の比（現在のＣＰＵ使用率／想定コスト情報に含まれるＣＰＵ使用率）に基づいて、補正値変換テーブルを参照することにより、上記予測スループットを補正した補正スループットを算出する（Ｓ１０５）。
【００６３】
補正スループット判定部２０８は、補正スループットがあらかじめ設定された値（第１の閾値）より大きいか否かを判定する（Ｓ１０６）。補正スループット判定部２０８が第１の閾値以下であると判断した場合には、実行部２０９は、端末１２０からのリクエストを実行する（Ｓ１０７）。
【００６４】
レスポンス生成部２１０は、リクエストの実行に要した処理時間を示す処理時間情報を含め、実行結果（例えば、サムネイル一覧表示処理した画像情報）を端末１２０に送信する（Ｓ１０８、Ｓ１１０）。
【００６５】
一方、Ｓ１０６で、補正スループット判定部２０８が、補正スループットがあらかじめ設定された値（第１の閾値）より大きいと判定した場合には、レスポンス生成部２１０は、実行不可を表すレスポンスを生成し（Ｓ１０９）、端末１２０に送信する（Ｓ１１０）。
【００６６】
次に、端末１２０の処理のフローの一例について説明する。図１２は、端末１２０の処理のフローの一例について説明するための図である。具体的には、図１２は、端末１２０がサーバ１１０からリクエストに対するレスポンス（実行不可でない場合）を取得してから、当該レスポンスに応じて、想定コスト情報記憶部９０２に記憶された想定コスト情報の追加、更新、削除に関するフローの一例を説明するための図である。なお、レスポンスに実行不可である情報が含まれている場合には、想定コスト情報記憶部９０２に記憶された想定コスト情報はそのまま維持される。つまり、下記の処理は行われない。
【００６７】
図１２に示すように、まず、レスポンス取得部９０３は、サーバ１１０から、端末１２０から送信したリクエストに対する実行結果を含むレスポンスを取得する（Ｓ２０１）。処理時間取得部９０５は、レスポンスに含まれる処理時間情報を取得する（Ｓ２０２）。
【００６８】
処理時間判定部９０８は、当該処理時間情報があらかじめ設定された値（第２の閾値）より大きいか否かを判定する（Ｓ２０３）。
【００６９】
記憶判定部９０９は、処理時間判定部９０８がレスポンスに含まれる処理時間情報があらかじめ設定された値（第２の閾値）より大きいと判定した場合には、対応する想定コスト情報が想定コスト情報記憶部９０２に既に記憶されているか否かを判定する（Ｓ２０４）。
【００７０】
平均値算出部９１０は、対応する想定コスト情報が既に記憶されていると判定した場合には、記憶されている想定コスト情報と、取得されたレスポンスに含まれるコスト情報の平均値を算出する（Ｓ２０５）。そして、更新部９０６は、当該対応する想定コスト情報を当該平均値に更新する（Ｓ２０６）。
【００７１】
一方、Ｓ２０４で、記憶判定部９０９が、対応する想定コスト情報が想定コスト情報記憶部９０２に記憶されていないと判定した場合には、更新部９０６は、新たにレスポンス情報に含まれるコスト情報を想定コスト情報記憶部９０２に記憶する（Ｓ２０６）。
【００７２】
一方、Ｓ２０３で、処理時間判定部９０８が、当該処理時間情報があらかじめ設定された値（第２の閾値）以下であると判定した場合には、記憶判定部９０９は、対応する想定コスト情報が想定コスト情報記憶部９０２に既に記憶されているか否かを判定する（Ｓ２０７）。
【００７３】
記憶判定部９０９が対応する想定コスト情報が想定コスト情報記憶部９０２に既に記憶されていると判定した場合には、更新部９０６は、想定コスト情報記憶部９０２に記憶されている対応する想定コスト情報を削除する（Ｓ２０８）。一方、記憶判定部９０９が対応する想定コスト情報が想定コスト情報記憶部９０２に記憶されていないと判定した場合には、更新部９０６は、想定コスト情報記憶部９０２に記憶された想定コスト情報を維持する。
【００７４】
本発明は、上記実施の形態に限定されるものではなく、上記実施の形態で示した構成と実質的に同一の構成、同一の作用効果を奏する構成又は同一の目的を達成することができる構成で置き換えてもよい。例えば、上記サーバ１１０や端末１２０の機能的構成や上記処理のフローは一例であって、本発明はこれに限定されるものではない。
【００７５】
例えば、上記実施の形態に加えて、サーバ１１０の実行部２０９で実行された実行結果を端末１２０側で保持しておき、サーバ１１０が実行不可とレスポンスした場合やサーバ１１０との通信が不可能な場合などには、当該保持された実行結果を表示できるように構成してもよい。この場合、当該実行結果の保持や削除は、図１２のＳ２０６やＳ２０８に応じて行うように構成すればよい。具体的には、例えば、Ｓ２０６の後に対応する実行結果を追加し、Ｓ２０８の後に対応する実行結果を削除するように構成してもよい。なお、特許請求の範囲に記載のサーバ装置、クライアント装置、負荷統計情報は、それぞれ、例えば、上記のサーバ１１０、端末１２０、サーバ負荷統計情報に相当する。
【符号の説明】
【００７６】
１１０  サーバ、１１１、１２１  制御部、１１２、１２３  記憶部、１１３  通信
部、１２４  表示部、１２５  操作部、２０１  リクエスト取得部、２０２  想定コスト情報取得部、２０３  アクセスログ管理部、２０４  サーバ負荷統計情報算出部、２０５  プロセス情報取得部、２０６  予測スループット算出部、２０７  補正スループット算出部、２０８  補正スループット判定部、２０９  実行部、２１０  レスポンス生成部、２１１  変換テーブル記憶部、９０１  リクエスト送信部、９０２  想定コスト情報記憶部、９０３  レスポンス取得部、９０４  表示情報生成部、９０５  処理時間取得部、９０６  更新部、９０８  処理時間判定部、９０９  記憶判定部、９１０  平均値算出部。
【図１】
0005861523.tif 000002
【図２】
0005861523.tif 000003
【図３】
0005861523.tif 000004
【図４】
0005861523.tif 000005
【図５】
0005861523.tif 000006
【図６】
0005861523.tif 000007
【図７】
0005861523.tif 000008
【図８】
0005861523.tif 000009
【図９】
0005861523.tif 000010
【図１０】
0005861523.tif 000011
【図１１】
0005861523.tif 000012
【図１２】
0005861523.tif 000013