(57)【要約】【課題】メモリの空き領域が少ない場合であっても、ファームウェアのアップデートを確実に実行し得る、ネットワーク機器、アップデート方法、及びプログラムを提供する。【解決手段】ネットワークを介してサーバ装置に接続されるネットワーク機器１０は、ファームウェアを格納する記憶装置１３と、メモリ１２と、ファームウェアをメモリ１２の記憶領域上に展開して、ファームウェアが規定する処理を実行する演算処理部１１とを備える。演算処理部１１は、サーバ装置から、ネットワーク機器１０のファームウェアの更新用データファイル２０が送信されると、メモリ１２に格納されているファイルのうち、サイズが更新用データファイル２０のサイズ以上となるファイルを特定し、特定したファイルを更新用データファイル２０で書き換え、その後、更新用データファイル２０を記憶装置１３に格納させ、ネットワーク機器１０のファームウェアをアップデートする。【選択図】図１
2013058145.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してサーバ装置に接続されるネットワーク機器であって、
ファームウェアを格納する記憶装置と、メモリと、前記ファームウェアを前記メモリの記憶領域上に展開して、前記ファームウェアが規定する処理を実行する演算処理部と、を備え、
前記演算処理部は、
前記サーバ装置から、前記ネットワークを介して、当該ネットワーク機器のファームウェアの更新用データファイルが送信されてきた場合に、
前記メモリに格納されているファイルのうち、サイズが前記更新用データファイルのサイズ以上となるファイルを特定し、特定したファイルを前記更新用データファイルで書き換え、
その後、前記更新用データファイルを前記記憶装置に格納させ、当該ネットワーク機器のファームウェアをアップデートする、
ことを特徴とするネットワーク機器。
【請求項２】
前記演算処理部が、前記メモリに格納されている常駐プログラム及び前記常駐プログラムに関連するファイルの中から、前記ファイルを特定する、請求項１に記載のネットワーク機器。
【請求項３】
前記メモリが、ＲＡＭであり、前記記憶装置が、不揮発性半導体記憶装置である、請求項１または２に記載のネットワーク機器。
【請求項４】
当該ネットワーク機器が、セットトップボックスである、請求項１〜３のいずれかに記載のネットワーク機器。
【請求項５】
ネットワークを介してサーバ装置に接続されたネットワーク機器のファームウェアをアップデートするための方法であって、
（ａ）前記サーバ装置から、前記ネットワークを介して、前記ネットワーク機器のファームウェアの更新用データファイルが、前記ネットワーク機器に送信されてきた場合に、前記ネットワーク機器のメモリに格納されているファイルのうち、サイズが前記更新用データファイルのサイズ以上となるファイルを特定する、ステップと、
（ｂ）前記（ａ）のステップで特定したファイルを、前記更新用データファイルで書き換える、ステップと、
（ｃ）前記（ｂ）のステップの実行後に、前記メモリに格納された前記更新用データファイルを、前記ネットワーク機器の前記ファームウェアを格納している前記記憶装置に格納させ、前記ネットワーク機器のファームウェアをアップデートする、ステップと、
を有することを特徴とするアップデート方法。
【請求項６】
ネットワークを介してサーバ装置に接続されたネットワーク機器のファームウェアを、コンピュータによってアップデートするためのプログラムであって、
前記コンピュータに、
（ａ）前記サーバ装置から、前記ネットワークを介して、前記ネットワーク機器のファームウェアの更新用データファイルが、前記ネットワーク機器に送信されてきた場合に、前記ネットワーク機器のメモリに格納されているファイルのうち、サイズが前記更新用データファイルのサイズ以上となるファイルを特定する、ステップと、
（ｂ）前記（ａ）のステップで特定したファイルを、前記更新用データファイルで書き換える、ステップと、
（ｃ）前記（ｂ）のステップの実行後に、前記メモリに格納された前記更新用データファイルを、前記ネットワーク機器の前記ファームウェアを格納している前記記憶装置に格納させ、前記ネットワーク機器のファームウェアをアップデートする、ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してファームウェアのアップデートが可能なネットワーク機器、ネットワークを介してファームウェアをアップデートするためのアップデート方法、及びこれら実現するためのプログラムに関する。
【背景技術】
【０００２】
一般に、マイクロコンピュータ（以下「マイコン」と表記）を備える電子機器においては、マイコンの制御は、ファームウェアと呼ばれるソフトウェアによって行なわれている。通常、ファームウェアは、電子機器に備えられた記憶装置に予め格納されており、電子機器が起動される度に、メインメモリに展開され、結果、マイコンはファームウェアによって制御される。
【０００３】
ところで、ファームウェアは、バグフィックス及び改良等を目的として、アップデートされる必要がある。電子機器が、セットトップボックなどのネットワークに接続されている機器であれば、アップデートは、ネットワークを介して、サーバ装置等によって行われる（例えば、特許文献１参照）。
【０００４】
具体的には、特許文献１は、ネットワークを介して、サーバ装置から、電子機器に、ファームウェアのアップデート用のデータファイルを送信し、電子機器において、受信したデータファイルによってフォームウェアのアップデートを行う技術を開示している。
【０００５】
特許文献１に開示された技術では、送信されてきたデータファイルは、まず、電子機器のメインメモリの空き領域に一時的に格納される。その後、送信されてきたデータファイルが、フラッシュメモリ等で構成された記憶装置に送られると、ファームウェアがアップデートされる。特許文献１に開示された技術によれば、ファームウェアが自動的にアップデートされるため、ユーザにとって便利である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−５９９８９号公報（第５−６頁、第１図）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、特許文献１に開示された技術では、アップデートされるフォームウェアは、一旦メインメモリの空き領域に格納されるが、電子機器の動作の状態によっては、空き領域が十分に確保されていない場合もある。この場合、更新プログラムは、空き容量が確保されるまで、アップデート処理を繰り返し実行しようとするが、その間、電子機器の性能は低下してしまう。
【０００８】
一方、メインメモリの容量を大きくすれば、上記の問題は解消されるとも考えられるが、この場合は、メインメモリのコストが高くなってしまう。
【０００９】
また、サーバ装置から送信されてきたファームウェアを、直接、記憶装置の記憶領域に書き込むことも考えられる。しかし、記憶装置として使用されるフラッシュメモリの書き込み速度は、メインメモリとして使用されるＲＡＭ（Random Access Memory）の書き込み速度に比べて遅いため、この場合も、電子機器の性能が低下してしまう。
【００１０】
本発明の目的の一例は、上記問題を解消し、メモリの空き領域が少ない場合であっても、ファームウェアのアップデートを確実に実行し得る、ネットワーク機器、アップデート方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明の一側面におけるネットワーク機器は、ネットワークを介してサーバ装置に接続されるネットワーク機器であって、ファームウェアを格納する記憶装置と、メモリと、前記ファームウェアを前記メモリの記憶領域上に展開して、前記ファームウェアが規定する処理を実行する演算処理部と、を備え、前記演算処理部は、前記サーバ装置から、前記ネットワークを介して、当該ネットワーク機器のファームウェアの更新用データファイルが送信されてきた場合に、前記メモリに格納されているファイルのうち、サイズが前記更新用データファイルのサイズ以上となるファイルを特定し、特定したファイルを前記更新用データファイルで書き換え、その後、前記更新用データファイルを前記記憶装置に格納させ、当該ネットワーク機器のファームウェアをアップデートする、ことを特徴とする。
【００１２】
上記特徴により、本発明では、サーバ装置から送信されてきた更新用データファイルは、特定のファイルと置き換えられるので、メモリの空き領域が少ない場合であっても、メモリに格納されることになる。このため、本発明によれば、ファームウェアのアップデートが確実に実行されることになる。
【００１３】
上記本発明におけるネットワーク機器は、前記演算処理部が、前記メモリに格納されている常駐プログラム及び前記常駐プログラムに関連するファイルの中から、前記ファイルを特定する、態様であるのが好ましい。常駐プログラム及びそれに関連するファイルは、起動後に、メモリ内のオペレーティングシステム上で展開されており、上記態様とすれば、ネットワーク機器の上書きによる悪影響が抑制される。
【００１４】
上記本発明におけるネットワーク機器においては、前記メモリが、ＲＡＭであり、前記記憶装置が、不揮発性半導体記憶装置である、のが良い。また、当該ネットワーク機器の例としては、セットトップボックスが挙げられる。
【００１５】
また、上記目的を達成するため、本発明の一側面におけるアップデート方法は、ネットワークを介してサーバ装置に接続されたネットワーク機器のファームウェアをアップデートするための方法であって、（ａ）前記サーバ装置から、前記ネットワークを介して、前記ネットワーク機器のファームウェアの更新用データファイルが、前記ネットワーク機器に送信されてきた場合に、前記ネットワーク機器のメモリに格納されているファイルのうち、サイズが前記更新用データファイルのサイズ以上となるファイルを特定する、ステップと、（ｂ）前記（ａ）のステップで特定したファイルを、前記更新用データファイルで書き換える、ステップと、（ｃ）前記（ｂ）のステップの実行後に、前記メモリに格納された前記更新用データファイルを、前記ネットワーク機器の前記ファームウェアを格納している前記記憶装置に格納させ、前記ネットワーク機器のファームウェアをアップデートする、ステップと、を有することを特徴とする。
【００１６】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、ネットワークを介してサーバ装置に接続されたネットワーク機器のファームウェアを、コンピュータによってアップデートするためのプログラムであって、前記コンピュータに、（ａ）前記サーバ装置から、前記ネットワークを介して、前記ネットワーク機器のファームウェアの更新用データファイルが、前記ネットワーク機器に送信されてきた場合に、前記ネットワーク機器のメモリに格納されているファイルのうち、サイズが前記更新用データファイルのサイズ以上となるファイルを特定する、ステップと、（ｂ）前記（ａ）のステップで特定したファイルを、前記更新用データファイルで書き換える、ステップと、（ｃ）前記（ｂ）のステップの実行後に、前記メモリに格納された前記更新用データファイルを、前記ネットワーク機器の前記ファームウェアを格納している前記記憶装置に格納させ、前記ネットワーク機器のファームウェアをアップデートする、ステップと、を実行させることを特徴とする。
【発明の効果】
【００１７】
以上のように本発明によれば、メモリの空き領域が少ない場合であっても、ファームウェアのアップデートを確実に実行することができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、本発明の実施の形態におけるネットワーク機器が構成するネットワークシステムの一例を示す図である。
【図２】図２は、本発明の実施の形態におけるネットワーク機器の構成を示すブロック図である。
【図３】図３は、本発明の実施の形態におけるネットワーク機器の動作を示すフロー図である。
【図４】図４は、本発明の実施の形態におけるネットワーク機器の動作を概念的に示す図である。
【発明を実施するための形態】
【００１９】
（実施の形態）
以下、本発明の実施の形態における、ネットワーク機器、アップデート方法、及びプログラムについて、図１〜図４を参照しながら説明する。
【００２０】
［ネットワーク機器の構成］
最初に、本実施の形態におけるネットワーク機器の構成について図１及び図２を用いて説明する。図１は、本発明の実施の形態におけるネットワーク機器が構成するネットワークシステムの一例を示す図である。図２は、本発明の実施の形態におけるネットワーク機器の構成を示すブロック図である。
【００２１】
図１に示すように、本実施の形態におけるネットワーク機器１０は、ネットワーク５０を介してサーバ装置４０に接続されている。サーバ装置４０は、ネットワーク機器１０のファームウェアが更新された場合に、更新用データファイルをネットワーク機器１０に送信する機能を備えている。
【００２２】
また、本実施の形態では、ネットワーク機器１０は、セットトップボックスである。ネットワーク機器１０には、図１に示すように、例えば、電話機６０、パーソナルコンピュータ７０、テレビジョン受像器８０等が接続される。
【００２３】
図２に示すように、ネットワーク機器１０は、ファームウェアを格納する記憶装置１３と、メモリ１２と、ファームウェアをメモリ１２の記憶領域上に展開して、ファームウェアが規定する処理を実行する演算処理部１１とを備えている。１５は、これらを接続するバスである。
【００２４】
本実施の形態では、演算処理部１１は、プロセッサ（ＣＰＵ：Central Processing Unit）である。また、記憶装置１３としては、フラッシュメモリ等の不揮発性の半導体記憶装置が用いられている。メモリ１２としては、書き込み及び読み出し速度の速いＲＡＭが用いられている。ネットワーク機器１０は、マイコンによって構成されている。
【００２５】
そして、演算処理部１１は、サーバ装置４０から、ネットワーク５０を介して、ネットワーク機器１０のファームウェアの更新用データファイル２０が送信されてくると、次の処理を実行する。
【００２６】
まず、演算処理部１１は、メモリ１２に格納されているファイルのうち、サイズが更新用データファイル２０のサイズ以上となるファイルを特定し、特定したファイルを、更新用データファイル２０で書き換える。即ち、演算処理部１１は、特定したファイルを、更新用データファイル２０で上書きする。
【００２７】
続いて、演算処理部１１は、更新用データファイル２０を記憶装置１３に格納させ、ネットワーク機器１０のファームウェアをアップデートする。この結果、ネットワーク機器１０が再起動されると、演算処理部１１は、アップデートされたファームウェアをメモリ１２の記憶領域上に展開するので、アップデートされたファームウェアが規定する処理が実行される。
【００２８】
［ネットワーク機器の動作］
次に、本発明の実施の形態におけるネットワーク機器１０の動作について図３及び図４を用いて説明する。図３は、本発明の実施の形態におけるネットワーク機器の動作を示すフロー図である。図４は、本発明の実施の形態におけるネットワーク機器の動作を概念的に示す図である。
【００２９】
但し、以下の説明では、適宜、図１及び図２を参照する。また、本実施の形態では、ネットワーク機器１０を動作させることによって、アップデート方法が実施される。よって、本実施の形態におけるアップデート方法の説明は、以下のネットワーク機器１０の動作説明に代える。
【００３０】
また、前提として、ネットワーク機器１０において、電源がオンされると、図４に示すように、演算処理部１１であるＣＰＵ（図２参照）は、記憶装置１３に格納されているファームウェア３５を読み込み、これをメモリ１２の記憶領域に展開する。これにより、オペレーティングシステム３０と、ファイルシステム３１とが構築される。また、ファイルシステム３１は、アプリケーションプログラム及びその関連ファイルで構成されたアプリケーションデータ３２と、空き領域３３とで構成される。
【００３１】
図３及び図４に示すように、最初に、演算処理部１１は、ファームウェアの更新を検知する（ステップＳ１）。具体的には、演算処理部１１は、ファームウェアの更新の有無を判定するプログラムを実行している。このプログラムは、常駐プログラムであり、定期的に、サーバ装置４０にアクセスして、新しいファームウェアがアップロードされているかどうかを判定する。判定の結果、アップロードされている場合は、演算処理部１１は、次のステップを実行する。
【００３２】
次に、演算処理部１１は、メインメモリ１２のファイルシステム３１を検索し、サイズが更新用データファイル２０のサイズ以上となるファイル（以下「書換対象ファイル」と表記する。）を特定する（ステップＳ２）。本実施の形態においては、特定される書換対象ファイルは、サイズが更新用データファイル２０のサイズ以上となるファイルであれば良い。
【００３３】
但し、次のステップＳ３で上書きされた後に、ネットワーク機器１０の動作に悪影響がでないようにする点からは、演算処理部１１は、メモリ１２に格納されている常駐プログラム及びそれに関連するファイルの中から、書換対象ファイルを特定するのが好ましい。常駐プログラム及びそれに関連するファイルは、起動後に、ファイルシステム３１から呼び出され、オペレーティングシステム３０上で既に展開されているからである。
【００３４】
次に、演算処理部１１は、ファイルシステム３１において、ステップＳ２で特定した書換対象ファイル３４を、サーバ４０（図１参照）から送信されてきた更新用データファイル２０で上書きする（ステップＳ３）。これにより、サーバ４０から送信されてきた更新用データファイル２０は、メモリ１２の空き領域３３以外の記憶領域に格納される。
【００３５】
次に、演算処理部１１は、メモリ１２に格納されている更新用データファイル２０を記憶装置１３に転送し、既存のファームウェア３５のデータファイルを更新用データファイル２０に書き換え、ファームウェア３５をアップデートする（ステップＳ４）。
【００３６】
上述したステップＳ１〜Ｓ４により、ファームウェア３５のアップデートは完了する。この後、ネットワーク機器１０が再起動されると、演算処理部１１は、アップデートされたファームウェア３５を用いて、オペレーティングシステム３０と、ファイルシステム３１とを構築する。結果、アップデートされたファームウェアが規定する処理が実行される。
【００３７】
以上のように本実施の形態では、更新用データファイル２０は、メモリ１２の空き領域３３以外の領域に、一旦保持されるようになっている。このため、本実施の形態によれば、空き領域３３のサイズが小さい場合であっても、ファームウェアのアップデートが確実に実行可能となる。また、仮に、書換対象ファイルが更新用データファイル２０によって上書きされた後に、オペレーティングシステム３０及びファイルシステム３１が破壊されてしまっても、再起動により、これらは再構築される。
【００３８】
また、本実施の形態におけるプログラムは、ネットワーク機器１０を構成しているマイコンに、図３に示すステップＳ１〜Ｓ４を実行させるプログラムであれば良い。このプログラムをマイコンに実行させることによって、本実施の形態におけるネットワーク機器１０とアップデート方法とを実現することができる。この場合、マインコンのＣＰＵ（Central Processing Unit）は、演算処理部１１として機能し、処理を行なう。
【００３９】
なお、今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【産業上の利用可能性】
【００４０】
以上のように、本発明によれば、メモリの空き領域が少ない場合であっても、ファームウェアのアップデートを確実に実行できる。本発明は、ファームウェアのアップデートが自動的に実行されるネットワーク機器に有用である。
【符号の説明】
【００４１】
１０  ネットワーク機器
１１  演算処理部
１２  メモリ
１３  記憶装置
１４  通信インターフェイス
１５  バス
２０  更新用データファイル
３０  オペレーティングシステム
３１  ファイルシステム
３２  アプリケーションデータ
３３  空き領域
３４  書換対象ファイル
３５  ファームウェア
４０  サーバ装置
５０  ネットワーク
６０  電話機
７０  パーソナルコンピュータ
８０  テレビジョン受像器
【図１】
2013058145.tif 000003
【図２】
2013058145.tif 000004
【図３】
2013058145.tif 000005
【図４】
2013058145.tif 000006