(57)【特許請求の範囲】
【請求項１】
更新用のプログラムを有するサーバと通信する通信部を有する通信機器であって、
旧プログラムおよび新プログラムを格納するメモリと、
前記何れかのプログラムを使用する制御部とを備え、
前記制御部は、前記サーバを介してプログラムを更新する際、前記旧プログラムを使用する旧使用状態となっている場合、前記サーバに対して前記プログラムの更新を要求せず、前記旧プログラムを使用する旧使用状態となっていない場合、前記サーバに対して前記プログラムの更新を要求する通信機器。
【請求項２】
前記制御部は、前記旧使用状態となっている場合、前記サーバからプログラムが更新された際に、前記旧使用状態を解除する請求項１に記載の通信機器。
【請求項３】
前記制御部は、前記旧使用状態となっている場合、前記サーバからプログラムが更新された際に、現在使用しているプログラムを前記旧プログラムとし、前記更新用のプログラムを前記新プログラムとする請求項１に記載の通信機器。
【請求項４】
前記旧使用状態に設定する操作部を設けた請求項１に記載の通信機器。
【請求項５】
更新用のプログラムを有するサーバと通信する通信部と、
旧プログラムおよび新プログラムを格納するメモリとを有する通信機器のプログラム更新方法であって、
前記サーバを介してプログラムを更新する際、前記旧プログラムを使用する旧使用状態となっている場合、前記サーバに対して前記プログラムの更新を要求せず、前記旧プログラムを使用する旧使用状態となっていない場合、前記サーバに対して前記プログラムの更新を要求するステップを有するプログラム更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの更新を行う通信機器およびプログラム更新方法に関する。
【背景技術】
【０００２】
ファームウェアによって動作する通信機器では、かかるファームウェアを更新することにより、追加された新機能やバグの改善に対応する。例えば特許文献１のソフトウェア管理装置では、ソフトウェア（ファームウェア）によって動作する組み込み機器の稼働状況に応じてソフトウェアの更新に適した時間帯を算出し、その時間帯に基づいて組み込み機器へのソフトウェアの適用を指示している。
【０００３】
ネットワークを介してのファームウェアの更新方法は、サーバが自動で開始するＰＵＳＨ型、および通信機器からの要求によって開始するＰＵＬＬ型の２つに大別される。ここで、一部の通信機器のメモリには新旧２つのファームウェアを保存する領域が設けられていて、ファームウェアの更新時は、現在使用しているファームウェアを旧ファームウェアの領域に書き込み、更新用のファームウェアを新ファームウェアの領域に上書きしている。
【０００４】
通常、ファームウェアが更新されたら、通信機器は更新後のファームウェアで動作するが、更新されたファームウェア（以下、新ファームと称する）にバグ等の不具合が起こる場合が稀にある。このような場合に備えて、通信機器にはイニシャルスイッチが設けられている。このイニシャルスイッチを押下することにより、更新されたファームウェアではなく、旧ファームウェアの領域に保存されている旧バージョンのファームウェア（以下、旧ファームウェアと称する）で通信機器を動作させることができ、新ファームウェアの不具合を回避することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２０６３９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、イニシャルスイッチが押下されることにより旧ファームウェアで動作している場合であっても、通信機器は、サーバを定期的にチェックして、新ファームウェアが存在するか否か確認する。この際に、通信機器は、サーバに新ファームウェアが存在するとダウンロードし、新ファームウェアで動作してしまう。
【０００７】
本発明は、バグ等の不具合を有する新プログラムによる動作を回避することで、正常動作を維持することが可能な通信機器およびプログラム更新方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本発明にかかる通信機器は、更新用のプログラムを有するサーバと通信する通信部を有する通信機器であって、旧プログラムおよび新プログラムを格納するメモリと、前記何れかのプログラムを使用する制御部とを備え、前記制御部は、前記サーバを介してプログラムを更新する際、前記旧プログラムを使用する旧使用状態となっている場合、前記サーバに対して前記プログラムの更新を要求しない構成を有する。
【０００９】
本発明にかかる通信機器の前記制御部は、前記旧使用状態となっている場合、前記サーバからプログラムが更新された際に、前記旧使用状態を解除する構成を有する。
【００１０】
本発明にかかる通信機器の前記制御部は、前記旧使用状態となっている場合、前記サーバからプログラムが更新された際に、現在使用しているプログラムを前記旧プログラムとし、前記更新用のプログラムを前記新プログラムとする構成を有する。
【発明の効果】
【００１１】
本発明によれば、バグ等の不具合を有する新ファームウェアによる動作を回避することで、正常動作を維持することが可能な通信機器およびプログラム更新方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態にかかる通信機器を含む無線通信システムの概略構成を示す図である。
【図２】本実施形態のルータの構成を示す機能ブロック図である。
【図３】イニシャルスイッチ押下時のルータの動作を示すフローチャートである。
【図４】起動時のルータの動作を示すフローチャートである。
【図５】サーバから更新ファームウェアを受信した際のルータの動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値などは、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【００１４】
図１は、本実施形態にかかる通信機器を含む無線通信システム１００の概略構成を示す図である。なお、本実施形態では、基地局１０４および無線端末１１０との無線通信を行うルータ１２０を通信機器として例示するが、これに限定するものではなく、ネットワーク１０６を介してサーバ１０２からファームウェアをダウンロードして更新する機能を有する通信機器であれば、他の通信機器であっても本発明を適用することが可能である。
【００１５】
図１に示す無線通信システム１００では、サーバ１０２と基地局１０４とがネットワーク１０６（ＷＡＮ）を介して接続されている。本実施形態の通信機器であるルータ１２０は、アクセスポイント１０８を介して無線端末１１０との無線通信を行う。そして、基地局１０４とルータ１２０との無線通信が行われることにより、無線端末１１０は、アクセスポイント１０８およびルータ１２０を介して基地局１０４との無線通信を行うことが可能となる。
【００１６】
例えば、サーバ１０２は、ルータ１２０を管理するものであって、ファームウエア等のソフトウエアをルータ１２０に導入するものである。例えば、アクセスポイント１０８と無線端末１１０との間は、無線ＬＡＮで通信し、ルータ１２０と基地局１０４との間は、ＬＴＥで通信する。例えば、ルータ１２０とアクセスポイント１０８との間は、Ｐｏｗｅｒ  Ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ(登録商標)で通信する。
【００１７】
図２は、本実施形態のルータ１２０の構成を示す機能ブロック図である。以下、図２に示すルータ１２０について説明しながら、ルータ１２０におけるファームウェア更新方法についても併せて説明する。図２に示すように、本実施形態のルータ１２０は、制御部１２２、メモリ１２４、イニシャルスイッチ１２６（操作部）、および無線通信部１２８を含んで構成され、ネットワーク１０６を介してサーバ１０２にファームウェアの更新を要求する機能を有する。なお、本実施形態では、実施例としてファームウェアとしているが、本発明では、ファームウェアには限定されず、ファームウェアを含むプログラムであればよい。
【００１８】
制御部１２２は、中央処理装置（ＣＰＵ）を含む半導体集積回路（不図示）により構成され、ルータ１２０全体を管理および制御する。メモリ１２４は、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ、不揮発性ＲＡＭ、フラッシュメモリ、ＨＤＤ等で構成され、制御部１２２で処理されるプログラム等を記憶する。また本実施形態では、メモリ１２４は、更新プログラム１２４ａ、第１ファームウェア１２４ｂ、第２ファームウェア１２４ｃ（新旧２つのファームウェア）、および起動パラメータ１２４ｄを格納している。
【００１９】
更新プログラムは、ルータ１２０の起動時にサーバ１０２に対してファームウェアの更新を要求するプログラムである。第１ファームウェア１２４ｂおよび第２ファームウェア１２４ｃは、ルータ１２０を動作させるプログラムである。起動パラメータ１２４ｄは、ルータ１２０の起動時に選択されるファームウェアの設定情報、および後述するイニシャルスイッチ１２６の押下履歴（旧使用状態）を含む。
【００２０】
なお、本実施形態では、第１ファームウェア１２４ｂが旧ファームウェアであり、第２ファームウェア１２４ｃが新ファームウェアであるとする。ファームウェア更新時に、現在使用しているファームウェアが第１ファームウェア１２４ｂ（旧ファームウェア）の領域に書き込まれ、更新用のファームウェアが第２ファームウェア１２４ｃ（新ファームウェア）の領域に上書きされる。
【００２１】
イニシャルスイッチ１２６は、ルータ１２０に設けられる物理キーであり、その押下によりユーザ入力を受け付ける。無線通信部１２８は、通信アンテナ１２８ａによってアクセスポイント１０８を介して基地局１０４との無線通信を行う。
【００２２】
図３は、イニシャルスイッチ１２６押下時のルータ１２０の動作を示すフローチャートである。図３に示すように、ルータ１２０の制御部１２２は、動作中にイニシャルスイッチ１２６の押下があるかを監視する（ステップＳ２０２）。イニシャルスイッチ１２６の押下が検出されるまでは（ステップＳ２０２のＮＯ）、制御部１２２は監視を継続する。
【００２３】
一方、ユーザによってイニシャルスイッチ１２６が押下されたら、すなわちイニシャルスイッチ１２６の押下を検出したら（ステップＳ２０２のＹＥＳ）、制御部１２２は、旧ファームウェアである第１ファームウェア１２４ｂで動作する設定をメモリ１２４の起動パラメータ１２４ｄに記憶し（ステップＳ２０４）、イニシャルスイッチ１２６が押下された履歴（以下、押下履歴と称する）をかかる起動パラメータ１２４ｄに記憶する（ステップＳ２０６）。その後、制御部１２２はルータ１２０を再起動する（ステップＳ２０８）。
【００２４】
図４は、起動時のルータ１２０の動作を示すフローチャートである。なお、図３のステップＳ２０８の再起動も図４に示す起動時と同様の動作を行う。図４に示すように、ルータ１２０の制御部１２２は、初期化等の起動処理を行った後（ステップＳ２１２）、起動パラメータ１２４ｄを参照し、イニシャルスイッチ１２６の押下履歴が記憶されているか否かを判断する（ステップＳ２１４）。
【００２５】
押下履歴が記憶されていなかったら（ステップＳ２１４のＮＯ）、制御部１２２は、ＰＵＬＬ型アップデートとして、更新プログラム１２４ａを実行し（ステップＳ２１６）、新ファームウェアをダウンロードして第２ファームウェア１２４ｃを更新する。そして、新しい第２ファームウェア１２４ｃで動作（起動）する（ステップＳ２１８）。一方、押下履歴が記憶されていたら（ステップＳ２１４のＹＥＳ：旧使用状態が設定されている）、制御部１２２は、更新プログラム１２４ａを実行せずに、旧ファームウェアである第１ファームウェア１２４ｂで動作する（ステップＳ２２０）。
【００２６】
上記説明したように、本実施形態のルータ１２０によれば、起動時に起動パラメータ１２４ｄにイニシャルスイッチ１２６の押下履歴が記憶されている場合には、サーバ１０２に対してファームウェアの更新要求を行う更新プログラム１２４ａを実行しない。これにより、新たにファームウェアをサーバ１０２からダウンロードすることがなくなるため、新ファームウェアによる動作を回避することができる。
【００２７】
また、イニシャルスイッチ１２６が押下された際、起動パラメータ１２４ｄには、起動時のファームウェアとして旧ファームウェア（第１ファームウェア１２４ｂ）が設定されている。したがって、ルータ１２０を、不具合等が生じた新ファームウェアではなく、旧ファームウェアで継続して動作させることができ、ルータ１２０の正常動作を維持することが可能となる。
【００２８】
図５は、サーバ１０２から更新ファームウェアを受信した際のルータ１２０の動作を示すフローチャートである（ＰＵＳＨ型アップデート）。ここで、起動パラメータ１２４ｄに押下履歴を記憶しておくことにより、上述したように不具合がある新ファームウェアでの動作を回避し、旧ファームウェアによって正常動作が維持される。しかしながら、かかる構成であると、押下履歴が記憶されている間はファームウェアの更新が行われなくなってしまう。
【００２９】
そこで本実施形態では、図５に示すように、制御部１２２は、サーバ１０２からの更新ファームウェアを受信したら（ステップＳ２３２）、まず第１ファームウェア１２４ｂおよび第２ファームウェア１２４ｃの一方を、受信したファームウェアに更新する（ステップＳ２３４）。すなわち、サーバ１０２からの更新ファームウェアを受信した際には、制御部１２２は、ルータ１２０のファームウェアを強制的に更新する。
【００３０】
すなわち、現在使用しているファームウェアが第１ファームウェア１２４ｂ（旧ファームウェア）の領域に書き込まれ、更新用のファームウェアが第２ファームウェア１２４ｃ（新ファームウェア）の領域に上書きされる。これにより、旧ファームウェアが正常に動作できるものが書き込まれているため、更新ファームウェアに不具合があっても、旧ファームウェアで動作させることができ、ルータ１２０の正常動作を維持することが可能となる。
【００３１】
その後、制御部１２２は、起動パラメータ１２４ｄを参照し、イニシャルスイッチ１２６の押下履歴が記憶されているか否かを判断する（ステップＳ２３６）。押下履歴が記憶されていたら（ステップＳ２３６のＹＥＳ）、制御部１２２は、その押下履歴を起動パラメータ１２４ｄから削除し（ステップＳ２３８）、ルータ１２０を再起動する（ステップＳ２４０）。押下履歴が記憶されていない場合も（ステップＳ２３６のＮＯ）、制御部１２２はルータ１２０を再起動する（ステップＳ２４０）。
【００３２】
上記説明したように、本実施形態のルータ１２０では、サーバ１０２からの更新ファームウェアの受信によってファームウェアを更新したら、すなわちサーバ１０２から強制的にフェームウェアを更新されたら（ＰＵＳＨ型アップデート）、制御部１２２は、イニシャルスイッチ１２６の押下履歴を削除する（旧使用状態を解除）。これにより、イニシャルスイッチ１２６を押下された後のファームウェアの更新が可能となる。
【００３３】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【００３４】
本発明は、プログラムの更新を行う通信機器およびプログラム更新方法に利用することができる。
【符号の説明】
【００３５】
１００…無線通信システム、１０２…サーバ、１０４…基地局、１０６…ネットワーク、１０８…アクセスポイント、１１０…無線端末、１２０…ルータ、１２２…制御部、１２４…メモリ、１２４ａ…更新プログラム、１２４ｂ…第１ファームウェア、１２４ｃ…第２ファームウェア、１２４ｄ…起動パラメータ、１２６…イニシャルスイッチ、１２８…無線通信部
【図１】
0006280009.tif 000002
【図２】
0006280009.tif 000003
【図３】
0006280009.tif 000004
【図４】
0006280009.tif 000005
【図５】
0006280009.tif 000006