(57)【特許請求の範囲】
【請求項１】
複数のサーバアプリケーションプログラムに共通なトランザクション用受信キュー、
前記複数のサーバアプリケーションプログラムに共通なトランザクション用送信キュー、
前記複数のサーバアプリケーションプログラムに１対１に対応する複数の設定変更用受信キュー、
前記複数のサーバアプリケーションプログラムに共通な設定変更用送信キュー、及び、
複数種別のシステム設定情報を格納するシステム設定情報テーブルを、
ホストコンピュータに読み取り可能な記録媒体に保持し、
端末装置から、通信回線を介して、トランザクション要求を受信し、当該トランザクション要求を、前記トランザクション用受信キューにキューイングし、前記トランザクション用送信キューにキューイングされたトランザクション処理結果を前記端末装置に送信する、端末送受信部を備えた、
前記ホストコンピュータ、
を備えたトランザクション処理システムにおけるシステム設定方法であって、
前記ホストコンピュータは、
前記複数のサーバアプリケーションプログラムの各々に基づいて、前記システム設定情報テーブルに格納された前記システム設定情報を参照し、当該サーバアプリケーションプログラムに対しシステム設定を行う、第１の処理と、
前記複数のサーバアプリケーションプログラムの各々及び当該サーバアプリケーションプログラムに対して行われた前記システム設定の内容に基づいて、前記トランザクション用受信キューを定期的に監視し、前記トランザクション用受信キューにキューイングされた前記トランザクション要求を取り出し、当該トランザクション要求に基づいてトランザクションを実行し、その結果を含むトランザクション処理結果を前記トランザクション用送信キューにキューイングする、第２の処理と、
マネージャプログラムに基づいて、オペレータから、特定の種別のシステム設定情報を含むシステム設定変更要求、及び、前記第１の処理の、当該システム設定情報にかかる部分を、前記サーバアプリケーションプログラムを再起動せずに実行する必要があるか否かを指定する指定情報を受け付け、当該システム設定情報を、前記システム設定情報テーブルに格納し、前記指定情報により再起動せずに実行する必要があることが指定された場合に、前記システム設定変更要求を、前記設定変更用受信キューにキューイングする、第３の処理と、
前記複数のサーバアプリケーションプログラムの各々に基づいて、前記設定変更用受信キューを定期的に監視し、前記設定変更用受信キューにキューイングされた前記システム設定変更要求を取り出し、前記第１の処理の、当該システム設定変更要求に含まれる前記システム設定情報にかかる部分を実行し、その結果を含むシステム設定変更結果を前記設定変更用送信キューにキューイングする、第４の処理と、
前記マネージャプログラムに基づいて、前記設定変更用送信キューにキューイングされた前記システム設定変更結果を取り出し、前記オペレータに通知する、第５の処理と、
を実行することを特徴とする、トランザクション処理システムにおけるシステム設定方法。
【請求項２】
複数のサーバアプリケーションプログラムに共通なトランザクション用受信キュー、
前記複数のサーバアプリケーションプログラムに共通なトランザクション用送信キュー、
前記複数のサーバアプリケーションプログラムに１対１に対応する複数の設定変更用受信キュー、
前記複数のサーバアプリケーションプログラムに共通な設定変更用送信キュー、
複数種別のシステム設定情報を格納するシステム設定情報テーブル、及び、
前記システム設定情報の種別を、前記サーバアプリケーションプログラムを再起動する必要のあるタイプと、必要のないタイプとに分類して各々一覧したタイプ別一覧情報を、
ホストコンピュータに読み取り可能な記録媒体に保持し、
端末装置から、通信回線を介して、トランザクション要求を受信し、当該トランザクション要求を、前記トランザクション用受信キューにキューイングし、前記トランザクション用送信キューにキューイングされたトランザクション処理結果を前記端末装置に送信する、端末送受信部を備えた、
前記ホストコンピュータ、
を備えたトランザクション処理システムにおけるシステム設定方法であって、
前記ホストコンピュータは、
前記複数のサーバアプリケーションプログラムの各々に基づいて、前記システム設定情報テーブルに格納された前記システム設定情報を参照し、当該サーバアプリケーションプログラムに対しシステム設定を行う、第１の処理と、
前記複数のサーバアプリケーションプログラムの各々及び当該サーバアプリケーションプログラムに対して行われた前記システム設定の内容に基づいて、前記トランザクション用受信キューを定期的に監視し、前記トランザクション用受信キューにキューイングされた前記トランザクション要求を取り出し、当該トランザクション要求に基づいてトランザクションを実行し、その結果を含むトランザクション処理結果を前記トランザクション用送信キューにキューイングする、第２の処理と、
マネージャプログラムに基づいて、オペレータから、特定の種別のシステム設定情報を含むシステム設定変更要求を受け付け、当該システム設定情報を、前記システム設定情報テーブルに格納し、前記タイプ別一覧情報を参照し、前記特定の種別が、前記サーバアプリケーションプログラムを再起動する必要のないタイプに分類されている場合に、前記第１の処理の、当該システム設定情報にかかる部分を、前記サーバアプリケーションプログラムを再起動せずに実行する必要があると判断し、前記システム設定変更要求を、前記設定変更用受信キューにキューイングする、第３の処理と、
前記複数のサーバアプリケーションプログラムの各々に基づいて、前記設定変更用受信キューを定期的に監視し、前記設定変更用受信キューにキューイングされた前記システム設定変更要求を取り出し、前記第１の処理の、当該システム設定変更要求に含まれる前記システム設定情報にかかる部分を実行し、その結果を含むシステム設定変更結果を前記設定変更用送信キューにキューイングする、第４の処理と、
前記マネージャプログラムに基づいて、前記設定変更用送信キューにキューイングされた前記システム設定変更結果を取り出し、前記オペレータに通知する、第５の処理と、
を実行することを特徴とする、トランザクション処理システムにおけるシステム設定方法。
【請求項３】
前記システム設定変更要求に、さらに前記複数のサーバアプリケーションプログラムの全てを対象とするか、特定の前記サーバアプリケーションプログラムを対象とするかを指定する情報を含み、
前記指定する情報によって、前記複数のサーバアプリケーションプログラムの全てを対象とすることが指定された場合には、前記システム設定変更要求を前記設定変更用受信キューの全てにキューイングし、
前記指定する情報によって、特定の前記サーバアプリケーションプログラムを対象とすることが指定された場合には、前記システム設定変更要求を前記特定のサーバアプリケーションプログラムに対応する前記設定変更用受信キューにキューイングすることを特徴とする、請求項１または２記載のトランザクション処理システムにおけるシステム設定方法。
【請求項４】
前記ホストコンピュータは、前記サーバアプリケーションプログラムの各々に基づいて、当該サーバアプリケーションプログラムの起動時に、前記システム設定情報テーブルを参照して当該サーバアプリケーションプログラムに対するシステム設定を行うことを特徴とする、請求項１、２または３記載のトランザクション処理システムにおけるシステム設定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はトランザクション処理システムにおけるシステム設定方法に関する。
【０００２】
【従来の技術】
トランザクション処理は、いわゆるオンラインリアルタイム処理であり、与えられた情報を即時に処理し、その結果を必要な場所で受け取ることを可能にするコンピュータシステムである。処理を要求する側をクライアント、要求された処理を実行して結果を返す側をサーバと呼び、一般に端末装置側にクライアントアプリケーション（クライアントアプリケーションプログラムの略）が設けられ、端末装置と通信回線を介して接続されたホストコンピュータ側にサーバアプリケーション（サーバアプリケーションプログラムの略）が設けられる。
【０００３】
クライアントアプリケーションからサーバアプリケーションへは、一つの論理的な処理要求単位であるトランザクションが送信される。サーバアプリケーションは、予め設定されたシステム設定情報に従ってトランザクションを処理し、その結果をクライアントアプリケーションに返す。ここで、システム設定情報としては、環境変数、トランザクションのタイムアウト時間など各種の情報がある。また、一般に即時性を確保するため、サーバアプリケーションは複数設けられ、複数のトランザクションが同時並行的に処理される。トランザクションを個々のサーバアプリケーションに分配する方式には、全てのサーバアプリケーションに共通なキュー（待ち行列）に到着トランザクションを一旦格納し、任意のサーバアプリケーションがそのキューからトランザクションを引き出す方式と、前記キューを各サーバアプリケーション毎に設け、到着トランザクションをどのキューに格納するかで当該トランザクションを実行するサーバアプリケーションが決定される方式とがある。しかし、後者の方式は、トランザクションを到着順に処理する制御が難しいことや、複数のサーバアプリケーションの負荷を分散する制御が難しいことなどの問題があり、通常は前者の方式が良く用いられる。
【０００４】
図１０に、この種のトランザクション処理システムの従来構成を示す。同図に示すように、従来のトランザクション処理システムは、トランザクション要求を行うクライアントアプリケーション１と、クライアントアプリケーション１からのトランザクション要求を受け付ける端末送受信部２と、トランザクション処理システム全体を管理し、オペレータからのシステム設定変更などを受け付けるマネージャ３ａと、システム設定情報を格納するシステム設定情報テーブル９と、クライアントアプリケーション１からのトランザクション要求をキューイングする受信キュー５と、キューイングされたトランザクション要求を実行する複数のサーバアプリケーション４ａと、トランザクション実行結果をキューイングする送信キュー７とから構成されている。
【０００５】
このような構成を有する従来のトランザクション処理システムは次のように動作する。
【０００６】
システム設定情報テーブル９には事前に必要なシステム設定情報が格納されている。システム起動時、各サーバアプリケーション４ａは、その初期化処理の一環として、システム設定情報テーブル９を参照し、オペレーティングシステムが提供するＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）等を使ってシステム設定を行い、システム設定情報テーブル９に設定されたシステム設定を自アプリケーションに反映する。そして、受信キュー５にトランザクション要求が存在するか否かを監視し、存在した場合にはトランザクション要求を引き取って実行し、その処理結果を送信キュー７へ格納して、再び受信キュー５にトランザクション要求が存在するか否かを監視する処理に戻るといったループ処理を実行する。
【０００７】
他方、端末送受信部２は、クライアントアプリケーション１からトランザクション要求があると、それを受信キュー５に格納する。また、送信キュー７にトランザクション処理結果が格納されると、それを引き取ってクライアントアプリケーション１に返却する処理を行う。
【０００８】
マネージャ３ａは、システム運用中にオペレータからシステム設定情報の変更要求を受けると、システム設定情報テーブル９を更新する。この更新内容はサーバアプリケーション４ａのシステム設定には即反映されず、サーバアプリケーション４ａの次回の再起動時に反映されることになる。
【０００９】
別の従来例として、各サーバアプリケーション４ａは、個々のトランザクションを実行する直前にシステム設定情報テーブル９を参照し、変更されたシステム設定情報を自身のシステム設定に反映させるものも考えられている。
【００１０】
他方、本発明に関連する従来文献としては、特開２０００−２５０７６７号公報（以下、文献１）、特開平１１−２５９３４６号公報（以下、文献２）、特開平８−１３７６９７号公報（以下、文献３）がある。文献１および文献２は、クライアントからのトランザクションをキューを介してサーバに受け渡す点で本発明と類似するが、システム設定情報の動的な変更に関しては記載されていない。文献３は、システム設定の変更をシステム運用中に行う点で本発明と類似するが、自律分散型システムを対象としており、オペレータから与えられるシステム設定変更情報をシステム運用中に反映するものではない。
【００１１】
【発明が解決しようとする課題】
上述したように従来のトランザクション処理システムでは、各サーバアプリケーション４ａは、システム設定情報テーブル９に従ったシステム設定処理を自プログラムの起動時のみに実施している。このため、オペレータがシステム運用中にシステム設定情報テーブル９の内容を変更しても、各サーバアプリケーション４ａのシステム設定をリアルタイムに変更できない課題があった。
【００１２】
また、各サーバアプリケーション４ａが個々のトランザクションを実行する直前にシステム設定情報テーブル９を参照してシステム設定の変更を行う構成によれば、システム運用中におけるシステム設定変更は可能になるが、トランザクション実行直前にシステム設定情報テーブル９を参照してシステム設定をやり直す処理が必ず走行するため、トランザクションのレスポンス時間が極端に長くなる課題があった。
【００１３】
そこで本発明の目的は、トランザクションのレスポンス時間をむやみに増大させることなく、オペレータから要求のあったシステム設定変更を起動中のサーバアプリケーションにリアルタイムに反映し得るようにすることにある。
【００１４】
【課題を解決するための手段】
本発明の第１のトランザクション処理システムにおけるシステム設定方法は、
複数のサーバアプリケーションプログラムに共通なトランザクション用受信キュー、
前記複数のサーバアプリケーションプログラムに共通なトランザクション用送信キュー、
前記複数のサーバアプリケーションプログラムに１対１に対応する複数の設定変更用受信キュー、
前記複数のサーバアプリケーションプログラムに共通な設定変更用送信キュー、及び、
複数種別のシステム設定情報を格納するシステム設定情報テーブルを、
ホストコンピュータに読み取り可能な記録媒体に保持し、
端末装置から、通信回線を介して、トランザクション要求を受信し、当該トランザクション要求を、前記トランザクション用受信キューにキューイングし、前記トランザクション用送信キューにキューイングされたトランザクション処理結果を前記端末装置に送信する、端末送受信部を備えた、
前記ホストコンピュータ、
を備えたトランザクション処理システムにおけるシステム設定方法であって、
前記ホストコンピュータは、
前記複数のサーバアプリケーションプログラムの各々に基づいて、前記システム設定情報テーブルに格納された前記システム設定情報を参照し、当該サーバアプリケーションプログラムに対しシステム設定を行う、第１の処理と、
前記複数のサーバアプリケーションプログラムの各々及び当該サーバアプリケーションプログラムに対して行われた前記システム設定の内容に基づいて、前記トランザクション用受信キューを定期的に監視し、前記トランザクション用受信キューにキューイングされた前記トランザクション要求を取り出し、当該トランザクション要求に基づいてトランザクションを実行し、その結果を含むトランザクション処理結果を前記トランザクション用送信キューにキューイングする、第２の処理と、
マネージャプログラムに基づいて、オペレータから、特定の種別のシステム設定情報を含むシステム設定変更要求、及び、前記第１の処理の、当該システム設定情報にかかる部分を、前記サーバアプリケーションプログラムを再起動せずに実行する必要があるか否かを指定する指定情報を受け付け、当該システム設定情報を、前記システム設定情報テーブルに格納し、前記指定情報により再起動せずに実行する必要があることが指定された場合に、前記システム設定変更要求を、前記設定変更用受信キューにキューイングする、第３の処理と、
前記複数のサーバアプリケーションプログラムの各々に基づいて、前記設定変更用受信キューを定期的に監視し、前記設定変更用受信キューにキューイングされた前記システム設定変更要求を取り出し、前記第１の処理の、当該システム設定変更要求に含まれる前記システム設定情報にかかる部分を実行し、その結果を含むシステム設定変更結果を前記設定変更用送信キューにキューイングする、第４の処理と、
前記マネージャプログラムに基づいて、前記設定変更用送信キューにキューイングされた前記システム設定変更結果を取り出し、前記オペレータに通知する、第５の処理と、
を実行することを特徴とする。
また、本発明の第２のトランザクション処理システムにおけるシステム設定方法は、
複数のサーバアプリケーションプログラムに共通なトランザクション用受信キュー、
前記複数のサーバアプリケーションプログラムに共通なトランザクション用送信キュー、
前記複数のサーバアプリケーションプログラムに１対１に対応する複数の設定変更用受信キュー、
前記複数のサーバアプリケーションプログラムに共通な設定変更用送信キュー、
複数種別のシステム設定情報を格納するシステム設定情報テーブル、及び、
前記システム設定情報の種別を、前記サーバアプリケーションプログラムを再起動する必要のあるタイプと、必要のないタイプとに分類して各々一覧したタイプ別一覧情報を、
ホストコンピュータに読み取り可能な記録媒体に保持し、
端末装置から、通信回線を介して、トランザクション要求を受信し、当該トランザクション要求を、前記トランザクション用受信キューにキューイングし、前記トランザクション用送信キューにキューイングされたトランザクション処理結果を前記端末装置に送信する、端末送受信部を備えた、
前記ホストコンピュータ、
を備えたトランザクション処理システムにおけるシステム設定方法であって、
前記ホストコンピュータは、
前記複数のサーバアプリケーションプログラムの各々に基づいて、前記システム設定情報テーブルに格納された前記システム設定情報を参照し、当該サーバアプリケーションプログラムに対しシステム設定を行う、第１の処理と、
前記複数のサーバアプリケーションプログラムの各々及び当該サーバアプリケーションプログラムに対して行われた前記システム設定の内容に基づいて、前記トランザクション用受信キューを定期的に監視し、前記トランザクション用受信キューにキューイングされた前記トランザクション要求を取り出し、当該トランザクション要求に基づいてトランザクションを実行し、その結果を含むトランザクション処理結果を前記トランザクション用送信キューにキューイングする、第２の処理と、
マネージャプログラムに基づいて、オペレータから、特定の種別のシステム設定情報を含むシステム設定変更要求を受け付け、当該システム設定情報を、前記システム設定情報テーブルに格納し、前記タイプ別一覧情報を参照し、前記特定の種別が、前記サーバアプリケーションプログラムを再起動する必要のないタイプに分類されている場合に、前記第１の処理の、当該システム設定情報にかかる部分を、前記サーバアプリケーションプログラムを再起動せずに実行する必要があると判断し、前記システム設定変更要求を、前記設定変更用受信キューにキューイングする、第３の処理と、
前記複数のサーバアプリケーションプログラムの各々に基づいて、前記設定変更用受信キューを定期的に監視し、前記設定変更用受信キューにキューイングされた前記システム設定変更要求を取り出し、前記第１の処理の、当該システム設定変更要求に含まれる前記システム設定情報にかかる部分を実行し、その結果を含むシステム設定変更結果を前記設定変更用送信キューにキューイングする、第４の処理と、
前記マネージャプログラムに基づいて、前記設定変更用送信キューにキューイングされた前記システム設定変更結果を取り出し、前記オペレータに通知する、第５の処理と、
を実行することを特徴とする。
【００１５】
また、本発明の第３のトランザクション処理システムにおけるシステム設定方法は、第１または第２のトランザクション処理システムにおけるシステム設定方法において、
前記システム設定変更要求に、さらに前記複数のサーバアプリケーションプログラムの全てを対象とするか、特定の前記サーバアプリケーションプログラムを対象とするかを指定する情報を含み、
前記指定する情報によって、前記複数のサーバアプリケーションプログラムの全てを対象とすることが指定された場合には、前記システム設定変更要求を前記設定変更用受信キューの全てにキューイングし、
前記指定する情報によって、特定の前記サーバアプリケーションプログラムを対象とすることが指定された場合には、前記システム設定変更要求を前記特定のサーバアプリケーションプログラムに対応する前記設定変更用受信キューにキューイングすることを特徴とする。
【００１６】
また、本発明の第４のトランザクション処理システムにおけるシステム設定方法は、第１、第２または第３のトランザクション処理システムにおけるシステム設定方法において、
前記ホストコンピュータは、前記サーバアプリケーションプログラムの各々に基づいて、当該サーバアプリケーションプログラムの起動時に、前記システム設定情報テーブルを参照して当該サーバアプリケーションプログラムに対するシステム設定を行うことを特徴とする。
【００１７】
【作用】
本発明のトランザクション処理システムにおけるシステム設定方法にあっては、オペレータからシステム設定変更要求が入力されると、マネージャが、そのシステム設定変更要求を各サーバアプリケーションに１対１に対応する設定変更用受信キューにキューイングする。各サーバアプリケーションは、自アプリケーションに対応する設定変更用受信キューをトランザクション用受信キューと同様に定期的に監視しており、システム設定変更要求がキューイングされていることを検知すると、それを取り出して実行することにより自アプリケーションにおけるシステム設定を変更する。
【００１８】
【発明の実施の形態】
次に本発明の実施の形態の例について図面を参照して詳細に説明する。
【００１９】
先ず、トランザクション処理システムにおけるシステム設定情報について説明する。
【００２０】
トランザクション処理システムが管理対象とする資源は、端末装置やキュー、サーバアプリケーション等、多種多様であり、従ってシステム設定情報も各種存在するが、本発明で扱うシステム設定情報は、主にサーバアプリケーションに関連するものである。以下に、サーバアプリケーションに関連するシステム設定情報の例を示す。
【００２１】
（１）タイプ１
（ａ）プロセス（スレッド）のスタックサイズ
（ｂ）初期化処理の実行タイムアウト時間
（ｃ）プログラムの起動時の引数
【００２２】
（２）タイプ２
（ａ）プロセスの環境変数
（ｂ）トレースの出力レベル
（ｃ）データベースのコネクション再接続
（ｄ）プロセスの優先度
（ｅ）トランザクションのタイムアウト時間
（ｆ）トランザクションの優先度
【００２３】
タイプ１は、サーバアプリケーションを再起動しないと有効にならないシステム設定情報であり、タイプ２は、サーバアプリケーションを再起動しなくても、サーバアプリケーションが自身のシステム設定を起動中に変更すれば有効になるシステム設定情報である。タイプ２のシステム設定情報は更に、各サーバアプリケーション毎に設定できるもの（ａ）〜（ｄ）と、全てのサーバアプリケーションで共通なもの（ｅ）、（ｆ）とに分けることができる。なお、タイプ１で例示した各システム設定情報は全てサーバアプリケーション毎に設定できるものである。本発明では、このようなタイプ２のシステム設定情報をリアルタイムに変更しようとするものである。以下、タイプ２に属するシステム設定情報について簡単に説明する。
【００２４】
（ａ）プロセスの環境変数
環境変数とはプロセス単位で個別に設定できる変数のことで、ＯＳ（オペレーティングシステム）によって提供される。環境変数は変数の名前と値の組み合わせで構成される。各プロセス（サーバアプリケーション）は、当該システム設定情報で指定された環境変数について、ＯＳが提供するＡＰＩを使用することにより、自プロセス用の環境変数を作成したり、その値を変更することができる。また既存の製品と連携する場合、その既存の製品が指定する環境変数を作成し値を設定することにより連携が可能となる。例えば、データベースＯＲＡＣＬＥと連携を行う場合、環境変数ＯＬＡＣＬＥ−ＨＯＭＥやＯＬＡＣＬＥ−ＳＩＤを作成し設定する。一般的な環境変数の例とその使用例を以下に示す。
○一般的な環境変数例：
ＰＡＴＨ：プログラム実行モジュールの検索ディレクトリ順序を示す。
ＬＡＮＧ：使用する言語と文字コードを示す。
ＨＯＭＥ：ホームディレクトリを示す。
○使用例：
・プログラム実行モジュール検索ディレクトリに新たなディレクトリを追加する→環境変数ＰＡＴＨを変更する。
・使用している言語を英語から日本語に変更する
→環境変数ＬＡＮＧを変更する。
・ＯＬＡＣＬＥと連携するために環境変数ＯＬＡＣＬＥ−ＨＯＭＥやＯＬＡＣＬＥ−ＳＩＤを作成する。
【００２５】
（ｂ）トレースの出力レベル
このシステム設定情報は、各プロセス（サーバアプリケーション）でデバッグ目的などでトレースを出力させたい場合のトレースの出力の有無とそのレベル（詳細レベル、概要レベル等）を設定する際に使用される。
【００２６】
（ｃ）データベースのコネクション再接続
そのプロセス（サーバアプリケーション）がデータベースと接続している場合、プロセス起動中に何らかの要因でデータベースが異常終了してしまった場合、データベースとの接続は切断されてしまう。データベースが復旧したときに、データベースと連携を再び開始するには切断されたデータベースとの接続を行う必要がある。通常、データベースへの接続はコストが高いためプロセスの初期化時に行い、終了するまで初期化時に作成した接続を利用する。ここでプロセス稼働中にデータベースが異常終了した場合（コネクションが切断された場合）、通常再接続を行うためには、プロセスの再起動が必要になるが、この再接続動作をプロセス稼働中に行うか否かを設定するのが、このシステム設定情報である。
【００２７】
（ｄ）プロセスの優先度
ＯＳの機能によって、優先度の高いプロセス（サーバアプリケーション）はＣＰＵを優先的に割り当てられる。各プロセスの優先度を指定するのがこのシステム設定情報である。
【００２８】
（ｅ）トランザクションのタイムアウト時間
各プロセス（サーバアプリケーション）がクライアントアプリケーションからの要求によりトランザクションを実行するときに、そのトランザクションにタイムアウト時間を設け、タイムアウト時間内に処理が終了しない場合は、その処理を打ち切り、クライアントアプリケーションにトランザクション実行タイムアウトを返却する。これは、サーバ、クライアントが無応答の状態になるのを防ぐためである。そのためにタイマが使用される。そのタイマ値を定めるのが、このシステム設定情報である。
【００２９】
（ｆ）トランザクションの優先度
トランザクション毎に優先度を設け、優先度の高い要求がキューイングされた場合は、他の要求より優先して実行する。その際、優先度に応じてキューイング位置を決定し、最高優先度のトランザクション要求は常にキューの先頭に格納される。一般にトランザクションには、その種類に応じた識別子が付与されるが、各識別子毎のトランザクション優先度を指定するのが、このシステム設定情報である。
【００３０】
次に、上述のようなシステム設定情報をシステム運用中に動的に変更する機能を持つ本発明の実施の形態について説明する。
【００３１】
図１を参照すると、本発明の実施の形態にかかるトランザクション処理システムは、端末装置Ｔと、この端末装置Ｔに通信回線Ｌを通じて接続されたホストコンピュータＨとで構成される。図１には、端末装置Ｔは１台しか図示していないが、一般には複数の端末装置が存在する。
【００３２】
端末装置Ｔには、トランザクション要求を行うクライアントアプリケーション１が実装されている。クライアントアプリケーション１は、ホストコンピュータＨに対してトランザクション要求を行う場合、１つ又は複数のメッセージ及びトランザクション識別子を含むトランザクションを、通信回線Ｌを介してホストコンピュータＨに送信する。
【００３３】
ホストコンピュータＨには、端末送受信部２、マネージャ３、複数のサーバアプリケーション４−１〜４−３、全サーバアプリケーション４−１〜４−３に共通に設けられたトランザクション用受信キュー５及び送信キュー７、各サーバアプリケーション４−１〜４−３毎に設けられた設定変更用受信キュー６−１〜６−３、全サーバアプリケーション４−１〜４−３に共通に設けられた設定変更用送信キュー８、及びシステム設定情報テーブル９が実装されている。オペレーティングシステムや、各サーバアプリケーション４−１〜４−３が参照更新するデータベースも存在するが、図示は省略してある。
【００３４】
トランザクション用受信キュー５は、クライアントアプリケーション１から送られてきたトランザクションを保持するキューであり、トランザクション用送信キュー７はサーバアプリケーション４−１〜４−３のトランザクション処理結果を保持するキューである。これらは従来システムにおいても用意されていたキューである。これに対して、設定変更用受信キュー６−１〜６−３及び設定変更用送信キュー８は本発明において新たに設けたキューである。
【００３５】
設定変更用受信キュー６−１〜６−３は、サーバアプリケーション４−１〜４−３と１対１に対応して設けられており、対応するサーバアプリケーションに対するシステム設定変更要求を保持するキューである。また、設定変更用送信キュー８は、サーバアプリケーション４−１〜４−３が設定変更要求を処理した結果を保持するキューである。このキュー８はキュー６−１〜６−３と異なり全サーバアプリケーション４−１〜４−３で共通に設けられている。
【００３６】
システム設定情報テーブル９は、従来システムにおけるものと同様にシステム設定情報を保持するテーブルである。前述したタイプ１、タイプ２の全てのシステム設定情報を保持する。マネージャ３は、トランザクション処理システム全体を管理するプログラムである。従来のマネージャとの相違点はシステム設定変更処理機能にある。従来のマネージャは、オペレータ１０から入力されたシステム設定変更をシステム設定情報テーブル９に反映するだけであったが、本実施形態のマネージャ３は、それに加えて、オペレータ１０から入力されたシステム設定変更の対象となるシステム設定情報がタイプ１か、タイプ２かを判別する機能、タイプ２のシステム設定情報にかかるシステム設定変更要求の場合には、更にシステム設定変更が特定のサーバアプリケーションを対象とするものか、全サーバアプリケーションを対象とするものかを判別する機能、特定のサーバアプリケーションを対象とするシステム設定変更要求であった場合、該当するサーバアプリケーション４−１〜４−３に対応する設定変更用受信キュー６−１〜６−３に当該システム設定変更要求をキューイングする機能、全サーバアプリケーションを対象とするシステム設定変更要求であった場合、各サーバアプリケーション４−１〜４−３に対応する設定変更用受信キュー６−１〜６−３の全てに当該システム設定変更要求をキューイングする機能、設定変更用送信キュー８からシステム設定変更結果を取り出し、オペレータ１０にシステム設定変更の処理完了を通知する機能を備えている。
【００３７】
各サーバアプリケーション４−１〜４−３は、その起動時にシステム設定情報テーブル９を参照してシステム設定処理を行い、以後、トランザクション用受信キュー５にキューイングされているトランザクションを処理してその結果をトランザクション用送信キュー７にキューイングするといった従来システムにおけるサーバアプリケーションと同様な処理を行うと共に、自アプリケーションに対応する設定変更用受信キュー６−１〜６−３にシステム設定変更要求が存在するか否かを定期的に監視する機能、存在したシステム設定変更要求に従って自アプリケーションにおけるシステム設定変更を行う機能、システム設定変更の処理結果を設定変更用送信キュー８にキューイングする機能を備えている。
【００３８】
端末送受信部２は、従来システムにおけるものと同様に、クライアントアプリケーション１から送られてくるトランザクションをトランザクション用受信キュー５にキューイングし、トランザクション用送信キュー７にトランザクション処理結果が保持されていれば、それを引き出してクライアントアプリケーション１に送信する機能を持つ。
【００３９】
次に、本実施の形態の概略動作を図２〜図７を参照して説明する。
【００４０】
（１）サーバアプリケーション起動時
サーバアプリケーション４−１〜４−３は起動されると、初期化処理の一環として、図２に示すようにシステム設定情報テーブル９を参照し((1)) 、自アプリケーションのシステム設定を行う。
【００４１】
（２）クライアントアプリケーション１からのトランザクションの処理
図３に示すように、クライアントアプリケーション１からトランザクション要求が送信されると((1)) 、端末送受信部２がこれを受信し、トランザクション用受信キュー５にキューイングする((2)) 。トランザクション用受信キュー５にキューイングされたトランザクション要求は、複数のサーバアプリケーション４−１〜４−３の内の任意の１つのサーバアプリケーション４−ｉ（図３の場合は４−１）がこれを取り出し((3)) 、実行して、結果をトランザクション用送信キュー７にキューイングする((4)) 。端末送受信部２は、トランザクション用送信キュー７からトランザクション結果を取り出し((5)) 、クライアントアプリケーション１へ送信する((6)) 。
【００４２】
（３）システム設定変更
（Ａ）タイプ１のシステム設定情報の変更
図４に示すように、オペレータ１０が、タイプ１に属するシステム設定情報の変更要求を入力すると((1)) 、マネージャ３は、システム設定情報テーブル９中の当該システム設定変更要求で変更が要求されたシステム設定情報を、要求された通りに変更し((2)) 、処理を終える。この場合、各サーバアプリケーション４−１〜４−３の再起動時に各サーバアプリケーション４−１〜４−３がシステム設定情報テーブル９を参照することにより当該変更されたシステム設定が反映される。
【００４３】
（Ｂ）タイプ２のシステム設定情報のうち全サーバアプリケーションを対象とするシステム設定情報の変更
図５に示すように、オペレータ１０が、タイプ２に属するシステム設定情報で且つ全サーバアプリケーション４−１〜４−３を対象とするシステム設定情報の変更要求を入力すると((1)) 、マネージャ３は、システム設定情報テーブル９中の当該システム設定変更要求で変更が要求されたシステム設定情報を、要求された通りに変更した後((2)) 、各サーバアプリケーション４−１〜４−３に対応する設定変更用受信キュー６−１〜６−３の全てに当該システム設定変更要求をキューイングする((3)) 。各サーバアプリケーション４−１〜４−３は、自アプリケーション４−１〜４−３に対応する設定変更用受信キュー６−１〜６−３を定期的に監視しており、キューイングされているシステム設定変更要求を見つけると、それを取り出す((4)) 。そして、各サーバアプリケーション４−１〜４−３は、そのシステム設定変更要求に従って自アプリケーションにおけるシステム設定変更を行い、処理結果を設定変更用送信キュー８にキューイングする((5)) 。マネージャ３は、全てのサーバアプリケーション４−１〜４−３からの設定変更完了を示す処理結果を、設定変更用送信キュー８から取り出した時点で((6)) 、オペレータ１０に設定変更結果を通知する((7)) 。
【００４４】
（Ｃ）タイプ２のシステム設定情報のうち特定のサーバアプリケーションを対象とするシステム設定情報の変更
図６に示すように、オペレータ１０が、タイプ２に属するシステム設定情報で且つ特定のサーバアプリケーション（図６の例では４−１）を対象とするシステム設定情報の変更要求を入力すると((1)) 、マネージャ３は、システム設定情報テーブル９中の当該システム設定変更要求で変更が要求されたシステム設定情報を、要求された通りに変更した後((2)) 、サーバアプリケーション４−１に対応する設定変更用受信キュー６−１に当該システム設定変更要求をキューイングする((3)) 。サーバアプリケーション４−１は、自アプリケーションに対応する設定変更用受信キュー６−１を定期的に監視しており、キューイングされているシステム設定変更要求を見つけると、それを取り出す((4)) 。そして、そのシステム設定変更要求に従って自アプリケーションにおけるシステム設定変更を行い、処理結果を設定変更用送信キュー８にキューイングする((5)) 。マネージャ３は、サーバアプリケーション４−１からの設定変更完了を示す処理結果を、設定変更用送信キュー８から取り出した時点で((6)) 、オペレータ１０に設定変更結果を通知する((7)) 。
【００４５】
図７は各サーバアプリケーション４−１〜４−３の処理例を示すフローチャート、図８は端末送受信部２の処理例を示すフローチャート、図９はマネージャ３の処理例を示すフローチャートである。各サーバアプリケーション４−１〜４−３、端末送受信部２およびマネージャ３用の各プログラム並びに各キュー５、６−１〜６−３、７、８やシステム設定情報テーブル９の構成データは、半導体メモリ、磁気ディスク等の機械的に読み取り可能な記録媒体に格納されている。この記録媒体に格納されたプログラムやデータはホストコンピュータに読み取られ、ホストコンピュータの動作を制御することにより、ホストコンピュータ上に各サーバアプリケーション４−１〜４−３、端末送受信部２およびマネージャ３並びに各キュー５、６−１〜６−３、７、８やシステム設定情報テーブル９を実現する。以下、図７乃至図９のフローチャートを参照して、本実施の形態の動作をより詳細に説明する。
【００４６】
（１）サーバアプリケーション起動時
システム設定情報テーブル９には、タイプ１及びタイプ２の各システム設定情報の初期値や前回の運転終了時における各システム設定情報が例えば外部の補助記憶装置からロードされている。システム立ち上げ時、サーバアプリケーション４−１〜４−３が起動されると、初期化処理の一環として、システム設定情報テーブル９を参照し、このテーブル９に設定されたタイプ１及びタイプ２のシステム設定を自アプリケーションで有効にするためＡＰＩ等を使って各自システム設定を行う。そして、各サーバアプリケーション４−１〜４−３は、図７に示した処理を開始する。
【００４７】
（２）クライアントアプリケーション１からのトランザクションの処理
クライアントアプリケーション１から送信されてきたトランザクション要求は端末送受信部２で受信される。端末送受信部２は図８に示すように、クライアントアプリケーション１からのトランザクション要求があるかどうか、またはサーバアプリケーション４−１〜４−３からのトランザクション処理結果がトランザクション用送信キュー７にキューイングされているかどうかの監視を開始する（Ｓ２１）。クライアントアプリケーション１からトランザクション要求があった場合（Ｓ２２）、その要求を受け付けトランザクション用受信キュー５に当該トランザクション要求をキューイングする (Ｓ２３）。
【００４８】
各サーバアプリケーション４−１〜４−３は、図７のステップＳ１１において、トランザクション用受信キュー５にトランザクションがキューイングされているかどうか、自アプリケーションに対応する設定変更用受信キュー６−１〜６−３にシステム設定変更要求がキューイングされているかどうかを監視しており、端末送受信部２がトランザクション用受信キュー５にキューイングしたトランザクション要求を最初に見つけたサーバアプリケーション４−ｉ（ｉ＝１、２、３）がそれを取り出す。当該サーバアプリケーション４−ｉは、取り出した要求がトランザクション要求か、システム設定変更要求かを判別し（Ｓ１２）、今の場合、トランザクション要求なので、そのトランザクションを実行し、結果をトランザクション用送信キュー７にキューイングする（Ｓ１３）。
【００４９】
トランザクション用送信キュー７にキューイングされたトランザクション結果は、端末送受信部２における図８のステップＳ２１で検知され、クライアントアプリケーション１へトランザクション結果として送信される（Ｓ２４）。
【００５０】
なお、端末送受信部２および各サーバアプリケーション４−１〜４−３がトランザクション用受信キュー５及びトランザクション用送信キュー７をアクセスする際には、排他制御が行われる。
【００５１】
（３）システム設定変更
オペレータ１０は、システム運用中にシステム設定情報を変更する場合、システム設定変更要求を、図示しないコンソール等の入出力手段からマネージャ３に入力する。オペレータが入力するシステム設定変更要求には、変更対象となるシステム設定情報を特定する情報、その変更後の値、リアルタイムに反映するか否か（つまり、タイプ２か否か）、全サーバアプリケーションを対象とするのか、特定の１つのサーバアプリケーションを対象とするのかの指定が含まれる。特定の１つのサーバアプリケーションを対象とする場合にはそのサーバアプリケーションを指定する識別子などの情報も含まれる。
【００５２】
マネージャ３は図９に示すように、オペレータ１０からのシステム設定変更要求があるかどうかを監視しており（Ｓ３１）、システム設定変更要求を検知すると、先ず、システム設定情報テーブル９中の当該システム設定変更要求で変更が要求されたシステム設定情報を、要求された通りに変更する（Ｓ３２）。次に、当該システム設定変更要求はリアルタイムに反映するよう指定されているか否かを判別し（Ｓ３３）、リアルタイムに反映するよう指定されていない場合、つまりタイプ１に属するプロセス（スレッド）のスタックサイズ、初期化処理の実行タイムアウト時間、プログラムの起動時の引数などにかかるシステム設定情報の変更の場合はステップＳ３１に戻ってオペレータからのシステム設定変更要求の監視を続ける。この場合、各サーバアプリケーション４−１〜４−３の再起動時に各サーバアプリケーション４−１〜４−３がシステム設定情報テーブル９を参照することにより当該変更されたシステム設定が反映される。
【００５３】
他方、今回のシステム設定変更要求がリアルタイムに反映するよう指定されているタイプ２のシステム設定情報の変更である場合、その設定変更要求が全てのサーバアプリケーション４−１〜４−３を対象とするのか、特定のサーバアプリケーションを対象とするのかを判別する（Ｓ３４）。
【００５４】
プロセスの環境変数、トレースの出力レベル、データベースのコネクション再接続、プロセスの優先度など、特定のサーバアプリケーションを対象とするシステム設定変更要求の場合、指定されたサーバアプリケーション４−ｉ（ｉ＝１、２、３）に対応する設定変更用受信キュー６−ｉに当該システム設定変更要求をキューイングする（Ｓ３５）。
【００５５】
各サーバアプリケーション４−ｉは、図７のステップＳ１１において、トランザクション用受信キュー５にトランザクションがキューイングされているかどうか、自アプリケーションに対応する設定変更用受信キュー６−１〜６−３にシステム設定変更要求がキューイングされているかどうかを監視しているが、マネージャ３がサーバアプリケーション６−ｉの設定変更用受信キュー６−ｉにシステム設定変更要求をキューイングすると、それがサーバアプリケーション４−ｉで検出され、取り出される。当該サーバアプリケーション４−ｉは、取り出した要求がトランザクション要求か、システム設定変更要求かを判別し（Ｓ１２）、今の場合、システム設定変更要求なので、そのシステム設定変更要求に従ってシステム設定変更を行って自アプリケーションに反映し、設定変更完了通知を処理結果として設定変更用送信キュー８にキューイングする（Ｓ１４）。
【００５６】
マネージャ３は、図９のステップＳ３６において、サーバアプリケーション４−ｉからの設定変更完了通知が設定変更用送信キュー８にキューイングされるのか監視しており、キューイングされたことを検知するとそれを取り出し（Ｓ３７）、オペレータ１０に対して設定変更が完了した旨の設定変更結果を通知する（Ｓ４１）。そして、ステップＳ３１に戻ってオペレータ１０からのシステム設定変更要求の監視を続ける。
【００５７】
一方、トランザクションのタイムアウト時間、トランザクションの優先度など、全てのサーバアプリケーションを対象とするシステム設定変更要求の場合、マネージャ３は全てのサーバアプリケーション４−１〜４−３に対応する設定変更用受信キュー６−１〜６−３に当該システム設定変更要求をキューイングする（Ｓ３８）。
【００５８】
各サーバアプリケーション４−ｉは、図７のステップＳ１１の監視処理で自アプリケーションに対応する設定変更用受信キュー６−１〜６−３にシステム設定変更要求がキューイングされたことを検知すると、それを取り出し、そのシステム設定変更要求に従ってシステム設定変更を行って自アプリケーションに反映し、設定変更完了通知を処理結果として設定変更用送信キュー８にキューイングする（Ｓ１４）。
【００５９】
マネージャ３は、図９のステップＳ３９において、サーバアプリケーション４−１〜４−３からの設定変更完了通知が設定変更用送信キュー８にキューイングされるのか監視しており、全てのサーバアプリケーション４−１〜４−３の設定変更完了通知がキューイングされたことを検知し且つ取り出すと（Ｓ４０）、オペレータ１０に対して設定変更が完了した旨の設定変更結果を通知する（Ｓ４１）。そして、ステップＳ３１に戻ってオペレータ１０からのシステム設定変更要求の監視を続ける。
【００６０】
なお、マネージャ３および各サーバアプリケーション４−１〜４−３が設定変更用受信キュー６−１〜６−３及び設定変更用送信キュー８をアクセスする際には、排他制御が行われる。
【００６１】
以上の実施の形態では、システム設定変更にかかるシステム設定情報をリアルタイムに反映するかどうかをオペレータ１０に指定させ、マネージャ３はその指定に従って処理を切りわけたが、マネージャ３に、タイプ１に属するシステム設定情報の一覧及びタイプ２に属するシステム設定情報の一覧を設け、オペレータ１０から入力されたシステム設定変更要求によって変更されるシステム設定情報がタイプ１、タイプ２の何れのシステム設定情報であるかを前記一覧を参照してマネージャ３で決定し、処理を切りわけるようにしても良い。この場合、オペレータ１０による、リアルタイムに反映するかどうかの指定は省略して良い。
【００６２】
【発明の効果】
以上説明したように本発明によれば以下のような効果が得られる。
【００６３】
オペレータから要求のあったシステム設定変更を起動中のサーバアプリケーションにリアルタイムに反映することができる。その理由は、オペレータからのシステム設定変更要求を設定変更用受信キューを介してサーバアプリケーションに伝達し、サーバアプリケーションでシステム設定を変更させるため、次回の再起動を待たずにシステム設定変更が可能になるためである。
【００６４】
トランザクションのレスポンス時間をむやみに増大させることがない。その理由は、各サーバアプリケーションには設定変更用キューを監視する処理が必要となるが、そのオーバーヘッドは、トランザクション実行直前にシステム設定情報テーブルを参照してシステム設定をやり直す処理に比べれば遙に小さいからである。
【図面の簡単な説明】
【図１】本発明の実施の形態の構成を示すブロック図である。
【図２】本発明の実施の形態におけるサーバアプリケーション起動時の概略動作説明図である。
【図３】本発明の実施の形態におけるクライアントアプリケーションからのトランザクション処理の概略動作説明図である。
【図４】本発明の実施の形態におけるタイプ１のシステム設定情報を変更する際の概略動作説明図である。
【図５】本発明の実施の形態におけるタイプ２のシステム設定情報のうち全サーバアプリケーションを対象とするシステム設定情報を変更する際の概略動作説明図である。
【図６】本発明の実施の形態におけるタイプ２のシステム設定情報のうち特定のサーバアプリケーションを対象とするシステム設定情報を変更する際の概略動作説明図である。
【図７】サーバアプリケーションの処理例を示すフローチャートである。
【図８】端末送受信部の処理例を示すフローチャートである。
【図９】マネージャの処理例を示すフローチャートである。
【図１０】従来のトランザクション処理システムの構成図である。
【符号の説明】
Ｔ…端末装置
Ｈ…ホストコンピュータ
Ｌ…通信回線
１…クライアントアプリケーション
２…端末送受信部
３…マネージャ
４−１〜４−３…サーバアプリケーション
５…トランザクション用受信キュー
６−１〜６−３…設定変更用受信キュー
７…トランザクション用送信キュー
８…設定変更用送信キュー
９…システム設定情報テーブル
１０…オペレータ
【図１】
0003738701.tif 000002
【図２】
0003738701.tif 000003
【図３】
0003738701.tif 000004
【図４】
0003738701.tif 000005
【図５】
0003738701.tif 000006
【図６】
0003738701.tif 000007
【図７】
0003738701.tif 000008
【図８】
0003738701.tif 000009
【図９】
0003738701.tif 000010
【図１０】
0003738701.tif 000011