Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7744854B2 - Information processing method, computer program, and information processing device - Google Patents
[go: Go Back, main page]

JP7744854B2 - Information processing method, computer program, and information processing device - Google Patents

Information processing method, computer program, and information processing device

Info

Publication number
JP7744854B2
JP7744854B2 JP2022034633A JP2022034633A JP7744854B2 JP 7744854 B2 JP7744854 B2 JP 7744854B2 JP 2022034633 A JP2022034633 A JP 2022034633A JP 2022034633 A JP2022034633 A JP 2022034633A JP 7744854 B2 JP7744854 B2 JP 7744854B2
Authority
JP
Japan
Prior art keywords
balance
user
terminal
payment
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022034633A
Other languages
Japanese (ja)
Other versions
JP2023130136A (en
Inventor
祐也 松下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Research Institute Ltd
Original Assignee
Japan Research Institute Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Research Institute Ltd filed Critical Japan Research Institute Ltd
Priority to JP2022034633A priority Critical patent/JP7744854B2/en
Publication of JP2023130136A publication Critical patent/JP2023130136A/en
Application granted granted Critical
Publication of JP7744854B2 publication Critical patent/JP7744854B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

本発明は、電子決済システムに係る情報処理方法等に関する。 The present invention relates to an information processing method, etc., related to an electronic payment system.

商品やサービスの購入代金を電子的なデータ送信で決済する電子決済システムが普及している。電子決済システムにおいて、ユーザが用いる決済手段では残高が改ざんされる危険性がある。この対策として、オンラインでリアルタイムに正当性を確認する技術が提案されている。 Electronic payment systems, which allow users to pay for goods and services via electronic data transmission, are becoming increasingly common. However, there is a risk that the balances of users' payment methods may be tampered with. To address this issue, technology has been proposed that verifies authenticity online in real time.

決済時にリアルタイムでサーバとの通信を必要とするシステムは、店舗等でのオフライン決済には適用できないため、リアルタイムでのチェックを必要とせず、電子マネーの正当な利用を保証できる決済装置等が提案されている(特許文献1)。特許文献1に記載の決済装置は、決済の度に、現在のハッシュ値、及び決済のトランザクションから生成されるデータに基づいて、現在のハッシュ値を新たな値に更新し、現在のハッシュ値に対して秘密鍵によって署名を行う。また、決済装置はハッシュ値の署名を生成する署名部と、秘密鍵及びハッシュ値の署名を保護するセキュアエレメントとを備えている。 Since systems that require real-time communication with a server at the time of payment cannot be applied to offline payments at stores, etc., payment devices have been proposed that do not require real-time checks and can guarantee the legitimate use of electronic money (Patent Document 1). The payment device described in Patent Document 1 updates the current hash value to a new value based on the current hash value and data generated from the payment transaction each time a payment is made, and signs the current hash value using a private key. The payment device also has a signature unit that generates a signature for the hash value, and a secure element that protects the private key and the signature of the hash value.

特開2016-139291号公報Japanese Patent Application Laid-Open No. 2016-139291

しかしながら、上記決済装置はオフライン時には自身が保有する残高に基づいて決済を行う。そのため、残高の保証は決済装置のみで行なわれており、残高の正確性が十分に担保できているとは言い難い。本発明はこのような状況に鑑みてなされたものである。その目的は、複数ユーザの端末に記憶した検証情報により、残高の正確性を担保可能とする情報処理方法等の提供である。 However, when the payment device is offline, it makes payments based on its own balance. As a result, the balance is guaranteed solely by the payment device, and it is difficult to say that the accuracy of the balance is fully guaranteed. The present invention was made in light of this situation. Its purpose is to provide an information processing method etc. that can guarantee the accuracy of balances using verification information stored on the terminals of multiple users.

本願に開示する情報処理方法は、施設に設けられた決済端末と通信可能なコンピュータが、第1ユーザを特定するための識別情報、残高、及び、日時を含む検証情報を前記第1ユーザの端末装置から取得し、取得した検証情報を前記第1ユーザとは異なる他の複数のユーザの端末装置へ出力し、前記第1ユーザの決済時に前記第1ユーザの端末装置から新たに取得した検証情報、及び、他の複数のユーザの端末装置から近距離無線通信により取得した検証情報に基づき、決済を許可するか否かを判定する処理を行うことを特徴とする。 The information processing method disclosed in this application is characterized in that a computer capable of communicating with a payment terminal installed in a facility acquires verification information, including identification information for identifying a first user, a balance, and a date and time, from the first user's terminal device, outputs the acquired verification information to terminal devices of multiple other users different from the first user, and determines whether to allow the payment based on the verification information newly acquired from the first user's terminal device at the time of the first user's payment and the verification information acquired via short-range wireless communication from the terminal devices of the multiple other users.

本発明の一観点によれば、残高の正確性が担保可能となる。 One aspect of the present invention is that balance accuracy can be guaranteed.

残高検証システムの構成例を示す説明図である。FIG. 1 is an explanatory diagram illustrating an example of the configuration of a balance verification system. 第1端末のハードウェア構成例を示すブロック図である。FIG. 2 is a block diagram illustrating an example of a hardware configuration of a first terminal. 店舗端末のハードウェア構成例を示すブロック図である。FIG. 2 is a block diagram showing an example of the hardware configuration of a store terminal. 残高DBの例を示す説明図である。FIG. 10 is an explanatory diagram illustrating an example of a balance DB. 他人残高DBの例を示す説明図である。FIG. 10 is an explanatory diagram illustrating an example of a balance DB of other users. 常連DBの例を示す説明図である。FIG. 10 is an explanatory diagram illustrating an example of a regular customer DB. 残高DBの例を示す説明図である。FIG. 10 is an explanatory diagram illustrating an example of a balance DB. 残高配信処理の手順例を示すフローチャートである。10 is a flowchart illustrating an example of a procedure for a balance distribution process. 残高受信処理の手順例を示すフローチャートである。10 is a flowchart illustrating an example of a procedure for a balance receiving process. 残高検証処理の手順例を示すフローチャートである。10 is a flowchart illustrating an example of a procedure for a balance verification process. 残高返信処理の手順例を示すフローチャートである。10 is a flowchart illustrating an example of a procedure for a balance return process. 他人残高交換処理の手順例を示すフローチャートである。10 is a flowchart showing an example of a procedure for exchanging someone else's balance. 削除処理の手順例を示すフローチャートである。10 is a flowchart illustrating an example of a procedure for a deletion process. 残高受信処理、又は、他人残高交換処理の一部の処理を示すフローチャートである。10 is a flowchart showing a part of a balance receiving process or a balance exchanging process with another person. 店舗端末が記憶する取引履歴DBの例を示す説明図である。FIG. 2 is an explanatory diagram showing an example of a transaction history DB stored in a store terminal. 端末が記憶する取引履歴DBの例を示す説明図である。FIG. 2 is an explanatory diagram showing an example of a transaction history DB stored in the terminal. 復旧処理の手順例を示すフローチャートである。10 is a flowchart illustrating an example of a recovery process procedure. 通信機のハードウェア構成例を示すブロック図である。FIG. 2 is a block diagram illustrating an example of a hardware configuration of a communication device. 残高交換処理の手順例を示すフローチャートである。10 is a flowchart illustrating an example of a procedure for a balance exchange process. 残高検証処理の他の手順例を示すフローチャートである。10 is a flowchart illustrating another example of the procedure of the balance verification process.

以下実施の形態を、図面を参照して説明する。図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台以上でもよい。 Embodiments will be described below with reference to the drawings. Figure 1 is an explanatory diagram showing an example configuration of a balance verification system. The balance verification system 100 includes a first terminal 1, a second terminal 2, a store terminal 3, and a payment system 4. The first terminal 1, the second terminal 2, the store terminal 3, and the payment system 4 are communicatively connected via a network N. The first terminal 1 and the second terminal 2 can communicate with each other via short-range communication. Similarly, the first terminal 1 and the second terminal 2 can communicate with the store terminal 3 via short-range communication. In Figure 1, only one first terminal 1 is shown, but two or more terminals are possible. Only two second terminals 2 are shown, but three or more are preferable. One second terminal 2 is possible, but this is less preferred. Only one store terminal 3 is shown, but two or more terminals are possible.

第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としても機能することもあり得る。 The first terminal 1 is a terminal device used by a first user who is attempting to electronically pay for goods or other items at a store. The first terminal 1 may be a smartphone, tablet computer, laptop PC (Personal Computer), etc. The second terminal 2 is a terminal device used by a second user other than the first user. The second terminal 2 may be a smartphone, tablet computer, laptop PC, etc. Both the first user and the second user are users who use the balance verification system 100, and the distinction between first and second users is not fixed. Each user is a first user when attempting to electronically pay for goods or other items, and a second user in other situations. When the user is the first user, the terminal functions as the first terminal 1. When the user is the second user, the terminal functions as the second terminal. Therefore, the same terminal can function as both the first terminal 1 and the second terminal 2. Furthermore, it is possible for one terminal to function as both the first terminal 1 and the second terminal 2 simultaneously.

店舗端末3は店舗(施設)の店員が使用する端末である。店舗端末3はスマートフォン、タブレットコンピュータ、ノートPC(Personal Computer)等で構成する。店舗端末3は商品の登録、商品代金の合計金額の計算等の機能を有し、決済システム4と通信し、電子決済を実行してもよい。この場合、店舗端末3は決済端末として機能する。また、店舗端末3をいわゆるPOS(Point Of Sales)レジ(キャッシュレジスタ、金銭登録機)で構成してもよい。災害発生後、停電している状況においても使用可能である観点から、店舗端末3はバッテリ駆動が可能な機器で構成することが望ましい。決済システム4は電子決済サービスを提供するシステムである。 Store terminal 3 is a terminal used by store (facility) staff. Store terminal 3 may be configured as a smartphone, tablet computer, laptop (Personal Computer), etc. Store terminal 3 has functions such as registering products and calculating the total price of products, and may communicate with payment system 4 to perform electronic payments. In this case, store terminal 3 functions as a payment terminal. Store terminal 3 may also be configured as a so-called POS (Point of Sales) cash register (cash register). From the perspective of being usable even in situations such as a power outage after a disaster, it is desirable for store terminal 3 to be configured as a battery-powered device. Payment system 4 is a system that provides electronic payment services.

図2は第1端末のハードウェア構成例を示すブロック図である。第1端末1は制御部11、主記憶部12、補助記憶部13、通信部14、近距離通信部15、表示パネル16及び操作部17を含む。各部はバスBにより接続されている。 Figure 2 is a block diagram showing an example of the hardware configuration of the first terminal 1. The first terminal 1 includes a control unit 11, a main memory unit 12, an auxiliary memory unit 13, a communication unit 14, a short-range communication unit 15, a display panel 16, and an operation unit 17. Each unit is connected by a bus B.

制御部11は、一又は複数のCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を有する。制御部11は、補助記憶部13に記憶された制御プログラム1P(プログラム、プログラム製品)を読み出して実行することにより、第1端末1に係る種々の情報処理、制御処理等を行い、各種の機能部を実現する。 The control unit 11 has one or more arithmetic processing devices such as a CPU (Central Processing Unit), MPU (Micro-Processing Unit), GPU (Graphics Processing Unit), etc. The control unit 11 reads and executes a control program 1P (program, program product) stored in the auxiliary storage unit 13, thereby performing various information processing, control processing, etc. related to the first terminal 1 and realizing various functional units.

主記憶部12は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等である。主記憶部12は主として制御部11が演算処理を実行するために必要なデータを一時的に記憶する。 The main memory unit 12 is a static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, etc. The main memory unit 12 mainly temporarily stores data required by the control unit 11 to perform arithmetic processing.

補助記憶部13はハードディスク又はSSD(Solid State Drive)等であり、制御部11が処理を実行するために必要な制御プログラム1Pや各種DB(Database)を記憶する。補助記憶部13は、残高DB131及び他人残高DB132並びにユーザID133を記憶する。ユーザID133(識別情報)は端末1を使用している第1ユーザが、残高検証システム100から付与されたユニークID(識別情報)である。補助記憶部13は第1端末1と別体であって、外部接続された外部記憶装置であってもよい。 The auxiliary memory unit 13 is a hard disk or SSD (Solid State Drive), etc., and stores the control program 1P and various DBs (Databases) required for the control unit 11 to execute processing. The auxiliary memory unit 13 stores a balance DB 131, a third party balance DB 132, and a user ID 133. The user ID 133 (identification information) is a unique ID (identification information) assigned by the balance verification system 100 to the first user using the terminal 1. The auxiliary memory unit 13 may be separate from the first terminal 1 and may be an external storage device connected externally.

通信部14はネットワークNを介して、決済システム4と通信を行う。制御部11が通信部14を用い、ネットワークN等を介して他のコンピュータから制御プログラム1Pをダウンロードし、補助記憶部13に記憶してもよい。 The communication unit 14 communicates with the payment system 4 via the network N. The control unit 11 may use the communication unit 14 to download the control program 1P from another computer via the network N, etc., and store it in the auxiliary memory unit 13.

近距離通信部15は、NFC(Near Field Communication)規格、Bluetooth(登録商標)規格、赤外線通信(IrDA(Infrared Data Association))規格、WiFi(登録商標)規格などにしたがった通信を行う。制御部11は近距離通信部15を介して、端末とP2P(Peer to Peer)の通信を行う。 The short-range communication unit 15 communicates in accordance with standards such as the NFC (Near Field Communication) standard, the Bluetooth (registered trademark) standard, the IrDA (Infrared Data Association) standard, and the Wi-Fi (registered trademark) standard. The control unit 11 communicates with the terminal via the short-range communication unit 15 via P2P (Peer to Peer) communication.

表示パネル16は、液晶パネル又は有機EL(Electro Luminescence)ディスプレイ等で構成することができる。操作部17は、例えば、表示パネル16に組み込まれたタッチパネルで構成することができ、ユーザが表示パネル16上で行う所定の操作を行うことができる。また、操作部17は、表示パネル16に表示したソフトウェアキ-ボード上の操作を行うことができる。なお、操作部17は、ハードウェアキーボード、マウスなどでもよい。 The display panel 16 can be configured as a liquid crystal panel or an organic EL (Electro Luminescence) display, etc. The operation unit 17 can be configured as, for example, a touch panel incorporated into the display panel 16, and allows the user to perform predetermined operations on the display panel 16. The operation unit 17 can also be used to perform operations on a software keyboard displayed on the display panel 16. The operation unit 17 may also be a hardware keyboard, mouse, etc.

第2端末2は第1端末1と同様の構成を有し、制御部21、主記憶部22、補助記憶部23、通信部24、近距離通信部25、表示パネル26及び操作部27を含む。第2端末2を構成する各部の機能は、第1端末1の対応する各部と同様であるから、図示及び説明を省略する。なお、以下の説明において、第1端末を端末1ともいい、第2端末を端末2ともいう。また、第1端末1と第2端末2とをまとめて端末ともいう。 The second terminal 2 has the same configuration as the first terminal 1, and includes a control unit 21, a main memory unit 22, an auxiliary memory unit 23, a communication unit 24, a short-range communication unit 25, a display panel 26, and an operation unit 27. The functions of each unit constituting the second terminal 2 are the same as those of the corresponding units of the first terminal 1, so illustrations and explanations are omitted. In the following explanation, the first terminal will also be referred to as terminal 1, and the second terminal will also be referred to as terminal 2. Furthermore, the first terminal 1 and second terminal 2 will collectively be referred to as terminals.

図3は店舗端末のハードウェア構成例を示すブロック図である。店舗端末3は制御部31、主記憶部32、補助記憶部33、通信部34、近距離通信部35、表示パネル36及び操作部37を含む。各部はバスBにより接続されている。 Figure 3 is a block diagram showing an example of the hardware configuration of a store terminal. The store terminal 3 includes a control unit 31, a main memory unit 32, an auxiliary memory unit 33, a communication unit 34, a short-range communication unit 35, a display panel 36, and an operation unit 37. Each unit is connected by a bus B.

制御部31は、一又は複数のCPU、MPU、GPU等の演算処理装置を有する。制御部31は、補助記憶部33に記憶された制御プログラム3P(プログラム、プログラム製品)を読み出して実行することにより、店舗端末3に係る種々の情報処理、制御処理等を行い、取得部、出力部、判定部等の各種機能部を実現する。 The control unit 31 has one or more processing units such as a CPU, MPU, GPU, etc. The control unit 31 reads and executes the control program 3P (program, program product) stored in the auxiliary storage unit 33, thereby performing various information processing, control processing, etc. related to the store terminal 3 and realizing various functional units such as an acquisition unit, output unit, and judgment unit.

主記憶部32は、SRAM、DRAM、フラッシュメモリ等である。主記憶部32は主として制御部11が演算処理を実行するために必要なデータを一時的に記憶する。 The main memory unit 32 is an SRAM, DRAM, flash memory, etc. The main memory unit 32 mainly temporarily stores data required by the control unit 11 to perform arithmetic processing.

補助記憶部33はハードディスク又はSSD等であり、制御部31が処理を実行するために必要な制御プログラム3Pや各種DBを記憶する。補助記憶部33は、常連DB331及び残高DB332を記憶する。補助記憶部33は店舗端末3と別体であって、外部接続された外部記憶装置であってもよい。 The auxiliary memory unit 33 is a hard disk or SSD, etc., and stores the control program 3P and various DBs required for the control unit 31 to execute processing. The auxiliary memory unit 33 stores a regular customer DB 331 and a balance DB 332. The auxiliary memory unit 33 may be separate from the store terminal 3 and may be an external storage device connected externally.

通信部34はネットワークNを介して、決済システム4と通信を行う。制御部31が通信部34を用い、ネットワークN等を介して他のコンピュータから制御プログラム3Pをダウンロードし、補助記憶部33に記憶してもよい。 The communication unit 34 communicates with the payment system 4 via the network N. The control unit 31 may use the communication unit 34 to download the control program 3P from another computer via the network N, etc., and store it in the auxiliary memory unit 33.

近距離通信部35は、NFC規格、Bluetooth(登録商標)規格、赤外線通信規格、WiFi規格などにしたがった通信を行う。 The short-range communication unit 35 communicates in accordance with the NFC standard, Bluetooth (registered trademark) standard, infrared communication standard, Wi-Fi standard, etc.

表示パネル36は、液晶パネル又は有機ELディスプレイ等で構成することができる。操作部37は、例えば、表示パネル36に組み込まれたタッチパネルで構成することができ、ユーザが表示パネル36上で行う所定の操作を行うことができる。また、操作部37は、表示パネル36に表示したソフトウェアキ-ボード上の操作を行うことができる。なお、操作部37は、ハードウェアキーボード、マウスなどでもよい。 The display panel 36 can be configured as a liquid crystal panel or an organic EL display, etc. The operation unit 37 can be configured as, for example, a touch panel built into the display panel 36, and allows the user to perform predetermined operations on the display panel 36. The operation unit 37 can also be used to perform operations on a software keyboard displayed on the display panel 36. The operation unit 37 may also be a hardware keyboard, mouse, etc.

次に、残高検証システム100で使用されるデータベースについて説明する。図4は残高DBの例を示す説明図である。残高DB131は端末1が備えるデータベースである。残高DB131は電子決済可能な金額等を記憶する。残高DB131はサービスコード列、アカウントID列、残高列及び日時列を含む。サービスコード列は電子決済サービスを特定するコードやIDを記憶する。アカウントID列は電子決済サービスにおけるユーザのIDを記憶する。残高列はユーザが電子決済可能な金額を記憶する。電子決済サービスがプリペイド型の場合、残高列はチャージ残高を記憶する。電子決済サービスがポストペイ型の場合、残高列は利用可能額を記憶する。日時列は残高列の値が記憶する値となった日時を記憶する。すなわち、日時列は電子決済サービスを直近に利用した日時を記憶する。なお、残高DB131を電子決済サービス毎に構築する場合、又は、残高検証システム100が利用できる電子決済サービスをユーザ毎に一つとする場合、残高DB131において、サービスコード列はなくともよい。アカウントIDの値により、対応する電子決済サービスが認識可能である場合も、残高DB131において、サービスコード列はなくともよい。また、残高DB131と同様な残高DB231を端末2は備えている。 Next, we will explain the databases used in the balance verification system 100. Figure 4 is an explanatory diagram showing an example of a balance DB. Balance DB 131 is a database provided in terminal 1. Balance DB 131 stores the amount available for electronic payment, etc. Balance DB 131 includes a service code column, an account ID column, a balance column, and a date and time column. The service code column stores a code or ID that identifies the electronic payment service. The account ID column stores the user's ID for the electronic payment service. The balance column stores the amount available for electronic payment by the user. If the electronic payment service is a prepaid type, the balance column stores the charge balance. If the electronic payment service is a postpaid type, the balance column stores the available amount. The date and time column stores the date and time when the value in the balance column became the value stored. In other words, the date and time column stores the date and time when the electronic payment service was most recently used. Note that if a balance DB131 is constructed for each electronic payment service, or if the balance verification system 100 only allows one electronic payment service per user, the balance DB131 does not need to include a service code string. Also, if the corresponding electronic payment service can be identified from the account ID value, the balance DB131 does not need to include a service code string. Terminal 2 also includes a balance DB231 similar to balance DB131.

図5は他人残高DBの例を示す説明図である。他人残高DB132は端末1が備えるデータベースである。他人残高DB132は他のユーザが電子決済可能な金額等を記憶する。他人残高DB132はユーザID列、サービスコード列、残高列、日時列及び受信日時列を含む。ユーザID列は他のユーザのユーザIDを記憶する。ユーザIDは残高検証システム100により付与されたIDである。サービスコード列は電子決済サービスを特定するコードやIDを記憶する。残高列は他のユーザが電子決済可能な金額を記憶する。残高列は、残高DB131の残高列と同様に、チャージ残高又は利用可能額を記憶する。日時列は残高列の値が記憶する値となった日時を記憶する。すなわち、日時列は他のユーザが電子決済サービスを直近に利用した日時を記憶する。受信日時列は他のユーザの残高データを受信した日時を記憶する。なお、受信日時列は必須ではない。また、他人残高DB132と同様な他人残高DB232を端末2は備えている。以下の説明において、残高は、チャージ残高、及び、利用可能額の一方又は両方を示すものとする。 Figure 5 is an explanatory diagram showing an example of the other users' balance DB. The other users' balance DB 132 is a database provided in the terminal 1. The other users' balance DB 132 stores information such as the amount that other users can electronically pay. The other users' balance DB 132 includes a user ID column, a service code column, a balance column, a date and time column, and a received date and time column. The user ID column stores the user IDs of other users. The user ID is an ID assigned by the balance verification system 100. The service code column stores a code or ID that identifies the electronic payment service. The balance column stores the amount that other users can electronically pay. The balance column, like the balance column in the balance DB 131, stores the charge balance or available amount. The date and time column stores the date and time when the value in the balance column became the value stored. In other words, the date and time column stores the date and time when other users most recently used the electronic payment service. The received date and time column stores the date and time when other users' balance data was received. Note that the received date and time column is not required. Terminal 2 also has a third party balance DB232 similar to third party balance DB132. In the following description, the balance refers to either or both of the charge balance and the available amount.

図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サーバが有する購入履歴を利用してもよい。 Figure 6 is an explanatory diagram showing an example of a regular customer DB. Regular customer DB 331 is a database provided in the store terminal 3. Regular customer DB 331 stores information on regular users at each store. Regular customer DB 331 includes a user ID column, a time period column, and a last visit column. The user ID column stores the user IDs of regular users. The time period column stores the time period during which regular users most often visit the store. In Figure 6, the values in the time period column are represented by numbers. For example, 1 indicates 6:00 to 9:00, 2 indicates 9:00 to 12:00, 3 indicates 12:00 to 15:00, 4 indicates 15:00 to 18:00, and 5 indicates 18:00 to 21:00. The last visit column stores the date and time the user last visited the store. In this specification, various logics are considered for determining whether a user is a regular. For example, a user who visits the store three or more times in three days is considered a regular. A user's store visit history can be created from electronic payments and point system usage history. You can also use the purchase history stored on the POS register or the POS server that manages all POS data.

図7は残高DBの例を示す説明図である。残高DB332は店舗端末3が備えるデータベースである。残高DB332は常連ユーザの残高を記憶する。残高DB332はユーザID列、サービスコード列、残高列及び日時列を含む。ユーザID列はユーザIDを記憶する。サービスコード列は電子決済サービスを特定するコードやIDを記憶する。残高列はユーザが電子決済可能な金額を記憶する。電子決済サービスがプリペイド型の場合、残高列はチャージ残高を記憶する。電子決済サービスがポストペイ型の場合、残高列は利用可能額を記憶する。日時列は残高列の値が記憶する値となった日時を記憶する。 Figure 7 is an explanatory diagram showing an example of a balance DB. Balance DB 332 is a database provided in the store terminal 3. Balance DB 332 stores the balances of regular users. Balance DB 332 includes a user ID column, a service code column, a balance column, and a date and time column. The user ID column stores the user ID. The service code column stores a code or ID that identifies the electronic payment service. The balance column stores the amount that the user can pay electronically. If the electronic payment service is a prepaid type, the balance column stores the charge balance. If the electronic payment service is a postpaid type, the balance column stores the available amount. The date and time column stores the date and time when the value in the balance column became the value stored.

続いて、残高検証システム100で行なわれる処理について説明する。それに先立ち、残高検証システム100の動作モードについて説明する。残高検証システム100の動作モードは平常時モード、災害時モードを想定している。ここでの平常時は決済システム4及びネットワークN等が正常に機能しており、電子決済を正常に行える状態をいう。災害時は広域地震などの大規模災害により、ネットワークNや決済システム4に被害が及び、決済システム4との通信が困難で、電子決済が行えない状態をいう。 Next, we will explain the processing performed by the balance verification system 100. Before that, we will explain the operating modes of the balance verification system 100. The operating modes of the balance verification system 100 are assumed to be normal mode and disaster mode. Normal mode here refers to a state in which the payment system 4, network N, etc. are functioning normally, and electronic payments can be made normally. Disaster mode refers to a state in which a large-scale disaster such as a widespread earthquake has damaged the network N and payment system 4, making communication with the payment system 4 difficult and preventing electronic payments.

店舗端末3を介して、第1ユーザの電子決済サービスにおける残高が第1端末1から、第2ユーザの第2端末2へ配信される。第2端末2は配信された第1ユーザの残高を所定期間、保持する。 The first user's balance in the electronic payment service is distributed from the first terminal 1 to the second terminal 2 of the second user via the store terminal 3. The second terminal 2 holds the distributed balance of the first user for a predetermined period of time.

災害時モードでは、電子決済の処理が異なる。第1ユーザが店舗にて電子決済を利用して、商品の購入を希望したとする。このとき、ネットワークNや電子決済サービスに障害が発生していれば決済が行えず、第1ユーザは商品を購入できない。しかし、残高検証システム100は、正常時に第2端末2へ配信した第1ユーザの残高を、第2端末2から回収し、回収した残高に基づき、第1ユーザが保有している残高が正当である否かを判定する。残高検証システム100が第1ユーザの電子決済における残高を正当であると保証したときは、当該残高に基づき電子決済の利用を第1ユーザに許可する。 In disaster mode, electronic payments are processed differently. Suppose a first user wishes to purchase an item at a store using electronic payment. If a failure occurs in network N or the electronic payment service, the payment cannot be made and the first user cannot purchase the item. However, the balance verification system 100 retrieves from the second terminal 2 the first user's balance that was normally delivered to the second terminal 2, and determines whether the balance held by the first user is valid based on the retrieved balance. If the balance verification system 100 certifies that the first user's electronic payment balance is valid, the first user is permitted to use electronic payment based on that balance.

残高検証システム100において、第1ユーザの残高をより正確に、より確実に検証するためには、第2ユーザから回収する残高が、可能な限り新しいものが望ましい。また、より多くの第2ユーザから残高が回収できることが望ましい。これを実現するために、店舗を基準としたユーザのネットワークを形成する。ここでは、当該ネットワークを常連ネットワークと呼ぶ。以下、常連ネットワークを用いた残高検証システム100の処理を説明する。 In order for the balance verification system 100 to verify the balance of a first user more accurately and reliably, it is desirable for the balance collected from the second user to be as recent as possible. It is also desirable to be able to collect balances from as many second users as possible. To achieve this, a network of users is formed based on the store. Here, this network is referred to as a regular customer network. Below, we will explain the processing of the balance verification system 100 using the regular customer network.

(平常時モード)
平常時モードにおいて、残高検証システム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にも記憶される。
(Normal mode)
The process performed by the balance verification system 100 in normal mode will be described. FIG. 8 is a flowchart showing an example of the balance distribution process. The balance distribution process is executed by the store terminal 3. The control unit 31 of the store terminal 3 obtains the balance from the terminal 1 of a first user who visits the store (step S1). For example, the store terminal 3 obtains the balance when the first user makes an electronic payment to purchase a product. The store terminal 3 also transmits a polling signal, and the terminal 1 that receives the polling signal replies with the balance. Alternatively, a service may be provided that provides incentives to users who visit the store. When an operation to notify the user of the visit is performed on the terminal 1, for example, when the terminal 1 reads a two-dimensional code installed in the store, the terminal 1 may transmit the balance to the store terminal 3. Communication between the store terminal 3 and the terminal 1 is assumed to be performed via short-range wireless communication, but may also be via the Internet, etc. The control unit 31 performs polling (step S2). The polling is performed via short-range wireless communication to search for the terminal 2 of a second user who visits the store. The polled terminal 2 returns a user ID. The control unit 31 acquires the returned user ID (step S3). The control unit 31 selects a user ID to be processed from the acquired user IDs (step S4). The control unit 31 references the regular customer DB 331 to determine whether the user with the selected user ID is a regular customer (step S5). If the selected user ID is stored in the regular customer DB 331, the control unit 31 determines that the user is a regular customer. If the current time is not included in the time slot in the time slot column of the regular customer DB 331, the control unit 31 does not need to determine that the user is a regular customer. If the control unit 31 determines that the user with the selected user ID is not a regular customer (NO in step S5), the control unit 31 proceeds to step S7. If the control unit 31 determines that the user with the selected user ID is a regular customer (YES in step S5), the control unit 31 transmits the balance information of the first user to the terminal 2 of the user (step S6). The balance information is the balance plus the first user's user ID and the balance update date and time. The control unit 31 determines whether there is an unprocessed user ID (step S7). If the control unit 31 determines that there is a user ID to be processed (YES in step S7), the process returns to step S4 and processes the unprocessed user ID. If the control unit 31 determines that there is no user ID to be processed (NO in step S7), the process ends. The balance information is also stored in the balance DB 332 of the store terminal 3.

残高配信処理において、残高を送信した常連ユーザの数が所定数に達しなかった場合、制御部31は、残高を送信した常連ユーザの数が所定数に達するか、所定時間が経過するまでステップS2以降の処理を繰り返してもよい。また、残高配信処理において、ポーリングは行なわなくともよい。この場合、制御部31は、宛先として常連ユーザのユーザIDを含むパケット生成し、送信する。受信した端末2はパケットに含まれるユーザIDが補助記憶部23に記憶しているユーザID233と一致する場合、制御部21はパケットを受け入れる。パケットに含まれるユーザIDがユーザID233と不一致の場合、制御部21はパケットを破棄する。 If the number of regular users who have sent their balances during the balance distribution process does not reach the predetermined number, the control unit 31 may repeat the processes from step S2 onwards until the number of regular users who have sent their balances reaches the predetermined number or a predetermined time has passed. Also, polling may not be performed during the balance distribution process. In this case, the control unit 31 generates and sends a packet containing the user ID of the regular user as the destination. If the user ID contained in the packet matches the user ID 233 stored in the auxiliary memory unit 23 on the receiving terminal 2, the control unit 21 accepts the packet. If the user ID contained in the packet does not match the user ID 233, the control unit 21 discards the packet.

図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)、処理を終了する。 Figure 9 is a flowchart showing an example of the balance reception process. The balance reception process corresponds to the balance distribution process and is executed by the terminal 2 that has received polling. The control unit 21 of the terminal 2 receives the polling signal sent by the store terminal 3 (step S21). The control unit 21 sends the user ID 233 stored in the auxiliary memory unit 23 to the store terminal 3 (step S22). The control unit 21 starts the interval timer (step S23). The control unit 21 determines whether balance information has been received from the store terminal 3 (step S24). If the control unit 21 determines that balance information has been received from the store terminal 3 (YES in step S24), it stores the balance information in the other person's balance DB 232 (step S25). If information for the same first user has already been stored, the control unit 21 overwrites it. If the control unit 21 determines that balance information has not been received from the store terminal 3 (NO in step S24), it determines whether a timeout has occurred (step S27). If the control unit 21 determines that a timeout has not occurred (NO in step S27), it returns the process to step S24. If the control unit 21 determines that a timeout has occurred (YES in step S27), or after step S25, it stops the interval timer (step S26) and ends the process.

