(57)【要約】【課題】既にインストールされているアプリケーションに必要なライブラリが不正に更新、削除されてしまうことを未然に防止すること。【解決手段】アプリケーションが必要とするライブラリのライブラリ名をそのバージョン情報と共に格納し管理する第１の手段と、前記ライブラリが必要とする他のライブラリの名称をそのバージョンと共に格納し、管理する第２の手段と、前記ライブラリのインタフェースが必要とするインタフェース名を、当該インタフェース名を含むライブラリの名称およびバージョンと共に格納し、管理する第３の手段と、これら第１〜第３の手段に格納された情報をもとにアプリケーションが必要とするオペレーティング・システム内のライブラリの状態を定期的に監視し、アプリケーションが必要とするライブラリの不正な更新、削除を警告する第４の手段とを備える。【選択図】        図１
2004164075.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションが利用するライブラリの不正更新および削除を防止するライブラリ監視システムであって、
アプリケーションが必要とするライブラリのライブラリ名をそのバージョン情報と共に格納し管理する第１の手段と、前記ライブラリが必要とする他のライブラリの名称をそのバージョンと共に格納し、管理する第２の手段と、前記ライブラリのインタフェースが必要とするインタフェース名を、当該インタフェース名を含むライブラリの名称およびバージョンと共に格納し、管理する第３の手段と、これら第１〜第３の手段に格納された情報をもとにアプリケーションが必要とするオペレーティング・システム内のライブラリの状態を定期的に監視し、アプリケーションが必要とするライブラリの不正な更新、削除を警告する第４の手段とを備えることを特徴とするライブラリ監視システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アプリケーションが利用するＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）等のライブラリの互換性を維持するためのライブラリ監視システムに関する。
【０００２】
【従来の技術】
従来、アプリケーションのライブラリの互換性を維持する技術に関連して、例えば、次のようなものがある（特許文献１，２参照）。
【０００３】
【特許文献１】
特表２００１−５１８６５８号公報
【０００４】
【特許文献２】
特表平８−５０８５９４号公報
【０００５】
特表２００１−５１８６５８号公報に記載の技術は、プラットフォームとアプリケーションとの間の互換性を評価する方法及び装置に関するものであり、アプリケーションがオペレーティング・システムと互換性があるか否かを評価することができる。ここでは、オペレーティング・システムを記述する仕様が定義用言語を用いて生成され、この仕様によりオペレーティング・システム内に存在すべきプログラミング資源が識別される。その後、その仕様に基づき、互換性エンジンが実行され、アプリケーションのオペレーティング・システムに対する互換性が評価される。互換性エンジンの出力は、アプリケーションがオペレーティング・システムに適合しているか否か、またアプリケーションがどのように仕様に違反しているかどうかのレポートとなる。
【０００６】
一方、特表平８−５０８５９４号公報に記載の技術は、共用ライブラリ探索システムに関するものであり、プログラムによって開始されたある共用ライブラリとリンクされた別の共用ライブラリを探索してロードするための方法および装置が開示されている。その動作は、開始されたプログラムに必要な共用ライブラリ名の名前を判別することから開始される。その後、探索オブジェクトが使用されて、判断された名前に対応する共用ライブラリの物理ロケーションを探し出し、そこまで到達する。各共用ライブラリ名に対応するロケーションに到達すると、各共用ライブラリ名はそれぞれに対応する物理ロケーションにマッピングされる。その後、各共用ライブラリの物理ロケーションの内容がロードされる。
【０００７】
【発明が解決しようとする課題】
しかしながら、特表２００１−５１８６５８号公報に記載の技術は、アプリケーションがオペレーティング・システムと互換性があるか否かの評価を、アプリケーションが必要とするプログラミング資源（例えば、アプリケーションがＪａｖａ（サン・マイクロシステムズ社の登録商標）で記述されている場合は、メソッド、クラス、パッケージなどのライブラリが相当）などを定義用言語で記述して行うが、これは開発者が特定のオペレーティング・システム用に作ったアプリケーションがそのプラットフォームのバージョンと互換性があるか否かを開発時に評価するためのものであって、既にインストールされているアプリケーションに必要なライブラリが意図せずに別バージョンに置き換えられたり、削除されてしまうような問題を解決することはできない。
【０００８】
一方、特表平８−５０８５９４号公報に記載の技術は、ある共用ライブラリが必要とする別の共用ライブラリを名前で判別しているため、バージョンによるライブラリ間の互換性、インタフェース間の互換性が考慮されていない。
【０００９】
本発明の目的は、アプリケーションとライブラリ間の互換性、ライブラリ間の互換性、インタフェース間の互換性情報をもとに、オペレーティング・システム内のアプリケーションが必要とするライブラリの状態を管理し、ライブラリの不正な更新、削除を防止することができるライブラリ監視システムを提供することにある。
【００１０】
【課題を解決するための手段】
上記目的を達成するために本発明は、アプリケーションが必要とするライブラリのライブラリ名をそのバージョン情報と共に格納し管理する第１の手段と、前記ライブラリが必要とする他のライブラリの名称をそのバージョンと共に格納し、管理する第２の手段と、前記ライブラリのインタフェースが必要とするインタフェース名を、当該インタフェース名を含むライブラリの名称およびバージョンと共に格納し、管理する第３の手段と、これら第１〜第３の手段に格納された情報をもとにアプリケーションが必要とするオペレーティング・システム内のライブラリの状態を定期的に監視し、アプリケーションが必要とするライブラリの不正な更新、削除を警告する第４の手段とを備えることを特徴とする。
【００１１】
【発明の実施の形態】
以下、本発明を実施する場合の一形態を図面を参照して具体的に説明する。
図１は、本発明を適用した、アプリケーションの必要とするライブラリの監視システムの実施形態を示すブロック図である。
図１において、１０１は、ライブラリのバージョンを定期的に監視するオペレーティング・システム内に常駐する監視プログラム（エージェント）である。この常駐プログラム１０１は、オペレーティング・システムが停止するか、またはユーザにより停止されるまで動作し続ける。
１０２は、ライブラリを監視すべきアプリケーションのリストを記述したテキストファイル（監視対象アプリケーションリスト）であり、アプリケーションのインストール時に自動的にアプリケーション名がリスト中に追加される。
監視プログラム１０１は、このテキストファイル１０２を読み込み、どのアプリケーションを監視対象とすべきかを判断する。
【００１２】
１０３は、アプリケーションが必要とするライブラリ名とそのバージョン、ライブラリ間の互換性、インタフェースの互換性を管理するデータベース群（以下、互換性管理データベース群と言う）であり、ベンダー側でアプリケーションの配布時に製品に添付する。この互換性管理データベース群１０３を、アプリケーションがインストールされるフォルダのどこに保存すべきかは予め監視プログラム１０１の規則で定めてあり、監視プログラム１０１はその規則に従って互換性管理データベース群１０３にアクセスする。
【００１３】
この互換性管理データベース群１０３は、図１に示すように、アプリケーションが必要とするライブラリの名前およびそのバージョンを管理するアプリケーション−ライブラリ間互換性データベース１０４（以下、データベース１０４と略記）、ライブラリが必要とする他のライブラリの名前およびそのバージョンを管理するライブラリ間互換性データベース１０５（以下、データベース１０５と略記）、ライブラリのインタフェースが必要とするインタフェース名とそれを含むライブラリ名およびそのバージョンを管理するインタフェース互換性データベース１０６（以下、データベース１０６と略記）の３つのデータベースから構成されている。
【００１４】
１０７は、オペレーティング・システムのシステムフォルダ内に格納されたライブラリ群（ＤＬＬ）である。ここで、システムフォルダとは、ライブラリ群が格納されているフォルダのことと定義する。監視プログラム１０１は互換性管理データベース群１０３に格納された内容に従い、システムフォルダを探索し、要求されたライブラリ名、バージョンを持つライブラリを検索する。その結果、互換性管理データベース群１０３に記載された内容とシステムフォルダの内容が矛盾する場合は、監視結果レポート１０８を表示装置に表示し、ユーザに通知する。
【００１５】
図２は、アプリケーションが必要とするライブラリ名とそのバージョンを管理するデータベース１０４の格納データの例を示す図である。
図２に示すように、データベース１０４にはＩＤ（２０１）、ライブラリ名（２０２）、バージョン（２０３）が格納される。
ＩＤ（２０１）は、行を一意に識別するコードである。監視プログラム１０１は、データベース１０４をまず参照し、アプリケーションに必要なライブラリ名とそのバージョンを取得する。そして、それらが実際にシステムフォルダに存在するかをチェックする。
【００１６】
図３は、ライブラリが要求する他のライブラリ名とそのバージョンを管理するデータベース１０５の格納データの例を示す図であり、ＩＤ（３０１）、ライブラリ名（３０２）、バージョン（３０３）、要求ライブラリ名（３０４）、要求バージョン（３０５）が格納される。
ライブラリはアプリケーションによらず、他のライブラリに依存する場合があり、データベース１０５はこれを管理するために用いられる。
【００１７】
図４は、ライブラリのインタフェースが要求する他のインタフェースとそれを含むライブラリの名前およびバージョンを管理するデータベース１０６の格納データの例を示す図であり、ＩＤ（４０１）、インタフェース名（４０３）、バージョン（４０４）、要求ライブラリ名（４０５）、要求インタフェース名（４０６）、要求バージョン（４０７）が格納される。図４中のバージョン（４０４）は、ライブラリのバージョンを表す。同様に、要求バージョン（４０７）はライブラリのインタフェースの要求インタフェースを含むライブラリのバージョンである。
このデータベース１０６により、ライブラリ中の必要なインタフェースが不正に更新されることを防ぐ。すなわち、監視プログラム１０１がライブラリの内部まで監視しており、データベース１０６で必要とされているインタフェース部分が書き換えられることを防ぐ。
【００１８】
図５は、監視プログラム１０１が監視対象アプリケーションリスト１０２に記載の監視対象アプリケーションおよび互換性管理データベース群１０３を用いてアプリケーションの必要とするライブラリの状態を監視する際のフローチャートである。
まず、監視プログラム１０１は、ステップ５０１において、監視対象アプリケーションリスト１０２を参照し、どのアプリケーションについてライブラリを検査する必要があるかを判断する。
次に、ステップ５０２において、互換性管理データベース群１０３を参照する。ここでアプリケーションが必要とするライブラリの名前およびバージョン、各ライブラリが必要とする他のライブラリの名前およびバージョン、各ライブラリのインタフェースが必要とするインタフェースの名前とそれを含むライブラリの名前およびバージョンを取得し、その情報をもとにステップ５０３にてシステムフォルダ内を検索する。検索においてはライブラリ内も探索し、インタフェースの状態もチェックする。その際、互換性に矛盾が生じていることが判明した場合は（ステップ５０４）、その内容を監視レポートとして作成し、ユーザに自動的に通知する（ステップ５０５）。その後、ステップ５０６において、監視プログラム１０１は指定時間（０秒を含む）だけ待機し、再びステップ５０１に戻り、同様の処理を繰り返す。
【００１９】
図６は、監視対象プログラム１０１が、アプリケーションとライブラリの互換性に矛盾を検出した場合（図５のステップ５０４）にユーザに通知するレポートの例を示す図である。矛盾または異常をきたしたライブラリ名６０１、インタフェース名６０２と、その詳細６０３が表示される。
【００２０】
図７は、ライブラリを削除しようとした際に監視プログラム１０１により表示される警告の例を示す図である。
監視プログラム１０１は、ファイルの削除や更新も監視しており、そのファイルが互換性データベース１０３に登録されたライブラリであり、かつそれに対する削除や更新が互換性データベース群１０３の格納内容に矛盾を来たす場合は、７０１の例のようにユーザに警告「このライブラリＡＢＣ．ｄｌｌはアプリケーションＡで必要です。削除しますか」を表示する。
この警告表示によって、互換性のあるライブラリが削除されたり、不正に更新されることを未然に防止することができる。
【００２１】
【発明の効果】
以上説明したように、本発明によれば、アプリケーション−ライブラリ間、ライブラリ間、インタフェース間の互換性情報をもとに、オペレーティング・システム内のアプリケーションが必要とするライブラリの状態を定期的に管理し、ライブラリの不正な更新、削除を防止することができる。
【図面の簡単な説明】
【図１】本発明に係るライブラリ監視システムの一実施形態を示すブロック図である。
【図２】アプリケーションに必要なライブラリとそのバージョンを管理するデータベースの格納データの例を示す図である。
【図３】ライブラリが必要とする他のライブラリをそのバージョンとともに管理するデータベースの格納データの例を示す図である。
【図４】ライブラリのインタフェースが必要とする他のインタフェースの名前を、それを含むライブラリの名前およびバージョンとともに管理するデータベースの格納データの例を示す図である。
【図５】監視プログラムがアプリケーションが必要とするライブラリを監視するフロ−チャ−トである。
【図６】アプリケーションが必要とするライブラリに異常がある場合に、監視プログラムがユーザに出力するレポートを示す図である。
【図７】ライブラリを削除する際に、監視プログラムにより出力される警告通知の例を示す図である。
【符号の説明】
１０１…監視プログラム、１０２…監視対象アプリケーションリスト、１０３…互換性データベース群、１０４…アプリケーション−ライブラリ間互換性データベース、１０５…ライブラリ間互換性データベース、１０６…インタフェース間互換性データベース、１０７…オペレーティング・システム内のライブラリ群、１０８…監視結果レポート。
【図１】
2004164075.tif 000003
【図２】
2004164075.tif 000004
【図３】
2004164075.tif 000005
【図４】
2004164075.tif 000006
【図５】
2004164075.tif 000007
【図６】
2004164075.tif 000008
【図７】
2004164075.tif 000009