(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024147228
(43)【公開日】2024-10-16
(54)【発明の名称】決済端末のアップデート方法及びアプリケーションプログラム
(51)【国際特許分類】
G06F 8/65 20180101AFI20241008BHJP
【FI】
G06F8/65
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023060106
(22)【出願日】2023-04-03
(71)【出願人】
【識別番号】000002233
【氏名又は名称】ニデックインスツルメンツ株式会社
(74)【代理人】
【識別番号】100123788
【弁理士】
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【弁理士】
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】横水 綾一
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376CA43
5B376GA11
(57)【要約】
【課題】決済端末においてファームウェアやOSなどのプログラムをアップデートするときに、ネットワーク経由で行うか可搬の記録媒体経由で行うかによらずに同一手順でアップロードを実行できるようにする。
【解決手段】アップデート対象のプログラムを対象プログラムとして、決済端末10に記録媒体(USBメモリ35)が装着されているかを確認する装着確認工程(ステップ112)を実施し、記録媒体が装着されていないときは、ネットワーク20を介してプログラムサーバ22から第1のアップデートデータをダウンロードしてアップデートを実行し(ステップ117)、記録媒体が装着されているときは、記録媒体から第2のアップデートデータを読み込んでアップデートを実行する(ステップ124)。これらの処理は、アプリケーションプログラムによって実行される。
【選択図】
図4
【特許請求の範囲】
【請求項1】
プログラムに基づいて動作するプロセッサと不揮発性メモリと揮発性メモリと表示手段とを備えたコンピュータ機器として構成されてオンライン決済を実行する決済端末におけるプログラムのアップデート方法であって、
アップデート対象のプログラムを対象プログラムとして、
前記決済端末に記録媒体が装着されているかを確認する装着確認工程と、
前記装着確認工程において前記記録媒体が装着されていないと判定したときに、前記不揮発性メモリに格納されている前記対象プログラムのバージョンよりも新しいバージョンの前記対象プログラムについての第1のアップデートデータが、ネットワークを介して前記決済端末がアクセス可能なプログラムサーバに存在するか否かを確認する第1の確認工程と、
前記第1のアップデートデータが存在する場合に、利用者から指示に応じ、前記プログラムサーバから前記第1のアップデートデータをダウンロードして前記不揮発性メモリに書込む第1の書込み処理を開始する第1のアップデート工程と、
前記装着確認工程において前記記録媒体が装着されていると判定したときに、前記不揮発性メモリに格納されている前記対象プログラムのバージョンよりも新しいバージョンの前記対象プログラムについての第2のアップデートデータが前記記録媒体に存在するか否かを確認する第2の確認工程と、
前記第2のアップデートデータが存在する場合に、前記利用者からの指示に応じ、前記記録媒体から前記第2のアップデートデータを読み込んで前記不揮発性メモリへの書込む第2の書込み処理を開始する第2のアップデート工程と、
を有し、
前記第1の書込み処理及び前記第2の書込み処理のいずれかが実行されているときには前記装着確認工程は実行されず、
前記装着確認工程、前記第1の確認工程、第1のアップデート工程、前記第2の確認工程及び前記第2のアップデート工程は、前記決済端末上で動作するアプリケーションプログラムによって実行される、アップデート方法。
【請求項2】
前記第1の書込み処理はストリーミングアップデートによる処理であり、前記第2の書込み処理はノンストリーミングアップデートによる処理である、請求項1に記載のアップデート方法。
【請求項3】
前記記録媒体は、前記決済端末に装着されるUMSデバイスである、請求項1または2に記載のアップデート方法。
【請求項4】
前記第1の確認工程と前記第1のアップデート工程と前記第1の書込み処理とを実行しているときに前記表示手段に表示される画面の画面遷移と、前記第2の確認工程と前記第2のアップデート工程と前記第2の書込み処理とを実行しているときに前記表示手段に表示される画面の画面遷移とが共通である、請求項1または2に記載のアップデート方法。
【請求項5】
プログラムに基づいて動作するプロセッサと不揮発性メモリと揮発性メモリと表示手段とを備えたコンピュータ機器として構成されてオンライン決済を実行する決済端末におけるプログラムのアップデートを実行するアプリケーションプルグラムであって、
アップデート対象のプログラムを対象プログラムとして、前記プロセッサに、
前記決済端末に記録媒体が装着されているかを確認する装着確認処理と、
前記装着確認処理において前記記録媒体が装着されていないと判定されたときに、前記不揮発性メモリに格納されている前記対象プログラムのバージョンよりも新しいバージョンの前記対象プログラムについての第1のアップデートデータが、ネットワークを介して前記決済端末がアクセス可能なプログラムサーバに存在するか否かを確認する第1の確認処理と、
前記第1のアップデートデータが存在する場合に、利用者から指示に応じ、前記プログラムサーバから前記第1のアップデートデータをダウンロードして前記不揮発性メモリに書込む第1の書込み処理を開始させる第1のアップデート処理と、
前記装着確認処理において前記記録媒体が装着されていると判定されたときに、前記不揮発性メモリに格納されている前記対象プログラムのバージョンよりも新しいバージョンの前記対象プログラムについての第2のアップデートデータが前記記録媒体に存在するか否かを確認する第2の確認処理と、
前記第2のアップデートデータが存在する場合に、前記利用者からの指示に応じ、前記記録媒体から前記第2のアップデートデータを読み込んで前記不揮発性メモリへの書込む第2の書込み処理を開始する第2のアップデート処理と、
を実行させ、
前記第1の書込み処理及び前記第2の書込み処理のいずれかが実行されているときには前記装着確認処理を実行させない、アプリケーションプログラム。
【請求項6】
前記第1の書込み処理はストリーミングアップデートによる処理であり、前記第2の書込み処理はノンストリーミングアップデートによる処理である、請求項5に記載のアプリケーションプログラム。
【請求項7】
前記記録媒体は、前記決済端末に装着されるUMSデバイスである、請求項5または6に記載のアプリケーションプログラム。
【請求項8】
前記第1の確認処理と前記第1のアップデート処理と前記第1の書込み処理とを実行しているときに前記表示手段に表示される画面の画面遷移と、前記第2の確認処理と前記第2のアップデート処理と前記第2の書込み処理とを実行しているときに前記表示手段に表示される画面の画面遷移とを共通のものとする、請求項5または6に記載のアプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オンライン決済などに使用される決済端末に関し、特に、決済端末におけるファームウェアやOS(オペレーティングシステム)などのコンピュータプログラムのアップデート方法と、そのようなアップデート方法を実施するアプリケーションプログラムとに関する。
【背景技術】
【0002】
店舗などの販売場所においてオンライン決済を行うために、ネットワークを介して決済サーバに接続する決済端末が使用される。決済端末は、例えば、入力を行うためのタッチスクリーンを備えたいわゆる組み込み型コンピュータ機器として構成される。オンライン決済ではクレジットカードやプリペイドカード、二次元コードなどの認証媒体が使用されることが多いから、決済端末は、認証媒体からデータを読み出すリーダ部を備えていてもよく、さらに、タッチスクリーンとは独立して設けられたディスプレイなどを備えていてもよい。決済端末では、コンピュータとして機能するための最低限の構成、すなわち、プログラムに基づいて動作するCPU(中央処理ユニット)などのプロセッサと、RAM(ランダムアクセスメモリ)などの揮発性メモリと、ROM(読み出し専用メモリ)あるいはフラッシュメモリなどの不揮発性メモリとがモジュール基板に実装され、このモジュール基板がメイン基板に取り付けられる構成となっていることが一般的である。メイン基板には、ネットワークやタッチスクリーンなどとの接続のためのI/O(入出力)インタフェースなどが設けられる。
【0003】
決済端末はコンピュータ機器であるから、それを動作させるための例えばファームウェアやOSなどのコンピュータプログラム(以下、単に「プログラム」と呼ぶ)が必要であり、それらのプログラムは不揮発性メモリに書き込まれる。機能の改善などのために、決済端末に既に書き込まれているプログラムを新しいバージョンのプログラムに書き換えできるすなわちアップデート(更新)できることが望まれている。しかしながら、セキュリティ確保の観点から決済端末ではメイン基板からモジュール基板を取り外せない構造となっていることが多く、モジュール基板を取り外した上で新バージョンのプログラムを不揮発性メモリに直接書き込むことは難しい。そこで、プログラムのアップデートを行うときは、例えば有線または無線LAN(ローカルエリアネットワーク)などのネットワークを介して新バーションのプログラムを決済端末にダウンロードし、ダウンロードされたプログラムを不揮発性メモリに書き込むことが一般的である。
【0004】
新バージョンのプログラムをダウンロードして決済端末の不揮発性メモリに格納する処理は、アップデート実行のためのアプリケーションプログラムを決済端末のプロセッサが実行することによって行われる。特許文献1は、プログラムのアップデートを実行するアプリケーションプログラムを開示している。特許文献2は、ファームウェアのアップデートを行うときに、設定されたファームウェア更新ファイルを読み込んでメモリに配置し、ファームウェア更新ファイルのファンクションエントリアドレスを取得し、ファンクションエントリアドレスに基づいて、メモリ中のファームウェア更新ファイルからファームウェア更新データを取得し、取得したファームウェア更新データをファームウェアモジュールに書き込むことを開示している。以下の説明において、アップデートの対象となるプログラムのことを対象プログラムと呼ぶ。上述したように対象プログラムは例えばファームウェアやOSであるが、アップデートを実行するアプリケーションプログラム自体が対象プログラムとなる場合もある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】中国特許出願公開第112035146号明細書
【特許文献2】米国特許出願公開第2019/0278583号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
決済端末においてファームウェアやOSのなどの対象プログラムのアップデートを行う場合、ネットワークを介して新バージョンの対象プログラムをダウンロードして不揮発性メモリに格納することが多いが、状況によってはネットワークを経由せずにアップデートを行いたいことがある。そのような場合には、USB(ユニバーサルシリアルバス(Universal Serial Bus))メモリなどの可搬の記録媒体に新バージョンの対象プログラムを格納しておき、その記録媒体を決済端末にローカルに接続し、記録媒体から新バージョンの対象プログラムを読み出して不揮発性メモリに書き込むことになる。しかしながら、ネットワーク経由でアップデートを行うときと可搬の記録媒体を経由してアップデートを行うときとでは、記録媒体を決済端末にローカルに接続するすなわち装着するか否かの点を除いても操作手順が異なっており、可搬の記録媒体経由でのアップデートを簡単に行えるわけではなかった。
【0007】
本発明の目的は、ネットワーク経由で行うか可搬の記録媒体経由で行うかによらず、同じ手順で対象プログラムのアップデートを行うことができるアップデート方法と、そのようなアップデート方法を実行するアプリケーションプログラムとを提供することにある。
【課題を解決するための手段】
【0008】
本発明の一態様のアップデート方法は、プログラムに基づいて動作するプロセッサと不揮発性メモリと揮発性メモリと表示手段とを備えたコンピュータ機器として構成されてオンライン決済を実行する決済端末におけるプログラムのアップデート方法であって、
アップデート対象のプログラムを対象プログラムとして、
前記決済端末に記録媒体が装着されているかを確認する装着確認工程と、
前記装着確認工程において前記記録媒体が装着されていないと判定したときに、前記不揮発性メモリに格納されている前記対象プログラムのバージョンよりも新しいバージョンの前記対象プログラムについての第1のアップデートデータが、ネットワークを介して前記決済端末がアクセス可能なプログラムサーバに存在するか否かを確認する第1の確認工程と、
前記第1のアップデートデータが存在する場合に、利用者から指示に応じ、前記プログラムサーバから前記第1のアップデートデータをダウンロードして前記不揮発性メモリに書込む第1の書込み処理を開始する第1のアップデート工程と、
前記装着確認工程において前記記録媒体が装着されていると判定したときに、前記不揮発性メモリに格納されている前記対象プログラムのバージョンよりも新しいバージョンの前記対象プログラムについての第2のアップデートデータが前記記録媒体に存在するか否かを確認する第2の確認工程と、
前記第2のアップデートデータが存在する場合に、前記利用者からの指示に応じ、前記記録媒体から前記第2のアップデートデータを読み込んで前記不揮発性メモリへの書込む第2の書込み処理を開始する第2のアップデート工程と、
を有し、
前記第1の書込み処理及び前記第2の書込み処理のいずれかが実行されているときには前記装着確認工程は実行されず、
前記装着確認工程、前記第1の確認工程、第1のアップデート工程、前記第2の確認工程及び前記第2のアップデート工程は、前記決済端末上で動作するアプリケーションプログラムによって実行される。
【0009】
一態様のアップデート方法によれば、ネットワークを介してプログラムサーバから第1のアップデートデータをダウンロードしてアップデートを行うときと、決済端末に装着されて記録媒体に格納されている第2のアップデートデータによってアップデートを行うときとの手順を統一することができ、ネットワーク経由の場合と同様に、決済端末に装着されている記録媒体からのアップデートも容易に行えるようになる。
【0010】
一態様のアップデート方法では、第1の書込み処理はストリーミングアップデートによる処理であり、第2の書込み処理はノンストリーミングアップデートによる処理とすることが好ましい。ネットワーク経由のアップデートをストリーミングアップデートとすることによって、決済端末での不揮発性メモリの空き容量が少ない場合であっても確実に対象プログラムのアップデートを行うことが可能になる。
【0011】
一態様のアップデート方法では、記録媒体は、決済端末に装着されるUMSデバイスであることが好ましい。UMSデバイスを用いることにより、決済端末側から記録媒体を容易に制御することができるようになる。
【0012】
一態様のアップデート方法では、第1の確認工程と第1のアップデート工程と第1の書込み処理とを実行しているときに表示手段に表示される画面の画面遷移と、第2の確認工程と第2のアップデート工程と第2の書込み処理とを実行しているときに表示手段に表示される画面の画面遷移とが共通であることが好ましい。画面遷移を共通にすることによって、利用者はネットワーク経由の場合と記録媒体からの場合との違いをより意識せずにアップデート作業を実行することができる。
【0013】
一態様のアプリケーションプログラムは、プログラムに基づいて動作するプロセッサと不揮発性メモリと揮発性メモリと表示手段とを備えたコンピュータ機器として構成されてオンライン決済を実行する決済端末におけるプログラムのアップデートを実行するアプリケーションプルグラムであって、
アップデート対象のプログラムを対象プログラムとして、前記プロセッサに、
前記決済端末に記録媒体が装着されているかを確認する装着確認処理と、
前記装着確認処理において前記記録媒体が装着されていないと判定されたときに、前記不揮発性メモリに格納されている前記対象プログラムのバージョンよりも新しいバージョンの前記対象プログラムについての第1のアップデートデータが、ネットワークを介して前記決済端末がアクセス可能なプログラムサーバに存在するか否かを確認する第1の確認処理と、
前記第1のアップデートデータが存在する場合に、利用者から指示に応じ、前記プログラムサーバから前記第1のアップデートデータをダウンロードして前記不揮発性メモリに書込む第1の書込み処理を開始させる第1のアップデート処理と、
前記装着確認処理において前記記録媒体が装着されていると判定されたときに、前記不揮発性メモリに格納されている前記対象プログラムのバージョンよりも新しいバージョンの前記対象プログラムについての第2のアップデートデータが前記記録媒体に存在するか否かを確認する第2の確認処理と、
前記第2のアップデートデータが存在する場合に、前記利用者からの指示に応じ、前記記録媒体から前記第2のアップデートデータを読み込んで前記不揮発性メモリへの書込む第2の書込み処理を開始する第2のアップデート処理と、
を実行させ、
前記第1の書込み処理及び前記第2の書込み処理のいずれかが実行されているときには前記装着確認処理を実行させない。
【0014】
一態様のアプリケーションプログラムによれば、ネットワークを介してプログラムサーバから第1のアップデートデータをダウンロードしてアップデートを行うときと、決済端末に装着されて記録媒体に格納されている第2のアップデートデータによってアップデートを行うときとの手順を統一することができ、ネットワーク経由の場合と同様に、決済端末に装着されている記録媒体からのアップデートも容易に行えるようになる。
【0015】
一態様のアプリケーションプログラムでは、第1の書込み処理はストリーミングアップデートによる処理であり、第2の書込み処理はノンストリーミングアップデートによる処理であることが好ましい。ネットワーク経由のアップデートをストリーミングアップデートとすることによって、決済端末での不揮発性メモリの空き容量が少ない場合であっても確実に対象プログラムのアップデートを行うことが可能になる。
【0016】
一態様のアプリケーションプログラムでは、記録媒体は、決済端末に装着されるUMSデバイスであることが好ましい。UMSデバイスを用いることにより、決済端末側から記録媒体を容易に制御することができるようになり、アプリケーションプログラムからの記録媒体の制御も容易に行えるようになる。
【0017】
一態様のアプリケーションプログラムは、第1の確認処理と第1のアップデート処理と第1の書込み処理とを実行しているときに表示手段に表示させる画面の画面遷移と、第2の確認工程と第2のアップデート処理と第2の書込み処理とを実行しているときに表示手段に表示させる画面の画面遷移とを共通のものとすることが好ましい。画面遷移を共通にすることによって、利用者はネットワーク経由の場合と記録媒体からの場合との違いをより意識せずにアップデート作業を実行することができる。
【発明の効果】
【0018】
本発明の一態様によれば、決済端末において対象プログラムのアップデートを行うときに、ネットワーク経由で行うか可搬の記録媒体経由で行うかによらず、同じ手順で対象プログラムのアップデートを行うことができるようになる。
【図面の簡単な説明】
【0019】
【
図2】ストリーミングアップデートを開始する処理を説明するフローチャートである。
【
図3】決済端末での画面表示の遷移を示す図である。
【
図4】アップデート実行時の処理を説明するフローチャートである。
【
図5】アップデート実行時の処理を説明するフローチャートである。
【発明を実施するための形態】
【0020】
次に本発明を実施するための形態について説明する。
図1は実施の一形態のアップデート方法が適用される決済端末の構成を示している。
図1に示す決済端末10は、ネットワーク30を介して決済サーバ31と接続してオンライン決済を実行するために用いられるものである。決済端末10は、決済サーバ31と接続していない状態でオフライン決済処理も行えるように構成されていてよい。決済端末10は、入力のために利用者の指などによって操作されるタッチスクリーン12と、タッチスクリーン12とは独立に設けられて決済サービスを利用する消費者などの顧客に対して情報の提示を行うディスプレイ13と、認証媒体からデータを読み出すリーダ部14と、を備えている。タッチスクリーン12及びディスプレイ13は表示手段である。認証媒体は、例えば、クレジットカードやプリペイドカード、二次元コードなどである。認証媒体がクレジットカードやプリペイドカードなどのカード媒体であるときは、そのカード媒体が磁気カードであるかICカードであるかに応じて、リーダ部14は磁気カードリーダあるいはICカードリーダとして構成される。認証媒体がQRコード(登録商標)などの二次元コードであるときは、リーダ部14は、二次元コードを読み取るカメラとして構成される。非接触型の近距離通信を行うスマートフォンやスマートウォッチなどを認証媒体として使用することもでき、そのような認証媒体が使用されるときは、リーダ部14としてはそのような認証媒体に適合したものが使用される。もちろんリーダ部14は、複数種類の認証媒体に対応できるように構成されていることが好ましい。
【0021】
さらに決済端末10にはネットワーク30との接続ポートとなるネットワークポート17と、各種のUSB機器が着脱可能に接続されるUSBポート18が設けられている。ネットワークポート17は、無線LANであるネットワーク30に接続する無線LANポートであってもよいし、LANケーブルを介してネットワーク30に接続するためのEthernet(登録商標)ポートであってもよい。
【0022】
決済端末10の本体の内部には、メイン基板15が設けられており、メイン基板15には、I/Oインタフェース16が設けられるとともに、モジュール基板20が取り付けられている。決済端末10はコンピュータ機器であるから、モジュール基板20には、コンピュータ機器として機能するための最低限の構成、すなわち、CPU21、不揮発性メモリ22、及び、RAMなどによって構成されてCPU21に接続する主記憶装置として機能する揮発性メモリ23が設けられている。CPU21は、プログラムに基づいて動作するプロセッサであり、CPU21の代わりにマイクロプロセッサやMPU(マイクロ処理ユニット)などが用いられてもよい。不揮発性メモリ22は、書き換え可能なROMやフラッシュメモリによって構成され、決済端末10を動作させるためのファームウエアやOS、各種のアプリケーションプログラムなども不揮発性メモリ22に格納される。不揮発性メモリ22は、コンピュータ機器としての決済端末における外部記憶装置としても機能する。モジュール基板20においてCPU21、不揮発性メモリ22及び揮発性メモリ23は、内部バス24を介して相互に接続している。CPU21は、1チップ構成のものであって、CPUあるいはマイクロプロセッサなどにおいて一般的に設けられる演算部25のほかに、ごく小容量の揮発性の記憶領域である揮発性記憶部(内蔵RAM)26とごく小容量の不揮発性の記憶領域である不揮発性記憶部27(内蔵ROM)とを備えている。
【0023】
モジュール基板20は、メイン基板15に対して接続部28を介して電気的に接続し、これにより、モジュール基板20の内部バス24もメイン基板15上のI/Oインタフェース16に電気的に接続する。I/Oインタフェース16は、タッチスクリーン12、ディスプレイ13、リーダ部14、ネットワークポート17及びUSBポート18に対するインタフェースを構成する。決済端末10では、接続部28に1対のコネクタを使用してメイン基板15からモジュール基板20を取り外し可能にすることもできるが、決済端末10におけるセキュリティの向上のために、接続部28においてモジュール基板20をメイン基板15にはんだ付けし、両者が容易には分離されないようにすることが好ましい。
【0024】
本明細書では、決済端末10の不揮発性メモリ22に格納される対象プログラムに関し、「新しいバージョン」あるいは「新バージョン」などの表現を用いるが、これは、その時点で不揮発性メモリ22に格納されている対象プログラムのバージョンよりも新しいバージョンであることを意味する。
【0025】
決済端末10における対象プログラムのアップデートを説明する前に、各種のコンピュータ機器における一般的なアップデート方法について説明する。コンピュータ機器において不揮発性メモリに格納されているファームウェアやOSなどの対象プログラムのアップデートを行うときは、一般に、当該対象プログラムについての新しいバージョンのプログラムデータの全体をいったんRAMに格納し、その後、RAM内のアップデートデータが不揮発性メモリにコピーされる。このようなアップデート形態をノンストリーミングアップデートと呼ぶ。ノンストリーミングアップデートでは、アップデートデータの全体を格納できるだけの空き容量がRAMに存在することが前提とされているので、RAMの空き容量が少ないときにはアップデートを行うことができない、という課題がある。そこで、ネットワーク経由でアップデートを行うときに、アップデートデータが複数のブロックあるいは断片から構成されるとしてブロック(または断片)を一つずつダウンロードしてRAMに格納し、RAMに格納されたブロック(または断片)をそのつど不揮発性メモリにコピーするアップデート形態が提案されている。このようなアップデート形態のことをストリーミングアップデートと呼ぶ。ストリーミングアップデートは、アップデートデータを配信するプログラムサーバ32がネットワーク30に接続されていることと、アップデートを行なおうとするコンピュータ機器がネットワーク30を介してプログラムサーバ32にアクセス可能であることを必要とする。なお、対象プログラムのアップデートのために使用される新バージョンのプログラムデータのことをアップデートデータあるいは新バージョンのアップデートデータと呼ぶ。
【0026】
ストリーミングアップデート自体はOSの機能として用意されるものであるが、ストリーミングアップデートを開始するときは、OS上で動作するアプリケーションプログラムが介在する。このアプリケーションプログラムは、OSによって一定の時間間隔で起動されるものであってもよいし、手動で起動されるものであってもよい。
図2に示すフローチャートは、ストリーミングアップデートを開始するアプリケーションプログラムによる処理を説明するものである。まずステップ101において、現在、ストリーミングアップデートによるアップデートデータの不揮発性メモリ22へのコピーが終了してコンピュータ機器の再起動(リブート)を待っている段階であるかどうかが判断される。再起動待ちのときは、重ねてストリーミングアップデートを起動させる必要がないときであるから、処理はそのまま終了する。ステップ101において再起動待ちでないときは、ステップ102において、アップデートデータのダウンロード中かどうかが判定される。ここでダウンロード中であるときも、重ねてストリーミングアップデートを起動させる必要がないときであるから、処理はそのまま終了する。
【0027】
ステップ102においてダウンロード中でないときは、ステップ103において、ネットワーク30を介してプログラムサーバ32に対し、新バージョンのアップデートデータが存在するかが問い合わされる。この問い合わせの結果に基づきステップ104において、アップデートデータがプログラムサーバ32に存在する否かを判定する。ここでアップデートデータが存在しない場合には、そのまま処理が終了し、アップデートデータが存在する場合には、ステップ105において、ストリーミングアップデートによるアップデートデータのダウンロードすなわちストリーミングダウンロードが開始され、その後、処理が終了する。一方、ステップ105においてアップデートデータが存在しない場合には、そのまま処理が終了する。以上説明した処理において、ステップ101の処理とステップ102の処理とを順番を入れ替えて実行してもよい。
【0028】
次に、本実施形態における決済端末10のファームウェアやOSなどの対象プログラムのアップデートについて説明する。本実施形態のアップデート方法では、上述したストリーミングアップデートによりネットワーク30を経由してアップデートデータをプログラムサーバ32から決済端末10にダウンロードし、不揮発性メモリ22に書き込むことを基本とする。したがって、決済端末10のOSは、ストリーミングアップデートをサポートするOSであることが好ましく、具体的には例えばOSがAndroid(登録商標)であるときは、そのバージョン8以降であることが好ましい。もっともストリーミングアップデートをサポートしていることは必須ではなく、ネットワーク30を介してアップデートデータを決済端末10にダウンロードするときは、ノンストリーミングアップデートの形態であってもよい。
【0029】
本実施形態では、ネットワーク30経由でのアップデートデータのダウンロードを行なえないときのために、USBポート18を介して決済端末10に装着されたすなわちローカルに接続された可搬の記録媒体からアップデートデータを決済端末10に読み込んで、不揮発性メモリ22上の対象プログラムを更新できるようにしている。ネットワーク30経由でのアップデートができないのは、例えば、決済端末10がネットワーク30に接続されていない、ネットワーク30にプログラムサーバ32が接続されていない、あるいは、ネットワーク30にプログラムサーバ32は接続されているが、ネットワーク30に接続されている決済端末10からはプログラムサーバ32への接続が許可されていない、などの場合がある。いずれの場合においても決済端末10からはプログラムサーバ32にはアクセスできない。また、プログラムサーバ32が提供するアップデートデータよりも新しいバージョンのアップデートデータを決済端末10に読み込ませるためにも可搬の記録媒体が用いられる。
【0030】
USBポート18に接続される可搬の記録媒体は、具体的には、USBポート18に取り外し可能に接続されるすなわち装着されるUSBメモリ35であり、USBメモリ35は、決済端末10のOSの側からはUMSデバイス、すなわちUSB-MSC(マスストレージクラス)のデバイスとして扱われる。本実施形態では、ネットワーク30経由のときとUSBメモリ35からのときとで同一の手順で決済端末10の対象プログラムのアップデートを行なえるようにしている。
【0031】
図3は、決済端末10においてそのファームウェアやOSなどの対象プログラムのアップデートを行うときの決済端末10のタッチスクリーン12における画面遷移を示している。本実施形態では、決済端末10における対象プログラムのアップデートを行うためのアプリケーションプログラム(以下、「アップデートapp」と呼ぶ)が用意される。アップデートappは、決済端末10の演算部25においてOSの制御下で実行されるコンピュータプログラムであり、アップデートデータのダウンロードや読み出しと、アップデートデータの不揮発性メモリ22へ書き込みを制御する。
【0032】
アップデートappが起動すると、アップデートappは、まず、ステップ111において決済端末10がアップデート後の再起動待ちかどうかを判定し、再起動待ちであれば、そのときは既にアップデートは成功しているので、利用者にアップデートが成功したことを通知して再起動を行うことを促す再起動要求画面56を表示する。USBメモリ35からアップデートが行われている場合には、再起動要求画面56には、USBメモリ35を取り外すことを促すメッセージも表示される。一方、ステップ111において再起動待ちではないと判断したときは、アップデートappは、ステップ112において、アップデートの進行中であるかどうかを判断する。ここでアップデートデータの進行中とは、アップデートがストリーミングアップデートの形態であれば、アップデートデータのダウンロードが進行していることを意味し、ノンストリーミングアップデートであれば、アップデートデータのダウンロードまたは読み込みが進行中であるか、ダウンロードされまたは読み込まれたアップデートデータの不揮発性メモリ22への書込みが進行中であることを意味する。ステップ111は
図2に示したステップ101に対応するものであり、ステップ112は、
図2のステップ102を本実施形態でのアップデート方法に適合するように改変したものである。
【0033】
ステップ112においてアップデートの進行中と判定したときは、アップデートappは、アップデートの進捗を示す進行状況通知画面54(プログレス画面とも呼ぶ)を表示する。進行状況通知画面54には、バーググラフの形態でアップデートの進行状況を示すインジケータ64と、アップデートの処理を終了させるための「中止」ボタン65が表示されている。進行状況通知画面54の表示後、アップデートが完了すれば、再起動を促すために、再起動要求画面56が表示される。進行状況通知画面54の表示中に「中止」ボタン65が押下あるいはクリックされたときは、アップデートが中止されたことあるいはエラーのためキャンセルされたことを通知するエラー表示ダイアログ57が表示される。エラー表示ダイアログ57には、「確認」ボタン67が表示されている。「確認」ボタン67が押下あるいはクリックされたときは、不揮発性メモリ22に格納されているものよりも新しいバージョンの対象プログラムが存在するかどうか、すなわちアップデートデータが存在するかどうかを現在確認中であることを示すアップデート確認中画面51が表示される。
【0034】
ステップ112においてアップデートの進行中ではないと判断されたときは、アップデート確認中画面51が表示される。アップデート確認中画面51は、
図2に示すフローチャートにおけるステップ103のように、アップデートappがアップデートデータの存在の有無を確認しているときに表示される。アップデートデータが存在しないことが確認された場合には、アップデートデータが存在しないこと、すなわちシステムが最新であることを通知する通知画面53が表示される。この通知画面53には「再確認」ボタン63が表示されており、「再確認」ボタン63が押下またはクリックされたときは、アップデートappが新バージョンのアップデートデータがあるかどうかを再び確認するので、アップデート確認中画面51が再び表示される。
【0035】
アップデートappがアップデートデータの存在の有無を確認した結果、アップデートデータが存在した場合には、画面は、アップデート確認中画面51から、アップデートを開始するかを利用者に問合せるアップデート開始確認ダイアログ52に遷移する。アップデート開始確認ダイアログ52には、アップデート開始を指示するための「はい」ボタン61と、アップデートを保留するための「いいえ」ボタン62が表示されている。「はい」ボタン61が押下あるいはクリックされたときは、アップデートデータのダウンロードあるいは読み込みが開始されて進行状況通知画面54が表示される。一方、「いいえ」ボタン62が押下あるいはクリックされたときは、アップデートが保留されたことを示すアップデート保留通知画面55が表示される。アップデート保留通知画面55には、「再確認」ボタン63が表示されており、「再確認」ボタン63が押下またはクリックされたときは、アップデートappが新バージョンのアップデートデータがあるかどうかを再び確認するので、アップデート確認中画面51が再び表示される。
【0036】
以上説明した画面遷移を伴ないつつ対象プログラムのアップデートを行うアップデートappの処理について、
図4及び
図5のフローチャートを用いて説明する。まず、決済端末10においてアップデートappが起動すると、アップデートappは、上述したようにステップ111において、決済端末10がアップデート後の再起動待ちかどうかを判定し、再起動待ちであれば、そのときは既にアップデートは成功しているので、利用者にアップデートが成功したことを通知して再起動を行うことを促す再起動要求画面56を表示する。再起動待ちではないときは、アップデートappは、ステップ112において、現在、アップデートの進行中かどうか判定する。ステップ112においてアップデートの進行中ではないときは、次に、アップデートappは、ステップ113において、決済端末10にUSBメモリ35がUMSデバイスとして装着されているかどうかを判定する。決済端末10が使用するOSによっては、USBメモリ35が既に決済端末10に装着されて他のアプリケーションプログラムによって使用されているときにアップデートappからUMSデバイスすなわちUSBメモリ35にアクセスできないことがある。したがって、対象プログラムのアップデートを行うときは、アップデートappの起動後にUSBメモリ35を装着することが好ましい。
図4及び
図5に示すフローチャートから明らかになるようにより新しいバージョンのアップデートデータがUSBメモリ35に格納されている限り、アップデートappの起動後にUSBメモリ35を決済端末10に装着しても、決済端末10は、USBメモリ35に格納されているより新しいバージョンのアップデートデータによってアップデートされる。
【0037】
ステップ113においてUMSデバイスが装着されていないと判定したときは、アップデートappは、ステップ114において、プログラムサーバ32に対し、決済端末10における対象プログラムのバージョンよりも新しいバージョンの対象プログラムが存在するか否かを問合せ、アップデート確認中画面51をタッチスクリーン12に表示する。そして問合せに対する応答に基づいて、ステップ115において、新バージョンのアップデートデータがプログラムサーバ32に存在するかどうかを判定する。プログラムサーバ32に対して決済端末10がアクセスできないときは、新バージョンのアップデートデータが存在しないものとして扱われる。ステップ115において「存在しない」と判定したときは、アップデートappは、システムが最新であることの通知画面53を表示する。この通知画面53において「再確認」ボタン63が押下またはクリックされたときは、アップデートappは、ステップ111からの処理を繰り返す。このとき、再起動待ちでもダウンロード中でもなく、USBメモリ35も装着されていなければ、アップデートappは再びステップ114を実行するので、アップデート確認中画面51が表示されることになる。なお、ステップ114,115は、それぞれ、
図2のステップ103,104と同様の処理を行うステップである。
【0038】
ステップ115において「存在する」と判定したときは、アップデートappはアップデート開始確認ダイアログ52を表示し、アップデート開始確認ダイアログ52における「はい」ボタン61か「いいえ」ボタン62のいずれかが押下またはクリックされるまで待ち合わせる。アップデートappは、ボタン61,62のいずれかが操作されたときに、ステップ116において、どちらのボタンが操作されたか、すなわちアップデートの開始を指示されたかどうかを判定し、「はい」ボタン61が操作されていたときは、ステップ117において、プログラムサーバ32からのアップデートデータのストリーミングダウンロードを開始させてアップデートを開始させ、その後、ステップ111からの処理を繰り返す。ステップ117は、
図2のステップ105に対応するステップである。一方、ステップ115において「いいえ」ボタン61が操作されていたと判定したときは、アップデートappは、アップデート保留通知画面55を表示する。そして、アップデート保留通知画面55において「再確認」ボタン66が操作されたときは、アップデートappは、ステップ111からの処理を繰り返す。なお、利用者がUSBメモリ35からのアップデートを意図するときは、アップデート開始確認ダイアログ52が表示された時点においてUSBメモリ35を決済端末10に装着した上で「いいえ」ボタン61を操作することによって、ステップ111からの処理が繰り返されるときにステップ113においてUMSデバイスが装着されていると判断されるので、後述するように、USBメモリ35内に格納されたアップデートデータによるアップデートが行われることになる。
【0039】
ステップ112においてアップロードの進行中であるときは、アップデートappは、進行状況通知画面54を表示する。そして、ダウンロードが完了してアップデートが完了したとき、エラー発生によりダウンロードやアップデートのキャンセルが発生したとき、及び、進行状況通知画面54内の「中止」ボタン65に対する操作が行われたとき、のいずれかのときにアップデートappは、ステップ118において、アップデートが成功したかどうかを判定する。アップデートが成功したと判定したときは、アップデートappは、ステップ111からの処理を繰り返す。一方、ステップ118においてアップデートが失敗したと判断したときは、アップデートappは、ステップ119において決済端末10におけるアップデート状態をリセットし、その後、エラー表示ダイアログ57を表示する。エラー表示ダイアログ57内の「確認」ボタン67が操作されたときは、アップデートappはステップ111からの処理を繰り返す。
【0040】
ステップ113においてUMSデバイスが装着されていると判断したときは、アップデートappは、ステップ121において、UMSデバイスすなわちUSBメモリ35内に、現在の対象プログラムのバージョンよりも新しいバージョンのアップデートデータがあるかどうかを確認し、アップデート確認中画面51を表示する。ステップ122は、ステップ121における確認で得た結果に基づく分岐を示しており、USBメモリ35内に新バージョンのアップデートデータが存在する場合にはアップデートappは、アップデート開始確認ダイアログ52を表示する。そしてアップデートappは、ステップ116と同様にステップ123において、アップデート開始確認ダイアログ52中のボタン61,62のいずれかが操作されたかを判定して、「はい」ボタン61が操作されていたときは、ステップ124において、USBメモリ35内に格納されているアップデートデータのノンストリーミングアップデートを開始させ、その後、ステップ111からの処理を繰り返す。一方、ステップ123において「いいえ」ボタン62が操作されていたときは、アップデート保留通知画面55を表示する。アップデート保留通知画面55中の「再確認」ボタン66が操作されたときは、アップデートappは、ステップ111からの処理を繰り返す。
【0041】
以上、本実施形態における決済端末10のファームウェアやOSなどの対象プログラムのアップデートの手順を説明した。アップデートappにより対象プログラムのアップデートを行うときに決済端末10のタッチスクリーン12に現れる画像の遷移は、ネットワーク30経由でストリーミングアップデート(場合によってはノンストリーミングアップデート)を行うときも、UMSデバイスとして決済端末10に装着されたUSBメモリ35経由でノンストリーミングアップデートを行うときも同じであり、また
図4に示すステップ114~117と
図5に示すステップ121~124とが対応関係にあることからも明らかとなるように、USBメモリ35を装着するという動作を除けばネットワーク30経由でアップデートデータをダウンロードして対象プログラムのアップデートを行うときも、決済端末10に装着されたUSBメモリ35内のアップデートデータによってアップデートを行うときも、アップデートappの起動からアップデート完了までに利用者が行わなければならない操作は同一である。すなわち本実施形態によれば、同じ手順で決済端末10において対象プログラムのアップデートを行うことができ、アップデートを簡便に行うことができるようになる。
【0042】
また本実施形態では、アップデートappの起動後に決済端末10にUSBメモリ35が取り付けられたときは、ステップ111からの処理を繰り返すときにステップ113においてUMSデバイスが装着されていると判断されてステップ121以降の処理が実行されるので、ネットワーク30経由でアップデートデータをダウンロードしてアップデートが行われたのちも、それよりさらに新バージョンのアップデートデータがUSBメモリ35内に格納されていれば、USBメモリ35内のアップデートデータによるアップデートが行われることになる。すなわち最終的には、プログラムサーバ32内に格納されたアップデートデータとUSBメモリ35内に格納されたアップデートデータとのうちのより新しいバージョンのアップデートデータによって決済端末10のファームウェアやOSなどの対象プログラムがアップデートされることになる。
【符号の説明】
【0043】
10…決済端末、12…タッチスクリーン、13…ディスプレイ、14…リーダ部、15…メイン基板、16…I/Oインタフェース、17…ネットワークポート、18…USBポート、20…モジュール基板、21…CPU、22…不揮発性メモリ、23…揮発性メモリ、24…内部バス、25…演算部、26…不揮発性記憶部、27…接続部、30…ネットワーク、31…決済サーバ、32…プログラムサーバ、35…USBメモリ。