(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-11
(45)【発行日】2022-07-20
(54)【発明の名称】画像処理装置、アプリケーション内包ライブラリの処理方法及びプログラム
(51)【国際特許分類】
B41J 29/38 20060101AFI20220712BHJP
H04N 1/00 20060101ALI20220712BHJP
【FI】
B41J29/38 501
H04N1/00 E
H04N1/00 127B
(21)【出願番号】P 2018179144
(22)【出願日】2018-09-25
【審査請求日】2021-08-20
(73)【特許権者】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】100099885
【氏名又は名称】高田 健市
(72)【発明者】
【氏名】松永 貴久
【審査官】上田 正樹
(56)【参考文献】
【文献】特開2001-154831(JP,A)
【文献】特開2007-206965(JP,A)
【文献】特開2018-077690(JP,A)
【文献】米国特許出願公開第2017/0192766(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 29/38
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
アプリケーションで使用される1個または複数個の第1のライブラリを保存する保存手段と、
アプリケーションをインストール可能なインストール手段と、
前記インストール手段により第2のライブラリを内包するアプリケーションがインストールされるときまたはインストールされた後に、アプリケーションに内包された前記第2のライブラリを抽出する抽出手段と、
前記抽出手段により抽出された前記第2のライブラリと前記保存手段に保存されている第1のライブラリとを差分比較する比較手段と、
前記比較手段による差分比較の結果、前記第2のライブラリと第1のライブラリとに差異が存在する場合、前記第2のライブラリは削除することなく使用可能に保持する制御手段と、
を備え
、
前記第2のライブラリが画像処理装置の固有の機能に関するライブラリである場合、前記制御手段は、前記第2のライブラリを内包するアプリケーションに対して前記第1のライブラリを優先的に使用させることを特徴とする画像処理装置。
【請求項2】
前記比較手段は、サイズ比較により前記第2のライブラリと第1のライブラリを差分比較する請求項1に記載の画像処理装置。
【請求項3】
前記比較手段は、バイナリ比較により前記第2のライブラリと第1のライブラリを差分比較する請求項1に記載の画像処理装置。
【請求項4】
前記比較手段は、チェックサム比較により前記第2のライブラリと第1のライブラリを差分比較する請求項1に記載の画像処理装置。
【請求項5】
前記比較手段は、ソースコード比較により前記第2のライブラリと第1のライブラリを差分比較する請求項1に記載の画像処理装置。
【請求項6】
前記比較手段による差分比較の結果、前記第2のライブラリと差異がない第1のライブラリが存在する場合、前記制御手段は、前記第2のライブラリを削除する請求項1~5のいずれかに記載の画像処理装置。
【請求項7】
前記第2のライブラリが保持された場合、前記制御手段は、前記第2のライブラリを内包するアプリケーションに対して第2のライブラリを優先的に使用させる請求項1~6のいずれかに記載の画像処理装置。
【請求項8】
画像処理装置はプリント動作が可能であり、画像処理装置の固有の機能に関連するライブラリは、プリント動作に関連するライブラリである請求項
1に記載の画像処理装置。
【請求項9】
画像処理装置はスキャン動作が可能であり、画像処理装置の固有の機能に関連するライブラリは、スキャン動作に関連するライブラリである請求項
1に記載の画像処理装置。
【請求項10】
アプリケーションで使用される1個または複数個の第1のライブラリを保存する保存手段を備えた画像処理装置が、
アプリケーションをインストールするインストールステップと、
前記インストールステップにより第2のライブラリを内包するアプリケーションがインストールされるときまたはインストールされた後に、アプリケーションに内包された前記第2のライブラリを抽出する抽出ステップと、
前記抽出ステップにより抽出された前記第2のライブラリと前記保存手段に保存されている第1のライブラリとを差分比較する比較ステップと、
前記比較ステップによる差分比較の結果、前記第2のライブラリと第1のライブラリとに差異が存在する場合、前記第2のライブラリは削除することなく使用可能に保持する制御ステップと、
を実行
し、
前記第2のライブラリが画像処理装置の固有の機能に関するライブラリである場合、前記制御ステップでは、前記第2のライブラリを内包するアプリケーションに対して前記第1のライブラリを優先的に使用させることを特徴とするアプリケーション内包ライブラリの処理方法。
【請求項11】
アプリケーションで使用される1個または複数個の第1のライブラリを保存する保存手段を備えた画像処理装置のコンピュータに、
アプリケーションをインストールするインストールステップと、
前記インストールステップにより第2のライブラリを内包するアプリケーションがインストールされるときまたはインストールされた後に、アプリケーションに内包された前記第2のライブラリを抽出する抽出ステップと、
前記抽出ステップにより抽出された前記第2のライブラリと前記保存手段に保存されている第1のライブラリとを差分比較する比較ステップと、
前記比較ステップによる差分比較の結果、前記第2のライブラリと第1のライブラリとに差異が存在する場合、前記第2のライブラリは削除することなく使用可能に保持する制御ステップと、
を実行させ、
前記第2のライブラリが画像処理装置の固有の機能に関するライブラリである場合、前記制御ステップでは、前記第2のライブラリを内包するアプリケーションに対して前記第1のライブラリを優先的に使用させる処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、複写機、プリンタ、ファクシミリ、あるいはこれらの複合機等の画像処理装置、同装置で実行されるアプリケーション内包ライブラリの処理方法、及びプログラムに関する。
【背景技術】
【0002】
昨今の画像処理装置では、アプリケーションの開発等に際して、1個又は複数個のアプリケーションで使用される、プログラムであるライブラリを記憶部に保存しておき、アプリケーションの使用時には、保存されているライブラリを呼び出して使用することが行われている。
【0003】
このようなライブラリとしてアプリケーションに内包されているものがあり、この場合は、アプリケーションをインストールすると、内包されているライブラリも同時にインストールされることになる。
【0004】
しかし、内包されているライブラリと同じライブラリが既に存在している場合は、画像処理装置のリソースの最適化の観点から、内包ライブラリを削除することが望ましい。
【0005】
特許文献1には、イベントの発生を検出した際に旧版プログラムを起動する構成とされた情報処理装置において、旧版プログラムを最新版プログラムに変更する作業や旧版プログラムに戻す作業を、より簡単に実施可能とする技術が開示されている。具体的には、最新バージョンのインストールの度にレジストリに管理情報を登録し、対象プログラムの実行時に最新のバージョンのものを指定したり、復旧時には旧バージョンのものを指定する、という構成である。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、アプリケーションが内包するライブラリと既に保存されているライブラリの名称やバージョンが同じであっても、内容(中身)に差異がある場合がある。例えば、アプリケーションが内包するライブラリが、アプリケーション用にカスタマイズされているようなライブラリである場合が考えられる。このようなライブラリまで削除してしまうと、このライブラリを内包するアプリケーションが正常に動作しなくなる恐れがあるという課題がある。
【0008】
なお、特許文献1に記載の技術では、バージョン情報を参照するだけでプログラムの内容までは考慮されておらず、同一バージョン情報であっても内容が異なっているプログラムについては対応できない。このため特許文献1の技術では上記課題を解決することはできなかった。
【0009】
この発明は、このような技術的背景に鑑みてなされたものであって、ライブラリを内包するアプリケーションがインストールされるときに、内包されているライブラリが既に保存されているライブラリと内容が相違するにも拘わらず削除されるのを防止できる画像処理装置、アプリケーション内包ライブラリの処理方法及びプログラムの提供を目的とする。
【課題を解決するための手段】
【0010】
上記目的は以下の手段によって達成される。
(1)アプリケーションで使用される1個または複数個の第1のライブラリを保存する保存手段と、アプリケーションをインストール可能なインストール手段と、前記インストール手段により第2のライブラリを内包するアプリケーションがインストールされるときまたはインストールされた後に、アプリケーションに内包された前記第2のライブラリを抽出する抽出手段と、前記抽出手段により抽出された前記第2のライブラリと前記保存手段に保存されている第1のライブラリとを差分比較する比較手段と、前記比較手段による差分比較の結果、前記第2のライブラリと第1のライブラリとに差異が存在する場合、前記第2のライブラリは削除することなく使用可能に保持する制御手段と、を備え、前記第2のライブラリが画像処理装置の固有の機能に関するライブラリである場合、前記制御手段は、前記第2のライブラリを内包するアプリケーションに対して前記第1のライブラリを優先的に使用させることを特徴とする画像処理装置。
(2)前記比較手段は、サイズ比較により前記第2のライブラリと第1のライブラリを差分比較する前項1に記載の画像処理装置。
(3)前記比較手段は、バイナリ比較により前記第2のライブラリと第1のライブラリを差分比較する前項1に記載の画像処理装置。
(4)前記比較手段は、チェックサム比較により前記第2のライブラリと第1のライブラリを差分比較する前項1に記載の画像処理装置。
(5)前記比較手段は、ソースコード比較により前記第2のライブラリと第1のライブラリを差分比較する前項1に記載の画像処理装置。
(6)前記比較手段による差分比較の結果、前記第2のライブラリと差異がない第1のライブラリが存在する場合、前記制御手段は、前記第2のライブラリを削除する前項1~5のいずれかに記載の画像処理装置。
(7)前記第2のライブラリが保持された場合、前記制御手段は、前記第2のライブラリを内包するアプリケーションに対して第2のライブラリを優先的に使用させる前項1~6のいずれかに記載の画像処理装置。
(8)画像処理装置はプリント動作が可能であり、画像処理装置の固有の機能に関連するライブラリは、プリント動作に関連するライブラリである前項1に記載の画像処理装置。
(9)画像処理装置はスキャン動作が可能であり、画像処理装置の固有の機能に関連するライブラリは、スキャン動作に関連するライブラリである前項1に記載の画像処理装置。
(10)アプリケーションで使用される1個または複数個の第1のライブラリを保存する保存手段を備えた画像処理装置が、アプリケーションをインストールするインストールステップと、前記インストールステップにより第2のライブラリを内包するアプリケーションがインストールされるときまたはインストールされた後に、アプリケーションに内包された前記第2のライブラリを抽出する抽出ステップと、前記抽出ステップにより抽出された前記第2のライブラリと前記保存手段に保存されている第1のライブラリとを差分比較する比較ステップと、前記比較ステップによる差分比較の結果、前記第2のライブラリと第1のライブラリとに差異が存在する場合、前記第2のライブラリは削除することなく使用可能に保持する制御ステップと、を実行し、前記第2のライブラリが画像処理装置の固有の機能に関するライブラリである場合、前記制御ステップでは、前記第2のライブラリを内包するアプリケーションに対して前記第1のライブラリを優先的に使用させることを特徴とするアプリケーション内包ライブラリの処理方法。
(11)アプリケーションで使用される1個または複数個の第1のライブラリを保存する保存手段を備えた画像処理装置のコンピュータに、アプリケーションをインストールするインストールステップと、前記インストールステップにより第2のライブラリを内包するアプリケーションがインストールされるときまたはインストールされた後に、アプリケーションに内包された前記第2のライブラリを抽出する抽出ステップと、前記抽出ステップにより抽出された前記第2のライブラリと前記保存手段に保存されている第1のライブラリとを差分比較する比較ステップと、前記比較ステップによる差分比較の結果、前記第2のライブラリと第1のライブラリとに差異が存在する場合、前記第2のライブラリは削除することなく使用可能に保持する制御ステップと、を実行させ、前記第2のライブラリが画像処理装置の固有の機能に関するライブラリである場合、前記制御ステップでは、前記第2のライブラリを内包するアプリケーションに対して前記第1のライブラリを優先的に使用させる処理を実行させるためのプログラム。
【発明の効果】
【0011】
前項(1)に記載の発明によれば、第2のライブラリを内包するアプリケーションがインストールされるときまたはインストールされた後に、アプリケーションに内包された第2のライブラリが抽出されるとともに、抽出された第2のライブラリと保存手段に保存されている第1のライブラリとが差分比較される。つまり、名称やバージョンに基づく同一性ではなく、内容(中身)の同一性を比較する。差分比較の結果、第2のライブラリと第1のライブラリとに差異が存在する場合は、第2のライブラリは削除されることなく使用可能に保持される。つまり、インストールされるアプリケーションに内包される第2のライブラリが、既に保存されている第1のライブラリと内容に差があれば、使用可能に保持されるから、例えば、内包されているライブラリがアプリケーション用にカスタマイズされているようなライブラリである場合に、このライブラリが削除されることによりアプリケーションが適正に動作しなくなるといった問題を解消することができる。
また、アプリケーションに内包される第2のライブラリが画像処理装置の固有の機能に関するライブラリである場合、アプリケーションに第2のライブラリを使用させると、画像処理装置の固有の機能の動作に影響を与えるおそれがあることから、固有の機能の動作を保証できる第1のライブラリを使用させる。
【0012】
前項(2)に記載の発明によれば、サイズ比較により第2のライブラリと第1のライブラリが差分比較されるから、的確な差分比較を行うことができる。
【0013】
前項(3)に記載の発明によれば、バイナリ比較により第2のライブラリと第1のライブラリが差分比較されるから、的確な差分比較を行うことができる。
【0014】
前項(4)に記載の発明によれば、チェックサム比較により第2のライブラリと第1のライブラリが差分比較されるから、的確な差分比較を行うことができる。
【0015】
前項(5)に記載の発明によれば、ソースコード比較により第2のライブラリと第1のライブラリが差分比較されるから、的確な差分比較を行うことができる。
【0016】
前項(6)に記載の発明によれば、差分比較の結果、第2のライブラリと差異がない第1のライブラリが存在する場合、第2のライブラリは削除されるから、画像処理装置の保存手段等のリソースをその分有効に活用することができる。
【0017】
前項(7)に記載の発明によれば、第2のライブラリが保持された場合、第2のライブラリを内包するアプリケーションに対して第2のライブラリを優先的に使用させるから、アプリケーションを第2のライブラリに従って動作させることができる。
【0019】
前項(8)に記載の発明によれば、アプリケーションに内包される第2のライブラリが画像処理装置のプリント動作に関連するライブラリである場合に、アプリケーションに第1のライブラリを使用させることで、プリント動作への影響を防止する。
【0020】
前項(9)に記載の発明によれば、アプリケーションに内包される第2のライブラリが画像処理装置のスキャン動作に関連するライブラリである場合に、アプリケーションに第1のライブラリを使用させることで、スキャン動作への影響を防止する。
【0021】
前項(10)に記載の発明によれば、インストールされるアプリケーションに内包される第2のライブラリが、既に保存されている第1のライブラリと内容に差があれば、使用可能に保持されるから、例えば、内包されているライブラリがアプリケーション用にカスタマイズされているようなライブラリである場合に、このライブラリが削除されることによりアプリケーションが適正に動作しなくなるといった問題を解消することができる。
【0022】
前項(11)に記載の発明によれば、第2のライブラリを内包するアプリケーションをインストールされるときまたはインストールされた後に、アプリケーションに内包された第2のライブラリを抽出し、この抽出した第2のライブラリと保存手段に保存されている第1のライブラリとの差分比較を行い、差分比較の結果、第2のライブラリと第1のライブラリとに差異が存在する場合、第2のライブラリは削除することなく使用可能に保持する処理を、画像処理装置のコンピュータに実行させることができる。
【図面の簡単な説明】
【0023】
【
図1】この発明の一実施形態に係る画像処理装置の構成を示すブロック図である。
【
図2】(A)(B)は
図1に示した画像処理装置にライブラリを内包するアプリケーションがインストールされるときの画像処理装置の動作を説明するための図である。
【
図3】画像処理装置にライブラリを内包するアプリケーションがインストールされるときの画像処理装置の他の動作を説明するための図である。
【
図4】(A)(B)は同じくライブラリを内包するアプリケーションがインストールされるときの画像処理装置の他の動作を説明するための図である。
【
図5】アプリケーションがインストールされるときの画像処理装置の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【0024】
以下、この発明の実施形態を図面に基づいて説明する。
【0025】
図1は、この発明の一実施形態に係る画像処理装置としての画像形成装置1の構成を示すブロック図である。この実施形態では、画像形成装置1として、コピー機能、プリンタ機能、ファクシミリ機能、スキャン機能等を備えた多機能デジタル複合機であるMFP(Multifunction Peripheral)が用いられている。以下、画像処理装置をMFPともいう。
【0026】
図1に示すように、MFP1は、制御部100、記憶装置110、画像読取装置120、操作パネル130、画像出力装置140、プリンタコントローラ150及びネットワークインターフェイス(ネットワークI/F)160、無線通信インターフェース(無線通信I/F)170、認証部180等を備え、互いにシステムバス175を介して接続されている。
【0027】
制御部100は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、S-RAM(Static Random Access Memory)103、NV-RAM(Non Volatile RAM)104及び時計IC105等を備えている。
【0028】
CPU101は、ROM102等に保存されている動作プログラムを実行することにより、MFP1の全体を統括的に制御する。例えばコピー機能、プリンタ機能、スキャン機能、ファクシミリ機能等を実行可能に制御したり、ユーザーによる操作パネル135の操作入力を受け付けて、指示されたジョブの動作条件の設定値を設定する処理を行う。更にこの実施形態では、アプリケーションをインストールしたり、ライブラリを内包するアプリケーションがインストールされるときまたはインストールされた後に、アプリケーションに内包されたライブラリを抽出するとともに、抽出したライブラリと同一の名称及び同一のバージョンのライブラリが、記憶装置110に保存されているかどうかを判断したり、抽出したライブラリと同一の名称及び同一のバージョンのライブラリが保存されている場合は、そのライブラリと抽出したライブラリとを差分比較して内容(中身)が同一かどうかを判断する等の処理を行うが、詳細は後述する。
【0029】
ROM102は、CPU101が実行するプログラムやその他のデータを格納する。
【0030】
S-RAM103は、CPU101がプログラムを実行する際の作業領域となるものであり、プログラムやプログラムを実行する際のデータ等を一時的に保存する。
【0031】
NV-RAM104は、バッテリでバックアップされた不揮発メモリであり、画像形成に係わる各種の設定等を記憶するものである。
【0032】
時計IC105は、時刻を計時すると共に、内部タイマーとして機能し処理時間の計測等を行う。
【0033】
記憶装置110(保存手段に相当する)は、ハードディスク等からなり、1個または複数個のアプリケーション、1個または複数個のライブラリその他各種データ等を保存する。
【0034】
画像読取装置120は、スキャナ等を備え、プラテンガラス上にセットされた原稿を走査することによって読み取り、読み取った原稿を画像データに変換する。つまりスキャン動作を実行する。
【0035】
操作パネル130は、操作手段として、ユーザーがMFP1へジョブ等の指示や各種設定を行う際に用いられるものであり、リセットキー131、スタートキー132、ストップキー133、表示部134及びタッチパネル135等を備えている。
【0036】
リセットキー131は、設定をリセットする際に使用されるものであり、スタートキー132はスキャン等の開始操作に使用されるものであり、ストップキー133は動作を中断する場合等に押下されるものである。
【0037】
表示部134は、例えば液晶表示装置からなりメッセージや各種の操作画面等を表示するものであり、タッチパネル135は表示部134の画面上に形成され、ユーザーのタッチ操作を検出する。
【0038】
画像出力装置140は、画像読取装置120で読み取られた原稿の画像データや、端末装置3から送信されたプリントデータから生成された複写画像を用紙上に印字し印刷物として出力するものである。つまりプリント動作を実行する。
【0039】
プリンタコントローラ150は、ネットワークインターフェース160によって受信されたプリントデータから複写画像を生成するものである。
【0040】
ネットワークI/F160は、ネットワーク4を介してデータの送受信を行う通信手段として機能し、無線通信I/F170は近距離無線通信により外部装置と通信を行うためのインターフェースである。
【0041】
認証部180はログインするユーザーの認証用情報を取得し、この認証用情報を予め固定記憶装置110等に保存されている照合用の情報と比較照合して認証を行うものである。なお、ユーザーの認証用情報と照合用の情報との比較照合は、外部の認証サーバーにより行い、認証部180が認証サーバーから認証結果を受信することにより認証が行われても良い。
【0042】
【0043】
図2(A)に示すように、MFP1の保存領域(保存手段)である記憶装置110には、1個又は複数個のアプリケーションで使用されるプログラムであるライブラリA(第1のライブラリに相当)200が保存されているものとする。
【0044】
次に、ライブラリA200が保存されている状態で、同図に示すように、ライブラリA200と名称及びバージョンが同じライブラリA’210(第2のライブラリに相当する)を内包する新たなアプリケーションB300が、MFP1にインストールされる場合を考える。
【0045】
MFP1は、ユーザーの端末装置2やサーバー等からアプリケーションB300のインストールを開始すると(丸数字1)、アプリケーションB300をS-RAM103上に展開して内包されているライブラリA’(以下、内包ライブラリともいう)210を抽出し、内包ライブラリ210と記憶装置110に既に保存されているライブラリA200の内容(中身)をRAM103上で差分比較し、同一内容かどうかを判断する(丸数字2)。
【0046】
内包ライブラリ210とライブラリA200の内容の差分比較の方法は限定されない。一例として、両ライブラリのファイルサイズを比較するサイズ比較法を挙げることができ、両ライブラリのファイルサイズが同一であれば中身が同じと判断する。
【0047】
差分比較法の他の例として両ライブラリのバイナリデータファイルを比較するバイナリ比較法を挙げることができ、両ライブラリのバイナリデータファイルが同一であれば中身が同じと判断する。
【0048】
差分比較法のさらに他の例として、両ライブラリのチェックサムを算出して比較するチェックサム比較法を挙げることができ、両ライブラリのチェックサムが同一であれば中身が同じと判断する。
【0049】
差分比較法のさらに他の例として、両ライブラリがそれぞれソースコードを含んでいる場合は、ソースコードを比較するソースコード比較法を挙げることができ、両ライブラリのソースコードが同一であれば中身が同じと判断する。
【0050】
このような差分比較法を用いることによって、内包ライブラリ210と記憶装置110に既に保存されているライブラリA200の中身に差異があるかどうかを的確に調べることができる。
【0051】
内包ライブラリ210と記憶装置110に既に保存されているライブラリA200の中身に差異がある(同一でない)と判断された場合、内包ライブラリ210はライブラリA200をカスタマイズしたライブラリの可能性があるため、内包ライブラリ210をアプリケーションB300から削除することなく保持したままで、アプリケーションB300をインストールする(丸数字3)。
【0052】
従って、
図2(B)に示すように、既にライブラリA200が保存されているMFP1の記憶装置110には、内包ライブラリ210を保持したアプリケーションB300が保存される。
【0053】
アプリケーションB300のインストール後、アプリケーションB300の使用時には、MFP1のCPU101は、アプリケーションB300の内包アプリ210を優先的に使用させる。つまり、アプリケーションB300は自身の内包アプリ210を使用するから、正常に動作する。
【0054】
このように、この実施形態では、ライブラリ210を内包するアプリケーションB300がインストールされるときに、アプリケーションB300に内包されたライブラリ210が抽出され、この抽出された内包ライブラリ210と記憶装置110に既に保存されているライブラリA200の中身が同一かどうかが差分比較され判断される。そして、抽出された内包ライブラリ210と記憶装置110に保存されているライブラリA200に差異があれば、内包ライブラリ210は削除されることなく保持されたままアプリケーションB300がインストールされる。また、アプリケーションB300に対して内包ライブラリ210を使用させるから、アプリケーションB300は内包ライブラリ210に従って適正に動作する。
【0055】
なお、上記の実施形態では、アプリケーションB300のインストールのときに内包ライブラリ210を抽出し、内包ライブラリ210と記憶装置110に既に保存されているライブラリA200の差異を比較した。しかし、アプリケーションB300がインストールされた後、換言すればアプリケーションB300と内包ライブラリ210が記憶装置110に保存された後に、内包ライブラリ210を抽出し、内包ライブラリ210と記憶装置110に既に保存されているライブラリA200の差異を比較しても良い。
【0056】
また、内包ライブラリ210と記憶装置110に既に保存されているライブラリA200とに差異がない場合は、MFP1のリソースを有効活用するため、内包ライブラリを削除しても良い。
【0057】
次に、この発明の他の実施形態を説明する。上記の実施形態では、アプリケーション300に内包されている内包ライブラリ210が、記憶装置110に保存されているライブラリA200と名称やバージョンが同じであっても、中身に差異があれば内包ライブラリ210をそのまま保持させるものとした。
【0058】
しかし、この実施形態では、内包ライブラリ210がMFP1の固有の機能に関するライブラリである場合は、中身に差異があっても、アプリケーション300に対しては内包ライブラリ210ではなく、記憶装置110に保存されているライブラリA200を優先的に使用させるようになっている。
【0059】
MFP1の固有の機能に関するライブラリは予め設定されており、例えばプリント動作に関連するライブラリや、画像読取装置120により原稿を読み取って画像データに変換するスキャン機能に関連するライブラリを例示できる。
【0060】
図3に示すように、MFP1の記憶装置110には、ライブラリA200~ライブラリE204が既に保存されている。この例では、ライブラリA200及びライブラリB201がプリント用カスタマイズライブラリであり、ライブラリC202がセキュリティ用ライブラリであり、ライブラリD203が通信用ライブラリであり、ライブラリE204がスキャン用カスタマイズライブラリである場合を示している。MFP1の固有の機能に関するライブラリは、ライブラリA200、ライブラリB201及びライブラリE204である。
【0061】
次に、ライブラリA200が保存されている状態で、
図4(A)に示すように、ライブラリA200と名称及びバージョンが同じライブラリA’210を内包する新たなアプリケーションN300が、MFP1にインストールされる場合を考える。
【0062】
MFP1は、ユーザーの端末装置2やサーバー等からアプリケーションN300のインストールを開始すると(丸数字1)、アプリケーションN300をS-RAM103上に展開して内包ライブラリ210を抽出する。そして、各ライブラリの中から内包ライブラリ210と名称及びバージョンが同じライブラリA200を検出したのち、内包ライブラリ210とライブラリA200の内容(中身)をRAM103上で差分比較し、同一内容かどうかを判断する(丸数字2)。
【0063】
ここで、内包ライブラリ210とライブラリA200の中身に差異がある(同一でない)と判断されても、ライブラリA200はMFP1の固有の機能であるプリント用カスタマイズライブラリであるから、内包ライブラリ210を削除する(丸数字3)。これによって、
図4(B)に示すように、MFP1にインストールされ記憶装置110に保存されたアプリケーションNの動作時にはライブラリA200を使用させることになる。なお、
図4(B)では、他のライブラリB201~ライブラリE204は省略してある。
【0064】
なお、内包ライブラリ210を削除するのではなく、アプリケーションNにそのまま保持させるが、アプリケーションNの動作時には内包ライブラリ210の使用を禁止して、ライブラリA200を使用させる制御を行っても良い。
【0065】
このように、内包ライブラリ210の削除を含む使用禁止により、アプリケーションNの動作時にはライブラリA200を優先的に使用させることで、MFP1の固有の機能であるプリント動作に影響を与える恐れを極力排除することができる。
【0066】
なお、内包ライブラリ210がスキャン用カスタマイズライブラリであるライブラリE204と名称、バージョンが同一である場合も同様である。
【0067】
図5は、ライブラリ210を内包するアプリケーション300がインストールされるときのMFP1の動作を説明するためのフローチャートである。このフローチャートに示される動作は、MFP1のCPU101がROM102等の記録媒体に格納された動作プログラムに従って動作することにより実行される。
【0068】
ステップS01ではアプリケーション300のインストールを開始し、ステップS02で、アプリケーション300内のライブラリ保持状態、換言すれば内包ライブラリ210が存在しているかどうかを確認する。
【0069】
次いでステップS03で内包ライブラリ210の有無を判断する。内包ライブラリ210が存在しなければ(ステップS03でNO)、ステップS10で、アプリケーション300のインストールを継続し完了する。内包ライブラリ210が存在すれば(ステップS03でYES)、ステップS04で内包ライブラリ210を抽出した後、ステップS05で、MFP1の記憶装置110に、抽出した内包ライブラリ210と名称が同じでバージョンも同じライブラリA200が存在するかどうかを判断する。
【0070】
抽出した内包ライブラリ210と名称が同じでバージョンも同じライブラリA200が存在しない場合(ステップS05でNO)、ステップS10に進み、アプリケーション300のインストールを継続し完了する。内包ライブラリ210と名称が同じでバージョンも同じライブラリA200が存在する場合は(ステップS05でYES)、ステップS06で、記憶装置110内の該当ライブラリA200と抽出した内包ライブラリ210を差分比較したのち、ステップS07で差異の有無を判断する。
【0071】
差異がなければ(ステップS07でNO)、両ライブラリは中身も同一であるから、ステップS09で内包ライブラリ210を削除した後、ステップS10でアプリケーション300のみをインストールする。
【0072】
ステップS07で差異がある場合(ステップS07でYES)、ステップS08で、ライブラリA200はMFP1の固有の機能に関連するライブラリかどうかを判断する。MFP1の固有の機能に関連するライブラリでなければ(ステップS08でNO)、ステップS10で、内包アプリ210を保持したアプリケーション300をインストールする。MFP1の固有の機能に関連するライブラリであれば(ステップS08でYES)、ステップS9で内包ライブラリ210を削除した後、ステップS10でアプリケーション300のみをインストールする。
【符号の説明】
【0073】
1 MFP
100 制御部
101 CPU
102 ROM
110 記憶装置(保存手段)
134 表示部
200~204 画像処理装置側のライブラリ
210 アプリケーションに内包されているライブラリ
300 インストールされるアプリケーション