JP2004164075A - ライブラリ監視システム - Google Patents

ライブラリ監視システム Download PDF

Info

Publication number
JP2004164075A
JP2004164075A JP2002326637A JP2002326637A JP2004164075A JP 2004164075 A JP2004164075 A JP 2004164075A JP 2002326637 A JP2002326637 A JP 2002326637A JP 2002326637 A JP2002326637 A JP 2002326637A JP 2004164075 A JP2004164075 A JP 2004164075A
Authority
JP
Japan
Prior art keywords
library
application
name
interface
compatibility
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.)
Pending
Application number
JP2002326637A
Other languages
English (en)
Inventor
Yasuki Sakai
康記 坂井
Masato Nishiguchi
真人 西口
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.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co 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 Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2002326637A priority Critical patent/JP2004164075A/ja
Publication of JP2004164075A publication Critical patent/JP2004164075A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】既にインストールされているアプリケーションに必要なライブラリが不正に更新、削除されてしまうことを未然に防止すること。
【解決手段】アプリケーションが必要とするライブラリのライブラリ名をそのバージョン情報と共に格納し管理する第1の手段と、前記ライブラリが必要とする他のライブラリの名称をそのバージョンと共に格納し、管理する第2の手段と、前記ライブラリのインタフェースが必要とするインタフェース名を、当該インタフェース名を含むライブラリの名称およびバージョンと共に格納し、管理する第3の手段と、これら第1〜第3の手段に格納された情報をもとにアプリケーションが必要とするオペレーティング・システム内のライブラリの状態を定期的に監視し、アプリケーションが必要とするライブラリの不正な更新、削除を警告する第4の手段とを備える。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、アプリケーションが利用するDLL(Dynamic Link Library)等のライブラリの互換性を維持するためのライブラリ監視システムに関する。
【0002】
【従来の技術】
従来、アプリケーションのライブラリの互換性を維持する技術に関連して、例えば、次のようなものがある(特許文献1,2参照)。
【0003】
【特許文献1】
特表2001−518658号公報
【0004】
【特許文献2】
特表平8−508594号公報
【0005】
特表2001−518658号公報に記載の技術は、プラットフォームとアプリケーションとの間の互換性を評価する方法及び装置に関するものであり、アプリケーションがオペレーティング・システムと互換性があるか否かを評価することができる。ここでは、オペレーティング・システムを記述する仕様が定義用言語を用いて生成され、この仕様によりオペレーティング・システム内に存在すべきプログラミング資源が識別される。その後、その仕様に基づき、互換性エンジンが実行され、アプリケーションのオペレーティング・システムに対する互換性が評価される。互換性エンジンの出力は、アプリケーションがオペレーティング・システムに適合しているか否か、またアプリケーションがどのように仕様に違反しているかどうかのレポートとなる。
【0006】
一方、特表平8−508594号公報に記載の技術は、共用ライブラリ探索システムに関するものであり、プログラムによって開始されたある共用ライブラリとリンクされた別の共用ライブラリを探索してロードするための方法および装置が開示されている。その動作は、開始されたプログラムに必要な共用ライブラリ名の名前を判別することから開始される。その後、探索オブジェクトが使用されて、判断された名前に対応する共用ライブラリの物理ロケーションを探し出し、そこまで到達する。各共用ライブラリ名に対応するロケーションに到達すると、各共用ライブラリ名はそれぞれに対応する物理ロケーションにマッピングされる。その後、各共用ライブラリの物理ロケーションの内容がロードされる。
【0007】
【発明が解決しようとする課題】
しかしながら、特表2001−518658号公報に記載の技術は、アプリケーションがオペレーティング・システムと互換性があるか否かの評価を、アプリケーションが必要とするプログラミング資源(例えば、アプリケーションがJava(サン・マイクロシステムズ社の登録商標)で記述されている場合は、メソッド、クラス、パッケージなどのライブラリが相当)などを定義用言語で記述して行うが、これは開発者が特定のオペレーティング・システム用に作ったアプリケーションがそのプラットフォームのバージョンと互換性があるか否かを開発時に評価するためのものであって、既にインストールされているアプリケーションに必要なライブラリが意図せずに別バージョンに置き換えられたり、削除されてしまうような問題を解決することはできない。
【0008】
一方、特表平8−508594号公報に記載の技術は、ある共用ライブラリが必要とする別の共用ライブラリを名前で判別しているため、バージョンによるライブラリ間の互換性、インタフェース間の互換性が考慮されていない。
【0009】
本発明の目的は、アプリケーションとライブラリ間の互換性、ライブラリ間の互換性、インタフェース間の互換性情報をもとに、オペレーティング・システム内のアプリケーションが必要とするライブラリの状態を管理し、ライブラリの不正な更新、削除を防止することができるライブラリ監視システムを提供することにある。
【0010】
【課題を解決するための手段】
上記目的を達成するために本発明は、アプリケーションが必要とするライブラリのライブラリ名をそのバージョン情報と共に格納し管理する第1の手段と、前記ライブラリが必要とする他のライブラリの名称をそのバージョンと共に格納し、管理する第2の手段と、前記ライブラリのインタフェースが必要とするインタフェース名を、当該インタフェース名を含むライブラリの名称およびバージョンと共に格納し、管理する第3の手段と、これら第1〜第3の手段に格納された情報をもとにアプリケーションが必要とするオペレーティング・システム内のライブラリの状態を定期的に監視し、アプリケーションが必要とするライブラリの不正な更新、削除を警告する第4の手段とを備えることを特徴とする。
【0011】
【発明の実施の形態】
以下、本発明を実施する場合の一形態を図面を参照して具体的に説明する。
図1は、本発明を適用した、アプリケーションの必要とするライブラリの監視システムの実施形態を示すブロック図である。
図1において、101は、ライブラリのバージョンを定期的に監視するオペレーティング・システム内に常駐する監視プログラム(エージェント)である。この常駐プログラム101は、オペレーティング・システムが停止するか、またはユーザにより停止されるまで動作し続ける。
102は、ライブラリを監視すべきアプリケーションのリストを記述したテキストファイル(監視対象アプリケーションリスト)であり、アプリケーションのインストール時に自動的にアプリケーション名がリスト中に追加される。
監視プログラム101は、このテキストファイル102を読み込み、どのアプリケーションを監視対象とすべきかを判断する。
【0012】
103は、アプリケーションが必要とするライブラリ名とそのバージョン、ライブラリ間の互換性、インタフェースの互換性を管理するデータベース群(以下、互換性管理データベース群と言う)であり、ベンダー側でアプリケーションの配布時に製品に添付する。この互換性管理データベース群103を、アプリケーションがインストールされるフォルダのどこに保存すべきかは予め監視プログラム101の規則で定めてあり、監視プログラム101はその規則に従って互換性管理データベース群103にアクセスする。
【0013】
この互換性管理データベース群103は、図1に示すように、アプリケーションが必要とするライブラリの名前およびそのバージョンを管理するアプリケーション−ライブラリ間互換性データベース104(以下、データベース104と略記)、ライブラリが必要とする他のライブラリの名前およびそのバージョンを管理するライブラリ間互換性データベース105(以下、データベース105と略記)、ライブラリのインタフェースが必要とするインタフェース名とそれを含むライブラリ名およびそのバージョンを管理するインタフェース互換性データベース106(以下、データベース106と略記)の3つのデータベースから構成されている。
【0014】
107は、オペレーティング・システムのシステムフォルダ内に格納されたライブラリ群(DLL)である。ここで、システムフォルダとは、ライブラリ群が格納されているフォルダのことと定義する。監視プログラム101は互換性管理データベース群103に格納された内容に従い、システムフォルダを探索し、要求されたライブラリ名、バージョンを持つライブラリを検索する。その結果、互換性管理データベース群103に記載された内容とシステムフォルダの内容が矛盾する場合は、監視結果レポート108を表示装置に表示し、ユーザに通知する。
【0015】
図2は、アプリケーションが必要とするライブラリ名とそのバージョンを管理するデータベース104の格納データの例を示す図である。
図2に示すように、データベース104にはID(201)、ライブラリ名(202)、バージョン(203)が格納される。
ID(201)は、行を一意に識別するコードである。監視プログラム101は、データベース104をまず参照し、アプリケーションに必要なライブラリ名とそのバージョンを取得する。そして、それらが実際にシステムフォルダに存在するかをチェックする。
【0016】
図3は、ライブラリが要求する他のライブラリ名とそのバージョンを管理するデータベース105の格納データの例を示す図であり、ID(301)、ライブラリ名(302)、バージョン(303)、要求ライブラリ名(304)、要求バージョン(305)が格納される。
ライブラリはアプリケーションによらず、他のライブラリに依存する場合があり、データベース105はこれを管理するために用いられる。
【0017】
図4は、ライブラリのインタフェースが要求する他のインタフェースとそれを含むライブラリの名前およびバージョンを管理するデータベース106の格納データの例を示す図であり、ID(401)、インタフェース名(403)、バージョン(404)、要求ライブラリ名(405)、要求インタフェース名(406)、要求バージョン(407)が格納される。図4中のバージョン(404)は、ライブラリのバージョンを表す。同様に、要求バージョン(407)はライブラリのインタフェースの要求インタフェースを含むライブラリのバージョンである。
このデータベース106により、ライブラリ中の必要なインタフェースが不正に更新されることを防ぐ。すなわち、監視プログラム101がライブラリの内部まで監視しており、データベース106で必要とされているインタフェース部分が書き換えられることを防ぐ。
【0018】
図5は、監視プログラム101が監視対象アプリケーションリスト102に記載の監視対象アプリケーションおよび互換性管理データベース群103を用いてアプリケーションの必要とするライブラリの状態を監視する際のフローチャートである。
まず、監視プログラム101は、ステップ501において、監視対象アプリケーションリスト102を参照し、どのアプリケーションについてライブラリを検査する必要があるかを判断する。
次に、ステップ502において、互換性管理データベース群103を参照する。ここでアプリケーションが必要とするライブラリの名前およびバージョン、各ライブラリが必要とする他のライブラリの名前およびバージョン、各ライブラリのインタフェースが必要とするインタフェースの名前とそれを含むライブラリの名前およびバージョンを取得し、その情報をもとにステップ503にてシステムフォルダ内を検索する。検索においてはライブラリ内も探索し、インタフェースの状態もチェックする。その際、互換性に矛盾が生じていることが判明した場合は(ステップ504)、その内容を監視レポートとして作成し、ユーザに自動的に通知する(ステップ505)。その後、ステップ506において、監視プログラム101は指定時間(0秒を含む)だけ待機し、再びステップ501に戻り、同様の処理を繰り返す。
【0019】
図6は、監視対象プログラム101が、アプリケーションとライブラリの互換性に矛盾を検出した場合(図5のステップ504)にユーザに通知するレポートの例を示す図である。矛盾または異常をきたしたライブラリ名601、インタフェース名602と、その詳細603が表示される。
【0020】
図7は、ライブラリを削除しようとした際に監視プログラム101により表示される警告の例を示す図である。
監視プログラム101は、ファイルの削除や更新も監視しており、そのファイルが互換性データベース103に登録されたライブラリであり、かつそれに対する削除や更新が互換性データベース群103の格納内容に矛盾を来たす場合は、701の例のようにユーザに警告「このライブラリABC.dllはアプリケーションAで必要です。削除しますか」を表示する。
この警告表示によって、互換性のあるライブラリが削除されたり、不正に更新されることを未然に防止することができる。
【0021】
【発明の効果】
以上説明したように、本発明によれば、アプリケーション−ライブラリ間、ライブラリ間、インタフェース間の互換性情報をもとに、オペレーティング・システム内のアプリケーションが必要とするライブラリの状態を定期的に管理し、ライブラリの不正な更新、削除を防止することができる。
【図面の簡単な説明】
【図1】本発明に係るライブラリ監視システムの一実施形態を示すブロック図である。
【図2】アプリケーションに必要なライブラリとそのバージョンを管理するデータベースの格納データの例を示す図である。
【図3】ライブラリが必要とする他のライブラリをそのバージョンとともに管理するデータベースの格納データの例を示す図である。
【図4】ライブラリのインタフェースが必要とする他のインタフェースの名前を、それを含むライブラリの名前およびバージョンとともに管理するデータベースの格納データの例を示す図である。
【図5】監視プログラムがアプリケーションが必要とするライブラリを監視するフロ−チャ−トである。
【図6】アプリケーションが必要とするライブラリに異常がある場合に、監視プログラムがユーザに出力するレポートを示す図である。
【図7】ライブラリを削除する際に、監視プログラムにより出力される警告通知の例を示す図である。
【符号の説明】
101…監視プログラム、102…監視対象アプリケーションリスト、103…互換性データベース群、104…アプリケーション−ライブラリ間互換性データベース、105…ライブラリ間互換性データベース、106…インタフェース間互換性データベース、107…オペレーティング・システム内のライブラリ群、108…監視結果レポート。

