JP2010055279A - 更新判定装置、画像処理装置、及びプログラム - Google Patents

更新判定装置、画像処理装置、及びプログラム Download PDF

Info

Publication number
JP2010055279A
JP2010055279A JP2008218161A JP2008218161A JP2010055279A JP 2010055279 A JP2010055279 A JP 2010055279A JP 2008218161 A JP2008218161 A JP 2008218161A JP 2008218161 A JP2008218161 A JP 2008218161A JP 2010055279 A JP2010055279 A JP 2010055279A
Authority
JP
Japan
Prior art keywords
software module
module group
module
update
definition 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.)
Pending
Application number
JP2008218161A
Other languages
English (en)
Inventor
Shinji Ota
真二 太田
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2008218161A priority Critical patent/JP2010055279A/ja
Publication of JP2010055279A publication Critical patent/JP2010055279A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ソフトウェアモジュール群を更新する場合にそのバージョンの組合せに関する要件に応じた結果を得るための更新可否判定を行う。
【解決手段】画像処理装置10において、既存情報読出し部13が、既存モジュールのバージョンの組合せに関する要件を定義した既存組合せ情報を既存組合せ情報記憶部11から読み出し、新規情報受信部14が、端末装置20の新規情報送信部23が新規組合せ情報記憶部21から読み出して送信した新規モジュールのバージョンの組合せに関する要件を定義した新規組合せ情報を受信する。そして、更新可否判定部16が、既存組合せ情報と新規組合せ情報とを比較することにより更新可否を判定し、更新実行部15が、既存モジュール記憶部12に記憶された既存モジュールを、端末装置20の新規情報送信部23が新規モジュール記憶部22から読み出して送信した新規モジュールで更新する。
【選択図】図2

Description

