(57)【要約】【課題】メインプログラムの動作を継続させたまま、更新された動的リンクライブラリをメインプログラムが実行可能な、動的リンクライブラリの更新、実行方法を提供する。【解決手段】動的リンクライブラリの実行ファイル１０１の作成時に、動的リンクライブラリの更新状態をライブラリ更新状態管理テーブル１０２に格納する工程と、ライブラリ更新状態管理テーブル１０２に格納されている動的リンクライブラリの更新状態と実行中ライブラリ状態管理テーブル１０５に格納されている動的リンクライブラリの更新状態を比較し、動的リンクライブラリの更新の有無を判断する工程と、動的リンクライブラリが更新されている場合は、実行中ライブラリ状態管理テーブル１０５に格納されている動的リンクライブラリの更新状態を更新し、更新後の動的リンクライブラリの実行アドレスを算出する工程と、実行アドレスを参照して動的リンクライブラリを実行する工程を有する。【選択図】図１
2013105349.tif 000002
【特許請求の範囲】
【請求項１】
メインプログラムを実行する計算機が、前記メインプログラムにリンクされている動的リンクライブラリを更新し実行する方法において、
前記計算機には、記憶部と、前記メインプログラムと前記動的リンクライブラリを実行する演算処理部と、前記動的リンクライブラリの実行ファイルを作成して前記記憶部に格納する動的リンクライブラリ実行ファイル作成部と、前記動的リンクライブラリの実行ファイルの更新の有無を判断する動的リンクライブラリ実行部と、前記記憶部に格納されている前記動的リンクライブラリの実行ファイルの更新状態を格納し、前記記憶部に保存されるライブラリ更新状態管理テーブルと、前記メインプログラムにリンクされている前記動的リンクライブラリの実行ファイルの更新状態を格納し、前記記憶部に保存される実行中ライブラリ状態管理テーブルと、が備えられ、
前記動的リンクライブラリ実行ファイル作成部が、前記動的リンクライブラリの実行ファイルを作成するときに、前記動的リンクライブラリの実行ファイルの更新状態を前記ライブラリ更新状態管理テーブルに格納する更新状態格納工程と、
前記演算処理部が前記メインプログラムにリンクされている前記動的リンクライブラリを実行するときに、前記動的リンクライブラリ実行部が、前記ライブラリ更新状態管理テーブルに格納されている前記動的リンクライブラリの実行ファイルの更新状態と、前記実行中ライブラリ状態管理テーブルに格納されている前記動的リンクライブラリの実行ファイルの更新状態とを比較し、前記動的リンクライブラリの実行ファイルの更新の有無を判断する更新有無判断工程と、
前記更新有無判断工程で前記動的リンクライブラリの実行ファイルが更新されていると判断した場合は、前記動的リンクライブラリ実行部が、前記実行中ライブラリ状態管理テーブルに格納されている前記動的リンクライブラリの実行ファイルの更新状態を更新するとともに、更新後の前記動的リンクライブラリの実行ファイルの実行アドレスを算出する状態更新工程と、
前記演算処理部が、前記状態更新工程で算出した前記実行アドレスを参照して、前記動的リンクライブラリを実行する実行工程と、
を有することを特徴とする動的リンクライブラリの更新、実行方法。
【請求項２】
請求項１記載の動的リンクライブラリの更新、実行方法において、
前記動的リンクライブラリの実行ファイルの更新状態は、前記ライブラリ更新状態管理テーブル及び前記実行中ライブラリ状態管理テーブルに格納される管理番号で表され、
前記更新状態格納工程では、前記動的リンクライブラリ実行ファイル作成部が、前記動的リンクライブラリの実行ファイルを作成するときに、前記管理番号を更新して前記ライブラリ更新状態管理テーブルに格納し、
前記更新有無判断工程では、前記動的リンクライブラリ実行部が、前記ライブラリ更新状態管理テーブルに格納されている前記管理番号と、前記実行中ライブラリ状態管理テーブルに格納されている前記管理番号とを比較して、前記動的リンクライブラリの実行ファイルの更新の有無を判断し、
前記状態更新工程では、前記動的リンクライブラリ実行部が、前記実行中ライブラリ状態管理テーブルに格納されている前記管理番号を更新するとともに、更新後の前記動的リンクライブラリの実行ファイルの実行アドレスを算出する動的リンクライブラリの更新、実行方法。
【請求項３】
請求項１記載の動的リンクライブラリの更新、実行方法において、
前記動的リンクライブラリの実行ファイルの更新状態は、前記ライブラリ更新状態管理テーブル及び前記実行中ライブラリ状態管理テーブルに格納される前記動的リンクライブラリの実行ファイルのタイムスタンプで表され、
前記更新状態格納工程では、前記動的リンクライブラリ実行ファイル作成部が、前記動的リンクライブラリの実行ファイルを作成するときに、前記タイムスタンプを更新して前記ライブラリ更新状態管理テーブルに格納し、
前記更新有無判断工程では、前記動的リンクライブラリ実行部が、前記ライブラリ更新状態管理テーブルに格納されている前記タイムスタンプと、前記実行中ライブラリ状態管理テーブルに格納されている前記タイムスタンプとを比較して、前記動的リンクライブラリの実行ファイルの更新の有無を判断し、
前記状態更新工程では、前記動的リンクライブラリ実行部が、前記実行中ライブラリ状態管理テーブルに格納されている前記タイムスタンプを更新するとともに、更新後の前記動的リンクライブラリの実行ファイルの実行アドレスを算出する動的リンクライブラリの更新、実行方法。
【請求項４】
メインプログラムを実行する計算機が、前記メインプログラムにリンクされている動的リンクライブラリを更新し実行する方法において、
前記計算機には、記憶部と、前記メインプログラムと前記動的リンクライブラリを実行する演算処理部と、前記動的リンクライブラリの実行ファイルを作成して前記記憶部に格納する動的リンクライブラリ実行ファイル作成部と、前記動的リンクライブラリの実行ファイルの更新の有無を判断する動的リンクライブラリ実行部と、前記メインプログラムにリンクされている前記動的リンクライブラリの実行ファイルのタイムスタンプを格納し、前記記憶部に保存される実行中ライブラリ状態管理テーブルと、が備えられ、
前記演算処理部が前記メインプログラムにリンクされている前記動的リンクライブラリを実行するときに、前記動的リンクライブラリ実行部が、前記動的リンクライブラリの実行ファイルのタイムスタンプと、前記実行中ライブラリ状態管理テーブルに格納されている前記動的リンクライブラリの実行ファイルのタイムスタンプとを比較し、前記動的リンクライブラリの実行ファイルの更新の有無を判断する更新有無判断工程と、
前記更新有無判断工程で前記動的リンクライブラリの実行ファイルが更新されていると判断した場合は、前記動的リンクライブラリ実行部が、前記実行中ライブラリ状態管理テーブルに格納されている前記動的リンクライブラリの実行ファイルのタイムスタンプを更新するとともに、更新後の前記動的リンクライブラリの実行ファイルの実行アドレスを算出する状態更新工程と、
前記演算処理部が、前記状態更新工程で算出した前記実行アドレスを参照して、前記動的リンクライブラリを実行する実行工程と、
を有することを特徴とする動的リンクライブラリの更新、実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メインプログラムが動的リンクライブラリの更新を認識し、更新された動的リンクライブラリを実行する方法に関する。
【背景技術】
【０００２】
動的リンクライブラリは、静的なライブラリが実行形式ファイルに合体されるかたちでリンクされるのと異なり、実行時に他のプロセス（プログラム）と共有するかたちで動的にリンクされて、使用される。動的リンクライブラリは、プロセス（プログラム）間で共通に使用されるため、使用するメモリ容量を削減できる。
【０００３】
特許文献１には、実行可能プログラムと動的リンクライブラリのリンク、及びそれらのロードを行う動的リンクライブラリ処理装置に関する技術が記載されている。
【０００４】
特許文献２には、ダイナミックリンク機能を持ったオペレーティングシステム（ＯＳ）上において、共有ライブラリを使用して、モジュール単位でソフトウエアを更新する方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−４８４３１号公報
【特許文献２】特開２００５−５６３１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
動的リンクライブラリを実行するメインプログラムは、リンクされている特定の動的リンクライブラリ（以下、「動的リンクライブラリＡ」と称する）がバージョンアップや変更等により更新された場合、動的リンクライブラリＡの更新を認識する手段を持たず、加えて、更新後の動的リンクライブラリＡの実行アドレスを知ることができない。従って、動的リンクライブラリＡを更新した場合には、一度メインプログラムを停止させ、メインプログラムと更新後の動的リンクライブラリＡとをリンクし直し、再びメインプログラムを起動させる必要がある。
【０００７】
このため、例えばオンラインで業務を継続させる必要がある等の理由により、メインプログラムを停止できないシステムにおいては、メインプログラムの動作を継続させた状態で（すなわち、メインプログラムを実行させた状態で）動的リンクライブラリＡを更新することは困難である。
【０００８】
本発明は、メインプログラムの動作を継続させたまま、更新された動的リンクライブラリをメインプログラムが実行可能な、動的リンクライブラリの更新、実行方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明による動的リンクライブラリの更新、実行方法は、次のような特徴を持つ。
【００１０】
メインプログラムを実行する計算機が、前記メインプログラムにリンクされている動的リンクライブラリを更新し実行する方法において、前記計算機には、記憶部と、前記メインプログラムと前記動的リンクライブラリを実行する演算処理部と、前記動的リンクライブラリの実行ファイルを作成して前記記憶部に格納する動的リンクライブラリ実行ファイル作成部と、前記動的リンクライブラリの実行ファイルの更新の有無を判断する動的リンクライブラリ実行部と、前記記憶部に格納されている前記動的リンクライブラリの実行ファイルの更新状態を格納し、前記記憶部に保存されるライブラリ更新状態管理テーブルと、前記メインプログラムにリンクされている前記動的リンクライブラリの実行ファイルの更新状態を格納し、前記記憶部に保存される実行中ライブラリ状態管理テーブルとが備えられ、以下のような工程を有する。
【００１１】
前記動的リンクライブラリ実行ファイル作成部が、前記動的リンクライブラリの実行ファイルを作成するときに、前記動的リンクライブラリの実行ファイルの更新状態を前記ライブラリ更新状態管理テーブルに格納する更新状態格納工程と、前記演算処理部が前記メインプログラムにリンクされている前記動的リンクライブラリを実行するときに、前記動的リンクライブラリ実行部が、前記ライブラリ更新状態管理テーブルに格納されている前記動的リンクライブラリの実行ファイルの更新状態と、前記実行中ライブラリ状態管理テーブルに格納されている前記動的リンクライブラリの実行ファイルの更新状態とを比較し、前記動的リンクライブラリの実行ファイルの更新の有無を判断する更新有無判断工程と、前記更新有無判断工程で前記動的リンクライブラリの実行ファイルが更新されていると判断した場合は、前記動的リンクライブラリ実行部が、前記実行中ライブラリ状態管理テーブルに格納されている前記動的リンクライブラリの実行ファイルの更新状態を更新するとともに、更新後の前記動的リンクライブラリの実行ファイルの実行アドレスを算出する状態更新工程と、前記演算処理部が、前記状態更新工程で算出した前記実行アドレスを参照して、前記動的リンクライブラリを実行する実行工程とを有する。
【発明の効果】
【００１２】
本発明による動的リンクライブラリの更新、実行方法では、メインプログラムの動作を継続させたまま、更新された動的リンクライブラリをメインプログラムが実行可能である。このため、メインプログラムの実行には影響を与えずに、動的リンクライブラリを更新することができる。
【図面の簡単な説明】
【００１３】
【図１】動的リンクライブラリＡの実行ファイルとメインプログラムの実行ファイルを作成するときの流れを示す図である。
【図２】動的リンクライブラリ実行機構の動作を示すフローチャートである。
【図３】ライブラリ更新状態管理テーブルのデータ構造を示す図である。
【図４】実行中ライブラリ状態管理テーブルのデータ構造を示す図である。
【図５】本発明による動的リンクライブラリの更新、実行方法を実行する計算機の構成を示す概略図である。
【発明を実施するための形態】
【００１４】
以下の説明では、「動的リンクライブラリの実行ファイル」のことを単に「動的リンクライブラリ」とも呼び、「メインプログラムの実行ファイル」のことを単に「メインプログラム」とも呼ぶ。
【００１５】
本発明者は、更新する動的リンクライブラリの実行ファイルを作成するときに、この動的リンクライブラリの更新状態をテーブルに記録することで、メインプログラムが動的リンクライブラリの更新状態を認識できることに着目した。本発明による動的リンクライブラリの更新、実行方法では、動的リンクライブラリの更新状態を管理し、メインプログラムの実行時に動的リンクライブラリの更新状態をメインプログラムに認識させる。動的リンクライブラリが更新された場合は、更新された動的リンクライブラリの実行アドレスを算出し、算出した実行アドレスをメインプログラムに参照させて動的リンクライブラリを実行させる。
【００１６】
このような方法により、メインプログラムは、動作を継続中でも動的リンクライブラリの更新の影響を受けずに、更新された動的リンクライブラリを実行することができる。
【００１７】
以下、本発明を実施する形態の例について、図１〜図５を用いて説明する。
【００１８】
図５は、本発明による動的リンクライブラリの更新、実行方法を実行する計算機の構成を示す概略図である。本発明による動的リンクライブラリの更新、実行方法は、計算機５０１により実行される。計算機５０１は、動的リンクライブラリ実行ファイル作成部５０２、メインプログラム実行ファイル作成部５０３、動的リンクライブラリ実行部５０４、記憶部５０５、及び演算処理部５０６を備える。
【００１９】
動的リンクライブラリ実行ファイル作成部５０２は、動的リンクライブラリのオブジェクトファイルから動的リンクライブラリの実行ファイルを作成する。
【００２０】
メインプログラム実行ファイル作成部５０３は、メインプログラムのオブジェクトファイルからメインプログラムの実行ファイルを作成する。
【００２１】
動的リンクライブラリ実行部５０４は、動的リンクライブラリの更新の有無を判断し、動的リンクライブラリが更新されている場合は、更新された動的リンクライブラリの実行アドレスを算出する。
【００２２】
記憶部５０５は、メモリなどの記憶装置から構成され、各種のファイルやデータ（後述するライブラリ更新状態管理テーブルと実行中ライブラリ状態管理テーブルを含む）を保存する。メインプログラムや動的リンクライブラリも、記憶部５０５に保存される。
【００２３】
演算処理部５０６は、ＣＰＵから構成され、計算機５０１の処理を司り、メインプログラムと、メインプログラムにリンクされている動的リンクライブラリを実行する。また、動的リンクライブラリ実行ファイル作成部５０２、メインプログラム実行ファイル作成部５０３、及び動的リンクライブラリ実行部５０４を動作させ、記憶部５０５に対してファイルやデータを入出力する。
【００２４】
記憶部５０５に保存されているメインプログラムは、演算処理部５０６により実行される。このとき、記憶部５０５に保存されておりメインプログラムにリンクされている動的リンクライブラリは、メインプログラムから呼び出されて演算処理部５０６により実行される。以下の実施例では、メインプログラムが、メインプログラムにリンクされている特定の動的リンクライブラリ（以下、「動的リンクライブラリＡ」と呼ぶ）を実行するときに、動的リンクライブラリＡの更新状態を認識し、更新されている場合は更新された動的リンクライブラリＡを実行する例を述べる。
【００２５】
図１を用いて、動的リンクライブラリ実行ファイル作成部５０２が行う動的リンクライブラリＡの実行ファイルの作成の流れと、メインプログラム実行ファイル作成部５０３が行うメインプログラムの実行ファイルの作成の流れを説明する。メインプログラムの実行ファイル１０３（メインプログラム）は、動的リンクライブラリＡの実行ファイル１０１（動的リンクライブラリＡ）を実行する。
【００２６】
動的リンクライブラリＡの実行ファイル１０１は、動的リンクライブラリ実行ファイル作成部５０２により、動的リンクライブラリＡのオブジェクトファイルから作成する。動的リンクライブラリＡのオブジェクトファイルは、動的リンクライブラリＡのソースから作成する。動的リンクライブラリＡのオブジェクトファイルは、計算機５０１で作成してもよいし、他の計算機で作成して記憶部５０５に保存しておいてもよい。
【００２７】
動的リンクライブラリＡのオブジェクトファイルから実行ファイル１０１を作成するときに、動的リンクライブラリ実行ファイル作成部５０２は、動的リンクライブラリＡの更新状態をライブラリ更新状態管理テーブル１０２に格納する。ライブラリ更新状態管理テーブル１０２は、記憶部５０５に保存されるテーブルであり、例えば共有メモリ空間に作成することができる。ライブラリ更新状態管理テーブル１０２は、初めて動的リンクライブラリＡの実行ファイル１０１を作成するときに作成され、以後、動的リンクライブラリＡの実行ファイル１０１の作成時に更新される。
【００２８】
図３は、ライブラリ更新状態管理テーブル１０２のデータ構造を示す図である。ライブラリ更新状態管理テーブル１０２は、図３に示すように、動的リンクライブラリＡ、動的リンクライブラリＢ等の動的リンクライブラリについての情報をそれぞれ格納する情報部を備える。各動的リンクライブラリの情報部は、動的リンクライブラリの名称３０３エリアと管理番号３０２エリアとを有する。動的リンクライブラリの名称３０３エリアは、動的リンクライブラリの名称３０３を格納し、管理番号３０２エリアは、動的リンクライブラリの更新状態を格納する。
【００２９】
動的リンクライブラリの更新状態は、管理番号３０２により表される。管理番号３０２には、任意の数値を用いることができる。本実施例では、管理番号３０２に整数を用い、初期値を０とする。
【００３０】
動的リンクライブラリＡの情報部の管理番号３０２エリアは、動的リンクライブラリＡの実行ファイル１０１を作成するときに、動的リンクライブラリＡの更新状態を格納する。すなわち、管理番号３０２エリアは、動的リンクライブラリＡの実行ファイル１０１の作成時に更新される。
【００３１】
更新状態は、例えば、カウンタとして管理することができる。この場合、動的リンクライブラリＡの実行ファイル１０１を作成するたびに、管理番号３０２をカウントアップさせる（管理番号３０２に１を加える）。但し、初めて動的リンクライブラリＡの実行ファイル１０１を作成するときには、管理番号３０２の初期値を０とするために、カウントアップさせない。
【００３２】
図１に戻って説明を続ける。
【００３３】
メインプログラムの実行ファイル１０３は、メインプログラム実行ファイル作成部５０３により、メインプログラムのオブジェクトファイルから作成する。メインプログラムのオブジェクトファイルは、メインプログラムのソースから作成する。メインプログラムのオブジェクトファイルは、計算機５０１で作成してもよいし、他の計算機で作成して記憶部５０５に保存しておいてもよい。
【００３４】
メインプログラムのオブジェクトファイルから実行ファイル１０３を作成するときに、メインプログラム実行ファイル作成部５０３は、実行中ライブラリ状態管理テーブル１０５を作成し、管理番号の初期値を実行中ライブラリ状態管理テーブル１０５に格納する。実行中ライブラリ状態管理テーブル１０５は、記憶部５０５に保存されるテーブルであり、例えば共有メモリ空間に作成することができる。
【００３５】
図４は、実行中ライブラリ状態管理テーブル１０５のデータ構造を示す図である。実行中ライブラリ状態管理テーブル１０５は、図４に示すように、動的リンクライブラリＡ、動的リンクライブラリＢ等の動的リンクライブラリについての情報をそれぞれ格納する情報部を備える。各動的リンクライブラリの情報部は、動的リンクライブラリの名称４０３エリアと管理番号４０２エリアとを有する。動的リンクライブラリの名称４０３エリアは、動的リンクライブラリの名称４０３を格納し、管理番号４０２エリアは、管理番号４０２を格納する。実行中ライブラリ状態管理テーブル１０５は、管理番号４０２により、現在実行中の動的リンクライブラリの状態を管理する。
【００３６】
管理番号４０２には、任意の数値を用いることができる。但し、管理番号４０２の初期値は、ライブラリ更新状態管理テーブル１０２の管理番号３０２の初期値と等しくする必要がある。本実施例では、管理番号４０２に整数を用い、初期値を０とする。
【００３７】
図１に戻って説明を続ける。
【００３８】
動的リンクライブラリ実行機構１０４は、ライブラリ更新状態管理テーブル１０２と実行中ライブラリ状態管理テーブル１０５とにリンクされており、ライブラリ更新状態管理テーブル１０２と実行中ライブラリ状態管理テーブル１０５とを参照することができる。動的リンクライブラリ実行機構１０４は、メインプログラムが動的リンクライブラリＡを呼び出して実行するときに、動的リンクライブラリ実行部５０４により実行される。
【００３９】
図２を用いて、動的リンクライブラリ実行機構１０４の処理について説明する。図２は、動的リンクライブラリ実行機構１０４の動作を示すフローチャートである。
【００４０】
動的リンクライブラリ実行機構１０４は、処理の開始時に、ライブラリ更新状態管理テーブル１０２の管理番号３０２と実行中ライブラリ状態管理テーブル１０５の管理番号４０２とを比較し、動的リンクライブラリＡの更新の有無を判断する（Ｓ２０１）。
【００４１】
ライブラリ更新状態管理テーブル１０２の管理番号３０２と実行中ライブラリ状態管理テーブル１０５の管理番号４０２とが等しい場合は、動的リンクライブラリＡが更新されていないと判断する（Ｓ２０２）。
【００４２】
そして、演算処理部５０６により、メインプログラムは動的リンクライブラリＡを実行する（Ｓ２０３）。
【００４３】
ライブラリ更新状態管理テーブル１０２の管理番号３０２と実行中ライブラリ状態管理テーブル１０５の管理番号４０２とが等しくない場合は、動的リンクライブラリＡが更新されていると判断する（Ｓ２０２）。
【００４４】
そして、実行中ライブラリ状態管理テーブル１０５の管理番号４０２を、ライブラリ更新状態管理テーブル１０２の管理番号３０２と等しくなるように更新する（Ｓ２０４）。
【００４５】
動的リンクライブラリＡが更新されていると判断した場合は、さらに、更新後の動的リンクライブラリＡの実行アドレスを算出する（Ｓ２０５）。実行アドレスを算出するには、計算機のオペレーティングシステム（ＯＳ）が持つ、アドレス解決のためのインターフェースを利用することができる。
【００４６】
更新後の動的リンクライブラリＡの実行アドレスを算出したら、演算処理部５０６により、メインプログラムは、算出した実行アドレスを参照して、更新後の動的リンクライブラリＡを実行する（Ｓ２０６）。
【００４７】
Ｓ２０５で用いる、更新後の動的リンクライブラリＡの実行アドレスを算出する方法の一例を、計算機のＯＳがＬｉｎｕｘ（登録商標）の場合について説明する。Ｌｉｎｕｘ標準のインターフェースであるｄｌｃｌｏｓｅ（）で更新前の動的リンクライブラリＡをクローズした後に、ライブラリ更新状態管理テーブル１０２の動的リンクライブラリの名称３０３を参照し、ｄｌｏｐｅｎ（）とｄｌｓｙｍ（）を使用する。このようにして、更新後の動的リンクライブラリＡの実行アドレスを算出することができる。
【００４８】
以上の説明では、動的リンクライブラリＡの更新状態を、ライブラリ更新状態管理テーブル１０２の管理番号３０２と実行中ライブラリ状態管理テーブル１０５の管理番号４０２とを用いて管理した。動的リンクライブラリＡの更新状態は、管理番号を用いずに、例えば動的リンクライブラリＡの実行ファイルのタイムスタンプを用いて管理することができる。タイムスタンプとは、電子データの作成や更新が行われた日時を示す情報のことであり、電子データに属性として記録される。タイムスタンプは、計算機のＯＳが持つインターフェースを利用して読み取ることができる。
【００４９】
以下、タイムスタンプを用いて動的リンクライブラリＡの更新状態を管理する場合の処理を説明する。以下の説明では、管理番号を用いた場合の処理と異なる処理を中心に説明する。
【００５０】
初めて動的リンクライブラリＡの実行ファイル１０１を作成するときに、ライブラリ更新状態管理テーブル１０２を作成し、管理番号３０２の初期値を設定する（例えば「０」とする）。動的リンクライブラリＡの実行ファイル１０１の２回目以後の作成時には（すなわち、動的リンクライブラリＡの更新時には）、管理番号３０２の値を、動的リンクライブラリＡの実行ファイル１０１のタイムスタンプの値とする。このようにして、ライブラリ更新状態管理テーブル１０２に格納される動的リンクライブラリＡの実行ファイル１０１のタイムスタンプを更新することができる。
【００５１】
図２のＳ２０２において、ライブラリ更新状態管理テーブル１０２の管理番号３０２と実行中ライブラリ状態管理テーブル１０５の管理番号４０２とが等しくない場合は、動的リンクライブラリＡが更新されていると判断し、Ｓ２０４において、実行中ライブラリ状態管理テーブル１０５の管理番号４０２を、ライブラリ更新状態管理テーブル１０２の管理番号３０２と等しくなるように更新する。この処理により、実行中ライブラリ状態管理テーブル１０５の管理番号４０２にも、動的リンクライブラリＡの実行ファイルのタイムスタンプの値が格納される。
【００５２】
タイムスタンプを用いて動的リンクライブラリＡの更新状態を管理する場合には、ライブラリ更新状態管理テーブル１０２を使用しなくもよい。この場合は、初めて動的リンクライブラリＡの実行ファイル１０１を作成するときに、ライブラリ更新状態管理テーブル１０２を作成しない。従って、動的リンクライブラリＡの実行ファイル１０１を２回目以後に作成するときには（すなわち、動的リンクライブラリＡを更新するときには）、実行ファイル１０１のタイムスタンプを管理しなくてもよい（但し、実行ファイル１０１のタイムスタンプは、動的リンクライブラリＡの更新により変化する）。
【００５３】
一方、実行ファイル１０３を作成するときには、記憶部５０５に保存されている動的リンクライブラリＡの実行ファイルのタイムスタンプを読み取るとともに、実行中ライブラリ状態管理テーブル１０５を作成して、管理番号４０２に読み取ったタイムスタンプの値を設定する。
【００５４】
そして、図２のＳ２０１（動的リンクライブラリＡの更新の有無の判断）において、記憶部５０５に保存されている動的リンクライブラリＡの実行ファイルのタイムスタンプを読み取り、読み取ったタイムスタンプの値と、実行中ライブラリ状態管理テーブル１０５の管理番号４０２の値とを比較する。
【００５５】
Ｓ２０２において、読み取ったタイムスタンプの値と実行中ライブラリ状態管理テーブル１０５の管理番号４０２の値とが等しくない場合は、動的リンクライブラリＡが更新されていると判断する。
【００５６】
そして、Ｓ２０４において、実行中ライブラリ状態管理テーブル１０５の管理番号４０２の値を、読み取ったタイムスタンプの値と等しくなるように更新する。
【００５７】
以上のようにして、タイムスタンプを用いて動的リンクライブラリＡの更新状態を管理することができる。
【符号の説明】
【００５８】
１０１…動的リンクライブラリＡの実行ファイル、１０２…ライブラリ更新状態管理テーブル、１０３…メインプログラムの実行ファイル、１０４…動的リンクライブラリ実行機構、１０５…実行中ライブラリ状態管理テーブル、３０２…管理番号、３０３…名称、４０２…管理番号、４０３…名称、５０１…計算機、５０２…動的リンクライブラリ実行ファイル作成部、５０３…メインプログラム実行ファイル作成部、５０４…動的リンクライブラリ実行部、５０５…記憶部、５０６…演算処理部。
【図１】
2013105349.tif 000003
【図２】
2013105349.tif 000004
【図３】
2013105349.tif 000005
【図４】
2013105349.tif 000006
【図５】
2013105349.tif 000007