(57)【要約】【課題】情報処理装置側のドライバの更新後に再起動が実行されるまでの期間において、そのドライバの更新に対応して同時期に更新される周辺機器のファームウェアとの対応の不一致を未然に防ぐ。【解決手段】ＰＣ１は、プリンタ１００のドライバを更新した後、ＯＳの再起動の有無を監視する。そして、ＯＳの再起動の実行が確定したことを条件に、そのドライバの更新と同時期に適用が必要なファームウェア更新データをプリンタ１００へ転送する。プリンタ１００は、ＰＣ１からファームウェア更新データを受信した場合、これを用いてファームウェアを更新する。【選択図】図１
2010225079.tif 000002
【特許請求の範囲】
【請求項１】
周辺機器を制御するためのドライバが組み込まれた情報処理装置と、前記情報処理装置のドライバと連携して自周辺機器を作動させるためのファームウェアが組み込まれた周辺機器とが通信可能に接続された情報処理システムであって、
前記情報処理装置は、
ドライバ更新データを用いて前記情報処理装置のドライバを更新するドライバ更新手段と、
前記ドライバ更新手段によるドライバの更新後において前記情報処理装置の再起動の実行が確定したことを条件に、そのドライバ更新データと対応するファームウェア更新データを前記周辺機器へ転送する転送制御手段とを備え、
前記周辺機器は、
前記情報処理装置から転送されてきたファームウェア更新データに基づいて前記周辺機器のファームウェアを更新するファームウェア更新手段を備えること
を特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムにおいて、
前記情報処理装置は、
前記更新データが適用された更新後のドライバを有効にするために、前記ドライバ更新手段によるドライバの更新後に前記情報処理装置を再起動する必要があるか否かを判断する判断手段を更に備え、
前記情報処理装置の転送制御手段は、前記判断手段によって再起動をする必要があると判断された場合、前記ドライバ更新手段によるドライバの更新後において前記情報処理装置の再起動の実行が確定したことを条件に、そのドライバ更新データと対応するファームウェア更新データを前記周辺機器へ転送する一方、前記判断手段によって再起動をする必要がないと判断された場合、無条件に前記ドライバ更新データと対応するファームウェア更新データを前記周辺機器へ転送すること
を特徴とする情報処理システム。
【請求項３】
周辺機器を制御するためのドライバが組み込まれた情報処理装置と、前記情報処理装置のドライバと連携して自周辺機器を作動させるためのファームウェアが組み込まれた周辺機器とが通信可能に接続された情報処理システムであって、
前記情報処理装置は、
ドライバ更新データ用いて前記情報処理装置のドライバを更新するドライバ更新手段と、
前記ドライバ更新手段によるドライバの更新後における前記情報処理装置の再起動の実行が確定する前に、そのドライバ更新データと対応するファームウェア更新データを前記周辺機器へ転送する転送手段と、
前記ドライバ更新手段によるドライバの更新後において前記情報処理装置の再起動の実行が確定した場合、先に前記転送手段によって転送したファームウェア更新データによるファームウェアの更新を要求する更新指示を前記周辺機器に対して通知する通知手段とを備え、
前記周辺機器は、
前記情報処理装置から転送されてきたファームウェア更新データを、前記周辺機器のファームウェアの更新に適用しない状態で一時的に記憶する記憶手段と、
前記情報処理装置から前記更新指示を受信したことを条件に、前記記憶手段に記憶されているファームウェア更新データを用いて前記周辺機器のファームウェアの更新を行うファームウェア更新手段を備えること
を特徴とする情報処理システム。
【請求項４】
請求項３に記載の情報処理システムにおいて、
前記周辺機器のファームウェア更新手段は、前記ファームウェア更新データを受信したときから、前記更新指示を受信していない状態で所定の時間が経過したと判断した場合、前記更新指示の受信を待たずして前記記憶手段に記憶されているファームウェア更新データを用いて前記周辺機器のファームウェアの更新を行うこと
を特徴とする情報処理システム。
【請求項５】
請求項３又は請求項４に記載の情報処理システムにおいて、
前記周辺機器のファームウェア更新手段は、前記ファームウェア更新データが前記記憶手段に記憶されている状態で、前記記憶手段の空き記憶容量が所定の規定値以下になったと判定した場合、前記更新指示の受信を待たずして前記記憶手段に記憶されているファームウェア更新データを用いて前記周辺機器のファームウェアの更新を行い、前記記憶手段において前記ファームウェア更新データが記憶されている部分の記憶領域を開放すること
を特徴とする情報処理システム。
【請求項６】
請求項４又は請求項５に記載の情報処理システムにおいて、
前記周辺機器は、
前記ファームウェア更新手段によって前記更新指示の受信を待たずして前記ファームウェアの更新が行われた場合、ファームウェアが更新されたことを前記情報処理装置へ通知する更新通知手段を更に備えること
を特徴とする情報処理システム。
【請求項７】
周辺機器を制御するためのドライバが組み込まれた情報処理装置で実行されるドライバ更新プログラムであって、
ドライバ更新データを用いて前記情報処理装置のドライバを更新するドライバ更新手順と、
前記ドライバ更新手順によるドライバの更新後において前記情報処理装置の再起動の実行が確定したことを条件に、そのドライバ更新データと対応するファームウェア更新データを前記周辺機器へ転送する転送制御手順とを有すること
を特徴とするドライバ更新プログラム。
【請求項８】
周辺機器を制御するためのドライバが組み込まれた情報処理装置で実行されるドライバ更新プログラムであって、
ドライバ更新データ用いて前記情報処理装置のドライバを更新するドライバ更新手順と、
前記ドライバ更新手順によるドライバの更新後における前記情報処理装置の再起動の実行が確定する前に、そのドライバ更新データと対応するファームウェア更新データを前記周辺機器へ転送する転送手順と、
前記ドライバ更新手順によるドライバの更新後において前記情報処理装置の再起動の実行が確定した場合、先に前記転送手順によって転送したファームウェア更新データによるファームウェアの更新を要求する更新指示を前記周辺機器に対して通知する通知手順とを有すること
を特徴とするドライバ更新プログラム。
【請求項９】
周辺機器を制御するためのドライバが組み込まれた情報処理装置と、前記情報処理装置のドライバと連携して自周辺機器を作動させるためのファームウェアが組み込まれた周辺機器とが通信可能に接続された情報処理システムを構成する前記周辺機器であって、
前記情報処理装置におけるドライバの更新に伴い前記情報処理装置から転送されてきたファームウェア更新データを、前記周辺機器のファームウェアの更新に適用しない状態で記憶する記憶手段と、
前記情報処理装置で再起動の実行が確定したことに伴い前記情報処理装置から送信されてくる更新指示を受信したことを条件に、前記記憶手段に記憶されているファームウェア更新データを用いて前記周辺機器のファームウェアの更新を行うファームウェア更新手段を備えること
を特徴とする周辺装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に接続される周辺機器に組み込まれているファームウェア、及び情報処理装置に組み込まれているデバイスドライバの更新方法に関する。
【背景技術】
【０００２】
周辺機器（例えばプリンタ）のファームウェアと、その周辺機器を制御するために情報処理装置（例えばＰＣ）に組み込まれるデバイスドライバ（以下、ドライバ）のバージョンを一致させるための技術として、特許文献１に記載のような方法が知られている。ＰＣに組み込まれたドライバが生成する印刷データ内に、期待する（例えば、最新版）ファームウェアのバージョン情報を埋め込んでおく。その印刷データを受信したプリンタは、印刷データからバージョン情報を抜き出し、現在作動中のファームウェアのバージョンと比較する。比較の結果、例えば現在組み込まれているファームウェアのバージョンの方が古い場合、外部Ｗｅｂからファームウェアを取得する。このようにすることで、ＰＣ側に組み込まれているドライバと、プリンタ側に組み込まれているファームウェアのバージョンを一致させることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２３５７３９
【特許文献２】特開２００４−１７８２７８
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ＰＣ側に組み込まれているドライバが最新バージョンで、プリンタ側に組み込まれているファームウェアが古いバージョンである場合、最新バージョンのドライバに対応する新しいファームウェアをプリンタ側で取得すれば、直ちにファームウェアを更新すればよい。この場合、ドライバとファームウェアのバージョンを一致させる上で、プリンタがファームウェアの取得後直ちに更新を行うことに特に問題はない。
【０００５】
一方、特許文献２の段落［００１３］に記載のように、インターネットを介してＰＣがドライバとファームウェアとを同時に取得する技術が存在する。このような技術を用いることで、ＰＣ側でドライバを更新すると共に、ファームウェアをプリンタへ送信することで、プリンタのファームウェアも直ちに更新される。しかしながら、ＰＣ側のドライバを更新した場合、この更新されたドライバを有効にするためにＰＣのオペレーションシステム（ＯＳ）の再起動を要する場合がある。そのため、ＰＣ側でＯＳの再起動が行われるまでは、プリンタ側のファームウェアのみが最新状態で、ＰＣのドライバが依然として古いバージョンのままとなり、ＰＣ側のドライバとプリンタ側のファームウェアを同時に取得したのにも関わらず両者のバージョンが不一致になるという問題があった。
【０００６】
本発明は上記問題を解決するためになされており、情報処理装置側のドライバの更新後に再起動が実行されるまでの期間において、そのドライバの更新に対応して同時期に更新される周辺機器のファームウェアとの対応の不一致を未然に防ぐことを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた請求項１に記載の情報処理システムでは、周辺機器を制御するためのドライバが組み込まれた情報処理装置と、情報処理装置のドライバと連携して自周辺機器を作動させるためのファームウェアが組み込まれた周辺機器とが通信可能に接続されている。このうち、情報処理装置は、ドライバ更新データを用いて情報処理装置のドライバを更新するドライバ更新手段と、ドライバ更新手段によるドライバの更新後において情報処理装置の再起動の実行が確定したことを条件に、そのドライバ更新データと対応するファームウェア更新データを周辺機器へ転送する転送制御手段とを備える。また、周辺機器は、情報処理装置から転送されてきたファームウェア更新データに基づいて周辺機器のファームウェアを更新するファームウェア更新手段を備える。
【０００８】
なお、ここでいうドライバ更新データとは、既存のドライバと差し替えるための新しいドライバそのものであってもよいし、既存のドライバの一部を書き換えるプログラム等であってもよい。また、ファームウェア更新データについても同様である。
【０００９】
また、「ドライバ更新データと対応するファームウェア更新データ」というように、ドライバ更新データとファームウェア更新データとが「対応する」というのは、ドライバ及びファームウェアの性能を完全に発揮し得る最適化された組み合わせであることを示しており、通常、両者のバージョンが最新のものであることを指す。
【００１０】
本発明の情報処理システムによれば、更新後のドライバを有効にするための情報処理装置の再起動に連動して、ファームウェア更新データを情報処理装置から周辺機器へ転送することで、更新後のドライバが有効になるのとほぼ同時期にファームウェアを更新できるようになる。よって、更新後のドライバが有効にならない再起動前に周辺機器のファームウェアの更新のみが有効になることに起因する、ドライバとファームウェアとの対応の不一致を防止できる。
【００１１】
ところで、情報処理装置においてドライバを更新した際、再起動をしなくても更新後のドライバを有効にできるケースもある。その場合、情報処理装置の再起動を待たずに周辺機器のファームウェアを更新しても差し支えない。
【００１２】
そこで、請求項２に記載のように構成するとよい。すなわち、情報処理装置は、更新データが適用された更新後のドライバを有効にするために、ドライバ更新手段によるドライバの更新後に情報処理装置を再起動する必要があるか否かを判断する判断手段を更に備える。そして、情報処理装置の転送制御手段は、判断手段によって再起動をする必要があると判断された場合、ドライバ更新手段によるドライバの更新後において情報処理装置の再起動の実行が確定したことを条件に、そのドライバ更新データと対応するファームウェア更新データを周辺機器へ転送する。一方、判断手段によって再起動をする必要がないと判断された場合、無条件にドライバ更新データと対応するファームウェア更新データを周辺機器へ転送する。
【００１３】
このように構成することで、ドライバの更新によって情報処理装置の再起動が必要ないのであれば、再起動の有無に関わらずファームウェア更新データが直ちに周辺機器へ転送され、周辺機器側でファームウェアの更新を行うことができる。よって、ドライバ及びファームウェアの更新をいち早く完了することができる。
【００１４】
つぎに、請求項３に記載の情報処理システムでは、情報処理装置は、ドライバ更新データ用いて情報処理装置のドライバを更新するドライバ更新手段と、ドライバ更新手段によるドライバの更新後における情報処理装置の再起動の実行が確定する前に、そのドライバ更新データと対応するファームウェア更新データを周辺機器へ転送する転送手段と、ドライバ更新手段によるドライバの更新後において情報処理装置の再起動の実行が確定した場合、先に転送手段によって転送したファームウェア更新データによるファームウェアの更新を要求する更新指示を周辺機器に対して通知する通知手段とを備える。そして、周辺機器は、情報処理装置から転送されてきたファームウェア更新データを、周辺機器のファームウェアの更新に適用しない状態で一時的に記憶する記憶手段と、情報処理装置から更新指示を受信したことを条件に、記憶手段に記憶されているファームウェア更新データを用いて周辺機器のファームウェアの更新を行うファームウェア更新手段を備える。
【００１５】
請求項３に記載の情報処理システムによれば、情報処理装置においてドライバ更新後の再起動が確定する前に、予めファームウェア更新データが周辺機器へと転送される。ただし、ファームウェア更新データを受信した周辺機器では、直ぐにはファームウェアの更新を行わず、情報処理装置の再起動が確定してからファームウェアを更新する。このようにすることで、更新後のドライバが有効になるのとほぼ同時期にファームウェアを更新できるようになる。よって、更新後のドライバが有効にならない再起動前に周辺機器のファームウェアの更新のみが有効になることに起因する、ドライバとファームウェアとの対応の不一致を防止できる。
【００１６】
つぎに、請求項４に記載の情報処理システムは次のような特徴を有する。すなわち、周辺機器のファームウェア更新手段は、ファームウェア更新データを受信したときから、更新指示を受信していない状態で所定の時間が経過したと判断した場合、更新指示の受信を待たずして記憶手段に記憶されているファームウェア更新データを用いて周辺機器のファームウェアの更新を行う。
【００１７】
このようにすることで、周辺機器がファームウェア更新データを受信してから、何らかの理由により情報処理装置側から更新指示が受信できなかった場合でも、記憶手段の記憶領域が長時間にわたってファームウェア更新データに占有され続ける状態を回避できる。
【００１８】
ところで、プリンタや複合機等の周辺機器では、作業用のメモリに印刷データ等が記憶される。このような作業用メモリを本発明における記憶手段として利用する場合、ファームウェア更新データがこの作業用メモリに記憶され続けることで印刷データを記憶するための記憶容量を圧迫しないように配慮する必要がある。
【００１９】
そこで、請求項５に記載のように構成するとよい。すなわち、周辺機器のファームウェア更新手段は、ファームウェア更新データが記憶手段に記憶されている状態で、記憶手段の空き記憶容量が所定の規定値以下になったと判定した場合、更新指示の受信を待たずして記憶手段に記憶されているファームウェア更新データを用いて周辺機器のファームウェアの更新を行い、記憶手段においてファームウェア更新データが記憶されている部分の記憶領域を開放する。
【００２０】
このようにすることで、記憶手段の記憶容量が少なくなった状態にも関わらず、ファームウェア更新データによって記憶領域が占有され続けてしまうといった状態を回避できる。
【００２１】
なお、請求項６に記載のように、情報処理装置からの更新指示の受信を待たずして周辺機器においてファームウェアの更新が行われた場合、その旨を情報処理装置に通知するように構成するとよい。このようにすることで、情報処理装置側でドライバの更新後に再起動が行われていない状態で周辺機器からの更新通知を受信した場合、ユーザがドライバとファームウェアとの対応の不一致に気づき、必要に応じて情報処理装置を再起動させてドライバの更新を有効にすることができる。また、情報処理装置が周辺機器から更新通知を受信した場合、ユーザに対して情報処理装置の再起動を促すメッセージを報知するように構成することもできる。さらに、情報処理装置からの更新指示の受信を待たずして周辺機器においてファームウェアの更新が行われた場合、情報処理装置では、更新指示を周辺機器に対して出力する必要がなくなったにも関わらず、更新指示を出力するための処理を継続することになる。そこで、周辺機器からの更新通知を受信した場合に、更新指示を出力するための処理を停止させるように構成することで、情報処理装置側の処理を軽減させることができる。
【００２２】
つぎに、請求項７に記載のドライバ更新プログラムは、ドライバ更新データを用いて情報処理装置のドライバを更新するドライバ更新手順と、ドライバ更新手順によるドライバの更新後において情報処理装置の再起動の実行が確定したことを条件に、そのドライバ更新データと対応するファームウェア更新データを周辺機器へ転送する転送制御手順とを有することを特徴とする。
【００２３】
このように構成されたドライバ更新プログラムを情報処理装置で実行することで、請求項１に記載の情報処理システムについて記述した効果と同様の効果を得られる。なお、このドライバ更新プログラムは、ドライバ更新データ及びファームウェア更新データとセットにして情報処理装置へ供給するといった運用が考えられる。
【００２４】
つぎに、請求項８に記載のドライバ更新プログラムは、ドライバ更新データ用いて情報処理装置のドライバを更新するドライバ更新手順と、ドライバ更新手順によるドライバの更新後における情報処理装置の再起動の実行が確定する前に、そのドライバ更新データと対応するファームウェア更新データを周辺機器へ転送する転送手順と、ドライバ更新手順によるドライバの更新後において情報処理装置の再起動の実行が確定した場合、先に転送手順によって転送したファームウェア更新データによるファームウェアの更新を要求する更新指示を周辺機器に対して通知する通知手順とを有することを特徴とする。
【００２５】
このように構成されたドライバ更新プログラムを情報処理装置で実行することで、請求項３に記載の情報処理システムについて記述した効果と同様の効果を得られる。なお、このドライバ更新プログラムは、ドライバ更新データ及びファームウェア更新データとセットにして情報処理装置へ供給するといった運用が考えられる。
【００２６】
つぎに、請求項９に記載の周辺機器は、請求項３に記載の情報処理システムを構成する周辺機器に相当する。すなわち、この周辺機器は、情報処理装置におけるドライバの更新に伴い情報処理装置から転送されてきたファームウェア更新データを、周辺機器のファームウェアの更新に適用しない状態で記憶する記憶手段と、情報処理装置で再起動の実行が確定したことに伴い情報処理装置から送信されてくる更新指示を受信したことを条件に、記憶手段に記憶されているファームウェア更新データを用いて周辺機器のファームウェアの更新を行うファームウェア更新手段を備える。このように構成された周辺装置によれば、請求項３に記載の情報処理システムに関して記述した効果と同様の効果を得られる。
【図面の簡単な説明】
【００２７】
【図１】実施形態の印刷システムの概略構成を示すブロック図である。
【図２】ＰＣ１が実行する更新処理の手順を示すフローチャートである。
【図３】ファームウェア更新通知画面の表示例を示す説明図である。
【図４】再起動確認画面の表示例を示す説明図である。
【図５】第１実施形態のファームウェア転送処理の手順を示すフローチャートである。
【図６】第２実施形態のファームウェア転送処理の手順を示すフローチャートである。
【図７】第１実施形態のファームウェア更新処理の手順を示すフローチャートである。
【図８】第２実施形態のファームウェア更新処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２８】
以下、本発明の一実施形態を図面に基づいて説明する。なお、本発明は下記の実施形態に何ら限定されるものではなく様々な態様にて実施することが可能である。
［印刷システムの構成の説明］
本発明の一実施形態である印刷システムは、図１に示すように、パーソナルコンピュータ１（本発明の情報処理装置に相当）と、ＰＣ１に接続されたプリンタ１００（本発明の周辺機器に相当）とを備える。
【００２９】
ＰＣ１は、周知のコンピュータ装置と同様の構成を有し、ＣＰＵ１０、ＲＯＭ１２、ＲＡＭ１４、ハードディスクドライブ（以下、ＨＤＤ）１６、表示部１８、操作部２０、及び通信インタフェース（以下、通信Ｉ／Ｆ）２２等を備える。
【００３０】
ＣＰＵ１０は、ＲＯＭ１２に記憶されたプログラムやデータに従って各種演算を実行する装置であり、本実施形態においては、ＰＣ１にインストールされているプリンタドライバプログラム（以下、ドライバ）に従って、プリンタ１００に対して印刷データを出力する。ＲＯＭ１２は、ＰＣ１の電源を切っても記憶内容を保持する記憶装置で、ＩＰＬやＢＩＯＳといった一部のプログラムや読み出し専用のデータ等を記憶している。
【００３１】
ＲＡＭ１４は、ＣＰＵ１０から直接アクセスされるメインメモリとして利用される記憶装置である。このＲＡＭ１４には、ＣＰＵ１０で実行される各種プログラムがＲＯＭ１２やＨＤＤ１６から読み込まれ、また、ＣＰＵ１０による各種演算の結果や各種データも記憶される。上記の印刷制御に係る演算処理を実行する際には、各処理を実行するためのプログラムがＨＤＤ１６からＲＡＭ１４へ読み込まれる。そして、ＲＡＭ１４に記憶されたプログラムに従って、ＣＰＵ１０が処理を実行することになる。
【００３２】
ＨＤＤ１６は、ＯＳやアプリケーションプログラム、ドライバ、各種データファイルを保存しておくための補助記憶装置である。ＰＣ１に接続されているプリンタ１００を制御するためのドライバもＨＤＤ１６に格納されている。表示部１８は、液晶ディスプレイ等で構成されており、各種情報を表示する。操作部２０は、マウス等のポインティングデバイスやキーボードにより構成されており、ユーザによる操作に応じた指令をＣＰＵ１０へ入力する。通信Ｉ／Ｆ２２は、ＰＣ１にプリンタ印刷装置やその他周辺機器を接続したり、ＰＣ１をネットワークへ接続するためのハードウェアインタフェースである。なお、図１においては、この通信Ｉ／Ｆ２２を介してＰＣ１とプリンタ１００とが通信可能に接続されており、更に、ＰＣ１がインターネット２００へ接続されている状態を示している。
【００３３】
プリンタ１００は、印刷用紙に画像を印刷する印刷装置であり、ＣＰＵ１０２、ＲＯＭ１０４、ＲＡＭ１０６、不揮発性メモリ１０８、操作部１１０、表示部１１２、印刷部１１４、及び通信インタフェース（以下、通信Ｉ／Ｆ）１１６等を備えている。
【００３４】
ＣＰＵ１０２は、ＲＯＭ１０４や不揮発性メモリ１０８に記憶されたプログラムやデータに従って各種演算を実行する装置であり、上述の画像印刷に係る演算処理はこのＣＰＵ１０２によって実行される。ＲＯＭ１０４は、プリンタ１００の電源を切っても記憶内容を保持する記憶装置で、ＰＣ１のドライバと連携してプリンタ１００を作動させるためのファームウェア等のプリンタ１００の作動用のプログラムや読み出し専用のデータ等を記憶している。
【００３５】
ＲＡＭ１０６は、ＣＰＵ１０２から直接アクセスされるメインメモリとして利用される記憶装置である。このＲＡＭ１０６には、ＣＰＵ１０２で実行される各種プログラムがＲＯＭ１０４から読み込まれ、また、ＣＰＵ１０２による各種演算の結果や各種データも記憶される。上述の画像印刷に係る演算処理を実行する際には、各処理を実行するためのプログラムがＲＯＭ１０４からＲＡＭ１０６へ読み込まれる。そして、ＲＡＭ１０６に記憶されたプログラムに従って、ＣＰＵ１０が処理を実行することになる。
【００３６】
不揮発性メモリ１０８は、電源を切っても記憶内容が消えない書き換え可能な半導体メモリ（例えば、フラッシュメモリ）等によって構成されており、印刷データ等の各種データを記憶する。操作部１１０は、テンキーや文字キー、ファンクションキー等のキースイッチ群を備え、ユーザによるキー操作に応じた指令をＣＰＵ１０２へ入力する。表示部１１２は、液晶ディスプレイ等で構成された出力装置であり、プリンタ１００の動作状態や操作ガイダンス等の各種情報を表示する。
【００３７】
印刷部２２は、ＣＰＵ１０２からの制御に基づいて、例えばインクジェット方式あるいはレーザ方式等により、印刷用紙に画像を印刷する装置である。通信Ｉ／Ｆ１１６は、プリンタ１００と他の情報処理装置等を接続するためのハードウェアインタフェースであり、例えば、ＵＳＢ（Universal Serial Bus）等のリシアルバスやネットワークアダプタ等が用いられる。
【００３８】
［ドライバ及びファームウェアを更新する手順の概要］
上述のような印刷システムにおいて、ＰＣ１は、プリンタ１００を制御するためのドライバによってドキュメントの印刷データを作成し、この作成した印刷データをプリンタ１００へ送信する。プリンタ１００は、ファームウェアによってＰＣ１から送られてきた印刷データから画像を生成し、これを印刷する。
【００３９】
ＰＣ１及びプリンタ１００にインストールされているドライバ及びファームウェアは、ソフトウェアベンダ等から提供される更新データを用いることで、それぞれ最新バージョンへ更新することができる。その際、ドライバ及びファームウェアの性能を完全に発揮し得る最適化された組み合わせとして、例えば、ドライバ及びファームウェアを最新バージョンへ同時期に更新するための更新データ（ドライバ更新データ、ファームウェア更新データ）がセットで提供される。さらに、これらの更新データをＰＣ１及びプリンタ１００へ導入するためのインストーラプログラムも更新データに同梱して提供される。なお、ここでいうドライバ更新データとは、既存のドライバと差し替えるための新しいドライバそのものであってもよいし、既存のドライバの一部を書き換えるプログラム等であってもよい。また、ファームウェア更新データについても同様である。
【００４０】
このような更新データ及びインストーラプログラムを含む更新パッケージは、例えば、インターネット２００経由でソフトウェアベンダ側のＷｅｂサイトからＰＣ１００へダウンロードするといった提供方法や、更新パッケージのデータを記憶した記憶媒体をＰＣ１に接続し、ＰＣ１がこれを読み取るといった提供方法が考えられる。
【００４１】
上記のような方法で更新パッケージを取得したＰＣ１は、同梱のインストーラプログラムを実行し、その手順に従ってドライバを更新するとともにファームウェア更新データをプリンタ１００へ転送する。なお、この一連の処理の詳細な内容については後述する。
【００４２】
［ＰＣ１が実行する更新処理の説明］
つぎに、ＰＣ１において実行される更新処理の手順について、図２のフローチャートに基づき説明する。この更新処理は、ＰＣ１で取得済みの更新パッケージに同梱のインストーラプログラムに従ってＰＣ１のＣＰＵ１０が実行する処理である。
【００４３】
ＰＣ１のＣＰＵ１０は、まず、予め取得済みのドライバ更新データ及びファームウェア更新データによって提供されるドライバ及びファームウェアのバージョンと、ＰＣ１側のドライバ及びプリンタ１００側のファームウェアのバージョンとを比較し、更新の必要があるか否かを調べる（Ｓ１００）。ここでは、更新用データのバージョンが、現在インストールされているドライバ又はファームウェアのバージョンよりも新しい場合に更新の必要があると判定する。そして、この調査の結果、ドライバ及びファームウェアの両方に更新の必要があるか否かを判定する（Ｓ１０１）。Ｓ１０１での判定の結果、ドライバ又はファームウェアの何れか一方に更新が必要である、あるいはドライバ及びファームウェアの何れにも更新の必要がないと判定した場合（Ｓ１０１：ＮＯ）、更新が必要なドライバ又はファームウェアの何れか一方を各個に更新するか（Ｓ１０２）、あるいは更新を全くしないで更新処理を終了する。なお、Ｓ１０２では、ＰＣ１側のドライバに更新の必要がある場合、ドライバ更新データを用いてドライバの更新を行う。このとき、ドライバの更新を有効にするためにＰＣ１のＯＳの再起動が必要であれば、適宜再起動を行う。あるいは、プリンタ１００のファームウェアに更新の必要がある場合、ファームウェア更新データをプリンタ１００へ転送する。
【００４４】
一方、Ｓ１０１でドライバ及びファームウェアの両方に更新の必要があると判定した場合（Ｓ１０１：ＹＥＳ）、まず、ドライバ更新データを用いてＰＣ１側のドライバを更新する（Ｓ１０３）。そして、ドライバの更新を有効にするためにＯＳの再起動が必要であるか否かを判定する（Ｓ１０４）。ここで、ＯＳの再起動が不要であると判定した場合（Ｓ１０４：ＮＯ）、ＰＣ１００側のファームウェアの更新をユーザに通知するためのＧＵＩ（Graphical User Interface）を表示部１８に表示する（Ｓ１０５）。
【００４５】
図３に、Ｓ１０５におけるファームウェア更新通知画面の表示例を示す。このＧＵＩには、更新後のドライバに対応した新しいファームウェアをプリンタ１００に適用する旨のメッセージ等が記述されている。ユーザは、このＧＵＩの内容を確認することで、ＰＣ１側のドライバの更新とともに、プリンタ１００側のファームウェアの更新も行われることを知ることができる。
【００４６】
図２のフローチャートの説明に戻る。Ｓ１０５でファームウェアの更新を通知するＧＵＩを表示した後、ファームウェア更新データをプリンタ１００へ転送し（Ｓ１０６）、更新処理を終了する。なお、ＰＣ１からファームウェア更新データを受信したプリンタ１００は、この受信したファームウェア更新データを用いて、自プリンタ１００にインストールされているファームウェアを更新する。一方、Ｓ１０４でドライバの更新を有効にするためにＯＳの再起動が必要であると判定した場合（Ｓ１０４：ＹＥＳ）、再起動の可否をユーザに問い合わせるためのＧＵＩを表示部１８に表示する（Ｓ１０７）。
【００４７】
図４に、Ｓ１０７における再起動確認画面の表示例を示す。このＧＵＩには、ＰＣ１側のドライバが更新され、この更新を有効にするためにＯＳの再起動が必要であることを通知するメッセージ等が表示されている。さらに、このＧＵＩには、ＯＳの再起動を直ちに行うか否かを選択するためのラジオボタン３０１，３０２が設けられている。これらのラジオボタン３０１，３０２のうち何れか一方のボタンの「○」図形にポインティングデバイスを介してチェック（●印）を入れることで、再起動を直ちに行うか、あるいは再起動を保留するかの何れか一方の指示を選択することができる。ラジオボタン３０１，３０２で再起動を直ちに行うか否かを選択した後、完了ボタン３０３をポインティングデバイスでクリックすることで、その選択した内容が更新処理に反映される。
【００４８】
図２のフローチャートの説明に戻る。Ｓ１０８では、上述の再起動確認画面での選択結果に基づき、ユーザによりＯＳの再起動が承認された否かを判定する。ここで、ＯＳの再起動が承認されたと判定した場合（Ｓ１０８：ＹＥＳ）、ファームウェア更新データをプリンタ１００へ転送する（Ｓ１０９）。なお、ＰＣ１からファームウェア更新データを受信したプリンタ１００は、この受信したファームウェア更新データを用いて、自プリンタ１００にインストールされているファームウェアを更新する。Ｓ１０９でファームウェア更新データを転送した後、ＯＳの再起動処理を開始し（Ｓ１１０）、更新処理を終了する。
【００４９】
一方、Ｓ１０８でＯＳの再起動が保留されたと判定した場合（Ｓ１０８：ＮＯ）、ファームウェア転送処理のプロセスを起動し（Ｓ１１１）、更新処理を終了する。なお、Ｓ１１１で起動するファームウェア転送処理の詳細な内容については後述する。
【００５０】
［ＰＣ１が実行するファームウェア転送処理（第１実施形態）の説明］
つぎに、ＰＣ１において実行されるファームウェア転送処理の第１実施形態の手順について、図５のフローチャートに基づき説明する。この処理は、ＰＣ１で取得済みの更新パッケージに同梱のインストーラプログラムに従ってＰＣ１のＣＰＵ１０が実行する処理であり、上述の更新処理（図２参照）のＳ１１１で起動されるプロセスである。
【００５１】
ＣＰＵ１０は、まず、ＯＳの再起動処理又は終了処理の実施の有無を監視する（Ｓ２００）。Ｓ２００での監視の結果、ＯＳの再起動処理又は終了処理の実行が確定したか否かを判定する（Ｓ２０１）。ここで、ＯＳの再起動処理又は終了処理の何れも確定していないと判定した場合（Ｓ２０１：ＮＯ）、Ｓ２００の処理へ戻って監視を継続する。一方、ＯＳの再起動又は終了の実行が確定したと判定した場合（Ｓ２０２：ＹＥＳ）、ファームウェア更新データをプリンタ１００へ転送する（Ｓ２０２）。
【００５２】
［ＰＣ１が実行するファームウェア転送処理（第２実施形態）の説明］
つぎに、ＰＣ１において実行されるファームウェア転送処理の第２実施形態の手順について、図６のフローチャートに基づき説明する。この処理は、ＰＣ１で取得済みの更新パッケージに同梱のインストーラプログラムに従ってＰＣ１のＣＰＵ１０が実行する処理であり、上述の更新処理（図２参照）のＳ１１１で起動されるプロセスである。
【００５３】
ＣＰＵ１０は、まず、ファームウェア更新データをプリンタ１００へ転送する（Ｓ３００）。つぎに、ＯＳの再起動処理又は終了処理の実施の有無を監視する（Ｓ３０１）。Ｓ３０１での監視の結果、ＯＳの再起動処理又は終了処理の実行が確定したか否かを判定する（Ｓ３０２）。ここで、ＯＳの再起動処理又は終了処理の何れも確定していないと判定した場合（Ｓ３０２：ＮＯ）、プリンタ１００からファームウェアの更新通知を受信したか否かを判定する（Ｓ３０３）。このファームウェアの更新通知は、プリンタ１００がＰＣ１からの更新指示の受信を待たずにファームウェアを更新したことを条件に、プリンタ１００から送信される通知である。
【００５４】
Ｓ３０３で、プリンタ１００からファームウェアの更新通知を受信していないと判定した場合（Ｓ３０３：ＮＯ）、Ｓ３０１の処理へ戻って監視を継続する。一方、プリンタ１００からファームウェアの更新通知を受信したと判定した場合（Ｓ３０３：ＹＥＳ）、ファームウェア転送処理を終了する。
【００５５】
一方、Ｓ３０２でＯＳの再起動又は終了の実行が確定したと判定した場合（Ｓ３０２：ＹＥＳ）、ファームウェア更新指示をプリンタ１００へ送信し（Ｓ３０４）、ファームウェア転送処理を終了する。
【００５６】
［プリンタ１００が実行するファームウェア更新処理（第１実施形態）の説明］
つぎに、プリンタ１００において実行されるファームウェア更新処理の第１実施形態の手順について、図７のフローチャートに基づき説明する。この処理は、ＰＣ１で実行される第１実施形態のファームウェア更新処理（図５）に対応するプリンタ１００側の処理でありプリンタ１００の起動後に開始され、プリンタ１００の稼動中において繰り返し実行される。
【００５７】
ＣＰＵ１０２は、まず、ＰＣ１から送信されるファームウェア更新データの受信の有無を監視する（Ｓ４００）。Ｓ４００での監視の結果、ファームウェア更新データを受信したか否かを判定する（Ｓ４０１）。ファームウェア更新データを受信していないと判定した場合（Ｓ４０１：ＮＯ）、Ｓ４００の処理へ戻って監視を継続する。一方、ファームウェア更新データを受信したと判定した場合（Ｓ４０１：ＹＥＳ）、この受信したファームウェア更新データを用いて、自プリンタ１００にインストールされているファームウェアを更新し（Ｓ４０２）、ファームウェア更新処理を終了する。具体的には、受信したファームウェア更新データを一旦、不揮発性メモリ１０８に記憶する。そして、ＲＯＭ１０４に記憶されている、今まで使用していた既存のファームウェアに、受信したファームウェア更新データを上書きすることにより、ファームウェアを更新する。なお、ファーム更新データの内容により、既存のファームウェア全部が上書きにより消去される場合と、一部が上書きにより消去される場合とがあり得る。ファームウェアの更新後、不揮発性メモリ１０８に一時的に記憶したファームウェア更新データを消去し、メモリを開放する。
【００５８】
［プリンタ１００が実行するファームウェア更新処理（第２実施形態）の説明］
つぎに、プリンタ１００において実行されるファームウェア更新処理の第２実施形態の手順について、図８のフローチャートに基づき説明する。この処理は、ＰＣ１で実行される第２実施形態のファームウェア更新処理（図６）に対応するプリンタ１００側の処理であり、プリンタ１００の起動後に開始され、プリンタ１００の稼動中において繰り返し実行される。
【００５９】
ＣＰＵ１０２は、まず、不揮発性メモリ１０８の特定の記憶領域に未適用のファームウェア更新データが記憶されているか否かを判定する（Ｓ５００）。ここで、不揮発性メモリ１０８にファームウェア更新データが記憶されていないと判定した場合（Ｓ５００：ＮＯ）、ＰＣ１から送信されるファームウェア更新データの受信の有無を監視する（Ｓ５０１）。Ｓ５０１での監視の結果、ファームウェア更新データを受信したか否かを判定する（Ｓ５０２）。ファームウェア更新データを受信していないと判定した場合（Ｓ５０２：ＮＯ）、Ｓ５０１の処理へ戻って監視を継続する。
【００６０】
一方、ＰＣ１からファームウェア更新データを受信したと判定した場合（Ｓ５０２：ＹＥＳ）、この受信したファームウェア更新データをファームウェアの更新に適用しないまま不揮発性メモリ１０８の特定の記憶領域に格納し（Ｓ５０３）、タイムアウト判定のための時間の計測を開始する（Ｓ５０４）。
【００６１】
つぎに、不揮発性メモリ１０８の空き記憶容量が規定値以下になったか否かを判定する（Ｓ５０５）。ここで、不揮発性メモリ１０８の空き記憶容量が規定値より大きいと判定した場合（Ｓ５０５：ＮＯ）、時間の計測を開始してから所定のタイムアウト時間を経過したか否かを判定する（Ｓ５０６）。ここで、タイムアウト時間を経過していないと判定した場合（Ｓ５０６：ＮＯ）、ＰＣ１からファームウェア更新指示を受信したか否かを判定する（Ｓ５０７）。なお、ここでいうファームウェア更新指示とは、ＰＣ１が実行する第２実施形態のファームウェア転送処理（図６参照）のＳ３０４で送信されるものである。
【００６２】
Ｓ５０７でファームウェア更新指示を受信していないと判定した場合（Ｓ５０７：ＮＯ）、Ｓ５０５の処理へ戻る。
以降、Ｓ５０５〜Ｓ５０７の処理を順次繰り返す過程において、Ｓ５０５でＰＣ１からファームウェア更新指示を受信したと判定した場合（Ｓ５０７：ＹＥＳ）、不揮発性メモリ１０８に格納してあるファームウェア更新データを用いて、ＲＯＭ１０４に記憶されている既存のファームウェアを更新するとともに、不揮発性メモリ１０８に格納してあるファームウェア更新データを消去してその記憶領域を開放し（Ｓ５０９）、ファームウェア更新処理を終了する。
【００６３】
一方、Ｓ５０５で不揮発性メモリ１０８の空き記憶容量が規定値以下になったと判定した場合（Ｓ５０５：ＹＥＳ）、あるいは、Ｓ５０６でタイムアウト時間を経過したと判定した場合（Ｓ５０６：ＹＥＳ）、ＰＣ１に対してファームウェアの更新通知を送信する（Ｓ５０８）。そして、ＰＣ１からのファームウェア更新指示を待たずして、不揮発性メモリ１０８に格納してあるファームウェア更新データを用いてファームウェアを更新するとともに、不揮発性メモリ１０８からファームウェア更新データを消去してその記憶領域を開放し（Ｓ５０９）、ファームウェア更新処理を終了する。
【００６４】
あるいは、Ｓ５００で不揮発性メモリ１０８に未適用のファームウェア更新データが記憶されていると判定した場合（Ｓ５００：ＹＥＳ）、ＰＣ１に対してファームウェアの更新通知を送信する（Ｓ５０８）。そして、不揮発性メモリ１０８に記憶されているファームウェア更新データを用いてファームウェアを更新するとともに、不揮発性メモリ１０８からファームウェア更新データを消去してその記憶領域を開放し（Ｓ５０９）、ファームウェア更新処理を終了する。なお、ファームウェア更新処理開始直後のＳ５００において肯定判定をするケースというのは、前回のファームウェア更新処理の実行時にＰＣ１からファームウェアを受信した後、これを適用する前にプリンタ１００の電源が切られる等の何らかの理由で処理が中断した可能性が高いと判断できる。よって、この場合、ＰＣ１からファームウェア更新指示が送信されてくることは期待できないため、直ちにこのファームウェア更新データを用いてファームウェアを更新するのである。
【００６５】
以上、実施形態の印刷システムについて説明したが、ここで実施形態の印刷システムの構成と特許請求の範囲に記載の構成との対応について説明する。
ＰＣ１が特許請求の範囲における情報処理装置に相当する。そして、ＰＣ１のＣＰＵ１０がドライバ更新手段、転送制御手段、判断手段、転送手段及び通知手段に相当する。
【００６６】
プリンタ１００が特許請求の範囲における周辺機器に相当する。そして、プリンタ１００のＣＰＵ１０２がファームウェア更新手段及び更新通知手段に相当する。また、不揮発性メモリ１０８が記憶手段に相当する。
【００６７】
［効果］
上記実施形態の印刷システムによれば、次のような効果を奏する。
（１）ＰＣ１が実行する第1実施形態のファームウェア転送処理（図５参照）では、更新後のドライバを有効にするためのＰＣ１の再起動に連動して、ファームウェア更新データをプリンタ１００へ転送することで、更新後のドライバが有効になるのとほぼ同時期にファームウェアを更新できるようになる。よって、更新後のドライバが有効にならない再起動前にプリンタ１００のファームウェアの更新のみが有効になることに起因する、ドライバとファームウェアとの対応の不一致を防止できる。
【００６８】
（２）ＰＣ１が実行する更新処理（図２参照）では、ドライバの更新によってＰＣ１の再起動が必要ないのであれば、再起動の有無に関わらずファームウェア更新データが直ちにプリンタ１００へ転送される。よって、ドライバ及びファームウェアの更新をいち早く完了することができる。
【００６９】
（３）ＰＣ１が実行する第２実施形態のファームウェア転送処理（図６参照）では、ＰＣ１においてドライバ更新後の再起動が確定する前に、予めファームウェア更新データがプリンタ１００へと転送される。ただし、ファームウェア更新データを受信したプリンタ１００では、直ぐにはファームウェアの更新を行わず、ＰＣ１の再起動が確定してからファームウェアを更新する。このようにすることで、更新後のドライバが有効になるのとほぼ同時期にファームウェアを更新できるようになる。よって、更新後のドライバが有効にならない再起動前にプリンタ１００のファームウェアの更新のみが有効になることに起因する、ドライバとファームウェアとの対応の不一致を防止できる。
【００７０】
（４）同じく第２実施形態のファームウェア更新処理では、ファームウェア更新データを受信したときから所定のタイムアウト時間が経過した場合、ＰＣ１からの更新指示を待たずにファームウェアの更新を行う。このようにすることで、プリンタ１００がファームウェア更新データを受信してから、何らかの理由によりＰＣ１から更新指示が受信できなかった場合でも、不揮発性メモリ１０８の記憶領域が長時間にわたってファームウェア更新データに占有され続ける状態を回避できる。
【００７１】
（５）同じく第２実施形態のファームウェア更新処理では、ファームウェア更新データが不揮発性メモリ１０８に記憶されている状態で空き容量が所定の規定値以下になった場合、ＰＣ１からの更新指示の受信を待たずしてファームウェアの更新を行い、ファームウェア更新データが記憶されている記憶領域を開放する。このようにすることで、不揮発性メモリ１０８の記憶容量が少なくなった状態にも関わらず、ファームウェア更新データによって記憶領域が占有され続けてしまうといった状態を回避できる。
【００７２】
（６）同じく第２実施形態のファームウェア更新処理では、ＰＣ１からの更新指示の受信を待たずしてファームウェアの更新をした場合、その旨をＰＣ１に通知する。このようにすることで、ＰＣ１側でドライバの更新後に再起動が行われていない状態でプリンタ１００からのファームウェア更新通知を受信した場合、ユーザがドライバとファームウェアとの対応の不一致に気づき、必要に応じてＰＣ１を再起動させてドライバの更新を有効にすることができる。また、ＰＣ１がプリンタ１００からファームウェア更新通知を受信した場合、ユーザに対してＰＣ１の再起動を促すメッセージを報知するように構成することもできる。
【００７３】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上記の実施形態に何ら限定されるものではなく様々な態様にて実施することが可能である。
【００７４】
例えば、上記実施形態においては、本発明の周辺機器としてプリンタを適用した事例について説明した。しかしながら、ＰＣ１側のデバイスドライバと周辺機器側のファームウェアとが連携して処理を行い、なおかつ、共にアップデートが可能であるものであれば、本発明の技術思想は、上記実施形態のようなプリンタに限らず、様々な周辺機器（例えば、スキャナ、ファクシミリ、複合機等）にも適用できる。
【符号の説明】
【００７５】
１…パーソナルコンピュータ（ＰＣ）、１０…ＣＰＵ、１２…ＲＯＭ、１４…ＲＡＭ、１６…ＨＤＤ、１８…表示部、２０…操作部、２２…通信インタフェース（Ｉ／Ｆ）、１００…プリンタ、１０２…ＣＰＵ、１０４…ＲＯＭ、１０６…ＲＡＭ、１０８…不揮発性メモリ、１１０…操作部、１１２…表示部、１１４…印刷部、１１６…通信インタフェース（Ｉ／Ｆ）、２００…インターネット。
【図１】
2010225079.tif 000003
【図２】
2010225079.tif 000004
【図５】
2010225079.tif 000005
【図６】
2010225079.tif 000006
【図７】
2010225079.tif 000007
【図８】
2010225079.tif 000008
【図３】
2010225079.tif 000009
【図４】
2010225079.tif 000010