本発明は、更新判定装置、画像処理装置、プログラムに関する。
パッケージの依存関係の情報を記録し、他のパッケージが依存しているパッケージを削除しようとすると警告を出し、新しいパッケージをインストールするときにはそのパッケージが必要とする他のパッケージを知らせる技術がある(例えば、非特許文献1参照)。この非特許文献1では、アプリケーションが他のパッケージの特定のバージョンが提供する機能に依存する場合もあることから、バージョンの依存関係についても述べられている。
また、大規模システムにおけるプログラム群を世代変更する技術もある(例えば、特許文献1参照)。この特許文献1では、システム世代とプログラム世代の相互関係を定義する世代管理テーブルを参照し、変更先システム世代が登録されている場合は、現世代システム情報と異なるファイル世代等について現世代情報を置換し、変更先システム世代が未登録の新世代の場合は、現世代システム情報に登録後、履歴情報を登録している。
Eric Foster-Johnson著、ヴァインカーブ監訳、中川和夫訳、「Red Hat RPM Guide」、ソフトバンクパブリッシング、2003年11月、p.95−111 特開平7−28633号公報
本発明の目的は、ソフトウェアモジュール群を更新する場合にそのバージョンの組合せに関する要件に応じた結果を得るための更新可否判定を行うことにある。
請求項1に記載の発明は、特定の機器に既に組み込まれている当該特定の機器の機能を実現するための第1のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第1の定義情報を記憶する第1の記憶手段と、前記特定の機器に新たに組み込むものとして指定された当該特定の機器の機能を実現するための第2のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第2の定義情報を記憶する第2の記憶手段と、前記第1の定義情報で定義された要件と前記第2の定義情報で定義された要件とを比較することにより、前記第1のソフトウェアモジュール群を前記第2のソフトウェアモジュール群で更新するかどうかを決定する決定手段とを備えたことを特徴とする更新判定装置である。
請求項2に記載の発明は、前記決定手段は、前記第1の定義情報で定義された要件を満たすバージョンの組合せの集合が、前記第2の定義情報で定義された要件を満たすバージョンの組合せの集合を包含する場合に、前記第1のソフトウェアモジュール群を前記第2のソフトウェアモジュール群で更新することを決定することを特徴とする請求項1記載の更新判定装置である。
請求項3に記載の発明は、前記決定手段は、前記第1の定義情報で定義された要件と前記第2の定義情報で定義された要件とを共に満たすバージョンの組合せの集合が、前記第2のソフトウェアモジュール群のバージョンの組合せを包含する場合に、前記第1のソフトウェアモジュール群を前記第2のソフトウェアモジュール群で更新することを決定することを特徴とする請求項1記載の更新判定装置である。
請求項4に記載の発明は、前記決定手段は、前記第1の定義情報で定義された要件と前記第2の定義情報で定義された要件とを共に満たすバージョンの組合せが存在しない場合に、前記第1のソフトウェアモジュール群を前記第2のソフトウェアモジュール群で更新しないことを決定することを特徴とする請求項1記載の更新判定装置である。
請求項5に記載の発明は、前記決定手段は、前記第1の定義情報で定義された要件と前記第2の定義情報で定義された要件とを共に満たすバージョンの組合せの集合が、前記第2のソフトウェアモジュール群のバージョンの組合せを包含しない場合に、前記第1のソフトウェアモジュール群を前記第2のソフトウェアモジュール群で更新しないことを決定することを特徴とする請求項1記載の更新判定装置である。
請求項6に記載の発明は、自装置に既に組み込まれている画像処理の機能を実現するための第1のソフトウェアモジュール群を記憶するソフトウェアモジュール群記憶手段と、前記ソフトウェアモジュール群記憶手段に記憶された前記第1のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第1の定義情報を記憶する定義情報記憶手段と、自装置に新たに組み込むものとして指定された画像処理の機能を実現するための第2のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第2の定義情報を受信する受信手段と、前記第1の定義情報で定義された要件と前記第2の定義情報で定義された要件とに基づいて更新可能と判定された場合に、前記ソフトウェアモジュール群記憶手段に記憶された前記第1のソフトウェアモジュール群を前記第2のソフトウェアモジュール群で更新する更新手段とを備えたことを特徴とする画像処理装置である。
請求項7に記載の発明は、前記受信手段は、前記第1の定義情報で定義された要件と前記第2の定義情報で定義された要件とに基づいて更新可能と判定された場合に、前記第2のソフトウェアモジュール群を更に受信することを特徴とする請求項6記載の画像処理装置である。
請求項8に記載の発明は、コンピュータに、特定の機器に既に組み込まれている第1のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第1の定義情報を取得する機能と、前記特定の機器に新たに組み込むものとして指定された第2のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第2の定義情報を取得する機能と、前記第1の定義情報で定義された要件と前記第2の定義情報で定義された要件とを比較することにより、前記第1のソフトウェアモジュール群を前記第2のソフトウェアモジュール群で更新するかどうかを決定する機能とを実現させるためのプログラムである。
請求項1の発明によれば、ソフトウェアモジュール群を更新する場合にそのバージョンの組合せに関する要件に応じた結果を得るための更新可否判定を行うことができる。
請求項2の発明によれば、ソフトウェアモジュール群の実際のバージョンを参照することなく、ソフトウェアモジュール群を更新してそのバージョンの組合せに関する要件を満たす結果を得るための更新可否判定を行うことができる。
請求項3の発明によれば、ソフトウェアモジュール群のバージョンの組合せに関する要件だけで更新可否判定を行えない場合であっても、ソフトウェアモジュール群を更新してそのバージョンの組合せに関する要件を満たす結果を得るための更新可否判定を行うことができる。
請求項4の発明によれば、ソフトウェアモジュール群の実際のバージョンを参照することなく、ソフトウェアモジュール群を更新せずにそのバージョンの組合せに関する要件を満たす結果を得るための更新可否判定を行うことができる。
請求項5の発明によれば、ソフトウェアモジュール群のバージョンの組合せに関する要件だけで更新可否判定を行えない場合であっても、ソフトウェアモジュール群を更新せずにそのバージョンの組合せに関する要件を満たす結果を得るための更新可否判定を行うことができる。
請求項6の発明によれば、画像処理の機能を実現するためのソフトウェアモジュール群を更新する場合にそのバージョンの組合せに関する要件に応じた結果を得ることができる。
請求項7の発明によれば、更新に用いられないソフトウェアモジュール群を受信することによる無駄を防止することができる。
請求項8の発明によれば、ソフトウェアモジュール群を更新する場合にそのバージョンの組合せに関する要件に応じた結果を得るための更新可否判定を行うことができる。
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。
図1は、本実施の形態が適用されるコンピュータシステムの構成を示している。
図示するように、このコンピュータシステムは、画像処理装置10と、端末装置20とが、ネットワーク80で接続されることにより構成されている。
このうち、画像処理装置10は、端末装置20からネットワーク80を介して入力された情報や、直接メディアを挿入したり紙文書をスキャナしたりすることで得られた情報に基づいて、画像処理を行う装置である。例えば、プリンタであり、この観点からは画像形成装置として捉えることができる。また、スキャナであってもよく、この観点からは画像読取装置として捉えることもできる。更に、ファクシミリであってもよく、この観点からは画像送信装置又は画像受信装置として捉えることもできる。
また、端末装置20は、文書の印刷や文書のファクシミリ送信等を画像処理装置10に指示する装置であり、PC(Personal Computer)が例示される。尚、端末装置20は、Webブラウザを有することもでき、その場合は、画像処理装置10の各種設定をWebブラウザから行うことができる。
更に、ネットワーク80は、LAN(Local Area Network)であってもよいし、インターネットであってもよい。
ところで、本実施の形態において、画像処理装置10には、画像処理の各種機能を実現するために、ソフトウェアが組み込まれている。従来、このようなソフトウェアの更新は、1つのソフトウェア単位でまとめて行われていた。しかしながら、近年では、提供機能の複雑化やカスタマイズの要求等により、PC(Personal Computer)等のコンピュータシステムと同様、ソフトウェアモジュール等の分割した単位で行われるようになっている。
このようなソフトウェアモジュール単位での更新を行う場合、ソフトウェアモジュールの構成を管理するために、例えば、次のような方法が考えられる。
(1)ソフトウェアモジュールのバージョン情報とその相互の依存性を利用する方法。
(2)構成されるソフトウェアモジュールとそのバージョン等を定義しておく方法。
しかしながら、(1)では、ソフトウェアモジュール相互間での関係のみが制御されるため、提供元が意図している組合せに限定する等の制御をするのが困難であり、保守性、信頼性が良くない。
また、(2)では、新たな機能群を追加する場合等にはソフトウェアモジュール管理用の情報を保守するのに手間が掛かり、構成の柔軟性やカスタマイズ性が犠牲となってしまう。
そこで、本実施の形態では、ソフトウェアモジュール及び各々のバージョンの組合せに関する要件をモジュール組合せ情報として定義する。そして、画像処理装置10に既に組み込まれているソフトウェアモジュールに関するモジュール組合せ情報と、画像処理装置10に新たに組み込むソフトウェアモジュールに関するモジュール組合せ情報との整合性を確認する。これにより、整合性を解決することができる利用可能なモジュール組合せ情報を抽出して、上記の問題を解決する。
以下、このような動作を実現する画像処理装置10及び端末装置20について詳細に説明する。尚、以降の説明では、ソフトウェアモジュールを単に「モジュール」と表記し、モジュール組合せ情報を単に「組合せ情報」と表記するものとする。また、以下で「更新」というときは、既にあるモジュールを異なるバージョンのモジュールで置き換える処理だけでなく、新たなモジュールを追加する処理をも含むものとする。
図2は、本実施の形態における画像処理装置10及び端末装置20の機能構成例を示したブロック図である。
まず、画像処理装置10の機能構成について説明する。
図示するように、本実施の形態における画像処理装置10は、既存組合せ情報記憶部11と、既存モジュール記憶部12と、既存情報読出し部13と、新規情報受信部14と、更新実行部15と、更新可否判定部16とを備える。尚、これらのうち、既存組合せ情報記憶部11、既存モジュール記憶部12は、例えばHDDにより実現される。また、既存情報読出し部13、新規情報受信部14、更新実行部15、更新可否判定部16の各機能は、CPUがROMに記憶されたプログラムをRAMに読み込んで実行することにより、実現される。
既存組合せ情報記憶部11は、画像処理装置10に既に組み込まれたモジュール(以下、「既存モジュール」という)のバージョンの組合せに関する要件を定義した組合せ情報(以下、「既存組合せ情報」という)を記憶する。本実施の形態では、第1のソフトウェアモジュール群の一例として、既存モジュールを用いており、そのバージョンの組合せに関する要件を定義した第1の定義情報の一例として、既存組合せ情報を用いている。また、第1の定義情報を記憶する定義情報記憶手段の一例として、既存組合せ情報記憶部11を設けている。
既存モジュール記憶部12は、画像処理装置10に既に組み込まれたモジュールを記憶する。本実施の形態では、第1のソフトウェアモジュール群を記憶するソフトウェアモジュール群記憶手段の一例として、既存モジュール記憶部12を設けている。
既存情報読出し部13は、既存組合せ情報記憶部11から既存組合せ情報を読み出して更新実行部15に受け渡す。本実施の形態では、読み出した既存組合せ情報は、図示しないメモリに一旦格納されるので、第1の定義情報を記憶する第1の記憶手段の一例として、既存情報読出し部13を設けていると言える。
新規情報受信部14は、画像処理装置10に新たに組み込むものとして指定されたモジュール(以下、「新規モジュール」という)及びそのバージョンの組合せに関する要件を定義した組合せ情報(以下、「新規組合せ情報」という)を端末装置20から受信して更新実行部15に受け渡す。このとき、新規モジュールには、各モジュールのバージョン情報が含まれている。本実施の形態では、第2のソフトウェアモジュール群の一例として、新規モジュールを用いており、そのバージョンの組合せに関する要件を定義した第2の定義情報の一例として、新規組合せ情報を用いている。また、第2の定義情報及び第2のソフトウェアモジュール群を受信する受信手段の一例として、新規情報受信部14を設けている。更に、本実施の形態では、受信した新規組合せ情報は、図示しないメモリに一旦格納されるので、第2の定義情報を記憶する第2の記憶手段の一例として、新規情報受信部14を設けていると言える。
更新実行部15は、既存情報読出し部13から受け渡された既存組合せ情報と、新規情報受信部14から受け渡された新規組合せ情報及び新規モジュールのバージョン情報とを更新可否判定部16に渡して更新可否の判定を指示し、更新可否判定部16による更新可否の判定結果に応じて、既存モジュールの更新処理を行う。即ち、新規情報受信部14が受信した全ての新規モジュールについて、更新可否判定部16による判定結果が更新できる旨を示していれば、既存モジュールを新規モジュールで更新する。一方、新規情報受信部14が受信した新規モジュールの少なくとも1つについて、更新可否判定部16による判定結果が更新できない旨を示していれば、既存モジュールを新規モジュールで更新しないようにする。本実施の形態では、第1のソフトウェアモジュール群を第2のソフトウェアモジュール群で更新する更新手段の一例として、更新実行部15を設けている。
更新可否判定部16は、新規組合せ情報で定義される個々の新規モジュールによって、既存組合せ情報で定義される既存モジュールのうちの対応するモジュールを更新可能かどうか判定する。本実施の形態では、第1のソフトウェアモジュール群を第2のソフトウェアモジュール群で更新するかどうかを決定する決定手段の一例として、更新可否判定部16を設けている。
次に、端末装置20の機能構成について説明する。
図示するように、本実施の形態における端末装置20は、新規組合せ情報記憶部21と、新規モジュール記憶部22と、新規情報送信部23とを備える。尚、これらのうち、新規組合せ情報記憶部21、新規モジュール記憶部22は、例えばHDDにより実現される。また、新規情報送信部23の機能は、CPUがROMに記憶されたプログラムをRAMに読み込んで実行することにより、実現される。
新規組合せ情報記憶部21は、画像処理装置10に新たに組み込むものとして指定されたモジュール(新規モジュール)のバージョンの組合せに関する要件を定義した組合せ情報(新規組合せ情報)を記憶する。
新規モジュール記憶部22は、画像処理装置10に新たに組み込むものとして指定されたモジュール(新規モジュール)を記憶する。この場合、新規モジュールには、各モジュールのバージョン情報と共に記憶される。
新規情報送信部23は、新規組合せ情報記憶部21に記憶された新規組合せ情報と、新規モジュール記憶部22に記憶された新規モジュールとを、画像処理装置10に送信する。
次に、本実施の形態における画像処理装置10の動作について詳細に説明する。
まず、具体例を用いて動作の概略を示す。尚、以下では、既存組合せ情報を「組合せ情報A」とし、新規組合せ情報を「組合せ情報B」とする。
図3は、組合せ情報Aで定義されたモジュールを、組合せ情報Bで定義されたモジュールで更新可能な場合の例である。
ここで、組合せ情報Aは、バージョン1.2であり、モジュールf、モジュールb、モジュールg、モジュールhのバージョンの組合せに関する要件を定義している。具体的には、モジュールfがバージョン1.0であり、モジュールbがバージョン1.0であり、モジュールgがバージョン1.2であり、モジュールhがバージョン1.2である、という要件を定義している。尚、この要件から、画像処理装置10に既に組み込まれているモジュールf、モジュールb、モジュールg、モジュールhのバージョンは、それぞれ1.0、1.0、1.2、1.2であることが分かる。
一方、組合せ情報Bは、バージョン1.0であり、モジュールt、モジュールg、モジュールhのバージョンの組合せに関する要件を定義している。具体的には、モジュールtがバージョン1.0であり、モジュールgがバージョン1.0よりも大きいバージョンであり、モジュールhがバージョン1.2である、という要件を定義している。尚、この要件から、画像処理装置10に新たに組み込もうとしているモジュールt、モジュールg、モジュールhのバージョンは、それぞれ1.0、1.0よりも大きいバージョン、1.2であることが分かる。
この場合において、組合せ情報Bで定義されるモジュールtは、組合せ情報Aで定義されていないので、新たに追加可能と判定される。また、組合せ情報Bで定義されるモジュールgに対する要件は「バージョン1.0より大きい」であり、組合せ情報Aで定義されるモジュールgに対する要件は「バージョン1.2」である。従って、新たに組み込もうとしているモジュールgのバージョンが1.2であれば、更新可能と判定される(バージョンが同じなので、実際には更新しなくてもよい)。更に、組合せ情報Bで定義されるモジュールhに対する要件は「バージョン1.2」であり、組合せ情報Aで定義されるモジュールhに対する要件も「バージョン1.2」であるので、更新可能と判定される(バージョンが同じなので、実際には更新しなくてもよい)。
図4は、組合せ情報Aで定義されたモジュールを、組合せ情報Bで定義されたモジュールで更新不可能な場合の例である。
ここで、組合せ情報Aは、図3と同様の定義になっている。
一方、組合せ情報Bは、バージョン1.1であり、図3と同様、モジュールt、モジュールg、モジュールhのバージョンの組合せに関する要件を定義している。具体的には、モジュールt、モジュールhについては、図3と同様であるが、モジュールgがバージョン1.3よりも大きいバージョンである、という要件を定義している。
この場合において、組合せ情報Bで定義されるモジュールtは、組合せ情報Aで定義されていないので、図3と同様、新たに追加可能と判定される。また、組合せ情報Bで定義されるモジュールhに対する要件は「バージョン1.2」であり、組合せ情報Aで定義されるモジュールhに対する要件も「バージョン1.2」であるので、更新可能と判定される。しかしながら、組合せ情報Bで定義されるモジュールgに対する要件は「バージョン1.3より大きい」であり、組合せ情報Aで定義されるモジュールgに対する要件は「バージョン1.2」である。従って、新たに組み込もうとしているモジュールgのバージョンとして、1.3よりも大きい如何なるバージョンを考えても、1.2とはならないので、更新不可能と判定される。
このように、組合せ情報Bで定義された1つのモジュールgについて更新不可能と判定されたことにより、組合せ情報Bで定義されるモジュールt、モジュールg、モジュールhは、画像処理装置10に組み込まれないことになる。
図5は、組合せ情報Aで定義されたモジュールを、より高いバージョンの組合せ情報Aで定義されたモジュールで置き換える場合の例である。
ここで、組合せ情報Aのバージョン1.2(左側)は、図3、図4の組合せ情報Aと同様の定義になっている。
一方、組合せ情報Aのバージョン1.4(右側)は、モジュールf、モジュールb、モジュールhについては、組合せ情報Aのバージョン1.2と同様の定義であるが、モジュールgについては、バージョン1.4である、という要件を定義している。
この場合において、組合せ情報Aのバージョン1.4で定義される各モジュールを提供元リポジトリ等から検出して、画像処理装置10に組み込むことになる。
尚、このとき、画像処理装置10に別の組合せ情報が既に定義されていれば、組合せ情報Aのバージョン1.4で定義される各モジュールが、この別の組合せ情報で定義される要件を満たしていることが条件となる。
尚、本実施の形態において、組合せ情報は、画像処理装置10のある機能を実現するためのモジュール群についてそのバージョンに関する要件を定義したものである。また、個々のモジュールは、その機能を実現するための更に細分化された機能を実現するためのものである。従って、例えば、図3、4におけるモジュールg、モジュールhのように、複数の組合せ情報で定義されるものは、様々な機能において共通に用いられる基本的な機能を実現するためのモジュールであると言うことができる。また、図3、4におけるモジュールf、モジュールb、モジュールtのように、個別の組合せ情報でのみ定義されるものは、個別の機能に特化した機能を実現するためのモジュールであると言うことができる。
以下、本実施の形態における画像処理装置10の動作を詳細に説明する。
図6は、画像処理装置10の更新実行部15及び更新可否判定部16の動作例を示したフローチャートである。尚、この動作に先立ち、既存情報読出し部13が、既存組合せ情報記憶部11から組合せ情報Aを読み出し、新規情報受信部14が端末装置20から組合せ情報B及び組合せ情報Bで定義されるモジュールを受信し、更新実行部15が参照するメモリ上にこれらの情報を格納しているものとする。また、モジュールに対する要件としては、モジュールのバージョンがあるバージョンと等しいという要件、及び、モジュールのバージョンがあるバージョンよりも大きいという要件(「>」を含む要件)の何れかが定義されているものとする。
動作を開始すると、更新実行部15は、メモリに格納された組合せ情報B(図では単に「B」と表記)から、1つのモジュールのバージョンに関する要件(図では単に「要件」と表記)を取得する(ステップ101)。
次に、更新実行部15は、そのモジュールに対する要件が組合せ情報Aに定義されているかどうかを判定する(ステップ102)。
その結果、そのモジュールに対する要件が組合せ情報Aに定義されていなければ、更新可否判定処理は行わずにステップ111へ進む。例えば、図3、4のモジュールtについては、組合せ情報Aに要件が定義されていないので、更新可否判定処理は行わない。
一方、そのモジュールに対する要件が組合せ情報Aに定義されていれば、その要件が「>」を含むかどうかを判定する(ステップ103)。そして、その要件が「>」を含まないと判定すれば、ステップ101で取得した要件が「>」を含むかどうかを判定し(ステップ104)、「>」を含まないと判定すれば、更新可否判定処理1を実行し(ステップ105)、「>」を含むと判定すれば、更新可否判定処理2を実行する(ステップ106)。また、ステップ103で組合せ情報Aの要件が「>」を含むと判定すれば、ステップ101で取得した要件が「>」を含むかどうかを判定し(ステップ107)、「>」を含まないと判定すれば、更新可否判定処理3を実行し(ステップ108)、「>」を含むと判定すれば、更新可否判定処理4を実行する(ステップ109)。
即ち、組合せ情報Aで定義された要件も組合せ情報Bで定義された要件も共に、あるバージョンと等しいという要件である場合に、更新可否判定処理1を実行する。また、組合せ情報Aで定義された要件があるバージョンと等しいという要件で、組合せ情報Bで定義された要件があるバージョンよりも大きいという要件である場合に、更新可否判定処理2を実行する。更に、組合せ情報Aで定義された要件があるバージョンよりも大きいという要件で、組合せ情報Bで定義された要件があるバージョンと等しいという要件である場合に、更新可否判定処理3を実行する。更にまた、組合せ情報Aで定義された要件も組合せ情報Bで定義された要件も共に、あるバージョンよりも大きいという要件である場合に、更新可否判定処理4を実行する。例えば、図3、4のモジュールgについては、ステップ102で「Yes」となり、ステップ103で「No」となり、ステップ104で「Yes」となるので、更新可否判定処理2を行う。また、図3、4のモジュールhについては、ステップ102で「Yes」となり、ステップ103で「No」となり、ステップ104で「No」となるので、更新可否判定処理1を行う。
そして、更新可否判定処理が終了すると、更新可能フラグが「ON」に設定されているかどうかを判定する(ステップ110)。ここで、更新可能フラグは、個々のモジュールについて、更新可能と判定された場合に「ON」に設定され、更新不可能と判定された場合に「OFF」に設定されるフラグである。
その結果、更新可能フラグが「ON」に設定されていなければ、つまり、「OFF」に設定されていれば、更新実行部15は、組合せ情報Bで定義されたモジュールを画像処理装置10に組み込めないことを通知する(ステップ113)。
一方、更新可能フラグが「ON」に設定されていれば、更新実行部15は、組合せ情報Bに他のモジュールに対する要件が定義されているかどうかを判定する(ステップ111)。ここで、他のモジュールに対する要件が定義されていれば、ステップ101に戻り、その要件についてステップ101〜110を繰り返す。そして、ステップ110で更新フラグが「ON」に設定されていないと判定されることなく、ステップ111で他のモジュールに対する要件がないと判定されれば、組合せ情報Bで定義される全てのモジュールについて更新可能と判断されたことになるので、組合せ情報Bで定義されたモジュールを画像処理装置10に組み込む(ステップ112)。尚、このとき、組合せ情報Aでのバージョンと組合せ情報Bでのバージョンとが同じかどうかをモジュールごとに判定し、同じであれば更新しないようにしてもよい。
次に、更新可否判定処理について説明する。尚、この更新可否判定処理は、更新可否判定処理1〜4のうちの何れを実行すべきかが更新実行部15によって指示されることにより、更新可否判定部16が実行する。
まず、更新可否判定処理1の動作について説明する。
図7は、更新可否判定処理1の動作例を示したフローチャートである。尚、ここでは、組合せ情報Aで定義された要件のうちの処理対象の要件に含まれるバージョンをarと表記し、組合せ情報Bで定義された要件のうちの処理対象の要件に含まれるバージョンをbrと表記する。
動作が開始すると、まず、更新可否判定部16は、arとbrが等しいかどうかを判定する(ステップ121)。
その結果、arとbrが等しいと判定すれば、更新可能フラグを「ON」に設定する(ステップ122)。
一方、arとbrが等しくないと判定すれば、更新可能フラグを「OFF」に設定する(ステップ123)。
例えば、図3、4のモジュールhの場合、ar=1.2、br=1.2なので、ステップ121で「Yes」となり、更新可能フラグが「ON」に設定される。
次に、更新可否判定処理2の動作について説明する。
図8は、更新可否判定処理2の動作例を示したフローチャートである。尚、ここでは、組合せ情報Aで定義された要件のうちの処理対象の要件に含まれるバージョンをarと表記し、組合せ情報Bで定義された要件のうちの処理対象の要件に含まれるバージョンをbrと表記し、組合せ情報Bで定義された要件のうちの処理対象の要件に対応するモジュールの実際のバージョンをbと表記する。
動作が開始すると、まず、更新可否判定部16は、arがbrよりも大きいかどうかを判定する(ステップ141)。
その結果、arがbrよりも大きいと判定すれば、arとbが等しいかを判定し(ステップ142)、arとbが等しければ、更新可能フラグを「ON」に設定する(ステップ143)。
一方、arがbrよりも大きくないと判定された場合、又は、arがbと等しくないと判定された場合は、更新可能フラグを「OFF」に設定する(ステップ144)。
例えば、図3のモジュールgの場合、ar=1.2、br=1.0なので、ステップ141で「Yes」となる。ここで、組合せ情報Bで定義されたモジュールの実際のバージョンが1.2、つまり、b=1.2であれば、ステップ142で「Yes」となり、更新可能フラグが「ON」に設定されるが、組合せ情報Bで定義されたモジュールの実際のバージョンが1.1、つまり、b=1.1であれば、ステップ142で「No」となり、更新可能フラグが「OFF」に設定される。
また、図4のモジュールgの場合、ar=1.2、br=1.3なので、ステップ141で「No」となり、更新可能フラグが「OFF」に設定される。
また、更新可否判定処理3の動作について説明する。
図9は、更新可否判定処理3の動作例を示したフローチャートである。尚、ここでは、組合せ情報Aで定義された要件のうちの処理対象の要件に含まれるバージョンをarと表記し、組合せ情報Bで定義されている要件のうちの処理対象の要件に含まれるバージョンをbrと表記する。
動作が開始すると、まず、更新可否判定部16は、arがbrよりも小さいかどうかを判定する(ステップ161)。
その結果、arがbrよりも小さいと判定すれば、更新可能フラグを「ON」に設定する(ステップ162)。
一方、arがbrよりも小さくないと判定すれば、更新可能フラグを「OFF」に設定する(ステップ163)。
例えば、図3において、組合せ情報Aにおけるモジュールgに対する要件が「>Ver.1.0」であり、組合せ情報Bにおけるモジュールgに対する要件が「Ver.1.2」であったとする。すると、ar=1.0、br=1.2なので、ステップ161で「Yes」となり、更新可能フラグが「ON」に設定される。
また、図4において、組合せ情報Aにおけるモジュールgに対する要件が「>Ver.1.3」であり、組合せ情報Bにおけるモジュールgに対する要件が「Ver.1.2」であったとする。すると、ar=1.3、br=1.2なので、ステップ161で「No」となり、更新可能フラグが「OFF」に設定される。
次いで、更新可否判定処理4の動作について説明する。
図10は、更新可否判定処理4の動作例を示したフローチャートである。尚、ここでは、組合せ情報Aで定義された要件のうちの処理対象の要件に含まれるバージョンをarと表記し、組合せ情報Bで定義された要件のうちの処理対象の要件に含まれるバージョンをbrと表記し、組合せ情報Bで定義された要件のうちの処理対象の要件に対応するモジュールの実際のバージョンをbと表記する。
動作が開始すると、まず、更新可否判定部16は、arがbrと等しいかどうかを判定する(ステップ181)。
その結果、arがbrと等しいと判定すれば、更新可能フラグを「ON」に設定する(ステップ184)。
一方、arがbrと等しくないと判定すると、arがbrよりも大きいかどうかを判定する(ステップ182)。そして、arがbrよりも大きくなければ、更新可能フラグを「ON」に設定する(ステップ184)。また、arがbrよりも大きければ、arがbよりも小さいかどうかを判定し(ステップ183)、小さいと判定されれば、更新可能フラグを「ON」に設定し、小さくないと判定すれば、更新可能フラグを「OFF」に設定する(ステップ185)。
例えば、組合せ情報Aで定義される要件が「>Ver.1.0」であり、組合せ情報Bで定義される要件が「>Ver.1.0」であれば、ステップ181で「Yes」となり、更新可能フラグが「ON」に設定される。
また、組合せ情報Aで定義された要件が「>Ver.1.2」であり、組合せ情報Bで定義された要件が「>Ver.1.0」であれば、ステップ181で「No」となり、ステップ182で「Yes」となる。ここで、組合せ情報Bで定義されたモジュールの実際のバージョンが1.3、つまり、b=1.3であれば、ステップ183で「Yes」となり、更新可能フラグが「ON」に設定されるが、組合せ情報Bで定義されたモジュールの実際のバージョンが1.1、つまり、b=1.1であれば、ステップ183で「No」となり、更新可能フラグが「OFF」に設定される。
ところで、本実施の形態では、既存組合せ情報として、組合せ情報Aのみを考えたが、他の組合せ情報、例えば、組合せ情報A’、組合せ情報A”があることも考えられる。その場合は、「A」を「A’」に置き換えて上記フローチャートの処理を実行し、更に「A」を「A”」に置き換えて上記フローチャートの処理を実行する。そして、ステップ102で「No」又はステップ110で「Yes」である限り処理を続け、組合せ情報Bの全ての要件と、組合せ情報A、組合せ情報A’、組合せ情報A”の全ての要件との比較において、ステップ110で「No」とならなければ、組合せ情報Bで定義されたモジュールを組み込むことになる。一方、比較の途中において、ステップ110で「No」となったら、組合せ情報Bで定義されたモジュールは組み込めないことになる。
また、本実施の形態では、組合せ情報で定義される要件として、モジュールのバージョンがあるバージョンと等しいという要件、及び、モジュールのバージョンがあるバージョンよりも大きいという要件の2つを考えたが、これには限らない。例えば、モジュールのバージョンがあるバージョン以上であるという要件、モジュールのバージョンがあるバージョンより小さいという要件、モジュールのバージョンがあるバージョン以下であるという要件等を考えてもよい。
そして、モジュールのバージョンがあるバージョンよりも大きいという要件の代わりに、モジュールのバージョンがあるバージョン以上であるという要件を用いた場合、図6〜10のフローチャートを「<」を「≦」に、「>」を「≧」に置き換えて実行すればよい。また、モジュールのバージョンがあるバージョンよりも大きいという要件の代わりに、モジュールのバージョンがあるバージョンよりも小さいという要件を用いた場合、図6〜10のフローチャートを「<」を「>」に、「>」を「<」に置き換えて実行すればよい。更に、モジュールのバージョンがあるバージョンよりも大きいという要件の代わりに、モジュールのバージョンがあるバージョン以下であるという要件を用いた場合、図6〜10のフローチャートを「<」を「≧」に、「>」を「≦」に置き換えて実行すればよい。
即ち、一般的に述べると、組合せ情報Aで定義された要件を満たすバージョンの組合せの集合が、組合せ情報Bで定義された要件を満たすバージョンの組合せの集合を包含する場合に、組合せ情報Bで定義されたモジュールを組み込むことができる。これは、全ての新規モジュールの更新可否判定処理において、図7のステップ121で「Yes」、図9のステップ161で「Yes」、図10のステップ181で「Yes」、図10のステップ182で「No」の何れかになる場合に相当する。
また、組合せ情報Aで定義された要件と組合せ情報Bで定義された要件とを共に満たすバージョンの組合せの集合が、組合せ情報Bで定義されたモジュールの実際のバージョンの組合せを包含する場合に、組合せ情報Bで定義されたモジュールを組み込むことができる。これは、全ての新規モジュールの更新可否判定処理において、上記に加え、図8のステップ142で「Yes」、図10のステップ183で「Yes」の何れかになる場合に相当する。
更に、組合せ情報Aで定義された要件と組合せ情報Bで定義された要件とを共に満たすバージョンの組合せが存在しない場合は、組合せ情報Bで定義されたモジュールを組み込むことができない。これは、少なくとも1つの新規モジュールの更新可否判定処理において、図7のステップ121で「No」、図8のステップ141で「No」、図9のステップ161で「No」の何れかになる場合に相当する。
更にまた、組合せ情報Aで定義された要件と組合せ情報Bで定義された要件とを共に満たすバージョンの組合せの集合が、組合せ情報Bで定義されたモジュールの実際のバージョンの組合せを包含しない場合は、組合せ情報Bで定義されたモジュールを組み込むことができない。これは、少なくとも1つの新規モジュールの更新可否判定処理において、図8のステップ142で「No」、図10のステップ183で「No」の何れかになる場合に相当する。
また、本実施の形態では、更新実行部15が新規モジュールを組み込めると判定するか組み込めないと判定するかに関わらず、新規情報受信部14が、新規モジュールを受信するようにした。しかしながら、更新実行部15が新規モジュールを組み込めると判定した場合にのみ、新規情報受信部14が新規モジュールを受信するような構成を採用してもよい。
ところで、本実施の形態では、画像処理装置10が更新可否判定及び更新実行を行うようにした。しかしながら、必ずしも画像処理装置10でこの処理を行わなくてよい。既存組合せ情報記憶部11及び新規組合せ情報記憶部21と通信可能な状態になっていれば、如何なる装置でこのような処理を行ってもよい。
そこで、これらの処理をコンピュータ90で行うものとして、コンピュータ90のハードウェア構成について説明する。
図11は、コンピュータ90のハードウェア構成を示した図である。
図示するように、コンピュータ90は、演算手段であるCPU(Central Processing Unit)91と、記憶手段であるメインメモリ92及び磁気ディスク装置(HDD:Hard Disk Drive)93とを備える。ここで、CPU91は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行し、上述した各機能を実現する。また、メインメモリ92は、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域であり、磁気ディスク装置93は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
更に、コンピュータ90は、外部との通信を行うための通信I/F94と、ビデオメモリやディスプレイ等からなる表示機構95と、キーボードやマウス等の入力デバイス96とを備える。
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供するようにしてもよい。
本発明の実施の形態が適用されるシステムの構成を示した図である。 本発明の実施の形態における画像処理装置及び端末装置の機能構成例を示した図である。 本発明の実施の形態の概要を説明するための図である。 本発明の実施の形態の概要を説明するための図である。 本発明の実施の形態の概要を説明するための図である。 本発明の実施の形態における画像処理装置の動作例を示したフローチャートである。 本発明の実施の形態の画像処理装置における更新可否判定処理1の動作例を示したフローチャートである。 本発明の実施の形態の画像処理装置における更新可否判定処理2の動作例を示したフローチャートである。 本発明の実施の形態の画像処理装置における更新可否判定処理3の動作例を示したフローチャートである。 本発明の実施の形態の画像処理装置における更新可否判定処理4の動作例を示したフローチャートである。 本発明の実施の形態を実現可能なコンピュータのハードウェア構成図である。
符号の説明
10…画像処理装置、11…既存組合せ情報記憶部、12…既存モジュール記憶部、13…既存情報読出し部、14…新規情報受信部、15…更新実行部、16…更新可否判定部、20…端末装置、21…新規組合せ情報記憶部、22…新規モジュール記憶部、23…新規情報送信部

