JP6671617B1 - Distributed storage platform and application program realized by blockchain technology and distributed storage technology - Google Patents
Distributed storage platform and application program realized by blockchain technology and distributed storage technology Download PDFInfo
- Publication number
- JP6671617B1 JP6671617B1 JP2019223803A JP2019223803A JP6671617B1 JP 6671617 B1 JP6671617 B1 JP 6671617B1 JP 2019223803 A JP2019223803 A JP 2019223803A JP 2019223803 A JP2019223803 A JP 2019223803A JP 6671617 B1 JP6671617 B1 JP 6671617B1
- Authority
- JP
- Japan
- Prior art keywords
- file
- storage
- partial data
- search
- node
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】高い安全性を担保しつつ、小規模ストレージの集合により大規模データサーバと同様の機能を実現すること。【解決手段】ファイルを分散保存するための複数の保存用ノードを含む保存用ネットワークと、複数の保存用ノードのロケーションを含むロケーションリストをブロックチェーン化しつつ保存する検索用ノードを複数含む検索用ネットワークと、ファイルを複数の部分データに分割し、複数の部分データのそれぞれを複数の保存用ノードに含まれる少なくとも2つの保存用ノードに送信して保存させる保存処理部と、を備え、検索用ノードは、前記部分データを保存した前記保存用ノードの識別情報を用いて、ロケーションリストを更新する更新処理部を備えた。【選択図】 図1APROBLEM TO BE SOLVED: To realize the same function as a large-scale data server by assembling a small-scale storage while ensuring high security. A storage network including a plurality of storage nodes for distributed storage of files, and a search network including a plurality of search nodes for storing a location list including locations of the plurality of storage nodes while forming a block chain. And a storage processing unit that divides the file into a plurality of partial data and transmits each of the plurality of partial data to at least two storage nodes included in the plurality of storage nodes to store the partial data. Includes an update processing unit that updates the location list using the identification information of the storage node that has stored the partial data. [Selection diagram] FIG. 1A
Description
本発明は、ブロックチェーン技術と分散ストレージ技術とにより実現した分散型ストレージプラットフォームおよびアプリケーションプログラムに関する。 The present invention relates to a distributed storage platform and an application program realized by blockchain technology and distributed storage technology.
上記技術分野において、特許文献1には、データの分散保存における冗長性の技術が開示されている。
In the above technical field,
しかしながら、上記文献に記載の技術では、中央集中型のデータセンタを前提としており、安全性が十分とは言えなかった。複数のデータセンタが同時にダウンしてしまうと、データが消えてしまうことがあった。 However, the technology described in the above literature presupposes a centralized data center, and is not sufficiently secure. If a plurality of data centers go down at the same time, data may be lost.
本発明の目的は、上述の課題を解決する技術を提供することにある。 An object of the present invention is to provide a technique for solving the above-mentioned problem.
上記目的を達成するため、本発明に係る情報処理システムは、
ファイルを分散保存するための複数の保存用ノードを含む保存用ネットワークと、
前記複数の保存用ノードの識別情報を含むロケーションリストをブロックチェーン化しつつ保存する検索用ノードを複数含む検索用ネットワークと、
前記ファイルを複数の部分データに分割し、前記複数の部分データのそれぞれを前記複数の保存用ノードに含まれる少なくとも2つの保存用ノードに送信して保存させる保存処理部と、
を備え、
前記検索用ノードは、前記部分データを保存した前記保存用ノードの識別情報を用いて、前記ロケーションリストを更新する更新処理部を備えた。
In order to achieve the above object, an information processing system according to the present invention includes:
A storage network including a plurality of storage nodes for storing files in a distributed manner;
A search network including a plurality of search nodes for saving while blockchaining a location list including identification information of the plurality of storage nodes,
A storage processing unit that divides the file into a plurality of partial data, and transmits and stores each of the plurality of partial data to at least two storage nodes included in the plurality of storage nodes,
With
The search node includes an update processing unit that updates the location list using identification information of the storage node that stores the partial data.
上記目的を達成するため、本発明に係る情報処理システムは、
ファイルの分割により生成された複数の部分データを保存するための複数の保存用ノードを含む保存用ネットワークと、
前記複数の保存用ノードの識別情報を含むロケーションリストをブロックチェーン化しつつ保存する検索用ノードを複数含む検索用ネットワークと、
前記複数の部分データを前記保存用ノードから取得し、前記複数の部分データを合成して前記ファイルを復元する復元処理部と、
を備え、
前記保存用ネットワークは、ファイルの分割により生成された前記複数の部分データを、前記複数の保存用ノードに保存すると共に、前記ファイルの分割により生成された前記複数の部分データのそれぞれを、少なくとも2つの保存用ノードに分けて保存し、
前記検索用ノードは、前記ロケーションリストに基づいて、前記複数の部分データが保存されている前記保存用ノードを検索する検索処理部を備えた。
In order to achieve the above object, an information processing system according to the present invention includes:
A storage network including a plurality of storage nodes for storing a plurality of partial data generated by dividing the file,
A search network including a plurality of search nodes for saving while blockchaining a location list including identification information of the plurality of storage nodes,
A restoration processing unit that acquires the plurality of partial data from the storage node and combines the plurality of partial data to restore the file;
With
The storage network stores the plurality of partial data generated by dividing the file in the plurality of storage nodes, and stores each of the plurality of partial data generated by dividing the file by at least two. Divided into two storage nodes,
The search node includes a search processing unit that searches the storage node in which the plurality of partial data is stored based on the location list.
上記目的を達成するため、本発明に係る情報処理方法は、
ファイルを分散保存するための複数の保存用ノードを含む保存用ネットワークと、
前記複数の保存用ノードの識別情報を含むロケーションリストをブロックチェーン化しつつ保存する検索用ノードを複数含む検索用ネットワークと、
を備える情報処理システムの情報処理方法であって、
前記ファイルを複数の部分データに分割し、前記複数の部分データのそれぞれを前記複数の保存用ノードに含まれる少なくとも2つの保存用ノードに送信して保存させる保存処理ステップと、
前記部分データを保存した前記保存用ノードの識別情報を用いて、前記ロケーションリストを更新する更新処理ステップと、
を含む。
In order to achieve the above object, an information processing method according to the present invention comprises:
A storage network including a plurality of storage nodes for storing files in a distributed manner;
A search network including a plurality of search nodes for saving while blockchaining a location list including identification information of the plurality of storage nodes,
An information processing method for an information processing system comprising:
A storage processing step of dividing the file into a plurality of partial data, transmitting each of the plurality of partial data to at least two storage nodes included in the plurality of storage nodes, and storing the transmitted partial data;
An update processing step of updating the location list using identification information of the storage node that has stored the partial data;
including.
上記目的を達成するため、本発明に係る情報処理方法は、
ファイルの分割により生成された複数の部分データを保存するための複数の保存用ノードを含む保存用ネットワークと、
前記複数の保存用ノードの識別情報を含むロケーションリストをブロックチェーン化しつつ保存する検索用ノードを複数含む検索用ネットワークと、
を備える情報処理システムの情報処理方法であって、
前記保存用ネットワークは、ファイルの分割により生成された前記複数の部分データを、前記複数の保存用ノードに保存すると共に、前記ファイルの分割により生成された前記複数の部分データのそれぞれを、少なくとも2つの保存用ノードに分けて保存し、
前記ロケーションリストに基づいて、前記複数の部分データが保存されている前記保存用ノードを検索する検索処理ステップと、
前記複数の部分データを前記保存用ノードから取得し、前記複数の部分データを合成して前記ファイルを復元する復元処理ステップと、
を含む。
In order to achieve the above object, an information processing method according to the present invention comprises:
A storage network including a plurality of storage nodes for storing a plurality of partial data generated by dividing the file,
A search network including a plurality of search nodes for saving while blockchaining a location list including identification information of the plurality of storage nodes,
An information processing method for an information processing system comprising:
The storage network stores the plurality of partial data generated by dividing the file in the plurality of storage nodes, and stores each of the plurality of partial data generated by dividing the file by at least two. Divided into two storage nodes,
Based on the location list, a search processing step for searching for the storage node in which the plurality of partial data is stored,
A restoration processing step of acquiring the plurality of partial data from the storage node and combining the plurality of partial data to restore the file;
including.
上記目的を達成するため、本発明に係るアプリケーションプログラムは、
ファイルの分割により生成された複数の部分データのそれぞれを保存する、少なくとも2つの保存用ノードから、前記複数の部分データを取得して合成するためのアプリケーションプログラムであって、
ファイルのハッシュ値であるファイルハッシュを取得するハッシュ取得ステップと、
前記ファイルハッシュを検索用ノードに送信し、対応するファイルリストを検索させるファイルハッシュ送信ステップと、
受信した前記ファイルハッシュに対応する前記ファイルリストを、前記検索用ノードから取得するファイルリスト取得ステップと、
前記ファイルリストが示す前記複数の部分データを、前記ファイルリストに指定される、前記保存用ノードから取得する部分データ取得ステップと、
前記保存用ノードから取得した前記複数の部分データを合成して、前記ファイルを復元する復元処理ステップと、
をコンピュータに実行させる。
To achieve the above object, an application program according to the present invention comprises:
An application program for acquiring and synthesizing the plurality of partial data from at least two storage nodes, wherein each of the plurality of partial data generated by dividing the file is stored,
A hash obtaining step of obtaining a file hash which is a hash value of the file;
A file hash transmission step of transmitting the file hash to a search node and causing a corresponding file list to be searched ;
File list acquisition step of acquiring the file list corresponding to the received file hash from the search node ,
A plurality of partial data indicated by the file list, specified in the file list, a partial data acquisition step of acquiring from the storage node,
A restoration processing step of combining the plurality of partial data acquired from the storage node and restoring the file;
On a computer.
本願発明によれば、高い安全性を担保しつつ、小規模ストレージの集合により大規模データサーバと同様の機能を実現することができる。 According to the present invention, a function similar to that of a large-scale data server can be realized by a collection of small-scale storages while ensuring high security.
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素は単なる例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。 Hereinafter, embodiments of the present invention will be illustratively described in detail with reference to the drawings. However, the components described in the following embodiments are merely examples, and are not intended to limit the technical scope of the present invention thereto.
[第1実施形態]
本発明の第1実施形態としての情報処理システム110について、図1Aを用いて説明する。
[First Embodiment]
An
図1Aに示すように、情報処理システム110は、保存用ネットワーク101と、検索用ネットワーク102と、保存処理部103と、を含む。保存用ネットワーク101は、ファイル130を分散保存するための複数の保存用ノード111を含む。検索用ネットワーク102は、複数の保存用ノード111のロケーションを含むロケーションリスト122をブロックチェーン化しつつ保存する検索用ノード121を複数含む。保存処理部103は、ファイル130を複数の部分データ131〜13nに分割し、複数の部分データ131〜13nのそれぞれを複数の保存用ノード111に含まれる少なくとも2つの保存用ノードに送信して保存させる。更新処理部123は、検索用ノード121に含まれ、部分データを保存した保存用ノード111の識別情報を用いて、ロケーションリスト122を更新する。
As shown in FIG. 1A, the
本実施形態によれば、高い安全性を担保しつつ、小規模ストレージの集合により大規模データサーバと同様の機能を実現することができる。 According to the present embodiment, a function similar to that of a large-scale data server can be realized by a collection of small-scale storages while ensuring high security.
[第2実施形態]
本発明の第2実施形態に係る情報処理システム120について図1Bを用いて説明する。
[Second embodiment]
An
図1Bに示すように、情報処理システム120は、保存用ネットワーク101と、検索用ネットワーク105と、復元処理部104とを含む。検索用ネットワーク105は、複数の保存用ノードのロケーションを含むロケーションリスト152をブロックチェーン化しつつ保存する検索用ノード151を複数含む。また、各検索用ノード151は、検索処理部153を含む。検索処理部153は、ロケーションリスト122に基づいて、複数の部分データ141〜14nが保存されている保存用ノード111を検索する。復元処理部104は、保存用ノード111から複数の部分データ141〜14nを取得し、複数の部分データ141〜14nを合成してファイル140を復元する。
As shown in FIG. 1B, the
本実施形態によれば、高い安全性を担保しつつ、小規模ストレージの集合により大規模データサーバと同様の機能を実現することができる。 According to the present embodiment, a function similar to that of a large-scale data server can be realized by a collection of small-scale storages while ensuring high security.
[第3実施形態]
本発明の第3実施形態に係る情報処理システム200について図2以降を用いて説明する。
本実施形態の情報処理システム200は、ファイルおよびその分割された部分データがハッシュ化(以下、ハッシュをHash、ハッシュ値をHash値と表す)されて、検索用ネットワークと保存用ネットワークとの独立した二層構造で管理される。そして、ファイルのアップロードでは、ファイルから分割した複数の部分データを、複数の保存用ノードから複数の部分データのそれぞれの保存先として選定した保存用ノードに保存させる。そして、複数の部分データをそれぞれ保存する選定された保存用ノードを示すロケーションリストをブロックチェーン化しつつ生成し、複数の検索用ノードに共有させる。一方、ファイルのダウンロードでは、複数の検索用ノードに共有されたロケーションリストをいずれか1つの検索用ノードから取得して、ファイルに対応するロケーションリストを検索する。そして、検索したロケーションリストに従って、ファイルから分割された複数の部分データをそれぞれ保存する複数の保存用ノードから取得し、複数の部分データを合成して取得対象のファイルを生成する。
[Third embodiment]
An
In the
ファイルをアップロードする際には、ファイルを暗号化し、暗号化されたファイルから分割した複数の部分データを保存先として選定した保存用ノードに保存させる。また、ファイルをダウンロードする際には、暗号化ファイルから分割された複数の部分データをそれぞれ保存する複数の保存用ノードから取得し、暗号化ファイルを構成する。そして、暗号化ファイルからファイルを復号する。なお、検索用ノードおよび保存用ノードは、ノードを識別するノード識別情報のHash値により識別されることが望ましい。 When uploading a file, the file is encrypted, and a plurality of partial data divided from the encrypted file are stored in a storage node selected as a storage destination. Also, when downloading a file, a plurality of partial data divided from the encrypted file are obtained from a plurality of storage nodes that respectively store the partial data, and the encrypted file is configured. Then, the file is decrypted from the encrypted file. The search node and the storage node are desirably identified by a hash value of node identification information for identifying the node.
《情報処理システム》
以下、図2〜図4に従って、本実施形態の情報処理システム200の構成および動作について説明する。
《Information processing system》
Hereinafter, the configuration and operation of the
(ブロック構成)
図2は、本実施形態に係る情報処理システム200の構成を示すブロック図である。
(Block configuration)
FIG. 2 is a block diagram illustrating a configuration of the
情報処理システム200は、保存用ネットワーク201と、検索用ネットワーク202と、クライアント端末203とを有する。クライアント端末203は、ファイル保存処理、リスト検索処理およびファイル取得処理を実現するクライアントアプリケーション232を実行するよう構成されている。
The
保存用ネットワーク201は、P2P通信を行う複数の保存用ノード211を含む。複数の保存用ノード211のそれぞれは、クライアントアプリケーション232からのファイルの保存要求において、ファイルから分割された部分データを、ファイルHash(ファイルハッシュ)と部分Hash(部分ハッシュ)を検索キーとして保存する。また、複数の保存用ノード211は、クライアントアプリケーション232からのファイルの取得要求において、検索用ノード221がロケーションリストからファイルのHash値によって検索したファイルリストを含まれる部分Hashを用いて、部分データを検索して読出し、クライアント端末203に送信する。
The
検索用ネットワーク202は、P2P通信を行う複数の検索用ノード221を含む。検索用ノード221は、ファイルが複数の保存用ノード211に保存された場合に、そのファイルのHash値によって特定されたファイルリストを含むロケーションリストを生成して複数の検索用ノード221で共有する。また、検索用ノード221は、クライアント端末203からのファイルの取得要求において、最新のロケーションリストから、取得要求されたファイルに対応するファイルHashと部分Hashと保存用ノードIDとから構成されるファイルリストを検索して、クライアント端末203に提供する。
The
クライアントアプリケーション232は、ファイルの保存要求に対しては、ファイルを分割して部分データを部分Hashを検索キーとして、複数の保存用ノード211から選択された保存用ノードに保存する。部分データの保存が完了すると、保存用ノード211は、ファイルHashと部分Hashと部分データを保存した保存用ノードIDとを検索用ノード221に通知する。そして、検索用ノード221が、ファイルHashと、部分Hash値と、保存用ノードIDと、から構成されたファイルリストを生成して、ロケーションリストを更新する。更新されたロケーションリストは、全ての検索用ノード221で共有される。
In response to a file storage request, the
クライアントアプリケーション232は、ファイルの取得要求に対しては、ファイルashを検索キーとして、近傍の検索用ノード221に送り、最新のロケーションリストに含まれるファイルのファイルリストを取得する。取得したファイルリストには、ファイルHashと、部分Hashと、保存用ノードIDと、が含まれている。クライアントアプリケーション232は、ファイルリストから抽出した部分Hashと保存用ノードIDとの組合せを用いて、部分データを保存用ノードから読出す。
In response to a file acquisition request, the
以下、図3A、図3Bおよび図4を参照して、情報処理システム200の動作手順を示す。
Hereinafter, an operation procedure of the
(ファイルの保存手順)
図3Aは、実施形態に係る情報処理システム200の、ファイルを分散して保存する動作手順を示す図である。
(File saving procedure)
FIG. 3A is a diagram illustrating an operation procedure of distributing and saving files in the
ファイルの保存を要求するクライアント301は、クライアント端末203にファイル名によりファイルデータの保存を指示する。ファイルデータ311は、クライアント端末203のクライアントアプリケーション232に渡される。
The
クライアントアプリケーション232は、ファイルデータ311を暗号化し、暗号化ファイルデータ312を生成する。そして、クライアントアプリケーション232は、ファイルハッシュ生成処理として、暗号化ファイルデータ312からファイルHash313を算出する。クライアントアプリケーション232は、ファイルHash313を検索用ノード221に送信する。なお、送信先の検索用ノード221は、ロケーションリスト317の検索用ノードリスト324を参照して、例えば、KAD(Kademlia)ネットワークにおけるノード検索の再帰アルゴリズムを用いて、最も近い検索用ノードを見付けることが望ましい。また、本実施形態においては、ファイルの暗号化後にファイルHashを算出したが、ファイルHashを算出した後にファイルHashを含んでファイルを暗号化してもよい。
The
検索用ノード221は、保持するロケーションリスト317に、ファイルHash313を検索キーとして有する空のファイルリストを生成して追加する。そして、検索用ネットワーク202に含まれる全ての検索用ノードは、P2P通信により空のファイルリストが追加された最新のロケーションリストを保持することができる。なお、ファイル名と検索キーとなるファイルHash313との対応データ314を生成してアプリケーションに保持しておくことによって、ファイルの取得を行う場合のクライアントからの要求を簡易にすることができる。
The
一方、クライアントアプリケーション232は、暗号化ファイルデータ312を、クライアントやファイルの重要性、さらに、復元可能な冗長性を考慮して複数の部分データ315に分割する。そして、クライアントアプリケーション232は、部分ハッシュ生成処理として、複数の部分データ315のそれぞれのHash値を算出して、部分Hash316を生成する。部分Hash316は、部分データ315の先頭から順に、前の部分Hash316に次の部分データ315を加えてHash値を算出することによりブロックチェーン化する。ブロックチェーン化してHash値を算出するので、ファイルリストに保持された部分Hashや保存用ノードから読み出した部分Hashから部分データの合成順を知ることができる。なお、部分Hash316は、各部分データ315に対して独立して算出してもよい。独立して部分Hashを算出する場合には、ファイルの読み出し時に部分データを合成する順序を保持する必要がある。例えば、ロケーションリストのファイルリスト322に保持する、あるいは、保存用ノードに保存された部分データや部分Hash内に保持することができる。
On the other hand, the
クライアントアプリケーション232は、検索用ノード221のロケーションリスト317から保存用ネットワーク201に参加する保存用ノードリスト318を取得する。なお、クライアントアプリケーション232から検索用ノード221へのファイルHash313の送信と、検索用ノード221からクライアントアプリケーション232への保存用ノードリスト318の送信とは、一緒に行われてもよい。また、検索用ノード221のロケーションリスト317には検索用ノードリスト324も保持されており、クライアントアプリケーション232からアクセスする検索用ノードを選定する場合に参照され、クライアント端末の検索用ノードとしての参加や離脱時には、最新データに更新される。
The
クライアントアプリケーション232は、受信した保存用ノードリスト318から、分割された複数の部分データ315の数に相当する保存ノードを識別する保存用ノードID319を選定する。なお、保存用ノードID319は、保存用ノードに関連する属性から算出されたHash値であるのが望ましい。また、選定される保存用ノードID319の数は、保存時のエラーを考慮して分割された複数の部分データ315の数より多く選定する。
The
クライアントアプリケーション232は、ファイルHash313と部分データ315と部分Hash316との組合せと、選定された保存用ノードID319とを組み合わせて、選定された保存用ノードに対して保存を指示する保存用メッセージ320を生成する。ここで、ファイルHash313と部分データ315と部分Hash316との組合せ、あるいは、少なくとも部分データ315は各データごとに暗号鍵で暗号化される。そして、クライアントアプリケーション232は、各保存用メッセージ320を各保存用ノードに送信する。なお、保存用メッセージ320の送信は、保存相手の複数の保存用ノードに一斉送信するのが高速化の面で望ましい。
The
保存相手の保存用ノード211では、保存用ノードID319を確認して、ファイルHashと部分Hashとを検索キーとした部分データ321を保存する。そして、保存がエラーなく完了すると、保存用ノード211は検索用ノードに保存完了報告を行う。この保存完了報告には、ファイルHashと部分Hashと保存用ノードIDとの組合せが含まれる。なお、保存完了報告は、全検索用ノードに一斉送信されても、先にクライアントアプリケーション232がアクセスした検索用ノードであってもよい。なお、検索用ネットワーク202では、全検索用ノードがP2P通信により空のファイルリストを含む最新のロケーションリストを保持している。図示されていないが、保存完了報告を行った保存用ノードには、保存対価の報酬が支払われる。
The
エラーなしに保存完了した保存用ノードからの保存完了報告を受信した検索用ノードは、保存完了報告に含まれる部分Hashと保存用ノードIDとの組合せを、ファイルHashを検索キーとする空のファイルリストに順次に記憶する。冗長を含む保存対象のファイルが再生可能な数の部分データが保存されると、新たなファイルリスト322が追加された最新のロケーションリストが完成する。
The search node that has received the save completion report from the save node that has completed the save without errors uses the combination of the partial Hash and the save node ID included in the save completion report as an empty file with the file Hash as the search key. Store them sequentially in a list. When the number of pieces of partial data that can be reproduced for the file to be saved including the redundancy is saved, the latest location list to which the
図示されていないが、ファイルの保存用ネットワーク201の保存用ノードへの保存が完了すると、ファイルの保存を要求したクライアント301から通常は保存料金が徴収される。
Although not shown, when the storage of the file in the storage node of the
(ファイルの再現手順)
図3Bは、本実施形態に係る情報処理システム200の、ファイルを合成して復元する動作手順を示す図である。なお、図3Bにおいては、図3Aで保存したファイルを読み出す例を説明するが、他のファイルであっても動作手順は同様である。
(File reproduction procedure)
FIG. 3B is a diagram illustrating an operation procedure of synthesizing and restoring a file in the
ファイルの取得を要求するクライアント303からのクライアント端末203に対して入力されたファイル名は、クライアントアプリケーション232に渡される。クライアントアプリケーション232は、ファイルハッシュ取得処理として、対応データ314を参照してファイル名に対応付けて保持されているファイルHash313を取得する。そして、取得したファイルHash313を検索用ノードに送信する。なお、ファイルの保存時と同様に、送信先の検索用ノードは、ロケーションリスト317の検索用ノードリストを参照して、例えば、KAD(Kademlia)ネットワークにおけるノード検索の再帰アルゴリズムを用いて、最も近い検索用ノードを見付けることが望ましい。
The file name input to the
検索用ノードは、受信したファイルHash313を検索キーとして、ファイルのファイルリスト322を検索する。そして、ファイルHash313を有するファイルリスト325を見つける。そして、検索用ノードは、見つけたファイルリスト325をクライアントアプリケーション232に送信する。
The search node searches the
クライアントアプリケーション232は、保存用ノード情報取得処理として、受信したファイルリスト325に含まれる、ファイルの分割数だけの部分Hashと保存用ノードIDとの組合せ326をそれぞれ抽出する。そして、クライアントアプリケーション232は、保存用ノードIDが示す保存用ノードに対してファイルHashと部分Hashとを送信する。なお、保存用ノードIDとファイルHashと部分Hashとは、保存用ネットワーク201の保存用ノードに対してP2P送信される。
The
送信された各保存用ノードIDを有する保存用ノード211は、受信したファイルHashと部分Hashとを検索キーとして部分データを検索する。そして、保存用ノード211は、見つかった部分データを、ファイルHashと部分Hashと共にクライアントアプリケーション232に送信する。図示されていないが、本実施形態においては、部分データを読み出してクライアントアプリケーション232に送信した保存用ノード211には、保存時の報酬よりも高い読出の報酬が支払われる。
The
クライアントアプリケーション232は、それぞれの保存用ノード211からファイルHashと部分Hashと部分データとの組合せ321を受信して、その数がファイルを復元できる数を超えた場合、保存用ネットワーク201からのファイルの読み出しが成功したとする。クライアントアプリケーション232は、受信したデータを部分データを暗号化した暗号鍵に対応する復号鍵で復号し、部分Hashと部分データとの組合せ321に含まれる各部分Hashを照合して、部分データ315を分割した順序で合成して、暗号化ファイルデータ312を復元する。なお、複数の部分データの合成については、先にファイルの保存処理で説明したように、部分データを分割順にブロックチェーン化して部分Hashを算出しているので、合成順序を持つ必要はない。ただし、各部分データから独立に部分Hashを算出する場合は、部分データの合成順序を保持する必要がある。
The
クライアントアプリケーション232は、復元された暗号化ファイルデータからファイルを暗号化した暗号鍵に対応する復号鍵でファイルデータを復号して、クライアント端末203によりクライアント303に提供する。なお、図示していないが、クライアント303にファイルが提供されると、普通はクライアント303からファイルを提供した料金が徴収される。
The
(保存用ノードまたは検索用ノードの動作手順)
図4は、本実施形態に係る情報処理システム200の、保存用ノードまたは検索用ノードの動作手順を示す図である。
(Operation procedure of storage node or search node)
FIG. 4 is a diagram illustrating an operation procedure of the storage node or the search node of the
(保存用ノード)
クライアント端末が保存用ネットワーク201の保存用ノード211として参加する場合、クライアント端末は、ステップS451において、保存用ノードアプリケーション411をダウンロードして駆動する。保存用ノードアプリケーション411は、ステップS452において、電子キャッシュ保存部を設定する。
(Storage node)
When the client terminal participates as the
クライアント端末は、ステップS453において、保存用ノードへの参加を申し込み、ステップS454において、クライアント情報としてストレージサイズやクライアント属性などを保存用ノードアプリケーション411に送出する。保存用ノードアプリケーション411は、ステップS455において、クライアント情報に基づいて保存用ノード211の選定時に考慮されるノードの信頼性を示すノードランクが初期設定され、保存用ノード211を識別するHashIDが設定される。そして、保存用ノードの登録は、検索用ノードに伝えられて検索用ノードに保持されたロケーションリスト内の保存用ノードリストが最新状態に更新される。
In step S453, the client terminal applies for participation in the storage node, and in step S454, sends the storage size, the client attribute, and the like to the storage node application 411 as client information. In step S455, the storage node application 411 initializes a node rank indicating the reliability of the node considered when selecting the
保存用ノード211が部分ファイルを保存する場合、保存用ノードアプリケーション411は、ステップS456において、クライアントアプリケーション232から保存用ノードIDを送信先として(ファイルHash、部分Hash、部分データ)の組合せを取得して保存する。そして、保存用ノードアプリケーション411は、ステップS457において、保存報酬を取得する。
When the
保存用ノード211が部分データを読出す場合、保存用ノードアプリケーション411は、ステップS458において、クライアントアプリケーション232から保存用ノードIDを送信先としてファイルHasnと部分Hashとを取得する。そして、保存用ノードアプリケーション411は、ファイルHasnと部分Hashとを検索キーとして部分データを検索して読み出し、クライアントアプリケーション232に送る。保存用ノードアプリケーション411は、ステップS459において、保存報酬より多い読出報酬を取得する。
When the
(検索用ノード)
クライアント端末が検索用ネットワーク202の検索用ノード221として参加する場合、クライアント端末は、ステップS461において、検索用ノードアプリケーション421をダウンロードして駆動する。検索用ノードアプリケーション421は、ステップS462において、電子キャッシュ保存部を設定する。
(Search node)
When the client terminal participates as the
クライアント端末は、ステップS463において、検索用ノードへの参加を申し込み、ステップS464において、クライアント情報としてクライアント属性や参加料金などを検索用ノードアプリケーション421に送出する。検索用ノードアプリケーション421は、ステップS465において、検索用ノードから選ばれた管理グループに対して、参加可否の判定要求をして、判定結果を取得する。なお、参加可否の判定は、検索用ネットワーク202に参加する検索用ノードの投票で行われる。そして、検索用ノードアプリケーション421は、ステップS466において、クライアント情報に基づいて検索用ノード221の投票時に考慮されるノードの信頼性を示すノードランクが設定され、検索用ノード221を識別するHashIDが設定される。そして、検索用ノードの登録は、検索用ノードが保持するロケーションリスト内の検索用ノードリストを最新状態に更新する。
In step S463, the client terminal applies for participation in the search node, and in step S464, sends a client attribute, a participation fee, and the like to the search node application 421 as client information. In step S465, the search node application 421 requests the management group selected from the search node to determine whether participation is possible, and obtains a determination result. The determination as to whether participation is possible is made by voting of search nodes participating in the
検索用ノード221がロケーションリストを保存して共有する場合、検索用ノードアプリケーション421は、ステップS467において、クライアント端末からファイルHashを受信すると、ファイルHashを検索キーとする空のファイルリストをロケーションリストに追加する。そして、各保存用ノードから部分データの保存完了報告を受信すると、検索用ノードアプリケーション421は、ステップS468において、空のファイルリストに、部分Hashと、部分データを保存した保存用ノードIDとの組合せを書き込む。また、ファイルの取得要求として、クライアント端末からファイルHashを受信すると、検索用ノードアプリケーション421は、ステップS469において、ロケーションリストからファイルHashを含むファイルリストを読出して、クライアントアプリケーション232に送信する。
When the
検索用ノード221が検索用ネットワーク202における投票に参加する場合、検索用ノードアプリケーション421は、ステップS470において、各投票に参加すると、ステップS471において、参加に対する報酬を取得する。
When the
《クライアントアプリケーション》
以下、図5〜図7に従って、クライアントアプリケーション232の構成および動作について説明する。
《Client application》
Hereinafter, the configuration and operation of the
図5は、本実施形態に係るクライアントアプリケーション232の構成を示す図である。
FIG. 5 is a diagram illustrating a configuration of the
クライアントアプリケーション232は、通信制御部500〜502と、ファイル保存処理部503と、リスト検索処理部505と、ファイル取得処理部506と、を備える。
The
通信制御部500は、クライアント端末203との通信を制御する。通信制御部501は、保存用ネットワーク201との間でP2Pトンネルによる(ファイルHash、部分Hash、部分データ)の組合せや報酬などの通信を制御する。通信制御部502は、検索用ネットワーク202との間で保存用ノードリストまたはファイルリストをやり取りする独立したP2Pネットワークを制御する。
The
ファイル保存処理部503は、クライアント端末203から通信制御部500を介して取得したファイルを暗号化してHash値であるファイルHashを生成する。また、ファイル保存処理部503は、暗号化したファイルを部分データに分割して、各部分データのHash値である部分Hashを生成する。さらに、ファイル保存処理部503は、検索用ノードから取得した保存用ノードリストに記載された複数の保存用ノードから、部分データの分割数と冗長数を加えたブロック数の保存用ノードを選定する。そして、ファイル保存処理部503は、通信制御部501を介して、選定された保存用ノードに(ファイルHash、部分Hash、部分データ)の組合せを送信して、ファイルHashと部分Hashとを検索キーとして部分データを保存させる。
The file
リスト検索処理部505は、クライアント端末203から取得を望むファイルを表す取得対象情報、例えば、文書名、ファイル名、動画タイトルなどを取得し、取得対象情報をファイルに対応付けられた検索キーとしてのファイルHashを生成する。リスト検索処理部505は、通信制御部502を介して、検索用ネットワーク202内の近傍にある検索用ノードから、ファイルHashを検索キーとして検索された、最新のロケーションリスト内のファイルリストを取得する。
The list
ファイル取得処理部506は、リスト検索処理部505から取得したファイルリストから各部分データの(部分Hash、保存用ノードID)の組合せを抽出する。そして、ファイル取得処理部506は、通信制御部501を介して、(ファイルHash、部分Hash、保存用ノードID)の組合せを用いて、各部分データを対応する保存用ノードから検索して読み出す。ファイル取得処理部506は、各部分データを復号して、正しく読み出された部分データのブロック数が所定数以上の場合には、部分データを合成して暗号化ファイルを再生する。ファイル取得処理部506は、再生された暗号化ファイルを暗号化鍵に対応する復号鍵で復号してクライアント端末203に送出する。
The file
図6は、本実施形態に係るクライアントアプリケーション232を含むクライアント端末203のハードウェア構成を示すブロック図である。
FIG. 6 is a block diagram illustrating a hardware configuration of the
図6で、CPU610は演算制御用のプロセッサであり、プログラムを実行することで図5の構成を実現する。CPU(Central Processing Unit)610は1つであっても複数であってもよい。ROM(Read Only Memory)620は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。ネットワークインタフェース630は、保存用ネットワーク201や検索用ネットワーク202との通信を制御する。
In FIG. 6, a
RAM(Random Access Memory)640は、CPU610が一時記憶のワークエリアとして使用するランダムアクセスメモリである。RAM640には、本実施形態の実現に必要なデータを記憶する領域が確保されている。保存すべきファイル641は、保存用ネットワーク201の保存用ノード211に部分データとして分散保存するためのファイルである。取得したファイル642は、保存用ネットワーク201の保存用ノード211に分散保存された部分データを合成して復元されたファイルである。ロケーションリスト643は、検索用ネットワーク202の全ての検索用ノードに共有された分散保存の構成を示すリストである。ファイルHash644は、保存すべきファイル641あるいは取得したファイル642のHash値である。検索用ノードID645は、クライアント端末203がアクセスしているロケーションリストを保持する検索用ノードを識別するためのIDである。部分Hashと部分データと保存用ノードID646は、分割されて各保存用ノードに保存される部分データと、その部分データのHash値と、保存先ノードのIDである。なお、保存用ノードIDは保存用ノードを識別する識別情報のHash値であることが望ましい。電子キャッシュデータ647は、ファイル保存や取得に対応する料金の支払い、あるいは、ファイル保存や読出しの報酬の受取りのためのブロックチェーンされたデータである。送受信データ648は、ネットワークインタフェース630を介して送受信されるデータである。入出力データ649は、入出力インタフェース660を介して入出力機器と入出力するデータである。
A RAM (Random Access Memory) 640 is a random access memory used by the
ストレージ650は、CPU610が使用する、本実施形態の実現に必要な以下のデータまたはプログラムが記憶されている。データベース651は、本実施形態の実現に必要な基本データを保持する。各種アルゴリズム652は、本実施形態の実現に必要なアルゴリズムを保持する。各種パラメータ653は、各種アルゴリズム652が用いる本実施形態の実現に必要なアルゴリズムを保持する。電子キャッシュ保持部654は、電子サイフとして、本実施形態の処理に必要な料金の支払い、あるいは、処理により得られる報酬をブロックチェーンされた電子キャッシュで保持する。
The
ストレージ650には、以下のプログラムが格納される。クライアント端末制御プログラム655は、クライアント端末203の全体を制御するプログラムである。クライアントアプリケーション232は、クライアント端末203にダウンロードされて、あるいは、ブラウザ機能を伴ってクライアント端末203で実行されるアプリケーションである。クライアントアプリケーション232は、以下のモジュールを有する。
The
ファイル保存処理部503として機能するファイル保存処理モジュールは、図5に図示された、保存すべきファイル641を分割した部分データを保存用ノードに分散保存させるモジュールである。リスト検索処理部505として機能するリスト検索処理モジュールは、図5に図示された、1つの検索用ノードが保持するロケーションリストからファイルHashを検索キーとして検索したファイルリストを受信モジュールである。ファイル取得処理部506として機能するファイル取得処理モジュールは、図5に図示された、リスト検索処理モジュールにより受信したファイルリストが保持するファイルHashと部分Hashと保存用ノードIDとの組合せを用いて部分データを読出して合成して、取得したファイル642を復元するモジュールである。報酬処理部として機能する報酬処理モジュールは、ファイル保存完了通知や、ファイル取得完了通知に応答して、参加ノード特に保存用ノードに対する報酬を提供するためのモジュールである。各種通信制御部500、501、502として機能する通信制御モジュールは、図5に図示された、各通信制御を行うモジュールである。
The file storage processing module that functions as the file
入出力インタフェース660は、入出力デバイスとのデータ入出力を制御するためのインタフェースを行なう。本実施形態においては、入出力インタフェース660には、表示部661、操作部662、音声入出力部663、記憶媒体664などが接続される。
The input /
なお、図6のRAM640やストレージ650には、クライアント端末203が有する汎用の機能や他の実現可能な機能に関連するプログラムやデータは図示されていない。
Note that programs and data related to general-purpose functions and other realizable functions of the
図7は、本実施形態に係るクライアントアプリケーション232の処理手順を示すフローチャートである。このフローチャートは、図6のCPU610がRAM640を用いて実行し、図5の機能構成を実現する。
FIG. 7 is a flowchart illustrating a processing procedure of the
クライアント端末203は、ステップS711において、ファイルの保存であるか否かを判定する。ファイルの保存であれば、クライアント端末203は、ステップS713において、ファイルを分割して、分割された部分データを保存用ノード211に保存するデータ保存処理を実行する。
In step S711, the
ファイルの保存でないと判定された場合、クライアント端末203は、ステップS721において、ファイルの取得(または閲覧)であるか否かを判定する。ファイルの取得であれば、クライアント端末203は、ステップS723において、1つの検索用ノードが保持するロケーションリストから、ファイルを識別するファイルHashに一致するファイルリストを受信するリスト検索処理を実行する。そして、クライアント端末203は、ステップS725において、ファイルから分割された部分データを、ファイルリストに含まれる部分Hashと保存用ノードIDとに基づいて読出し、部分データからファイルを合成して復元するファイル取得処理を実行する。
If it is determined that the file is not to be saved, the
(ファイル保存処理部)
図8は、本実施形態に係るファイル保存処理部503の機能構成を示すブロック図である。
(File storage processing section)
FIG. 8 is a block diagram illustrating a functional configuration of the file
ファイル保存処理部503は、ファイル暗号化部831と、ファイルHash生成部832と、部分データ生成部833と、部分Hash生成部834と、保存用ノード選定部835と、分散保存指示部836と、を備える。
The file
ファイル暗号化部831は、暗号化アルゴリズムと暗号化鍵とを有し、クライアントから保存を指示されたファイルを暗号化する。なお、使用される暗号化アルゴリズムや暗号化鍵は限定されないが、クライアントに対応する暗号化鍵が配布されているとする。ファイルHash生成部832は、ファイル暗号化部831において暗号化されたファイルのHash値を算出する。なお、Hash値の算出方法は、その認証方法と対応していれば限定されない。部分データ生成部833は、分割アルゴリズムと分割アルゴリズムで算出された分割数とを有し、データ分割部として、ファイル暗号化部831において暗号化されたファイルを算出された分割数に基づいて分割する。なお、部分データ生成部833の分割アルゴリズムは、ファイルに対応して部分データの数を制御すると共に、保存時や取得時のエラーによってもデータ復元が可能なように、分割における冗長のための処理が含まれる。部分Hash生成部834は、部分データ生成部833で分割された部分データのHash値を算出する。なお、Hash値の算出方法は、その認証方法と対応していれば限定されない。保存用ノード選定部835は、選定アルゴリズムと選定アルゴリズムで選定された保存先ノードIDとを有し、部分データ生成部833で冗長を含めて分割された分割数の部分データを保存する保存用ノードを、各々の保存用ノードの信頼性も考慮して選定する。なお、保存用ノードの識別は、保存用ノードに関連する情報のHash値であるのが望ましい。かかる保存用ノードを識別するHash値は、保存用ノードとして保存用ネットワーク201に参加する時に付与される。
The
分散保存指示部836は、保存データテーブル837を有し、ファイルHashと、部分Hash生成部834で生成された部分Hashを部分データを識別する識別子として部分データと組み合わせ、保存用ノード選定部835が選定した各保存用ノードへ保存を指示する。なお、図示しないが、部分データは暗号化鍵により暗号化される。
The distributed
図9は、本実施形態に係るファイル保存処理部503で使用する保存データテーブル837の構成を示す図である。保存データテーブル837には、分散保存指示部836で保存用ノードに部分データを保存するための情報が保持される。
FIG. 9 is a diagram illustrating a configuration of a storage data table 837 used by the file
保存データテーブル837は、ファイルHash921に対応付けて、分割数912の各々の部分データ923について、部分Hash922と、対応する部分データ923と、選定された保存用ノードID924とを記憶する。
The storage data table 837 stores the
図10は、実施形態に係るファイル保存処理部503の処理手順を示すフローチャートである。このフローチャートは、図6のCPU610がRAM640を用いて実行し、図8のファイル保存処理部503の機能構成部を実現する。
FIG. 10 is a flowchart illustrating a processing procedure of the file
ファイル保存処理部503は、ステップS1001において、保存すべきファイルを取得したか否かを判定する。ファイルを取得した場合、ファイル保存処理部503は、ステップS1003において、ファイルの暗号化処理を実行する。ファイル保存処理部503は、ステップS1005において、暗号化されたファイルのHash値を算出する。
The file
ファイル保存処理部503は、ステップS1007において、暗号化されたファイルの部分データへの分割処理を実行する。ファイル保存処理部503は、ステップS1009において、分割された部分データを保存する保存先の保存用ノードを選定する。
In step S1007, the file
ファイル保存処理部503は、ステップS1011において、選定された各保存用ノードに(ファイルHash、部分Hash、部分データ)により保存を指示する。
In step S1011, the file
図11Aは、本実施形態に係るファイル分割処理S1007の手順を示すフローチャートである。 FIG. 11A is a flowchart illustrating a procedure of the file division processing S1007 according to the present embodiment.
ファイル保存処理部503は、ステップS1171において、ファイルのサイズを取得する。ファイル保存処理部503は、ステップS1173において、データブロック数を、(データブロック数=サイズ/部分データサイズ)の式により算出する。次に、ファイル保存処理部503は、ステップS1175において、冗長ブロック数を、(冗長ブロック数=データブロック数/所定数)の式により算出する。所定数は、本実施形態では例えば、3が用いられる。次に、ファイル保存処理部503は、ステップS1177において、分割数を、(分割数=データブロック数+冗長ブロック数)の式により算出する。そして、ファイル保存処理部503は、ステップSS1179において、ステップS1003で暗号化されたファイルを算出された分割数に分割する。
The file
図11Bは、本実施形態に係る保存先ノードの選定処理S1009の手順を示すフローチャートである。 FIG. 11B is a flowchart illustrating a procedure of a storage destination node selection process S1009 according to the present embodiment.
ファイル保存処理部503は、ステップS1191において、ステップS1177で算出された分割数を取得する。次に、ファイル保存処理部503は、ステップS1193において、保存用ネットワーク201に参加する保存用ノードのリストを1つの検索用ノードから取得する。そして、ファイル保存処理部503は、ステップS1195において、ファイルの重要度や保存要求クライアントの重要度などを取得する。ファイル保存処理部503は、ステップS1197において、取得したファイルの重要度、および/または、保存要求クライアントの重要度を考慮して、クライアント端末により近い分割数に相当する保存用ノードを選定する。
In step S1191, the file
図11Bには、ステップS1195およびS1197における処理で用いられる保存用ノードのテーブル1110が図示されている。保存用ノードのテーブル1110は、各保存用ノードID(Hash値)1111に対応付けて、保存用ノードの属性1112、保存用ノードの信頼度(レベル)1113、保存用ノードの位置1114を記憶する。そして、各保存用ノードID(Hash値)1111に対応付けて、選択結果1115を記憶する。
FIG. 11B illustrates a storage node table 1110 used in the processing in steps S1195 and S1197. The storage node table 1110 stores an
(リスト検索処理部)
図12は、本実施形態に係るリスト検索処理部505の機能構成を示すブロック図である。
(List search processing section)
FIG. 12 is a block diagram illustrating a functional configuration of the list
リスト検索処理部505は、ファイルHash取得部1251と、ファイルHash送信部(ファイルハッシュ送信部)1252と、ファイルリスト取得部1253と、ファイルリスト通知部1255と、を備える。ファイルHash取得部1251は、取得対象情報、例えば、取得対象のファイル名や文書名、動画題名などから、ファイルの保存時にあらかじめ保持された対応するファイルHashを取得する。ファイルHash送信部1252は、検索用ネットワーク202中の近接する1つの検索用ノードから、ファイルのHash値を検索キーとして最新のロケーションリストから検索したファイルリストを取得する。ファイルリスト通知部1255は、ファイルリスト1256を有し、ファイルリスト取得部1253が取得したファイルリストをファイル取得処理部506に通知する。
The list
図13は、本実施形態に係るリスト検索処理部505で使用するファイルリスト1256の構成を示す図である。図13には、ファイルリスト通知部1255がファイル取得処理部506に通知するファイルリスト1256の構成を図示する。
FIG. 13 is a diagram illustrating a configuration of the
図14は、本実施形態に係るリスト検索処理部505の処理手順を示すフローチャートである。このフローチャートは、図6のCPU610がRAM640を用いて実行し、図12の機能構成を実現する。
FIG. 14 is a flowchart illustrating a processing procedure of the list
リスト検索処理部505は、ステップS1401において、クライアント端末203からファイルを示す取得対象情報を取得する。リスト検索処理部505は、ステップS1403において、取得した取得対象情報に対応して保持されたファイルHashを取得する。
The list
リスト検索処理部505は、ステップS1405において、検索用ネットワーク202中の近くの検索用ノードにファイルHashを送信する。そして、リスト検索処理部505は、ステップS1407において、検索用ノードから返信される、ファイルHashを探索キーとして最新のロケーションリストを検索して得られたファイルリストの受信を待つ。ファイルリストが受信されれば、リスト検索処理部505は、ステップS1411において、ファイルリストをファイル取得処理部506に通知する。
In step S1405, the list
(ファイル取得処理部)
図15は、本実施形態に係るファイル取得処理部506の機能構成を示すブロック図である。
(File acquisition processing unit)
FIG. 15 is a block diagram illustrating a functional configuration of the file
ファイル取得処理部506は、ファイルリスト取得部1561と、部分データ情報抽出部1562と、部分データ取得部1563と、部分データ合成部1564と、を備える。さらに、ファイル取得処理部506は、ファイル復号部1566と、ファイル送出部1567と、を備える。
The file
ファイルリスト取得部1561は、リスト検索処理部505からファイルリストを取得する。部分データ情報抽出部1562は、ファイルリストに含まれる分割された部分データのロケーションを示す部分データ情報である保存用ノードIDと部分hashとを抽出する。部分データ取得部1563は、保存用ノードIDとファイルHashと各部分データの部分Hashとを用いて、保存用ノードIDが示す保存用ノードから一斉に部分データを取得する。
The file
部分データ合成部1564は、データ合成テーブル1565を有し、部分データ取得部1563が取得した部分データの数が所定数以上になれば、部分データを合成して暗号化ファイルを復元する。すなわち、部分データの取得にエラーが生じた場合であっても、所定数以上の部分データの取得があればファイルを復元可能である。なお、部分データ合成部1564では、保存用ノードから取得した部分データを保存時に暗号鍵に対応する復号鍵で復号する処理も行う。
The partial
ファイル復号部1566は、復元された暗号化ファイルを保存時に暗号化した暗号鍵に対応する復号鍵で復号する。なお、かかる復号鍵は、クライアントに対応して配布された暗号化鍵に対応するものである。このように構成することにより、クライアント以外の人は復号鍵をいずれかの方法で取得しない限り、ファイルを復号して復元することができない。ファイル送出部1567は、復号されたファイルをクライアント端末203に送出する。ファイルの取得完了通知を報酬処理部に通知して、読出報酬を取得してもよい。
The
図16は、本実施形態に係るファイル取得処理部506で使用するデータ合成テーブル1565の構成を示す図である。データ合成テーブル1565は、部分データ合成部1564が取得した部分データから暗号化されたファイルを合成するために使用される。
FIG. 16 is a diagram illustrating a configuration of the data synthesis table 1565 used in the file
データ合成テーブル1565は、部分Hash1601と、読出された部分データ1602と、部分データ1602の所定数以上から合成された、暗号化されたファイルである合成ファイル1603と、復号されたファイルである復号ファイル1604とを記憶する。なお、部分データ1602の合成順序は、ブロックチェーン化された部分Hash1601から知ることができる。ブロックチェーン化されない部分Hash1601においては、合成順序を別途保存しておく必要がある。
The data synthesis table 1565 includes a
図17は、本実施形態に係るファイル取得処理部506の処理手順を示すフローチャートである。このフローチャートは、図6のCPU610がRAM640を用いて実行し、図15のファイル取得処理部506の機能構成を実現する。
FIG. 17 is a flowchart illustrating a processing procedure of the file
ファイル取得処理部506は、ステップS1701において、リスト検索処理部505からファイルリストを取得する。ファイル取得処理部506は、ステップS1703において、ファイルリストから分割されて保存された部分データを取得するための(部分Hash、保存用ノードID)の組合せを抽出する。ファイル取得処理部506は、ステップS1705において、(ファイルHash、部分Hash、保存用ノードID)の組合せを用いて、保存用ネットワーク201の保存用ノードから分割数の部分データを取得する。
The file
ファイル取得処理部506は、ステップS1707において、正しく取得した部分データの取得数を数える。例えば、保存用ノードの故障、保存用ノードの部分データの削除、改ざんやエラー、通信状況によるエラーなど、その一部は部分Hashにより検証可能である。ファイル取得処理部506は、ステップS1709において、正しく取得した部分データの取得数が所定数α以上である、復元可能な数であるか否かを判定する。
In step S1707, the file
部分データの取得数が所定数α以上である場合、ファイル取得処理部506は、ステップS1711において、正しく取得した部分データを合成する。ファイル取得処理部506は、ステップS1713において、合成ファイルを復号する。ファイル取得処理部506は、ステップS1715において、部分データから合成され復号されたファイルをクライアント端末203から送出する。
If the number of acquired partial data is equal to or greater than the predetermined number α, the file
部分データの取得数が所定数α未満である場合、ファイル取得処理部506は、ステップS1719において、データ取得エラーをクライアント端末203に通知する。
If the number of acquired partial data is less than the predetermined number α, the file
(報酬処理部)
図18は、本実施形態に係る報酬処理部1800の機能構成を示すブロック図である。なお、報酬処理部1800は、検索用サーバに搭載されていても、クライアントアプリケーション232に組み込まれていても、あるいは、検索用ノードアプリケーションや保存用ノードアプリケーションなどに分散されていてもよい。また、報酬処理部1800を含む管理サーバを別途設ける構成であってもよい。
(Reward processing section)
FIG. 18 is a block diagram illustrating a functional configuration of the
報酬処理部1800は、保存完了通知取得部1871と、取得完了通知取得部1872と、報酬算出アルゴリズム取得部1873と、報酬算出部1874と、報酬提供部1876と、を備える。
The
保存完了通知取得部1871は、保存完了した各保存用ノードから部分データの保存完了通知を取得する。取得完了通知取得部1872は、ファイル取得処理部506からファイルの取得完了通知を取得する。
The storage completion
報酬算出アルゴリズム取得部1873は、情報処理システム200における、保存用ネットワーク201に保存用ノードとして参加したクライアント、あるいは、検索用ネットワーク202に検索用ノードとして参加したクライアントに、どのように報酬を提供するかのアルゴリズムを取得する。本実施形態においては、例えば、ファイルの保存時に徴収する料金の内から総額2割程度の比較的少ない初期報酬を保存用ノードに提供し、その後は、所定期間でゼロとなる下降曲線で残りの8割をファイルの読み出し時に還元する報酬提供アルゴリズムを採用している。このようなアルゴリズムを用いることにより、保存用ノードの参加者が保存された部分データを削除しないように誘導している。しかしながら、報酬の提供アルゴリズムはこれに限定されない。
How the reward calculation
報酬算出部1874は、報酬テーブル1875を有し、報酬提供アルゴリズムに従って、部分データの保存完了時および部分データの読出し完了時に保存用ノードに対して提供する報酬を算出する。報酬提供部1876は、報酬算出部1874が算出した報酬を、部分データを保存あるいは読出した保存用ノードに提供する。
The
なお、図18には、検索用ネットワーク202の検索用ノードへの報酬については図示されてない。本実施形態においては、例えば、検索用ネットワーク202への新規参加時、あるいは、保存用ノードに対して提供する報酬の算出アルゴリズムなどの決定あるいは変更時などに行われる保存用ノードによる投票への参加に対して、報酬を提供する。
FIG. 18 does not show the reward to the search node of the
図19は、本実施形態に係る報酬処理部1800で使用する報酬テーブル1875の構成を示す図である。報酬テーブル1875は、報酬算出部1874が本実施形態のアルゴリズムで保存用ノードに報酬を提供する場合に用いる。
FIG. 19 is a diagram illustrating a configuration of the reward table 1875 used in the
報酬テーブル1875は、保存対象あるいは取得対象のファイルHashによるファイルID1910に対応付けて、保存料金1902と取得または閲覧料金×回数1903とを考慮して算出された、データ保存時の報酬1904とデータ読出時の報酬1905とを記憶する。なお、データ読出時の報酬1905の変化は、初期値と減少する変化曲線とを含む。
The reward table 1875 is associated with the file ID 1910 of the file Hash to be stored or obtained, and calculated in consideration of the
図20は、本実施形態に係る報酬処理部1800の処理手順を示すフローチャートである。このフローチャートは、報酬処理部1800のCPUがRAMを用いて実行し、図18の報酬処理部1800の機能構成部を実現する。
FIG. 20 is a flowchart illustrating a processing procedure of the
報酬処理部1800は、ステップS2001において、各保存用ノードからの保存完了通知、または、ファイル取得処理部506からの取得完了通知を待つ。保存完了通知、または、取得完了通知があれば、報酬処理部1800は、ステップS2003において、部分データの保存であるかファイルの取得であるかを判定する。
In step S2001, the
部分データの保存完了であれば、報酬処理部1800は、ステップS2005において、保存料金から各保存用ノードへの報酬Xを算出する。そして、報酬処理部1800は、ステップS2007において、部分データを保存した保存用ノードに報酬Xを提供する。
If the saving of the partial data is completed, in step S2005, the
一方、ファイルを取得した場合、報酬処理部1800は、ステップS2009において、保存料金(+取得料金)から各保存用ノードへの報酬Yを算出する。ここで、報酬Yは報酬Xよりも多い。そして、報酬処理部1800は、ステップS2011において、ファイルの部分データを正しく読出した保存用ノードに報酬Yを提供する。
On the other hand, when the file is acquired, the
《保存用ノード》
図21は、本実施形態に係る保存用ノード211の機能構成を示すブロック図である。
《Save node》
FIG. 21 is a block diagram illustrating a functional configuration of the
保存用ノード211は、P2Pの通信制御部2101と、入出力インタフェース2102と、保存用ノードアプリケーションダウンロード部2103と、保存用ノードアプリケーション実行部2104と、を備える。
The
P2Pの通信制御部2101は、クライアント端末203や保存用ネットワーク201の他の保存用ノードとのP2P通信を制御する。入出力インタフェース2102は、保存用ノード211に接続する入出力機器である、表示部2121、操作部2122、音声入出力部2123、記憶媒体2124などとの入出力を制御する。保存用ノードアプリケーションダウンロード部2103は、種々のクライアント端末が保存用ノードとして保存用ネットワーク201に参入するために保存用ノードアプリケーションをダウンリードする。保存用ノードアプリケーション実行部2104は、保存用ノードアプリケーションダウンロード部2103がダウンロードした保存用ノードアプリケーションを実行し、保存用ノードとして機能する。
A P2P
保存用ノードアプリケーション実行部2104は、HashID記憶部2141と、保存用部分データ受信部2142と、ストレージ2143と、部分データ保存完了通知部2144と、を有する。さらに、保存用ノードアプリケーション実行部2104は、部分データ要求受信部2145と、部分データ送信部2146と、電子キャッシュ保存部2147と、料金送信部2148と、報酬受信部2149と、を有する。
The storage node
HashID記憶部2141は、保存用ノードとして保存用ネットワーク201に参入した時に付与される保存用ノード情報のHash値であるIDを記憶する。この保存用ノードHashIDは、保存用ノードIDとして使用される。保存用部分データ受信部2142は、ファイル保存処理部503からの保存用の部分データをファイルHashおよび部分Hashと共に受信する。ストレージ2143は、保存用部分データ受信部2142が受信した(ファイルHash、部分Hash、部分データ)を、ファイルHashと部分Hashとを検索キーとして保存する。部分データ保存完了通知部2144は、ストレージ2143へのファイルHashと部分Hashとを検索キーとした部分データの保存が完了した場合に、その旨を(ファイルHash、部分Hash、保存用ノードID)の組合せと共に検索用ノードに通知する。部分データ要求受信部2145は、ファイル取得処理部506からのファイルhashと部分Hashとを検索キーとする部分データの読み出し要求を受信する。部分データ送信部2146は、ファイルHashと部分Hashとの検索キーにより検索された部分データをストレージ2143から読出して、ファイル取得処理部506に送信する。
The
電子キャッシュ保存部2147は、保存用ノードとして保存用ネットワーク201に参入する場合に、設定される電子キャッシュの記憶部である。料金送信部2148は、保存用ノードとして参入する場合、あるいは、他の料金支払いが必要な場合に、電子キャッシュ保存部2147から電子キャッシュを送金する。報酬受信部2149は、報酬処理部1800からの報酬を受信して、電子キャッシュ保存部2147に保存する。
The electronic
図22は、本実施形態に係る保存用ノード211の動作手順を示すフローチャートである。このフローチャートは、保存用ノード211となるクライアント端末のCPUがRAMを用いて実行し、図21の機能構成を実現する。
FIG. 22 is a flowchart illustrating an operation procedure of the
保存用ノード211は、ステップS2211において、保存用の部分データの受信か否かを判定する。保存用の部分データの受信であると判定する場合、保存用ノード211は、ステップS2213において、取得した(ファイルhash、部分Hash、部分データ)の組合せをストレージ2143に保存する。そして、ストレージ2143への保存が完了すると、保存用ノード211は、ステップS2215において、保存完了を(ファイルhash、部分Hash、保存用ノードID)の組合せと共に、検索用ノードに通知する。
The
保存用の部分データの受信でないと判定する場合、保存用ノード211は、ステップS2221において、部分データの読み出し要求か否かを判定する。部分データの読み出し要求であると判定された場合、保存用ノード211は、ステップS2223において、読出し要求に伴うファイルHashと部分Hashとを受け取り、ファイルHashと部分Hashとを検索キーとしてストレージ2143に保存された部分データを検索する。保存用ノード211は、ステップS2225において、部分データがストレージ2143内に有るか否かを判定する。部分データが見つかった場合、保存用ノード211は、ステップS2227において、部分データをファイルHashおよび部分Hashと共にファイル取得処理部506に送信する。部分データが見つからなかった場合、保存用ノード211は、ステップS2229において、エラー処理を行う。
If it is determined that the received partial data has not been received, the
保存用の部分データの受信でもなく、部分データの要求でもないと判定する場合、保存用ノード211は、ステップS2231において、料金の送信か否かを判定する。料金の送信と判定された場合、保存用ノード211は、ステップS2233において、電子キャッシュ保存部2147から電子キャッシュを取得し、ステップS2235において、取得した電子キャッシュを送信する。保存用の部分データの受信でもなく、部分データの要求でもなく、料金の送信でもないと判定する場合、保存用ノード211は、ステップS2241において、報酬の受信か否かを判定する。報酬の受信と判定された場合、保存用ノード211は、ステップS2243において、報酬処理部1800からの報酬を受信し、ステップS2245において、受信した報酬を電子キャッシュ保存部2147に保存する。
When it is determined that neither the reception of the partial data for storage nor the request of the partial data is performed, the
《検索用ノード》
図23は、本実施形態に係る検索用ノード221の機能構成を示すブロック図である。なお、図23には、検索用ノード221が行う、ロケーションリスト317内の検索用ノードリストや保存用ノードリストを作成あるいは更新するための機能構成については、図面が煩雑となるため図示していない。
《Search node》
FIG. 23 is a block diagram illustrating a functional configuration of the
検索用ノード221は、P2Pの通信制御部2301と、入出力インタフェース2302と、検索用ノードアプリケーションダウンロード部2303と、検索用ノードアプリケーション実行部2304と、を備える。
The
P2Pの通信制御部2301は、クライアント端末203や検索用ネットワーク202の他の検索用ノードとのP2P通信を制御する。入出力インタフェース2302は、検索用ノード221に接続する入出力機器である、表示部2321、操作部2322、音声入出力部2323、記憶媒体2324などとの入出力を制御する。検索用ノードアプリケーションダウンロード部2303は、種々のクライアント端末が検索用ノードとして検索用ネットワーク202に参入するために検索用ノードアプリケーションをダウンリードする。検索用ノードアプリケーション実行部2304は、検索用ノードアプリケーションダウンロード部2303がダウンロードした検索用ノードアプリケーションを実行し、検索用ノードとして機能する。
A P2P
検索用ノードアプリケーション実行部2304は、検索用ノードHashID記憶部2341と、ロケーションリスト更新指示受信部2342と、ロケーションリスト保存ストレージ2343と、部分データ保存完了通知受信部2344と、を有する。さらに、検索用ノードアプリケーション実行部2304は、ファイルリスト要求受信部2345と、ファイルリスト送信部2346と、電子キャッシュ保存部2347と、料金送信部2348と、報酬受信部2349と、を有する。
The search node
検索用ノードHashID記憶部2341は、検索用ノードとして検索用ネットワーク202に参入した時に付与される検索用ノード情報のHash値であるIDを記憶する。この検索用ノードHashIDは、検索用ノードを特定するIDとして使用される。ロケーションリスト更新指示受信部2342は、ファイル保存要求の場合に、クライアント端末203からファイルHashを受信して、ロケーションリストにファイルHashを検索キーとする空のファイルリストを追加する。ロケーションリスト保存ストレージ2343は、ロケーションリスト更新指示受信部2342により更新された最新のロケーションリストを保存し、他の検索用ノードと共有する。部分データ保存完了通知受信部2344は、部分データの保存が完了した保存用ノードから保存完了通知を、(ファイルHash、部分Hash、保存用ノードID)の組合せと共に受信して、ロケーションリスト保存ストレージ2343内の空のファイルリストに挿入する。ファイルリスト要求受信部2345は、ファイル取得要求の場合に、クライアント端末203のリスト検索処理部505から、ファイルHashを検索キーとする最新ロケーションリストからのファイルリストの読み出し要求を受信する。ファイルリスト送信部2346は、ロケーションリスト保存ストレージ2343に保持されたロケーションリストを、ファイルHashを検索キーとして検索し、見つけたファイルリストをリスト検索処理部505に送信する。
The search node
電子キャッシュ保存部2347は、検索用ノードとして検索用ネットワーク202に参入する場合に、設定される電子キャッシュの記憶部である。料金送信部2348は、検索用ノードとして参入する場合、あるいは、投票の参加するなどによる他の料金支払いが必要な場合に、電子キャッシュ保存部2347から電子キャッシュを送金する。報酬受信部2349は、報酬処理部1800からの報酬を受信して、電子キャッシュ保存部2347に保存する。
The electronic
図24は、本実施形態に係る検索用ノード221の動作手順を示すフローチャートである。このフローチャートは、検索用ノード221となるクライアント端末のCPUがRAMを用いて実行し、図23の機能構成を実現する。なお、図24においても、検索用ノード221が行う、ロケーションリスト317の検索用ノードリストや保存用ノードリストを作成あるいは更新するための動作手順については、図面が煩雑となるため図示していない。
FIG. 24 is a flowchart illustrating an operation procedure of the
検索用ノード221は、ステップS2411において、ロケーションリスト更新指示の受信か否かを判定する。ロケーションリスト更新指示の受信であると判定する場合、検索用ノード221は、ステップS2413において、ロケーションリスト更新指示に付随して送信されたファイルHashを取得する。そして、検索用ノード221は、ステップS2413において、取得したファイルHashを検索キーとする空のファイルリストをロケーションリストに追加し、最新のロケーションリストをロケーションリスト保存ストレージ2343に保存する。
The
ロケーションリスト更新指示の受信でないと判定する場合、検索用ノード221は、ステップS2421において、部分データの保存完了通知か否かを判定する。部分データの保存完了通知であると判定された場合、検索用ノード221は、ステップS2423において、保存完了通知に付随するファイルHashによりロケーションリスト内の空の(あるいは未完の)ファイルリストを検索する。そして、検索用ノード221は、ステップS2425において、空の(あるいは未完の)ファイルリストに保存完了通知と共に受信した(部分Hash、保存用ノードID)の組合せを挿入する。
If it is determined that the location list update instruction has not been received, the
ロケーションリストの受信でなく、部分データの保存完了通知でもないと判定する場合、検索用ノード221は、ステップS2431において、ファイルリストの読み出し要求か否かを判定する。ファイルリストの読み出し要求であると判定された場合、検索用ノード221は、ステップS2433において、ロケーションリスト保存ストレージ2343に保持された最新のロケーションリストから、読み出し要求と共に受信したファイルHashを検索キーとしてファイルリストを検索する。そして、検索用ノード221は、ステップS2435において、ファイルリストを読み出し要求元のリスト検索処理部505に送信する。
If it is determined that the reception of the location list is not the notification of the completion of storing the partial data, the
ロケーションリストの受信でもなく、部分データの保存完了通知でもなく、ロケーションリストの要求でもないと判定する場合、検索用ノード221は、ステップS2441において、料金の送信か否かを判定する。料金の送信と判定された場合、検索用ノード221は、ステップS2433において、電子キャッシュ保存部2347から電子キャッシュを取得し、ステップS2445において、取得した電子キャッシュを送信する。
If it is determined that the received location list is not received, the storage completion notification of the partial data is not received, and the location list is not requested, the
ロケーションリストの受信でもなく、部分データの保存完了通知でもなく、ロケーションリストの要求でもなく、料金の送信でもないと判定する場合、検索用ノード221は、ステップS2451において、報酬の受信か否かを判定する。報酬の受信と判定された場合、検索用ノード221は、ステップS2453において、報酬処理部1800からの報酬を受信し、ステップS2455において、受信した報酬を電子キャッシュ保存部2347に保存する。
If it is determined that neither the reception of the location list nor the notification of the completion of the storage of the partial data, the request of the location list, nor the transmission of the fee, the
(クライアント端末のハードウェア構成)
図25は、本実施形態に係る保存用ノード211または検索用ノード221となるクライアント端末のハードウェア構成を示すブロック図である。
(Hardware configuration of client terminal)
FIG. 25 is a block diagram illustrating a hardware configuration of a client terminal serving as the
図25で、CPU2510は演算制御用のプロセッサであり、プログラムを実行することで図21または図23の機能構成部を実現する。CPU(Central Processing Unit)2510は1つであっても複数であってもよい。ROM(Read Only Memory)2520は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。ネットワークインタフェース2530は、クライアント端末203や、保存用ネットワーク201や検索用ネットワーク202の他の保存用ノードや検索用ノードとの通信を制御する。
In FIG. 25, a
RAM(Random Access Memory)2540は、CPU2510が一時記憶のワークエリアとして使用するランダムアクセスメモリである。RAM2540には、本実施形態の実現に必要なデータを記憶する領域が確保されている。保存用ノードのデ−タ2541は、保存用ノードとして動作する場合のデータである。保存用ノードのデ−タ2541には、部分Hashや部分データが含まれる。検索用ノードのデ−タ2542は、検索用ノードとして動作する場合のデータである。検索用ノードのデ−タ2542には、ファイルHashや、ファイルHashを検索キーとするファイルリストや、登録されている保存用ノードの一覧である保存用ノードリストが含まれる。電子キャッシュデータ2543は、送金あるいは報酬受信されるデータである。送受信データ2544は、ネットワークインタフェース2530を介して送受信されるデータである。入出力データ2545は、入出力インタフェース2102や2302を介して入出力機器と入出力するデータである。
A RAM (Random Access Memory) 2540 is a random access memory used by the
ストレージ2550は、CPU2510が使用する、本実施形態の実現に必要な以下のデータまたはプログラムが記憶されている。データベース2551は、本実施形態の実現に必要な基本データを保持する。保存用ノードまたは検索用ノードのHashID記憶部2141/2341は、ノード参入時に配布されるノードIDである。ストレージ2143/2343は、部分データやロケーションリストを保存するストレージである。電子キャッシュ保存部2147/2347は、電子キャッシュを保存するストレージである。
The
ストレージ2550には、以下のプログラムが格納される。クライアント端末制御プログラム2552は、保存用ノードや検索用ノードに参入したクライアント端末の全体を制御するプログラムである。保存用ノードアプリケーションプログラム2553は、保存用ノードとして機能する場合のアプリケーションプログラムである。検索用ノードアプリケーションプログラム2554は、検索用ノードとして機能する場合のアプリケーションプログラムである。
The
入出力インタフェース2102/2302は、入出力デバイスとのデータ入出力を制御するためのインタフェースを行なう。本実施形態においては、入出力インタフェース2102/2302には、表示部2121/2321、操作部2122/2322、音声入出力部2123/2323、記憶媒体2124/2324などが接続される。
The input /
なお、図25のRAM2540やストレージ2550には、保存用ノードや検索用ノードとして機能するクライアント端末が有する汎用の機能や他の実現可能な機能に関連するプログラムやデータは図示されていない。
Note that the
本実施形態によれば、データおよびその分割された部分データがHash化されて、検索用ネットワークと保存用ネットワークとの独立した二層構造で管理されるため、高い安全性を担保しつつ、小規模ストレージの集合により大規模データサーバと同様の機能を実現することができる。 According to the present embodiment, the data and the divided partial data are hashed and managed in an independent two-layer structure of the search network and the storage network. The same function as the large-scale data server can be realized by the aggregation of the large-scale storage.
また、本実施形態によれば、ファイルは暗号化されて部分データに分割され、ファイルは部分データから合成されて復号されるので、機密性を高めることができる。また、保存するブロック数に冗長性を持たせて保存するので、所定数以上の正常なブロックがあればデータを再現できる。また、保存時の報酬と読出時の報酬とを制御することにより、保存用ノードでの部分データの喪失を防ぐことができる。 Further, according to the present embodiment, the file is encrypted and divided into partial data, and the file is synthesized from the partial data and decrypted, so that confidentiality can be improved. Further, since the number of blocks to be stored is stored with redundancy, data can be reproduced if there are at least a predetermined number of normal blocks. Further, by controlling the reward at the time of saving and the reward at the time of reading, it is possible to prevent partial data from being lost at the node for storage.
また、本実施形態によれば、インターネット上で第三者がストレージ容量を提供し、それに対して報酬を支払うことによって、効率的なインセンティブシステムによりシステム全体を維持および管理することができる。したがって、ユーザはハードディスクの空きスペースを十分に活用し、収益を得ることができる。すなわち、膨大なデータ量が発生し、これらのデータをどのように保存して、よりよいデータをどのように利用していくという問題がある中で、世界中に存在するハードディスクの大半が使用されておらず、価値のある資源が知らない間に消費されている。本実施形態においては、ユーザがソフトウェア(保存用ノードアプリケーションや検索用ノードアプリケーション)を、パソコンやスマートフォンにダウンロードあるいはインストールした後、ネットワークノード(保存用ノードおよび/または検索用ノード)になれる。したがって、ユーザは、専用のマイニングマシーンを自宅に設置することで報酬を得られることになる。 Further, according to the present embodiment, a third party provides storage capacity on the Internet and pays the storage capacity, so that the entire system can be maintained and managed by an efficient incentive system. Therefore, the user can make full use of the free space of the hard disk and earn profit. In other words, a huge amount of data is generated, and there is a problem of how to store these data and how to use better data. And valuable resources are being consumed unknowingly. In the present embodiment, the user can become a network node (storage node and / or search node) after downloading or installing software (storage node application or search node application) on a personal computer or smartphone. Therefore, the user can get a reward by installing a dedicated mining machine at home.
また、本実施形態によれば、システムは2層の保存用ネットワークと検索用ネットワークとに分離されて構成され、ネットワーク効率を高める同時に、マイニング閾値を下げる。マイニングマシーンはストレージと検索の要求にとって異なり、検索には、高価なコンピューティングパワーとエネルギー消費が必要だが、ストレージには、空きストレージリソースと帯域幅資源とが必要である。ストレージと検索との分離は、低コストのマイニングマシーンを使ってスステムの運営に貢献するのに役に立つ。さらに、2層ネットワークの保存と検索とが分離されることによって、ネットワークの効率を向上させる。なお、実施形態では言及されていないが、検索用ノードは、P2Pネットワーク全体の中で最も見つけられ攻撃され易い部分であるので、検索ノード用に対する保護を強化する必要があり、検索用ノードのIPアドレスを暗号化して保護している。 Further, according to the present embodiment, the system is configured to be separated into a two-layer storage network and a search network, thereby increasing the network efficiency and lowering the mining threshold. Mining machines differ from storage and retrieval requirements, where retrieval requires expensive computing power and energy consumption, while storage requires free storage and bandwidth resources. The separation between storage and search helps to contribute to the operation of the system using low-cost mining machines. Furthermore, the efficiency of the network is improved by separating the storage and retrieval of the two-layer network. Although not mentioned in the embodiment, since the search node is the most easily found and attacked part in the entire P2P network, it is necessary to strengthen the protection for the search node. The address is encrypted and protected.
本実施形態によれば、ユーザのファイルデータを一定数に分割して保存し、分割された部分データが異なるノードに保存されていることを保証する。あるノードの部分データが異常な状況で消えても、他のノードのバックアップを通じて、ユーザのファイルデータを完全に復元することができる。また、保存されたデータのセキュリティを保証することができる。分散型ストレージは、戦争、自然災害、あるいは人為的な原因で発生するデータの損失を減らし、価値のあるデータを永久に保存できるように有利になる。すなわち、ファイルデータは破片に分割し、異なったノードに分布するので、データの安全性はより高く、同時に覗きされたりコピーされたりはしない。さらに、データの冗長技術を加えることによって、分割された破片データが失われた場合や、ノードがオフラインになってもとしても、完全にファイルを復元することができる。同時にある破片が復元されても、?部のデータだけなのでファイルデータ全体は保護される。なお、ノードに障害が発生してアクセス不能な場合、システムはネットワークの既存の副本を新しいノードに転送することによって、ネットワーク複製プロセスを開始して、ファイルデータを復元する。 According to the present embodiment, the user's file data is divided into a certain number and stored, and it is guaranteed that the divided partial data is stored in different nodes. Even if partial data of one node disappears in an abnormal situation, the user's file data can be completely restored through backup of another node. Also, security of the stored data can be guaranteed. Distributed storage is advantageous because it reduces data loss caused by wars, natural disasters, or human causes and allows valuable data to be stored forever. That is, since the file data is divided into fragments and distributed to different nodes, the data is more secure, and is not simultaneously viewed or copied. Further, by adding a data redundancy technique, a file can be completely restored even if the divided fragment data is lost or a node goes offline. Even if a certain piece is restored at the same time, the entire file data is protected because only some data is recovered. If a node fails and cannot be accessed, the system initiates a network duplication process by restoring file data by transferring an existing duplicate of the network to the new node.
また、本実施形態によれば、保存されたデータは、デバイスによってブロックされ、暗号化されるなどの過程を経て、さらに分散型ストレージに配布され、これにより、安全性は非常に高いレベルにまで向上させて、ユーザのファイルデータはネットワーク内の他のいかなる人も覗くことができない。また、各ノードが実際に保存しているデータは、ファイルの一部分であり、その上で暗号化された方法で保存されているので、データはより安全に保護できる。ストレージノードを提供したユーザが、ファイルデータの一部分を見る機会があったとしても、意味のないデータだけであり、秘密キーを得るユーザのみが、正常にダウンロードを行うことができる。 Further, according to the present embodiment, the stored data is distributed to the distributed storage through processes such as being blocked by the device and being encrypted, whereby the security is increased to a very high level. Enhanced, the user's file data cannot be seen by anyone else in the network. Further, since the data actually stored by each node is a part of the file and is stored in an encrypted manner thereon, the data can be more securely protected. Even if the user who provided the storage node has a chance to see a part of the file data, only the meaningless data can be normally downloaded only by the user who obtains the secret key.
本実施形態によれば、ファイルデータをダウンロード中に、分割された破片データが再編成されるので、速度が集中型ストレージよりもはるかに速くなる。すなわち、1つのファイルが多くの破片に分散されて世界各地のストレージノードに保存されており、ユーザがファイルをダウンロードしようとすると、該当するアドレス(ハッシュ値)のみ検索するだけで、各ストレージノードから同時にデータを取得することができる。そのため、集中型ストレージよりスピードが速くなります。また、データ伝送速度に関しても、ユーザがデータを読み取る必要がある場合、全ての保存者が同時にユーザのために自分の保存したデータを送信し、アプリケーションが受信した後自動的に合成を行う。したがって、ユーザのダウンロード速度は、主にネットワークのダウンロード帯域幅により決まる。そのため、今後急激な成長を遂げる5G技術などにより更なるデータ伝送速度が達成される。 According to the present embodiment, the divided fragment data is reorganized while downloading the file data, so that the speed is much faster than that of the centralized storage. In other words, one file is distributed in many pieces and stored in storage nodes all over the world. When a user attempts to download a file, the user only needs to search for a corresponding address (hash value), and each storage node sends the file. Data can be acquired at the same time. Therefore, it is faster than centralized storage. Regarding the data transmission speed, when the user needs to read the data, all the custodians simultaneously transmit their stored data for the user, and automatically synthesize after receiving the data. Therefore, the download speed of the user is mainly determined by the download bandwidth of the network. Therefore, further data transmission speeds can be achieved by 5G technology and the like, which will rapidly grow in the future.
また、本実施形態によれば、基準化された基盤技術のプラットフォームの提供を通じて、サポート基準ツールを、分散式資源を必要としているユーザに提供できる。このプラットフォームにより自分のDAPP(decentralized application:分散型アプリケーション)を開発することができる。そして、サーバやPC、モバイルストレージなどの集中型ストレージと比較して、本実施例のP2P分散型ストレージは、ストレージとインターネットの効率を向上させ、分散型技術を通じてストレージの容量とネットワークリソースの浪費を解決した。すなわち、データの自動分配、柔軟な拡張の実現、運営コストの低減、資源浪費を避けることができた。例えば、それに対するコストは従来のクラウドストレージだと10TM(Translation Memory)あたり月間コストは100ドルですが、本実施形態のP2P分散型ストレージに以降することによって月間コストを1/5に抑えることができた。 In addition, according to the present embodiment, a support reference tool can be provided to a user who needs distributed resources by providing a standardized platform of a basic technology. With this platform, you can develop your own DAPP (decentralized application). Compared with centralized storage such as servers, PCs, and mobile storages, the P2P distributed storage of the present embodiment improves the efficiency of storage and the Internet and reduces storage capacity and network resource waste through distributed technology. Settled. In other words, automatic distribution of data, realization of flexible expansion, reduction of operating costs, and waste of resources were avoided. For example, the cost for the conventional cloud storage is $ 100 per 10TM (Translation Memory), but the monthly cost can be reduced to 1/5 by using the P2P distributed storage of this embodiment. Was.
さらに詳細には、例えば、DHT(Distributed Hash Table:分散型ハッシュテーブル)を用いることで、Hashキー値によってユニークと識別することできる情報を、ある条件/プロトコルに従って複数のノードに保存される。これにより中央集権型サーバなどの単一故障状態でネットワーク全体が麻痺することを効果的に避けることができる。中央ノードサーバと違って、DHTによるネットワーク内の各ノードはネットワーク全体の情報を維持する必要がなく、隣接する後続ノード情報を保存するだけなので、帯域幅の占有および資源消費を大幅に減少する。また、DHTによるネットワークはキーワードの最も近いノードに冗長データもバックアップし、単一ノードの障害を回避できる。 More specifically, for example, by using a DHT (Distributed Hash Table), information that can be uniquely identified by a Hash key value is stored in a plurality of nodes according to a certain condition / protocol. This can effectively prevent the entire network from being paralyzed by a single failure state of a centralized server or the like. Unlike the central node server, each node in the network with DHT does not need to maintain the information of the whole network, but only stores the information of the adjacent subsequent nodes, so that the bandwidth occupation and the resource consumption are greatly reduced. In addition, the network based on DHT also backs up redundant data at the node closest to the keyword, and can avoid failure of a single node.
[第4実施形態]
次に、本発明の第4実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第3実施形態と比べると、それぞれ独立したクライアント端末とクライアントアプリケーションを有するアプリケーションサーバとを有する点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
[Fourth embodiment]
Next, an information processing system according to a fourth embodiment of the present invention will be described. The information processing system according to the present embodiment is different from the third embodiment in that it has an independent client terminal and an application server having a client application. Other configurations and operations are the same as those of the second embodiment, and thus the same configurations and operations are denoted by the same reference numerals and detailed description thereof will be omitted.
《情報処理システムの構成》
図26は、本実施形態に係る情報処理システム2600の構成を示すブロック図である。図26においては、情報処理システム2600がアプリケーションサーバ2633を備え、アプリケーションサーバ2633が、データ保存処理、リスト保存処理、リスト検索処理およびデータ取得処理を含む処理を実行する。
《Configuration of information processing system》
FIG. 26 is a block diagram illustrating a configuration of an
図26においては、クライアントアプリケーション232がアプリケーションサーバ2633に変更されている。
In FIG. 26, the
なお、図2や図26においては、クライアントアプリケーション232やアプリケーションサーバ2633のそれぞれがファイルの保存や取得の全機能を果たすように図示しているが、これらの機能をクライアント端末203の処理能力に応じて振り分けるよう構成してもよい。
2 and 26, the
本実施形態によれば、処理能力の比較的低いクライアント端末であっても、あるいは、通信能力が比較的低いシステムであっても、ファイルの分散保存とその読み出し再生を行う情報処理システムが実現できる。 According to the present embodiment, an information processing system that performs distributed storage of files and read / playback of the files can be realized even for a client terminal having a relatively low processing capability or a system having a relatively low communication capability. .
[第5実施形態]
次に、本発明の第5実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第3実施形態および第4実施形態と比べると、クライアント端末、保存用ノードおよび検索用ノードが既存のIPアドレスを用いたHTTPに代わるHashアドレスを用いたプロトコルで通信する点で異なる。その他の構成および動作は、第3実施形態または第4実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
[Fifth Embodiment]
Next, an information processing system according to a fifth embodiment of the present invention will be described. The information processing system according to the present embodiment is different from the third and fourth embodiments in that the client terminal, the storage node, and the search node use a Hash address instead of an HTTP using an existing IP address. They differ in that they communicate using protocols. Other configurations and operations are the same as those of the third embodiment or the fourth embodiment. Therefore, the same configurations and operations are denoted by the same reference numerals, and detailed description thereof will be omitted.
《情報処理システムの構成》
図27は、本実施形態に係る情報処理システム2700の構成を示すブロック図である。図27においては、Hashアドレスを用いたプロトコルをIPWBで示している。すなわち、プロトコルとしてIPWB://…を用いている。
《Configuration of information processing system》
FIG. 27 is a block diagram illustrating a configuration of an
図27の情報処理システム2700においては、保存用ネットワーク2701と、検索用ネットワーク2702と、クライアントアプリケーション2732との間において、IPWB://…で表現されるHashアドレスによるP2P通信が可能となっている。
In the
本実施形態によれば、非集権分散ネットワークによる分散型ストレージが実現される。すなわち、本実施形態は、多数のP2P接続を同時に転送することができる。このような動的な柔軟性と展延性により、システムのスケーラビリティが拡張上限なしに実現する。そして、将来的に、本実施形態のシステムは、P2P分散型クラウドストレージのみの提供だけではなく、そのストレージを利用したWebページを開設することも可能になる。すなわち、本実施形態が提供するプラットフォームにおいては、ユーザ自らがP2P分散ストレージのサービス事業者になることができる。サービス事業者は、本実施形態のブロックチェーンを利用し、独自サービスの決済で利用するトークンを発行することができる。そして、トークンの発行者は、ストレージの利用料金体系や、ストレージ容量提供者への報酬体系を自由に設定することにより、サービスにオリジナリティを出すこともできる。 According to the present embodiment, a distributed storage using a decentralized distributed network is realized. That is, the present embodiment can simultaneously transfer a large number of P2P connections. With such dynamic flexibility and extensibility, the scalability of the system is achieved without an extended upper limit. In the future, the system according to the present embodiment will not only provide only the P2P distributed cloud storage, but also will be able to open a web page using the storage. That is, in the platform provided by the present embodiment, the user himself can be a service provider of the P2P distributed storage. The service provider can use the block chain of the present embodiment to issue a token to be used in the settlement of the unique service. Then, the token issuer can give originality to the service by freely setting a storage usage fee system and a reward system for the storage capacity provider.
[他の実施形態]
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の技術的範囲で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の技術的範囲に含まれる。
[Other embodiments]
Although the present invention has been described with reference to the exemplary embodiments, the present invention is not limited to the above exemplary embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the technical scope of the present invention. Further, a system or an apparatus in which different features included in each embodiment are combined in any way is also included in the technical scope of the present invention.
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に供給され、内蔵されたプロセッサによって実行される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるWWW(World Wide Web)サーバも、プログラムを実行するプロセッサも本発明の技術的範囲に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体(non-transitory computer readable medium)は本発明の技術的範囲に含まれる。 Further, the present invention may be applied to a system including a plurality of devices, or may be applied to a single device. Further, the present invention is also applicable to a case where an information processing program for realizing the functions of the embodiments is supplied to a system or an apparatus and executed by a built-in processor. Therefore, in order to implement the functions of the present invention on a computer, a program installed on the computer, a medium storing the program, a WWW (World Wide Web) server for downloading the program, and a processor for executing the program are both used. Included in the technical scope of the invention. In particular, at least a non-transitory computer readable medium storing a program for causing a computer to execute the processing steps included in the above-described embodiments is included in the technical scope of the present invention.
Claims (12)
前記複数の保存用ノードの識別情報を含むロケーションリストをブロックチェーン化しつつ保存する検索用ノードを複数含む検索用ネットワークと、
前記ファイルを複数の部分データに分割し、前記複数の部分データのそれぞれを前記複数の保存用ノードに含まれる少なくとも2つの保存用ノードに送信して保存させる保存処理部と、
を備え、
前記検索用ノードは、前記部分データを保存した前記保存用ノードの識別情報を用いて、前記ロケーションリストを更新する更新処理部を備えた情報処理システム。 A storage network including a plurality of storage nodes for storing files in a distributed manner;
A search network including a plurality of search nodes for saving while blockchaining a location list including identification information of the plurality of storage nodes,
A storage processing unit that divides the file into a plurality of partial data, and transmits and stores each of the plurality of partial data to at least two storage nodes included in the plurality of storage nodes,
With
The information processing system, wherein the search node includes an update processing unit that updates the location list by using identification information of the storage node that stores the partial data.
前記少なくとも2つの保存用ノードから前記複数の部分データのそれぞれを取得し、前記複数の部分データを合成して前記ファイルを復元する復元処理部をさらに備えた請求項1乃至3のいずれか1項に記載の情報処理システム。 The search node further includes a search processing unit that searches the at least two storage nodes in which each of the plurality of partial data is stored, based on the location list,
4. The apparatus according to claim 1, further comprising a restoration processing unit configured to acquire each of the plurality of partial data from the at least two storage nodes, combine the plurality of partial data, and restore the file. 5. An information processing system according to claim 1.
前記報酬提供部は、
前記部分データを保存した前記少なくとも2つの保存用ノードに対して第1報酬を提供する第1報酬提供部と、
前記復元処理部が前記ファイルを復元した場合に、前記ファイルの一部である前記部分データを保存していた前記少なくとも2つの保存用ノードに対して、第2報酬を提供する第2報酬提供部と、
を有する請求項4または5に記載の情報処理システム。 A reward providing unit that provides a reward to the plurality of storage nodes,
The reward providing unit,
A first reward providing unit that provides a first reward to the at least two storage nodes that have stored the partial data;
A second reward providing unit that provides a second reward to the at least two storage nodes that have stored the partial data that is a part of the file when the restoration processing unit restores the file. and,
The information processing system according to claim 4 or 5 having.
前記複数の保存用ノードの識別情報を含むロケーションリストをブロックチェーン化しつつ保存する検索用ノードを複数含む検索用ネットワークと、
前記複数の部分データを前記保存用ノードから取得し、前記複数の部分データを合成して前記ファイルを復元する復元処理部と、
を備え、
前記保存用ネットワークは、ファイルの分割により生成された前記複数の部分データを、前記複数の保存用ノードに保存すると共に、前記ファイルの分割により生成された前記複数の部分データのそれぞれを、少なくとも2つの保存用ノードに分けて保存し、
前記検索用ノードは、前記ロケーションリストに基づいて、前記複数の部分データが保存されている前記保存用ノードを検索する検索処理部を備えた情報処理システム。 A storage network including a plurality of storage nodes for storing a plurality of partial data generated by dividing the file,
A search network including a plurality of search nodes for saving while blockchaining a location list including identification information of the plurality of storage nodes,
A restoration processing unit that acquires the plurality of partial data from the storage node and combines the plurality of partial data to restore the file;
With
The storage network stores the plurality of partial data generated by dividing the file in the plurality of storage nodes, and stores each of the plurality of partial data generated by dividing the file by at least two. Divided into two storage nodes,
The information processing system, comprising: a search processing unit that searches the storage node storing the plurality of partial data based on the location list.
前記複数の保存用ノードの識別情報を含むロケーションリストをブロックチェーン化しつつ保存する検索用ノードを複数含む検索用ネットワークと、
を備える情報処理システムの情報処理方法であって、
前記ファイルを複数の部分データに分割し、前記複数の部分データのそれぞれを前記複数の保存用ノードに含まれる少なくとも2つの保存用ノードに送信して保存させる保存処理ステップと、
前記部分データを保存した前記保存用ノードの識別情報を用いて、前記ロケーションリストを更新する更新処理ステップと、
を含む情報処理方法。 A storage network including a plurality of storage nodes for storing files in a distributed manner;
A search network including a plurality of search nodes for saving while blockchaining a location list including identification information of the plurality of storage nodes,
An information processing method for an information processing system comprising:
A storage processing step of dividing the file into a plurality of partial data, transmitting each of the plurality of partial data to at least two storage nodes included in the plurality of storage nodes, and storing the transmitted partial data;
An update processing step of updating the location list using identification information of the storage node that has stored the partial data;
An information processing method including:
前記複数の保存用ノードの識別情報を含むロケーションリストをブロックチェーン化しつつ保存する検索用ノードを複数含む検索用ネットワークと、
を備える情報処理システムの情報処理方法であって、
前記保存用ネットワークは、ファイルの分割により生成された前記複数の部分データを、前記複数の保存用ノードに保存すると共に、前記ファイルの分割により生成された前記複数の部分データのそれぞれを、少なくとも2つの保存用ノードに分けて保存し、
前記ロケーションリストに基づいて、前記複数の部分データが保存されている前記保存用ノードを検索する検索処理ステップと、
前記複数の部分データを前記保存用ノードから取得し、前記複数の部分データを合成して前記ファイルを復元する復元処理ステップと、
を含む情報処理方法。 A storage network including a plurality of storage nodes for storing a plurality of partial data generated by dividing the file,
A search network including a plurality of search nodes for saving while blockchaining a location list including identification information of the plurality of storage nodes,
An information processing method for an information processing system comprising:
The storage network stores the plurality of partial data generated by dividing the file in the plurality of storage nodes, and stores each of the plurality of partial data generated by dividing the file by at least two. Divided into two storage nodes,
Based on the location list, a search processing step for searching for the storage node in which the plurality of partial data is stored,
A restoration processing step of acquiring the plurality of partial data from the storage node and combining the plurality of partial data to restore the file;
An information processing method including:
ファイルのハッシュ値であるファイルハッシュを取得するハッシュ取得ステップと、
前記ファイルハッシュを検索用ノードに送信し、対応するファイルリストを検索させるファイルハッシュ送信ステップと、
受信した前記ファイルハッシュに対応する前記ファイルリストを、前記検索用ノードから取得するファイルリスト取得ステップと、
前記ファイルリストが示す前記複数の部分データを、前記ファイルリストに指定される、前記保存用ノードから取得する部分データ取得ステップと、
前記保存用ノードから取得した前記複数の部分データを合成して、前記ファイルを復元する復元処理ステップと、
をコンピュータに実行させるアプリケーションプログラム。 An application program for acquiring and synthesizing the plurality of partial data from at least two storage nodes, wherein each of the plurality of partial data generated by dividing the file is stored,
A hash obtaining step of obtaining a file hash which is a hash value of the file;
A file hash transmission step of transmitting the file hash to a search node and causing a corresponding file list to be searched ;
File list acquisition step of acquiring the file list corresponding to the received file hash from the search node ,
A plurality of partial data indicated by the file list, specified in the file list, a partial data acquisition step of acquiring from the storage node,
A restoration processing step of combining the plurality of partial data acquired from the storage node and restoring the file;
An application program that causes a computer to execute
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019223803A JP6671617B1 (en) | 2019-12-11 | 2019-12-11 | Distributed storage platform and application program realized by blockchain technology and distributed storage technology |
JP2020019041A JP7462922B2 (en) | 2019-12-11 | 2020-02-06 | Distributed storage platform and application program realized by blockchain technology and distributed storage technology |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019223803A JP6671617B1 (en) | 2019-12-11 | 2019-12-11 | Distributed storage platform and application program realized by blockchain technology and distributed storage technology |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020019041A Division JP7462922B2 (en) | 2019-12-11 | 2020-02-06 | Distributed storage platform and application program realized by blockchain technology and distributed storage technology |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6671617B1 true JP6671617B1 (en) | 2020-03-25 |
JP2021093016A JP2021093016A (en) | 2021-06-17 |
Family
ID=70000844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019223803A Active JP6671617B1 (en) | 2019-12-11 | 2019-12-11 | Distributed storage platform and application program realized by blockchain technology and distributed storage technology |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6671617B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767250A (en) * | 2020-06-10 | 2020-10-13 | 钛星投资(深圳)有限公司 | Decentralized storage method, downloading method and storage system |
JP2022048798A (en) * | 2020-09-15 | 2022-03-28 | 株式会社デジタルアセットマーケッツ | Flagship platform, token issuance, and platform for amortization |
JP2023523611A (en) * | 2020-06-28 | 2023-06-06 | 北京沃▲東▼天▲駿▼信息技▲術▼有限公司 | Methods, systems and apparatus for storing blockchain-based data |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101781583B1 (en) * | 2016-08-31 | 2017-09-27 | 서강대학교산학협력단 | File management and search system based on block chain and file management and search method |
JP2018190227A (en) * | 2017-05-09 | 2018-11-29 | 野田 真一 | Network distributed duplication exclusion file storage system |
-
2019
- 2019-12-11 JP JP2019223803A patent/JP6671617B1/en active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767250A (en) * | 2020-06-10 | 2020-10-13 | 钛星投资(深圳)有限公司 | Decentralized storage method, downloading method and storage system |
JP2023523611A (en) * | 2020-06-28 | 2023-06-06 | 北京沃▲東▼天▲駿▼信息技▲術▼有限公司 | Methods, systems and apparatus for storing blockchain-based data |
JP7420972B2 (en) | 2020-06-28 | 2024-01-23 | 北京沃▲東▼天▲駿▼信息技▲術▼有限公司 | Methods, systems and apparatus for storing blockchain-based data |
JP2022048798A (en) * | 2020-09-15 | 2022-03-28 | 株式会社デジタルアセットマーケッツ | Flagship platform, token issuance, and platform for amortization |
JP7440023B2 (en) | 2020-09-15 | 2024-02-28 | 株式会社デジタルアセットマーケッツ | Core platform and platform for token issuance and redemption |
Also Published As
Publication number | Publication date |
---|---|
JP2021093016A (en) | 2021-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3673620B1 (en) | Shared blockchain data storage | |
JP6671617B1 (en) | Distributed storage platform and application program realized by blockchain technology and distributed storage technology | |
US8051205B2 (en) | Peer-to-peer distributed storage | |
CN113572618B (en) | Fabric and IPFS combined decentralized storage system and data storage method thereof | |
CN109522330B (en) | Cloud platform data processing method, device, equipment and medium based on block chain | |
KR20200074911A (en) | Perform recovery process for network nodes in distributed systems | |
CN101964080B (en) | Method and system for storing a file as slices on storage elements | |
CN111405019B (en) | Data processing method, data processing device, computer equipment and storage medium | |
US20120011200A1 (en) | Method and apparatus for data storage in a peer-to-peer network | |
US20080147821A1 (en) | Managed peer-to-peer content backup service system and method using dynamic content dispersal to plural storage nodes | |
Ali et al. | Blockstack: A new decentralized internet | |
CN110399338A (en) | Distributed document directory system and method, cloud storage service device based on block chain | |
JP5298200B2 (en) | Decomposition / reconstruction in data transfer storage | |
US11005663B2 (en) | Secure audit scheme in a distributed data storage system | |
US10534667B2 (en) | Segmented cloud storage | |
Kan et al. | MTFS: Merkle-tree-based file system | |
CN102752399A (en) | Peer-to-peer security file sharing method based on cloud storage | |
CN111198784B (en) | Data storage method and device | |
Chowdhury et al. | Secured blockchain based decentralised internet: a proposed new internet | |
JP7462922B2 (en) | Distributed storage platform and application program realized by blockchain technology and distributed storage technology | |
Ali et al. | Blockstack technical whitepaper | |
CN110992182B (en) | Transaction method and system of blockchain wallet | |
US12058270B2 (en) | Data protection on distributed data storage (DDS) protection networks | |
JP7119324B2 (en) | Information processing device and information processing program | |
Durao et al. | Usto. re: A private cloud storage software system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191211 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20191211 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20191224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200116 |
|
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: 20200128 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200206 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6671617 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |