(57)【要約】【課題】  現ソフトウェアによる不具合情報を収集しておき、更新が必要な場合にのみソフトウェアを更新することで、想定外の不具合が発生するのを防止するとともに、必要なソフトウエアは確実に更新することが可能な情報処理装置を提供する。【解決手段】  情報処理装置の内部で使用されるソフトウェアの不具合の情報を収集する収集手段と、前記収集手段で収集された不具合情報を記憶する記憶手段と、前記外部装置に更新対象のソフトウェアがあるか否かを検知する検知手段と、前記検知手段で検知したソフトウェアと該ソフトウェアの情報を取得する取得手段と、前記記憶手段に記憶された不具合情報と、前記取得手段で取得したソフトウェア情報とから、該ソフトウェアの更新重要度を決定する決定手段と、前記決定手段で決定した更新重要度に応じて、前記取得手段で取得したソフトウェアで装置内部のソフトウェアを更新する更新手段とを備える。【選択図】  図１
2006092374.tif 000002
【特許請求の範囲】
【請求項１】
外部装置からソフトウェアと該ソフトウェアの情報を取得して、装置内部のソフトウェアを更新するように構成された情報処理装置において、
前記情報処理装置の内部で使用されるソフトウェアの不具合の情報を収集する収集手段と、
前記収集手段で収集された不具合情報を記憶する記憶手段と、
前記外部装置に更新対象のソフトウェアがあるか否かを検知する検知手段と、
前記検知手段で検知したソフトウェアと該ソフトウェアの情報を取得する取得手段と、
前記記憶手段に記憶された不具合情報と、前記取得手段で取得したソフトウェア情報とから、該ソフトウェアの更新重要度を決定する決定手段と、
前記決定手段で決定した更新重要度に応じて、前記取得手段で取得したソフトウェアで装置内部のソフトウェアを更新する更新手段と
を備えたことを特徴とする情報処理装置。
【請求項２】
前記収集手段は、不具合が発生したソフトウェアを特定して、前記不具合情報に含め、前記決定手段は、不具合が発生したソフトウェアであれば、更新重要度を上げることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ソフトウェアの情報は、装置内の更新前ソフトウェアとの差分情報であることを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
前記ソフトウェアの情報は、不具合対策のリストを含み、前記決定手段は、不具合内容が一致した場合、更新重要度を上げることを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
前記ソフトウェアの情報は、不具合対策のリストを含み、前記決定手段は、不具合内容に応じて、更新重要度を上げることを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項６】
前記収集手段は、不具合が発生したソフトウェアを特定して、該ソフトウェアと、不具合発生箇所を不具合情報に含め、前記ソフトウェアの情報は、不具合対策の箇所を含み、前記決定手段は、不具合箇所が一致した場合、更新重要度を上げることを特徴とする請求項１乃至５のいずれかに記載の情報処理装置。
【請求項７】
前記外部装置のソフトウェアの種別に応じて、前記決定手段は、更新重要度を決定することを特徴とする請求項１乃至６のいずれかに記載の情報処理装置。
【請求項８】
前記ソフトウェアの種別が、動作保証であれば更新重要度を上げ、非保証であれば更新重要度を下げることを特徴とする請求項１乃至７のいずれかに記載の情報処理装置。
【請求項９】
更新対象のソフトウェアが、不具合が発生したソフトウェアでなく、かつ、動作非保証ソフトウェアであれば、更新を自動的に行わないことを特徴とする請求項８記載の情報処理装置。
【請求項１０】
前記ソフトウェアの種別が、重要ソフトウェアであれば更新重要度を上げ、非重要ソフトウェアであれば更新重要度を下げることを特徴とする請求項１乃至７のいずれかに記載の情報処理装置。
【請求項１１】
更新対象のソフトウェアが、不具合が発生したソフトウェアでなく、かつ、非重要ソフトウェアであれば、更新を自動的に行わないことを特徴とする請求項１０記載の情報処理装置。
【請求項１２】
外部装置からソフトウェアと該ソフトウェアの情報を取得して、装置内部のソフトウェアを更新するように構成された情報処理装置のソフトウェアの更新方法であって、
前記情報処理装置の内部で使用されるソフトウェアの不具合の情報を収集するステップと、
前記収集ステップで収集された不具合情報を記憶する記憶ステップと、
前記外部装置に更新対象のソフトウェアがあるか否かを検知する検知ステップと、
前記検知ステップで検知したソフトウェアと該ソフトウェアの情報を取得する取得ステップと、
前記記憶ステップで記憶された不具合情報と、前記取得ステップで取得したソフトウェア情報とから、該ソフトウェアの更新重要度を決定するステップと、
前記決定ステップで決定した更新重要度に応じて、前記取得ステップで取得したソフトウェアで装置内部のソフトウェアを更新するステップと
を備えたことを特徴とする情報処理装置のソフトウェアの更新方法。
【請求項１３】
外部装置からソフトウェアと該ソフトウェアの情報を取得して、装置内部のソフトウェアを更新する情報処理装置としてのコンピュータを機能させるためのプログラムであって、
前記情報処理装置の内部で使用されるソフトウェアの不具合の情報を収集する収集手段、
前記収集手段で収集された不具合情報を記憶する記憶手段、
前記外部装置に更新対象のソフトウェアがあるか否かを検知する検知手段、
前記検知手段で検知したソフトウェアと該ソフトウェアの情報を取得する取得手段、
前記記憶手段に記憶された不具合情報と、前記取得手段で取得したソフトウェア情報とから、該ソフトウェアの更新重要度を決定する決定手段、
前記決定手段で決定した更新重要度に応じて、前記取得手段で取得したソフトウェアで装置内部のソフトウェアを更新する更新手段
として前記情報処理装置を機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プリンタや複写機、ファクシミリ装置あるいはこれらの機能を兼ね備えた複合機などの情報処理装置に関し、特にネットワークを介してソフトウェアをダウンロードすることなどにより、起動させるソフトウェアを切り替えることができ、機能の追加や変更を行うことが可能な情報処理装置に関するものである。
【背景技術】
【０００２】
【特許文献１】特開２００３−１８６６３８号公報
【０００３】
従来、この種のプリンタや複写機、ファクシミリ装置、あるいはこれらの機能を兼ね備えた複合機などの情報処理装置においては、制御ソフトウェアや各機能を実現するためのアプリケーションソフトウェアが、ＲＯＭ（Read Only Memory）に記憶されていたため、ソフトウェアの不具合の修正や、機能追加などを行う際には、装置の構成を熟知した作業者によるＲＯＭの交換作業を必要としていた。
【０００４】
しかしながら、近年、これらの情報処理装置においても、サーバ装置から通信ネットワークを介してソフトウェアをダウンロードし、このソフトウェアを書き替え可能な記録媒体に記録させる技術が提案され、ＲＯＭの交換作業という大がかりな作業を必要とすることなく、容易にソフトウェアの変更や追加を行うことが可能となっている。
【０００５】
例えば、特開２００３−１８６６３８号公報で開示されている技術は、装置内のソフトウェアと同一のソフトウェアを検索し、そのバージョンが、装置内のソフトウェアより新しければ更新するように構成し、同一バージョンによる無駄なダウンロードや更新、あるいは旧バージョンの上書きによるダウングレードなどのユーザによる作業ミスを防止するようにしたものである。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記従来技術の場合には、次のような問題点を有している。すなわち、上記特開２００３−１８６６３８号公報に開示された技術の場合には、装置内のソフトウェアと同一のソフトウェアを検索し、そのバージョンが、装置内のソフトウェアより新しいことを検知し、新規バージョンのソフトウェアを自動更新しようとしても、当該ソフトウェアのエラー履歴などを考慮せずに新規バージョンのソフトウェアを自動更新してしまうと、想定外の不具合が発生して、装置が使用不可能な状態になってしまう虞れがあるという問題点を有していた。
【０００７】
そこで、この発明は、上記従来技術の問題点を解決するためになされたものであり、その目的とするところは、現ソフトウェアによる不具合情報を収集しておき、更新が必要な場合にのみソフトウェアを更新することで、想定外の不具合が発生するのを防止するとともに、必要なソフトウエアは確実に更新することが可能な情報処理装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、請求項１に記載された発明は、外部装置からソフトウェアと該ソフトウェアの情報を取得して、装置内部のソフトウェアを更新するように構成された情報処理装置において、
前記情報処理装置の内部で使用されるソフトウェアの不具合の情報を収集する収集手段と、
前記収集手段で収集された不具合情報を記憶する記憶手段と、
前記外部装置に更新対象のソフトウェアがあるか否かを検知する検知手段と、
前記検知手段で検知したソフトウェアと該ソフトウェアの情報を取得する取得手段と、
前記記憶手段に記憶された不具合情報と、前記取得手段で取得したソフトウェア情報とから、該ソフトウェアの更新重要度を決定する決定手段と、
前記決定手段で決定した更新重要度に応じて、前記取得手段で取得したソフトウェアで装置内部のソフトウェアを更新する更新手段と
を備えたことを特徴とする情報処理装置である。
【０００９】
また、請求項２に記載された発明は、前記収集手段は、不具合が発生したソフトウェアを特定して、前記不具合情報に含め、前記決定手段は、不具合が発生したソフトウェアであれば、更新重要度を上げることを特徴とする請求項１に記載の情報処理装置である。
【００１０】
さらに、請求項３に記載された発明は、前記ソフトウェアの情報は、装置内の更新前ソフトウェアとの差分情報であることを特徴とする請求項１または２記載の情報処理装置である。
【００１１】
又、請求項４に記載された発明は、前記ソフトウェアの情報は、不具合対策のリストを含み、前記決定手段は、不具合内容が一致した場合、更新重要度を上げることを特徴とする請求項１乃至３のいずれかに記載の情報処理装置である。
【００１２】
更に、請求項５に記載された発明は、前記ソフトウェアの情報は、不具合対策のリストを含み、前記決定手段は、不具合内容に応じて、更新重要度を上げることを特徴とする請求項１乃至３のいずれかに記載の情報処理装置である。
【００１３】
また、請求項６に記載された発明は、前記収集手段は、不具合が発生したソフトウェアを特定して、該ソフトウェアと、不具合発生箇所を不具合情報に含め、前記ソフトウェアの情報は、不具合対策の箇所を含み、前記決定手段は、不具合箇所が一致した場合、更新重要度を上げることを特徴とする請求項１乃至５のいずれかに記載の情報処理装置である。
【００１４】
さらに、請求項７に記載された発明は、前記外部装置のソフトウェアの種別に応じて、前記決定手段は、更新重要度を決定することを特徴とする請求項１乃至６のいずれかに記載の情報処理装置である。
【００１５】
又、請求項８に記載された発明は、前記ソフトウェアの種別が、動作保証であれば更新重要度を上げ、非保証であれば更新重要度を下げることを特徴とする請求項１乃至７のいずれかに記載の情報処理装置である。
【００１６】
更に、請求項９に記載された発明は、更新対象のソフトウェアが、不具合が発生したソフトウェアでなく、かつ、動作非保証ソフトウェアであれば、更新を自動的に行わないことを特徴とする請求項８記載の情報処理装置である。
【００１７】
また、請求項１０に記載された発明は、前記ソフトウェアの種別が、重要ソフトウェアであれば更新重要度を上げ、非重要ソフトウェアであれば更新重要度を下げることを特徴とする請求項１乃至７のいずれかに記載の情報処理装置である。
【００１８】
さらに、請求項１１に記載された発明は、更新対象のソフトウェアが、不具合が発生したソフトウェアでなく、かつ、非重要ソフトウェアであれば、更新を自動的に行わないことを特徴とする請求項１０記載の情報処理装置である。
【００１９】
又、請求項１２に記載された発明は、外部装置からソフトウェアと該ソフトウェアの情報を取得して、装置内部のソフトウェアを更新するように構成された情報処理装置のソフトウェアの更新方法であって、
前記情報処理装置の内部で使用されるソフトウェアの不具合の情報を収集するステップと、
前記収集ステップで収集された不具合情報を記憶する記憶ステップと、
前記外部装置に更新対象のソフトウェアがあるか否かを検知する検知ステップと、
前記検知ステップで検知したソフトウェアと該ソフトウェアの情報を取得する取得ステップと、
前記記憶ステップで記憶された不具合情報と、前記取得ステップで取得したソフトウェア情報とから、該ソフトウェアの更新重要度を決定するステップと、
前記決定ステップで決定した更新重要度に応じて、前記取得ステップで取得したソフトウェアで装置内部のソフトウェアを更新するステップと
を備えたことを特徴とする情報処理装置のソフトウェアの更新方法である。
【００２０】
更に、請求項１３に記載された発明は、外部装置からソフトウェアと該ソフトウェアの情報を取得して、装置内部のソフトウェアを更新する情報処理装置としてのコンピュータを機能させるためのプログラムであって、
前記情報処理装置の内部で使用されるソフトウェアの不具合の情報を収集する収集手段、
前記収集手段で収集された不具合情報を記憶する記憶手段、
前記外部装置に更新対象のソフトウェアがあるか否かを検知する検知手段、
前記検知手段で検知したソフトウェアと該ソフトウェアの情報を取得する取得手段、
前記記憶手段に記憶された不具合情報と、前記取得手段で取得したソフトウェア情報とから、該ソフトウェアの更新重要度を決定する決定手段、
前記決定手段で決定した更新重要度に応じて、前記取得手段で取得したソフトウェアで装置内部のソフトウェアを更新する更新手段
として前記情報処理装置を機能させるためのプログラムである。
【００２１】
この発明は、例えば、外部装置よりソフトウェアとそのソフトウェアの更新履歴の情報などを取得して、装置内部のソフトウェアに関するエラーの情報を比較し、該当エラーが対策されているか否かをチェックし、対策されていない、もしくは、エラーが発生していない場合には、ソフトウェアの自動更新は行わず、一方、対策されていると判断すれば、ソフトウェアを更新するようになっている。
【発明を実施するための最良の形態】
【００２２】
以下に、この発明の実施の形態について図面を参照して説明する。
【００２３】
実施の形態１
図１はこの発明の実施の形態１に係る情報処理装置としてのプリンタを適用したダウンロードシステムを示すものである。このダウンロードシステムは、ソフトウェアを集中管理するサーバを含むダウンロードシステムとして構成されている。
【００２４】
このダウンロードシステム１は、図１に示すように、プリンタ１００ａ，１００ｂ及びパーソナルコンピュータ（ＰＣ）２００ａ，２００ｂ、更にはサーバ３００ａが接続されたオフィス等のイントラネット２と、プリンタ１００ａ，１００ｂの製造メーカーやソフトウェアの開発メーカーなどのサーバ３００ｂが接続されたインターネット３とを備えており、オフィス等のイントラネット２の入口には、ファイアーウオール４が介在されている。
【００２５】
上記サーバ３００ａ及び３００ｂは、プリンタ１００ａ及び１００ｂに提供されるソフトウェアが格納されており、プリンタ１００ａ及び１００ｂは、必要に応じて当該ソフトウェアをダウンロードすることが可能となっている。パーソナルコンピュータ（ＰＣ）２００ａ及び２００ｂは、特に本発明で必須のものではないが、イントラネット２に接続されており、プリンタ１００ａ又は１００ｂに対して印刷指示を行ったり、オフィス内の管理者がプリンタを管理することに使用される。なお、プリンタ１００ａ、１００ｂを区別しない場合は、単にプリンタ１００またはプリンタと記述し、同様に、サーバ３００ａ、３００ｂを区別しない場合は、単にサーバ３００またはサーバ、パーソナルコンピュータ（ＰＣ）２００ａ，２００ｂを区別しない場合は、単にパーソナルコンピュータ（ＰＣ）２００またはパーソナルコンピュータ（ＰＣ）と記述する。
【００２６】
ところで、この実施の形態では、外部装置からソフトウェアと該ソフトウェアの情報を取得して、装置内部のソフトウェアを更新するように構成された情報処理装置において、前記情報処理装置の内部で使用されるソフトウェアの不具合の情報を収集する収集手段と、前記収集手段で収集された不具合情報を記憶する記憶手段と、前記外部装置に更新対象のソフトウェアがあるか否かを検知する検知手段と、前記検知手段で検知したソフトウェアと該ソフトウェアの情報を取得する取得手段と、前記記憶手段に記憶された不具合情報と、前記取得手段で取得したソフトウェア情報とから、該ソフトウェアの更新重要度を決定する決定手段と、前記決定手段で決定した更新重要度に応じて、前記取得手段で取得したソフトウェアで装置内部のソフトウェアを更新する更新手段とを備えるように構成されている。
【００２７】
この実施の形態に係る情報処理装置としてのプリンタ１００は、図２に示すように、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ページメモリ１０４と、ＮＶＲＡＭ１０５と、印刷部１０６と、Ｕ／Ｉ（ユーザインタフェース）１０７と、Ｉ／Ｆ（外部インタフェース）１０８と、ハードディスク１０９とから構成されている。
【００２８】
上記ＣＰＵ１０１は、当該ＣＰＵ１０１を制御するソフトウェアによって、上述した収集手段、検知手段、取得手段、決定手段、更新手段としての機能を実現している。
【００２９】
ＣＰＵ１０１は、プリンタ１００のＲＯＭ１０２と、ＲＡＭ１０３と、ページメモリ１０４と、ＮＶＲＡＭ１０５と、印刷部１０６と、Ｕ／Ｉ（ユーザインタフェース）１０７と、Ｉ／Ｆ（外部インタフェース）１０８と、ハードディスク１０９を司る中央演算処理装置である。本プリンタ１００の各種処理は、このＣＰＵ１０１の制御のもとで行われる。
【００３０】
ＲＯＭ１０２は、読み取り専用メモリであり、プリンタ１００を制御するソフトウェアのうち、基本的な動作を行うためのソフトウェアが格納されている。このＲＯＭ１０２に格納されているソフトウェアは、例えば、電源投入直後のプリンタ１００の各ハードウェアを診断したり、ＮＶＲＡＭ１０５に記憶された制御ソフトウェアを起動するといったソフトウェアなどである。
【００３１】
ＲＡＭ１０３は、読み書き可能メモリであり、プリンタ１００で動作する各ソフトウェアが作業用として使用するデータ記憶領域である。
【００３２】
ページメモリ１０４は、文書データを用紙に印刷可能なデータに変換した結果を記憶する領域である。
【００３３】
ＮＶＲＡＭ１０５は、不揮発性ＲＡＭであり、プリンタ１００を制御するソフトウェアのほとんどが格納されている。サーバ３００からダウンロードした新規のソフトウェアは、当該ＮＶＲＡＭ１０５の領域に格納される。このＮＶＲＡＭ１０５の記憶領域に記憶されたデータは、プリンタの電源を切った後も保持される。
【００３４】
印刷部１０６は、ページメモリ１０４に格納された用紙に印刷可能なデータを用紙に印刷する手段である。印刷については公知の技術であるため説明は省略する。
【００３５】
Ｕ／Ｉ１０７は、ユーザに情報を通知したり、ユーザからの情報を取得するといった手段である。本プリンタのＵ／Ｉ１０７は、液晶モニターとタッチパネルで構成されており、サーバ３００にアクセスし、新規ソフトウェアの購入、ダウンロード、ソフトウェアの情報に関連するサポート情報閲覧といったさまざまなサービスを簡単に提供することができる。
【００３６】
Ｉ／Ｆ１０８は、外部インタフェースであり、本実施の形態では、イントラネット２やインターネット３に接続するためのネットワークインタフェース、赤外線やブルートゥースによる無線通信を行うための無線通信インタフェース、ＩＣカード、ＰＣカード、コンパクトフラッシュ（登録商標）、スマートメディア、光磁気ディスクなどといった可搬性媒体とのデータ通信を行うインタフェースなどを備えている。それぞれのインタフェースに関しては既知技術のため、詳細は省略する。
【００３７】
ハードディスク１０９は、外部よりＩ／Ｆ１０８を介して受信した印刷（指示）情報、サーバ３００から取得した文書データや、文書データを印刷可能なデータに変換するためのフォントや、プリンタ１００の設定情報、状態情報等を格納しておく記憶媒体である。一般に単位当たりのコストがＲＡＭやページメモリに比べて安価なため、ＲＡＭやページメモリの補助記憶域としても使用される。
【００３８】
また、サーバ３００は、大容量の記憶装置（図示せず）を備え、各種情報が格納されている。本実施の形態では、特にプリンタ１００のためのソフトウェア及び当該ソフトウェアの情報が格納されている。また、このサーバ３００は、イントラネット２内のサーバ３００ａ、インターネット３上のサーバ３００ｂのいずれであっても構わない。
【００３９】
一方、パーソナルコンピュータ（ＰＣ）２００は、いわゆるパソコンであり、プリンタ１００に対してプリント要求を行う上位装置である。また、パーソナルコンピュータ（ＰＣ）２００は、オフィス内の管理者が操作し、サーバ３００から情報を収集し、プリンタ１００の機能拡張ソフトウェアや、新規ソフトウェア、または、パッチ（不具合修正ソフトウェア）などの情報を得ることも可能である。さらに、プリンタ１００のソフトウェアの手動更新も可能である。プリンタ１００からの何らかの通知は、通常、パーソナルコンピュータ（ＰＣ）２００に対して行われる。
【００４０】
以上の構成において、この実施の形態に係る情報処理装置としてのプリンタでは、次のようにして、現ソフトウェアによる不具合情報を収集しておき、更新が必要な場合にのみソフトウェアを更新することで、想定外の不具合が発生するのを防止するとともに、必要なソフトウエアは確実に更新することが可能となっている。
【００４１】
図３はこの実施の形態１に係るプリンタにおける通常の印刷処理時における動作を示すフローチャート図である。
【００４２】
本プリンタが起動すると、ＣＰＵ１０１は、初期化処理を行う（ステップ１０１）。このプリンタ１００では、内部ハードウェアであるＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ページメモリ１０４、ＮＶＲＡＭ１０５、印刷部１０６、Ｕ／Ｉ１０７、Ｉ／Ｆ１０８、ハードディスク１０９のチェックを行った後、各種処理を実行するソフトウェア( 図示せず）を起動し、プリント処理可能な状態にするとともに、タッチパネル（Ｕ／Ｉ１０７）やパーソナルコンピュータ（ＰＣ）２００からのユーザ指示を待つようになっている。
【００４３】
そして、ＣＰＵ１０１は、印刷指示があるか否かを判別し（ステップ１０２）、パーソナルコンピュータ（ＰＣ）２００やその他の上位装置（図示せず）から、印刷指示を受信すると( ステップ１０２）、印刷処理を実行する( ステップ１０３）。印刷指示受信や印刷処理に関しては、本発明で言及するところではなく、また、公知の技術であるため、説明は省略する。
【００４４】
次に、ＣＰＵ１０１は、エラーが発生したか否かを判別し（ステップ１０４）、印刷処理にてエラーが発生した場合は、エラー情報を記録する（ステップ１０５）。エラー情報は、図４に示すように、ソフトウェア単位に、エラー履歴として記録される。
【００４５】
例えば、ソフト１は、そのバージョンが１．１であり、エラー回数は現在まで５回発生していることがわかる。エラー履歴の１番目は、記載された時刻に、致命的エラーである不正メモリアクセスが関数ａで発生したことを示している。不正メモリアクセスとは、例えば、書き込み不可のメモリ領域に、書き込みを行おうとした場合に発生する。致命的なエラーは、ソフトウェアが動作上回復できないエラーを意味する。エラー発生箇所は、本実施の形態では、エラー発生時、ソフトウェアを特定して出力するが、ＯＳ（オペレーティングシステム）で管理された次に実行する命令のアドレスと、予め格納されているソフトウェアのシンボルマップ情報から割り出すことも可能である。
【００４６】
エラー履歴の２番目は、記載された時刻に、致命的エラーの０割が関数ｂで発生したことを示している。０割とは、除算の際、分母の変数が０になった場合である。
【００４７】
エラー履歴の３番目は、記載された時刻に、致命的でないエラーのネットワークタイムアウトが関数ｃで発生したことを示している。ネットワークタイムアウトエラーは、例えば、パーソナルコンピュータ（ＰＣ）２００との通信が途中で切断した場合に発生する。このエラーは、パーソナルコンピュータ（ＰＣ）２００の管理者が明示的に通信中のジョブをキャンセルしようとした可能性もあり、また、ソフトウェアが十分回復できるものであるため、致命的ではないエラーとした。
【００４８】
エラー履歴の４番目は、記載された時刻に、致命的エラーの不正メモリアクセスが関数ｂで発生したことを示している。
【００４９】
エラー履歴の５番目は、記載された時刻に、指定リソースなしという致命的でないエラーが関数ｄで発生したことを示している。指定リソースなしとは、例えば、本プリンタ１００に備わっていないホチキス止めといった動作が指定されたといったものである。これは、ユーザのオペレーションミスとも考えられ、また、ソフトウェアが十分回復できるものであるため、致命的ではないエラーとした。
【００５０】
一方、同様に、ソフト２は、そのバージョンが１．０であり、エラー発生回数が２回で、２回とも致命的でないエラーが発生していることがわかる。
【００５１】
ＣＰＵ１０１は、このような情報をエラー履歴としてＮＶＲＡＭ１０５等に記録（記憶）した後、プリンタ１００の停止が指示されているか否かを判別し（ステップ１０６）、プリンタ１００の停止が指示されていれば停止し、指示されていなければ、再び、ステップ１０２の印刷指示待ち状態となる。
【００５２】
続いて、図５のソフトウェア更新時における動作フローチャート図で説明する。
【００５３】
まず、本実施の形態のプリンタ１００は、ＣＰＵ１０１によってサーバ３００と通信を行い、更新対象のソフトウェア（ＳＷ）があるか否かを検索する（ステップ２０１）。この実施の形態では、サーバ３００から「ソフトウェアの更新あり」の通知を受け、更新対象のソフトウェアがあるかどうかをサーバ３００に問い合わせて、更新対象のソフトウェア（ＳＷ）の情報を得る。他に、定期的にサーバ３００に間い合わせ、更新情報を得ることもできるが、特に本発明では言及しない。
【００５４】
更新対象のファイルがあった場合には、本プリンタ１００のエラー履歴をチェックする（ステップ２０２）。エラー履歴は、図３に示した主に通常動作時に記録された図４に示すようなエラー履歴である。
【００５５】
続いて、ＣＰＵ１０１は、サーバ３００から取得した更新ソフトウェアの情報をチェックする。更新ソフトウェアの情報は、例えば、図６に示した通りである。更新ソフトウェアの名称はソフト１で、最新バージョンはプリンタ１００にインストールされているソフトウェアと異なって「１．２」であり、重要かつ動作が保証されたソフトウェアである。
【００５６】
本実施の形態では、重要ソフトウェアとは、セキュリティ上更新を緊急に要するものや、内部のデータを破壊し、復旧できなくなった場合等に使用するものであり、保証ソフトウェアとは、本プリンタのメーカーが、十分に品質をチェックし、動作保証をするものである。例えば、非保証ソフトウェアとしては、フリーソフトウェアというものがある。これは、メーカーとして動作保証を保証していないということであり、このソフトウェア自体の品質を表しているものではない。また、サードパーティ製の低価格ソフトウェアも同様で、非保証ソフトウェアとなる。ただし、メーカー側で、品質をチェックした後、保証ソフトウェアに変更可能である。また、更新項目は、１番から６番までの６つあるが、１から４が、バージョン１．１から１．２の更新項目、５から６が初期バージョン１．０  （図示せず）から１．１への更新項目である。
【００５７】
１番目は、バージョン１．２に関し、不正メモリアクセスの対策を関数ａに施したことを示している。また、対応箇所以外に関連箇所が関数ｄと関数ｅであり、本実施の形態では、旧バージョンでは、この関数内でも、エラーが発生する可能性があるといった情報である。この対策は重要度Ａとした。本実施の形態では、重要度は、最も高いＡＡから、Ａ、Ｂ、最も低いＣで表している。
【００５８】
２番目もバージョン１．２に関し、０割の対策を関数ｂに施したことを示している。重要度はＡとした。
【００５９】
３番目もバージョン１．２に関し、性能改善をしたものであり、重要度はＣとした。
【００６０】
４番目もバージョン１．２に関し、セキュリティを改善したものであり、重要度はＡＡとした。この重要度ＡＡは、重要度が最も高く、緊急を要する更新を意味している。
【００６１】
５、６番目はバージョン１．１に関するもので、不正メモリアクセスの対策、及び、機能追加であり、それぞれ、重要度はＡ、Ｂとした。
【００６２】
次に、ソフト２に関しては、最新バージョンは１．１であり、重要ソフトウェアでもなく、保証ソフトウェアでもないことを示している。更新内容は、１番目が、性能改善で、重要度はＣ、２番目は、条件付不正メモリアクセスの対策で、重要度はＢとなっている。ここで、条件付とは、例えば、メモリを所定以下しか搭載していないであるとか、通常使用しない用紙を指定したといった、発生状況を絞ることができるものである。こういった条件でない場合は、このエラーは発生せず、この対策をする必要はない。
【００６３】
また、ステップ２０４では、図４に示すエラー履歴より、致命的エラーがあるかどうか判定する。ここで、致命的エラーがあれば、更新重要度をアップする（ステップ２０５）。更新重要度は、最終的に該当ソフトウェアを更新するかどうかの指標であり、予め、サービスエンジニアや管理者が決定しておく。厳密には、更新ソフトウエア情報の重要度を元に計算するが、本発明においては、更新重要度の具体的な数値については言及しない。
【００６４】
次に、図６の更新情報と比較し、発生したエラーが対策されているかどうかチェックする（ステップ２０６）。例えば、不正メモリアクセスが関数ａで発生している（図４のソフト１のNo.1）が、更新ソフトウェア最新バージョンでは対策されている（図６のソフト１のNo.1）。この場合、ソフトウェアを更新することで、同様のエラーが発生しないと予想され、更新重要度をアップさせる（ステップ２０７）。ステップ２０８では、更新ソフトウェア情報より、保証ソフトウェアかどうかチェックする。もし、保証ソフトウェアであれば、更新重要度をアップする( ステップ２０９）。ステップ２１０では、更新ソフトウェア情報より、重要ソフトウェアかどうかチェックし、重要ソフトウェアであれば、更新重要度をアップする（ステップ２１１）。
【００６５】
最終的に、更新重要度が、所定以上（例えば、Ａ以上）であるかどうかをチェックし  （ステップ２１２）、所定以上であれば、ソフトウェアの更新を行う（ステップ２１３）。もし、所定以下であれば、更新せず、新たなエラーが発生したとき、または、新たなバージョンが提供されたときに、改めて、本処理を実行する。
【００６６】
実施の形態２
図７はこの発明の実施の形態２を示すものであり、前記実施の形態１と同一の部分には同一の符号を付して説明すると、この実施の形態２では、更新対象のソフトウェアが、不具合が発生したソフトウェアでなく、かつ、動作非保証ソフトウェアであれば、更新を自動的に行わないように構成したものである。
【００６７】
また、この実施の形態２では、前記ソフトウェアの種別が、重要ソフトウェアであれば更新重要度を上げ、非重要ソフトウェアであれば更新重要度を下げるように構成したものである。
【００６８】
さらに、この実施の形態２では、更新対象のソフトウェアが、不具合が発生したソフトウェアでなく、かつ、非重要ソフトウェアであれば、更新を自動的に行わないように構成されている。
【００６９】
図７はこの実施の形態２に係るソフトウェア更新時における動作を示すフローチャート図である。
【００７０】
まず、ＣＰＵ１０１は、図５に示すフローチャートの処理と同様に、更新ソフトウェアの検索を行う（ステップ３０１）。更新対象のソフトウェアがあれば、本プリンタ１００のエラー履歴をチェックする（ステップ３０２）。そして、サーバ３００より、更新対象ソフトウェアの情報を取得してチェックする（ステップ３０３）。ここで、致命的なエラーがあるか否かを判別し（ステップ３０４）、致命的なエラーがあれば、更新処理（ステップ３０８）に移行するが、致命的なエラーがなければ、更新ソフトウェア情報より、保証ソフトウェアか、または、重要ソフトウェアかをチェックする（ステップ３０５）。もし、保証ソフトウェア、または、重要ソフトウェアであれば、更新処理に移行する（ステップ３０８）。一方、例えば、図４のソフト２は、発生エラー回数が２回であるが、致命的なエラーは発生していない。また、図６のソフト２は非重要、非保証のソフトウェアである。
【００７１】
このような場合、ステップ３０６で更新の確認を行う。本ステップは、本発明に必須のものではないが、ユーザの要望によっては、必要である。更新の確認は、例えば、プリンタ１００のユーザインターフェイス１０７のパネルにソフトウェアの更新があることを表示し、管理者のキー操作を待つか、または、管理者に更新ありの旨を通知し、管理者の指示を待っても良い。
【００７２】
また、ステップ３０７で強制的に更新する場合は、更新処理を実行する（ステップ３０８）が、本実施の形態では、ステップ３０５で保証ソフトウェアでない、または、重要ソフトウェアでない場合は、管理者の更新の指示がなければ、ソフトウェアを自動的に更新させないようになっている。
【００７３】
以上説明したように、本発明は、外部装置よりソフトウェアとそのソフトウェアの更新履歴を取得して、装置内部のソフトウェアに関するエラーの情報を比較し、該当エラーが対策されているか否かをチェックし、対策されていない、もしくは、エラーが発生していない場合には、ソフトウェアの自動更新は行わず、一方、対策されていると判断すれば、ソフトウェアを更新することで、予期しない更新による不具合を最小限に留めるとともに、セキュリティ問題など重要ソフトウェアは更新できるようにすることができる。
【図面の簡単な説明】
【００７４】
【図１】図１はこの発明の実施の形態１に係る情報処理装置を適用したダウンロードシステムを示す構成図である。
【図２】図２はこの発明の実施の形態１に係る情報処理装置としてのプリンタを示すブロック構成図である。
【図３】図３はこの発明の実施の形態１に係る情報処理装置としてのプリンタの通常処理の動作を示すフローチャート図である。
【図４】図４はエラー履歴を示す図表である。
【図５】図５はこの発明の実施の形態１に係る情報処理装置としてのプリンタの更新処理の動作を示すフローチャート図である。
【図６】図６は更新ソフトウェア情報を示す図表である。
【図７】図７はこの発明の実施の形態１に係る情報処理装置としてのプリンタのソフトウェアの更新動作を示すフローチャート図である。
【符号の説明】
【００７５】
１００：プリンタ、１０１：ＣＰＵ、２００：パーソナルコンピュータ、３００：サーバ。
【図１】
2006092374.tif 000003
【図２】
2006092374.tif 000004
【図３】
2006092374.tif 000005
【図４】
2006092374.tif 000006
【図５】
2006092374.tif 000007
【図６】
2006092374.tif 000008
【図７】
2006092374.tif 000009