Claims (1)

  1. アプリケーションが利用するライブラリの不正更新および削除を防止するライブラリ監視システムであって、
    アプリケーションが必要とするライブラリのライブラリ名をそのバージョン情報と共に格納し管理する第1の手段と、前記ライブラリが必要とする他のライブラリの名称をそのバージョンと共に格納し、管理する第2の手段と、前記ライブラリのインタフェースが必要とするインタフェース名を、当該インタフェース名を含むライブラリの名称およびバージョンと共に格納し、管理する第3の手段と、これら第1〜第3の手段に格納された情報をもとにアプリケーションが必要とするオペレーティング・システム内のライブラリの状態を定期的に監視し、アプリケーションが必要とするライブラリの不正な更新、削除を警告する第4の手段とを備えることを特徴とするライブラリ監視システム。
JP2002326637A 2002-11-11 2002-11-11 ライブラリ監視システム Pending JP2004164075A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002326637A JP2004164075A (ja) 2002-11-11 2002-11-11 ライブラリ監視システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002326637A JP2004164075A (ja) 2002-11-11 2002-11-11 ライブラリ監視システム

Publications (1)

Publication Number Publication Date
JP2004164075A true JP2004164075A (ja) 2004-06-10

Family

ID=32805509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002326637A Pending JP2004164075A (ja) 2002-11-11 2002-11-11 ライブラリ監視システム

