(57)【要約】【課題】ソフトウェアモジュール群を更新する場合にそのバージョンの組合せに関する要件に応じた結果を得るための更新可否判定を行う。【解決手段】画像処理装置１０において、既存情報読出し部１３が、既存モジュールのバージョンの組合せに関する要件を定義した既存組合せ情報を既存組合せ情報記憶部１１から読み出し、新規情報受信部１４が、端末装置２０の新規情報送信部２３が新規組合せ情報記憶部２１から読み出して送信した新規モジュールのバージョンの組合せに関する要件を定義した新規組合せ情報を受信する。そして、更新可否判定部１６が、既存組合せ情報と新規組合せ情報とを比較することにより更新可否を判定し、更新実行部１５が、既存モジュール記憶部１２に記憶された既存モジュールを、端末装置２０の新規情報送信部２３が新規モジュール記憶部２２から読み出して送信した新規モジュールで更新する。【選択図】図２
2010055279.tif 000002
【特許請求の範囲】
【請求項１】
特定の機器に既に組み込まれている当該特定の機器の機能を実現するための第１のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第１の定義情報を記憶する第１の記憶手段と、
前記特定の機器に新たに組み込むものとして指定された当該特定の機器の機能を実現するための第２のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第２の定義情報を記憶する第２の記憶手段と、
前記第１の定義情報で定義された要件と前記第２の定義情報で定義された要件とを比較することにより、前記第１のソフトウェアモジュール群を前記第２のソフトウェアモジュール群で更新するかどうかを決定する決定手段と
を備えたことを特徴とする更新判定装置。
【請求項２】
前記決定手段は、前記第１の定義情報で定義された要件を満たすバージョンの組合せの集合が、前記第２の定義情報で定義された要件を満たすバージョンの組合せの集合を包含する場合に、前記第１のソフトウェアモジュール群を前記第２のソフトウェアモジュール群で更新することを決定することを特徴とする請求項１記載の更新判定装置。
【請求項３】
前記決定手段は、前記第１の定義情報で定義された要件と前記第２の定義情報で定義された要件とを共に満たすバージョンの組合せの集合が、前記第２のソフトウェアモジュール群のバージョンの組合せを包含する場合に、前記第１のソフトウェアモジュール群を前記第２のソフトウェアモジュール群で更新することを決定することを特徴とする請求項１記載の更新判定装置。
【請求項４】
前記決定手段は、前記第１の定義情報で定義された要件と前記第２の定義情報で定義された要件とを共に満たすバージョンの組合せが存在しない場合に、前記第１のソフトウェアモジュール群を前記第２のソフトウェアモジュール群で更新しないことを決定することを特徴とする請求項１記載の更新判定装置。
【請求項５】
前記決定手段は、前記第１の定義情報で定義された要件と前記第２の定義情報で定義された要件とを共に満たすバージョンの組合せの集合が、前記第２のソフトウェアモジュール群のバージョンの組合せを包含しない場合に、前記第１のソフトウェアモジュール群を前記第２のソフトウェアモジュール群で更新しないことを決定することを特徴とする請求項１記載の更新判定装置。
【請求項６】
自装置に既に組み込まれている画像処理の機能を実現するための第１のソフトウェアモジュール群を記憶するソフトウェアモジュール群記憶手段と、
前記ソフトウェアモジュール群記憶手段に記憶された前記第１のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第１の定義情報を記憶する定義情報記憶手段と、
自装置に新たに組み込むものとして指定された画像処理の機能を実現するための第２のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第２の定義情報を受信する受信手段と、
前記第１の定義情報で定義された要件と前記第２の定義情報で定義された要件とに基づいて更新可能と判定された場合に、前記ソフトウェアモジュール群記憶手段に記憶された前記第１のソフトウェアモジュール群を前記第２のソフトウェアモジュール群で更新する更新手段と
を備えたことを特徴とする画像処理装置。
【請求項７】
前記受信手段は、前記第１の定義情報で定義された要件と前記第２の定義情報で定義された要件とに基づいて更新可能と判定された場合に、前記第２のソフトウェアモジュール群を更に受信することを特徴とする請求項６記載の画像処理装置。
【請求項８】
コンピュータに、
特定の機器に既に組み込まれている第１のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第１の定義情報を取得する機能と、
前記特定の機器に新たに組み込むものとして指定された第２のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第２の定義情報を取得する機能と、
前記第１の定義情報で定義された要件と前記第２の定義情報で定義された要件とを比較することにより、前記第１のソフトウェアモジュール群を前記第２のソフトウェアモジュール群で更新するかどうかを決定する機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、更新判定装置、画像処理装置、プログラムに関する。
【背景技術】
【０００２】
パッケージの依存関係の情報を記録し、他のパッケージが依存しているパッケージを削除しようとすると警告を出し、新しいパッケージをインストールするときにはそのパッケージが必要とする他のパッケージを知らせる技術がある（例えば、非特許文献１参照）。この非特許文献１では、アプリケーションが他のパッケージの特定のバージョンが提供する機能に依存する場合もあることから、バージョンの依存関係についても述べられている。
【０００３】
また、大規模システムにおけるプログラム群を世代変更する技術もある（例えば、特許文献１参照）。この特許文献１では、システム世代とプログラム世代の相互関係を定義する世代管理テーブルを参照し、変更先システム世代が登録されている場合は、現世代システム情報と異なるファイル世代等について現世代情報を置換し、変更先システム世代が未登録の新世代の場合は、現世代システム情報に登録後、履歴情報を登録している。
【非特許文献１】Eric Foster-Johnson著、ヴァインカーブ監訳、中川和夫訳、「Red Hat RPM Guide」、ソフトバンクパブリッシング、２００３年１１月、ｐ．９５−１１１
【特許文献１】特開平７−２８６３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、ソフトウェアモジュール群を更新する場合にそのバージョンの組合せに関する要件に応じた結果を得るための更新可否判定を行うことにある。
【課題を解決するための手段】
【０００５】
請求項１に記載の発明は、特定の機器に既に組み込まれている当該特定の機器の機能を実現するための第１のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第１の定義情報を記憶する第１の記憶手段と、前記特定の機器に新たに組み込むものとして指定された当該特定の機器の機能を実現するための第２のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第２の定義情報を記憶する第２の記憶手段と、前記第１の定義情報で定義された要件と前記第２の定義情報で定義された要件とを比較することにより、前記第１のソフトウェアモジュール群を前記第２のソフトウェアモジュール群で更新するかどうかを決定する決定手段とを備えたことを特徴とする更新判定装置である。
請求項２に記載の発明は、前記決定手段は、前記第１の定義情報で定義された要件を満たすバージョンの組合せの集合が、前記第２の定義情報で定義された要件を満たすバージョンの組合せの集合を包含する場合に、前記第１のソフトウェアモジュール群を前記第２のソフトウェアモジュール群で更新することを決定することを特徴とする請求項１記載の更新判定装置である。
請求項３に記載の発明は、前記決定手段は、前記第１の定義情報で定義された要件と前記第２の定義情報で定義された要件とを共に満たすバージョンの組合せの集合が、前記第２のソフトウェアモジュール群のバージョンの組合せを包含する場合に、前記第１のソフトウェアモジュール群を前記第２のソフトウェアモジュール群で更新することを決定することを特徴とする請求項１記載の更新判定装置である。
請求項４に記載の発明は、前記決定手段は、前記第１の定義情報で定義された要件と前記第２の定義情報で定義された要件とを共に満たすバージョンの組合せが存在しない場合に、前記第１のソフトウェアモジュール群を前記第２のソフトウェアモジュール群で更新しないことを決定することを特徴とする請求項１記載の更新判定装置である。
請求項５に記載の発明は、前記決定手段は、前記第１の定義情報で定義された要件と前記第２の定義情報で定義された要件とを共に満たすバージョンの組合せの集合が、前記第２のソフトウェアモジュール群のバージョンの組合せを包含しない場合に、前記第１のソフトウェアモジュール群を前記第２のソフトウェアモジュール群で更新しないことを決定することを特徴とする請求項１記載の更新判定装置である。
請求項６に記載の発明は、自装置に既に組み込まれている画像処理の機能を実現するための第１のソフトウェアモジュール群を記憶するソフトウェアモジュール群記憶手段と、前記ソフトウェアモジュール群記憶手段に記憶された前記第１のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第１の定義情報を記憶する定義情報記憶手段と、自装置に新たに組み込むものとして指定された画像処理の機能を実現するための第２のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第２の定義情報を受信する受信手段と、前記第１の定義情報で定義された要件と前記第２の定義情報で定義された要件とに基づいて更新可能と判定された場合に、前記ソフトウェアモジュール群記憶手段に記憶された前記第１のソフトウェアモジュール群を前記第２のソフトウェアモジュール群で更新する更新手段とを備えたことを特徴とする画像処理装置である。
請求項７に記載の発明は、前記受信手段は、前記第１の定義情報で定義された要件と前記第２の定義情報で定義された要件とに基づいて更新可能と判定された場合に、前記第２のソフトウェアモジュール群を更に受信することを特徴とする請求項６記載の画像処理装置である。
請求項８に記載の発明は、コンピュータに、特定の機器に既に組み込まれている第１のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第１の定義情報を取得する機能と、前記特定の機器に新たに組み込むものとして指定された第２のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第２の定義情報を取得する機能と、前記第１の定義情報で定義された要件と前記第２の定義情報で定義された要件とを比較することにより、前記第１のソフトウェアモジュール群を前記第２のソフトウェアモジュール群で更新するかどうかを決定する機能とを実現させるためのプログラムである。
【発明の効果】
【０００６】
請求項１の発明によれば、ソフトウェアモジュール群を更新する場合にそのバージョンの組合せに関する要件に応じた結果を得るための更新可否判定を行うことができる。
請求項２の発明によれば、ソフトウェアモジュール群の実際のバージョンを参照することなく、ソフトウェアモジュール群を更新してそのバージョンの組合せに関する要件を満たす結果を得るための更新可否判定を行うことができる。
請求項３の発明によれば、ソフトウェアモジュール群のバージョンの組合せに関する要件だけで更新可否判定を行えない場合であっても、ソフトウェアモジュール群を更新してそのバージョンの組合せに関する要件を満たす結果を得るための更新可否判定を行うことができる。
請求項４の発明によれば、ソフトウェアモジュール群の実際のバージョンを参照することなく、ソフトウェアモジュール群を更新せずにそのバージョンの組合せに関する要件を満たす結果を得るための更新可否判定を行うことができる。
請求項５の発明によれば、ソフトウェアモジュール群のバージョンの組合せに関する要件だけで更新可否判定を行えない場合であっても、ソフトウェアモジュール群を更新せずにそのバージョンの組合せに関する要件を満たす結果を得るための更新可否判定を行うことができる。
請求項６の発明によれば、画像処理の機能を実現するためのソフトウェアモジュール群を更新する場合にそのバージョンの組合せに関する要件に応じた結果を得ることができる。
請求項７の発明によれば、更新に用いられないソフトウェアモジュール群を受信することによる無駄を防止することができる。
請求項８の発明によれば、ソフトウェアモジュール群を更新する場合にそのバージョンの組合せに関する要件に応じた結果を得るための更新可否判定を行うことができる。
【発明を実施するための最良の形態】
【０００７】
以下、添付図面を参照して、本発明を実施するための最良の形態（以下、「実施の形態」という）について詳細に説明する。
図１は、本実施の形態が適用されるコンピュータシステムの構成を示している。
図示するように、このコンピュータシステムは、画像処理装置１０と、端末装置２０とが、ネットワーク８０で接続されることにより構成されている。
【０００８】
このうち、画像処理装置１０は、端末装置２０からネットワーク８０を介して入力された情報や、直接メディアを挿入したり紙文書をスキャナしたりすることで得られた情報に基づいて、画像処理を行う装置である。例えば、プリンタであり、この観点からは画像形成装置として捉えることができる。また、スキャナであってもよく、この観点からは画像読取装置として捉えることもできる。更に、ファクシミリであってもよく、この観点からは画像送信装置又は画像受信装置として捉えることもできる。
【０００９】
また、端末装置２０は、文書の印刷や文書のファクシミリ送信等を画像処理装置１０に指示する装置であり、ＰＣ(Personal Computer)が例示される。尚、端末装置２０は、Ｗｅｂブラウザを有することもでき、その場合は、画像処理装置１０の各種設定をＷｅｂブラウザから行うことができる。
更に、ネットワーク８０は、ＬＡＮ（Local Area Network）であってもよいし、インターネットであってもよい。
【００１０】
ところで、本実施の形態において、画像処理装置１０には、画像処理の各種機能を実現するために、ソフトウェアが組み込まれている。従来、このようなソフトウェアの更新は、１つのソフトウェア単位でまとめて行われていた。しかしながら、近年では、提供機能の複雑化やカスタマイズの要求等により、ＰＣ（Personal Computer）等のコンピュータシステムと同様、ソフトウェアモジュール等の分割した単位で行われるようになっている。
【００１１】
このようなソフトウェアモジュール単位での更新を行う場合、ソフトウェアモジュールの構成を管理するために、例えば、次のような方法が考えられる。
（１）ソフトウェアモジュールのバージョン情報とその相互の依存性を利用する方法。
（２）構成されるソフトウェアモジュールとそのバージョン等を定義しておく方法。
しかしながら、（１）では、ソフトウェアモジュール相互間での関係のみが制御されるため、提供元が意図している組合せに限定する等の制御をするのが困難であり、保守性、信頼性が良くない。
また、（２）では、新たな機能群を追加する場合等にはソフトウェアモジュール管理用の情報を保守するのに手間が掛かり、構成の柔軟性やカスタマイズ性が犠牲となってしまう。
【００１２】
そこで、本実施の形態では、ソフトウェアモジュール及び各々のバージョンの組合せに関する要件をモジュール組合せ情報として定義する。そして、画像処理装置１０に既に組み込まれているソフトウェアモジュールに関するモジュール組合せ情報と、画像処理装置１０に新たに組み込むソフトウェアモジュールに関するモジュール組合せ情報との整合性を確認する。これにより、整合性を解決することができる利用可能なモジュール組合せ情報を抽出して、上記の問題を解決する。
【００１３】
以下、このような動作を実現する画像処理装置１０及び端末装置２０について詳細に説明する。尚、以降の説明では、ソフトウェアモジュールを単に「モジュール」と表記し、モジュール組合せ情報を単に「組合せ情報」と表記するものとする。また、以下で「更新」というときは、既にあるモジュールを異なるバージョンのモジュールで置き換える処理だけでなく、新たなモジュールを追加する処理をも含むものとする。
【００１４】
図２は、本実施の形態における画像処理装置１０及び端末装置２０の機能構成例を示したブロック図である。
まず、画像処理装置１０の機能構成について説明する。
図示するように、本実施の形態における画像処理装置１０は、既存組合せ情報記憶部１１と、既存モジュール記憶部１２と、既存情報読出し部１３と、新規情報受信部１４と、更新実行部１５と、更新可否判定部１６とを備える。尚、これらのうち、既存組合せ情報記憶部１１、既存モジュール記憶部１２は、例えばＨＤＤにより実現される。また、既存情報読出し部１３、新規情報受信部１４、更新実行部１５、更新可否判定部１６の各機能は、ＣＰＵがＲＯＭに記憶されたプログラムをＲＡＭに読み込んで実行することにより、実現される。
【００１５】
既存組合せ情報記憶部１１は、画像処理装置１０に既に組み込まれたモジュール（以下、「既存モジュール」という）のバージョンの組合せに関する要件を定義した組合せ情報（以下、「既存組合せ情報」という）を記憶する。本実施の形態では、第１のソフトウェアモジュール群の一例として、既存モジュールを用いており、そのバージョンの組合せに関する要件を定義した第１の定義情報の一例として、既存組合せ情報を用いている。また、第１の定義情報を記憶する定義情報記憶手段の一例として、既存組合せ情報記憶部１１を設けている。
既存モジュール記憶部１２は、画像処理装置１０に既に組み込まれたモジュールを記憶する。本実施の形態では、第１のソフトウェアモジュール群を記憶するソフトウェアモジュール群記憶手段の一例として、既存モジュール記憶部１２を設けている。
【００１６】
既存情報読出し部１３は、既存組合せ情報記憶部１１から既存組合せ情報を読み出して更新実行部１５に受け渡す。本実施の形態では、読み出した既存組合せ情報は、図示しないメモリに一旦格納されるので、第１の定義情報を記憶する第１の記憶手段の一例として、既存情報読出し部１３を設けていると言える。
新規情報受信部１４は、画像処理装置１０に新たに組み込むものとして指定されたモジュール（以下、「新規モジュール」という）及びそのバージョンの組合せに関する要件を定義した組合せ情報（以下、「新規組合せ情報」という）を端末装置２０から受信して更新実行部１５に受け渡す。このとき、新規モジュールには、各モジュールのバージョン情報が含まれている。本実施の形態では、第２のソフトウェアモジュール群の一例として、新規モジュールを用いており、そのバージョンの組合せに関する要件を定義した第２の定義情報の一例として、新規組合せ情報を用いている。また、第２の定義情報及び第２のソフトウェアモジュール群を受信する受信手段の一例として、新規情報受信部１４を設けている。更に、本実施の形態では、受信した新規組合せ情報は、図示しないメモリに一旦格納されるので、第２の定義情報を記憶する第２の記憶手段の一例として、新規情報受信部１４を設けていると言える。
【００１７】
更新実行部１５は、既存情報読出し部１３から受け渡された既存組合せ情報と、新規情報受信部１４から受け渡された新規組合せ情報及び新規モジュールのバージョン情報とを更新可否判定部１６に渡して更新可否の判定を指示し、更新可否判定部１６による更新可否の判定結果に応じて、既存モジュールの更新処理を行う。即ち、新規情報受信部１４が受信した全ての新規モジュールについて、更新可否判定部１６による判定結果が更新できる旨を示していれば、既存モジュールを新規モジュールで更新する。一方、新規情報受信部１４が受信した新規モジュールの少なくとも１つについて、更新可否判定部１６による判定結果が更新できない旨を示していれば、既存モジュールを新規モジュールで更新しないようにする。本実施の形態では、第１のソフトウェアモジュール群を第２のソフトウェアモジュール群で更新する更新手段の一例として、更新実行部１５を設けている。
【００１８】
更新可否判定部１６は、新規組合せ情報で定義される個々の新規モジュールによって、既存組合せ情報で定義される既存モジュールのうちの対応するモジュールを更新可能かどうか判定する。本実施の形態では、第１のソフトウェアモジュール群を第２のソフトウェアモジュール群で更新するかどうかを決定する決定手段の一例として、更新可否判定部１６を設けている。
【００１９】
次に、端末装置２０の機能構成について説明する。
図示するように、本実施の形態における端末装置２０は、新規組合せ情報記憶部２１と、新規モジュール記憶部２２と、新規情報送信部２３とを備える。尚、これらのうち、新規組合せ情報記憶部２１、新規モジュール記憶部２２は、例えばＨＤＤにより実現される。また、新規情報送信部２３の機能は、ＣＰＵがＲＯＭに記憶されたプログラムをＲＡＭに読み込んで実行することにより、実現される。
【００２０】
新規組合せ情報記憶部２１は、画像処理装置１０に新たに組み込むものとして指定されたモジュール（新規モジュール）のバージョンの組合せに関する要件を定義した組合せ情報（新規組合せ情報）を記憶する。
新規モジュール記憶部２２は、画像処理装置１０に新たに組み込むものとして指定されたモジュール（新規モジュール）を記憶する。この場合、新規モジュールには、各モジュールのバージョン情報と共に記憶される。
新規情報送信部２３は、新規組合せ情報記憶部２１に記憶された新規組合せ情報と、新規モジュール記憶部２２に記憶された新規モジュールとを、画像処理装置１０に送信する。
【００２１】
次に、本実施の形態における画像処理装置１０の動作について詳細に説明する。
まず、具体例を用いて動作の概略を示す。尚、以下では、既存組合せ情報を「組合せ情報Ａ」とし、新規組合せ情報を「組合せ情報Ｂ」とする。
【００２２】
図３は、組合せ情報Ａで定義されたモジュールを、組合せ情報Ｂで定義されたモジュールで更新可能な場合の例である。
ここで、組合せ情報Ａは、バージョン１．２であり、モジュールｆ、モジュールｂ、モジュールｇ、モジュールｈのバージョンの組合せに関する要件を定義している。具体的には、モジュールｆがバージョン１．０であり、モジュールｂがバージョン１．０であり、モジュールｇがバージョン１．２であり、モジュールｈがバージョン１．２である、という要件を定義している。尚、この要件から、画像処理装置１０に既に組み込まれているモジュールｆ、モジュールｂ、モジュールｇ、モジュールｈのバージョンは、それぞれ１．０、１．０、１．２、１．２であることが分かる。
【００２３】
一方、組合せ情報Ｂは、バージョン１．０であり、モジュールｔ、モジュールｇ、モジュールｈのバージョンの組合せに関する要件を定義している。具体的には、モジュールｔがバージョン１．０であり、モジュールｇがバージョン１．０よりも大きいバージョンであり、モジュールｈがバージョン１．２である、という要件を定義している。尚、この要件から、画像処理装置１０に新たに組み込もうとしているモジュールｔ、モジュールｇ、モジュールｈのバージョンは、それぞれ１．０、１．０よりも大きいバージョン、１．２であることが分かる。
【００２４】
この場合において、組合せ情報Ｂで定義されるモジュールｔは、組合せ情報Ａで定義されていないので、新たに追加可能と判定される。また、組合せ情報Ｂで定義されるモジュールｇに対する要件は「バージョン１．０より大きい」であり、組合せ情報Ａで定義されるモジュールｇに対する要件は「バージョン１．２」である。従って、新たに組み込もうとしているモジュールｇのバージョンが１．２であれば、更新可能と判定される（バージョンが同じなので、実際には更新しなくてもよい）。更に、組合せ情報Ｂで定義されるモジュールｈに対する要件は「バージョン１．２」であり、組合せ情報Ａで定義されるモジュールｈに対する要件も「バージョン１．２」であるので、更新可能と判定される（バージョンが同じなので、実際には更新しなくてもよい）。
【００２５】
図４は、組合せ情報Ａで定義されたモジュールを、組合せ情報Ｂで定義されたモジュールで更新不可能な場合の例である。
ここで、組合せ情報Ａは、図３と同様の定義になっている。
一方、組合せ情報Ｂは、バージョン１．１であり、図３と同様、モジュールｔ、モジュールｇ、モジュールｈのバージョンの組合せに関する要件を定義している。具体的には、モジュールｔ、モジュールｈについては、図３と同様であるが、モジュールｇがバージョン１．３よりも大きいバージョンである、という要件を定義している。
【００２６】
この場合において、組合せ情報Ｂで定義されるモジュールｔは、組合せ情報Ａで定義されていないので、図３と同様、新たに追加可能と判定される。また、組合せ情報Ｂで定義されるモジュールｈに対する要件は「バージョン１．２」であり、組合せ情報Ａで定義されるモジュールｈに対する要件も「バージョン１．２」であるので、更新可能と判定される。しかしながら、組合せ情報Ｂで定義されるモジュールｇに対する要件は「バージョン１．３より大きい」であり、組合せ情報Ａで定義されるモジュールｇに対する要件は「バージョン１．２」である。従って、新たに組み込もうとしているモジュールｇのバージョンとして、１．３よりも大きい如何なるバージョンを考えても、１．２とはならないので、更新不可能と判定される。
このように、組合せ情報Ｂで定義された１つのモジュールｇについて更新不可能と判定されたことにより、組合せ情報Ｂで定義されるモジュールｔ、モジュールｇ、モジュールｈは、画像処理装置１０に組み込まれないことになる。
【００２７】
図５は、組合せ情報Ａで定義されたモジュールを、より高いバージョンの組合せ情報Ａで定義されたモジュールで置き換える場合の例である。
ここで、組合せ情報Ａのバージョン１．２（左側）は、図３、図４の組合せ情報Ａと同様の定義になっている。
一方、組合せ情報Ａのバージョン１．４（右側）は、モジュールｆ、モジュールｂ、モジュールｈについては、組合せ情報Ａのバージョン１．２と同様の定義であるが、モジュールｇについては、バージョン１．４である、という要件を定義している。
【００２８】
この場合において、組合せ情報Ａのバージョン１．４で定義される各モジュールを提供元リポジトリ等から検出して、画像処理装置１０に組み込むことになる。
尚、このとき、画像処理装置１０に別の組合せ情報が既に定義されていれば、組合せ情報Ａのバージョン１．４で定義される各モジュールが、この別の組合せ情報で定義される要件を満たしていることが条件となる。
【００２９】
尚、本実施の形態において、組合せ情報は、画像処理装置１０のある機能を実現するためのモジュール群についてそのバージョンに関する要件を定義したものである。また、個々のモジュールは、その機能を実現するための更に細分化された機能を実現するためのものである。従って、例えば、図３、４におけるモジュールｇ、モジュールｈのように、複数の組合せ情報で定義されるものは、様々な機能において共通に用いられる基本的な機能を実現するためのモジュールであると言うことができる。また、図３、４におけるモジュールｆ、モジュールｂ、モジュールｔのように、個別の組合せ情報でのみ定義されるものは、個別の機能に特化した機能を実現するためのモジュールであると言うことができる。
【００３０】
以下、本実施の形態における画像処理装置１０の動作を詳細に説明する。
図６は、画像処理装置１０の更新実行部１５及び更新可否判定部１６の動作例を示したフローチャートである。尚、この動作に先立ち、既存情報読出し部１３が、既存組合せ情報記憶部１１から組合せ情報Ａを読み出し、新規情報受信部１４が端末装置２０から組合せ情報Ｂ及び組合せ情報Ｂで定義されるモジュールを受信し、更新実行部１５が参照するメモリ上にこれらの情報を格納しているものとする。また、モジュールに対する要件としては、モジュールのバージョンがあるバージョンと等しいという要件、及び、モジュールのバージョンがあるバージョンよりも大きいという要件（「＞」を含む要件）の何れかが定義されているものとする。
【００３１】
動作を開始すると、更新実行部１５は、メモリに格納された組合せ情報Ｂ（図では単に「Ｂ」と表記）から、１つのモジュールのバージョンに関する要件（図では単に「要件」と表記）を取得する（ステップ１０１）。
次に、更新実行部１５は、そのモジュールに対する要件が組合せ情報Ａに定義されているかどうかを判定する（ステップ１０２）。
その結果、そのモジュールに対する要件が組合せ情報Ａに定義されていなければ、更新可否判定処理は行わずにステップ１１１へ進む。例えば、図３、４のモジュールｔについては、組合せ情報Ａに要件が定義されていないので、更新可否判定処理は行わない。
【００３２】
一方、そのモジュールに対する要件が組合せ情報Ａに定義されていれば、その要件が「＞」を含むかどうかを判定する（ステップ１０３）。そして、その要件が「＞」を含まないと判定すれば、ステップ１０１で取得した要件が「＞」を含むかどうかを判定し（ステップ１０４）、「＞」を含まないと判定すれば、更新可否判定処理１を実行し（ステップ１０５）、「＞」を含むと判定すれば、更新可否判定処理２を実行する（ステップ１０６）。また、ステップ１０３で組合せ情報Ａの要件が「＞」を含むと判定すれば、ステップ１０１で取得した要件が「＞」を含むかどうかを判定し（ステップ１０７）、「＞」を含まないと判定すれば、更新可否判定処理３を実行し（ステップ１０８）、「＞」を含むと判定すれば、更新可否判定処理４を実行する（ステップ１０９）。
【００３３】
即ち、組合せ情報Ａで定義された要件も組合せ情報Ｂで定義された要件も共に、あるバージョンと等しいという要件である場合に、更新可否判定処理１を実行する。また、組合せ情報Ａで定義された要件があるバージョンと等しいという要件で、組合せ情報Ｂで定義された要件があるバージョンよりも大きいという要件である場合に、更新可否判定処理２を実行する。更に、組合せ情報Ａで定義された要件があるバージョンよりも大きいという要件で、組合せ情報Ｂで定義された要件があるバージョンと等しいという要件である場合に、更新可否判定処理３を実行する。更にまた、組合せ情報Ａで定義された要件も組合せ情報Ｂで定義された要件も共に、あるバージョンよりも大きいという要件である場合に、更新可否判定処理４を実行する。例えば、図３、４のモジュールｇについては、ステップ１０２で「Ｙｅｓ」となり、ステップ１０３で「Ｎｏ」となり、ステップ１０４で「Ｙｅｓ」となるので、更新可否判定処理２を行う。また、図３、４のモジュールｈについては、ステップ１０２で「Ｙｅｓ」となり、ステップ１０３で「Ｎｏ」となり、ステップ１０４で「Ｎｏ」となるので、更新可否判定処理１を行う。
【００３４】
そして、更新可否判定処理が終了すると、更新可能フラグが「ＯＮ」に設定されているかどうかを判定する（ステップ１１０）。ここで、更新可能フラグは、個々のモジュールについて、更新可能と判定された場合に「ＯＮ」に設定され、更新不可能と判定された場合に「ＯＦＦ」に設定されるフラグである。
【００３５】
その結果、更新可能フラグが「ＯＮ」に設定されていなければ、つまり、「ＯＦＦ」に設定されていれば、更新実行部１５は、組合せ情報Ｂで定義されたモジュールを画像処理装置１０に組み込めないことを通知する（ステップ１１３）。
【００３６】
一方、更新可能フラグが「ＯＮ」に設定されていれば、更新実行部１５は、組合せ情報Ｂに他のモジュールに対する要件が定義されているかどうかを判定する（ステップ１１１）。ここで、他のモジュールに対する要件が定義されていれば、ステップ１０１に戻り、その要件についてステップ１０１〜１１０を繰り返す。そして、ステップ１１０で更新フラグが「ＯＮ」に設定されていないと判定されることなく、ステップ１１１で他のモジュールに対する要件がないと判定されれば、組合せ情報Ｂで定義される全てのモジュールについて更新可能と判断されたことになるので、組合せ情報Ｂで定義されたモジュールを画像処理装置１０に組み込む（ステップ１１２）。尚、このとき、組合せ情報Ａでのバージョンと組合せ情報Ｂでのバージョンとが同じかどうかをモジュールごとに判定し、同じであれば更新しないようにしてもよい。
【００３７】
次に、更新可否判定処理について説明する。尚、この更新可否判定処理は、更新可否判定処理１〜４のうちの何れを実行すべきかが更新実行部１５によって指示されることにより、更新可否判定部１６が実行する。
【００３８】
まず、更新可否判定処理１の動作について説明する。
図７は、更新可否判定処理１の動作例を示したフローチャートである。尚、ここでは、組合せ情報Ａで定義された要件のうちの処理対象の要件に含まれるバージョンをａｒと表記し、組合せ情報Ｂで定義された要件のうちの処理対象の要件に含まれるバージョンをｂｒと表記する。
【００３９】
動作が開始すると、まず、更新可否判定部１６は、ａｒとｂｒが等しいかどうかを判定する（ステップ１２１）。
その結果、ａｒとｂｒが等しいと判定すれば、更新可能フラグを「ＯＮ」に設定する（ステップ１２２）。
一方、ａｒとｂｒが等しくないと判定すれば、更新可能フラグを「ＯＦＦ」に設定する（ステップ１２３）。
【００４０】
例えば、図３、４のモジュールｈの場合、ａｒ＝１．２、ｂｒ＝１．２なので、ステップ１２１で「Ｙｅｓ」となり、更新可能フラグが「ＯＮ」に設定される。
【００４１】
次に、更新可否判定処理２の動作について説明する。
図８は、更新可否判定処理２の動作例を示したフローチャートである。尚、ここでは、組合せ情報Ａで定義された要件のうちの処理対象の要件に含まれるバージョンをａｒと表記し、組合せ情報Ｂで定義された要件のうちの処理対象の要件に含まれるバージョンをｂｒと表記し、組合せ情報Ｂで定義された要件のうちの処理対象の要件に対応するモジュールの実際のバージョンをｂと表記する。
【００４２】
動作が開始すると、まず、更新可否判定部１６は、ａｒがｂｒよりも大きいかどうかを判定する（ステップ１４１）。
その結果、ａｒがｂｒよりも大きいと判定すれば、ａｒとｂが等しいかを判定し（ステップ１４２）、ａｒとｂが等しければ、更新可能フラグを「ＯＮ」に設定する（ステップ１４３）。
一方、ａｒがｂｒよりも大きくないと判定された場合、又は、ａｒがｂと等しくないと判定された場合は、更新可能フラグを「ＯＦＦ」に設定する（ステップ１４４）。
【００４３】
例えば、図３のモジュールｇの場合、ａｒ＝１．２、ｂｒ＝１．０なので、ステップ１４１で「Ｙｅｓ」となる。ここで、組合せ情報Ｂで定義されたモジュールの実際のバージョンが１．２、つまり、ｂ＝１．２であれば、ステップ１４２で「Ｙｅｓ」となり、更新可能フラグが「ＯＮ」に設定されるが、組合せ情報Ｂで定義されたモジュールの実際のバージョンが１．１、つまり、ｂ＝１．１であれば、ステップ１４２で「Ｎｏ」となり、更新可能フラグが「ＯＦＦ」に設定される。
また、図４のモジュールｇの場合、ａｒ＝１．２、ｂｒ＝１．３なので、ステップ１４１で「Ｎｏ」となり、更新可能フラグが「ＯＦＦ」に設定される。
【００４４】
また、更新可否判定処理３の動作について説明する。
図９は、更新可否判定処理３の動作例を示したフローチャートである。尚、ここでは、組合せ情報Ａで定義された要件のうちの処理対象の要件に含まれるバージョンをａｒと表記し、組合せ情報Ｂで定義されている要件のうちの処理対象の要件に含まれるバージョンをｂｒと表記する。
【００４５】
動作が開始すると、まず、更新可否判定部１６は、ａｒがｂｒよりも小さいかどうかを判定する（ステップ１６１）。
その結果、ａｒがｂｒよりも小さいと判定すれば、更新可能フラグを「ＯＮ」に設定する（ステップ１６２）。
一方、ａｒがｂｒよりも小さくないと判定すれば、更新可能フラグを「ＯＦＦ」に設定する（ステップ１６３）。
【００４６】
例えば、図３において、組合せ情報Ａにおけるモジュールｇに対する要件が「＞Ｖｅｒ．１．０」であり、組合せ情報Ｂにおけるモジュールｇに対する要件が「Ｖｅｒ．１．２」であったとする。すると、ａｒ＝１．０、ｂｒ＝１．２なので、ステップ１６１で「Ｙｅｓ」となり、更新可能フラグが「ＯＮ」に設定される。
また、図４において、組合せ情報Ａにおけるモジュールｇに対する要件が「＞Ｖｅｒ．１．３」であり、組合せ情報Ｂにおけるモジュールｇに対する要件が「Ｖｅｒ．１．２」であったとする。すると、ａｒ＝１．３、ｂｒ＝１．２なので、ステップ１６１で「Ｎｏ」となり、更新可能フラグが「ＯＦＦ」に設定される。
【００４７】
次いで、更新可否判定処理４の動作について説明する。
図１０は、更新可否判定処理４の動作例を示したフローチャートである。尚、ここでは、組合せ情報Ａで定義された要件のうちの処理対象の要件に含まれるバージョンをａｒと表記し、組合せ情報Ｂで定義された要件のうちの処理対象の要件に含まれるバージョンをｂｒと表記し、組合せ情報Ｂで定義された要件のうちの処理対象の要件に対応するモジュールの実際のバージョンをｂと表記する。
【００４８】
動作が開始すると、まず、更新可否判定部１６は、ａｒがｂｒと等しいかどうかを判定する（ステップ１８１）。
その結果、ａｒがｂｒと等しいと判定すれば、更新可能フラグを「ＯＮ」に設定する（ステップ１８４）。
一方、ａｒがｂｒと等しくないと判定すると、ａｒがｂｒよりも大きいかどうかを判定する（ステップ１８２）。そして、ａｒがｂｒよりも大きくなければ、更新可能フラグを「ＯＮ」に設定する（ステップ１８４）。また、ａｒがｂｒよりも大きければ、ａｒがｂよりも小さいかどうかを判定し（ステップ１８３）、小さいと判定されれば、更新可能フラグを「ＯＮ」に設定し、小さくないと判定すれば、更新可能フラグを「ＯＦＦ」に設定する（ステップ１８５）。
【００４９】
例えば、組合せ情報Ａで定義される要件が「＞Ｖｅｒ．１．０」であり、組合せ情報Ｂで定義される要件が「＞Ｖｅｒ．１．０」であれば、ステップ１８１で「Ｙｅｓ」となり、更新可能フラグが「ＯＮ」に設定される。
また、組合せ情報Ａで定義された要件が「＞Ｖｅｒ．１．２」であり、組合せ情報Ｂで定義された要件が「＞Ｖｅｒ．１．０」であれば、ステップ１８１で「Ｎｏ」となり、ステップ１８２で「Ｙｅｓ」となる。ここで、組合せ情報Ｂで定義されたモジュールの実際のバージョンが１．３、つまり、ｂ＝１．３であれば、ステップ１８３で「Ｙｅｓ」となり、更新可能フラグが「ＯＮ」に設定されるが、組合せ情報Ｂで定義されたモジュールの実際のバージョンが１．１、つまり、ｂ＝１．１であれば、ステップ１８３で「Ｎｏ」となり、更新可能フラグが「ＯＦＦ」に設定される。
【００５０】
ところで、本実施の形態では、既存組合せ情報として、組合せ情報Ａのみを考えたが、他の組合せ情報、例えば、組合せ情報Ａ’、組合せ情報Ａ”があることも考えられる。その場合は、「Ａ」を「Ａ’」に置き換えて上記フローチャートの処理を実行し、更に「Ａ」を「Ａ”」に置き換えて上記フローチャートの処理を実行する。そして、ステップ１０２で「Ｎｏ」又はステップ１１０で「Ｙｅｓ」である限り処理を続け、組合せ情報Ｂの全ての要件と、組合せ情報Ａ、組合せ情報Ａ’、組合せ情報Ａ”の全ての要件との比較において、ステップ１１０で「Ｎｏ」とならなければ、組合せ情報Ｂで定義されたモジュールを組み込むことになる。一方、比較の途中において、ステップ１１０で「Ｎｏ」となったら、組合せ情報Ｂで定義されたモジュールは組み込めないことになる。
【００５１】
また、本実施の形態では、組合せ情報で定義される要件として、モジュールのバージョンがあるバージョンと等しいという要件、及び、モジュールのバージョンがあるバージョンよりも大きいという要件の２つを考えたが、これには限らない。例えば、モジュールのバージョンがあるバージョン以上であるという要件、モジュールのバージョンがあるバージョンより小さいという要件、モジュールのバージョンがあるバージョン以下であるという要件等を考えてもよい。
そして、モジュールのバージョンがあるバージョンよりも大きいという要件の代わりに、モジュールのバージョンがあるバージョン以上であるという要件を用いた場合、図６〜１０のフローチャートを「＜」を「≦」に、「＞」を「≧」に置き換えて実行すればよい。また、モジュールのバージョンがあるバージョンよりも大きいという要件の代わりに、モジュールのバージョンがあるバージョンよりも小さいという要件を用いた場合、図６〜１０のフローチャートを「＜」を「＞」に、「＞」を「＜」に置き換えて実行すればよい。更に、モジュールのバージョンがあるバージョンよりも大きいという要件の代わりに、モジュールのバージョンがあるバージョン以下であるという要件を用いた場合、図６〜１０のフローチャートを「＜」を「≧」に、「＞」を「≦」に置き換えて実行すればよい。
【００５２】
即ち、一般的に述べると、組合せ情報Ａで定義された要件を満たすバージョンの組合せの集合が、組合せ情報Ｂで定義された要件を満たすバージョンの組合せの集合を包含する場合に、組合せ情報Ｂで定義されたモジュールを組み込むことができる。これは、全ての新規モジュールの更新可否判定処理において、図７のステップ１２１で「Ｙｅｓ」、図９のステップ１６１で「Ｙｅｓ」、図１０のステップ１８１で「Ｙｅｓ」、図１０のステップ１８２で「Ｎｏ」の何れかになる場合に相当する。
また、組合せ情報Ａで定義された要件と組合せ情報Ｂで定義された要件とを共に満たすバージョンの組合せの集合が、組合せ情報Ｂで定義されたモジュールの実際のバージョンの組合せを包含する場合に、組合せ情報Ｂで定義されたモジュールを組み込むことができる。これは、全ての新規モジュールの更新可否判定処理において、上記に加え、図８のステップ１４２で「Ｙｅｓ」、図１０のステップ１８３で「Ｙｅｓ」の何れかになる場合に相当する。
【００５３】
更に、組合せ情報Ａで定義された要件と組合せ情報Ｂで定義された要件とを共に満たすバージョンの組合せが存在しない場合は、組合せ情報Ｂで定義されたモジュールを組み込むことができない。これは、少なくとも１つの新規モジュールの更新可否判定処理において、図７のステップ１２１で「Ｎｏ」、図８のステップ１４１で「Ｎｏ」、図９のステップ１６１で「Ｎｏ」の何れかになる場合に相当する。
更にまた、組合せ情報Ａで定義された要件と組合せ情報Ｂで定義された要件とを共に満たすバージョンの組合せの集合が、組合せ情報Ｂで定義されたモジュールの実際のバージョンの組合せを包含しない場合は、組合せ情報Ｂで定義されたモジュールを組み込むことができない。これは、少なくとも１つの新規モジュールの更新可否判定処理において、図８のステップ１４２で「Ｎｏ」、図１０のステップ１８３で「Ｎｏ」の何れかになる場合に相当する。
【００５４】
また、本実施の形態では、更新実行部１５が新規モジュールを組み込めると判定するか組み込めないと判定するかに関わらず、新規情報受信部１４が、新規モジュールを受信するようにした。しかしながら、更新実行部１５が新規モジュールを組み込めると判定した場合にのみ、新規情報受信部１４が新規モジュールを受信するような構成を採用してもよい。
【００５５】
ところで、本実施の形態では、画像処理装置１０が更新可否判定及び更新実行を行うようにした。しかしながら、必ずしも画像処理装置１０でこの処理を行わなくてよい。既存組合せ情報記憶部１１及び新規組合せ情報記憶部２１と通信可能な状態になっていれば、如何なる装置でこのような処理を行ってもよい。
そこで、これらの処理をコンピュータ９０で行うものとして、コンピュータ９０のハードウェア構成について説明する。
【００５６】
図１１は、コンピュータ９０のハードウェア構成を示した図である。
図示するように、コンピュータ９０は、演算手段であるＣＰＵ（Central Processing Unit）９１と、記憶手段であるメインメモリ９２及び磁気ディスク装置（ＨＤＤ：Hard Disk Drive）９３とを備える。ここで、ＣＰＵ９１は、ＯＳ（Operating System）やアプリケーション等の各種ソフトウェアを実行し、上述した各機能を実現する。また、メインメモリ９２は、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域であり、磁気ディスク装置９３は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
更に、コンピュータ９０は、外部との通信を行うための通信Ｉ/Ｆ９４と、ビデオメモリやディスプレイ等からなる表示機構９５と、キーボードやマウス等の入力デバイス９６とを備える。
【００５７】
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭ等の記録媒体に格納して提供するようにしてもよい。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施の形態が適用されるシステムの構成を示した図である。
【図２】本発明の実施の形態における画像処理装置及び端末装置の機能構成例を示した図である。
【図３】本発明の実施の形態の概要を説明するための図である。
【図４】本発明の実施の形態の概要を説明するための図である。
【図５】本発明の実施の形態の概要を説明するための図である。
【図６】本発明の実施の形態における画像処理装置の動作例を示したフローチャートである。
【図７】本発明の実施の形態の画像処理装置における更新可否判定処理１の動作例を示したフローチャートである。
【図８】本発明の実施の形態の画像処理装置における更新可否判定処理２の動作例を示したフローチャートである。
【図９】本発明の実施の形態の画像処理装置における更新可否判定処理３の動作例を示したフローチャートである。
【図１０】本発明の実施の形態の画像処理装置における更新可否判定処理４の動作例を示したフローチャートである。
【図１１】本発明の実施の形態を実現可能なコンピュータのハードウェア構成図である。
【符号の説明】
【００５９】
１０…画像処理装置、１１…既存組合せ情報記憶部、１２…既存モジュール記憶部、１３…既存情報読出し部、１４…新規情報受信部、１５…更新実行部、１６…更新可否判定部、２０…端末装置、２１…新規組合せ情報記憶部、２２…新規モジュール記憶部、２３…新規情報送信部
【図１】
2010055279.tif 000003
【図２】
2010055279.tif 000004
【図３】
2010055279.tif 000005
【図４】
2010055279.tif 000006
【図５】
2010055279.tif 000007
【図６】
2010055279.tif 000008
【図７】
2010055279.tif 000009
【図８】
2010055279.tif 000010
【図９】
2010055279.tif 000011
【図１０】
2010055279.tif 000012
【図１１】
2010055279.tif 000013