残高配信処理においてポーリングを行なわない場合、ステップS24での判定で、パケットを受信した場合であっても、宛先が自端末で無い場合、制御部31は受信していないと判定する。 If polling is not performed during the balance distribution process, even if a packet is received as determined in step S24, if the destination is not the device itself, the control unit 31 determines that the packet has not been received.

残高配信処理により、第1ユーザが使用する第1端末1に記憶された残高情報が配信される。配信された残高情報は、残高受信処理により、第2ユーザが使用する第2端末2に記憶される。これにより、平常時モードにおいて、第1ユーザの残高は第2端末2にも記憶されることになる。なお、繰り返しになるが、第1ユーザは第2ユーザの立場ともなり、第2ユーザは第1ユーザの立場ともなるので、常連ネットワークに属するユーザ間で互いに残高を持ち合う事になる。常連ネットワークは、同一の時間帯に同一の店舗へ来店するユーザの集まりとなるため、店舗内で出会う可能性が高く、互いに持ち合う残高は、最新の値を維持できる可能性が高くなる。 The balance distribution process distributes balance information stored on the first terminal 1 used by the first user. The distributed balance information is then stored on the second terminal 2 used by the second user by the balance reception process. As a result, in normal mode, the first user's balance is also stored on the second terminal 2. As mentioned above, the first user also acts as the second user, and the second user also acts as the first user, so users belonging to the regular network will share balances. Because the regular network is a collection of users who visit the same store at the same time, there is a high probability that they will meet in the store, and it is highly likely that their shared balances will be kept up to date.

