(57)【要約】      （修正有）【課題】ファームウェアコントローラは、特定の画像形成ジョブについてカスタマイズされたファームウェアを作成することで、画像形成装置の処理能力を強化または修正する。【解決手段】ファームウェアコントローラ１０８は、強化または修正を画像形成装置１１６に常駐する処理ステージとホスト装置１１８に保存されている追加処理ステージとを動的に繋げるシーケンスを実行する。ファームウェアコントローラ１０８は、カスタマイズされたファームウェアの実行をシーケンスの各ステージの出力を次ステージに入力することで制御する。データや制御信号の各ステージに対する出入力を行うために、画像形成装置１１６のファームウェア１０６の処理ステージとホスト装置１１８に保存されているファームウェアの追加処理ステージとは、共通に定義されたインタフェイスを使用するので、様々なシーケンスおいて各ステージを組合せることが出来る。【選択図】図２
2006318466.tif 000002
【特許請求の範囲】
【請求項１】
順番に処理される複数の処理ステージにより画像形成ジョブを処理する画像形成装置と、
追加処理ステージを備えるホスト装置と、
上記画像形成装置の上記処理ステージおよび上記ホスト装置の上記追加処理ステージの少なくとも一つからなる処理ステージのシーケンスにより上記画像形成ジョブを処理する制御手段と
を含むことを特徴とする画像形成システム。
【請求項２】
上記制御手段は、
上記追加処理ステージを、上記画像形成装置の上記処理ステージのうちの二つの処理ステージ間に挿入することを特徴とする請求項１に記載の画像形成システム。
【請求項３】
上記制御手段は、
上記順番に処理される複数の処理ステージのうちの少なくとも１つと、上記追加処理ステージとを置換することを特徴とする請求項１に記載の画像形成システム。
【請求項４】
上記画像形成装置の上記順番に処理される複数の処理ステージは、
第１ステージと、最終ステージと、少なくとも１つの中間ステージとを含み、
上記制御手段は、
上記少なくとも１つの中間ステージの１つと、上記追加処理ステージとを置換することを特徴とする請求項１に記載の画像形成システム。
【請求項５】
上記画像形成装置の上記処理ステージおよび上記追加処理ステージのそれぞれは、いずれの上記ステージの出力フォーマットもいずれの上記ステージの入力フォーマットと互換であるように、互換性のある入出力インターフェイスを持つように構成されたことを特徴とする請求項１に記載の画像形成システム。
【請求項６】
上記ホスト装置は、
上記追加処理ステージを複数備え、
上記画像形成システムは、
上記画像形成装置の処理ステージのうち少なくとも１つと、
上記ホスト装置の上記追加処理ステージのうち少なくとも１つと
を組み合わせることにより、
上記制御手段が上記画像形成ジョブの処理に用いる、上記処理ステージのシーケンスを動的に作成する作成手段をさらに含むことを特徴とする請求項１に記載の画像形成システム。
【請求項７】
上記作成手段は、
上記画像形成ジョブに対応づけられた制御データに基づき、上記ステージを組み合わせることを特徴とする請求項６に記載の画像形成システム。
【請求項８】
上記制御データは、
上記画像形成ジョブについての少なくとも１つの処理オプションを識別することを特徴とする請求項７に記載の画像形成システム。
【請求項９】
上記作成手段により作成された上記処理ステージのシーケンスを、次回の画像形成ジョブの処理のためのデフォルト処理として設定する設定手段をさらに含むことを特徴とする請求項６に記載の画像形成システム。
【請求項１０】
複数の処理ステージからなり、画像データを処理する常駐ファームウェアを備える画像形成装置により処理される該画像データを受け取る工程と、
上記常駐ファームウェアとホスト装置からの少なくとも１つの追加ファームウェアステージとを組み合わせることにより、上記画像データを処理するための修正されたファームウェアを作成する工程と、
上記修正されたファームウェアを用いて上記画像データを処理する工程と
を含むことを特徴とする画像データ処理方法。
【請求項１１】
上記修正されたファームウェアは、
上記常駐ファームウェアの上記処理ステージの間に挿入された上記追加ファームウェアステージを含むことと特徴とする請求項１０に記載の画像データ処理方法。
【請求項１２】
上記修正されたファームウェアは、
上記処理ステージの１つを、上記追加ファームウェアステージにより置換して修正された上記常駐ファームウェアを含むことを特徴とする請求項１０に記載の画像データ処理方法。
【請求項１３】
上記画像形成装置の上記処理ステージおよび上記追加処理ステージのそれぞれは、いずれの上記ステージの出力フォーマットもいずれの上記ステージの入力フォーマットと互換であるように、互換性のある入出力インターフェイスを持つように構成されることを特徴とする請求項１０に記載の画像データ処理方法。
【請求項１４】
上記画像データを処理するための少なくとも１つの処理オプションを識別する制御データを受け取る工程をさらに含むことを特徴とする請求項１０に記載の画像データ処理方法。
【請求項１５】
上記修正されたファームウェアは、上記処理オプションを実装することを特徴とする請求項１４に記載の画像処理方法。
【請求項１６】
上記処理オプションは、上記常駐ファームウェアに備えられている１つまたは複数の処理オプションへの追加であることを特徴とする請求項１５に記載の画像処理方法。
【請求項１７】
上記常駐ファームウェアの上記複数の処理ステージは、
第１ステージと最終ステージとを含み、
上記ホスト装置からの上記少なくとも１つのファームウェアステージは、該第１ステージと該最終ステージとの間の上記常駐ファームウェアにより、処理を修正することを特徴とする請求項１０に記載の画像データ処理方法。
【請求項１８】
コンピュータに画像データ処理方法を実行させる命令を含む、コンピュータ読み取り可能な記録媒体であって、
該画像データ処理方法は、
デフォルトのシーケンス内の複数の処理ステージからなり、画像データを処理する常駐ファームウェアを備える画像形成装置により処理される該画像データを受け取る工程と、
上記デフォルトのシーケンスとは異なる、処理ステージの修正されたシーケンスを作成することにより、上記画像データを処理するための修正されたファームウェアを作成する工程と、
上記修正されたファームウェアを用いて上記画像データを処理する工程と
を含むことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１９】
上記作成工程は、ホスト装置からの少なくとも１つの追加ファームウェアステージと上記常駐ファームウェアとを組み合わせる工程を含むことを特徴とする請求項１８に記載のコンピュータ読み取り可能な記録媒体。
【請求項２０】
上記修正されたファームウェアは、
上記常駐ファームウェアの処理ステージの間に挿入された上記追加ファームウェアステージを含むことを特徴とする請求項１９に記載のコンピュータ読み取り可能な記録媒体。
【請求項２１】
上記修正されたファームウェアは、
上記ステージの少なくとも１つを上記追加ファームウェアステージにより置き換えて修正した上記常駐ファームウェアを含むことを特徴とする請求項１９に記載のコンピュータ読み取り可能な記録媒体。
【請求項２２】
上記画像形成装置の上記処理ステージおよび上記追加処理ステージのそれぞれは、いずれの上記ステージの出力フォーマットもいずれの上記ステージの入力フォーマットと互換であるように、互換性のある入出力インターフェイスを持つように構成されたことを特徴とする請求項１９に記載のコンピュータ読み取り可能な記録媒体。
【請求項２３】
上記制御データは、
上記画像形成ジョブを処理するための少なくとも１つの処理オプションを識別することを特徴とする請求項１９に記載のコンピュータ読み取り可能な記録媒体。
【請求項２４】
上記修正されたファームウェアは、
上記処理オプションを実装することを特徴とする請求項２３に記載のコンピュータ読み取り可能な記録媒体。
【請求項２５】
上記処理オプションは、
上記常駐ファームウェアが備える１つまたは複数の処理オプションへの追加であることを特徴とする請求項２４に記載のコンピュータ読み取り可能な記録媒体。
【請求項２６】
上記常駐ファームウェアの上記複数の処理ステージは、
第１ステージと最終ステージとを含み、
上記ホスト装置からの上記少なくとも１つの追加ファームウェアステージは、該第１ステージと該最終ステージの間の上記常駐ファームウェアにより、処理を修正することを特徴とする請求項１９に記載のコンピュータ読み取り可能な記録媒体。
【請求項２７】
上記修正されたシーケンスは、
上記ステージの一つからの出力データを、別の上記ステージの一つへの入力としてフォーマット変換するように構成されたステージを含むことを特徴とする請求項１８に記載のコンピュータ読み取り可能な記録媒体。
【請求項２８】
画像形成装置とホスト装置とが通信可能に接続された画像形成システムにおいて、
該ホスト装置上の更新されたソフトウェアを用いて、
該画像形成装置上で実行される処理の一部を、該ホスト装置上で実行する画像形成システム。
【請求項２９】
上記ホスト装置から上記画像形成装置に送信する画像形成ジョブのデータ中に、
該画像形成ジョブの一部の処理が実行済みであることを示す情報を含めることを特徴とする請求項２８に記載の画像形成システム。
【請求項３０】
上記ホスト装置から上記画像形成装置に送信する画像形成ジョブのデータ中に、
該画像形成ジョブの一部の処理は、上記ホスト装置上において後に実行されることを示す情報を含めることを特徴とする請求項２８に記載の画像形成システム。
【発明の詳細な説明】
【背景技術】
【０００１】
図１は、画像形成ジョブの生成および処理を行うためのシステムの概略ブロック図である。この画像形成ジョブは、どのようなデータの集合を処理するためのジョブを含んでいてもよい。図１に示すように、画像形成ジョブは、画像形成ジョブジェネレータ１０により生成され、画像形成装置２０に出力される。画像形成装置２０は、画像形成装置２０に常駐しているファームウェア２２（ソフトウェアおよび／またはハードウェアの任意の組合せを含んでいてもよい）を用いて画像を処理し、画像形成された出力２４として、処理した画像形成ジョブを出力する。
【０００２】
一般的に、画像形成ジョブの処理を変更するには、常駐ファームウェア２２を変更する必要がある。ファームウェア２２の変更により、ファームウェアのエラー（バグ）の修正、処理の向上、処理への機能追加等を行うことができる。一般に、画像形成装置２０の常駐ファームウェア２２の変更は、ファームウェアを新たなものに置換することで行われる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、画像形成装置２０のファームウェア２２を置き換えるという作業は、一般に、不便である。例えば、あるプリンタの何千というモデルが世界中で使用されており、全てのプリンタのファームウェア２２を置き換えたり、更新しようとすれば、時間、手間、そして、費用の面で、負担が大きい。また、ファームウェアの修正や強化のなかには、特定の画像形成装置にのみ必要なものもある。よって、ファームウェアの置換または更新を行う方法や技術が明らかに必要とされている。
【課題を解決するための手段】
【０００４】
本発明の一実施の形態では、処理ステージのシーケンスを形成するように連結された複数の処理ステージを含むファームウェアにより、画像形成ジョブが処理される。データおよび/または制御信号の各ステージに対する出入力を行うための、共通インターフェイスが使用される。画像形成ジョブの画像データは、該シーケンスの第１番目の処理ステージにより処理され、第１番目の処理ステージの出力は、該シーケンスの第２番目の処理ステージに入力される。第２番目の処理ステージの出力は、第３番目の処理ステージに入力され、第３番目の処理ステージの出力は、第４番目の処理ステージに入力される。シーケンスの全てのステージの処理が終わるまで、このように、前段のステージの出力を後段のステージへの入力に渡す方法が繰り返される。
【０００５】
ファームウェアコントローラは、特定の画像形成ジョブに対してカスタマイズされたファームウェアを作成することにより、画像形成装置の処理能力を強化または修正するように、構成されている。ファームウェアコントローラは、該強化または修正を、画像形成装置に常駐している処理ステージと、ホスト装置に保存されている追加処理ステージとを動的に繋げることで行う。（動的に繋げるとは、例えば、画像形成ジョブが生成された際に、ユーザが処理オプションを選択することにより、通常の処理を行うための処理ステージに追加して、その選択された処理オプションに対応した処理ステージをも一連の処理に含める、という意味である。）そして、ファームウェアコントローラは、該シーケンス中の前ステージの出力を次ステージへ入力することにより、カスタマイズされたファームウェアの実行を制御する。その他の実施の形態においては、ファームウェア管理アプリケーションが、ホスト装置への新たなファームウェアのダウンロードを制御する。
【発明を実施するための最良の形態】
【０００６】
本明細書は、一例として、本発明の実施の形態および応用例を説明する。本発明は、これら一例としての、実施例および応用例、該実施例および応用例の動作または記載に限定されるものではない。
【０００７】
〔第１の実施の形態〕
図２は、一例として挙げる画像形成システム１００の概略ブロック図である。画像形成システム１００では、画像形成ジョブのファームウェア処理を変更することができる。画像形成システム１００において、画像形成ジョブジェネレータ１０２は、画像形成装置１１６によって処理される画像形成ジョブ（出力１０４）を出力する。画像形成ジョブの例として、文書（例えば、ワードプロセッサのフォーマットやページ記述言語フォーマットにて保存された文書）やその他のデジタルデータの印刷、文書の複写、文書やその他の実体物のスキャン、ファックスの受信、ファックスの送信、サーバコンピュータからの文書やその他のデジタルデータの取得、サーバコンピュータへの文書やその他のデジタルデータの送信、電子ホワイトボードからのデータの処理、デジタルカメラからのデータの処理、デジタル投影システムへのデータ出力、医療用画像形成システムからのデータの処理、任意の種類のデジタルメモリ装置に対する書込みと読み出し、等が上げられるが、これらに限定されるものではない。画像形成装置１１６の例として、プリンタ、複写機、スキャナ、ファックス機、文書サーバ、画像サーバ、電子ホワイトボード、デジタルカメラ、デジタル投影機、医療用画像形成装置、デジタルメモリ装置（例えば、磁気または光ディスクドライブ）等があるが、これらに限定されるものではない。画像形成装置１１６は、画像形成ジョブジェネレータ１０２から出力された画像形成ジョブ出力１０４を処理する常駐ファームウェア１０６を備える。
【０００８】
図２の画像形成システム１００は、また、ファームウェアコントローラ１０８（制御手段、作成手段）と、ホスト装置１１８上のファームウェア更新メモリ１１０とを含んでいる。ファームウェアコントローラ１０８は、常駐ファームウェア１０６と、ファームウェア更新メモリ１１０からのファームウェアとを組み合わせて使用し、画像形成ジョブを処理するように構成されている。
【０００９】
画像形成装置１１６の常駐ファームウェア１０６は、複数のステージからなっており、これらのステージは、ファームウェアコントローラ１０８により、順番に実行されるものである。図３に、常駐ファームウェア１０６の一例を示す。図示されている常駐ファームフェア１０６は、四つのステージ（２０２、２０４、２０６、２０８）を有する。しかし、実装する際、ステージの数は、これより少なくてもよいし、多くてもよい。各ステージ２０２、２０４、２０６、２０８は、画像形成ジョブジェネレータ１０２により出力された画像形成ジョブ出力１０４を処理するために、画像形成装置１１６のファームウェアによる処理の一部を実行する。各ステージ２０２、２０４、２０６、２０８に対するデータ（制御信号も含まれてもよい）の出入力を行うためのインターフェイス２１０が定義されている。
【００１０】
ファームウェアコントローラ１０８は、図３に例示する常駐ファームフェア１０６の実行の制御を下記のように行う。すなわち、ファームフェアコントローラ１０８は、画像形成ジョブジェネレータ１０２により出力された画像データ出力１０４を、画像形成ジョブの一部として、第１ステージ２０２に入力する。第１ステージ２０２は、該画像データを処理し、処理結果をファームウェアコントローラ１０８に出力する。ファームウェアコントローラ１０８は、この処理結果を第２ステージ２０４に入力する。第２ステージ２０４は、この入力を処理し、自身の処理結果をファームウェアコントローラ１０８に出力する。ファームフェアコントローラ１０８は、第２ステージ２０４からの処理結果を第３ステージ２０６に入力する。第３ステージ２０６は、この入力を処理する。処理後、第３ステージ２０６は、自身の処理結果をファームウェアコントローラ１０８に出力する。ファームウェアコントローラ１０８は、この処理結果を第４ステージ２０８に入力する。第４ステージ２０８は、この入力を処理し、自身の処理結果をファームウェアコントローラ１０８に出力する。図３に示すシーケンスでは、第４ステージ２０８が最後のステージなので、ファームウェアコントローラ１０８は、第４ステージ２０８の処理結果を画像形成装置１１６の提示用出力１１２として出力する。
【００１１】
インターフェイス２１０は、ファームウェアのステージに対するデータ（制御信号を含んでもよい）の入力および処理済みデータ（制御信号を含んでもよい）の出力に用いる、予め定義されたデータタイプおよびフォーマットを含んでもよい。例えば、定義されたインターフェイス２１０は、Ｃ／Ｃ＋＋プログラミングインターフェイスであってもよい。例えば、各ファームウェアステージは、Ｃ／Ｃ＋＋の関数またはメソッドであってもよいし、インターフェイス２１０は、該関数またはメソッドに対して入力または出力されるデータ（制御信号を含んでもよい）の定義されたセットであってもよい。このような場合、ファームウェアコントローラ１０８は、あるステージからの出力を次のステージに入力しながら、各ステージに対応する関数やメソッドを順番に呼び出すことで、ファームウェアの複数ステージのシーケンスを実行する。あるステージのデータ出力を次のステージの入力として転送する際、該データはあるステージから次のステージに複写されてもよいし、共有メモリ空間に保存されてもよい。あるファームウェアのステージ（図示せず）は、インターフェイス２１０と互換性のあるフォーマットに、データを翻訳するように構成されてもよい。このようなファームウェアのステージは、シーケンス中にある、標準的インターフェイス２１０と非互換である他のステージのためにデータを翻訳する目的で、ファームウェアシーケンスに含まれてもよい。このようにして、インターフェイス２１０と互換性のない入力および/または出力をするステージをファームフェアシーケンスに含めることができる。
【００１２】
ファームウェア更新メモリ１１０は、常駐ファームウェア１０６を構成するファームウェアステージと略同様なファームウェアステージを保存している。つまり、ファームウェア更新メモリ１１０のファームウェアステージは、常駐ファームウェア１０６のファームウェアステージと同じインターフェイス２１０を使用して動作する。つまり、ファームウェア更新メモリ１１０のファームウェアステージを、常駐ファームウェア１０６のファームウェアステージの間へ挿入したり、ファームウェア更新メモリ１１０のファームウェアステージと、常駐ファームウェア１０６のファームウェアステージとを置き換えたりすることができる。このようにして、画像形成ジョブジェネレータ１０２により出力された画像形成ジョブ出力１０４を処理するためのファームウェア処理を変更することができる。
【００１３】
図４に、ファームウェア更新メモリ１１０の一例を示す。図示されているファームウェア更新メモリ１１０は、Ａステージ３０２とＢステージ３０４という二つのファームウェアステージを含む。言うまでもなく、ファームウェア更新メモリ１１０に含まれるステージの数は、この数よりも多くてもよいし、少なくてもよい。ファームウェア更新メモリ１１０上のファームウェアＡステージ３０２とＢステージ３０４は、常駐ファームウェア１０６のファームウェアステージと同じインターフェイス２１０を使用する。よって、ファームウェアコントローラ１０８は、画像形成ジョブジェネレータ１０２により出力された、常駐ファームウェア１０６上のステージとファームウェア更新メモリ１１０上のステージとの任意の組合せを利用する画像形成ジョブ出力１０４を処理するファームウェアシーケンスを作成することができる。なお、図２では、ファームウェア更新メモリ１１０は、ホスト装置１１８に備えられているが、ホスト装置１１８以外の場所に備えられていてもよい。また、１つまたは複数のファームウェアシーケンス（例えば、Ａステージ３０２、Ｂステージ３０４）を、一時的にまたは常駐させるために、ファームウェアコントローラ１０８にダウンロードしてもよい。
【００１４】
図５、図６、および図７において、画像形成ジョブジェネレータ１０２により出力された画像形成ジョブ出力１０４を処理するために、ファームウェアコントローラ１０８により作成されたファームウェアシーケンスの例を示す。なお、本発明は、これらの例に限定されるものではない。図５に示す一例としてのファームウェアシーケンス５００では、常駐ファームウェア内の第２ステージ２０４および第４ステージ２０８は、ファームウェア更新メモリ１１０からのＡステージ３０２およびＢステージ３０４により、それぞれ置換されている。図６に示す一例としてのファームウェアシーケンス６００では、ファームウェア更新メモリ１１０からのＡステージ３０２が、常駐ファームウェア１０６からの第２ステージ２０４と第３ステージ２０６との間に挿入され、ファームウェア更新メモリ１１０からのＢステージ３０４が、常駐ファームウェア１０６からの第３ステージ２０６と第４ステージ２０８との間に挿入されている。図７に示す一例としてのファームウェアシーケンス７００では、常駐ファームウェア１０６上の第２ステージ２０４が、ファームウェア更新メモリ１１０からのＡステージ３０２により置き換えられ、ファームウェア更新メモリ１１０からのＢステージ３０４が、常駐ファームウェア１０６上の第３ステージ２０６と第４ステージ２０８との間に挿入されている。その他、多数の組合せが可能である。例えば、ファームウェアコントローラ１０８は、常駐ファームウェア１０６のステージ（例えば、２０２、２０４、２０６、２０８）が実行される順番の入れ替え、および/または常駐ファームウェア１０６のステージ（例えば、２０２、２０４、２０６、２０８）の削除を行って、ファームウェア更新メモリ１１０からのステージ（例えば、３０２、３０４）を使用せずに、ファームウェアのステージの修正されたシーケンスを作成してもよい。
【００１５】
言うまでもなく、画像形成ジョブジェネレータ１０２により出力された画像形成ジョブ出力１０４を処理するためのファームウェアシーケンスとして、ファームウェアコントローラ１０８は、ファームウェア更新メモリ１１０上の複数のステージを使用して、様々なファームウェアシーケンスを作成することができる。また、常駐ファームウェア１０６への変更をするものであるか（例えば、ファームウェア更新メモリ１１０上のあるステージが常駐ファームウェア１０６上のあるステージを置き換えるものであるかどうか）、または、常駐ファームウェア１０６へ追加される追加処理オプションであるか（例えば、ファームウェア更新メモリ１１０上のあるステージが、常駐ファームウェア１０６上のステージ間に挿入されるものであるかどうか）を、ファームウェア更新メモリ１１０上のステージが示すようにすることもできる。
【００１６】
図８は、図２の画像形成システム１００の動作の一例を示すフローチャートである。ステップ８０２において、画像形成ジョブジェネレータ１０２は、画像形成ジョブを生成する。画像形成ジョブは、少なくとも、画像形成装置１１６により処理される画像データを含む。例えば、画像形成装置１１６がプリンタである場合、画像形成ジョブは、印刷されるデジタルデータを含み、画像形成装置１１６が複写機である場合、画像形成ジョブは、コピー紙に印刷される原稿のスキャンデータを含む。また、もし画像形成装置１１６が、ファックス機である場合、画像形成ジョブは、印刷されるか、もしくは、ユーザのコンピュータに保存される受信データを含んでいてもよい。この場合、画像形成ジョブは、ファックス機から送信される原稿のデータを含んでいてもよい。
【００１７】
ステップ８０３では、制御データが作成される。制御データは、ステップ８０２において生成された画像形成ジョブの処理パラメータを規定する。例えば、画像形成装置１１６がプリンタであり、画像形成ジョブがページ記述言語で保存された文書である場合、処理パラメータは、ページ記述言語をプリンタのプリントエンジンを駆動する信号に翻訳する、一連の処理工程を示すものであってもよい。ステップ８０３において作成される制御データは、また、画像形成ジョブを処理する上で利用される、特定の処理オプションを識別するデータを含んでいてもよい。例えば、制御データが、常駐ファームウェア１０６上のステージとファームウェア更新メモリ１１０上のステージとから作成されるファームウェアシーケンス（例えば図５、図６、および図７に示すファームウェアシーケンス５００、６００、および７００）に対応づけられた処理オプションコードを含むようにしてもよい。また、制御データには、ステップ８０２において生成された画像形成ジョブを処理するために、常駐ファームウェア１０６と共に使用されるか、または常駐ファームウェア１０６の替わりに使用される、ファームウェア更新メモリ１１０からのファームウェアステージの、１つまたは複数のコピーが含まれていてもよい。
【００１８】
制御データは、画像形成ジョブが生成される際に、ユーザにより選択された処理オプションを反映させる形で動的に作成されてもよい。
【００１９】
ステップ８０３において作成される制御データは、画像形成ジョブジェネレータ１０２、ファームウェアコントローラ１０８、その他の装置（図示せず）、またはこれらの組合せにより作成されてもよい。また、制御データの作成は、予め設定された処理オプションまたはパラメータに基づいて、自動的かつ動的にに行われてもよい。例えば、画像形成ジョブジェネレータ１０２がコンピュータであり、画像形成ジョブが、文書を印刷するものである場合、印刷される文書の種類、および／またはその文書に関して予め設定されたオプションまたはパラメータに基づいて、コンピュータにより制御データの作成が自動的かつ動的にに行われてもよい。また、制御データの作成は、ユーザによる選択に応じて行われてもよい。例えば、画像形成ジョブジェネレータ１０２が複写機である場合、該複写機は、ユーザによる複写についての様々なオプションが選択可能となる操作盤を備えていてもよい。この場合、ステップ８０３において作成される制御データは、ユーザによる選択に基づいて作成されてもよい。
【００２０】
ステップ８０４では、ファームウェアコントローラ１０８は、ステップ８０２で生成された画像形成ジョブを処理するためのファームウェアシーケンス（ファームウェアステージのシーケンス）を作成する。図９において、ステップ８０４を実行するための処理手順９００の一例を示す。ステップ９０２では、ファームウェアコントローラ１０８は、ステップ８０２において生成された画像形成ジョブを処理するのに、デフォルトファームウェアシーケンスを使用するかどうかを決定する。デフォルトファームウェアシーケンスを使用する場合、ステップ９１０において、現在のデフォルトファームウェアシーケンスが選択される。
【００２１】
上記のように、ステップ８０３において作成された制御データは、処理指示または処理コードを含んでいてもよい。そのような処理指示または処理コードは、画像形成ジョブの処理に使用されるデフォルトファームウェアシーケンスを示すものであってもよい。あるいは、ステップ９０２において、もし画像形成ジョブのファームウェア処理に関するそのような処理指示または処理コードが無い場合は、デフォルトファームウェアシーケンスを使用するよう指示されたと解釈することもできる。同様に、処理指示や処理コードが認識できないものであるときも、デフォルトファームウェアシーケンスを使用するよう指示されたと解釈することもできる。
【００２２】
上記デフォルトファームウェアシーケンスは、常駐ファームウェア１０６（例えば、図３に示す常駐ファームウェア１０６）上のシーケンスであってもよい。また、上記デフォルトファームウェアシーケンスは、以前にデフォルトファームウェアシーケンスとして設定された、その他のシーケンス（例えば、図５、図６、および図７に示すシーケンス５００、６００、７００の何れか）であってもよい。
【００２３】
ファームウェアコントローラ１０８が、ステップ９０２において、デフォルトファームウェアシーケンスを使用しないと決定すると、処理手順９００は、ステップ９０４に進む。ステップ９０４では、ファームウェアコントローラ１０８は、ステップ８０２において生成された画像形成ジョブを処理するためのファームウェアシーケンスを作成する。先に述べたように、ステップ８０３において作成された制御データは、処理指示または処理コードを含んでいてもよい。ステップ９０４において、そのような指示またはコードに対応するファームウェアシーケンスが、ファームウェアコントローラ１０８により作成されるようにしてもよい。例えば、ファームウェアコントローラ１０８に、デジタル記録スペース（図示せず）を備えて、常駐ファームウェア１０６とファームウェア更新メモリ１１０とから作成することができるファームウェアシーケンスと処理コードとの対応づけを示すテーブルを、該デジタル記録スペースに記録するようにしてもよい。この場合、ファームウェアコントローラ１０８は、該テーブルを使って、制御データに含まれる処理指示または処理コードを、ファームウェアシーケンスへ翻訳する。そして、図３から図７を参照して説明したように、常駐ファームウェア１０６およびファームウェア更新メモリ１１０からのステージを連結させてシーケンスを形成することにより、該ファームウェアシーケンスを作成する。あるいは、処理指示または処理コードにより、以前に作成されたシーケンスを識別し、図８に示すステップ８０２において生成された画像形成ジョブの処理に使用するシーケンスとして、ステップ９０４にて選択してもよい。ステップ８０３において作成された制御データが、上述のとおり、動的に作成される場合には、制御データから作成されるシーケンスも、動的に作成される。
【００２４】
ステップ９０６では、ファームウェアコントローラ１０８は、ステップ９０４にて新たに作成されたシーケンスを、デフォルトファームウェアシーケンスとして設定するかどうかを決定する。新たに作成されたシーケンスをデフォルトファームウェアシーケンスとして設定することを指示する処理指示を、ステップ８０３において生成される制御データに含ませてもよい。この場合、ファームウェアコントローラ１０８は、ステップ９０８において、該新たなシーケンスをデフォルトシーケンスとして設定する（この場合、該新たなシーケンスは、次回の処理手順９００の実行時にステップ９１０において選択されるデフォルトシーケンスとなる）。
【００２５】
再び図８を参照する。ステップ８０６では、ファームウェアコントローラ１０８は、ステップ８０４において作成されたファームウェアシーケンス、すなわち、上述したように、図９のステップ９１０で選択されたデフォルトファームウェアシーケンス、またはステップ９０４において作成されたファームウェアシーケンスを実行することで、ステップ８０２において生成された画像形成ジョブを処理する。図１０は、図８のステップ８０６を実行するための処理手順１０００の一例を示すフローチャートである。
【００２６】
ステップ１００２において、ファームウェアコントローラ１０８は、図８のステップ８０２において生成された画像形成ジョブからの画像データを、図８のステップ８０４において作成されたファームウェアシーケンスの第１番目のステージへ入力する。ステップ１００４において、ファームウェアシーケンスの第１番目のステージが、該入力された画像データを処理する。ステップ１００６において、ファームウェアコントローラ１０８は、第１番目のステージからの出力を受け取る。
【００２７】
ステップ１００８において、ファームウェアコントローラ１０８は、上記ファームウェアシーケンスの全てのステージが実行されたかどうかを判定する。全てのステージが実行済みであれば、図１０の処理手順１０００を終了する。まだ実行されていないステージがあるならば、ファームウェアコントローラ１０８は、ステップ１０１０に進む。ステップ１０１０において、ファームウェアコントローラ１０８は、上記ファームウェアシーケンスの次のステージを「現在の」ステージとして設定する。
【００２８】
ステップ１０１２において、ファームウェアコントローラ１０８は、前ステージからの出力を、図８のステップ８０４にて作成されたファームウェアシーケンスの「現在の」ステージに入力する。ステップ１０１４において、「現在の」ステージが実行される（つまり、現在のステージに入力されたデータが処理される）。ステップ１０１６において、ファームウェアコントローラ１０８は、「現在の」ステージによる処理の結果を「現在の」ステージからの出力として受け取る。そして、図８のステップ８０４にて作成されたファームウェアシーケンスの全てのステージが処理されるまで、ファームウェアコントローラ１０８は、ステップ１００８、１０１０、１０１２、１０１４、および１０１６の処理を繰り返す。
【００２９】
例えば、ファームウェアコントローラ１０８は、図５に一例として示すファームウェアシーケンス５００を次のように実行する。すなわち、ステップ１００２で、ファームウェアコントローラ１０８は、図８のステップ８０２で生成された画像データを第１ステージ２０２に入力する。ステップ１００４で、第１ステージ２０２は、該画像データを処理する。そして、ステップ１００６にて、ファームウェアコントローラ１０８は、第１ステージ２０２からの出力を受け取る。そして、ステップ１００８にて、ファームウェアコントローラ１０８は、第１ステージ２０２がファームウェアシーケンス５００の最後のステージかどうかを判定する。第１ステージ２０２は、ファームウェアシーケンス５００の最後のステージではないので、ファームウェアコントローラ１０８は、ステップ１０１０に進む。ステップ１０１０にて、ファームウェアシーケンス５００のＡステージ３０２が、「現在の」ステージとして設定される。そして、ステップ１０１２において、ファームウェアコントローラ１０８は、（ステップ１００６にてファームウェアコントローラ１０８が受け取った）第１ステージ２０２からの出力をＡステージ３０２へ入力する。ステップ１０１４にて、Ａステージ３０２は、該入力データを処理する。そして、ステップ１０１６にて、ファームウェアコントローラ１０８は、Ａステージ３０２の出力を受け取る。
【００３０】
そして、ファームウェアコントローラ１０８は、ステップ１００８に戻り、Ａステージ３０２がファームウェアシーケンス５００の最後のステージかどうかを判定する。Ａステージ３０２は、ファームウェアシーケンス５００の最後のステージではないので、ファームウェアコントローラ１０８は、ステップ１０１０に進む。ステップ１０１０にて、ファームウェアシーケンス５００の第３ステージ２０６が、「現在の」ステージに設定される。そして、ステップ１０１２にて、ファームウェアコントローラ１０８は、（ステップ１０１６にてファームウェアコントローラ１０８が受け取った）Ａステージ３０２からの出力を第３ステージ２０６に入力する。ステップ１０１４にて、第３ステージ２０６は、該入力データを処理する。そして、ステップ１０１６にて、ファームウェアコントローラ１０８は、第３ステージ２０６からの出力を受け取る。
【００３１】
ファームウェアコントローラ１０８は、再びステップ１００８に戻り、上記第３ステージ２０６が、ファームウェアシーケンス５００の最後のステージかどうかを判定する。第３ステージ２０６は、ファームウェアシーケンス５００の最後のステージではないので、ファームウェアコントローラ１０８は、ステップ１０１０に進む。ステップ１０１０にて、ファームウェアシーケンス５００のＢステージ３０４が、「現在の」ステージとして設定される。そして、ステップ１０１２にて、ファームウェアコントローラ１０８は、（ステップ１０１６にてファームウェアコントローラ１０８が受け取った）第３ステージ２０６からの出力をＢステージ３０４に入力する。そして、ステップ１０１４にて、Ｂステージ３０４は、該入力データを処理する。ステップ１０１６にて、ファームウェアコントローラ１０８は、Ｂステージ３０４の出力を受け取る。
【００３２】
ファームウェアコントローラ１０８は、再び、ステップ１００８に戻り、Ｂステージ３０４がファームウェアシーケンス５００の最後のステージであるかどうかを判定する。Ｂステージ３０４は、ファームウェアシーケンス５００の最後のステージであるので、図１０の処理手順１０００は、終了する。
【００３３】
図８を再び参照する。ステップ８０２にて生成された画像形成ジョブの処理が、ステップ８０４にて作成されたファームウェアシーケンスのステップ８０６において実行された後、ステップ８０８にて、ファームウェアコントローラ１０８は、ファームウェアシーケンスの実行（ステップ８０６）の結果を、画像形成ジョブの提示用出力として出力する。図２、図３、図５、図６、および図７では、参照符号１１２として該出力を示している。ステップ８０６にて図５のファームウェアシーケンス５００を処理するという上記の例では、ステップ８０８において、（図１０のステップ１０１６にてファームウェアコントローラ１０８が受け取った）Ｂステージ３０４の出力が、ステップ８０２で生成された画像形成ジョブの提示用出力として出力される。
【００３４】
図８、図９、および図１０に示す処理は単なる例であり、もちろん、その他の処理も可能である。例えば、図８のステップ８０４でシーケンスを作成し、そのシーケンスをステップ８０６で実行する代わりに、シーケンスの作成工程と実行工程であるステップ８０４と８０６を、事実上(in essence)組合せて、ファームウェアステージのシーケンスの作成と実行が動的に行われるようにすることもできる。例えば、最初のステージが、ステップ８０４にて認識され、次に、ステップ８０６にてそのステージが実行されてもよい。その次に行われるステージはどのステージであるかは、最初のステージの処理に依存する。その後、「次」に実行するステージはどのステージであるかは、先のステージの実行中の処理から決定されてもよいし、該処理に依存して決定されてもよい。
【００３５】
ファームウェア更新メモリ１１０上のファームウェアを追加したり変更したりすることで、図２の画像形成システム１００のファームウェア処理の機能とオプションとを、変更したり、強化したりすることができる。図１１において、ファームウェア更新メモリ１１０のファームウェアを変更するための処理手順１１００の一例を示す。ステップ１１０２では、デジタルメモリ装置（例えば、半導体メモリ装置、磁気メモリ装置、光メモリ装置、等）からなっていてもよいファームウェア更新メモリ１１０に、１つまたは複数のファームウェアステージを追加したり、または、該ファームウェア更新メモリ１１０から１つまたは複数のファームウェアステージを削除したりする。もちろん、既にファームウェア更新メモリ１１０に記録されているステージを、１つまたは複数の新しいバージョンのファームウェアで上書きしてもよい。ステップ１１０４では、ファームウェア更新メモリ１１０のファームウェアステージに対して過去に行われた変更に関する情報を、画像形成システム１００の適切な装置に書き込む。例えば、そのような情報を、画像形成ジョブジェネレータ１０２、ファームウェアコントローラ１０８、画像形成装置１１６のうち、１つまたは複数の装置に、書き込んで保存してもよいし、図示しないその他の装置にそのような情報を書き込んで保存してもよい。ファームウェア更新メモリ１１０上の各ファームウェアステージについて、そのような情報は、該ステージを識別するためのデータ、該ステージの処理機能を識別するためのデータ、該ステージをどのように他のステージと連結しファームウェアシーケンスを作成するかを示すデータ等を含んでいてもよい。ファームウェア更新メモリ１１０に新たに追加されたファームウェアにより新たに利用可能になった処理オプションをユーザに対して表示するメニューや他の表示要素をその情報に含めてもよい。
【００３６】
図２を再び参照する。常駐ファームウェア１０６は、画像形成装置１１６に備えられており、一方、ファームウェア更新メモリ１１０は、画像形成装置１１６とは切り離されたホスト装置１１８に備えられているのが好ましい。画像形成ジョブジェネレータ１０２とファームウェアコントローラ１０８とは、画像形成装置１１６、ホスト装置１１８、または図示しない画像形成装置に備えられていてもよいが、画像形成ジョブジェネレータ１０２とファームウェアコントローラ１０８とを同じ装置に備える必要はない。あるいは、画像形成ジョブジェネレータ１０２とファームウェアコントローラ１０８とを、複数のそのような装置に配布してもよい。ホスト装置１１８は、ファームウェアの更新データを保持するのに適当な装置であれば、どのような装置であってもよい。例えば、ホスト装置１１８は、コンピュータネットワーク上のクライアントコンピュータやサーバコンピュータであってもよいし、その他の画像形成装置や他の装置であってもよい。
【００３７】
図１２、図１３、図１４、および図１５に、ホスト装置１１８がクライアント装置１２０２であるシステムの一例を示す。ここに示すシステムは、上記画像形成システム１００と略同様である。クライアント装置１２０２は、コンピュータネットワーク等である通信リンク１２５０を介して画像形成装置１１６と接続されている。
【００３８】
図１２において、画像形成ジョブジェネレータ１０２は、クライアント装置１２０２に備えられている。クライアント装置１２０２は、例えば、ネットワーク上のクライアントコンピュータであってもよい。例えば、クライアント装置１２０２は、印刷される文書を作成するクライアントコンピュータであってもよく、画像形成装置１１６は、ネットワークプリンタであってもよい。その他、例えば、クライアント装置１２０２は、ネットワークに接続されたファクス機から送信される文書を作成するものであってもよく、画像形成装置１１６は、ネットワークに接続されたファックス機であってもよい。
【００３９】
図１２の画像形成システム１２００は、図８の処理手順８００に従って下記のように動作してもよい。すなわち、図８のステップ８０２が行われる度に、クライアント装置１２０２では、画像形成ジョブジェネレータ１０２は、画像形成ジョブを生成し、ステップ８０３で、画像形成ジョブジェネレータ１０２は、制御データも作成する。画像形成ジョブと制御データは、クライアント装置１２０２から、通信リンク１２５０を介して画像形成装置１１６に送られる。そして、図８（そして図９と図１０）のステップ８０４と８０６について上述したように、画像形成装置１１６のファームウェアコントローラ１０８は、ファームウェアシーケンスを作成し実行する（そしてこれにより画像形成ジョブを処理する）。図１０について上述したように、ステップ８０６でのファームウェアシーケンスの実行において、ファームウェアコントローラ１０８は、ファームウェア更新メモリ１１０からのステージを実行する際、該ステージへの入力を、通信リンク１２５０を介して送信する。そして、該ステージは、クライアント装置１２０２にて実行され、ファームウェアコントローラ１０８は、該ステージからの出力を、通信リンク１２５０を介して受信する。または、通信リンク１２５０を介して画像形成装置１１６へ送られる制御データに、ファームウェア更新メモリ１１０からのファームウェアステージのコピーを含めてもよい。該コピーは、画像形成装置１１６のファームウェアコントローラ１０８により実行される。提示用出力（図８のステップ８０８）は、通信リンク１２５０を介して画像形成装置１１６からクライアント装置１２０２に送信される。
【００４０】
図１３に一例として示す画像形成システム１３００は、図１２とほぼ同様であるが、画像形成システム１３００では、画像形成ジョブジェネレータ１０２は、画像形成装置１１６に備えられている。ここで、画像形成装置１１６は、スキャナまたはファックス機であってもよく、クライアント装置１２０２は、画像形成装置１１６によりスキャンされた文書のデータ、または画像形成装置１１６にファックスで送信されてきたデータを受け取るコンピュータであってもよい。
【００４１】
上述され、また、図１１に示されている処理手順１１００のステップ１１０４に従い、クライアント装置１２０２のファームウェア更新メモリ１１０に記録されたファームウェアステージが、画像形成装置１１６へ登録される。画像形成システム１３００は、図８の処理手順８００に従って次のように動作してもよい。すなわち、図８のステップ８０２と８０３とにおいて、画像形成ジョブジェネレータ１０２は、画像形成ジョブと制御データを生成する。画像形成装置１１６にファームウェア更新メモリ１１０のファームウェアステージが登録済みなので、制御データは、ファームウェア更新メモリ１１０からのファームウェアステージの使用を要求する処理オプションを含んでいてもよい。図８のステップ８０４と８０６とにおいて、ファームウェアコントローラ１０８は、図８、図９、および図１０を参照して上述したように、ファームウェアシーケンスの作成と実行を行う。再び、図１０について上述したように、ステップ８０６でのファームウェアシーケンスの実行において、ファームウェアコントローラ１０８は、ファームウェア更新メモリ１１０からのステージを実行する際、該ステージへの入力を、通信リンク１２５０を介して送信する。そして、該ステージは、クライアント装置１２０２にて実行され、ファームウェアコントローラ１０８は、該ステージからの出力を、通信リンク１２５０を介して受信する。あるいは、ファームウェアステージのコピーがファームウェア更新メモリ１１０から、通信リンク１２５０を介して、画像形成装置１１６にダウンロードされるようにしてもよい。この場合、ダウンロードされたファームウェアステージは、ステップ８０６の一部としてファームウェアコントローラ１０８により実行される。提示用出力（図８のステップ８０８）は、画像形成装置１１６から通信リンク１２５０を介して、クライアント装置１２０２に送られる。
【００４２】
図１４に一例として示す画像形成システム１４００は、図１３の画像形成システム１３００とほぼ同様に構成されているが、画像形成システム１３００では画像形成装置１１６にファームウェアコントローラ１０８が備えられていたが、画像形成システム１４００では、クライアント装置１２０２に備えられている。図１４の画像形成システム１４００では、画像形成ジョブジェネレータ１０２により生成（図８のステップ８０２およびステップ８０３）された画像形成ジョブおよび制御データは、通信リンク１２５０を介して、クライアント装置１２０２に送られる。ここで、ファームウェアコントローラ１０８によるファームウェアシーケンスの作成（図８のステップ８０４）は、ほぼ上記したように行われる。図１０について上述したように、ファームウェアシーケンスの実行（図８のステップ８０６）において、ファームウェアコントローラ１０８は、常駐ファームウェア１０６からのステージを実行する際、該ステージへの入力を、通信リンク１２５０を介して送信する。そして、該ステージは、画像形成装置１１６にて実行され、ファームウェアコントローラ１０８は、該ステージからの出力を、通信リンク１２５０を介して受信する。
【００４３】
図１５に一例として示す画像形成システム１５００は、図１４の画像形成システム１４００とほぼ同様に構成されているが、画像形成システム１５００では、ファームウェアコントローラ１０８は、画像形成装置１１６とクライアント装置１２０２に分散されている。画像形成装置１１６は、ユーザが、画像形成装置１１６において画像形成ジョブを開始するように構成されているウォークアップ装置（walk up device）であってもよい。例えば、画像形成装置１１６は、複写機、または、スキャナであってもよい。処理においては、ユーザにより、図８のステップ８０２での画像形成ジョブの生成が開始される。例えば、ユーザにより、文書が複写機にセットされ、「複写」ボタンが押される。画像形成ジョブは、通信リンク１２５０を介して、クライアント装置１２０２に送られる。クライアント装置１２０２のファームウェアコントローラ１０８Ａは、画像形成ジョブを受け取り、図８のステップ８０３の一部として、ファームウェア更新メモリ１１０上のファームウェアステージに対応する処理オプションのメニューを作成する。また、図８のステップ８０３として、クライアント装置１２０２のファームウェアコントローラ１０８Ａは、該メニューを画像形成装置１１６のファームウェアコントローラ１０８Ｂに送る。画像形成装置１１６にて、該メニューがユーザに対して表示される。そして、画像形成ジョブの制御データは、メニューを介するユーザからの入力に従って、画面形成装置１１６のファームウェアコントローラ１０８Ｂにより作成される。そして、該制御データを使って、図８のステップ８０４にてファームウェアシーケンスが作成され、該ファームウェアシーケンスは、図８のステップ８０６にて実行される。ステップ８０４とステップ８０６とは、ファームウェアコントローラ１０８Ｂにより、画像形成装置１１６にて実行されてもよいし、ファームウェアコントローラ１０８Ａにより、クライアント装置１２０２にて実行されてもよい。
【００４４】
図１６と図１７に、一例として、画像形成システム１６００および１７００を示す。画像形成システム１６００および１７００では、ファームウェア更新メモリ１１０は、サーバ装置１６０４に備えられている。
【００４５】
図１６の画像形成システム１６００では、画像形成ジョブは、クライアント装置１６０２に備えられた画像形成ジョブジェネレータ１０２Ａにより作成されてもよいし、画像形成装置１１６に備えられた画像形成ジョブジェネレータ１０２Ｂにより作成されてもよい。例えば、クライアント装置１６０２は、コンピュータであり、サーバ装置１６０４は、ファックスサーバであり、画像形成装置１１６は、ファックス機である構成でもよい。通信リンク１６０６により、クライアント装置１６０２は、サーバ装置１６０４と接続されている。また、通信リンク１６０８により、サーバ装置１６０４は、画像形成装置１１６と接続されている。
【００４６】
サーバ装置１６０４のファームウェア更新メモリ１１０に保存されたファームウェアステージは、図１１に示され上述された処理手順１１００のステップ１１０４に従って、画像形成装置１１６およびクライアント装置１６０２に登録され、そして、画像形成システム１６００は、図８の処理８００に沿って動作する。
【００４７】
画像形成システム１６００は、ファックスの送信を次のように行う。すなわち、図８のステップ８０２において、画像形成ジョブジェネレータ１０２Ａは、ファックス送信される文書のフォームに基づいた画像形成ジョブを生成する。図８のステップ８０３にて、画像形成ジョブジェネレータ１０２Ａは、該画像形成ジョブの制御データを作成する。ファームウェア更新メモリ１１０上のファームウェアステージが画像形成ジョブジェネレータ１０２Ａに登録されているので、制御データは、ファームウェア更新メモリ１１０に保存されたファームウェアステージにより利用可能になった特別な処理オプションと対応づけされてもよい。画像形成ジョブおよび制御データは、通信リンク１６０６を介して、サーバ装置１６０４に送られ、そして、通信リンク１６０８を介して、画像形成装置１１６に送られる。サーバ装置１６０４が、画像形成ジョブを修正するとしてもよい。つまり、サーバ装置１６０４により、制御データを修正（つまり、変更や追加）して、ファームウェア更新メモリ１１０に保存されたファームウェアステージにより利用可能になる特別な処理オプションを、制御データに含ませてもよい。
【００４８】
図８のステップ８０４と８０６において、ファームウェアコントローラ１０８は、図８、図９、図１０について説明したように、ファームウェアシーケンスを作成して、該ファームウェアシーケンスにより画像形成ジョブを処理する。図１０について上述したように、ステップ８０６でのファームウェアシーケンスの実行において、ファームウェアコントローラ１０８は、ファームウェア更新メモリ１１０からのステージを実行する際、該ステージへの入力を、通信リンク１６０８を介して送信する。そして、該ステージは、サーバ装置１６０４にて実行され、ファームウェアコントローラ１０８は、該ステージからの出力を、通信リンク１６０８を介して受信する。提示用出力（図８のステップ８０８）は、画像形成装置１１６からの、外部に対する文書として送信される。また、ファームウェアコントローラ１０８は、サーバ装置１６０４に備えられていてもよいし、クライアント装置１６０２、サーバ装置１６０４、および／また画像形成装置１１６のうち、一つまたは複数の装置に分散して備えられていてもよい。
【００４９】
画像形成システム１６００は、ファックス受信を次のように行う。すなわち、図８のステップ８０２において、画像形成ジョブジェネレータ１０２Ｂは、受信のフォーマットに基づいた画像形成ジョブを生成する。図８のステップ８０３では、画像形成ジョブジェネレータ１０２Ｂは、該画像形成ジョブについての制御データを作成する。ファームウェア更新メモリ１１０上のファームウェアステージが画像形成ジョブジェネレータ１０２Ｂに登録されているので、制御データは、ファームウェア更新メモリ１１０に保存されたファームウェアステージにより利用可能になった特別な処理オプションと対応づけされてもよい。
【００５０】
図８のステップ８０４および８０６において、ファームウェアコントローラ１０８は、図８、図９、および図１０について上述したように、ファームウェアシーケンスを作成し、該ファームウェアシーケンスにより画像形成ジョブを実行する。図１０について上述したように、ステップ８０６でのファームウェアシーケンスの実行において、ファームウェアコントローラ１０８は、ファームウェア更新メモリ１１０からのステージを実行する際、該ステージへの入力を、通信リンク１６０８を介して送信する。そして、該ステージは、サーバ装置１６０４にて実行され、ファームウェアコントローラ１０８は、該ステージからの出力を、通信リンク１６０８を介して受信する。提示用出力（図８のステップ８０８）は、画像形成装置１１６にてファックス受信として受け取られた文書であり、クライアント装置１６０２により保存、表示、加工が可能なようにフォーマットされている。また、ファームウェアコントローラ１０８は、サーバ装置１６０４に備えられていてもよいし、クライアント装置１６０２、サーバ装置１６０４、および／または画像形成装置１１６のうち１つないし複数の装置に分散して備えられていてもよい。この場合、画像形成ジョブの処理を行う前に、ファームウェアコントローラ１０８は、画像形成ジョブをサーバ装置１６０４に送り、サーバ装置１６０４で該画像形成ジョブの修正（例えば、ファームウェアをファームウェア更新メモリ１１０に保存することで利用可能になった特別な処理オプションに対応する制御データの作成）を行い、修正した画像形成ジョブを画像形成装置１１６に返送して、該画像形成装置１１６のファームウェアコントローラ１０８により該画像形成ジョブを処理する。
【００５１】
図１７に一例として示す画像形成システム１７００は、図１６の画像形成システム１６００とほぼ同様であるが、画像形成システム１７００においては、サーバ装置１６０４は、画像形成ジョブを受け取らない。その代わりに、クライアント装置１６０２の画像形成ジョブジェネレータ１０２Ａにより生成された画像形成ジョブは、通信リンク１７０２を介して直接画像形成装置１１６に送られる。同様に、画像形成装置１１６の画像形成ジョブジェネレータ１０２Ｂにより作成された画像形成ジョブは、通信リンク１７０２を介して直接クライアント装置１６０２に送られる。また、画像形成システム１７００のファームウェアコントローラ１０８は、クライアント装置１６０２に備えられている。図１０において上述したように、ファームウェア更新メモリ１１０上のファームウェアステージは、入力データを通信リンク１６０６を介して通信し、該ファームウェアステージからの出力を同じく通信リンク１６０６を介して通信することにより、サーバ装置１６０４にて実行されてもよい。あるいは、ファームウェア更新メモリ１１０からのファームウェアステージの実行は、通信リンク１６０６を介して、該ステージのコピーをクライアント装置１６０２に送り、該コピーをクライアント装置１６０２にて実行することにより、行われてもよい。ファームウェアステージのダウンロードされたコピーは、その後の画像形成ジョブの処理に使用するために、クライアント装置１６０２に保存されてもよいし、該ダウンロードされたファームウェアステージの使用後に、クライアント装置１６０２から削除されてもよい。また、ファームウェアコントローラ１０８は、画像形成装置１１６に備えられていてもよいし、サーバ装置１６０４、クライアント装置１６０２、および画像形成装置１１６のうち２つ以上の装置に分散して備えられていてもよい。
【００５２】
図１８および図１９に一例として画像形成システム１８００および１９００を示す。画像形成システム１８００および１９００では、ファームウェア更新メモリ１１０は、第２画像形成装置１８０２に備えられている。
【００５３】
図１８の画像形成システム１８００では、画像形成ジョブは、クライアント装置１６０２に備えられている画像形成ジョブジェネレータ１０２Ａにより作成されてもよいし、画像形成装置１１６に備えられている画像形成ジョブジェネレータ１０２Ｂにて作成されてもよい。例えば、図１８の画像形成システムは次のようであってもよい。すなわち、クライアント装置１６０２はコンピュータであり、画像形成装置１１６は、ファックス機であってもよい。通信リンク１８０６は、クライアント装置１６０２を、画像形成装置１１６に接続し、通信リンク１８０４は、画像形成装置１１６を、第２装置１８０２に接続する。図に示すように、ファームウェアコントローラ１０８は、クライアント装置１６０２、画像形成装置１１６、および第２装置１８０２に分散して備えられていてもよい。
【００５４】
図１１に示す、上述された処理手順１１００のステップ１１０４に従い、第２装置１８０２のファームウェアコントローラ１０８Ｃは、ファームウェア更新メモリ１１０に保存されているファームウェアステージを、画像形成装置１１６とクライアント装置１６０２とに登録する。
【００５５】
画像形成システム１８００は、ファックス送信を次のように行ってもよい。図８のステップ８０２において、画像形成ジョブジェネレータ１０２Ａは、ファックス送信される文書のフォームに基づいた画像形成ジョブを生成する。図８のステップ８０３にて、クライアント装置１６０２のファームウェアコントローラ１０８Ａおよび/または画像形成ジョブジェネレータ１０２Ａは、該画像形成ジョブについての制御データを作成する。ファームウェア更新メモリ１１０上のファームウェアステージがクライアント装置１６０２に登録されているので、制御データは、第２装置１８０２のファームウェア更新メモリ１１０に保存されたファームウェアステージにより利用可能になった特別な処理オプションに、対応づけられてもよい。画像形成ジョブおよび制御データは、通信リンク１８０６を介して、画像形成装置１１６に送られる。
【００５６】
図８のステップ８０４およびステップ８０６において、画像形成装置１１６のファームウェアコントローラ１０８Ｂは、図８、図９、および図１０について上述したように、ファームウェアシーケンスを作成し、該ファームウェアシーケンスを用いて画像形成ジョブを処理する。図１０について上述したように、ステップ８０６でのファームウェアシーケンスの実行において、画像形成装置１１６上のファームウェアコントローラ１０８Ｂは、ファームウェア更新メモリ１１０上のステージを実行する際、該ステージへの入力を、通信リンク１８０４を介して送信する。そして、該ステージは、第２装置１８０２にて実行され、ファームウェアコントローラ１０８Ｂは、該ステージからの出力を、通信リンク１８０４を介して受信する。あるいは、ファームウェア更新メモリ１１０からのファームウェアステージのコピーを、画像形成装置１１６にて実行するために、通信リンク１８０４を介して画像形成装置１１６にダウンロードしてもよい。また、図８のステップ８０４にて作成されたシーケンス内にて使用されるファームウェアステージのいくつか、または、全てが、他の装置（図１８に図示せず）に備えられていてもよい。ファームウェアコントローラ１０８Ｃは、該他の装置からこれらのステージをダウンロードするように構成されてもよいし、該他の装置上でこれらのステージを遠隔実行し、これらのステージからの出力を、例えばインターネットや他の通信ネットワークなど（図示せず）の、該他の装置との通信リンクを介して受け取るように構成されてもよい。例えば、図８のステップ８０３で作成された制御データは、このようなファームウェアステージの場所を示す識別子（例えば、インターネットのＵＲＬ）を含んでいてもよい。提示用出力（図８のステップ８０８）は、画像形成装置１１６による文書のファックス送信である。
【００５７】
画像形成システム１８００は、次のようにファックス受信を行ってもよい。図８のステップ８０２にて、画像形成装置１１６の画像形成ジョブジェネレータ１０２Ｂは、受信したフォームに基づいた画像形成ジョブを生成する。図８のステップ８０３にて、画像形成装置１１６の画像形成ジョブジェネレータ１０２Ｂおよび/またはファームウェアコントローラ１０８Ｂは、該画像形成ジョブの制御データを作成する。ファームウェア更新メモリ１１０上のファームウェアステージが、画像形成装置１１６に登録されているので、制御データは、ファームウェア更新メモリ１１０に保存されたファームウェアステージにより利用可能になった特別な処理オプションと対応づけされてもよい。
【００５８】
画像形成装置１１６のファームウェアコントローラ１０８Ｂは、ファームウェアシーケンスを作成し処理して、図８（および図９と図１０）のステップ８０４およびステップ８０６にて上述したように、画像形成ジョブを処理する。ファームウェア更新メモリ１１０に保存された、シーケンス内のファームウェアステージは、上記のように、第２装置１８０２にて処理されてもよいし、また、上記のように、該ファームウェアステージを画像形成装置１１６にダウンロードし、画像形成装置１１６が該ファームウェアステージを実行するようにしてもよい。提示用出力（例えば、標準文書フォーマットにフォーマットされたファックス受信）は、通信リンク１８０６を介して、クライアント装置１６０２に出力される。
【００５９】
図１９の画像形成システム１９００では、画像形成装置１１６は、画像形成ジョブジェネレータ１０２を含む。例えば、画像形成装置１１６は、複写機であってもよい。画像形成システム１９００は、次のように動作するものであってもよい。すなわち、図１１に示され上述された処理手順１１００のステップ１１０４に従い、第２装置１８０２のファームウェアコントローラ１０８Ａは、ファームウェア更新メモリ１１０に保存されたファームウェアステージを画像形成装置１１６に登録する。図８のステップ８０２では、ユーザが文書を複写機におき、「複写」ボタンを押すと、画像形成ジョブが生成される。画像形成システム１５００について上述したように、ユーザにより、ファームウェア更新メモリ１１０に保存されているファームウェアの使用を要する処理オプションが選択されてもよい。ファームウェア更新メモリ１１０のファームウェアに対応する処理オプションは、処理オプションのメニューを使って、ユーザに示されるようにしてもよい。ユーザが処理オプションを選択すると、図８のステップ８０３にて作成された制御データにより、選択された処理オプションが識別される。
【００６０】
そして、画像形成装置１１６のファームウェアコントローラ１０８Ｂは、ファームウェアシーケンスを作成し、図８（および図９と図１０）のステップ８０４およびステップ８０６に対して上述したように、該ファームウェアシーケンスを使用して画像形成ジョブを処理する。ファームウェア更新メモリ１１０に保存されている、シーケンス内のファームウェアステージは、第２装置１８０２により、上記のように、実行されてもよい。または、該ファームウェアステージは、上記のように、画像形成装置１１６にダウンロードされて、画像形成装置１１６により実行されてもよい。提示用出力（例えば、文書のコピーの印刷）は、画像形成装置１１６から出力される。
【００６１】
図２０は、ファームウェアコントローラ１０８の一実施例を示す概略ブロック図である。図示するように、ファームウェアコントローラ１０８は、デジタルメモリ２００２（例えば、半導体系メモリ、磁気系メモリ、光系メモリ、等）に保存されたソフトウェアとして実装され、デジタルプロセッサ２００４にて実行される。あるいは、ファームウェアコントローラ１０８は、複数のデジタルメモリ２００２に保存されたソフトウェアとして実装され、複数のデジタルプロセッサ２００４により実行されてもよい。または、ファームウェアコントローラ１０８は、論理回路（図示せず）として実装されてもよいし、論理回路と、単数または複数のプロセッサ２００４上にて実行されるソフトウェアの組合せとして実装されてもよい。
【００６２】
図２１は、新たに作成された、または新たに利用可能になったファームウェアの更新が、ファームウェア更新サイト２１０２に保存されているシステムの一例を示す図である。ファームウェア更新サイト２１０２は、例えば、ウェブサイトであってもよい。ファームウェア更新管理アプリケーションプログラム２１０４は、ファームウェアステージ（図４のＡステージ３０２やＢステージ３０４等）の形で、更新サイト２１０２からファームウェア更新メモリ１１０にダウンロードされる、ファームウェア更新データのダウンロードを管理する。例えば、ファームウェア更新管理アプリケーション２１０４は、上述した画像形成システム（例えば、１００、１２００、１３００、１４００、１５００、１６００、１７００、１８００、１９００）の任意のシステムに含まれていてもよい。ファームウェア更新管理アプリケーション２１０４は、自動的にファームウェア更新サイト２１０２を定期的にチェックして、新たに利用可能になったファームウェアがあるかどうかチェックするように構成されていてもよい。ファームウェア更新管理アプリケーション２１０４の別の構成、または追加の構成として、ファームウェア更新サイト２１０２からの、新たなファームウェアステージが利用可能になったことを知らせる通知に対応するような構成でもよい。ファームウェア更新管理アプリケーション２１０４は、ファームウェア更新メモリ１１０へ新たなファームウェアステージがダウンロードされると、図１１の処理手順１１００の実行を開始するにように構成されていてもよい。
【００６３】
本明細書において、本発明の実施の形態および応用例を具体的に説明したが、本発明は、これら一例として挙げられた実施の形態および応用例や、該実施の形態および応用例の動作や記載に限定されるものではない。例えば、上記においては、ファームウェア更新メモリ１１０が、１つの装置に備えられている構成を説明したが、ファームウェア更新メモリ１１０は、複数の装置に分散して備えられていてもよい。例えば、ファームウェア更新メモリ１１０は、図１８の画像形成システム１８００におけるクライアント装置１６０２と第２装置１８０２との両方に備えられていてもよい。このように、ファームウェアシーケンス内の非常駐ファームウェアステージは、異なった装置に備えられ、それらの装置上で実行されてもよい。例えば、図５のファームウェアシーケンス５００では、Ａステージ３０２は、クライアント装置１６０２に備えられ、クライアント装置１６０２にて実行され、Ｂステージ３０４は、図１８の第２装置１８０２に備えられ、第２装置１８０２にて実行されてもよい。さらに、上記で説明された実施の形態の変形例として、例えば、ファームウェア更新メモリ１１０からのファームウェアステージは、常駐ファームウェア１０６の動作環境とは異なる動作環境において実行されてもよい。例えば、ファームウェア更新メモリ１１０のファームウェアステージは、画像形成装置１１６にダウンロードされ、Ｊａｖａ（登録商標）仮想マシン内で実行されてもよい。さらに、例えば、図５、図６、および図７に例示されたファームウェアシーケンス５００、６００、および７００では、第１ステージ２０２は、置換されていないが、第１ステージ２０２はファームウェア更新メモリ１１０からのステージ（例えば、３０２、３０４）により置換されてもよい。また、例えば、ホスト装置１１８は、画像形成装置１１６とは独立しているが、画像形成装置１１６に備えられてもよい。例えば、ホスト装置１１８は、ゲストオペレーティングシステム（例えば、Ｊａｖａ）として、画像形成装置１１６上で実行されてもよい。
【００６４】
〔第２の実施の形態〕
次に、第２の実施の形態について説明する。本実施の形態においては、クライアント装置および画像形成装置として、それぞれホストコンピュータおよびデジタル複合機を例に挙げて説明する。
【００６５】
図２７に示すように、本実施の形態の画像形成システムは、ホストコンピュータ３０およびデジタル複合機４０により構成される。ホストコンピュータ３０およびデジタル複合機４０は、ネットワークなどの通信線により相互接続されている。
【００６６】
ホストコンピュータ３０は、プリンタドライバ３１を備えている。デジタル複合機４０は、ファームウェア１０６、ファームウェアコントローラ１０８、およびプリントエンジン４１を備えている。
【００６７】
プリンタドライバ３１において生成された印刷ジョブは、ネットワークを経由して、ファームウェアコントローラ１０８に送信される。受信された印刷ジョブは、ファームウェア１０６上の各ステージにより処理され、プリントエンジン４１により印刷される。
【００６８】
ファームウェア１０６に問題が無いときの処理の流れを、図２３を用いて説明する。図２３において示すように、ホストコンピュータ３０とデジタル複合機４０は、通信線５０を介して接続されている。ファームウェア１０６は、第１ステージ６１から第４ステージ６４までの４個のステージを備えている。
【００６９】
ホストコンピュータ３０において生成された印刷ジョブは、通信線５０を経由してデジタル複合機４０に送信される。デジタル複合機４０の内部では、ファームウェアコントローラ１０８が印刷ジョブを受け取り、ファームウェア１０６内で各ステージを実行する。
【００７０】
ファームウェア１０６内において、第１ステージ６１は、Ｎ−ＵＰ処理を行い、第２ステージ６２は、ラスター化処理を行い、第３ステージ６３は、回転処理を行い、第４ステージ６４は、マージンシフト処理を行う。最後に、プリントエンジン４１にて印刷ジョブが印刷される。
【００７１】
図２４を用いて、デジタル複合機４０内のファームウェア１０６の第１ステージ６１に、例えばバグなどの何らかの不具合が生じた場合の処理を説明する。図２４に示すように、ホストコンピュータ３０上には、Ｎ−ＵＰ処理を行う第１ステージ７１が備えられている。第１ステージ７１以外は、図２３の構成と同一であるので、説明を省略する。
【００７２】
ホストコンピュータ３０上のバージョンアップされたプリンタドライバ３１において、第１ステージ７１によるＮ−ＵＰ処理がなされた印刷ジョブが生成される。この印刷ジョブには、第１ステージ７１における処理が既に処理済みであることが記載されている。
【００７３】
生成された印刷ジョブは、通信線５０を介してデジタル複合機４０に送信され、ファームウェアコントローラ１０８は、受信した印刷ジョブを解析する。
【００７４】
既に第１ステージの処理は実行済みであるので、ファームウェア１０６は、第２ステージのラスター化処理、第３ステージの回転処理、および第４ステージのマージンシフト処理を実行する。そして、最後にプリントエンジン４１により印刷を行う。
【００７５】
次に、図２５を用いて、第３ステージに、例えばバグなどの不具合が生じた場合の処理例について説明する。図２５において、ホストコンピュータ３０は、回転処理を行う第３ステージ７３を備えている。第３ステージ７３以外は、図２３の構成と同一であるので、説明を省略する。
【００７６】
ホストコンピュータ３０上のバージョンアップされたプリンタドライバ３１において、第３ステージ７３による回転処理がなされた印刷ジョブが生成される。この印刷ジョブには、第３ステージ７３が既に処理済みであることが記載されている。
【００７７】
生成された印刷ジョブは、通信線５０を介してデジタル複合機４０に送信され、ファームウェアコントローラ１０８は、受信した印刷ジョブを解析する。
【００７８】
既に第３ステージ７３の処理は実行済みであるので、ファームウェア１０６は、第１ステージ６１のＮ−ＵＰ処理、第２ステージのラスター化処理、第４ステージのマージンシフト処理を実行する。そして、最後にプリントエンジン４１により印刷を行う。
【００７９】
しかしながら、上記の例には、問題点がある。第３ステージ７３の処理は、第１ステージ６１および第２ステージ６２の処理が済んだ後でなければ実行できない場合、または第１ステージ６１および第２ステージ６２の処理の後に実行した方が処理速度が速い場合である。
【００８０】
図２６を用いて、第１ステージ６１および第２ステージ６２の処理の後に、第３ステージ７３を実行する場合について説明する。図２６において、すべての構成は図２５と同一なので、説明を省略する。
【００８１】
ホストコンピュータ３０上のバージョンアップされたプリンタドライバ３１において、第３ステージ７３の回転処理が、まだなされていない印刷ジョブが生成される。この印刷ジョブには、第３ステージ７３は、ホストコンピュータ３０上で後に処理されることが記載されている。
【００８２】
生成された印刷ジョブは、通信線５０を介してデジタル複合機４０に送信され、ファームウェアコントローラ１０８は、受信した印刷ジョブを解析する。ファームウェア１０６は、第１ステージ１のＮ−ＵＰ処理、第２ステージのラスター化処理を行った後、第３ステージ７３の回転処理に関してはホストコンピュータ３０上で行うために、第１ステージ６１および第２ステージ６２の処理が済んだデータを、通信線５０を介してホストコンピュータ３０に送信する。
【００８３】
ホストコンピュータ３０上の第３ステージ７３は、回転処理を実行し、処理済みのデータを、通信線５０を介して、再度デジタル複合機４０に送信する。そして、ファームウェアコントローラ１０８は、第４ステージ６４のマージンシフト処理を実行する。そして、最後にプリントエンジン４１により印刷を行う。
【００８４】
図２７に示すフローチャートを用いて、ファームウェアコントローラ１０８が、印刷ジョブを受信した後の動作手順を説明する。
【００８５】
まず、ファームウェアコントローラ１０８は、シーケンスの最初のステージを、現ステージとして設定する（ステップ１０、以下Ｓ１０と略す）。
【００８６】
次に、ファームウェアコントローラ１０８は、現ステージが実行済みか否かを判定する（Ｓ１１）。
【００８７】
実行済の場合は、Ｓ１９に進む。
【００８８】
実行済ではない場合は、次のＳ１２の処理に進む。
【００８９】
実行済ではない場合、ファームウェアコントローラ１０８は、現ステージをホストコンピュータ３０上で実行するか、デジタル複合機４０上で実行するかを判定する（Ｓ１２）。
【００９０】
デジタル複合機４０上で実行する場合は、Ｓ１３に進む。
【００９１】
ホストコンピュータ３０上で実行する場合は、Ｓ１６に進む。
【００９２】
デジタル複合機４０上で実行する場合、ファームウェアコントローラ１０８は、画像データ（イメージデータ）を、現ステージに入力する（Ｓ１３）。
【００９３】
次に、ファームウェアコントローラ１０８は、現ステージを実行する（Ｓ１４）。
【００９４】
次に、ファームウェアコントローラ１０８は、現ステージの処理結果を出力として受信する（Ｓ１５）。その後、Ｓ１９に進む。
【００９５】
ホストコンピュータ３０上で実行する場合、ファームウェアコントローラ１０８は、画像データを、ホストコンピュータ３０に入力する（Ｓ１６）。
【００９６】
次に、ファームウェアコントローラ１０８は、ホストコンピュータ３０上において、現ステージを遠隔実行する（Ｓ１７）。
【００９７】
次に、ファームウェアコントローラ１０８は、ホストコンピュータ３０からの出力を受信する（Ｓ１８）。その後、Ｓ１９の処理に進む。
【００９８】
Ｓ１１において、現ステージが実行済の場合、デジタル複合機４０における現ステージの処理が終了した場合、またはホストコンピュータ３０における現ステージの処理が終了した場合、ファームウェアコントローラ１０８は、現ステージが、シーケンスの最後のステージであるか否かを判定する（Ｓ１９）。
【００９９】
最後のステージである場合は、処理を終了する。
【０１００】
最後のステージではない場合は、Ｓ２０に進む。
【０１０１】
最後のステージではない場合、ファームウェアコントローラ１０８は、シーケンス内の次のステージを、現ステージとして設定する（Ｓ２０）。そして、Ｓ１１の処理に戻る。
【０１０２】
〔要約〕
ファームウェアコントローラ１０８は、特定の画像形成ジョブについてカスタマイズされたファームウェアを作成することで、画像形成装置１１６の処理能力を強化、または、修正するように構成されている。ファームウェアコントローラ１０８は、該強化または修正を、画像形成装置１１６に常駐している処理ステージと、ホスト装置１１８に保存されている追加処理ステージとを動的に繋げて一連のシーケンスを形成することで行う。そして、ファームウェアコントローラ１０８は、カスタマイズされたファームウェアの実行を、シーケンス内の各ステージの出力を次のステージに入力することにより、制御する。データおよび／または制御信号の各ステージに対する出入力を行うために、画像形成装置１１６に常駐しているファームウェア１０６の処理ステージと、ホスト装置１１８に保存されているファームウェアの追加処理ステージとは、共通に定義されたインターフェイスを使用するので、様々なシーケンスおいて、各ステージを組合せることが出来るようになっている。
【０１０３】
〔補足事項〕
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【図面の簡単な説明】
【０１０４】
【図１】画像形成ジョブの生成および処理を行うための従来のシステムを示す概略ブロック図である。
【図２】本発明の一実施の形態に係る画像形成システムを示す概略ブロック図である。
【図３】図２の画像形成システムの常駐ファームウェアに保存されているファームウェアステージのシーケンスの一例を示す図である。
【図４】図２の画像形成システムのファームウェア更新メモリに保存されているファームウェアステージの一例を示す図である。
【図５】図２の画像形成システムのファームウェアコントローラにより作成されうるファームウェアシーケンスの一例を示す図である。
【図６】図２の画像形成システムのファームウェアコントローラにより作成されうるファームウェアシーケンスの他の一例を示す図である。
【図７】図２の画像形成システムのファームウェアコントローラにより作成されうるファームウェアシーケンスのさらに他の一例を示す図である。
【図８】図２の画像形成システムの動作の一例を示すフローチャートである。
【図９】図８の処理におけるステップ８０４を実行する処理の一例を示すフローチャートである。
【図１０】図８の処理におけるステップ８０６を実行する処理の一例を示すフローチャートである。
【図１１】図２の画像形成システムのファームウェア更新メモリにファームウェアをロードし登録するための処理の一例を示すフローチャートである。
【図１２】ファームウェア更新メモリがクライアント装置に備えられた画像形成システムの一例を示す図である。
【図１３】ファームウェア更新メモリがクライアント装置に備えられた画像形成システムの一例を示す図である。
【図１４】ファームウェア更新メモリがクライアント装置に備えられた画像形成システムの一例を示す図である。
【図１５】ファームウェア更新メモリがクライアント装置に備えられた画像形成システムの一例を示す図である。
【図１６】ファームウェア更新メモリがサーバ装置に備えられた画像形成システムの一例を示す図である。
【図１７】ファームウェア更新メモリがサーバ装置に備えられた画像形成システムの一例を示す図である。
【図１８】画像形成装置と通信可能な装置にファームウェア更新メモリが備えられた画像形成システムの一例を示す図である。
【図１９】画像形成装置と通信可能な装置にファームウェア更新メモリが備えられた画像形成システムの一例を示す図である。
【図２０】図２、および図１２から図１９の画像形成システムのファームウェアコントローラを実装するためのシステムの一例を示す図である。
【図２１】ファームウェアの更新データが、図２、および図１２から図１９の画像形成システムのファームウェア更新メモリ１１０にダウンロードされるシステムの一例を示す図である。
【図２２】本発明の一実施形態に係る、通常処理時の機能ブロック図である。
【図２３】本発明の一実施形態に係る、デジタル複合機の第１ステージに問題がある場合の機能ブロック図である。
【図２４】本発明の一実施形態に係る、デジタル複合機の第３ステージに問題がある場合の機能ブロック図である。
【図２５】本発明の一実施形態に係る、デジタル複合機の第３ステージに問題があり、イメージデータをホストコンピュータに戻す場合の機能ブロック図である。
【図２６】本発明の一実施形態に係る、各ステージ実行のフローチャートである。
【図２７】本発明の一実施形態に係るブロック図である。
【符号の説明】
【０１０５】
１０      画像形成ジョブジェネレータ
２０      画像形成装置
２２      常駐ファームウェア
３０      ホストコンピュータ
３１      プリンタドライバ
４０      デジタル複合機
４１      プリントエンジン
５０      通信線
１０２    画像形成ジョブジェネレータ
１０２Ａ  画像形成ジョブジェネレータ
１０２Ｂ  画像形成ジョブジェネレータ
１０６    常駐ファームウェア
１０８    ファームウェアコントローラ（制御手段、作成手段）
１０８Ａ  ファームウェアコントローラ（制御手段、作成手段）
１０８Ｂ  ファームウェアコントローラ（制御手段、作成手段）
１０８Ｃ  ファームウェアコントローラ（制御手段、作成手段）
１１０    ファームウェア更新メモリ
１１６    画像形成装置
１１８    ホスト装置
２０２    第１ステージ
２０４    第２ステージ
２０６    第３ステージ
２０８    第４ステージ
２１０    インターフェース
３０２    Ａステージ
３０４    Ｂステージ
５００    ファームウェアシーケンス
６００    ファームウェアシーケンス
７００    ファームウェアシーケンス
１２００  画像形成システム
１２０２  クライアント装置
１２５０  通信リンク
１３００  画像形成システム
１４００  画像形成システム
１５００  画像形成システム
１６００  画像形成システム
１６０２  クライアント装置
１６０４  サーバ装置
１６０６  通信リンク
１６０８  通信リンク
１７００  画像形成システム
１７０２  通信リンク
１８００  画像形成システム
１８０２  第２装置
１８０４  通信リンク
１８０６  通信リンク
１９００  画像形成システム
２００２  メモリ
２００４  プロセッサ
２１０２  ファームウェア更新サイト
２１０４  ファームウェア更新管理アプリケーション
【図１】
2006318466.tif 000003
【図２】
2006318466.tif 000004
【図３】
2006318466.tif 000005
【図４】
2006318466.tif 000006
【図５】
2006318466.tif 000007
【図６】
2006318466.tif 000008
【図７】
2006318466.tif 000009
【図８】
2006318466.tif 000010
【図９】
2006318466.tif 000011
【図１０】
2006318466.tif 000012
【図１１】
2006318466.tif 000013
【図１２】
2006318466.tif 000014
【図１３】
2006318466.tif 000015
【図１４】
2006318466.tif 000016
【図１５】
2006318466.tif 000017
【図１６】
2006318466.tif 000018
【図１７】
2006318466.tif 000019
【図１８】
2006318466.tif 000020
【図１９】
2006318466.tif 000021
【図２０】
2006318466.tif 000022
【図２１】
2006318466.tif 000023
【図２２】
2006318466.tif 000024
【図２３】
2006318466.tif 000025
【図２４】
2006318466.tif 000026
【図２５】
2006318466.tif 000027
【図２６】
2006318466.tif 000028
【図２７】
2006318466.tif 000029