(57)【要約】【課題】ファームウェアの更新とともに予め定められた機能を実行可能な画像形成装置及びその制御方法、並びにプログラムを提供する。【解決手段】画像形成装置１は、予め定められた機能を実行するために必要なファームウェアを特定し、特定されたファームウェアを新たなファームウェアに更新し、特定されたファームウェアが新たなファームウェアに更新されると、予め定められた機能を実行可能な状態に画像形成装置を制御し、予め定められた機能が実行可能な状態に制御されると、特定されたファームウェアを除くファームウェアを更新する。【選択図】図５
2014178741.tif 000002
【特許請求の範囲】
【請求項１】
ファームウェアを更新可能な画像形成装置であって、
前記ファームウェアのうち、予め定められた機能を実行するために必要なファームウェアを特定する特定手段と、
前記特定手段により特定されたファームウェアを新たなファームウェアに更新する第１更新手段と、
前記第１更新手段により前記特定されたファームウェアが新たなファームウェアに更新されると、前記予め定められた機能を実行可能な状態に前記画像形成装置を制御する制御手段と、
前記制御手段により前記予め定められた機能が実行可能な状態に制御されると、前記特定されたファームウェアを除く前記ファームウェアを更新する第２更新手段と
を備えたことを特徴とする画像形成装置。
【請求項２】
前記予め定められた機能は、前記画像形成装置の機械的な調整に必要な機能、またはコピー処理に必要な機能であることを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記特定手段は、前記予め定められた機能を実行するためのプロセス及びライブラリから前記予め定められた機能を実行するために必要なファームウェアを特定することを特徴とする請求項１または請求項２記載の画像形成装置。
【請求項４】
前記特定されたファームウェアを除く前記ファームウェアのスタブライブラリを生成する生成手段をさらに備え、
前記制御手段は、前記生成手段により生成された前記スタブライブラリをリンクさせて前記予め定められた機能を実行可能な状態に前記画像形成装置を制御し、
前記第２更新手段により前記特定されたファームウェアを除く前記ファームウェアが更新されると、前記スタブライブラリに代えて、前記スタブライブラリに対応する実ライブラリをリンクさせることを特徴とする請求項３記載の画像形成装置。
【請求項５】
ファームウェアを更新可能な画像形成装置の制御方法であって、
前記ファームウェアのうち、予め定められた機能を実行するために必要なファームウェアを特定する特定ステップと、
前記特定ステップにより特定されたファームウェアを新たなファームウェアに更新する第１更新ステップと、
前記第１更新ステップにより前記特定されたファームウェアが新たなファームウェアに更新されると、前記予め定められた機能を実行可能な状態に前記画像形成装置を制御する制御ステップと、
前記制御ステップにより前記予め定められた機能が実行可能な状態に制御されると、前記特定されたファームウェアを除く前記ファームウェアを更新する第２更新ステップと
を備えたことを特徴とする制御方法。
【請求項６】
前記予め定められた機能は、前記画像形成装置の機械的な調整に必要な機能、またはコピー処理に必要な機能であることを特徴とする請求項５記載の制御方法。
【請求項７】
前記特定ステップは、前記予め定められた機能を実行するためのプロセス及びライブラリから前記予め定められた機能を実行するために必要なファームウェアを特定することを特徴とする請求項５または請求項６記載の制御方法。
【請求項８】
前記特定されたファームウェアを除く前記ファームウェアのスタブライブラリを生成する生成ステップをさらに備え、
前記制御ステップは、前記生成ステップにより生成された前記スタブライブラリをリンクさせて前記予め定められた機能を実行可能な状態に前記画像形成装置を制御し、
前記第２更新ステップにより前記特定されたファームウェアを除く前記ファームウェアが更新されると、前記スタブライブラリに代えて、前記スタブライブラリに対応する実ライブラリをリンクさせることを特徴とする請求項７記載の制御方法。
【請求項９】
ファームウェアを更新可能な画像形成装置の制御方法をコンピュータに実行させるためのプログラムであって、
前記制御方法は、
前記ファームウェアのうち、予め定められた機能を実行するために必要なファームウェアを特定する特定ステップと、
前記特定ステップにより特定されたファームウェアを新たなファームウェアに更新する第１更新ステップと、
前記第１更新ステップにより前記特定されたファームウェアが新たなファームウェアに更新されると、前記予め定められた機能を実行可能な状態に前記画像形成装置を制御する制御ステップと、
前記制御ステップにより前記予め定められた機能が実行可能な状態に制御されると、前記特定されたファームウェアを除く前記ファームウェアを更新する第２更新ステップと
を備えたことを特徴とするプログラム。
【請求項１０】
前記予め定められた機能は、前記画像形成装置の機械的な調整に必要な機能、またはコピー処理に必要な機能であることを特徴とする請求項９記載のプログラム。
【請求項１１】
前記特定ステップは、前記予め定められた機能を実行するためのプロセス及びライブラリから前記予め定められた機能を実行するために必要なファームウェアを特定することを特徴とする請求項９または請求項１０記載のプログラム。
【請求項１２】
前記特定されたファームウェアを除く前記ファームウェアのスタブライブラリを生成する生成ステップをさらに備え、
前記制御ステップは、前記生成ステップにより生成された前記スタブライブラリをリンクさせて前記予め定められた機能を実行可能な状態に前記画像形成装置を制御し、
前記第２更新ステップにより前記特定されたファームウェアを除く前記ファームウェアが更新されると、前記スタブライブラリに代えて、前記スタブライブラリに対応する実ライブラリをリンクさせることを特徴とする請求項１１記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
画像形成装置のように多数の機能を有する機器では、セキュリティリスクが高いため定常的にファームウェアを更新し安全な状態にする必要がある。生産時に画像形成装置にプレインストールするファームウェアは初期バージョンであることが多く、画像形成装置の初期設置時には必ずファームウェアの更新が行われる。
【０００３】
サービスマンは初期設置時に、画像形成装置の配置、ファームウェアの更新、機械的な調整であるメカ調整の順番に実施するが、ファームウェアの更新に時間がかかるため、それに伴ってサービスコストがかかる。
【０００４】
ファームウェアの更新を高速化するために、余計な処理の削除、独立した処理の並列実行やファームウェア書き込み処理の最適化などのさまざまな工夫が行われてきた。
【０００５】
ファームウェア更新の高速化と安全性向上に関連して、ファームウェアの更新を一括で行わずに、ライブラリファイルをいくつかのグループに分けて段階的に更新する技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−１４６７６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示された技術では、いくつかのグループに分けて段階的に更新するが、更新対象の全ファームウェアが更新されない限りは、ファームウェアを起動できない。
【０００８】
例えば、優先して行いたい機能の１つとしてメカ調整作業に係る機能を行う場合は、ファームウェアが起動している必要があるため、サービスマンは更新対象の全ファームウェアの更新を待つこととなる。
【０００９】
これは、メカ調整作業ではメカ調整用のプリントジョブやスキャンジョブを行い、設置した画像形成装置のプリンタやスキャナが適切に配置、調整できたことを確認するので、ファームウェアが起動している必要があるためである。
【００１０】
このように、更新対象であるファームウェアが全て更新されないと、優先して行いたい予め定められた機能を実行することができないという課題がある。
【００１１】
本発明の目的は、ファームウェアの更新とともに予め定められた機能を実行可能な画像形成装置及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、請求項１の画像形成装置は、ファームウェアを更新可能な画像形成装置であって、前記ファームウェアのうち、予め定められた機能を実行するために必要なファームウェアを特定する特定手段と、前記特定手段により特定されたファームウェアを新たなファームウェアに更新する第１更新手段と、前記第１更新手段により前記特定されたファームウェアが新たなファームウェアに更新されると、前記予め定められた機能を実行可能な状態に前記画像形成装置を制御する制御手段と、前記制御手段により前記予め定められた機能が実行可能な状態に制御されると、前記特定されたファームウェアを除く前記ファームウェアを更新する第２更新手段とを備えたことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ファームウェアの更新とともに予め定められた機能を実行可能な画像形成装置及びその制御方法、並びにプログラムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態に係る画像形成装置の概略構成を示す図である。
【図２】図１におけるコントローラ部の概略構成を示す図である。
【図３】図１における画像形成装置の機械的構成を示す図である。
【図４】図２におけるフラッシュメモリに記憶されるソフトウェア構成を示す図である。
【図５】図２におけるＣＰＵにより実行される更新処理の手順を示すフローチャートである。
【図６】本実施の形態に係る更新処理と従来技術における更新処理におけるタイミングチャートを示す図である。
【図７】図２におけるフラッシュメモリに記憶されるソフトウェア構成を示す図である。
【図８】図２におけるＣＰＵにより実行される更新処理の手順を示すフローチャートである。
【図９】図２におけるフラッシュメモリに記憶されるソフトウェア構成を示す図である。
【図１０】図２におけるＣＰＵにより実行される更新処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について図面を参照しながら詳述する。
【００１６】
図１は、本発明の実施の形態に係る画像形成装置１の概略構成を示す図である。
【００１７】
図１において、画像形成装置１は、リーダー部２、コントローラ部１１０、操作部７、及びプリンタ部６で構成される。
【００１８】
コントローラ部１１０は、画像形成装置１全体を制御する。このコントローラ部１１０の構成については後述する。このコントローラ部１１０には、ハードディスク８，９が接続され、ハードディスク８，９にはプログラムやデータなどが記憶される。
【００１９】
リーダー部２は、原稿給紙ユニット１０、及びスキャナユニット１１で構成される。原稿給紙ユニット１０は、原稿を給紙し、給紙された原稿からスキャナユニット１１は画像を読み取る。読み取られた画像は画像データとしてコントローラ部１１０に出力される。
【００２０】
操作部７は、コントローラ部１１０に接続され、ユーザが画像形成装置１を操作したり、ユーザに対して情報を表示する。
【００２１】
プリンタ部６は、マーキングユニット１３、排紙ユニット１４、及び給紙ユニット１２で構成される。給紙ユニット１２は、給紙カセットから記録紙を給紙する。マーキングユニット１３は、給紙された記録紙に画像を形成する。排紙ユニット１４は、画像が形成された記録紙を排紙する。
【００２２】
また、本実施の形態に係る画像形成装置１は、ＬＡＮ４００によってＰＣ３，４に接続されており、ＰＣ３，４からの要求で種々の処理を実行可能である。
【００２３】
図２は、図１におけるコントローラ部１１０の概略構成を示す図である。
【００２４】
図２において、コントローラ部１１０は、メインコントローラ３２により制御される。メインコントローラ３２は、メインコントローラ３２を制御するＣＰＵ３３及びバスコントローラ３４で構成される。
【００２５】
ＤＲＡＭ３８は、メインコントローラ３２に接続され、ＤＲＡＭ３８は、ＣＰＵ３３が動作するための作業領域として用いられたり、ラスターイメージデータが記憶される。後述するフローチャートを実行するためのプログラムは、ＤＲＡＭ３８に記憶される。
【００２６】
コーデック４０は、ＤＲＡＭ３８に記憶されたラスターイメージデータをＭＨ／ＭＲ／ＭＭＲ／ＪＢＩＧなどの周知の圧縮方式で圧縮したり、圧縮されたデータをラスターイメージに伸長する。また、コーデック４０にはＳＲＡＭ４３が接続されており、ＳＲＡＭ４３はコーデック４０の一時的な作業領域として使用される。
【００２７】
バイオスＲＯＭ９８は、メインコントローラ３２に接続され、ＩＯ初期化プログラムが記憶されている。
【００２８】
ネットワークコントローラ４２は、メインコントローラ３２と接続され、コネクタ４４によって接続されたＬＡＮ４００を用いた通信に係る制御を行う。
【００２９】
スキャナインタフェース４６は、メインコントローラ３２とリーダー部２とのインタフェースである。コネクタ５６は、スキャナユニット１１に接続され、またスキャナインタフェース４６とは調歩同期シリアルインタフェース及びビデオインタフェースで接続される。
【００３０】
そして、スキャナインタフェース４６はスキャナユニット１１から受信した画像データに対し２値化処理や、主走査方向や副走査方向の変倍処理を行う。またスキャナユニット１１から受信したビデオ信号に基づいて制御信号を生成し、それをメインコントローラ３２に転送する。
【００３１】
プリンタインタフェース４８は、メインコントローラ３２とプリンタ部６とのインタフェースである。コネクタ５９は、マーキングユニット１３に接続され、またプリンタインタフェース４８とは調歩同期シリアルインタフェース及びビデオインタフェースで接続される。
【００３２】
そして、プリンタインタフェース４８はメインコントローラ３２から出力された画像データにスムージング処理を施し、その画像データをマーキングユニット１３に出力する。
【００３３】
さらにプリンタインタフェース４８はマーキングユニット１３から受信したビデオ信号に基づいて、生成された制御信号をメインコントローラ３２に出力する。
【００３４】
メインコントローラ３２は、さらにＩ／Ｏ制御部５１、及び拡張コネクタ５０と、ＰＣＩバス等の汎用高速バスによって接続している。拡張コネクタ５０は、拡張ボードを接続するためのコネクタである。
【００３５】
また、Ｉ／Ｏ制御部５１はリーダー部２やプリンタ部６との間で制御コマンドを送受信するための調歩同期式のシリアル通信コントローラ５２が２チャンネル装備されている。シリアル通信コントローラ５２はスキャナインタフェース４６及びプリンタインタフェース４８に接続されている。
【００３６】
さらに、Ｉ／Ｏ制御部５１はＬＣＤコントローラ６０及びパネルインタフェース６２と接続され、パネルインタフェース６２は、操作部７に接続されている。
【００３７】
また、Ｉ／Ｏ制御部５１は日付と時刻を更新したり保存するリアルタイムクロックモジュール６４に接続されている。このリアルタイムクロックモジュール６４はバックアップ用電池６５によりバックアップされている。
【００３８】
さらに、Ｉ／Ｏ制御部５１はＥ?ＩＤＥコネクタ６３と接続している。Ｅ?ＩＤＥコネクタ６３は、ハードディスク８，９及びフラッシュメモリ９９に接続されている。フラッシュメモリ９９にはメインコントローラ制御用の各種制御プログラムなどのファームウェア、及び各種データが記憶されている。画像形成装置１は、上記ファームウェアを更新可能となっている。
【００３９】
上述したバスコントローラ３４は、スキャナインタフェース４６、プリンタインタフェース４８、及び拡張コネクタ５０などに接続された外部機器から入出力されるデータ転送におけるバス競合時のアービトレーションやＤＭＡデータ転送の制御を行う。
【００４０】
例えば、上述したＤＲＡＭ３８とコーデック４０との間のデータ転送、スキャナユニット１１からＤＲＡＭ３８へのデータ転送、及びＤＲＡＭ３８からマーキングユニット１３へのデータ転送などは、バスコントローラ３４によって制御される。
【００４１】
図３は、図１における画像形成装置１の機械的構成を示す図である。
【００４２】
図３において、画像形成装置１は、図１で説明したリーダー部２及びプリンタ部６で構成される。
【００４３】
リーダー部２は、原稿給送ユニット２１０に積層された原稿用紙をその積層順に従って先頭から順次１枚ずつプラテンガラス２１５に給送する。スキャナユニット１１で所定の読取動作が終了した後、読み取られた原稿用紙はプラテンガラス２１５から原稿給送ユニット２１０に排出される。
【００４４】
また、上記スキャナユニット１１では、原稿用紙がプラテンガラス２１５に搬送されてくるとランプ２１６が点灯し、次いで光学ユニット２１７の移動を開始させ、読み取り位置で固定する。
【００４５】
光学ユニット２１７は搬送される原稿用紙を下方から照射し、走査する。そして、原稿用紙からの反射光は、複数のミラー２１８，２１９，２２０、及びレンズ２２１を介してＣＣＤイメージセンサー（以下、「ＣＣＤ」という）２２２によって読み取られる。
【００４６】
ＣＣＤ２２２で読み取ることで得られた画像データは、所定の処理が施された後、コントローラ部１１０に転送される。
【００４７】
なお、プラテンガラス２１５に載置された原稿に対してランプ２１６を点灯し、次いで光学ユニット２１７の移動を開始させ、原稿を下方から照射し、走査することで、ＣＣＤ２２２によって原稿を読み取ることも可能である。
【００４８】
次いで、プリンタ部６では、コントローラ部１１０から出力された画像データに対応するレーザ光が、不図示のレーザドライバにより駆動されるレーザ発光部２２４から発光される。
【００４９】
マーキングユニット１３に属する感光ドラム２２５にはレーザ光に応じた静電潜像が形成され、現像器２２６により静電潜像の部分に現像剤が付着する。
【００５０】
一方、レーザ光の照射開始と同期したタイミングで、給紙カセット２１２ａ，２１２ｂから記録紙が給紙されて転写部２２７に搬送され、感光ドラム２２５に付着している現像剤が記録紙に転写される。
【００５１】
現像剤が転写された記録紙は定着部２２８に搬送され、定着部２２８における加熱、加圧処理により現像剤が記録紙に定着される。
【００５２】
そして、片面印刷の場合は、定着部２２８を通過した記録紙が排出ローラ２２９によってそのまま排紙ユニット１４に排出される。排紙ユニット１４は排出された記録用紙を束ねて記録紙の仕分けを行ったり、仕分けされた記録紙に対してステイプル処理を行う。
【００５３】
両面印刷の場合は、排出ローラ２２９まで記録紙を搬送した後、排出ローラ２２９の回転方向を逆転させる。その後、フラッパ２３０によって再給紙搬送路２３１へと記録紙が導かれ、再給紙搬送路２３１に導かれた記録紙は転写部２２７に搬送される。
【００５４】
その他の機能として、リーダー部２により読み取られた画像データをコードに変換し、ＬＡＮ４００によってＰＣ３，４に送信するスキャナ機能を有する。
【００５５】
さらに、ＰＣ３，４から受信したコードデータを画像データに変換し、プリンタ部６に出力するプリンタ機能などを有している。
【００５６】
図４は、図２におけるフラッシュメモリ９９に記憶されるソフトウェア構成を示す図である。
【００５７】
以下に説明するソフトウェアが動作するＯＳは、マルチプロセスモデルと動的リンクライブラリを採用している。
【００５８】
図４において、ＢＯＯＴＬＯＡＤＥＲ１０００７はバイオスＲＯＭ９８によって、ＤＲＡＭ３８に読み込まれたのち実行される。
【００５９】
ＢＯＯＴＬＯＡＤＥＲ１０００７はＳＴＤ＿ＫＥＲＮＥＬ１０００８とＳＴＤ＿ＩＮＩＴＲＤ１０００９、またはＳＡＦＥ＿ＫＥＲＮＥＬ１００１１とＳＡＦＥ＿ＩＮＩＴＲＤ１００１２をＤＲＡＭ３８に読み込む。
【００６０】
ＳＴＤ＿ＫＥＲＮＥＬ１０００８とＳＡＦＥ＿ＫＥＲＮＥＬ１００１１のどちらを読み込むかは、ＳＲＡＭ４３に記憶された起動モード情報によって切り替えられる。
【００６１】
ＳＴＤ＿ＫＥＲＮＥＬ１０００８はＳＴＤ＿ＩＮＩＴＲＤ１０００９を初期起動ディスクとして使用したのち、ＳＴＤシステム記憶領域１００１０をマウントし、ＳＴＤシステム記憶領域１００１０に記憶されているＳＴＤシステムを起動する。
【００６２】
ＳＡＦＥ＿ＫＥＲＮＥＬ１００１１はＳＡＦＥ＿ＩＮＩＴＲＤ１００１２を初期起動ディスクとして使用したのち、ＳＡＦＥシステム記憶領域１００１３をマウントし、ＳＡＦＥシステム記憶領域１００１３に記憶されているＳＡＦＥシステムを起動する。
【００６３】
データ記憶領域１００１４は更新処理に必要な更新対象のファイルを依存関係情報と共にアーカイブしたものを、複数のパッケージファイルとして記憶する領域である。
【００６４】
ＳＴＤシステム記憶領域１００１０に記憶されているＳＴＤシステムは、ＳＴＤシステム記憶領域１００１０に記憶されているＳＴＤシステムのうち、システムとして起動済みのプロセスにリンクしていない動的リンクライブラリの更新を行うアップデート機能を有する。
【００６５】
ＳＴＤシステム記憶領域１００１０に記憶されているＳＴＤシステムは、ＳＡＦＥシステム記憶領域１００１３に記憶されているＳＡＦＥシステムを更新するアップデート機能を有する。
【００６６】
ＳＴＤシステム記憶領域１００１０に記憶されたＳＴＤシステムは、ＳＴＤシステム記憶領域１００１０に記憶されているＳＴＤシステムのうち、画像形成装置１の機械的な調整であるメカ調整に必要となるプロセスの一覧をメカ調整に必要なプロセスリスト１００１６として保持する。
【００６７】
ＳＡＦＥシステム記憶領域１００１３に記憶されたＳＡＦＥシステムはＳＴＤシステム記憶領域１００１０に記憶されたＳＴＤシステムを更新するアップデート機能を有する。
【００６８】
ＳＡＦＥシステム記憶領域１００１３に記憶されたＳＡＦＥシステムはＳＴＤシステム記憶領域１００１０に記憶されているＳＴＤシステムのうち、メカ調整処理に必要となるプロセスの一覧をメカ調整に必要なプロセスリスト１００１５として保持する。
【００６９】
メカ調整に必要なプロセスリスト１００１５とメカ調整に必要なプロセスリスト１００１６はファイルの実体は異なるが内容は同一である。
【００７０】
図５は、図２におけるＣＰＵ３３により実行される更新処理の手順を示すフローチャートである。この更新処理は、画像形成装置１の設置時に実行される。
【００７１】
図５において、初期設置時に画像形成装置１の電源を投入すると、ＢＯＯＴＬＯＡＤＥＲ１０００７はＳＡＦＥ＿ＫＥＲＮＥＬ１００１１を実行し、ＳＡＦＥ＿ＫＥＲＮＥＬ１００１１はＳＡＦＥシステム記憶領域１００１３に配置されたＳＡＦＥシステムを起動する。
【００７２】
そして、ＳＡＦＥシステムはメカ調整に必要なプロセスリスト１００１５を参照し、プロセスの呼び出すライブラリ情報とデータ記憶領域１００１４に配置されたパッケージ情報から必要なパッケージ（ファームウェア）を特定する（ステップＳ１０１）。このステップＳ１０１は、ファームウェアのうち、予め定められた機能を実行するために必要なファームウェアを特定する特定手段に対応する。また、上述したように、本実施の形態では、予め定められた機能を実行するためのプロセス及びライブラリから予め定められた機能を実行するために必要なファームウェアを特定する。
【００７３】
次いで、ＳＡＦＥシステムは特定したメカ調整に必要なパッケージのみをＳＴＤシステム記憶領域１００１０に展開する（ステップＳ１０２）。これにより、新たなファームウェアに更新される。展開が終わったパッケージをデータ記憶領域１００１４から削除する。上記ステップＳ１０２は、特定されたファームウェアを新たなファームウェアに更新する第１更新手段に対応する。
【００７４】
そして、ＳＡＦＥシステムはＳＴＤモードで再起動する（ステップＳ１０３）。このＳＴＤモードで再起動とは、起動時にＢＯＯＴＬＯＡＤＥＲ１０００７がＳＴＤ＿ＫＥＲＮＥＬ１０００８を実行するモードである。
【００７５】
実行されたＳＴＤ＿ＫＥＲＮＥＬ１０００８はＳＴＤシステム記憶領域１００１０に記憶されたＳＴＤシステムを起動する。ＳＴＤシステムはメカ調整に必要なプロセスリスト１００１６に記載されたプロセスのみを起動する。この時点でメカ調整を実行可能となる。再起動することでメカ調整が実行可能な状態となるので、上記ステップＳ１０３は、特定されたファームウェアが新たなファームウェアに更新されると、予め定められた機能を実行可能な状態に画像形成装置１を制御する制御手段である。
【００７６】
次いで、ＳＴＤシステムはデータ記憶領域１００１４に残存した、メカ調整に不要なパッケージを、ＳＴＤシステム記憶領域１００１０へ展開する（ステップＳ１０４）。メカ調整に不要なパッケージは、特定されたファームウェアを除くファームウェアであるので、これにより特定されたファームウェアを除くファームウェア新たなファームウェアに更新される。上記ステップＳ１０４は、予め定められた機能が実行可能な状態に制御されると、前記特定されたファームウェアを除く前記ファームウェアを更新する第２更新手段に対応する。
【００７７】
その後、ＳＡＦＥシステム用のパッケージをＳＡＦＥシステム記憶領域１００１３へ展開する。そして、メカ調整に必要ないプロセスを起動し、本処理を終了する。
【００７８】
次に、従来技術と比較することで、本実施の形態によって生じる効果について説明する。
【００７９】
図６は、本実施の形態に係る更新処理と従来技術における更新処理におけるタイミングチャートを示す図である。
【００８０】
図６において、従来技術ではＳＴＤパッケージを展開してＳＴＤシステム記憶領域１００１０の全ファームウェアを一括で更新する。
【００８１】
次に、ＳＴＤモードへ起動を切り替えるために再起動する。そして、ＳＡＦＥパッケージを展開して、ＳＡＦＥシステム記憶領域１００１３のファームウェアを更新する。
【００８２】
その後、ＳＡＦＥモードへ起動を切り替えるために再起動する。こうしてメカ調整が開始できる。
【００８３】
本実施の形態ではＳＴＤシステム記憶領域１００１０のうち、メカ調整に必要なＳＴＤパッケージを展開して、ファームウェアのみを更新する。次に、ＳＴＤモードへ起動を切り替えるために再起動する。この段階でメカ調整が開始できるので、従来技術と比較しても迅速にメカ調整を行うことができる。
【００８４】
ＳＴＤシステム記憶領域の残りの部分のＳＴＤパッケージを展開して更新し、ＳＡＦＥシステム記憶領域１００１３のＳＡＦＥパッケージを展開して、ファームウェア更新する。
【００８５】
このように、メカ調整を並行して行うことできるため、更新処理に要する時間が短くなる。短くなった分だけ初期設置のスループットを改善でき、サービスコストを削減することができる。
【００８６】
以上説明した実施の形態では、メカ調整を優先させるための更新処理であるが、メカ調整に限らず、例えばコピー処理を優先させることも可能である。
【００８７】
図７は、図２におけるフラッシュメモリ９９に記憶されるソフトウェア構成を示す図である。図７の場合、コピー処理を優先させる場合のソフトウェア構成を示している。
【００８８】
図７において、ＢＯＯＴＬＯＡＤＥＲ３０００７はバイオスＲＯＭ９８によって、ＤＲＡＭ３８に読み込まれたのち実行される。
【００８９】
ＢＯＯＴＬＯＡＤＥＲ３０００７はＳＴＤ＿ＫＥＲＮＥＬ３０００８とＳＴＤ＿ＩＮＩＴＲＤ３０００９、またはＳＡＦＥ＿ＫＥＲＮＥＬ３００１１とＳＡＦＥ＿ＩＮＩＴＲＤ３００１２をＤＲＡＭ３８に読み込む。
【００９０】
ＳＴＤ＿ＫＥＲＮＥＬ３０００８とＳＡＦＥ＿ＫＥＲＮＥＬ３００１１のどちらを見込むかは、ＳＲＡＭ４３に記憶された起動モード情報によって切り替えられる。
【００９１】
ＳＴＤ＿ＫＥＲＮＥＬ３０００８はＳＴＤ＿ＩＮＩＴＲＤ３０００９を初期起動ディスクとして使用したのち、ＳＴＤシステム記憶領域３００１０をマウントし、ＳＴＤシステム記憶領域３００１０に記憶されているＳＴＤシステムを起動する。
【００９２】
ＳＡＦＥ＿ＫＥＲＮＥＬ３００１１はＳＡＦＥ＿ＩＮＩＴＲＤ３００１２を初期起動ディスクとして使用したのち、ＳＡＦＥシステム記憶領域３００１３をマウントし、ＳＡＦＥシステム記憶領域３００１３に記憶されているＳＡＦＥシステムを起動する。
【００９３】
データ記憶領域３００１４は更新処理に必要な更新対象のファイルを依存関係情報と共にアーカイブしたものを、複数のパッケージファイルとして保持する領域である。
【００９４】
ＳＴＤシステム記憶領域３００１０に記憶されているＳＴＤシステムはＳＴＤシステム記憶領域３００１０に記憶されているＳＴＤシステムのうち、システムとして起動済みのプロセスにリンクしていない動的リンクライブラリの更新を行うアップデート機能を有する。
【００９５】
ＳＴＤシステム記憶領域３００１０に記憶されているＳＴＤシステムはＳＡＦＥシステム記憶領域３００１３に記憶されているＳＡＦＥシステムを更新するアップデート機能を有する。
【００９６】
ＳＴＤシステム記憶領域３００１０に記憶されたＳＴＤシステムはＳＴＤシステム記憶領域３００１０に記憶されているＳＴＤシステムのうち、コピー処理に必要となるプロセスの一覧をコピー処理に必要なプロセスリスト３００１６として保持する。
【００９７】
ＳＡＦＥシステム記憶領域３００１３に記憶されたＳＡＦＥシステムはＳＴＤシステム記憶領域３００１０に記憶されたＳＴＤシステムを更新するアップデート機能を有する。
【００９８】
ＳＡＦＥシステム記憶領域３００１３に記憶されたＳＡＦＥシステムはＳＴＤシステム記憶領域３００１０に記憶されているＳＴＤシステムのうち、コピー処理に必要となるプロセスの一覧をコピー処理に必要なプロセスリスト３００１５として保持する。
【００９９】
コピー処理に必要なプロセスリスト３００１５とコピー処理に必要なプロセスリスト３００１６はファイルの実体は異なるが内容は同一である。
【０１００】
図８は、図２におけるＣＰＵ３３により実行される更新処理の手順を示すフローチャートである。この更新処理は、画像形成装置１のユーザにより実行される。
【０１０１】
図８において、初期設置時に画像形成装置１の電源を投入すると、ＢＯＯＴＬＯＡＤＥＲ３０００７はＳＡＦＥ＿ＫＥＲＮＥＬ３００１１を実行し、ＳＡＦＥ＿ＫＥＲＮＥＬ３００１１はＳＡＦＥシステム記憶領域３００１３に配置されたＳＡＦＥシステムを起動する。
【０１０２】
そして、ＳＡＦＥシステムはコピー処理に必要なプロセスリスト３００１５を参照し、プロセスの呼び出すライブラリ情報とデータ記憶領域３００１４に配置されたパッケージ情報から必要なパッケージを特定する（ステップＳ２０１）。
【０１０３】
次いで、ＳＡＦＥシステムは特定したコピー処理に必要なパッケージのみをＳＴＤシステム記憶領域３００１０に展開し（ステップＳ２０２）、展開が終わったパッケージをデータ記憶領域３００１４から削除する。
【０１０４】
そして、ＳＡＦＥシステムはＳＴＤモードで再起動する（ステップＳ２０３）。このＳＴＤモードで再起動とは、起動時にＢＯＯＴＬＯＡＤＥＲ３０００７がＳＴＤ＿ＫＥＲＮＥＬ３０００８を実行するモードである。
【０１０５】
実行されたＳＴＤ＿ＫＥＲＮＥＬ３０００８はＳＴＤシステム記憶領域３００１０に記憶されたＳＴＤシステムを起動する。ＳＴＤシステムはコピー処理に必要なプロセスリスト３００１６に記載されたプロセスのみを起動する。この時点でコピー処理を開始可能となる。
【０１０６】
次いで、ＳＴＤシステムはデータ記憶領域３００１４に残存した、コピー処理に不要なパッケージを、ＳＴＤシステム記憶領域３００１０へ展開し（ステップＳ２０４）、ＳＡＦＥシステム用のパッケージをＳＡＦＥシステム記憶領域３００１３へ展開する。そして、コピー処理に必要ないプロセスを起動し、本処理を終了する。
【０１０７】
図８の処理により、ユーザが更新処理を行う場合に、コピー処理を優先して使いたい場合はコピー処理までに要する時間を短縮できる。
【０１０８】
以上説明した実施の形態では、メカ調整及びコピー処理を優先させるものであったが、大量のライブラリをプロセスがリンクするソフトウェア構成を想定し、優先プロセスのうち、優先処理に対応する優先ライブラリのみ先行して更新してもよい。
【０１０９】
図９は、図２におけるフラッシュメモリ９９に記憶されるソフトウェア構成を示す図である。図９の場合、優先ライブラリのみ先行して更新させる場合のソフトウェア構成を示している。
【０１１０】
図９において、ＢＯＯＴＬＯＡＤＥＲ５０００７はバイオスＲＯＭ９８によって、ＤＲＡＭ３８に読み込まれたのち実行される。
【０１１１】
ＢＯＯＴＬＯＡＤＥＲ５０００７はＳＴＤ＿ＫＥＲＮＥＬ５０００８とＳＴＤ＿ＩＮＩＴＲＤ５０００９、またはＳＡＦＥ＿ＫＥＲＮＥＬ５００１１とＳＡＦＥ＿ＩＮＩＴＲＤ５００１２をＤＲＡＭ３８に読み込む。
【０１１２】
ＳＴＤ＿ＫＥＲＮＥＬ５０００８とＳＡＦＥ＿ＫＥＲＮＥＬ５００１１のどちらを見込むかは、ＳＲＡＭ４３に記憶された起動モード情報によって切り替えられる。
【０１１３】
ＳＴＤ＿ＫＥＲＮＥＬ５０００８はＳＴＤ＿ＩＮＩＴＲＤ５０００９を初期起動ディスクとして使用したのち、ＳＴＤシステム記憶領域５００１０をマウントし、ＳＴＤシステム記憶領域５００１０に記憶されているＳＴＤシステムを起動する。
【０１１４】
ＳＡＦＥ＿ＫＥＲＮＥＬ５００１１はＳＡＦＥ＿ＩＮＩＴＲＤ５００１２を初期起動ディスクとして使用したのち、ＳＡＦＥシステム記憶領域５００１３をマウントし、ＳＡＦＥシステム記憶領域５００１３に記憶されているＳＡＦＥシステムを起動する。
【０１１５】
データ記憶領域５００１４は更新処理に必要な更新対象のファイルを依存関係情報と共にアーカイブしたものを、複数のパッケージファイルとして保持する領域である。
【０１１６】
ＳＴＤシステム記憶領域５００１０に記憶されているＳＴＤシステムはＳＴＤシステム記憶領域５００１０に記憶されているＳＴＤシステムのうち、システムとして起動済みのプロセスにリンクしていない動的リンクライブラリの更新を行うアップデート機能を有する。
【０１１７】
ＳＴＤシステム記憶領域５００１０に記憶されているＳＴＤシステムはＳＡＦＥシステム記憶領域５００１３に記憶されているＳＡＦＥシステムを更新するアップデート機能を有する。
【０１１８】
ＳＴＤシステム記憶領域５００１０に記憶されたＳＴＤシステムはＳＴＤシステム記憶領域５００１０に記憶されているＳＴＤシステムのうち、メカ調整に必要となるプロセスの一覧をメカ調整に必要なプロセスリスト５００１６として保持する。
【０１１９】
同様にＳＴＤシステム記憶領域５００１０に記憶されたＳＴＤシステムは、メカ調整に必要となるライブラリの一覧をメカ調整に必要なライブラリリスト５００１８として保持する。
【０１２０】
ＳＡＦＥシステム記憶領域５００１３に記憶されたＳＡＦＥシステムはＳＴＤシステム記憶領域５００１０に記憶されたＳＴＤシステムを更新するアップデート機能を有する。
【０１２１】
ＳＡＦＥシステム記憶領域５００１３に記憶されたＳＡＦＥシステムはＳＴＤシステム記憶領域５００１０に記憶されているＳＴＤシステムのうち、メカ調整に必要となるプロセスの一覧をメカ調整に必要なプロセスリスト５００１５として保持する。
【０１２２】
同様にＳＡＦＥシステム記憶領域５００１３に記憶されたＳＡＦＥシステムは、メカ調整に必要となるライブラリの一覧をメカ調整に必要なライブラリリスト５００１７として保持する。
【０１２３】
メカ調整に必要なプロセスリスト５００１５とメカ調整に必要なプロセスリスト５００１６はファイルの実体は異なるが内容は同一である。同様にメカ調整に必要なライブラリリスト５００１７とメカ調整に必要なライブラリリスト５００１８はファイルの実体は異なるが内容は同一である。
【０１２４】
図１０は、図２におけるＣＰＵ３３により実行される更新処理の手順を示すフローチャートである。この更新処理は、画像形成装置１の設置時に実行される。
【０１２５】
図１０において、初期設置時に画像形成装置１の電源を投入すると、ＢＯＯＴＬＯＡＤＥＲ５０００７はＳＡＦＥ＿ＫＥＲＮＥＬ５００１１を実行し、ＳＡＦＥ＿ＫＥＲＮＥＬ５００１１はＳＡＦＥシステム記憶領域５００１３に配置されたＳＡＦＥシステムを起動する。
【０１２６】
次いで、ＳＡＦＥシステムはメカ調整に必要なライブラリリスト５００１７を参照し、データ記憶領域５００１４に配置されたパッケージ情報から必要なパッケージを特定する（ステップＳ３０１）。
【０１２７】
ＳＡＦＥシステムは特定したメカ調整に必要なパッケージのみをＳＴＤシステム記憶領域５００１０に展開し（ステップＳ３０２）、展開が終わったパッケージをデータ記憶領域５００１４から削除する。
【０１２８】
そして、ＳＡＦＥシステムはメカ調整に必要なプロセスの依存ライブラリのうち、ステップＳ３０２で展開されなかったライブラリに対するスタブライブラリを生成しＳＴＤシステム記憶領域５００１０に配置する（ステップＳ３０３）。このステップＳ３０３は、特定されたファームウェアを除くファームウェアのスタブライブラリを生成する生成手段に対応する。
【０１２９】
依存ライブラリの特定のため、ＳＡＦＥシステムはメカ調整に必要なプロセスリスト５００１５を参照し、メカ調整に必要なプロセスを特定する。さらにＳＡＦＥシステムはメカ調整に必要なプロセスに対応するｅｘｅファイルをＳＴＤシステム記憶領域５００１０から特定する。ＳＡＦＥシステムは特定したｅｘｅファイルのＥＬＦヘッダ情報からＮＥＥＤＥＤとして登録されたライブラリを依存ライブラリとして特定する。
【０１３０】
スタブライブラリ生成のため、ＳＡＦＥシステムはＳＯＮＡＭＥとして対応するライブラリ名を有するＥＬＦヘッダを生成し、シンボルを含まないダミーのライブラリファイル情報と連結しファイル化する。
【０１３１】
そして、ＳＡＦＥシステムはＳＴＤモードで再起動する（ステップＳ３０４）。ＢＯＯＴＬＯＡＤＥＲ５０００７はＳＴＤ＿ＫＥＲＮＥＬ５０００８を実行し、ＳＴＤ＿ＫＥＲＮＥＬ５０００８はＳＴＤシステム記憶領域５００１０に記憶されたＳＴＤシステムを起動する。
【０１３２】
ＳＴＤシステムはメカ調整に必要なプロセスリスト５００１６に記載されたプロセスのみを起動する。このとき、ＯＳは生成されたスタブライブラリをリンクする。こうして、この時点でメカ調整が開始可能となる。このように、本実施の形態では、生成されたスタブライブラリをリンクさせて予め定められた機能を実行可能な状態に画像形成装置を制御する。
【０１３３】
ＳＴＤシステムはデータ記憶領域５００１４に残存した、メカ調整に不要なパッケージを、ＳＴＤシステム記憶領域５００１０へ展開し（ステップＳ３０５）、ＳＡＦＥシステム用のパッケージをＳＡＦＥシステム記憶領域５００１３へ展開する。
【０１３４】
次いで、ＳＴＤシステムはメカ調整に必要なプロセスに指示を出し、スタブライブラリに対応する実ライブラリに対してｄｌｏｐｅｎシステムコールを発行することで、メカ調整に不要なライブラリをリンクする（ステップＳ３０６）。
【０１３５】
これにより、ライブラリはスタブライブラリと実ライブラリの両方をリンクしているが、シンボル呼び出しはシンボルを有する実ライブラリとなり、実効上の差し換えが成立する。このように、本実施の形態では、特定されたファームウェアを除くファームウェアが更新されると、スタブライブラリに代えて、スタブライブラリに対応する実ライブラリをリンクさせる。
【０１３６】
この時点でスタブライブラリが参照されることはないため、ＳＴＤシステム記憶領域５００１０からスタブライブラリを削除する。そして、メカ調整に不要なプロセスを起動し、本処理を終了する。
【０１３７】
図１０の処理により、ユーザが更新処理を行う場合に、メカ調整を優先して使いたい場合はメカ調整までに要する時間を短縮できる。
【０１３８】
以上説明したように、本実施の形態では、マルチプロセスモデルと動的リンクライブラリを採用するＯＳで、起動していないプロセスに対応するライブラリ以外をシステム起動時に書き換えることで、段階的なファームウェアの書き込み処理を実施することができる。
【０１３９】
さらに、大量のライブラリを単一のプロセスにリンクするソフトウェア構成では、プロセス内の全てのライブラリが揃わないとＯＳがプロセスを開始できないが、本実施の形態では、スタブライブラリを生成して、必要なライブラリのみを先行して実行可能となっている。
【０１４０】
このように、本実施の形態によれば、ファームウェアの更新とともに予め定められた機能を実行可能となる。その結果、ファームウェア更新時のダウンタイム削減によりサービスコストを削減できる。
【０１４１】
また、本実施の形態では、予め定められた機能としてメカ調整に必要な機能とコピー処理に必要な機能について説明したが、他の機能についても、その機能に必要なプロセスリストを参照し、プロセスの呼び出すライブラリ情報とデータ記憶領域に配置されたパッケージ情報から必要なパッケージを特定することができるので、他の機能にも適用可能である。
【０１４２】
（他の実施の形態）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１４３】
１  画像形成装置
３２  メインコントローラ
３３  ＣＰＵ
３８  ＤＲＡＭ
１１０  コントローラ部
【図１】
2014178741.tif 000003
【図２】
2014178741.tif 000004
【図３】
2014178741.tif 000005
【図４】
2014178741.tif 000006
【図５】
2014178741.tif 000007
【図６】
2014178741.tif 000008
【図７】
2014178741.tif 000009
【図８】
2014178741.tif 000010
【図９】
2014178741.tif 000011
【図１０】
2014178741.tif 000012