[go: up one dir, main page]

JP3570940B2 - ダイナミックリンクライブラリ制御方式,方法および記録媒体 - Google Patents

ダイナミックリンクライブラリ制御方式,方法および記録媒体 Download PDF

Info

Publication number
JP3570940B2
JP3570940B2 JP33403099A JP33403099A JP3570940B2 JP 3570940 B2 JP3570940 B2 JP 3570940B2 JP 33403099 A JP33403099 A JP 33403099A JP 33403099 A JP33403099 A JP 33403099A JP 3570940 B2 JP3570940 B2 JP 3570940B2
Authority
JP
Japan
Prior art keywords
dynamic link
application
link library
storage unit
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP33403099A
Other languages
English (en)
Other versions
JP2001154831A (ja
Inventor
誠 楳田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC Software Hokkaido Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Software Hokkaido Ltd filed Critical NEC Software Hokkaido Ltd
Priority to JP33403099A priority Critical patent/JP3570940B2/ja
Publication of JP2001154831A publication Critical patent/JP2001154831A/ja
Application granted granted Critical
Publication of JP3570940B2 publication Critical patent/JP3570940B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ダイナミックリンクライブラリの制御方式に関し、特に異なるバージョンのダイナミックリンクライブラリが混在する中から起動されたアプリケーションに対応したダイナミックリンクライブラリをダイナミックリンクするダイナミックリンクライブラリ制御方式,方法および記録媒体に関する。
【0002】
【従来の技術】
アプリケーションの開発に使用している言語は、ランタイムライブラリがダイナミックリンクライブラリとして提供されることが通常の形態である。
【0003】
そこで、アプリケーションパッケージ内にランタイムライブラリ等のダイナミックリンクライブラリも同梱し、アプリケーションとダイナミックリンクライブラリをインストールするためのアプリケーションインストール手段を提供している。
【0004】
ところが、言語のランタイムライブラリは障害修正や機能追加のために頻繁にバージョンアップが施される。
【0005】
そのため、アプリケーションの開発時期の相違によりバージョンの異なるダイナミックリンクライブラリを同梱することになり、複数のアプリケーションをインストールする利用者は複数のダイナミックリンクライブラリから、一つのバージョンを選択する必要があった。
【0006】
従来技術について、図8を用いて更に説明する。
【0007】
図8は、従来例の構成を示すブロック図である。
【0008】
図8を参照すると、従来例は入力装置1とデータ処理装置4と記憶装置5とから構成されていて、データ処理装置4はアプリケーションインストール手段41とアプリケーション起動手段42とダイナミックリンクライブラリリンク手段43とを含み、記憶装置5はアプリケーション記憶部51とダイナミックリンクライブラリ記憶部52とアプリケーション起動情報記憶部53とを含む。
【0009】
アプリケーションインストール手段41は、ダイナミックリンクライブラリ記憶部52にインストールされているダイナミックリンクライブラリのバージョンと、これからインストールしようとするダイナミックリンクライブラリのバージョンを比較し、異なるバージョンをインストールしようとする場合はその旨を利用者に通知し、既にインストールされているダイナミックリンクライブラリを使いつづけるか、異なるバージョンのダイナミックリンクライブラリを新たにインストールするかを利用者に選択させる。
【0010】
異なるバージョンのダイナミックリンクライブラリを新たにインストールする方が選択されると、ダイナミックリンクライブラリ記憶部52に異なるバージョンのダイナミックリンクライブラリを格納する。
【0011】
アプリケーション起動手段42で起動されたアプリケーションがダイナミックリンクを使用すると、ダイナミックリンクライブラリリンク手段43がダイナミックリンクライブラリ記憶部52に格納されている一意のダイナミックリンクライブラリをリンクする。
【0012】
例えば、ダイナミックリンクライブラリをダイナミックリンクして実行する2つのアプリケーションがあり、アプリケーションAは古いバージョンのダイナミックリンクライブラリとの組み合わせで正しく動作し、アプリケーションBは新しいバージョンのダイナミックリンクライブラリとの組み合わせで正しく動作するものとする。
【0013】
ダイナミックリンクライブラリ記憶部52に古いバージョンのダイナミックリンクライブラリが格納されている場合、アプリケーション起動手段42でアプリケーションAを起動したとき、ダイナミックリンクライブラリリンク手段43が古いバージョンのダイナミックリンクライブラリをダイナミックリンクして、アプリケーションAは正しく動作する。
【0014】
続いてアプリケーションBを起動したとき、ダイナミックリンクライブラリ記憶部52には古いバージョンのダイナミックリンクライブラリが格納されているので、古いバージョンのダイナミックリンクライブラリがダイナミックリンクされ、アプリケーションBは正しく動作しない。
【0015】
そのため、アプリケーションBを起動する前に、アプリケーションインストール手段41で新しいバージョンのダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部52に格納し直す。
【0016】
そして、アプリケーションBを起動すると、新しいバージョンのダイナミックリンクライブラリがダイナミックリンクされ、アプリケーションBは正しく動作する。
【0017】
その後に、再度アプリケーションAを起動する場合には、古いバージョンのダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部52に格納し直す。
【0018】
このように、アプリケーションが使用するバージョンのダイナミックリンクライブラリを、その都度ダイナミックリンクライブラリ記憶部52に格納し直している。
【0019】
あるいは、ダイナミックリンクライブラリのバージョン競合を回避するために、ダイナミックリンクライブラリの格納場所を分ける方法もある(この構成については図示せず)。
【0020】
この方法では、アプリケーションに関連するダイナミックリンクライブラリをアプリケーションと同じ格納場所に格納している。
【0021】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術には、次のような問題点があった。
【0022】
すなわち、ダイナミックリンクライブラリ記憶部に択一的に1つのバージョンのダイナミックリンクライブラリしか格納することができないために、その都度アプリケーションが使用するバージョンのダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に格納し直さなければならず、運用が煩雑で誤操作を招きやすいことである。もし、正しく格納し直さずにアプリケーションを実行すると、アプリケーションが誤動作して障害を引き起こすことになる。
【0023】
また、ダイナミックリンクライブラリの格納場所を分けて格納する場合には、同一ダイナミックリンクライブラリが1個だけ存在すればよいときでも、それを使用するアプリケーションの個数分だけ存在することになり、ダイナミックリンクライブラリの格納スペースが増大してしまう。
【0024】
本発明の目的は、複数のアプリケーションがそれぞれ異なるバージョンのダイナミックリンクライブラリをダイナミックリンクする必要がある場合にも、アプリケーションに正しいダイナミックリンクライブラリをダイナミックリンクするダイナミックリンクライブラリ制御方式,方法および記録媒体を提供することにある。
【0025】
【課題を解決するための手段】
本願第1の発明のダイナミックリンクライブラリ制御方式は、アプリケーションを格納するアプリケーション記憶部と、ダイナミックリンクライブラリを格納するダイナミックリンクライブラリ記憶部と、アプリケーション起動情報を登録するアプリケーション起動情報記憶部と、アプリケーションとダイナミックリンクライブラリとの対応情報を登録するダイナミックリンク情報記憶部と、を有し、アプリケーションインストール手段とアプリケーション起動手段に指示を与える入力手段と、前記入力手段によって指定されたアプリケーションを前記アプリケーション記憶部に格納し格納場所をアプリケーション起動情報として前記アプリケーション起動情報記憶部に登録しダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部に仮格納するアプリケーションインストール手段と、前記仮格納されたダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部に本格納し前記アプリケーションインストール手段によって格納されたアプリケーションと前記本格納されたダイナミックリンクライブラリとの対応情報を前記ダイナミックリンク情報記憶部に登録するダイナミックリンクライブラリ登録手段と、前記入力手段によって指定されたアプリケーションを前記アプリケーション起動情報記憶部のアプリケーション起動情報を基に前記アプリケーション記憶部からロードして起動実行するアプリケーション起動手段と、前記アプリケーション起動手段によって起動されたアプリケーションがダイナミックリンクを要求したときに呼び出し元アプリケーション名と前記ダイナミックリンク情報記憶部の対応情報を基にダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部からロードしてアプリケーションにダイナミックリンクするダイナミックリンクライブラリリンク手段と、を備えることを特徴とする。
【0026】
本願第2の発明のダイナミックリンクライブラリ制御方式は、第1の発明において前記ダイナミックリンクライブラリ記憶部は、前記ダイナミックリンクライブラリが仮格納される仮格納領域と前記ダイナミックリンクライブラリが本格納される本格納領域の2つに分割管理されることを特徴とする。
【0027】
本願第3の発明のダイナミックリンクライブラリ制御方式は、第2の発明において前記本格納領域は、同一名のダイナミックリンクライブラリを格納し得る構造を成すことを特徴とする。
【0028】
本願第4の発明のダイナミックリンクライブラリ制御方式は、第1の発明において前記ダイナミックリンクライブラリ登録手段は、前記仮格納されたダイナミックリンクライブラリと既に本格納されているダイナミックリンクライブラリとを比較し、前記仮格納されたダイナミックリンクライブラリと同一名かつ同一内容のものが存在しないときに、前記仮格納されたダイナミックリンクライブラリを本格納することを特徴とする。
【0029】
本願第5の発明のダイナミックリンクライブラリ制御方式は、第1の発明において前記対応情報は、前記アプリケーション名と前記本格納されたダイナミックリンクライブラリ名と前記本格納されたダイナミックリンクライブラリ格納場所とから成ることを特徴とする。
【0030】
本願第6の発明のダイナミックリンクライブラリ制御方法は、アプリケーションをアプリケーション記憶部に格納してアプリケーション名とアプリケーション格納場所をアプリケーション起動情報としてアプリケーション起動情報記憶部に登録し、ダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に仮格納し、前記仮格納されたダイナミックリンクライブラリと既にダイナミックリンクライブラリ記憶部に本格納されているダイナミックリンクライブラリとを比較し前記仮格納されたダイナミックリンクライブラリと同一名かつ同一内容のものが存在しないときに前記仮格納されたダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に本格納し、前記アプリケーション名と前記本格納されたダイナミックリンクライブラリ名と本格納されたダイナミックリンクライブラリ格納場所を対応情報としてダイナミックリンク情報記憶部に登録し、起動指定されたアプリケーションを前記アプリケーション起動情報を参照してアプリケーション記憶部からロードして起動実行し、前記実行中のアプリケーションがダイナミックリンクを要求したときに前記アプリケーション名をキーとして前記対応情報を参照し、前記対応情報に登録されているダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部からロードしてアプリケーションにダイナミックリンクする、ことを特徴とする。
【0031】
本願第7の発明の記録媒体は、アプリケーションをアプリケーション記憶部に格納してアプリケーション名とアプリケーション格納場所をアプリケーション起動情報としてアプリケーション起動情報記憶部に登録するアプリケーション格納処理と、ダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に仮格納するダイナミックリンクライブラリ仮格納処理と、前記仮格納されたダイナミックリンクライブラリと既にダイナミックリンクライブラリ記憶部に本格納されているダイナミックリンクライブラリとを比較し前記仮格納されたダイナミックリンクライブラリと同一名かつ同一内容のものが存在しないときに前記仮格納されたダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に本格納するダイナミックリンクライブラリ本格納処理と、前記アプリケーション名と前記本格納されたダイナミックリンクライブラリ名と本格納されたダイナミックリンクライブラリ格納場所を対応情報としてダイナミックリンク情報記憶部に登録する対応情報登録処理と、起動指定されたアプリケーションを前記アプリケーション起動情報を参照してアプリケーション記憶部からロードして起動実行するアプリケーション起動処理と、前記実行中のアプリケーションがダイナミックリンクを要求したときに前記アプリケーション名をキーとして前記対応情報を参照する対応情報参照処理と、前記対応情報に登録されているダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部からロードしてアプリケーションにダイナミックリンクするダイナミックリンク処理と、をコンピュータに実行させるためのプログラムを記録したことを特徴とする。
【0033】
【発明の実施の形態】
本発明の特徴は、ダイナミックリンクライブラリ名が同じでも内容が異なるダイナミックリンクライブラリ、即ちバージョンが異なるダイナミックリンクライブラリを同一ダイナミックリンクライブラリ記憶部に保管し、起動されたアプリケーションに対応したバージョンのダイナミックリンクライブラリを選択してダイナミックリンクすることにある。
【0034】
本発明の実施の形態について、図面を参照して詳細に説明する。
【0035】
図1は、本発明の実施の形態の構成を示すブロック図である。
【0036】
図2は、ダイナミックリンクライブラリ記憶部を説明する図である。
【0037】
図3は、アプリケーション起動情報の構造を示す図である。
【0038】
図4は、対応情報の構造を示す図である。
【0039】
図1を参照すると、本発明のダイナミックリンクライブラリ制御方式は、入力装置1と、データ処理装置2と、記憶装置3と、から構成されている。
【0040】
入力装置1は、データ処理装置2に指示を与える装置で、キーボードなどである。
【0041】
データ処理装置2は、アプリケーションインストール手段21と、ダイナミックリンクライブラリ登録手段22と、アプリケーション起動手段23と、ダイナミックリンクライブラリリンク手段24と、を備える。
【0042】
アプリケーションインストール手段21は、入力装置1によって指定されたアプリケーションプログラム(以降、単にアプリケーションという)を、インストール装置(図示せず)からアプリケーション記憶部31に格納し、その格納場所をアプリケーション起動情報としてアプリケーション起動情報記憶部33に登録する。また、アプリケーションインストール手段21は、ダイナミックリンクライブラリを、インストール装置(図示せず)からダイナミックリンクライブラリ記憶部32に格納(仮格納)する。
【0043】
ダイナミックリンクライブラリ登録手段22は、アプリケーションインストール手段21終了時に続けて呼び出される。ダイナミックリンクライブラリ登録手段22は、同じダイナミックリンクライブラリ名で内容が異なるダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部32内で共存させるために、ダイナミックリンクライブラリ記憶部32内で格納場所を分けて格納し管理する。
【0044】
ダイナミックリンクライブラリ登録手段22は、アプリケーションインストール手段21によりダイナミックリンクライブラリ記憶部32に仮格納されたダイナミックリンクライブラリの格納場所を変更して本格納する。更に、アプリケーションインストール手段21により格納されたアプリケーション名と本格納したダイナミックリンクライブラリのダイナミックリンクライブラリ情報(ダイナミックリンクライブラリ名およびダイナミックリンクライブラリ格納場所)との対応情報をダイナミックリンク情報記憶部34に登録する。
【0045】
アプリケーション起動手段23は、入力手段1によって指定されたアプリケーションを、アプリケーションインストール手段21がアプリケーション起動情報記憶部33に登録したアプリケーション起動情報を基にアプリケーション記憶部31からロードして起動実行する。
【0046】
ダイナミックリンクライブラリリンク手段24は、アプリケーション起動手段23によって起動されたアプリケーションがダイナミックリンクを要求したときに、制御を渡される。
【0047】
ダイナミックリンクライブラリリンク手段24は、呼び出し元アプリケーション名とダイナミックリンクライブラリ登録手段22がダイナミックリンク情報記憶部34に登録した対応情報を基に、適切なダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部32からロードしてアプリケーションにダイナミックリンクする。
【0048】
記憶装置3は、情報を記憶する装置であり、アプリケーション記憶部31と、ダイナミックリンクライブラリ記憶部32と、アプリケーション起動情報記憶部33と、ダイナミックリンク情報記憶部34と、を備えている。
【0049】
アプリケーション記憶部31は、アプリケーションを格納する領域である。アプリケーションはアプリケーションインストール手段21により格納される。
【0050】
ダイナミックリンクライブラリ記憶部32は、ダイナミックリンクライブラリを格納する領域である。同一名のダイナミックリンクライブラリが共存できるように、ダイナミックリンクライブラリ登録手段22により格納管理される。
【0051】
ダイナミックリンクライブラリ記憶部32の構造を図2(a)に示す。図2(a)を参照すると、ダイナミックリンクライブラリ記憶部32は、仮格納領域と本格納領域に分けられる。ダイナミックリンクライブラリ登録手段22はダイナミックリンクライブラリを格納するときに、先ず仮格納領域に格納して同一名かつ同一内容のものが本格納領域内に既にあるかないかを確認し、同一名かつ同一内容のものが本格納領域内になければ仮格納領域のダイナミックリンクライブラリを本格納領域に移す。ダイナミックリンクライブラリ記憶部32の格納例を図2(b)に示す。図2(b)を参照すると、ダイナミックリンクライブラリ記憶部32の本格納領域には、ダイナミックリンクライブラリ名が”AAA”,”BBB”,”CCC”の3つのダイナミックリンクライブラリが格納されている。
【0052】
アプリケーション起動情報記憶部33は、各アプリケーションがアプリケーション記憶部31内のどこの領域にインストールされているかのアプリケーション起動情報を登録する領域である。アプリケーション起動情報は、アプリケーション名とアプリケーション記憶部31内のアプリケーション格納場所とから成り、アプリケーションインストール手段21により登録される。アプリケーション起動情報の構造を図3に示す。
【0053】
ダイナミックリンク情報記憶部34は、アプリケーションとダイナミックリンクライブラリの対応情報を登録する領域である。対応情報は、アプリケーション名とダイナミックリンクライブラリ名とダイナミックリンクライブラリ記憶部32内のダイナミックリンクライブラリ格納場所とから成り、ダイナミックリンクライブラリ登録手段22により登録される。対応情報の構造を図4に示す。
【0054】
本発明の実施の形態の動作について、図1,図5および図6を参照して詳細に説明する。
【0055】
図5は、アプリケーションおよびダイナミックリンクライブラリ格納動作のフローを示す図である。
【0056】
図6は、ダイナミックリンク動作のフローを示す図である。
【0057】
先ず、アプリケーションおよびダイナミックリンクライブラリを格納する動作について説明する。
【0058】
図5を参照すると、アプリケーションインストール手段21は、入力装置1によって起動され、アプリケーションをアプリケーション記憶部31に格納し、その格納場所をアプリケーション起動情報記憶部33に登録する。また、ダイナミックリンクライブラリが有れば、ダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部32に仮格納する(ステップA1)。
【0059】
ダイナミックリンクライブラリ登録手段22は、アプリケーションインストール手段21終了時に続けて呼び出され、アプリケーションインストール手段21によってダイナミックリンクライブラリが仮格納されたかどうかを確認する(ステップA2)。
【0060】
ダイナミックリンクライブラリが仮格納されたことを検出すると、同じダイナミックリンクライブラリ名のダイナミックリンクライブラリが既に登録されているかどうかを確認する(ステップA3)。
【0061】
同じダイナミックリンクライブラリ名のダイナミックリンクライブラリが既に登録されている場合は、内容が一致しているかどうかを確認する(ステップA4)。
【0062】
ダイナミックリンクライブラリ名も内容も完全に一致した場合は、既に登録されているダイナミックリンクライブラリの格納情報で対応情報を構成してダイナミックリンク情報記憶部34に登録する(ステップA5)。
【0063】
ダイナミックリンクライブラリ名が新規の場合、またはダイナミックリンクライブラリ名が同じでも内容が異なる場合、ステップA1で仮格納したダイナミックリンクライブラリを新規の場所に移動して本格納し、新規情報で対応情報を構成してダイナミックリンク情報記憶部34に登録する(ステップA6)。
【0064】
続いて、ダイナミックリンクの動作について説明する。
【0065】
図6を参照すると、アプリケーション起動手段23は、入力装置1によって指定されたアプリケーションをアプリケーション記憶部31からロードして起動実行する。起動されたアプリケーションはダイナミックリンクを要求して動作するものとする(ステップB1)。
【0066】
実行中のアプリケーションがダイナミックリンクを要求し、ダイナミックリンクライブラリリンク手段24が起動される(ステップB2)。
【0067】
ダイナミックリンクライブラリリンク手段24はダイナミックリンクライブラリ記憶部32に同一名のダイナミックリンクライブラリが格納されていても、ダイナミックリンク情報記憶部34に登録されている対応情報を基にアプリケーションと同時にインストールされたダイナミックリンクライブラリをダイナミックリンクする(ステップB3)。
【0068】
ダイナミックリンクライブラリをダイナミックリンクした後に、アプリケーションの実行を継続する(ステップB4)。
【0069】
図7を用いて、更に詳細に動作を説明する。
【0070】
図7は、動作を説明する図である。
【0071】
動作を説明する前提として、記憶装置3の各部が図7(a)〜(d)に示すようになっているものとする。
【0072】
先ず、前提を説明する。
【0073】
図7を参照すると、(a)は、アプリケーション記憶部31にアプリケーション”APR”が格納場所”r”から格納され、アプリケーション”APS”が格納場所”s”から格納されていることを示している。
【0074】
(b)は、ダイナミックリンクライブラリ記憶部32にダイナミックリンクライブラリ”DLLA”が格納場所”a”から格納され、ダイナミックリンクライブラリ”DLLB”が格納場所”b”から格納されていることを示している。
【0075】
(c)は、アプリケーション起動情報記憶部33に登録されているアプリケーション起動情報を示している。
【0076】
(d)は、ダイナミックリンク情報記憶部34に登録されている対応情報を示している。
【0077】
次に、新たなアプリケーションのインストールについて説明する。
【0078】
新たなアプリケーション”APT”をアプリケーションインストール手段21によりアプリケーション記憶部31に格納する。図7(e)は、アプリケーション”APT”がアプリケーション記憶部31の格納場所”t”から格納されたことを示している。また、図7(g)は、アプリケーション起動情報記憶部33にアプリケーション”APT”のアプリケーション起動情報が追加されたことを示している。
【0079】
アプリケーション”APT”にはダイナミックリンクライブラリ”DLLA”が同梱されているものとする。そこで、アプリケーションインストール手段21はダイナミックリンクライブラリ”DLLA”をダイナミックリンクライブラリ記憶部32の仮格納領域に格納する。
【0080】
ダイナミックリンクライブラリ登録手段22は、仮格納領域に格納されたダイナミックリンクライブラリ”DLLA”の内容が既に本格納領域に格納されている同一名のダイナミックリンクライブラリ(格納場所”a”から格納されているダイナミックリンクライブラリ”DLLA”)の内容と等しいか否かを確認する。この場合、格納場所”a”に格納されているダイナミックリンクライブラリ”DLLA”と内容が異なるものとする。
【0081】
ダイナミックリンクライブラリ登録手段22は、仮格納領域に格納されているダイナミックリンクライブラリ”DLLA”を本格納領域に移す。図7(f)は、ダイナミックリンクライブラリ”DLLA”がダイナミックリンクライブラリ記憶部32の格納場所”c”から格納されたことを示している。また、図7(h)は、ダイナミックリンク情報記憶部34にアプリケーション”APT”とダイナミックリンクライブラリ”DLLA”の対応情報が追加されたことを示している。
【0082】
続いて、新たにインストールされたアプリケーションの起動実行について説明する。
【0083】
アプリケーション起動手段23は、アプリケーション”APT”のアプリケーション起動情報を参照して、アプリケーション記憶部31の格納場所”t”からアプリケーション”APT”をロードして起動実行する。
【0084】
アプリケーション”APT”実行中に、アプリケーション”APT”がダイナミックリンクを要求すると、ダイナミックリンクライブラリリンク手段24が起動される。
【0085】
ダイナミックリンクライブラリリンク手段24は、ダイナミックリンクを要求したアプリケーション名をキーとして、ダイナミックリンク情報記憶部34の対応情報を参照し、ダイナミックリンクライブラリ記憶部32の格納場所”c”から格納されているダイナミックリンクライブラリ”DLLA”をロードしてダイナミックリンクする。
【0086】
ダイナミックリンクした後、アプリケーション”APT”の実行が継続される。
【0087】
このように、アプリケーション起動手段23によって起動されたアプリケーションがダイナミックリンクを要求したとき、ダイナミックリンクライブラリリンク手段24がダイナミックリンク情報記憶部34に登録されている対応情報を基に適切なダイナミックリンクライブラリをリンクすることにより、ダイナミックリンクライブラリ名が同一でも内容が異なるダイナミックリンクライブラリを別々のアプリケーションにリンクさせ同時に実行することができる。
【0088】
このことにより、アプリケーションとダイナミックリンクライブラリとの間の異バージョンによる非互換によって発生するトラブルを事前に防止する効果を生じる。
【0089】
また、ダイナミックリンクライブラリの格納位置によってバージョンを区別するため、アプリケーションおよびダイナミックリンクライブラリには、何の変更も加える必要がない利点が有る。
【0090】
本発明による上述した実施の形態において、ダイナミックリンクライブラリ制御方式の処理動作を実行するためのプログラム等を、データとして磁気ディスクや光ディスクなどの記録媒体(図示せず)に記録するようにし、記録されたデータを読み出してダイナミックリンクライブラリ制御方式を動作させるために用いる。このように、本発明によるダイナミックリンクライブラリ制御方式を動作させるデータを記録媒体に記録させ、この記録媒体をインストールすることによりダイナミックリンクライブラリ制御方式の機能が実現できるようになる。
【0091】
【発明の効果】
本発明の第1の効果は、ダイナミックリンクライブラリ名が同一でも内容が異なるダイナミックリンクライブラリを別々のアプリケーションにダイナミックリンクさせ同時に実行することができることである。
【0092】
その理由は、異なるバージョンのダイナミックリンクライブラリを格納する手段を設け、ダイナミックリンク時にアプリケーションと対応づける手段を設けたからである。
【0093】
本発明の第2の効果は、アプリケーション側(アプリケーション本体およびダイナミックリンクライブラリ)の変更を要しないことである。この結果、既出荷のアプリケーションに対しても、本発明を適用することができる。
【0094】
その理由は、アプリケーション側の変更を要しないように、異なるバージョンのダイナミックリンクライブラリを格納する手段を設け、ダイナミックリンク時にアプリケーションと対応づける手段を設けたからである。
【0095】
本発明の第3の効果は、ダイナミックリンクライブラリの格納スペースが必要最小限ですむことである。
【0096】
その理由は、異なるバージョンのダイナミックリンクライブラリを同一のダイナミックリンクライブラリ記憶部に格納して、アプリケーションから共通に使用できる手段を設けたからである。
【図面の簡単な説明】
【図1】本発明の実施の形態の構成を示すブロック図
【図2】ダイナミックリンクライブラリ記憶部を説明する図
【図3】アプリケーション起動情報の構造を示す図
【図4】対応情報の構造を示す図
【図5】アプリケーションおよびダイナミックリンクライブラリ格納動作のフローを示す図
【図6】ダイナミックリンク動作のフローを示す図
【図7】動作を説明する図
【図8】従来例の構成を示すブロック図
【符号の説明】
1 入力装置
2 データ処理装置
3 記憶装置
4 データ処理装置
5 記憶装置
21 アプリケーションインストール手段
22 ダイナミックリンクライブラリ登録手段
23 アプリケーション起動手段
24 ダイナミックリンクライブラリリンク手段
31 アプリケーション記憶部
32 ダイナミックリンクライブラリ記憶部
33 アプリケーション起動情報記憶部
34 ダイナミックリンク情報記憶部
41 アプリケーションインストール手段
42 アプリケーション起動手段
43 ダイナミックリンクライブラリリンク手段
51 アプリケーション記憶部
52 ダイナミックリンクライブラリ記憶部
53 アプリケーション起動情報記憶部

Claims (7)

  1. プリケーションを格納するアプリケーション記憶部と、
    ダイナミックリンクライブラリを格納するダイナミックリンクライブラリ記憶部と、
    アプリケーション起動情報を登録するアプリケーション起動情報記憶部と、
    アプリケーションとダイナミックリンクライブラリとの対応情報を登録するダイナミックリンク情報記憶部と、を有し、
    アプリケーションインストール手段とアプリケーション起動手段に指示を与える入力手段と、
    前記入力手段によって指定されたアプリケーションを前記アプリケーション記憶部に格納し格納場所をアプリケーション起動情報として前記アプリケーション起動情報記憶部に登録しダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部に仮格納するアプリケーションインストール手段と、
    前記仮格納されたダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部に本格納し前記アプリケーションインストール手段によって格納されたアプリケーションと前記本格納されたダイナミックリンクライブラリとの対応情報を前記ダイナミックリンク情報記憶部に登録するダイナミックリンクライブラリ登録手段と、
    前記入力手段によって指定されたアプリケーションを前記アプリケーション起動情報記憶部のアプリケーション起動情報を基に前記アプリケーション記憶部からロードして起動実行するアプリケーション起動手段と、
    前記アプリケーション起動手段によって起動されたアプリケーションがダイナミックリンクを要求したときに呼び出し元アプリケーション名と前記ダイナミックリンク情報記憶部の対応情報を基にダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部からロードしてアプリケーションにダイナミックリンクするダイナミックリンクライブラリリンク手段と、
    を備えることを特徴とするダイナミックリンクライブラリ制御方式。
  2. 前記ダイナミックリンクライブラリ記憶部は、前記ダイナミックリンクライブラリが仮格納される仮格納領域と前記ダイナミックリンクライブラリが本格納される本格納領域の2つに分割管理されることを特徴とする請求項記載のダイナミックリンクライブラリ制御方式。
  3. 前記本格納領域は、同一名のダイナミックリンクライブラリを格納し得る構造を成すことを特徴とする請求項記載のダイナミックリンクライブラリ制御方式。
  4. 前記ダイナミックリンクライブラリ登録手段は、前記仮格納されたダイナミックリンクライブラリと既に本格納されているダイナミックリンクライブラリとを比較し、前記仮格納されたダイナミックリンクライブラリと同一名かつ同一内容のものが存在しないときに、前記仮格納されたダイナミックリンクライブラリを本格納することを特徴とする請求項記載のダイナミックリンクライブラリ制御方式。
  5. 前記対応情報は、前記アプリケーション名と前記本格納されたダイナミックリンクライブラリ名と前記本格納されたダイナミックリンクライブラリ格納場所とから成ることを特徴とする請求項記載のダイナミックリンクライブラリ制御方式。
  6. プリケーションをアプリケーション記憶部に格納してアプリケーション名とアプリケーション格納場所をアプリケーション起動情報としてアプリケーション起動情報記憶部に登録し、
    ダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に仮格納し、
    前記仮格納されたダイナミックリンクライブラリと既にダイナミックリンクライブラリ記憶部に本格納されているダイナミックリンクライブラリとを比較し前記仮格納されたダイナミックリンクライブラリと同一名かつ同一内容のものが存在しないときに前記仮格納されたダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に本格納し、
    前記アプリケーション名と前記本格納されたダイナミックリンクライブラリ名と本格納されたダイナミックリンクライブラリ格納場所を対応情報としてダイナミックリンク情報記憶部に登録し、
    起動指定されたアプリケーションを前記アプリケーション起動情報を参照してアプリケーション記憶部からロードして起動実行し、
    前記実行中のアプリケーションがダイナミックリンクを要求したときに前記アプリケーション名をキーとして前記対応情報を参照し、
    前記対応情報に登録されているダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部からロードしてアプリケーションにダイナミックリンクする、
    ことを特徴とするダイナミックリンクライブラリ制御方法。
  7. アプリケーションをアプリケーション記憶部に格納してアプリケーション名とアプリケーション格納場所をアプリケーション起動情報としてアプリケーション起動情報記憶部に登録するアプリケーション格納処理と、
    ダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に仮格納するダイナミックリンクライブラリ仮格納処理と、
    前記仮格納されたダイナミックリンクライブラリと既にダイナミックリンクライブラリ記憶部に本格納されているダイナミックリンクライブラリとを比較し前記仮格納されたダイナミックリンクライブラリと同一名かつ同一内容のものが存在しないときに前記仮格納されたダイナミックリンクライブラリをダイナミックリンクライブラリ記憶部に本格納するダイナミックリンクライブラリ本格納処理と、
    前記アプリケーション名と前記本格納されたダイナミックリンクライブラリ名と本格納されたダイナミックリンクライブラリ格納場所を対応情報としてダイナミックリンク情報記憶部に登録する対応情報登録処理と、
    起動指定されたアプリケーションを前記アプリケーション起動情報を参照してアプリケーション記憶部からロードして起動実行するアプリケーション起動処理と、
    前記実行中のアプリケーションがダイナミックリンクを要求したときに前記アプリケーション名をキーとして前記対応情報を参照する対応情報参照処理と、
    前記対応情報に登録されているダイナミックリンクライブラリを前記ダイナミックリンクライブラリ記憶部からロードしてアプリケーションにダイナミックリンクするダイナミックリンク処理と、
    をコンピュータに実行させるためのプログラムを記録したことを特徴とする記録媒体。
JP33403099A 1999-11-25 1999-11-25 ダイナミックリンクライブラリ制御方式,方法および記録媒体 Expired - Fee Related JP3570940B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33403099A JP3570940B2 (ja) 1999-11-25 1999-11-25 ダイナミックリンクライブラリ制御方式,方法および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33403099A JP3570940B2 (ja) 1999-11-25 1999-11-25 ダイナミックリンクライブラリ制御方式,方法および記録媒体

Publications (2)

Publication Number Publication Date
JP2001154831A JP2001154831A (ja) 2001-06-08
JP3570940B2 true JP3570940B2 (ja) 2004-09-29

Family

ID=18272728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33403099A Expired - Fee Related JP3570940B2 (ja) 1999-11-25 1999-11-25 ダイナミックリンクライブラリ制御方式,方法および記録媒体

Country Status (1)

Country Link
JP (1) JP3570940B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7712034B2 (en) 2003-03-24 2010-05-04 Microsoft Corporation System and method for shell browser
US7421438B2 (en) 2004-04-29 2008-09-02 Microsoft Corporation Metadata editing control
US7627552B2 (en) 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7769794B2 (en) 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
US7240292B2 (en) 2003-04-17 2007-07-03 Microsoft Corporation Virtual address bar user interface control
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7925682B2 (en) 2003-03-27 2011-04-12 Microsoft Corporation System and method utilizing virtual folders
US7650575B2 (en) 2003-03-27 2010-01-19 Microsoft Corporation Rich drag drop user interface
US7519951B2 (en) 2003-09-30 2009-04-14 International Business Machines Corporation Multi-attribute dynamic link library packaging
US8024335B2 (en) 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
US20050177826A1 (en) * 2004-02-05 2005-08-11 Miller James S. Versioning support in object-oriented programming languages and tools
US7657846B2 (en) 2004-04-23 2010-02-02 Microsoft Corporation System and method for displaying stack icons
US7694236B2 (en) 2004-04-23 2010-04-06 Microsoft Corporation Stack icons representing multiple objects
US8707209B2 (en) 2004-04-29 2014-04-22 Microsoft Corporation Save preview representation of files being created
US7614016B2 (en) 2005-04-21 2009-11-03 Microsoft Corporation Multiple roots in navigation pane
US8195646B2 (en) 2005-04-22 2012-06-05 Microsoft Corporation Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
US7665028B2 (en) 2005-07-13 2010-02-16 Microsoft Corporation Rich drag drop user interface
JP5895616B2 (ja) * 2012-03-09 2016-03-30 日本電気株式会社 情報処理装置およびプログラム実行方法
JP6409514B2 (ja) * 2014-11-10 2018-10-24 日本電気株式会社 情報処理装置およびライブラリロード方法、並びにコンピュータ・プログラム
US9798537B2 (en) * 2015-09-14 2017-10-24 Mastercard International Incorporated Isolating applications with a segmented architecture
JP7103113B2 (ja) * 2018-09-25 2022-07-20 コニカミノルタ株式会社 画像処理装置、アプリケーション内包ライブラリの処理方法及びプログラム
JP7103112B2 (ja) * 2018-09-25 2022-07-20 コニカミノルタ株式会社 画像処理装置、アプリケーション内包ライブラリの処理方法及びプログラム

Also Published As

Publication number Publication date
JP2001154831A (ja) 2001-06-08

Similar Documents

Publication Publication Date Title
JP3570940B2 (ja) ダイナミックリンクライブラリ制御方式,方法および記録媒体
US11681535B2 (en) Linking virtualized application namespaces at runtime
US8074231B2 (en) Configuration of isolated extensions and device drivers
US6876996B2 (en) Method and apparatus for using a shared library mechanism to facilitate sharing of metadata
KR100330532B1 (ko) 동적부트파일시스템선택방법및장치
KR101099337B1 (ko) 커널 모드 쉬밍을 위한 드라이버 특정 컨텍스트
US20010039612A1 (en) Apparatus and method for fast booting
CN115495158B (zh) 微内核操作系统中系统服务动态构建方法
US8196128B2 (en) System and method for providing a filtering classloader in a computer environment
CN103677884A (zh) flash分区表文件生成及其数据升级方法、装置
WO2008113291A1 (fr) Procédé et système pour appeler des fonctions
JP2850808B2 (ja) データ処理装置およびデータ処理方法
WO2024199039A1 (zh) 应用安装方法、装置、电子设备及机器可读存储介质
CN100573450C (zh) 在具有与非闪速存储器的系统执行应用程序的方法和设备
JP2017224012A (ja) 情報処理装置、ダイナミックリンクプログラムおよびプログラム再開方法
JP2005284925A (ja) コンピュータシステムおよびプログラム更新方法
JP2000148413A (ja) デバイス識別子に基づいた記憶デバイスの構成の検証
Buckley A model of dynamic binding in. NET
JP2001222412A (ja) データ処理装置
CN119013655A (zh) 嵌入式系统的统一包
JP3616588B2 (ja) マイクロプログラムチェックシステム
JPH04219822A (ja) ファイル更新方式
JP2002182931A (ja) 共通osシステムコール方法
JP2004062547A (ja) 記録媒体
CN117908903A (zh) 一种车载应用镜像生成、部署方法、装置、设备及介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040622

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees