(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023130136
(43)【公開日】2023-09-20
(54)【発明の名称】情報処理方法、コンピュータプログラム、及び情報処理装置
(51)【国際特許分類】
G06Q 20/40 20120101AFI20230912BHJP
【FI】
G06Q20/40
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022034633
(22)【出願日】2022-03-07
(71)【出願人】
【識別番号】302064762
【氏名又は名称】株式会社日本総合研究所
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】松下 祐也
【テーマコード(参考)】
5L055
【Fターム(参考)】
5L055AA75
(57)【要約】
【課題】複数ユーザの端末に記憶した検証情報により、残高の正確性を担保可能とする情報処理方法等を提供すること。
【解決手段】情報処理方法は、施設に設けられた決済端末と通信可能なコンピュータが、 第1ユーザを特定するための識別情報、残高、及び、日時を含む検証情報を前記第1ユーザの端末装置から取得し、取得した検証情報を前記第1ユーザとは異なる他の複数のユーザの端末装置へ出力し、前記第1ユーザの決済時に前記第1ユーザの端末装置から新たに取得した検証情報、及び、他の複数のユーザの端末装置から近距離無線通信により取得した検証情報に基づき、決済を許可するか否かを判定する処理を行う。
【選択図】
図10
【特許請求の範囲】
【請求項1】
施設に設けられた決済端末と通信可能なコンピュータが、
第1ユーザを特定するための識別情報、残高、及び、日時を含む検証情報を前記第1ユーザの端末装置から取得し、
取得した検証情報を前記第1ユーザとは異なる他の複数のユーザの端末装置へ出力し、
前記第1ユーザの決済時に前記第1ユーザの端末装置から新たに取得した検証情報、及び、他の複数のユーザの端末装置から近距離無線通信により取得した検証情報に基づき、決済を許可するか否かを判定する
処理を行うことを特徴とする情報処理方法。
【請求項2】
前記決済端末と、決済を行うサーバとの間の通信障害が生じている場合に、判定処理を行う
ことを特徴とする請求項1に記載の情報処理方法。
【請求項3】
前記施設への訪問頻度に基づき常連ユーザを特定し、特定した前記常連ユーザの端末装置から検証情報を取得する
ことを特徴とする請求項1又は請求項2に記載の情報処理方法。
【請求項4】
前記施設への訪問頻度に基づき常連ユーザを特定し、特定した前記常連ユーザの端末装置へ前記第1ユーザの検証情報を出力する
ことを特徴とする請求項1から請求項3のいずれか一項に記載の情報処理方法。
【請求項5】
前記常連ユーザの端末装置から取得した検証情報、又は、該常連ユーザの端末装置からP2Pで検証情報を取得した他のユーザの端末装置から取得した検証情報に基づき決済を許可するか否かを判定する
ことを特徴とする請求項4に記載の情報処理方法。
【請求項6】
前記端末装置は、前記検証情報を所定タイミングで消去する
ことを特徴とする請求項1から請求項5のいずれか一項に記載の情報処理方法。
【請求項7】
前記第1ユーザの残高が、他のユーザから取得した残高よりも高い場合には決済を許可しないと判定する
ことを特徴とする請求項1から請求項6のいずれか一項に記載の情報処理方法。
【請求項8】
前記第1ユーザの残高が、所定数以上の他のユーザの端末装置から取得した残高と一致した場合に、決済を許可すると判定する
ことを特徴とする請求項1から請求項7のいずれか一項に記載の情報処理方法。
【請求項9】
第1ユーザを特定するための識別情報、残高、及び、日時を含む検証情報を前記第1ユーザの端末装置から取得し、
前記第1ユーザの決済時に決済端末との間の近距離無線通信により取得した検証情報を出力する
処理をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項10】
自身を特定するための識別情報及び残高を含む検証情報を決済端末に出力し、
自身で決済を行う場合に、他の端末装置に拡散された自身の検証情報との比較のために再度決済情報を決済端末に出力する
ことを特徴とする請求項9に記載のコンピュータプログラム。
【請求項11】
第1ユーザを特定するための識別情報、残高、及び、日時を含む検証情報を前記第1ユーザの端末装置から取得する取得部と、
取得した検証情報を前記第1ユーザとは異なる他の複数のユーザの端末装置へ出力する出力部と、
前記第1ユーザの決済時に前記第1ユーザの端末装置から新たに取得した検証情報、及び、他の複数のユーザの端末装置から近距離無線通信により取得した検証情報に基づき、決済を許可するか否かを判定する判定部と
を備えることを特徴とする情報処理装置。
【請求項12】
決済端末と通信可能なコンピュータに、
第1ユーザを特定するための識別情報、残高、及び、日時を含む検証情報を前記第1ユーザの端末装置から取得し、
取得した検証情報を前記第1ユーザとは異なる他の複数のユーザの端末装置へ出力し、
前記第1ユーザの決済時に前記第1ユーザの端末装置から新たに取得した検証情報、及び、他の複数のユーザの端末装置から近距離無線通信により取得した検証情報に基づき、決済を許可するか否かを判定する
処理を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子決済システムに係る情報処理方法等に関する。
【背景技術】
【0002】
商品やサービスの購入代金を電子的なデータ送信で決済する電子決済システムが普及している。電子決済システムにおいて、ユーザが用いる決済手段では残高が改ざんされる危険性がある。この対策として、オンラインでリアルタイムに正当性を確認する技術が提案されている。
【0003】
決済時にリアルタイムでサーバとの通信を必要とするシステムは、店舗等でのオフライン決済には適用できないため、リアルタイムでのチェックを必要とせず、電子マネーの正当な利用を保証できる決済装置等が提案されている(特許文献1)。特許文献1に記載の決済装置は、決済の度に、現在のハッシュ値、及び決済のトランザクションから生成されるデータに基づいて、現在のハッシュ値を新たな値に更新し、現在のハッシュ値に対して秘密鍵によって署名を行う。また、決済装置はハッシュ値の署名を生成する署名部と、秘密鍵及びハッシュ値の署名を保護するセキュアエレメントとを備えている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記決済装置はオフライン時には自身が保有する残高に基づいて決済を行う。そのため、残高の保証は決済装置のみで行なわれており、残高の正確性が十分に担保できているとは言い難い。本発明はこのような状況に鑑みてなされたものである。その目的は、複数ユーザの端末に記憶した検証情報により、残高の正確性を担保可能とする情報処理方法等の提供である。
【課題を解決するための手段】
【0006】
本願に開示する情報処理方法は、施設に設けられた決済端末と通信可能なコンピュータが、第1ユーザを特定するための識別情報、残高、及び、日時を含む検証情報を前記第1ユーザの端末装置から取得し、取得した検証情報を前記第1ユーザとは異なる他の複数のユーザの端末装置へ出力し、前記第1ユーザの決済時に前記第1ユーザの端末装置から新たに取得した検証情報、及び、他の複数のユーザの端末装置から近距離無線通信により取得した検証情報に基づき、決済を許可するか否かを判定する処理を行うことを特徴とする。
【発明の効果】
【0007】
本発明の一観点によれば、残高の正確性が担保可能となる。
【図面の簡単な説明】
【0008】
【
図1】残高検証システムの構成例を示す説明図である。
【
図2】第1端末のハードウェア構成例を示すブロック図である。
【
図3】店舗端末のハードウェア構成例を示すブロック図である。
【
図8】残高配信処理の手順例を示すフローチャートである。
【
図9】残高受信処理の手順例を示すフローチャートである。
【
図10】残高検証処理の手順例を示すフローチャートである。
【
図11】残高返信処理の手順例を示すフローチャートである。
【
図12】他人残高交換処理の手順例を示すフローチャートである。
【
図13】削除処理の手順例を示すフローチャートである。
【
図14】残高受信処理、又は、他人残高交換処理の一部の処理を示すフローチャートである。
【
図15】店舗端末が記憶する取引履歴DBの例を示す説明図である。
【
図16】端末が記憶する取引履歴DBの例を示す説明図である。
【
図17】復旧処理の手順例を示すフローチャートである。
【
図18】通信機のハードウェア構成例を示すブロック図である。
【
図19】残高交換処理の手順例を示すフローチャートである。
【
図20】残高検証処理の他の手順例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下実施の形態を、図面を参照して説明する。
図1は残高検証システムの構成例を示す説明図である。残高検証システム100は第1端末1、第2端末2、店舗端末3、決済システム4を含む。第1端末1、第2端末2、店舗端末3及び決済システム4はネットワークNにより、通信可能に接続されている。また、第1端末1と第2端末2とは近距離通信による通信が可能である。同様に第1端末1及び第2端末2と店舗端末3とは近距離通信による通信が可能である。
図1において、第1端末1は1台のみ記載しているが、2台以上でもよい。第2端末2は2台のみ記載しているが、3台以上が好ましい。第2端末2は1台でもよいが、あまり好ましくはない。店舗端末3は1台のみ記載しているが、2台以上でもよい。
【0010】
第1端末1は店舗にて商品等の代金決済を電子決済で行おうとしている第1ユーザが使用する端末装置である。第1端末1はスマートフォン、タブレットコンピュータ、ノートPC(Personal Computer)等で構成する。第2端末2は第1ユーザ以外の第2ユーザが使用する端末装置である。第2端末2はスマートフォン、タブレットコンピュータ、ノートPC等で構成する。第1ユーザ及び第2ユーザは、共に残高検証システム100を利用するユーザであり、第1ユーザと第2ユーザとの区別は固定的なものではない。各ユーザは、商品等の代金決済を電子決済で行おうとしている場面においては、第1ユーザとなり、それ以外の場面においては、第2ユーザとなる。ユーザが第1ユーザとなっている場面において、端末が第1端末1として機能する。ユーザが第2ユーザとなっている場面において、端末が第2端末として機能する。したがって、同一の端末が第1端末1ともなるし、第2端末2ともなる。また、一つの端末が同時に第1端末1として機能し、第2端末2としても機能することもあり得る。
【0011】
店舗端末3は店舗(施設)の店員が使用する端末である。店舗端末3はスマートフォン、タブレットコンピュータ、ノートPC(Personal Computer)等で構成する。店舗端末3は商品の登録、商品代金の合計金額の計算等の機能を有し、決済システム4と通信し、電子決済を実行してもよい。この場合、店舗端末3は決済端末として機能する。また、店舗端末3をいわゆるPOS(Point Of Sales)レジ(キャッシュレジスタ、金銭登録機)で構成してもよい。災害発生後、停電している状況においても使用可能である観点から、店舗端末3はバッテリ駆動が可能な機器で構成することが望ましい。決済システム4は電子決済サービスを提供するシステムである。
【0012】
図2は第1端末のハードウェア構成例を示すブロック図である。第1端末1は制御部11、主記憶部12、補助記憶部13、通信部14、近距離通信部15、表示パネル16及び操作部17を含む。各部はバスBにより接続されている。
【0013】
制御部11は、一又は複数のCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を有する。制御部11は、補助記憶部13に記憶された制御プログラム1P(プログラム、プログラム製品)を読み出して実行することにより、第1端末1に係る種々の情報処理、制御処理等を行い、各種の機能部を実現する。
【0014】
主記憶部12は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等である。主記憶部12は主として制御部11が演算処理を実行するために必要なデータを一時的に記憶する。
【0015】
補助記憶部13はハードディスク又はSSD(Solid State Drive)等であり、制御部11が処理を実行するために必要な制御プログラム1Pや各種DB(Database)を記憶する。補助記憶部13は、残高DB131及び他人残高DB132並びにユーザID133を記憶する。ユーザID133(識別情報)は端末1を使用している第1ユーザが、残高検証システム100から付与されたユニークID(識別情報)である。補助記憶部13は第1端末1と別体であって、外部接続された外部記憶装置であってもよい。
【0016】
通信部14はネットワークNを介して、決済システム4と通信を行う。制御部11が通信部14を用い、ネットワークN等を介して他のコンピュータから制御プログラム1Pをダウンロードし、補助記憶部13に記憶してもよい。
【0017】
近距離通信部15は、NFC(Near Field Communication)規格、Bluetooth(登録商標)規格、赤外線通信(IrDA(Infrared Data Association))規格、WiFi(登録商標)規格などにしたがった通信を行う。制御部11は近距離通信部15を介して、端末とP2P(Peer to Peer)の通信を行う。
【0018】
表示パネル16は、液晶パネル又は有機EL(Electro Luminescence)ディスプレイ等で構成することができる。操作部17は、例えば、表示パネル16に組み込まれたタッチパネルで構成することができ、ユーザが表示パネル16上で行う所定の操作を行うことができる。また、操作部17は、表示パネル16に表示したソフトウェアキ-ボード上の操作を行うことができる。なお、操作部17は、ハードウェアキーボード、マウスなどでもよい。
【0019】
第2端末2は第1端末1と同様の構成を有し、制御部21、主記憶部22、補助記憶部23、通信部24、近距離通信部25、表示パネル26及び操作部27を含む。第2端末2を構成する各部の機能は、第1端末1の対応する各部と同様であるから、図示及び説明を省略する。なお、以下の説明において、第1端末を端末1ともいい、第2端末を端末2ともいう。また、第1端末1と第2端末2とをまとめて端末ともいう。
【0020】
図3は店舗端末のハードウェア構成例を示すブロック図である。店舗端末3は制御部31、主記憶部32、補助記憶部33、通信部34、近距離通信部35、表示パネル36及び操作部37を含む。各部はバスBにより接続されている。
【0021】
制御部31は、一又は複数のCPU、MPU、GPU等の演算処理装置を有する。制御部31は、補助記憶部33に記憶された制御プログラム3P(プログラム、プログラム製品)を読み出して実行することにより、店舗端末3に係る種々の情報処理、制御処理等を行い、取得部、出力部、判定部等の各種機能部を実現する。
【0022】
主記憶部32は、SRAM、DRAM、フラッシュメモリ等である。主記憶部32は主として制御部11が演算処理を実行するために必要なデータを一時的に記憶する。
【0023】
補助記憶部33はハードディスク又はSSD等であり、制御部31が処理を実行するために必要な制御プログラム3Pや各種DBを記憶する。補助記憶部33は、常連DB331及び残高DB332を記憶する。補助記憶部33は店舗端末3と別体であって、外部接続された外部記憶装置であってもよい。
【0024】
通信部34はネットワークNを介して、決済システム4と通信を行う。制御部31が通信部34を用い、ネットワークN等を介して他のコンピュータから制御プログラム3Pをダウンロードし、補助記憶部33に記憶してもよい。
【0025】
近距離通信部35は、NFC規格、Bluetooth(登録商標)規格、赤外線通信規格、WiFi規格などにしたがった通信を行う。
【0026】
表示パネル36は、液晶パネル又は有機ELディスプレイ等で構成することができる。操作部37は、例えば、表示パネル36に組み込まれたタッチパネルで構成することができ、ユーザが表示パネル36上で行う所定の操作を行うことができる。また、操作部37は、表示パネル36に表示したソフトウェアキ-ボード上の操作を行うことができる。なお、操作部37は、ハードウェアキーボード、マウスなどでもよい。
【0027】
次に、残高検証システム100で使用されるデータベースについて説明する。
図4は残高DBの例を示す説明図である。残高DB131は端末1が備えるデータベースである。残高DB131は電子決済可能な金額等を記憶する。残高DB131はサービスコード列、アカウントID列、残高列及び日時列を含む。サービスコード列は電子決済サービスを特定するコードやIDを記憶する。アカウントID列は電子決済サービスにおけるユーザのIDを記憶する。残高列はユーザが電子決済可能な金額を記憶する。電子決済サービスがプリペイド型の場合、残高列はチャージ残高を記憶する。電子決済サービスがポストペイ型の場合、残高列は利用可能額を記憶する。日時列は残高列の値が記憶する値となった日時を記憶する。すなわち、日時列は電子決済サービスを直近に利用した日時を記憶する。なお、残高DB131を電子決済サービス毎に構築する場合、又は、残高検証システム100が利用できる電子決済サービスをユーザ毎に一つとする場合、残高DB131において、サービスコード列はなくともよい。アカウントIDの値により、対応する電子決済サービスが認識可能である場合も、残高DB131において、サービスコード列はなくともよい。また、残高DB131と同様な残高DB231を端末2は備えている。
【0028】
図5は他人残高DBの例を示す説明図である。他人残高DB132は端末1が備えるデータベースである。他人残高DB132は他のユーザが電子決済可能な金額等を記憶する。他人残高DB132はユーザID列、サービスコード列、残高列、日時列及び受信日時列を含む。ユーザID列は他のユーザのユーザIDを記憶する。ユーザIDは残高検証システム100により付与されたIDである。サービスコード列は電子決済サービスを特定するコードやIDを記憶する。残高列は他のユーザが電子決済可能な金額を記憶する。残高列は、残高DB131の残高列と同様に、チャージ残高又は利用可能額を記憶する。日時列は残高列の値が記憶する値となった日時を記憶する。すなわち、日時列は他のユーザが電子決済サービスを直近に利用した日時を記憶する。受信日時列は他のユーザの残高データを受信した日時を記憶する。なお、受信日時列は必須ではない。また、他人残高DB132と同様な他人残高DB232を端末2は備えている。以下の説明において、残高は、チャージ残高、及び、利用可能額の一方又は両方を示すものとする。
【0029】
図6は常連DBの例を示す説明図である。常連DB331は店舗端末3が備えるデータベースである。常連DB331は各店舗における常連ユーザの情報を記憶する。常連DB331はユーザID列、時間帯列及び最終来店列を含む。ユーザID列は常連ユーザのユーザIDを記憶する。時間帯列は常連ユーザが最も店舗に訪れる時間帯を記憶する。
図6においては、時間帯列の値は数字で示している。例えば、1は6時から9時を、2は9時から12時を、3は12時から15時を、4は15時から18時を、5は18時から21時を示す。最終来店列はユーザが最後に店舗に訪れた日時を記憶する。本明細書において、ユーザを常連と判定するロジックは種々のものが考えられる。例えば来店頻度(訪問頻度)が3日間に3回以上、来店したユーザを常連とする。ユーザの来店履歴は、電子決済やポイントシステムの利用履歴から作成可能である。POSレジやPOSデータを一括管理するPOSサーバが有する購入履歴を利用してもよい。
【0030】
図7は残高DBの例を示す説明図である。残高DB332は店舗端末3が備えるデータベースである。残高DB332は常連ユーザの残高を記憶する。残高DB332はユーザID列、サービスコード列、残高列及び日時列を含む。ユーザID列はユーザIDを記憶する。サービスコード列は電子決済サービスを特定するコードやIDを記憶する。残高列はユーザが電子決済可能な金額を記憶する。電子決済サービスがプリペイド型の場合、残高列はチャージ残高を記憶する。電子決済サービスがポストペイ型の場合、残高列は利用可能額を記憶する。日時列は残高列の値が記憶する値となった日時を記憶する。
【0031】
続いて、残高検証システム100で行なわれる処理について説明する。それに先立ち、残高検証システム100の動作モードについて説明する。残高検証システム100の動作モードは平常時モード、災害時モードを想定している。ここでの平常時は決済システム4及びネットワークN等が正常に機能しており、電子決済を正常に行える状態をいう。災害時は広域地震などの大規模災害により、ネットワークNや決済システム4に被害が及び、決済システム4との通信が困難で、電子決済が行えない状態をいう。
【0032】
店舗端末3を介して、第1ユーザの電子決済サービスにおける残高が第1端末1から、第2ユーザの第2端末2へ配信される。第2端末2は配信された第1ユーザの残高を所定期間、保持する。
【0033】
災害時モードでは、電子決済の処理が異なる。第1ユーザが店舗にて電子決済を利用して、商品の購入を希望したとする。このとき、ネットワークNや電子決済サービスに障害が発生していれば決済が行えず、第1ユーザは商品を購入できない。しかし、残高検証システム100は、正常時に第2端末2へ配信した第1ユーザの残高を、第2端末2から回収し、回収した残高に基づき、第1ユーザが保有している残高が正当である否かを判定する。残高検証システム100が第1ユーザの電子決済における残高を正当であると保証したときは、当該残高に基づき電子決済の利用を第1ユーザに許可する。
【0034】
残高検証システム100において、第1ユーザの残高をより正確に、より確実に検証するためには、第2ユーザから回収する残高が、可能な限り新しいものが望ましい。また、より多くの第2ユーザから残高が回収できることが望ましい。これを実現するために、店舗を基準としたユーザのネットワークを形成する。ここでは、当該ネットワークを常連ネットワークと呼ぶ。以下、常連ネットワークを用いた残高検証システム100の処理を説明する。
【0035】
(平常時モード)
平常時モードにおいて、残高検証システム100が行う処理について説明する。
図8は残高配信処理の手順例を示すフローチャートである。残高配信処理は店舗端末3が実行する処理である。店舗端末3の制御部31は来店した第1ユーザの端末1から、残高を取得する(ステップS1)。例えば、第1ユーザが商品購入に際して電子決済を行ったことを契機に、店舗端末3は残高を取得する。また、店舗端末3がポーリング信号を発信しており、ポーリング信号を受信した端末1が残高を返信する。若しくは、来店したユーザにインセンティブを付与するサービスを設け、端末1において来店を知らせる操作が行われた場合、例えば、店舗に設置された二次元コードが端末1で読み取れた場合、端末1は店舗端末3に対して、残高を送信する仕組みを採用してもよい。店舗端末3と端末1との通信は、近距離無線通信により行なわれることを想定するが、インターネット等を介してもよい。制御部31はポーリングを行う(ステップS2)。当該ポーリングは近距離無線通信により行なわれ、第1ユーザが来店している第2ユーザの端末2が探索される。ポーリングを受けた端末2からユーザIDが返信される。制御部31は返信されたユーザIDを取得する(ステップS3)。制御部31は取得したユーザIDの中から、処理対象とするユーザIDを選択する(ステップS4)。制御部31は常連DB331を参照して、選択したユーザIDを持つユーザが常連であるか否かを判定する(ステップS5)。選択したユーザIDが常連DB331に記憶してあれば、制御部31は常連と判定する。現在時刻が、常連DB331の時間帯列の時間帯に含まれていなければ、常連と判定しなくともよい。制御部31は選択したユーザIDを持つユーザが常連でないと判定した場合(ステップS5でNO)、処理をステップS7へ進める。制御部31は選択したユーザIDを持つユーザが常連であると判定した場合(ステップS5でYES)、当該ユーザの端末2へ第1ユーザの残高情報を送信する(ステップS6)。残高情報は、残高に、第1ユーザのユーザID、及び、残高の更新日時を付加したものである。制御部31は未処理のユーザIDがあるか否かを判定する(ステップS7)。制御部31は処理のユーザIDがあると判定した場合(ステップS7でYES)、処理をステップS4に戻し、未処理ユーザIDについての処理を行う。制御部31は処理のユーザIDがないと判定した場合(ステップS7でNO)、処理を終了する。なお、残高情報は、店舗端末3の残高DB332にも記憶される。
【0036】
残高配信処理において、残高を送信した常連ユーザの数が所定数に達しなかった場合、制御部31は、残高を送信した常連ユーザの数が所定数に達するか、所定時間が経過するまでステップS2以降の処理を繰り返してもよい。また、残高配信処理において、ポーリングは行なわなくともよい。この場合、制御部31は、宛先として常連ユーザのユーザIDを含むパケット生成し、送信する。受信した端末2はパケットに含まれるユーザIDが補助記憶部23に記憶しているユーザID233と一致する場合、制御部21はパケットを受け入れる。パケットに含まれるユーザIDがユーザID233と不一致の場合、制御部21はパケットを破棄する。
【0037】
図9は残高受信処理の手順例を示すフローチャートである。残高受信処理は残高配信処理に対応する処理であり、ポーリングを受けた端末2が実行する処理である。端末2の制御部21は店舗端末3が送信したポーリング信号を受信する(ステップS21)。制御部21は補助記憶部23に記憶しているユーザID233を店舗端末3へ送信する(ステップS22)。制御部21はインターバルタイマを開始する(ステップS23)。制御部21は店舗端末3から残高情報を受信したか否かを判定する(ステップS24)。制御部21は店舗端末3から残高情報を受信したと判定した場合(ステップS24でYES)、他人残高DB232に残高情報を記憶する(ステップS25)。すでに同一の第1ユーザの情報が記憶されていた場合、制御部21は上書きをする。制御部21は店舗端末3から残高情報を受信していないと判定した場合(ステップS24でNO)、タイムアウトであるか否かを判定する(ステップS27)。制御部21はタイムアウトでないと判定した場合(ステップS27でNO)、処理をステップS24へ戻す。制御部21はタイムアウトであると判定した場合(ステップS27でYES)、またはステップS25の後、インターバルタイマを停止し(ステップS26)、処理を終了する。
【0038】
残高配信処理においてポーリングを行なわない場合、ステップS24での判定で、パケットを受信した場合であっても、宛先が自端末で無い場合、制御部31は受信していないと判定する。
【0039】
残高配信処理により、第1ユーザが使用する第1端末1に記憶された残高情報が配信される。配信された残高情報は、残高受信処理により、第2ユーザが使用する第2端末2に記憶される。これにより、平常時モードにおいて、第1ユーザの残高は第2端末2にも記憶されることになる。なお、繰り返しになるが、第1ユーザは第2ユーザの立場ともなり、第2ユーザは第1ユーザの立場ともなるので、常連ネットワークに属するユーザ間で互いに残高を持ち合う事になる。常連ネットワークは、同一の時間帯に同一の店舗へ来店するユーザの集まりとなるため、店舗内で出会う可能性が高く、互いに持ち合う残高は、最新の値を維持できる可能性が高くなる。
【0040】
(災害時モード)
災害時モードにおいて、残高検証システム100が行う処理について説明する。
図10は残高検証処理の手順例を示すフローチャートである。残高検証処理は店舗端末3が実行する処理である。店舗に来店した第1ユーザは購入代金の支払いとして、電子決済を要求する。端末1の制御部11は店舗端末3へ決済要求を送信する。決済要求には、ユーザID、残高、サービスコード(必須ではない、以下同様。)が含まれている。店舗端末3の制御部31は要求を受信する(ステップS41)。制御部31はポーリングを行う(ステップS42)。ポーリングとして送信する信号には第1ユーザのユーザID、サービスコードが含まれている。制御部31はインターバルタイマを開始する(ステップS43)。制御部31は残高情報を受信したか否かを判定する(ステップS44)。制御部31は残高情報(検証情報)を受信していないと判定した場合(ステップS44でNO)、処理をステップS46へ移す。制御部31は残高情報を受信したと判定した場合(ステップS44でYES)、残高情報を補助記憶部13等に設けた一時記憶領域に記憶する(ステップS45)。制御部31はタイムアウトであるか否かを判定する(ステップS46)。制御部31はタイムアウトでないと判定した場合(ステップS46でNO)、処理をステップS44へ戻す。制御部31はタイムアウトであると判定した場合(ステップS46でYES)、インターバルタイマを停止する(ステップS47)。制御部31は一時記憶領域に記憶した端末2から回収した残高(以下、「回収残高」という。)と、端末1から取得した残高(以下、「申告残高」という。)とを対照し、申告残高が正当であるか否かを判定する(ステップS48)。判定方法については後述する。制御部31は判定結果に基づき決済を許可するか否かを判定する(ステップS49)。申告残高が正当であり、決済金額を上回っている場合、制御部31は許可と判定し、それ以外は許可しないと判定する。制御部31は決済を許可すると判定した場合(ステップS49でYES)、決済を行い(ステップS50)、処理を終了する。なお、決済を行う機器が、POSレジなど他の機器である場合は、当該機器へ決済指示を送信する。決済指示には決済情報(ユーザID、申告残高、決済金額、サービスコード等)を含める。制御部31は決済を許可しないと判定した場合(ステップS49でNO)、その旨のメッセージを表示パネル36に出力し(ステップS51)、処理を終了する。
【0041】
ステップS48で行う判定処理は、例えば以下の内容である。回収残高の値がすべて一致し、申告残高がその値に一致するか、その値未満の場合、申告残高は正当であると、制御部31は判定する。すべての回収残高の値が一致しないが、申告残高が回収残高の最低値以下である場合、申告残高は正当であると、制御部31は判定する。また、回収残高の値がすべて一致し、申告残高がその値を超えている場合、申告残高は不当であると、制御部31は判定する。すべての回収残高の値が一致せず、申告残高が回収残高の最低値を超えている場合、申告残高は不当であると、制御部31は判定する。さらに、回収できた回収残高の数が所定数より少ない場合、申告残高の値に関わらず、正当性の判断は不能であるとして、決済を許可しないとしてもよい。
【0042】
図11は残高返信処理の手順例を示すフローチャートである。残高返信処理は残高検証処理に対応する処理であり、ポーリングを受けた端末2が実行する処理である。端末2の制御部21は店舗端末3が送信したポーリング信号を受信する(ステップS61)。制御部21はポーリング信号に含まれるユーザIDを持つユーザの残高情報を保有しているか否か判定する(ステップS62)。制御部21は、受信したユーザIDをキーに、補助記憶部23に記憶している他人残高DB232を検索する。ポーリング信号にサービスコードが含まれている場合、制御部21は検索条件に受信したサービスコードを含める。検索にヒットした場合、制御部21は保有していると判定する。検索にヒットしなかった場合、制御部21は保有していないと判定する。検索にヒットした場合であっても、残高情報が更新された日時や残高情報を受信した日時が、所定時間以上過去、例えば、3日前よりも過去の場合、制御部21は保有していないと判定してもよい。制御部21はユーザの残高情報を保有していると判定した場合(ステップS62でYES)、保有している残高情報を店舗端末3へ送信し(ステップS63)、処理を終了する。制御部21はユーザの残高を保有していないと判定した場合(ステップS62でNO)、処理を終了する。
【0043】
災害時モードにおいて、第1ユーザが決済を許可された場合、決済後の第1ユーザの残高も、第2ユーザに配信される。すなわち、店舗端末3は、
図10の示した残高検証処理において、ステップS50を実行した後に、
図8に示した残高配信処理と同様な処理を実行する。それに対応して、
図9に示した残高受信処理が実行される。
【0044】
(すれ違いネットワーク)
第1ユーザの残高の正当性判定の信頼性を高めるためには、所定数以上の第2ユーザからの残高情報を得る必要がある。常連ネットワークは同じ店舗の常連をグループ化することにより、平常時に残高情報の配信を受ける確率を上げ、災害時に残高情報を返信できる確率を上げることを目指している。しかしながら、常連ネットワークだけでは、災害時に十分な数の第2ユーザから残高情報を回収できない場合も考えられる。そこで、常連ネットワークを補完するものとして、すれ違いネットワークを形成する。すれ違いネットワークは、残高検証システム100のユーザであれば、参加可能とするものである。
【0045】
図12は他人残高交換処理の手順例を示すフローチャートである。他人残高交換処理は残高検証システム100のユーザ間で他人の残高情報を交換する処理である。以下の説明では通信の契機を与えた端末をマスタ、マスタの通信相手の端末をスレーブと呼ぶ。説明の便宜上、マスタは端末1、スレーブは端末2とする。マスタの制御部11はポーリングを行う(ステップS71)。スレーブの制御部21はポーリング信号を受信する(ステップS72)。制御部21はマスタへ応答する(ステップS73)。制御部21は、応答の信号に、他人残高を保有しているか否かの情報を含める。マスタの制御部11は応答を受信する(ステップS74)。制御部11は他人残高情報を要求する否かを判定する(ステップS75)。制御部11はスレーブが他人残高情報を保有しているか否かを応答信号から判定する。制御部11は、スレーブが他人残高情報を保有していれば要求すると判定し、スレーブが他人残高情報を保有していなければ要求しないと判定する。制御部11は他人残高情報を要求しないと判定した場合(ステップS75でNO)、処理をステップS81へ進める。制御部11は他人残高情報を要求すると判定した場合(ステップS75でYES)、残高情報要求をスレーブへ送信する(ステップS76)。スレーブの制御部21は要求を受信する(ステップS77)。制御部21は他人残高DB232に記憶している他人残高情報をマスタへ送信する(ステップS78)。なお、送信する他人残高情報に自らの残高情報を含めることは許されない。マスタの制御部11は他人残高情報を受信する(ステップS79)。制御部11は他人残高情報を他人残高DB132に記憶する(ステップS80)。受信した他人残高情報に、既に他人残高DB132に記憶してあるユーザの残高情報が含まれている場合、制御部11は残高の日時を新しいものを残す。また、受信した他人残高情報を他人残高DB132に記憶する場合、受信日時を現在の値ではなく、受信した他人残高情報の受信日時を採用する。制御部11はスレーブから受信した他人残高情報以外の他人残高情報を保有しているか否かを判定する(ステップS81)。制御部11は受信した他人残高情報以外の他人残高情報を保有していると判定した場合(ステップS81でYES)、受信した他人残高情報以外の他人残高情報をスレーブへ送信する(ステップS82)。スレーブの制御部21は他人残高情報を受信する(ステップS83)。制御部21は他人残高情報を他人残高DB232に記憶し(ステップS84)、処理を終了する。記憶する他人残高情報の取捨はスレーブの場合と同様である。制御部11は受信した他人残高情報以外の他人残高情報を保有していないと判定した場合(ステップS81でNO)、その旨をスレーブへ送信する(ステップS85)。スレーブの制御部21は、マスタが他人残高情報を保有していない旨を受信した場合(ステップS86)、処理を終了する。
【0046】
端末はランダムな時間間隔で残高交換処理を行う。残高交換処理において、端末がマスタとなるかスレーブとなるかは、ポーリングを送信、又は、受信するタイミングによる。残高交換をしようとする端末が共にマスタ又はスレーブ状態では処理が行われないので、それをなるべく避けるため残高交換処理は、ランダムに実行することが望ましい。また、同じ端末の組み合わせで、繰り返し残高交換処理が行なわれないように、残高交換処理を行った履歴を、所定時間残しておき、直近に残高交換処理を行った端末同士では、再度、残高交換処理を行うことを抑止することが望ましい。
【0047】
すれ違いネットワークにより拡散された他人残高情報の信頼性と、常連ネットワークにより拡散された他人残高情報の信頼性とは、同等であると考えられる。したがって、すれ違いネットワークを運用する場合においても、災害時モードにおける残高検証処理、残高返信処理の内容は同様でよいと考えられる。
【0048】
災害時モードに切り替わった後に、各ユーザが最初に行う決済は、平常時モードで記憶された残高情報により検証するので、信頼性は高い。しかし、災害時モードでは信頼性下がる。災害時モードでは、決済システム4との通信はできないことから、ユーザが端末に記憶している残高の改ざんをしたとしても、発覚しにくいからである。さらに、第1ユーザが自らの残高を書き換え、書き換え後の残高をすれ違いネットワークにより拡散すれば、すれ違いネットワークからの残高情報により、当該第1ユーザの残高が正当であると、店舗端末3が判定してしまうおそれがある。そのような事態を避けるため、以下のようにする。端末1の他人残高DB132及び端末2の他人残高DB232において、残高情報の入手先列を設ける。入手先列には、他人残高の入手先として、店舗端末3であるか、他ユーザの端末であるかの入手先情報を記憶する。そして、残高返信処理において、端末2が店舗端末3へ送信する他人残高情報に、入手先情報を含める。店舗端末3が行う残高検証処理における判定において、第1ユーザの残高が正当であるか否かを判定する際、申告された残高が、入手先が他ユーザの端末とされている残高と一致又は差が小さく、入手先が店舗端末3とされている残高より大きい場合、残高が改ざんされたおそれがあるとして、決済は許可しないとする。このような仕組みを採用することにより、災害時モードに切り替わった後の2回目以降の決済であっても、残高検証システム100は的確に、ユーザ残高の正当性を判定することが可能となる。
【0049】
災害時モードには、すれ違いネットワークの運用を停止してもよい。すなわち、災害時モードでは、他人残高交換処理は実行しない。災害時モードでは、決済後のユーザの残高情報の配信は店舗端末3のみとする。それよって、ユーザが残高を改ざんし、改ざん結果をすれ違いネットワークで配信することにより、不正な残高を正当であるかのように偽装する行為を抑止することが可能となる。
【0050】
(モード切替)
残高検証システム100において、平常時モードから災害時モードへの切替を適切に行うことは重要である。平常時モードと災害時モードとでは、店舗端末3が行う電子決済処理が異なるからである。ユーザ等が手動にて適切にモードを切り替えることが望ましい。以下に、各機器が自律的にモードを切り替える動作について説明する。
【0051】
店舗端末3は、決済システム4との通信障害が発生した場合に、平常時モードから災害時モードへ切り替える。災害以外の理由で通信障害が発生する可能性があるので、発生後、更に所定時間(例えば1時間)を経過したときに、災害時モードに切り替えてもよい。
【0052】
災害時モードに切り替わっている店舗端末3が端末(端末1及び端末2)と通信する場合、店舗端末3は通信の冒頭で、端末のモードを問い合わせる。端末から平常時モードで動作していると返答があった場合、通信や決済を拒否する。また、店舗端末3からの指示により、端末のモードを強制的に災害時モードへ切り替えてもよい。なお、店舗端末3及び端末は、災害時モードに切り替わった日時(切替日時)を記憶するものとする。
【0053】
(その他の処理)
以上に説明した以外の処理について、説明する。
図13は削除処理の手順例を示すフローチャートである。削除処理は平常時モードにおいて、端末が行う処理である。削除処理は古い他人残高情報を削除する処理である。以下の説明では端末1が実行する場合について説明する。端末1の制御部11は他人残高DB132に記憶された1レコードを処理対象として選択する(ステップS91)。制御部11は選択したレコードの日時列の日時と現在日時とを対照し、選択したレコードが削除対象か否かを判定する(ステップS92)。選択したレコードの日時から、所定期間(例えば、半日から1日)以上経過している場合、制御部11は削除対象と判定する。選択したレコードの日時から、所定期間は経過していない場合、制御部11は削除対象でないと判定する。制御部11は、選択したレコードが削除対象ではないと判定した場合(ステップS92でNO)、処理をステップS94に進める。制御部11は、選択したレコードが削除対象であると判定した場合(ステップS92でYES)、選択したレコードを削除する(ステップS93)。制御部11は、未処理のレコードが有るか否かを判定する(ステップS94)。制御部11は、未処理のレコードが有ると判定した場合(ステップS94でYES)、処理をステップS91に戻し、未処理のレコードについての処理を行う。制御部11は、未処理のレコードがないと判定した場合(ステップS94でNO)、処理を終了する。削除対象とするか否かの判定は、日時列に記憶した日時をもとに行うとしたが、受信日時列に記憶した日時を用いてもよい。いずれか一方の日時のみを用いてもよいし、両方の日時を用いてもよい。なお、削除処理は1日1回など、所定タイミングで繰り返し実行される。
【0054】
図14は残高受信処理、又は、他人残高交換処理の一部の処理を示すフローチャートである。
図14に示す処理は、端末において、他人残高DB132、232のレコード数を抑制する目的で行なわれる処理である。
図14に示す処理を実行する場合、残高受信処理において、ステップS24とステップS25との間に実行する。また、他人残高交換処理において、ステップS79とステップS80との間、及び、ステップS83とステップS84との間に実行する。以下の説明では端末1が実行する場合を説明する。制御部11はステップS24でYESの場合、又は、ステップS79若しくはステップS83を実行後、容量オーバーであるか否かを判定する(ステップS101)。例えば、他人残高DB132には最大レコード数、最大記憶容量等が予め設定されている。制御部11は最大レコード数、最大記憶容量等を参照して、新たな他人残高情報を他人残高DB132に記憶可能か否かを判定する。新たな他人残高情報を他人残高DB132には記憶できない場合、制御部11は容量オーバーであると判定する。新たな他人残高情報を他人残高DB132には記憶できる場合、制御部11は容量オーバーでないと判定する。制御部11は容量オーバーであると判定した場合(ステップS101でYES)、他人残高DB132のレコードを残高列の値により、昇順にソートする(ステップS102)。制御部11は、他人残高DB132のレコードを削除するか否かを判定する(ステップS103)。制御部11は、記憶しようとしている他人残高情報の残高の値が、他人残高DB132における残高の最小値より小さいか否かを判定する。例えば、制御部11は、記憶しようとしている他人残高情報の残高の値が、他人残高DB132における残高の最大値より小さい場合、他人残高DB132のレコードを削除すると判定し、記憶しようとしている他人残高情報の残高の値が、他人残高DB132における残高の最大値を超えている場合、他人残高DB132のレコードを削除しないと判定する。制御部11は、他人残高DB132のレコードを削除すると判定した場合(ステップS103でYES)、他人残高DB132において、残高の最大値を持つレコードを削除する(ステップS104)。制御部11は、制御部11は容量オーバーでないと判定した場合(ステップS101でNO)、又は、他人残高DB132のレコードを削除しないと判定した場合(ステップS103でNO)、ステップS25、又は、ステップS80若しくはステップS84以降を実行する。なお、新たに記憶しようとしている他人残高情報のレコード数が複数の場合、制御部11はステップS103を繰り返し実行する。また、ステップS101では、新たに記憶するレコード数を加味した判定を、制御部11は行う。ステップS104にて、残高が最大値のレコードを削除するのは、残高が大きいほど、残高を超過した額の買い物をしてしまう可能性が高く、残高が小さいほど、残高を超過した額の買い物をしてしまう可能性が低いからである。
【0055】
(他人残高の暗号化)
端末2に記憶する第1ユーザの残高情報は、第2ユーザは参照できないよう、制御プログラム2Pは設計するが、秘匿性をためるために、第1ユーザの残高情報を暗号化して、他人残高DB232に記憶してもよい。例えば、暗号化に公開鍵暗号方式を用いる。残高配信処理において、店舗端末3の制御部31は、残高検証システム100の公開鍵を用いて、第1ユーザの残高情報を暗号化し、暗号化した残高情報を端末2に送信する。端末2の制御部21は暗号された残高情報を受信し、それを他人残高DB232に記憶する。なお、第1ユーザのユーザIDは暗号化の対象とはしない。残高返信処理において、制御部21は指定されたユーザIDと対応付けられ、暗号化された残高情報を他人残高DB232から読み出し、店舗端末3へ送信する。店舗端末3は残高検証処理において、残高検証システム100の秘密鍵を用いて、残高情報を復号する。
【0056】
本実施の形態は、以下の効果を奏する。ユーザは、災害発生直前の電子決済サービスにおける残高(チャージ残高、利用可能額)を、交換しておくことにより、災害発生後において、残高を互いに検証、保証することが可能になる。そして、ユーザは、決済システム4が機能していない状況においても、店舗端末3にて電子決済を受け、商品・サービスの購入が可能となる。一方、店舗においては、残高が正当であると保証されたユーザにのみ、電子決済にて、商品・サービスの代金決済を行う。それにより、決済システム4が復旧したのちに、決済金額を請求した場合に、ユーザの残高不足を理由に請求が拒否されるリスクを下げることが可能となる。店舗端末3にて電子決済を許可する否かの判定は、残高が不正に増えていないか否かのみの判定となるので、残高以外のデータ(取引履歴、年齢、職業などの与信データ)を用いて判定する場合と比べて、やり取りをするデータ量の削減、使用する電池量を削減することが可能となる。
【0057】
(復旧後の処理)
災害が復旧し、決済システム4の利用が可能となった場合の復旧処理について説明する。まず、復旧処理に用いるデータベースについて説明する。
図15は店舗端末が記憶する取引履歴DBの例を示す説明図である。取引履歴DB333は店舗端末3の補助記憶部33に記憶される。取引履歴DB333は災害時モードにおいて電子決済した履歴を記憶する。取引履歴DB333はサービスコード列、ユーザID列、日時列、申告残高列、保証残高列、結果列、及び、決済金額列を含む。サービスコード列は電子決済サービスを特定するコードやIDを記憶する。ユーザID列はユーザIDを記憶する。日時列は決済した日時を記憶する。申告残高列は決済実行前にユーザから受信したユーザの残高を記憶する。保証残高列は残高検証処理により判定したユーザの残高を記憶する。結果列は決済可否の判定結果を記憶する。決済金額列は決済金額を記憶する。決済を不許可とした場合、決済金額列の値はNULLや0とする。
【0058】
図16は端末が記憶する取引履歴DBの例を示す説明図である。取引履歴DB134は端末1の補助記憶部13に記憶される。取引履歴DB134は災害時モードにおいて電子決済した履歴を記憶する。取引履歴DB134と同様な取引履歴DB234が端末2の補助記憶部23にも記憶される。取引履歴DB134は店舗ID列、サービスコード列、日時列、申告残高列、結果列、決済金額列及び残高列を含む。店舗ID列は決済した店舗を一意に特定可能な店舗IDを記憶する。サービスコード列は電子決済サービスを特定するコードやIDを記憶する。日時列は決済した日時を記憶する。申告残高列は決済実行前に店舗端末3へ送信した残高を記憶する。結果列は決済可否の結果を記憶する。決済金額列は決済金額を記憶する。決済を不許可とした場合、決済金額列の値はNULLや0とする。残高列は決済後の金額を記憶する。
【0059】
取引履歴DB333、取引履歴DB134は、災害時モードに切り替わった後にレコードが追加され、災害時モードが終了するとレコードの追加が停止する。取引履歴DB333、取引履歴DB134とは別に、平常時モードに使用される取引履歴DBを端末1及び端末2並びに店舗端末3は有している。災害時モードでの取引履歴は、取引履歴DB333、取引履歴DB134のみ記憶し、復旧後に、平常時モードに使用される取引履歴DBに転送してよいし、取引履歴DB333、取引履歴DB134と平常時モードに使用される取引履歴DBとで二重に記憶してもよい。
【0060】
図17は復旧処理の手順例を示すフローチャートである。決済システム4は店舗端末3に対して、災害時モードであった期間中の取引履歴を要求する(ステップS111)。店舗端末3の制御部31は要求を受信する(ステップS112)。制御部31は取引履歴DB333に記憶した取引履歴を決済システム4へ送信する(ステップS113)。決済システム4は取引履歴を受信する(ステップS114)。決済システム4は受信した取引履歴を記憶する(ステップS115)。決済システム4はすべての店舗端末3からの取引履歴の受信が完了したか否かを判定する(ステップS116)。決済システム4は取引履歴の受信が完了していないと判定した場合(ステップS116でNO)、処理をステップS114に戻す。決済システム4は取引履歴の受信が完了したと判定した場合(ステップS116でYES)、記憶した取引履歴に含まれるユーザを抽出する(ステップS117)。決済システム4は、抽出したユーザの端末1へ取引履歴の要求を行う(ステップS118)。ここでは、ユーザの端末を端末1で代表させている。端末1の制御部11は要求を受信する(ステップS119)。制御部11は取引履歴DB134に記憶した取引履歴を決済システム4へ送信する(ステップS120)。決済システム4は取引履歴を受信する(ステップS121)。決済システム4は受信した取引履歴を記憶する(ステップS122)。決済システム4はS117で抽出したすべてユーザの端末1からの取引履歴の受信が完了したか否かを判定する(ステップS123)。決済システム4は取引履歴の受信が完了していないと判定した場合(ステップS123でNO)、処理をステップS121に戻す。決済システム4は取引履歴の受信が完了したと判定した場合(ステップS123でYES)、店舗端末3から受信した取引履歴と、端末1から受信した取引履歴とが、整合しているか否かの検証を行う(ステップS124)。決済システム4は整合の確認が取れた取引履歴についての決済を実行する(ステップS125)。決済システム4は店舗端末3と端末1へ結果を送信する(ステップS126)。店舗端末3の制御部31は結果を受信する(ステップS127)。制御部31は動作モードを平常時モードに戻し(ステップS128)、処理を終了する。端末1の制御部11は結果を受信する(ステップS129)。制御部11は動作モードを平常時モードに戻し(ステップS130)、処理を終了する。決済システム4から送信する結果には、決済した取引の合計金額や、データ不整合のために決済しなかった取引履歴を含めてもよい。また、決済しなかった取引履歴について、損害保険で補填する場合、当該取引履歴情報を、決済システム4が損害保険会社に送付してもよい。
【0061】
残高検証システム100は、決済が行なわれる毎に、第1ユーザの残高が減っていくことを利用して、第1ユーザから申告された残高が、第2ユーザが記憶する第1ユーザの残高よりも上回っているか否かにより、残高の検証を行う。そのため、災害時モードにおいては、プリペイド型の電子決済サービスでは、残高を増加させるチャージ機能は無効とする。
【0062】
なお、チャージ機能を有効とする場合は、一度にチャージできる最大額をなるべく小さな額とするのが望ましい。そして、申告残高の正当性の判定において、申告残高が比較対象とする回収残高の値を超えていたとしても、チャージできる最大額を加味して、その幅が小さいとみなせる場合は、残高は正当であると判定し、決済を許可してもよい。残高が配信された後に、チャージによりチャージ残高が増加、又は、利用可能額が増加することも有るからである。
【0063】
(自動販売機での利用)
残高検証システム100は、電子決済を行う自動販売機でも構成可能である。上述の実施の形態において、店舗端末3が行う残高配信処理、残高検証処理を自動販売機が行う。ただし、自動販売機は店舗と比較して不特定多数が利用すると考えられるため、残高配信処理では、常連であるか否かの判定は行なわない。自動販売機は相手先を限定せずに、残高情報を配信する。
【0064】
(すれ違いネットワークの拡張)
上述のすれ違いネットワークでは、ユーザの端末間で残高情報の交換を行ったが、より多くのユーザが残高を共有し合えるように、仲介する機器を採用する。例えば、交通信号機、又は、電柱等に、通信機を取り付け、残高情報の配信、検証を行う。通信機は
図12に示した他人残高交換処理を、マスタとして、又は、スレーブとして、端末と行う。なお、通信機は自らの残高情報を持たない前提であるから、保有する残高情報を全て他人残高情報として端末へ送信する。
【0065】
図18は通信機のハードウェア構成例を示すブロック図である。通信機5は制御部51、主記憶部52、補助記憶部53、通信部54及び近距離通信部55を含む。各部はバスBにより接続されている。
【0066】
制御部51は、一又は複数のCPU、MPU、GPU等の演算処理装置を有する。制御部51は、補助記憶部53に記憶された制御プログラム5P(プログラム、プログラム製品)を読み出して実行することにより、種々の情報処理、制御処理等を行い、各種の機能部を実現する。
【0067】
主記憶部52は、SRAM、DRAM、フラッシュメモリ等である。主記憶部52は主として制御部51が演算処理を実行するために必要なデータを一時的に記憶する。
【0068】
補助記憶部53はハードディスク又はSSD等であり、制御部51が処理を実行するために必要な制御プログラム5Pや各種DBを記憶する。補助記憶部53は、残高DB531を記憶する。残高DB531のレコードレイアウトは第1端末1が備える他人残高DB132と同様である。補助記憶部53は通信機5と別体であって、外部接続された外部記憶装置であってもよい。
【0069】
通信部54はネットワークNを介して、店舗端末3等と通信を行う。制御部51が通信部54を用い、ネットワークN等を介して他のコンピュータから制御プログラム5Pをダウンロードし、補助記憶部53に記憶してもよい。
【0070】
近距離通信部55は、NFC規格、Bluetooth(登録商標)規格、赤外線通信規格、WiFi(登録商標)規格などにしたがった通信を行う。制御部51は近距離通信部55を介して、端末とP2Pの通信を行う。
【0071】
図19は残高交換処理の手順例を示すフローチャートである。
図19において、端末は第1端末1でも第2端末2でもよいが、以下の説明では第1端末1であるとして説明する。通信機5の制御部51はポーリングを行う(ステップS141)。第1端末1の制御部11はポーリング信号を受信する(ステップS142)。制御部11は通信機5へ応答する(ステップS143)。制御部11は、応答信号に、他人残高を保有しているか否かの情報を含める。通信機5の制御部51は応答を受信する(ステップS144)。制御部51は他人残高情報を要求する否かを判定する(ステップS145)。制御部51は第1端末1が他人残高情報を保有しているか否かを応答信号から判定する。制御部11は、応答信号が他人残高情報の保有を示していれば要求すると判定し、応答信号が他人残高情報を保有していないことを示していれば要求しないと判定する。制御部51は他人残高情報を要求しないと判定した場合(ステップS145でNO)、処理をステップS152へ進める。制御部51は他人残高情報を要求すると判定した場合(ステップS145でYES)、残高情報要求を第1端末1へ送信する(ステップS146)。第1端末1の制御部11は要求を受信する(ステップS147)。制御部11は他人残高DB132に記憶している他人残高情報を通信機5へ送信する(ステップS148)。なお、送信する他人残高情報に自らの残高情報を含めることは許されない。通信機5の制御部51は他人残高情報を受信する(ステップS149)。制御部51は受信した他人残高情報と、残高DB531に記憶してある残高情報とをユーザIDを用いて対照し、古い方の残高情報を破棄する(ステップS150)。制御部51は他人残高情報を残高DB531に記憶する(ステップS151)。受信した残高情報を残高DB532に記憶する場合、受信日時を現在の値ではなく、受信した残高情報の受信日時を採用する。制御部51は第1端末1へ送信すべき残高情報を保有しているか否かを判定する(ステップS152)。制御部51は第1端末1から受信した他人残高情報以外の残高情報、又は、受信した他人残高情報よりも新しい残高情報が1つでもあれば、送信すべき残高情報を保有していると判定する。制御部51は送信すべき残高情報を保有していると判定した場合(ステップS152でYES)、送信すべき残高情報を選択する(ステップS153)。制御部51は選択した残高情報を第1端末1へ送信する(ステップS154)。第1端末1の制御部11は他人残高情報を受信する(ステップS155)。第1端末1の制御部11は他人残高情報を他人残高DB132に記憶し(ステップS156)、処理を終了する。制御部51は送信すべき残高情報を保有していないと判定した場合(ステップS152でNO)、その旨を第1端末1へ送信する(ステップS157)。第1端末1の制御部11は、通信機5が他人送信すべき残高情報を保有していない旨を受信し(ステップS158)、処理を終了する。なお、通信機5は店舗端末3から、エンドユーザの残高情報を受信し、残高DB531に記憶してもよい。
【0072】
図20は残高検証処理の他の手順例を示すフローチャートである。当該残高検証処理は、
図10に示した処理と同様に、災害時モードにおいて行なわれる処理である。店舗に来店した第1ユーザは購入代金の支払いとして、電子決済を要求する。端末1の制御部11は店舗端末3へ決済要求を送信する。決済要求には、ユーザID、残高、サービスコード(必須ではない、以下同様。)が含まれている。店舗端末3の制御部31は要求を受信する(ステップS171)。制御部31は検証要求を通信機5へ送信する(ステップS172)。検証要求には少なくともユーザID、残高が含まれている。通信機5の制御部51は検証要求を受信する(ステップS173)。制御部51はポーリングを行う(ステップS174)。ポーリングとして送信する信号には第1ユーザのユーザID、サービスコードが含まれている。制御部51はインターバルタイマを開始する(ステップS175)。制御部51は残高情報を受信したか否かを判定する(ステップS176)。制御部51は残高情報を受信していないと判定した場合(ステップS176でNO)、処理をステップS178へ移す。制御部51は残高情報を受信したと判定した場合(ステップS176でYES)、残高情報を補助記憶部53等に設けた一時記憶領域に記憶する(ステップS177)。制御部51はタイムアウトであるか否かを判定する(ステップS178)。制御部51はタイムアウトでないと判定した場合(ステップS178でNO)、処理をステップS176へ戻す。制御部51はタイムアウトであると判定した場合(ステップS178でYES)、インターバルタイマを停止する(ステップS179)。制御部51は一時記憶領域に記憶した回収残高と、申告残高とを対照し、申告残高が正当であるか否か、決済を許可するか否かを判定する(ステップS180)。判定方法は上述した方法と同様である。制御部51は申告残高が正当であり、決済金額を上回っている場合、制御部51は許可と判定し、それ以外は許可しないと判定する。制御部51は判定結果を店舗端末3へ送信する(ステップS181)。店舗端末3の制御部31は判定結果を受信する(ステップS182)。制御部31は判定結果が許可であるか否かを判定する(ステップS183)。制御部31は判定結果が許可であると判定した場合(ステップS183でYES)、決済を行い(ステップS184)、処理を終了する。なお、決済を行う機器が、POSレジなど他の機器である場合は、当該機器へ決済指示を送信する。決済指示には決済情報(ユーザID、申告残高、決済金額、サービスコード等)を含める。制御部31は判定結果が許可しないであると判定した場合(ステップS183でNO)、その旨のメッセージを表示パネル36に出力し(ステップS185)、処理を終了する。
【0073】
(常連ネットワークの広域化)
上述において、常連ネットワークを利用した残高情報の配信、検証情報の回収は、店舗端末3が近距離無線通信で行うため、配信及び回収可能な地理的範囲が限定される。そこで、店舗端末3以外の端末の利用することにより、範囲の広域化を行う。例えば、上述した通信機5を交通信号機、又は、電柱等に取り付け、残高情報の配信、検証情報の回収を行ってもよい。通信機5が取り付け対象となるのは、人通りがある場所に設置され、電源供給が容易な設置物である。当該通信機5は、店舗端末3、並びに第1端末1及び第2端末2(ユーザ端末)と通信可能である。通信機5と店舗端末3との通信は、有線又は無線のいずれでも構わないが、データの改ざんを防ぐため、暗号化通信することが望ましい。また、通信機5と第1端末1及び第2端末2との通信は、暗号化された近距離無線通信を想定するが、それに限らない。
【0074】
通信機5の動作について説明する。
図8に示した残高配信処理において、店舗端末3は通信機5へ、残高情報(残高、第1ユーザのユーザID、及び、残高の更新日時)を送信し、配信依頼を行う。通信機5は残高情報の配信を行う。このとき、
図8と同様にポーリングを行い、常連ユーザにのみに残高情報を配信してもよいが、そのためには、店舗端末3が備える常連DB331を通信機が備える必要がある。又は、通信機5は、応答したユーザが常連ユーザであるか否かを店舗端末3へ問い合わせすることが必要となる。通信機5の記憶容量を節約し、又は、通信機5と店舗端末3との通信量を減らすために、配信先を常連ユーザの端末に限らなくともよい。そのようなとき、通信機5は相手先を限定せずに、残高情報を配信する。また、通信機5は、所定時間が経過するまで、繰り返し配信を行ってもよい。
【0075】
各実施の形態で記載されている技術的特徴(構成要件)はお互いに組み合わせ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0076】
以上の実施の形態に関し、さらに以下の付記を開示する。
【0077】
(付記13)
ユーザ端末、及び、該ユーザ端末と通信可能な端末、と通信可能なコンピュータが、
第1ユーザを特定するための識別情報、残高、及び、日時を含む検証情報を前記第1ユーザの端末装置から取得し、
取得した検証情報を前記第1ユーザとは異なる他の複数のユーザの端末装置へ出力し、
前記第1ユーザの決済時に前記第1ユーザの端末装置から新たに取得した検証情報、及び、他の複数のユーザの端末装置から近距離無線通信により取得した検証情報に基づき、決済を許可するか否かを判定する
処理を行うことを特徴とする情報処理方法。
【0078】
(付記14)
施設に設けられた決済端末と、決済を行うサーバとの間の通信障害が生じている場合に、判定処理を行う
ことを特徴とする付記13に記載の情報処理方法。
【符号の説明】
【0079】
100 残高検証システム
1 第1端末、端末
11 制御部
12 主記憶部
13 補助記憶部
131 残高DB
132 他人残高DB
133 ユーザID
134 取引履歴DB
14 通信部
15 近距離通信部
16 表示パネル
17 操作部
1P 制御プログラム
2 第2端末、端末
21 制御部
22 主記憶部
23 補助記憶部
231 残高DB
232 他人残高DB
233 ユーザID
234 取引履歴DB
24 通信部
25 近距離通信部
26 表示パネル
27 操作部
2P 制御プログラム
3 店舗端末
31 制御部
32 主記憶部
33 補助記憶部
331 常連DB
332 残高DB
333 取引履歴DB
34 通信部
35 近距離通信部
36 表示パネル
37 操作部
3P 制御プログラム
4 決済システム
5 通信機
51 制御部
52 主記憶部
53 補助記憶部
531 残高DB
532 残高DB
54 通信部
55 近距離通信部
5P 制御プログラム
B バス
N ネットワーク