(57)【要約】【課題】  トランザクション要求を受け付けた後に自オンライントランザクションシステム内のトランザクション処理時間が掛かった場合、自オンライントランザクションシステム内のトランザクション要求が滞留し、自オンライントランザクションシステムの負荷が増加する。【解決手段】  トランザクション要求を種別毎にトランザクション格納部へ格納(キューイング)し、トランザクション要求種別毎に滞留状況を監視する。ある業務に対するトランザクション要求について、所定数以上の滞留が発生した場合には、待機状態の滞留解決専用トランザクション処理部を稼働状態にして、その滞留したトランザクション要求を他のトランザクション要求に比べ単位時間辺りの要求処理数を増やす。【選択図】  図２
2005309794.tif 000002
【特許請求の範囲】
【請求項１】
受信した処理要求を複数のプログラムに割り付け、該処理要求を実行する処理システムにおけるプログラム制御方法において、
該処理要求を記憶し、該処理要求に含まれる種別毎に要求数を計数し、
前記種別に対応する記憶した処理要求数が所定数以上の場合、所定数未満の処理種別よりも単位時間当たりの処理要求数を多く前記プログラムに割り付けることを特徴とするプログラム制御方法。
【請求項２】
前記複数のプログラムは、前記処理要求を処理する第１のプログラムと前記種別に対応する要求数が所定数以上の処理要求を処理する第２のプログラムであることを特徴とする請求項１記載のプログラム制御方法。
【請求項３】
前記処理要求を前記種別に対応して設けた複数のキューのうちの該処理要求に含まれる前記種別に対応するキューに記憶し、該複数のキューに記憶された前記種別毎の要求数を監視し、該キューに格納された要求が所定数以上の場合、当該キューに記憶された処理要求について、当該キュー以外のキューに記憶されている処理要求よりも単位時間当たりの処理数を多く前記プログラムに割り付けることを特徴とする請求項１記載のプログラム制御方法。
【請求項４】
前記処理要求を処理する第１のプログラムは、前記種別に対応する要求数が所定数未満になるまで当該種別に対応する処理要求を処理することを特徴とする請求項２記載のプログラム制御方法。
【請求項５】
前記処理要求を処理する第２のプログラムは、前記種別に対応する要求数が所定数未満になるまで当該種別に対応する処理要求を処理することを特徴とする請求項２記載のプログラム制御方法。
【請求項６】
前記種別に多重度が設定されている場合は、当該種別に対応する処理要求を多重度の数のプログラムにそれぞれ割り付けることを特徴とする請求項１記載のプログラム制御方法。
【請求項７】
前記種別に優先順位が設定されている場合は、該優先順位に従って前記記憶した処理要求を前記プログラムに割り付けることを特徴とする請求項１記載のプログラム制御方法。
【請求項８】
受信した処理要求を複数のプログラムに割り付け、該処理要求を実行する処理システムにおけるプログラム制御装置において、
該処理要求を記憶し、該処理要求に含まれる種別毎に要求数を計数する手段と、
前記種別に対応する記憶した処理要求数が所定数以上の場合、所定数未満の処理種別よりも単位時間当たりの処理要求数を多く前記プログラムに割り付ける手段とを備えたことを特徴とするプログラム制御装置。
【請求項９】
受信した処理要求を複数のプログラムに割り付け、該処理要求を実行する手段と、
該処理要求を記憶し、該処理要求に含まれる種別毎に要求数を計数する手段と、
前記種別に対応する記憶した処理要求数が所定数以上の場合、所定数未満の処理種別よりも単位時間当たりの処理要求数を多く前記プログラムに割り付ける手段と、
を備えたことを特徴とする処理システム。
【請求項１０】
受信した処理要求を複数のプログラムに割り付け、該処理要求を実行する処理システムにおけるプログラム制御装置として機能するプログラム制御プログラムにおいて、
該処理要求を記憶し、該処理要求に含まれる種別毎に要求数を計数するステップと、
前記種別に対応する記憶した処理要求数が所定数以上の場合、所定数未満の処理種別よりも単位時間当たりの処理要求数を多く前記プログラムに割り付けるステップとを有することを特徴とするプログラム制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムにおける複数のプログラムを実行する場合のプログラム制御技術に関する。
【背景技術】
【０００２】
従来の技術としては、特許文献１に開示されているような負荷分散方式がある。
【０００３】
負荷分散は、オンライントランザクションシステムの負荷状況を認識し、他オンライントランザクションシステムにトランザクション要求を分散する。他オンライントランザクションシステムが存在しない場合および他オンライントランザクションシステムが高負荷な場合には、自オンライントランザクションシステム内のトランザクション処理部を動的に生成して対応する。
【０００４】
【特許文献１】特開平７−３０２２４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記従来技術では、トランザクション要求を受け付けた後に自オンライントランザクションシステム内のトランザクション処理時間が掛かった場合、自オンライントランザクションシステム内のトランザクション要求が滞留し、自オンライントランザクションシステムの負荷が増加する。
【０００６】
また、自オンライントランザクションシステム内のトランザクション処理部を動的に生成する場合、生成時の処理時間が掛かる。さらに、生成時に稼働マシンのリソースが不足してトランザクション処理部の動的生成に失敗する可能性がある。
【０００７】
本発明の目的は、処理要求が特定の業務に滞留したことを検出し、要求の滞留を抑えることにある。
【０００８】
本発明の他の目的は、要求処理部を動的に稼働状態と待機状態を制御することにある。
【０００９】
本発明の他の目的は、処理要求が滞留した場合に、別の処理システムに滞留した処理要求を転送することで滞留を緩和させることにある。
【００１０】
本発明の他の目的は、処理要求が滞留した場合に、別オンライントランザクションシステムに非滞留トランザクション要求を転送することで非滞留トランザクション要求の滞留発生を防止させる方法を提供することにある。
【００１１】
本発明の他の目的は、トランザクション要求の滞留解決時期を予測計算により求め、滞留許容時間を超えた場合に滞留解決手段を実行させることにある。
【課題を解決するための手段】
【００１２】
上記課題を達成するために、トランザクション要求を種別毎にトランザクション格納部へ格納(キューイング)し、トランザクション要求種別毎に滞留状況を監視する。
【００１３】
滞留状況の監視は、滞留閾値を設定し、滞留閾値以上にトランザクション要求が未処理状態ならば滞留と判断する。
【００１４】
トランザクション要求の滞留が発生した場合には、待機状態の滞留解決専用トランザクション処理部を稼働状態にして滞留トランザクション要求を集中して処理する。または、滞留トランザクション要求または非滞留トランザクション要求を別オンライントランザクションシステムに転送する。
【発明の効果】
【００１５】
トランザクション要求の滞留が発生した場合に、滞留を改善することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を、図面を用いて説明する。
尚、ここでいう滞留とは、「受け付けたトランザクションが長時間処理されずに残っている状態」を示す。
【００１７】
図１は本実施例の基本構成を示す。本実施例は、オンライントランザクションシステムにおける具体例を用いて説明する。本発明はオンライントランザクションシステムに限定されるものではなく、予め定めた業務種別に対応する処理要求を記憶し、その記憶した処理要求を処理する複数の処理手段に割り付ける処理システムに利用できるものである。
【００１８】
オンライントランザクションシステムは、トランザクション要求元(クライアント)１０と、トランザクション処理システム(サーバ)１１で構成され、全ての構成要素はネットワークを経由して接続する。尚、ネットワークの種類は限定しない。
トランザクション処理システム(サーバ)１１は、メモリ１２と、ＣＰＵ１３，記憶装置１４を備える。メモリ１２は、トランザクション処理システム(サーバ)１１を実現するために、トランザクション要求受付部１１１と、トランザクション要求格納部１１２と、トランザクション要求処理部１１３と、滞留解決専用トランザクション要求処理部１１５を備える。
トランザクション要求受付部１１１は、要求格納処理１１６と、滞留監視処理１１４を備える。
トランザクション要求処理部１１３は、要求引出処理１１７と、要求処理１１８を備える。
滞留解決専用トランザクション要求処理部１１５は、滞留要求引出処理１１９と、要求処理１１８を備える。本実施形態では、これらの各処理部は、プログラム実現した一例を示しているが、オブジェクトやプロセス、スレッドで実現することも可能である。また、これらの機能をハードウェアで実現することも可能である。
【００１９】
図２は本実施例におけるトランザクション要求の流れを示す。
【００２０】
トランザクション要求元１０から送信されたトランザクション要求電文１０１を、トランザクション要求受付部１１１が受信する。
トランザクション要求電文１０１は、トランザクション種別１０１１と、トランザクション要求１１２２を備える。
【００２１】
トランザクション要求受付部１１１の要求格納処理１１６は、受信したトランザクション要求電文１０１のトランザクション要求１１２２をトランザクション要求格納部１１２に格納する。
トランザクション要求受付部１１１の滞留監視処理１１４では、トランザクション要求１１２２を格納した後、トランザクション要求１１２２の滞留状況を監視する。
【００２２】
トランザクション要求格納部１１２では、トランザクション種別毎に格納領域を分けている。トランザクション要求格納部１１２は格納するトランザクション要求１１２２を管理するために、トランザクション種別毎にトランザクション要求管理エリア１１２１を備える。
トランザクション要求管理エリア１１２１は、トランザクション種別１１２３と、要求格納数１１２４と、要求引出優先順位１１２５と、要求引出多重度１１２６と、要求引出数１１２７と、要求格納領域ポインタ１１２８と、エントリ番号１１２９を備える。
【００２３】
トランザクション格納部１１２に格納したトランザクション要求１１２２は、トランザクション要求電文１０１のトランザクション種別１０１１と一致するトランザクション種別１１２３を持つトランザクション要求管理エリア１１２１の要求格納領域ポインタ１１２８からチェーン付けされる。複数のトランザクション要求１１２２を格納した場合、各トランザクション要求１１２２がチェーン付けされる。
【００２４】
要求格納数１１２４は、当該トランザクション種別の格納済みトランザクション要求数がカウントされる。
要求引出優先順位１１２５は、当該トランザクション種別の引出優先順位が設定されている。
要求引出多重度１１２６は、当該トランザクション種別の引出多重度が設定されている。
要求引出数１１２７は、当該トランザクション種別で現在要求処理中のトランザクション要求数がカウントされる。
【００２５】
エントリ番号１１２９は、トランザクション要求格納部１１２における当該トランザクション要求管理エリア１１２１のエントリ番号が設定されている。
トランザクション格納部１１２に格納したトランザクション要求１１２２は、トランザクション要求処理部１１３の要求引出処理１１７が引き出してトランザクション要求処理１１８を実行する。トランザクション要求１１２２を引き出す方法には、「ラウンドロビン引き出し方法」または「優先順位引き出し方法」または「格納数順引き出し方法」がある。また、「ラウンドロビン引き出し方法」と「優先順位引き出し方法」における滞留解決専用トランザクション要求処理部１１５には、「集中引き出し方法」もある。また、トランザクション要求処理で処理するトランザクション種別のトランザクション処理要求については、滞留解決専用トランザクション要求処理部で処理しない方式や、逆に滞留トランザクション要求処理では処理するトランザクション種別のトランザクション処理要求については、トランザクション要求処理部では処理しない方式がある。
【００２６】
図３はトランザクション要求受付部１１１が備える、要求格納処理１１６の流れを示す。ステップ１１６１では、トランザクション要求電文１０１中のトランザクション種別１０１１を取得する。
ステップ１１６２では、トランザクション種別１０１１と一致するトランザクション種別１１２３を持つトランザクション要求管理エリア１１２１を、トランザクション要求格納部１１２中の全トランザクション要求管理エリア１１２１から検索する。
ステップ１１６３では、ステップ１１６２の検索結果を判定する。トランザクション種別１０１１と一致するトランザクション種別１１２３が存在した場合は、ステップ１１６４へ進む。存在しない場合はステップ１１６５へ進む。
【００２７】
ステップ１１６４では、トランザクション種別１１２３を持つトランザクション要求管理エリア１１２１の要求格納領域ポインタ１１２８が指す領域に、トランザクション要求電文１０１中のトランザクション要求１１２２を格納する。
ステップ１１６５では、トランザクション要求電文１０１に対するエラー処理を実施する。エラー処理の内容は限定しない。
ステップ１１６６では、トランザクション要求処理部１１３へ、要求格納を連絡する。その際、トランザクション要求処理部１１３の状態を、「待機」から「稼働」に変更する。
【００２８】
図４は本実施例におけるトランザクション滞留監視を示す。トランザクション要求格納部１１２に格納されているトランザクション要求１１２２は、トランザクション要求処理部１１３が引き出してトランザクション要求処理を実行する。引き出したトランザクション要求１１２２は、トランザクション要求処理が完了した時点でトランザクション要求格納部１１２から消去する。トランザクション要求格納部１１２は、トランザクション種別毎のトランザクション要求管理エリア１１２１が備えるトランザクション要求格納数１１２４とトランザクション要求引出数１１２７を管理する。滞留監視処理１１４は、トランザクション要求管理エリア１１２１のトランザクション要求格納数１１２４とトランザクション要求引出数１１２７を元に、各トランザクション種別が管理するトランザクション要求１１２２の滞留状況を監視する。
【００２９】
トランザクション滞留監視１１４がトランザクション要求１１２２の滞留を認識した場合、トランザクション滞留監視１１４は、オンライントランザクションシステム起動時に生成されて待機状態となっている滞留解決専用トランザクション要求処理部１１５に対して滞留解決指示を連絡する。滞留解決指示の連絡を受けた滞留解決専用トランザクション要求処理部１１５の滞留要求引出処理１１９は、滞留しているトランザクション種別のトランザクション要求１１２２を引き出してトランザクション要求処理１１８を実行する。引き出したトランザクション要求１１２２は、トランザクション要求処理１１８が完了した時点でトランザクション要求格納部１１２から消去する。
ステップ１１４１では、直前の要求格納処理１１６でトランザクション要求１１２２を格納したトランザクション要求管理エリア１１２１の、要求格納数１１２４から要求引出数１１２７を減算した値（未引出数）を取得する。
【００３０】
ステップ１１４２では、ステップ１１４１で取得した未引出数を判定する。未引出数が滞留閾値以上の場合は滞留していると判断して、ステップ１１４３へ進む。未引出数が滞留閾値未満の場合は、滞留監視処理を終了する。
ステップ１１４３では、滞留解決専用トランザクション要求処理部１１５へ、滞留解決指示を連絡する。その際、滞留解決専用トランザクション要求処理部１１５の状態を、「待機」から「稼働」に変更する。
【００３１】
図５は本実施例におけるトランザクション要求の「ラウンドロビン引き出し方法」を示す。「ラウンドロビン引き出し方法」では、トランザクション要求管理エリア１１２１に要求引出優先順位１１２５を設定しない。全トランザクション種別が同じ優先順位で扱われる。
トランザクション要求格納部１１２に格納されたトランザクション要求１１２２を、トランザクション要求管理エリア１１２１の並び順に従って引き出す。トランザクション要求１１２２を引き出してトランザクション処理完了した際、トランザクション要求管理エリア１１２１の並び順で次に位置するトランザクション要求管理エリア１１２１のトランザクション要求１１２２を引き出し対象とする。
【００３２】
トランザクション要求処理部１１３は、全てのトランザクション種別を引き出し対象とする。トランザクション要求処理部１１３だけが稼働していると仮定して、新たなトランザクション要求１１２２を格納しないと仮定した場合、トランザクション要求格納部１１２からのトランザクション要求引き出し順序は、トランザクション要求１１２２の「１−１」、「２−１」、「３−１」、「６−１」、「１−２」と続く。
【００３３】
滞留解決専用トランザクション要求処理部１１５は、滞留状態である全てのトランザクション種別を引き出し対象とする。滞留解決専用トランザクション要求処理部１１５だけが稼働していると仮定して、新たなトランザクション要求１１２２を格納しないと仮定した場合、トランザクション要求格納部１１２からのトランザクション要求引き出し順序は、トランザクション要求１１２２の「３−１」、「６−１」、「３−２」と続く。
【００３４】
「ラウンドロビン引き出し方法」をオンライントランザクションシステムに適用した場合、全てのトランザクション種別に対して平等にトランザクション処理を実行できる。滞留しているトランザクション種別に対して、平等に滞留解決を実行できる。
【００３５】
図６は図５の「ラウンドロビン引き出し方法」における、トランザクション要求処理部１１３が備える、要求引出処理１１７の流れを示す。
ステップ１１７１では、「カレントエントリ」が初期値かを判定する。「カレントエントリ」は現在処理処理対象のトランザクション要求管理エリア１１２１を示し、同トランザクション要求管理エリア１１２１中のエントリ番号１１２９を格納する。「カレントエントリ」が初期値の場合は、トランザクション要求処理部１１３が初めてトランザクション要求１１２２を引き出すことを意味する。「カレントエントリ」が初期値の場合、ステップ１１７２へ進む。「カレントエントリ」が初期値以外の場合、ステップ１１７３へ進む。
【００３６】
ステップ１１７２では、トランザクション要求格納部１１２中の全トランザクション要求管理エリア１１２１の先頭に位置するトランザクション要求管理エリア１１２１中のエントリ番号１１２９を「カレントエントリ」に設定する。
ステップ１１７３では、「カレントエントリ」の次エントリに位置するトランザクション要求管理エリア１１２１が存在するか判定する。次エントリが存在する場合、ステップ１１７４へ進む。次エントリが存在しない場合、ステップ１１７２へ進む。
ステップ１１７４では、「カレントエントリ」の次エントリに位置するトランザクション要求管理エリア１１２１中のエントリ番号１１２９を「カレントエントリ」に設定する。
ステップ１１７５では、「カレントエントリ」の要求格納数１１２４の値が要求引出数１１２７より大きいか判定する。要求引出数１１２７より大きい場合はトランザクション要求１１２２が格納されていると判断して、ステップ１１７６へ進む。要求引出数１１２７以下の場合はトランザクション要求１１２２が格納されていない又は、格納されているトランザクション要求１１２２が全て引き出されていると判断して、ステップ１１７１１へ進む。
【００３７】
ステップ１１７６では、「カレントエントリ」の要求引出多重度１１２６の値が要求引出数１１２７より大きいか判定する。要求引出数１１２７より大きい場合は現在引き出し中のトランザクション要求１１２２と並行して要求処理して良いと判断し、ステップ１１７７へ進む。要求引出数１１２７以下の場合は現在引き出し中のトランザクション要求１１２２と現在以上に並行して要求処理をしては行けないと判断し、ステップ１１７１１へ進む。
ステップ１１７７では、「空エントリ」に初期値を設定する。「空エントリ」は、トランザクション要求１１２２を引き出せなかったトランザクション要求管理エリア１１２１のエントリ番号１１２９を示す。
ステップ１１７８では、「カレントエントリ」のトランザクション要求管理エリア１１２１からトランザクション要求１１２２を引き出す。
ステップ１１７９では、「カレントエントリ」の要求引出数１１２７に１を加算する。この後、ステップ１１７８で引き出したトランザクション要求１１２２を用いて、トランザクション要求処理部１１３が備える要求処理１１８を実行する。
ステップ１１７１０では、「カレントエントリ」の要求格納数１１２４から１を減算する。その後、ステップ１１７１へ戻る。
【００３８】
ステップ１１７１１では、「空エントリ」が初期値か判定する。「空エントリ」が初期値の場合はトランザクション要求１１２２が引き出せなかったトランザクション要求管理エリア１１２１を初めて発見したと判断して、ステップ１１７１２へ進む。「空エントリ」が初期値でない場合はトランザクション要求１１２２が引き出せなかったトランザクション要求管理エリア１１２１を既に発見していると判断して、ステップ１１７１３へ進む。
【００３９】
ステップ１１７１２では、「カレントエントリ」を「空エントリ」に設定する。その後、ステップ１１７１へ戻る。
ステップ１１７１３では、「空エントリ」と「カレントエントリ」が同一か判定する。「空エントリ」と「カレントエントリ」が同一の場合は当該トランザクション要求処理部１１３が引き出せるトランザクション要求１１２２が存在しないと判断し、ステップ１１７１４へ進む。「空エントリ」と「カレントエントリ」が同一でない場合は他のトランザクション種別に引き出せるトランザクション要求１１２２が存在する可能性があると判断し、ステップ１１７１へ戻る。
【００４０】
ステップ１１７１４では、当該トランザクション要求処理部１１３の状態を、現在の「稼働」から「待機」へ変更する。「待機」状態となったトランザクション要求処理部１１３は、トランザクション要求受付部１１１の要求格納処理１１６から要求格納連絡を受けるまで処理を停止する。要求格納連絡を受けたときに、ステップ１１７１へ戻る。
【００４１】
図７は図５の「ラウンドロビン引き出し方法」における、滞留解決専用トランザクション要求処理部１１５が備える、滞留要求引出処理１１９の流れを示す。尚、滞留要求引出処理１１９の流れは要求引出処理１１７の流れに近いので、異なる箇所のみ示す。
ステップ１１７５では、「カレントエントリ」の要求格納数１１２４の値が要求引出数１１２７より大きいか判定する。要求引出数１１２７より大きい場合はトランザクション要求１１２２が格納されていると判断して、ステップ１１９１へ進む。要求引出数１１２７以下の場合はトランザクション要求１１２２が格納されていない又は、格納されているトランザクション要求１１２２が全て引き出されていると判断して、ステップ１１７１１へ進む。
ステップ１１９１では、「カレントエントリ」の要求格納数１１２４から要求引出数１１２７を減算して、「未引出数」を取得する。
ステップ１１９２では、ステップ１１９１で取得した「未引出数」を判定する。「未引出数」が滞留閾値以上の場合は滞留していると判断して、ステップ１１７６へ進む。「未引出数」が滞留閾値未満の場合は、滞留していないと判断して、ステップ１１７１１へ進む。
【００４２】
ステップ１１７１３では、「空エントリ」と「カレントエントリ」が同一か判定する。「空エントリ」と「カレントエントリ」が同一の場合は当該滞留解決専用トランザクション要求処理部１１５が引き出せるトランザクション要求１１２２が存在しないと判断し、ステップ１１９３へ進む。「空エントリ」と「カレントエントリ」が同一でない場合は他のトランザクション種別に引き出せるトランザクション要求１１２２が存在する可能性があると判断し、ステップ１１７１へ戻る。
【００４３】
ステップ１１９３では、当該滞留解決専用トランザクション要求処理部１１５の状態を、現在の「稼働」から「待機」へ変更する。「待機」状態となった滞留解決専用トランザクション要求処理部１１５は、トランザクション要求受付部１１１の滞留監視処理１１４から滞留解決指示を受けるまで処理を停止する。滞留解決指示を受けたときに、ステップ１１７１へ戻る。
【００４４】
図８は本実施例におけるトランザクション要求の「優先順位引き出し方法」を示す。
「優先順位引き出し方法」では、トランザクション要求管理エリア１１２１に要求引出優先順位１１２５を設定する。各トランザクション要求管理エリア１１２１は要求引出優先順位１１２５の昇順に並ぶ。尚、要求引出優先順位１１２５は、全トランザクション要求管理エリア１１２１でユニーク（同じ値無し）になる。
【００４５】
トランザクション要求格納部１１２に格納されたトランザクション要求１１２２を、トランザクション要求管理エリア１１２１の並び順（要求引出優先順位１１２５の高い順）に従って、引き出す。トランザクション要求１１２２を引き出してトランザクション処理完了した際、トランザクション要求管理エリア１１２１の並び順で先頭に位置するトランザクション要求管理エリア１１２１のトランザクション要求１１２２を引き出し対象とする。
【００４６】
トランザクション要求処理部１１３は、全てのトランザクション種別を引き出し対象とする。トランザクション要求処理部１１３だけが稼働していると仮定して、新たなトランザクション要求１１２２を格納しないと仮定した場合、トランザクション要求格納部１１２からのトランザクション要求引き出し順序は、トランザクション要求１１２２の「１−１」、「１−２」、「２−１」、「３−１」、・・・・と続く。
【００４７】
滞留解決専用トランザクション要求処理部１１５は、滞留状態であるトランザクション種別を引き出し対象とする。滞留解決専用トランザクション要求処理部１１５だけが稼働していると仮定して、新たなトランザクション要求１１２２を格納しないと仮定した場合、トランザクション要求格納部１１２からのトランザクション要求引き出し順序は、トランザクション要求１１２２の「３−１」、「３−２」、「６−１」、・・・・と続く。ここでは、種別３と６が所定個数以上の要求が記憶されているため滞留していることを前提としている。
【００４８】
「優先順位引き出し方法」をオンライントランザクションシステムに適用した場合、優先順位の高いトランザクション種別から順にトランザクション処理を実行できる。滞留しているトランザクション種別に対して、優先順位の高いトランザクション種別から順に滞留解決を実行できる。
【００４９】
トランザクション要求処理部１１３と滞留解決専用トランザクション要求処理部１１５の役割分担は、所定数以上の処理要求を記憶しているキューに記憶されているキューの処理は滞留解決専用トランザクション要求処理部１１５で処理し、所定数未満の処理要求を記憶しているキューの処理はトランザクション要求処理部１１３とすることも可能である。
【００５０】
図９は図８の「優先順位引き出し方法」における、トランザクション要求処理部１１３が備える、要求引出処理１１７の流れを示す。
ステップ１１７２では、トランザクション要求格納部１１２中の全トランザクション要求管理エリア１１２１の先頭に位置するトランザクション要求管理エリア１１２１中のエントリ番号１１２９を「カレントエントリ」に設定する。
ステップ１１７５では、「カレントエントリ」の要求格納数１１２４の値が要求引出数１１２７より大きいか判定する。要求引出数１１２７より大きい場合はトランザクション要求１１２２が格納されていると判断して、ステップ１１７６へ進む。要求引出数１１２７以下の場合はトランザクション要求１１２２が格納されていない又は、格納されているトランザクション要求１１２２が全て引き出されていると判断して、ステップ１１７３へ進む。
【００５１】
ステップ１１７６では、「カレントエントリ」の要求引出多重度１１２６の値が要求引出数１１２７より大きいか判定する。要求引出数１１２７より大きい場合は現在引き出し中のトランザクション要求１１２２と並行して要求処理して良いと判断し、ステップ１１７８へ進む。要求引出数１１２７以下の場合は現在引き出し中のトランザクション要求１１２２と現在以上に並行して要求処理をしては行けないと判断し、ステップ１１７３へ進む。
【００５２】
ステップ１１７８では、「カレントエントリ」のトランザクション要求管理エリア１１２１からトランザクション要求１１２２を引き出す。
ステップ１１７９では、「カレントエントリ」の要求引出数１１２７に１を加算する。この後、ステップ１１７８で引き出したトランザクション要求１１２２を用いて、トランザクション要求処理部１１３が備える要求処理１１８を実行する。
ステップ１１７１０では、「カレントエントリ」の要求格納数１１２４から１を減算する。その後、ステップ１１７２へ戻る。
【００５３】
ステップ１１７３では、「カレントエントリ」の次エントリに位置するトランザクション要求管理エリア１１２１が存在するか判定する。次エントリが存在する場合は他のトランザクション種別に引き出せるトランザクション要求１１２２が存在する可能性があると判断し、ステップ１１７４へ進む。次エントリが存在しない場合は当該トランザクション要求処理部１１３が引き出せるトランザクション要求１１２２が存在しないと判断し、ステップ１１７１４へ進む。
【００５４】
ステップ１１７４では、「カレントエントリ」の次エントリに位置するトランザクション要求管理エリア１１２１中のエントリ番号１１２９を「カレントエントリ」に設定する。その後、ステップ１１７５へ戻る。
ステップ１１７１４では、当該トランザクション要求処理部１１３の状態を、現在の「稼働」から「待機」へ変更する。「待機」状態となったトランザクション要求処理部１１３は、トランザクション要求受付部１１１の要求格納処理１１６から要求格納連絡を受けるまで処理を停止する。要求格納連絡を受けたときに、ステップ１１７２へ戻る。
【００５５】
図１０は図８の「優先順位引き出し方法」における、滞留解決専用トランザクション要求処理部１１５が備える、滞留要求引出処理１１９の流れを示す。尚、滞留要求引出処理１１９の流れは要求引出処理１１７の流れに近いので、異なる箇所のみ示す。
ステップ１１７５では、「カレントエントリ」の要求格納数１１２４の値が要求引出数１１２７より大きいか判定する。要求引出数１１２７より大きい場合はトランザクション要求１１２２が格納されていると判断して、ステップ１１９１へ進む。要求引出数１１２７以下の場合はトランザクション要求１１２２が格納されていない又は、格納されているトランザクション要求１１２２が全て引き出されていると判断して、ステップ１１７３へ進む。
【００５６】
ステップ１１９１では、「カレントエントリ」の要求格納数１１２４から要求引出数１１２７を減算して、「未引出数」を取得する。
ステップ１１９２では、ステップ１１９１で取得した「未引出数」を判定する。「未引出数」が滞留閾値以上の場合は滞留していると判断して、ステップ１１７６へ進む。「未引出数」が滞留閾値未満の場合は、滞留していないと判断して、ステップ１１７３へ進む。
【００５７】
ステップ１１７３では、「カレントエントリ」の次エントリに位置するトランザクション要求管理エリア１１２１が存在するか判定する。次エントリが存在する場合は他のトランザクション種別に引き出せるトランザクション要求１１２２が存在する可能性があると判断し、ステップ１１７４へ進む。次エントリが存在しない場合は当該滞留解決専用トランザクション要求処理部１１５が引き出せるトランザクション要求１１２２が存在しないと判断し、ステップ１１９３へ進む。
ステップ１１９３では、当該滞留解決専用トランザクション要求処理部１１５の状態を、現在の「稼働」から「待機」へ変更する。「待機」状態となった滞留解決専用トランザクション要求処理部１１５は、トランザクション要求受付部１１１の滞留監視処理１１４から滞留解決指示を受けるまで処理を停止する。滞留解決指示を受けたときに、ステップ１１７２へ戻る。
【００５８】
図１１は、本実施例におけるトランザクション要求の「格納数順引き出し方法」を示す。
「格納数順引き出し方法」では、トランザクション要求管理エリア１１２１に要求引出優先順位１１２５を設定する。各トランザクション要求管理エリア１１２１は要求引出優先順位１１２５の昇順に並ぶ。尚、要求引出優先順位１１２５は、全トランザクション要求管理エリア１１２１でユニーク（同じ値無し）とする。例えば、トランザクション種別に要求引出優先順位を処理に時間の掛かる順に付けることにより、
トランザクション要求格納部１１２に格納されたトランザクション要求１１２２を、トランザクション種別毎のトランザクション要求格納数１１２４の多い順に従って引き出す。トランザクション要求格納数１１２４が同数のトランザクション種別が複数ある場合、トランザクション要求管理エリア１１２１の要求引出優先順位１１２５の高い順にトランザクション要求１１２２を引き出す。
【００５９】
トランザクション要求処理部１１３は、全てのトランザクション種別を引き出し対象とする。トランザクション要求処理部１１３だけが稼働していると仮定して、新たなトランザクション要求１１２２を格納しないと仮定した場合、トランザクション要求格納部１１２からのトランザクション要求引き出し順序は、トランザクション要求１１２２の「２−１」、「２−２」、「３−１」、「１−１」と続く。このように、トランザクション要求格納部１１２に格納されたあるトランザクション種別のトランザクション要求数が所定数以上の場合、そのトランザクション種別に対応するトランザクション要求について、そのトランザクション種別以外のトランザクション種別に対応するトランザクション要求よりも単位時間当たりの処理数を多くトランザクション要求処理部に割り付ける。このようにすることにより、他よりも多くトランザクション要求を記憶しているトランザクション種別における滞留を削減できる。
【００６０】
滞留解決専用トランザクション要求処理部１１５は、滞留状態である全てのトランザクション種別を引き出し対象とする。滞留解決専用トランザクション要求処理部１１５だけが稼働していると仮定して、新たなトランザクション要求１１２２を格納しないと仮定した場合、トランザクション要求格納部１１２からのトランザクション要求引き出し順序は、トランザクション要求１１２２の「３−１」、「３−２」、「６−１」と続く。
【００６１】
以上の「格納数順引き出し方法」をオンライントランザクションシステムに適用した場合、要求発生の多いまたは処理に時間の掛かるトランザクション種別から順にトランザクション処理を実行できる。滞留しているトランザクション種別に対して、要求発生の多いまたは処理に時間の掛かるトランザクション種別から順に滞留解決を実行できる。
【００６２】
図１２は、図１１の「格納数順引き出し方法」における、トランザクション要求処理部１１３が備える、要求引出処理１１７の流れを示す。
ステップ１１７２では、トランザクション要求格納部１１２中の全トランザクション要求管理エリア１１２１の先頭に位置するトランザクション要求管理エリア１１２１中のエントリ番号１１２９を「カレントエントリ」に設定する。
【００６３】
ステップ１１７１５では、「格納数一位エントリ」に初期値を設定する。「格納数一位エントリ」は、全トランザクション要求管理エリア１１２１で一番要求格納数１１２４の値が大きいトランザクション要求管理エリア１１２１のエントリ番号１１２９を示す。
ステップ１１７５では、「カレントエントリ」の要求格納数１１２４の値が要求引出数１１２７より大きいか判定する。要求引出数１１２７より大きい場合はトランザクション要求１１２２が格納されていると判断して、ステップ１１７６へ進む。要求引出数１１２７以下の場合はトランザクション要求１１２２が格納されていない又は、格納されているトランザクション要求１１２２が全て引き出されていると判断して、ステップ１１７３へ進む。
【００６４】
ステップ１１７６では、「カレントエントリ」の要求引出多重度１１２６の値が要求引出数１１２７より大きいか判定する。要求引出数１１２７より大きい場合は現在引き出し中のトランザクション要求１１２２と並行して要求処理して良いと判断し、ステップ１１７１６へ進む。要求引出数１１２７以下の場合は現在引き出し中のトランザクション要求１１２２と現在以上に並行して要求処理をしては行けないと判断し、ステップ１１７３へ進む。
【００６５】
ステップ１１７１６では、「格納数一位エントリ」が初期値か判定する。「格納数一位エントリ」が初期値の場合は、トランザクション要求処理部１１３が初めてトランザクション要求１１２２を引き出すことができるトランザクション要求管理エリア１１２１を発見したと判断して、ステップ１１７１８へ進む。「格納数一位エントリ」が初期値でない場合はトランザクション要求１１２２を引き出すことができるトランザクション要求管理エリア１１２１を既に発見していると判断して、ステップ１１７１７へ進む。
ステップ１１７１７では、「カレントエントリ」の要求格納数１１２４が「格納数一位エントリ」の要求格納数１１２４より大きいか判定する。「格納数一位エントリ」より大きい場合は、ステップ１１７１８へ進む。「格納数一位エントリ」以下の場合は、ステップ１１７３へ進む。
【００６６】
ステップ１１７１８では、「カレントエントリ」を「格納数一位エントリ」に設定する。
ステップ１１７３では、「カレントエントリ」の次エントリに位置するトランザクション要求管理エリア１１２１が存在するか判定する。次エントリが存在する場合は全トランザクション種別の要求格納数１１２４の確認が完了していないと判断し、ステップ１１７４へ進む。次エントリが存在しない場合は全トランザクション種別の要求格納数１１２４の確認が完了したと判断し、ステップ１１７１９へ進む。
ステップ１１７４では、「カレントエントリ」の次エントリに位置するトランザクション要求管理エリア１１２１中のエントリ番号１１２９を「カレントエントリ」に設定する。その後、ステップ１１７５へ戻る。
【００６７】
ステップ１１７１９では、「格納数一位エントリ」が初期値か判定する。「格納数一位エントリ」が初期値の場合は当該トランザクション要求処理部１１３が引き出せるトランザクション要求１１２２が存在しないと判断して、ステップ１１７１４へ進む。「格納数一位エントリ」が初期値でない場合は当該トランザクション要求処理部１１３が引き出せるトランザクション要求１１２２を最も多く格納しているトランザクション種別を発見していると判断し、ステップ１１７２０へ進む。
【００６８】
ステップ１１７１４では、当該トランザクション要求処理部１１３の状態を、現在の「稼働」から「待機」へ変更する。「待機」状態となったトランザクション要求処理部１１３は、トランザクション要求受付部１１１の要求格納処理１１６から要求格納連絡を受けるまで処理を停止する。要求格納連絡を受けたときに、ステップ１１７２へ戻る。
ステップ１１７２０では、「格納数一位エントリ」のトランザクション要求管理エリア１１２１からトランザクション要求１１２２を引き出す。
ステップ１１７２１では、「格納数一位エントリ」の要求引出数１１２７に１を加算する。この後、ステップ１１７２０で引き出したトランザクション要求１１２２を用いて、トランザクション要求処理部１１３が備える要求処理１１８を実行する。
ステップ１１７２２では、「格納数一位エントリ」の要求格納数１１２４から１を減算する。その後、ステップ１１７２へ戻る。
【００６９】
図１３は図８の「格納数順引き出し方法」における、滞留解決専用トランザクション要求処理部１１５が備える、滞留要求引出処理１１９の流れを示す。尚、滞留要求引出処理１１９の流れは要求引出処理１１７の流れに近いので、異なる箇所のみ示す。
ステップ１１７５では、「カレントエントリ」の要求格納数１１２４の値が要求引出数１１２７より大きいか判定する。要求引出数１１２７より大きい場合はトランザクション要求１１２２が格納されていると判断して、ステップ１１９１へ進む。要求引出数１１２７以下の場合はトランザクション要求１１２２が格納されていない又は、格納されているトランザクション要求１１２２が全て引き出されていると判断して、ステップ１１７３へ進む。
【００７０】
ステップ１１９１では、「カレントエントリ」の要求格納数１１２４から要求引出数１１２７を減算して、「未引出数」を取得する。
ステップ１１９２では、ステップ１１９１で取得した「未引出数」を判定する。「未引出数」が滞留閾値以上の場合は滞留していると判断して、ステップ１１７６へ進む。「未引出数」が滞留閾値未満の場合は、滞留していないと判断して、ステップ１１７３へ進む。
ステップ１１７１９では、「格納数一位エントリ」が初期値か判定する。「格納数一位エントリ」が初期値の場合は当該滞留解決専用トランザクション要求処理部１１５が引き出せるトランザクション要求１１２２が存在しないと判断して、ステップ１１９３へ進む。「格納数一位エントリ」が初期値でない場合は当該滞留解決専用トランザクション要求処理部１１５が引き出せるトランザクション要求１１２２を最も多く格納しているトランザクション種別を発見していると判断し、ステップ１１７２０へ進む。
ステップ１１９３では、当該滞留解決専用トランザクション要求処理部１１５の状態を、現在の「稼働」から「待機」へ変更する。「待機」状態となった滞留解決専用トランザクション要求処理部１１５は、トランザクション要求受付部１１１の滞留監視処理１１４から滞留解決指示を受けるまで処理を停止する。滞留解決指示を受けたときに、ステップ１１７２へ戻る。
【００７１】
図１４は図５に示す「ラウンドロビン引き出し方法」と、図８に示す「優先順位引き出し方法」における、滞留解決専用トランザクション要求処理部１１５の「集中引き出し方法」を示す。
「集中引き出し方式」では、トランザクション種別の滞留状態が解消されるまで、同じトランザクション種別のトランザクション要求１１２２をトランザクション処理する。滞留状態解消後に次の引き出し対象を決定する方法は、「ラウンドロビン引き出し方法」または「優先順位引き出し方法」に従う。ここでいう滞留解消とは、あるトランザクション種別に対応するトランザクション要求の蓄積（または格納もしくは記憶）数が、所定数未満になることを言う。
【００７２】
滞留解決専用トランザクション要求処理部１１５は、滞留状態である全てのトランザクション種別を引き出し対象とする。滞留解決専用トランザクション要求処理部１１５だけが稼働していると仮定して、新たなトランザクション要求１１２２を格納しないと仮定した場合、トランザクション要求格納部１１２からのトランザクション要求引き出し順序は、トランザクション要求１１２２の「３−１」、「３−２」と続く。
「集中引き出し方法」をオンライントランザクションシステムに適用した場合、特定の滞留しているトランザクション種別に対して、早期に滞留状態を解決できる。
【００７３】
図１５は図１４の「集中引き出し方法」における、「ラウンドロビン引き出し方法」の滞留解決専用トランザクション要求処理部１１５が備える、滞留要求引出処理１１９の流れを示す。尚、図１５で示す滞留要求引出処理１１９の流れは、図７で示す「ラウンドロビン引き出し方法」の滞留要求引出処理１１９の流れに近いので、異なる箇所のみ示す。
ステップ１１７１０では、「カレントエントリ」の要求格納数１１２４から１を減算する。その後、ステップ１１７５へ戻る。
【００７４】
図１６は図１４の「集中引き出し方法」における、「優先順位引き出し方法」の滞留解決専用トランザクション要求処理部１１５が備える、滞留要求引出処理１１９の流れを示す。尚、図１６で示す滞留要求引出処理１１９の流れは、図１０で示す「優先順位引き出し方法」の滞留要求引出処理１１９の流れに近いので、異なる箇所のみ示す。
ステップ１１７１０では、「カレントエントリ」の要求格納数１１２４から１を減算する。その後、ステップ１１７５へ戻る。
【００７５】
図１７は本実施例におけるトランザクション要求の引き出し多重度を示す。
トランザクション要求格納部１１２のトランザクション要求管理エリア１１２１毎に要求引出多重度１１２６を設定する。要求引出多重度１１２６を「１」と設定したトランザクション要求管理エリア１１２１では、一つのトランザクション要求１１２２が引き出されてトランザクション処理されている間、他のトランザクション要求１１２２は引き出されない。要求引出多重度１１２６を「２」以上に設定したトランザクション要求管理エリア１１２１では、一つのトランザクション要求１１２２が引き出されてトランザクション処理されている間、他のトランザクション要求１１２２も要求引出多重度１１２６に達するまで引き出してトランザクション処理を並行実行することが可能になる。要求引出多重度１１２６は、トランザクション処理の並行実行可否を決める。
【００７６】
トランザクション要求処理部（１）１１３１、トランザクション要求処理部（２）１１３２、トランザクション要求処理部（３）１１３３、滞留解決専用トランザクション要求処理部（１）１１５１、滞留解決専用トランザクション要求処理部（２）１１５２、トランザクション要求処理部（４）１１３４が順番にトランザクション要求１１２２を一つだけ引き出したと仮定して、他のトランザクション要求処理部は稼働していないと仮定して、新たなトランザクション要求１１２２を格納しないと仮定した場合、トランザクション要求処理部（１）１１３１は「１−１」、トランザクション要求処理部（２）１１３２は「２−１」、トランザクション要求処理部（３）１１３３は「２−２」、滞留解決専用トランザクション要求処理部（１）１１５１は「５−１」、滞留解決専用トランザクション要求処理部（２）１１５２は「６−１」、トランザクション要求処理部（４）１１３４は「６−２」のトランザクション要求１１２２をそれぞれ引き出す。多重度として１が設定されると、滞留したと判断されると、当該要求の処理は滞留解決専用トランザクション要求処理部で行うことになる。多重度に１が設定されると順序性を補償するため、指定された種別に対する並行処理もしくは並列処理を行わない。
【００７７】
図１８は本実施例におけるトランザクション滞留監視と滞留解決専用トランザクション要求処理部１１５の稼働状態遷移を示す。
トランザクション要求格納部１１２のトランザクション要求管理エリア１１２１で、トランザクション要求１１２２の滞留閾値を「６」と仮定した場合、トランザクション要求格納数１１２４が「５」の状態では滞留解決専用トランザクション要求処理部１１５の状態は「待機」となる。トランザクション要求格納数１１２４が「６」に変化した際、滞留解決専用トランザクション要求処理部１１５の状態は「稼働」に変化し、トランザクション要求管理エリア１１２１の滞留解決を実行する。トランザクション要求格納数１１２４が「５」に変化した際、滞留解決専用トランザクション要求処理部１１５の状態は「待機」に変化する。
【００７８】
図１９は本実施例におけるトランザクション滞留時のトランザクション要求転送を示す。
トランザクション要求格納部１１２に格納されているトランザクション要求１１２２は、トランザクション要求処理部１１３が引き出してトランザクション処理を実行する。引き出したトランザクション要求１１２２は、トランザクション要求処理が完了した時点でトランザクション要求格納部１１２から消去する。トランザクション要求格納部１１２は、トランザクション要求種別毎のトランザクション要求管理エリア１１２１が備えるトランザクション要求格納数１１２４とトランザクション要求引出数１１２７を管理する。
【００７９】
滞留監視処理１１４は、トランザクション要求管理エリア１１２１のトランザクション要求格納数１１２４とトランザクション要求引出数１１２７を元に、各トランザクション種別が管理するトランザクション要求１１２２またはトランザクション要求格納部１１２全体の滞留状況を監視する。各トランザクション種別の滞留を監視する場合は、滞留閾値は各トランザクション要求管理エリア１１２１のトランザクション要求格納数１１２４を指す。トランザクション要求格納部１１２全体の滞留を監視する場合は、滞留閾値は全トランザクション要求管理エリア１１２１のトランザクション要求格納数１１２４合計を指す。
【００８０】
トランザクション滞留監視１１４がトランザクション要求１１２２の滞留を認識した場合、トランザクション滞留監視１１４は、トランザクション転送処理部１１１０に対してトランザクション要求一括転送指示を連絡する。トランザクション要求一括転送指示の連絡を受けたトランザクション転送処理部１１１０の要求引出処理１１１１は、トランザクション要求格納部１１２の特定トランザクション要求管理エリア１１２１の全トランザクション要求１１２２を引き出して、転送処理１１１２が別トランザクション処理システム１５へ転送する。
【００８１】
転送対象とするトランザクション要求管理エリア１１２１は、二種類の判断方法で決定する。「自トランザクション処理システムの滞留解決判断方法」の場合、自トランザクション処理システム内で滞留しているトランザクション種別を転送の対象とする。滞留しているトランザクション種別を転送することで、自トランザクション処理システム内のトランザクション滞留を解決する。「非滞留トランザクション要求の滞留防止判断方法」の場合、自トランザクションシステム内でトランザクション要求格納数１１２４が一番少ないトランザクション種別を転送の対象とする。トランザクション要求格納数１１２４が少ないトランザクション要求管理エリア１１２１を転送することで、当該トランザクション種別のトランザクション要求１１２２のトランザクション滞留発生またはトランザクション処理遅延発生を防止する。
【００８２】
ステップ１１４１では、直前の要求格納処理１１６でトランザクション要求１１２２を格納したトランザクション要求管理エリア１１２１の、要求格納数１１２４から要求引出数１１２７を減算した値（未引出数）を取得する。
ステップ１１４２では、ステップ１１４１で取得した未引出数を判定する。未引出数が滞留閾値以上の場合は滞留していると判断して、ステップ１１４４へ進む。未引出数が滞留閾値未満の場合は、滞留監視処理を終了する。
ステップ１１４４では、トランザクション転送処理部１１１０へ、要求一括転送指示を連絡する。その後、トランザクション転送処理部１１１０の状態を、「待機」から「稼働」に変更する。
【００８３】
図２０は本実施例における滞留解決時期予測計算を示す。
滞留監視処理１１４で、トランザクション要求１１２２の滞留を認識して滞留解決手段１１４５（ステップ１１４３またはステップ１１４４）を実行した場合、滞留解決手段１１４５の処理負荷を自トランザクション処理システムに掛けることになる。
トランザクション滞留解決時期判断１１４６（ステップ１１４７〜ステップ１１４８）では、ステップ１１４７が予測算出した滞留解決時期が滞留許容範囲内かをステップ１１４８で判断して、滞留許容範囲内ならば滞留解決手段１１４５を実行させない。滞留許容範囲外ならば、滞留解決手段１１４５を実行する。尚、滞留許容範囲はトランザクション処理システムに設定する。
【００８４】
ステップ１１４７の滞留解決時期算出は、まず、滞留状態のトランザクション要求管理エリア１１２１のトランザクション要求滞留数（未引出数から滞留閾値を全算した値が正の整数ならば滞留状態）を求める。次に、トランザクション要求処理部１１３または滞留解決専用トランザクション要求処理部１１５が自トランザクション要求管理エリア１１２１のトランザクション要求１１２２を引き出すまでの平均間隔を求める。トランザクション要求１１２２を引き出すまでの平均間隔は、トランザクション処理システム内で記録しておく。次に、自トランザクション要求管理エリア１１２１のトランザクション処理の平均処理時間を求める。トランザクション要求処理の平均処理時間は、トランザクション処理システム内で記録しておく。次に、トランザクション要求１１２２を引き出すまでの平均間隔とトランザクション処理の平均処理時間の加算を行い、トランザクション要求１１２２の引き出しから処理完了までの時間を求める。求めた時間は、「トランザクション要求処理完了間隔時間」となる。次に、「トランザクション要求処理完了間隔時間」とトランザクション要求滞留数の乗算を行い、滞留解決時期が求まる。
【００８５】
本実施例は、複数のＣＰＵを備えるオンライントランザクションシステムで、複数のトランザクション要求処理部１１３および複数の滞留解決専用トランザクション要求処理部１１５にＣＰＵパワーを割り当てられる環境で最良の効果を発揮する。
しかし、少ないＣＰＵパワーで稼働するオンライントランザクションシステムで滞留が発生した時に、滞留しているトランザクション要求により多くのＣＰＵパワーを割り当てることで滞留を解決することができる。
【００８６】
特にトランザクション種別中のトランザクション要求で処理順序を保証する必要がある場合、トランザクション種別の要求引出多重度を上げて滞留を解決することができないため、他のトランザクション種別よりもトランザクション要求を引き出す機会を増やすことで滞留を解決することになる。
例えば、銀行業務などのオンライントランザクションシステムでは、トランザクション種別の要求引出多重度を「２」以上に設定してトランザクション処理の並行実行が許される場合がある。この場合は、要求引出多重度を上げることで、トランザクション要求を同時に引き出すトランザクション要求処理部数が上がるとともに、滞留時にはトランザクション要求を引き出す機会も増える。
例えば、證券業務などのオンライントランザクションシステムでは、同じトランザクション種別のトランザクション処理で並行実行が許されない場合がある。前トランザクション処理結果で株価が変化して後のトランザクション処理に影響を与える場合である。この場合は、要求引出多重度を「１」に設定して同じトランザクション種別のトランザクション処理が並行実行できないようになる。トランザクション要求を同時に引き出すトランザクション要求処理部数が「１」固定になるため、滞留時にはトランザクション要求を引き出す機会を増やすことで滞留を解決することが最良となる。
【００８７】
以上により、トランザクション処理部を動的生成しないことで、動的生成と比べて生成時の処理時間分システム稼働中のオーバヘッドを削減できる。
トランザクション要求が滞留した場合に、別オンライントランザクションシステムにトランザクション要求を転送することで滞留を解決させることができる。
トランザクション要求の滞留解決時期を予測計算により求め、滞留許容時間内ならば滞留解決手段を実行させないことができる。
【図面の簡単な説明】
【００８８】
【図１】基本構成
【図２】トランザクション要求の流れ
【図３】要求格納処理の流れ
【図４】トランザクション滞留監視
【図５】トランザクション要求の「ラウンドロビン引き出し方法」
【図６】「ラウンドロビン引き出し方法」の要求引出処理の流れ
【図７】「ラウンドロビン引き出し方法」の滞留要求引出処理の流れ
【図８】トランザクション要求の「優先順位引き出し方法」
【図９】「優先順位引き出し方法」の要求引出処理の流れ
【図１０】「優先順位引き出し方法」の滞留要求引出処理の流れ
【図１１】トランザクション要求の「格納数順引き出し方法」
【図１２】「格納数順引き出し方法」の要求引出処理の流れ
【図１３】「格納数順引き出し方法」の滞留要求引出処理の流れ
【図１４】「ラウンドロビン引き出し方法」と「優先順位引き出し方法」の「集中引き出し方法」
【図１５】「ラウンドロビン引き出し方法」の「集中引き出し方法」の滞留要求引出処理の流れ
【図１６】「優先順位引き出し方法」の「集中引き出し方法」の滞留要求引出処理の流れ
【図１７】トランザクション要求の引き出し多重度
【図１８】滞留監視と滞留解決専用トランザクション要求処理部の稼働状態遷移
【図１９】トランザクション要求転送
【図２０】滞留解決時期予測計算処理の流れ
【符号の説明】
【００８９】
１０…トランザクション要求元（クライアント）
１０１…トランザクション要求電文
１０１１…トランザクション種別
１１…トランザクション処理システム（サーバ）
１１１…トランザクション要求受付部
１１２…トランザクション要求格納部
１１２１…トランザクション要求管理エリア
１１２２…トランザクション要求
１１２３…トランザクション種別
１１２４…要求格納数
１１２５…要求引出優先順位
１１２６…要求引出多重度
１１２７…要求引出数
１１２８…要求格納領域ポインタ
１１２９…エントリ番号
１１３…トランザクション要求処理部
１１３１〜１１３４…トランザクション要求処理部１１３を同一図面上で区別する符号
１１４…滞留監視処理
１１４１〜１１４４…滞留監視処理１１４の処理ステップ
１１４５…滞留監視処理１１４の処理ステップ中の滞留解決手段
１１４６…滞留監視処理１１４の処理ステップ中のトランザクション滞留解決時期判断
１１４７〜１１４８…トランザクション滞留解決時期判断１１４６の処理ステップ
１１５…滞留解決専用トランザクション要求処理部
１１５１〜１１５２…滞留解決専用トランザクション要求処理部１１５を同一図面上で区別する符号
１１６…要求格納処理
１１６１〜１１６６…要求格納処理１１６の処理ステップ
１１７…要求引出処理
１１７１〜１１７２２…要求引出処理１１７の処理ステップ
１１８…要求処理
１１９…滞留要求引出処理
１１９１〜１１９３…滞留要求引出処理１１９の処理ステップ
１１１０…トランザクション転送処理部
１２…メモリ
１３…ＣＰＵ
１４…記憶装置
１５…別トランザクション処理システム
【図１】
2005309794.tif 000003
【図２】
2005309794.tif 000004
【図３】
2005309794.tif 000005
【図４】
2005309794.tif 000006
【図５】
2005309794.tif 000007
【図６】
2005309794.tif 000008
【図７】
2005309794.tif 000009
【図８】
2005309794.tif 000010
【図９】
2005309794.tif 000011
【図１０】
2005309794.tif 000012
【図１１】
2005309794.tif 000013
【図１２】
2005309794.tif 000014
【図１３】
2005309794.tif 000015
【図１４】
2005309794.tif 000016
【図１５】
2005309794.tif 000017
【図１６】
2005309794.tif 000018
【図１７】
2005309794.tif 000019
【図１８】
2005309794.tif 000020
【図１９】
2005309794.tif 000021
【図２０】
2005309794.tif 000022