JP2017123116A - Load distribution system, load distribution device, load distribution method, and program - Google Patents

Load distribution system, load distribution device, load distribution method, and program Download PDF

Info

Publication number
JP2017123116A
JP2017123116A JP2016002829A JP2016002829A JP2017123116A JP 2017123116 A JP2017123116 A JP 2017123116A JP 2016002829 A JP2016002829 A JP 2016002829A JP 2016002829 A JP2016002829 A JP 2016002829A JP 2017123116 A JP2017123116 A JP 2017123116A
Authority
JP
Japan
Prior art keywords
edge server
store
transaction data
edge
state information
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.)
Granted
Application number
JP2016002829A
Other languages
Japanese (ja)
Other versions
JP6657972B2 (en
Inventor
秀行 草野
Hideyuki Kusano
秀行 草野
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2016002829A priority Critical patent/JP6657972B2/en
Publication of JP2017123116A publication Critical patent/JP2017123116A/en
Application granted granted Critical
Publication of JP6657972B2 publication Critical patent/JP6657972B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a technology for distributing loads in electronic transactions between a user and a store.SOLUTION: A load distribution system comprises: a user terminal that a user has; a store terminal installed in a store; a plurality of edge servers for mediating transaction data related to transactions between the user and the store using an electronic value having a predetermined cash value in accordance with a predetermined protocol; and a load distribution device. The load distribution device comprises: an acquisition part for acquiring state information indicating a state of each of the plurality of edge servers; and a determination part for determining the edge server which calculates a nonce value with respect to a transaction data group including one or more transaction data among the plurality of edge servers on the basis of the acquired state information in each of the plurality of edge servers.SELECTED DRAWING: Figure 1

Description

本発明は、負荷分散システム、負荷分散装置、負荷分散方法、および、プログラムに関する。   The present invention relates to a load distribution system, a load distribution device, a load distribution method, and a program.

クレジットカード、IC(Integrated Circuit)カードなどを用いた電子決済が行われている。例えば、特許文献1には、携帯電話を用いた電子マネーによる決済処理に関する技術が記載されている。   Electronic settlement using a credit card, an IC (Integrated Circuit) card, or the like is performed. For example, Patent Document 1 describes a technique related to payment processing using electronic money using a mobile phone.

特開2014−11762号公報JP 2014-11762 A

特定の地域で利用可能な、商品券が各地域で発行されている。このような商品券は、紙媒体であることが多い。しかしながら、紙媒体の商品券は、発行コストがかかる。また、紙媒体の商品券の購入には、購入可能な店舗まで利用者が赴く必要があるため、この店舗に赴くことができない利用者は、商品券を購入できない。また、利用者にとっても、紙媒体は、紛失してしまう可能性がある。   Gift certificates that can be used in specific areas are issued in each area. Such gift certificates are often paper media. However, a paper-type gift certificate requires an issuance cost. In addition, since it is necessary for a user to go to a store that can be purchased in order to purchase a paper-type gift certificate, a user who cannot go to this store cannot purchase a gift certificate. Also for the user, the paper medium may be lost.

また、特定の地域で利用可能な商品券を、例えば、クレジットカード、IC(Integrated Circuit)カードなどを用いた既存の電子決済に適用した場合、各店舗には、例えば、カードリーダライタのような設備の投資費および維持費、電子決済利用のための手数料がかかってしまう。また、利用者も上記カードを保有する必要がある。   In addition, when a gift certificate that can be used in a specific area is applied to an existing electronic payment using, for example, a credit card or an IC (Integrated Circuit) card, each store has, for example, a card reader / writer. Equipment investment and maintenance costs and fees for using electronic payment will be charged. The user also needs to hold the card.

これらの課題を解決するために、特定の地域で利用可能な商品券の決済を、例えば、P2P(peer−to−peer)型の決済網を利用した電子取引で行うことが考えられる。このような電子取引では、特定の地域でのみの取引にもかかわらず、決済処理に所定時間(例えば、10分)を要してしまう。その理由は、このような電子取引では、1以上の取引データをまとめたブロックのハッシュ値(ナンス値)を、上記決済網の参加者の何れかが計算するという計算処理が行われからである。このナンス値は、一般的に、計算量の大きな計算を行うことにより得られる値であるため、計算を行う装置には、大きな負荷が掛かってしまう。   In order to solve these problems, it is conceivable to make a payment for a gift certificate that can be used in a specific region, for example, by electronic transaction using a P2P (peer-to-peer) type payment network. In such an electronic transaction, a predetermined time (for example, 10 minutes) is required for the settlement process despite the transaction only in a specific region. The reason is that in such an electronic transaction, a calculation process is performed in which one of the participants in the payment network calculates a hash value (nonce value) of a block in which one or more transaction data are collected. . Since this nonce value is generally a value obtained by performing a calculation with a large amount of calculation, a large load is applied to the apparatus that performs the calculation.

本発明は上記課題に鑑みてなされたものであり、その目的は、利用者と店舗との間の電子取引における負荷を分散することが可能な技術を提供することにある。   This invention is made | formed in view of the said subject, The objective is to provide the technique which can distribute | distribute the load in the electronic transaction between a user and a shop.

本発明の一態様に係る負荷分散システムは、利用者が有する利用者端末と、店舗に設けられた店舗端末と、所定の金銭的価値を有する電子バリューを用いた、前記利用者と前記店舗との間の取引に関する取引データを所定のプロトコルに従って仲介する複数のエッジサーバと、負荷分散装置とを含み、前記負荷分散装置は、前記複数のエッジサーバの夫々の状態を示す状態情報を取得する取得手段と、前記複数のエッジサーバの夫々における、前記取得した状態情報に基づいて、前記複数のエッジサーバのうち、1以上の前記取引データを含む取引データ群に対するナンス値を計算するエッジサーバを決定する決定手段と、を備える。   The load distribution system according to one aspect of the present invention includes a user terminal owned by a user, a store terminal provided in the store, and the user and the store using an electronic value having a predetermined monetary value. Including a plurality of edge servers that mediate transaction data relating to transactions between the servers according to a predetermined protocol, and a load balancer, wherein the load balancer obtains status information indicating a status of each of the plurality of edge servers And an edge server that calculates a nonce value for a transaction data group including one or more of the transaction data, among the plurality of edge servers, based on the acquired state information in each of the means and the plurality of edge servers Determining means.

また、本発明の一態様に係る負荷分散装置は、所定の金銭的価値を有する電子バリューを用いた、利用者と店舗との間の取引に関する取引データを所定のプロトコルに従って仲介する複数のエッジサーバの夫々の状態を示す状態情報を取得する取得手段と、前記複数のエッジサーバの夫々における、前記取得した状態情報に基づいて、前記複数のエッジサーバのうち、1以上の前記取引データを含む取引データ群に対するナンス値を計算するエッジサーバを決定する決定手段と、を備える。   Further, the load distribution apparatus according to one aspect of the present invention includes a plurality of edge servers that mediate transaction data relating to a transaction between a user and a store using an electronic value having a predetermined monetary value according to a predetermined protocol. A transaction including one or more of the transaction data among the plurality of edge servers based on the acquired state information in each of the plurality of edge servers, and acquisition means for acquiring state information indicating each state of the plurality of edge servers Determining means for determining an edge server for calculating a nonce value for the data group.

また、本発明の一態様に係る負荷分散方法は、所定の金銭的価値を有する電子バリューを用いた、利用者と店舗との間の取引に関する取引データを所定のプロトコルに従って仲介する複数のエッジサーバの夫々の状態を示す状態情報を取得し、前記複数のエッジサーバの夫々における、前記取得した状態情報に基づいて、前記複数のエッジサーバのうち、1以上の前記取引データを含む取引データ群に対するナンス値を計算するエッジサーバを決定する。   The load distribution method according to one aspect of the present invention includes a plurality of edge servers that mediate transaction data relating to transactions between a user and a store using an electronic value having a predetermined monetary value according to a predetermined protocol. State information indicating each of the plurality of edge servers, and based on the acquired state information in each of the plurality of edge servers, a transaction data group including one or more of the transaction data among the plurality of edge servers. The edge server for calculating the nonce value is determined.

なお、上記システム、装置または方法を、コンピュータによって実現するコンピュータプログラム、およびそのコンピュータプログラムが格納されている、コンピュータ読み取り可能な非一時的記録媒体も、本発明の範疇に含まれる。   Note that a computer program that realizes the above-described system, apparatus, or method by a computer and a computer-readable non-transitory recording medium that stores the computer program are also included in the scope of the present invention.

本発明によれば、利用者と店舗との間の電子取引における負荷を分散することができる。   According to the present invention, it is possible to distribute a load in an electronic transaction between a user and a store.

本発明の第1の実施の形態に係るシステムの構成の一例を示す図である。It is a figure which shows an example of a structure of the system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係る負荷分散装置の処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of a process of the load distribution apparatus which concerns on the 1st Embodiment of this invention. 本発明の第2の実施の形態に係るシステムの全体構成の一例を示す図である。It is a figure which shows an example of the whole structure of the system which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係るシステムの全体構成の他の例を示す図である。It is a figure which shows the other example of the whole structure of the system which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係るシステムに含まれる各装置の機能構成の一例を示す機能ブロック図である。It is a functional block diagram which shows an example of a function structure of each apparatus contained in the system which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態における、利用者登録処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of a user registration process in the 2nd Embodiment of this invention. 本発明の第2の実施の形態における、店舗登録処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of a store registration process in the 2nd Embodiment of this invention. 本発明の第2の実施の形態における、決済処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the payment process in the 2nd Embodiment of this invention. 本発明の第2の実施の形態における、決済処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the payment process in the 2nd Embodiment of this invention. 本発明の第2の実施の形態における、決済処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the payment process in the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係るシステムのネットワーク構成の一例を示す図である。It is a figure which shows an example of the network configuration of the system which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係るシステムのネットワーク構成の一例を示す図である。It is a figure which shows an example of the network configuration of the system which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係るシステムのネットワーク構成の一例を示す図である。It is a figure which shows an example of the network configuration of the system which concerns on the 2nd Embodiment of this invention. 本発明の各実施の形態を実現可能なコンピュータ(情報処理装置)のハードウェア構成を例示的に説明する図である。It is a figure which illustrates illustartively the hardware constitutions of the computer (information processing apparatus) which can implement | achieve each embodiment of this invention.

<第1の実施の形態>
本発明の第1の実施の形態について、図面を参照して詳細に説明する。図1は、本発明の第1の実施の形態に係るシステム(負荷分散システム)1の構成の一例を示すブロック図である。なお、図1に示すシステム1は、本発明に特有な構成について示したものであり、図1に示すシステム1が図1に示されていない構成を有していてもよいことは言うまでもない。図1に示す通り、システム1は、負荷分散装置10と、複数のエッジサーバ(40−1〜40−n(n>=2))と、利用者が所持する利用者端末20と、店舗に設けられた店舗端末30とを含む。なお、本実施の形態では、複数のエッジサーバ(40−1〜40−n)の夫々を区別しない場合、または、総称する場合には、これらをエッジサーバ40と呼ぶ。
<First Embodiment>
A first embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing an example of the configuration of a system (load distribution system) 1 according to the first exemplary embodiment of the present invention. The system 1 shown in FIG. 1 shows a configuration unique to the present invention, and it goes without saying that the system 1 shown in FIG. 1 may have a configuration not shown in FIG. As shown in FIG. 1, the system 1 includes a load balancer 10, a plurality of edge servers (40-1 to 40-n (n> = 2)), a user terminal 20 possessed by a user, and a store. And a store terminal 30 provided. In the present embodiment, when each of the plurality of edge servers (40-1 to 40-n) is not distinguished or generically referred to, they are referred to as edge servers 40.

また、図1に示す通り、本実施の形態に係る負荷分散装置10は、取得部11と、決定部12とを備える。なお、負荷分散装置10は、エッジサーバとは異なる装置で実現されることを例に説明を行うが、エッジサーバ内に設けられるものであってもよい。負荷分散装置10がエッジサーバ40内に設けられる場合、負荷分散装置10は、複数のエッジサーバ40の全てに設けられてもよいし、一部のエッジサーバ40に設けられてもよい。また、負荷分散装置10は、例えば、決済処理をまとめて管理する中央決済機関に設けられてもよい。システム1に含まれる複数のエッジサーバ40と利用者端末20と店舗端末30とは、所定のネットワーク上の装置である。所定のネットワークとは、例えば、所定の地域である。   In addition, as illustrated in FIG. 1, the load distribution apparatus 10 according to the present exemplary embodiment includes an acquisition unit 11 and a determination unit 12. Note that the load distribution apparatus 10 is described as an example that is realized by an apparatus different from the edge server, but may be provided in the edge server. When the load distribution apparatus 10 is provided in the edge server 40, the load distribution apparatus 10 may be provided in all of the plurality of edge servers 40, or may be provided in some edge servers 40. Further, the load balancer 10 may be provided, for example, in a central clearing house that collectively manages payment processing. The plurality of edge servers 40, the user terminal 20, and the store terminal 30 included in the system 1 are devices on a predetermined network. The predetermined network is, for example, a predetermined area.

エッジサーバ40は、所定の金銭的価値を有する電子バリュー(仮想通貨、仮想コインとも呼ぶ)を用いた取引に関する取引データを所定のプロトコルに従って仲介する。所定のプロトコルとは、例えば、ブロックチェーン技術が挙げられる。本実施の形態では、所定のプロトコルとして、ブロックチェーン技術を用いるとして説明を行う。   The edge server 40 mediates transaction data relating to a transaction using an electronic value (also referred to as virtual currency or virtual coin) having a predetermined monetary value according to a predetermined protocol. An example of the predetermined protocol is a block chain technology. In the present embodiment, description will be made assuming that the block chain technology is used as the predetermined protocol.

所定の金銭的価値を有する電子バリューとは、ポイントのような実際の紙幣や貨幣が存在しない通貨であってもよいし、実際の紙幣や通貨を基準として電子決済する際に利用する電子貨幣であってもよい。また、所定の金銭的価値を有する電子バリューとは、商品券のような有価証券を電子化したものであってもよい。   The electronic value having a predetermined monetary value may be a currency such as a point where there is no actual banknote or currency, or an electronic currency used when making an electronic payment based on the actual banknote or currency. There may be. The electronic value having a predetermined monetary value may be an electronic value of a securities such as a gift certificate.

負荷分散装置10の取得部11は、複数のエッジサーバ40の夫々の状態を示す状態情報を取得する。取得部11は、状態情報を、複数のエッジサーバ40の夫々から取得してもよいし、複数のエッジサーバ40の夫々の状態を監視する図示しない監視サーバ等から取得してもよい。状態情報は、例えば、エッジサーバ40に掛かる負荷状態を表す負荷状態情報であってもよいし、エッジサーバ40の動作状態を表す動作状態情報であってもよいし、エッジサーバ40が有する性能を表す性能情報であってもよい。状態情報は、例えば、エッジサーバ40のCPU(Central Processing Unit)の使用率、エッジサーバ40に含まれるメモリの使用率等が挙げられるがこれに限定されるものではない。取得部11は、複数のエッジサーバ40の夫々に対する状態情報を、決定部12に供給する。   The acquisition unit 11 of the load distribution apparatus 10 acquires state information indicating each state of the plurality of edge servers 40. The acquisition unit 11 may acquire the state information from each of the plurality of edge servers 40 or may acquire the state information from a monitoring server (not shown) that monitors the respective states of the plurality of edge servers 40. The state information may be, for example, load state information representing a load state applied to the edge server 40, operation state information representing the operation state of the edge server 40, and performance of the edge server 40. It may be performance information to represent. Examples of the state information include, but are not limited to, a usage rate of a CPU (Central Processing Unit) of the edge server 40, a usage rate of a memory included in the edge server 40, and the like. The acquisition unit 11 supplies state information for each of the plurality of edge servers 40 to the determination unit 12.

決定部12は、取得部11から複数のエッジサーバ40の夫々に対する状態情報を受け取る。決定部12は、受け取った状態情報に基づいて、複数のエッジサーバ40のうち、ナンス(nonce)値を計算するエッジサーバを決定する。ナンス値とは、1以上の取引データを含む取引データ群(ブロックとも呼ぶ)に含まれる、該取引データ群固有の値である。決定部12は、状態情報が負荷状態情報の場合、この負荷状態情報に基づいて、複数のエッジサーバ40のうち、例えば、最も負荷が小さいエッジサーバを、ナンス値を計算するエッジサーバとして決定する。   The determination unit 12 receives state information for each of the plurality of edge servers 40 from the acquisition unit 11. Based on the received state information, the determination unit 12 determines an edge server that calculates a nonce value among the plurality of edge servers 40. The nonce value is a value unique to the transaction data group included in a transaction data group (also referred to as a block) including one or more transaction data. When the state information is load state information, the determination unit 12 determines, for example, the edge server having the smallest load among the plurality of edge servers 40 as the edge server for calculating the nonce value based on the load state information. .

図2は、本実施の形態に係る負荷分散装置10の処理の流れの一例を示すフローチャートである。図2に示す通り、取得部11が、複数のエッジサーバの夫々の状態を示す状態情報を取得する(ステップS1)。そして、ステップS1で取得した状態情報に基づいて、決定部12が、複数のエッジサーバのうち、取引データ群のナンス値を計算するエッジサーバを決定する(ステップS2)。以上により、負荷分散装置10は、処理を終了する。   FIG. 2 is a flowchart illustrating an example of a processing flow of the load distribution apparatus 10 according to the present embodiment. As illustrated in FIG. 2, the acquisition unit 11 acquires state information indicating each state of the plurality of edge servers (step S1). And based on the status information acquired at step S1, the determination part 12 determines the edge server which calculates the nonce value of a transaction data group among several edge servers (step S2). Thus, the load distribution apparatus 10 ends the process.

一般的に、ナンス値の計算には、大きな負荷が掛かる。したがって、1つのエッジサーバのみが、複数の取引データ群の夫々のナンス値の計算を行うと、この1つのエッジサーバに大きな負荷が掛かってしまう。しかしながら、本実施の形態に係るシステム1では、負荷分散装置10の決定部12が複数のエッジサーバの夫々の状態情報に基づいて、ナンス値を計算するエッジサーバを決定する。これにより、ナンス値の計算を行うタイミングにおいて、負荷分散装置10は、例えば、負荷がより小さいエッジサーバ、高性能なエッジサーバなど、ナンス値を計算するのに適したエッジサーバを決定することができる。これにより、システム1は、システム1に含まれるある特定のエッジサーバに負荷が掛からないようにすることができる。したがって、システム1は、システム1に含まれるエッジサーバ40の負荷分散を行うことができる。   In general, a large load is applied to the calculation of the nonce value. Therefore, if only one edge server calculates each nonce value of a plurality of transaction data groups, a large load is applied to the one edge server. However, in the system 1 according to the present embodiment, the determination unit 12 of the load distribution apparatus 10 determines the edge server that calculates the nonce value based on the state information of each of the plurality of edge servers. Thereby, at the timing of calculating the nonce value, the load distribution apparatus 10 can determine an edge server suitable for calculating the nonce value, such as an edge server having a smaller load or a high-performance edge server. it can. As a result, the system 1 can prevent a load from being applied to a specific edge server included in the system 1. Therefore, the system 1 can perform load distribution of the edge servers 40 included in the system 1.

また、エッジサーバの負荷分散を行うことにより、システム1は、利用者と店舗との間の取引に対する決済処理の時間を短くすることができる。   Further, by performing load distribution of the edge servers, the system 1 can shorten the time for settlement processing for transactions between the user and the store.

<第2の実施の形態>
次に、上述した第1の実施の形態を基本とする第2の実施の形態について説明する。まず、本実施の形態に係るシステム(負荷分散システム)2の全体構成を、図3を用いて説明する。図3は、本実施の形態に係るシステム2の全体構成の一例を示す図である。図3に示す通り、本実施の形態に係るシステム2は、複数のエッジサーバ(100−1〜100−n(n>=2))と、利用者端末200と、店舗端末300と、を含む。なお、図3に示すシステム2に含まれる装置は、本実施の形態に特有な構成について示したものであり、図3に示すシステム2が、図3に示されていない構成を有していてもよいことは言うまでもない。
<Second Embodiment>
Next, a second embodiment based on the above-described first embodiment will be described. First, the overall configuration of the system (load distribution system) 2 according to the present embodiment will be described with reference to FIG. FIG. 3 is a diagram illustrating an example of the overall configuration of the system 2 according to the present embodiment. As shown in FIG. 3, system 2 according to the present embodiment includes a plurality of edge servers (100-1 to 100-n (n> = 2)), user terminal 200, and store terminal 300. . The apparatus included in the system 2 shown in FIG. 3 shows a configuration unique to the present embodiment, and the system 2 shown in FIG. 3 has a configuration not shown in FIG. Needless to say.

なお、本実施の形態では、複数のエッジサーバ(100−1〜100−n)の夫々を区別しない場合、または、総称する場合には、これらをエッジサーバ100と呼ぶ。また、図3では、利用者端末200と、店舗端末300とを1つずつ示しているが、利用者端末200と店舗端末300とは、複数であってもよい。   In the present embodiment, when each of the plurality of edge servers (100-1 to 100-n) is not distinguished or collectively referred to, they are referred to as the edge server 100. 3 shows one user terminal 200 and one store terminal 300, but there may be a plurality of user terminals 200 and store terminals 300.

エッジサーバ100と、利用者端末200と、店舗端末300とは、ネットワークを介して、互いに通信可能に接続している。   The edge server 100, the user terminal 200, and the store terminal 300 are communicably connected to each other via a network.

店舗端末300は、複数の店舗の夫々に設置された、例えば、POS(Point Of Sales)端末によって実現される。店舗端末300は、1つの店舗において、複数であってもよい。また、店舗端末300は、1以上のPOS端末が設置されている店舗において、1以上のPOS端末から出力された情報を管理するPOSシステムであってもよい。また、店舗が電子商店の場合、店舗端末300は、例えば、該電子商店を関するサーバであってもよい。また、本実施の形態では、店舗は、所定の範囲内(例えば、所定の地域)で商品の販売を行っている店舗であるとする。   The store terminal 300 is realized by, for example, a POS (Point Of Sales) terminal installed in each of a plurality of stores. The store terminal 300 may be plural in one store. The store terminal 300 may be a POS system that manages information output from one or more POS terminals in a store where one or more POS terminals are installed. When the store is an electronic store, the store terminal 300 may be, for example, a server related to the electronic store. In this embodiment, it is assumed that the store is a store that sells products within a predetermined range (for example, a predetermined region).

利用者端末200は、利用者が所持する端末であり、例えば、スマートフォン、タブレットおよびウェアラブル端末等の移動端末であってもよく、デスクトップ型のパーソナルコンピュータであってもよい。利用者端末200は、所定の範囲内で商品の販売を行う店舗と、取引を行うことができる端末である。   The user terminal 200 is a terminal possessed by the user, and may be a mobile terminal such as a smartphone, a tablet, and a wearable terminal, or may be a desktop personal computer. The user terminal 200 is a terminal that can perform transactions with stores that sell products within a predetermined range.

エッジサーバ100は、上述した所定の範囲内の店舗が有する店舗端末300、および、所定の範囲内の店舗を利用可能な利用者の利用者端末200に接続するサーバである。エッジサーバ100は、例えば、所定の閉域網上に配置されている。エッジサーバ100は、所定の金銭的価値を有する電子バリューを用いた利用者と店舗との間の取引に関する取引データを所定のプロトコルに従って仲介する。本実施の形態では、所定のプロトコルが、ブロックチェーン技術であるとして説明を行う。また、本実施の形態では、電子バリューを仮想通貨と呼ぶ。   The edge server 100 is a server connected to the store terminal 300 possessed by the store within the predetermined range and the user terminal 200 of the user who can use the store within the predetermined range. The edge server 100 is arranged on a predetermined closed network, for example. The edge server 100 mediates transaction data regarding a transaction between a user and a store using an electronic value having a predetermined monetary value according to a predetermined protocol. In the present embodiment, description will be made assuming that the predetermined protocol is a block chain technology. In the present embodiment, the electronic value is called a virtual currency.

なお、本実施の形態では、図3に示す通り、第1の実施の形態において説明した負荷分散装置10が複数のエッジサーバ100の夫々に含まれる構成について説明する。なお、負荷分散装置10は、一部のエッジサーバ100に含まれるものであってもよい。また、負荷分散装置10は、エッジサーバ100とは異なる装置内に設けられるものであってもよい。負荷分散装置10がエッジサーバ100とは異なる装置内に設けられる例を、図4を用いて説明する。図4は、システム2の他の構成の一例を示す図である。図4に示すシステム2に含まれる負荷分散装置10は、エッジサーバ100とネットワークを介して接続された、決済処理をまとめて管理する中央決済機関に設けられるものであってもよい。   In the present embodiment, as shown in FIG. 3, a configuration in which the load distribution apparatus 10 described in the first embodiment is included in each of the plurality of edge servers 100 will be described. The load balancer 10 may be included in some edge servers 100. Further, the load distribution device 10 may be provided in a device different from the edge server 100. An example in which the load distribution apparatus 10 is provided in an apparatus different from the edge server 100 will be described with reference to FIG. FIG. 4 is a diagram illustrating an example of another configuration of the system 2. The load distribution apparatus 10 included in the system 2 illustrated in FIG. 4 may be provided in a central settlement institution that collectively manages settlement processing, connected to the edge server 100 via a network.

図5は、本実施の形態に係るシステム2における、エッジサーバ100、利用者端末200および店舗端末300の機能構成の一例を示す機能ブロック図である。   FIG. 5 is a functional block diagram illustrating an example of functional configurations of the edge server 100, the user terminal 200, and the store terminal 300 in the system 2 according to the present embodiment.

(利用者端末200)
図5に示す通り、本実施の形態に係るシステム2における利用者端末200は、生成部210と、送信部220と、記憶部230と、取得部240と、受信部250とを備えている。なお、本実施の形態では、店舗または利用者が所持する仮想通貨が管理(保持)されている場所を仮想通貨の財布の場所と呼ぶ。つまり、説明の便宜上、この場所に管理された仮想通貨をひとまとめにしたものを、仮想通貨の財布と呼ぶ。仮想通貨の財布には、該財布を有する店舗または利用者が保持する仮想通貨が含まれるとも言える。仮想通貨の財布は、例えばフォルダ等で表現することができる。この場合、仮想通貨の財布の場所とは、このフォルダの場所である。
(User terminal 200)
As illustrated in FIG. 5, the user terminal 200 in the system 2 according to the present embodiment includes a generation unit 210, a transmission unit 220, a storage unit 230, an acquisition unit 240, and a reception unit 250. In the present embodiment, a place where a virtual currency possessed by a store or a user is managed (held) is called a virtual currency wallet location. That is, for convenience of explanation, a group of virtual currencies managed in this place is called a virtual currency wallet. It can be said that the virtual currency wallet includes a virtual currency held by a store or user having the wallet. The virtual currency wallet can be expressed by a folder, for example. In this case, the location of the virtual currency wallet is the location of this folder.

取得部240は、店舗端末300から、商品情報と、店舗アドレスとを取得する。取得部240による商品情報と店舗アドレスとの取得方法は、後述する。取得部240が店舗端末300から取得した商品情報と店舗アドレスとは、店舗端末300の秘密鍵で暗号化されている。取得部240は、この暗号化された商品情報と店舗アドレスとを生成部210に供給する。   The acquisition unit 240 acquires product information and a store address from the store terminal 300. A method for acquiring the product information and the store address by the acquisition unit 240 will be described later. The product information and store address acquired by the acquisition unit 240 from the store terminal 300 are encrypted with the secret key of the store terminal 300. The acquisition unit 240 supplies the encrypted product information and store address to the generation unit 210.

生成部210は、利用者固有の秘密鍵と公開鍵とを生成する。生成部210が生成した秘密鍵と公開鍵とを、夫々、利用者の秘密鍵、利用者の公開鍵と呼ぶ。この秘密鍵は、数字と記号との組み合わせで表現されるものであってもよい。生成部210は、まず、秘密鍵を生成し、生成した秘密鍵に基づいて、公開鍵を生成してもよい。   The generation unit 210 generates a user-specific secret key and public key. The secret key and the public key generated by the generation unit 210 are referred to as a user secret key and a user public key, respectively. This secret key may be expressed by a combination of numbers and symbols. The generation unit 210 may first generate a secret key, and generate a public key based on the generated secret key.

また、生成部210は、生成した秘密鍵と公開鍵とを用いて、利用者端末200を有する利用者が利用する、仮想通貨の財布の場所(例えば、口座番号)に相当するアドレスを生成する。生成部210は、秘密鍵と公開鍵とを用いて、例えば、ハッシュ計算を行うことにより、上記アドレスを生成する。利用者端末200が生成するアドレスを、以下では利用者アドレスと呼ぶ。   Further, the generation unit 210 generates an address corresponding to the location (for example, account number) of the virtual currency wallet used by the user having the user terminal 200, using the generated private key and public key. . The generation unit 210 generates the address by performing, for example, hash calculation using the secret key and the public key. The address generated by the user terminal 200 is hereinafter referred to as a user address.

これにより、利用者は、利用者アドレスによって示される場所で管理された仮想通貨を用いて、取引を行うことができる。   Thereby, the user can perform a transaction using the virtual currency managed at the place indicated by the user address.

本実施の形態では、この利用者アドレスによって示される、仮想通貨の財布の場所は、利用者端末200内であるとするが、利用者端末200と通信可能に接続された他の装置上であってもよい。例えば、仮想通貨の財布の場所は、インターネットを介して接続された他のサーバ上であってもよい。   In the present embodiment, it is assumed that the wallet of the virtual currency wallet indicated by the user address is in the user terminal 200, but it is on another device that is communicably connected to the user terminal 200. May be. For example, the location of the virtual currency wallet may be on another server connected via the Internet.

また、仮想通貨の財布に含まれる仮想通貨は、該財布内の仮想通貨を利用可能に設定された複数の利用者端末200で利用されてもよい。例えば、利用者が複数の利用者端末200を有している場合、これら複数の利用者端末200の夫々において仮想通貨の財布を利用可能な設定を行うことによって、利用者が複数の利用者端末200の夫々から該財布内の仮想通貨を利用できるようにしてもよい。   Further, the virtual currency included in the virtual currency wallet may be used by a plurality of user terminals 200 set to be able to use the virtual currency in the wallet. For example, when a user has a plurality of user terminals 200, the user can set a plurality of user terminals 200 by making settings so that a virtual currency wallet can be used in each of the plurality of user terminals 200. You may make it possible to use the virtual currency in the wallet from 200 of each.

生成部210は、生成した秘密鍵、公開鍵および利用者アドレスを、互いに関連付けて、記憶部230に格納する。また、生成部210は、生成した公開鍵を、送信部220に供給する。   The generation unit 210 stores the generated secret key, public key, and user address in the storage unit 230 in association with each other. Further, the generation unit 210 supplies the generated public key to the transmission unit 220.

また、生成部210は、取得部240から商品情報と店舗アドレスとを受け取る。生成部210は、受け取った商品情報および店舗情報と、利用者アドレスとを含み、利用者の秘密鍵で暗号化した取引データを生成する。   Further, the generation unit 210 receives product information and a store address from the acquisition unit 240. The generation unit 210 generates transaction data including the received product information and store information, and a user address, and encrypted with the user's private key.

また、生成部210は、受信部250から、店舗の公開鍵を受け取ると、利用者の電子署名を生成する。また、生成部210は、受信部250がブロックチェーンにブロック(取引データ群)が追加される度に受信する、追加されたブロックのハッシュ値を、受信部250から受け取る。生成部210は、取引データに対して、受け取ったハッシュ値と、受け取った店舗の公開鍵とを加えたデータのハッシュ値を計算する。そして、計算したハッシュ値を、利用者の秘密鍵で暗号化し、暗号化したハッシュ値を電子署名として生成する。そして、生成部210は、生成した電子署名を添付した取引データを生成する。生成部210は、この電子署名を添付した取引データを送信部220に供給する。   Further, upon receiving the store public key from the receiving unit 250, the generating unit 210 generates a digital signature of the user. Further, the generation unit 210 receives the hash value of the added block received from the reception unit 250 every time the reception unit 250 adds a block (transaction data group) to the block chain. The generation unit 210 calculates a hash value of data obtained by adding the received hash value and the received store public key to the transaction data. Then, the calculated hash value is encrypted with the user's private key, and the encrypted hash value is generated as an electronic signature. Then, the generation unit 210 generates transaction data attached with the generated electronic signature. The generation unit 210 supplies the transaction data attached with the electronic signature to the transmission unit 220.

送信部220は、生成部210から、生成部210が生成した、利用者の公開鍵を受け取る。送信部220は、エッジサーバ100に対し、受け取った利用者の公開鍵を送信する。送信部220が利用者の公開鍵を送信する宛先(送信先)のエッジサーバ100は、複数のエッジサーバ100の何れであってもよいし、利用者端末200との距離が最も近いエッジサーバ100であってもよい。なお、送信部220は、利用者の公開鍵の送信先のエッジサーバ100に関する情報を、記憶部230に格納してもよい。例えば、送信部220は、利用者端末200が通信可能なエッジサーバ100(例えば、利用者端末200との距離が最も近いエッジサーバ100)に関する情報を、記憶部230に格納してもよい。エッジサーバ100に関する情報は、たとえば、エッジサーバ100のIP(Internet Protocol)アドレスであってもよいし、その他の情報であってもよい。   The transmission unit 220 receives the user's public key generated by the generation unit 210 from the generation unit 210. The transmission unit 220 transmits the received public key of the user to the edge server 100. The destination edge server 100 to which the transmission unit 220 transmits the user's public key may be any of the plurality of edge servers 100, and the edge server 100 that is closest to the user terminal 200. It may be. The transmission unit 220 may store information on the edge server 100 that is the transmission destination of the user's public key in the storage unit 230. For example, the transmission unit 220 may store information on the edge server 100 with which the user terminal 200 can communicate (for example, the edge server 100 closest to the user terminal 200) in the storage unit 230. The information related to the edge server 100 may be, for example, an IP (Internet Protocol) address of the edge server 100 or other information.

また、送信部220は、エッジサーバ100に対し、利用者端末200の認証を要求する認証要求メッセージを送信する。また、送信部220は、エッジサーバ100に対し、店舗の公開鍵の送信依頼を送信する。   Further, the transmission unit 220 transmits an authentication request message for requesting authentication of the user terminal 200 to the edge server 100. In addition, the transmission unit 220 transmits a request for transmitting a store public key to the edge server 100.

また、送信部220は、生成部210から、電子署名が添付された取引データを受け取る。送信部220は、この電子署名が添付された取引データを、エッジサーバ100に送信する。送信部220が取引データを送信する宛先(送信先)のエッジサーバ100は、複数のエッジサーバ100の何れであってもよいし、所定のエッジサーバであってもよい。所定のエッジサーバとは、例えば、利用者端末200との距離が最も近いエッジサーバ100であるが、これに限定されるものではない。利用者端末200と距離が近いエッジサーバ100に取引データを送信する構成の場合、システム2は、取引データの送信に掛かる時間を削減することができる。   Further, the transmission unit 220 receives transaction data attached with an electronic signature from the generation unit 210. The transmission unit 220 transmits the transaction data attached with the electronic signature to the edge server 100. The destination (transmission destination) edge server 100 to which the transmission unit 220 transmits transaction data may be any of the plurality of edge servers 100 or a predetermined edge server. The predetermined edge server is, for example, the edge server 100 that is closest to the user terminal 200, but is not limited thereto. In the case of a configuration in which transaction data is transmitted to the edge server 100 that is close to the user terminal 200, the system 2 can reduce the time required for transmission of the transaction data.

記憶部230は、互いに関連付けられた、利用者の秘密鍵、公開鍵および利用者アドレスを格納する。なお、記憶部230は、利用者端末200とは別個の記憶装置によって実現されるものであってもよい。つまり、利用者の秘密鍵、公開鍵および利用者アドレスは、利用者端末200とは別個のサーバ上で管理されるものであってもよい。また、利用者の秘密鍵、公開鍵および利用者アドレスは、例えば、これらが印字された紙によって管理されるものであってもよい。   The storage unit 230 stores the user's private key, public key, and user address that are associated with each other. Note that the storage unit 230 may be realized by a storage device separate from the user terminal 200. That is, the user's private key, public key, and user address may be managed on a server separate from the user terminal 200. Further, the user's private key, public key, and user address may be managed by paper on which these are printed, for example.

受信部250は、ブロックチェーンにブロックが追加される度に、追加されたブロックのハッシュ値を受信する。受信部250は受信したハッシュ値を生成部210に供給する。   Each time a block is added to the block chain, the receiving unit 250 receives a hash value of the added block. The receiving unit 250 supplies the received hash value to the generating unit 210.

受信部250は、エッジサーバ100から認証要求メッセージの応答メッセージを受信する。認証要求メッセージ受信後の処理は、図8から図10に示すフローチャートを用いて説明する。   The receiving unit 250 receives an authentication request message response message from the edge server 100. Processing after receiving the authentication request message will be described with reference to the flowcharts shown in FIGS.

また、受信部250は、エッジサーバ100から、店舗の公開鍵の送信要求に対する応答として、店舗の公開鍵を受信する。受信部250は、受信した店舗の公開鍵を、生成部210に供給する。   Further, the receiving unit 250 receives the store public key from the edge server 100 as a response to the store public key transmission request. The receiving unit 250 supplies the received store public key to the generating unit 210.

また、受信部250は、エッジサーバ100から、最新のブロックのナンス値を受信する。受信部250は、受信したナンス値を、生成部210に供給する。   The receiving unit 250 receives the latest nonce value of the block from the edge server 100. The receiving unit 250 supplies the received nonce value to the generating unit 210.

なお、利用者端末200上において、仮想通貨を利用する際に用いる専用のアプリケーションプログラムが起動した状態の場合に、利用者が仮想通貨を用いた取引を行うことができてもよい。つまり、利用者端末200内の各部の機能は、この専用のアプリケーションプログラムが実行されることで実現されてもよい。   In addition, on the user terminal 200, when a dedicated application program used when using the virtual currency is activated, the user may be able to perform a transaction using the virtual currency. That is, the function of each unit in the user terminal 200 may be realized by executing this dedicated application program.

(店舗端末300)
図5に示す通り、本実施の形態に係るシステム2における、店舗端末300は、生成部310と、送信部320と、記憶部330と、出力部340とを備えている。
(Store terminal 300)
As shown in FIG. 5, the store terminal 300 in the system 2 according to the present embodiment includes a generation unit 310, a transmission unit 320, a storage unit 330, and an output unit 340.

生成部310は、店舗固有の秘密鍵と公開鍵とを生成する。生成部310が生成した秘密鍵と公開鍵とを、夫々、該店舗の秘密鍵、店舗の公開鍵と呼ぶ。この秘密鍵は、数字と記号との組み合わせで表現されるものであってもよい。生成部310は、まず、秘密鍵を生成し、生成した秘密鍵に基づいて、公開鍵を生成してもよい。   The generation unit 310 generates a store-specific secret key and public key. The secret key and the public key generated by the generation unit 310 are referred to as the store secret key and the store public key, respectively. This secret key may be expressed by a combination of numbers and symbols. The generation unit 310 may first generate a secret key and generate a public key based on the generated secret key.

また、生成部310は、生成した秘密鍵と公開鍵とを用いて、店舗端末300が設けられた店舗が利用する、仮想通貨の財布の場所(例えば、口座番号)に相当するアドレスを生成する。生成部310は、秘密鍵と公開鍵とを用いて、例えば、ハッシュ計算を行うことにより、上記アドレスを生成する。店舗端末300が生成するアドレスを、以下では店舗アドレスと呼ぶ。   Further, the generation unit 310 generates an address corresponding to the location (for example, account number) of the virtual currency wallet used by the store where the store terminal 300 is provided, using the generated secret key and public key. . The generation unit 310 generates the address by performing, for example, hash calculation using the secret key and the public key. The address generated by the store terminal 300 is hereinafter referred to as a store address.

なお、本実施の形態では、店舗アドレスによって示される仮想通貨の財布の場所は、店舗端末300内であるとするが、店舗端末300と通信可能に接続された他の装置上であってもよい。例えば、仮想通貨の財布の場所は、インターネットを介して接続された他のサーバ上であってもよい。   In the present embodiment, the wallet location of the virtual currency indicated by the store address is in the store terminal 300, but may be on another device communicably connected to the store terminal 300. . For example, the location of the virtual currency wallet may be on another server connected via the Internet.

また、店舗の財布に含まれる仮想通貨は、利用者の財布に含まれる仮想通貨と同様に、利用可能に設定された複数の店舗端末300で利用されてもよい。   Further, the virtual currency included in the store's wallet may be used by a plurality of store terminals 300 set to be usable in the same manner as the virtual currency included in the user's wallet.

生成部310は、生成した秘密鍵、公開鍵および店舗アドレスを、互いに関連付けて、記憶部330に格納する。また、生成部310は、生成した公開鍵を、送信部320に供給する。   The generation unit 310 stores the generated secret key, public key, and store address in the storage unit 330 in association with each other. In addition, the generation unit 310 supplies the generated public key to the transmission unit 320.

また、生成部310は、商品の金額(仮想通貨の取引量)を示す情報を少なくとも含む商品情報と、店舗の財布の場所(店舗アドレス)とを暗号化したデータを生成する。このとき、生成部310は、暗号化したデータ(商品データと呼ぶ)を表現する識別子を生成してもよい。この識別子は、例えば、バーコードであってもよいし、二次元コードであってもよいし、その他の情報であってもよい。生成部310は、生成した商品データまたは識別子を出力部340に供給する。   Further, the generation unit 310 generates data obtained by encrypting product information including at least information indicating the amount of the product (transaction amount of virtual currency) and the location (store address) of the store wallet. At this time, the generation unit 310 may generate an identifier representing encrypted data (referred to as product data). This identifier may be, for example, a barcode, a two-dimensional code, or other information. The generation unit 310 supplies the generated product data or identifier to the output unit 340.

送信部320は、生成部310から、生成部310が生成した店舗の公開鍵を受け取る。送信部320は、エッジサーバ100に対し、受け取った店舗の公開鍵を送信する。送信部320が店舗の公開鍵を送信する宛先(送信先)のエッジサーバ100は、複数のエッジサーバ100の何れであってもよいし、店舗端末300との距離が最も近いエッジサーバ100であってもよい。   The transmission unit 320 receives from the generation unit 310 the store public key generated by the generation unit 310. The transmission unit 320 transmits the received store public key to the edge server 100. The destination (transmission destination) edge server 100 to which the transmission unit 320 transmits the store public key may be any of the plurality of edge servers 100, and is the edge server 100 that is closest to the store terminal 300. May be.

記憶部330は、互いに関連付けられた、店舗の秘密鍵、公開鍵および店舗アドレスを格納する。なお、記憶部330は、店舗端末300とは別個の記憶装置によって実現されるものであってもよい。つまり、店舗の秘密鍵、公開鍵および店舗アドレスは、店舗端末300とは別個のサーバ上で管理されるものであってもよい。また、店舗の秘密鍵、公開鍵および店舗アドレスは、例えば、これらが印字された紙によって管理されるものであってもよい。   The storage unit 330 stores store secret keys, public keys, and store addresses that are associated with each other. Note that the storage unit 330 may be realized by a storage device separate from the store terminal 300. That is, the store secret key, public key, and store address may be managed on a server separate from the store terminal 300. Further, the store secret key, the public key, and the store address may be managed by paper on which these are printed, for example.

出力部340は、生成部310から商品データまたは識別子を受け取る。出力部340は、生成部310から受け取った商品データまたは識別子を出力する。出力部340が生成部310から受け取ったデータが識別子の場合、出力部340は、所定の用紙に識別子を印字することにより、識別子を出力してもよい。また、出力部340が生成部310から受け取ったデータが識別子の場合、出力部340は、図示しない表示画面に識別子を表示させることにより、識別子を出力してもよい。このような構成によって、本実施の形態における店舗端末300は、例えば、電子貨幣の利用の際に必要なリーダライタなどを設けることなく、商品の取引を行うことができる。   The output unit 340 receives product data or an identifier from the generation unit 310. The output unit 340 outputs the product data or identifier received from the generation unit 310. When the data received by the output unit 340 from the generation unit 310 is an identifier, the output unit 340 may output the identifier by printing the identifier on a predetermined sheet. When the data received by the output unit 340 from the generation unit 310 is an identifier, the output unit 340 may output the identifier by displaying the identifier on a display screen (not shown). With such a configuration, the store terminal 300 according to the present embodiment can perform merchandise transactions without providing, for example, a reader / writer necessary for using electronic money.

また、出力部340が受け取ったデータが商品データの場合、出力部340は、利用者端末200に商品データを出力(送信)してもよい。この場合、出力部340は、送信部320と一体となって形成されていてもよい。   When the data received by the output unit 340 is product data, the output unit 340 may output (send) product data to the user terminal 200. In this case, the output unit 340 may be formed integrally with the transmission unit 320.

出力部340は、例えば、近距離無線通信規格を用いた通信によって、商品データを利用者端末200に送信してもよい。近距離無線通信規格としては、例えば、Bluetooth(登録商標)、NFC(Near Field Communication)等であってもよい。また、出力部340は、赤外線通信によって、商品データを利用者端末200に送信してもよい。また、利用者端末200と店舗端末300との間で通信を行うことができる、アプリケーションプログラムを、利用者端末200および店舗端末300上で起動させることにより、店舗端末300は、利用者端末200に、商品データを送信してもよい。また、店舗端末300は、SMS(Short Message Service)、SNS(Social Network Service)等のサービスを利用して、利用者端末200に、商品データを送信してもよい。また、店舗端末300は、電子メールを用いて、利用者端末200に商品データを送信してもよい。以上のように、店舗端末300が、利用者端末200に対し、商品データを送信する方法は特に限定されない。   For example, the output unit 340 may transmit the product data to the user terminal 200 by communication using the short-range wireless communication standard. The short-range wireless communication standard may be, for example, Bluetooth (registered trademark), NFC (Near Field Communication), or the like. Further, the output unit 340 may transmit the product data to the user terminal 200 by infrared communication. In addition, the store terminal 300 causes the user terminal 200 to activate the application program that can perform communication between the user terminal 200 and the store terminal 300 on the user terminal 200 and the store terminal 300. The product data may be transmitted. Further, the store terminal 300 may transmit product data to the user terminal 200 using services such as SMS (Short Message Service) and SNS (Social Network Service). Moreover, the shop terminal 300 may transmit product data to the user terminal 200 using an electronic mail. As described above, the method for the store terminal 300 to transmit the product data to the user terminal 200 is not particularly limited.

なお、店舗端末300上において、仮想通貨を利用する際に用いる専用のアプリケーションプログラムが起動した状態の場合に、店舗が仮想通貨を用いた取引を行うことができてもよい。つまり、店舗端末300内の各部の機能は、この専用のアプリケーションプログラムが実行されることで実現されてもよい。   In addition, on the store terminal 300, when a dedicated application program used when using the virtual currency is activated, the store may be able to perform a transaction using the virtual currency. That is, the function of each unit in the store terminal 300 may be realized by executing this dedicated application program.

(エッジサーバ100)
図5に示す通り、本実施の形態に係るシステム2における、エッジサーバ100は、取得部110と、決定部120と、記憶部130と、受信部140と、送信部150と、計算部160と、認証部170と、を備える。取得部110および決定部120は、夫々、上述した第1の実施の形態における取得部11および決定部12に相当する。つまり、図5において、破線の枠で囲った部分は、上述した第1の実施の形態における負荷分散装置10に相当する。
(Edge server 100)
As illustrated in FIG. 5, the edge server 100 in the system 2 according to the present embodiment includes an acquisition unit 110, a determination unit 120, a storage unit 130, a reception unit 140, a transmission unit 150, and a calculation unit 160. And an authentication unit 170. The acquisition unit 110 and the determination unit 120 correspond to the acquisition unit 11 and the determination unit 12 in the above-described first embodiment, respectively. That is, in FIG. 5, the part enclosed by the broken line frame corresponds to the load balancer 10 in the first embodiment described above.

取得部110は、後述する、承認前のブロックが生成されたことを示す通知を、計算部160から受け取る。取得部110は、上記通知を受け取ると、複数のエッジサーバ100の夫々の状態を示す状態情報を取得する。取得部110は、状態情報を、複数のエッジサーバ100の夫々から取得してもよいし、複数のエッジサーバ100の夫々の状態を監視する図示しない監視サーバ等から取得してもよい。状態情報は、例えば、エッジサーバ100に掛かる負荷状態を表す負荷状態情報であってもよいし、エッジサーバ100の動作状態を表す動作状態情報であってもよいし、エッジサーバ100が有する性能を表す性能情報であってもよい。取得部110は、取得した、複数のエッジサーバ100の夫々に対する状態情報を、決定部120に供給する。   The acquisition unit 110 receives from the calculation unit 160 a notification indicating that a block before approval, which will be described later, has been generated. When the acquisition unit 110 receives the notification, the acquisition unit 110 acquires state information indicating the state of each of the plurality of edge servers 100. The acquisition unit 110 may acquire the state information from each of the plurality of edge servers 100, or may acquire the state information from a monitoring server (not shown) that monitors the respective states of the plurality of edge servers 100. The state information may be, for example, load state information indicating a load state applied to the edge server 100, operation state information indicating the operation state of the edge server 100, and performance of the edge server 100. It may be performance information to represent. The acquisition unit 110 supplies the acquired state information for each of the plurality of edge servers 100 to the determination unit 120.

決定部120は、取得部110から複数のエッジサーバ100の夫々に対する状態情報を受け取る。決定部120は、受け取った状態情報に基づいて、複数のエッジサーバ100のうち、承認前のブロックのナンス値を計算するエッジサーバを決定する。例えば、決定部120は、状態情報が負荷状態情報の場合、この負荷状態情報に基づいて、複数のエッジサーバ100のうち、最も負荷が小さいエッジサーバを、ナンス値を計算するエッジサーバとして決定する。決定部120は、決定したエッジサーバを示す情報(決定結果)を計算部160に供給する。   The determination unit 120 receives state information for each of the plurality of edge servers 100 from the acquisition unit 110. Based on the received state information, the determination unit 120 determines an edge server that calculates a nonce value of a block before approval among the plurality of edge servers 100. For example, when the state information is load state information, the determination unit 120 determines the edge server having the smallest load among the plurality of edge servers 100 as the edge server for calculating the nonce value based on the load state information. . The determination unit 120 supplies information (determination result) indicating the determined edge server to the calculation unit 160.

受信部140は、利用者端末200から利用者の公開鍵を受信する。受信部140は利用者の公開鍵の送信元である利用者端末200を識別する情報を、受信した利用者の公開鍵に関連付けて、記憶部130に格納する。また、受信部140は、店舗端末300から店舗の公開鍵を受信する。受信部140は店舗の公開鍵の送信元である店舗端末300を識別する情報を、受信した店舗の公開鍵に関連付けて、記憶部130に格納する。   The receiving unit 140 receives the user's public key from the user terminal 200. The receiving unit 140 stores information for identifying the user terminal 200 that is the transmission source of the user's public key in the storage unit 130 in association with the received user's public key. The receiving unit 140 receives a store public key from the store terminal 300. The receiving unit 140 stores information for identifying the store terminal 300 that is a transmission source of the store public key in the storage unit 130 in association with the received store public key.

また、受信部140は、利用者端末200から認証要求メッセージを受信する。受信部140は、受信した認証要求メッセージを認証部170に供給する。   The receiving unit 140 receives an authentication request message from the user terminal 200. The receiving unit 140 supplies the received authentication request message to the authentication unit 170.

また、受信部140は、利用者端末200から、店舗の公開鍵の送信依頼を受信する。受信部140は、受信した、店舗の公開鍵の送信依頼を、送信部150に供給する。   In addition, the receiving unit 140 receives a store public key transmission request from the user terminal 200. The receiving unit 140 supplies the received transmission request for the store public key to the transmitting unit 150.

また、受信部140は、利用者端末200から、電子署名が添付された取引データを受信する。受信部140は、受信した取引データを計算部160に供給する。   The receiving unit 140 receives transaction data attached with an electronic signature from the user terminal 200. The receiving unit 140 supplies the received transaction data to the calculation unit 160.

なお、この受信部140における、認証要求メッセージおよび/または電子署名が添付された取引データを受信する機能は、エッジサーバ100が備える受信部140の全てに含まれる機能であってもよいし、一部に含まれる機能であってもよい。例えば、認証要求メッセージを受信するエッジサーバ100がエッジサーバ100−1のみの場合、後述する認証部170による認証処理を集約することができる。この場合、このエッジサーバ100−1以外のエッジサーバ100は、後述する認証部170を備えなくてもよい。   The function of receiving the transaction data attached with the authentication request message and / or the electronic signature in the receiving unit 140 may be a function included in all of the receiving units 140 included in the edge server 100. It may be a function included in the section. For example, when the edge server 100 that receives the authentication request message is only the edge server 100-1, authentication processing by the authentication unit 170 described later can be consolidated. In this case, the edge servers 100 other than the edge server 100-1 may not include the authentication unit 170 described later.

また、受信部140は、他のエッジサーバ100から、ナンス値が含まれている、または、ナンス値が含まれていないブロックを受信すると、該ブロックを計算部160に供給する。   In addition, when receiving a block containing a nonce value or no nonce value from another edge server 100, the receiving unit 140 supplies the block to the calculating unit 160.

記憶部130は、店舗を識別する情報に関連付けられた、店舗の公開鍵を格納する。また、記憶部130は、利用者を識別する情報に関連付けられた、利用者の公開鍵を格納する。なお、記憶部130内に格納された店舗の公開鍵および利用者の公開鍵が更新(追加)される度に、エッジサーバ100は、各エッジサーバ100の記憶部130に格納された公開鍵の整合を取ることが好ましい。これにより、利用者端末200または店舗端末300から送信された暗号化データを、全てのエッジサーバ100で復号することができる。   The storage unit 130 stores a store public key associated with information for identifying the store. In addition, the storage unit 130 stores a user's public key associated with information for identifying the user. Each time the store public key and the user public key stored in the storage unit 130 are updated (added), the edge server 100 stores the public key stored in the storage unit 130 of each edge server 100. It is preferable to take alignment. Thereby, the encrypted data transmitted from the user terminal 200 or the store terminal 300 can be decrypted by all the edge servers 100.

また、記憶部130は、ブロックチェーンにつながった、1以上の取引データを含むブロックを格納する。   The storage unit 130 stores a block including one or more transaction data connected to the block chain.

なお、記憶部130は、エッジサーバ100とは別個の記憶装置で実現されるものであってもよい。この記憶装置は、複数のエッジサーバ100の夫々からアクセス可能な位置に配置されていればよい。これにより、複数のエッジサーバ100で、記憶部130に格納されたデータを共有することができる。   Note that the storage unit 130 may be realized by a storage device separate from the edge server 100. This storage device only needs to be arranged at a position accessible from each of the plurality of edge servers 100. Thereby, the data stored in the storage unit 130 can be shared by the plurality of edge servers 100.

また、記憶部130に格納されたデータの一部(例えば、店舗の公開鍵および利用者の公開鍵)が、エッジサーバ100とは異なる記憶装置に格納されていてもよい。   A part of the data stored in the storage unit 130 (for example, the store public key and the user public key) may be stored in a storage device different from the edge server 100.

計算部160は、受信部140が受信した取引データを、該取引データを送信した送信元の利用者端末200に関する公開鍵で復号する。取引データには、店舗の秘密鍵で暗号化された商品情報および店舗アドレスが含まれる。そのため、計算部160は、記憶部130に格納された全ての店舗の公開鍵を用いて、暗号化された商品情報および店舗アドレスを復号する。そして、計算部160は、新たなブロックに含める取引データを、取引データが生成された順にまとめる。この取引データをまとめたブロックは、承認が行われる前のブロックであるため、承認前のブロックとも呼ぶ。そして、計算部160は、この承認前のブロックが生成されたことを示す通知を、取得部110に供給する。   The calculation unit 160 decrypts the transaction data received by the reception unit 140 with the public key related to the user terminal 200 that is the transmission source that transmitted the transaction data. The transaction data includes product information and store address encrypted with the store secret key. Therefore, the calculation unit 160 decrypts the encrypted product information and store address using the public keys of all stores stored in the storage unit 130. And the calculation part 160 puts together the transaction data included in a new block in the order with which transaction data were produced | generated. Since the block in which the transaction data is collected is a block before approval is performed, it is also referred to as a block before approval. Then, the calculation unit 160 supplies the acquisition unit 110 with a notification indicating that this pre-approval block has been generated.

また、計算部160は、決定部120から決定結果を受け取る。計算部160は、決定結果に基づいて、決定部120が決定したエッジサーバが自サーバか否かを確認する。自サーバではない場合、計算部160は、決定結果と承認前のブロックとを、送信部150に供給する。   In addition, the calculation unit 160 receives a determination result from the determination unit 120. Based on the determination result, the calculation unit 160 confirms whether the edge server determined by the determination unit 120 is the local server. If it is not the own server, the calculation unit 160 supplies the determination result and the block before approval to the transmission unit 150.

計算部160は、確認結果が自サーバの場合、または、受信部140からナンス値が含まれていない承認前のブロックを受信した場合、承認前のブロックのナンス値を計算する。計算部160は、計算したナンス値と、承認前のブロックの直前のブロックのハッシュ値(ブロックチェーンに含まれるブロックのうち最新のブロックのナンス値)とを、承認前のブロックに含めて、該承認前のブロックを送信部150に供給する。   The calculation unit 160 calculates the nonce value of the block before approval when the confirmation result is the local server or when the block before approval that does not include the nonce value is received from the reception unit 140. The calculation unit 160 includes the calculated nonce value and the hash value of the block immediately before the block before approval (the nonce value of the latest block among the blocks included in the block chain) in the block before approval, The block before approval is supplied to the transmission unit 150.

また、計算部160は、受信部140からナンス値が含まれる承認前のブロックを受信すると、該承認前のブロックに含まれるナンス値を検算する。   Further, when receiving the pre-approval block including the nonce value from the receiving unit 140, the calculation unit 160 verifies the nonce value included in the pre-approval block.

認証部170は、受信部140から認証要求メッセージを受け取る。受信部140は、受け取った認証要求メッセージの送信元(つまり、利用者端末200)に関する公開鍵を記憶部130から取得し、該公開鍵を用いて、認証要求メッセージを復号する。そして、認証部170は、復号した認証要求メッセージに基づいて、認証要求メッセージを送信した利用者端末200の認証を行う。そして、認証部170は、認証結果を送信部150に供給する。   The authentication unit 170 receives an authentication request message from the reception unit 140. The receiving unit 140 acquires a public key related to the transmission source (that is, the user terminal 200) of the received authentication request message from the storage unit 130, and decrypts the authentication request message using the public key. And the authentication part 170 authenticates the user terminal 200 which transmitted the authentication request message based on the decoded authentication request message. Then, the authentication unit 170 supplies the authentication result to the transmission unit 150.

送信部150は、認証部170から認証結果を受け取る。送信部150は、認証要求メッセージの応答メッセージとして、受け取った認証結果を、認証要求メッセージの送信元である利用者端末200に送信する。   The transmission unit 150 receives the authentication result from the authentication unit 170. The transmission unit 150 transmits the received authentication result as a response message to the authentication request message to the user terminal 200 that is the transmission source of the authentication request message.

また、送信部150は、受信部140から、店舗の公開鍵の送信依頼を受け取る。そして、該送信依頼に関連する店舗の公開鍵を記憶部130から取得し、取得した公開鍵を、利用者端末200に送信する。   In addition, the transmission unit 150 receives a request for transmitting the store public key from the reception unit 140. Then, the store public key related to the transmission request is acquired from the storage unit 130, and the acquired public key is transmitted to the user terminal 200.

また、送信部150は、計算部160から、計算されたナンス値を含む、承認前のブロックを受信すると、該承認前のブロックを他のエッジサーバ100に同報する。   In addition, when the transmission unit 150 receives a block before approval including the calculated nonce value from the calculation unit 160, the transmission unit 150 broadcasts the block before approval to another edge server 100.

また、送信部150は、計算部160から、ナンス値を含まない承認前のブロックを決定結果と共に受信すると、該承認前のブロックを、決定結果によって示されるエッジサーバに送信する。   In addition, when receiving a block before approval that does not include the nonce value from the calculation unit 160 together with the determination result, the transmission unit 150 transmits the block before approval to the edge server indicated by the determination result.

(利用者登録処理の流れ)
次に、利用者が仮想通貨を利用する際の、登録(利用者登録)処理の流れについて説明する。この利用者登録処理は、利用者端末200からエッジサーバ100に対して、仮想通貨を利用した取引を行うために必要な情報を送信する処理である。図6は、本実施の形態における、利用者登録処理の流れの一例を示すフローチャートである。
(User registration process flow)
Next, the flow of registration (user registration) processing when a user uses virtual currency will be described. This user registration process is a process of transmitting information necessary for performing a transaction using a virtual currency from the user terminal 200 to the edge server 100. FIG. 6 is a flowchart showing an example of the flow of user registration processing in the present embodiment.

図6に示す通り、まず、利用者端末200の生成部210が、利用者固有の秘密鍵と公開鍵とを生成する(ステップS61)。そして、生成部210は、生成した秘密鍵と公開鍵とを用いて、利用者アドレスを生成する(ステップS62)。   As shown in FIG. 6, first, the generation unit 210 of the user terminal 200 generates a user-specific secret key and public key (step S61). Then, the generation unit 210 generates a user address using the generated secret key and public key (step S62).

その後、生成部210は、生成した秘密鍵、公開鍵および利用者アドレスを、互いに関連付けて、記憶部230に格納する(ステップS63)。そして、送信部220は、エッジサーバ100に対し、生成部210から供給された公開鍵を送信する(ステップS64)。なお、ステップS63とステップS64とは同時に行われてもよいし、逆順で行われてもよい。   Thereafter, the generation unit 210 stores the generated secret key, public key, and user address in the storage unit 230 in association with each other (step S63). Then, the transmission unit 220 transmits the public key supplied from the generation unit 210 to the edge server 100 (step S64). Note that step S63 and step S64 may be performed simultaneously or in the reverse order.

以上により、利用者登録処理を終了する。   This completes the user registration process.

このように、利用者端末200がエッジサーバ100に対して、利用者の公開鍵を送信することにより、利用者端末200は、利用者アドレスによって示される場所で管理された仮想通貨を利用することができる。   As described above, when the user terminal 200 transmits the public key of the user to the edge server 100, the user terminal 200 uses the virtual currency managed at the location indicated by the user address. Can do.

(店舗登録処理の流れ)
次に、店舗が仮想通貨を利用する際の、登録(店舗登録)処理の流れについて説明する。この店舗登録処理は、店舗端末300からエッジサーバ100に対して、仮想通貨を利用した取引を行うために必要な情報を送信する処理である。図7は、本実施の形態における、店舗登録処理の流れの一例を示すフローチャートである。
(Store registration process flow)
Next, the flow of registration (store registration) processing when a store uses virtual currency will be described. This store registration process is a process of transmitting information necessary for performing a transaction using a virtual currency from the store terminal 300 to the edge server 100. FIG. 7 is a flowchart showing an example of the flow of the store registration process in the present embodiment.

図7に示す通り、まず、店舗端末300の生成部310が、店舗固有の秘密鍵と公開鍵とを生成する(ステップS71)。そして、生成部310は、生成した秘密鍵と公開鍵とを用いて、店舗アドレスを生成する(ステップS72)。   As shown in FIG. 7, first, the generation unit 310 of the store terminal 300 generates a store-specific secret key and public key (step S71). And the production | generation part 310 produces | generates a shop address using the produced | generated private key and public key (step S72).

その後、生成部310は、生成した秘密鍵、公開鍵および店舗アドレスを、互いに関連付けて、記憶部330に格納する(ステップS73)。そして、送信部320は、エッジサーバ100に対し、生成部310から供給された公開鍵を送信する(ステップS74)。なお、ステップS73とステップS74とは同時に行われてもよいし、逆順で行われてもよい。   Thereafter, the generation unit 310 stores the generated secret key, public key, and store address in the storage unit 330 in association with each other (step S73). Then, the transmission unit 320 transmits the public key supplied from the generation unit 310 to the edge server 100 (step S74). Note that step S73 and step S74 may be performed simultaneously or in the reverse order.

以上により、店舗登録処理を終了する。   The store registration process is thus completed.

このように、店舗端末300がエッジサーバ100に対して、店舗の公開鍵を送信することにより、店舗端末300は、店舗アドレスによって示される場所で管理された仮想通貨を利用することができる。   As described above, the store terminal 300 transmits the store public key to the edge server 100, so that the store terminal 300 can use the virtual currency managed at the location indicated by the store address.

(仮想通貨を用いた商品の取引について)
本実施の形態に係るシステム2では、仮想通貨を用いた取引は、上述したシステム1と同様に、一般的なブロックチェーン技術を用いる。したがって、エッジサーバ100の送信部150は、ブロックチェーンにブロックが追加される度に、追加されたブロックのハッシュ値を、仮想通貨を利用可能な利用者の利用者端末200に送信する。追加されたブロックは、ブロックチェーンにおける、最新のブロックであって、承認済みのブロックである。ブロックチェーンにブロックが追加されたこと(つまり、全てのエッジサーバ100で承認が行われたブロックが、記憶部130に格納されたこと)は、送信部150が確認してもよいし、計算部160が確認してもよい。これにより、仮想通貨を利用可能な利用者の利用者端末200間で、最新のブロックのハッシュ値を共有することができる。
(About product transactions using virtual currency)
In the system 2 according to the present embodiment, a transaction using a virtual currency uses a general block chain technology as in the system 1 described above. Therefore, every time a block is added to the block chain, the transmission unit 150 of the edge server 100 transmits the hash value of the added block to the user terminal 200 of the user who can use the virtual currency. The added block is the latest block in the block chain and an approved block. The transmission unit 150 may confirm that a block has been added to the block chain (that is, blocks approved by all edge servers 100 have been stored in the storage unit 130), or a calculation unit 160 may confirm. Thereby, the hash value of the newest block can be shared between the user terminals 200 of the users who can use the virtual currency.

(利用者端末200による商品情報の取得の流れ)
利用者端末200が、商品の金額を示す情報を少なくとも含む商品情報を、店舗の財布の場所(店舗アドレス)と共に、受信するまでの流れについて説明する。なお、店舗の店舗端末300は、予め販売する商品または提供するサービスの代金を仮想通貨に換算しているとする。
(Flow of product information acquisition by the user terminal 200)
A flow until the user terminal 200 receives the product information including at least information indicating the price of the product together with the store wallet location (store address) will be described. It is assumed that the store terminal 300 of the store converts the price of the product to be sold or the service to be provided into virtual currency.

例えば、店舗が、実際に存在する実店舗であり、利用者端末200が、移動端末である場合について説明する。利用者が実店舗において、商品の購入手続きを行うと、店舗の店舗端末300の生成部310は、商品情報と、店舗アドレスとを情報として含み、店舗の秘密鍵で暗号化した識別子を生成する。本実施の形態では、識別子が二次元コードであるとして説明を行う。そして、出力部340は、生成部310が生成した識別子を出力する。   For example, a case where the store is an actual store that actually exists and the user terminal 200 is a mobile terminal will be described. When a user performs a purchase procedure for a product in an actual store, the generation unit 310 of the store terminal 300 of the store generates product identifiers and store addresses as information, and generates an identifier encrypted with the store secret key. . In the present embodiment, description will be made assuming that the identifier is a two-dimensional code. Then, the output unit 340 outputs the identifier generated by the generation unit 310.

利用者は、利用者端末200に、店舗端末300から出力された二次元コードを読み取らせる。つまり、利用者端末200の取得部240が、店舗端末300から出力された二次元コードを読み取る。上述したとおり、二次元コードには、商品情報と、店舗アドレスとが含まれる。これにより、利用者端末200は、店舗の秘密鍵で暗号化された、商品情報と店舗アドレスとを取得することができる。   The user causes the user terminal 200 to read the two-dimensional code output from the store terminal 300. That is, the acquisition unit 240 of the user terminal 200 reads the two-dimensional code output from the store terminal 300. As described above, the two-dimensional code includes product information and a store address. Thereby, the user terminal 200 can acquire the product information and the store address encrypted with the store secret key.

また、店舗端末300の生成部310が生成したデータが、商品情報と店舗アドレスとを該生成部310によって暗号化した商品データの場合、利用者端末200の取得部240は、店舗端末300から、例えば、上述した所定のサービス等を利用して、商品情報と店舗アドレスとを受信(取得)してもよい。   When the data generated by the generation unit 310 of the store terminal 300 is product data obtained by encrypting the product information and the store address by the generation unit 310, the acquisition unit 240 of the user terminal 200 receives from the store terminal 300, For example, the product information and the store address may be received (acquired) using the predetermined service described above.

また、例えば、店舗が電子商店の場合、店舗端末300は、商品情報と店舗アドレスとを暗号化した商品データを生成する。そして、利用者端末200の取得部240は、ネットワークを介して、暗号化された商品データを受信する。この商品データには、上述したとおり、商品情報と店舗アドレスとが含まれるため、利用者端末200は、店舗の秘密鍵で暗号化された商品情報と店舗アドレスとを取得することができる。   For example, when the store is an electronic store, the store terminal 300 generates product data obtained by encrypting the product information and the store address. Then, the acquisition unit 240 of the user terminal 200 receives the encrypted product data via the network. Since the product data includes the product information and the store address as described above, the user terminal 200 can acquire the product information and the store address encrypted with the store secret key.

以上のように、利用者端末200は、店舗端末300から、店舗の秘密鍵で暗号化された商品情報と店舗アドレスとを取得することができる。   As described above, the user terminal 200 can acquire the product information and store address encrypted with the store secret key from the store terminal 300.

なお、利用者端末200は、店舗端末300から送信される商品情報によって示される商品の金額を、図示しない表示画面に表示してもよい。このとき、店舗端末300は、店舗の秘密鍵で暗号化した商品情報とは別に、利用者端末200に商品情報を送付してもよい。また、このとき、利用者端末200は、エッジサーバ100から店舗端末300の公開鍵を取得し、暗号化された商品情報を、取得した店舗の公開鍵で復号してもよい。これにより、利用者は、取引する商品の金額を確認することができる。   Note that the user terminal 200 may display the amount of the product indicated by the product information transmitted from the store terminal 300 on a display screen (not shown). At this time, the store terminal 300 may send the product information to the user terminal 200 separately from the product information encrypted with the store secret key. At this time, the user terminal 200 may acquire the public key of the store terminal 300 from the edge server 100 and decrypt the encrypted product information with the acquired store public key. Thereby, the user can confirm the money amount of the goods to trade.

(システム2の決済処理の流れ)
次に、利用者端末200が商品情報と店舗アドレスとを受信した後の、システム2の決済処理について説明する。図8から図10は夫々、本実施の形態における、決済処理の流れの一例を示すフローチャートである。なお、図8および図9では、利用者端末200の処理を左側に、エッジサーバ100の処理を右側に示している。また、エッジサーバ100の処理と、利用者端末200の処理との間の破線の矢印はデータの流れを示している。また、本実施の形態において、後述するナンス値を計算するエッジサーバを決定するエッジサーバは、あらかじめ決まっているとして説明を行う。
(System 2 payment processing flow)
Next, the payment process of the system 2 after the user terminal 200 receives the product information and the store address will be described. FIG. 8 to FIG. 10 are flowcharts showing an example of the flow of settlement processing in the present embodiment, respectively. 8 and 9, the process of the user terminal 200 is shown on the left side, and the process of the edge server 100 is shown on the right side. A broken line arrow between the processing of the edge server 100 and the processing of the user terminal 200 indicates the flow of data. In the present embodiment, the description will be made assuming that the edge server that determines the edge server for calculating the nonce value described later is determined in advance.

図8に示す通り、利用者端末200の生成部210が、取得部240が読み取った(取得した)、店舗の秘密鍵で暗号化された商品情報および店舗アドレスと、利用者の財布の場所(利用者アドレス)とを含み、利用者の秘密鍵で暗号化した取引データを生成する(ステップS81)。   As shown in FIG. 8, the generation unit 210 of the user terminal 200 reads (acquires) the product information and store address encrypted with the store secret key, and the location of the user's wallet (acquired). Transaction data encrypted with the user's private key is generated (step S81).

そして、利用者端末200の送信部220は、エッジサーバ100に対し、取引の認証要求メッセージを送信する(ステップS82)。認証要求メッセージには、利用者の秘密鍵で暗号化された、利用者を識別する情報(利用者識別情報)が含まれる。そして、エッジサーバ100の受信部140は、利用者端末200から送信された認証要求メッセージを受信する(ステップS83)。   Then, the transmission unit 220 of the user terminal 200 transmits a transaction authentication request message to the edge server 100 (step S82). The authentication request message includes information for identifying the user (user identification information) encrypted with the user's private key. Then, the receiving unit 140 of the edge server 100 receives the authentication request message transmitted from the user terminal 200 (step S83).

そして、認証部170が、認証要求メッセージを送信した利用者端末200の認証を行う(ステップS84)。送信部150は、認証要求メッセージの応答メッセージとして、利用者端末200に送信する(ステップS85)。   And the authentication part 170 authenticates the user terminal 200 which transmitted the authentication request message (step S84). The transmission unit 150 transmits the response message of the authentication request message to the user terminal 200 (Step S85).

その後、利用者端末200の受信部250は、応答メッセージを受信する(ステップS86)。そして、受信部250は、応答メッセージに基づいて、認証されたか否かを確認し(ステップS87)する。認証された場合(ステップS87にてYES)、受信部250は、送信部220に、商品の購入手続きを行っている店舗の公開鍵の送信依頼の送信指示を行い、送信部220は、該送信依頼を、エッジサーバ100に送信する(ステップS88)。送信部220が送信する送信依頼に関連する店舗を特定する情報は、例えば、識別子を読み取る際に、識別子と共に取得されるものであってもよいし、商品データを取得する際に、該商品データと共に取得するものであってもよい。また、商品データがネットワークを介して送信されたものであった場合、送信部220が送信する送信依頼に関連する店舗を特定する情報は、商品データの送信元から特定されるものであってもよい。   Thereafter, the receiving unit 250 of the user terminal 200 receives the response message (step S86). And the receiving part 250 confirms whether it was authenticated based on a response message (step S87). If authenticated (YES in step S87), the receiving unit 250 instructs the transmitting unit 220 to transmit a request for transmitting the public key of the store that is performing the product purchase procedure, and the transmitting unit 220 transmits the transmission. The request is transmitted to the edge server 100 (step S88). The information specifying the store related to the transmission request transmitted by the transmission unit 220 may be acquired together with the identifier, for example, when reading the identifier, or the product data when acquiring the product data. You may acquire with it. In addition, when the product data is transmitted via a network, the information specifying the store related to the transmission request transmitted by the transmission unit 220 may be specified from the transmission source of the product data. Good.

なお、本実施の形態では、認証されなかった場合(ステップS87にてNO)、認証処理を終了するとするが、利用者端末200は、例えば、ステップS82に戻って、再度、認証要求メッセージを送信してもよい。   In the present embodiment, when authentication is not performed (NO in step S87), the authentication process is terminated. However, user terminal 200 returns to step S82, for example, and transmits an authentication request message again. May be.

また、認証結果が認証されなかったことを示す場合、送信部150は、応答メッセージを送信しなくてもよい。この場合、利用者端末200は、認証要求メッセージを送信してから所定期間内に応答メッセージを受信しなかった場合に、認証されなかったことを示す情報を表示画面に表示し、決済処理を終了してもよい。   Further, when the authentication result indicates that the authentication has not been performed, the transmission unit 150 may not transmit the response message. In this case, when the user terminal 200 does not receive a response message within a predetermined period after transmitting the authentication request message, the user terminal 200 displays information indicating that the authentication has not been performed on the display screen and ends the settlement process. May be.

ステップS88終了後、エッジサーバ100の受信部140が店舗の公開鍵の送信依頼を、受信する(ステップS89)。その後、送信部150は、受信部140が受信した送信依頼に関連する店舗の公開鍵を記憶部130から取得し、取得した公開鍵を、利用者端末200に送信する(ステップS90)。   After step S88 ends, the receiving unit 140 of the edge server 100 receives a request for transmitting the store public key (step S89). Thereafter, the transmission unit 150 acquires the store public key related to the transmission request received by the reception unit 140 from the storage unit 130, and transmits the acquired public key to the user terminal 200 (step S90).

利用者端末200の受信部250は、エッジサーバ100から、店舗の公開鍵を受信する(ステップS91)。そして、生成部210は、利用者の電子署名を生成する(ステップS92)。その後、送信部220は、ステップS92で生成された電子署名が添付された、ステップS81で生成された取引データを、エッジサーバ100に送信する(ステップS93)。これにより、利用者のなりすましを防ぐことができる。   The receiving unit 250 of the user terminal 200 receives the store public key from the edge server 100 (step S91). Then, the generation unit 210 generates a user's electronic signature (step S92). Thereafter, the transmission unit 220 transmits the transaction data generated in step S81, to which the electronic signature generated in step S92 is attached, to the edge server 100 (step S93). Thereby, a user's impersonation can be prevented.

その後、エッジサーバ100の受信部140は、利用者端末200から送信された、電子署名が添付された取引データを受信する(ステップS94)。なお、この取引データを受信するエッジサーバ100は、ステップS90までの処理を行ったエッジサーバ100と同じエッジサーバであってもよいし、異なるエッジサーバであってもよい。   Thereafter, the receiving unit 140 of the edge server 100 receives the transaction data attached with the electronic signature transmitted from the user terminal 200 (step S94). Note that the edge server 100 that receives the transaction data may be the same edge server as the edge server 100 that has performed the processing up to step S90, or may be a different edge server.

エッジサーバ100の計算部160は、受信部140が受信した取引データを、該取引データを送信した送信元の利用者端末200に関する公開鍵で復号する(ステップS95)。取引データには、上述したとおり、店舗の秘密鍵で暗号化された商品情報および店舗アドレスが含まれる。そのため、計算部160は、記憶部130に格納された全ての店舗の公開鍵を用いて、暗号化された商品情報および店舗アドレスを復号する(ステップS96)。ステップS96以降のエッジサーバ100および利用者端末200の処理は、図9に示す。   The calculation unit 160 of the edge server 100 decrypts the transaction data received by the reception unit 140 with the public key related to the transmission source user terminal 200 that transmitted the transaction data (step S95). As described above, the transaction data includes the merchandise information encrypted with the store secret key and the store address. Therefore, the calculation unit 160 decrypts the encrypted product information and the store address using the public keys of all stores stored in the storage unit 130 (step S96). The processing of the edge server 100 and the user terminal 200 after step S96 is shown in FIG.

その後、エッジサーバ100の計算部160は、取引データを、該取引データが生成された順にまとめた、承認前のブロックを生成する(ステップS97)。このとき、計算部160は、所定数または所定サイズの取引データをまとめてもよいし、所定時間毎に取引データをまとめてもよい。なお、取引データが他のエッジサーバ100に送信されている場合、ステップS97を行う前に、所定のエッジサーバに取引データを集約する構成であってもよい。所定のエッジサーバとは、承認前のブロックに含まれる取引データのうち、最も古い(取引が行われた時刻が一番早い)取引データを受信したエッジサーバであってもよい。また、所定の取引データは、ナンス値を計算するエッジサーバを決定する処理を行うエッジサーバに集約される構成であってもよい。   Thereafter, the calculation unit 160 of the edge server 100 generates a block before approval in which transaction data is collected in the order in which the transaction data is generated (step S97). At this time, the calculation unit 160 may collect transaction data of a predetermined number or size, or may collect transaction data every predetermined time. In addition, when transaction data is transmitted to the other edge server 100, before performing step S97, the structure which aggregates transaction data to a predetermined | prescribed edge server may be sufficient. The predetermined edge server may be an edge server that has received the oldest transaction data (the time when the transaction was performed earliest) among the transaction data included in the block before approval. The predetermined transaction data may be configured to be aggregated in an edge server that performs processing for determining an edge server that calculates a nonce value.

そして、エッジサーバ100の取得部110は、自サーバ(エッジサーバ100)および他のエッジサーバ100の負荷の状態を示す情報(状態情報)を取得する(ステップS98)。そして、決定部120は、取得した状態情報に基づいて、新たなブロックに含めるナンス値を計算するエッジサーバを決定する(ステップS99)。   Then, the acquisition unit 110 of the edge server 100 acquires information (state information) indicating the load states of the local server (edge server 100) and other edge servers 100 (step S98). And the determination part 120 determines the edge server which calculates the nonce value included in a new block based on the acquired state information (step S99).

そして、計算部160は、決定部120がステップS99で決定したエッジサーバが、自サーバか否かを確認する(ステップS100)。ステップS99で決定されたエッジサーバが、他のエッジサーバの場合(ステップS100にてNO)、送信部150は、計算部160がステップS97でまとめた取引データ(つまり、承認前のブロック)を、決定されたエッジサーバに送信する(ステップS101)。この承認前のブロックが送信されたエッジサーバの処理は、図10を参照して後述する。そして、ステップS104に進む。   Then, the calculation unit 160 checks whether or not the edge server determined by the determination unit 120 in step S99 is its own server (step S100). When the edge server determined in step S99 is another edge server (NO in step S100), the transmission unit 150 uses the transaction data (that is, the block before approval) compiled by the calculation unit 160 in step S97. It transmits to the determined edge server (step S101). The processing of the edge server to which the pre-approval block is transmitted will be described later with reference to FIG. Then, the process proceeds to step S104.

ステップS99で決定されたエッジサーバが、自サーバの場合(ステップS100にてYES)、計算部160がステップS97でまとめたブロックのナンス値を計算する(ステップS102)。この構成により、エッジサーバ100は、ブロックを送信する処理に掛かる負荷を削減することができる。また、ブロックの送受信に掛かる時間を削減することができる。   When the edge server determined in step S99 is its own server (YES in step S100), calculation unit 160 calculates the nonce values of the blocks summarized in step S97 (step S102). With this configuration, the edge server 100 can reduce the load on the process of transmitting a block. Further, it is possible to reduce the time required for block transmission / reception.

そして、計算部160は、計算したナンス値と、承認前のブロックの直前のブロックのハッシュ値(ブロックチェーンに含まれるブロックのうち最新のブロックのナンス値)とを、承認前のブロックに含めて、該承認前のブロックを送信部150に供給する。そして送信部150は、この承認前のブロックを他のエッジサーバに対して同報する(ステップS103)。その後、エッジサーバ100は、ステップS108の処理に進む。   Then, the calculation unit 160 includes the calculated nonce value and the hash value of the block immediately before the block before approval (the nonce value of the latest block among the blocks included in the block chain) in the block before approval. The block before the approval is supplied to the transmission unit 150. Then, the transmission unit 150 broadcasts the block before approval to other edge servers (step S103). Thereafter, the edge server 100 proceeds to the process of step S108.

ナンス値を計算するエッジサーバが他のエッジサーバの場合、ステップS101の後に、受信部140は、該ステップS101にて、ブロックの送信先のエッジサーバ100から、該エッジサーバ100が計算したナンス値と直前のブロックのハッシュ値と含むブロックを受信する(ステップS104)。計算部160は、受信したブロックに含まれるナンス値を検算する(ステップS105)。この計算部160による検算が完了すると、検算の対象となったナンス値を含むブロックが承認されることになる。そして、計算部160は、承認されたブロックを、記憶部130に格納し、新たなブロックチェーンを形成する(ステップS106)。承認されたブロックは、ブロックチェーンの最新のブロックとなる。そして、検算を行ったエッジサーバ100は、ナンス値を計算したエッジサーバ100に対し、ブロックを承認したことを示す通知(承認通知)を送信する(ステップS107)。   When the edge server that calculates the nonce value is another edge server, after step S101, the receiving unit 140 calculates the nonce value calculated by the edge server 100 from the edge server 100 that is the transmission destination of the block in step S101. And the block including the hash value of the immediately preceding block is received (step S104). The calculation unit 160 verifies the nonce value included in the received block (step S105). When the verification by the calculation unit 160 is completed, the block including the nonce value that is the target of verification is approved. Then, the calculation unit 160 stores the approved block in the storage unit 130, and forms a new block chain (step S106). The approved block becomes the latest block in the blockchain. Then, the edge server 100 that has performed the verification transmits a notification (approval notification) indicating that the block has been approved to the edge server 100 that has calculated the nonce value (step S107).

エッジサーバ100がナンス値を計算するサーバである場合、ステップS103の終了後、受信部140がブロックを承認したことを示す通知を受信する(ステップS108)。その後、計算部160は、ステップS106と同様に承認されたブロックを、記憶部130に格納し、新たなブロックチェーンを形成する(ステップS109)。   When the edge server 100 is a server that calculates a nonce value, after the end of step S103, a notification indicating that the receiving unit 140 has approved the block is received (step S108). Thereafter, the calculation unit 160 stores the approved block in the storage unit 130 as in step S106, and forms a new block chain (step S109).

そして、送信部150は、ブロックチェーンに追加されたブロックのハッシュ値(承認されたブロックのナンス値)を、利用者端末200に送信する(ステップS110)。   Then, the transmission unit 150 transmits the hash value of the block added to the block chain (the nonce value of the approved block) to the user terminal 200 (step S110).

そして、利用者端末200の受信部250は、エッジサーバ100から送信された、最新のブロックのハッシュ値を受信する(ステップS111)。   And the receiving part 250 of the user terminal 200 receives the hash value of the newest block transmitted from the edge server 100 (step S111).

また、送信部150は、ブロックチェーンに追加されたブロックに含まれる1以上の取引データの夫々に関連する店舗の店舗端末300に対し、取引が完了したことを示す通知(取引完了通知)を送信する(ステップS112)。なお、ステップS112は、ステップS109の後であれば、どのタイミングで行われてもよい。また、ステップS112を行うエッジサーバ100は、複数のエッジサーバのうち、どのエッジサーバであってもよい。   Moreover, the transmission part 150 transmits the notification (transaction completion notification) which shows that the transaction was completed with respect to the store terminal 300 of the store relevant to each of the 1 or more transaction data contained in the block added to the block chain. (Step S112). Note that step S112 may be performed at any timing as long as it is after step S109. Moreover, the edge server 100 which performs step S112 may be any edge server among a plurality of edge servers.

これにより、店舗端末300を有する店舗は、取引が完了したことを確認することができる。以上の処理により、例えば、店舗から商品を購入するという取引を行った利用者の財布に含まれる仮想通貨から購入した商品の金額分の仮想通貨が差し引かれる。また、上記店舗の財布には、購入された商品の金額分の仮想通貨が追加される。   Thereby, the store having the store terminal 300 can confirm that the transaction has been completed. Through the above processing, for example, the virtual currency corresponding to the amount of the purchased product is deducted from the virtual currency included in the wallet of the user who has made a transaction to purchase the product from the store. In addition, a virtual currency corresponding to the amount of the purchased product is added to the wallet of the store.

図10は、エッジサーバ100が、図8および図9に処理を示したエッジサーバとは異なるエッジサーバである場合の処理の一例を示す図である。図10に示す通り、エッジサーバ100の受信部140は、上述したステップS101で送信された、承認前のブロックを受信する(ステップS121)。   FIG. 10 is a diagram illustrating an example of processing in the case where the edge server 100 is an edge server different from the edge servers illustrated in FIGS. 8 and 9. As illustrated in FIG. 10, the receiving unit 140 of the edge server 100 receives the block before approval transmitted in step S101 described above (step S121).

そして、計算部160がステップS121で受信した、承認前のブロックのナンス値を計算する(ステップS122)。そして、計算部160は、計算したナンス値と、承認前のブロックの直前のブロックのハッシュ値とを、承認前のブロックに含めて、該承認前のブロックを送信部150に供給する。そして送信部150は、この承認前のブロックを他のエッジサーバに対して同報する(ステップS123)。これにより、ステップS99で決定したエッジサーバ以外のエッジサーバは、図9に示したステップS104〜ステップS107の処理を行うことができる。   And the calculation part 160 calculates the nonce value of the block before approval received by step S121 (step S122). Then, the calculation unit 160 includes the calculated nonce value and the hash value of the block immediately before the block before approval in the block before approval, and supplies the block before approval to the transmission unit 150. Then, the transmission unit 150 broadcasts the block before approval to other edge servers (step S123). Thereby, edge servers other than the edge server determined in step S99 can perform the processing of steps S104 to S107 shown in FIG.

その後、ステップS107で、承認通知が送信されると、受信部140がブロックを承認したことを示す通知を受信する(ステップS124)。そして、計算部160は、承認されたブロックを、記憶部130に格納し、新たなブロックチェーンを形成する(ステップS125)。   Thereafter, when an approval notification is transmitted in step S107, a notification indicating that the receiving unit 140 has approved the block is received (step S124). Then, the calculation unit 160 stores the approved block in the storage unit 130 and forms a new block chain (step S125).

以上により、承認前のブロックが送信されたエッジサーバの処理を終了する。   As described above, the processing of the edge server to which the block before approval is transmitted is finished.

このような決済処理により、システム2は、取引データの改ざん、否認、仮想通貨の二重支払いを防止した、セキュアな電子取引を行うことができる。   By such a settlement process, the system 2 can perform a secure electronic transaction that prevents falsification, denial of transaction data, and double payment of virtual currency.

次に、図11から図13を参照して、複数のエッジサーバ100が配置される位置について説明する。図11から図13は、夫々、システム2のネットワーク構成の一例を示す図である。   Next, with reference to FIG. 11 to FIG. 13, positions where a plurality of edge servers 100 are arranged will be described. 11 to 13 are diagrams each illustrating an example of a network configuration of the system 2.

図11から図13に示すネットワークには、基地局であるeNodeB(eNB)、MME(Mobility Management Entity)、S−GW(Serving−Gateway)およびP−GW(Packet Data Network−Gateway)が含まれる。エッジサーバ100は、図11に示す通り、eNBと、S−GWとの間に配置されてもよいし、図12に示す通り、S−GWとP−GWとの間に配置されてもよいし、図13に示す通り、P−GWが接続する外部のネットワーク上に配置されていてもよい。   The network shown in FIGS. 11 to 13 includes eNodeB (eNB), MME (Mobility Management Entity), S-GW (Serving-Gateway), and P-GW (Packet Data Network-Gateway), which are base stations. The edge server 100 may be arranged between the eNB and the S-GW as shown in FIG. 11, or may be arranged between the S-GW and the P-GW as shown in FIG. However, as shown in FIG. 13, it may be arranged on an external network to which the P-GW is connected.

図13に示すように、エッジサーバ100が、eNBよりもP−GW側に配置されることにより、エッジサーバ100と通信する店舗が存在する範囲を広げることができる。したがって、システム2は、エッジサーバ100の台数を減らすことができるため、エッジサーバ100の設置にかかるコストを削減することができる。また、図11に示すように、エッジサーバ100が、P−GWよりもeNB側に配置されることにより、利用者端末200または店舗端末300と、エッジサーバ100との距離が近くなる。これにより、システム2は、利用者端末200または店舗端末300と、エッジサーバ100との間の通信遅延を低減することができる。   As illustrated in FIG. 13, the edge server 100 is arranged on the P-GW side with respect to the eNB, whereby the range in which stores that communicate with the edge server 100 exist can be expanded. Therefore, since the system 2 can reduce the number of edge servers 100, the cost for installing the edge server 100 can be reduced. As shown in FIG. 11, the edge server 100 is arranged closer to the eNB side than the P-GW, whereby the distance between the user terminal 200 or the store terminal 300 and the edge server 100 is reduced. Thereby, the system 2 can reduce the communication delay between the user terminal 200 or the shop terminal 300 and the edge server 100.

本実施の形態では、第1の実施の形態における負荷分散装置10の機能が、エッジサーバ100内に内蔵されることについて説明を行ったが、上述したとおり、負荷分散装置10は、エッジサーバ100とは異なる装置で実現されるものであってもよい。この場合、ステップS97において、承認前のブロックを生成したエッジサーバ100は、負荷分散装置10を有する装置に、承認前のブロックが生成されたことを示す通知を送信してもよい。これにより、負荷分散装置10の取得部11が上述した取得部110と同様に上記通知を受け取ることにより、負荷分散装置10は、第1の実施の形態において説明した処理を行うことができる。   In the present embodiment, it has been described that the function of the load distribution apparatus 10 in the first embodiment is incorporated in the edge server 100. However, as described above, the load distribution apparatus 10 includes the edge server 100. It may be realized by a different device. In this case, in step S97, the edge server 100 that has generated the block before approval may transmit a notification indicating that the block before approval has been generated to the device having the load distribution apparatus 10. As a result, the acquisition unit 11 of the load distribution apparatus 10 receives the notification in the same manner as the acquisition unit 110 described above, whereby the load distribution apparatus 10 can perform the processing described in the first embodiment.

そして、負荷分散装置10は、承認前のブロックを生成したエッジサーバ(上述したステップS97を行ったエッジサーバ)に対し、決定したエッジサーバに承認前のブロックを送信する指示を送信する。これにより、承認前のブロックを生成したエッジサーバは、ステップS104からステップS107の処理を行うことができる。また、負荷分散装置10が決定したエッジサーバは、図9のステップS102以降の処理を行うことができる。   Then, the load distribution apparatus 10 transmits an instruction to transmit the block before approval to the determined edge server to the edge server that generated the block before approval (the edge server that performed step S97 described above). Thereby, the edge server which produced | generated the block before approval can perform the process of step S104 to step S107. Further, the edge server determined by the load balancer 10 can perform the processing from step S102 onward in FIG.

また、本実施の形態では、店舗端末300が出力した識別子または取引データに商品情報と店舗アドレスとが含まれることについて説明したが、店舗端末300は、識別子または取引データに商品情報と該取引を特定する情報(取引識別子)とを含めて出力してもよい。この場合、店舗端末300は、暗号化した店舗アドレスを上記取引識別子に関連付けてエッジサーバ100に送信する。店舗アドレスを受信したエッジサーバ100は、店舗アドレスの送信元の店舗端末300の公開鍵で復号する。そして、利用者端末200が、エッジサーバ100に取引データを、上記取引識別子と共に送信する。これにより、エッジサーバ100は、取引データと、店舗アドレスとを関連付けることができるため、エッジサーバ100は、ステップS96において、全ての店舗の公開鍵を用いなくとも、取引データに含まれる商品情報を復号することができる。   Further, in the present embodiment, it has been described that the product information and the store address are included in the identifier or transaction data output from the store terminal 300, but the store terminal 300 stores the product information and the transaction in the identifier or the transaction data. You may output including the information (transaction identifier) to identify. In this case, the store terminal 300 transmits the encrypted store address to the edge server 100 in association with the transaction identifier. The edge server 100 that has received the store address decrypts it with the public key of the store terminal 300 that is the source of the store address. Then, the user terminal 200 transmits transaction data to the edge server 100 together with the transaction identifier. As a result, the edge server 100 can associate the transaction data with the store address. Therefore, in step S96, the edge server 100 can display the product information included in the transaction data without using the public keys of all stores. Can be decrypted.

(効果)
本実施の形態に係るシステム2によれば、エッジサーバ100の取得部110が、所定のネットワークにおける複数のエッジサーバの夫々の状態を示す状態情報を取得する。この複数のエッジサーバは、利用者と店舗との間の、所定の金銭的価値を有する電子バリューを用いた取引に関する取引データを所定のプロトコルに従って仲介するサーバである。そして、エッジサーバ100の決定部120が、複数のエッジサーバ100の夫々における状態情報に基づいて、複数のエッジサーバのうち、ナンス値を計算するエッジサーバを決定する。
(effect)
According to the system 2 according to the present embodiment, the acquisition unit 110 of the edge server 100 acquires state information indicating each state of a plurality of edge servers in a predetermined network. The plurality of edge servers are servers that mediate transaction data regarding transactions using electronic value having a predetermined monetary value between a user and a store according to a predetermined protocol. And the determination part 120 of the edge server 100 determines the edge server which calculates a nonce value among several edge servers based on the status information in each of several edge servers 100. FIG.

一般的に、ナンス値の計算には、大きな負荷が掛かる。したがって、1つのエッジサーバのみが、複数の取引データ群(ブロック)の夫々のナンス値の計算を行うと、この1つのエッジサーバに大きな負荷が掛かってしまう。しかしながら、本実施の形態に係るシステム2におけるエッジサーバの決定部120は、複数のエッジサーバの夫々の状態情報に基づいて、ナンス値を計算するエッジサーバを決定する。これにより、ナンス値の計算を行うタイミングにおいて、決定部120は、例えば、負荷がより小さいエッジサーバ、高性能なエッジサーバなど、ナンス値を計算するのに適したエッジサーバを決定することができる。これにより、システム2は、ある特定のエッジサーバに負荷が掛からないようにすることができる。したがって、システム2は、利用者と店舗との間の電子取引における、システム2に含まれるエッジサーバの負荷分散を行うことができる。また、エッジサーバの負荷分散を行うことにより、利用者と店舗との間の取引に対する決済処理の時間を短くすることができる。   In general, a large load is applied to the calculation of the nonce value. Therefore, when only one edge server calculates each nonce value of a plurality of transaction data groups (blocks), a large load is applied to the one edge server. However, the edge server determination unit 120 in the system 2 according to the present embodiment determines an edge server that calculates a nonce value based on the state information of each of the plurality of edge servers. Thereby, at the timing of calculating the nonce value, the determination unit 120 can determine an edge server suitable for calculating the nonce value, such as an edge server having a smaller load or a high-performance edge server. . As a result, the system 2 can prevent a specific edge server from being loaded. Therefore, the system 2 can perform load distribution of the edge servers included in the system 2 in the electronic transaction between the user and the store. Further, by performing load distribution of the edge server, it is possible to shorten the time for settlement processing for transactions between the user and the store.

また、本実施の形態に係るシステム2では、ナンス値の計算処理を、エッジサーバ100で行う。また、システム2では利用者端末200の認証処理および取引データの復号処理もエッジサーバ100で行う。これにより、決済網の参加者の何れかがナンス値を計算する場合、または、中央決済機関が決済処理を行う場合に比べ、利用者と店舗との間の取引に対する決済処理の時間を短くすることができる。   In the system 2 according to the present embodiment, the edge server 100 performs nonce value calculation processing. In the system 2, the edge server 100 also performs authentication processing of the user terminal 200 and decryption processing of transaction data. This shortens the time required for payment processing for transactions between the user and the store, compared to the case where one of the payment network participants calculates the nonce value or the central payment organization performs payment processing. be able to.

また、本実施の形態に係るシステム2は、既存のシステムにも適用可能である。既存のシステムとは、例えば、電子貨幣を用いた電子決済システム、クレジットカードを用いた電子決済システム、サービス提供会社が管理するポイントを用いた決済システム、サービス提供会社によって貨幣価値が設定された仮想通貨を用いた決済システム等が挙げられる。   The system 2 according to the present embodiment can also be applied to an existing system. Examples of the existing system include an electronic payment system using electronic money, an electronic payment system using a credit card, a payment system using points managed by a service provider, and a virtual value with a monetary value set by the service provider. For example, a settlement system using currency.

また、本実施の形態に係るシステム2では、所定の範囲内における取引であるため、システム2は、所定の範囲において、通貨交換のレートの設定や変更を容易に行うことができる。また、システム2は、所定の範囲における仮想通貨の使用用途、使用場所を制御することもできる。   Further, since the system 2 according to the present embodiment is a transaction within a predetermined range, the system 2 can easily set or change the currency exchange rate within the predetermined range. The system 2 can also control the usage and place of use of the virtual currency within a predetermined range.

(ハードウェア構成について)
本発明の各実施形態において、各装置の各構成要素は、機能単位のブロックを示している。各装置の各構成要素の一部又は全部は、例えば図14に示すような情報処理装置900とプログラムとの任意の組み合わせにより実現される。情報処理装置900は、一例として、以下のような構成を含む。
(About hardware configuration)
In each embodiment of the present invention, each component of each device represents a functional unit block. Part or all of each component of each device is realized by an arbitrary combination of an information processing device 900 and a program as shown in FIG. 14, for example. The information processing apparatus 900 includes the following configuration as an example.

・CPU(Central Processing Unit)901
・ROM(Read Only Memory)902
・RAM(Random Access Memory)903
・RAM903にロードされるプログラム904
・プログラム904を格納する記憶装置905
・記録媒体906の読み書きを行うドライブ装置907
・通信ネットワーク909と接続する通信インターフェース908
・データの入出力を行う入出力インターフェース910
・各構成要素を接続するバス911
各実施形態における各装置の各構成要素は、これらの機能を実現するプログラム904をCPU901が取得して実行することで実現される。各装置の各構成要素の機能を実現するプログラム904は、例えば、予め記憶装置905やRAM903に格納されており、必要に応じてCPU901が読み出す。なお、プログラム904は、通信ネットワーク909を介してCPU901に供給されてもよいし、予め記録媒体906に格納されており、ドライブ装置907が当該プログラムを読み出してCPU901に供給してもよい。
CPU (Central Processing Unit) 901
ROM (Read Only Memory) 902
-RAM (Random Access Memory) 903
A program 904 loaded into the RAM 903
A storage device 905 that stores the program 904
A drive device 907 that reads / writes data from / to the recording medium 906
A communication interface 908 connected to the communication network 909
・ Input / output interface 910 for inputting / outputting data
-Bus 911 connecting each component
Each component of each device in each embodiment is realized by the CPU 901 acquiring and executing a program 904 that realizes these functions. The program 904 that realizes the function of each component of each device is stored in advance in the storage device 905 or the RAM 903, for example, and is read by the CPU 901 as necessary. The program 904 may be supplied to the CPU 901 via the communication network 909, or may be stored in the recording medium 906 in advance, and the drive device 907 may read the program and supply it to the CPU 901.

各装置の実現方法には、様々な変形例がある。例えば、各装置は、構成要素毎にそれぞれ別個の情報処理装置900とプログラムとの任意の組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つの情報処理装置900とプログラムとの任意の組み合わせにより実現されてもよい。   There are various modifications to the method of realizing each device. For example, each device may be realized by an arbitrary combination of an information processing device 900 and a program that are different for each component. A plurality of constituent elements included in each device may be realized by an arbitrary combination of one information processing device 900 and a program.

また、各装置の各構成要素の一部又は全部は、その他の汎用または専用の回路、プロセッサ等やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。   In addition, some or all of the components of each device are realized by other general-purpose or dedicated circuits, processors, or combinations thereof. These may be configured by a single chip or may be configured by a plurality of chips connected via a bus.

各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。   Part or all of each component of each device may be realized by a combination of the above-described circuit and the like and a program.

各装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。   When some or all of the constituent elements of each device are realized by a plurality of information processing devices and circuits, the plurality of information processing devices and circuits may be centrally arranged or distributedly arranged. Also good. For example, the information processing apparatus, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client and server system and a cloud computing system.

なお、上述した各実施の形態は、本発明の好適な実施の形態であり、上記各実施の形態にのみ本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において当業者が上記各実施の形態の修正や代用を行い、種々の変更を施した形態を構築することが可能である。   Each of the above-described embodiments is a preferred embodiment of the present invention, and the scope of the present invention is not limited only to the above-described embodiments, and those skilled in the art do not depart from the gist of the present invention. However, it is possible to construct a form in which various modifications are made by correcting or substituting the above-described embodiments.

1 システム
2 システム
10 負荷分散装置
11 取得部
12 決定部
20 利用者端末
30 店舗端末
40 エッジサーバ
100 エッジサーバ
110 取得部
120 決定部
130 記憶部
140 受信部
150 送信部
160 計算部
170 認証部
200 利用者端末
210 生成部
220 送信部
230 記憶部
240 取得部
250 受信部
300 店舗端末
310 生成部
320 送信部
330 記憶部
340 出力部
DESCRIPTION OF SYMBOLS 1 System 2 System 10 Load distribution apparatus 11 Acquisition part 12 Determination part 20 User terminal 30 Store terminal 40 Edge server 100 Edge server 110 Acquisition part 120 Determination part 130 Storage part 140 Reception part 150 Transmission part 160 Calculation part 170 Authentication part 200 Use Person terminal 210 generation unit 220 transmission unit 230 storage unit 240 acquisition unit 250 reception unit 300 store terminal 310 generation unit 320 transmission unit 330 storage unit 340 output unit

Claims (13)

利用者が有する利用者端末と、店舗に設けられた店舗端末と、所定の金銭的価値を有する電子バリューを用いた、前記利用者と前記店舗との間の取引に関する取引データを所定のプロトコルに従って仲介する複数のエッジサーバと、負荷分散装置とを含み、
前記負荷分散装置は、前記複数のエッジサーバの夫々の状態を示す状態情報を取得する取得手段と、
前記複数のエッジサーバの夫々における、前記取得した状態情報に基づいて、前記複数のエッジサーバのうち、1以上の前記取引データを含む取引データ群に対するナンス値を計算するエッジサーバを決定する決定手段と、
を備えることを特徴とする負荷分散システム。
Transaction data relating to a transaction between the user and the store using a user terminal owned by the user, a store terminal provided in the store, and an electronic value having a predetermined monetary value, according to a predetermined protocol Including a plurality of edge servers that mediate and a load balancer;
The load distribution device includes an acquisition unit configured to acquire state information indicating a state of each of the plurality of edge servers;
Determination means for determining an edge server that calculates a nonce value for a transaction data group including one or more of the transaction data, among the plurality of edge servers, based on the acquired state information in each of the plurality of edge servers. When,
A load distribution system comprising:
前記複数のエッジサーバの夫々は、前記ナンス値を計算する計算手段を備え、
前記決定手段によって決定されたエッジサーバの前記計算手段は、前記ナンス値を計算する、ことを特徴とする請求項1に記載の負荷分散システム。
Each of the plurality of edge servers includes calculation means for calculating the nonce value,
The load distribution system according to claim 1, wherein the calculation unit of the edge server determined by the determination unit calculates the nonce value.
前記複数のエッジサーバの夫々は、前記取引データ群を送信する送信手段を備え、
前記複数のエッジサーバの少なくとも1つは、前記利用者端末から、前記取引データを受信する受信手段を備え、
前記計算手段は、前記受信手段が受信した取引データに基づいて、前記取引データ群を生成し、前記決定手段によって決定されたエッジサーバが他のエッジサーバの場合、前記生成した取引データ群を、前記送信手段を介して前記他のエッジサーバに送信し、前記決定手段によって決定されたエッジサーバが自サーバの場合、前記生成した取引データ群のナンス値を計算する、ことを特徴とする請求項2に記載の負荷分散システム。
Each of the plurality of edge servers includes transmission means for transmitting the transaction data group,
At least one of the plurality of edge servers includes receiving means for receiving the transaction data from the user terminal,
The calculation means generates the transaction data group based on the transaction data received by the reception means, and when the edge server determined by the determination means is another edge server, the generated transaction data group is A nonce value of the generated transaction data group is calculated when the edge server transmitted to the other edge server via the transmission unit and the edge server determined by the determination unit is a local server. 2. The load balancing system according to 2.
前記受信手段は、該受信手段を備えるエッジサーバと前記利用者端末との距離が、他のエッジサーバと該利用者端末との距離より近い場合に、該利用者端末から、前記取引データを受信する、ことを特徴とする請求項3に記載の負荷分散システム。   The receiving means receives the transaction data from the user terminal when the distance between the edge server provided with the receiving means and the user terminal is closer than the distance between the other edge server and the user terminal. The load distribution system according to claim 3, wherein: 前記取得手段は、前記状態情報として、前記エッジサーバに掛かる負荷状態を表す負荷状態情報、前記エッジサーバの動作状態を表す動作状態情報、前記エッジサーバが有する性能を表す性能情報の少なくとも何れかを取得する、ことを特徴とする請求項1から4の何れか1項に記載の負荷分散システム。   The acquisition means includes, as the state information, at least one of load state information indicating a load state applied to the edge server, operation state information indicating the operation state of the edge server, and performance information indicating the performance of the edge server. The load distribution system according to claim 1, wherein the load distribution system is acquired. 前記負荷分散装置は、前記複数のエッジサーバのうち、少なくとも一つのエッジサーバに設けられることを特徴とする請求項1から5の何れか1項に記載の負荷分散システム。   6. The load distribution system according to claim 1, wherein the load distribution apparatus is provided in at least one edge server among the plurality of edge servers. 7. 前記複数のエッジサーバは、基地局とサービングゲートウェイとの間、サービングゲートウェイとパケットデータネットワークゲートウェイとの間、または、パケットデータネットワークゲートウェイが接続する外部のネットワーク上に配置される、ことを特徴とする請求項1から6の何れか1項に記載の負荷分散システム。   The plurality of edge servers are arranged between a base station and a serving gateway, between a serving gateway and a packet data network gateway, or on an external network to which the packet data network gateway is connected. The load distribution system according to any one of claims 1 to 6. 所定の金銭的価値を有する電子バリューを用いた、利用者と店舗との間の取引に関する取引データを所定のプロトコルに従って仲介する複数のエッジサーバの夫々の状態を示す状態情報を取得する取得手段と、
前記複数のエッジサーバの夫々における、前記取得した状態情報に基づいて、前記複数のエッジサーバのうち、1以上の前記取引データを含む取引データ群に対するナンス値を計算するエッジサーバを決定する決定手段と、
を備えることを特徴とする負荷分散装置。
An acquisition means for acquiring state information indicating each state of a plurality of edge servers that mediate transaction data relating to a transaction between a user and a store using an electronic value having a predetermined monetary value according to a predetermined protocol; ,
Determination means for determining an edge server that calculates a nonce value for a transaction data group including one or more of the transaction data, among the plurality of edge servers, based on the acquired state information in each of the plurality of edge servers. When,
A load balancer comprising:
前記取得手段は、前記状態情報として、前記エッジサーバに掛かる負荷状態を表す負荷状態情報、前記エッジサーバの動作状態を表す動作状態情報、前記エッジサーバが有する性能を表す性能情報の少なくとも何れかを取得する、ことを特徴とする請求項8に記載の負荷分散装置。   The acquisition means includes, as the state information, at least one of load state information indicating a load state applied to the edge server, operation state information indicating the operation state of the edge server, and performance information indicating the performance of the edge server. The load distribution device according to claim 8, wherein the load distribution device is acquired. 所定の金銭的価値を有する電子バリューを用いた、利用者と店舗との間の取引に関する取引データを所定のプロトコルに従って仲介する複数のエッジサーバの夫々の状態を示す状態情報を取得し、
前記複数のエッジサーバの夫々における、前記取得した状態情報に基づいて、前記複数のエッジサーバのうち、1以上の前記取引データを含む取引データ群に対するナンス値を計算するエッジサーバを決定する、ことを特徴とする負荷分散方法。
Obtaining status information indicating the status of each of a plurality of edge servers that mediate transaction data relating to a transaction between a user and a store using an electronic value having a predetermined monetary value according to a predetermined protocol;
Determining an edge server that calculates a nonce value for a transaction data group including one or more of the transaction data, out of the plurality of edge servers, based on the acquired state information in each of the plurality of edge servers. A load balancing method characterized by the above.
前記状態情報は、前記エッジサーバに掛かる負荷状態を表す負荷状態情報、前記エッジサーバの動作状態を表す動作状態情報、前記エッジサーバが有する性能を表す性能情報の少なくとも何れかである、ことを特徴とする請求項10に記載の負荷分散方法。   The state information is at least one of load state information indicating a load state applied to the edge server, operation state information indicating an operation state of the edge server, and performance information indicating performance of the edge server. The load distribution method according to claim 10. 所定の金銭的価値を有する電子バリューを用いた、利用者と店舗との間の取引に関する取引データを所定のプロトコルに従って仲介する複数のエッジサーバの夫々の状態を示す状態情報を取得する処理と、
前記複数のエッジサーバの夫々における、前記取得した状態情報に基づいて、前記複数のエッジサーバのうち、1以上の前記取引データを含む取引データ群に対するナンス値を計算するエッジサーバを決定する処理と、をコンピュータに実行させることを特徴とするプログラム。
A process of acquiring state information indicating the state of each of a plurality of edge servers that mediate transaction data relating to a transaction between a user and a store according to a predetermined protocol using an electronic value having a predetermined monetary value;
A process of determining an edge server that calculates a nonce value for a transaction data group including one or more of the transaction data, out of the plurality of edge servers, based on the acquired state information in each of the plurality of edge servers; , Causing a computer to execute.
前記状態情報は、前記エッジサーバに掛かる負荷状態を表す負荷状態情報、前記エッジサーバの動作状態を表す動作状態情報、前記エッジサーバが有する性能を表す性能情報の少なくとも何れかである、ことを特徴とする請求項12に記載のプログラム。   The state information is at least one of load state information indicating a load state applied to the edge server, operation state information indicating an operation state of the edge server, and performance information indicating performance of the edge server. The program according to claim 12.
JP2016002829A 2016-01-08 2016-01-08 Load distribution system, load distribution device, load distribution method, and program Active JP6657972B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016002829A JP6657972B2 (en) 2016-01-08 2016-01-08 Load distribution system, load distribution device, load distribution method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016002829A JP6657972B2 (en) 2016-01-08 2016-01-08 Load distribution system, load distribution device, load distribution method, and program

Publications (2)

Publication Number Publication Date
JP2017123116A true JP2017123116A (en) 2017-07-13
JP6657972B2 JP6657972B2 (en) 2020-03-04

Family

ID=59306611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016002829A Active JP6657972B2 (en) 2016-01-08 2016-01-08 Load distribution system, load distribution device, load distribution method, and program

Country Status (1)

Country Link
JP (1) JP6657972B2 (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6391128B1 (en) * 2017-09-27 2018-09-19 株式会社Artrigger Transaction management method, communication terminal, and program
JP2018197832A (en) * 2017-05-25 2018-12-13 日本電信電話株式会社 Block chain update system, server device, client device, block chain update method, and program
JP6487096B1 (en) * 2018-04-17 2019-03-20 株式会社電通 Point grant system and point grant method
WO2019111513A1 (en) * 2017-12-08 2019-06-13 ソニー株式会社 Information processing device, registration device, information processing method, registration method, and program
JP2019152961A (en) * 2018-03-01 2019-09-12 株式会社デンソー Verification terminal and verification system
JP2020003907A (en) * 2018-06-26 2020-01-09 国立大学法人佐賀大学 Information communication device, information communication method and information communication program
JP6647495B1 (en) * 2018-08-21 2020-02-14 株式会社スマイルメーカー Virtual currency management system and method
EP3496370A4 (en) * 2017-09-30 2020-02-19 One Connect Smart Technology Co., Ltd. (Shenzhen) Blockchain data uploading method, system, computer system and storage medium
JP2020505657A (en) * 2017-11-29 2020-02-20 シンハン カード カンパニー リミテッドShinhan Card Co., Ltd. Credit virtual money generation device and credit virtual money management device
KR20200078860A (en) * 2018-12-24 2020-07-02 전자부품연구원 Ultra-Small Disposable IoT based Healthcare Monitoring Method
JP2020528607A (en) * 2017-07-24 2020-09-24 エヌチェーン ホールディングス リミテッドNchain Holdings Limited Computer-implemented systems and methods for managing large distributed memory pools in blockchain networks
KR20210044087A (en) * 2019-10-14 2021-04-22 주식회사 빗썸코리아 Integrated system of load balancing plural matching servers and method implementing thereof
JP2021526751A (en) * 2018-06-13 2021-10-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Secure consensus endorsement for self-monitoring blockchain
US11170457B2 (en) 2017-09-27 2021-11-09 Artrigger Inc. Transaction management method, communication terminal, and method of exploitation right management
JP7039756B1 (en) 2021-07-30 2022-03-22 PayPay株式会社 Information processing equipment, information processing methods and information processing programs
WO2022222817A1 (en) * 2021-04-23 2022-10-27 华为技术有限公司 Method and apparatus for selecting edge application server
KR20220154401A (en) * 2021-05-13 2022-11-22 광운대학교 산학협력단 Mecs, mec system, method for load balancing between mecs, and computer-readable recording medium including the same
JP7375059B2 (en) 2017-11-06 2023-11-07 東芝テック株式会社 payment terminal

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005071081A (en) * 2003-08-25 2005-03-17 Bitwallet Inc Sales server, sales method, and sales program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005071081A (en) * 2003-08-25 2005-03-17 Bitwallet Inc Sales server, sales method, and sales program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
久米 潤一郎,外2名: ""Lottery Protocol for Cryptocurrency"", 2015年 暗号と情報セキュリティシンポジウム SCIS2015 [CD−ROM] 2015年 暗号, JPN6019042164, 20 January 2015 (2015-01-20), pages 1 - 5, ISSN: 0004146813 *
淵田 康之: "「ブロックチェーンと金融取引の革新」", 野村資本市場クォータリー 2015年秋号, vol. 第19巻,第2号, JPN6019042163, 1 November 2015 (2015-11-01), pages 11 - 35, ISSN: 0004146812 *

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018197832A (en) * 2017-05-25 2018-12-13 日本電信電話株式会社 Block chain update system, server device, client device, block chain update method, and program
JP6999023B2 (en) 2017-07-24 2022-02-04 エヌチェーン ホールディングス リミテッド Computer-implemented systems and methods for managing large distributed memory pools in blockchain networks
JP2020528607A (en) * 2017-07-24 2020-09-24 エヌチェーン ホールディングス リミテッドNchain Holdings Limited Computer-implemented systems and methods for managing large distributed memory pools in blockchain networks
JP6391128B1 (en) * 2017-09-27 2018-09-19 株式会社Artrigger Transaction management method, communication terminal, and program
US11170457B2 (en) 2017-09-27 2021-11-09 Artrigger Inc. Transaction management method, communication terminal, and method of exploitation right management
EP3496370A4 (en) * 2017-09-30 2020-02-19 One Connect Smart Technology Co., Ltd. (Shenzhen) Blockchain data uploading method, system, computer system and storage medium
US11146384B2 (en) 2017-09-30 2021-10-12 One Connect Smart Technology Co., Ltd. (Shenzhen) Method, system, computer system and storage medium of uploading blockchain data
JP7375059B2 (en) 2017-11-06 2023-11-07 東芝テック株式会社 payment terminal
JP2020505657A (en) * 2017-11-29 2020-02-20 シンハン カード カンパニー リミテッドShinhan Card Co., Ltd. Credit virtual money generation device and credit virtual money management device
US11533181B2 (en) 2017-12-08 2022-12-20 Sony Corporation Information processing apparatus, registration apparatus, information processing method, and registration method
WO2019111513A1 (en) * 2017-12-08 2019-06-13 ソニー株式会社 Information processing device, registration device, information processing method, registration method, and program
JP7031374B2 (en) 2018-03-01 2022-03-08 株式会社デンソー Verification terminal, verification system
JP2019152961A (en) * 2018-03-01 2019-09-12 株式会社デンソー Verification terminal and verification system
JP2019185659A (en) * 2018-04-17 2019-10-24 株式会社電通 System and method for providing points
JP6487096B1 (en) * 2018-04-17 2019-03-20 株式会社電通 Point grant system and point grant method
JP7304118B2 (en) 2018-06-13 2023-07-06 インターナショナル・ビジネス・マシーンズ・コーポレーション Secure, consensual endorsements for self-monitoring blockchains
JP2021526751A (en) * 2018-06-13 2021-10-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Secure consensus endorsement for self-monitoring blockchain
JP2020003907A (en) * 2018-06-26 2020-01-09 国立大学法人佐賀大学 Information communication device, information communication method and information communication program
JP6647495B1 (en) * 2018-08-21 2020-02-14 株式会社スマイルメーカー Virtual currency management system and method
WO2020039494A1 (en) * 2018-08-21 2020-02-27 株式会社スマイルメーカー System and method for virtual currency management
KR102412687B1 (en) * 2018-12-24 2022-06-24 한국전자기술연구원 Ultra-Small Disposable IoT based Healthcare Monitoring Method
KR20200078860A (en) * 2018-12-24 2020-07-02 전자부품연구원 Ultra-Small Disposable IoT based Healthcare Monitoring Method
KR102423544B1 (en) * 2019-10-14 2022-07-21 주식회사 빗썸코리아 Integrated system of load balancing plural matching servers and method implementing thereof
KR20210044087A (en) * 2019-10-14 2021-04-22 주식회사 빗썸코리아 Integrated system of load balancing plural matching servers and method implementing thereof
WO2022222817A1 (en) * 2021-04-23 2022-10-27 华为技术有限公司 Method and apparatus for selecting edge application server
KR20220154401A (en) * 2021-05-13 2022-11-22 광운대학교 산학협력단 Mecs, mec system, method for load balancing between mecs, and computer-readable recording medium including the same
KR102533866B1 (en) * 2021-05-13 2023-05-26 광운대학교 산학협력단 Method for load balancing between mecs, and computer-readable recording medium including the same
JP7039756B1 (en) 2021-07-30 2022-03-22 PayPay株式会社 Information processing equipment, information processing methods and information processing programs
JP2023020708A (en) * 2021-07-30 2023-02-09 PayPay株式会社 Information processor, information processing method, and information processing program

Also Published As

Publication number Publication date
JP6657972B2 (en) 2020-03-04

Similar Documents

Publication Publication Date Title
JP6657972B2 (en) Load distribution system, load distribution device, load distribution method, and program
US11240217B1 (en) Wireless peer to peer mobile wallet connections
US20220231851A1 (en) Unique token authentication verification value
CN111357025B (en) Secure QR code service
KR102232649B1 (en) Checking online access to security device features
AU2016220072B2 (en) Secure authentication of user and mobile device
CN105139193B (en) Electronic resource processing method, electronic resource processing device and server
AU2012294451B2 (en) Payment device with integrated chip
US20170213206A1 (en) Conducting transactions using electronic devices with geographically restricted non-native credentials
US20150278799A1 (en) System incorporating wireless share process
US9691109B2 (en) Mechanism for reputation feedback based on real time interaction
CN102985885A (en) Systems, apparatus, and methods for proximity-based peer-to-peer payment transactions
WO2017020618A1 (en) Electronic resource processing method and apparatus
JP2017514242A (en) O2O secure settlement method, O2O secure settlement system and POS terminal
AU2015308090B2 (en) System and method for electronic payments
SE1300499A1 (en) Secure two-party comparison transaction system
US20160125407A1 (en) Systems and Methods for Secure Remote Payments
JP6667498B2 (en) Remote transaction system, method and POS terminal
KR101407737B1 (en) Apparatus and Method for Processing Finance Banking Information of Smart Device Using QR Code
US20150073999A1 (en) Method and system for conducting a payment transaction and corresponding devices
WO2019203982A2 (en) Server and method for sending a transaction receipt via a push notification
CN114119024A (en) Data interaction method, device and related equipment
CN105225107A (en) Based on the communication interaction method of integrated card, method for secure transactions and system thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191226

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: 20200107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200120

R150 Certificate of patent or registration of utility model

Ref document number: 6657972

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150