Claims (8)

  1. 特定の機器に既に組み込まれている当該特定の機器の機能を実現するための第1のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第1の定義情報を記憶する第1の記憶手段と、
    前記特定の機器に新たに組み込むものとして指定された当該特定の機器の機能を実現するための第2のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第2の定義情報を記憶する第2の記憶手段と、
    前記第1の定義情報で定義された要件と前記第2の定義情報で定義された要件とを比較することにより、前記第1のソフトウェアモジュール群を前記第2のソフトウェアモジュール群で更新するかどうかを決定する決定手段と
    を備えたことを特徴とする更新判定装置。
  2. 前記決定手段は、前記第1の定義情報で定義された要件を満たすバージョンの組合せの集合が、前記第2の定義情報で定義された要件を満たすバージョンの組合せの集合を包含する場合に、前記第1のソフトウェアモジュール群を前記第2のソフトウェアモジュール群で更新することを決定することを特徴とする請求項1記載の更新判定装置。
  3. 前記決定手段は、前記第1の定義情報で定義された要件と前記第2の定義情報で定義された要件とを共に満たすバージョンの組合せの集合が、前記第2のソフトウェアモジュール群のバージョンの組合せを包含する場合に、前記第1のソフトウェアモジュール群を前記第2のソフトウェアモジュール群で更新することを決定することを特徴とする請求項1記載の更新判定装置。
  4. 前記決定手段は、前記第1の定義情報で定義された要件と前記第2の定義情報で定義された要件とを共に満たすバージョンの組合せが存在しない場合に、前記第1のソフトウェアモジュール群を前記第2のソフトウェアモジュール群で更新しないことを決定することを特徴とする請求項1記載の更新判定装置。
  5. 前記決定手段は、前記第1の定義情報で定義された要件と前記第2の定義情報で定義された要件とを共に満たすバージョンの組合せの集合が、前記第2のソフトウェアモジュール群のバージョンの組合せを包含しない場合に、前記第1のソフトウェアモジュール群を前記第2のソフトウェアモジュール群で更新しないことを決定することを特徴とする請求項1記載の更新判定装置。
  6. 自装置に既に組み込まれている画像処理の機能を実現するための第1のソフトウェアモジュール群を記憶するソフトウェアモジュール群記憶手段と、
    前記ソフトウェアモジュール群記憶手段に記憶された前記第1のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第1の定義情報を記憶する定義情報記憶手段と、
    自装置に新たに組み込むものとして指定された画像処理の機能を実現するための第2のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第2の定義情報を受信する受信手段と、
    前記第1の定義情報で定義された要件と前記第2の定義情報で定義された要件とに基づいて更新可能と判定された場合に、前記ソフトウェアモジュール群記憶手段に記憶された前記第1のソフトウェアモジュール群を前記第2のソフトウェアモジュール群で更新する更新手段と
    を備えたことを特徴とする画像処理装置。
  7. 前記受信手段は、前記第1の定義情報で定義された要件と前記第2の定義情報で定義された要件とに基づいて更新可能と判定された場合に、前記第2のソフトウェアモジュール群を更に受信することを特徴とする請求項6記載の画像処理装置。
  8. コンピュータに、
    特定の機器に既に組み込まれている第1のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第1の定義情報を取得する機能と、
    前記特定の機器に新たに組み込むものとして指定された第2のソフトウェアモジュール群のバージョンの組合せに関する要件を定義した第2の定義情報を取得する機能と、
    前記第1の定義情報で定義された要件と前記第2の定義情報で定義された要件とを比較することにより、前記第1のソフトウェアモジュール群を前記第2のソフトウェアモジュール群で更新するかどうかを決定する機能と
    を実現させるためのプログラム。
JP2008218161A 2008-08-27 2008-08-27 更新判定装置、画像処理装置、及びプログラム Pending JP2010055279A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008218161A JP2010055279A (ja) 2008-08-27 2008-08-27 更新判定装置、画像処理装置、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008218161A JP2010055279A (ja) 2008-08-27 2008-08-27 更新判定装置、画像処理装置、及びプログラム

Publications (1)

Publication Number Publication Date
JP2010055279A true JP2010055279A (ja) 2010-03-11

Family

ID=42071142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008218161A Pending JP2010055279A (ja) 2008-08-27 2008-08-27 更新判定装置、画像処理装置、及びプログラム

Country Status (1)

Country Link
JP (1) JP2010055279A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013232077A (ja) * 2012-04-27 2013-11-14 Samsung Techwin Co Ltd 半導体製造装置の制御プログラムの更新システム
JP2014006933A (ja) * 2013-10-11 2014-01-16 Ricoh Co Ltd 情報処理装置、機器、情報処理システム、インストール支援方法、及びインストール支援プログラム
US9063810B2 (en) 2010-08-19 2015-06-23 Ricoh Company, Ltd. Information processing apparatus and information processing system
CN106062712A (zh) * 2014-03-14 2016-10-26 欧姆龙株式会社 控制设备、控制系统、控制设备的控制方法及控制系统的控制方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9063810B2 (en) 2010-08-19 2015-06-23 Ricoh Company, Ltd. Information processing apparatus and information processing system
US9672027B2 (en) 2010-08-19 2017-06-06 Ricoh Company, Ltd. Information processing apparatus and information processing system
JP2013232077A (ja) * 2012-04-27 2013-11-14 Samsung Techwin Co Ltd 半導体製造装置の制御プログラムの更新システム
JP2014006933A (ja) * 2013-10-11 2014-01-16 Ricoh Co Ltd 情報処理装置、機器、情報処理システム、インストール支援方法、及びインストール支援プログラム
CN106062712A (zh) * 2014-03-14 2016-10-26 欧姆龙株式会社 控制设备、控制系统、控制设备的控制方法及控制系统的控制方法
US10296241B2 (en) 2014-03-14 2019-05-21 Omron Corporation Control device, control system, control method for control device, and control method for control system

