JP7016389B1 - システム及びプログラム - Google Patents
システム及びプログラム Download PDFInfo
- Publication number
- JP7016389B1 JP7016389B1 JP2020132481A JP2020132481A JP7016389B1 JP 7016389 B1 JP7016389 B1 JP 7016389B1 JP 2020132481 A JP2020132481 A JP 2020132481A JP 2020132481 A JP2020132481 A JP 2020132481A JP 7016389 B1 JP7016389 B1 JP 7016389B1
- Authority
- JP
- Japan
- Prior art keywords
- node
- log
- nodes
- transactions
- logs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 73
- 238000010586 diagram Methods 0.000 abstract description 20
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000000034 method Methods 0.000 description 67
- 238000004891 communication Methods 0.000 description 42
- 230000006870 function Effects 0.000 description 42
- 230000003139 buffering effect Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 13
- 230000010365 information processing Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
[1-1.システムの概要]
図1~図10を用いて、本発明の第1実施形態に係る分散型台帳システム10、分散型台帳システム10を構成する情報処理装置(ノード100)、及びノード100に接続されるクライアント端末400、並びに、これらを動作させるためのプログラムについて説明する。図1~図3は、本発明の一実施形態に係る分散型台帳システムの概要を示す図である。
図4を用いて、本実施形態に係る分散型台帳システム10のリーダノード200の機能を説明する。図4は、本発明の一実施形態に係る分散型台帳システムに用いられるリーダノードの機能構成を示すブロック図である。図4に示すように、リーダノード200は、CM通信部210、TX受信部220、整列処理部230、ログ生成部240、最終断面計算部245、分散処理部250、及びデータ更新部260を有する。これらの機能部は通信バス290によって互いに通信可能に接続されている。これらの機能部の機能は、リーダノード200に備えられた記憶装置に格納されたプログラムをCPUが実行することで実現される。
図5は、本発明の一実施形態に係る分散型台帳システムにおけるトランザクション及びログの具体例を示す図である。図5に示すように、トランザクションTX1は、口座番号AAAから口座番号BBBに10万円移動する、という取引要求に基づくトランザクションである。トランザクションTX2は、口座番号BBBから口座番号CCCに20万円移動する、という取引要求に基づくトランザクションである。
(1)口座番号AAAの残高を取得する(口座番号AAAの残高は100万円)。
(2)口座番号BBBの残高を取得する(口座番号BBBの残高は1000万円)。
(3)口座番号AAAから10万円引いた場合の金額を計算する(90万円)。
(4)口座番号BBBに10万円足した場合の金額を計算する(1010万円)。
(5)口座番号AAAに90万円と書き込む。
(6)口座番号BBBに1010万円と書き込む。
「ログの断面」及び「ログの最終断面」について、具体的な例を用いて説明する。図6は、本発明の一実施形態に係る分散型台帳システムにおけるログの断面及びログの最終断面の具体例を示す図である。図6では、ログ1~1000のうち、ログ1、ログ150、及びログ1000の処理内容が示されている。
図7を用いて、本実施形態に係る分散型台帳システム10のクライアント端末400の機能を説明する。図7は、本発明の一実施形態に係る分散型台帳システムに用いられるクライアント端末の機能構成を示すブロック図である。図7に示すように、クライアント端末400は、取引要求受信部420、TX生成部430、LN通信部450、及びTX送信部460を有する。これらの機能部は通信バス490によって互いに通信可能に接続されている。これらの機能部の機能は、クライアント端末400に備えられた記憶装置に格納されたプログラムをCPUが実行することで実現される。なお、上記の各機能部は、クライアント端末400の各クライアントプロセス410によって実行される。
図8を用いて、本実施形態に係る分散型台帳システム10のフォロワノード300の機能を説明する。図8は、本発明の一実施形態に係る分散型台帳システムに用いられるフォロワノードの機能構成を示すブロック図である。図8に示すように、フォロワノード300は、断面受信部310、断面格納部320、合意形成部330、及びデータ更新部340を有する。これらの機能部は通信バス390によって互いに通信可能に接続されている。これらの機能部の機能は、フォロワノード300に備えられた記憶装置に格納されたプログラムをCPUが実行することで実現される。
図9は、本発明の一実施形態に係る分散型台帳システムの動作を示すシーケンスを示す図である。まず、クライアント端末400においてユーザ端末からの取引要求に応じたトランザクションTXが生成される(ステップS701)。生成されたトランザクションTXはリーダノード200に送信される(ステップS702)。
図11~図16を用いて、本発明の第2実施形態に係る分散型台帳システム10Aについて説明する。以下の説明において、分散型台帳システム10Aの構成のうち、第1実施形態に係る分散型台帳システム10と同様の特徴を有する構成には、分散型台帳システム10と同様の符号の後にアルファベット「A」を付して、詳細な説明を省略する場合がある。なお、第1実施形態の図面等を参照しながら第2実施形態に係る分散型台帳システム10Aを説明する場合、図1~図10に記載された符号に対してアルファベット「A」を付して説明する。以下の分散型台帳システム10Aの説明において、主に分散型台帳システム10と異なる点について説明する。
第2実施形態に係る分散型台帳システム10Aの概要は第1実施形態に係る分散型台帳システム10とほぼ同様なので、説明を省略する。分散型台帳システム10Aでは、クライアントプロセス410Aからリーダノード200Aに送信されるトランザクションがブロック単位でまとめて送信される点、複数のトランザクションが排他制御によって整列される点、及びログの最終断面がデータ同期アルゴリズムによってリーダノード200Aからフォロワノード300Aに送信される点において、第1実施形態に係る分散型台帳システム10と相違する。
図11を用いて、本実施形態に係る分散型台帳システム10Aのリーダノード200Aの機能を説明する。図11は、本発明の一実施形態に係る分散型台帳システムに用いられるリーダノードの機能構成を示すブロック図である。図11に示すリーダノード200Aの各機能部は、図4のリーダノード200の各機能部に類似しているが、整列処理部230A及び分散処理部250Aの構成が図4の整列処理部230及び分散処理部250と相違する。また、TX受信部220Aの機能が図4のTX受信部220の機能と相違する。
図12を用いて、本実施形態に係る分散型台帳システム10Aのクライアント端末400Aの機能を説明する。図12は、本発明の一実施形態に係る分散型台帳システムに用いられるクライアント端末の機能構成を示すブロック図である。図12に示すクライアント端末400Aの各機能部は、図7のクライアント端末400の各機能部に類似しているが、TXバッファリング部440Aが設けられている点において、クライアント端末400の各機能部とは相違する。
排他制御の具体的なシーケンスを図13に示す。図13は、本発明の一実施形態に係る分散型台帳システムにおける排他制御の動作を示すシーケンスを示す図である。図13に示すように、リーダノード200Aが複数のトランザクションを含むブロックを受信する(ステップS810A)と、整列処理部230Aによって、トランザクションTX1、TX2の順で整列される。排他制御機能231Aは、トランザクションTX1の処理(ステップS812A)が行われる前に各ノードのデータ更新に対してロックをかける処理を追加する(ステップS811A)。S811A及びS812Aの後に、各ノードにおいて更新されたデータを永続化する(ステップS813A)。具体的には、S813Aでは、S812Aによって規定された内容で各ノードのデータ更新(データベースの書き換え)を行う。S813Aの後にS811Aでかけたロックを解除する(ステップS814A)。ロックの解除後は、トランザクションTX2に対する処理(ステップS815A~S818A)が行われる。なお、トランザクションTX2の処理内容はトランザクションTX1の処理内容と同じなので、詳細な説明は省略する。なお、この場合、トランザクションTX1とTX2とは順序が逆になってもよい。
データ同期アルゴリズムの具体的なシーケンスを図16に示す。図16は、本発明の一実施形態に係る分散型台帳システムにおけるデータ同期アルゴリズムの動作を示すフローチャートを示す図である。図16のフローチャートは、図10のフローチャートと類似しているが、図16のフローチャートは、トランザクションTXの数がしきい値に到達した場合に通信確立が行われる点、フォロワノード300Aの合意形成を確認する際、全てのフォロワノード300Aのうち過半数の合意が確認された場合にログの最終断面の複製が完了したと見なす点、及びフォロワノード300Aのデータの整合性確認を行う点において、図10のフローチャートと相違する。以下の説明において、図10と同様の構成については説明を省略し、主に図10の構成と異なる点について説明する。
Claims (8)
- 台帳を分散して記録する複数のノードのうち1つの第1ノードを選出し、前記第1ノードから、前記複数のノードのうち前記第1ノードとは異なる複数の第2ノードに、クライアント端末から受信した複数のトランザクションに基づき所定の閾値で生成された複数のログの合計を送信するシステム。
- 台帳を分散して記録する複数のノードのうち1つの第1ノードは前記複数のノードのうち前記第1ノードとは異なる複数の第2ノードに対して、クライアント端末から受信した複数のトランザクションに基づき所定の閾値で生成された複数のログを送信せずに前記複数のログの合計を送信するシステム。
- 前記第1ノードは、
前記クライアント端末から前記複数のトランザクションを含むブロック単位で前記複数のトランザクションを受信し、
前記ブロックに含まれる前記複数のトランザクションに基づいて前記複数のログを生成し、
前記複数の第2ノードに対して複数の前記ブロックに含まれる前記複数のログを合計した結果を送信する、
請求項1又は2に記載のシステム。 - 前記第1ノードは前記複数のログを記憶する、請求項1乃至3のいずれか一に記載のシステム。
- 台帳を分散して記録する複数のノードから選出された1つの第1ノードに対して、前記複数のノードのうち前記第1ノードとは異なる複数の第2ノードに、クライアント端末から受信した複数のトランザクションに基づき所定の閾値で生成された複数のログの合計を送信することを実行させるためのプログラム。
- 台帳を分散して記録する複数のノードのうち1つの第1ノードに対して、前記複数のノードのうち前記第1ノードとは異なる複数の第2ノードへクライアント端末から受信した複数のトランザクションに基づき所定の閾値で生成された複数のログを送信せずに前記複数のログの合計を送信することを実行させるためのプログラム。
- 前記第1ノードに、
前記クライアント端末から前記複数のトランザクションを含むブロック単位で前記複数のトランザクションを受信させ、
前記ブロックに含まれる前記複数のトランザクションに基づいて前記複数のログを生成させ、
前記複数の第2ノードに対して複数の前記ブロックに含まれる前記複数のログを合計した結果を送信させる、
請求項5又は6に記載のプログラム。 - 前記第1ノードに前記複数のログを記憶させる、請求項5乃至7のいずれか一に記載のプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020132481A JP7016389B1 (ja) | 2020-08-04 | 2020-08-04 | システム及びプログラム |
PCT/JP2021/024467 WO2022030144A1 (ja) | 2020-08-04 | 2021-06-29 | システム及び記録媒体 |
JP2021157144A JP2022029453A (ja) | 2020-08-04 | 2021-09-27 | ノード |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020132481A JP7016389B1 (ja) | 2020-08-04 | 2020-08-04 | システム及びプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021157144A Division JP2022029453A (ja) | 2020-08-04 | 2021-09-27 | ノード |
Publications (2)
Publication Number | Publication Date |
---|---|
JP7016389B1 true JP7016389B1 (ja) | 2022-02-04 |
JP2022029244A JP2022029244A (ja) | 2022-02-17 |
Family
ID=80117982
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020132481A Active JP7016389B1 (ja) | 2020-08-04 | 2020-08-04 | システム及びプログラム |
JP2021157144A Pending JP2022029453A (ja) | 2020-08-04 | 2021-09-27 | ノード |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021157144A Pending JP2022029453A (ja) | 2020-08-04 | 2021-09-27 | ノード |
Country Status (2)
Country | Link |
---|---|
JP (2) | JP7016389B1 (ja) |
WO (1) | WO2022030144A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005235003A (ja) | 2004-02-20 | 2005-09-02 | Bank Of Tokyo-Mitsubishi Ltd | 金融取引情報加工装置及びプログラム |
JP2020067805A (ja) | 2018-10-24 | 2020-04-30 | 株式会社 みずほ銀行 | 清算システム及び清算方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2746446C2 (ru) * | 2016-11-10 | 2021-04-14 | Свирлдз, Инк. | Способы и устройство для распределенной базы данных, содержащей анонимные входные данные |
US11281644B2 (en) * | 2017-07-28 | 2022-03-22 | Hitachi, Ltd. | Blockchain logging of data from multiple systems |
JP7187894B2 (ja) * | 2018-08-30 | 2022-12-13 | 富士通株式会社 | プログラム,情報処理システム及び情報処理方法 |
-
2020
- 2020-08-04 JP JP2020132481A patent/JP7016389B1/ja active Active
-
2021
- 2021-06-29 WO PCT/JP2021/024467 patent/WO2022030144A1/ja active Application Filing
- 2021-09-27 JP JP2021157144A patent/JP2022029453A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005235003A (ja) | 2004-02-20 | 2005-09-02 | Bank Of Tokyo-Mitsubishi Ltd | 金融取引情報加工装置及びプログラム |
JP2020067805A (ja) | 2018-10-24 | 2020-04-30 | 株式会社 みずほ銀行 | 清算システム及び清算方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022030144A1 (ja) | 2022-02-10 |
JP2022029244A (ja) | 2022-02-17 |
JP2022029453A (ja) | 2022-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019203861B2 (en) | System and method for ending view change protocol | |
AU2019203865B2 (en) | Consensus system downtime recovery | |
US10671599B2 (en) | Consensus system and method | |
US7636868B2 (en) | Data replication in a distributed system | |
AU2019203864B2 (en) | Consensus system downtime recovery | |
CN109493223B (zh) | 一种记账方法及装置 | |
WO2019042101A1 (zh) | 一种跨链交易方法及装置 | |
US7613751B2 (en) | Well-known transactions in data replication | |
CN111400112B (zh) | 分布式集群的存储***的写入方法、装置及可读存储介质 | |
US20210233068A1 (en) | Settlement system, settlement method, user device, and settlement program | |
US10938750B2 (en) | Consensus system downtime recovery | |
CN102012944B (zh) | 一种提供复制特性的分布式nosql数据库的实现方法 | |
US20220269670A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
Schintke et al. | Enhanced paxos commit for transactions on dhts | |
AU2019380380B2 (en) | Taking snapshots of blockchain data | |
US20160285969A1 (en) | Ordered execution of tasks | |
JP7016389B1 (ja) | システム及びプログラム | |
CN111813795B (zh) | 在区块链网络中确认交易的方法及装置 | |
WO2022030204A1 (ja) | システム、端末、及び記録媒体 | |
US11860828B2 (en) | Methods, devices and systems for writer pre-selection in distributed data systems | |
JP7308887B2 (ja) | システム及びプログラム | |
JP7319564B2 (ja) | データ共有システム、管理端末、データ共有方法、および、データ共有プログラム | |
US20230325407A1 (en) | Blockchain Blocks Storage Management | |
CN115796863A (zh) | 区块链***的共识方法及相关设备 | |
JP2019021022A (ja) | 負荷分散装置、負荷分散方法、および、負荷分散プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200805 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200805 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20200825 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200909 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20200825 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210401 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210629 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210927 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20210927 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20211005 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20211012 |
|
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: 20220104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220125 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7016389 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |