(57)【要約】【課題】柔軟な機能性を提供しつつも、その構成を簡素化しコストを削減可能な周辺機器を提供する。【解決手段】上記課題は、制御信号に呼応して所望の機能を実行するように作動する周辺回路と、機能モード要求に呼応して選択されたファームウエアを受信して記憶するように適合したプログラマブル・コントローラとを具備した周辺装置であって、前記コントローラが更に、前記記憶されたファームウエアを実行し、前記実行されたファームウエアに呼応して前記周辺回路を制御する制御信号を生じるように作動可能であることを特徴とする周辺装置により解決される。【選択図】図１
2005238827.tif 000002
【特許請求の範囲】
【請求項１】
制御信号に呼応して所望の機能を実行するように作動する周辺回路と、機能モード要求に呼応して選択されたファームウエアを受信して記憶するように適合したプログラマブル・コントローラとを具備した周辺装置であって、前記コントローラが更に、前記記憶されたファームウエアを実行し、前記実行されたファームウエアに呼応して前記周辺回路を制御する制御信号を生じるように作動可能であることを特徴とする周辺装置。
【請求項２】
前記プログラマブル・コントローラが更に、前記周辺装置へと印加された選択入力に呼応して、前記機能モード要求を生じるように作動可能であることを特徴とする請求項１に記載の周辺装置。
【請求項３】
前記周辺回路が機械部品を備えるものであることを特徴とする請求項２に記載の周辺装置。
【請求項４】
前記機能モード要求が、前記プログラマブル・コントローラの外部で生成されるものであることを特徴とする請求項１から３のいずれかに記載の周辺装置。
【請求項５】
前記周辺装置がプリンタを備え、前記周辺回路がプリントエンジンを備えるものであることを特徴とする請求項１から４のいずれかに記載の周辺装置。
【請求項６】
前記周辺回路が更にスキャナ・サブシステム、コピー機サブシステム、及びファクシミリ・サブシステムを有するものであることを特徴とする請求項５に記載の周辺装置。
【請求項７】
前記プログラマブル・コントローラが、前記ファームウエアの実行前に、前記ファームウエアの完全性チェックを更に実施するように作動可能であることを特徴とする請求項１から６のいずれかに記載の周辺装置。
【請求項８】
前記機能モード要求が前記装置の機能に関するものであり、前記装置の前記機能が前記記憶されたファームウエアに関わるものであり、前記プログラマブル・コントローラが更に、前記周辺装置が前記関わりのある機能を実施すると、前記ファームウエアを消去するように作動可能であることを特徴とする請求項１から７のいずれかに記載の周辺装置。
【請求項９】
前記プログラマブル・コントローラが、印刷又はスキャン・データの画像処理用のディジタル信号プロセッサを備えるものであることを特徴とする請求項１から８のいずれかに記載の周辺装置。
【請求項１０】
ホストコンピュータを備えるコンピュータシステムにおいて周辺装置を作動させる方法であって、前記周辺装置が複数の機能モードにおける作動が可能であり、前期方法が前記周辺装置の機能モードを選択するステップと、前記機能モードの選択に呼応して、前記選択された機能モードに対応するファームウエアを前記装置へと伝送するステップと、前記ファームウエアを前記周辺装置中に記憶するステップと、前記ファームウエアを前記周辺装置中で実行することにより前記周辺装置を前記選択された機能モードで作動させるステップとを有する方法。
【請求項１１】
前記周辺装置の機能モードを選択する前記ステップが、前記ホストコンピュータにおいて前記装置の前記機能モードを選択することを含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記周辺装置の機能モードを選択する前記ステップが、前記機能モードを選択する為の選択入力を前記周辺装置に対して実施することを含むことを特徴とする請求項１０に記載の方法。
【請求項１３】
前記周辺装置がプリンタを備えることを特徴とする請求項１０から１２のいずれかに記載の方法。
【請求項１４】
前記選択されたモードが、前記周辺装置の印刷、スキャン、コピー及びファックスの作動モードのうちの１つに対応するものであることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記周辺装置において前記ファームウエアを実行することにより前記装置を選択されたモードで作動させる前記ステップが、前記装置に含まれるディジタル信号プロセッサにおいて画像処理ファームウエアを実行することを含むことを特徴とする請求項１０から１４のいずれかに記載の方法。
【請求項１６】
並列ディジタル信号プロセッサにより画像処理を実行するステップを更に有する請求項１５に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータシステムは一般に、紙等の印刷媒体上にパターンを描き出す１つ以上のプリンタを含んでおり、システムのユーザーは様々な種類の文書のハードコピーを印刷することが出来るようになっている。パーソナルコンピュータ・システムにおいて人気が高まっているのはマルチモード・プリンタというもので、これは文書の印刷に加え、文書のスキャン、コピー及びファクシミリ送信といった他の機能性も提供している。代表的なマルチモード・プリンタは、プリンタが処理する画像の画像処理を行うコントローラを含んでいるが、このコントローラは更にプリンタに含まれる印刷、スキャン、コピー及びファクシミリ用サブシステムの処理も制御している。コントローラは、プリンタが印刷すべき画像データを受ける為に接続されているホストコンピュータ・システムとも通信を行い、マルチモード・プリンタの様々な動作モードにおける処理を制御する制御入力も受信する。例えばスキャン処理モードにおいては、ホストコンピュータ・システムのユーザーは画像の解像度を設定したり、作られるコピーの色のコントラストを調節したりすることが出来る。
【０００２】
コントローラは、代表的には特定用途向け集積回路（ＡＳＩＣ）から成るが、これはマルチモード・プリンタの全体的な処理を制御する上で、様々な制御と画像形成処理を実施する為に、共に作動する縮小命令セットコンピューティング（ＲＩＳＣ）プロセッサとカスタム画像処理回路とを含んでいる。当業者にはよく知られているように、代表的な画像処理には、入力された画像データのスケーリング及びガンマ変換と共に赤、緑、青（ＲＧＢ）色空間からシアン、マゼンタ、イエロー、ブラック（ＣＹＭＫ）色空間への変換が含まれる。代表的な制御処理としては、対応する画像ファイルの生成と共に、ペーパーフィーダーやプリントヘッドといったプリンタ・サブシステムの機械部品の制御、そして文書スキャン中においてはスキャナ・ヘッドの制御が含まれる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のマルチモード・プリンタは、プリンタのメモリに記憶されたファームウエアとホストコンピュータ・システム上で起動されるドライバソフトウエアにより定義される固定セットの機能を持っている。コントローラＡＳＩＣはそのファームウエアに対応するソフトウエア命令を実行し、これによりファームウエア及びドライバソフトウエアが集合的にプリンタの機能性を定義している。このようなシステムにおいては、プリンタの全体的な機能セットは固定であり、特定のパラメータが選択及び調整されることで様々なプリンタ機能が制御される。このことから、プリンタ中のコントローラにより実行されるファームウエアは、特定の機能が所定の時点において使用されているかどうかにかかわらず、この全体的な機能セットをサポート出来なければならない。この結果、この全体的な機能セットをサポートする為に、ファームエア及びドライバソフトウエアはより複雑化することになる。より複雑なソフトウエア及びファームウエアは更に、より複雑な画像処理回路とより高性能ＲＩＳＣプロセッサを要求するという形で、より複雑なコントローラＡＳＩＣを必要とすることになる。加えて、より複雑なファームウエアは、それを記憶する為のプリンタ中のメモリの所要量をも増大させることになる。より複雑なコントローラとより大容量のメモリ条件は、全てプリンタコストの増大に繋がる。また、このような従来のマルチモード・プリンタにおいては、プリンタコントローラの処理、従ってプリンタがサポートする全体的な機能セットは所定セットに限定されるものである。実際には、所定時点においてはこのファームウエア中の選択された機能に対応するわずかな部分しか実行されない場合でも、これらのファームウエアの機能セットはメモリ中に記憶されていなければならず、コントローラによる実行に供され得る状態でなければならない。上述した説明はマルチモード・プリンタに関するものではあるが、この概念はコンピュータシステムにおける他の周辺機器にも同様に適応するものである。例えば、文書のみを印刷するシングルモードプリンタにおいても、ドラフト印刷、高品質印刷、カラー印刷、白黒印刷といった各種機能モードの全てのファームウエアは、プリンタのコントローラ中に全て記憶されていなければならないのである。
【０００４】
プリンタ又は周辺機器に柔軟な機能性を提供しつつも、その構成を簡素化し、コストを削減する必要があるのである。
【課題を解決するための手段】
【０００５】
本発明の一態様は、周辺装置を複数の機能モードで作動させる為の方法である。装置は、ホストコンピュータを含むコンピュータシステムの一部を構成するものとすることが出来、方法はその装置の機能モードを選択することを含む。機能モードの選択が実施されると、選択された機能モードに対応するファームウエアが装置に伝送される。このファームウエアは装置中に記憶され、選択された機能モードでその装置が作動するように装置内で実行される。この装置とは、複数の機能モードを持つプリンタ又は他の周辺機器である。
【発明を実施するための最良の形態】
【０００６】
図１はプリンタ１０２を含むコンピュータネットワーク１００の機能ブロック図であり、プリンタ１０２は本発明の一実施例に基づいてプリンタの動作を制御する為に選択されたファームウエアを実行するプログラマブル・プリントコントローラ１０４を含んでいる。コンピュータネットワーク１００はプリンタプログラム１０８を実行するホストコンピュータ１０６を含み、プリンタプログラム１０８はプログラマブル・プリントコントローラ１０４と通信して選択されたファームウエアと印刷データをプリンタへと伝送するもので、これはまた、以下に説明するように、ウエブサーバ１１０とも通信することにより、プリンタプログラム１０８へと選択されたファームウエアの更新版を提供し、ホストコンピュータ上にプリントプログラム自体の更新版をインストールするものである。ネットワーク１００においては、プリンタ１０２はプログラマブル・プリントコントローラ１０４により実行されるべき、いずれかの単一機能用のファームウエアを記憶するに十分な大きさのメモリしか必要とせず、従来のプリンタと比較して、全体的なメモリ容量が小さくなっている。これはプリンタの全機能モードのファームウエアを全てプリンタ中に記憶させる必要が無い為である。プログラマブル・プリントコントローラ１０４は更に、コントローラへと伝送されるファームウエアを更新することが出来る為、プリンタ１０２の動的作動を可能としている。これによりプリンタ１０２の処理品質が強化され、プリンタの全体的機能性に新たな機能が付加されることになるのである。
【０００７】
以下の説明においては、本発明に対する十分な理解を得る為に、特定の詳細を本発明に記載する実施例に基づいて説明している。しかしながら、当業者には明らかなように、本発明はこれらの具体的詳細に準じることなく実施することが出来るものである。更に当業者には明らかなように、以下に説明する実施例は本発明の範囲を限定するものではなく、開示する実施例及びこれらの実施例の要素の様々な変更形態、同等形態及び組み合わせは、本発明の範囲に入るものである。説明するそれぞれの実施例のいずれかにおける全ての要素よりも少ない要素を含む実施例もまた、以下に特に明示的に説明はされていなくとも本発明の範囲に入るものである。最後に、周知の要素の作用及び／又はプロセスは、不必要に本発明の明確性を損なうことを避けるために説明しないものとする。
【０００８】
プログラマブル・コントローラ１０４は、ホストコンピュータ１０６上で実行されるプリンタプログラム１０８と通信する制御回路１１２を含んでいる。制御回路１１２は更に、ランダムアクセスメモリ（ＲＡＭ）１１４中に記憶されたファームウエアＦＷの実行と、プリンタ１０２の処理を制御する複数の制御信号の生成も行う。ＲＡＭ１１４中には更に、現在ＲＡＭ中にファームウエアがロードされているかどうかを表す“ＦＷ  Ｌｏａｄｅｄ  Ｆｌａｇ”と共に、回路１１２により実行されているファームウエアのバージョンを示すバージョン標識子“ＦＷ  Ｖｅｒｓｉｏｎ”が記憶されている。ＲＡＭ１１４は更に、制御回路１１２の制御下で画像処理回路１１６が処理する画像データＩＤを含んでいるが、これについては以下により詳細を説明する。
【０００９】
コントローラ１０４は更に、プリンタ１０２の処理制御中に制御回路１１２が実行及び利用する複数のプログラムとパラメータを含む不揮発性メモリ１１８を含んでいる。不揮発性メモリ１１８中に記憶されているのは、回路１１２がホストコンピュータ１０６からファームウエアＦＷをダウンロードし、このファームウエアをＲＡＭ１１４中に格納する為に実行するファームウエア・ダウンロードプログラム“ＦＷ  Ｄｏｗｎｌｏａｄ  Ｐｒｏｇｒａｍ”である。回路１１２はまた、不揮発性メモリ１１８中に記憶された完全性チェックプログラム“ＦＷ  Ｉｎｔｅｇｒｉｔｙ  Ｃｈｅｃｋ”を実行することにより、ＲＡＭ１１４中に記憶されたファームウエアＦＷを実行する前にこれが有効、即ち完全であるかどうかを検証する。不揮発性メモリ１１８はまた、プログラマブル・コントローラ１０４の現在のバージョンを示すデータ“ＰＣ  Ｖｅｒｓｉｏｎ”も記憶している。
【００１０】
制御回路１１２は更に、画像データＩＤに対応する画像を形成する為の機械部品１２２の制御も実施する。例えば、機械部品１２２としては、代表的にはインクを用紙上へと移すプリントヘッドやペーパーフィーダーが含まれ、制御回路は用紙上に画像を印刷している機械部品の処理を制御する為の信号を生成する。プリンタ１０２は更に、プリンタのユーザーが選択する入力を実施してプリンタ処理を制御する為のユーザーインターフェース１２４を含んでいる。例えば、ユーザーインターフェース１２４としては、代表的にはユーザーがプリンタ１０２のオン・オフを行う為のボタン、印刷ジョブを一時停止する為のボタン等が含まれ、更に、プリントコントローラ１０４及び機械部品１２２が印刷、スキャン、コピー又はファクシミリモードといった異なる処理機能モードをサポートしている場合は、ユーザーが望むこれらのプリンタ機能モードを選択する為に機能モード要求を行うことが出来るボタンが含まれる。
【００１１】
ホストコンピュータ１０６は、ホストコンピュータ上で起動するアプリケーションプログラム１２６から印刷すべきデータを受信し、このデータを処理してＰｒｉｎｔ−Ｒｅａｄｙ  Ｄａｔａ（これはメモリ１２８に記憶され、その後プリンタ１０２の制御回路１１２へと送られてＲＡＭ１１４中に格納される）へと変換するプリンタプログラム１０８を含んでいる。加えて、プリンタプログラム１０８は更にメモリ１２８中のデータ及びプログラムをアクセスすることにより、選択入力に呼応して実施される選択ファームウエアＦＷのプリンタ１０２への転送を制御する。選択入力は、ユーザーがユーザーインターフェース１２４を通じて機能モードを選択した場合はプリンタ１０２中の回路１１２から受信されるようになっていても、或いはホストコンピュータ１０６のユーザーによってプリンタプログラム１０８へと実施されるようになっていても良い。メモリ１２８中に格納されるデータには、現在のプリンタプログラム１０８のバージョンを表す“ＰＰ  Ｖｅｒｓｉｏｎ”、プリンタ１０２中のプログラマブル・コントローラ１０４の現在のバージョンを表す“ＰＣ  Ｖｅｒｓｉｏｎ”、及び実行に供する為にプログラマブル・コントローラへと転送することが出来るファームウエアの現在のバージョンを表す“ＦＷ  Ｖｅｒｓｉｏｎ”が含まれる。メモリ１２８中に記憶されたこれらの様々なデータフィールドを利用したプリンタプログラム１０８の処理については、以下に詳細にわたり説明する。プログラマブル・コントローラ１０４へと実行用に転送することが出来る実際のファームウエアＦＷもまた、メモリ１２８中に記憶することが出来、これは複数の別個のファームウエアセグメントＦＷ１〜ＦＷＮから形成されているものとする。以下により詳細を説明するように、プリンタ１０２の選択された機能モードに応じ、これらのファームウエアセグメントＦＷ１〜ＦＷＮのうちの１つ又は複数の対応するもののみがプリンタ１０２中のコントローラ１０４へと伝送され、ＲＡＭ１１４中に格納される。
【００１２】
コンピュータネットワーク１００においては、ウエブサーバ１１０はインターネット等の好適な通信ネットワーク１３０を通じてホストコンピュータ１０６と通信する。サーバ１１０はウエブサイト・ソフトウエア１３２を含み、ウエブサイト・ソフトウエア１３２はホストコンピュータ１０６及びこのウエブサイト・ソフトウエアに対応するウエブサイトと通信する他のコンピュータとのインターフェースを提供する。ウエブサイト・ソフトウエア１３２により、プリンタプログラム１０８は自動的に、或いはホストコンピュータ１０６のユーザーの制御下で、サーバ１１０へのアクセスが可能となり、プリンタプログラム１０８の更新又はプリンタ１０２用のファームウエアＦＷが利用可能かどうかの判断が出来る。このような更新が可能である場合、ウエブサイト・ソフトウエア１３２は更新プログラム１３４をホストコンピュータ１０６へと送る。この更新プログラム１３４はファームウエアＦＷの最新バージョン、プリンタプログラム１０８の最新バージョン（メモリ１３４中にＰＰで示されているもの）と共に、ファームウエア及びプリンタプログラムの最新バージョン及びこれらの最新バージョンが互換性を持つプリンタコントローラ１０４のバージョンを含んでいる。
【００１３】
ここで図１に示したコンピュータネットワーク１００の全体的な処理について、図１及び図２のフローチャートを参照しつつ詳細にわたって説明する。図２は、ホストコンピュータ１０６上で起動するプリンタプログラム１０８及びプリンタ１０２中のプログラマブル・プリントコントローラ１０４により、選択されたファームウエアＦＷをプログラマブル・プリントコントローラへと転送する為に実行される本発明の一実施例に基づく処理を説明するものである。図２の処理を開始する前には、ホストコンピュータ１０６上のアプリケーションプログラム１２６によって印刷するべきデータが、プリンタプログラム１０８に提供されている、及び／又はプリンタ１０２が作動すべき機能モードに対応する機能モード要求が、プリンタプログラム１０８へと供給されているものと想定している。例えば、プリンタ１０２がマルチモード・プリンタであり、スキャン機能やコピー機能を含む場合、アプリケーションプログラム１２６からの機能要求は、プリンタ１０２をスキャン又はコピー機能モードのいずれかへと切り替える為にプリンタプログラム１０８により生成される要求に対応する。以下の説明においては、プリンタ１０２の機能モードは印刷モードであり、アプリケーションプログラム１２６から供給されたデータが印刷されるものであることを想定している。
【００１４】
この機能モードに入ると、処理はステップ２００から始まってステップ２０２へと移行し、プリンタプログラム１０８は受信したデータを、プログラマブル・プリントコントローラ１０４が処理することが出来るプリンタ・レディ形式へとフォーマットする。例えば、プリンタプログラム１０８は印刷すべきデータを、Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄ社が採用しているＰｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ言語（ＰＣＬ）、或いはＡｄｏｂｅ社が採用しているＰｏｓｔｓｃｒｉｐｔ言語等の当業者には周知のページ記述言語（ＰＤＬ）に基づいてフォーマットするのである。
【００１５】
処理はステップ２０６へと進み、プリンタプログラム１０８と回路１１２とが通信することにより、選択されたプリンタ１０２の機能モードに対応するファームウエアセグメントＦＷ１〜ＦＷＮが、既にプログラマブル・プリントコントローラ１０４のＲＡＭ１１４中に記憶されているかどうかが判定される。この判定を行う為には、回路１１２がＲＡＭ１１４中に記憶されたＦＷ  Ｌｏａｄｅｄ  Ｆｌａｇを読み出し、このフラグがセットされていることでＲＡＭ中にファームウエアがロードされていることが示されているのか、或いはリセットされていることでこのファームウエアがロードされていないことが示されているのかを判定する。この判定が否定であった場合、プロセスはステップ２０８へと移り、選択されたプリンタ１０２の機能モードに対応するファームウエアセグメントＦＷ１〜ＦＷＮが処理制御回路１１２へと伝送され、ここでファームウエアがＲＡＭ１１４中に記憶され、ＦＷ  Ｌｏａｄｅｄ  Ｆｌａｇがセットされる。処理はステップ２０６へと戻り、適切なファームウエアセグメントＦＷ１〜ＦＷＮがコントローラ１０４中に記憶されているかどうかの判定が今回は肯定されることになり、そして処理はステップ２１０へと移る。ステップ２０６での判定が最初から肯定であった場合、処理は即座にステップ２１０へと移る。
【００１６】
ステップ２１０においては、ファームウエアセグメントＦＷ１〜ＦＷＮを実行する前に、ＲＡＭ１１４中に記憶されたこのファームウエアセグメントの完全性を検証する為に、回路１１２がＦＷ  Ｉｎｔｅｇｒｉｔｙ  Ｃｈｅｃｋプログラムを実行し、この完全性チェックの結果がソフトウエアプログラム１０８へと示される。処理はステップ２１２へと移り、この完全性チェックが成功しているかどうかが判定される。完全性チェックが成功せず、ＲＡＭ１１４中に記憶されたファームウエアセグメントＦＷ１〜ＦＷＮにエラーがあることが示された場合、処理はステップ２０８へと戻り、このファームウエアセグメントが再度処理制御回路１１２へと伝送される。完全性チェックが成功した場合、処理はステップ２１８へと移る。
【００１７】
するとプリンタプログラム１０８はメモリ１２８中に記憶されているプリント・レディ・データを制御回路１１２の制御下にあるＲＡＭ１１４へと伝送する。このプリント・レディ・データは、画像データＩＤとしてＲＡＭ１１４中に格納され、その後画像処理回路１１６がこのデータを印刷用に処理するものである。当業者には明らかなように、通常、この処理には色空間変換、画像強化、及びデータを印刷する為に必要な他のアルゴリズムの実行が含まれる。一実施例においては、画像処理回路１１６はこのような画像処理を実施する為のディジタル信号プロセッサを含んでいる。ディジタル信号プロセッサの利用により、所定機能（又は機能の組み合わせ）の画像処理ファームウエアＦＷを必要に応じてコントローラ１０４へとダウンロードすることが出来る為、プリンタ１０２の処理とパフォーマンスに柔軟性が生まれる。画像処理回路１１６の他の実施例においては、回路が所要の画像処理を実施する為に並列に作動する複数のディジタル信号プロセッサを含んでいる。プリント・レディ・データの並列処理により、プリンタ１０２の速度が向上する。
【００１８】
ステップ２２０において所望のデータが１枚以上のページに印刷されると、処理はステップ２２２へと移って終了する。一実施例においては、処理がステップ２２０において終了すると、制御回路１１２はプリンタ１０２の他の機能モードの処理が選択されるものと予測してＲＡＭ１１４中に記憶されていたファームウエアセグメントＦＷ１〜ＦＷＮを削除する。
【００１９】
プログラマブル・プリントコントローラ１０４があれば、プリンタ１０２はプログラマブル・プリントコントローラ１０４が現在実行中の特定のファームウエアセグメントＦＷ１〜ＦＷＮを記憶するに十分なだけのメモリを含んでいれば良い。このように、プログラマブル・プリントコントローラ１０４はプリンタ１０２を選択された処理機能モードで作動させる為に、この機能モードに対応するファームウエアセグメントＦＷ１〜ＦＷＮのみをＲＡＭ１１４中に記憶させることを可能とするものである。対照的に、従来のプリンタの場合、プリンタの全ての機能モード用のファームウエアがプリンタのメモリに記憶されており、いずれの時点においてもこのファームウエア中の、選択された処理機能モードに対応する一部分のみが実行される。選択された機能モードに対応するファームウエアセグメントＦＷ１〜ＦＷＮのみをＲＡＭ１１４へと記憶させれば良いことから、プログラマブル・プリントコントローラ１０４は、ＲＡＭ１１４に要求される容量を従来のプリンタよりも小さくするものである。先にも述べたように、プリンタ１０２の処理品質を改善する為、或いはプリンタの全体的な機能性を強化又は付加する為に、コントローラ１１２へと伝送されたファームウエアセグメントＦＷ１〜ＦＷＮを更新することが出来ることから、プログラマブル・プリントコントローラ１０４は更にプリンタ１０２の動的処理を可能とするものである。
【００２０】
図３は、ファームウエアＦＷ及びプリンタプログラムの更新版があるかどうかを判定し、このようなファームウエア及びプリンタプログラムをホストコンピュータ１０６へとダウンロードする為に図２のプリンタプログラム１０８が実行する更新ルーチンを説明したフローチャートである。一般に、この更新ルーチンはたまにしか実行されないものである。例えば午前３時等、ユーザーが就寝中である可能性が高くホストコンピュータ１０６を使用しないであろう時間帯、或いは午後１時等の会社にいる時間帯等といった所定の時間に更新ルーチンが毎日実行されるにようにすることが出来る。更新ルーチンは他の条件で実行されるようになっていても良いことは勿論である。図１〜図３を参照しつつ図３のフローチャートを説明する。更新ルーチンはステップ３００から始まり、ホストコンピュータ１０６がインターネット１３０に接続しているかどうかを判定するステップ３０２へと移行する。コンピュータ１０６がインターネット１３０に接続されていない場合、ウエブサーバ１１０からの更新はダウンロードされず、処理はステップ３０４へと移行し、ステップ３０６で終了する。コンピュータ１０６がインターネット１３０に接続していた場合、ステップ３０３において、プリンタプログラム１０８の自動更新機能が有効であるかどうかが更新ルーチンにより判定される。ホストコンピュータ１０６のユーザーは、プリンタプログラム１０８とファームウエアＦＷの自動更新を望まない場合、自動更新機能を無効化しておくことが出来、この場合、処理はステップ３０４、そしてステップ３０６へと移行して終了する。
【００２１】
自動更新機能が有効化されている場合、処理はステップ３０５へと移行し、プリンタプログラム１０８がファームウエアＦＷとプリンタプログラムの更新版があるかどうかを判定する。この判定においては、プリンタプログラム１０８はプリンタ１０２中のプログラマブル・プリントコントローラ１０４のＰＣ  Ｖｅｒｓｉｏｎを、更新を提供するウエブサーバ１１０上にあるＰＣ  Ｖｅｒｓｉｏｎと比較する。更新版が無かった場合、処理はステップ３０４、そしてステップ３０６へと移行して終了する。プリンタプログラム１０８が、ステップ３０５においてファームウエアＦＷとプリンタプログラムの更新版があると判定した場合、更新ルーチンはステップ３０７へと移行し、更新版ファームウエアのファームウエア・バージョンＦＷ  Ｖｅｒｓｉｏｎがプリントコントローラ１０４のバージョンＰＣ  Ｖｅｒｓｉｏｎ及びソフトウエアプログラムのバージョンＰＰ  Ｖｅｒｓｉｏｎと互換性を持っているかが判定される。ＦＷ  Ｖｅｒｓｉｏｎ、ＰＣ  Ｖｅｒｓｉｏｎ、ＰＰ  Ｖｅｒｓｉｏｎといったバージョンは、全てホストコンピュータ１０６のメモリ１２８中に記憶されており、ソフトウエアプログラム１０８は単にこれらのバージョンを比較するだけで判定を行う。このステップ３０７における判定が否定であった場合、処理はステップ３０４、そしてステップ３０６へと移行して終了する。この場合、ウエブサーバ１１０からの更新版ファームウエアＦＷは何らかの理由でプリンタ１０２中のコントローラ１０４及び他のハードウエアと互換性を持たないものであったということになる。
【００２２】
ステップ３０７における判定によりＦＷ  ＶｅｒｓｉｏｎがＰＰ  Ｖｅｒｓｉｏｎ及びＰＣ  Ｖｅｒｓｉｏｎに互換性を持つことが示された場合、処理はステップ３０８へと移行し、これらのプログラムがウエブサーバ１１０からダウンロードされる。処理はステップ３０８からステップ３１２へと移行し、更新ルーチンはまず、ホストコンピュータ１０６のメモリ１２８へと記憶された新たなファームウエアＦＷの完全性チェックを実施する。ステップ３１４において完全性チェックで不具合が見つかった場合、即ち、ウエブサーバ１１０からダウンロードした更新版ファームウエアＦＷにエラーがあったことが示された場合も、処理はステップ３０４、そしてステップ３０６へと移行して終了する。
【００２３】
ステップ３１４において、新たなファームウエアＦＷが完全性チェックを合格したと判定された場合、即ち、ウエブサーバ１１０からダウンロードした更新版ファームウエアＦＷにエラーがなかったことが示された場合、処理はステップ３１６へと移行し、更新ルーチンは更新版ファームウエアＦＷのコピーをホストコンピュータ１０６のメモリ１２８へと記憶させる。この時点において、更新ルーチンはプリンタプログラム１０８の更新版をホストコンピュータ１０６へとインストールし、このプリンタプログラムの最新版の実行を開始する。この時点で更新版プリンタプログラム１０８はホストコンピュータ１０６上で実行され、処理はステップ３０６へと移行して終了する。
【００２４】
本発明の様々な実施例及び利点を上記に説明してきたが、上述した開示内容は説明目的に限ったものであり、その詳細に変更が加えられたとしても本発明の原理の範囲に入るものである。更に、当業者には明らかなように、図１に示したブロックにより実施される機能は、プリンタ１０２及びコンピュータネットワーク１００において使用する実際の構成要素に応じて、より少ない要素により実施されるように統合化することも、より多くの要素により実施されるように分離することも、或いは異なる機能ブロックへと統合化することも可能である。よって本発明は本願請求項によってのみ限定されるものである。
【００２５】
最後に、本発明の代表的な実施態様を以下に述べる。
（実施態様１）
制御信号に呼応して所望の機能を実行するように作動する周辺回路（１２２、１２４）と、機能モード要求に呼応して選択されたファームウエア（ＦＷ）を受信して記憶するように適合したプログラマブル・コントローラ（１０４）とを具備した周辺装置（１０２）であって、前記コントローラ（１０４）が更に、前記記憶されたファームウエア（ＦＷ）を実行し、前記実行されたファームウエアに呼応して前記周辺回路（１２２、１２４）を制御する制御信号を生じるように作動可能であることを特徴とする周辺装置（１０２）。
【００２６】
（実施態様２）
前記プログラマブル・コントローラ（１０４）が更に、前記周辺装置（１０２）へと印加された選択入力に呼応して、前記機能モード要求を生じるように作動可能であることを特徴とする実施態様１に記載の周辺装置（１０２）。
【００２７】
（実施態様３）
前記周辺回路（１２２、１２４）が機械部品（１２４）を備えるものであることを特徴とする実施態様２に記載の周辺装置（１０２）。
【００２８】
（実施態様４）
前記機能モード要求が、前記プログラマブル・コントローラ（１０４）の外部で生成されるものであることを特徴とする実施態様１から３のいずれかに記載の周辺装置（１０２）。
【００２９】
（実施態様５）
前記周辺装置（１０２）がプリンタを備え、前記周辺回路（１２２、１２４）がプリントエンジン（１２４）を備えるものであることを特徴とする実施態様１から４のいずれかに記載の周辺装置。
【００３０】
（実施態様６）
前記周辺回路（１２２、１２４）が更にスキャナ・サブシステム、コピー機サブシステム、及びファクシミリ・サブシステムを有するものであることを特徴とする実施態様５に記載の周辺装置（１０２）。
【００３１】
（実施態様７）
前記プログラマブル・コントローラ（１０４）が、前記ファームウエア（ＦＷ）の実行前に、前記ファームウエアの完全性チェックを更に実施するように作動可能であることを特徴とする実施態様１から６のいずれかに記載の周辺装置（１０２）。
【００３２】
（実施態様８）
前記機能モード要求が前記装置の機能に関するものであり、前記装置の前記機能が前記記憶されたファームウエア（ＦＷ）に関わるものであり、前記プログラマブル・コントローラ（１０４）が更に、前記周辺装置（１０２）が前記関わりのある機能を実施すると、前記ファームウエア（ＦＷ）を消去するように作動可能であることを特徴とする実施態様１から７のいずれかに記載の周辺装置（１０２）。
【００３３】
（実施態様９）
前記プログラマブル・コントローラ（１０４）が、印刷又はスキャン・データの画像処理用のディジタル信号プロセッサ（１１６）を備えるものであることを特徴とする実施態様１から８のいずれかに記載の周辺装置（１０２）。
【００３４】
（実施態様１０）
ホストコンピュータ（１０６）を備えるコンピュータシステム（１００）において周辺装置（１０２）を作動させる方法であって、前記周辺装置（１０２）が複数の機能モードにおける作動が可能であり、前期方法が前記周辺装置（１０２）の機能モードを選択するステップと、前記機能モードの選択に呼応して、前記選択された機能モードに対応するファームウエア（ＦＷ）を前記装置（１０２）へと伝送するステップと、前記ファームウエア（ＦＷ）を前記周辺装置（１０２）中に記憶するステップと、前記ファームウエア（ＦＷ）を前記周辺装置（１０２）中で実行することにより前記周辺装置（１０２）を前記選択された機能モードで作動させるステップとを有する方法。
【００３５】
（実施態様１１）
前記周辺装置（１０２）の機能モードを選択する前記ステップが、前記ホストコンピュータ（１０６）において前記装置の前記機能モードを選択することを含むことを特徴とする実施態様１０に記載の方法。
【００３６】
（実施態様１２）
前記周辺装置（１０２）の機能モードを選択する前記ステップが、前記機能モードを選択する為の選択入力を前記周辺装置（１０２）に対して実施することを含むことを特徴とする実施態様１０に記載の方法。
【００３７】
（実施態様１３）
前記周辺装置（１０２）がプリンタを備えることを特徴とする実施態様１０から１２のいずれかに記載の方法。
【００３８】
（実施態様１４）
前記選択されたモードが、前記周辺装置（１０２）の印刷、スキャン、コピー及びファックスの作動モードのうちの１つに対応するものであることを特徴とする実施態様１３に記載の方法。
【００３９】
（実施態様１５）
前記周辺装置（１０２）において前記ファームウエア（ＦＷ）を実行することにより前記装置を選択されたモードで作動させる前記ステップが、前記装置に含まれるディジタル信号プロセッサ（１１６）において画像処理ファームウエアを実行することを含むことを特徴とする実施態様１０から１４のいずれかに記載の方法。
【００４０】
（実施態様１６）
並列ディジタル信号プロセッサ（１１６）により画像処理を実行するステップを更に有する実施態様１５に記載の方法。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施例に基づくプログラマブル・プリントコントローラを具備したプリンタを含むコンピュータネットワークの機能ブロック図である。
【図２】図１のコンピュータネットワーク中のホストコンピュータ１０６上で起動するプリンタプログラムとプリンタ中のプログラマブル・プリントコントローラにより、選択されたファームウエアをプログラマブル・プリントコントローラへと伝送する為に実行される、本発明の一実施例に基づく処理を説明するものである。
【図３】ファームウエアとプリンタプログラムの更新版があるかどうかを判定し、このようなファームウエア及びプリンタプログラムをコンピュータへとダウンロードする為に、図２の処理中に実行される更新ルーチンを説明するフローチャートである。
【符号の説明】
【００４２】
１００  コンピュータシステム
１０２  周辺装置
１０４  プログラマブル・コントローラ
１０６  ホストコンピュータ
１１６  ディジタル信号プロセッサ
１２２、１２４  周辺回路
【図１】
2005238827.tif 000003
【図２】
2005238827.tif 000004
【図３】
2005238827.tif 000005