Country Status (1)

Country Link
JP (1) JP2004164075A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8898660B2 (en) 2008-11-25 2014-11-25 Fisher-Rosemount Systems, Inc. Systems and methods to provide customized release notes during a software system upgrade of a process control system
US8914783B2 (en) 2008-11-25 2014-12-16 Fisher-Rosemount Systems, Inc. Software deployment manager integration within a process control system
JP2020049700A (ja) * 2018-09-25 2020-04-02 コニカミノルタ株式会社 画像処理装置、アプリケーション内包ライブラリの処理方法及びプログラム
JP2021121920A (ja) * 2020-09-25 2021-08-26 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド ディープラーニングフレームワークでの演算子互換性をモニターするための方法及び装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8898660B2 (en) 2008-11-25 2014-11-25 Fisher-Rosemount Systems, Inc. Systems and methods to provide customized release notes during a software system upgrade of a process control system
US8914783B2 (en) 2008-11-25 2014-12-16 Fisher-Rosemount Systems, Inc. Software deployment manager integration within a process control system
JP2020049700A (ja) * 2018-09-25 2020-04-02 コニカミノルタ株式会社 画像処理装置、アプリケーション内包ライブラリの処理方法及びプログラム
JP7103113B2 (ja) 2018-09-25 2022-07-20 コニカミノルタ株式会社 画像処理装置、アプリケーション内包ライブラリの処理方法及びプログラム
JP2021121920A (ja) * 2020-09-25 2021-08-26 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド ディープラーニングフレームワークでの演算子互換性をモニターするための方法及び装置
JP7095137B2 (ja) 2020-09-25 2022-07-04 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド ディープラーニングフレームワークでの演算子互換性をモニターするための方法及び装置

