(57)【要約】【課題】複数のプログラムを更新する際に、更新プログラムのダウンロードの途中での電源断が、不揮発性の記憶部に空き容量がない状態で発生した場合であっても、できるだけ更新プログラムのダウンロードを再度始めからし直す必要がないようにする。【解決手段】電子機器は、更新対象のプログラムが複数ある場合に、不揮発性の第１の記憶部に割り当てられた記憶領域が最も大きい更新プログラム以外の更新プログラムについては、他の更新プログラムに割り当てられた記憶領域であって、当該更新プログラムに割り当てられた記憶領域よりも容量が大きい記憶領域を、ダウンロードした更新プログラムを一時的に記憶させておく一時的記憶領域に決定する。また、割り当てられた記憶領域が最も大きい更新プログラムについては、揮発性の第２の記憶部を、当該更新プログラムを一時的に記憶させておく一時的記憶領域に決定する。【選択図】図３
2017123017.tif 000002
【特許請求の範囲】
【請求項１】
本電子機器が有する機能を実現するための複数のプログラムを記憶している不揮発性の第１記憶部と、
前記第１記憶部に記憶されたプログラムを実行するプロセッサと、
前記プロセッサの作業領域として用いられる揮発性の第２の記憶部と、
前記プログラムを更新する更新プログラムを記憶している外部機器から、当該更新プログラムをダウンロードする通信部と、を備え、
前記第１の記憶部には、前記プログラム毎に専用の記憶領域が予め割り当てられており、
前記プロセッサは、更新対象のプログラムが複数ある場合に、
（i）各更新対象のプログラムに割り当てられた前記記憶領域内のデータを消去し、
（ii）前記通信部に前記各更新対象のプログラムに対応する複数の更新プログラムをダウンロードさせ、
（iii）前記複数の更新プログラムのうち、（iii-i）割り当てられた記憶領域が最も大きい更新プログラム以外の更新プログラムについては、他の更新プログラムに割り当てられた記憶領域であって、当該更新プログラムに割り当てられた記憶領域よりも容量が大きい記憶領域を、当該更新プログラムを一時的に記憶させておく一時的記憶領域に決定し、（iii-ii）割り当てられた記憶領域が最も大きい更新プログラムについては、前記第２の記憶部を、当該更新プログラムを一時的に記憶させておく一時的記憶領域に決定し、
（iv）前記決定した一時的記憶領域にダウンロードさせた前記複数の更新プログラムのそれぞれを記憶させ、
（v）前記複数の更新プログラムのダウンロードが完了したときに、前記一時的記憶領域に記憶された前記各更新プログラムを割り当てられた記憶領域に書き込み、書き込んだ前記各更新プログラムを前記一時的記憶領域から消去する、電子機器。
【請求項２】
前記プロセッサは、
前記複数の更新プログラムのダウンロード中に電源断が発生した場合、当該電源断からの復帰後に、前記複数の更新プログラムのいずれの更新プログラムのダウンロード中に電源断が発生したかを特定し、
割り当てられた記憶領域が最も大きい更新プログラム以外の更新プログラムのダウンロード中に電源断が発生したと特定した場合、前記通信部に、当該更新プログラムのダウンロードを前記電源断が発生した時点から再開させ、
割り当てられた記憶領域が最も大きい更新プログラムのダウンロード中に電源断が発生したと特定した場合、前記通信部に、当該更新プログラムのダウンロードを始めから実行させる、請求項１に記載の電子機器。
【請求項３】
前記プロセッサは、前記通信部に前記複数の更新プログラムをダウンロードさせる場合、割り当てられた記憶領域が最も大きい更新プログラムのダウンロードを、それ以外の更新プログラムのダウンロードが完了した後に実行させる、請求項２に記載の電子機器。
【請求項４】
前記プロセッサは、更新対象のプログラムが１つである場合、前記第２の記憶部を当該更新プログラムを一時的に記憶させておく一時的記憶領域に決定し、前記第２の記憶部にダウンロードさせた前記更新プログラムを記憶させ、前記更新プログラムのダウンロードが完了したときに、前記第２の記憶部に記憶された前記更新プログラムを割り当てられた記憶領域に書き込み、書き込んだ前記更新プログラムを前記第２の記憶部から消去する、請求項１または請求項２に記載の電子機器。
【請求項５】
前記プロセッサは、
前記第１の記憶部に空き領域がある場合、当該空き領域の容量が、前記複数の更新プログラムが割り当てられた記憶領域のうち容量が最も大きい記憶領域の容量以上であるか否かを判定し、
前記空き領域の容量が最も大きい記憶領域の容量以上でない場合、前記最も大きい更新プログラムを一時的に記憶させておく一時的記憶領域に、前記第２の記憶部を決定し、
前記空き領域の容量が最も大きい記憶領域の容量以上である場合、前記最も大きい更新プログラムを一時的に記憶させておく一時的記憶領域に、前記第２の記憶部ではなく前記空き領域を決定する、請求項１乃至請求項４のいずれか１項に記載の電子機器。
【請求項６】
複数のプログラムを記憶し、当該プログラム毎に専用の記憶領域が予め割り当てられている不揮発性の第１記憶部と、揮発性の第２の記憶部とを備える電子機器において、前記複数のプログラムを更新するプログラム更新方法であって、
（i）各更新対象のプログラムに割り当てられた前記記憶領域内のデータを消去するステップと、
（ii）前記各更新対象のプログラムに対応する複数の更新プログラムをダウンロードするステップと、
（iii）前記複数の更新プログラムのうち、（iii-i）割り当てられた記憶領域が最も大きい更新プログラム以外の更新プログラムについては、他の更新プログラムに割り当てられた記憶領域であって、当該更新プログラムに割り当てられた記憶領域よりも容量が大きい記憶領域を、当該更新プログラムを一時的に記憶させておく一時的記憶領域に決定し、（iii-ii）割り当てられた記憶領域が最も大きい更新プログラムについては、前記第２の記憶部を、当該更新プログラムを一時的に記憶させておく一時的記憶領域に決定するステップと、
（iv）前記決定した一時的記憶領域にダウンロードさせた前記複数の更新プログラムのそれぞれを記憶させるステップと、
（v）前記複数の更新プログラムのダウンロードが完了したときに、前記一時的記憶領域に記憶された前記各更新プログラムを割り当てられた記憶領域に書き込み、書き込んだ前記各更新プログラムを前記一時的記憶領域から消去するステップと、を有するプログラム更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器およびプログラム更新方法に関し、特に、複数のプログラムの更新を行う技術に関する。
【背景技術】
【０００２】
画像形成装置などの電子機器は、ＣＰＵ（Central Processing Unit）などのプロセッサ、ＲＯＭ（Read Only Memory）などの不揮発性の記憶部、およびＲＡＭ（Random Access Memory）などの揮発性の記憶部を備えている。不揮発性の記憶部には予め様々なプログラムが記憶（インストール）されており、当該プログラムがプロセッサにより実行されることで電子機器が有する様々な機能が実現される。また、揮発性の記憶部は、プロセッサの作業領域として用いられ、様々な処理の途中で生じた一時的なデータなどが記憶される。
【０００３】
ここでバグの修正や機能の追加のため、製品出荷後に不揮発性の記憶部に記憶されたプログラムを更新する場合がある。プログラムの更新の際には、更新プログラムを記憶している外部機器から更新プログラムをダウンロードするが、更新プログラムをダウンロードしている途中で電源断が発生する場合がある。ダウンロードした更新プログラムは、一般に、まず揮発性の記憶部に一時的に記憶し、その後ダウンロードが完了したときに不揮発性の記憶部に書き込む。このため、上記のようにダウンロードの途中で電源断が発生した場合には、揮発性の記憶部に記憶されたダウンロードの途中の更新プログラムが失われてしまうので、電源断からの復帰後に更新プログラムを再度始めからダウンロードし直す必要がある。
【０００４】
下記の特許文献１には、ダウンロードした更新プログラムを揮発性の記憶部ではなく、不揮発性の記憶部に書き込む技術が開示されている。当該技術によれば、ダウンロードの途中で電源断が発生した場合であってもダウンロードの途中の更新プログラムが失われることがなく、電源断からの復帰後に更新プログラムのダウンロードを電源断が発生した時点から再開することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１７５１９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の特許文献１に開示された技術では、不揮発性の記憶部に十分な空き容量がある場合には問題ないが、空き容量がない場合にはダウンロードした更新プログラムを書き込むことができない。また、更新プログラムが複数ある場合その容量が大きくなることが多いが、上記の特許文献１に開示された技術では、このような更新プログラムが複数ある場合を考慮していない。
【０００７】
本発明は、上記の事情に鑑みなされたものであり、複数のプログラムを更新する際に、更新プログラムのダウンロードの途中での電源断が、不揮発性の記憶部に空き容量がない状態で発生した場合であっても、できるだけ更新プログラムのダウンロードを再度始めからし直す必要がないようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一局面にかかる電子機器は、本電子機器が有する機能を実現するための複数のプログラムを記憶している不揮発性の第１記憶部と、前記第１記憶部に記憶されたプログラムを実行するプロセッサと、前記プロセッサの作業領域として用いられる揮発性の第２の記憶部と、前記プログラムを更新する更新プログラムを記憶している外部機器から、当該更新プログラムをダウンロードする通信部と、を備え、前記第１の記憶部には、前記プログラム毎に専用の記憶領域が予め割り当てられており、前記プロセッサは、更新対象のプログラムが複数ある場合に、（i）各更新対象のプログラムに割り当てられた前記記憶領域内のデータを消去し、（ii）前記通信部に前記各更新対象のプログラムに対応する複数の更新プログラムをダウンロードさせ、（iii）前記複数の更新プログラムのうち、（iii-i）割り当てられた記憶領域が最も大きい更新プログラム以外の更新プログラムについては、他の更新プログラムに割り当てられた記憶領域であって、当該更新プログラムに割り当てられた記憶領域よりも容量が大きい記憶領域を、当該更新プログラムを一時的に記憶させておく一時的記憶領域に決定し、（iii-ii）割り当てられた記憶領域が最も大きい更新プログラムについては、前記第２の記憶部を、当該更新プログラムを一時的に記憶させておく一時的記憶領域に決定し、（iv）前記決定した一時的記憶領域にダウンロードさせた前記複数の更新プログラムのそれぞれを記憶させ、（v）前記複数の更新プログラムのダウンロードが完了したときに、前記一時的記憶領域に記憶された前記各更新プログラムを割り当てられた記憶領域に書き込み、書き込んだ前記各更新プログラムを前記一時的記憶領域から消去する、電子機器である。
【０００９】
また、本発明の別の一局面にかかるプログラム更新方法は、複数のプログラムを記憶し、当該プログラム毎に専用の記憶領域が予め割り当てられている不揮発性の第１記憶部と、揮発性の第２の記憶部とを備える電子機器において、前記複数のプログラムを更新するプログラム更新方法であって、（i）各更新対象のプログラムに割り当てられた前記記憶領域内のデータを消去するステップと、（ii）前記各更新対象のプログラムに対応する複数の更新プログラムをダウンロードするステップと、（iii）前記複数の更新プログラムのうち、（iii-i）割り当てられた記憶領域が最も大きい更新プログラム以外の更新プログラムについては、他の更新プログラムに割り当てられた記憶領域であって、当該更新プログラムに割り当てられた記憶領域よりも容量が大きい記憶領域を、当該更新プログラムを一時的に記憶させておく一時的記憶領域に決定し、（iii-ii）割り当てられた記憶領域が最も大きい更新プログラムについては、前記第２の記憶部を、当該更新プログラムを一時的に記憶させておく一時的記憶領域に決定するステップと、（iv）前記決定した一時的記憶領域にダウンロードさせた前記複数の更新プログラムのそれぞれを記憶させるステップと、（v）前記複数の更新プログラムのダウンロードが完了したときに、前記一時的記憶領域に記憶された前記各更新プログラムを割り当てられた記憶領域に書き込み、書き込んだ前記各更新プログラムを前記一時的記憶領域から消去するステップと、を有するプログラム更新方法である。
【発明の効果】
【００１０】
本発明によれば、複数のプログラムを更新する際に、更新プログラムのダウンロードの途中での電源断が、不揮発性の記憶部に空き容量がない状態で発生した場合であっても、更新プログラムのダウンロードを再度始めからし直す必要が少なくなる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態にかかる電子機器の主要内部構成を示す機能ブロック図である。
【図２】本発明の一実施形態にかかる電子機器のＲＯＭおよびＲＡＭに記憶されるデータの一例を示す図である。
【図３】本発明の一実施形態にかかる電子機器によるプログラムの更新処理の流れを示すフローチャートである。
【図４】本発明の一実施形態にかかる電子機器のＲＯＭおよびＲＡＭに記憶されるデータの一例を示す図である。
【図５】本発明の一実施形態にかかる電子機器のＲＯＭに記憶されるデータの一例を示す図である。
【図６】（Ａ）〜（Ｃ）は、本発明の一実施形態にかかる電子機器のＲＯＭに記憶されるデータの一例を示す図である。
【図７】（Ａ）および（Ｂ）は、本発明の一実施形態にかかる電子機器のＲＯＭおよびＲＡＭに記憶されるデータの一例を示す図である。
【図８】本発明の一実施形態にかかる電子機器において、更新プログラムのダウンロード中に電源断が起きた場合の処理の流れを示すフローチャートである。
【図９】（Ａ）および（Ｂ）は、本発明の変形例にかかる電子機器のＲＯＭおよびＲＡＭに記憶されるデータの一例を示す図である。
【図１０】（Ａ）および（Ｂ）は、本発明の変形例にかかる電子機器のＲＯＭおよびＲＡＭに記憶されるデータの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態にかかる電子機器およびプログラム更新方法について図面を参照して説明する。
【００１３】
図１は、本発明の一実施形態にかかる電子機器１の主要内部構成を示す機能ブロック図である。本図では、電子機器１が記録紙上に画像を形成する画像形成装置である場合を示している。電子機器１は、制御ユニット１０、ＲＯＭ１１、ＲＡＭ１２、ＨＤＤ（Hard disk drive）１３、表示部１４、通信インターフェイス１５、および画像形成部１６などを備えている。これら各部は、互いにバスなどによりデータまたは信号の送受信が可能とされている。
【００１４】
制御ユニット１０（プロセッサ）は、ＣＰＵや専用のハードウェア回路などから構成され、電子機器１の動作制御を司る。
【００１５】
ＲＯＭ１１（第１の記憶部）は、不揮発性の記憶部であって、予め様々なプログラムが記憶されている。
【００１６】
ＲＡＭ１２（第２の記憶部）は、揮発性の記憶部であって、制御ユニット１０の作業領域として用いられる。ＲＡＭ１２には、制御ユニット１０が実行する様々な処理の途中で生じた一時的なデータなどが記憶される。
【００１７】
図２は、ＲＯＭ１１およびＲＡＭ１２に記憶されるデータの一例を示す図である。本図に示す例では、ＲＯＭ１１は、プログラムＡ〜Ｄのプログラム毎に専用の記憶領域（プログラムＡ用記憶領域〜プログラムＤ用記憶領域）が予め割り当てられている。プログラムＡ〜Ｄの各プログラムは、製品出荷時にＲＯＭ１１内の割り当てられた記憶領域に記憶される。そして、その後にＲＯＭ１１のフォーマットが書き込みを禁止するフォーマットに変換される。
【００１８】
図１に戻って、ＨＤＤ１３は、大容量の記憶装置であって、その記憶領域の一部に画像形成部１６による画像形成対象となる画像データなどを記憶する。
【００１９】
表示部１４は、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）や有機ＥＬ（ＯＬＥＤ：Organic Light-Emitting Diode）を含んで構成され、制御ユニット１０の表示制御部１０１により描画されたメニュー画面などが表示される。
【００２０】
通信インターフェイス１５（通信部）は、ＬＡＮボードなどの通信モジュールから構成され、当該通信インターフェイス１５に接続されたＬＡＮなどを介して、電子機器１の外部に設置されたプログラム更新サーバー２００などと種々のデータの送受信を行う。
【００２１】
プログラム更新サーバー２００は、ＲＡＭ１２に記憶されたプログラムを更新する更新プログラムを記憶している。プログラム更新サーバー２００は、電子機器１からの問い合わせに応じて、更新プログラムの有無を示す情報や更新プログラムを電子機器１に送信する。
【００２２】
画像形成部１６は、感光体ドラム、帯電装置、露光装置、および現像装置などを備え、帯電、露光、現像、定着の工程により、記録紙上に画像を形成する。
【００２３】
ここで、制御ユニット１０は、ＲＯＭ１１に記憶されたプログラムに従って動作することで、制御部１００、表示制御部１０１、受付部１０２、プログラム更新制御部１０３、および通信制御部１０４として機能する。
【００２４】
制御部１００は、電子機器１全体の動作制御を司る。例えば、制御部１００は、画像形成部１６による画像形成動作を制御する。表示制御部１０１は、表示部１４による表示動作を制御する機能を有する。受付部１０２は、不図示の操作部を用いて入力されるユーザー操作に基づき、画像形成指示やプログラムの更新指示などを受け付ける機能を有する。プログラム更新制御部１０３は、ＲＡＭ１２に記憶されたプログラムを更新する処理を行う。通信制御部１０４は、通信インターフェイス１５による通信動作を制御する機能を有する。
【００２５】
以下では、上記の構成を備える電子機器１のプログラムの更新処理を説明するが、その前にまず一般的な電子機器によるプログラムの更新処理について説明する。
【００２６】
一般的な電子機器では、ユーザーによるプログラムの改変を防止するために、プログラムが予め記憶されるＲＯＭが書き込みを禁止するフォーマットとされていることが多い。このため、プログラムの更新を行う際には、ＲＯＭ内のデータを消去した上で、ＲＯＭのフォーマットを書き込み許可するフォーマットに変更する必要があるので、ダウンロードした更新プログラムをＲＯＭに直接書き込むことができない。
【００２７】
上記の事情から一般的な電子機器では、ダウンロードした更新プログラムをまず揮発性のＲＡＭに一時的に記憶する。そして、ＲＯＭ内のデータを消去し、ＲＯＭのフォーマットを書き込み許可するフォーマットに変換した後に、ＲＡＭに一時的に記憶した更新プログラムをＲＯＭに書き込む。
【００２８】
これに対して、本発明の一実施形態にかかる電子機器１は、図３に示す手順でプログラムの更新処理を行う。
【００２９】
図３に示すように、電子機器１のプログラム更新制御部１０３は、まず、プログラムの更新を確認するタイミングであるか否かを判定する（ステップＳ１１）。具体的には、プログラム更新制御部１０３は、前回のプログラムの更新を確認したときから予め定められた時間が経過しているか否かを判定する。予め定められた時間が経過している場合、プログラム更新制御部１０３は、プログラムの更新を確認するタイミングであると判定する。また、受付部１０２がプログラムの更新指示を受け付けた場合、プログラム更新制御部１０３は、プログラムの更新を確認するタイミングであると判定する。
【００３０】
プログラムの更新を確認するタイミングである場合（ステップＳ１１において、ＹＥＳ）、プログラム更新制御部１０３は、通信インターフェイス１５を制御してプログラム更新サーバー２００と通信を行い、ＲＯＭ１１に記憶されているプログラムの更新プログラムの有無をプログラム更新サーバー２００に問い合わせる（ステップＳ１２）。
【００３１】
プログラム更新サーバー２００は、電子機器１からの問い合わせを受けて、ＲＯＭ１１に記憶されているプログラムの更新プログラムの有無を特定し、更新プログラムの有無を示す情報を電子機器１に送信する。電子機器１は、プログラム更新サーバー２００から送信された当該更新プログラムの有無を示す情報に基づき、更新プログラムが存在するか否かを特定する。
【００３２】
更新プログラムが存在しない場合（ステップＳ１２においてＮＯ）、電子機器１はプログラムの更新処理を終了する。一方、更新プログラムが存在する場合（ステップＳ１２においてＹＥＳ）、電子機器１は、ステップＳ１３以降の処理を実行する。
【００３３】
更新対象のプログラムが１つである場合（ステップＳ１３においてＮＯ）、電子機器１は、通常のプログラム更新処理を行う（ステップＳ２３）。すなわち、電子機器１は、以下の（１）〜（６）の処理を行う。
【００３４】
（１）プログラム更新制御部１０３が、更新対象のプログラムに割り当てられたＲＯＭ１１の記憶領域を特定し、当該記憶領域内のデータを消去する処理（プログラム消去処理）
（２）通信制御部１０４が、通信インターフェイス１５を制御して、プログラム更新サーバー２００から更新プログラムをダウンロードする処理（ダウンロード処理）
（３）ＲＡＭ１２を更新プログラムを一時的に記憶させておく一時的記憶領域に決定する処理（一時的記憶領域決定処理）
（４）ダウンロードした更新プログラムをＲＡＭ１２に一時的に記憶させる処理（一時的記憶処理）
（５）更新プログラムのダウンロードが完了したときに、ＲＡＭ１２に記憶された更新プログラムを割り当てられた記憶領域内に書き込み（書き込み処理）
（６）ＲＡＭ１２から更新プログラムを消去する処理（一時的データ消去処理）
【００３５】
なお、電子機器１が上記の（１）〜（３）の処理の行う順序は、特に限定されない。電子機器１は、例えば、（１）〜（３）の処理を同時に行ってもよいし、（２）の処理を行った後に（１）の処理を行ってもよい。
【００３６】
一方、更新対象のプログラムが複数存在する場合（ステップＳ１３においてＹＥＳ）、プログラム更新制御部１０３は、更新対象の複数のプログラムのそれぞれについて、割り当てられたＲＯＭ１１内の各記憶領域を特定する（ステップＳ１４）。このとき、プログラム更新制御部１０３は、各記憶領域のＲＯＭ内の位置（記憶領域の開始位置および終了位置）および各記憶領域の容量を特定する。
【００３７】
ステップＳ１４の処理後、プログラム更新制御部１０３は、更新プログラムのダウンロード中に、各更新プログラムを一時的に記憶するＲＯＭ１１およびＲＡＭ内の領域（一時的記憶領域）を決定する（ステップＳ１５）。
【００３８】
詳細には、プログラム更新制御部１０３は、複数の更新プログラムのうち、割り当てられた記憶領域が最も大きい更新プログラム以外の更新プログラムについては、他の更新プログラムに割り当てられた記憶領域であって、当該更新プログラムに割り当てられた記憶領域よりも容量が大きい記憶領域を一時的記憶領域に決定する。また、プログラム更新制御部１０３は、割り当てられた記憶領域が最も大きい更新プログラムについては、ＲＡＭ１２を一時的記憶領域に決定する。
【００３９】
ステップＳ１５の処理後、プログラム更新制御部１０３は、ＲＯＭ１１内の各記憶領域に記憶されたデータを消去する（ステップＳ１６）。
【００４０】
そして、通信制御部１０４は、通信インターフェイス１５を制御して、プログラム更新サーバー２００から更新プログラムをダウンロードする（ステップＳ１７）。通信制御部１０４は、複数の更新プログラムのうち、割り当てられた記憶領域が小さい更新プログラムから順にダウンロードする。
【００４１】
プログラム更新制御部１０３は、更新プログラムのダウンロード中、ダウンロードした各更新プログラムをステップＳ１５の処理で決定した一時的記憶領域に記憶させる（ステップＳ１８）。
【００４２】
電子機器１は、上記のステップＳ１７およびステップＳ１８の処理を、全ての更新プログラムが完了するまで繰り返しおこなう。通信制御部１０４は、複数の更新プログラムのうち、割り当てられた記憶領域が小さい更新プログラムから順にダウンロードするため、割り当てられた記憶領域が最も大きい更新プログラムのダウンロードは、それ以外の更新プログラムのダウンロードが完了した後に実行されることになる。
【００４３】
全ての更新プログラムが完了した場合（ステップＳ１９においてＹＥＳ）、プログラム更新制御部１０３は、ステップＳ１８の処理で一時的に記憶した更新プログラムを、当該更新プログラムに割り当てられたＲＯＭ１１内の記憶領域に書き込む（ステップＳ２０）。その後、プログラム更新制御部１０３は、ステップＳ２０の処理で書き込んだ更新プログラムを一時的記憶領域から消去する（ステップＳ２１）。
【００４４】
プログラム更新制御部１０３は、上記のステップＳ２０およびステップＳ２１の処理を、割り当てられた記憶領域が小さい更新プログラムから順に実行する。そして、全ての更新プログラムについてステップＳ２０およびステップＳ２１の処理が完了した場合（ステップＳ２２においてＹＥＳ）、電子機器１は、プログラムの更新処理を終了する。
【００４５】
なお上記のフローチャートにおいて、電子機器１が、ステップＳ１５〜ステップＳ１７の処理を行う順序は、特に限定されない。電子機器１は、例えば、ステップＳ１５〜ステップＳ１７の処理を同時に行ってもよいし、ステップＳ１７の処理を行った後に、ステップＳ１６の処理を行ってもよい。
【００４６】
続いて、上記のフローチャートで示した処理の内容を、図４〜図７を用いて具体的に説明する。以下では、図２に示すプログラムＡ〜Ｄの４つのプログラムが更新対象のプログラムである場合を考える。
【００４７】
ステップＳ１６の処理では、プログラム更新制御部１０３が、ＲＯＭ１１内の各記憶領域に記憶されたデータを消去する。すなわち、ＲＯＭ１１に記憶されたデータは、図２に示す状態から図４に示す状態となる。
【００４８】
また、ステップＳ１５の処理では、プログラム更新制御部１０３が、複数の更新プログラムのうち、割り当てられた記憶領域が最も大きい更新プログラム以外の更新プログラムについては、他の更新プログラムに割り当てられた記憶領域であって、当該更新プログラムに割り当てられた記憶領域よりも容量が大きい記憶領域を一時的記憶領域に決定する。図２に示す例では、プログラムＡ用記憶領域〜プログラムＤ用記憶領域の容量の大きさが、「プログラムＡ用記憶領域＜プログラムＢ用記憶領域＜プログラムＣ用記憶領域＜プログラムＤ用記憶領域」となっているため、プログラム更新制御部１０３は、プログラムＢ用記憶領域を更新プログラムＡの一時的記憶領域に決定し、プログラムＣ用記憶領域を更新プログラムＢの一時的記憶領域に決定し、プログラムＤ用記憶領域を更新プログラムＣの一時的記憶領域に決定する。
【００４９】
また、プログラム更新制御部１０３は、割り当てられた記憶領域が最も大きい更新プログラムについては、ＲＡＭ１２を一時的記憶領域に決定する。図２に示す例では、プログラムＤ用記憶領域が最も大きい容量の記憶領域であるため、プログラム更新制御部１０３は、ＲＡＭ１２を更新プログラムＤの一時的記憶領域に決定する。
【００５０】
この結果、全ての更新プログラムのダウンロードが完了した時点では、ＲＯＭ１１およびＲＡＭ１２に記憶されたデータは図５に示す状態となる。
【００５１】
その後、プログラム更新制御部１０３は、割り当てられた記憶領域が小さい更新プログラムから順にステップＳ２０およびステップＳ２１の処理を実行する。すなわち、図６（Ａ）に示すように、プログラム更新制御部１０３は、割り当てられた記憶領域の容量が最も小さい更新プログラムＡを、一時的記憶領域であるプログラムＢ用記憶領域からプログラムＡ用記憶領域に書き込む。
【００５２】
そして、図６（Ｂ）に示すように、プログラム更新制御部１０３は、プログラムＢ用記憶領域から更新プログラムＡを消去する。これにより、図６（Ｃ）に示すように、プログラムＢ用記憶領域が空白領域となる。
【００５３】
この処理を更新プログラムＢおよび更新プログラムＣに対して行うことで、ＲＯＭ１１およびＲＡＭ１２に記憶されたデータは図７（Ａ）に示す状態となる。この状態から、プログラム更新制御部１０３は、更新プログラムＤをＲＡＭ１２からＲＯＭ１１内のプログラムＤ用記憶領域に書き込む（図７（Ｂ）参照）。そして、プログラム更新制御部１０３は、ＲＡＭ１２から更新プログラムＤを消去する（図７（Ｂ）参照）。
【００５４】
続いて、図８を用いて更新プログラムのダウンロード中に電源断が起きた場合の電子機器１による処理の流れについて説明する。
【００５５】
図８に示すように、電子機器１の電源が投入後、すなわち、電子機器１が電源断から復旧した後、プログラム更新制御部１０３は、更新プログラムのダウンロード中に電源断が発生したか否かを判定する（ステップＳ３１）。電子機器１は、更新プログラムのダウンロード中に電源断が発生した場合、電源が切れる前に予め定められた電源断フラグを発行する。プログラム更新制御部１０３は、予め定められた電源断フラグの有無を参照することで、更新プログラムのダウンロード中に電源断が発生したか否かを判定する。
【００５６】
ステップＳ３１の処理後、プログラム更新制御部１０３は、電源断が発生した際の更新プログラムのダウンロード状況を特定する（ステップＳ３２）。具体的には、プログラム更新制御部１０３は、複数の更新プログラムのいずれの更新プログラムのダウンロード中に電源断が発生したかを特定する。
【００５７】
ＲＯＭ１１の記憶領域へ更新プログラムを書き込んでいる途中で電源断が発生した場合（ステップＳ３３においてＹＥＳ）、すなわち、割り当てられた記憶領域が最も大きい更新プログラム以外の更新プログラムのダウンロード中に電源断が発生した場合、通信制御部１０４は、通信インターフェイス１５を制御して、更新プログラムのダウンロードを電源断が発生した時点から再開する（ステップＳ３４）。
【００５８】
一方、ＲＡＭ１２へ更新プログラムを書き込んでいる途中で電源断が発生した場合（ステップＳ３３においてＮＯ）、すなわち、割り当てられた記憶領域が最も大きい更新プログラムのダウンロード中に電源断が発生した場合、通信制御部１０４は、通信インターフェイス１５を制御して、更新プログラムのダウンロードを始めから実行させる（ステップＳ３５）。
【００５９】
以上のように、本発明の一実施形態にかかる電子機器１によれば、複数のプログラムを更新する際に、更新プログラムのダウンロードの途中での電源断が、不揮発性の記憶部に空き容量がない状態で発生した場合であっても、その電源断が割り当てられた記憶領域が最も大きい更新プログラムのダウンロード中に発生しない限り、ダウンロード途中の更新プログラムが失われることがないため、更新プログラムのダウンロードを再度始めからし直す必要がない。このため、更新プログラムのダウンロードにかかる時間やネットワークトラフィックを削減することができる。
【００６０】
また、プログラム更新制御部１０３は、割り当てられた記憶領域が最も大きい更新プログラムのダウンロードを、それ以外の更新プログラムのダウンロードが完了した後に実行させるため、ＲＡＭ１２内に更新プログラムが一時的に記憶されている時間が短時間となる。このため、電源断が発生してダウンロード途中の更新プログラムが失われる事態が発生する可能性が低い。
【００６１】
なお、本発明は上記の実施の形態の構成に限られず種々の変形が可能である。
【００６２】
上記の実施形態では、ＲＯＭ１１に空き領域がない場合の電子機器１の動作を説明した。ＲＯＭ１１に空き領域がある場合、プログラム更新制御部１０３は、ダウンロードした更新プログラムを一時的に記憶する一時的記憶領域を以下で説明する処理を行って決定してもよい。
【００６３】
プログラム更新制御部１０３は、ＲＯＭ１１に空き領域がある場合、当該空き領域の容量が、複数の更新プログラムが割り当てられた記憶領域のうち容量が最も大きい記憶領域の容量以上であるか否かを判定する。そして、ＲＯＭ１１の空き領域の容量が最も大きい記憶領域の容量以上でない場合、プログラム更新制御部１０３は、最も大きい更新プログラムを一時的に記憶させておく一時的記憶領域にＲＡＭ１２を決定する。一方、ＲＯＭ１１の空き領域の容量が最も大きい記憶領域の容量以上である場合、最も大きい更新プログラムを一時的に記憶させておく一時的記憶領域に、ＲＡＭ１２ではなくＲＯＭ１１の空き領域を決定する。
【００６４】
具体的には、図９（Ａ）に示すように、ＲＯＭ１１の空き領域の容量がプログラムＤ用記憶領域の容量以上である場合、図１０（Ａ）に示すように、更新プログラムＤを一時的に記憶させておく記憶領域に、ＲＯＭ１１の空き領域を決定する。一方、図９（Ｂ）に示すように、ＲＯＭ１１の空き領域の容量がプログラムＤ用記憶領域の容量以上でない場合、図１０（Ｂ）に示すように、更新プログラムＤを一時的に記憶させておく記憶領域に、ＲＡＭ１２を決定する。
【００６５】
このように、変形例にかかる電子機器によれば、不揮発性のＲＯＭ１１に十分な空き容量がある場合には、一切の更新プログラムをＲＡＭ１２に記憶させないため、更新プログラムのダウンロードの途中での電源断が発生した場合であっても、更新プログラムのダウンロードを再度始めからし直す必要がない。
【００６６】
また、上記の実施形態では、電子機器１が画像形成装置である場合を説明したが、本発明は必ずしもこの場合に限定されない。本発明の一実施形態にかかる電子機器は、画像形成装置の他に、例えば、タブレット端末やスマートフォン等の携帯端末、パーソナルコンピューター等に適応することができる。
【符号の説明】
【００６７】
１      電子機器
１０    制御ユニット
１１    ＲＯＭ
１２    ＲＡＭ
１３    ＨＤＤ
１４    表示部
１５    通信インターフェイス
１６    画像形成部
１００  制御部
１０１  表示制御部
１０２  受付部
１０３  プログラム更新制御部
１０４  通信制御部
２００  プログラム更新サーバー
【図１】
2017123017.tif 000003
【図２】
2017123017.tif 000004
【図３】
2017123017.tif 000005
【図４】
2017123017.tif 000006
【図５】
2017123017.tif 000007
【図６】
2017123017.tif 000008
【図７】
2017123017.tif 000009
【図８】
2017123017.tif 000010
【図９】
2017123017.tif 000011
【図１０】
2017123017.tif 000012