(災害時モード)
災害時モードにおいて、残高検証システム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)、処理を終了する。
(Disaster mode)
The process performed by the balance verification system 100 in disaster mode will be described. FIG. 10 is a flowchart showing an example of the balance verification process. The balance verification process is executed by the store terminal 3. A first user visits a store and requests electronic payment to pay for a purchase. The control unit 11 of the terminal 1 sends a payment request to the store terminal 3. The payment request includes a user ID, balance, and service code (optional, same below). The control unit 31 of the store terminal 3 receives the request (step S41). The control unit 31 performs polling (step S42). The signal sent as polling includes the first user's user ID and service code. The control unit 31 starts an interval timer (step S43). The control unit 31 determines whether balance information has been received (step S44). If the control unit 31 determines that balance information (verification information) has not been received (NO in step S44), the process proceeds to step S46. If the control unit 31 determines that the balance information has been received (YES in step S44), it stores the balance information in a temporary storage area provided in the auxiliary storage unit 13 or the like (step S45). The control unit 31 determines whether a timeout has occurred (step S46). If the control unit 31 determines that a timeout has not occurred (NO in step S46), it returns the process to step S44. If the control unit 31 determines that a timeout has occurred (YES in step S46), it stops the interval timer (step S47). The control unit 31 compares the balance collected from terminal 2 stored in the temporary storage area (hereinafter referred to as the "collected balance") with the balance acquired from terminal 1 (hereinafter referred to as the "declared balance") and determines whether the declared balance is valid (step S48). The determination method will be described later. The control unit 31 determines whether to permit the payment based on the determination result (step S49). If the declared balance is valid and exceeds the payment amount, the control unit 31 determines that the payment is permitted; otherwise, it determines that the payment is not permitted. If the control unit 31 determines that the payment is permitted (YES in step S49), it performs the payment (step S50) and ends the process. If the device performing the payment is another device such as a POS register, it sends a payment instruction to that device. The payment instruction includes payment information (user ID, declared balance, payment amount, service code, etc.). If the control unit 31 determines that the payment is not permitted (NO in step S49), it outputs a message to that effect to the display panel 36 (step S51) and ends the process.

ステップS48で行う判定処理は、例えば以下の内容である。回収残高の値がすべて一致し、申告残高がその値に一致するか、その値未満の場合、申告残高は正当であると、制御部31は判定する。すべての回収残高の値が一致しないが、申告残高が回収残高の最低値以下である場合、申告残高は正当であると、制御部31は判定する。また、回収残高の値がすべて一致し、申告残高がその値を超えている場合、申告残高は不当であると、制御部31は判定する。すべての回収残高の値が一致せず、申告残高が回収残高の最低値を超えている場合、申告残高は不当であると、制御部31は判定する。さらに、回収できた回収残高の数が所定数より少ない場合、申告残高の値に関わらず、正当性の判断は不能であるとして、決済を許可しないとしてもよい。 The determination process performed in step S48 is, for example, as follows: If all the values of the collected balances match and the declared balance matches or is less than that value, the control unit 31 determines that the declared balance is valid. If all the values of the collected balances do not match but the declared balance is less than the minimum value of the collected balance, the control unit 31 determines that the declared balance is valid. Furthermore, if all the values of the collected balances match and the declared balance exceeds that value, the control unit 31 determines that the declared balance is invalid. If all the values of the collected balances do not match and the declared balance exceeds the minimum value of the collected balance, the control unit 31 determines that the declared balance is invalid. Furthermore, if the number of collected balances is less than a specified number, it may be determined that validity cannot be determined, regardless of the value of the reported balance, and payment may not be permitted.

図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)、処理を終了する。 Figure 11 is a flowchart showing an example of the balance reply process. The balance reply process corresponds to the balance verification process and is executed by the polled terminal 2. The control unit 21 of the terminal 2 receives the polling signal sent by the store terminal 3 (step S61). The control unit 21 determines whether it holds balance information for the user whose user ID is included in the polling signal (step S62). The control unit 21 searches the other person's balance DB 232 stored in the auxiliary memory unit 23 using the received user ID as a key. If the polling signal contains a service code, the control unit 21 includes the received service code in the search conditions. If the search returns a hit, the control unit 21 determines that it holds the information. If the search does not return a hit, the control unit 21 determines that it does not hold the information. Even if the search returns a hit, the control unit 21 may determine that it does not hold the information if the date and time the balance information was updated or received is more than a predetermined time in the past, for example, more than three days ago. If the control unit 21 determines that it holds the user's balance information (YES in step S62), it sends the held balance information to the store terminal 3 (step S63) and ends the processing. If the control unit 21 determines that it does not hold the user's balance (NO in step S62), it ends the processing.

災害時モードにおいて、第1ユーザが決済を許可された場合、決済後の第1ユーザの残高も、第2ユーザに配信される。すなわち、店舗端末3は、図10の示した残高検証処理において、ステップS50を実行した後に、図8に示した残高配信処理と同様な処理を実行する。それに対応して、図9に示した残高受信処理が実行される。 In disaster mode, if the first user is permitted to make a payment, the first user's balance after the payment is also distributed to the second user. That is, after executing step S50 in the balance verification process shown in FIG. 10, the store terminal 3 executes a process similar to the balance distribution process shown in FIG. 8. Correspondingly, the balance reception process shown in FIG. 9 is executed.

(すれ違いネットワーク)
第1ユーザの残高の正当性判定の信頼性を高めるためには、所定数以上の第2ユーザからの残高情報を得る必要がある。常連ネットワークは同じ店舗の常連をグループ化することにより、平常時に残高情報の配信を受ける確率を上げ、災害時に残高情報を返信できる確率を上げることを目指している。しかしながら、常連ネットワークだけでは、災害時に十分な数の第2ユーザから残高情報を回収できない場合も考えられる。そこで、常連ネットワークを補完するものとして、すれ違いネットワークを形成する。すれ違いネットワークは、残高検証システム100のユーザであれば、参加可能とするものである。
(StreetPass Network)
In order to increase the reliability of determining the legitimacy of a first user's balance, it is necessary to obtain balance information from a predetermined number of second users. The regular customer network aims to increase the probability of receiving balance information during normal times and the probability of returning balance information during a disaster by grouping regular customers of the same store. However, it is conceivable that the regular customer network alone will not be able to collect balance information from a sufficient number of second users during a disaster. Therefore, a StreetPass network is formed to complement the regular customer network. Any user of the balance verification system 100 can participate in the StreetPass network.

図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)、処理を終了する。 Figure 12 is a flowchart showing an example procedure for the other person's balance exchange process. The other person's balance exchange process is a process for exchanging other person's balance information between users of the balance verification system 100. In the following explanation, the terminal that initiates communication will be called the master, and the terminal with which the master communicates will be called the slave. For convenience of explanation, the master will be referred to as terminal 1 and the slave as terminal 2. The control unit 11 of the master performs polling (step S71). The control unit 21 of the slave receives the polling signal (step S72). The control unit 21 responds to the master (step S73). The control unit 21 includes information on whether or not the slave holds other person's balance in the response signal. The control unit 11 of the master receives the response (step S74). The control unit 11 determines whether or not to request other person's balance information (step S75). The control unit 11 determines whether or not the slave holds other person's balance information from the response signal. The control unit 11 determines to request the other person's balance information if the slave holds other person's balance information, and determines not to request the information if the slave does not hold other person's balance information. If the control unit 11 determines not to request other user's balance information (NO in step S75), the process proceeds to step S81. If the control unit 11 determines to request other user's balance information (YES in step S75), the control unit 11 sends a balance information request to the slave (step S76). The control unit 21 of the slave receives the request (step S77). The control unit 21 sends the other user's balance information stored in the other user's balance DB 232 to the master (step S78). Note that the transmitted other user's balance information cannot include the user's own balance information. The control unit 11 of the master receives the other user's balance information (step S79). The control unit 11 stores the other user's balance information in the other user's balance DB 132 (step S80). If the received other user's balance information includes balance information of a user already stored in the other user's balance DB 132, the control unit 11 retains the most recent balance date and time. Furthermore, when storing the received other user's balance information in the other user's balance DB 132, the reception date and time of the received other user's balance information is used instead of the current value. The control unit 11 determines whether it holds other person's balance information other than the other person's balance information received from the slave (step S81). If the control unit 11 determines that it holds other person's balance information other than the received other person's balance information (YES in step S81), it transmits the other person's balance information other than the received other person's balance information to the slave (step S82). The control unit 21 of the slave receives the other person's balance information (step S83). The control unit 21 stores the other person's balance information in the other person's balance DB 232 (step S84) and ends the processing. The selection and rejection of other person's balance information to be stored is the same as in the slave case. If the control unit 11 determines that it does not hold other person's balance information other than the received other person's balance information (NO in step S81), it transmits this information to the slave (step S85). If the control unit 21 of the slave receives a message indicating that the master does not hold other person's balance information (step S86), it ends the processing.

端末はランダムな時間間隔で残高交換処理を行う。残高交換処理において、端末がマスタとなるかスレーブとなるかは、ポーリングを送信、又は、受信するタイミングによる。残高交換をしようとする端末が共にマスタ又はスレーブ状態では処理が行われないので、それをなるべく避けるため残高交換処理は、ランダムに実行することが望ましい。また、同じ端末の組み合わせで、繰り返し残高交換処理が行なわれないように、残高交換処理を行った履歴を、所定時間残しておき、直近に残高交換処理を行った端末同士では、再度、残高交換処理を行うことを抑止することが望ましい。 Terminals perform balance exchange processing at random time intervals. Whether a terminal becomes a master or slave in a balance exchange processing depends on the timing of sending or receiving polling. If both terminals attempting to exchange balances are in a master or slave state, the processing will not take place. To avoid this, it is desirable to perform the balance exchange processing randomly. In addition, to prevent repeated balance exchange processing between the same combination of terminals, it is desirable to keep a record of balance exchange processing for a predetermined period of time, and to prevent terminals that have recently performed a balance exchange processing from performing the processing again.

すれ違いネットワークにより拡散された他人残高情報の信頼性と、常連ネットワークにより拡散された他人残高情報の信頼性とは、同等であると考えられる。したがって、すれ違いネットワークを運用する場合においても、災害時モードにおける残高検証処理、残高返信処理の内容は同様でよいと考えられる。 The reliability of other people's balance information spread via the StreetPass network is considered to be equivalent to the reliability of other people's balance information spread via the regular network. Therefore, even when operating the StreetPass network, the contents of the balance verification process and balance reply process in disaster mode are considered to be similar.

災害時モードに切り替わった後に、各ユーザが最初に行う決済は、平常時モードで記憶された残高情報により検証するので、信頼性は高い。しかし、災害時モードでは信頼性下がる。災害時モードでは、決済システム4との通信はできないことから、ユーザが端末に記憶している残高の改ざんをしたとしても、発覚しにくいからである。さらに、第1ユーザが自らの残高を書き換え、書き換え後の残高をすれ違いネットワークにより拡散すれば、すれ違いネットワークからの残高情報により、当該第1ユーザの残高が正当であると、店舗端末3が判定してしまうおそれがある。そのような事態を避けるため、以下のようにする。端末1の他人残高DB132及び端末2の他人残高DB232において、残高情報の入手先列を設ける。入手先列には、他人残高の入手先として、店舗端末3であるか、他ユーザの端末であるかの入手先情報を記憶する。そして、残高返信処理において、端末2が店舗端末3へ送信する他人残高情報に、入手先情報を含める。店舗端末3が行う残高検証処理における判定において、第1ユーザの残高が正当であるか否かを判定する際、申告された残高が、入手先が他ユーザの端末とされている残高と一致又は差が小さく、入手先が店舗端末3とされている残高より大きい場合、残高が改ざんされたおそれがあるとして、決済は許可しないとする。このような仕組みを採用することにより、災害時モードに切り替わった後の2回目以降の決済であっても、残高検証システム100は的確に、ユーザ残高の正当性を判定することが可能となる。 After switching to disaster mode, the first payment each user makes is verified using the balance information stored in normal mode, so reliability is high. However, reliability decreases in disaster mode. This is because communication with the payment system 4 is not possible in disaster mode, making it difficult to detect if a user tampers with the balance stored in their terminal. Furthermore, if a first user rewrites their own balance and spreads the rewritten balance via the StreetPass network, there is a risk that the store terminal 3 will determine that the first user's balance is legitimate based on the balance information from the StreetPass network. To avoid this situation, the following is implemented: A column for the source of balance information is provided in the other user's balance DB 132 of terminal 1 and the other user's balance DB 232 of terminal 2. The source column stores source information, indicating whether the other user's balance was obtained from the store terminal 3 or another user's terminal. Then, in the balance return process, the source information is included in the other user's balance information sent by terminal 2 to the store terminal 3. In the balance verification process performed by the store terminal 3, when determining whether the first user's balance is valid, if the declared balance matches or is only slightly different from the balance reported as having been obtained from another user's device and is larger than the balance reported as having been obtained from the store terminal 3, it is determined that the balance may have been tampered with and the payment is not permitted. By adopting this mechanism, the balance verification system 100 can accurately determine the validity of the user's balance even for payments made after switching to disaster mode.

災害時モードには、すれ違いネットワークの運用を停止してもよい。すなわち、災害時モードでは、他人残高交換処理は実行しない。災害時モードでは、決済後のユーザの残高情報の配信は店舗端末3のみとする。それよって、ユーザが残高を改ざんし、改ざん結果をすれ違いネットワークで配信することにより、不正な残高を正当であるかのように偽装する行為を抑止することが可能となる。 In disaster mode, operation of the StreetPass network may be stopped. In other words, in disaster mode, the process of exchanging other people's balances is not executed. In disaster mode, post-payment user balance information is distributed only to the store terminal 3. This makes it possible to prevent users from tampering with their balances and disguising fraudulent balances as legitimate by distributing the results of the tampering over the StreetPass network.

(モード切替)
残高検証システム100において、平常時モードから災害時モードへの切替を適切に行うことは重要である。平常時モードと災害時モードとでは、店舗端末3が行う電子決済処理が異なるからである。ユーザ等が手動にて適切にモードを切り替えることが望ましい。以下に、各機器が自律的にモードを切り替える動作について説明する。
(Mode switching)
In the balance verification system 100, it is important to switch from normal mode to disaster mode appropriately. This is because the electronic payment processing performed by the store terminal 3 differs between normal mode and disaster mode. It is desirable for the user to manually switch modes appropriately. The following describes how each device autonomously switches modes.

店舗端末3は、決済システム4との通信障害が発生した場合に、平常時モードから災害時モードへ切り替える。災害以外の理由で通信障害が発生する可能性があるので、発生後、更に所定時間(例えば1時間)を経過したときに、災害時モードに切り替えてもよい。 If a communication failure with the payment system 4 occurs, the store terminal 3 switches from normal mode to disaster mode. Since communication failure may occur for reasons other than a disaster, the store terminal 3 may switch to disaster mode after a predetermined time (e.g., one hour) has elapsed since the failure.

災害時モードに切り替わっている店舗端末3が端末(端末1及び端末2)と通信する場合、店舗端末3は通信の冒頭で、端末のモードを問い合わせる。端末から平常時モードで動作していると返答があった場合、通信や決済を拒否する。また、店舗端末3からの指示により、端末のモードを強制的に災害時モードへ切り替えてもよい。なお、店舗端末3及び端末は、災害時モードに切り替わった日時(切替日時)を記憶するものとする。 When store terminal 3, which has switched to disaster mode, communicates with terminals (terminal 1 and terminal 2), store terminal 3 will inquire about the terminal's mode at the beginning of the communication. If the terminal replies that it is operating in normal mode, communication and payment will be rejected. Furthermore, store terminal 3 may instruct the terminal to forcibly switch its mode to disaster mode. Store terminal 3 and the terminal will store the date and time when they switched to disaster mode (switching date and time).

(その他の処理)
以上に説明した以外の処理について、説明する。図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回など、所定タイミングで繰り返し実行される。
(Other processing)
Processing other than that described above will now be described. FIG. 13 is a flowchart showing an example of the deletion processing procedure. The deletion processing is a processing performed by the terminal in normal mode. The deletion processing is a processing for deleting old other person's balance information. The following explanation will be given for the case where the deletion processing is performed by the terminal 1. The control unit 11 of the terminal 1 selects one record stored in the other person's balance DB 132 as the processing target (step S91). The control unit 11 compares the date and time in the date and time column of the selected record with the current date and time and determines whether the selected record is to be deleted (step S92). If a predetermined period (e.g., half a day to one day) or more has passed since the date and time of the selected record, the control unit 11 determines that the selected record is to be deleted. If the predetermined period has not passed since the date and time of the selected record, the control unit 11 determines that the selected record is not to be deleted. If the control unit 11 determines that the selected record is not to be deleted (NO in step S92), the control unit 11 proceeds to step S94. If the control unit 11 determines that the selected record is to be deleted (YES in step S92), the control unit 11 deletes the selected record (step S93). The control unit 11 determines whether or not there are any unprocessed records (step S94). If the control unit 11 determines that there are any unprocessed records (YES in step S94), the control unit 11 returns the process to step S91 and processes the unprocessed records. If the control unit 11 determines that there are no unprocessed records (NO in step S94), the control unit 11 ends the process. While the determination of whether or not to delete a record is based on the date and time stored in the date and time column, the date and time stored in the received date and time column may also be used. Only one of the dates and times may be used, or both dates and times may be used. The deletion process is repeatedly executed at a predetermined timing, such as once a day.

図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にて、残高が最大値のレコードを削除するのは、残高が大きいほど、残高を超過した額の買い物をしてしまう可能性が高く、残高が小さいほど、残高を超過した額の買い物をしてしまう可能性が低いからである。 Figure 14 is a flowchart showing part of the balance reception process or the other person's balance exchange process. The process shown in Figure 14 is performed by the terminal with the aim of reducing the number of records in the other person's balance DB132, 232. When executing the process shown in Figure 14, it is executed between steps S24 and S25 in the balance reception process. It is also executed between steps S79 and S80 and between steps S83 and S84 in the other person's balance exchange process. The following explanation will explain the case where it is executed by the terminal 1. If the answer is YES in step S24, or after executing step S79 or step S83, the control unit 11 determines whether the capacity is exceeded (step S101). For example, the other person's balance DB132 has a maximum number of records, a maximum storage capacity, etc. set in advance. The control unit 11 references the maximum number of records, maximum storage capacity, etc. to determine whether new other person's balance information can be stored in the other person's balance DB132. If the new other person's balance information cannot be stored in the other person's balance DB132, the control unit 11 determines that the capacity is exceeded. If the new other person's balance information can be stored in the other person's balance DB 132, the control unit 11 determines that the capacity is not exceeded. If the control unit 11 determines that the capacity is exceeded (YES in step S101), the control unit 11 sorts the records in the other person's balance DB 132 in ascending order by the value in the balance column (step S102). The control unit 11 determines whether to delete the record in the other person's balance DB 132 (step S103). The control unit 11 determines whether the balance value of the other person's balance information to be stored is smaller than the minimum balance value in the other person's balance DB 132. For example, if the balance value of the other person's balance information to be stored is smaller than the maximum balance value in the other person's balance DB 132, the control unit 11 determines to delete the record in the other person's balance DB 132. However, if the balance value of the other person's balance information to be stored exceeds the maximum balance value in the other person's balance DB 132, the control unit 11 determines not to delete the record in the other person's balance DB 132. If the control unit 11 determines to delete the record from the other person's balance DB 132 (YES in step S103), it deletes the record with the maximum balance from the other person's balance DB 132 (step S104). If the control unit 11 determines that the capacity is not exceeded (NO in step S101) or determines not to delete the record from the other person's balance DB 132 (NO in step S103), it executes step S25, or step S80, step S84, or subsequent steps. Note that if there are multiple records of other person's balance information to be newly stored, the control unit 11 repeatedly executes step S103. Also, in step S101, the control unit 11 makes a determination taking into account the number of records to be newly stored. The reason for deleting the record with the maximum balance in step S104 is that the larger the balance, the higher the likelihood of making a purchase that exceeds the balance, and the smaller the balance, the lower the likelihood of making a purchase that exceeds the balance.

(他人残高の暗号化)
端末2に記憶する第1ユーザの残高情報は、第2ユーザは参照できないよう、制御プログラム2Pは設計するが、秘匿性をためるために、第1ユーザの残高情報を暗号化して、他人残高DB232に記憶してもよい。例えば、暗号化に公開鍵暗号方式を用いる。残高配信処理において、店舗端末3の制御部31は、残高検証システム100の公開鍵を用いて、第1ユーザの残高情報を暗号化し、暗号化した残高情報を端末2に送信する。端末2の制御部21は暗号された残高情報を受信し、それを他人残高DB232に記憶する。なお、第1ユーザのユーザIDは暗号化の対象とはしない。残高返信処理において、制御部21は指定されたユーザIDと対応付けられ、暗号化された残高情報を他人残高DB232から読み出し、店舗端末3へ送信する。店舗端末3は残高検証処理において、残高検証システム100の秘密鍵を用いて、残高情報を復号する。
(Encryption of other people's balances)
The control program 2P is designed so that the first user's balance information stored in the terminal 2 cannot be accessed by the second user. However, to ensure confidentiality, the first user's balance information may be encrypted and stored in the other user's balance DB 232. For example, public key cryptography is used for encryption. In the balance distribution process, the control unit 31 of the store terminal 3 encrypts the first user's balance information using the public key of the balance verification system 100 and sends the encrypted balance information to the terminal 2. The control unit 21 of the terminal 2 receives the encrypted balance information and stores it in the other user's balance DB 232. Note that the first user's user ID is not encrypted. In the balance reply process, the control unit 21 associates the encrypted balance information with the specified user ID, reads it from the other user's balance DB 232, and sends it to the store terminal 3. In the balance verification process, the store terminal 3 decrypts the balance information using the private key of the balance verification system 100.

本実施の形態は、以下の効果を奏する。ユーザは、災害発生直前の電子決済サービスにおける残高(チャージ残高、利用可能額)を、交換しておくことにより、災害発生後において、残高を互いに検証、保証することが可能になる。そして、ユーザは、決済システム4が機能していない状況においても、店舗端末3にて電子決済を受け、商品・サービスの購入が可能となる。一方、店舗においては、残高が正当であると保証されたユーザにのみ、電子決済にて、商品・サービスの代金決済を行う。それにより、決済システム4が復旧したのちに、決済金額を請求した場合に、ユーザの残高不足を理由に請求が拒否されるリスクを下げることが可能となる。店舗端末3にて電子決済を許可する否かの判定は、残高が不正に増えていないか否かのみの判定となるので、残高以外のデータ(取引履歴、年齢、職業などの与信データ)を用いて判定する場合と比べて、やり取りをするデータ量の削減、使用する電池量を削減することが可能となる。 This embodiment provides the following advantages. By exchanging balances (charge balance, available balance) in electronic payment services immediately before a disaster occurs, users can mutually verify and guarantee their balances after the disaster occurs. Users can then accept electronic payments at the store terminal 3 and purchase goods and services even when the payment system 4 is not functioning. Meanwhile, the store only pays for goods and services from users whose balances are guaranteed to be valid. This reduces the risk of a request being rejected due to insufficient balance when a payment is requested after the payment system 4 is restored. Because the store terminal 3 determines whether to allow an electronic payment based solely on whether the balance has been fraudulently increased, it is possible to reduce the amount of data exchanged and the amount of battery power used compared to when data other than the balance (credit data such as transaction history, age, and occupation) is used for the determination.

(復旧後の処理)
災害が復旧し、決済システム4の利用が可能となった場合の復旧処理について説明する。まず、復旧処理に用いるデータベースについて説明する。図15は店舗端末が記憶する取引履歴DBの例を示す説明図である。取引履歴DB333は店舗端末3の補助記憶部33に記憶される。取引履歴DB333は災害時モードにおいて電子決済した履歴を記憶する。取引履歴DB333はサービスコード列、ユーザID列、日時列、申告残高列、保証残高列、結果列、及び、決済金額列を含む。サービスコード列は電子決済サービスを特定するコードやIDを記憶する。ユーザID列はユーザIDを記憶する。日時列は決済した日時を記憶する。申告残高列は決済実行前にユーザから受信したユーザの残高を記憶する。保証残高列は残高検証処理により判定したユーザの残高を記憶する。結果列は決済可否の判定結果を記憶する。決済金額列は決済金額を記憶する。決済を不許可とした場合、決済金額列の値はNULLや0とする。
(Post-recovery processing)
15 is a diagram illustrating an example of a transaction history DB stored in the store terminal. The transaction history DB 333 is stored in the auxiliary memory unit 33 of the store terminal 3. The transaction history DB 333 stores the history of electronic payments made in disaster mode. The transaction history DB 333 includes a service code column, a user ID column, a date and time column, a declared balance column, a guaranteed balance column, a result column, and a payment amount column. The service code column stores a code or ID that identifies the electronic payment service. The user ID column stores the user ID. The date and time column stores the date and time of the payment. The declared balance column stores the user's balance received from the user before the payment is made. The guaranteed balance column stores the user's balance determined by the balance verification process. The result column stores the determination result of whether the payment is possible. The payment amount column stores the payment amount. If the payment is not permitted, the value of the payment amount column is set to NULL or 0.

図16は端末が記憶する取引履歴DBの例を示す説明図である。取引履歴DB134は端末1の補助記憶部13に記憶される。取引履歴DB134は災害時モードにおいて電子決済した履歴を記憶する。取引履歴DB134と同様な取引履歴DB234が端末2の補助記憶部23にも記憶される。取引履歴DB134は店舗ID列、サービスコード列、日時列、申告残高列、結果列、決済金額列及び残高列を含む。店舗ID列は決済した店舗を一意に特定可能な店舗IDを記憶する。サービスコード列は電子決済サービスを特定するコードやIDを記憶する。日時列は決済した日時を記憶する。申告残高列は決済実行前に店舗端末3へ送信した残高を記憶する。結果列は決済可否の結果を記憶する。決済金額列は決済金額を記憶する。決済を不許可とした場合、決済金額列の値はNULLや0とする。残高列は決済後の金額を記憶する。 Figure 16 is an explanatory diagram showing an example of a transaction history DB stored by the terminal. Transaction history DB 134 is stored in the auxiliary memory unit 13 of terminal 1. Transaction history DB 134 stores the history of electronic payments made in disaster mode. A transaction history DB 234 similar to transaction history DB 134 is also stored in the auxiliary memory unit 23 of terminal 2. Transaction history DB 134 includes a store ID column, a service code column, a date and time column, a declared balance column, a result column, a payment amount column, and a balance column. The store ID column stores the store ID that can uniquely identify the store where the payment was made. The service code column stores a code or ID that identifies the electronic payment service. The date and time column stores the date and time of the payment. The declared balance column stores the balance sent to the store terminal 3 before the payment was made. The result column stores the result of whether the payment was allowed or not. The payment amount column stores the payment amount. If the payment is not allowed, the value of the payment amount column is set to NULL or 0. The balance column stores the amount after the payment.

取引履歴DB333、取引履歴DB134は、災害時モードに切り替わった後にレコードが追加され、災害時モードが終了するとレコードの追加が停止する。取引履歴DB333、取引履歴DB134とは別に、平常時モードに使用される取引履歴DBを端末1及び端末2並びに店舗端末3は有している。災害時モードでの取引履歴は、取引履歴DB333、取引履歴DB134のみ記憶し、復旧後に、平常時モードに使用される取引履歴DBに転送してよいし、取引履歴DB333、取引履歴DB134と平常時モードに使用される取引履歴DBとで二重に記憶してもよい。 Records are added to transaction history DB333 and transaction history DB134 after switching to disaster mode, and record addition stops when disaster mode ends. In addition to transaction history DB333 and transaction history DB134, terminals 1 and 2 and store terminal 3 also have a transaction history DB used in normal mode. Transaction history in disaster mode may be stored only in transaction history DB333 and transaction history DB134 and transferred to the transaction history DB used in normal mode after recovery, or it may be stored doubly in transaction history DB333 and transaction history DB134 and the transaction history DB used in normal mode.

図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が損害保険会社に送付してもよい。 Figure 17 is a flowchart showing an example of the recovery processing procedure. The payment system 4 requests the store terminal 3 for the transaction history during the period in disaster mode (step S111). The control unit 31 of the store terminal 3 receives the request (step S112). The control unit 31 transmits the transaction history stored in the transaction history DB 333 to the payment system 4 (step S113). The payment system 4 receives the transaction history (step S114). The payment system 4 stores the received transaction history (step S115). The payment system 4 determines whether it has completed receiving the transaction history from all store terminals 3 (step S116). If the payment system 4 determines that it has not completed receiving the transaction history (NO in step S116), it returns the process to step S114. If the payment system 4 determines that it has completed receiving the transaction history (YES in step S116), it extracts the users included in the stored transaction history (step S117). The payment system 4 requests the transaction history from the terminal 1 of the extracted user (step S118). Here, terminal 1 represents the user terminal. The control unit 11 of terminal 1 receives the request (step S119). The control unit 11 transmits the transaction history stored in the transaction history DB 134 to the payment system 4 (step S120). The payment system 4 receives the transaction history (step S121). The payment system 4 stores the received transaction history (step S122). The payment system 4 determines whether reception of the transaction history from the terminal 1 of all users extracted in S117 is complete (step S123). If the payment system 4 determines that reception of the transaction history is not complete (NO in step S123), the process returns to step S121. If the payment system 4 determines that reception of the transaction history is complete (YES in step S123), it verifies whether the transaction history received from the store terminal 3 and the transaction history received from terminal 1 are consistent (step S124). The payment system 4 executes settlement for the transaction history for which consistency has been confirmed (step S125). The payment system 4 transmits the result to the store terminal 3 and terminal 1 (step S126). The control unit 31 of the store terminal 3 receives the result (step S127). The control unit 31 returns the operating mode to normal mode (step S128) and ends the process. The control unit 11 of terminal 1 receives the result (step S129). The control unit 11 returns the operating mode to normal mode (step S130) and ends the process. The result transmitted from the payment system 4 may include the total amount of settled transactions and transaction history that was not settled due to data inconsistency. Furthermore, if unsettled transaction history is to be compensated for with non-life insurance, the payment system 4 may send the transaction history information to the non-life insurance company.

残高検証システム100は、決済が行なわれる毎に、第1ユーザの残高が減っていくことを利用して、第1ユーザから申告された残高が、第2ユーザが記憶する第1ユーザの残高よりも上回っているか否かにより、残高の検証を行う。そのため、災害時モードにおいては、プリペイド型の電子決済サービスでは、残高を増加させるチャージ機能は無効とする。 The balance verification system 100 utilizes the fact that the first user's balance decreases with each payment, and verifies the balance by determining whether the balance reported by the first user exceeds the first user's balance stored by the second user. Therefore, in disaster mode, the charge function that increases the balance is disabled for prepaid electronic payment services.

なお、チャージ機能を有効とする場合は、一度にチャージできる最大額をなるべく小さな額とするのが望ましい。そして、申告残高の正当性の判定において、申告残高が比較対象とする回収残高の値を超えていたとしても、チャージできる最大額を加味して、その幅が小さいとみなせる場合は、残高は正当であると判定し、決済を許可してもよい。残高が配信された後に、チャージによりチャージ残高が増加、又は、利用可能額が増加することも有るからである。 When the charge function is enabled, it is desirable to keep the maximum amount that can be charged at one time as small as possible. Furthermore, when determining the legitimacy of the declared balance, even if the declared balance exceeds the collected balance value that is being compared, if the difference is deemed small when taking into account the maximum chargeable amount, the balance can be determined to be valid and payment can be permitted. This is because after the balance is distributed, the charge balance or available amount may increase due to a charge.

(自動販売機での利用)
残高検証システム100は、電子決済を行う自動販売機でも構成可能である。上述の実施の形態において、店舗端末3が行う残高配信処理、残高検証処理を自動販売機が行う。ただし、自動販売機は店舗と比較して不特定多数が利用すると考えられるため、残高配信処理では、常連であるか否かの判定は行なわない。自動販売機は相手先を限定せずに、残高情報を配信する。
(Use in vending machines)
The balance verification system 100 can also be configured as a vending machine that performs electronic payments. In the above-described embodiment, the balance distribution process and balance verification process performed by the store terminal 3 are performed by the vending machine. However, since vending machines are considered to be used by an unspecified number of people compared to stores, the balance distribution process does not determine whether a customer is a regular or not. The vending machine distributes balance information to any recipient.

(すれ違いネットワークの拡張)
上述のすれ違いネットワークでは、ユーザの端末間で残高情報の交換を行ったが、より多くのユーザが残高を共有し合えるように、仲介する機器を採用する。例えば、交通信号機、又は、電柱等に、通信機を取り付け、残高情報の配信、検証を行う。通信機は図12に示した他人残高交換処理を、マスタとして、又は、スレーブとして、端末と行う。なお、通信機は自らの残高情報を持たない前提であるから、保有する残高情報を全て他人残高情報として端末へ送信する。
(Expansion of the StreetPass network)
In the above-mentioned StreetPass network, balance information is exchanged between user terminals, but to allow more users to share their balances, an intermediary device is employed. For example, a communication device is attached to a traffic light or a utility pole to distribute and verify balance information. The communication device performs the other party balance exchange process shown in Figure 12 with the terminal as a master or slave. Note that since the communication device is assumed not to have its own balance information, it transmits all of its balance information to the terminal as other party balance information.

図18は通信機のハードウェア構成例を示すブロック図である。通信機5は制御部51、主記憶部52、補助記憶部53、通信部54及び近距離通信部55を含む。各部はバスBにより接続されている。 Figure 18 is a block diagram showing an example of the hardware configuration of a communication device. The communication device 5 includes a control unit 51, a main memory unit 52, an auxiliary memory unit 53, a communication unit 54, and a short-range communication unit 55. Each unit is connected by a bus B.

制御部51は、一又は複数のCPU、MPU、GPU等の演算処理装置を有する。制御部51は、補助記憶部53に記憶された制御プログラム5P(プログラム、プログラム製品)を読み出して実行することにより、種々の情報処理、制御処理等を行い、各種の機能部を実現する。 The control unit 51 has one or more arithmetic processing units such as a CPU, MPU, GPU, etc. The control unit 51 reads and executes a control program 5P (program, program product) stored in the auxiliary storage unit 53, thereby performing various information processing, control processing, etc., and realizing various functional units.

主記憶部52は、SRAM、DRAM、フラッシュメモリ等である。主記憶部52は主として制御部51が演算処理を実行するために必要なデータを一時的に記憶する。 The main memory unit 52 is an SRAM, DRAM, flash memory, etc. The main memory unit 52 mainly temporarily stores data required by the control unit 51 to perform arithmetic processing.

補助記憶部53はハードディスク又はSSD等であり、制御部51が処理を実行するために必要な制御プログラム5Pや各種DBを記憶する。補助記憶部53は、残高DB531を記憶する。残高DB531のレコードレイアウトは第1端末1が備える他人残高DB132と同様である。補助記憶部53は通信機5と別体であって、外部接続された外部記憶装置であってもよい。 The auxiliary memory unit 53 is a hard disk or SSD, etc., and stores the control program 5P and various DBs required for the control unit 51 to execute processing. The auxiliary memory unit 53 stores the balance DB 531. The record layout of the balance DB 531 is the same as the other person's balance DB 132 provided in the first terminal 1. The auxiliary memory unit 53 is separate from the communication device 5 and may be an external storage device connected externally.

通信部54はネットワークNを介して、店舗端末3等と通信を行う。制御部51が通信部54を用い、ネットワークN等を介して他のコンピュータから制御プログラム5Pをダウンロードし、補助記憶部53に記憶してもよい。 The communication unit 54 communicates with the store terminal 3 and the like via the network N. The control unit 51 may use the communication unit 54 to download the control program 5P from another computer via the network N and store it in the auxiliary memory unit 53.

近距離通信部55は、NFC規格、Bluetooth(登録商標)規格、赤外線通信規格、WiFi(登録商標)規格などにしたがった通信を行う。制御部51は近距離通信部55を介して、端末とP2Pの通信を行う。 The short-range communication unit 55 performs communication in accordance with the NFC standard, Bluetooth (registered trademark) standard, infrared communication standard, Wi-Fi (registered trademark) standard, etc. The control unit 51 performs P2P communication with the terminal via the short-range communication unit 55.

図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に記憶してもよい。 Figure 19 is a flowchart showing an example of the balance exchange process. In Figure 19, the terminal may be either the first terminal 1 or the second terminal 2, but the following explanation will be based on the first terminal 1. The control unit 51 of the communication device 5 performs polling (step S141). The control unit 11 of the first terminal 1 receives the polling signal (step S142). The control unit 11 responds to the communication device 5 (step S143). The control unit 11 includes information on whether or not the first terminal 1 has a third party balance in the response signal. The control unit 51 of the communication device 5 receives the response (step S144). The control unit 51 determines whether or not to request third party balance information (step S145). The control unit 51 determines from the response signal whether or not the first terminal 1 has third party balance information. The control unit 11 determines to request the third party balance information if the response signal indicates that the first terminal 1 has the third party balance information, and determines not to request the third party balance information if the response signal indicates that the first terminal 1 does not have the third party balance information. If the control unit 51 determines not to request other users' balance information (NO in step S145), the process proceeds to step S152. If the control unit 51 determines to request other users' balance information (YES in step S145), the control unit 51 sends a balance information request to the first terminal 1 (step S146). The control unit 11 of the first terminal 1 receives the request (step S147). The control unit 11 sends the other users' balance information stored in the other users' balance DB 132 to the communication device 5 (step S148). Note that the user's own balance information cannot be included in the other users' balance information to be sent. The control unit 51 of the communication device 5 receives the other users' balance information (step S149). The control unit 51 compares the received other users' balance information with the balance information stored in the balance DB 531 using the user ID and discards the older balance information (step S150). The control unit 51 stores the other users' balance information in the balance DB 531 (step S151). When storing the received balance information in the balance DB 532, the reception date and time of the received balance information is used instead of the current value. The control unit 51 determines whether it has balance information to send to the first terminal 1 (step S152). The control unit 51 determines that it has balance information to send if it has any balance information other than the other person's balance information received from the first terminal 1, or if it has any balance information newer than the received other person's balance information. If the control unit 51 determines that it has balance information to send (YES in step S152), it selects the balance information to send (step S153). The control unit 51 sends the selected balance information to the first terminal 1 (step S154). The control unit 11 of the first terminal 1 receives the other person's balance information (step S155). The control unit 11 of the first terminal 1 stores the other person's balance information in the other person's balance DB 132 (step S156) and ends the process. If the control unit 51 determines that it does not have balance information to send (NO in step S152), it sends a message to that effect to the first terminal 1 (step S157). The control unit 11 of the first terminal 1 receives a message that the communication device 5 does not have balance information to send to others (step S158) and ends the process. Note that the communication device 5 may also receive the end user's balance information from the store terminal 3 and store it in the balance DB 531.

図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)、処理を終了する。 Figure 20 is a flowchart showing another example of the balance verification process. This balance verification process is performed in disaster mode, similar to the process shown in Figure 10. A first user visits a store and requests electronic payment to pay for a purchase. The control unit 11 of terminal 1 sends a payment request to the store terminal 3. The payment request includes the user ID, balance, and service code (optional, same below). The control unit 31 of the store terminal 3 receives the request (step S171). The control unit 31 sends a verification request to the communication device 5 (step S172). The verification request includes at least the user ID and balance. The control unit 51 of the communication device 5 receives the verification request (step S173). The control unit 51 performs polling (step S174). The signal sent as polling includes the user ID and service code of the first user. The control unit 51 starts an interval timer (step S175). The control unit 51 determines whether balance information has been received (step S176). If the control unit 51 determines that it has not received the balance information (NO in step S176), it proceeds to step S178. If the control unit 51 determines that it has received the balance information (YES in step S176), it stores the balance information in a temporary storage area provided in the auxiliary storage unit 53 or the like (step S177). The control unit 51 determines whether a timeout has occurred (step S178). If the control unit 51 determines that a timeout has not occurred (NO in step S178), it returns the process to step S176. If the control unit 51 determines that a timeout has occurred (YES in step S178), it stops the interval timer (step S179). The control unit 51 compares the collected balance stored in the temporary storage area with the declared balance, and determines whether the declared balance is valid and whether to permit the settlement (step S180). The determination method is the same as the method described above. If the declared balance is valid and exceeds the settlement amount, the control unit 51 determines that the settlement is permitted; otherwise, it determines that the settlement is not permitted. The control unit 51 sends the determination result to the store terminal 3 (step S181). The control unit 31 of the store terminal 3 receives the determination result (step S182). The control unit 31 determines whether the determination result is permission (step S183). If the control unit 31 determines that the determination result is permission (YES in step S183), the control unit 31 performs the payment (step S184) and ends the process. Note that if the device performing the payment is another device such as a POS register, a payment instruction is sent to that device. The payment instruction includes payment information (user ID, declared balance, payment amount, service code, etc.). If the control unit 31 determines that the determination result is permission not allowed (NO in step S183), a message to that effect is output to the display panel 36 (step S185) and the process ends.

(常連ネットワークの広域化)
上述において、常連ネットワークを利用した残高情報の配信、検証情報の回収は、店舗端末3が近距離無線通信で行うため、配信及び回収可能な地理的範囲が限定される。そこで、店舗端末3以外の端末の利用することにより、範囲の広域化を行う。例えば、上述した通信機5を交通信号機、又は、電柱等に取り付け、残高情報の配信、検証情報の回収を行ってもよい。通信機5が取り付け対象となるのは、人通りがある場所に設置され、電源供給が容易な設置物である。当該通信機5は、店舗端末3、並びに第1端末1及び第2端末2(ユーザ端末)と通信可能である。通信機5と店舗端末3との通信は、有線又は無線のいずれでも構わないが、データの改ざんを防ぐため、暗号化通信することが望ましい。また、通信機5と第1端末1及び第2端末2との通信は、暗号化された近距離無線通信を想定するが、それに限らない。
(Expanding the network of regular customers)
In the above description, the distribution of balance information and the collection of verification information using the regular customer network are performed by the store terminal 3 via short-range wireless communication, which limits the geographical range in which distribution and collection are possible. Therefore, the range can be expanded by using a terminal other than the store terminal 3. For example, the above-mentioned communication device 5 may be attached to a traffic light, a utility pole, or the like to distribute balance information and collect verification information. The communication device 5 is installed in a location with high foot traffic and easily accessible for power. The communication device 5 can communicate with the store terminal 3, as well as the first terminal 1 and the second terminal 2 (user terminals). Communication between the communication device 5 and the store terminal 3 may be wired or wireless, but encrypted communication is desirable to prevent data tampering. Furthermore, communication between the communication device 5 and the first terminal 1 and the second terminal 2 is assumed to be encrypted short-range wireless communication, but is not limited to this.

通信機5の動作について説明する。図8に示した残高配信処理において、店舗端末3は通信機5へ、残高情報(残高、第1ユーザのユーザID、及び、残高の更新日時)を送信し、配信依頼を行う。通信機5は残高情報の配信を行う。このとき、図8と同様にポーリングを行い、常連ユーザにのみに残高情報を配信してもよいが、そのためには、店舗端末3が備える常連DB331を通信機が備える必要がある。又は、通信機5は、応答したユーザが常連ユーザであるか否かを店舗端末3へ問い合わせすることが必要となる。通信機5の記憶容量を節約し、又は、通信機5と店舗端末3との通信量を減らすために、配信先を常連ユーザの端末に限らなくともよい。そのようなとき、通信機5は相手先を限定せずに、残高情報を配信する。また、通信機5は、所定時間が経過するまで、繰り返し配信を行ってもよい。 The operation of the communication device 5 will now be described. In the balance distribution process shown in Figure 8, the store terminal 3 sends balance information (balance, user ID of the first user, and balance update date and time) to the communication device 5 and requests distribution. The communication device 5 distributes the balance information. At this time, polling may be performed as in Figure 8 to distribute balance information only to regular users, but to do so, the communication device must be equipped with the regular customer DB 331 provided in the store terminal 3. Alternatively, the communication device 5 must inquire of the store terminal 3 whether the responding user is a regular user. To conserve storage capacity in the communication device 5 or reduce the amount of communication between the communication device 5 and the store terminal 3, the distribution destination may not be limited to the terminals of regular users. In such cases, the communication device 5 distributes balance information without limiting the recipient. The communication device 5 may also repeatedly distribute the balance information until a predetermined time has elapsed.

各実施の形態で記載されている技術的特徴(構成要件)はお互いに組み合わせ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
The technical features (constituent elements) described in each embodiment can be combined with each other, and by combining them, new technical features can be formed.
The embodiments disclosed herein are to be considered as illustrative in all respects and not restrictive. The scope of the present invention is defined by the claims, not by the above meaning, and is intended to include all modifications within the meaning and scope of the claims.

以上の実施の形態に関し、さらに以下の付記を開示する。 The following additional notes are provided regarding the above embodiments.

(付記13)
ユーザ端末、及び、該ユーザ端末と通信可能な端末、と通信可能なコンピュータが、
第1ユーザを特定するための識別情報、残高、及び、日時を含む検証情報を前記第1ユーザの端末装置から取得し、
取得した検証情報を前記第1ユーザとは異なる他の複数のユーザの端末装置へ出力し、
前記第1ユーザの決済時に前記第1ユーザの端末装置から新たに取得した検証情報、及び、他の複数のユーザの端末装置から近距離無線通信により取得した検証情報に基づき、決済を許可するか否かを判定する
処理を行うことを特徴とする情報処理方法。
(Appendix 13)
A user terminal, a terminal capable of communicating with the user terminal, and a computer capable of communicating with the user terminal,
acquiring verification information including identification information for identifying a first user, a balance, and a date and time from a terminal device of the first user;
outputting the acquired verification information to terminal devices of a plurality of other users different from the first user;
An information processing method characterized by performing processing to determine whether to permit payment based on verification information newly acquired from the terminal device of the first user at the time of payment by the first user and verification information acquired via short-range wireless communication from terminal devices of multiple other users.