Similar Documents

Publication Publication Date Title
JP4845153B2 (ja) 複数のクライアントを用いた分散環境で更新作業のコンフリクトを回避するシステム、方法、サーバ及びコンピュータプログラム
JP2009146092A (ja) 情報処理装置、情報処理方法、プログラムおよび記録媒体
JP5157690B2 (ja) 画像形成装置、情報処理方法、及び、画像形成システム
JP5293522B2 (ja) 管理システム、管理方法、及び管理プログラム
JP2006229614A (ja) サービス処理装置およびサービス処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP5132375B2 (ja) ショートカットテンプレートを用いた文書操作を可能とする文書管理システム及び方法
JP6194575B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2010055279A (ja) 更新判定装置、画像処理装置、及びプログラム
JP2007233860A (ja) 印刷制御システム、印刷属性情報管理サーバ、印刷制御装置、印刷制御方法
US8839250B2 (en) Image forming apparatus, storage medium, and program system determination
JP5393059B2 (ja) ワークフロー処理装置及びワークフロー処理方法
JP2011035675A (ja) データ処理システム及びその制御方法
JP5693159B2 (ja) 画像処理装置及びその制御方法
US20070006221A1 (en) Software install environment constructing apparatus
JP2011128833A (ja) 文書検索装置、プログラム、文書登録装置、および文書検索システム
JP2010027007A (ja) 処理装置、要求装置、及びそれらの処理方法
JP2012089110A (ja) 情報提供装置および情報処理装置および制御方法およびプログラム
JP2009271827A (ja) 管理装置、管理方法、及びプログラム
JP2008152397A (ja) 情報処理方法及び装置並びに情報処理システム
JP2008035224A (ja) ログ情報管理システム、ログ情報管理装置、ログ情報管理方法、ログ情報管理プログラム及び記憶媒体
JP2006092192A (ja) 障害復旧支援システム、障害復旧支援装置、管理装置および障害復旧支援方法
JP5760618B2 (ja) 管理装置および管理方法
JP2015219740A (ja) 情報処理装置、情報処理方法、およびプログラム
JP2006121620A (ja) 画像処理装置、画像形成装置、画像形成システム、画像形成プログラム、画像処理プログラムおよびコンピュータ読取可能な記録媒体
JP2009278470A (ja) 画像処理装置及び画像処理方法