(57)【要約】【課題】フラッシュメモリへのプログラム書込み失敗等の異常が発生しても、端末機器の正常な動作を保証する。【解決手段】フラッシュメモリ１０２は、アプリプログラムを書き換え自在に格納する格納領域ＦＲＯＭ２と、起動プログラムと格納領域ＦＲＯＭ２内のアプリプログラムを書き換え更新させるためのブートプログラムとの基本プログラムを格納した格納領域ＦＲＯＭ１とに区分し、外部ホストから送信される該新たなアプリプログラムをＲＡＭ１０３に一旦格納し、当該端末機器のリセット後に起動プログラムに従い当該端末機器を起動させるとともにブートプログラムに従いＲＡＭ１０３に格納された新たなアプリプログラムをフラッシュメモリ１０２の格納領域ＦＲＯＭ２に書き換え更新させるようにした。【選択図】        図２−１
2007042038.tif 000002
【特許請求の範囲】
【請求項１】
ブロック単位でデータの電気的な書き換えが可能な不揮発性メモリと、電池によりバックアップされて各種データを記憶するバッファメモリとを備え、外部ホストに対して通信網を介して接続された端末機器の制御装置であって、
前記不揮発性メモリは、当該端末機器の制御を行うためのアプリケーションプログラムを書き換え自在に格納する第１の格納領域と、当該端末機器を起動させるための起動プログラムと前記第１の格納領域内のアプリケーションプログラムを書き換え更新させるためのブートプログラムとの基本プログラムを格納した第２の格納領域とに区分され、
前記外部ホストから前記通信網を介して当該端末機器に新たなアプリケーションプログラムをダウンロードする場合に、前記外部ホストから送信される該新たなアプリケーションプログラムを前記バッファメモリに一旦格納し、当該端末機器のリセット後に前記起動プログラムに従い当該端末機器を起動させるとともに前記ブートプログラムに従い前記バッファメモリに格納された前記新たなアプリケーションプログラムを前記不揮発性メモリの前記第１の格納領域に書き換え更新させるダウンロード制御手段を備えることを特徴とする端末機器の制御装置。
【請求項２】
前記ダウンロード制御手段は、前記外部ホストから送信される該新たなアプリケーションプログラムを前記バッファメモリに一旦格納し終えた時点でプログラムダウンロードモード用のフラグをセットし、当該端末機器のリセット後の起動時に前記フラグを参照して当該フラグがセットされている場合にプログラムダウンロードモードとして前記ブートプログラムを実行させ前記第１の格納領域への前記新たなアプリケーションプログラムの書き換え更新終了後に前記フラグをリセットすることを特徴とする請求項１に記載の端末機器の制御装置。
【請求項３】
ブロック単位でデータの電気的な書き換えが可能な不揮発性メモリと、電池によりバックアップされて各種データを記憶するバッファメモリとを備え、外部ホストに対して通信網を介して接続された端末機器の制御方法であって、
前記不揮発性メモリとして、当該端末機器の制御を行うためのアプリケーションプログラムを書き換え自在に格納する第１の格納領域と、当該端末機器を起動させるための起動プログラムと前記第１の格納領域内のアプリケーションプログラムを書き換え更新させるためのブートプログラムとの基本プログラムを格納した第２の格納領域とに区分されたメモリを用い、
前記外部ホストから前記通信網を介して当該端末機器に新たなアプリケーションプログラムをダウンロードする場合に、前記外部ホストから送信される該新たなアプリケーションプログラムを前記バッファメモリに一旦格納して当該端末機器をリセットする工程と、
当該端末機器のリセット後に前記起動プログラムに従い当該端末機器を起動させるとともに前記ブートプログラムに従い前記バッファメモリに格納された前記新たなアプリケーションプログラムを前記不揮発性メモリの前記第１の格納領域に書き換え更新させる工程とを備えることを特徴とする端末機器の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部ホストに対して通信網を介して接続された自動販売機等の端末機器の制御装置及び制御方法に関するものである。
【背景技術】
【０００２】
端末機器、例えば自動販売機にあっては、単に、陳列された商品を自動販売する機能だけでなく、その他の複数の応用機能を実現するためのアプリケーションプログラムを搭載している。これらの応用機能は、セールスプロモーションとしてのバーゲン販売やポイント付加、籤による追加商品提供、機器の故障の予防や診断などの各種機能があり、さらには自動販売機の管理会社からの要請によるバージョンアップも適宜必要であり、近年ではさらに多様化している。
【０００３】
これらの応用機能を変更する際には、自動販売機に実装されている該アプリケーションプログラムを書き換え更新する必要がある。自動販売機設置後の、このようなアプリケーションプログラムの書き換え更新に容易に対応するため、プログラム用の記憶媒体としては、通常のＲＡＭのように電気的に書き換え可能な不揮発性メモリ、具体的にはフラッシュメモリ（フラッシュＲＯＭ）が用いられるようになってきている。この場合のフラッシュメモリのアプリケーションプログラムの書き換え更新は、書き換え用の新たなアプリケーションプログラムを格納したメモリカード、ＦＤＤ等の携帯型メモリを利用して行うことが提案されている（例えば、特許文献１，２等参照）。
【０００４】
また、近年、パソコンのソフトウェアなどは、インターネットを介してセンタに接続することで、バージョンアップ等のプログラムの書き換え更新を行うことはよく知られている。したがって、自動販売機に関しても、複数台の自動販売機をＬＡＮ等のネットワーク通信網によって配信センタに接続してシステム構成するとともに、個々の自動販売機にはフラッシュメモリを搭載し、自動販売機で動作する新たなアプリケーションプログラムを配信センタからダウンロードさせてフラッシュメモリを書き換え更新することは可能である。
【０００５】
【特許文献１】特開平１０−１７７６７４号公報
【特許文献２】特開２０００−１７２９１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１，２等に示される携帯型メモリを利用する方式の場合、プログラムの書き換え更新は確実に行うことができるが、個々の自動販売機が設置されている箇所まで出向いて書き換え更新作業を行わなくてはならず、多数の自動販売機を対象とする場合には極めて煩雑である。特に、アプリケーションプログラムの書き換え更新は、各所に設置された多数の自動販売機について同時期に行わなくてはならないことも多いが、対応が困難となる。
【０００７】
一方、ホスト側からＬＡＮ等のネットワークを介して自動販売機にプログラムをダウンロードさせて入れ換える場合、従来は、書き換え用のプログラムをＲＡＭに一旦格納した後、フラッシュメモリ内に格納されているアプリケーション機能に従い、ＲＡＭに格納されたプログラムデータによってフラッシュメモリ内のデータ全てを入れ換えることで、プログラムの書き換え更新を行うようにしている。
【０００８】
しかしながら、フラッシュメモリのデータ入れ換え時に、電源が落ちることや、フラッシュメモリへの書込み失敗などがあると、フラッシュメモリ内のプログラムが起動されなくなってしまい、自動販売機（端末機器）が動作できなくなってしまう不具合がある。同時に、フラッシュメモリ内に格納されていたプログラムの機能であるネットワークからのプログラム受信機能がなくなってしまうため、ブート（ＢＯＯＴ）内のプログラム書き換え機能を利用して、フラッシュメモリ内に正常なプログラムを入れる必要が生じてしまう。つまり、ホスト側からの遠隔操作でのプログラムの書き換え更新に失敗すると、失敗した自動販売機が設置されている場所まで出向き、特許文献１，２の場合と同様にメモリカード等の携帯型メモリを用いたり、或いはノートパソコン等を用いたりして、新たなプログラムを対象となる自動販売機に直接ダウンロードせざるを得ず、遠隔操作を可能としたネットワークシステムの効果が半減してしまう。
【０００９】
本発明は、上記に鑑みてなされたものであって、フラッシュメモリ等の不揮発性メモリへのプログラム書込み失敗等の異常が発生しても、端末機器の正常な動作を保証することができる端末機器の制御装置及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、請求項１に係る端末機器の制御装置は、ブロック単位でデータの電気的な書き換えが可能な不揮発性メモリと、電池によりバックアップされて各種データを記憶するバッファメモリとを備え、外部ホストに対して通信網を介して接続された端末機器の制御装置であって、前記不揮発性メモリは、当該端末機器の制御を行うためのアプリケーションプログラムを書き換え自在に格納する第１の格納領域と、当該端末機器を起動させるための起動プログラムと前記第１の格納領域内のアプリケーションプログラムを書き換え更新させるためのブートプログラムとの基本プログラムを格納した第２の格納領域とに区分され、前記外部ホストから前記通信網を介して当該端末機器に新たなアプリケーションプログラムをダウンロードする場合に、前記外部ホストから送信される該新たなアプリケーションプログラムを前記バッファメモリに一旦格納し、当該端末機器のリセット後に前記起動プログラムに従い当該端末機器を起動させるとともに前記ブートプログラムに従い前記バッファメモリに格納された前記新たなアプリケーションプログラムを前記不揮発性メモリの前記第１の格納領域に書き換え更新させるダウンロード制御手段を備えることを特徴とする。
【００１１】
請求項２に係る端末機器の制御装置は、上記発明において、前記ダウンロード制御手段は、前記外部ホストから送信される該新たなアプリケーションプログラムを前記バッファメモリに一旦格納し終えた時点でプログラムダウンロードモード用のフラグをセットし、当該端末機器のリセット後の起動時に前記フラグを参照して当該フラグがセットされている場合にプログラムダウンロードモードとして前記ブートプログラムを実行させ前記第１の格納領域への前記新たなアプリケーションプログラムの書き換え更新終了後に前記フラグをリセットすることを特徴とする。
【００１２】
請求項３に係る端末機器の制御方法は、ブロック単位でデータの電気的な書き換えが可能な不揮発性メモリと、電池によりバックアップされて各種データを記憶するバッファメモリとを備え、外部ホストに対して通信網を介して接続された端末機器の制御方法であって、前記不揮発性メモリとして、当該端末機器の制御を行うためのアプリケーションプログラムを書き換え自在に格納する第１の格納領域と、当該端末機器を起動させるための起動プログラムと前記第１の格納領域内のアプリケーションプログラムを書き換え更新させるためのブートプログラムとの基本プログラムを格納した第２の格納領域とに区分されたメモリを用い、前記外部ホストから前記通信網を介して当該端末機器に新たなアプリケーションプログラムをダウンロードする場合に、前記外部ホストから送信される該新たなアプリケーションプログラムを前記バッファメモリに一旦格納して当該端末機器をリセットする工程と、当該端末機器のリセット後に前記起動プログラムに従い当該端末機器を起動させるとともに前記ブートプログラムに従い前記バッファメモリに格納された前記新たなアプリケーションプログラムを前記不揮発性メモリの前記第１の格納領域に書き換え更新させる工程とを備えることを特徴とする。
【発明の効果】
【００１３】
本発明に係る端末機器の制御装置及び制御方法によれば、不揮発性メモリは、アプリケーションプログラムを書き換え自在に格納する第１の格納領域と、起動プログラムと第１の格納領域内のアプリケーションプログラムを書き換え更新させるためのブートプログラムとの基本プログラムを格納した第２の格納領域とに区分することで仮想的に２分割された構造とし、外部ホストから通信網を介して端末機器に新たなアプリケーションプログラムをダウンロードする場合に、外部ホストから送信される該新たなアプリケーションプログラムをバッファメモリに一旦格納し、当該端末機器のリセット後に起動プログラムに従い当該端末機器を起動させるとともにブートプログラムに従いバッファメモリに格納された新たなアプリケーションプログラムを不揮発性メモリの第１の格納領域に書き換え更新させるようにしたので、実際にプログラムの書き換え更新が行われるのは不揮発性メモリ中の第１の格納領域のみであり、該第１の格納領域に対する書込みが途中で失敗しても第２の格納領域の起動プログラムやブートプログラムなる基本プログラムは書き換えられていないため、端末機器を正常に起動可能な状態に維持させることができ、また、電池でバックアップされたバッファメモリに格納された新たなアプリケーションプログラムについて第２の格納領域に格納されているブートプログラムを用いて再度第１の格納領域に書き換え更新し直すこともできるという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下に添付図面を参照して、本発明に係る端末機器の制御装置の好適な実施の形態として自動販売機システムへの適用例を詳細に説明する。なお、本実施の形態により本発明が限定されるものではない。
【００１５】
図１は、本発明に係る自動販売機システムのシステム構成例を示す概略ブロック図である。本発明に係る自動販売機システムは、自動販売機１００と、外部ホストとしてのアプリケーション配信センタ等に配設されたパーソナルコンピュータ（ＰＣ）３００とを、通信網であるネットワーク２００を介して接続することにより構築されている。ネットワーク２００は、プログラムをダウンロード配信するオンラインシステムを構築できるものであれば、媒体として有線、無線を問わない。つまり、電話回線を利用する公衆回線網、無線を利用するＰＨＰ（Personal Handyphone System）網などを用いることができる。
【００１６】
自動販売機１００は、制御主体となるＣＰＵ１０１、フラッシュメモリ１０２、ＲＡＭ１０３、通信部１０４等の他、自動販売機１００として必要な各種入出力部等を備えるが、本案の要旨には関係ないので、図示及び説明を省略する。フラッシュメモリ１０２はブロック単位でデータの書き換えが可能な不揮発性メモリであり、各種プログラムを格納するためのＲＯＭとして設けられている。ＲＡＭ１０３は、各種データを一時的に記憶するバッファメモリであり、バックアップ用の電池１０５が接続され、電源オフ時にも記憶内容の保持が可能とされている。通信部１０４は、ＰＰＰ，ＴＣＰ／ＩＰ等のプロトコルスタックである。
【００１７】
ＰＣ３００は、自動販売機１００を管理するとともに、自動販売機１００の応用機能を実現するためのアプリケーションプログラムを該自動販売機１００に対してネットワーク２００を介してオンラインによりダウンロード配信する機能を有し、制御主体となるＣＰＵ等を備えるコンピュータ構成のものである。なお、自動販売機１００は１台のみ図示するが、実際には、複数台存在し、１台のＰＣ３００で数百台〜数千台、あるいはそれ以上の規模で管理するシステム構成であってもよい。
【００１８】
ここで、本実施の形態のフラッシュメモリ１０２の構成例について図２−１を参照して説明する。本実施の形態のフラッシュメモリ１０２は、アドレス割り振り等によって仮想的に２つの格納領域ＦＲＯＭ１，ＦＲＯＭ２に分割された構造とされている。すなわち、自動販売機１００の制御を行うためのアプリケーションプログラムを書き換え自在に格納する第１の格納領域としての格納領域ＦＲＯＭ２と、自動販売機１００を起動させるための起動プログラムと格納領域ＦＲＯＭ２内のアプリケーションプログラムを書き換え更新させるためのブートプログラムとの基本プログラムを格納した第２の格納領域としての格納領域ＦＲＯＭ１とに区分され、格納領域ＦＲＯＭ１は書き換えなし、格納領域ＦＲＯＭ２は書き換え対象とされている。したがって、本実施の形態は、図２−１に示すように、ＰＣ３００側からＲＡＭ１０３に一旦配信記憶されたプログラムデータをフラッシュメモリ１０２中の格納領域ＦＲＯＭ２に対してのみ書き換え更新することを基本とする。なお、フラッシュメモリ１０２の２つの格納領域ＦＲＯＭ１，ＦＲＯＭ２は、入れ替えて使用するようにしてもよい。
【００１９】
ちなみに、図２−２は、従来のプログラムロード法を示し、ＲＡＭに一旦配信記憶されたプログラムデータを、基本プログラムとアプリケーションプログラムとを一体に格納するＦＲＯＭに対して書き換え更新することで全て入れ換えるものである。
【００２０】
次に、図３に示す概略フローチャートを参照して、ＰＣ３００からネットワーク２００を介して当該自動販売機１００に新たなアプリケーションプログラムをダウンロードする場合にＣＰＵ１０１により実行される処理制御例を説明する。当該プログラムのダウンロード時には、ＰＣ３００からネットワーク２００経由で“プログラムダウンロードコマンド”が送信されてくる。そこで、ＣＰＵ１０１は“プログラムダウンロードコマンド”を受信するまで待機する（ステップＳ１０１）。該コマンドを受信したら（ステップＳ１０１：Ｙｅｓ）、モード切換えが可能か否かを判断し（ステップＳ１０２）、モード切換えが可能でない場合には（ステップＳ１０２：Ｎｏ）、ＰＣ３００側に“Ｂｕｓｙ”を送信する（ステップＳ１０３）。モード切換えが可能な場合には（ステップＳ１０２：Ｙｅｓ）、プログラム受信モードに切り換え、準備が整った時点でＰＣ３００側に“ＯＫ”を送信する（ステップＳ１０４）。
【００２１】
この“ＯＫ”を受信すると、ＰＣ３００側からダウンロード用の新たなアプリケーションプログラムがネットワーク２００を介して送信されてくるので、該アプリケーションプログラムのデータを受信し（ステップＳ１０５）、順次ＲＡＭ１０３に保存していく（ステップＳ１０６）。パケットを区切って送受信する場合は、最終データを受信したら（ステップＳ１０７：Ｙｅｓ）、ＣＰＵ１０１は、フラッシュメモリ１０２の格納領域ＦＲＯＭ１の起動時に参照するダウンロードフラグＦＬＧをセットし（“１”にする）（ステップＳ１０８）、当該ネットワークシステムをリセットする（ステップＳ１０９）。
【００２２】
その後、フラッシュメモリ１０２の格納領域ＦＲＯＭ１中の起動プログラムに従い初期状態から立ち上がってきた該自動販売機１００のＣＰＵ１０１は、特定位置に記録されているダウンロードフラグＦＬＧを参照し、ＦＬＧ＝１ならば（ステップＳ１１０：Ｙｅｓ）、プログラムダウンロードモードとなり、フラッシュメモリ１０２の格納領域ＦＲＯＭ１中のブートプログラムに従い、ＲＡＭ１０３に格納されているアプリケーションプログラムをフラッシュメモリ１０２の格納領域ＦＲＯＭ２に書き換え更新し（ステップＳ１１１、書き換え完了後に（ステップＳ１１２：Ｙｅｓ）、ダウンロードフラグＦＬＧをリセットし（“０”にする）（ステップＳ１１３）、システムリセットする（ステップＳ１１４）。
【００２３】
一方、ＦＬＧ＝１でなければ（ステップＳ１１０：Ｎｏ）、通常モードで立ち上がるため、フラッシュメモリ１０２の格納領域ＦＲＯＭ２に格納されているアプリケーションプログラムを実行させる（ステップＳ１１５）。
【００２４】
このように実際のプログラム書き換え更新の対象となるのは、格納領域ＦＲＯＭ２のアプリケーションプログラムのみであり、途中で書き換えに失敗しても、格納領域ＦＲＯＭ１の基本プログラムは書き換えられていないため、自動販売機１００の起動が可能となる。この結果、例えば、ＰＣ３００からプログラムデータのダウンロードの途中で通信異常や電源リセットなどのトラブルが生じたとしても、次に立ち上がってきたときには、ダウンロードフラグＦＬＧがリセットされたままであり（ＦＬＧ＝０）、フラッシュメモリ１０２の格納領域ＦＲＯＭ２に格納されていた書き換え更新前のアプリケーションプログラムはそのまま動作可能となる。一方、ブートプログラムに従いアプリケーションプログラムをＲＡＭ１０３からフラッシュメモリ１０２の格納領域ＦＲＯＭ２に書き込み途中で書き込み異常や電源リセットなどのトラブルが生じたとしても、次に立ち上がってきたときには、ダウンロードフラグＦＬＧがセットされた状態にあり（ＦＬＧ＝１）、電池１０５によりバックアップされているＲＡＭ１０３中のアプリケーションプログラムをブートプログラムに従いフラッシュメモリ１０２の格納領域ＦＲＯＭ２に再度書き込み可能であり、その書き込み完了後に、新たなアプリケーションプログラムを動作させることができる。
【００２５】
本実施の形態によれば、どのタイミングで異常が起きても、自動販売機１００の動作を保証することができる。また、異常が発生しても、アプリケーションプログラムに関して、旧プログラムと新プログラムとのいずれかで立ち上がらせることが可能なため、ネットワーク２００を通じた遠隔操作によるプログラムのダウンロードが確実に行えるため、プログラムの書き換え更新のために自動販売機１００の設置場所まで出向く必要性をなくすことができる。
【００２６】
本発明は、上述した実施の形態に限らず、本発明の趣旨を逸脱しない範囲であれば、種々の変形が可能である。
【図面の簡単な説明】
【００２７】
【図１】本発明に係る自動販売機システムのシステム構成例を示す概略ブロック図である。
【図２−１】本実施の形態のプログラムロード法を示す模式図である。
【図２−２】従来のプログラムロード法を示す模式図である。
【図３】新たなアプリケーションプログラムをダウンロードする場合の処理制御例を示す概略フローチャートである。
【符号の説明】
【００２８】
１００  端末機器
１０２  フラッシュメモリ
１０３  ＲＡＭ
１０５  電池
２００  ネットワーク
３００  ＰＣ
【図１】
2007042038.tif 000003
【図２−１】
2007042038.tif 000004
【図２−２】
2007042038.tif 000005
【図３】
2007042038.tif 000006