(57)【特許請求の範囲】
【請求項１】
メッセージと当該メッセージが格納された格納時刻とを対応付けて格納する第１のキューと、
前記第１のキューに格納されているメッセージの件数である第１の件数と前回メッセージが抽出又は格納された時点におけるメッセージの滞留時間の合計である第１の総滞留時間と当該第１の総滞留時間が算出された時刻である第１の算出時刻とを格納する第１のステータステーブルと、
前記第１のキューから特定の処理の対象となるメッセージが抽出された場合には、前記第１のステータステーブルに格納されている前記第１の総滞留時間に、現在時刻と前記第１のステータステーブルに格納されている前記第１の算出時刻との差に前記第１のステータステーブルに格納されている前記第１の件数を乗じた値を加え、現在時刻と抽出された前記メッセージについての格納時刻との差を差し引くことにより、前記第１のキューに格納されているメッセージの滞留時間の合計を算出し、前記第１のステータステーブルにおいて、前記第１の件数を１減少させ、前記第１のキューに格納されているメッセージの滞留時間の合計で前記第１の総滞留時間を更新し、前記第１の算出時刻を現在時刻で更新する算出手段と、
を有するコンピュータ・システム。
【請求項２】
前記特定の処理がなされた後のメッセージと当該メッセージが格納された格納時刻とを対応付けて格納する第２のキューと、
前記第２のキューに格納されているメッセージの件数である第２の件数と前回メッセージが抽出又は格納された時点におけるメッセージの滞留時間の合計である第２の総滞留時間と当該第２の総滞留時間が算出された時刻である第２の算出時刻とを格納する第２のステータステーブルと、
をさらに有し、
前記算出手段が、
抽出された前記メッセージに対して前記特定の処理がなされた後に、前記第２のステータステーブルに格納されている前記第２の件数、前記第２の総滞留時間及び前記第２の算出時刻に基づき、前記第２のキューに格納されているメッセージの滞留時間の合計を算出し、前記第２のステータステーブルにおいて、前記第２の件数を１増加させ、前記第２のキューに格納されているメッセージの滞留時間の合計で前記第２の総滞留時間を更新し、前記第２の算出時刻を現在時刻で更新する
ことを特徴とする請求項１記載のコンピュータ・システム。
【請求項３】
前記算出手段が、
前記第２のステータステーブルに格納されている前記第２の総滞留時間に、現在時刻と前記第２のステータステーブルに格納されている前記第２の算出時刻との差に前記第２のステータステーブルに格納されている前記第２の件数を乗じた値を加えることにより、前記第２のキューに格納されているメッセージの滞留時間の合計を算出する
ことを特徴とする請求項２記載のコンピュータ・システム。
【請求項４】
前記特定の処理を実施する１又は複数の処理部
をさらに有し、
各前記処理部が、
前記算出手段と、
前記第１のキューに格納されているメッセージの滞留時間の合計が第１の閾値以上であり且つ前記第２のキューに格納されているメッセージの滞留時間の合計が第２の閾値未満である場合には前記処理部を新たに起動し、前記第１のキューに格納されているメッセージの滞留時間の合計が前記第１の閾値未満であり且つ前記第２のキューに格納されているメッセージの滞留時間の合計が前記第２の閾値以上である場合には前記処理部の少なくとも１つを停止する調節手段と、
を有する請求項２又は３記載のコンピュータ・システム。
【請求項５】
処理負荷を把握するためのプログラムであって、
メッセージと当該メッセージが格納された格納時刻とを対応付けて格納する第１のキューから特定の処理の対象となるメッセージが抽出された場合には、前記第１のキューに格納されているメッセージの件数である第１の件数と前回メッセージが抽出又は格納された時点におけるメッセージの滞留時間の合計である第１の総滞留時間と当該第１の総滞留時間が算出された時刻である第１の算出時刻とを格納する第１のステータステーブルに格納されている前記第１の総滞留時間に、現在時刻と前記第１のステータステーブルに格納されている前記第１の算出時刻との差に前記第１のステータステーブルに格納されている前記第１の件数を乗じた値を加え、現在時刻と抽出された前記メッセージについての格納時刻との差を差し引くことにより、前記第１のキューに格納されているメッセージの滞留時間の合計を算出し、前記第１のステータステーブルにおいて、前記第１の件数を１減少させ、前記第１のキューに格納されているメッセージの滞留時間の合計で前記第１の総滞留時間を更新し、前記第１の算出時刻を現在時刻で更新するステップ
をコンピュータに実行させるためのプログラム。
【請求項６】
メッセージと当該メッセージが格納された格納時刻とを対応付けて格納する第１のキューと、前記第１のキューに格納されているメッセージの件数である第１の件数と前回メッセージが抽出又は格納された時点におけるメッセージの滞留時間の合計である第１の総滞留時間と当該第１の総滞留時間が算出された時刻である第１の算出時刻とを格納する第１のステータステーブルとにアクセス可能なコンピュータにより実行される情報処理方法であって、
前記第１のキューから特定の処理の対象となるメッセージが抽出された場合には、前記第１のステータステーブルに格納されている前記第１の総滞留時間に、現在時刻と前記第１のステータステーブルに格納されている前記第１の算出時刻との差に前記第１のステータステーブルに格納されている前記第１の件数を乗じた値を加え、現在時刻と抽出された前記メッセージについての格納時刻との差を差し引くことにより、前記第１のキューに格納されているメッセージの滞留時間の合計を算出し、前記第１のステータステーブルにおいて、前記第１の件数を１減少させ、前記第１のキューに格納されているメッセージの滞留時間の合計で前記第１の総滞留時間を更新し、前記第１の算出時刻を現在時刻で更新するステップ
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、システムのスループットを向上させるための技術に関する。
【背景技術】
【０００２】
例えばＬＡＮ（Local Area Network）やインターネット等のネットワークを介して受信したメッセージに対して、複数種類の業務処理を実施し、処理結果を例えばクライアント端末等に送信するようなシステムがある。このようなシステムにおいては、特定の業務処理プロセスの業務処理が終了したメッセージをキューに一時的に格納することが行われる。例えば、図１に示したシステムでは、業務処理プロセスＡがメッセージに対して業務処理Ａを実行した後、処理後のメッセージをキューに格納する。一方、業務処理プロセスＢは、キューに格納されたメッセージを抽出し、業務処理Ｂを実行する。
【０００３】
上で述べたシステムでは、例えば業務処理プロセスＢに負荷が集中した場合や、業務処理プロセスＡの処理速度に比して業務処理プロセスＢの処理速度が遅い場合には、キューにメッセージが滞留することがある。すると、キューにおける待ち時間が長くなるため、システムがメッセージを受信してから送信するまでの時間が長くなる（すなわち、システムの処理効率が下がる）。そのため、キューにおけるメッセージの滞留状況を監視し、システムの処理効率が落ちることを未然に防ぐための措置を講ずることが求められる。上で述べた例では、例えば業務処理プロセスＡのプロセス数を減らしたり、業務処理プロセスＢのプロセス数を増やしたりすることが考えられる。
【０００４】
従来、キューに格納されているメッセージの数に基づき、メッセージの滞留状況を監視する技術が存在する。すなわち、監視プロセスのプロセス数制御手段が、所定時間毎に登録された処理対象Ｉ／Ｏ要求数から処理対象Ｉ／Ｏ要求数が増加傾向又は減少傾向のいずれにあるかを判別し、また現時点における処理対象Ｉ／Ｏ要求数が現時点における起動Ｉ／Ｏ処理プロセス数と閾値α以上差があるかを判別する。そして、判別した結果に基づき、起動Ｉ／Ｏ処理プロセスの数を増加、減少又は現状維持させる。
【０００５】
しかし、たとえ滞留するメッセージの数が少なくても滞留時間が長いような場合にはプロセス数が足りず業務処理が滞っている可能性があり、逆に滞留するメッセージの数が多くても滞留時間が短いような場合には現状のままでもプロセス数に問題は無いと考えられる。したがって、上で述べたような技術を用いて滞留状況を監視することは必ずしも適切であるとは言えない。
【０００６】
このような問題に対処するための技術として、キュー内のメッセージの滞留時間の合計である、総滞留時間を求める方法が知られている。この方法については図１を用いて説明する。図１のシステムでは、業務処理プロセスＡがメッセージに対して業務処理Ａを実行した後、処理後のメッセージをキューに格納し、さらに業務処理プロセスＢがメッセージを取り出して業務処理Ｂを実行する。この技術では、メッセージとともに現在時刻がキューに格納され、この現在時刻（以下、格納時刻と呼ぶ）を用いて総滞留時間が算出される。
【０００７】
総滞留時間の算出は、具体的には以下のような方法により行われる。すなわち、監視プロセスは、（１）業務処理プロセスＡ及び業務処理プロセスＢの実行の一時停止を要求し、（２）キューを検索し、全メッセージについて格納時刻を取得し、（３）現在時刻と格納時刻との差を全メッセージにつき算出して総和を求めることにより総滞留時間を算出し、（４）業務処理プロセスＡ及び業務処理プロセスＢの実行の再開を要求する。図１の例において現在時刻が０９：００の場合には、総滞留時間は（０９：００−０８：３０）＋（０９：００−０８：２０）＋（０９：００−０８：１０）＋（０９：００−０８：００）＝１８０（分）となる。
【０００８】
しかしながら、図１に示した方法では、キューを検索して全てのメッセージについて格納時刻を取得する処理が必要であるため、業務処理を一時的に停止しなければならず、業務処理の効率が低下する。
【０００９】
また、監視プロセスによる監視を行う場合、監視周期を定め、キュー内を定期的に監視しなければならないが、メッセージ数の増減が大きい時間帯には頻繁に監視をすることが必要であるのに対し、そうでない時間帯には頻繁に監視をする必要性は低い。従って、最適な監視周期を定めるのが難しいという問題がある。さらに、監視プロセスと業務処理プロセスとの間のプロセス間通信が発生するため、解決処理を即時に行うことができないという問題がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００４−３４８２３３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従って、本技術の目的は、効率的に処理負荷を把握するための技術を提供することである。
【課題を解決するための手段】
【００１２】
本技術の第１の態様に係るコンピュータ・システムは、メッセージと当該メッセージが格納された格納時刻とを対応付けて格納する第１のキューと、第１のキューに格納されているメッセージの件数である第１の件数と前回メッセージが抽出又は格納された時点におけるメッセージの滞留時間の合計である第１の総滞留時間と当該第１の総滞留時間が算出された時刻である第１の算出時刻とを格納する第１のステータステーブルと、第１のキューから特定の処理の対象となるメッセージが抽出された場合には、抽出されたメッセージについての格納時刻と、第１のステータステーブルに格納されている第１の件数、第１の総滞留時間及び第１の算出時刻とに基づき、第１のキューに格納されているメッセージの滞留時間の合計を算出し、第１のステータステーブルにおいて、第１の件数を１減少させ、第１のキューに格納されているメッセージの滞留時間の合計で第１の総滞留時間を更新し、第１の算出時刻を現在時刻で更新する算出手段とを有する。
【発明の効果】
【００１３】
効率的に処理負荷を把握できるようになる。
【図面の簡単な説明】
【００１４】
【図１】従来技術を説明するための図である。
【図２】本技術の一実施の形態に係るシステムの構成図である。
【図３】キューに格納されるデータの一例を示す図である。
【図４】共通ステータステーブルに格納されるデータの一例を示す図である。
【図５】メッセージが滞留するケースの一例を示す図である。
【図６】プロセス数調節処理１の処理フローを示す図である。
【図７】（ａ）及び（ｂ）はキュー及び共通ステータステーブルに格納されるデータの一例を示す図である。
【図８】プロセス数調節処理１の処理フローを示す図である。
【図９】共通ステータステーブルに格納されるデータの一例を示す図である。
【図１０】プロセス数調節処理２の処理フローを示す図である。
【図１１】総滞留時間の算出方法を説明するための図である。
【図１２】総滞留時間の算出方法を説明するための図である。
【図１３】総滞留時間の算出方法を説明するための図である。
【図１４】総滞留時間の算出方法を説明するための図である。
【図１５】総滞留時間の算出方法を説明するための図である。
【図１６】総滞留時間の算出方法を説明するための図である。
【図１７】キューの総滞留時間を適切な状態に調節する方法を説明するための図である。
【図１８】キューの総滞留時間を適切な状態に調節する方法を説明するための図である。
【図１９】コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１５】
本実施の形態に係る業務システム１の機能ブロック図を図２に示す。本実施の形態に係る業務システム１は、受信部３と、キュー７Ａと、共通ステータステーブル９Ａと、１又は複数の業務処理プロセス１１Ａと、キュー７Ｂと、共通ステータステーブル９Ｂと、１又は複数の業務処理プロセス１１Ｂと、キュー７Ｃと、共通ステータステーブル９Ｃと、１又は複数の業務処理プロセス１１Ｃと、送信部５とを有する。
【００１６】
なお、業務処理プロセス１１Ａは、メッセージに対して業務処理Ａを実施するために実行されているプロセスであり、業務処理部１０１Ａと、総滞留時間算出部１０３Ａと、プロセス数調節処理部１０５Ａとを有する。同様に、業務処理プロセス１１Ｂは、メッセージに対して業務処理Ｂを実施するために実行されているプロセスであり、業務処理部１０１Ｂと、総滞留時間算出部１０３Ｂと、プロセス数調節処理部１０５Ｂとを有する。また、業務処理プロセス１１Ｃは、メッセージに対して業務処理Ｃを実施するために実行されているプロセスであり、業務処理部１０１Ｃと、総滞留時間算出部１０３Ｃと、プロセス数調節処理部１０５Ｃとを有する。
【００１７】
受信部３は、例えばＬＡＮ（Local Area Network）やインターネット等のネットワークを介してメッセージを受信し、キュー７Ａに格納する。業務処理プロセス１１Ａの業務処理部１０１Ａは、ＦＩＦＯ（First In First Out）方式に従ってキュー７Ａからメッセージを抽出し、業務処理Ａを実施した後、処理後のメッセージをキュー７Ｂに格納する。総滞留時間算出部１０３Ａは、メッセージがキュー７Ａに格納された格納時刻と共通ステータステーブル９Ａに格納されているデータとに基づきキュー７Ａに格納されているメッセージの総滞留時間を算出したり、共通ステータステーブル９Ｂに格納されているデータに基づきキュー７Ｂに格納されているメッセージの総滞留時間を算出したりする。プロセス数調節処理部１０５Ａは、キュー７Ａについての総滞留時間とキュー７Ｂについての総滞留時間とに基づき、当該プロセス数調節処理部１０５Ａを含む業務処理プロセス１１Ａを停止又は業務処理プロセス１１Ａを新たに起動する。
【００１８】
また、業務処理プロセス１１Ｂの業務処理部１０１Ｂは、ＦＩＦＯ方式に従ってキュー７Ｂからメッセージを抽出し、業務処理Ｂを実施した後、処理後のメッセージをキュー７Ｃに格納する。総滞留時間算出部１０３Ｂは、メッセージがキュー７Ｂに格納された格納時刻と共通ステータステーブル９Ｂに格納されているデータとに基づきキュー７Ｂに格納されているメッセージの総滞留時間を算出したり、共通ステータステーブル９Ｃに格納されているデータに基づきキュー７Ｃに格納されているメッセージの総滞留時間を算出したりする。プロセス数調節処理部１０５Ｂは、キュー７Ｂについての総滞留時間とキュー７Ｃについての総滞留時間とに基づき、当該プロセス数調節処理部１０５Ｂを含む業務処理プロセス１１Ｂを停止又は業務処理プロセス１１Ｂを新たに起動する。
【００１９】
また、業務処理プロセス１１Ｃの業務処理部１０１Ｃは、ＦＩＦＯ方式に従ってキュー７Ｃからメッセージを抽出し、業務処理Ｃを実施した後、処理後のメッセージを送信部５に出力する。総滞留時間算出部１０３Ｃは、メッセージがキュー７Ｃに格納された格納時刻と共通ステータステーブル９Ｃに格納されているデータとに基づきキュー７Ｃに格納されているメッセージの総滞留時間を算出する。プロセス数調節処理部１０５Ｃは、キュー７Ｃの総滞留時間に基づき、当該プロセス数調節処理部１０５Ｃを含む業務処理プロセス１１Ｃを停止又は業務処理プロセス１１Ｃを新たに起動する。そして、送信部５は、必要な処理が全て実行されたメッセージを、当該メッセージを受け取るべき端末等にネットワークを介して送信する。
【００２０】
図３に、キュー７Ａに格納されるデータの一例を示す。図３の例では、キュー７Ａには、メッセージと、当該メッセージが格納された格納時刻とが格納されるようになっている。図３の例では、格納時刻が１１：００であるメッセージが最も先に格納されたメッセージであるので、当該メッセージは最も先にキュー７Ａから抽出される。一方、格納時刻が１２：００であるメッセージは最後に格納されたメッセージであるので、当該メッセージは最後にキュー７Ａから抽出される。なお、キュー７Ｂ及びキュー７Ｃについても同様のデータが格納される。
【００２１】
図４に、キュー７Ａについての共通ステータステーブル９Ａに格納されるデータの一例を示す。図４の例では、共通ステータステーブル９Ａには、前回メッセージが抽出又は格納された時点におけるメッセージの滞留時間の合計である前回総滞留時間と、前回総滞留時間が算出された時刻である前回時刻と、キュー７Ａに格納されているメッセージの数が格納されるようになっている。前回総滞留時間は、後述する処理により算出される。なお、共通ステータステーブル９Ｂ及び共通ステータステーブル９Ｃについても同様のフォーマットでデータが格納されるが、共通ステータステーブル９Ｂにはキュー７Ｂについてのデータが格納され、共通ステータステーブル９Ｃにはキュー７Ｃについてのデータが格納される。
【００２２】
ここで、キューに格納されているメッセージが滞留するケースの一例を図５を用いて説明する。図５は、図２に示した本実施の形態に係るシステムにおいて、業務処理プロセス１１Ａのプロセス数が２であり、業務処理プロセス１１Ｂのプロセス数が３であり、業務処理プロセス１１Ｃのプロセス数が３である状態を示している。また、ここでは、業務処理プロセス１１Ａの業務処理Ａ及び業務処理プロセス１１Ｃの業務処理Ｃには時間がかからないが、業務処理Ｂには時間がかかるものとする。
【００２３】
このようなケースでは、業務処理Ａには時間がかからないためキュー７Ｂへのメッセージの格納は比較的高い頻度で行われる。一方、業務処理Ｂには時間がかかるためキュー７Ｂからのメッセージの抽出頻度は高くない。そのため、キュー７Ｂにはメッセージが滞留しがちになる。また、業務処理Ｂには時間がかかるため業務処理Ｃ用キューへのメッセージの格納の頻度は高くない。一方、業務処理Ｃには時間がかからないため、業務処理プロセス１１Ｃは待ち状態になりやすい。これでは、キュー７Ｂにおける待ち時間が長くなりシステムのスループットが低下してしまうだけでなく、業務処理プロセス１１Ｃの資源を有効に活用できていないため、好ましいものではない。
【００２４】
そこで、本実施の形態では以下に述べる処理を実施することにより、メッセージの滞留状況を監視し、システムのスループットの低下を未然に防ぐための措置を講ずることができるようにしている。図６乃至図１０を用いて、図２に示したシステムの処理内容について説明する。まず、業務処理プロセス１１Ａ及び１１Ｂのように、キューからメッセージを抽出する処理及びキューにメッセージを格納する処理の両方を実施する業務処理プロセスの処理（プロセス数調節処理１）について説明する。ここでは、業務処理プロセス１１Ｂを例に説明する。なお、キュー７Ａ、キュー７Ｂ及びキュー７Ｃには既にデータが格納されているものとする。
【００２５】
まず、業務処理プロセス１１Ｂの業務処理部１０１Ｂは、ＦＩＦＯ方式に従い抽出用キュー（すなわち、キュー７Ｂ）から１件のメッセージと当該メッセージの格納時刻とを抽出し、メインメモリ等の記憶装置に格納する（図６：ステップＳ１）。例えば図７（ａ）に示したデータがキュー７Ｂに格納されている場合には、最上段の行のメッセージと格納時刻１１：１０とを抽出する。
【００２６】
そして、総滞留時間算出部１０３Ｂは、現在時刻を取得し、メインメモリ等の記憶装置に格納する（ステップＳ３）。現在時刻は、例えば業務システム１の図示しないシステム時計から取得する。ここでは、現在時刻が１２：３０であるとする。また、総滞留時間算出部１０３Ｂは、共通ステータステーブル９Ｂから前回時刻、前回総滞留時間及びメッセージ数を読み出し、メインメモリ等の記憶装置に格納する（ステップＳ５）。例えば図７（ｂ）に示したデータが共通ステータステーブル９Ｂに格納されている場合には、前回時刻１２：１０と、前回総滞留時間２００分と、メッセージ数「７」とを読み出す。
【００２７】
そして、総滞留時間算出部１０３Ｂは、キュー７Ｂについての総滞留時間Ｔ１を、Ｔ１＝前回総滞留時間＋（現在時刻−前回時刻）×メッセージ数−（現在時刻−格納時刻）として算出し、メインメモリ等の記憶装置に格納する（ステップＳ７）。ここでは、総滞留時間Ｔ１＝２００分＋（１２：３０−１２：１０）×７−（１２：３０−１１：１０）であるので、Ｔ１は２６０分となる。なお、図１を用いて説明した方法で算出する場合には、（１２：３０−１１：３０）＋（１２：３０−１１：３５）＋（１２：３０−１１：４０）＋（１２：３０−１１：４５）＋（１２：３０−１２：００）＋（１２：３０−１２：１０）＝２６０分となる。いずれの方法であっても、キュー７Ｂに格納されているメッセージの総滞留時間は２６０分となる。
【００２８】
そして、総滞留時間算出部１０３Ｂは、共通ステータステーブル９Ｂにおいて、前回時刻を現在時刻で更新し、ステップＳ７で算出した総滞留時間で前回総滞留時間を更新し、メッセージ件数を１減らす（ステップＳ９）。ここでは、共通ステータステーブル９Ｂには、前回時刻として１２：３０が格納され、前回総滞留時間として２６０分が格納され、メッセージ件数として「６」が格納される。
【００２９】
そして、業務処理部１０１Ｂは、ステップＳ１において抽出されたメッセージに対して業務処理Ｂを実施する（ステップＳ１１）。ステップＳ１１が終了した後、業務処理部１０１Ｂは、現在時刻を取得し、メッセージに付加する（ステップＳ１３）。また、ステップＳ１３において、現在時刻をメインメモリ等の記憶装置に格納する。ここでは、現在時刻が１２：５０であるとする。処理は端子Ａを介して図８のステップＳ１５へ移行する。
【００３０】
図８の説明に移行して、総滞留時間算出部１０３Ｂは、共通ステータステーブル９Ｃから、前回時刻、前回総滞留時間及びメッセージ数を読み出し、メインメモリ等の記憶装置に格納する（ステップＳ１５）。例えば図９に示したデータが共通ステータステーブル９Ｃに格納されている場合には、前回時刻１２：３０と、前回総滞留時間２００分と、メッセージ数「６」とを読み出す。
【００３１】
そして、総滞留時間算出部１０３Ｂは、キュー７Ｃについての総滞留時間Ｔ２を、Ｔ２＝前回総滞留時間＋（現在時刻−前回時刻）×メッセージ数として算出し、メインメモリ等の記憶装置に格納する（ステップＳ１７）。ここでは、総滞留時間Ｔ２＝２００分＋（１２：５０−１２：３０）×６であるので、Ｔ２は３２０分となる。なお、図１を用いて説明した従来の方法で算出する場合には、（１２：５０−１１：３０）＋（１２：５０−１１：３５）＋（１２：５０−１１：５０）＋（１２：５０−１１：５５）＋（１２：５０−１２：２０）＋（１２：５０−１２：３０）＝３２０分となる。いずれの方法であっても、キュー７Ｃに格納されているメッセージの総滞留時間は３２０分となる。
【００３２】
そして、業務処理部１０１Ｂは、ステップＳ１３において現在時刻が付加されたメッセージを、ＦＩＦＯ方式に従いキュー７Ｃに格納する（ステップＳ１９）。キュー７Ｃにおける格納時刻とは、ステップＳ１９においてキュー７Ｃに格納された現在時刻のことである。また、総滞留時間算出部１０３Ｂは、共通ステータステーブル９Ｃにおいて、前回時刻を現在時刻で更新し、ステップＳ１７で算出した総滞留時間で前回総滞留時間を更新し、メッセージ件数を１増やす（ステップＳ２１）。ここでは、共通ステータステーブル９Ｃには、前回時刻として１２：５０が格納され、前回総滞留時間として３２０分が格納され、メッセージ件数として「７」が格納される。
【００３３】
そして、プロセス数調節処理部１０５Ｂは、Ｔ１≧ＴＨ１且つＴ２＜ＴＨ２であるか判断する（ステップＳ２３）。ＴＨ１及びＴＨ２は予め設定された閾値である。例えばＴＨ１にはある程度大きい値を設定しておき、Ｔ１≧ＴＨ１を満たす場合にはキュー７Ｂにメッセージが十分に滞留していると判断する。また、例えばＴＨ２にはある程度小さい値を設定しておき、Ｔ２＜ＴＨ２を満たす場合にはキュー７Ｃにはメッセージがほとんど滞留していないと判断する。
【００３４】
Ｔ１≧ＴＨ１且つＴ２＜ＴＨ２である場合（ステップＳ２３：Ｙｅｓルート）、プロセス数調節処理部１０５Ｂは、業務処理プロセス１１Ｂを新たに１つ起動する（ステップＳ２５）。図５を用いて説明したように、Ｔ１≧ＴＨ１且つＴ２＜ＴＨ２である場合には、キュー７Ｂにおける待ち時間が長くなっていると考えられるため、待ち時間を減らしシステムのスループットを向上させる。
【００３５】
一方、Ｔ１≧ＴＨ１且つＴ２＜ＴＨ２でない場合（ステップＳ２３：Ｎｏルート）、プロセス数調節処理部１０５Ｂは、Ｔ１＜ＴＨ３且つＴ２≧ＴＨ４であるか判断する（ステップＳ２７）。ＴＨ３及びＴＨ４は予め設定された閾値である。例えばＴＨ３にはある程度小さい値を設定しておき、Ｔ１＜ＴＨ３を満たす場合にはキュー７Ｂにはメッセージがほとんど滞留していないと判断する。また、例えばＴＨ４にはある程度大きい値を設定しておき、Ｔ２≧ＴＨ４を満たす場合にはキュー７Ｃにメッセージが十分に滞留していると判断する。
【００３６】
Ｔ１＜ＴＨ３且つＴ２≧ＴＨ４である場合（ステップＳ２７：Ｙｅｓルート）、プロセス数調節処理部１０５Ｂは、当該プロセス数調節処理部１０５Ｂを含む業務処理プロセス１１Ｂを停止する（ステップＳ２９）。すなわち、自らを停止する。図５を用いて説明したように、Ｔ１＜ＴＨ３且つＴ２≧ＴＨ４である場合には、業務処理プロセス１１Ａの資源を有効に活用できていないおそれがあるため、業務処理プロセス１１Ａに割り当てる資源を減らすものである。
【００３７】
一方、Ｔ１＜ＴＨ３且つＴ２≧ＴＨ４でない場合（ステップＳ２７：Ｎｏルート）、処理を終了する。業務処理プロセス１１Ｂの数は現状のままでも問題ないと考えられるからである。
【００３８】
以上のように、キューに格納されている全てのメッセージについての格納時刻を取得することなく総滞留時間を算出しているので、総滞留時間を算出するにあたって業務処理を停止する必要が無く、業務処理の効率が向上する。また、業務処理プロセスの数を自律的に調節できるようになるため、別途監視プロセス等を用意してキューの監視を行う必要がなくなる。別途監視プロセス等を設けた場合においては監視プロセス等と処理部との間にプロセス間通信が発生するため、即時にプロセス数の制御を行うことができないという問題があるが、本実施の形態に係る処理であればそのような問題は生じない。
【００３９】
次に、図１０を用いて、メッセージをキューに格納する処理を行わない業務処理プロセスの処理（プロセス数調節処理２）について説明する。ここでは、業務処理プロセス１１Ｃを例に説明する。なお、ステップＳ４１乃至Ｓ５１の処理の内容は、ステップＳ１乃至Ｓ１１と同様であるので、具体例を用いた説明は省略する。
【００４０】
まず、業務処理プロセス１１Ｃの業務処理部１０１Ｃは、ＦＩＦＯ方式に従いキュー７Ｃから１件のメッセージと当該メッセージの格納時刻とを抽出し、メインメモリ等の記憶装置に格納する（図１０：ステップＳ４１）。そして、総滞留時間算出部１０３Ｃは、現在時刻を取得し、メインメモリ等の記憶装置に格納する（ステップＳ４３）。現在時刻は、例えば業務システム１の図示しないシステム時計から取得する。また、総滞留時間算出部１０３Ｃは、共通ステータステーブル９Ｃから前回時刻、前回総滞留時間及びメッセージ数を読み出し、メインメモリ等の記憶装置に格納する（ステップＳ４５）。
【００４１】
そして、総滞留時間算出部１０３Ｃは、キュー７Ｃについての総滞留時間Ｔ３を、Ｔ３＝前回総滞留時間＋（現在時刻−前回時刻）×メッセージ数−（現在時刻−格納時刻）として算出し、メインメモリ等の記憶装置に格納する（ステップＳ４７）。また、総滞留時間算出部１０３Ｃは、共通ステータステーブル９Ｃにおいて、前回時刻を現在時刻で更新し、ステップＳ４７で算出した総滞留時間で前回総滞留時間を更新し、メッセージ件数を１減らす（ステップＳ４９）。
【００４２】
そして、業務処理部１０１Ｃは、ステップＳ４１において抽出されたメッセージに対して業務処理Ｃを実施する（ステップＳ５１）。また、プロセス数調節処理部１０５Ｃは、ＴＨ５≦Ｔ３であるか判断する（ステップＳ５３）。ＴＨ５は予め設定された閾値である。例えばＴＨ５にはある程度大きい値を設定しておき、ＴＨ５≦Ｔ３を満たす場合にはキュー７Ｃにメッセージが十分に滞留していると判断する。
【００４３】
ＴＨ５≦Ｔ３である場合（ステップＳ５３：Ｙｅｓルート）、プロセス数調節処理部１０５Ｃは、業務処理プロセス１１Ｃを新たに１つ起動する（ステップＳ５５）。キュー７Ｃにおける待ち時間が長くなっていると考えられるため、待ち時間を減らしシステムのスループットを向上させるためである。
【００４４】
一方、ＴＨ５≦Ｔ３でない場合（ステップＳ５３：Ｎｏルート）、プロセス数調節処理部１０５Ｃは、Ｔ３＜ＴＨ６であるか判断する（ステップＳ５７）。ＴＨ６は予め設定された閾値である。例えばＴＨ６にはある程小さい値を設定しておき、Ｔ３＜ＴＨ６を満たす場合にはキュー７Ｃにはメッセージがほとんど滞留していないと判断する。
【００４５】
Ｔ３＜ＴＨ６である場合（ステップＳ５７：Ｙｅｓルート）、プロセス数調節処理部１０５Ｃは、当該プロセス数調節処理部１０５Ｃを含む業務処理プロセス１１Ｃを停止する（ステップＳ５９）。すなわち、自らを停止する。業務処理プロセス１１Ｃの資源を有効に活用できていないと考えられるため、業務処理プロセス１１Ｃに割り当てる資源を減らすものである。
【００４６】
一方、Ｔ３＜ＴＨ６でない場合（ステップＳ５７：Ｎｏルート）、処理を終了する。業務処理プロセス１１Ｃの数は現状のままでも問題ないと考えられるからである。
【００４７】
以上のような処理を実施すれば、例えば業務処理プロセス１１Ｃのように、業務処理後のメッセージをキューに格納しない業務処理プロセスについても、プロセス数を適切に調節することができるようになる。なお、総滞留時間を算出するにあたって業務処理を停止する必要が無いという点、及び業務処理プロセスが自律的にプロセスの数を調節することができるという点はプロセス数調節処理１と同様である。
【００４８】
ここで、図１１乃至図１６に示した具体例を用いて、本実施の形態に係る総滞留時間の算出方法について説明する。図１１乃至図１６に示した例では、業務処理プロセスＡがメッセージに対して業務処理Ａを実行した後、キューに格納する。そして、業務処理プロセスＢがメッセージをキューから抽出し、業務処理Ｂを実行する。
【００４９】
まず、図１１の時点（現在時刻が９：００）において、業務処理プロセスＡがメッセージ１をキューに格納する。このとき、総滞留時間を、０分＋（９：００−８：５０）×０＝０分として算出する。そして、共通ステータステーブルにおいて、前回総滞留時間を「０分」で、前回時刻を「９：００」で、メッセージ数を「１」で更新する。
【００５０】
また、図１２の時点（現在時刻が９：１０）において、業務処理プロセスＡがメッセージ２をキューに格納する。このとき、総滞留時間を、０分＋（９：１０−９：００）×１＝１０分として算出する。そして、共通ステータステーブルにおいて、前回総滞留時間を「１０分」で、前回時刻を「９：１０」で、メッセージ数を「２」で更新する。
【００５１】
さらに、図１３の時点（現在時刻が９：３０）において、業務処理プロセスＡがメッセージ３をキューに格納する。このとき、総滞留時間を、１０分＋（９：３０−９：１０）×２＝５０分として算出する。そして、共通ステータステーブルにおいて、前回総滞留時間を「５０分」で、前回時刻を「９：３０」で、メッセージ数を「３」で更新する。
【００５２】
一方、図１４の時点（現在時刻が１０：００）において、業務処理プロセスＢがメッセージ１をキューから抽出する。なお、最も先に格納されたメッセージがメッセージ１であるため、メッセージ１が抽出されている。このとき、総滞留時間を、５０分＋（１０：００−９：３０）×３−（１０：００−９：００）＝８０分として算出する。そして、共通ステータステーブルにおいて、前回総滞留時間を「８０分」で、前回時刻を「１０：００」で、メッセージ数を「２」で更新する。
【００５３】
また、図１５の時点（現在時刻が１０：１０）において、業務処理プロセスＢがメッセージ２をキューから抽出する。なお、メッセージ２とメッセージ３とではメッセージ２の方が先に格納されているので、メッセージ２が抽出されている。このとき、総滞留時間を、８０分＋（１０：１０−１０：００）×２−（１０：１０−９：１０）＝４０分として算出する。そして、共通ステータステーブルにおいて、前回総滞留時間を「４０分」で、前回時刻を「１０：１０」で、メッセージ数を「１」で更新する。
【００５４】
そして、図１６の時点（現在時刻が１０：３０）において、業務処理プロセスＢがメッセージ３をキューから抽出する。このとき、総滞留時間を、４０分＋（１０：３０−１０：１０）×１−（１０：３０−９：３０）＝０分として算出する。そして、共通ステータステーブルにおいて、前回総滞留時間を「０分」で、前回時刻を「１０：３０」で、メッセージ数を「０」で更新する。
【００５５】
このようにメッセージの抽出及び格納時に共通ステータステーブルを更新し、キューについての総滞留時間を算出する。
【００５６】
次に、図１７及び図１８に示した具体例を用いて、本実施の形態に係るプロセス数調節処理によりキューの総滞留時間を適切な状態に調整する方法の一例を示す。なお、図１７及び図１８のシステムは、図２に示したシステムを簡略化して示したものである。
【００５７】
まず、図１７を用いて、キュー７Ａ、キュー７Ｂ及びキュー７Ｃの総滞留時間がいずれも長い状態にあるケースにおいて、全てのキューの総滞留時間を適切な状態に調節する方法の一例を示す。例えば、業務処理プロセス１１Ｃが、キュー７Ｃの総滞留時間が長い状態にあると判断し、業務処理プロセス１１Ｃを新たに起動してプロセス数を増やす（図１７の第１段階）。これにより、キュー７Ｃの総滞留時間は短くなる。すると、業務処理プロセス１１Ｂは、キュー７Ｂの総滞留時間が長く且つキュー７Ｃの総滞留時間が短い状態にあると判断し、業務処理プロセス１１Ｂを新たに起動してプロセス数を増やす（図１７の第２段階）。これにより、キュー７Ｃにメッセージが格納される頻度が高くなるのでキュー７Ｃの総滞留時間が少し長くなって適切な状態になり、一方でキュー７Ｂの総滞留時間は短くなる。すると、業務処理プロセス１１Ａは、キュー７Ａの総滞留時間が長く且つキュー７Ｂの総滞留時間が短い状態にあると判断し、業務処理プロセス１１Ａを新たに起動してプロセス数を増やす（図１７の第３段階）。これにより、キュー７Ｂにメッセージが格納される頻度が高くなるのでキュー７Ｂの総滞留時間は少し長くなって適切な状態になり、一方でキュー７Ａの総滞留時間も適切な状態に調整される（図１７の第４段階）。すなわち、全てのキューの総滞留時間が適切な状態に調整される。
【００５８】
逆に、図１８を用いて、キュー７Ａ、キュー７Ｂ及びキュー７Ｃの総滞留時間がいずれも短い状態にあるケースにおいて、全てのキューの総滞留時間を適切な状態に調整する方法の一例を示す。例えば、業務処理プロセス１１Ｃが、キュー７Ｃの総滞留時間が短い状態にあると判断するので、自らが停止し、プロセス数を減らす（図１８の第１段階）。これにより、キュー７Ｃの総滞留時間は長くなる。すると、業務処理プロセス１１Ｂは、キュー７Ｂの総滞留時間が短く且つキュー７Ｃの総滞留時間が長い状態にあると判断するので、自らが停止し、プロセス数を減らす（図１８の第２段階）。これにより、キュー７Ｃにメッセージが格納される頻度が低くなるのでキュー７Ｃの総滞留時間は少し短くなって適切な状態になり、一方でキュー７Ｂの総滞留時間は長くなる。すると、業務処理プロセス１１Ａは、キュー７Ａの総滞留時間が短く且つキュー７Ｂの総滞留時間が長い状態にあると判断するので、自らが停止し、プロセス数を減らす（図１８の第３段階）。これにより、キュー７Ｂにメッセージが格納される頻度が低くなるのでキュー７Ｂの総滞留時間は少し短くなって適切な状態になり、一方でキュー７Ａの総滞留時間も適切な状態に調整される（図１８の第４段階）。すなわち、全てのキューの総滞留時間が適切な状態に調節される。
【００５９】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明した業務システム１の機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
【００６０】
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００６１】
また、ステップＳ２５及びＳ５５においては、起動するプロセスは１つではなく、複数であってもよい。
【００６２】
また、ステップＳ２９及びＳ５９においては、プロセス数調節処理部が自らを含む業務処理プロセスを停止しているが、プロセス数調節処理部が他の業務処理プロセスの状態を確認し、停止可能な他の業務プロセスを停止するようにしてもよい。
【００６３】
なお、業務システム１は、図１９に示すように、メモリ２５０１（記憶部）とＣＰＵ２５０３（処理部）とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。ＯＳ及びＷｅｂブラウザを含むアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。このようなコンピュータは、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００６４】
以上述べた本技術の実施の形態をまとめると以下のようになる。
【００６５】
第１の態様に係るコンピュータ・システムは、メッセージと当該メッセージが格納された格納時刻とを対応付けて格納する第１のキューと、第１のキューに格納されているメッセージの件数である第１の件数と前回メッセージが抽出又は格納された時点におけるメッセージの滞留時間の合計である第１の総滞留時間と当該第１の総滞留時間が算出された時刻である第１の算出時刻とを格納する第１のステータステーブルと、第１のキューから特定の処理の対象となるメッセージが抽出された場合には、抽出されたメッセージについての格納時刻と、第１のステータステーブルに格納されている第１の件数、第１の総滞留時間及び第１の算出時刻とに基づき、第１のキューに格納されているメッセージの滞留時間の合計を算出し、第１のステータステーブルにおいて、第１の件数を１減少させ、第１のキューに格納されているメッセージの滞留時間の合計で第１の総滞留時間を更新し、第１の算出時刻を現在時刻で更新する算出手段とを有する。
【００６６】
このような構成であれば、滞留時間の合計を算出するにあたって、第１のキューを検索して全てのメッセージについての格納時刻を取得する処理は不要であり、特定の処理を一時的に停止する必要はないため、特定の処理の効率が向上する。また、メッセージの抽出時に総滞留時間の算出を行うため、総滞留時間を定期的に算出してキューを監視するような必要はなく、監視周期を定めるのが難しいシステム（例えば、受信するメッセージの数が時間帯により大きく変化するシステム等）にも有効である。
【００６７】
また、上で述べた算出手段が、第１のステータステーブルに格納されている第１の総滞留時間に、現在時刻と第１のステータステーブルに格納されている第１の算出時刻との差に第１のステータステーブルに格納されている第１の件数を乗じた値を加え、現在時刻と抽出されたメッセージについての格納時刻との差を差し引くことにより、第１のキューに格納されているメッセージの滞留時間の合計を算出するようにしてもよい。このようにすれば、第１のキューを検索して全てのメッセージについての格納時刻を取得する処理は不要になる。
【００６８】
また、特定の処理がなされた後のメッセージと当該メッセージが格納された格納時刻とを対応付けて格納する第２のキューと、第２のキューに格納されているメッセージの件数である第２の件数と前回メッセージが抽出又は格納された時点におけるメッセージの滞留時間の合計である第２の総滞留時間と当該第２の総滞留時間が算出された時刻である第２の算出時刻とを格納する第２のステータステーブルとをさらに有するようにしてもよい。そして、上で述べた算出手段が、抽出されたメッセージに対して特定の処理がなされた後に、第２のステータステーブルに格納されている第２の件数、第２の総滞留時間及び第２の算出時刻に基づき、第２のキューに格納されているメッセージの滞留時間の合計を算出し、第２のステータステーブルにおいて、第２の件数を１増加させ、第２のキューに格納されているメッセージの滞留時間の合計で第２の総滞留時間を更新し、第２の算出時刻を現在時刻で更新するようにしてもよい。これにより、特定の処理がなされた後のメッセージを格納する第２のキューについても、特定の処理を一時的に停止することなく、滞留時間の合計を算出することができるようになる。
【００６９】
また、上で述べた算出手段が、第２のステータステーブルに格納されている第２の総滞留時間に、現在時刻と第２のステータステーブルに格納されている第２の算出時刻との差に第２のステータステーブルに格納されている第２の件数を乗じた値を加えることにより、第２のキューに格納されているメッセージの滞留時間の合計を算出するようにしてもよい。このようにすれば、第２のキューを検索して全てのメッセージについての格納時刻を取得する処理は不要になる。
【００７０】
また、特定の処理を実施する１又は複数の処理部をさらに有するようにしてもよい。そして、各処理部が、算出手段と、第１のキューに格納されているメッセージの滞留時間の合計が第１の閾値以上であり且つ第２のキューに格納されているメッセージの滞留時間の合計が第２の閾値未満である場合には処理部を新たに起動し、第１のキューに格納されているメッセージの滞留時間の合計が第１の閾値未満であり且つ第２のキューに格納されているメッセージの滞留時間の合計が第２の閾値以上である場合には処理部の少なくとも１つを停止する調節手段を有するようにしてもよい。例えば、第１のキューについての総滞留時間が長い場合であっても、第２のキューについての総滞留時間が長ければ、処理部の数を増やすことは必ずしも適切ではない。上で述べたような構成であれば、第１のキューについての滞留時間の合計及び第２のキューについての滞留時間の合計を考慮した上で、適切に処理部の数を調節できるようになる。また、別途監視部等を用意してキューの監視を行う必要がなく、特定の処理を実施する処理部の数を当該処理部により自律的に調節することができる。なお、処理部とは、例えば、特定の処理を実施するために、コンピュータ・システムにおいて実行されているプログラム（すなわち、プロセス）である。上で述べた算出手段及び調節手段は、処理部の起動に伴って起動し、上で述べた機能を実現する。
【００７１】
第２の態様に係る情報処理方法は、メッセージと当該メッセージが格納された格納時刻とを対応付けて格納する第１のキューと、第１のキューに格納されているメッセージの件数である第１の件数と前回メッセージが抽出又は格納された時点におけるメッセージの滞留時間の合計である第１の総滞留時間と当該第１の総滞留時間が算出された時刻である第１の算出時刻とを格納する第１のステータステーブルとにアクセス可能なコンピュータにより実行される。そして、本情報処理方法は、第１のキューから特定の処理の対象となるメッセージが抽出された場合には、抽出されたメッセージについての格納時刻と、第１のステータステーブルに格納されている第１の件数、第１の総滞留時間及び第１の算出時刻とに基づき、第１のキューに格納されているメッセージの滞留時間の合計を算出し、第１のステータステーブルにおいて、第１の件数を１減少させ、第１のキューに格納されているメッセージの滞留時間の合計で第１の総滞留時間を更新し、第１の算出時刻を現在時刻で更新するステップを含む。
【００７２】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００７３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７４】
（付記１）
メッセージと当該メッセージが格納された格納時刻とを対応付けて格納する第１のキューと、
前記第１のキューに格納されているメッセージの件数である第１の件数と前回メッセージが抽出又は格納された時点におけるメッセージの滞留時間の合計である第１の総滞留時間と当該第１の総滞留時間が算出された時刻である第１の算出時刻とを格納する第１のステータステーブルと、
前記第１のキューから特定の処理の対象となるメッセージが抽出された場合には、抽出された前記メッセージについての格納時刻と、前記第１のステータステーブルに格納されている前記第１の件数、前記第１の総滞留時間及び前記第１の算出時刻とに基づき、前記第１のキューに格納されているメッセージの滞留時間の合計を算出し、前記第１のステータステーブルにおいて、前記第１の件数を１減少させ、前記第１のキューに格納されているメッセージの滞留時間の合計で前記第１の総滞留時間を更新し、前記第１の算出時刻を現在時刻で更新する算出手段と、
を有するコンピュータ・システム。
【００７５】
（付記２）
前記算出手段が、
前記第１のステータステーブルに格納されている前記第１の総滞留時間に、現在時刻と前記第１のステータステーブルに格納されている前記第１の算出時刻との差に前記第１のステータステーブルに格納されている前記第１の件数を乗じた値を加え、現在時刻と抽出された前記メッセージについての格納時刻との差を差し引くことにより、前記第１のキューに格納されているメッセージの滞留時間の合計を算出する
ことを特徴とする付記１記載のコンピュータ・システム。
【００７６】
（付記３）
前記特定の処理がなされた後のメッセージと当該メッセージが格納された格納時刻とを対応付けて格納する第２のキューと、
前記第２のキューに格納されているメッセージの件数である第２の件数と前回メッセージが抽出又は格納された時点におけるメッセージの滞留時間の合計である第２の総滞留時間と当該第２の総滞留時間が算出された時刻である第２の算出時刻とを格納する第２のステータステーブルと、
をさらに有し、
前記算出手段が、
抽出された前記メッセージに対して前記特定の処理がなされた後に、前記第２のステータステーブルに格納されている前記第２の件数、前記第２の総滞留時間及び前記第２の算出時刻に基づき、前記第２のキューに格納されているメッセージの滞留時間の合計を算出し、前記第２のステータステーブルにおいて、前記第２の件数を１増加させ、前記第２のキューに格納されているメッセージの滞留時間の合計で前記第２の総滞留時間を更新し、前記第２の算出時刻を現在時刻で更新する
ことを特徴とする付記１又は２記載のコンピュータ・システム。
【００７７】
（付記４）
前記算出手段が、
前記第２のステータステーブルに格納されている前記第２の総滞留時間に、現在時刻と前記第２のステータステーブルに格納されている前記第２の算出時刻との差に前記第２のステータステーブルに格納されている前記第２の件数を乗じた値を加えることにより、前記第２のキューに格納されているメッセージの滞留時間の合計を算出する
ことを特徴とする付記３記載のコンピュータ・システム。
【００７８】
（付記５）
前記特定の処理を実施する１又は複数の処理部
をさらに有し、
各前記処理部が、
前記算出手段と、
前記第１のキューに格納されているメッセージの滞留時間の合計が第１の閾値以上であり且つ前記第２のキューに格納されているメッセージの滞留時間の合計が第２の閾値未満である場合には前記処理部を新たに起動し、前記第１のキューに格納されているメッセージの滞留時間の合計が前記第１の閾値未満であり且つ前記第２のキューに格納されているメッセージの滞留時間の合計が前記第２の閾値以上である場合には前記処理部の少なくとも１つを停止する調節手段と、
を有する付記３又は４記載のコンピュータ・システム。
【００７９】
（付記６）
処理負荷を把握するためのプログラムであって、
メッセージと当該メッセージが格納された格納時刻とを対応付けて格納する第１のキューから特定の処理の対象となるメッセージが抽出された場合には、抽出された前記メッセージについての格納時刻と、前記第１のキューに格納されているメッセージの件数である第１の件数と前回メッセージが抽出又は格納された時点におけるメッセージの滞留時間の合計である第１の総滞留時間と当該第１の総滞留時間が算出された時刻である第１の算出時刻とを格納する第１のステータステーブルに格納されている前記第１の件数、前記第１の総滞留時間及び前記第１の算出時刻とに基づき、前記第１のキューに格納されているメッセージの滞留時間の合計を算出し、前記第１のステータステーブルにおいて、前記第１の件数を１減少させ、前記第１のキューに格納されているメッセージの滞留時間の合計で前記第１の総滞留時間を更新し、前記第１の算出時刻を現在時刻で更新するステップ
をコンピュータに実行させるためのプログラム。
【００８０】
（付記７）
メッセージと当該メッセージが格納された格納時刻とを対応付けて格納する第１のキューと、前記第１のキューに格納されているメッセージの件数である第１の件数と前回メッセージが抽出又は格納された時点におけるメッセージの滞留時間の合計である第１の総滞留時間と当該第１の総滞留時間が算出された時刻である第１の算出時刻とを格納する第１のステータステーブルとにアクセス可能なコンピュータにより実行される情報処理方法であって、
前記第１のキューから特定の処理の対象となるメッセージが抽出された場合には、抽出された前記メッセージについての格納時刻と、前記第１のステータステーブルに格納されている前記第１の件数、前記第１の総滞留時間及び前記第１の算出時刻とに基づき、前記第１のキューに格納されているメッセージの滞留時間の合計を算出し、前記第１のステータステーブルにおいて、前記第１の件数を１減少させ、前記第１のキューに格納されているメッセージの滞留時間の合計で前記第１の総滞留時間を更新し、前記第１の算出時刻を現在時刻で更新するステップ
を含む情報処理方法。
【符号の説明】
【００８１】
１  業務システム
３  受信部
５  送信部
７Ａ，７Ｂ，７Ｃ  キュー
９Ａ，９Ｂ，９Ｃ  共通ステータステーブル
１１Ａ，１１Ｂ，１１Ｃ  業務処理プロセス
１０１Ａ，１０１Ｂ，１０１Ｃ  業務処理部
１０３Ａ，１０３Ｂ，１０３Ｃ  総滞留時間算出部
１０５Ａ，１０５Ｂ，１０５Ｃ  プロセス数調節処理部
【図１】
0005482139.tif 000002
【図２】
0005482139.tif 000003
【図３】
0005482139.tif 000004
【図４】
0005482139.tif 000005
【図５】
0005482139.tif 000006
【図６】
0005482139.tif 000007
【図７】
0005482139.tif 000008
【図８】
0005482139.tif 000009
【図９】
0005482139.tif 000010
【図１０】
0005482139.tif 000011
【図１１】
0005482139.tif 000012
【図１２】
0005482139.tif 000013
【図１３】
0005482139.tif 000014
【図１４】
0005482139.tif 000015
【図１５】
0005482139.tif 000016
【図１６】
0005482139.tif 000017
【図１７】
0005482139.tif 000018
【図１８】
0005482139.tif 000019
【図１９】
0005482139.tif 000020