(付記14)
施設に設けられた決済端末と、決済を行うサーバとの間の通信障害が生じている場合に、判定処理を行う
ことを特徴とする付記13に記載の情報処理方法。
(Appendix 14)
14. The information processing method according to claim 13, further comprising: performing a determination process when a communication failure occurs between a payment terminal installed in a facility and a server that performs payment.

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 ネットワーク
100 Balance verification system 1 First terminal, terminal 11 Control unit 12 Main memory unit 13 Auxiliary memory unit 131 Balance DB
132 Other people's balance DB
133 User ID
134 Transaction history DB
14 Communication unit 15 Near field communication unit 16 Display panel 17 Operation unit 1P Control program 2 Second terminal, terminal 21 Control unit 22 Main memory unit 23 Auxiliary memory unit 231 Balance DB
232 Other people's balance DB
233 User ID
234 Transaction history DB
24 Communication unit 25 Near field communication unit 26 Display panel 27 Operation unit 2P Control program 3 Store terminal 31 Control unit 32 Main memory unit 33 Auxiliary memory unit 331 Regular customer DB
332 Balance DB
333 Transaction history DB
34 Communication unit 35 Near field communication unit 36 Display panel 37 Operation unit 3P Control program 4 Payment system 5 Communication device 51 Control unit 52 Main memory unit 53 Auxiliary memory unit 531 Balance DB
532 Balance DB
54 Communication unit 55 Short-range communication unit 5P Control program B Bus N Network

Claims (10)

施設に設けられた決済端末と通信可能なコンピュータが、
第1ユーザを特定するための識別情報、残高、及び、日時を含む検証情報を前記第1ユーザの端末装置から取得し、
取得した検証情報を前記第1ユーザとは異なる他の複数のユーザの端末装置へ出力し、
前記第1ユーザの決済時に前記第1ユーザの端末装置から新たに取得した検証情報、及び、他の複数のユーザの端末装置から近距離無線通信により取得した、前記第1ユーザの検証情報に基づき、決済を許可するか否かを判定する
処理を行うことを特徴とする情報処理方法。
A computer that can communicate with a payment terminal installed in the facility
acquiring verification information including identification information for identifying a first user, a balance, and a date and time from a terminal device of the first user;
outputting the acquired verification information to terminal devices of a plurality of other users different from the first user;
An information processing method characterized by performing a process of determining whether to permit payment based on verification information newly acquired from the terminal device of the first user at the time of payment by the first user and verification information of the first user acquired via short-range wireless communication from terminal devices of multiple other users.
前記決済端末と、決済を行うサーバとの間の通信障害が生じている場合に、判定処理を行う
ことを特徴とする請求項1に記載の情報処理方法。
2. The information processing method according to claim 1, further comprising: performing a determination process when a communication failure occurs between the payment terminal and a server that performs payment.
前記施設への訪問頻度に基づき常連ユーザを特定し、特定した前記常連ユーザの端末装置から検証情報を取得する
ことを特徴とする請求項1又は請求項2に記載の情報処理方法。
3. The information processing method according to claim 1, further comprising: identifying a regular user based on a frequency of visits to the facility; and acquiring verification information from a terminal device of the identified regular user.
前記施設への訪問頻度に基づき常連ユーザを特定し、特定した前記常連ユーザの端末装置へ前記第1ユーザの検証情報を出力する
ことを特徴とする請求項1から請求項3のいずれか一項に記載の情報処理方法。
The information processing method according to any one of claims 1 to 3, further comprising identifying a regular user based on a frequency of visits to the facility, and outputting verification information of the first user to a terminal device of the identified regular user.
前記常連ユーザの端末装置から取得した検証情報、又は、該常連ユーザの端末装置からP2Pで検証情報を取得した他のユーザの端末装置から取得した検証情報に基づき決済を許可するか否かを判定する
ことを特徴とする請求項4に記載の情報処理方法。
The information processing method according to claim 4, characterized in that it is determined whether to allow payment based on verification information obtained from the terminal device of the regular user or verification information obtained from the terminal device of another user who has obtained verification information from the terminal device of the regular user via P2P.
前記端末装置は、前記検証情報を所定タイミングで消去する
ことを特徴とする請求項1から請求項5のいずれか一項に記載の情報処理方法。
The information processing method according to claim 1 , wherein the terminal device erases the verification information at a predetermined timing.
前記第1ユーザの残高が、他のユーザから取得した残高よりも高い場合には決済を許可しないと判定する
ことを特徴とする請求項1から請求項6のいずれか一項に記載の情報処理方法。
The information processing method according to claim 1 , further comprising determining that the payment is not permitted if the balance of the first user is higher than the balance acquired from the other user.
前記第1ユーザの残高が、所定数以上の他のユーザの端末装置から取得した残高と一致した場合に、決済を許可すると判定する
ことを特徴とする請求項1から請求項7のいずれか一項に記載の情報処理方法。
The information processing method according to any one of claims 1 to 7, characterized in that it is determined that payment is permitted when the balance of the first user matches the balances obtained from the terminal devices of a predetermined number or more other users.
第1ユーザを特定するための識別情報、残高、及び、日時を含む検証情報を前記第1ユーザの端末装置から取得する取得部と、
取得した検証情報を前記第1ユーザとは異なる他の複数のユーザの端末装置へ出力する出力部と、
前記第1ユーザの決済時に前記第1ユーザの端末装置から新たに取得した検証情報、及び、他の複数のユーザの端末装置から近距離無線通信により取得した、前記第1ユーザの検証情報に基づき、決済を許可するか否かを判定する判定部と
を備えることを特徴とする情報処理装置。
an acquisition unit that acquires verification information including identification information for identifying a first user, a balance, and a date and time from a terminal device of the first user;
an output unit that outputs the acquired verification information to terminal devices of a plurality of other users different from the first user;
and a determination unit that determines whether to permit payment based on verification information newly acquired from the terminal device of the first user at the time of payment by the first user and verification information of the first user acquired via short-range wireless communication from terminal devices of multiple other users.
決済端末と通信可能なコンピュータに、
第1ユーザを特定するための識別情報、残高、及び、日時を含む検証情報を前記第1ユーザの端末装置から取得し、
取得した検証情報を前記第1ユーザとは異なる他の複数のユーザの端末装置へ出力し、
前記第1ユーザの決済時に前記第1ユーザの端末装置から新たに取得した検証情報、及び、他の複数のユーザの端末装置から近距離無線通信により取得した、前記第1ユーザの検証情報に基づき、決済を許可するか否かを判定する
処理を実行させることを特徴とするコンピュータプログラム。
A computer that can communicate with the payment terminal
acquiring verification information including identification information for identifying a first user, a balance, and a date and time from a terminal device of the first user;
outputting the acquired verification information to terminal devices of a plurality of other users different from the first user;
A computer program that executes a process to determine whether to permit a payment based on verification information newly acquired from the terminal device of the first user at the time of the payment by the first user and verification information of the first user acquired via short-range wireless communication from terminal devices of multiple other users.
JP2022034633A 2022-03-07 2022-03-07 Information processing method, computer program, and information processing device Active JP7744854B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022034633A JP7744854B2 (en) 2022-03-07 2022-03-07 Information processing method, computer program, and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022034633A JP7744854B2 (en) 2022-03-07 2022-03-07 Information processing method, computer program, and information processing device

Publications (2)

Publication Number Publication Date
JP2023130136A JP2023130136A (en) 2023-09-20
JP7744854B2 true JP7744854B2 (en) 2025-09-26

Family

ID=88024816

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022034633A Active JP7744854B2 (en) 2022-03-07 2022-03-07 Information processing method, computer program, and information processing device

Country Status (1)

Country Link
JP (1) JP7744854B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2025025401A (en) 2023-08-09 2025-02-21 日本精工株式会社 Linear guide device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001067529A (en) 1999-08-24 2001-03-16 Ntt Data Corp Prepaid card management system
JP2015005135A (en) 2013-06-20 2015-01-08 株式会社エヌ・ティ・ティ・データ Reading apparatus, reading method, program, and authentication system
JP2017199245A (en) 2016-04-28 2017-11-02 京セラドキュメントソリューションズ株式会社 Settlement information management system, inquiry device, image processor, and terminal apparatus
WO2019064635A1 (en) 2017-09-29 2019-04-04 日本電気株式会社 Settlement control system, settlement control device, terminal device, settlement control method, processing method, and program
JP2020134958A (en) 2019-02-12 2020-08-31 株式会社メルカリ Program, information processing method, and information processing device
US20210326838A1 (en) 2017-10-27 2021-10-21 International Business Machines Corporation Processing mobile payments when disconnected from payment servers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001067529A (en) 1999-08-24 2001-03-16 Ntt Data Corp Prepaid card management system
JP2015005135A (en) 2013-06-20 2015-01-08 株式会社エヌ・ティ・ティ・データ Reading apparatus, reading method, program, and authentication system
JP2017199245A (en) 2016-04-28 2017-11-02 京セラドキュメントソリューションズ株式会社 Settlement information management system, inquiry device, image processor, and terminal apparatus
WO2019064635A1 (en) 2017-09-29 2019-04-04 日本電気株式会社 Settlement control system, settlement control device, terminal device, settlement control method, processing method, and program
US20210326838A1 (en) 2017-10-27 2021-10-21 International Business Machines Corporation Processing mobile payments when disconnected from payment servers
JP2020134958A (en) 2019-02-12 2020-08-31 株式会社メルカリ Program, information processing method, and information processing device

Also Published As

Publication number Publication date
JP2023130136A (en) 2023-09-20

Similar Documents

Publication Publication Date Title
US12014338B2 (en) Device for directly transmitting electronic coin data records to another device, and payment system
EP3438903B1 (en) Hierarchical network system, and node and program used in same
CN109741039B (en) Accounting method, mine pool server, terminal equipment, mine excavation node and mine pool
CN108846673B (en) Block data processing method, device, equipment and storage medium
KR101835520B1 (en) Method for providing united point service using updated status of balance database with blockchain and server using the same
KR101887964B1 (en) Blockchain core server having security ability based on quantum random number, blockchain security method and electronic cash exchange system
JP6404435B1 (en) Item transaction system and item transaction program
CN111488372B (en) A data processing method, apparatus and storage medium
KR20190028517A (en) Distributing digital assets by transactional devices
KR101835521B1 (en) Method for providing united point service using updated status of balance database by respective blocks in blockchain and server using the same
US20240275600A1 (en) Secure element, method for registering tokens, and token reference register
KR101835519B1 (en) Method for providing united point service in use of merkle tree structure on the basis of unspent transaction output protocol and server using the same
US12450615B2 (en) Method, terminal, and coin register for transmitting electronic coin data sets
JP2018014567A (en) Control method, information processing system, computer and control program
JP7638041B1 (en) Program, method, and information processing system
JP2018139078A (en) Signature support server, relay server, signature support program, and relay program
CN113409078A (en) Point issuing method, device, equipment and storage medium
JP7744854B2 (en) Information processing method, computer program, and information processing device
KR101835518B1 (en) Method for providing united point service in use of unspent transaction output based protocol and server using the same
JP7359481B1 (en) Information processing device, method, program, and system production method
CN111008251B (en) Data processing method and device
KR102406388B1 (en) A method and an apparatus for master key management based on sharing algorithms for block chain transactions
KR20210077133A (en) A Program for Blockchain Network Operation
KR102671054B1 (en) Method and system for payment for central bank digital currency
US11941598B2 (en) Communication system, communication method, and sensor unit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20241007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250610

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250909

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250912

R150 Certificate of patent or registration of utility model

Ref document number: 7744854

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150