(57)【要約】【課題】アプリケーションプログラムの更新に伴う電文処理の遅延時間を短縮することのできるデータ処理装置およびマルチスレッドシステムにおけるアプリケーションプログラムの動的置換方法を得ること。【解決手段】ブローカ１１２は受信した業務電文１０２を処理振分手段１１３によって処理スレッド１１４に振り分けさせる。処理スレッド１１４はリビジョン１１５を最新のものと比較して同一であれば中断することなく業務電文１０２の処理を行う。異なっていればアプリケーションプログラム１１８の読み込みを行わせ、これが完了した時点でその更新内容で業務電文１０２の処理を行う。【選択図】図１
2006277047.tif 000002
【特許請求の範囲】
【請求項１】
電文を受信する電文受信手段と、
この電文受信手段によって受信した前記電文をそれぞれ処理するためにプロセスによって個々に割り当てられたマルチスレッドシステム構成の処理スレッドと、
前記電文の処理のために利用するアプリケーションプログラムに含まれる処理が、更新を必要とするか否かを前記処理スレッドごとに判別するアプリケーションプログラム更新要否判別手段と、
このアプリケーションプログラム更新要否判別手段が更新を必要としないと判別した処理スレッドに対して前記電文の処理を行わせる処理スレッド処理指示手段と、
この処理スレッド処理指示手段の指示による前記電文の処理と並行して、前記アプリケーションプログラム更新要否判別手段が更新を必要とすると判別した処理スレッドが処理のために必要とする置換用アプリケーションプログラムの読み込みを行う置換用アプリケーションプログラム並行読込手段と、
この置換用アプリケーションプログラム並行読込手段によって前記置換用アプリケーションプログラムが読み込まれたとき、更新を必要とする前記アプリケーションプログラムに含まれる処理を利用する処理スレッドによる電文の処理をこの置換用アプリケーションプログラムを用いて開始させる特定電文処理開始手段
とを具備することを特徴とするデータ処理装置。
【請求項２】
前記置換用アプリケーションプログラム並行読込手段による前記置換用アプリケーションプログラムの読み込みが終了したとき、この置換用アプリケーションプログラムによって置換されるアプリケーションプログラムとしての置換前アプリケーションプログラムを前記電文の処理から開放するアプリケーションプログラム開放手段を具備することを特徴とする請求項１記載のデータ処理装置。
【請求項３】
個々のアプリケーションプログラムごとに前記処理スレッドによる利用の状態をチェックする利用状態チェック手段を備え、前記アプリケーションプログラム開放手段は前記置換用アプリケーションプログラムに対応する置換前のアプリケーションプログラムの利用が無くなった時点でその置換前アプリケーションプログラムを前記電文の処理から開放することを特徴とする請求項２記載のデータ処理装置。
【請求項４】
前記アプリケーションプログラム更新要否判別手段は、前記電文の処理のために利用するアプリケーションプログラム全体に対する更新の回数をカウントする最新リビジョンカウント手段と、前記処理スレッドが利用するアプリケーションプログラムのリビジョンが前記最新リビジョンカウント手段のカウントしたリビジョンと一致するか否かを比較するリビジョン比較手段を備え、このリビジョン比較手段が一致を検出しないとき前記処理スレッドが利用するアプリケーションプログラムの更新が必要であると判別することを特徴とする請求項１記載のデータ処理装置。
【請求項５】
前記処理スレッド処理指示手段と、置換用アプリケーションプログラム並行読込手段および特定電文処理開始手段は、前記プロセスによって割り当てられたスレッドとしての制御スレッドによって構成されていることを特徴とする請求項１記載のデータ処理装置。
【請求項６】
電文を受信するたびにこれら電文をそれぞれ処理するためにプロセスによって処理スレッドを割り当てる処理スレッド割り当てステップと、
この処理スレッド割り当てステップで割り当てた処理スレッドごとに、前記電文の処理のために利用するアプリケーションプログラムに含まれる処理が、更新を必要とするか否かを判別するアプリケーションプログラム更新要否判別ステップと、
このアプリケーションプログラム更新要否判別ステップで更新を必要としないと判別した処理スレッドに対して電文の処理を行わせる処理スレッド処理指示ステップと、
この処理スレッド処理指示ステップの指示による前記電文の処理と並行して、前記アプリケーションプログラム更新要否判別ステップで更新を必要とすると判別した処理スレッドが処理のために必要とする置換用アプリケーションプログラムの読み込みを行う置換用アプリケーションプログラム並行読込ステップと、
この置換用アプリケーションプログラム並行読込ステップによって前記置換用アプリケーションプログラムが読み込まれたとき、更新を必要とする前記アプリケーションプログラムに含まれる処理を利用する処理スレッドによる電文の処理をこの置換用アプリケーションプログラムを用いて開始させる特定電文処理開始ステップ
とを具備することを特徴とするマルチスレッドシステムにおけるアプリケーションプログラムの動的置換方法。
【請求項７】
前記置換用アプリケーションプログラム並行読込ステップによる前記置換用アプリケーションプログラムの読み込みが終了したとき、この置換用アプリケーションプログラムによって置換されるアプリケーションプログラムとしての置換前アプリケーションプログラムを前記電文の処理から開放するアプリケーションプログラム開放ステップを具備することを特徴とする請求項６記載のマルチスレッドシステムにおけるアプリケーションプログラムの動的置換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムを動的に置き換えることのできるデータ処理装置およびマルチスレッドシステムにおけるアプリケーションプログラムの動的置換方法に関する。
【背景技術】
【０００２】
インターネットが普及して、商品の受注や各種予約等の多くの業務が２４時間休みなく行われることが多くなっている。このような状況の下で、業務システムの更新や障害復旧のために、ビジネスを一時的に止めることは、時として同業者に対して劣勢となる要因を作るだけでなく、各種のビジネスチャンスを自ら閉ざすことにもなる。インターネットを活用する業務以外でも同様である。
【０００３】
このような観点から、業務等のアプリケーションプログラムの一部に不具合があったときに、システム更新のために業務を停止することなく、新たなアプリケーションプログラムに置き換えて障害を復旧させることは重要である。同様に、システム更新のために業務を停止することなく、現在のアプリケーションプログラムをより機能の充実した新たなアプリケーションプログラムにバージョンアップすることも重要である。
【０００４】
そこで、このようなアプリケーションプログラムの動的置換を可能にする手法として、マルチプロセス・マルチスレッド構成のデータ処理システムが従来から実用されている。ここで、マルチプロセスとは、１台のコンピュータが時間的に並行して複数の処理を同時に行うオペレーションシステムをいう。ＣＰＵ（中央処理装置）の処理時間を区切って複数のアプリケーションプログラムに順に割り当てることで、複数の処理があたかも時間的に並列しているような処理が行われる。「プロセス」とは、アプリケーションプログラムの実行単位を表わしている。複数の処理が時間的に並列して行われるためには、コンピュータにそれぞれの処理ごとに独立したメモリ空間やＩ／Ｏ（Input/Output）空間が割り当てられ、プロセスの独立性が保証されることが必要である。
【０００５】
プロセスの切り替えを行う際に切替対象となるプロセス間の独立性を保障するためには、切り替え前のプロセスについてのＣＰＵのレジスタの内容をすべて保存すると共に、切り替え後のプロセス用にレジスタ値をロードする等の処理が必要となる。このような処理による負荷を軽減する手法として、同一プロセス内でのマルチタスク処理を可能にするのがマルチスレッドである。「マルチスレッド」における「スレッド」とは、タスクの実行の単位をいう。
【０００６】
同一プロセス内のスレッド同士は、メモリやＩ／Ｏ資源を共有する。このため、スレッド間での通信はプロセス間の通信に比べて負荷が小さい。そこで、プロセスが生成されると、これに１以上のスレッドを割り当てて、これらのスレッドを並行して実行するようにしたのが、マルチスレッドである。
【０００７】
ところで、従来のマルチプロセス・マルチスレッド構成のデータ処理装置では、汎用的に使われる処理をまとめた形のライブラリの置き換えを行おうとすると、プロセス内のすべてのスレッドの処理を停止する必要があった。そこで、複数の端末の処理要求に対してデータの整合性を確保しながら処理結果をこれらの端末に返すようにしたオンライントランザクション処理では、この処理の停止によって処理時間の遅延が発生するという問題があった。
【０００８】
そこで、業務の停止を伴うことなくアプリケーションプログラムを置換するデータ処理装置が提案されている（たとえば特許文献１参照）。このデータ処理装置では、アプリケーションプログラムについての動的置換要求があると、これに基づいて動作中の処理スレッドは動作終了後、待機させるようにしている。また、動作中でない処理スレッドはそのまま待機させる。このようにして、すべての処理スレッドが待機状態となった時点で、置換対象となっているアプリケーションプログラムを新たなアプリケーションプログラムに置き換えることにしている。
【特許文献１】特開２００１−２９０６３７号公報（第００２８、第００２９段落、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、この提案ではアプリケーションプログラムの置換に際して、すべての処理スレッドが待機状態となるまで待って、その時点が到来してからアプリケーションプログラムの置換のための処理が開始された。このため、処理スレッドの１つでも動作している間はアプリケーションプログラムの置換のための処理を開始することができず、アプリケーションプログラムの更新に伴う業務の遅延が長時間化する場合があるという問題があった。
【００１０】
そこで本発明の目的は、アプリケーションプログラムの更新に伴う電文処理の遅延時間を短縮することのできるデータ処理装置およびマルチスレッドシステムにおけるアプリケーションプログラムの動的置換方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明では、（イ）電文を受信する電文受信手段と、（ロ）この電文受信手段によって受信した電文をそれぞれ処理するためにプロセスによって個々に割り当てられたマルチスレッドシステム構成の処理スレッドと、（ハ）電文の処理のために利用するアプリケーションプログラムに含まれる処理が、更新を必要とするか否かを処理スレッドごとに判別するアプリケーションプログラム更新要否判別手段と、（ニ）このアプリケーションプログラム更新要否判別手段が更新を必要としないと判別した処理スレッドに対して電文の処理を行わせる処理スレッド処理指示手段と、（ホ）この処理スレッド処理指示手段の指示による電文の処理と並行して、アプリケーションプログラム更新要否判別手段が更新を必要とすると判別した処理スレッドが処理のために必要とする置換用アプリケーションプログラムの読み込みを行う置換用アプリケーションプログラム並行読込手段と、（ヘ）この置換用アプリケーションプログラム並行読込手段によって置換用アプリケーションプログラムが読み込まれたとき、更新を必要とするアプリケーションプログラムに含まれる処理を利用する処理スレッドによる電文の処理をこの置換用アプリケーションプログラムを用いて開始させる特定電文処理開始手段とをデータ処理装置に具備させる。
【００１２】
すなわち本発明では、電文受信手段で電文が受信されると、プロセスによってマルチスレッドシステム構成の処理スレッドが個々に割り当てられる。そして、アプリケーションプログラム更新要否判別手段は、それぞれの処理スレッドが電文の処理のために利用するアプリケーションプログラムに含まれる処理が、更新を必要とするか否かを処理スレッドごとに判別するようにしている。この結果として、更新を必要としないと判別した処理スレッドに対しては、そのまま電文の処理を行わせることにする。また、アプリケーションプログラム更新要否判別手段が更新を必要とすると判別した処理スレッドに関しては、処理のために必要とする置換用アプリケーションプログラムの読み込みを行う。このような並列処理が行われて、置換用アプリケーションプログラムが読み込まれたとき、更新を必要とすると判別した処理スレッドについての電文の処理をこの置換用アプリケーションプログラムを用いて開始させることにしている。このように本発明では、更新を必要としないと判別した処理スレッドはそのまま電文の処理を行うので、すべての処理スレッドの処理が一時的に停止するようにしていた従来の手法と比べてアプリケーションプログラムの更新に伴う業務の遅延時間を短縮することができる。したがって、たとえば２４時間３６５日のフル稼動を求められるオンライントランザクションシステムを好適に実現することができるようになる。
【００１３】
また、本発明では、（イ）電文を受信するたびにこれら電文をそれぞれ処理するためにプロセスによって処理スレッドを割り当てる処理スレッド割り当てステップと、（ロ）この処理スレッド割り当てステップで割り当てた処理スレッドごとに、電文の処理のために利用するアプリケーションプログラムに含まれる処理が、更新を必要とするか否かを判別するアプリケーションプログラム更新要否判別ステップと、（ハ）このアプリケーションプログラム更新要否判別ステップで更新を必要としないと判別した処理スレッドに対して電文の処理を行わせる処理スレッド処理指示ステップと、（ニ）この処理スレッド処理指示ステップの指示による電文の処理と並行して、アプリケーションプログラム更新要否判別ステップで更新を必要とすると判別した処理スレッドが処理のために必要とする置換用アプリケーションプログラムの読み込みを行う置換用アプリケーションプログラム並行読込ステップと、（ホ）この置換用アプリケーションプログラム並行読込ステップによって置換用アプリケーションプログラムが読み込まれたとき、更新を必要とするアプリケーションプログラムに含まれる処理を利用する処理スレッドによる電文の処理をこの置換用アプリケーションプログラムを用いて開始させる特定電文処理開始ステップマルチスレッドシステムにおけるアプリケーションプログラムの動的置換方法に具備させる。
【００１４】
すなわち本発明では、電文が受信されるたびに、プロセスによって処理スレッドが個々に割り当てられる。そして、処理スレッド割り当てステップでは、それぞれの処理スレッドが電文の処理のために利用するアプリケーションプログラムに含まれる処理が、更新を必要とするか否かを処理スレッドごとに判別するようにしている。この結果として、更新を必要としないと判別した処理スレッドに対しては、そのまま電文の処理を行わせることにする。また、処理スレッド割り当てステップで更新を必要とすると判別した処理スレッドに関しては、処理のために必要とする置換用アプリケーションプログラムの読み込みを行う。このような並列処理が行われて、置換用アプリケーションプログラムが読み込まれたとき、更新を必要とすると判別した処理スレッドについての電文の処理をこの置換用アプリケーションプログラムを用いて開始させることにしている。このように本発明では、更新を必要としないと判別した処理スレッドはそのまま電文の処理を行うので、すべての処理スレッドの処理が一時的に停止するようにしていた従来の手法と比べてアプリケーションプログラムの更新に伴う業務の遅延時間を短縮することができる。したがって、たとえば２４時間３６５日のフル稼動を求められるオンライントランザクションシステムを好適に実現することができるようになる。
【発明の効果】
【００１５】
以上説明したように、本発明によればマルチスレッドシステム構成の処理スレッドのうちの、現在用意されたアプリケーションプログラムに含まれる処理を使用して電文の処理が可能なものについてはそのまま処理を行わせ、アプリケーションプログラムの更新の必要のある処理スレッドについては処理のために必要とする置換用アプリケーションプログラムの読み込みの処理をそれ以外の処理スレッドが電文の処理を行っているときに時間的に並列して行わせるようにした。このため、前者の処理スレッドが電文の処理の開始を遅延させる必要がなく、この分だけ電文処理の遅延時間を短縮させることができる。
【発明を実施するための最良の形態】
【００１６】
以下実施例につき本発明を詳細に説明する。
【実施例１】
【００１７】
図１は本発明の一実施例におけるアプリケーションプログラムの動的置換を行うデータ処理装置の構成を表わしたものである。このデータ処理装置１００は、図示しないＣＰＵ（中央処理装置）が同じく図示しないハードディスク等の記憶媒体に格納された制御プログラムを実行することによって動作するプロセス部１０１を備えている。プロセス部１０１を構成する各部は、制御プログラムの実行によってソフトウェア的に生成されたり、前記した記憶媒体の所定の領域を割り当てることによって実現されるようになっている。
【００１８】
プロセス部１０１は、たとえば図示しない外部の通信ネットワークを介して送られてくる業務電文１０２を受信する業務電文受信手段１１１を備えている。業務電文受信手段１１１の受信した業務電文は、ブローカ１１２に渡されるようになっている。ブローカ１１２は、業務電文を受信すると、処理振分手段１１３を介してマルチスレッドシステム構成の処理スレッド１１４のそれぞれに業務電文の処理を振り分けるようになっている。処理スレッド１１４は、それぞれのリビジョン１１５を保持している。それぞれの処理スレッド１１４は、業務電文１０２のうちでブローカ１１２に指示されたものを処理するようになっている。処理スレッド１１４は処理呼出手段１１７を介してアプリケーションプログラム１１８から必要な処理を呼び出して、業務電文１０２の処理を行うようになっている。ここで、アプリケーションプログラム１１８は、プロセス部１０１の外部に配置されているライブラリファイル１０３からライブラリ読込手段１１９によって読み込まれたものである。したがって、アプリケーションプログラム１１８の置き換えを行う際には、ライブラリ読込手段１１９が置き換えの対象となるアプリケーションプログラムの読み込みを行うと共に、ライブラリ開放手段１２１が不要となった更新前のアプリケーションプログラムを開放することになる。
【００１９】
プロセス部１０１には、ライブラリの置き換えの処理を行うための制御スレッド１２２と、ライブラリの構成情報を管理するためのライブラリ構成情報テーブル１２３と、このライブラリ構成情報テーブル１２３の作成や更新を行うためのテーブル作成・更新手段１２４を備えている。テーブル作成・更新手段１２４は、ライブラリ構成情報テーブル１２３の作成や更新を行う際に、プロセス部１０１の外に設けられた定義ファイル１０４の読み込みを行うようになっている。ライブラリ構成情報テーブル１２３は、リビジョン１２６と参照数１２７を保持している。そして、プロセス部１０１の外に同じく配置された更新通知部１０５から置換コマンド１０６の実行による更新通知が行われると、制御スレッド１２２の制御の下にライブラリ構成情報テーブル１２３が必要に応じて新たに作成されて、前記したアプリケーションプログラム１１８の置き換えのための処理が行われることになる。
【００２０】
このような構成のデータ処理装置１００では、処理スレッド１１４が置き換えを必要としないアプリケーションプログラム１１８を使用して業務電文１０２の処理を行っているとき、これと時間を並行して制御スレッド１２２が置き換え対象のアプリケーションプログラム１１８の読み込みと開放を行うようになっている。そして、このようなアプリケーションプログラム１１８の読み込みと開放が終了した後に、制御スレッド１２２がこの置き換え後のアプリケーションプログラム１１８に処理を切り替えて業務電文１０２に対する処理を行わせるようにしている。このような並行処理によって、アプリケーションプログラム１１８としてのライブラリの更新に伴う業務の遅延時間を最小限に留めるようにしている。
【００２１】
ここで、アプリケーションプログラム１１８の置き換えの必要の有無は、最新リビジョン格納部１２８に格納されている最新リビジョン１２９のチェックで行われるようになっている。最新リビジョン格納部１２８に格納されている最新リビジョン１２９は、その時点に存在するライブラリ構成情報テーブル１２３のすべてのリビジョン１２６における最も大きな値に常に更新されるようになっている。これについては後に詳しく説明する。したがって、処理スレッド１１４は、この最新リビジョン１２９と、処理スレッド１１４に含まれるリビジョン１１５を比較することで、アプリケーションプログラム１１８の置き換えの必要の有無を判別することができる。
【００２２】
このような本実施例のデータ処理装置１００の各部の処理を次に具体的に説明する。プロセス部１０１は、マルチプロセス・マルチスレッド環境でライブラリファイル１０３を用いてライブラリの置き換えを実施する際に、処理を行うスレッドを停止させることなくアプリケーションプログラムの置き換えを実現している。したがって、プロセス部１０１の電源投入後、スレッドの停止による処理時間の発生を抑えながら、２４時間３６５日のフル稼動を求められるオンライントランザクションシステムを実現することができる。
【００２３】
図２は、プロセス部の起動処理の流れを表わしたものである。図１と共に説明する。電源投入により、プロセス部１０１は、まず制御スレッド１２２を起動する（ステップＳ２０１）。そして、次に説明する図３で示す制御スレッド１２２による処理を開始させる。続いてプロセス部１０１は処理スレッド１１４を起動し（ステップＳ２０２）、その後に業務電文受信手段１１１の受信した業務電文の処理を開始するためにブローカ１１２の起動を行う（ステップＳ２０３）ことになる。
【００２４】
図３は、制御スレッドによるライブラリ構成情報テーブルの作成処理を表わしたものである。図１と共に説明する。制御スレッド１２２は図２のステップＳ２０１で起動されると、まず定義ファイル１０４の読み込みを行う（ステップＳ２２１）。そして、テーブル作成・更新手段１２４を用いてライブラリ構成情報テーブル１２３の作成を行う。ライブラリ構成情報テーブル１２３は、アプリケーションプログラム１１８の更新処理を管理するために使用するもので、この初期状態ではリビジョン１２６と参照数１２７を共に“０”に設定している。このとき、図１に示した最新リビジョン格納部１２８に格納されている最新リビジョン１２９も初期値として“０”に設定する（ステップＳ２２２）。
【００２５】
制御スレッド１２２はライブラリ構成情報テーブル１２３の作成を終了させた後に、このテーブル内の情報を用いて、ライブラリ読込手段１１９介してライブラリファイル１０３からライブラリとしてのアプリケーションプログラムを読み込む（ステップＳ２２３）。この後、制御スレッド１２２はライブラリ構成情報テーブル１２３の更新通知が来るたびに（ステップＳ２２４：Ｙ）、ライブラリ構成情報テーブル１２３の新規作成処理を行う（ステップＳ２２５）。ステップＳ２２４以降については後に詳しく説明する。
【００２６】
図４は、処理スレッドによる業務電文処理の様子を表わしたものである。図１と共に説明する。処理スレッド１１４は起動後にブローカ１１２からの指示を待機する（ステップＳ２４１）。
【００２７】
一方、図５はブローカの起動後の処理を表わしたものである。図１と共に説明する。ブローカ１１２は起動後に業務電文１０２が受信されるのを待機している（ステップＳ２６１）。そして、業務電文１０２が受信されると（Ｙ）、これを業務電文受信手段１１１から受け取る（ステップＳ２６２）。そして、処理振分手段１１３を介して処理スレッド１１４を選択する（ステップＳ２６３）。そして、これら処理スレッド１１４に対して業務電文の処理を指示する（ステップＳ２６４）。その後は、ステップＳ２６１に戻って処理を繰り返すことになる（リターン）。
【００２８】
図４に戻って処理スレッド１１４の処理の続きを説明する。処理スレッド１１４はブローカ１１２から業務電文の処理を指示されると（ステップＳ２４１：Ｙ）、最新リビジョン格納部１２８に格納されている最新リビジョン１２９と処理スレッド１１４に含まれるリビジョン１１５を比較する（ステップＳ２４２）。そして、この結果としてこれらのリビジョンが同一であれば（ステップＳ２４３：Ｙ）、現在参照しているライブラリ構成情報テーブル１２３からアプリケーションプログラムを決定する（ステップＳ２４４）。すなわち、この場合にはアプリケーションプログラムの置き換えは行われない。この場合、処理スレッド１１４は処理呼出手段１１７を介して、決定したアプリケーションプログラム１１８から必要な処理を呼び出し、業務電文１０２の処理を行う（ステップＳ２４５）。これ以降は、再びステップＳ２４１に戻ってブローカ１１２からの次の指示を待つことになる（リターン）。
【００２９】
ところで図６は、本実施例のデータ処理装置における更新通知部の更新通知処理の様子を表わしたものである。更新通知部１０５では、図１に示すライブラリファイル１０３および定義ファイル１０４の更新を監視している（ステップＳ２８１）。そして、これらのファイルが更新されると（ステップＳ２８１：Ｙ）、置換コマンド１０６を実行して制御スレッド１２２に対して更新があったことを通知することになる（ステップＳ２８２）。
【００３０】
図７は、この更新通知部から更新通知があったときの制御スレッドの制御の様子を表わしたものである。図６のステップＳ２８２による更新通知があると、制御スレッド１２２は図１に示すテーブル作成・更新手段１２４を用いて定義ファイル１０４を読み込む（ステップＳ３０１）。そして、更新された定義ファイル１０４を基にしてライブラリ構成情報テーブル１２３を新たに作成する（ステップＳ３０２）。この新たに作成したライブラリ構成情報テーブル１２３のリビジョン１２６は、既にその時点で存在するライブラリ構成情報テーブル１２３のリビジョン１２６の最大値に“１”を加えた値とする。新たに作成したライブラリ構成情報テーブル１２３の参照数には、“０”を設定する（ステップＳ３０３）。
【００３１】
次に制御スレッド１２２は図１に示す最新リビジョン格納部１２８に格納されている最新リビジョン１２９をこの新たなライブラリ構成情報テーブル１２３のリビジョン１２６と同じ値に設定する（ステップＳ３０４）。この後、ライブラリ読込手段１１９介してライブラリファイル１０３からライブラリとしてのアプリケーションプログラムを読み込む（ステップＳ３０５）。
【００３２】
以上のようにして制御スレッド１２２は更新通知を受けて、ステップＳ３０２によるライブラリ構成情報テーブル１２３の作成やステップＳ３０５におけるアプリケーションプログラムの読み込みを完了した後、不要になったアプリケーションプログラムの開放処理を実行する（ステップＳ３０６）。このアプリケーションプログラムの開放処理では、最新リビジョン１２９と異なるライブラリ構成情報テーブル１２３の参照数１２７を参照して、この値が“０”となっているライブラリ構成情報テーブル１２３にのみ含まれるアプリケーションプログラム１１８の開放を行うことになる。なお、図１に示す更新通知部１０５から新たな更新通知が行われるたびに図７のステップＳ３０１からの処理が開始することになる。
【００３３】
再び図４に戻って処理スレッド１１４の処理の続きを説明する。ステップＳ２４３で最新リビジョン１２９と処理スレッド１１４に含まれるリビジョン１１５の値が同一ではないと判別された場合には（Ｎ）、現在、参照しているライブラリ構成情報テーブル１２３の参照数１２７から“１”を減算する（ステップＳ２４６）。そして、最新リビジョン１２９と同一のリビジョンを持つライブラリ構成情報テーブル１２３を参照して、その参照数に“１”を加算して（ステップＳ２４７）、アプリケーションプログラムを決定する（ステップＳ２４８）。このようにして参照するライブラリを決定したら、処理スレッド１１４は処理呼出手段１１７を介して、決定したアプリケーションプログラム１１８から必要な処理を呼び出し、業務電文１０２の処理を行うことになる（ステップＳ２４５）。
【００３４】
以上説明した実施例では、最新リビジョン格納部１２８にライブラリ構成情報テーブル１２３の最新のリビジョンを最新リビジョン１２９として格納するようにし、処理スレッド１１４がその保持しているリビジョン１１５と比較することにして、アプリケーションプログラムの更新の要否を判別することにしたが、これに限るものではない。たとえば、処理スレッド１１４がライブラリ構成情報テーブル１２３を検索して最も新しいアプリケーションプログラムのリビジョン１２６を読み出してこれをリビジョン１１５と比較するようにしてもよい。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施例におけるアプリケーションプログラムの動的置換を行うデータ処理装置の構成を表わしたブロック図である。
【図２】本実施例でプロセス部の起動処理の流れを表わした流れ図である。
【図３】本実施例で制御スレッドによるライブラリ構成情報テーブルの作成処理を表わした流れ図である。
【図４】本実施例で処理スレッドによる業務電文処理の様子を表わした流れ図である。
【図５】本実施例でブローカの起動後の処理を表わした流れ図である。
【図６】本実施例のデータ処理装置における更新通知部の更新通知処理の様子を表わした流れ図である。
【図７】本実施例で更新通知部から更新通知があったときの制御スレッドの制御の様子を表わした流れ図である。
【符号の説明】
【００３６】
１００  データ処理装置
１０１  プロセス部
１０２  業務電文
１０３  ライブラリファイル
１０４  定義ファイル
１０５  更新通知部
１０６  置換コマンド
１１２  ブローカ
１１３  処理振分手段
１１４  処理スレッド
１１５、１２６  リビジョン
１１７  処理呼出手段
１１８  アプリケーションプログラム
１１９  ライブラリ読込手段
１２１  ライブラリ開放手段
１２２  制御スレッド
１２３  ライブラリ構成情報テーブル
１２４  テーブル作成・更新手段
１２７  参照数
１２８  最新リビジョン格納部
１２９  最新リビジョン
【図１】
2006277047.tif 000003
【図２】
2006277047.tif 000004
【図３】
2006277047.tif 000005
【図４】
2006277047.tif 000006
【図５】
2006277047.tif 000007
【図６】
2006277047.tif 000008
【図７】
2006277047.tif 000009