(57)【特許請求の範囲】
【請求項１】
アプリケーションを格納するアプリケーション記憶部と、
ダイナミックリンクライブラリを格納するダイナミックリンクライブラリ記憶部と、
アプリケーション起動情報を登録するアプリケーション起動情報記憶部と、
アプリケーションとダイナミックリンクライブラリとの対応情報を登録するダイナミックリンク情報記憶部と、を有し、
アプリケーションインストール手段とアプリケーション起動手段に指示を与える入力手段と、
前記入力手段によって指定されたアプリケーションを前記アプリケーション記憶部に格納し格納場所をアプリケーション起動情報として前記アプリケーション起動情報記憶部に登録しダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部に仮格納するアプリケーションインストール手段と、
前記仮格納されたダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部に本格納し前記アプリケーションインストール手段によって格納されたアプリケーションと前記本格納されたダイナミックリンクライブラリとの対応情報を前記ダイナミックリンク情報記憶部に登録するダイナミックリンクライブラリ登録手段と、
前記入力手段によって指定されたアプリケーションを前記アプリケーション起動情報記憶部のアプリケーション起動情報を基に前記アプリケーション記憶部からロードして起動実行するアプリケーション起動手段と、
前記アプリケーション起動手段によって起動されたアプリケーションがダイナミックリンクを要求したときに呼び出し元アプリケーション名と前記ダイナミックリンク情報記憶部の対応情報を基にダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部からロードしてアプリケーションにダイナミックリンクするダイナミックリンクライブラリリンク手段と、
を備えることを特徴とするダイナミックリンクライブラリ制御方式。
【請求項２】
前記ダイナミックリンクライブラリ記憶部は、前記ダイナミックリンクライブラリが仮格納される仮格納領域と前記ダイナミックリンクライブラリが本格納される本格納領域の２つに分割管理されることを特徴とする請求項１記載のダイナミックリンクライブラリ制御方式。
【請求項３】
前記本格納領域は、同一名のダイナミックリンクライブラリを格納し得る構造を成すことを特徴とする請求項２記載のダイナミックリンクライブラリ制御方式。
【請求項４】
前記ダイナミックリンクライブラリ登録手段は、前記仮格納されたダイナミックリンクライブラリと既に本格納されているダイナミックリンクライブラリとを比較し、前記仮格納されたダイナミックリンクライブラリと同一名かつ同一内容のものが存在しないときに、前記仮格納されたダイナミックリンクライブラリを本格納することを特徴とする請求項１記載のダイナミックリンクライブラリ制御方式。
【請求項５】
前記対応情報は、前記アプリケーション名と前記本格納されたダイナミックリンクライブラリ名と前記本格納されたダイナミックリンクライブラリ格納場所とから成ることを特徴とする請求項１記載のダイナミックリンクライブラリ制御方式。
【請求項６】
アプリケーションをアプリケーション記憶部に格納してアプリケーション名とアプリケーション格納場所をアプリケーション起動情報としてアプリケーション起動情報記憶部に登録し、
ダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に仮格納し、
前記仮格納されたダイナミックリンクライブラリと既にダイナミックリンクライブラリ記憶部に本格納されているダイナミックリンクライブラリとを比較し前記仮格納されたダイナミックリンクライブラリと同一名かつ同一内容のものが存在しないときに前記仮格納されたダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に本格納し、
前記アプリケーション名と前記本格納されたダイナミックリンクライブラリ名と本格納されたダイナミックリンクライブラリ格納場所を対応情報としてダイナミックリンク情報記憶部に登録し、
起動指定されたアプリケーションを前記アプリケーション起動情報を参照してアプリケーション記憶部からロードして起動実行し、
前記実行中のアプリケーションがダイナミックリンクを要求したときに前記アプリケーション名をキーとして前記対応情報を参照し、
前記対応情報に登録されているダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部からロードしてアプリケーションにダイナミックリンクする、
ことを特徴とするダイナミックリンクライブラリ制御方法。
【請求項７】
アプリケーションをアプリケーション記憶部に格納してアプリケーション名とアプリケーション格納場所をアプリケーション起動情報としてアプリケーション起動情報記憶部に登録するアプリケーション格納処理と、
ダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に仮格納するダイナミックリンクライブラリ仮格納処理と、
前記仮格納されたダイナミックリンクライブラリと既にダイナミックリンクライブラリ記憶部に本格納されているダイナミックリンクライブラリとを比較し前記仮格納されたダイナミックリンクライブラリと同一名かつ同一内容のものが存在しないときに前記仮格納されたダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に本格納するダイナミックリンクライブラリ本格納処理と、
前記アプリケーション名と前記本格納されたダイナミックリンクライブラリ名と本格納されたダイナミックリンクライブラリ格納場所を対応情報としてダイナミックリンク情報記憶部に登録する対応情報登録処理と、
起動指定されたアプリケーションを前記アプリケーション起動情報を参照してアプリケーション記憶部からロードして起動実行するアプリケーション起動処理と、
前記実行中のアプリケーションがダイナミックリンクを要求したときに前記アプリケーション名をキーとして前記対応情報を参照する対応情報参照処理と、
前記対応情報に登録されているダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部からロードしてアプリケーションにダイナミックリンクするダイナミックリンク処理と、
をコンピュータに実行させるためのプログラムを記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ダイナミックリンクライブラリの制御方式に関し、特に異なるバージョンのダイナミックリンクライブラリが混在する中から起動されたアプリケーションに対応したダイナミックリンクライブラリをダイナミックリンクするダイナミックリンクライブラリ制御方式，方法および記録媒体に関する。
【０００２】
【従来の技術】
アプリケーションの開発に使用している言語は、ランタイムライブラリがダイナミックリンクライブラリとして提供されることが通常の形態である。
【０００３】
そこで、アプリケーションパッケージ内にランタイムライブラリ等のダイナミックリンクライブラリも同梱し、アプリケーションとダイナミックリンクライブラリをインストールするためのアプリケーションインストール手段を提供している。
【０００４】
ところが、言語のランタイムライブラリは障害修正や機能追加のために頻繁にバージョンアップが施される。
【０００５】
そのため、アプリケーションの開発時期の相違によりバージョンの異なるダイナミックリンクライブラリを同梱することになり、複数のアプリケーションをインストールする利用者は複数のダイナミックリンクライブラリから、一つのバージョンを選択する必要があった。
【０００６】
従来技術について、図８を用いて更に説明する。
【０００７】
図８は、従来例の構成を示すブロック図である。
【０００８】
図８を参照すると、従来例は入力装置１とデータ処理装置４と記憶装置５とから構成されていて、データ処理装置４はアプリケーションインストール手段４１とアプリケーション起動手段４２とダイナミックリンクライブラリリンク手段４３とを含み、記憶装置５はアプリケーション記憶部５１とダイナミックリンクライブラリ記憶部５２とアプリケーション起動情報記憶部５３とを含む。
【０００９】
アプリケーションインストール手段４１は、ダイナミックリンクライブラリ記憶部５２にインストールされているダイナミックリンクライブラリのバージョンと、これからインストールしようとするダイナミックリンクライブラリのバージョンを比較し、異なるバージョンをインストールしようとする場合はその旨を利用者に通知し、既にインストールされているダイナミックリンクライブラリを使いつづけるか、異なるバージョンのダイナミックリンクライブラリを新たにインストールするかを利用者に選択させる。
【００１０】
異なるバージョンのダイナミックリンクライブラリを新たにインストールする方が選択されると、ダイナミックリンクライブラリ記憶部５２に異なるバージョンのダイナミックリンクライブラリを格納する。
【００１１】
アプリケーション起動手段４２で起動されたアプリケーションがダイナミックリンクを使用すると、ダイナミックリンクライブラリリンク手段４３がダイナミックリンクライブラリ記憶部５２に格納されている一意のダイナミックリンクライブラリをリンクする。
【００１２】
例えば、ダイナミックリンクライブラリをダイナミックリンクして実行する２つのアプリケーションがあり、アプリケーションＡは古いバージョンのダイナミックリンクライブラリとの組み合わせで正しく動作し、アプリケーションＢは新しいバージョンのダイナミックリンクライブラリとの組み合わせで正しく動作するものとする。
【００１３】
ダイナミックリンクライブラリ記憶部５２に古いバージョンのダイナミックリンクライブラリが格納されている場合、アプリケーション起動手段４２でアプリケーションＡを起動したとき、ダイナミックリンクライブラリリンク手段４３が古いバージョンのダイナミックリンクライブラリをダイナミックリンクして、アプリケーションＡは正しく動作する。
【００１４】
続いてアプリケーションＢを起動したとき、ダイナミックリンクライブラリ記憶部５２には古いバージョンのダイナミックリンクライブラリが格納されているので、古いバージョンのダイナミックリンクライブラリがダイナミックリンクされ、アプリケーションＢは正しく動作しない。
【００１５】
そのため、アプリケーションＢを起動する前に、アプリケーションインストール手段４１で新しいバージョンのダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部５２に格納し直す。
【００１６】
そして、アプリケーションＢを起動すると、新しいバージョンのダイナミックリンクライブラリがダイナミックリンクされ、アプリケーションＢは正しく動作する。
【００１７】
その後に、再度アプリケーションＡを起動する場合には、古いバージョンのダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部５２に格納し直す。
【００１８】
このように、アプリケーションが使用するバージョンのダイナミックリンクライブラリを、その都度ダイナミックリンクライブラリ記憶部５２に格納し直している。
【００１９】
あるいは、ダイナミックリンクライブラリのバージョン競合を回避するために、ダイナミックリンクライブラリの格納場所を分ける方法もある（この構成については図示せず）。
【００２０】
この方法では、アプリケーションに関連するダイナミックリンクライブラリをアプリケーションと同じ格納場所に格納している。
【００２１】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術には、次のような問題点があった。
【００２２】
すなわち、ダイナミックリンクライブラリ記憶部に択一的に１つのバージョンのダイナミックリンクライブラリしか格納することができないために、その都度アプリケーションが使用するバージョンのダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に格納し直さなければならず、運用が煩雑で誤操作を招きやすいことである。もし、正しく格納し直さずにアプリケーションを実行すると、アプリケーションが誤動作して障害を引き起こすことになる。
【００２３】
また、ダイナミックリンクライブラリの格納場所を分けて格納する場合には、同一ダイナミックリンクライブラリが１個だけ存在すればよいときでも、それを使用するアプリケーションの個数分だけ存在することになり、ダイナミックリンクライブラリの格納スペースが増大してしまう。
【００２４】
本発明の目的は、複数のアプリケーションがそれぞれ異なるバージョンのダイナミックリンクライブラリをダイナミックリンクする必要がある場合にも、アプリケーションに正しいダイナミックリンクライブラリをダイナミックリンクするダイナミックリンクライブラリ制御方式，方法および記録媒体を提供することにある。
【００２５】
【課題を解決するための手段】
本願第１の発明のダイナミックリンクライブラリ制御方式は、アプリケーションを格納するアプリケーション記憶部と、ダイナミックリンクライブラリを格納するダイナミックリンクライブラリ記憶部と、アプリケーション起動情報を登録するアプリケーション起動情報記憶部と、アプリケーションとダイナミックリンクライブラリとの対応情報を登録するダイナミックリンク情報記憶部と、を有し、アプリケーションインストール手段とアプリケーション起動手段に指示を与える入力手段と、前記入力手段によって指定されたアプリケーションを前記アプリケーション記憶部に格納し格納場所をアプリケーション起動情報として前記アプリケーション起動情報記憶部に登録しダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部に仮格納するアプリケーションインストール手段と、前記仮格納されたダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部に本格納し前記アプリケーションインストール手段によって格納されたアプリケーションと前記本格納されたダイナミックリンクライブラリとの対応情報を前記ダイナミックリンク情報記憶部に登録するダイナミックリンクライブラリ登録手段と、前記入力手段によって指定されたアプリケーションを前記アプリケーション起動情報記憶部のアプリケーション起動情報を基に前記アプリケーション記憶部からロードして起動実行するアプリケーション起動手段と、前記アプリケーション起動手段によって起動されたアプリケーションがダイナミックリンクを要求したときに呼び出し元アプリケーション名と前記ダイナミックリンク情報記憶部の対応情報を基にダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部からロードしてアプリケーションにダイナミックリンクするダイナミックリンクライブラリリンク手段と、を備えることを特徴とする。
【００２６】
本願第２の発明のダイナミックリンクライブラリ制御方式は、第１の発明において前記ダイナミックリンクライブラリ記憶部は、前記ダイナミックリンクライブラリが仮格納される仮格納領域と前記ダイナミックリンクライブラリが本格納される本格納領域の２つに分割管理されることを特徴とする。
【００２７】
本願第３の発明のダイナミックリンクライブラリ制御方式は、第２の発明において前記本格納領域は、同一名のダイナミックリンクライブラリを格納し得る構造を成すことを特徴とする。
【００２８】
本願第４の発明のダイナミックリンクライブラリ制御方式は、第１の発明において前記ダイナミックリンクライブラリ登録手段は、前記仮格納されたダイナミックリンクライブラリと既に本格納されているダイナミックリンクライブラリとを比較し、前記仮格納されたダイナミックリンクライブラリと同一名かつ同一内容のものが存在しないときに、前記仮格納されたダイナミックリンクライブラリを本格納することを特徴とする。
【００２９】
本願第５の発明のダイナミックリンクライブラリ制御方式は、第１の発明において前記対応情報は、前記アプリケーション名と前記本格納されたダイナミックリンクライブラリ名と前記本格納されたダイナミックリンクライブラリ格納場所とから成ることを特徴とする。
【００３０】
本願第６の発明のダイナミックリンクライブラリ制御方法は、アプリケーションをアプリケーション記憶部に格納してアプリケーション名とアプリケーション格納場所をアプリケーション起動情報としてアプリケーション起動情報記憶部に登録し、ダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に仮格納し、前記仮格納されたダイナミックリンクライブラリと既にダイナミックリンクライブラリ記憶部に本格納されているダイナミックリンクライブラリとを比較し前記仮格納されたダイナミックリンクライブラリと同一名かつ同一内容のものが存在しないときに前記仮格納されたダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に本格納し、前記アプリケーション名と前記本格納されたダイナミックリンクライブラリ名と本格納されたダイナミックリンクライブラリ格納場所を対応情報としてダイナミックリンク情報記憶部に登録し、起動指定されたアプリケーションを前記アプリケーション起動情報を参照してアプリケーション記憶部からロードして起動実行し、前記実行中のアプリケーションがダイナミックリンクを要求したときに前記アプリケーション名をキーとして前記対応情報を参照し、前記対応情報に登録されているダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部からロードしてアプリケーションにダイナミックリンクする、ことを特徴とする。
【００３１】
本願第７の発明の記録媒体は、アプリケーションをアプリケーション記憶部に格納してアプリケーション名とアプリケーション格納場所をアプリケーション起動情報としてアプリケーション起動情報記憶部に登録するアプリケーション格納処理と、ダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に仮格納するダイナミックリンクライブラリ仮格納処理と、前記仮格納されたダイナミックリンクライブラリと既にダイナミックリンクライブラリ記憶部に本格納されているダイナミックリンクライブラリとを比較し前記仮格納されたダイナミックリンクライブラリと同一名かつ同一内容のものが存在しないときに前記仮格納されたダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に本格納するダイナミックリンクライブラリ本格納処理と、前記アプリケーション名と前記本格納されたダイナミックリンクライブラリ名と本格納されたダイナミックリンクライブラリ格納場所を対応情報としてダイナミックリンク情報記憶部に登録する対応情報登録処理と、起動指定されたアプリケーションを前記アプリケーション起動情報を参照してアプリケーション記憶部からロードして起動実行するアプリケーション起動処理と、前記実行中のアプリケーションがダイナミックリンクを要求したときに前記アプリケーション名をキーとして前記対応情報を参照する対応情報参照処理と、前記対応情報に登録されているダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部からロードしてアプリケーションにダイナミックリンクするダイナミックリンク処理と、をコンピュータに実行させるためのプログラムを記録したことを特徴とする。
【００３３】
【発明の実施の形態】
本発明の特徴は、ダイナミックリンクライブラリ名が同じでも内容が異なるダイナミックリンクライブラリ、即ちバージョンが異なるダイナミックリンクライブラリを同一ダイナミックリンクライブラリ記憶部に保管し、起動されたアプリケーションに対応したバージョンのダイナミックリンクライブラリを選択してダイナミックリンクすることにある。
【００３４】
本発明の実施の形態について、図面を参照して詳細に説明する。
【００３５】
図１は、本発明の実施の形態の構成を示すブロック図である。
【００３６】
図２は、ダイナミックリンクライブラリ記憶部を説明する図である。
【００３７】
図３は、アプリケーション起動情報の構造を示す図である。
【００３８】
図４は、対応情報の構造を示す図である。
【００３９】
図１を参照すると、本発明のダイナミックリンクライブラリ制御方式は、入力装置１と、データ処理装置２と、記憶装置３と、から構成されている。
【００４０】
入力装置１は、データ処理装置２に指示を与える装置で、キーボードなどである。
【００４１】
データ処理装置２は、アプリケーションインストール手段２１と、ダイナミックリンクライブラリ登録手段２２と、アプリケーション起動手段２３と、ダイナミックリンクライブラリリンク手段２４と、を備える。
【００４２】
アプリケーションインストール手段２１は、入力装置１によって指定されたアプリケーションプログラム（以降、単にアプリケーションという）を、インストール装置（図示せず）からアプリケーション記憶部３１に格納し、その格納場所をアプリケーション起動情報としてアプリケーション起動情報記憶部３３に登録する。また、アプリケーションインストール手段２１は、ダイナミックリンクライブラリを、インストール装置（図示せず）からダイナミックリンクライブラリ記憶部３２に格納（仮格納）する。
【００４３】
ダイナミックリンクライブラリ登録手段２２は、アプリケーションインストール手段２１終了時に続けて呼び出される。ダイナミックリンクライブラリ登録手段２２は、同じダイナミックリンクライブラリ名で内容が異なるダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部３２内で共存させるために、ダイナミックリンクライブラリ記憶部３２内で格納場所を分けて格納し管理する。
【００４４】
ダイナミックリンクライブラリ登録手段２２は、アプリケーションインストール手段２１によりダイナミックリンクライブラリ記憶部３２に仮格納されたダイナミックリンクライブラリの格納場所を変更して本格納する。更に、アプリケーションインストール手段２１により格納されたアプリケーション名と本格納したダイナミックリンクライブラリのダイナミックリンクライブラリ情報（ダイナミックリンクライブラリ名およびダイナミックリンクライブラリ格納場所）との対応情報をダイナミックリンク情報記憶部３４に登録する。
【００４５】
アプリケーション起動手段２３は、入力手段１によって指定されたアプリケーションを、アプリケーションインストール手段２１がアプリケーション起動情報記憶部３３に登録したアプリケーション起動情報を基にアプリケーション記憶部３１からロードして起動実行する。
【００４６】
ダイナミックリンクライブラリリンク手段２４は、アプリケーション起動手段２３によって起動されたアプリケーションがダイナミックリンクを要求したときに、制御を渡される。
【００４７】
ダイナミックリンクライブラリリンク手段２４は、呼び出し元アプリケーション名とダイナミックリンクライブラリ登録手段２２がダイナミックリンク情報記憶部３４に登録した対応情報を基に、適切なダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部３２からロードしてアプリケーションにダイナミックリンクする。
【００４８】
記憶装置３は、情報を記憶する装置であり、アプリケーション記憶部３１と、ダイナミックリンクライブラリ記憶部３２と、アプリケーション起動情報記憶部３３と、ダイナミックリンク情報記憶部３４と、を備えている。
【００４９】
アプリケーション記憶部３１は、アプリケーションを格納する領域である。アプリケーションはアプリケーションインストール手段２１により格納される。
【００５０】
ダイナミックリンクライブラリ記憶部３２は、ダイナミックリンクライブラリを格納する領域である。同一名のダイナミックリンクライブラリが共存できるように、ダイナミックリンクライブラリ登録手段２２により格納管理される。
【００５１】
ダイナミックリンクライブラリ記憶部３２の構造を図２（ａ）に示す。図２（ａ）を参照すると、ダイナミックリンクライブラリ記憶部３２は、仮格納領域と本格納領域に分けられる。ダイナミックリンクライブラリ登録手段２２はダイナミックリンクライブラリを格納するときに、先ず仮格納領域に格納して同一名かつ同一内容のものが本格納領域内に既にあるかないかを確認し、同一名かつ同一内容のものが本格納領域内になければ仮格納領域のダイナミックリンクライブラリを本格納領域に移す。ダイナミックリンクライブラリ記憶部３２の格納例を図２（ｂ）に示す。図２（ｂ）を参照すると、ダイナミックリンクライブラリ記憶部３２の本格納領域には、ダイナミックリンクライブラリ名が”ＡＡＡ”，”ＢＢＢ”，”ＣＣＣ”の３つのダイナミックリンクライブラリが格納されている。
【００５２】
アプリケーション起動情報記憶部３３は、各アプリケーションがアプリケーション記憶部３１内のどこの領域にインストールされているかのアプリケーション起動情報を登録する領域である。アプリケーション起動情報は、アプリケーション名とアプリケーション記憶部３１内のアプリケーション格納場所とから成り、アプリケーションインストール手段２１により登録される。アプリケーション起動情報の構造を図３に示す。
【００５３】
ダイナミックリンク情報記憶部３４は、アプリケーションとダイナミックリンクライブラリの対応情報を登録する領域である。対応情報は、アプリケーション名とダイナミックリンクライブラリ名とダイナミックリンクライブラリ記憶部３２内のダイナミックリンクライブラリ格納場所とから成り、ダイナミックリンクライブラリ登録手段２２により登録される。対応情報の構造を図４に示す。
【００５４】
本発明の実施の形態の動作について、図１，図５および図６を参照して詳細に説明する。
【００５５】
図５は、アプリケーションおよびダイナミックリンクライブラリ格納動作のフローを示す図である。
【００５６】
図６は、ダイナミックリンク動作のフローを示す図である。
【００５７】
先ず、アプリケーションおよびダイナミックリンクライブラリを格納する動作について説明する。
【００５８】
図５を参照すると、アプリケーションインストール手段２１は、入力装置１によって起動され、アプリケーションをアプリケーション記憶部３１に格納し、その格納場所をアプリケーション起動情報記憶部３３に登録する。また、ダイナミックリンクライブラリが有れば、ダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部３２に仮格納する（ステップＡ１）。
【００５９】
ダイナミックリンクライブラリ登録手段２２は、アプリケーションインストール手段２１終了時に続けて呼び出され、アプリケーションインストール手段２１によってダイナミックリンクライブラリが仮格納されたかどうかを確認する（ステップＡ２）。
【００６０】
ダイナミックリンクライブラリが仮格納されたことを検出すると、同じダイナミックリンクライブラリ名のダイナミックリンクライブラリが既に登録されているかどうかを確認する（ステップＡ３）。
【００６１】
同じダイナミックリンクライブラリ名のダイナミックリンクライブラリが既に登録されている場合は、内容が一致しているかどうかを確認する（ステップＡ４）。
【００６２】
ダイナミックリンクライブラリ名も内容も完全に一致した場合は、既に登録されているダイナミックリンクライブラリの格納情報で対応情報を構成してダイナミックリンク情報記憶部３４に登録する（ステップＡ５）。
【００６３】
ダイナミックリンクライブラリ名が新規の場合、またはダイナミックリンクライブラリ名が同じでも内容が異なる場合、ステップＡ１で仮格納したダイナミックリンクライブラリを新規の場所に移動して本格納し、新規情報で対応情報を構成してダイナミックリンク情報記憶部３４に登録する（ステップＡ６）。
【００６４】
続いて、ダイナミックリンクの動作について説明する。
【００６５】
図６を参照すると、アプリケーション起動手段２３は、入力装置１によって指定されたアプリケーションをアプリケーション記憶部３１からロードして起動実行する。起動されたアプリケーションはダイナミックリンクを要求して動作するものとする（ステップＢ１）。
【００６６】
実行中のアプリケーションがダイナミックリンクを要求し、ダイナミックリンクライブラリリンク手段２４が起動される（ステップＢ２）。
【００６７】
ダイナミックリンクライブラリリンク手段２４はダイナミックリンクライブラリ記憶部３２に同一名のダイナミックリンクライブラリが格納されていても、ダイナミックリンク情報記憶部３４に登録されている対応情報を基にアプリケーションと同時にインストールされたダイナミックリンクライブラリをダイナミックリンクする（ステップＢ３）。
【００６８】
ダイナミックリンクライブラリをダイナミックリンクした後に、アプリケーションの実行を継続する（ステップＢ４）。
【００６９】
図７を用いて、更に詳細に動作を説明する。
【００７０】
図７は、動作を説明する図である。
【００７１】
動作を説明する前提として、記憶装置３の各部が図７（ａ）〜（ｄ）に示すようになっているものとする。
【００７２】
先ず、前提を説明する。
【００７３】
図７を参照すると、（ａ）は、アプリケーション記憶部３１にアプリケーション”ＡＰＲ”が格納場所”ｒ”から格納され、アプリケーション”ＡＰＳ”が格納場所”ｓ”から格納されていることを示している。
【００７４】
（ｂ）は、ダイナミックリンクライブラリ記憶部３２にダイナミックリンクライブラリ”ＤＬＬＡ”が格納場所”ａ”から格納され、ダイナミックリンクライブラリ”ＤＬＬＢ”が格納場所”ｂ”から格納されていることを示している。
【００７５】
（ｃ）は、アプリケーション起動情報記憶部３３に登録されているアプリケーション起動情報を示している。
【００７６】
（ｄ）は、ダイナミックリンク情報記憶部３４に登録されている対応情報を示している。
【００７７】
次に、新たなアプリケーションのインストールについて説明する。
【００７８】
新たなアプリケーション”ＡＰＴ”をアプリケーションインストール手段２１によりアプリケーション記憶部３１に格納する。図７（ｅ）は、アプリケーション”ＡＰＴ”がアプリケーション記憶部３１の格納場所”ｔ”から格納されたことを示している。また、図７（ｇ）は、アプリケーション起動情報記憶部３３にアプリケーション”ＡＰＴ”のアプリケーション起動情報が追加されたことを示している。
【００７９】
アプリケーション”ＡＰＴ”にはダイナミックリンクライブラリ”ＤＬＬＡ”が同梱されているものとする。そこで、アプリケーションインストール手段２１はダイナミックリンクライブラリ”ＤＬＬＡ”をダイナミックリンクライブラリ記憶部３２の仮格納領域に格納する。
【００８０】
ダイナミックリンクライブラリ登録手段２２は、仮格納領域に格納されたダイナミックリンクライブラリ”ＤＬＬＡ”の内容が既に本格納領域に格納されている同一名のダイナミックリンクライブラリ（格納場所”ａ”から格納されているダイナミックリンクライブラリ”ＤＬＬＡ”）の内容と等しいか否かを確認する。この場合、格納場所”ａ”に格納されているダイナミックリンクライブラリ”ＤＬＬＡ”と内容が異なるものとする。
【００８１】
ダイナミックリンクライブラリ登録手段２２は、仮格納領域に格納されているダイナミックリンクライブラリ”ＤＬＬＡ”を本格納領域に移す。図７（ｆ）は、ダイナミックリンクライブラリ”ＤＬＬＡ”がダイナミックリンクライブラリ記憶部３２の格納場所”ｃ”から格納されたことを示している。また、図７（ｈ）は、ダイナミックリンク情報記憶部３４にアプリケーション”ＡＰＴ”とダイナミックリンクライブラリ”ＤＬＬＡ”の対応情報が追加されたことを示している。
【００８２】
続いて、新たにインストールされたアプリケーションの起動実行について説明する。
【００８３】
アプリケーション起動手段２３は、アプリケーション”ＡＰＴ”のアプリケーション起動情報を参照して、アプリケーション記憶部３１の格納場所”ｔ”からアプリケーション”ＡＰＴ”をロードして起動実行する。
【００８４】
アプリケーション”ＡＰＴ”実行中に、アプリケーション”ＡＰＴ”がダイナミックリンクを要求すると、ダイナミックリンクライブラリリンク手段２４が起動される。
【００８５】
ダイナミックリンクライブラリリンク手段２４は、ダイナミックリンクを要求したアプリケーション名をキーとして、ダイナミックリンク情報記憶部３４の対応情報を参照し、ダイナミックリンクライブラリ記憶部３２の格納場所”ｃ”から格納されているダイナミックリンクライブラリ”ＤＬＬＡ”をロードしてダイナミックリンクする。
【００８６】
ダイナミックリンクした後、アプリケーション”ＡＰＴ”の実行が継続される。
【００８７】
このように、アプリケーション起動手段２３によって起動されたアプリケーションがダイナミックリンクを要求したとき、ダイナミックリンクライブラリリンク手段２４がダイナミックリンク情報記憶部３４に登録されている対応情報を基に適切なダイナミックリンクライブラリをリンクすることにより、ダイナミックリンクライブラリ名が同一でも内容が異なるダイナミックリンクライブラリを別々のアプリケーションにリンクさせ同時に実行することができる。
【００８８】
このことにより、アプリケーションとダイナミックリンクライブラリとの間の異バージョンによる非互換によって発生するトラブルを事前に防止する効果を生じる。
【００８９】
また、ダイナミックリンクライブラリの格納位置によってバージョンを区別するため、アプリケーションおよびダイナミックリンクライブラリには、何の変更も加える必要がない利点が有る。
【００９０】
本発明による上述した実施の形態において、ダイナミックリンクライブラリ制御方式の処理動作を実行するためのプログラム等を、データとして磁気ディスクや光ディスクなどの記録媒体（図示せず）に記録するようにし、記録されたデータを読み出してダイナミックリンクライブラリ制御方式を動作させるために用いる。このように、本発明によるダイナミックリンクライブラリ制御方式を動作させるデータを記録媒体に記録させ、この記録媒体をインストールすることによりダイナミックリンクライブラリ制御方式の機能が実現できるようになる。
【００９１】
【発明の効果】
本発明の第１の効果は、ダイナミックリンクライブラリ名が同一でも内容が異なるダイナミックリンクライブラリを別々のアプリケーションにダイナミックリンクさせ同時に実行することができることである。
【００９２】
その理由は、異なるバージョンのダイナミックリンクライブラリを格納する手段を設け、ダイナミックリンク時にアプリケーションと対応づける手段を設けたからである。
【００９３】
本発明の第２の効果は、アプリケーション側（アプリケーション本体およびダイナミックリンクライブラリ）の変更を要しないことである。この結果、既出荷のアプリケーションに対しても、本発明を適用することができる。
【００９４】
その理由は、アプリケーション側の変更を要しないように、異なるバージョンのダイナミックリンクライブラリを格納する手段を設け、ダイナミックリンク時にアプリケーションと対応づける手段を設けたからである。
【００９５】
本発明の第３の効果は、ダイナミックリンクライブラリの格納スペースが必要最小限ですむことである。
【００９６】
その理由は、異なるバージョンのダイナミックリンクライブラリを同一のダイナミックリンクライブラリ記憶部に格納して、アプリケーションから共通に使用できる手段を設けたからである。
【図面の簡単な説明】
【図１】本発明の実施の形態の構成を示すブロック図
【図２】ダイナミックリンクライブラリ記憶部を説明する図
【図３】アプリケーション起動情報の構造を示す図
【図４】対応情報の構造を示す図
【図５】アプリケーションおよびダイナミックリンクライブラリ格納動作のフローを示す図
【図６】ダイナミックリンク動作のフローを示す図
【図７】動作を説明する図
【図８】従来例の構成を示すブロック図
【符号の説明】
１    入力装置
２    データ処理装置
３    記憶装置
４    データ処理装置
５    記憶装置
２１    アプリケーションインストール手段
２２    ダイナミックリンクライブラリ登録手段
２３    アプリケーション起動手段
２４    ダイナミックリンクライブラリリンク手段
３１    アプリケーション記憶部
３２    ダイナミックリンクライブラリ記憶部
３３    アプリケーション起動情報記憶部
３４    ダイナミックリンク情報記憶部
４１    アプリケーションインストール手段
４２    アプリケーション起動手段
４３    ダイナミックリンクライブラリリンク手段
５１    アプリケーション記憶部
５２    ダイナミックリンクライブラリ記憶部
５３    アプリケーション起動情報記憶部
【図１】
0003570940.tif 000002
【図２】
0003570940.tif 000003
【図３】
0003570940.tif 000004
【図４】
0003570940.tif 000005
【図５】
0003570940.tif 000006
【図６】
0003570940.tif 000007
【図７】
0003570940.tif 000008
【図８】
0003570940.tif 000009