COMPUTER-IMPLEMENTED METHOD FOR STORING DATA USING A DISTRIBUTED TRANSACTION DATABASE, COMPUTER PROGRAM PRODUCT, AND NETWORK
20230214404 · 2023-07-06
Inventors
- Tobias Aigner (München, DE)
- Markus Sauer (München, DE)
- Saurabh Narayan Singh (München, Bayern, DE)
- Nejc Zupan (München, DE)
Cpc classification
G06F16/27
PHYSICS
H04L9/3239
ELECTRICITY
H04L63/00
ELECTRICITY
G06F21/64
PHYSICS
G06F16/25
PHYSICS
International classification
G06F16/27
PHYSICS
Abstract
In a computer-implemented method for storing data in a network of linked computing units (10, 20, 30, 40, 50, 60) using a distributed transaction database (GDB), a distributed transaction database (GDB) in the form of a distributed graph database formed using nodes is used, and data is stored in at least one node (N) of the graph database, wherein the node (N) is stored using a real sub-quantity of the computing units (10, 20, 30, 40, 50, 60) of the network. The computer program product can be loaded directly into a storage device of an electronic computing unit (10, 20, 30, 40, 50, 60) and has program means in order to early out the steps of the method when the program is ran in a computing unit. The network of linked computing units (10, 20, 30, 40, 50, 60) stores a distributed transaction database (GDB) in the form of a distributed graph database comprising nodes (N) in which data is stored according to such a method.
Claims
1. A computer-implemented method for storing data in a network of linked computing units using a distributed transaction database, the method comprising: generating the distributed transaction database in a form of a distributed graph database using a plurality of nodes; and storing the data in at least one node of the distributed graph database, wherein the at least one node is stored using a true subset of the linked computing units of the network.
2. The method of claim 1, wherein the data comprises transaction data of transactions of computing units of the network and wherein the true subset of the linked computing units comprises computing units that participate in the transactions of the transaction data.
3. The method of claim 1, wherein the node is part of a path of a graph of the distributed graph database formed with the node.
4. The method of claim 3, wherein the path forms a branch of the graph.
5. The method of claim 3, wherein the path forms a loop of the graph.
6. The method of claim 3, wherein the data stored in nodes of the path is transaction data of transactions of computing units of the network, that are assigned to an application.
7. The method of claim 1, wherein the data is stored in at least one node of the distributed graph database that includes multiple paths, the nodes of which are each stored by true subsets of linked computing units of the network, wherein the true subsets include an intersection that is different from the true subsets.
8. The method of claim 7, wherein the intersection is empty.
9. The method of claim 7, wherein the intersection is not empty.
10. A computer program product loaded directly into a non-transitory computer implemented storage medium of an electronic computing unit containing machine-readable instructions executable by the electronic computing unit, the machine-readable instructions comprising: generating a distributed transaction database in a form of a distributed graph database using a plurality of nodes; and storing data in at least one node of the distributed graph database, wherein the at least one node is stored using a true subset of a plurality of electronic computing units comprising at least the electronic computing unit.
11. A system comprising: a network of linked computing units configured to store a distributed transaction database (GDB) in a form of a distributed graph database, comprising nodes in which data is stored in at least one node of the distributed graph database, wherein the at least one node is stored using a true subset of the linked computing units of the network.
12. The system of claim 11, wherein the data comprises transaction data of transactions of the linked computing units of the network and wherein the true subset of the linked computing units comprises computing units that participate in the transactions of the transaction data.
13. The system of claim 11, wherein the node is part of a path of a graph of the distributed graph database formed with the node.
14. The system of claim 13, wherein, wherein the path forms a branch of the graph.
15. The system of claim 13, wherein the path forms a loop of the graph.
16. The system of claim 13, wherein the data stored in nodes of the path is transaction data of transactions of the linked computing units of the network, that are assigned to an application.
17. The system of claim 11, wherein the data is stored in at least one node of the distributed graph database that includes multiple paths, the nodes of which are each stored by true subsets of the linked computing units of the network, wherein the true subsets include have an intersection that is different from the true subsets.
18. The system of claim 17, wherein the intersection is empty.
19. The system of claim 17, wherein the intersection is not empty.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0036]
[0037]
DETAILED DESCRIPTION
[0038] The distributed transaction database depicted in
[0039] The graph database GDB is formed with a graph G, that includes individual nodes N. The nodes N of the graph G are linked to each other by cryptographic methods that represent a consensus mechanism, in the embodiment shown, a “Proof of Work” or a “Proof of Stake”. Other consensus mechanisms may also be used in other embodiments that are not shown separately. The link is shown in
[0040] The computing units 10, 20 30, 40, 50, 60 in the context are computers operating as servers. In principle, in other embodiments, not shown separately, a computing unit 10, 20, 30, 40, 50, 60 may also be formed as a logical computing unit, that in turn is implemented via a distributed computer network, for example via a cloud network.
[0041] Storage by a computing unit 10, 20, 30, 40, 50, 60 means storage in a memory of the computing unit 10, 20, 30, 40, 50, 60, in this case a random-access memory. In other embodiments, not shown specifically, this may also refer to storage in a memory allocated to one of the computing units 10, 20 30, 40, 50, 60. In other embodiments, not shown specifically, that correspond to the embodiment shown, the memory may also be a data carrier, such as a hard disk or a cloud storage system assigned to the computing unit and linked to the computing unit 10, 20, 30, 40, 50, 60 for signal communication.
[0042] A root of the graph database GDB is shown in
[0043] A first application case involves the subset of the computing units 10 and a further subset of the computing units 20, that in the embodiment shown in
[0044] In both application cases, later in the procedure the computing units of a subset 40 are also involved, that, as shown in
[0045] In
[0046] After the application case for the private side-chain SC has been completed, the private side-chain SC is reunited with the rest of graph G.
[0047] Shown at the bottom is an example of a branch in which a branch GB branches downwards.
[0048] Although the branch GB also relates to transactions of the computing units 10, 30, so that the subset of the computing units 10, 30 that the branch GB relates to does not differ from the subset of the computing units 10, 30, from which the branch GB branches off. However, the branch GB forms a new application case, that by the branch GB is thus also represented in the structure of the graph G as a separate branch GB.
[0049] In the embodiment shown, the computing units 10 form consortium computing units 10, that store all nodes N of the graph G with the exception of the nodes N of the private side-chain SC.
[0050] By the method, data is stored in the nodes N of the graph G of the distributed graph database GDB. The method for storing the data in the nodes N is based on the branch GB of
[0051] The computing units 10, 30 of the subset in turn make their computing units 10, 30 available in order to store the node N of the graph G. A list of these computing units 10, 30, for example in the form of MAC addresses or IP addresses, is transmitted to all computing units 10, 30 of the subset. Each computing unit 10, 30 thus accepts a list of the computing units 10, 30 available for this application case in a step STE2.
[0052] Then, the computing units 10, 30 create a branch GB of node N, that is specific to this application case. Each computing device 10, 30 that places data into these nodes N transmits the data that it places to all computing devices 10, 30 of the subset, in a step STE3.
[0053] At the same time, a set of copies of data from all other computing devices 10, 30 is obtained from each computing device 10, 30 in a step STE4.
[0054] In addition, copies of the data stored in the nodes N of the branch GB are stored in the consortium computing devices 10—with the exception of the data of nodes N in private side-chains SC.
[0055] It is to be understood that the elements and features recited in the appended claims may be combined in different ways to produce new claims that likewise fall within the scope of the present embodiments. Thus, whereas the dependent claims appended below depend from only a single independent or dependent claim, it is to be understood that these dependent claims may, alternatively, be made to depend in the alternative from any preceding or following claim, whether independent or dependent, and that such new combinations are to be understood as forming a part of the present specification.
[0056] While the present embodiments have been described above by reference to various embodiments, it may be understood that many changes and modifications may be made to the described embodiments. It is therefore intended that the foregoing description be regarded as illustrative rather than limiting, and that it be understood that all equivalents and/or combinations of embodiments are intended to be included in this description.