説明

コンピュータの周辺装置及びそのソフトウエアのインストール方法

【課題】記憶部の記憶容量がインストールされるソフトウエアのファイル容量の大きさに比して相対的に小さい場合であっても、インストールの失敗による周辺装置の再起動不能を防止、抑制して、ソフトウエアをインストールすることを目的とする。
【解決手段】更新ファイルのファイル容量情報と解凍後のファイルのファイル容量情報とを含むファイル情報と、インストール先であるフラッシュメモリの空き容量を比較し、フラッシュメモリの空き容量が、更新ファイルのファイル容量と解凍後のファイルのファイル容量とを合わせた容量未満の場合であって、解凍後のファイルのファイル容量以上である場合には、プリンタの起動に必要なファイルをフラッシュメモリに存在させた状態でインストールを行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータの周辺装置にソフトウエアをインストールする技術に関する。
【背景技術】
【0002】
従来、コンピュータの周辺装置は、ソフトウエアをフラッシュメモリにインストールする場合に、フラッシュメモリとRAMとの容量の比較結果に基づいて、RAM上で動作可能ならばRAM上で動作するように、RAM上で動作不可能であればフラッシュメモリ上で動作するように動作環境を設定してインストールしていた(特許文献1)。
【0003】
【特許文献1】特開2000−242503号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
フラッシュメモリは、書き換え可能な不揮発メモリであり、通常、電源断により消去されて困るプログラム、例えば、周辺装置のファームウエアを記憶している。周辺装置は、周辺装置の利便性向上、機能向上のために更新され、更新では、ホスト装置から受信されたファームウエアの更新ファイルが、フラッシュメモリにインストールされる。更新ファイルは、ネットワークのトラフィック量の増加を防止できることから、あるいは、複数のモジュールを1つにまとめることにより取り扱いが容易になることから、一般的には、圧縮形式のファイルとなっている。したがって、周辺装置がファームウエアをインストールする場合には、フラッシュメモリ上に、更新ファイルを記憶する領域と更新ファイルを解凍する領域とが必要である。
【0005】
しかし、ファームウエアの巨大化により、周辺装置は、フラッシュメモリ上に、更新ファイルを記憶する領域と更新ファイルを解凍する領域とを確保することが困難になってきている。一方、周辺装置は、ファームウエアをインストールする場合に、先に更新される旧ファームウエアをフラッシュメモリから削除すれば、フラッシュメモリ上に更新ファイルを記憶する領域と更新ファイルを解凍する領域とを確保することは可能となるが、旧ファームウエアを削除してから更新ファイルをインストールするまでの期間は、フラッシュメモリ上にファームウエアが存在しないことになる。その結果、周辺装置は、例えば、ファームウエアのインストール中に発生した電源断等によりファームウエアのインストールに失敗すると、再起動できなくなる恐れがある。
【0006】
本発明の目的は、上記課題を解決し、記憶部の記憶容量がインストールされるソフトウエアのファイル容量の大きさに比して相対的に小さい場合であっても、インストールの失敗による周辺装置の再起動不能を防止、抑制して、ソフトウエアをインストールすることを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明に係る周辺装置は、コンピュータの周辺装置であって、前記コンピュータからソフトウエアを圧縮してなる更新ファイルと、少なくとも前記更新ファイルのファイル容量情報と前記更新ファイルを解凍した後のファイルのファイル容量情報とを含むファイル情報とを受信する受信手段と、前記解凍後のファイルがインストールされる第1の記憶手段と、前記第1の記憶手段の空き容量を算出する空き容量算出手段と、前記ファイル情報に含まれる解凍後のファイルのファイル容量情報と前記第1の記憶手段の空き容量とを比較し、前記第1の記憶手段の空き容量が、前記更新ファイルのファイル容量と前記解凍後のファイルのファイル容量とを合わせた容量未満の場合であって、前記解凍後のファイルのファイル容量以上である場合には、周辺装置の起動に必要なファイルを前記第1の記憶手段に存在させた状態で前記更新ファイルを解凍し、解凍後のファイルを前記第1の記憶手段にインストールするインストール手段とを備える。
【0008】
本発明に係る周辺装置によれば、ソフトウエアのインストール前の第1の記憶手段の空き容量が前記更新ファイルのファイル容量と前記解凍後のファイルのファイル容量とを合わせた容量未満であっても、解凍後のファイルの空き容量以上である場合には、インストール手段は、周辺装置の再起動に必要なファイルを第1の記憶手段に存在させた状態でインストールを実行するので、ソフトウエアのインストールに失敗しても周辺装置の再起動不能を防止、抑制できる。
【0009】
本発明に係る周辺装置においては、前記第1の記憶手段は、書き換え可能な不揮発メモリである。本発明に係る周辺装置によれば、記憶手段として書き換え可能な不揮発メモリを使用するので、ソフトウエアのインストールに失敗してもファイルの消失が発生せず、周辺装置の再起動不能を防止、抑制できる。
【0010】
本発明に係る周辺装置においては、前記インストール手段は、インストール中に、更新されるファイルと前記更新ファイルと前記解凍後のファイルとのうち少なくとも1つのファイルを前記第1の記憶手段に存在させた状態でインストールを実行する。
【0011】
本発明に係る周辺装置によれば、インストール中に、更新されるファイルと前記更新ファイルと前記解凍後のファイルとのうち少なくとも1つのファイルが第1の記憶手段に存在しているため、インストールに失敗しても、周辺装置の再起動時に更新されるファイルあるいは解凍後のファイルのいずれかが実行可能となり、周辺装置の再起動不能を防止、抑制できる。なお、周辺装置の再起動時に、第1の記憶手段に更新ファイルのみが存在している場合であっても、再起動時に更新ファイルが解凍され、実行されることにより再起動が可能である。
【0012】
本発明に係る周辺装置においては、前記インストール手段は、インストール中に前記第1の記憶手段からファイルを削除する場合には、更新されるファイルと前記更新ファイルと前記解凍後のファイルとのうち少なくとも2つのファイルを前記第1の記憶手段に存在させた状態で前記ファイルを削除し、インストールを実行する。
【0013】
本発明に係る周辺装置によれば、インストール中に第1の記憶手段からファイルを削除する場合には、更新されるファイルと前記更新ファイルと前記解凍後のファイルのうち少なくとも2つのファイルを第1の記憶手段に存在させた状態で前記ファイルを削除するため、ファイルの削除後には更新されるファイルと前記更新ファイルと前記解凍後のファイルのうち少なくとも1つのファイルが第1の記憶手段に存在している。したがって、インストールに失敗しても、周辺装置の再起同時に更新されるファイルあるいは解凍後のファイルのいずれかが実行可能となるため、周辺装置の再起動不能を防止、抑制できる。
【0014】
本発明に係る周辺装置においては、前記インストール手段は、前記ソフトウエアのインストール前の前記第1の記憶手段の空き容量と更新されるファイルのファイル容量とを合わせた容量が、前記更新ファイルのファイル容量と前記解凍後のファイルのファイル容量とを合わせた容量以上である場合には、前記第1の記憶手段に前記更新ファイルを記憶し、前記第1の記憶手段から更新されるファイルを削除し、前記第1の記憶手段に更新ファイルを解凍し、前記第1の記憶手段から更新ファイルを削除してインストールを実行する。
【0015】
本発明に係る周辺装置によれば、前記ソフトウエアのインストール前の第1の記憶手段の空き容量と更新されるファイルのファイル容量とを合わせた容量が、更新ファイルのファイル容量と解凍後のファイルのファイル容量とを合わせた容量以上である場合には、第1の記憶手段に更新ファイルを記憶し、更新されるファイルを削除した後に更新ファイルを第1の記憶手段に解凍すれば、更新されるファイル又は更新ファイル又は解凍後のファイルのうち少なくとも1つのファイルが第1の記憶手段に存在している状態でインストールを実行できる。したがって、ソフトウエアのインストールに失敗しても、周辺装置の再起動時に更新されるファイル又は解凍後のファイルのいずれかが実行可能であるため、周辺装置の再起動不能を防止、抑制できる。
【0016】
本発明に係る周辺装置においては、前記解凍後のファイルを一時記憶する第2の記憶手段をさらに備え、前記インストール手段は、前記第1の記憶手段の空き容量が、前記解凍後のファイルのファイル容量以上の場合には、前記第1の記憶手段に更新ファイルを記憶し、前記第2の記憶手段に更新ファイル解凍し、前記第1の記憶手段から更新ファイルを削除し、前記第2の記憶手段から前記第1の記憶手段に解凍後のファイルをコピーし、前記第1の記憶手段から更新されるファイルを削除してインストールを実行する。
【0017】
本発明に係る周辺装置によれば、第1の記憶手段の空き容量が、解凍後のファイルのファイル容量以上である。更新ファイルは圧縮形式のファイルであり、その容量は解凍後のファイルの容量よりも小さいので、第1の記憶手段の空き領域に更新ファイルを記憶できる。また、第2の記憶手段に更新ファイルを解凍し、第1の記憶手段から更新ファイルを削除した後に第2の記憶手段から第1の記憶手段に解凍後のファイルをコピーするので、第1の記憶手段には、更新されるファイル又は解凍後のファイルのいずれかのファイルが存在している。したがって、インストールに失敗しても、周辺装置の再起動時に更新されるファイル又は解凍後のファイルのいずれかのファイルを実行可能であるため、周辺装置の再起動不能を防止、抑制できる。
【0018】
本発明に係るソフトウエアのインストール方法は、周辺装置にソフトウエアをインストールする方法であって、コンピュータから、ソフトウエアを圧縮してなる更新ファイルのファイル容量情報と前記更新ファイルを解凍した後のファイルのファイル容量情報とを含むファイル情報を受信し、前記解凍後のファイルをインストールする第1の記憶手段の空き容量を算出し、前記ファイル情報の解凍後のファイルのファイル容量情報と前記第1の記憶手段の空き容量とを比較し、前記第1の記憶手段の空き容量が、前記更新ファイルのファイル容量と前記解凍後のファイルのファイル容量とを合わせた容量未満の場合であって、前記解凍後のファイルのファイル容量以上である場合には、前記コンピュータから、前記ソフトウエアの更新ファイルを受信し、前記周辺装置の起動に必要なファイルを前記第1の記憶手段に存在させた状態で前記更新ファイルを解凍し、解凍後のファイルを前記第1の記憶手段にインストールする。
【0019】
本発明に係るコンピュータプログラムは、ソフトウエアをインストールするための周辺装置のコンピュータプログラムであって、コンピュータから、ソフトウエアを圧縮してなる更新ファイルのファイル容量情報と前記更新ファイルを解凍した後のファイルのファイル容量情報とを含むファイル情報を受信し、前記解凍後のファイルをインストールする第1の記憶手段の空き容量を算出し、前記ファイル情報の解凍後のファイルのファイル容量情報と前記第1の記憶手段の空き容量とを比較し、前記第1の記憶手段の空き容量が、前記更新ファイルのファイル容量と前記解凍後のファイルのファイル容量とを合わせた容量未満の場合であって、前記解凍後のファイルのファイル容量以上である場合には、前記コンピュータから、前記ソフトウエアの更新ファイルを受信し、前記周辺装置の起動に必要なファイルを前記第1の記憶手段に存在させた状態で前記更新ファイルを解凍し、解凍後のファイルを前記第1の記憶手段にインストールする機能を実現する。
【0020】
本発明は、上述したデバイス装置としての構成のほかに種々の態様で実現可能であり、ソフトウエアの更新方法、これらのデバイス装置又はソフトウエアの更新方法を実現するコンピュータプログラム、及びそのプログラムを記憶した記憶媒体、そのプログラムを含み搬送波内に具現されたデータ信号など種々の態様で実現することが可能である。
【発明を実施するための最良の形態】
【0021】
以下、本発明の実施の形態を本実施例に基づいて以下の順序で説明する。
A.本実施例に係るプリンタ10及びパーソナルコンピュータ(以下、「PC」という。)50の構成
B.本実施例に係るプリンタ10におけるファームウエアのインストール処理
C.変形例
【0022】
A.:本実施例に係るプリンタ10及びPC50の構成
図1を参照して、本発明の実施例に係るプリンタ10の構成について説明する。図1は、本発明の実施例に係るプリンタ10の構成を示す説明図である。プリンタ10は、CPU11とフラッシュメモリ12とROM13とRAM14とネットワークインターフェース15と印刷部16とを備えている。
【0023】
CPU11は、プリンタ10の中枢であり、プリンタ10全体の動作を制御するほか、受信した印刷データを印刷フォーマットに変換し、印刷部に送り印刷を行う。
【0024】
フラッシュメモリ12は、例えば、CPU11と印字部16を制御するためのファームウエア及び印刷のためのアプリケーションを記憶する。ファームウエアあるいはアプリケーションは、1つのあるいは複数のモジュールから構成される。
【0025】
ROM13は、例えば、印刷のためのフォントデータを記憶する。RAM14は、印刷データを一時的に記憶するバッファーメモリとして機能するほか、フラッシュメモリ12からファームウエアや印刷のためのアプリケーションがコピーされ、RAM14上で実行される。
【0026】
ネットワークインターフェース15は、プリンタ10をネットワーク17に接続する。プリンタ10は、ネットワークインターフェース15を介して、印刷データを受信するほか、ファームウエアあるいはアプリケーションの更新ファイルを受信する。
【0027】
印刷部16は、受信した印刷データを印刷するところであり、印字ヘッド18と紙送り機構19とを有する。
【0028】
図2を参照して、本発明の実施例に係るPC50の構成について説明する。図2は、本発明の実施例に係るPC50の構成を示す説明図である。PC50は、CPU51とROM52とRAM53とハードディスク54とCD−ROM装置55と入力インターフェース56と出力インターフェース57とネットワークインターフェース58とを備えている。
【0029】
CPU51は、PC50の中枢であり、PC50全体の動作を制御するほか、各種演算を行い、演算結果をハードディスク54に記憶したり、出力インターフェース57を介してディスプレイ59に表示したり、ネットワークインターフェース58を介してほかのコンピュータ(図示せず)と通信を行う。
【0030】
ROM52は、PC50に接続されたハードディスク54や入力インターフェース56を介して接続されたキーボード60などの周辺機器を制御するBIOS(Basic Input Output System)を記憶し、通常、書き換え可能な不揮発性メモリであるフラッシュメモリが用いられる。RAM53は、書き換え可能な揮発性メモリであり、PC50のオペレーティングシステム(以下、「OS」という。)やアプリケーションはハードディスク54からRAM53上にコピーされ、RAM53上で実行される。RAM53は、CPU51が演算した結果あるいは演算中のデータを一時記憶する。
【0031】
ハードディスク54は、OSとアプリケーションとデータとを記憶する固体記憶装置である。プリンタ10のファームウエアの更新プログラムは、ハードディスク上にデータとして記憶される。通常、プリンタ10のファームウエアの更新プログラムは、プリンタメーカーのWebページ上に公開されているので、プリンタ10の管理者は、Webページにアクセスして、プリンタ10のファームウエアの更新プログラムをダウンロードし、ハードディスク54に記憶させる。更新プログラムには、更新ファイルとファイル情報とが含まれる。更新ファイルは圧縮形式のファイルであり、例えばzip、lzh、cab、rar、tarなどの圧縮形式が用いられる。ファイル情報には更新ファイルのファイル容量情報と更新ファイルを解凍した後のファイルのファイル容量情報が含まれる。CD−ROM装置55は、コンパクトディスク(以下、「CD」という。)を使ったコンピュータ用の読み出し専用記憶装置である。プリンタ10のファームウエアの更新プログラムは、プリンタメーカーのWebページ上に公開されるが、CD−ROMの形で提供されてもよい。
【0032】
入力インターフェース56は、例えば、キーボード60とマウス61などの入力装置とPCの間を接続する。入力装置として、キーボード60やマウス61のほか、例えば、タブレット(図示せず)が使われることがある。プリンタ10のファームウエアを更新する場合、管理者は、キーボード60からPC50に対して、ファームウエアの更新命令を入力する。出力インターフェース57は、PC50とディスプレイ59、プリンタ10の出力装置とを接続し、CPUの演算結果をディスプレイ59、プリンタ10に出力する。
【0033】
ネットワークインターフェース58は、PC50とネットワーク17とを接続し、ほかのPCやホストコンピュータとデータのやりとりを中継する。本実施例においては、プリンタ10は、ネットワーク17経由でPC50に接続されている。したがって、プリンタ10のファームウエアの更新ファイルは、PC50からネットワーク17を経由してプリンタ10に送られる。
【0034】
B.本実施例に係るプリンタ10におけるファームウエアのインストール処理
B−1.プリンタ10のファームウエアをインストールするときのPC50の動作
図3を参照しながら、プリンタ10のファームウエアをインストールするときのPC50の動作について説明する。図3は、プリンタ10のファームウエアをインストールするときのPC50の動作のフローチャートを示す説明図である。管理者は、PC50のハードディスク54にファームウエアの更新プログラムを一旦保存し、キーボード61から更新プログラムを起動してインストールを実行する。管理者が更新プログラムを実行すると、CPU51は、プリンタ10に対して、ファイル情報を送付する(ステップS200)。ファイル情報には、更新ファイルのファイル容量情報と更新ファイルを解凍した後のファイルのファイル容量情報とが含まれる。CPU51は、プリンタ10からの応答を待つ(ステップS205)。
【0035】
CPU51は、プリンタ10からの応答がファームウエアのインストール不可の場合には、PC50のディスプレイ59にファームウエアのインストールができないことを表示する(ステップS210)。
【0036】
CPU51は、プリンタ10からの応答が、ファームウエアのインストールが可能である場合には、ハードディスク54から更新ファイルを読み出して、プリンタ10に送る(ステップS215)。CPU51は、更新ファイルを送ると、プリンタ10からのインストール完了通知を待つ。CPU51は、インストール完了通知を受信すると(ステップS220)、ディスプレイ59に、プリンタ10のファームウエアの更新ファイルのインストールが完了したことを表示し(ステップS225)、ファームウエアのインストールを完了する。
【0037】
B−2.プリンタ10におけるファームウエアのインストール処理
図4から図8を参照しながら、プリンタ10におけるファームウエアのインストール処理ついて説明する。本実施例については、以下の3つの条件に基づいてインストールの態様が変更される。
【0038】
条件1:ファームウエアをインストール前のフラッシュメモリ12の空き容量が、解凍後のファイルのファイル容量以上である。
条件2:ファームウエアをインストールする前のフラッシュメモリ12の空き容量が、更新ファイルのファイル容量と解凍後のファイルのファイル容量とを合わせた容量以上である。
条件3:ファームウエアをインストールする前のフラッシュメモリ12の空き容量と更新されるファイルのファイル容量とを合わせた容量が、更新ファイルのファイル容量と解凍後のファイルのファイル容量とを合わせた容量以上である。
【0039】
なお、フラッシュメモリ12に記憶されている全ファイルが更新される場合には、条件1は、フラッシュメモリ12の全容量が、更新されるファイルのファイル容量と解凍後のファイルのファイル容量とを合わせた容量以上である、条件2は、フラッシュメモリ12の全容量が、更新されるファイルのファイル容量と更新ファイルのファイル容量と解凍後のファイルのファイル容量とを合わせた容量以上である、条件3は、フラッシュメモリ12の全容量が、更新ファイルのファイル容量と解凍後のファイルのファイル容量とを合わせた容量以上である、としてもよい。
【0040】
図4は、プリンタ10のファームウエアのインストール処理のフローチャートを示す説明図である。図5は、プリンタ10のファームウエアのインストール処理のフローチャートを示す説明図である。
【0041】
図6は、条件1及び条件2を満たす場合のフラッシュメモリ12のメモリ使用量を模式的に示す説明図である。図7は、条件1及び条件3を満たす場合のフラッシュメモリ12のメモリ使用量を模式的に示す説明図である。図8は、条件1を満たす場合のフラッシュメモリ12メモリ使用量を模式的に示す説明図である。
【0042】
CPU11は、PC50よりファイル情報を受信する(ステップS300)。ファイル情報には、更新ファイルのファイル容量情報と更新ファイルを解凍した後のファイルのファイル容量情報とが含まれる。CPU11は、フラッシュメモリ12の空き容量を算出し、条件1を満たすか判断する(ステップS305)。
【0043】
CPU11は、条件1を満たさない場合には、ファームウエアをインストールできないことをPCに通知する(ステップS310)。CPU11は、条件1を満たす場合には、条件2も満たすか判断する(ステップS315)。
【0044】
CPU11は、条件2も満たす場合には、PC50に対してファームウエアをインストールできることを通知し、(ステップS320)更新ファイルが送信されるのを待つ。CPU11は、PC50から更新ファイルを受信すると、フラッシュメモリ12上に更新ファイルを記憶する(ステップS325)。更新ファイルは圧縮形式のファイルであり、更新ファイルのファイル容量は、解凍後のファイルのファイル容量よりも小さいので、条件1を満たしていれば、CPU11は、フラッシュメモリ12上に更新ファイルを記憶することが可能である。図6(b)に示すようにフラッシュメモリ12上には、更新されるファイルと更新ファイルの2つのファイルが存在する。ここで、矢印の右にあるかっこ書きは、図4のフローチャートのステップを示す。更新されるファイルとはインストール動作により削除されるファイル、更新ファイルとはPC50からプリンタ10に送られる更新ファイル、解凍後のファイルとは更新ファイルを解凍してできる解凍後のファイルをいう。未使用というのは、フラッシュメモリ12が使用されていない領域である。なお、図6から図8において、(a)はインストール前の初期状態を示している。
【0045】
CPU11は、フラッシュメモリ12上に更新ファイルを解凍し、フラッシュメモリ12上に解凍後のファイルをインストールする(ステップS330)。図6(c)に示すようにフラッシュメモリ12上には、更新されるファイル、更新ファイル、解凍後のファイルの3つのファイルが存在する。CPU11は、解凍後のファイルのインストール完了後に、フラッシュメモリ12上から、更新されるファイル及び更新ファイルを削除し(ステップS335)、PC50にファームウエアのインストールが完了したことを通知し(ステップS340)、ファームウエアのインストールを完了する。インストール完了後のフラッシュメモリ12のメモリ使用量は、図6(d)に示すようになっている。
【0046】
条件1及び条件2を満たす場合には、インストール動作中にはフラッシュメモリ12上には、更新されるファイルと解凍後のファイルのいずれかのファイルが存在し、フラッシュメモリ12からファイルが削除される場合には、削除される直前に、更新されるファイルと更新ファイルと解凍後のファイルとのうち少なくとも2つのファイルが存在している。
【0047】
CPU11は、条件2を満たさない場合には、条件3を満たすか判断する(ステップS400)。CPU11は、条件3を満たす場合には、PC50に対してファームウエアをインストールできることを通知し、(ステップS405)更新ファイルが送信されるのを待つ。CPU11は、PC50から更新ファイルを受信すると、フラッシュメモリ12上に更新ファイルを記憶する(ステップS410)。図7(b)に示すようにフラッシュメモリ12上には、更新されるファイルと更新ファイルとが存在する。ここで、矢印の右にあるかっこ書きは、図5のフローチャートのステップを示す。CPU11は、フラッシュメモリ12上から更新されるファイルを削除する(ステップS415)。図7(c)に示すようにフラッシュメモリ12上には更新ファイルが存在する。
【0048】
CPU11は、フラッシュメモリ12上に更新ファイルを解凍し、フラッシュメモリ12上に解凍後のファイルをインストールする(ステップS420)。図7(d)に示すようにフラッシュメモリ12上には、更新ファイルと解凍後のファイルとが存在する。CPU11は、解凍後のファイルのインストール完了後、フラッシュメモリ12上から、更新ファイルを削除し(ステップS425)、)PC50に更新ファイルのインストールが完了したことを通知し(ステップS430)ファームウエアのインストールを完了する。インストール完了後のフラッシュメモリ12のメモリ使用量は、図7(e)に示すようになっているを示す。
【0049】
条件1及び条件3を満たす場合には、インストール動作中にはフラッシュメモリ12上には、更新されるファイルと更新ファイルと解凍後のファイルとのうち少なくとも1つのファイルが存在している。また、フラッシュメモリ12上から更新されるファイルが削除される場合には、フラッシュメモリ12上には、更新されるファイルと更新ファイルとの2つのファイルが存在し、フラッシュメモリ12上から更新ファイルが削除される場合には、フラッシュメモリ12上には、更新ファイルと解凍後のファイルとの2つのファイルが存在している。
【0050】
CPU11は、条件3を満たさない場合であっても、条件1を満たしているので(ステップS305)、PC50に対してファームウエアを更新ファイルをインストールできることを通知し、(ステップS455)更新ファイルが送信されるのを待つ。CPU11は、PC50から更新ファイルを受信すると、フラッシュメモリ12上に更新ファイルを記憶する(ステップS460)。図8(b)に示すようにフラッシュメモリ12上には更新されるファイルと更新ファイルとが存在する。
【0051】
CPU11は、更新ファイルをRAM14上に解凍し(ステップS465)、フラッシュメモリ12上から更新ファイルを削除する(ステップS470)。図8(c)に示すようにフラッシュメモリ12上には更新されるファイルが存在する。CPU11は、解凍後のファイルをRAM14からフラッシュメモリ12上にコピーすることによりフラッシュメモリ12上に解凍後のファイルをインストールする(ステップS475)。図8(d)に示すようにフラッシュメモリ12上には更新されるファイルと解凍後のファイルとが存在する。
【0052】
CPU11は、解凍後のファイルのインストール完了後、フラッシュメモリ12上から更新されるファイルを削除し(ステップS480)、PC50に更新ファイルのインストールが完了したことを通知し(ステップS485)ファームウエアのインストールを完了する。インストール完了後のフラッシュメモリ12のメモリ使用量は、図8(e)に示すようになっている。
【0053】
条件1を満たす場合、インストール動作中にはフラッシュメモリ12上には、更新されるファイルと解凍後のファイルのいずれかが存在している。また、フラッシュメモリ12から更新ファイルが削除される場合には、フラッシュメモリ12には、更新されるファイルと更新ファイルとの2つのファイルが存在し、フラッシュメモリ12から更新されるファイルが削除される場合には、フラッシュメモリ12には、更新されるファイルと解凍後のファイルとの2つのファイルが存在している。
【0054】
以上説明したように、本実施例に係るプリンタによれば、フラッシュメモリ12の空き容量が、解凍後のファイルのファイル容量よりも大きい場合には、CPU11は、フラッシュメモリ12上にプリンタ10の実行に必要なファイルを存在させた状態でファームウエアをインストールができる。したがって、ファームウエアのインストールが、例えば電源断の発生により失敗した場合であっても、プリンタ10を再起動不能を防止、抑制できる。
【0055】
ファームウエアをインストールする前のフラッシュメモリ12の空き容量が、更新ファイルのファイル容量と解凍後のファイルのファイル容量とを合わせた容量以上である場合には、CPU11は、ファームウエアのインストール中に、更新されるファイルと解凍後のファイルとのどちらかのファイルをフラッシュメモリ12上に存在した状態で、ファームウエアをインストールできる。したがって、ファームウエアのインストールが、例えば、電源断の発生により、失敗した場合であっても、フラッシュメモリ12上には、更新されるファイル又は解凍後のファイルのどちらかのファイルが存在しているので、プリンタ10の再起動不能を防止、抑制できる。
【0056】
CPU11は、ファームウエアをインストールする前のフラッシュメモリ12の空き容量が、更新ファイルのファイル容量と解凍後のファイルのファイル容量とを合わせた容量未満である場合であっても、ファームウエアをインストール前のフラッシュメモリ12の空き容量が、解凍後のファイルのファイル容量以上であり、かつ、ファームウエアをインストールする前のフラッシュメモリ12の空き容量と更新されるファイルのファイル容量とを合わせた容量が、更新ファイルのファイル容量と更新されるファイルのファイル容量とを合わせた容量以上である場合には、ファームウエアのインストール中に、更新されるファイルと更新ファイルと解凍後のファイルとのうち少なくとも1つのファイルをフラッシュメモリ12上に存在させた状態でファームウエアのインストールが実行できる。したがって、ファームウエアのインストール中が、例えば、電源断の発生により失敗した場合であっても、プリンタ10の再起動不能を脳死、抑制できる。また、この場合、フラッシュメモリ12の空き容量がより少ない場合であっても、ファームウエアのインストールが実行できる。ただし、ファームウエアのインストールに失敗した場合、失敗のタイミングによっては、更新ファイルを解凍して実行する必要がある場合がある。
【0057】
CPU11は、ファームウエアをインストール前のフラッシュメモリ12の空き容量が、解凍後のファイルのファイル容量以上である場合には、RAM14が必要となるが、更新されるファイルと解凍後のファイルのいずれかのファイルをフラッシュメモリ12上に存在させた状態でファームウエアのインストールができる。したがって、ファームウエアのインストールが、例えば、電源断の発生等により失敗した場合であっても、プリンタ10の再起動不能を防止、抑制できる。また、RAM14が必要になるが、フラッシュメモリ12の空き容量がさらに少なくても、ファームウエアのインストールが実行できる。
【0058】
C.変形例
本実施例では、第1の記憶手段としてフラッシュメモリ12を用いて説明したが、例えばハードディスクのような固体記憶装置であってもよい。
【0059】
本発明の実施例の説明では、CPU11は、フラッシュメモリ12の空き容量と更新されるファイルのファイル容量とを合わせた容量が、更新ファイルのファイル容量と解凍後のファイルのファイル容量とを合わせた容量以上の場合には、ステップS410からステップS425を手順を採用し、更新ファイルのファイル容量と解凍後のファイルのファイル容量とを合わせた容量に満たない場合には、ステップS460からステップS475の手順を採用しているが、プリンタ10がRAM14を有していれば、いずれの場合であってもステップS460からステップS475の手順を採用してもよい。ファームウエアのインストール中は、フラッシュメモリ12上には、更新されるファイル又は解凍後のファイルのいずれかが記憶されているので、電源断が発生しても、更新されるファイル又は解凍後のファイルのいずれかが実行可能である。また、更新ファイルを記憶する場合に、フラッシュメモリ12ではなく、RAM14に最初に記憶してもよい。
【0060】
図9から11を参照して、フラッシュメモリ12に記憶されているファイルのうち一部のファイルが更新されない場合について説明する。この場合、条件1は、フラッシュメモリ12の全容量が、更新されないファイルのファイル容量と更新されるファイルのファイル容量と解凍後のファイルのファイル容量とを合わせた容量以上である、条件2は、フラッシュメモリ12の全容量が、更新されないファイルのファイル容量と更新されるファイルのファイル容量と更新ファイルのファイル容量と解凍後のファイルのファイル容量とを合わせた容量以上である、条件3は、フラッシュメモリ12の全容量が、更新されないファイルのファイル容量と更新ファイルのファイル容量と解凍後のファイルのファイル容量とを合わせた容量となる。
【0061】
図9は、条件1及び条件2を満たす場合のフラッシュメモリ12のメモリ使用量を模式的に示す説明図である。図10は、条件1及び条件3を満たす場合のフラッシュメモリ12のメモリ使用量を模式的に示す説明図である。図11は、条件1を満たす場合のフラッシュメモリ12のメモリ使用量を模式的に示す説明図である。ここで未更新ファイルとはインストールにより更新されないファイルをいう。他については図6から図8と同じであるので説明を省略する。
【0062】
図9は、図6に対応するものであり、インストール動作中、フラッシュメモリ12上には、更新されるファイル又は解凍後のファイルにいずれかのファイルが存在している。図10は、図8に対応するものであり、インストール動作中、フラッシュメモリ12上には、更新されるファイルと更新ファイルと解凍後のファイルのうち少なくとも1つのファイルが存在している。図11は図8に対応するものであり、インストール動作中、フラッシュメモリ12上には、更新されるファイル又は解凍後のファイルのいずれかのファイルが存在している。
【0063】
したがって、プリンタ10は、フラッシュメモリ12に記憶されているファイルのうち一部のファイルが更新されない場合であっても、ファームウエアのインストールに失敗による、再起動不能を防止、抑制することができる。なお、ファイルが更新されず、追加されるだけの場合は、更新されるファイルの大きさが0であると考えればよい。
【0064】
以上、実施例に基づいて本発明に係るプリンタを説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得るとともに、本発明にはその等価物が含まれることはもちろんである。
【図面の簡単な説明】
【0065】
【図1】本発明の実施例に係るプリンタの構成を示す説明図。
【図2】本発明の実施例に係るPCの構成を示す説明図。
【図3】プリンタのファームウエアをインストールするときのPCの動作のフローチャートを示す説明図。
【図4】プリンタのファームウエアのインストール処理のフローチャートを示す説明図。
【図5】プリンタのファームウエアのインストール処理のフローチャートを示す説明図。
【図6】条件1及び条件2を満たす場合のフラッシュメモリのメモリ使用量を模式的示す説明図。
【図7】条件1及び条件3を満たす場合のフラッシュメモリのメモリ使用量を模式的に示す説明図。
【図8】条件1を満たす場合のフラッシュメモリのメモリ使用量を模式的に示す説明図。
【図9】条件1及び条件2を満たす場合のフラッシュメモリのメモリ使用量を模式的示す説明図。
【図10】条件1及び条件3を満たす場合のフラッシュメモリのメモリ使用量を模式的に示す説明図。
【図11】条件1を満たす場合のフラッシュメモリのメモリ使用量を模式的に示す説明図。
【符号の説明】
【0066】
10…プリンタ
11…CPU
12…フラッシュメモリ
13…ROM
14…RAM
15…ネットワークインターフェース
16…印刷部
17…ネットワーク
18…印字ヘッド
19…紙送り機構
50…PC
51…CPU
52…ROM
53…RAM
54…ハードディスク
55…CD−ROM
56…入力インターフェース
57…出力インターフェース
58…ネットワークインターフェース
59…ディスプレイ
60…キーボード
61…マウス

