IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立産機システムの特許一覧

特許7572298通信装置、およびファームウェア更新システム
<>
  • 特許-通信装置、およびファームウェア更新システム 図1
  • 特許-通信装置、およびファームウェア更新システム 図2
  • 特許-通信装置、およびファームウェア更新システム 図3
  • 特許-通信装置、およびファームウェア更新システム 図4
  • 特許-通信装置、およびファームウェア更新システム 図5
  • 特許-通信装置、およびファームウェア更新システム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-15
(45)【発行日】2024-10-23
(54)【発明の名称】通信装置、およびファームウェア更新システム
(51)【国際特許分類】
   G06F 8/65 20180101AFI20241016BHJP
【FI】
G06F8/65
【請求項の数】 10
(21)【出願番号】P 2021075450
(22)【出願日】2021-04-27
(65)【公開番号】P2022169407
(43)【公開日】2022-11-09
【審査請求日】2023-03-23
【前置審査】
(73)【特許権者】
【識別番号】502129933
【氏名又は名称】株式会社日立産機システム
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】白根 一登
(72)【発明者】
【氏名】下田 賢二
(72)【発明者】
【氏名】木原 一
【審査官】大倉 崚吾
(56)【参考文献】
【文献】米国特許出願公開第2020/0164747(US,A1)
【文献】特開2021-018541(JP,A)
【文献】米国特許出願公開第2006/0109505(US,A1)
【文献】米国特許出願公開第2016/0028872(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/60-8/658
G06F 9/445
(57)【特許請求の範囲】
【請求項1】
機器と通信する局所通信部と、
前記機器用のファームウェアを記憶する記憶部とを備え、
前記機器により外部記憶端末として活性化・非活性化された履歴が、あらかじめ設定された所定のシーケンスであると判定した場合は、前記機器から外部記憶端末として活性化されない、もしくは前記ファームウェアが前記機器から見えないように動作する通信装置。
【請求項2】
請求項1に記載の通信装置において、
ホストコンピュータと広域通信する広域通信部を備え、
前記ホストコンピュータから前記機器の更新ファームウェアをダウンロードする通信装置。
【請求項3】
請求項1に記載の通信装置において、
前記所定のシーケンスとは、あるバージョンのファームウェアを記憶した後、最初に活性化させられ、その後不活性化された場合である通信装置。
【請求項4】
請求項1に記載の通信装置において、
前記活性化されない方法として、前記機器からの接続を拒絶する設定、もしくは外部記憶装置が接続していることを前記機器に認識させない設定をする通信装置。
【請求項5】
請求項1に記載の通信装置において、
前記記憶部は、前記所定のシーケンスを満たした是非フラグを記憶する通信装置。
【請求項6】
請求項1に記載の通信装置において、
前記記憶部が新たなファームウェアを記憶した場合は、
前記所定のシーケンスであると判定する前の前記機器との接続設定に戻す通信装置。
【請求項7】
機器と、前記機器と接続する装置とを有するファームウェア更新システムであって、
前記機器は、
データを記憶する機器側記憶部と、
データを処理する機器側処理部と、
局所通信を行うための機器側通信部と、を有し、
前記装置にデータ読出しの要求をし、
前記装置にファームウェア更新用データが記録されている場合には、前記装置から読み出したデータでファームウェアを更新し、
前記ファームウェアを前記機器側処理部が実行することによって動作し、
前記装置は、
データを記憶する装置側記憶部と、データを処理する装置側処理部と、前記機器と通信する装置側局所通信部と、を有し、
前記装置側局所通信部が、前記機器からの装置の種類に関する問い合わせを受信した場合に、前記装置は外部記憶装置であるとの情報を前記装置側局所通信部によって返信し、
前記装置側記憶部にファームウェア更新用データが記録されている場合には、前記機器からのデータ読出しの要求に対して前記ファームウェア更新用データを送信し、
前記機器から所定のシーケンスの信号が前記装置に与えられた場合には、前記装置の前記外部記憶装置としてのふるまいが終了するファームウェア更新システム。
【請求項8】
請求項7に記載のファームウェア更新システムにおいて、
前記機器が、前記外部記憶装置を不活性化することで、前記外部記憶装置としてのふるまいが終了するファームウェア更新システム。
【請求項9】
請求項7に記載のファームウェア更新システムにおいて、
前記装置は、前記外部記憶装置では無いという返信を前記機器にすることで、
前記外部記憶装置としてのふるまいが終了するファームウェア更新システム。
【請求項10】
機器と、前記機器と接続する装置とを有するシステムのファームウェア更新方法であって、
前記機器は、
前記装置にデータ読出しの要求をし、
前記装置にファームウェア更新用データが記録されている場合には、前記装置から読み出したデータでファームウェアを更新し、
前記ファームウェアを実行することによって動作し、
前記装置は、
前記機器から装置の種類に関する問い合わせを受信した場合に、前記装置は外部記憶装置であるとの情報を返信し、
ファームウェア更新用データが記録されている場合には、前記機器からのデータ読出しの要求に対して前記ファームウェア更新用データを送信し、
前記機器から所定のシーケンスの信号が前記装置に与えられた場合には、前記装置の前記外部記憶装置としてのふるまいが終了するファームウェア更新方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置、およびファームウェア更新システムに関する。
【背景技術】
【0002】
ファームウェア更新システムに関する技術としては、特許文献1が知られている。特許文献1には、「サーバ2からプリンタ1に新ファームがダウンロードされて、不揮発性メモリ16に記憶されているファームウェアが新ファームに更新される、いわゆるファームウェアアップデート前に、サーバ2からPC3のメモリ32にリカバリ用ファームがダウンロードされる。そして、ファームウェアアップデートが失敗に終わった場合には、PC3からプリンタ1にリカバリ用ファームが送信され、プリンタ1では、そのPC3から受信するリカバリ用ファームが不揮発性メモリ16に記憶される。」ことが開示されている。特許文献1によれば、ファームウェアのリカバリの際に、ユーザによる繁雑なリカバリ操作を不要にすることができる、ファームウェア更新システムおよびファームウェア更新方法を提供すると記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-133407号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、機器であるプリンタに、サーバからファームウェアがLAN経由でダウンロードされる。しかしながら、機器によってはサーバと直接に通信できる広域通信ができない機器がある。そのような機器では、サーバやホストコンピュータと直接に通信はできないが、対象の装置とは通信できる局所通信の機能を組み込んでいる場合がある。そのような機器としては圧縮機やプログラムコントローラがあり、局所通信の例としてはUSB通信が挙げられる。
【0005】
USB通信機能を備える機器が、そのUSB通信を用いてファームウェアを書き換える手段としては、例えばUSB通信機能を備えた記録媒体(いわゆるUSBメモリ)を接続した状態で、その機器を起動する、ということがある。この機器は起動するときに、もし自身のUSB端子に記録媒体が接続されており、かつその記録媒体に自身のファームウェアを書き換えるためのデータが記録されているならば、そのデータを用いて自身のファームウェアを書き換える、という動作を行う。
【0006】
一方で、そのUSB端子に記録媒体が接続されていないか、あるいは記録媒体は接続されているが自身のファームウェアを書き換えるためのデータが記録されていないならば、この機器はファームウェアの書き換えを行わない。
【0007】
このような局所通信のみを備える機器の使用者がファームウェアを書き換える場合には、例えば広域通信の機能と局所通信の機能とを備えるPC(パーソナルコンピュータ)などコンピュータを用い、ホストコンピュータから広域通信によってデータを、PCなどにダウンロードした上で、局所通信によって記録媒体にそのデータを書き込み、改めてその記録媒体を対象の機器に接続する、という手順が必要である。
【0008】
したがって、このような記録媒体を物理的に、機器に接続しなおす、という作業が発生するため、ファームウェアの更新を自動化することが難しい。
【0009】
また、前述したように、起動時に自身に接続されている記録媒体にファームウェアの書き換えのためのデータが書き込まれている場合はファームウェアの書き換えを行う、という機能を備えている機器の場合、当該ファームウェアの書き換えが完了した後であっても、記録媒体が接続されている限り、その機器が起動するたびにファームウェアの書込みを行ってしまうことになる。そのようなファームウェアの書込みが繰り返し実行されることで機器の本来の作業が実行できなくなる。これを避けるためにはファームウェアの書き換えが完了した時点で当該記録媒体を機器から取り外す必要があり、このこともファームウェアの更新を自動化する際の障害となる。
【0010】
本発明の目的は、局所通信機能は備えるが広域通信機能を備えない機器に対して、ファームウェアの書き換えの繰り返しを、容易に防ぐことにある。
【課題を解決するための手段】
【0011】
本発明の好ましい一例としては、機器と通信する局所通信部と、前記機器用のファームウェアを記憶する記憶部とを備え、
前記機器により外部記憶端末として活性化・非活性化された履歴が、あらかじめ設定された所定のシーケンスであると判定した場合は、前記機器から外部記憶端末として活性化されない、もしくは前記ファームウェアが前記機器から見えないように動作する通信装置である。
【0012】
本発明の好ましい他の例としては、機器と、前記機器と接続する装置とを有するファームウェア更新システムであって、
前記機器は、
データを記憶する機器側記憶部と、
データを処理する機器側処理部と、
局所通信を行うための機器側通信部と、を有し、
前記装置にデータ読出しの要求をし、
前記装置にファームウェア更新用データが記録されている場合には、
前記装置から読み出したデータでファームウェアを更新し、
前記ファームウェアを前記機器側処理部が実行することによって動作し、
前記装置は、
データを記憶する装置側記憶部と、データを処理する装置側処理部と、前記機器と通信する装置側局所通信部と、を有し、
前記装置側局所通信部が、前記機器からの装置の種類に関する問い合わせを受信した場合に、前記装置は外部記憶装置であるとの情報を前記装置側局所通信部によって返信し、
前記装置側記憶部にファームウェア更新用データが記録されている場合には、前記機器からのデータ読出しの要求に対して前記ファームウェア更新用データを送信し、
前記機器から所定のシーケンスの信号が前記装置に与えられた場合には、前記装置の前記外部記憶装置としてのふるまいが終了するファームウェア更新システムである。
【発明の効果】
【0013】
本発明によれば、局所通信機能は備えるが広域通信機能を備えない機器に対して、ファームウェアの書き換えの繰り返しを、容易に防ぐことができる。
【図面の簡単な説明】
【0014】
図1】実施例1におけるファームウェア更新システムの概念図を示す図である。
図2】実施例1におけるファームウェア更新システムの機能ブロックを示す図である。
図3】実施例1における機器の動作を表すフローチャートである。
図4】実施例1における通信装置の動作を表すフローチャートである。
図5】実施例1におけるファームウェア更新システムの動作を表すフローチャートである。
図6】実施例2におけるファームウェア更新システムの機能ブロックを示す図である。
【発明を実施するための形態】
【0015】
以下、実施例を、図面を用いて説明する。
【実施例1】
【0016】
図1は、実施例1におけるファームウェア更新システムの概念図を示す図である。ファームウェア更新システムは、ホストコンピュータ13と、ネットワーク12を介してホストコンピュータ13とインターネットなどの広域通信をする通信装置11と、通信装置11と局所通信をする機器10とを有する。
【0017】
遠隔地にあるサーバ等のホストコンピュータ13と無線やインターネット等のネットワークを介して通信できる通信手段を広域通信、そうでない近距離もしくは物理的に接続する通信手段を局所通信と呼ぶ。広域通信の例としては、携帯電話回線が挙げられる。通信装置11は携帯電話回線により、基地局を介して無線によりホストコンピュータ13と接続しデータをやり取りすることができる。また、通信装置11は局所通信により、対象の機器10と通信できる。ここでは、USB接続による通信を局所通信の例として説明するが、機器10が接続先からファームウェアアップデートが可能なシリアル通信や他のローカル通信規格を含む。
【0018】
機器10は、電源ON時、USB端子に接続された機器(USBメモリ等)があった場合、USBメモリに所定のデータ(ブートイメージ)があれば、USBメモリから読んだデータで機器10のファームウェアを更新する。USBメモリからデータを読み出すに当たっては、USBメモリに存在するファイルシステムのマウント(活性化)を行う。また、USBメモリを使用しなくなった場合(例えばシャットダウンする等)には、マウントしたファイルシステムをアンマウント(不活化)する。このような機能を予め備える機器10として、例えば、圧縮機やその他産業機器の制御に用いられるPLC(プログラマブルコントローラ)などの制御機器がある。
【0019】
通信装置11は、ホストコンピュータ13から、インターネットなどのネットワーク12を経由して、機器10のファームウェア書き換えのために必要なデータを、ダウンロードして記憶する。機器10に対しては、ファームウェア書き換えのために必要なデータが記録された、外部記憶装置としてのUSBメモリであるかのように振る舞うことができる。
【0020】
さらに、通信装置11は、ファームウェア書き換えのために必要なデータが記録されたUSBメモリであるかのような振る舞いを始めた後、所定の回数アンマウントされた場合には、上記のデータ記録されたUSBメモリであるかのような振る舞いをやめる。具体的には、「相手機器からUSBメモリとして認識できるが、上記のデータは記録されていない」もしくは「USBメモリとして認識できない」ようにふるまう。
【0021】
図2は、実施例1におけるファームウェア更新システム及び更新される機器10の機能ブロックを示す図である。対象の機器10と局所通信によって通信する機能と、広域通信機能とを備える通信装置11が図2に示すように用意される。
【0022】
機器10は、データを処理する機器側処理部20と、通信装置11と局所通信を行うための機器側局所通信部21と、データを記憶する機器側記憶部22とを有する。起動時に機器側処理部20は、機器側記憶部22に記録されたファームウェアのデータを読み出し、機器側処理部20がそのファームウェアのデータでファームウェアを実行することによって動作する。
【0023】
通信装置11は、機器10と通信する通信装置側局所通信部30と、データを処理する通信装置側処理部31と、データを記憶する通信装置側記憶部32と、ファームウェアを配信するホストコンピュータ13と広域の通信をする通信装置側広域通信部33を有する。
【0024】
機器10や通信装置11は、それぞれ、CPUや、ROM、RAM、その他周辺回路等を備える。機器10においては、機器側処理部20としてのCPUが、機器側記憶部22へのデータの読み書きや、機器側局所通信部21の制御をする。機器10における制御については、フローチャートで後述するが、機器側処理部20としてのCPUが、プログラムを読み出して実行することで、図3図5の処理が実行される。
【0025】
通信装置11においては、通信装置側処理部31としてのCPUが、通信装置側記憶部32へのデータの読み書きや、通信装置側局所通信部30、通信装置側広域通信部33の制御をする。通信装置11の制御については、フローチャートで後述するが、通信装置側処理部31としてのCPUが、プログラムを読み出して実行することで、図4図5の処理が実行される。
【0026】
通信装置11は、広域通信機能を用いて、機器10がファームウェアを更新するために使用するデータを取得し、さらにこのデータを通信装置11が備える通信装置側記憶部32に記憶することができる。通信装置11は同時に、局所通信によって機器10に接続された外部記録媒体として振る舞うことができるようにする。
【0027】
さらに、ファームウェアを更新するために使用するデータが通信装置側記憶部32に記録されている場合には、局所通信によってファームウェアを更新するために使用するデータが記録された外部記憶装置として振る舞うことができるようにする。
【0028】
また、通信装置11は、ファームウェアを更新するために使用するデータが自身の通信装置側記憶部32に記録されている場合であっても、ファームウェアを更新するために使用するデータが記録されていない外部記憶装置であるように振る舞うこともできるようにする。
【0029】
対象とする機器10は、局所通信によって接続された通信装置11もしくは記録媒体からデータを読み出す際に、準備動作としてその通信装置11もしくは記録媒体の活性化を行う仕様である。
【0030】
また、機器10は、活性化した通信装置11における通信装置11を使用しなくなったときには、外部記憶装置としての通信装置11の不活化を行う仕様である。また、この活性化、不活化の際に、この機器10はこの外部記憶装置としての通信装置11に対して局所通信を用いてそれぞれ所定の信号を伝達する。
【0031】
また、対象とする機器10は、起動されるときに外部記憶装置としての通信装置11が局所通信によって接続されており、かつ自身のファームウェアを書き換えるためのデータが、通信装置11の通信装置側記憶部32に記録されている場合には、そのデータを用いてファームウェアの書き換えを行うものとする。
【0032】
書き換えが完了すると、機器10は局所通信によって接続されている外部記憶装置としての通信装置11を不活化した後、機器10を再起動するものとする。
【0033】
通信装置11は、広域通信によってファームウェアを更新するために使用するデータを取得し、自身の記憶装置である通信装置側記憶部32に記録すると、局所通信を用いて通信する相手に対して、あたかもファームウェアを更新するために使用するデータが記録された外部記憶装置であるかのような振る舞いを開始する。
【0034】
さらに、通信装置11は、局所通信の相手である機器10から、外部記憶装置としての通信装置を不活化したことを示す信号を所定の回数にわたり伝達された場合には、あたかもファームウェアを更新するために使用するデータが記録された外部記憶装置であるかのような振る舞いをやめるものとする。
【0035】
上記のようにすることで、以下のように機器10のファームウェアが自動的に更新されるようになる。まず、通信装置11は、広域通信によって、対象とする機器10のファームウェアを更新するためのデータを取得する。
【0036】
このデータを取得する契機は、例えばこのデータを保持するホストコンピュータ13に対してこの通信装置11から広域通信によって定期的に問合わせを行い、この問合せに対する返答としてファームウェアを更新するためのデータの取得を指示される、などの契機が考えられる。逆にデータを更新する必要がある際にホストコンピュータ13からプッシュする形で広域通信を介して通信装置11にアクセスし、ファームウェアをダウンロードさせることもできる。
【0037】
通信装置11は、ファームウェアを更新するためのデータを取得すると、対象の機器10に対して局所通信を用いて通信する、ファームウェアを更新するためのデータが記録された外部記憶装置であるかのように振る舞い始める。通信装置11は、以後この状態のまま動作を続ける。
【0038】
この状況で、対象とする機器10が起動すると、機器10は通信装置11に記録されているファームウェアを更新するためのデータを用いて機器10のファームウェアを書き換えようとする。
【0039】
ファームウェアの書き換えが完了すると、機器10は自身を再起動し、新しいファームウェアで起動しようとする。この再起動を行う際に、機器10は局所通信で接続されている外部記憶装置としての通信装置11を不活化しようとし、そのことを示す信号を、接続されている外部記憶装置、すなわち通信装置に対して送信する。
【0040】
通信装置11は、不活化しようとする信号を受け取ると、ファームウェアを更新するためのデータが記録された外部記憶装置であるかのような振る舞いをやめる。
【0041】
対象とする機器10の上記の再起動の際、通信装置11が、ファームウェアを更新するためのデータが記録された外部記憶装置であるかのように振る舞い続けると、機器10は、ファームウェアを更新するためのデータを用いて再び自身のファームウェアを書き換えようとしてしまう。これを避けるために、通信装置11は前記の通り振る舞いを変える。
【0042】
図3は、実施例1における機器の動作を表すフローチャートである。
【0043】
例えば産業用コントローラであって、局所通信としてUSBを採用し、これに接続する記録媒体としてUSBメモリを想定して、このUSBメモリにあらかじめ定めた特徴を持つファームウェア更新用データが記録されている場合には、図3に示したようにファームウェアを更新する。
【0044】
本実施例の動作フローとしては、まず圧縮機などの産業用機器を制御する産業用コントローラである機器10が起動もしくは再起動する(S301)。起動する過程で機器側処理部20は、機器側局所通信部21が外部記憶装置(記録媒体)と接続されているかを判定する(S302)。ここでは、外部記憶装置は通信装置11であり、局所通信としてはUSB通信である。
【0045】
機器側局所通信部21が外部記憶装置(記録媒体)と接続されているかは、機器側局所通信部21から通信装置11に対して通信装置の種類に関する問い合わせを送信し、通信装置側局所通信部30から外部記憶装置(記録媒体)であるとの情報を機器側局所通信部21が受信している場合に機器側処理部20は外部記憶装置(記録媒体)と接続されていると判定する。
【0046】
機器側局所通信部21が外部記憶装置(記録媒体)と接続されている場合には、機器側処理部20は、接続されている外部記憶装置(記録媒体)を活性化する(S303)。
【0047】
S303の後、機器側処理部20は、接続されている外部記憶装置(記録媒体)にファームウェア更新用データが記録されているかを判定する(S304)。
【0048】
外部記憶装置(記録媒体)にファームウェア更新用データが記録されているかを判定するに際して、機器側局所通信部21通信装置11に対して、ファームウェア更新用データの問い合わせとしての読み出しの要求をする。その問い合わせを送信して、通信装置側局所通信部30からファームウェア更新用データが記録されているとの情報を機器側局所通信部21が受信している場合に、機器側処理部20は、外部記憶装置(記録媒体)にファームウェア更新用データが記録されていると判定する。
【0049】
外部記憶装置(記録媒体)にファームウェア更新用データが記録されている場合には、機器側処理部20は、接続されている記録媒体からファームウェア更新用データを読み出し、読み出したファームウェア更新用データでファームウェアを書き換える(S305)。
【0050】
S305の後、機器側処理部20は、接続されている外部記憶装置(記録媒体)を不活化する(S306)。
S306の後、機器側処理部20は、機器10を再起動リセットする(S307)。
S307のリセットの後に、S302に戻る。
【0051】
S302において機器側局所通信部21が外部記憶装置(記録媒体)と接続されていないと判定された場合、および、S304において接続されている外部記憶装置(記録媒体)にファームウェア更新用データが記録されていないと判定された場合には、機器側処理部20は、機器側記憶部に記録されたファームウェアを実行する(S308)。
S308の後に、機器側処理部20は、起動完了動作を開始する(S309)。
【0052】
図4は、実施例1における通信装置11の動作を表すフローチャートである。本実施例の通信装置11は、図3に示す動作をする機器10に接続された場合に、図4に示す動作を行う。
【0053】
通信装置11が起動する(S401)。通信装置側処理部31は、ファームウェア配信ホストコンピュータ13にファームウェア更新用データが存在するかを判定する(S402)。
【0054】
通信装置11から広域通信によってファームウェア配信ホストコンピュータ13に定期的に問合わせを行い、この問合せに対する返答としてファームウェアを更新するためのデータの取得をファームウェア配信ホストコンピュータ13から指示される場合には、ファームウェア配信ホストコンピュータ13にファームウェア更新用データが存在すると、通信装置側処理部31は判定する。
【0055】
ファームウェア配信ホストコンピュータ13にファームウェア更新用データが存在する場合には、通信装置側処理部31は、ファームウェア配信ホストコンピュータ13と通信装置側広域通信部33の間の通信により、通信装置側記憶部32に、ファームウェア更新用データをダウンロードする(S404)。
【0056】
S404の後に、通信装置側処理部31は、機器10との間の局所通信によって、通信装置11は、外部記憶装置(記録媒体)として振る舞う(S405)。
【0057】
S405においては、機器10と通信装置11との間には、図3のS302に示すような、通信が行なわれて、通信装置11は、外部記憶装置(記録媒体)として振る舞う。
【0058】
S405の後に、通信装置側処理部31は、外部記憶装置(記録媒体)の活性化、不活化を示す信号が、機器10から所定のシーケンスで与えられたかを判定する(S406)。S406に関係する機器10と通信装置11との間の通信については、図3のS303、S304、S305、S306のステップに示したとおりである。
【0059】
図3のS303、S304、S305、S306のステップが完了し、通信装置11から機器10に対してファームウェア更新用データが送られた場合は、活性化、不活化を示す信号が、機器10から所定のシーケンスで与えられたと通信装置側処理部31が判定する。
【0060】
S406で、外部記憶装置(記憶媒体)の活性化、不活化を示す信号が、所定のシーケンスで与えられた場合には、局所通信によって、通信装置側処理部31は、外部記憶装置(記録媒体)としての振る舞いを終了する(S407)。
【0061】
外部記憶装置(記録媒体)としての振る舞いを終了する局所通信としては、次の(1)と(2)の2通りがある。
【0062】
(1)機器側局所通信部21から通信装置11に対して装置の種類に関する問い合わせを送信し、通信装置側処理部31が、通信装置側局所通信部30から外部記憶装置では無いとの情報を機器側局所通信部21が送信するようにして、外部記憶装置(記録媒体)としての振る舞いを終了する。
【0063】
(2)機器側局所通信部21から通信装置11に対して装置の種類に関する問い合わせを送信し、通信装置側処理部31が、通信装置側局所通信部30から外部記憶装置であるとの情報を機器側局所通信部21が送信する。その後、機器側局所通信部21から通信装置11に対して、ファームウェア更新用データが記録されているかについての問い合わせを送信する。その問い合わせに対して、通信装置側処理部31が、通信装置側局所通信部30からファームウェア更新用データが記録されていないとの情報を機器側局所通信部21が送信することで外部記憶装置(記録媒体)としての振る舞いを終了する。
【0064】
S402で、通信装置11から広域通信によってファームウェア配信ホストコンピュータ13に定期的に問合わせを行い、この問合せに対する返答としてファームウェアを更新するためのデータの取得をファームウェア配信ホストコンピュータ13から指示が無い、あるいは、ファームウェアを更新するデータは無いとの返答があった場合には、ファームウェア配信ホストコンピュータ13にファームウェア更新用データが存在しないと、通信装置側処理部31は判定する。そして、通信装置11は待機する(S403)。
【0065】
S403の待機の後、定期的にホストコンピュータ13に確認する場合は定期的にS402に戻る。またホストコンピュータ13側からファームウェアの更新を促す場合はS402の代わりにホストコンピュータ13側からの通信装置11にアクセスする通信のステップが入る。
【0066】
ファームウェア更新用データが存在していた場合はファームウェアをダウンロードしておく(S404)。
【0067】
機器10が起動もしくは再起動した際に、局所通信により通信装置11を外部記憶装置として活性化させる信号を受信した場合は、通信装置11は機器10に外部記憶装置として活性化(マウント)される。(S405)。また機器10が停止もしくは再起動される際は不活性化(アンマウント)される。
【0068】
S406で、外部記憶装置(記憶媒体)の活性化、不活化を示す信号が、所定のシーケンスで与えられていないと判定された場合には、S405に戻り、機器10との間の局所通信によって、通信装置11は、外部記憶装置(記録媒体)として通常通り活性化・不活性化される。
【0069】
一方、通信装置11は機器10から所定シーケンスで活性化、不活性化を示す信号を受信した場合は、機器が再起動した際に活性化させる信号を受信しても活性化されないような動作を開始する。
【0070】
通信装置11は、活性化、不活性化を示す信号を受信した記録もしくは実際に活性化、不活性化がされた記録、および新しいファームウェアをダウンロードした記録を通信装置側記憶部32に保存する。また、所定シーケンスによりファームウェア更新済みと判断されるフラグデータを通信装置側記憶部32に記録することもできる(S406)。
【0071】
あるファームウェアのバージョンをホストコンピュータからダウンロードした後、そのバージョンのファームウェア更新済みと判断されるフラグデータが通信装置側記憶部32にある、もしくは活性化の記録を直接確認することで更新済みと判断した際は、機器10が再起動した際に通信装置11を活性化させる信号を受信しても活性化されないような動作をする設定で(S407)、待機する(S403)。
【0072】
所定のシーケンスとは例えば、あるファームウェアのバージョンをホストコンピュータからダウンロードした後、最初に外部記憶装置として活性化させられた後、不活性化した場合。また例えば活性化された後、所定時間以上経過してから不活性化された場合に設定することができる。
【0073】
通信装置11を活性化させる信号を受信しても活性化されないような動作をする方法としては、USB接続を拒絶するような設定にしておいてもよいし、外部記憶装置がUSB接続していることを機器10側に認識させないような設定をしておいてもよい。
【0074】
なお、S402で新たにファームウェアがダウンロードされた際には、更新済みフラグをデータとして管理している場合は解除するようにデータや設定を変更する。またファームウェアのバージョンごとに活性化の記録に基づき判定している場合は、最新のバージョンに基づき活性化のシーケンスを判定する。
【0075】
更に、通信装置11を活性化されないような動作をする代替として、機器10が外部記憶装置として活性化した際にファームウェアを確認する記憶領域にファームウェアのデータが存在しないように見える設定を切り替えることができるようにしてもよい。
【0076】
図5は、実施例1におけるファームウェア更新における機器10と通信装置11の動作を表すフローチャートである。
【0077】
通信装置11が起動する(S501)。通信装置側処理部31は、ファームウェア配信ホストコンピュータ13にファームウェア更新用データが存在するかを判定する(S502)。S502における判定は、図4のS402の判定と同様である。
【0078】
ファームウェア配信ホストコンピュータ13にファームウェア更新用データが存在する場合には、通信装置側処理部31は、ファームウェア配信ホストコンピュータ13と通信装置側広域通信部33の間の通信により、通信装置側記憶部32に、ファームウェア更新用データをダウンロードする(S504)。
【0079】
S504の後に、通信装置側処理部31は、機器10との間の局所通信によって、通信装置11は、外部記憶装置(記録媒体)として振る舞う(S505)。
S505の後に、機器10の電源がOFFからONとなるまで待つ(S506)。
【0080】
S506で、機器10の電源がONとなった後、機器10の機器側処理部20は、通信装置11からファームウェア更新用データを読み出し、ファームウェアを更新し、再起動する。この過程で機器10は通信装置11に外部記憶装置(記憶媒体)の活性化、不活化の信号を送る(S507)。
【0081】
S507の後に、通信装置の通信装置側処理部31は、外部記憶装置(記録媒体)としての振る舞いを終了する(S508)。S508は、図4のS407と同様である。
【0082】
S502でファームウェア配信ホストコンピュータ13にファームウェア更新用データが存在しないと判定された場合、ならびに、S508の後は、通信装置11は待機する(S503)。
S503の通信装置11が待機した後に、S502に戻る。
【0083】
図3に示す動作を行う機器10と、図4エラー! 参照元が見つかりません。に示す動作を行う通信装置11を図2に示す構成で組み合わせて、本実施例におけるファームウェア更新システムを構成することによって、ファームウェア更新システムは図5に示すような動作を行う。
【0084】
図5に示すように、機器10はファームウェアの更新を実行する。さらにこの過程でこの機器10は通信装置11に外部記憶装置(記録媒体)の活性化、不活化の信号を特定のシーケンスで送るため、これによって通信装置11は外部記憶装置(記録媒体)としての振る舞いを終了する。
【0085】
もし、通信装置11が外部記憶装置(記録媒体)としての振る舞いを続け、さらに、その外部記憶装置(記録媒体)にファームウェア更新用データが記録されているかのように振る舞い続けると、この機器10は図3に示したフローに従い、再度自身のファームウェアを書き換える動作に入ってしまい、人が介在する必要が生じる。通信装置11は機器10に接続したまま放置するだけで、適切なタイミングで最新のファームウェアに、機器10周辺での人手の操作を必要とせず、機器10に少なくとも大きな変更を加えずに、場合によっては変更を加えず、オンラインでファームウェアを更新するシステムを構築することができる。
【0086】
このような動作を避けるために、本実施例の通信装置11は、図4に示したように、外部記憶装置(記憶媒体)の活性化、不活化の信号が特定のシーケンスで通信装置11に送られた時に、通信装置11は、外部記憶装置(記録媒体)としての振る舞いを終了するか、あるいは外部記憶装置(記録媒体)として振る舞い続けながらも、ファームウェア更新用データが記録されていないかのように振る舞うようにする。
【0087】
外部記憶装置(記録媒体)がUSBメモリの場合、外部記憶装置(記憶媒体)の活性化はマウント、不活化はアンマウント、という操作として行われる。したがってこの例では、通信装置は、相手側の機器10からのマウント、アンマウントが所定の順番で行われたことを契機として、外部記憶装置(記録媒体)としての振る舞いを終了する。
【0088】
本実施例では、通信装置11が、外部記憶装置(記録媒体)としての振る舞いを終了するように機器10との間の局所通信を実行した例を示した。
【0089】
機器10が、図3のS309の再起動後に、S302で、外部記憶装置(記録媒体)と接続されている(ファームウェアの更新の繰り返しの発生)と判定した場合にも、S303ではなく、外部記憶装置(記録媒体)を不活性化しておくといった処理を実行することで、機器10のファームウェアの書き換えの繰り返しを防ぐような処理を機器10に備えるようにしてもよい。
【0090】
実施例1によれば、局所通信機能は備えるが広域通信機能を備えない機器10に対して、機器10のファームウェアの書き換えの繰り返しを、容易に防ぐことができる。
【実施例2】
【0091】
実施例1は、通信装置11がホストコンピュータ13と広域通信をして、機器10のファームウェアの更新を実行するためのデータ(プログラムを含む)を、通信装置11が通信装置側記憶部32に予め記録させておいた場合である。
【0092】
実施例2は、広域通信が可能なPC(パーソナルコンピュータ)などコンピュータに、ホストコンピュータ13からファームウェアの更新を実行するためのデータをダウンロードして、一旦PCにダウンロードした、そのデータを装置60に外部記憶装置として記録させ、その装置60から機器10にファームウェアの更新を実行するためのデータを送る場合の実施例である。実施例1と同じ説明は、省略する。
【0093】
図6に示すように、機器10に接続する装置60としては、機器10とUSB通信が可能な、USBメモリを例に説明する。機器10の構成は、実施例1と同じである。
【0094】
図示は省略するが、装置60は、機器10と通信する装置側局所通信部と、データを処理する装置側処理部と、データを記憶する装置側記憶部を有する。
【0095】
また、装置側記憶部には、機器10のファームウェアの更新を実行するためのデータを予め記録してある。
【0096】
本実施例では、機器10の動作については、図3のフローチャートと同じである。また、装置60の動作についてのフローチャートは、装置側記憶部には、機器10のファームウェアの更新を実行するためのデータを予め記録してあるので、ファームウェア更新用データをダウンロードするステップは不要であり、実施例1の通信装置11の図4のS405、S406、S407と同じステップを有する。S407の機器10との間を局所通信することによって、記録媒体としての振る舞いを終了した後は、装置60は、待機状態になる。
【0097】
実施例2によれば、実施例1の通信装置11と比べて、装置60には、局所通信部は備えるが、広域通信部を備える必要はない。また、実施例1と同様に、装置60と機器10とが通信することで、機器10のファームウェアの書き換えの繰り返しを、容易に防ぐことができる。
【符号の説明】
【0098】
10・・・機器、11・・・通信装置、12・・・ネットワーク、13・・・ホストコンピュータ、20・・・機器側処理部、21・・・機器側局所通信部、22・・・機器側記憶部、30・・・通信装置側局所通信部、31・・・通信装置側処理部、32・・・通信装置側記憶部、33・・・通信装置側広域通信部、60・・・装置
図1
図2
図3
図4
図5
図6