(57)【要約】【課題】クライアント側で自律的にサーバの負荷を軽減することを目的とする。【解決手段】クライアントプログラム２０１は、サーバ３００に対しサービス処理を連続して要求する。クライアント制御プログラム２０２は、クライアントプログラム２０１がサービス処理の要求を送信してから結果を得るまでに要した応答時間を測定し、応答時間履歴データ２０３に記録する。クライアント制御プログラム２０２は、応答時間履歴データ２０３にて応答時間の遅延が認められた場合、クライアントプログラム２０１がサービス処理を要求する処理と次にサービス処理を要求する処理との間に遅延時間を挿入する。逆に、応答時間の向上が認められた場合や、応答時間に変化がないと認められた場合、遅延時間を減少させるか、又は、除去する。【選択図】図１
2008269152.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置に対してサービス処理を要求する場合に、サービス処理の要求データを前記サーバ装置へ送信する要求送信部と、
前記要求送信部が送信したサービス処理の要求データに応じて前記サーバ装置で実行された当該サービス処理の結果データを前記サーバ装置から受信する結果受信部と、
前記要求送信部がサービス処理の要求データを送信してから前記結果受信部が当該サービス処理の結果データを受信するまでの応答時間を処理装置で計算する応答時間計算部と、
前記応答時間計算部が過去に計算した応答時間の履歴を記憶装置に記憶しておき、前記応答時間計算部が新たに計算した応答時間により、記憶装置に記憶された応答時間の履歴を更新する応答時間履歴更新部と、
記憶装置に記憶された応答時間の履歴に基づいて、前記応答時間計算部が過去に計算した応答時間から新たに計算した応答時間への変化量を処理装置で計算する変化量計算部と、
前記要求送信部がサービス処理の要求データを送信するタイミングを遅延させる遅延時間を記憶装置に記憶しておき、前記変化量計算部が計算した変化量に応じて、記憶装置に記憶された遅延時間を処理装置で補正する遅延時間補正部と、
前記要求送信部が新たにサービス処理を要求する場合に、前にサービス処理の要求データを送信してから記憶装置に記憶された遅延時間が経過した後に前記要求送信部にサービス処理の要求データを送信させる要求制御部とを備えることを特徴とするクライアント装置。
【請求項２】
前記クライアント装置は、さらに、
所定の時間帯に予定される前記サーバ装置の負荷量を記憶装置に記憶する負荷量記憶部を備え、
前記遅延時間補正部は、現在の時間帯に予定される負荷量が記憶装置に記憶されている場合に、前記変化量計算部が計算した変化量と当該負荷量とに応じて、記憶装置に記憶された遅延時間を補正することを特徴とする請求項１に記載のクライアント装置。
【請求項３】
前記遅延時間補正部は、前記変化量計算部が計算した変化量が正の値である場合と、前記変化量計算部が計算した変化量が正の値でない場合であって、現在の時間帯に予定される負荷量が記憶装置に記憶されており、当該負荷量が所定の閾値以上の場合とに、記憶装置に記憶された遅延時間を加算することを特徴とする請求項２に記載のクライアント装置。
【請求項４】
前記遅延時間補正部は、現在の時間帯に予定される負荷量が記憶装置に記憶されている場合であって、記憶装置に記憶された遅延時間を最初に加算する場合に、当該遅延時間に当該負荷量の大きさに応じた時間を加算し、当該遅延時間を再び加算する場合に、当該遅延時間に一定の時間を加算することを特徴とする請求項２又は３に記載のクライアント装置。
【請求項５】
前記遅延時間補正部は、記憶装置に記憶された遅延時間を加算しない場合に、当該遅延時間を減算することを特徴とする請求項１から４までのいずれかに記載のクライアント装置。
【請求項６】
前記遅延時間補正部は、前記変化量計算部が計算した変化量が正の値である場合に、記憶装置に記憶された遅延時間に一定の時間を加算し、前記変化量計算部が計算した変化量が負の値である場合に、当該遅延時間から一定の時間を減算することを特徴とする請求項１に記載のクライアント装置。
【請求項７】
サーバ装置に対してサービス処理を要求する場合に、サービス処理の要求データを前記サーバ装置へ送信し、当該サービス処理の要求データに応じて前記サーバ装置で実行された当該サービス処理の結果データを前記サーバ装置から受信するクライアントプログラムを制御するクライアント制御プログラムであって、
前記クライアントプログラムがサービス処理の要求データを送信してから当該サービス処理の結果データを受信するまでの応答時間を処理装置で計算する応答時間計算処理と、
前記応答時間計算処理が過去に計算した応答時間の履歴を記憶装置に記憶しておき、前記応答時間計算処理が新たに計算した応答時間により、記憶装置に記憶された応答時間の履歴を更新する応答時間履歴更新処理と、
記憶装置に記憶された応答時間の履歴に基づいて、前記応答時間計算処理が過去に計算した応答時間から新たに計算した応答時間への変化量を処理装置で計算する変化量計算処理と、
前記クライアントプログラムがサービス処理の要求データを送信するタイミングを遅延させる遅延時間を記憶装置に記憶しておき、前記変化量計算処理が計算した変化量に応じて、記憶装置に記憶された遅延時間を処理装置で補正する遅延時間補正処理と、
前記クライアントプログラムが新たにサービス処理を要求する場合に、前にサービス処理の要求データを送信してから記憶装置に記憶された遅延時間が経過した後に前記クライアントプログラムにサービス処理の要求データを送信させる要求制御処理とをコンピュータに実行させることを特徴とするクライアント制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント装置及びクライアント制御プログラムに関するものである。本発明は、特に、クライアント装置における可変ピッチ式データアクセス処理に関するものである。
【背景技術】
【０００２】
従来、サーバの負荷分散及びネットワークトラフィックの制御を、サーバ側で直接行う代わりに（例えば、特許文献１及び２参照）、専用のハードウェア装置を用いて行う方式が存在する（例えば、特許文献３参照）。このような方式でシステムやネットワークの負荷軽減を行うためには、クライアントＰＣ（パーソナルコンピュータ）とサーバの間に上記ハードウェア装置を導入する必要がある。
【０００３】
また、サーバに要求を行って処理結果を得るソフトウェアとして、処理性能を最大限に引き出そうと、ソフトウェア内部でサーバに対する多重アクセスなどの工夫をしているものがある。
【特許文献１】特表平８−５０９８４７号公報
【特許文献２】特開平９−２４４９７５号公報
【特許文献３】特開２００５−１８４１６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のように、専用のハードウェア装置が必要となる方式では、（１）装置が高価で導入をしない場合がある、（２）装置の設定が煩雑で導入が困難である、（３）サーバ側（受け手）の施策に限られるため、クライアントＰＣ側（送り手）の数が増大すると効果が小さい、といった課題があった。
【０００５】
また、サーバに対する多重アクセスなどの工夫をしているソフトウェアは、サーバ及びネットワークの性能が無限であることを前提としているため、システム環境が優れている場合においては効果を発揮するが、そうでない場合又は同時接続するクライアントＰＣが多数ある場合は、システム全体の負荷が増大してしまい、かえって性能が得られないという課題があった。
【０００６】
本発明は、例えば、クライアント側で自律的にサーバの負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一の態様に係るクライアント装置は、
サーバ装置に対してサービス処理を要求する場合に、サービス処理の要求データを前記サーバ装置へ送信する要求送信部と、
前記要求送信部が送信したサービス処理の要求データに応じて前記サーバ装置で実行された当該サービス処理の結果データを前記サーバ装置から受信する結果受信部と、
前記要求送信部がサービス処理の要求データを送信してから前記結果受信部が当該サービス処理の結果データを受信するまでの応答時間を処理装置で計算する応答時間計算部と、
前記応答時間計算部が過去に計算した応答時間の履歴を記憶装置に記憶しておき、前記応答時間計算部が新たに計算した応答時間により、記憶装置に記憶された応答時間の履歴を更新する応答時間履歴更新部と、
記憶装置に記憶された応答時間の履歴に基づいて、前記応答時間計算部が過去に計算した応答時間から新たに計算した応答時間への変化量を処理装置で計算する変化量計算部と、
前記要求送信部がサービス処理の要求データを送信するタイミングを遅延させる遅延時間を記憶装置に記憶しておき、前記変化量計算部が計算した変化量に応じて、記憶装置に記憶された遅延時間を処理装置で補正する遅延時間補正部と、
前記要求送信部が新たにサービス処理を要求する場合に、前にサービス処理の要求データを送信してから記憶装置に記憶された遅延時間が経過した後に前記要求送信部にサービス処理の要求データを送信させる要求制御部とを備えることを特徴とする。
【０００８】
前記クライアント装置は、さらに、
所定の時間帯に予定される前記サーバ装置の負荷量を記憶装置に記憶する負荷量記憶部を備え、
前記遅延時間補正部は、現在の時間帯に予定される負荷量が記憶装置に記憶されている場合に、前記変化量計算部が計算した変化量と当該負荷量とに応じて、記憶装置に記憶された遅延時間を補正することを特徴とする。
【０００９】
前記遅延時間補正部は、前記変化量計算部が計算した変化量が正の値である場合と、前記変化量計算部が計算した変化量が正の値でない場合であって、現在の時間帯に予定される負荷量が記憶装置に記憶されており、当該負荷量が所定の閾値以上の場合とに、記憶装置に記憶された遅延時間を加算することを特徴とする。
【００１０】
前記遅延時間補正部は、現在の時間帯に予定される負荷量が記憶装置に記憶されている場合であって、記憶装置に記憶された遅延時間を最初に加算する場合に、当該遅延時間に当該負荷量の大きさに応じた時間を加算し、当該遅延時間を再び加算する場合に、当該遅延時間に一定の時間を加算することを特徴とする。
【００１１】
前記遅延時間補正部は、記憶装置に記憶された遅延時間を加算しない場合に、当該遅延時間を減算することを特徴とする。
【００１２】
前記遅延時間補正部は、前記変化量計算部が計算した変化量が正の値である場合に、記憶装置に記憶された遅延時間に一定の時間を加算し、前記変化量計算部が計算した変化量が負の値である場合に、当該遅延時間から一定の時間を減算することを特徴とする。
【００１３】
本発明の一の態様に係るクライアント制御プログラムは、
サーバ装置に対してサービス処理を要求する場合に、サービス処理の要求データを前記サーバ装置へ送信し、当該サービス処理の要求データに応じて前記サーバ装置で実行された当該サービス処理の結果データを前記サーバ装置から受信するクライアントプログラムを制御するクライアント制御プログラムであって、
前記クライアントプログラムがサービス処理の要求データを送信してから当該サービス処理の結果データを受信するまでの応答時間を処理装置で計算する応答時間計算処理と、
前記応答時間計算処理が過去に計算した応答時間の履歴を記憶装置に記憶しておき、前記応答時間計算処理が新たに計算した応答時間により、記憶装置に記憶された応答時間の履歴を更新する応答時間履歴更新処理と、
記憶装置に記憶された応答時間の履歴に基づいて、前記応答時間計算処理が過去に計算した応答時間から新たに計算した応答時間への変化量を処理装置で計算する変化量計算処理と、
前記クライアントプログラムがサービス処理の要求データを送信するタイミングを遅延させる遅延時間を記憶装置に記憶しておき、前記変化量計算処理が計算した変化量に応じて、記憶装置に記憶された遅延時間を処理装置で補正する遅延時間補正処理と、
前記クライアントプログラムが新たにサービス処理を要求する場合に、前にサービス処理の要求データを送信してから記憶装置に記憶された遅延時間が経過した後に前記クライアントプログラムにサービス処理の要求データを送信させる要求制御処理とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１４】
本発明の一の態様によれば、クライアント装置において、応答時間計算部が、要求送信部がサービス処理の要求データを送信してから結果受信部が当該サービス処理の結果データを受信するまでの応答時間を計算し、応答時間履歴更新部が、前記応答時間計算部が新たに計算した応答時間により、記憶装置に記憶された応答時間の履歴を更新し、変化量計算部が、記憶装置に記憶された応答時間の履歴に基づいて、前記応答時間計算部が過去に計算した応答時間から新たに計算した応答時間への変化量を計算し、遅延時間補正部が、前記変化量計算部が計算した変化量に応じて、記憶装置に記憶された遅延時間を補正し、要求制御部が、前記要求送信部が新たにサービス処理を要求する場合に、前にサービス処理の要求データを送信してから記憶装置に記憶された遅延時間が経過した後に前記要求送信部にサービス処理の要求データを送信させることにより、クライアント装置側で自律的にサーバ装置の負荷を軽減することが可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について、図を用いて説明する。
【００１６】
実施の形態１．
図１は、本実施の形態に係る情報システム１００の構成を示すブロック図である。
【００１７】
情報システム１００は、クライアントＰＣ２００（クライアント装置）、サーバ３００（サーバ装置）を備える。クライアントＰＣ２００及びサーバ３００は、互いにＬＡＮ（ローカルエリアネットワーク）やインターネットなどのネットワーク４００を介して接続されている。クライアントＰＣ２００、サーバ３００は、複数存在していてもよい。
【００１８】
クライアントＰＣ２００は、クライアントプログラム２０１、クライアント制御プログラム２０２を実行するコンピュータであり、応答時間履歴データ２０３をメモリやハードディスクなどの記憶領域に記憶している。サーバ３００は、サーバプログラム３０１を実行するコンピュータであり、負荷計画カレンダ３０２をメモリやハードディスクなどの記憶領域に記憶している。
【００１９】
クライアントプログラム２０１は、サーバ３００のデータベースを検索する処理やサーバ３００のデータベースにデータを登録する処理（このような処理を「サービス処理」という）をサーバプログラム３０１に要求するプログラムである。クライアント制御プログラム２０２は、サーバ３００へサービス処理の要求を送信してから応答を得られるまでの時間（スループット）（以下、「応答時間」という）を計算し、記録するプログラムである。クライアント制御プログラム２０２は、例えば、クライアントプログラム２０１で利用されるＤＬＬ（動的リンクライブラリ）として提供することができる。応答時間履歴データ２０３は、クライアント制御プログラム２０２で求められた応答時間を記録したデータである。
【００２０】
サーバプログラム３０１は、クライアントプログラム２０１からの要求を受け付け、サービス処理を実行して結果を返すプログラムである。負荷計画カレンダ３０２は、サーバ３００の管理者などがサーバ３００の負荷上昇の予定を日付・時刻単位に予め登録しておくデータベースである。
【００２１】
以下、クライアントＰＣ２００の動作の概要について説明する。
【００２２】
クライアントＰＣ２００において、クライアントプログラム２０１は、サーバ３００のサーバプログラム３０１に対し、データの検索や更新などのサービス処理を連続して要求する。クライアント制御プログラム２０２は、クライアントプログラム２０１がサーバプログラム３０１へサービス処理の要求を送信してから結果を得るまでに要した応答時間を測定し、応答時間履歴データ２０３に記録する。
【００２３】
クライアント制御プログラム２０２は、応答時間を記録し始めてから一定期間が経過した後、応答時間履歴データ２０３にて応答時間の遅延（スループットの低下）が認められた場合、サーバ３００やネットワーク４００の負荷が高く、処理性能が低下していると判断する。この場合、クライアント制御プログラム２０２は、クライアントプログラム２０１がサービス処理を要求する処理と次にサービス処理を要求する処理との間に遅延時間を挿入し、単位時間あたりの処理数を減らす。これにより、サーバ３００の負荷を軽減させることができる。
【００２４】
逆に、クライアント制御プログラム２０２は、応答時間を記録し始めてから一定期間が経過した後、応答時間履歴データ２０３にて応答時間の向上（スループットの上昇）が認められた場合や、応答時間に変化がないと認められた場合、サーバ３００やネットワーク４００の負荷が低く、処理性能の向上が見込めると判断する。この場合、クライアント制御プログラム２０２は、クライアントプログラム２０１がサービス処理を要求する処理と次にサービス処理を要求する処理との間に挿入されている遅延時間を減少させるか、又は、除去する。これにより、サーバ３００の負荷は上昇するが、サーバ３００の応答時間（スループット）を向上させることができる。
【００２５】
一般的な情報システムにおいては、サーバへデータアクセスを行うソフトウェア、即ち、サーバに対しサービス処理を要求するクライアントＰＣは複数作動していることが想定される。サーバにアクセスする全てのソフトウェアが本実施の形態を採用すれば、サーバにかかる負荷が軽減されるため、情報システム全体の性能向上が期待できる。近年、インターネットの普及によって１台のサーバが受け付けるアクセス要求は増加の一途を辿っており、サーバやネットワークの負荷増大が情報システムの不安定化の原因となり問題となっている。本実施の形態の採用が世界規模で増えれば、世界規模でサーバやネットワークの負荷が軽減され、世界規模で情報システムの安定化に貢献できる。
【００２６】
図２は、クライアントＰＣ２００の構成を示すブロック図である。
【００２７】
クライアントＰＣ２００は、要求送信部２１１、結果受信部２１２、応答時間計算部２１３、応答時間履歴更新部２１４、変化量計算部２１５、負荷量記憶部２１６、遅延時間補正部２１７、要求制御部２１８を備える。また、クライアントＰＣ２００は、記憶装置２５１、処理装置２５２、入力装置２５３、出力装置２５４などのハードウェア装置を備える（又はこれらのハードウェア装置がクライアントＰＣ２００に接続される）。ハードウェア装置はクライアントＰＣ２００の各部によって利用される。例えば、処理装置２５２は、クライアントＰＣ２００の各部でデータや情報の演算、加工、読み取り、書き込みなどを行うために利用される。記憶装置２５１は、そのデータや情報を記憶するために利用される。また、入力装置２５３は、そのデータや情報を入力するために、出力装置２５４は、そのデータや情報を出力するために利用される。
【００２８】
要求送信部２１１、結果受信部２１２は、図１に示したクライアントプログラム２０１に実装されるものである。応答時間計算部２１３、応答時間履歴更新部２１４、変化量計算部２１５、負荷量記憶部２１６、遅延時間補正部２１７、要求制御部２１８は、図１に示したクライアント制御プログラム２０２に実装されるものである。各部の動作については、後述する。
【００２９】
図３は、クライアントＰＣ２００のハードウェア資源の一例を示すブロック図である。
【００３０】
クライアントＰＣ２００は、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶ディスプレイ）の表示画面を有する表示装置９０１、キーボード９０２（Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、ＣＤＤ９０５（Ｃｏｍｐａｃｔ・Ｄｉｓｃ・Ｄｒｉｖｅ）、プリンタ装置９０６などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
【００３１】
クライアントＰＣ２００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）（「演算装置」、「マイクロプロセッサ」、「マイクロコンピュータ」、「プロセッサ」ともいう）を備えている。ＣＰＵ９１１は、処理装置２５２の一例である。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３（Ｒｅａｄ・Ｏｎｌｙ・Ｍｅｍｏｒｙ）、ＲＡＭ９１４（Ｒａｎｄｏｍ・Ａｃｃｅｓｓ・Ｍｅｍｏｒｙ）、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカードリーダライタなどの記憶媒体が用いられてもよい。
【００３２】
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置２５１の一例である。通信ボード９１５、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５などは、入力装置２５３の一例である。また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置２５４の一例である。
【００３３】
通信ボード９１５は、ＬＡＮ、あるいは、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ・Ｖｉｒｔｕａｌ・Ｐｒｉｖａｔｅ・Ｎｅｔｗｏｒｋ）、広域ＬＡＮ、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ・Ｔｒａｎｓｆｅｒ・Ｍｏｄｅ）ネットワークなどのＷＡＮ（ワイドエリアネットワーク）、あるいは、インターネットなどのネットワーク４００に接続されている。
【００３４】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。プログラム群９２３には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。また、ファイル群９２４には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ＩＤ（識別子）」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ディスクやメモリなどの記憶媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのＣＰＵ９１１の処理（動作）に用いられる。抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのＣＰＵ９１１の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００３５】
また、本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号は、ＲＡＭ９１４などのメモリ、ＦＤＤ９０４のフレキシブルディスク（ＦＤ）、ＣＤＤ９０５のコンパクトディスク（ＣＤ）、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク（ＭＤ）、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）などの記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体により伝送される。
【００３６】
また、本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、素子・デバイス・基板・配線などのハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤなどの記録媒体に記憶される。このプログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００３７】
図４は、クライアントＰＣ２００の動作を示すフローチャートである。
【００３８】
クライアントＰＣ２００は、クライアントプログラム２０１を複数回連続して実行する（例えば、サーバ３００のデータベースのあるテーブルに１００個のレコードを挿入するループ処理を行う場合、１個のレコードを挿入する処理を１００回実行する）。クライアントプログラム２０１が実行される度に、以下のステップＳ１０１〜Ｓ１０２の処理が行われる。
【００３９】
要求送信部２１１（クライアントプログラム２０１）は、サーバ３００に対してサービス処理を要求する（例えば、上記のテーブルに１個のレコードを挿入する処理を要求する）。このとき、要求送信部２１１は、そのサービス処理の要求データをＣＰＵ９１１（処理装置２５２の一例）で作成し、作成した要求データを、通信ボード９１５によりサーバ３００へ送信する（ステップＳ１０１：要求送信処理）。サーバ３００において、サーバプログラム３０１は、要求送信部２１１が送信したサービス処理の要求データを受信すると、要求されたサービス処理を実行し、その実行結果を示す結果データをクライアントＰＣ２００へ送信する（例えば、上記のテーブルにレコードを挿入する処理を実行し、その処理が成功したことを示す結果データを送信する）。
【００４０】
結果受信部２１２（クライアントプログラム２０１）は、ステップＳ１０１で要求送信部２１１が送信したサービス処理の要求データに応じてサーバプログラム３０１で実行された当該サービス処理の結果データを、通信ボード９１５によりサーバ３００から受信する（ステップＳ１０２：結果受信処理）。
【００４１】
クライアントＰＣ２００は、クライアントプログラム２０１を実行する度に、あわせてクライアント制御プログラム２０２も実行する。クライアント制御プログラム２０２が実行される度に、以下のステップＳ１０３〜Ｓ１０８の処理が行われる。
【００４２】
応答時間計算部２１３（クライアント制御プログラム２０２）は、ステップＳ１０１で要求送信部２１１がサービス処理の要求データを送信した時刻を磁気ディスク装置９２０（記憶装置２５１の一例）に記憶する。また、応答時間計算部２１３は、ステップＳ１０２で結果受信部２１２がサービス処理の結果データを受信した時刻を磁気ディスク装置９２０に記憶する。そして、応答時間計算部２１３は、磁気ディスク装置９２０に記憶された２つの時刻の差をＣＰＵ９１１で求めることにより、要求送信部２１１がサービス処理の要求データを送信してから結果受信部２１２が当該サービス処理の結果データを受信するまでの応答時間を計算する（ステップＳ１０３：応答時間計算処理）。
【００４３】
応答時間履歴更新部２１４（クライアント制御プログラム２０２）は、ステップＳ１０３で応答時間計算部２１３が新たに計算した応答時間により、磁気ディスク装置９２０に記憶された応答時間履歴データ２０３を更新する（ステップＳ１０４：応答時間履歴更新処理）。
【００４４】
例えば、クライアントプログラム２０１の実行回数が１回目である場合には、応答時間履歴更新部２１４は、ステップＳ１０３で応答時間計算部２１３が今回計算した応答時間を、１回目の応答時間として、空の応答時間履歴データ２０３に書き込む。クライアントプログラム２０１の実行回数が２回目である場合には、応答時間履歴更新部２１４は、ステップＳ１０３で応答時間計算部２１３が今回計算した応答時間を、２回目の応答時間として、既に１回目の応答時間が記憶された応答時間履歴データ２０３に書き込む。クライアントプログラム２０１の実行回数が３回目である場合には、応答時間履歴更新部２１４は、同様に、ステップＳ１０３で応答時間計算部２１３が今回計算した応答時間を、３回目の応答時間として、既に１回目及び２回目の応答時間が記憶された応答時間履歴データ２０３に書き込む。クライアントプログラム２０１の実行回数が４回目以降の場合にも、応答時間履歴更新部２１４は、同様に、４回目以降のそれぞれの応答時間を応答時間履歴データ２０３に書き込む。
【００４５】
１回目の応答時間が０．２秒、２回目の応答時間が０．３秒、３回目の応答時間が０．５秒であった場合の応答時間履歴データ２０３の一例を図５の（ａ）に示す。図５の（ａ）の例では、応答時間履歴データ２０３が「実行回数」、「応答時間」などのカラムで構成されたテーブルデータとして磁気ディスク装置９２０に記憶されているものとする。このように、応答時間履歴更新部２１４は、ステップＳ１０３で応答時間計算部２１３が過去に計算した応答時間の履歴を応答時間履歴データ２０３として磁気ディスク装置９２０に記憶しておき、クライアントプログラム２０１が実行される度に、その応答時間履歴データ２０３を更新する。
【００４６】
変化量計算部２１５（クライアント制御プログラム２０２）は、磁気ディスク装置９２０に記憶された応答時間履歴データ２０３がステップＳ１０４で応答時間履歴更新部２１４により更新された後、その応答時間履歴データ２０３に基づいて、ステップＳ１０３で応答時間計算部２１３が過去に計算した応答時間から新たに計算した応答時間への変化量をＣＰＵ９１１で計算する（ステップＳ１０５：変化量計算処理）。
【００４７】
例えば、変化量計算部２１５は、応答時間履歴データ２０３に記録されている全ての応答時間、即ち、クライアントプログラム２０１の初回実行時から前回実行時までの応答時間（過去の応答時間）の平均値をＣＰＵ９１１で計算する。そして、計算した平均値をステップＳ１０３で応答時間計算部２１３が今回計算した応答時間（今回の応答時間）からＣＰＵ９１１で減算することにより、今回の応答時間の過去分からの変化量を求める。一例として、今回の応答時間を０．５秒とし、過去の応答時間の平均値を０．２秒とすると、変化量は０．５−０．２＝０．３秒となる。ここで、変化量は今回の応答時間が過去の応答時間の平均値より長いか（応答時間に遅延が認められるか）、短いか（応答時間に向上が認められるか）、又は、同じか（応答時間に変化がないか）を単に示す値（例えば、順番に＋１、−１、±０）であってもよい。一例として、今回の応答時間を０．５秒とし、過去の応答時間の平均値を０．２秒とすると、０．５＞０．２であるから、変化量は応答時間に遅延が認められることを示す値（例えば、＋１）となる。
【００４８】
変形例として、変化量計算部２１５は、過去の応答時間の平均値として、過去の一定期間における応答時間のみの平均値を用いてもよい。例えば、変化量計算部２１５は、応答時間履歴データ２０３に記録されている応答時間のうち、直近のＮ（ＮはＮ＞０となる整数）回分の応答時間のみ、即ち、クライアントプログラム２０１のＮ回前の実行時から前回実行時までの応答時間の平均値をＣＰＵ９１１で計算する。そして、計算した平均値を今回の応答時間からＣＰＵ９１１で減算することにより、今回の応答時間の過去分からの変化量を求める。Ｎ＝１の場合、変化量計算部２１５は、過去の応答時間の平均値を計算することなく、単に今回の応答時間から前回の応答時間を減算することによって、前回の応答時間から今回の応答時間への変化量を求めることができる。
【００４９】
負荷量記憶部２１６（クライアント制御プログラム２０２）は、ステップＳ１０５で変化量計算部２１５が計算した変化量が正の値でない場合（応答時間に向上が認められる又は変化がない場合）、ネットワーク４００を介してサーバ３００の負荷計画カレンダ３０２にアクセスする。そして、現在の日時をキーにして、負荷計画カレンダ３０２を検索し、該当する日時の負荷情報があれば、その負荷情報をサーバ３００から取得する。負荷情報は、所定の時間帯に予定されるサーバ３００の負荷量を示すデータとして、サーバ３００の管理者などが負荷計画カレンダ３０２に予め登録しておくものである。よって、負荷量記憶部２１６は、現在の時間帯に予定される負荷量を示す負荷情報が負荷計画カレンダ３０２に登録されている場合に、サーバ３００から負荷情報を取得することになる。この場合、負荷量記憶部２１６は、取得した負荷情報を磁気ディスク装置９２０に記憶する（ステップＳ１０６：負荷量記憶処理）。
【００５０】
負荷計画カレンダ３０２の一例を図５の（ｂ）に示す。図５の（ｂ）の例では、負荷計画カレンダ３０２が「日付」、「時間帯」の「開始時刻」、「時間帯」の「終了時刻」、「負荷レベル」などのカラムで構成されたテーブルデータとしてサーバ３００のデータベースに記憶されているものとする。負荷量を示す値の一例として、「負荷レベル」のカラムでは負荷量を５段階で表しており、１は負荷が最も高く、２、３、４、５の順に負荷が低くなることを示している。負荷が一定の基準より高くなる時間帯のみの負荷情報を負荷計画カレンダ３０２に登録することとしてもよいし（この場合、負荷レベルが５であっても一定の基準より負荷が高いことになる）、全ての、あるいは、任意の時間帯の負荷情報を負荷計画カレンダ３０２に登録することとしてもよい。負荷量は、このように負荷量の大きさ（負荷の高さ）を直接表すものでもよいし、負荷上昇率など、負荷量の変化を表すものでもよい。
【００５１】
遅延時間補正部２１７（クライアント制御プログラム２０２）は、ステップＳ１０５で変化量計算部２１５が計算した変化量に応じて、磁気ディスク装置９２０に記憶された遅延時間をＣＰＵ９１１で補正する（ステップＳ１０７、Ｓ１０８：遅延時間補正処理）。遅延時間とは、ステップＳ１０１で要求送信部２１１がサービス処理の要求データを送信するタイミングを遅延させるために、遅延時間補正部２１７が設定する時間であり、遅延時間補正部２１７によって常に１つの値が磁気ディスク装置９２０に記憶されているものとする。
【００５２】
ステップＳ１０５で変化量計算部２１５が計算した変化量が正の値である場合（応答時間に遅延が認められる場合）、遅延時間補正部２１７は、磁気ディスク装置９２０に記憶された遅延時間を加算する（ステップＳ１０７：遅延時間補正処理）。
【００５３】
このとき、遅延時間補正部２１７は、磁気ディスク装置９２０に記憶された遅延時間に単位時間（例えば、１秒）を加算するものとしてもよいし、単位時間以外の一定の時間（例えば、３秒）を加算するものとしてもよい。また、遅延時間補正部２１７は、磁気ディスク装置９２０に記憶された遅延時間に、ステップＳ１０５で変化量計算部２１５が計算した変化量のＣ倍（ＣはＣ＞０となる実数）の時間（例えば、変化量が０．１秒でＣ＝１０と規定していた場合は、１秒）を加算するものとしてもよい。さらに、遅延時間補正部２１７は、磁気ディスク装置９２０に記憶された遅延時間を所定の値より大きな値になるまで加算することはないものとしてもよい。つまり、遅延時間の上限値が予め設定されていてもよい（時間帯ごとに異なる上限値が設定されていてもよい）。この場合、遅延時間の上限値は、遅延時間補正部２１７が遅延時間の加算時に参照できるように磁気ディスク装置９２０に記憶されているものとする。遅延時間の上限値を設定することにより、遅延時間が過度に長くなるのを防ぐことができる。例えば、クライアントＰＣ２００に人が付いて行う処理であれば、あまりにも長時間になると、サーバ３００からのレスポンスがないかのように見えてしまう。そこで、遅延時間にある程度の上限値を定めて、遅延時間がその上限値を超える場合には、要求送信部２１１が処理を中断して、表示装置９０１（出力装置２５４の一例）にエラーメッセージなどを表示することが望ましい。一方、深夜に人が監視せずに行うバッチ処理などであれば、時間がかかっても処理が成功した方がよい。そこで、遅延時間の上限値を設定しないで運用することが望ましい（例えば、毎日午後１０時から翌日午前６時までの時間帯は、遅延時間の上限値を無効とする設定を行う）。
【００５４】
ステップＳ１０５で変化量計算部２１５が計算した変化量が正の値でない場合（応答時間に向上が認められる又は変化がない場合）であっても、現在の時間帯に予定される負荷量を示す負荷情報がステップＳ１０６で負荷量記憶部２１６により磁気ディスク装置９２０に記憶されており、当該負荷量が所定の閾値以上の場合、遅延時間補正部２１７は、磁気ディスク装置９２０に記憶された遅延時間を加算する（ステップＳ１０７：遅延時間補正処理）。図５の（ｂ）の例で、全ての、あるいは、任意の時間帯の負荷情報を負荷計画カレンダ３０２に登録している場合には、上記の閾値を負荷レベル（１〜５）で設定することが望ましい。例えば、応答時間に向上が認められるか、応答時間に変化がない場合であって、現在の時間帯に対応する負荷情報が磁気ディスク装置９２０に記憶されており、その負荷情報が示す負荷レベルが１（負荷が最も高いことを示す）、所定の閾値が３に設定されている場合、負荷量は所定の閾値以上であるから、遅延時間補正部２１７は遅延時間を加算することとなる。また、図５の（ｂ）の例で、負荷が一定の基準より高くなる時間帯のみの負荷情報を負荷計画カレンダ３０２に登録している場合には、この一定の基準を上記の閾値とみなすことができる。例えば、応答時間に向上が認められるか、応答時間に変化がない場合であって、現在の時間帯に対応する負荷情報が磁気ディスク装置９２０に記憶されている（負荷情報が記憶されていれば、負荷は必ず一定の基準より高い）場合、負荷量は所定の閾値（一定の基準）以上であるから、遅延時間補正部２１７は遅延時間を加算することとなる。
【００５５】
このとき、遅延時間補正部２１７は、前述したように、磁気ディスク装置９２０に記憶された遅延時間に単位時間（例えば、１秒）を加算するものとしてもよいし、単位時間以外の一定の時間（例えば、３秒）を加算するものとしてもよい。また、遅延時間補正部２１７は、前述したように、磁気ディスク装置９２０に記憶された遅延時間に、ステップＳ１０５で変化量計算部２１５が計算した変化量のＣ倍（ＣはＣ＞０となる実数）の時間（例えば、変化量が０．１秒でＣ＝１０と規定していた場合は、１秒）を加算するものとしてもよい。また、遅延時間補正部２１７は、現在の時間帯に予定される負荷量を示す負荷情報がステップＳ１０６で負荷量記憶部２１６により磁気ディスク装置９２０に記憶されている場合であって、磁気ディスク装置９２０に記憶された遅延時間を最初に加算する場合には、当該遅延時間に当該負荷量の大きさに応じた時間を加算し、当該遅延時間を再び加算する場合には、当該遅延時間に一定の時間を加算するものとしてもよい。図５の（ｂ）の例では、遅延時間補正部２１７は、遅延時間を最初に加算する場合に、磁気ディスク装置９２０に記憶されている負荷情報が示す負荷レベルの数値を遅延時間の初期値から減算した値（例えば、遅延時間の初期値を１０、負荷レベルを５とすると、１０−５＝５秒
）を遅延時間に加算し、それ以降遅延時間を加算する場合には、前述したように、遅延時間に単位時間（例えば、１秒）又は一定の時間（例えば、３秒）を加算することが考えられる。
【００５６】
一方、ステップＳ１０５で変化量計算部２１５が計算した変化量が正の値でない場合（応答時間に向上が認められる又は変化がない場合）であって、現在の時間帯に予定される負荷量を示す負荷情報がステップＳ１０６で負荷量記憶部２１６により磁気ディスク装置９２０に記憶されていないか、あるいは、負荷情報が記憶されていても当該負荷量が所定の閾値未満の場合、即ち、磁気ディスク装置９２０に記憶された遅延時間を加算しない場合には、遅延時間補正部２１７は遅延時間を減算する（ステップＳ１０８：遅延時間補正処理）。
【００５７】
このとき、遅延時間補正部２１７は、磁気ディスク装置９２０に記憶された遅延時間から単位時間（例えば、１秒）を減算するものとしてもよいし、単位時間以外の一定の時間（例えば、３秒）を減算するものとしてもよい。ただし、遅延時間補正部２１７は、磁気ディスク装置９２０に記憶された遅延時間を負の値になるまで減算することはないものとする。つまり、遅延時間の最小値は０とする。
【００５８】
要求制御部２１８（クライアント制御プログラム２０２）は、ステップＳ１０１で要求送信部２１１が新たにサービス処理を要求する場合、即ち、再びクライアントプログラム２０１が実行される際に、要求送信部２１１が前にサービス処理の要求データを送信してから磁気ディスク装置９２０に記憶された遅延時間が経過した後に要求送信部２１１にサービス処理の要求データを送信させる（ステップＳ１０７、Ｓ１０８：要求制御処理）。つまり、要求制御部２１８は、直前のステップＳ１０１で要求送信部２１１がサービス処理の要求データを送信した後、次のステップＳ１０１で要求送信部２１１が新たにサービス処理の要求データを送信する前に、要求送信部２１１が磁気ディスク装置９２０から遅延時間を読み取り、読み取った遅延時間が経過するまで待機するように、要求送信部２１１を制御する。
【００５９】
このように、本実施の形態では、クライアントＰＣ２００が、クライアントプログラム２０１を実行する度に、上記のステップＳ１０１〜Ｓ１０８の処理を繰り返すため、応答時間が長くなるほど、遅延時間が繰り返し加算されるため、全体の処理時間は長くなっていくが、遅延時間の間、サーバ３００はクライアントプログラム２０１に係る処理から解放され、負荷が軽減される。逆に、応答時間が短くなるほど、又は、応答時間が一定であれば、遅延時間が繰り返し減算されるため、全体の処理時間が短くなるとともに、サーバ３００の負荷を高めて高性能を引き出すことが可能となる。また、負荷計画カレンダ３０２に負荷情報を設定しておけば、設定された時間帯は応答時間に関係なく、遅延時間が補正されるため、サーバ３００の負荷上昇を未然に防ぐことが可能となる。
【００６０】
実施の形態２．
本実施の形態について、主に実施の形態１との差異を説明する。
【００６１】
実施の形態１では、図１に示したように、サーバ３００に負荷計画カレンダ３０２を配置しているが、クライアントＰＣ２００に負荷計画カレンダ３０２を配置してもよい。この場合、図４に示したステップＳ１０６において、負荷量記憶部２１６は、ネットワーク４００を介してサーバ３００の負荷計画カレンダ３０２にアクセスする必要がなくなり、所定の時間帯に予定されるサーバ３００の負荷量を示すデータとして、負荷情報が予め登録された負荷計画カレンダ３０２を単にクライアントＰＣ２００の磁気ディスク装置９２０に記憶しておけばよい。
【００６２】
実施の形態３．
本実施の形態について、主に実施の形態１との差異を説明する。
【００６３】
実施の形態１では、図１に示したように、サーバ３００に負荷計画カレンダ３０２を配置しているが、負荷計画カレンダ３０２は使用しなくてもよい。この場合、図４に示したステップＳ１０６は不要である。そして、例えば、ステップＳ１０５で変化量計算部２１５が計算した変化量が正の値である場合（応答時間に遅延が認められる場合）に、ステップＳ１０７において、遅延時間補正部２１７は、磁気ディスク装置９２０に記憶された遅延時間に一定の時間を加算する。また、ステップＳ１０５で変化量計算部２１５が計算した変化量が負の値である場合（応答時間に向上が認められる場合）に、ステップＳ１０８において、遅延時間補正部２１７は、磁気ディスク装置９２０に記憶された遅延時間から一定の時間を減算する。ステップＳ１０５で変化量計算部２１５が計算した変化量が正の値でも負の値でもない場合（応答時間に変化がない場合）には、遅延時間補正部２１７は、磁気ディスク装置９２０に記憶された遅延時間を変更しなくてもよいし、遅延時間から一定の時間を減算してもよい。
【００６４】
以上のように、本発明の実施の形態によれば、例えば、クライアントＰＣ２００側で自律的にサーバ３００の負荷を軽減することが可能となる。
【図面の簡単な説明】
【００６５】
【図１】実施の形態１に係る情報システムの構成を示すブロック図である。
【図２】実施の形態１に係るクライアント装置（クライアントＰＣ）の構成を示すブロック図である。
【図３】実施の形態１に係るクライアント装置（クライアントＰＣ）のハードウェア資源の一例を示すブロック図である。
【図４】実施の形態１に係るクライアント装置（クライアントＰＣ）の動作を示すフローチャートである。
【図５】実施の形態１に係る応答時間の履歴（応答時間履歴データ）及び負荷量（負荷計画カレンダ）のデータ例を示す表である。
【符号の説明】
【００６６】
１００  情報システム、２００  クライアントＰＣ、２０１  クライアントプログラム、２０２  クライアント制御プログラム、２０３  応答時間履歴データ、２１１  要求送信部、２１２  結果受信部、２１３  応答時間計算部、２１４  応答時間履歴更新部、２１５  変化量計算部、２１６  負荷量記憶部、２１７  遅延時間補正部、２１８  要求制御部、２５１  記憶装置、２５２  処理装置、２５３  入力装置、２５４  出力装置、３００  サーバ、３０１  サーバプログラム、３０２  負荷計画カレンダ、４００  ネットワーク、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  オペレーティングシステム、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
2008269152.tif 000003
【図２】
2008269152.tif 000004
【図３】
2008269152.tif 000005
【図４】
2008269152.tif 000006
【図５】
2008269152.tif 000007
【手続補正書】
【提出日】平成19年7月30日(2007.7.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１個のデータについて１つのサービス処理を実行可能なサーバ装置に対して、ｎ個（ｎ＞１）のデータの各々について同じサービス処理を順次要求するクライアント装置であって、
ｉ個目（ｉ＝１，・・・，ｎ）のデータについて同じサービス処理を要求する場合に、サービス処理の要求データＲｉを前記サーバ装置へ送信する要求送信部と、
前記要求送信部が送信したサービス処理の要求データＲｉに応じて前記サーバ装置でｉ個目のデータについて実行された当該サービス処理の結果データＳｉを前記サーバ装置から受信する結果受信部と、
前記要求送信部がサービス処理の要求データＲｉを送信してから前記結果受信部が当該サービス処理の結果データＳｉを受信するまでの応答時間を処理装置でｉ回目の応答時間として計算する応答時間計算部と、
前記応答時間計算部が新たにｊ回目（ｊ＝２，・・・，ｎ）の応答時間を計算する際に、前記応答時間計算部が過去に計算したｊ−１回目までの応答時間の履歴を記憶装置に記憶しておき、前記応答時間計算部が新たに計算したｊ回目の応答時間により、記憶装置に記憶されたｊ−１回目までの応答時間の履歴をｊ回目までの応答時間の履歴に更新する応答時間履歴更新部と、
記憶装置に記憶されたｊ回目までの応答時間の履歴に基づいて、前記応答時間計算部が過去に計算したｊ−１回目までの応答時間から前記応答時間計算部が新たに計算したｊ回目の応答時間への変化量Ｄｊを処理装置で計算する変化量計算部と、
前記要求送信部がサービス処理の要求データを送信するタイミングを遅延させる遅延時間を記憶装置に記憶しておき、前記変化量計算部が計算した変化量Ｄｊに応じて、記憶装置に記憶された遅延時間を処理装置で補正する遅延時間補正部と、
前記要求送信部が新たにｊ＋１個目のデータについて同じサービス処理を要求する場合に、前にサービス処理の要求データＲｊを送信してから記憶装置に記憶された遅延時間が経過した後に前記要求送信部にサービス処理の要求データＲｊ＋１を送信させる要求制御部とを備えることを特徴とするクライアント装置。
【請求項２】
前記サーバ装置は、所定の時間帯に予定される前記サーバ装置の負荷量を示す負荷情報が時間帯ごとに予め記憶されたデータベースを有し、
前記クライアント装置は、さらに、
前記変化量計算部が計算した変化量Ｄｊが正の値でない場合であって、現在日時に対応する時間帯の負荷情報が前記サーバ装置のデータベースに記憶されている場合に、当該負荷情報を前記サーバ装置から取得して記憶装置に記憶する負荷量記憶部を備え、
前記遅延時間補正部は、前記変化量計算部が計算した変化量Ｄｊが正の値である場合には、記憶装置に記憶された遅延時間に、固定値と変化量Ｄｊの大きさに応じた数値とのいずれかを加算し、前記負荷量記憶部が前記サーバ装置から取得した現在日時に対応する時間帯の負荷情報が記憶装置に記憶されており、当該負荷情報が所定の閾値以上の負荷量を示している場合には、記憶装置に記憶された遅延時間に、固定値と変化量Ｄｊの大きさに応じた数値と記憶装置に記憶された現在日時に対応する時間帯の負荷情報が示す負荷量の大きさに応じた数値とのいずれかを加算することを特徴とする請求項１に記載のクライアント装置。
【請求項３】
前記遅延時間補正部は、前記負荷量記憶部が前記サーバ装置から取得した現在日時に対応する時間帯の負荷情報が記憶装置に記憶されている場合であって、記憶装置に記憶された遅延時間を最初に加算する場合には、当該遅延時間に、記憶装置に記憶された現在日時に対応する時間帯の負荷情報が示す負荷量の大きさに応じた数値を加算し、当該遅延時間を２度目以降に加算する場合には、当該遅延時間に、最初に加算した数値より小さい固定値を加算することを特徴とする請求項２に記載のクライアント装置。
【請求項４】
前記サーバ装置のデータベースには、所定の時間帯に予定される前記サーバ装置の負荷量として当該負荷量の大きさを複数の段階に分けて数値化した負荷レベルを示す負荷情報が時間帯ごとに記憶されており、
前記遅延時間補正部は、前記負荷量記憶部が前記サーバ装置から取得した現在日時に対応する時間帯の負荷情報が記憶装置に記憶されている場合であって、記憶装置に記憶された遅延時間を最初に加算する場合には、当該遅延時間に、記憶装置に記憶された現在日時に対応する時間帯の負荷情報が示す負荷レベルの数値と所定の初期値との演算により得られる演算値を加算し、当該遅延時間を２度目以降に加算する場合には、当該遅延時間に、最初に加算した演算値より小さい固定値を加算することを特徴とする請求項２に記載のクライアント装置。
【請求項５】
前記遅延時間補正部は、記憶装置に記憶された遅延時間を加算しない場合に、当該遅延時間を減算することを特徴とする請求項１から４までのいずれかに記載のクライアント装置。
【請求項６】
前記遅延時間補正部は、前記変化量計算部が計算した変化量Ｄｊが正の値である場合に、記憶装置に記憶された遅延時間に固定値を加算し、前記変化量計算部が計算した変化量Ｄｊが負の値である場合に、当該遅延時間から固定値を減算することを特徴とする請求項１に記載のクライアント装置。
【請求項７】
１個のデータについて１つのサービス処理を実行可能なサーバ装置に対して、ｎ個（ｎ＞１）のデータの各々について同じサービス処理を順次要求するクライアントプログラムであって、ｉ個目（ｉ＝１，・・・，ｎ）のデータについて同じサービス処理を要求する場合に、サービス処理の要求データＲｉを前記サーバ装置へ送信し、当該サービス処理の要求データＲｉに応じて前記サーバ装置でｉ個目のデータについて実行された当該サービス処理の結果データＳｉを前記サーバ装置から受信するクライアントプログラムを制御するクライアント制御プログラムであって、
前記クライアントプログラムがサービス処理の要求データＲｉを送信してから当該サービス処理の結果データＳｉを受信するまでの応答時間を処理装置でｉ回目の応答時間として計算する応答時間計算処理と、
前記応答時間計算処理が新たにｊ回目（ｊ＝２，・・・，ｎ）の応答時間を計算する際に、前記応答時間計算処理が過去に計算したｊ−１回目までの応答時間の履歴を記憶装置に記憶しておき、前記応答時間計算処理が新たに計算したｊ回目の応答時間により、記憶装置に記憶されたｊ−１回目までの応答時間の履歴をｊ回目までの応答時間の履歴に更新する応答時間履歴更新処理と、
記憶装置に記憶されたｊ回目までの応答時間の履歴に基づいて、前記応答時間計算処理が過去に計算したｊ−１回目までの応答時間から前記応答時間計算部が新たに計算したｊ回目の応答時間への変化量Ｄｊを処理装置で計算する変化量計算処理と、
前記クライアントプログラムがサービス処理の要求データを送信するタイミングを遅延させる遅延時間を記憶装置に記憶しておき、前記変化量計算処理が計算した変化量Ｄｊに応じて、記憶装置に記憶された遅延時間を処理装置で補正する遅延時間補正処理と、
前記クライアントプログラムが新たにｊ＋１個目のデータについて同じサービス処理を要求する場合に、前にサービス処理の要求データＲｊを送信してから記憶装置に記憶された遅延時間が経過した後に前記クライアントプログラムにサービス処理の要求データＲｊ＋１を送信させる要求制御処理とをコンピュータに実行させることを特徴とするクライアント制御プログラム。
【手続補正書】
【提出日】平成19年11月6日(2007.11.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１個のデータについて１つのサービス処理を実行可能なサーバ装置であり、所定の時間帯に予定される前記サーバ装置の負荷量を示す負荷情報が時間帯ごとに予め記憶されたデータベースを有するサーバ装置に対して、ｎ個（ｎ＞１）のデータの各々について同じサービス処理を順次要求するクライアント装置であって、
ｉ個目（ｉ＝１，・・・，ｎ）のデータについて同じサービス処理を要求する場合に、サービス処理の要求データＲｉを前記サーバ装置へ送信する要求送信部と、
前記要求送信部が送信したサービス処理の要求データＲｉに応じて前記サーバ装置でｉ個目のデータについて実行された当該サービス処理の結果データＳｉを前記サーバ装置から受信する結果受信部と、
前記要求送信部がサービス処理の要求データＲｉを送信してから前記結果受信部が当該サービス処理の結果データＳｉを受信するまでの応答時間を処理装置でｉ回目の応答時間として計算する応答時間計算部と、
前記応答時間計算部が新たにｊ回目（ｊ＝２，・・・，ｎ）の応答時間を計算する際に、前記応答時間計算部が過去に計算したｊ−１回目までの応答時間の履歴を記憶装置に記憶しておき、前記応答時間計算部が新たに計算したｊ回目の応答時間により、記憶装置に記憶されたｊ−１回目までの応答時間の履歴をｊ回目までの応答時間の履歴に更新する応答時間履歴更新部と、
記憶装置に記憶されたｊ回目までの応答時間の履歴に基づいて、前記応答時間計算部が過去に計算したｊ−１回目までの応答時間から前記応答時間計算部が新たに計算したｊ回目の応答時間への変化量Ｄｊを処理装置で計算する変化量計算部と、
前記変化量計算部が計算した変化量Ｄｊが正の値でない場合であって、現在日時に対応する時間帯の負荷情報が前記サーバ装置のデータベースに記憶されている場合に、当該負荷情報を前記サーバ装置から取得して記憶装置に記憶する負荷量記憶部と、
前記要求送信部がサービス処理の要求データを送信するタイミングを遅延させる遅延時間を記憶装置に記憶しておき、前記変化量計算部が計算した変化量Ｄｊが正の値である場合には、記憶装置に記憶された遅延時間に、固定値と変化量Ｄｊの大きさに応じた数値とのいずれかを処理装置で加算し、前記負荷量記憶部が前記サーバ装置から取得した現在日時に対応する時間帯の負荷情報が記憶装置に記憶されており、当該負荷情報が所定の閾値以上の負荷量を示している場合には、記憶装置に記憶された遅延時間に、固定値と記憶装置に記憶された現在日時に対応する時間帯の負荷情報が示す負荷量の大きさに応じた数値とのいずれかを処理装置で加算する遅延時間補正部と、
前記要求送信部が新たにｊ＋１個目のデータについて同じサービス処理を要求する場合に、前にサービス処理の要求データＲｊを送信してから記憶装置に記憶された遅延時間が経過した後に前記要求送信部にサービス処理の要求データＲｊ＋１を送信させる要求制御部とを備え、
前記遅延時間補正部は、前記負荷量記憶部が前記サーバ装置から取得した現在日時に対応する時間帯の負荷情報が記憶装置に記憶されている場合であって、記憶装置に記憶された遅延時間を最初に加算する場合には、当該遅延時間に、記憶装置に記憶された現在日時に対応する時間帯の負荷情報が示す負荷量の大きさに応じた数値を加算し、当該遅延時間を２度目以降に加算する場合には、当該遅延時間に、最初に加算した数値より小さい固定値を加算することを特徴とするクライアント装置。
【請求項２】
１個のデータについて１つのサービス処理を実行可能なサーバ装置であり、所定の時間帯に予定される前記サーバ装置の負荷量として当該負荷量の大きさを複数の段階に分けて数値化した負荷レベルを示す負荷情報が時間帯ごとに予め記憶されたデータベースを有するサーバ装置に対して、ｎ個（ｎ＞１）のデータの各々について同じサービス処理を順次要求するクライアント装置であって、
ｉ個目（ｉ＝１，・・・，ｎ）のデータについて同じサービス処理を要求する場合に、サービス処理の要求データＲｉを前記サーバ装置へ送信する要求送信部と、
前記要求送信部が送信したサービス処理の要求データＲｉに応じて前記サーバ装置でｉ個目のデータについて実行された当該サービス処理の結果データＳｉを前記サーバ装置から受信する結果受信部と、
前記要求送信部がサービス処理の要求データＲｉを送信してから前記結果受信部が当該サービス処理の結果データＳｉを受信するまでの応答時間を処理装置でｉ回目の応答時間として計算する応答時間計算部と、
前記応答時間計算部が新たにｊ回目（ｊ＝２，・・・，ｎ）の応答時間を計算する際に、前記応答時間計算部が過去に計算したｊ−１回目までの応答時間の履歴を記憶装置に記憶しておき、前記応答時間計算部が新たに計算したｊ回目の応答時間により、記憶装置に記憶されたｊ−１回目までの応答時間の履歴をｊ回目までの応答時間の履歴に更新する応答時間履歴更新部と、
記憶装置に記憶されたｊ回目までの応答時間の履歴に基づいて、前記応答時間計算部が過去に計算したｊ−１回目までの応答時間から前記応答時間計算部が新たに計算したｊ回目の応答時間への変化量Ｄｊを処理装置で計算する変化量計算部と、
前記変化量計算部が計算した変化量Ｄｊが正の値でない場合であって、現在日時に対応する時間帯の負荷情報が前記サーバ装置のデータベースに記憶されている場合に、当該負荷情報を前記サーバ装置から取得して記憶装置に記憶する負荷量記憶部と、
前記要求送信部がサービス処理の要求データを送信するタイミングを遅延させる遅延時間を記憶装置に記憶しておき、前記変化量計算部が計算した変化量Ｄｊが正の値である場合には、記憶装置に記憶された遅延時間に、固定値と変化量Ｄｊの大きさに応じた数値とのいずれかを処理装置で加算し、前記負荷量記憶部が前記サーバ装置から取得した現在日時に対応する時間帯の負荷情報が記憶装置に記憶されており、当該負荷情報が所定の閾値以上の負荷量を示している場合には、記憶装置に記憶された遅延時間に、固定値と記憶装置に記憶された現在日時に対応する時間帯の負荷情報が示す負荷量の大きさに応じた数値とのいずれかを処理装置で加算する遅延時間補正部と、
前記要求送信部が新たにｊ＋１個目のデータについて同じサービス処理を要求する場合に、前にサービス処理の要求データＲｊを送信してから記憶装置に記憶された遅延時間が経過した後に前記要求送信部にサービス処理の要求データＲｊ＋１を送信させる要求制御部とを備え、
前記遅延時間補正部は、前記負荷量記憶部が前記サーバ装置から取得した現在日時に対応する時間帯の負荷情報が記憶装置に記憶されている場合であって、記憶装置に記憶された遅延時間を最初に加算する場合には、当該遅延時間に、記憶装置に記憶された現在日時に対応する時間帯の負荷情報が示す負荷レベルの数値と所定の初期値との演算により得られる演算値を加算し、当該遅延時間を２度目以降に加算する場合には、当該遅延時間に、最初に加算した演算値より小さい固定値を加算することを特徴とするクライアント装置。
【請求項３】
前記遅延時間補正部は、記憶装置に記憶された遅延時間を加算しない場合に、当該遅延時間を減算することを特徴とする請求項１又は２に記載のクライアント装置。