(57)【要約】【課題】外部機器と通信して情報処理プログラムを更新するに際して通信処理に用いられる通信処理用情報に不具合が生じたときでも確実に外部機器と通信することができる。【解決手段】プリンタ２０は、ルータ４０との通信に用いられる無線インタフェースドライバ３６や情報処理プログラム３３を更新するプログラム更新モジュール３４を格納した情報処理プログラム３３を更新する前に、無線インタフェースドライバ３６やこれの使用時に必要な設定情報（ＳＳＩＤやＷｅｐキーなど）など通信に必要な最低限の情報を、情報処理プログラム３３とは別領域に記憶された基本更新利用情報３２に格納する。そして、情報処理プログラム３３の更新が中断するなどして情報処理プログラム３３に不具合が生じると、書き換え不能に保護された基本更新モジュール３１がこの基本更新利用情報３２を利用し、ルータ４０との通信を再開させる。【選択図】図１
2008117060.tif 000002
【特許請求の範囲】
【請求項１】
新たな更新に関する更新情報を記憶し該更新情報を出力可能な外部機器と通信処理を行い情報を更新する情報処理装置であって、
情報を送受信可能な送受信手段と、
前記送受信手段による通信処理に用いられる通信処理用情報を格納し前記送受信手段の通信処理を実行可能な情報処理プログラムと、前記情報処理プログラムを更新可能なプログラム更新モジュールと、書き換え不能に保護され前記情報処理装置に記憶された情報を更新可能な基本更新モジュールと、前記情報処理プログラムとは別領域に記憶され前記基本更新モジュールが利用する情報を格納した基本更新利用情報と、を記憶した記憶手段と、
前記情報処理プログラムの更新の指令であるプログラム更新指令を前記送受信手段が受信すると、前記通信処理用情報を前記基本更新利用情報へ格納し、前記プログラム更新モジュールを用いて新たな情報処理プログラムを前記外部機器から前記送受信手段に受信させ、該受信した新たな情報処理プログラムが正常であるか否かを判定し、前記新たな情報処理プログラムが正常でないと判定されたときには前記基本更新モジュールを用い前記基本更新利用情報に格納されている前記通信処理用情報に基づいて前記送受信手段を前記外部機器と通信可能な状態にする制御手段と、
を備えた情報処理装置。
【請求項２】
前記記憶手段は、前記通信処理用情報としての通信ドライバが用いる設定情報を格納した通信管理情報と、前記設定情報を前記通信ドライバに受け渡す前記通信処理用情報としての設定モジュールを含み前記送受信手段の通信処理を実行可能な通信モジュールと前記プログラム変更モジュールとを格納した前記情報処理プログラムと、を記憶し、
前記制御手段は、前記プログラム更新指令を前記送受信手段が受信すると、前記情報処理プログラムに格納されている前記通信処理用情報としての前記通信ドライバ及び前記設定モジュールと前記通信管理情報に格納されている前記設定情報とを基本更新利用情報へ格納し、その後前記新たな情報処理プログラムが正常でないと判定されたときには前記基本更新モジュールを用い前記基本更新利用情報に格納されている前記通信ドライバ、前記設定モジュール及び前記設定情報に基づいて前記送受信手段を前記外部機器と通信可能な状態にする、請求項１に記載の情報処理装置。
【請求項３】
前記記憶手段は、前記送受信手段による通信処理に用いられる通信ドライバと、前記通信ドライバが用いる設定情報を格納した通信管理情報と、前記設定情報を前記通信ドライバに受け渡す前記通信処理用情報としての設定モジュールを含み前記送受信手段の通信処理を実行可能な通信モジュールと前記プログラム変更モジュールとを格納した情報処理プログラムと、を記憶し、
前記制御手段は、前記プログラム更新指令を前記送受信手段が受信すると、前記記憶手段に記憶されている前記設定情報と前記設定モジュールとを前記基本更新利用情報へ格納し、その後前記新たな情報処理プログラムが正常でないと判定されたときには前記基本更新モジュールを用い前記基本更新利用情報に格納されている前記設定情報及び前記設定モジュールと前記記憶手段に記憶された前記通信ドライバとに基づいて前記送受信手段を前記外部機器と通信可能な状態にする、請求項１に記載の情報処理装置。
【請求項４】
前記制御手段は、前記基本更新モジュールを用いて前記基本更新利用情報に格納されている情報に基づいて前記送受信手段を前記外部機器と通信可能な状態にしたあと、前記外部機器との通信が確立し、前記外部機器から新たな情報処理プログラムを前記送受信手段が受信したときには、該受信した新たな情報処理プログラムにより現在の情報処理プログラムを更新する、請求項１〜３に記載の情報処理装置。
【請求項５】
前記送受信手段は、前記外部機器と無線により情報を送受信する、請求項１〜４のいずれかに記載の情報処理装置。
【請求項６】
請求項１〜５のいずれかに記載の情報処理装置であって、
印刷媒体へ画像を印刷処理する印刷処理手段、を備え、
前記記憶手段は、前記印刷処理手段が用いる印刷モジュールを格納した前記情報処理プログラムを記憶する、情報処理装置。
【請求項７】
新たな更新に関する更新情報を記憶し該更新情報を出力可能な外部機器と通信処理を行い情報を更新する、前記通信処理に用いられる通信処理用情報を格納し前記通信処理を実行可能な情報処理プログラムと、前記情報処理プログラムを更新可能なプログラム更新モジュールと、書き換え不能に保護され前記情報処理装置に記憶された情報を更新可能な基本更新モジュールと、前記情報処理プログラムとは別領域に記憶され前記基本更新モジュールが利用する情報を格納した基本更新利用情報と、を記憶した記憶手段、を備えた情報処理装置を利用した情報更新方法であって、
（ａ）前記情報処理プログラムの更新の指令であるプログラム更新指令を受信すると、前記記憶手段に記憶されている前記通信処理用情報を前記基本更新利用情報へ格納するステップと、
（ｂ）前記プログラム更新モジュールを用いて新たな情報処理プログラムを前記外部機器から受信し、該受信した新たな情報処理プログラムが正常であるか否かを判定するステップと、
（ｃ）前記新たな情報処理プログラムが正常でないと判定されたときには前記基本更新モジュールを用い前記基本更新利用情報に格納されている前記通信処理用情報に基づいて前記外部機器と通信可能な状態にするステップと、
を含む情報更新方法。
【請求項８】
請求項７に記載の情報更新方法の各ステップを１以上のコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報更新方法及びそのプログラムに関する。
【背景技術】
【０００２】
従来、情報処理装置としては、ファームウエアとしての正規システムＢＩＯＳと、記憶内容を変更できないよう保護され正規システムを回復する回復用ＢＩＯＳとを記憶した不揮発性のフラッシュメモリを備えたものが提案されている（例えば、特許文献１参照）。この特許文献１に記載された情報処理装置は、正規システムＢＩＯＳの更新時にトラブルがあり正規システムＢＩＯＳに不具合が生じたときなどに、正規システムを回復する機能を限定的に備えた回復用ＢＩＯＳから起動し、プロセッサやフラッシュメモリと接続されたデータ記憶装置から正規システムＢＩＯＳを読み出し、不具合の生じた正規システムＢＩＯＳを更新することによりこれを修復する。この回復用ＢＩＯＳが正規システムＢＩＯＳの回復機能を限定的に備えたものであるため、回復に際して使用するフラッシュメモリの記憶領域を少なく抑えることができる。また、回復用ＢＩＯＳが記憶内容を変更できないよう保護されているため、比較的確実に正規システムＢＩＯＳを回復することができる。
【特許文献１】特開平６−２６６５５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、一般に情報処理装置では、この特許文献１に記載されたように、ファームウエアとしてのシステムＢＩＯＳを更新するのに加え、情報処理装置で使用する他のファームウエア、例えば接続された機器から通信により情報を受信するために用いられる通信ドライバなども更新する場合がある。このような場合、この特許文献１に記載された情報処理装置では、データ記憶装置との間の通信ができない場合については想定されておらず、新たに取得したファームウエア、特に通信処理に関係する情報に不具合が生じてしまうと、その後、データ記憶装置など接続された機器と通信することができないことがあった。また、このような不具合が生じた状態は容易に修復できることが好ましい。また、更新時の不具合に備え、更新対象としてのファームウエアの全てをフラッシュメモリの別領域などに退避することが考えられるが、ファームウエアの更新時に使用する記憶領域が大きくなってしまう問題があった。
【０００４】
本発明は、このような課題に鑑みなされたものであり、外部機器と通信して情報処理プログラムを更新するに際して通信処理に用いられる通信処理用情報に不具合が生じたときでも確実に外部機器と通信することができる情報処理装置、情報更新方法及びそのプログラムを提供することを目的の一つとする。また、外部機器と通信して情報処理プログラムを更新するに際して通信処理に用いられる通信処理用情報に不具合が生じたときでも生じた不具合をより容易に不具合のない状態に回復することができる情報処理装置、情報更新方法及びそのプログラムを提供することを目的の一つとする。また、外部機器と通信して情報処理プログラムを更新するに際して使用する記憶領域をより低減することができる情報処理装置、情報更新方法及びそのプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【０００５】
本発明は、上述の目的の少なくとも一つを達成するために以下の手段を採った。
【０００６】
本発明の情報処理装置は、
新たな更新に関する更新情報を記憶し該更新情報を出力可能な外部機器と通信処理を行い情報を更新する情報処理装置であって、
情報を送受信可能な送受信手段と、
前記送受信手段による通信処理に用いられる通信処理用情報を格納し前記送受信手段の通信処理を実行可能な情報処理プログラムと、前記情報処理プログラムを更新可能なプログラム更新モジュールと、書き換え不能に保護され前記情報処理装置に記憶された情報を更新可能な基本更新モジュールと、前記情報処理プログラムとは別領域に記憶され前記基本更新モジュールが利用する情報を格納した基本更新利用情報と、を記憶した記憶手段と、
前記情報処理プログラムの更新の指令であるプログラム更新指令を前記送受信手段が受信すると、前記通信処理用情報を前記基本更新利用情報へ格納し、前記プログラム更新モジュールを用いて新たな情報処理プログラムを前記外部機器から前記送受信手段に受信させ、該受信した新たな情報処理プログラムが正常であるか否かを判定し、前記新たな情報処理プログラムが正常でないと判定されたときには前記基本更新モジュールを用い前記基本更新利用情報に格納されている前記通信処理用情報に基づいて前記送受信手段を前記外部機器と通信可能な状態にする制御手段と、
を備えたものである。
【０００７】
この情報処理装置では、情報処理プログラムの更新の指令であるプログラム更新指令を受信すると、通信処理に用いられる通信処理用情報を基本更新利用情報へ格納し、プログラム更新モジュールを用いて新たな情報処理プログラムを外部機器から受信し、この受信した新たな情報処理プログラムが正常であるか否かを判定し、新たな情報処理プログラムが正常でないと判定されたときには基本更新モジュールを用い基本更新利用情報に格納された通信処理用情報に基づいて外部機器と通信可能な状態にする。このように、情報処理プログラムを更新する際に更新処理の対象である情報処理プログラムに格納された通信処理用情報に何らかの不具合が生じることがあるが、情報処理プログラムとは別領域に記憶された基本更新利用情報へ通信処理用情報を退避しておくため、プログラム変更モジュールや基本更新モジュールによりあとでこの退避した通信処理用情報を利用可能である。また、基本更新モジュールは、書き換え不能に保護されているため、情報処理プログラムの更新処理で不具合が生じることがない。したがって、外部機器と通信して情報処理プログラムを更新するに際して通信処理に用いられる通信処理用情報に不具合が生じたときでも確実に外部機器と通信することができる。また、通信により外部機器から新たな情報処理プログラムを取得可能であるため、生じた不具合をより容易に不具合のない状態に回復することができる。また、通信処理用情報を基本更新利用情報へ退避するものであるため、更新時の不具合に備え更新対象としての情報処理プログラムを記憶手段の別領域に退避するものに比べて、情報処理プログラムを更新するに際して使用する記憶領域をより低減することができる。ここで、「通信処理用情報」には、送受信手段の制御に用いられる通信ドライバや、この通信ドライバが用いる情報である設定情報や、通信ドライバに設定情報を受け渡す設定モジュールなどが含まれる。
【０００８】
本発明の情報処理装置において、前記記憶手段は、前記通信処理用情報としての通信ドライバが用いる設定情報を格納した通信管理情報と、前記設定情報を前記通信ドライバに受け渡す前記通信処理用情報としての設定モジュールを含み前記送受信手段の通信処理を実行可能な通信モジュールと前記プログラム変更モジュールとを格納した前記情報処理プログラムと、を記憶し、前記制御手段は、前記プログラム更新指令を前記送受信手段が受信すると、前記情報処理プログラムに格納されている前記通信処理用情報としての前記通信ドライバ及び前記設定モジュールと前記通信管理情報に格納されている前記設定情報とを基本更新利用情報へ格納し、その後前記新たな情報処理プログラムが正常でないと判定されたときには前記基本更新モジュールを用い前記基本更新利用情報に格納されている前記通信ドライバ、前記設定モジュール及び前記設定情報に基づいて前記送受信手段を前記外部機器と通信可能な状態にするものとしてもよい。ここで、外部機器の通信ドライバが更新された場合などに、これに合わせて情報処理装置での通信処理用情報としての通信ドライバが更新されると、この通信ドライバに用いられる設定情報の内容が変更されることがある。この場合、書き換え不能に保護された基本更新モジュールが基本更新利用情報へ格納された通信ドライバをそのまま利用できないことがある。情報処理プログラムを更新する際に更新処理の対象である情報処理プログラムに格納された通信ドライバやプログラム変更モジュールに何らかの不具合が生じることがあるが、ここでは、更新された通信ドライバが用いる設定情報と、この設定情報を通信ドライバへ受け渡す通信処理用情報としての設定モジュールとを基本更新利用情報へ格納するため、基本更新モジュールによりあとでこの退避した通信処理用情報を利用可能である。したがって、外部機器と通信する際に用いられる通信ドライバが更新されており外部機器と通信して情報処理プログラムを更新する場合において通信ドライバ又は通信ドライバが用いる情報に不具合が生じていても確実に外部機器と通信することができる。また、外部機器との通信に用いられる通信モジュールのうち、設定モジュールを基本更新利用情報へ格納するため、通信モジュールをそのまま基本更新利用情報へ格納するものに比べて、情報処理プログラムを更新するに際して使用する記憶領域をより低減することができる。
【０００９】
本発明の情報処理装置において、前記記憶手段は、前記送受信手段による通信処理に用いられる通信ドライバと、前記通信ドライバが用いる設定情報を格納した通信管理情報と、前記設定情報を前記通信ドライバに受け渡す前記通信処理用情報としての設定モジュールを含み前記送受信手段の通信処理を実行可能な通信モジュールを格納した情報処理プログラムと、を記憶し、前記制御手段は、前記プログラム更新指令を前記送受信手段が受信すると、前記記憶手段に記憶されている前記設定情報と前記設定モジュールとを前記基本更新利用情報へ格納し、その後前記新たな情報処理プログラムが正常でないと判定されたときには前記基本更新モジュールを用い前記基本更新利用情報に格納されている前記設定情報及び前記設定モジュールと前記記憶手段に記憶された前記通信ドライバとに基づいて前記送受信手段を前記外部機器と通信可能な状態にするものとしてもよい。ここで、情報処理プログラムを更新する際に更新処理対象である情報処理プログラムに格納され設定情報を前記通信ドライバに受け渡す設定モジュールや設定情報を格納した通信管理情報、プログラム変更モジュールに何らかの不具合が生じることがある。また、外部機器の通信ドライバが更新された場合などに、これに合わせて情報処理装置の通信ドライバが更新されるとこの通信ドライバに用いられる設定情報の内容が変更されることがあるが、この場合、情報処理プログラムとは別に記憶された通信ドライバが正常であっても、書き換え不能に保護された基本更新モジュールによりこの通信ドライバをそのまま利用できないことがある。ここでは、更新された通信ドライバが用いる設定情報と、この設定情報を通信ドライバへ受け渡す設定モジュールとを基本更新利用情報へ格納するため、基本更新モジュールによりあとでこの更新されている通信ドライバを利用可能である。したがって、外部機器と通信する際に用いられる通信ドライバが更新されており外部機器と通信して情報処理プログラムを更新する場合において通信ドライバが用いる情報に不具合が生じていても確実に外部機器と通信することができる。また、外部機器との通信に用いられる通信モジュールのうち、設定モジュールを基本更新利用情報へ格納するため、通信モジュールをそのまま基本更新利用情報へ格納するものに比べて、情報処理プログラムを更新するに際して使用する記憶領域をより低減することができる。
【００１０】
なお、設定モジュールを備えた態様を採用した情報処理装置において、前記制御手段は、前記基本更新モジュールを用いて前記基本更新利用情報に格納された情報に基づいて前記送受信手段を前記外部機器と通信可能な状態にするに際して、前記基本更新モジュールを用いて前記設定モジュールにより前記通信ドライバへ前記設定情報を受け渡すことにより前記通信ドライバを駆動して前記送受信手段を前記外部機器と通信可能な状態にするものとしてもよい。
【００１１】
本発明の情報処理装置において、前記制御手段は、前記基本更新モジュールを用いて前記基本更新利用情報に格納されている情報に基づいて前記送受信手段を前記外部機器と通信可能な状態にしたあと、前記外部機器との通信が確立し、前記外部機器から新たな情報処理プログラムを前記送受信手段が受信したときには、該受信した新たな情報処理プログラムにより現在の情報処理プログラムを更新するものとしてもよい。こうすれば、通信を用いずに情報処理プログラムを取得するものに比べて、生じた不具合をより容易に不具合のない状態に回復することができる。
【００１２】
本発明の情報処理装置において、前記送受信手段は、前記外部機器と無線により情報を送受信するものとしてもよい。無線通信の規格は更新されることが多いため、無線を利用する情報処理装置に本発明を適用する意義が高い。特に、通信ドライバが用いる設定情報を記憶する態様の情報処理装置では、更新されることのない基本更新モジュールが、設定情報の内容が変更されても、基本更新利用情報に格納された情報を利用することにより通信ドライバを駆動して外部機器と確実に通信することができる。このとき、上述した「設定情報」には、例えばＳＳＩＤ（Service Set ID）やＷｅｐ（Wired Equivalent Privacy）キーなどが含まれる。
【００１３】
本発明の情報処理装置は、印刷媒体へ画像を印刷処理する印刷処理手段、を備え、前記記憶手段は、前記印刷処理手段が用いる印刷モジュールを格納した前記情報処理プログラムを記憶するものとしてもよい。印刷媒体への画像の印刷は、通信によって画像の情報を送信することが多く、また、印刷モジュールを更新することが多いため、本発明を適用する意義が高い。
【００１４】
本発明の情報更新方法は、
新たな更新に関する更新情報を記憶し該更新情報を出力可能な外部機器と通信処理を行い情報を更新する、前記通信処理に用いられる通信処理用情報を格納し前記通信処理を実行可能な情報処理プログラムと、前記情報処理プログラムを更新可能なプログラム更新モジュールと、書き換え不能に保護され前記情報処理装置に記憶された情報を更新可能な基本更新モジュールと、前記情報処理プログラムとは別領域に記憶され前記基本更新モジュールが利用する情報を格納した基本更新利用情報と、を記憶した記憶手段、を備えた情報処理装置を利用した情報更新方法であって、
（ａ）前記情報処理プログラムの更新の指令であるプログラム更新指令を受信すると、前記記憶手段に記憶されている前記通信処理用情報を前記基本更新利用情報へ格納するステップと、
（ｂ）前記プログラム更新モジュールを用いて新たな情報処理プログラムを前記外部機器から受信し、該受信した新たな情報処理プログラムが正常であるか否かを判定するステップと、
（ｃ）前記新たな情報処理プログラムが正常でないと判定されたときには前記基本更新モジュールを用い前記基本更新利用情報に格納されている前記通信処理用情報に基づいて前記外部機器と通信可能な状態にするステップと、
を含むものである。
【００１５】
この情報更新方法では、情報処理プログラムの更新の指令であるプログラム更新指令を受信すると、通信処理に用いられる通信処理用情報を基本更新利用情報へ格納し、プログラム更新モジュールを用いて新たな情報処理プログラムを外部機器から受信し、この受信した新たな情報処理プログラムが正常であるか否かを判定し、新たな情報処理プログラムが正常でないと判定されたときには基本更新モジュールを用い基本更新利用情報に格納された通信処理用情報に基づいて外部機器と通信可能な状態にする。このように、情報処理プログラムを更新する際に更新処理の対象である情報処理プログラムに格納された通信処理用情報やプログラム更新モジュールに何らかの不具合が生じることがあるが、情報処理プログラムとは別領域に記憶された基本更新利用情報へこの通信処理用情報を退避しておくため、基本更新モジュールによりあとでこの退避した通信処理用情報を利用可能である。また、基本更新モジュールは、書き換え不能に保護されているため、情報処理プログラムの更新処理で不具合が生じることがない。したがって、外部機器と通信して情報処理プログラムを更新するに際して通信処理に用いられる通信処理用情報に不具合が生じたときでも確実に外部機器と通信することができる。また、通信により外部機器から新たな情報処理プログラムを取得可能であるため、生じた不具合をより容易に不具合のない状態に回復することができる。また、通信処理用情報を基本更新利用情報へ退避するものであるため、更新時の不具合に備え更新対象としての情報処理プログラムを記憶手段の別領域に退避するものに比べて、情報処理プログラムを更新するに際して使用する記憶領域をより低減することができる。なお、この情報更新方法において、上述した情報処理装置の種々の態様を採用してもよいし、また、上述した情報処理装置の各機能を実現するようなステップを追加してもよい。
【００１６】
本発明のプログラムは、上述した情報更新方法の各ステップを１又は複数のコンピュータに実現させるためのものである。このプログラムは、コンピュータが読み取り可能な記録媒体（例えばハードディスク、ＲＯＭ、ＦＤ、ＣＤ、ＤＶＤなど）に記録されていてもよいし、伝送媒体（インターネットやＬＡＮなどの通信網）を介してあるコンピュータから別のコンピュータへ配信されてもよいし、その他どのような形で授受されてもよい。このプログラムを一つのコンピュータに実行させるか又は複数のコンピュータに各ステップを分担して実行させれば、上述した情報更新方法の各ステップが実行されるため、この情報更新方法と同様の作用効果が得られる。
【発明を実施するための最良の形態】
【００１７】
次に本発明を具現化した一実施形態について説明する。図１は本発明の一実施形態であるファームウエア更新システム１０の構成の概略を示す構成図であり、図２はプリンタ２０のフラッシュＲＯＭ２３に記憶された情報の説明図である。本実施形態のファームウエア更新システム１０は、画像を記録紙Ｓに印刷するプリンタ２０と、このプリンタ２０と無線ＬＡＮ４３を介して接続されたルータ４０と、このルータ４０とＬＡＮ４２介して接続されたユーザパソコン（ＰＣ）５０と、ルータ４０とインターネット４４を介して接続された情報サーバ６０とによって構成されている。
【００１８】
プリンタ２０は、装置全体の制御を司るコントローラ２１と、記録紙Ｓへ画像を印刷処理する印刷機構２６と、無線ＬＡＮ４３と接続する無線インタフェース（Ｉ／Ｆ）ボード２８と、を備えている。コントローラ２１は、ＣＰＵ２２を中心とするマイクロプロセッサとして構成されており、情報を書き込み消去可能な不揮発性の記憶媒体であり各種処理プログラムを記憶したフラッシュＲＯＭ２３と、一時的にデータを記憶するＲＡＭ２４とを備えている。フラッシュＲＯＭ２３に記憶された情報については後述する。印刷機構２６は、図示しないが、各色のインクに圧力をかけ、この加圧されたインクを記録紙Ｓに吐出して印刷処理を実行するインクジェット方式の機構である。コントローラ２１や印刷機構２６、無線Ｉ／Ｆボード２８は、バス２９によって電気的に接続されている。
【００１９】
フラッシュＲＯＭ２３には、図２に示すように、プリンタ２０の起動時に最初に実行するプログラムをロードするコードであるＩＰＬ（Initial Program Loader）３０や書き換え不能に保護されたマスク領域に記憶されフラッシュＲＯＭ２３に記憶されたすべての情報（例えばＯＳのカーネル部分まで）を更新可能な基本更新モジュール３１、基本更新モジュール３１が利用する情報を格納した基本更新利用情報３２、無線インタフェースドライバ３６などを格納しプリンタ２０の印刷処理や通信処理などを実行するファームウエアである情報処理プログラム３３、通信の設定に関する設定情報３８ａを格納したデータベースである通信管理情報３８などが記憶されている。基本更新モジュール３１は、ＩＰＬ３０に組み込まれたモジュールであり、更新する新たな情報に指定されたメモリブロックへ、この新たな情報を書き込むことによりフラッシュＲＯＭ２３に記憶された情報を更新可能であり、例えば停電などのトラブルが発生し更新した情報に不具合が生じた場合などの非常時に不具合がある情報の再更新を実行するモジュールである。基本更新利用情報３２には、情報処理プログラム３３に含まれている情報のうち無線Ｉ／Ｆボード２８の制御に用いられる最低限の情報、例えば、現在利用中の無線インタフェースドライバ３６が用いる情報である設定情報３８ａから作成されたテキストファイルである設定情報ファイル３２ａや設定情報ファイル３２ａに含まれるパラメータ（例えばＳＳＩＤやＷｅｐキーなど）を無線インタフェースドライバ３６へセットする設定モジュール３２ｂ、無線Ｉ／Ｆボード２８を動作させる無線インタフェースドライバ３２ｃなどが情報処理プログラム３３のバックアップとして格納されている。情報処理プログラム３３には、情報処理プログラム３３に格納された情報を更新するプログラム更新モジュール３４や、通信管理情報３８に格納された情報を解析し無線通信を行う無線通信モジュール３５、無線Ｉ／Ｆボード２８を駆動する無線インタフェースドライバ３６のほか、印刷機構２６の印刷処理に用いられる印刷処理モジュール３７などが格納されている。プログラム更新モジュール３４は、自分自身をも更新可能に構成されており、新たな無線インタフェースドライバへの更新に伴って情報処理プログラム３３の内容を更新することが可能となっている。無線通信モジュール３５は、データベースである通信管理情報３８の内容を解釈可能な図示しない解釈モジュールや、この解釈モジュールで解釈した通信処理に必要なパラメータを無線インタフェースドライバ３６へセットする設定モジュール３５ａなどを含んで構成されている。無線インタフェースドライバ３６は、設定モジュール３５ａからのパラメータがセットされるＩ／Ｏコントローラアプリ３６ａと、Ｉ／Ｏコントローラアプリ３６ａでセットされた情報に基づいて無線Ｉ／Ｆボード２８を制御するＣＤＣ（Communication Device Class）ドライバ３６ｂとを含んで構成されている。この情報処理プログラム３３は、更新時などに不具合が生じてしまうと、格納されたプログラム更新モジュール３４や、無線通信モジュール３５、無線インタフェースドライバ３６などが正常に動作できなくなってしまう。通信管理情報３８は、例えば、無線インタフェースドライバ３６が通信処理を行うに際して必要な情報（例えばＳＳＩＤやＷｅｐキー、無線通信の接続情報、ＬＰＲ（Line PRinter daemon protocol）のタイムアウト情報）などを含む設定情報３８ａが格納されたデータベースである。設定情報３８ａに含まれる内容は、初期値はＲｅｖ１であったものが、例えばルータ４０が買い替えられるなどして無線インタフェースドライバが新しいものに更新されたときにこれに合わせてＲｅｖ２，３，４と更新される。このため、書き換え不能に保護された基本更新モジュール３１は、初期値であるＲｅｖ１を解釈することはできるが、このように、無線インタフェースドライバ３６が更新されると共に通信管理情報３８の内容が更新されていくと、新たな設定値などが追加されることにより設定情報３８ａの内容を解釈できなくなり、無線インタフェースドライバ３６をそのままでは利用できなくなる。
【００２０】
ルータ４０は、図１に示すように、プリンタ２０やユーザＰＣ５０，情報サーバ６０などのクライアントから送信されたデータを通信経路が記述されたルーティングテーブルに従って、指定された送信先へルーティングするものである。
【００２１】
ユーザＰＣ５０は、ユーザが使用する周知の汎用パソコンであり、各種制御を実行するＣＰＵ５２と、各種制御プログラムを記憶するＲＯＭ５３と、データを一時記憶するＲＡＭ５４と、各種アプリケーションプログラムや各種データファイルを記憶する大容量メモリであるＨＤＤ５５と、ＬＡＮ４２に接続された機器との間で信号の送受信が可能なＩ／Ｆ５６とを備えている。このユーザＰＣ５０は、インストールされたプログラムによりプリンタ２０に記憶された情報の更新を実行させたり、プリンタ２０に印刷データを送信してこの印刷データの印刷処理を実行させたり、情報サーバ６０にアクセスしてプリンタ２０の更新に関する情報などを取得したりする。このユーザＰＣ５０は、各種情報を画面表示するディスプレイ５７や、ユーザが各種指令を入力するキーボード等の入力装置５８などを備え、ディスプレイ５７に表示されたカーソル等をユーザが入力装置５８を介して入力操作するとその入力操作に応じた動作を実行する機能を有している。
【００２２】
情報サーバ６０は、ユーザＰＣ５０やプリンタ２０へプログラムの更新に関する情報などを提供するサーバであり、各種制御を実行するＣＰＵを中心としたコントローラ６１と、プログラムの更新に関する情報など各種アプリケーションプログラムや各種データファイルを記憶する大容量メモリであるＨＤＤ６５と、インターネット４４に接続された機器との間で信号の送受信が可能なＩ／Ｆ６６とを備えている。この情報サーバ６０は、インターネット４４を介してプリンタ２０やユーザＰＣ５０とデータを送受信する際には、コントローラ６１の図示しないＲＡＭの所定領域に設けられた受信バッファ及び送信バッファを利用して行う。
【００２３】
次に、こうして構成された本実施形態のファームウエア更新システム１０の動作について、特に、プリンタ２０のフラッシュＲＯＭ２３に記憶された情報処理プログラム３３の更新処理を行う動作について説明する。まず、ユーザが入力装置５８を操作しブラウザを立ち上げ、プリンタ２０に記憶された情報処理プログラム３３の更新実行について予め定められたＵＲＬを指定する。すると、ユーザＰＣ５０のＣＰＵ５２は、Ｉ／Ｆ５６やルータ４０を介して情報サーバ６０に記憶された新たな情報処理プログラムをダウンロードしダウンロードしたファイルをＨＤＤ５５の所定領域に記憶すると共に、情報処理プログラム３３を更新する更新指令をＩ／Ｆ５６やルータ４０を介してプリンタ２０へ送信する。一方、ユーザがプリンタ２０を電源ＯＮすると、プリンタ２０のＣＰＵ２２は、図３に示すプログラム更新処理ルーチンを実行する。図３は、プリンタ２０のＣＰＵ２２により実行されるプログラム更新処理ルーチンの一例を表すフローチャートである。このルーチンは、フラッシュＲＯＭ２３に記憶され、プリンタが起動されたあと所定のタイミング（例えば数ｍｓｅｃなど）ごとに繰り返し実行される。
【００２４】
このルーチンを実行すると、ＣＰＵ２２は、まず、前回の情報処理プログラム３３の更新処理が中断したか否かを判定する（ステップＳ１００）。ここで、更新の中断の理由としては、例えば情報処理プログラム３３の更新中に停電の発生やプラグの抜けなどの電源トラブルが起きた場合などが考えられる。この前回の情報処理プログラム３３の更新が中断したか否かの判定は、情報の更新中には値１がセットされ、更新を完了したときには値０がセットされる更新確認フラグＦをフラッシュＲＯＭ２３に記憶し、このフラグの値を用いて行うことができる。前回の情報処理プログラム３３の更新が中断していないとき、即ち更新が完了し情報処理プログラム３３が正常に動作するときには、ＣＰＵ２２は、ユーザＰＣ５０から更新指令を無線Ｉ／Ｆボード２８が受信したか否かを判定する（ステップＳ１１０）。ユーザＰＣ５０から更新指令を受信していないときには、そのままこのルーチンを終了し、ユーザＰＣ５０から更新指令を受けたときには、ユーザＰＣ５０とのコネクションを確立する（ステップＳ１２０）。このとき、ＣＰＵ２２は、無線通信モジュール３５を読み出して設定情報３８ａの内容を解析し、解析結果である通信処理に必要なパラメータ（例えばＳＳＩＤやＷｅｐキーなど）を設定モジュール３５ａを用いてＩ／Ｏコントローラアプリ３６ａに順次受け渡してセットし、Ｉ／Ｏコントローラアプリ３６ａにセットされた情報に基づいてＣＤＣドライバ３６ｂを用いて無線Ｉ／Ｆボード２８を駆動することによりユーザＰＣ５０とのコネクションを確立する。なお、ＣＰＵ２２は、コネクションが確立したときには、応答信号（例えばハンドシェイクのＡＣＫ信号）をユーザＰＣ５０に送信する。
【００２５】
次に、ＣＰＵ２２は、情報処理プログラム３３に格納されたプログラム更新モジュール３４を読み出し、通信管理情報３８に格納された設定情報３８ａから所定のパラメータを抜き出し、抜き出したパラメータを含むテキストファイルである設定情報ファイル３２ａを作成する（ステップＳ１３０）。設定情報ファイル３２ａの作成は、無線通信モジュール３５を用いてＩ／Ｏコントローラアプリ３６ａにセットすべきパラメータを解析し、解析結果である各パラメータをＩ／Ｏコントローラアプリ３６ａにセットする順にカンマ区切りなどを用いて並べて作成してもよい。なお、設定情報ファイル３２ａの作成は、ステップＳ１２０での無線通信モジュール３５の解析結果を用いて行ってもよい。
【００２６】
次に、ＣＰＵ２２は、情報処理プログラム３３の無線通信モジュール３５に格納された設定モジュール３５ａと、情報処理プログラム３３に格納された無線インタフェースドライバ３６とを読み出し、設定モジュール３２ｂ及び無線インタフェースドライバ３２ｃとして設定情報ファイル３２ａと共に基本更新利用情報３２に格納する（ステップＳ１４０）。このように、ユーザＰＣ５０などの外部機器との無線通信が可能な最小限の情報を情報処理プログラム３３の不具合の発生に備えて基本更新利用情報３２に格納しておくのである。次に、ＣＰＵ２２は、プログラム更新モジュール３４を読み出し、このプログラム更新モジュール３４を用いて新たな情報処理プログラムをユーザＰＣ５０から取得すると共にフラッシュＲＯＭ２３に記憶する（ステップＳ１５０）。ここでは、更新指令に対する応答信号をユーザＰＣ５０へ返すと、これを受けたユーザＰＣ５０のＣＰＵ５２がＨＤＤ５５に記憶された新たな情報処理プログラムをプリンタ２０へ送信し、この送信した情報をプリンタ２０が取得するものとした。また、新たな情報処理プログラムを取得すると、ＣＰＵ２２は、現在記憶されている情報処理プログラム３３に新たな情報処理プログラムを上書きして保存するものとした。
【００２７】
ステップＳ１５０のあと、ＩＰＬ３０を読み出し、情報処理プログラム３３のチェックサムを実行する（ステップＳ１６０）。次に、情報処理プログラム３３のチェックサムが成功したか否かを判定し（ステップＳ１７０）、情報処理プログラム３３のチェックサムが成功したとき、即ち受信すべき情報量と実際に受信した情報量とが合致したときには、情報処理プログラム３３を利用可能に構築する情報処理プログラム３３のアップデート処理を実行し（ステップＳ１８０）、情報処理プログラム３３のアップデートが完了したときには、アップデートの完了信号とユーザＰＣ５０とのコネクションを解除するコネクション断信号とをユーザＰＣ５０へ送信し（ステップＳ１９０）、再起動を実行し（ステップＳ２００）、このルーチンを終了する。こうして、プリンタ２０は、最新のプログラム更新モジュール３４、最新の無線通信モジュール３５、最新の無線インタフェースドライバ３６及び最新の印刷処理モジュール３７を格納した情報処理プログラム３３を利用可能となる。
【００２８】
一方、ステップＳ１００で前回の情報処理プログラム３３の更新が中断したと判定されたときには、ＣＰＵ２２は、ステップＳ１６０の情報処理プログラム３３のチェックサム処理を実行する。なお、電源トラブルにより情報処理プログラム３３の更新が中断されたあとプリンタ２０の電源が回復すると、再度このルーチンのステップＳ１００から実行される。ここで、情報処理プログラム３３の上書き保存中などに情報処理プログラム３３の更新が中断された場合、ステップＳ１７０では、チェックサムが失敗したと判定される。ステップＳ１７０でチェックサムが失敗したと判定されたときには、ＣＰＵ２２は、情報処理プログラム３３が利用できない可能性が高いものとみなし、基本更新モジュール３１を読み出し、これを用いて基本更新利用情報３２に予め格納しておいた設定情報ファイル３２ａ、設定モジュール３２ｂ及び無線インタフェースドライバ３２ｃを用いてネットワーク接続処理を実行する（ステップＳ２１０）。ここでは、基本更新モジュール３１を読み出し、ステップＳ１２０に準じて、設定情報ファイル３２ａに含まれるパラメータ（例えばＳＳＩＤやＷｅｐキーなど）を設定モジュール３２ｂにより無線インタフェースドライバ３２ｃに順次受け渡してセットし、無線インタフェースドライバ３２ｃにより無線Ｉ／Ｆボード２８を制御することにより、無線ＬＡＮ４３を介したルータ４０との状態を通信可能な状態に回復させるのである。このように、情報処理プログラム３３の更新処理が中断し、情報処理プログラム３３に不具合が生じると、情報処理プログラム３３に格納されているプログラム更新モジュール３４による情報処理プログラム３３の更新処理のみならず、無線インタフェースドライバ３６によるユーザＰＣ５０や情報サーバ６０との通信処理も実行できなくなるが、情報処理プログラム３３の更新前に基本更新利用情報３２に格納した、通信処理を再開可能な最小限の情報を用いて、少なくともルータ４０との無線通信を回復させるのである。
【００２９】
続いて、ＣＰＵ２２は、ユーザＰＣ５０とのコネクションが確立したか否かを判定し（ステップＳ２２０）、ユーザＰＣ５０とのコネクションが確立するのを待って、新たな情報処理プログラムをユーザＰＣ５０から受信したか否かを判定する（ステップＳ２３０）。続いて、ＣＰＵ２２は、新たな情報処理プログラムをユーザＰＣ５０から受信するのを待ち、新たな情報処理プログラムをユーザＰＣ５０から受信したと判定されたときには、この新たな情報処理プログラムをフラッシュＲＯＭ２３に記憶し、上述したステップＳ１６０以降の処理を行う。ここでは、情報処理プログラム３３の再更新時には、情報処理プログラム３３に格納されたプログラム更新モジュール３４が正常に動作しない場合があるため、新たな情報処理プログラムをユーザＰＣ５０側から送信するものとした。このように、情報処理プログラム３３に不具合が生じた場合には、書き換え不能に保護された基本更新モジュール３１と、基本更新利用情報３２とを利用して無線ＬＡＮ４３の接続のみを回復させ、情報処理プログラム３３の自動修復を図るのである。
【００３０】
ここで、ユーザＰＣ５０の処理について、図４を用いて説明する。図４は、ファームウエア更新システム１０のプリンタ２０とユーザＰＣ５０との各処理及び通信の様子をシーケンシャルに示す説明図である。なお、図４に示した各ステップ番号は、図３のルーチンのステップ番号に対応している。また、図４は、ユーザＰＣ５０から新たな情報処理プログラムをプリンタ２０へ送信している途中でプリンタ２０に電源トラブルがあった場合を表している。まず、ユーザＰＣ５０のＣＰＵ５２は、情報処理プログラム３３の更新指令をプリンタ２０へ送信し（ステップＳ３００）、コネクションが確立すると新たな情報処理プログラムをプリンタ２０へ送信する（ステップＳ３１０）。このデータの送信中に、プリンタ２０の電源が切れた場合、ＣＰＵ５２は、データをプリンタ２０へ送信できないため、送信タイムアウトになる（ステップＳ３２０）。このとき、ＣＰＵ５２は、プリンタ２０でトラブルがあったものとみなし、チェック信号を送信する（ステップＳ３３０）。プリンタ２０が基本更新利用情報３２を利用してネットワーク接続を行い、プリンタ２０がチェック信号に対する応答信号を返してきたら、ＣＰＵ５２は、再度、新たな情報処理プログラムをプリンタ２０へ送信する（ステップＳ３１０）。その後、完了信号及びコネクション断信号を受信すると、ＣＰＵ５２は、この更新処理を終了する。なお、完了信号を所定時間内に受信できずに完了タイムアウトとなった場合も、ＣＰＵ５２は、プリンタ２０でトラブルが発生したものと判定できる。
【００３１】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の無線Ｉ／Ｆボード２８が本発明の送受信手段に相当し、フラッシュＲＯＭ２３が記憶手段に相当し、印刷機構２６が印刷処理手段に相当し、ＣＰＵ２２が制御手段に相当する。また、設定モジュール３５ａ及び無線インタフェースドライバ３６が通信処理用情報に相当し、記録紙Ｓが印刷媒体に相当する。なお、本実施形態では、ファームウエア更新システム１０の動作を説明することにより本発明の情報更新方法の一例も明らかにしている。
【００３２】
以上詳述した本実施形態のファームウエア更新システム１０によれば、情報処理装置としてのプリンタ２０が情報処理プログラムの更新の指令であるプログラム更新指令を受信すると、情報処理プログラム３３に格納された通信処理に用いられる設定モジュール３５ａ及び無線インタフェースドライバ３６と共に設定情報３８ａから作成した設定情報ファイル３２ａを基本更新利用情報３２へ格納し、プログラム更新モジュール３４を用いて新たな情報処理プログラムをユーザＰＣ５０から受信し、この受信した新たな情報処理プログラムが正常であるか否かを判定し、新たな情報処理プログラムが正常でないと判定されたときには基本更新モジュール３１を用い基本更新利用情報３２に格納された情報に基づいてルータ４０（ユーザＰＣ５０）と通信可能な状態にする。このように、情報処理プログラム３３を更新する際に更新処理の対象である情報処理プログラム３３に格納された無線インタフェースドライバ３６や設定モジュール３５ａ、プログラム更新モジュール３４などに何らかの不具合が生じることがあるが、情報処理プログラム３３とは別領域に記憶された基本更新利用情報３２へ無線インタフェースドライバ３６を退避しておくため、基本更新モジュール３１によりあとでこの退避した無線インタフェースドライバ３６を利用可能である。また、基本更新モジュール３１は、書き換え不能に保護されているため、情報処理プログラム３３の更新処理で不具合が生じることがない。したがって、ユーザＰＣ５０と通信して情報処理プログラム３３を更新するに際して通信処理に用いられる情報に不具合が生じたときでも確実にユーザＰＣ５０と通信することができる。また、通信によりユーザＰＣ５０から新たな情報処理プログラムを取得可能であるため、生じた不具合をより容易に不具合のない状態に回復することができる。また、無線インタフェースドライバ３６を基本更新利用情報３２へ退避するものであるため、更新時の不具合に備え情報処理プログラム３３をフラッシュＲＯＭ２３の別領域に退避するものに比べて、情報処理プログラム３３を更新するに際して使用する記憶領域をより低減することができる。また、プログラム更新モジュール３４などを含む情報処理プログラム３３を１度に更新するため、各モジュールごとに更新、再起動を行うものに比べてより短い処理時間で情報処理プログラム３３の更新を行うことができる。
【００３３】
また、更新された無線インタフェースドライバ３６が用いる設定情報ファイル３２ａと、この設定情報ファイル３２ａを無線インタフェースドライバ３２ｃへ受け渡す設定モジュール３２ｂとを基本更新利用情報３２へ格納するため、無線インタフェースドライバ３６が更新され新たな設定値を用いるものとなったとしても、確実に基本更新モジュール３１によりユーザＰＣ５０と通信することができる。更に、ユーザＰＣ５０との通信に用いられる無線通信モジュール３５のうち、設定モジュール３５ａを基本更新利用情報３２へ格納するため、データベースの解釈モジュールまで含む無線通信モジュール３５をそのまま基本更新利用情報３２へ格納するものに比べて、情報処理プログラム３３を更新するに際して使用する記憶領域をより低減することができる。更にまた、情報処理プログラム３３の更新処理が中断したあと、ユーザＰＣ５０との通信処理が再開し新たな情報処理プログラムを受信したときには、この受信した新たな情報処理プログラムにより現在の情報処理プログラムを更新するため、通信を用いずに情報処理プログラム３３を取得するものに比べて、生じた不具合をより容易に不具合のない状態に回復することができる。そして、無線通信の規格は更新されることが多いため、無線ＬＡＮ４３を利用するプリンタ２０に本発明を適用する意義が高い。そしてまた、記録紙Ｓへの画像の印刷は、通信によって画像の情報を送信することが多く、また、印刷モジュールを更新することが多いため、本発明を適用する意義が高い。
【００３４】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００３５】
例えば、上述した実施形態では、情報処理プログラム３３の更新処理の前に、設定情報ファイル３２ａと設定モジュール３２ｂと無線インタフェースドライバ３２ｃとを基本更新利用情報３２へ格納・退避するものとしたが、無線インタフェースドライバ３２ｃのみを基本更新利用情報３２へ格納するものとしてもよい。こうしても、基本更新モジュール３１が無線インタフェースドライバ３２ｃをそのまま利用可能であるときには、通信処理に用いられる無線インタフェースドライバ３６に不具合が生じたときでも確実にユーザＰＣ５０と通信することができる。なお、プログラム更新モジュール３４が情報処理プログラム３３に組み込まれているものとしたが、プログラム更新モジュール３４が情報処理プログラム３３と別に記憶されているものとしてもよい。こうしても、プログラム更新モジュール３４が情報処理プログラム３３の更新で悪影響を受けたとしても、書き換え不能に保護された基本更新モジュール３１により確実にユーザＰＣ５０と通信することができる。
【００３６】
上述した実施形態では、無線インタフェースドライバ３６が情報処理プログラム３３に組み込まれており、無線インタフェースドライバ３６を基本更新利用情報３２へ格納するものとしたが、無線インタフェースドライバ３６を情報処理プログラム３３とは別に記憶すると共に、別々に更新するものとし、設定情報ファイル３２ａと設定モジュール３５ａとを基本更新利用情報３２に格納するものとしてもよい。こうしても、無線インタフェースドライバ３６が正常に動作可能で、通信管理情報３８や無線通信モジュール３５に不具合が生じたときでも、基本更新モジュール３１により基本更新利用情報３２を用いて無線インタフェースドライバ３６を利用可能であるため、情報処理プログラム３３の更新時に通信処理に用いられる無線インタフェースドライバ３６に不具合が生じたときでも確実にユーザＰＣ５０と通信することができる。また、無線通信モジュール３５のうち、設定モジュール３５ａを基本更新利用情報３２へ格納するため、通信モジュールをそのまま基本更新利用情報へ格納するものに比べて、情報処理プログラム３３を更新するに際して使用する記憶領域をより低減することができる。
【００３７】
上述した実施形態では、基本更新利用情報３２をフラッシュＲＯＭ２３の通常の領域に記憶するものとしたが、基本更新利用情報３２をマスク領域に記憶するものとしてもよい。こうすれば、基本更新利用情報３２の保護をより図ることができる。また、基本更新モジュール３１やＩＰＬ３０をフラッシュＲＯＭ２３のマスク領域に記憶するものとしたが、書き換え不能に保護した状態でマスク領域外に記憶してもよい。
【００３８】
上述した実施形態では、プリンタ２０とルータ４０とが無線ＬＡＮ４３で接続する場合について説明したが、有線のＬＡＮ４２で接続する場合に適用してもよい。こうしても、通信インタフェースドライバが情報処理プログラム３３の更新の際に不具合を起こしても、基本更新モジュール３１により基本更新利用情報３２に退避した通信インタフェースドライバを利用して確実にユーザＰＣ５０と通信することができる。
【００３９】
上述した実施形態では、ユーザＰＣ５０からルータ４０を介して通信を行いプリンタ２０に記憶された情報処理プログラム３３を更新するものとしたが、ユーザＰＣ５０が備える無線ＬＡＮボードを介して直接プリンタ２０と通信して更新するものとしてもよいし、情報サーバ６０からルータ４０を介して、即ちユーザＰＣ５０を介さずにプリンタ２０と通信して更新するものとしてもよい。また、ユーザＰＣ５０から更新指令を送信し、情報処理プログラム３３の更新を行うものとしたが、プリンタ２０の備える図示しない操作パネルから更新指令を入力し、情報処理プログラム３３の更新を行うものとしてもよい。
【００４０】
上述した実施形態では、プリンタ２０を本発明の情報処理装置として説明したが、スキャナを備えたマルチファンクションプリンタや、ＦＡＸなどに適用してもよい。また、印刷機構２６は、インクジェット方式としたが、電子写真方式のレーザプリンタや、熱転写方式のプリンタや、ドットインパクト方式のプリンタとしてもよいし、これらのモノクロプリンタとしてもよい。また、通信によってファームウエアを更新するものであれば特に限定されず、ＰＣやスキャナ、画像を再生するピクチャービューワ、テレビ、デジタルビデオ、カメラ付き携帯電話などに適用してもよい。特に、持ち運び可能な携帯機器や、ＰＣやサーバに接続される周辺機器ではハードウエア資源が限られているため、本発明を適用する意義が高い。なお、情報処理プログラム３３には印刷処理モジュール３７が格納されていないものとしてもよいし、他のファームウエアが格納されているものとしてもよい。更に、プリンタ２０の態様で本発明を説明したが、情報更新方法の態様としてもよいし、この方法のプログラムの態様としてもよい。
【図面の簡単な説明】
【００４１】
【図１】ファームウエア更新システム１０の構成の概略を示す構成図である。
【図２】プリンタ２０のフラッシュＲＯＭ２３に記憶された情報の説明図である。
【図３】プログラム更新処理ルーチンの一例を表すフローチャートである。
【図４】情報の更新の各処理及び通信の様子をシーケンシャルに示す説明図である。
【符号の説明】
【００４２】
１０  ファームウエア更新システム、２０  プリンタ、２１  コントローラ、２２  ＣＰＵ、２３  フラッシュＲＯＭ、２４  ＲＡＭ、２６  印刷機構、２８  無線Ｉ／Ｆボード、２９  バス、３０  ＩＰＬ、３１  基本更新モジュール、３２  基本更新利用情報、３２ａ  設定情報ファイル、３２ｂ，３５ａ  設定モジュール、３２ｃ，３６  無線インタフェースドライバ、３３  情報処理プログラム、３４  プログラム更新モジュール、３５  無線通信モジュール、３６ａ  Ｉ／Ｏコントローラアプリ、３６ｂ  ＣＤＣドライバ、３７  印刷処理モジュール、３８  通信管理情報、３８ａ  設定情報、４０  ルータ、４２  ＬＡＮ、４３  無線ＬＡＮ、４４  インターネット、５０  ユーザＰＣ、５２  ＣＰＵ、５３  ＲＯＭ、５４  ＲＡＭ、５５  ＨＤＤ、５６  Ｉ／Ｆ、５７  ディスプレイ、５８  入力装置、６０  情報サーバ、６１  コントローラ、６５  ＨＤＤ、６６  Ｉ／Ｆ、Ｓ  記録紙。
【図１】
2008117060.tif 000003
【図２】
2008117060.tif 000004
【図３】
2008117060.tif 000005
【図４】
2008117060.tif 000006