Similar Documents

Publication Publication Date Title
US5537596A (en) Method and apparatus for overriding resource maps in a computer system
US8225311B1 (en) Deploying and distributing content management code
US8577937B1 (en) Repository including exclusion list
US8245216B2 (en) Patch management system
US20110145807A1 (en) Method and device for updating a computer application
US7243346B1 (en) Customized library management system
CA2696893C (en) Binary library
US8001083B1 (en) Repository including version management
US20080163092A1 (en) One stop install, un-install, and update of software products
US20030182652A1 (en) Software building and deployment system and method
US20070106979A1 (en) Patch management system
KR20070049166A (ko) 목표 기기 상에서의 종속 소프트웨어 패키지의 검출 및이용을 자동화하기 위한 방법 및 소프트웨어 리포지터리를생성하기 위한 시스템
US20070106980A1 (en) Patch management system
JP2002528788A (ja) モデルのインパクト解析
US9652480B2 (en) Backup management of software environments in a distributed network environment
US20220188088A1 (en) Repository including exclusion list
JP4670968B2 (ja) 情報管理プログラム及び情報管理システム
US20130225148A1 (en) Terminal with module protection and module managing method
CA2564386A1 (en) Resource management system and method
US9658845B2 (en) Generating a where-used objects list for updating data
US20080114812A1 (en) Data object identification, tracking, filtering and monitoring using data object fingerprints in a repository
US8365165B2 (en) Dynamic addition of products and removal of software products on a distribution server
JP2004164075A (ja) ライブラリ監視システム
US9015180B1 (en) Repository including file identification
US7721279B1 (en) Packaging information integration applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070516

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070918