(57)【特許請求の範囲】
【請求項１】
ファームウェアに基づき動作する電子機器と、該電子機器を制御する制御装置と、ファームウェア更新用ＤＬＬモジュールを前記制御装置に対して配信する配信サーバとを有する電子機器システムであって、
前記制御装置は、制御用アプリケーションソフトウェアを格納する領域及び前記電子機器との通信機能を有する通信用ＤＬＬモジュールを格納する領域を有するとともに、
前記制御用アプリケーションソフトウェアとは独立して機能する前記電子機器のファームウェア更新用アプリケーションソフトウェアを格納する領域及びファームウェア更新用ＤＬＬモジュールを格納する領域を備え、
前記ファームウェア更新用ＤＬＬモジュールを格納する領域には、更新用ファームウェアデータを格納する領域が備えられており、
前記ファームウェア更新用ＤＬＬモジュールには、前記更新用ファームウェアデータの他、前記更新用ファームウェアデータの更新機能と前記更新用ファームウェアデータの改竄チェック機能とが組み込まれており、
前記制御装置は、前記配信サーバからダウンロードされた前記更新用ファームウェアデータが組み込まれた前記ファームウェア更新用ＤＬＬモジュールを、前記ファームウェア更新用ＤＬＬモジュールを格納する領域に格納しておき、
ファームウェア更新用アプリケーションソフトウェアが起動されると、前記制御装置に格納された前記ファームウェア更新用ＤＬＬモジュールにより、前記電子機器のファームウェアを更新して前記更新用ファームウェアデータの改竄をチェックすることを特徴とする電子機器システム。
【請求項２】
前記電子機器はカードリーダライタであり、
前記制御装置は、前記カードリーダライタと前記制御装置との基本通信機能を有するカードリーダライタ通信用ＤＬＬモジュールを格納する領域と、前記カードリーダライタのファームウェアの更新機能を有するファームウェア更新用ＤＬＬモジュールを格納する領域とが分割して設けられていることを特徴とする請求項１記載の電子機器システム。
【請求項３】
ファームウェアに基づき動作する電子機器と、該電子機器を制御する制御装置と、ファームウェア更新用ＤＬＬモジュールを前記制御装置に対して配信する配信サーバとを有し、前記制御装置には、制御用アプリケーションソフトウェアを格納する領域及び前記電子機器との通信機能を有する通信用ＤＬＬモジュールを格納する領域と、前記制御用アプリケーションソフトウェアとは独立して機能する前記電子機器のファームウェア更新用アプリケーションソフトウェアを格納する領域及びファームウェア更新用ＤＬＬモジュールを格納する領域とが設けられ、前記ファームウェア更新用ＤＬＬモジュールには、更新用ファームウェアデータの他、前記更新用ファームウェアデータの更新機能と前記更新用ファームウェアデータの改竄チェック機能とが組み込まれている電子機器システムにおけるファームウェアの更新方法であって、
前記制御装置に対して、前記配信サーバからダウンロードされた更新用ファームウェアデータが組み込まれた前記ファームウェア更新用ＤＬＬモジュールを前記ファームウェア更新用ＤＬＬモジュールを格納する領域に格納する格納ステップと、
前記ファームウェア更新用アプリケーションソフトウェアを起動する起動ステップと、
前記制御装置に格納された前記ファームウェア更新用ＤＬＬモジュールのＡＰＩを使用して、前記ファームウェア更新用ＤＬＬモジュールにより、前記電子機器のファームウェアを更新して前記更新用ファームウェアデータの改竄をチェックするファームウェア更新ステップと、を含むことを特徴とするファームウェアの更新方法。
【請求項４】
ファームウェア更新用ＤＬＬモジュールを格納する領域に、当該ファームウェア更新用ＤＬＬモジュールが格納されているか否か判断する判断ステップを含み、
前記起動ステップの処理がなされた後、前記判断ステップにより、前記ファームウェア更新用ＤＬＬモジュールが格納されていると判定された場合に、前記ファームウェア更新ステップを実行することを特徴とする請求項３記載のファームウェアの更新方法。
【請求項５】
前記電子機器はカードリーダライタであり、
前記制御装置は、前記カードリーダライタと前記制御装置との基本通信機能を有するカードリーダライタ通信用ＤＬＬモジュールを格納する領域と、前記カードリーダライタのファームウェアの更新機能を有するファームウェア更新用ＤＬＬモジュールを格納する領域とが分割して設けられていることを特徴とする請求項３又は４記載のファームウェアの更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器と制御装置を有する電子機器システム及びファームウェアの更新方法に関し、特に、ファームウェアを更新する際の利便性を高めるものに関する。
【背景技術】
【０００２】
小規模のＰＯＳシステムに接続されたデバイス（例えばカードリーダライタなどの電子機器）は、上位装置（例えばＰＯＳ端末などの制御装置）とデバイスとの基本通信機能を提供する制御ソフトウェア（例えばカードリーダライタ制御用ＤＬＬ）によって、その機能を発揮することができる。そして、デバイスに対して新たな機能の追加や不具合の修正等を事後的に行うため、デバイスのファームウェアは後から変更（更新）できるようになっている。以下、デバイスの一例としてカードリーダライタを例に挙げる。
【０００３】
図５は、従来のファームウェア更新方法を説明するための概要図である。図５において、ＰＯＳ端末（Ｓ１６）を制御するＰＯＳ制御用アプリケーションソフトウェア（Ｓ１０）は、カードリーダライタ通信（制御）用ＤＬＬ（Ｓ１１）を使用して、カードリーダライタ（Ｓ１２）へ更新用ファームウェアデータファイル（Ｓ１３）を転送（書き込み）する。また、この更新用ファームウェアデータファイル（Ｓ１３）は、サーバ（Ｓ１４）から、ネットワーク（Ｓ１５）を介してＰＯＳ端末（Ｓ１６）にダウンロードすることにより取得される。
【０００４】
すなわち、ＰＯＳ制御用アプリケーションソフトウェア（Ｓ１０）は、ＯＳ起動時などに、サーバ（Ｓ１４）に最新の（未更新の）更新用ファームウェアデータファイル（Ｓ１３）が存在するか否かを判断し、存在すると判断した場合には、これをサーバ（Ｓ１４）よりダウンロードする。そして、カードリーダライタ通信（制御）用ＤＬＬ（Ｓ１１）を使用して、カードリーダライタ（Ｓ１２）へ転送（書き込み）する。これにより、カードリーダライタ（Ｓ１２）のファームウェアを更新することができる。
【０００５】
一方で、ＰＯＳ端末（Ｓ１６）側からサーバ（Ｓ１４）に問い合わせるのではなく、サーバ（Ｓ１４）側からＰＯＳ端末（Ｓ１６）に向けて、現在の最新ファームウェアのバージョンを通知するものもある（特許文献１参照）。より具体的には、特許文献１に開示されたファームウェアアップデートシステムでは、新たなファームウェアのデータファイルがファームウェア配信サーバに追加されると、このファームウェア配信サーバは、接続されたプリンタに対して所定の通知を行う。そして、プリンタは、自己が有しているファームウェアよりも新しいバージョンのファームウェアが通知されたことを確認すると、そのファームウェアのデータファイルをサーバからダウンロードし、必要な機器（特許文献１では図示せず。図５ではカードリーダライタ（Ｓ１２））にインストールを行う。これにより、ファームウェアの自動更新が可能となる。
【０００６】
【特許文献１】特開２００３−５９９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、図５を用いて説明したファームウェア更新方法において、サーバ（Ｓ１４）からダウンロードするものは、更新用ファームウェアの「データファイル」である。そのため、ＰＯＳ端末（Ｓ１６）を製造するメーカーは、カードリーダライタ通信用ＤＬＬ（Ｓ１１）の機能のうち、ファームウェア更新用の機能の部分を改変しなければならない（場合が多い）。これは、そのメーカーにソフト開発やソフト更新の負担を強いることになる。この点、上述した特許文献１に開示されたファームウェアアップデートシステムにおいても、やはり、ファームウェアのデータファイルをサーバからダウンロードしており（特許文献１の段落番号［００５６］，［００５７］）、同様の問題が生じる。
【０００８】
本発明は、このような点に鑑みてなされたものであり、その目的は、ファームウェアの更新に際してソフト開発の負担を減らし、ひいては利便性を高めることが可能な電子機器システム及びファームウェアの更新方法を提供することにある。
【課題を解決するための手段】
【０００９】
以上のような課題を解決するために、本発明は、以下のものを提供する。
【００１０】
（１）  ファームウェアに基づき動作する電子機器と、該電子機器を制御する制御装置と、ファームウェア更新用ＤＬＬモジュールを前記制御装置に対して配信する配信サーバとを有する電子機器システムであって、前記制御装置は、制御用アプリケーションソフトウェアを格納する領域及び前記電子機器との通信機能を有する通信用ＤＬＬモジュールを格納する領域を有するとともに、前記制御用アプリケーションソフトウェアとは独立して機能する前記電子機器のファームウェア更新用アプリケーションソフトウェアを格納する領域及びファームウェア更新用ＤＬＬモジュールを格納する領域を備え、前記ファームウェア更新用ＤＬＬモジュールを格納する領域には、更新用ファームウェアデータを格納する領域が備えられており、前記ファームウェア更新用ＤＬＬモジュールには、前記更新用ファームウェアデータの他、前記更新用ファームウェアデータの更新機能と前記更新用ファームウェアデータの改竄チェック機能とが組み込まれており、前記制御装置は、前記配信サーバからダウンロードされた前記更新用ファームウェアデータが組み込まれた前記ファームウェア更新用ＤＬＬモジュールを、前記ファームウェア更新用ＤＬＬモジュールを格納する領域に格納しておき、ファームウェア更新用アプリケーションソフトウェアが起動されると、前記制御装置に格納された前記ファームウェア更新用ＤＬＬモジュールにより、前記電子機器のファームウェアを更新して前記更新用ファームウェアデータの改竄をチェックすることを特徴とする電子機器システム。
【００１１】
本発明によれば、電子機器とこれを制御する制御装置とを有する電子機器システムで、制御装置には、制御用アプリケーションソフトウェアを格納する領域と、電子機器との通信機能を有する通信用ＤＬＬモジュールを格納する領域と、が設けられるとともに、電子機器のファームウェア更新用アプリケーションソフトウェアを格納する領域と、ファームウェア更新用ＤＬＬモジュールを格納する領域と、が設けられ、このファームウェア更新用ＤＬＬモジュールを格納する領域には、更新用ファームウェアデータを格納する領域が備えられていることとしたので、制御装置中のファームウェア更新用ＤＬＬモジュールを格納する領域に、更新用の新たなモジュールを格納すると、更新用ファームウェアデータもその領域内に格納されることになる。
【００１２】
したがって、ファームウェア更新用ＤＬＬモジュールを入れ替えることで、電子機器のファームウェアの更新を行うことが可能となり、制御装置を製造するメーカーが、別途ファームウェア更新用ＤＬＬモジュールなどのソフト開発を行う必要がなくなる。その結果、ソフト開発の負担を減らすことができる。
【００１３】
ここで、「ファームウェア更新用ＤＬＬモジュールを格納する領域」は、ファームウェア更新用ＤＬＬモジュールが、少なくとも一時的に格納されるものであればよく、常時格納されていなくてもよい。例えば、この領域に、一時的にファームウェア更新用ＤＬＬモジュールが格納され、電子機器のファームウェア更新が完了後、ファームウェア更新用ＤＬＬモジュールが削除されてもよい。
【００１４】
また、本発明の電子機器システムは、ファームウェア更新用ＤＬＬモジュールを前記制御装置に対して配信する配信サーバを有し、前記ファームウェア更新用ＤＬＬモジュールには、前記更新用ファームウェアデータが組み込まれている。
【００１５】
本発明によれば、上述した電子機器システムには、ファームウェア更新用ＤＬＬモジュールを制御装置に対して配信する配信サーバが含まれており、ファームウェア更新用ＤＬＬモジュールには、更新用ファームウェアデータが組み込まれていることとしたので、ファームウェア更新用ＤＬＬモジュールを配信サーバからダウンロードすることで、制御装置に接続された電子機器のファームウェアを更新することができる。そのため、制御装置を製造するメーカーは、別途ファームウェア更新用ＤＬＬモジュールなどのソフト開発を行う必要がなくなり、ひいては、ソフト開発の負担を減らすことができる。
【００１６】
また、本発明のようにネットワークを介して電子機器のファームウェアを更新する場合には、更新作業のセキュリティ性を高めることもできる。詳細に説明すると、更新用ファームウェアの「データファイル」そのものを、配信サーバから制御装置にダウンロードするとなると、ネットワーク上で第三者に解読される虞がある。さらに、万が一、配信サーバやネットワーク上で、データファイルが第三者に解読かつ改竄され、改竄されたデータファイルが制御装置に一旦ダウンロードされてしまうと、電子機器は、誤ったデータファイルに基づきファームウェアを更新してしまう虞がある。
【００１７】
しかし、本発明によれば、更新用ファームウェアデータは、ファームウェア更新用ＤＬＬモジュールに組み込まれており、この解読容易でないファームウェア更新用ＤＬＬモジュールが（ファームウェア更新用ＤＬＬモジュールの中から更新用ファームウェアデータを取り出し編集するのは容易でない）、配信サーバから制御装置へ送られるので、第三者に解読される危険性を軽減することができる。また、仮に、更新用ファームウェアデータにアクセスされ、その内容が改竄されてしまった場合であっても、ファームウェア更新用ＤＬＬモジュールに誤り訂正等の技術を付加することによって（例えば、ファームウェア更新用ＤＬＬモジュール自身のプログラムで更新用ファームウェアデータの妥当性を検証し、妥当でなければ、ファームウェア更新機能を停止させる等）、改竄の事実を早期に発見し、誤ったデータファイルに基づきファームウェアが更新されてしまうのを防ぐことができる。このようにして、ファームウェア更新作業のセキュリティ性を高めることもできる。
【００１８】
（３）  ファームウェアに基づき動作する電子機器と、該電子機器を制御する制御装置と、ファームウェア更新用ＤＬＬモジュールを前記制御装置に対して配信する配信サーバとを有し、前記制御装置には、制御用アプリケーションソフトウェアを格納する領域及び前記電子機器との通信機能を有する通信用ＤＬＬモジュールを格納する領域と、前記制御用アプリケーションソフトウェアとは独立して機能する前記電子機器のファームウェア更新用アプリケーションソフトウェアを格納する領域及びファームウェア更新用ＤＬＬモジュールを格納する領域とが設けられ、前記ファームウェア更新用ＤＬＬモジュールには、更新用ファームウェアデータの他、前記更新用ファームウェアデータの更新機能と前記更新用ファームウェアデータの改竄チェック機能とが組み込まれている電子機器システムにおけるファームウェアの更新方法であって、前記制御装置に対して、前記配信サーバからダウンロードされた更新用ファームウェアデータが組み込まれた前記ファームウェア更新用ＤＬＬモジュールを前記ファームウェア更新用ＤＬＬモジュールを格納する領域に格納する格納ステップと、前記ファームウェア更新用アプリケーションソフトウェアを起動する起動ステップと、前記制御装置に格納された前記ファームウェア更新用ＤＬＬモジュールのＡＰＩを使用して、前記ファームウェア更新用ＤＬＬモジュールにより、前記電子機器のファームウェアを更新して前記更新用ファームウェアデータの改竄をチェックするファームウェア更新ステップと、を含むことを特徴とするファームウェアの更新方法。
【００１９】
本発明によれば、ファームウェアに基づき動作する電子機器と、その制御装置を有する電子機器システムにおけるファームウェアの更新方法で、更新用ファームウェアデータが組み込まれたファームウェア更新用ＤＬＬモジュールを格納し、ファームウェア更新用アプリケーションソフトウェアを起動し、ファームウェア更新用ＤＬＬモジュールのＡＰＩを使用して、電子機器のファームウェアを更新することとしたので、上述した電子機器システム同様、ソフト開発の負担を減らすことができる。また、前記格納ステップは、前記ファームウェア更新用ＤＬＬモジュールを前記制御装置に対して配信する配信サーバからネットワークを通じて送信されたものを格納することから、制御装置に格納されるファームウェア更新用ＤＬＬモジュールは、配信サーバからネットワークを通じて送信されたものであることとしたので、ネットワーク上で第三者に解読されたり、改竄された更新用ファームウェアデータに基づきファームウェアを更新してしまったりする危険性を軽減することができる。
【００２０】
（４）  ファームウェア更新用ＤＬＬモジュールを格納する領域に、当該ファームウェア更新用ＤＬＬモジュールが格納されているか否か判断する判断ステップを含み、前記起動ステップの処理がなされた後、前記判断ステップにより、前記ファームウェア更新用ＤＬＬモジュールが格納されていると判定された場合に、前記ファームウェア更新ステップを実行することを特徴とするファームウェアの更新方法。
【００２１】
本発明によれば、上述したファームウェアの更新方法で、ファームウェア更新用ＤＬＬモジュールを格納する領域に、ファームウェア更新用ＤＬＬモジュールが格納されているか否か判断し、その判断結果に基づき、ファームウェア更新用ＤＬＬモジュールが格納されていると判定された場合に、ファームウェア更新用ＤＬＬモジュールのＡＰＩを使用して、電子機器のファームウェアを更新することとしたので、上述した電子機器システム同様、ソフト開発の負担を減らすことができる。
【００２２】
（２）（５） 前記電子機器はカードリーダライタであり、前記制御装置は、前記カードリーダライタと前記制御装置との基本通信機能を有するカードリーダライタ通信用ＤＬＬモジュールを格納する領域と、前記カードリーダライタのファームウェアの更新機能を有するファームウェア更新用ＤＬＬモジュールを格納する領域とが分割して設けられていることを特徴とする。
【００２３】
本発明に係る電子機器システム及びファームウェアの更新方法によれば、ファームウェア更新用ＤＬＬとカードリーダライタ通信用ＤＬＬとが別々の領域に格納され、さらには、ファームウェア更新用ＤＬＬの内部に更新用ファームウェアデータが組み込まれているので、ファームウェア更新用ＤＬＬを入れ替えるだけで、電子機器のファームウェアの更新を行うことができる。その結果、ＰＯＳ端末２を製造するメーカーは、ファームウェア更新用ＤＬＬの開発を行う必要がなくなり、ソフト開発の負担を減らし、ファームウェアを更新する際の利便性を高めることができる。
【発明の効果】
【００２４】
以上説明したように、本発明によれば、電子機器とその制御装置を有する電子機器システムにおいて、制御装置を製造するメーカーのソフト開発の負担を減らすことができ、ひいては利便性を高めることができる。また、電子機器のファームウェアの更新作業を行う際のセキュリティ性を高めることができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００２６】
［電子機器システム］
図１は、本発明の実施の形態に係る電子機器システム１のハードウェア構成図である。電子機器システム１は、下位に接続される各種の電子機器（デバイス）を制御するＰＯＳ端末２と、ＰＯＳ端末２によって制御され、挿入カードの読み取り・書き込みを行うカードリーダライタ３と、から構成される。なお、本実施形態では、ファームウェアに基づき動作する電子機器としてカードリーダライタ３を考え、カードリーダライタ３を制御する制御装置としてＰＯＳ端末２を考えるが、これらは一例であって、例えば、電子機器としてはプリンタやバーコードスキャナ等を考えることもできる。また、１台に限らず、複数台の電子機器を制御装置に接続しても構わない。また、ＰＯＳ端末２以外の制御装置、例えばＡＴＭなどを考えても構わない。
【００２７】
ＰＯＳ端末２は、ＢＵＳ（バス）を介して各構成要素が接続されており、電子機器システム１においては、ＣＰＵ２０と、ストレイジ２１と、ＲＡＭ２２と、インターフェース２３と、が主に接続されている。なお、本実施の形態では、ストレイジ２１は、ハードディスクを用いているが、ＥＥＰ−ＲＯＭやフラッシュメモリ等を用いても構わない。
【００２８】
ＣＰＵ２０は、ストレイジ２１に記憶されているプログラムやデータをＲＡＭ２２上に読み出し（ＲＡＭ２２上に展開し）、それらを用いることでＰＯＳ端末２及びカードリーダライタ３の制御を行う。
【００２９】
ストレイジ２１は、ＣＰＵ２０が使用するオペレーティングシステム用の基本ソフトウェア（ＯＳ）のほか、ＯＳの下で実行されるアプリケーションプログラムや各種ドライバプログラムなどを格納する。特に、本実施形態では、ストレイジ２１は、カードリーダライタ３の制御をおこなうための制御用アプリケーションソフトウェアを格納する領域と、カードリーダライタ３との通信機能を有する通信用ＤＬＬモジュールを格納する領域と、に加えて、カードリーダライタ３のファームウェア更新用アプリケーションソフトウェアを格納する領域と、ファームウェア更新用ＤＬＬモジュールを格納する領域とを有している。
【００３０】
また、このファームウェア更新用ＤＬＬモジュールを格納する領域には、更新用ファームウェアデータを格納する領域が備えられている。これにより、ファームウェア更新用ＤＬＬモジュールを入れ替えるだけで、カードリーダライタ３のファームウェアの更新を行うことが可能となる。詳細は、［ファームウェアの更新方法］において詳述する。
【００３１】
ＲＡＭ２２は、ＣＰＵ２０がプログラムを実行するための作業領域（ワーキングエリア）を有している。インターフェース２３は、ＣＰＵ２０からの命令に基づいて様々な処理が実行される他の電子機器やデバイスと、ＰＯＳ端末２とを接続するものであり、本実施形態では、カードリーダライタ３等とローカル接続されている。
【００３２】
このような構成からなる電子機器システム１は、ＣＰＵ２０からの命令に従い、ストレイジ２１に記憶されているプログラムやデータをＲＡＭ２２上に読み出して、それらを用いることで、インターフェース２３に接続されるカードリーダライタ３のファームウェアを更新する。本実施形態に係るファームウェアの更新方法について、図２及び図３を用いて詳述する。
【００３３】
［ファームウェアの更新方法］
図２は、本発明の実施の形態に係る電子機器システム１のソフトウェア構成図である。
【００３４】
図２に示す電子機器システム１のソフトウェア構成について、概要を説明すると、カードリーダライタ３とＰＯＳ端末２との基本通信機能を有するカードリーダライタ通信用ＤＬＬ（モジュール）（Ｓ２３）と、カードリーダライタ３のファームウェアの更新機能を有するファームウェア更新用ＤＬＬ（モジュール）（Ｓ２１）とが分割されており、ファームウェア更新用ＤＬＬ（Ｓ２１）の入れ替えが容易になっている。また、ファームウェア更新用ＤＬＬ（Ｓ２１）の内部には、更新用ファームウェアデータが組み込まれており、カードリーダライタ３のファームウェアを更新する際には、ファームウェア更新用ＤＬＬ（Ｓ２１）をＰＯＳ端末２に対して配信する配信サーバ（サーバ）（Ｓ２０）から、ネットワーク（Ｓ１９）を介して、ファームウェア更新用ＤＬＬ（Ｓ２１）をダウンロードする（その後、ストレイジ２１に格納される）。
【００３５】
ＰＯＳ端末２の通常制御では、ＰＯＳ制御用アプリケーションソフトウェア（Ｓ２４）に基づき、カードリーダライタ通信用ＤＬＬ（モジュール）（Ｓ２３）が使用される。一方、カードリーダライタ３のファームウェアの更新が行われる際には、ファームウェア更新用アプリケーションソフトウェア（Ｓ２２）を起動し（ＣＰＵ２０がストレイジ２１から読み出して）、（ストレイジ２１内に）ファームウェア更新用ＤＬＬ（Ｓ２１）が存在するときのみ、このＤＬＬモジュール（Ｓ２１）の共通ＡＰＩを使用して、カードリーダライタ３のファームウェアの更新を行う。
【００３６】
なお、（共通）ＡＰＩとは、あるプラットフォーム（ＯＳやミドルウェア）向けのソフトウェアを開発する際に使用できる命令や関数の集合、また、それらを利用するためのプログラム上の手続きを定めた規約の集合のことをいう。本実施形態では、ＰＯＳ端末２とカードリーダライタ３との間で、インターフェース特有の処理を意識することなく、既に用意されたＤＬＬモジュール（ファームウェア更新用ＤＬＬＳ２１又はカードリーダライタ通信用ＤＬＬＳ２３）の共通ＡＰＩを使用して、カードリーダライタ３を制御するようにしている。共通ＡＰＩを用いれば、個々の開発者は規約に従ってその機能を呼び出すことで、自分でプログラミングすることなくその機能を利用したソフトウェアを作成することができる。
【００３７】
図３は、カードリーダライタ３のファームウェアの更新方法の流れを示すフローチャートである。
【００３８】
図３において、まず、ＯＳの起動が行われる（ステップＳ１）。具体的には、ＰＯＳ端末２のＣＰＵ２０は、ストレイジ２１からＯＳを読み出して、起動を行う。その後、同様にして、ファームウェア更新用アプリケーションソフトウェア（Ｓ２２）が起動する（ステップＳ２）。
【００３９】
次に、ＣＰＵ２０は、ストレイジ２１にアクセスし、ファームウェア更新用ＤＬＬ（Ｓ２１）が存在するか（ストレイジ２１に格納されているか）否かを判断する（ステップＳ３）。ここで、本実施形態では、ファームウェア更新用ＤＬＬ（Ｓ２１）は、サーバ（Ｓ２０）からネットワーク（Ｓ１９）を通じて送信されるものである。また、ファームウェア更新用ＤＬＬ（Ｓ２１）については、更新機能の他に、更新前後に行うカードリーダライタ３のバージョンチェック機能や、サーバ（Ｓ２０）からのダウンロードしたデータが改竄されているか否かのチェック機能なども有する。そして、カードリーダライタ３のバージョン・状態をチェックしたり、更新の有無や更新方法を判断したりもする。
【００４０】
ここで、ファームウェア更新用ＤＬＬの処理の流れを図４に基づいて説明する。まず、カードリーダライタ３が保持しているバージョン情報を取得し、ファームウェア更新用ＤＬＬ Ｓ２１に記録されている最新バージョンデータと比較する（ステップＳ３１）。カードリーダライタ３が保持しているバージョンが既に最新のものであれば（ステップＳ３２：ＹＥＳ）、更新処理は終了し、最新でなければ（ステップＳ３２：ＮＯ）、ファームウェア更新処理が開始される。カードリーダライタ３にデータを転送し（ステップＳ３３）、カードリーダライタ３のＦｌｕｓｈ−ＲＯＭ等への書き込みが完了した後（ステップＳ３４）、Ｆｌｕｓｈ−ＲＯＭに書き込まれた更新データの巡回冗長検査結果（以下、「ＣＲＣ」とする）とファームウェア更新用ＤＬＬ Ｓ２１が保持しているＣＲＣを比較する（ステップＳ３５）。そして、ＣＲＣが一致するか否かを判断し（ステップＳ３６）、ＣＲＣが一致していれば（ステップＳ３６：ＹＥＳ）、正常に終了し、ＣＲＣが一致していなければ（ステップＳ３６：ＮＯ）、データが改竄された可能性があることが分かる。これにより、データの誤りを検知することのみでなく、意図的にデータを改竄された場合においても、それを検知することが可能となる。
【００４１】
ステップＳ３の処理において、ファームウェア更新用ＤＬＬ（Ｓ２１）が存在すると判定されたときには（ステップＳ３：ＹＥＳ）、ＣＰＵ２０は、ファームウェア更新用ＤＬＬ（Ｓ２１）が提供するＡＰＩ（共通ＡＰＩ）を使用して（実行して）、カードリーダライタ３のファームウェアを更新する（ステップＳ４）。ＡＰＩの実行後、ＣＰＵ２０は、ファームウェア更新用ＤＬＬ（Ｓ２１）を削除し（ステップＳ５）、ＰＯＳ制御用アプリケーションソフトウェア（Ｓ２４）を起動することによって（ステップＳ６）、通常のＰＯＳ端末制御を開始する。
【００４２】
一方で、ステップＳ３の処理において、ファームウェア更新用ＤＬＬ（Ｓ２１）が存在しないと判定されたときには（ステップＳ３：ＮＯ）、ＣＰＵ２０は、ステップＳ４及びステップＳ５の処理を行わずに、ＰＯＳ制御用アプリケーションソフトウェア（Ｓ２４）を起動することによって（ステップＳ６）、通常のＰＯＳ端末制御を開始する。
【００４３】
［実施形態の主な効果］
以上説明したように、本実施形態に係る電子機器システム及びファームウェアの更新方法によれば、ファームウェア更新用ＤＬＬ（Ｓ２１）とカードリーダライタ通信用ＤＬＬ（Ｓ２３）とが別々の領域に格納され、さらには、ファームウェア更新用ＤＬＬ（Ｓ２１）の内部に更新用ファームウェアデータが組み込まれているので、ファームウェア更新用ＤＬＬ（Ｓ２１）を入れ替えるだけで、電子機器のファームウェアの更新を行うことができる。その結果、ＰＯＳ端末２を製造するメーカーは、ファームウェア更新用ＤＬＬ（Ｓ２１）の開発を行う必要がなくなり、ソフト開発の負担を減らし、ファームウェアを更新する際の利便性を高めることができる。
【００４４】
また、更新用ファームウェアデータではなく、これが組み込まれたファームウェア更新用ＤＬＬ（Ｓ２１）を、サーバ（Ｓ２０）からネットワーク（Ｓ１９）を通じてダウンロードすることで、データ転送過程及びサーバ（Ｓ２０）やＰＯＳ端末２への保存時に、第三者にデータ解読、改竄がなされる危険性を軽減することができる。その結果、安全にファームウェア更新作業を行うことができる。
【００４５】
また、安易に編集することができないファームウェア更新用ＤＬＬ（Ｓ２１）にすることにより、更新データが最新であるか、正常なデータであるかを、より明確に判断することができる。
【００４６】
さらに、ファームウェア更新時にはファームウェア更新用ＤＬＬ（Ｓ２１）がダウンロードされるため、ファームウェア更新手順の変更や機能追加したい場合は、ファームウェア更新用アプリケーションソフトの変更をするのではなく、ファームウェア更新用ＤＬＬ（Ｓ２１）を変更することで容易に実現することができる。これにより、ＰＯＳ端末２自体のメンテナンス作業やＰＯＳ端末２ユーザーにかける負担を軽減することができる。
【産業上の利用可能性】
【００４７】
以上説明したように、本発明は、電子機器システムにおける電子機器のファームウェアの更新に際してソフト開発の負担を減らすものとして有用である。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施の形態に係る電子機器システムのハードウェア構成図である。
【図２】本発明の実施の形態に係る電子機器システムのソフトウェア構成図である。
【図３】カードリーダライタのファームウェアの更新方法の流れを示すフローチャートである。
【図４】ファームウェア更新用ＤＬＬの処理の流れを示すフローチャートである。
【図５】従来のファームウェア更新方法を説明するための概要図である。
【符号の説明】
【００４９】
１  電子機器システム
２  ＰＯＳ端末
３  カードリーダライタ
【図１】
0005419123.tif 000002
【図２】
0005419123.tif 000003
【図３】
0005419123.tif 000004
【図４】
0005419123.tif 000005
【図５】
0005419123.tif 000006