(57)【要約】      （修正有）【課題】ソフトウェアの差分アップデートを行う前に、ソフトウェアの更新対象を局所化し、アップデートに要する時間を短縮することが可能になる画像処理装置を提供する。【解決手段】画像処理装置では、ソフトウェア記憶領域３０１にソフトウェアを複数の圧縮ファイル５０１に分割して記憶し、これら複数の圧縮ファイル５０１の中から更新対象となる圧縮ファイル５０１を特定して解凍する。そして、ネットワーク上のアップデートサーバ１０５から受信した差分パッケージ５０３の更新ファイルに基づいて、解凍したファイル５０２の更新を行い、更新後のファイル５０２を再圧縮してソフトウェア記憶領域３０１に記憶する。【選択図】図５
2012048540.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上のサーバから一つまたは複数の更新ファイルを含む差分パッケージを受信し、当該差分パッケージに基づいてソフトウェアのアップデートを行う画像処理装置において、
前記ソフトウェアを複数の圧縮ファイルに分割して記憶する記憶手段と、
前記記憶手段に記憶された複数の圧縮ファイルの中から更新対象となる圧縮ファイルを解凍する解凍手段と、
前記サーバから受信した差分パッケージの更新ファイルに基づいて、前記解凍手段により解凍されたファイルを更新する更新手段と、
前記更新されたファイルを再圧縮して前記記憶手段に記憶させる圧縮手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記サーバは、
前記ソフトウェアを構成するパッケージの名称とバージョンを含むソフトウェア構成情報を前記画像処理装置から受信するソフトウェア構成情報受信手段と、
前記受信したソフトウェア構成情報と、更新されたソフトウェアとの差分を特定するための更新ソフトウェア情報とを比較して前記差分パッケージを算出する差分ソフトウェア算出手段と、
前記差分パッケージを含むアップデート情報を前記画像処理装置に送信するアップデート情報送信手段とを備えることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記サーバは、
前記差分ソフトウェア算出手段によって算出された差分パッケージの差分パッケージ情報から前記更新対象となる圧縮ファイルを特定する圧縮ファイル特定手段と、
前記差分パッケージ情報及び前記特定された圧縮ファイルから前記ソフトウェアのアップデートにかかる処理時間を算出する更新時間算出手段とをさらに備え、
前記アップデート情報送信手段は、前記差分パッケージと前記アップデート処理時間を含むアップデート情報を前記画像処理装置に送信することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記ソフトウェア構成情報を前記サーバに送信するソフトウェア構成情報送信手段と、
前記アップデート情報を受信するアップデート情報受信手段とをさらに備え、
前記解凍手段は、前記アップデート情報により前記更新対象となる圧縮ファイルを特定して解凍を行うことを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
更新されたソフトウェアとの差分を特定するための更新ソフトウェア情報を前記サーバから受信する更新ソフトウェア構成情報受信手段と、
前記ソフトウェアを構成するパッケージの名称とバージョンを含むソフトウェア構成情報と、前記受信した更新ソフトウェア情報とを比較して前記差分パッケージを算出する差分ソフトウェア算出手段とをさらに備え、
前記解凍手段は、前記差分パッケージを含むアップデート情報により前記更新対象となる圧縮ファイルを特定して解凍を行うことを特徴とする請求項１記載の画像処理装置。
【請求項６】
前記差分ソフトウェア算出手段によって算出された差分パッケージの差分パッケージ情報から前記更新対象となる圧縮ファイルを特定する圧縮ファイル特定手段と、
前記差分パッケージ情報及び前記特定された圧縮ファイルから前記ソフトウェアのアップデートにかかる処理時間を算出する更新時間算出手段とをさらに備え、
前記解凍手段は、前記差分パッケージと前記アップデート処理時間を含むアップデート情報により前記更新対象となる圧縮ファイルを特定して解凍を行うことを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記差分パッケージ情報には、少なくとも、パッケージ名、バージョン、パッケージサイズ、差分パッケージに含まれる展開ファイル名、圧縮後の適用ファイルが含まれることを特徴とする請求項２乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
ネットワーク上のサーバから一つまたは複数の更新ファイルを含む差分パッケージを受信し、当該差分パッケージに基づいてソフトウェアのアップデートを行う画像処理装置の制御方法において、
前記ソフトウェアを複数の圧縮ファイルに分割して記憶手段に記憶し、前記記憶手段に記憶された複数の圧縮ファイルの中から更新対象となる圧縮ファイルを解凍する解凍工程と、
前記サーバから受信した差分パッケージの更新ファイルに基づいて、前記解凍工程にて解凍されたファイルを更新する更新工程と、
前記更新されたファイルを再圧縮して前記記憶手段に記憶させる圧縮工程とを備えることを特徴とする画像処理装置の制御方法。
【請求項９】
ネットワーク上のサーバから一つまたは複数の更新ファイルを含む差分パッケージを受信し、当該差分パッケージに基づいてソフトウェアのアップデートを行う画像処理装置を備える情報処理システムにおいて、
前記画像処理装置は、
前記ソフトウェアを複数の圧縮ファイルに分割して記憶する記憶手段と、
前記記憶手段に記憶された複数の圧縮ファイルの中から更新対象となる圧縮ファイルを解凍する解凍手段と、
前記サーバから受信した差分パッケージの更新ファイルに基づいて、前記解凍手段により解凍されたファイルを更新する更新手段と、
前記更新されたファイルを再圧縮して前記記憶手段に記憶させる圧縮手段とを備え、
前記サーバは、
前記ソフトウェアを構成するパッケージの名称とバージョンを含むソフトウェア構成情報を前記画像処理装置から受信するソフトウェア構成情報受信手段と、
前記受信したソフトウェア構成情報と、更新されたソフトウェアとの差分を特定するための更新ソフトウェア情報とを比較して前記差分パッケージを算出する差分ソフトウェア算出手段と、
前記算出された差分パッケージの差分パッケージ情報から前記更新対象となる圧縮ファイルを特定する圧縮ファイル特定手段と、
前記差分パッケージ情報及び前記特定された圧縮ファイルから前記ソフトウェアのアップデートにかかる処理時間を算出する更新時間算出手段と、
前記差分パッケージと前記アップデート処理時間を含むアップデート情報を前記画像処理装置に送信するアップデート情報送信手段とを備え、
前記解凍手段は、前記サーバから受信した前記アップデート情報により前記更新対象となる圧縮ファイルを特定して解凍を行うことを特徴とする情報処理システム。
【請求項１０】
ネットワーク上のサーバから一つまたは複数の更新ファイルを含む差分パッケージを受信し、当該差分パッケージに基づいてソフトウェアのアップデートを行う画像処理装置を備える情報処理システムにおいて、
前記画像処理装置は、
前記ソフトウェアを複数の圧縮ファイルに分割して記憶する記憶手段と、
前記記憶手段に記憶された複数の圧縮ファイルの中から更新対象となる圧縮ファイルを解凍する解凍手段と、
前記サーバから受信した差分パッケージの更新ファイルに基づいて、前記解凍手段により解凍されたファイルを更新する更新手段と、
前記更新されたファイルを再圧縮して前記記憶手段に記憶させる圧縮手段と、
更新されたソフトウェアとの差分を特定するための更新ソフトウェア情報を前記サーバから受信する更新ソフトウェア構成情報受信手段と、
前記ソフトウェアを構成するパッケージの名称とバージョンを含むソフトウェア構成情報と、前記受信した更新ソフトウェア情報とを比較して前記差分パッケージを算出する差分ソフトウェア算出手段と、
前記算出された差分パッケージの差分パッケージ情報から前記更新対象となる圧縮ファイルを特定する圧縮ファイル特定手段と、
前記差分パッケージ情報及び前記特定された圧縮ファイルから前記ソフトウェアのアップデートにかかる処理時間を算出する更新時間算出手段とを備え、
前記解凍手段は、前記差分パッケージと前記アップデート処理時間を含むアップデート情報により前記更新対象となる圧縮ファイルを特定して解凍を行うことを特徴とする情報処理システム。
【請求項１１】
請求項８に記載の制御方法を画像処理装置に実行させるためのコンピュータに読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びその制御方法、情報処理システム、並びにプログラムに関し、特に、デジタル複合機等にインストールされたソフトウェアのアップデート技術に関する。
【背景技術】
【０００２】
近年、デジタル複合機等の画像処理装置では、インストールされているソフトウェア（ファームウェアを含む）をユーザ自身がアップデート可能になっている。ソフトウェアをアップデートする場合、ネットワーク上のサーバや外部記録媒体から更新用のソフトウェアをダウンロードすることが一般的であるが、更新用ソフトウェアの転送時間が増加する場合がある。
【０００３】
そこで、更新用ソフトウェアの転送時間を最適化するために、各種の差分アップデート方法が検討されている。例えば、複数のモジュールをメモリに格納する際に、各モジュール間に空き領域を確保し、当該空き領域にアップデータを格納するアップデート方法が開示されている（特許文献１参照）。これにより、最小限のデータ転送でモジュールのアップデートを行うことが可能となる。
【０００４】
また、メモリ内のプログラムの格納領域を削減するために、圧縮ファイルとしてプログラムをメモリに格納し、プログラムのためのデータ領域を大幅に削減する方法が開示されている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２９３３６６号公報
【特許文献２】特開２００９−００９３９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ソフトウェアの差分アップデートを行う際には、ダウンロードした更新データをファイルに展開する処理が必要になる。圧縮ファイルシステムを用いた場合、一般的にソフトウェアの更新の際にはすべての圧縮ファイルを解凍して差分を更新後に再圧縮する必要があるため、ファイルの解凍及び再圧縮の処理に時間がかかる。そのため、アップデートに要する時間が長くなってしまうという問題が生じている。
【０００７】
特許文献１では、差分を用いたソフトウェアの更新が可能であるが、差分のＲＯＭイメージをそのままの形式でダウンロードするため、サーバからのデータの転送量が大きくなってしまう。また、更新対象を予め特定するといったことは行っていない。
【０００８】
特許文献２では、圧縮コードによりプログラムを配置しているが、ソフトウェアのアップデートの際にはすべての圧縮コードを解凍しなければならないので、アップデート全体の処理時間が増大してしまう。
【０００９】
本発明は、上記問題に鑑みて成されたものであり、ソフトウェアの差分アップデートを行う前に、ソフトウェアの更新対象を局所化し、アップデートに要する時間を短縮することが可能になる技術を提供する。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の画像処理装置は、ネットワーク上のサーバから一つまたは複数の更新ファイルを含む差分パッケージを受信し、当該差分パッケージに基づいてソフトウェアのアップデートを行う画像処理装置において、前記ソフトウェアを複数の圧縮ファイルに分割して記憶する記憶手段と、前記記憶手段に記憶された複数の圧縮ファイルの中から更新対象となる圧縮ファイルを解凍する解凍手段と、前記サーバから受信した差分パッケージの更新ファイルに基づいて、前記解凍手段により解凍されたファイルを更新する更新手段と、前記更新されたファイルを再圧縮して前記記憶手段に記憶させる圧縮手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ソフトウェアの差分アップデートを行う前に、ソフトウェアの更新対象を局所化し、アップデートに要する時間を短縮することが可能になる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施の形態に係る画像処理装置の全体構成を示すブロック図である。
【図２】図１の画像処理装置の詳細構成を示すブロック図である。
【図３】第１の実施形態における画像処理装置内でアップデート処理を行うモジュールとアップデートサーバのアップデート処理用のモジュールの概略構成を示すブロック図である。
【図４】従来のソフトウェアの差分アップデートの流れを示す図である。
【図５】第１の実施形態におけるソフトウェアの差分アップデートの流れを示す図である。
【図６】（ａ）はソフトウェアの差分を特定するためのソフトウェア構成情報と更新ソフトウェア情報の一例を示す図、（ｂ）は差分パッケージに含まれるパッケージ情報の一例を示す図である。
【図７】第１の実施形態における画像処理装置とアップデートサーバ間のソフトウェアアップデート処理の流れを示すシーケンス図である。
【図８】図７の画像処理装置におけるソフトウェアアップデート処理のフローチャートである。
【図９】図７のアップデートサーバ１０５におけるソフトウェアアップデータ処理のフローチャートである。
【図１０】第２の実施形態における画像処理装置内でアップデート処理を行うモジュールとアップデートサーバのアップデート処理用のモジュールの概略構成を示すブロック図である。
【図１１】第２の実施形態における画像処理装置とアップデートサーバ間のソフトウェアアップデート処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を図面を参照して詳細に説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付し、説明の重複は省略する。
【００１４】
［第１実施の形態］
図１は、本発明の第１の実施の形態に係る画像処理装置の全体構成を示すブロック図である。
【００１５】
画像処理装置１００は、画像の入出力と送受信及び各種の画像処理を行う複合機（ＭＦＰ；Multi Function Peripheral）である。画像処理装置１００は、画像入力デバイスであるスキャナ部１０３、画像出力デバイスであるプリンタ部１０４、制御部（Controller Unit）１０１、及びユーザインタフェースである操作部１０２を備える。
【００１６】
スキャナ部１０３、プリンタ部１０４、及び操作部１０２は、それぞれ制御部１０１に接続され、制御部１０１からの命令によって制御される。また、制御部１０１は、外部のＬＡＮ（Local Area Network）と接続し、ＬＡＮを介してアップデートサーバ１０５との間で通信を行うことができる。
【００１７】
次に、画像処理装置１００の構成について図２を参照しながら説明する。
【００１８】
図２は、図１の画像処理装置１００の詳細構成を示すブロック図である。
【００１９】
画像処理装置１００は、図２に示すように、装置全体を制御する制御部１０１を備える。制御部１０１は、スキャナ部１０３やプリンタ部１０４を制御する一方、ＬＡＮや公衆回線と接続し、これらを介して画像情報やデバイス情報やファイル等の入出力を外部機器との間で行うものである。
【００２０】
制御部１０１は、ＣＰＵ２０１を有する。ＣＰＵ２０１は、システムバス２０７を介して、ＲＡＭ２０２、ＲＯＭ２０３、フラッシュメモリ（Ｆｌａｓｈ）２０４、イメージバスＩ／Ｆ２０５、操作部Ｉ／Ｆ２０６、ネットワークＩ／Ｆ２０８、及びモデム２０９に接続される。
【００２１】
ＲＡＭ２０２は、ＣＰＵ２０１の作業領域を提供するためのメモリであり、また、画像データを一時記憶するための画像メモリとしても使用される。ＲＯＭ２０３はブートＲＯＭであり、システムのブートプログラムが格納されている。Ｆｌａｓｈ２０４には、システムソフトウェア（ファームウェア）、設定値データなどが格納される。
【００２２】
操作部Ｉ／Ｆ２０６は、操作部１０２との間で入出力を行うためのインタフェースであり、操作部１０２に表示する画像データを操作部１０２に対して出力し、ユーザが操作部１０２を介して入力した情報を、ＣＰＵ２０１に伝送するなどの役割を果たす。
【００２３】
ネットワークＩ／Ｆ２０８は、ＬＡＮと接続され、ＬＡＮに対して情報の入出力を行う。モデム２０９は、公衆回線と接続され、公衆回線に対して情報の入出力を行う。イメージバスＩ／Ｆ２０５は、システムバス２０７と画像データを高速で転送する画像バス２１０とを接続し、データ構造を変換するバスブリッジである。
【００２４】
画像バス２１０には、ＲＩＰ（ラスタイメージプロセッサ）２１１、デバイスＩ／Ｆ２１２、スキャナ画像処理部２１３、プリンタ画像処理部２１４、画像回転部２１５、及び画像圧縮部２１６が接続されている。
【００２５】
ＲＩＰ２１１は、ＬＡＮから受信されたＰＤＬコードをビットマップイメージに展開する。デバイスＩ／Ｆ２１２は、スキャナ部１０３及びプリンタ部１０４と制御部１０１とを接続し、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部２１３は、入力画像データに対し補正、加工、編集などを行う。プリンタ画像処理部２１４は、プリント出力画像データに対して、プリンタの補正、解像度変換などを行う。画像回転部２１５は、画像データの回転を行う。画像圧縮部２１６は、多値画像データに対してはＪＰＥＧ圧縮伸長処理を行い、２値画像データに対してはＪＢＩＧ、ＭＭＲ、ＭＨなどの圧縮伸長処理を行う。
【００２６】
ＨＤＤ２１７は、ユーザによる着脱可能なユニットであり、画像データやアドレス帳データ及びジョブログ、さらには良く使う設定を残したお気に入りやショートカットなどのユーザ個人が残したデータ（プリファレンスデータ）、が保持される。なお、ＨＤＤ２１７が接続されていない場合は、上記各種データはＦｌａｓｈ２０４に保持される。
【００２７】
図３は、画像処理装置内でアップデート処理を行うモジュールとアップデートサーバ１０５のアップデート処理用のモジュールの概略構成を示すブロック図である。
【００２８】
画像処理装置内でのアップデート処理は、制御部１０１と以下に説明するモジュールによって実行される。これらモジュール類は、図示のようにＦｌａｓｈ２０４に格納され、制御部１０１からの指示命令に応じて後述する機能を発揮する。
【００２９】
図３において、ソフトウェア記憶領域３０１は、画像処理装置１００の動作を実現するためのシステムプログラムが格納されている領域である。更新対象のソフトウェアは、この領域に格納されたプログラムである。作業領域３０２は、通常動作時にはプリントデータや画像ファイルを一時的に格納するための領域であり、アップデート時にはジョブ等の動作を止め、この領域を使用してプログラムの展開や更新ファイルの適用を行う。
【００３０】
通信処理部３０３，３０９は、画像処理装置１００とアップデートサーバ１０５との間で、更新ソフトウェアやソフトウェア構成情報等の入出力を行うモジュールである。なお、これらはハードウェアで構成されていてもよい。
【００３１】
画像処理装置１００において、ソフトウェア情報管理部３０４は、ソフトウェア記憶領域３０１内に格納されているシステムプログラムのバージョン情報、圧縮ファイルの構成情報等のソフトウェア構成情報を管理するための管理モジュールである。圧縮ファイル解凍圧縮処理部３０５は、ソフトウェア記憶領域３０１内に圧縮して保持されたソフトウェアの解凍及び再圧縮を行うためのモジュールである。
【００３２】
ソフトウェア更新処理部３０６は、アップデートサーバ１０５から受信した更新ソフトウェアを展開し、圧縮ファイル解凍圧縮処理部３０５により解凍されたプログラムに対して、更新ファイルを適用する処理を行うモジュールである。
【００３３】
ソフトウェアバックアップ処理部３０７は、ソフトウェアの更新中にエラーが発生した際のリカバリ処理のために、圧縮ファイル解凍圧縮処理部３０５によりソフトウェアが解凍される前に更新対象の圧縮ファイルのバックアップを行うモジュールである。
【００３４】
アップデートサーバ１０５において、更新ソフトウェア記憶部３０８は、アップデートサーバ１０５が管理する複数のソフトウェアのデータを一括して記憶するための記憶領域（または記憶装置）である。更新ソフトウェア情報管理部３１０は、更新ソフトウェア記憶部３０８内に格納されている更新用のシステムプログラムのバージョン情報、圧縮ファイルの構成情報等のソフトウェア構成情報を保持する管理モジュールである。差分ソフトウェア算出部３１１は、画像処理装置１００から受信したソフトウェア構成情報と更新対象のソフトウェア構成情報を比較して、差分ソフトウェアを算出するモジュールである。
【００３５】
更新圧縮ファイル特定部３１２は、差分ソフトウェア算出部３１１により算出された差分ソフトウェアの情報から更新対象の圧縮ファイルを特定するモジュールである。ソフトウェア更新時間算出部３１３は、差分ソフトウェア情報及び更新対象の圧縮ファイルの情報と、更新対象の画像処理装置の機器情報を加味して、アップデート処理時間の算出を行う。このアップデート処理時間は、更新ファイルの転送時間、圧縮ファイルの解凍時間、更新ファイルの展開時間、更新ファイルの適用時間、及びソフトウェアの再圧縮時間をすべて考慮したものとなる。なお、上述したアップデートサーバ１０５内の各機能モジュールについては、ハードウェアで構成されていてもよい。
【００３６】
図４は、従来のソフトウェアの差分アップデートの流れを示す図である。
【００３７】
システムプログラムは、１つの圧縮プログラム（ＲＯＭイメージ）４０１としてソフトウェア記憶領域３０１に保持される。ソフトウェアアップデートの際に、圧縮プログラム４０１は、予め作業領域３０２内のＷＯＲＫ領域にすべて展開される。それを展開後プログラム４０２とする。その後、アップデートサーバ１０５より作業領域３０２内のダウンロード領域にダウンロードされた差分パッケージ群４０３を展開し、展開後プログラム４０２に適用する。なお、ダウンロード単位は一つまたは複数のプログラムファイルを含むものとし、このダウンロード単位を「パッケージ」と呼ぶ。最後に、更新されたプログラムを圧縮プログラム４０１に再圧縮してソフトウェア記憶領域３０１に記憶する。このような手順では、プログラムの解凍及び再圧縮の処理に時間がかかってしまうだけでなく、大容量のＷＯＲＫ領域が必要になってしまう。
【００３８】
図５は、第１の実施形態におけるソフトウェアの差分アップデートの流れを示す図である。
【００３９】
本実施形態では、システムプログラムは、相互に依存関係のない複数の圧縮ファイル５０１に分割されてソフトウェア記憶領域３０１に記憶される。このとき、画像処理装置１００（以下、単に「機器」とも呼ぶ）のパフォーマンスを維持するために、圧縮ファイルは１０〜２０程度の数にする必要がある。なお、図示例では、８つの圧縮ファイルに分割されている。
【００４０】
ネットワーク上のアップデートサーバ１０５より作業領域３０２内のダウンロード領域に差分パッケージ群５０３がダウンロードされる。差分パッケージ群５０３は、差分アップデートにおけるダウンロード量を最少化するため、圧縮ファイルよりも細かく分割され、個々のサイズが小さくなることが望ましい。
【００４１】
ソフトウェアアップデートが行われる前は、画像処理装置１００に格納されているシステムプログラムの構成が一意には決まらない。そこで、画像処理装置１００からアップデートサーバ１０５にソフトウェア構成情報を送信し、アップデートサーバ側で更新対象となるソフトウェアの特定とアップデート処理時間の算出を行う。そして、それらをアップデート情報としてアップデートサーバ１０５から画像処理装置１００に送信した後、差分パッケージ群５０３が画像処理装置１００に送信される。ダウンロードされた差分パッケージ群５０３は、更新ファイルとしてＷＯＲＫ領域に展開される。
【００４２】
ソフトウェアの更新の際には、分割された圧縮ファイル５０１のうち、更新対象のファイルが含まれる圧縮ファイルのみが解凍される。ここで解凍する複数の圧縮ファイルを解凍ファイル群５０２とし、これらに更新ファイルが適用される。その後、更新されたファイルが再圧縮され、ソフトウェア記憶領域３０１に記憶される。これにより、解凍圧縮時間の短縮とアップデート時に使用するＷＯＲＫ領域の削減が可能になる。
【００４３】
次に、更新先の圧縮ファイルの特定方法を含めたソフトウェアアップデート方法について説明する。
【００４４】
図６（ａ）は、ソフトウェアの差分を特定するためのソフトウェア構成情報と更新ソフトウェア情報の一例を示す図である。
【００４５】
ソフトウェア構成情報は、画像処理装置１００内のソフトウェア情報管理部３０４により保持・管理される。ソフトウェア構成情報は、機器がどのような構成のパッケージをソフトウェアとして保持しているかを示すものである。例えば、図６（ａ）に示すように、複数のパッケージの名称と各パッケージに対応するバージョンとで構成される。
【００４６】
更新ソフトウェア情報管理部３１０は、上述したソフトウェア構成情報と同様の形式の更新ソフトウェア構成情報を保持・管理しており、機器から送信されたソフトウェア構成情報との比較により差分パッケージを特定する。図６（ａ）において、ｐｋｇ（パッケージ）Ｃ、ｐｋｇＥが更新対象、ｐｋｇＨが新規適用対象であることが特定できる。
【００４７】
図６（ｂ）は、差分パッケージに含まれる差分パッケージ情報の一例を示す図である。
【００４８】
差分パッケージ情報は、アップデートサーバ１０５内の更新ソフトウェア情報管理部３１０により保持・管理される。差分パッケージ情報には、パッケージ名、バージョン、パッケージサイズ、差分パッケージに含まれる展開ファイル名、圧縮後の適用ファイル等が含まれる。図示例では、ｐｋｇＣ、ｐｋｇＥ、ｐｋｇＨの差分パッケージ情報について記載されている。これらすべての差分パッケージ情報からパッケージサイズを算出し、更新対象の圧縮ファイルのＯＲをとることで、ソフトウェアアップデートの際のダウロード量の総量と、ファイル適用時に解凍する必要のある圧縮ファイルを特定することができる。
【００４９】
図７は、画像処理装置１００とアップデートサーバ１０５間のソフトウェアアップデート処理の流れを示すシーケンス図である。図８は、図７の画像処理装置におけるソフトウェアアップデート処理のフローチャートである。図９は、図７のアップデートサーバ１０５におけるソフトウェアアップデート処理のフローチャートである。
【００５０】
操作部１０２を介してユーザからアップデートの指示があると、制御部１０１は、コピーやプリントやＦＡＸ送信といった通常処理の終了を待った後、アップデートモードに移行する（ステップＳ８０１）。次に、通信処理部３０３は、図６（ａ）に示したソフトウェア構成情報をアップデートサーバ１０５に送信する（ステップＳ８０２）。このとき通信処理部３０３はソフトウェア構成情報送信手段として機能する。その後、アップデートサーバ１０５では、後述する図９に示す処理が行われる。
【００５１】
次に、通信処理部３０３は、ダウンロードサイズや特定された更新対象の圧縮ファイルの情報を含むアップデート情報をアップデートサーバ１０５から受信する（ステップＳ８０３）。このとき通信処理部３０３はアップデート情報受信手段として機能する。
【００５２】
つづいて、ソフトウェア情報管理部３０４は、アップデートサーバ１０５から受信したアップデート情報を元に、アップデート処理時間と、更新されるソフトウェアを操作部１０２に表示し、ユーザの選択を待つ（ステップＳ８０４）。
【００５３】
次に、ソフトウェア情報管理部３０４は、操作部１０２を介してユーザからのアップデート実行指示があるか否かを判定する（ステップＳ８０５）。そして、アップデート実行指示がなく、操作がキャンセルされた場合はステップＳ８１４に進み、通常モードに復帰後、本処理を終了する。一方、ユーザからアップデートの実行指示があった場合、通信処理部３０３は、アップデートサーバ１０５から更新するソフトウェアの差分パッケージをダウンロードする（ステップＳ８０６）。
【００５４】
次に、ソフトウェアの更新に進む前に、ソフトウェアバックアップ処理部３０７が、更新対象の圧縮ファイルのバックアップを行う（ステップＳ８０７）。このときにバックアップする圧縮ファイルは更新対象のみでよいので、バックアップに要する時間の短縮も可能である。つづいて、圧縮ファイル解凍圧縮処理部３０５が、更新対象の圧縮ファイルのみを解凍し、ファイル更新の準備を行う（ステップＳ８０８）。
【００５５】
次に、ソフトウェア更新処理部３０６は、ステップＳ８０６でダウンロードした差分パッケージの展開を行い（ステップＳ８０９）、展開が成功した場合は、さらに展開した更新ファイル群を解凍ファイル群５０２に適用する（ステップＳ８１０）。ステップＳ８０９及びステップＳ８１０において、電源断等の何らかの原因でエラーが発生した場合は、ステップＳ８０６に戻り、リトライ処理を行う。
【００５６】
更新ファイルの適用が成功すると（ステップＳ８１０でＹＥＳ）、ソフトウェア更新処理部３０６は、更新ファイル群が適用された解凍ファイル群の再圧縮を行い、ソフトウェア記憶領域３０１に格納する（ステップＳ８１１）。このとき、電源断等のエラーが発生した場合は、ソフトウェアバックアップ処理部３０７が、ステップＳ８０７でバックアップした圧縮ファイルの書き戻しを行う（ステップＳ８１５）。
【００５７】
ステップＳ８１１での処理が正常に終了すると、ソフトウェア情報管理部３０４は、バックアップした圧縮ファイルのクリアを行い（ステップＳ８１２）、アップデートサーバ１０５にアップデート成功の通知を行う（ステップＳ８１３）。そして、制御部１０１は通常モードへの復帰を行い（ステップＳ８１４）、アップデート処理を終了する。
【００５８】
図９において、アップデートサーバ１０５では、通信処理部３０９が、アップデートの開始通知と共に、ソフトウェア構成情報を画像処理装置１００から受信する（ステップＳ９０１）。このとき通信処理部３０９はソフトウェア構成情報受信手段として機能する。
【００５９】
次に、差分ソフトウェア算出部３１１が、機器のソフトウェア構成情報と更新ソフトウェア構成情報とを比較し、差分パッケージを算出する（ステップＳ９０２）。
【００６０】
次に、更新圧縮ファイル特定部３１２は、ステップＳ９０２で算出された差分パッケージの差分パッケージ情報を元に、更新対象の圧縮ファイルを特定する（ステップＳ９０３）。ここでは、図６（ｂ）で示したように、同時に差分パッケージの合計サイズ、展開されるファイルが特定できる。
【００６１】
次に、ステップＳ９０４では、ソフトウェア更新時間算出部３１３は、差分パッケージの合計サイズを元に更新ファイルの転送時間及び展開時間を算出し、展開されるファイルを元に更新ファイルの適用時間を算出する。さらに、ソフトウェア更新時間算出部３１３は、更新対象の圧縮ファイルの情報を元に圧縮ファイルの解凍／再圧縮時間を算出する。そして、それらを合計してアップデート処理時間を算出する（ステップＳ９０４）。
【００６２】
次に、通信処理部３０９は、ステップＳ９０２で算出した差分パッケージと、ステップＳ９０４で算出したアップデート処理時間をアップデート情報として画像処理装置１００に送信する（ステップＳ９０５）。このとき通信処理部３０９はアップデート情報送信手段として機能する。
【００６３】
通信処理部３０９が機器からダウンロード実行通知を受信すると（ステップＳ９０６でＹＥＳ）、差分パッケージを画像処理装置１００に送信する（ステップＳ９０７）。一方、ダウンロード実行通知を受信しなかった場合は、本処理を終了する。
【００６４】
次に、更新ソフトウェア情報管理部３１０は、画像処理装置１００からアップデート成功通知を受信すると（ステップＳ９０８でＹＥＳ）、本処理を終了する一方、アップデート成功通知を受信しなかった場合はリトライ処理を行う。
【００６５】
上記実施形態によれば、アップデートデータのダウンロード前に、ソフトウェアの更新対象を局所化し、アップデートに要する時間を短縮することが可能になる。また、データのダウンロード前に、ソフトウェア構成情報、パッケージ情報といったサイズの小さなデータのやり取りで更新対象の特定やアップデート処理時間の算出が可能となる。これにより、ソフトウェアのアップデート全体の処理時間の予測が可能となる。
【００６６】
［第２の実施の形態］
本発明の第２の実施の形態では、図１、図２に示す構成が上記第１の実施の形態と同じであり、第１の実施の形態と同様の部分については同一の符号を用いてその説明を省略する。以下に、上記第１の実施の形態と異なる点のみを説明する。
【００６７】
図１０は、画像処理装置内でアップデート処理を行うモジュールとアップデートサーバ１０５のアップデート処理用のモジュールの概略構成を示すブロック図である。
【００６８】
画像処理装置内でのアップデート処理は、制御部１０１と以下に説明するモジュールによって実行される。これらモジュール類は、図示のようにＦｌａｓｈ２０４に格納され、制御部１０１からの指示命令に応じて後述する機能を発揮する。
【００６９】
図１０において、ソフトウェア記憶領域１００１は、画像処理装置１００の動作を実現するためのシステムプログラムが格納されている領域である。更新対象のソフトウェアは、この領域に格納されたプログラムである。作業領域１００２は、通常動作時にはプリントデータや画像ファイルを一時的に格納するための領域であり、アップデート時にはジョブ等の動作を止め、この領域を使用してプログラムの展開や更新ファイルの適用を行う。
【００７０】
通信処理部１００３，１０１１は、画像処理装置１００とアップデートサーバ１０５との間で、更新ソフトウェアやソフトウェア構成情報等の入出力を行うモジュールである。なお、これらはハードウェアで構成されていてもよい。
【００７１】
画像処理装置１００において、ソフトウェア情報管理部１００４は、ソフトウェア記憶領域１００１内に格納されているシステムプログラムのバージョン情報、圧縮ファイルの構成情報等のソフトウェア構成情報を管理するための管理モジュールである。差分ソフトウェア算出部１００５は、ソフトウェア情報管理部１００４が管理するソフトウェア構成情報とアップデートサーバ１０５から受信した更新ソフトウェア構成情報とを比較して、差分ソフトウェアを算出するモジュールである。更新圧縮ファイル特定部１００６は、差分ソフトウェア算出部１００５により算出された差分ソフトウェアの情報から、更新対象の圧縮ファイルを特定するモジュールである。ソフトウェア更新時間算出部１００７は、差分ソフトウェア情報及び更新対象の圧縮ファイルの情報及び、更新対象の画像処理装置の機器情報を加味して、アップデート処理時間の算出を行う。このアップデート処理時間は、更新ファイルの転送時間、圧縮ファイルの解凍時間、ダウンロードファイルの展開時間、更新ファイルの適用時間、ソフトウェアの再圧縮時間をすべて考慮したものとなる。
【００７２】
圧縮ファイル解凍圧縮処理部１００８は、ソフトウェア記憶領域１００１内に圧縮して保持されたソフトウェアの解凍及び再圧縮を行うためのモジュールである。ソフトウェア更新処理部１００９は、アップデートサーバ１０５から受信した更新ソフトウェアを展開し、圧縮ファイル解凍圧縮処理部１００８により解凍されたプログラムに対して、更新ファイルを適用する処理を行うモジュールである。
【００７３】
ソフトウェアバックアップ処理部１０１０は、ソフトウェアの更新中にエラーが発生した際のリカバリ処理のために、圧縮ファイル解凍圧縮処理部１００８によりソフトウェアが解凍される前に更新対象の圧縮ファイルのバックアップを行うモジュールである。
【００７４】
アップデートサーバ１０５において、更新ソフトウェア記憶部１０１２は、アップデートサーバ１０５が管理する複数のソフトウェアのデータを一括して記憶するための記憶領域（または記憶装置）である。更新ソフトウェア情報管理部１０１３は、更新ソフトウェア記憶部１０１２内に格納されている更新用のシステムプログラムのバージョン情報、圧縮ファイルの構成情報等のソフトウェア構成情報を保持する管理モジュールである。
【００７５】
第２の実施形態におけるソフトウェアの差分アップデートの流れは図５と同様であり、その説明は省略する。また、第２の実施形態におけるソフトウェア構成情報及びパッケージ情報は、図６と同様であるため、それらの説明は省略する。
【００７６】
図１１は、第２の実施形態における画像処理装置１００とアップデートサーバ１０５間のソフトウェアアップデート処理の流れを示すシーケンス図である。
【００７７】
本実施形態では、上記第１の実施形態においてサーバ側で行っていた差分パッケージの算出（ステップＳ９０２）、更新対象の圧縮ファイルの特定（ステップＳ９０３）、アップデート処理時間の算出（ステップＳ９０３）をすべて画像処理装置内で行うものとする。上記第１の実施形態と同じ処理については、それらの説明を省略する。
【００７８】
図１１に示すように、アップデートサーバ１０５では、画像処理装置からのアップデート開始通知があると、図６（ａ）に示した更新ソフトウェア構成情報を画像処理装置に送信する。このとき通信処理部１００３は、更新ソフトウェア構成情報受信手段として機能する。
【００７９】
そして、差分ソフトウェア算出部１００５は、第１の実施形態におけるステップＳ９０２相当の処理を画像処理装置１００側で行う。更新圧縮ファイル特定部１００６は、第１の実施形態におけるステップＳ９０３相当の処理を画像処理装置１００側で行う。ソフトウェア更新時間算出部１００７は、第１の実施形態におけるステップＳ９０４相当の処理を画像処理装置１００側で行う。
【００８０】
第２の実施の形態でのソフトウェアアップデート処理では、差分パッケージの算出、更新対象の圧縮ファイルの特定、アップデート処理時間の算出が画像処理装置１００内で行われる。アップデートサーバ１０５は、差分パッケージの転送前に更新ソフトウェア構成情報を画像処理装置１００に送信するだけでよいので、サーバ側の負荷を軽減することができる。
【００８１】
上記実施形態では、画像処理装置とその制御方法について説明したが、これらの制御方法を実現するための制御プログラム、及び上述した画像処理装置を含む情報処理システムも、本発明を適用できる実施形態の範疇であることは言うまでもない。また、画像処理装置に限定されるものではなく、ＰＣ等の情報処理装置であってもよい。
【００８２】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００８３】
１００  画像処理装置
１０５  アップデートサーバ
２０４  Ｆｌａｓｈ
３０１  ソフトウェア記憶領域
３０２  作業領域
３０３，３０９  通信処理部
３０４  ソフトウェア情報管理部
３０５  圧縮ファイル解凍圧縮処理部
３０６  ソフトウェア更新部
３０７  ソフトウェアバックアップ処理部
【図１】
2012048540.tif 000003
【図２】
2012048540.tif 000004
【図３】
2012048540.tif 000005
【図４】
2012048540.tif 000006
【図５】
2012048540.tif 000007
【図６】
2012048540.tif 000008
【図７】
2012048540.tif 000009
【図８】
2012048540.tif 000010
【図９】
2012048540.tif 000011
【図１０】
2012048540.tif 000012
【図１１】
2012048540.tif 000013