【特許請求の範囲】
【請求項1】
コンピュータの周辺装置であって、
前記コンピュータからソフトウエアを圧縮してなる更新ファイルと、少なくとも前記更新ファイルのファイル容量情報と前記更新ファイルを解凍した後のファイルのファイル容量情報とを含むファイル情報とを受信する受信手段と、
前記解凍後のファイルがインストールされる第1の記憶手段と、
前記第1の記憶手段の空き容量を算出する空き容量算出手段と、
前記ファイル情報に含まれる解凍後のファイルのファイル容量情報と前記第1の記憶手段の空き容量とを比較し、前記第1の記憶手段の空き容量が、前記更新ファイルのファイル容量と前記解凍後のファイルのファイル容量とを合わせた容量未満の場合であって、前記解凍後のファイルのファイル容量以上である場合には、周辺装置の起動に必要なファイルを前記第1の記憶手段に存在させた状態で、前記更新ファイルを解凍し、解凍後のファイルを前記第1の記憶手段にインストールするインストール手段とを備える、
周辺装置。
【請求項2】
請求項1に記載の周辺装置において、
前記第1の記憶手段は、書き換え可能な不揮発メモリである、
周辺装置。
【請求項3】
請求項1又は請求項2に記載の周辺装置において、
前記インストール手段は、インストール中に、更新されるファイルと前記更新ファイルと前記解凍後のファイルとのうち少なくとも1つのファイルを前記第1の記憶手段に存在させた状態でインストールを実行する、
周辺装置。
【請求項4】
請求項1又は請求項2に記載の周辺装置において、
前記インストール手段は、インストール中に前記第1の記憶手段からファイルを削除する場合には、更新されるファイルと前記更新ファイルと前記解凍後のファイルとのうち少なくとも2つのファイルを前記第1の記憶手段に存在させた状態で前記ファイルを削除し、インストールを実行する、
周辺装置。
【請求項5】
請求項1から請求項4のいずれか一項に記載の周辺装置において、
前記インストール手段は、前記ソフトウエアのインストール前の前記第1の記憶手段の空き容量と更新されるファイルのファイル容量とを合わせた容量が、前記更新ファイルのファイル容量と前記解凍後のファイルのファイル容量とを合わせた容量以上である場合には、
前記第1の記憶手段に前記更新ファイルを記憶し、前記第1の記憶手段から更新されるファイルを削除し、前記第1の記憶手段に更新ファイルを解凍し、前記第1の記憶手段から更新ファイルを削除してインストールを実行する、
周辺装置
【請求項6】
請求項1から請求項4のいずれか一項に記載の周辺装置はさらに、
前記解凍後のファイルを一時記憶する第2の記憶手段を備え、
前記インストール手段は、前記第1の記憶手段の空き容量が、前記解凍後のファイルのファイル容量以上である場合には、
前記第1の記憶手段に更新ファイルを記憶し、前記第2の記憶手段に更新ファイル解凍し、前記第1の記憶手段から更新ファイルを削除し、前記第2の記憶手段から前記第1の記憶手段に解凍後のファイルをコピーし、前記第1の記憶手段から更新されるファイルを削除してインストールを実行する、
周辺装置。
【請求項7】
周辺装置にソフトウエアをインストールする方法であって、
コンピュータから、ソフトウエアを圧縮してなる更新ファイルのファイル容量情報と前記更新ファイルを解凍した後のファイルのファイル容量情報とを含むファイル情報を受信し、
前記解凍後のファイルがインストールされる第1の記憶手段の空き容量を算出し、
前記ファイル情報の解凍後のファイルのファイル容量情報と前記第1の記憶手段の空き容量とを比較し、
前記第1の記憶手段の空き容量が、前記更新ファイルのファイル容量と前記解凍後のファイルのファイル容量とを合わせた容量未満の場合であって、前記解凍後のファイルのファイル容量以上である場合には、
前記コンピュータから、前記ソフトウエアの更新ファイルを受信し、
前記周辺装置の起動に必要なファイルを前記第1の記憶手段に存在させた状態で前記更新ファイルを解凍し、解凍後のファイルを前記第1の記憶手段にインストールする、
ソフトウエアのインストール方法。
【請求項8】
ソフトウエアをインストールするための周辺装置のコンピュータプログラムであって、
コンピュータから、ソフトウエアを圧縮してなる更新ファイルのファイル容量情報と前記更新ファイルを解凍した後のファイルのファイル容量情報とを含むファイル情報を受信し、
前記解凍後のファイルがインストールされる第1の記憶手段の空き容量を算出し、
前記ファイル情報の解凍後のファイルのファイル容量情報と前記第1の記憶手段の空き容量とを比較し、
前記第1の記憶手段の空き容量が、前記更新ファイルのファイル容量と前記解凍後のファイルのファイル容量とを合わせた容量未満の場合であって、前記解凍後のファイルのファイル容量以上である場合には、
前記コンピュータから、前記ソフトウエアの更新ファイルを受信し、
前記周辺装置の起動に必要なファイルを前記第1の記憶手段に存在させた状態で、前記更新ファイルを解凍し、解凍後のファイルを前記第1の記憶手段にインストールする機能を実現する、
コンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2007−219720(P2007−219720A)
【公開日】平成19年8月30日(2007.8.30)
【国際特許分類】
【出願番号】特願2006−38011(P2006−38011)
【出願日】平成18年2月15日(2006.2.15)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】