# US 11,308,223 B2 · Blockchain-based file handling

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,308,223 B2
- Document ID: US11308223B2
- Status: Granted
- Kind: B2
- Application number: 16/676,998
- Filed: 2019-11-07
- Published: 2021-05-13
- Granted: 2022-04-19
- Earliest claimed: 2019-11-07
- Assignees: Kyndryl, Inc.
- Applicants: Kyndryl, Inc.
- Inventors: Yu Lin Zhai; Zi Jian Ji; Si Heng Sun; Yuan Yuan Li; Xiao Lu Wang; Yue Zhang
- Web page: https://patentgrep.com/patent/US11308223B2

## CPC

- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F 16/13: File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06)
- G06F 16/1734: {Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs}
- G06F 16/1744: {using compression, e.g. sparse files}
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Blockchain-based file handling is provided by receiving a data file from a user device, storing the data file to local storage of the blockchain peer, generating a file identifier of the data file, providing the file identifier to the user device, storing the file identifier to a synchronized ledger of the blockchain network, where the synchronized ledger tracks access to the data file, and distributing data of the data file to one or more other blockchain peers of the blockchain network.

## Claims

### Claim 1

A computer-implemented method comprising:
receiving, by a blockchain peer of a blockchain network, a data file from a user device;
storing, by the blockchain peer, the data file to local storage of the blockchain peer;
generating a file identifier of the data file;
providing the file identifier to the user device;
storing the file identifier to a synchronized ledger of the blockchain network, the synchronized ledger tracking access to the data file; and
distributing data of the data file to one or more other blockchain peers of a plurality of blockchain peers of the blockchain network, wherein the distributing comprises splitting the data of the data file into a plurality of separate data files and distributing a respective at least one separate data file of the plurality of separate data files to each of the one or more other blockchain peers, wherein the distributing distributes to at least one of the one or more blockchain peers some, but not all, separate data files of the plurality of separate data files, and wherein the distributing further comprises at least one selected from the group consisting of:
compressing data of the data file, or the plurality of separate data files, to obtain compressed data, and distributing the compressed data to the one or more other blockchain peers; and
encrypting data of the data file, or the plurality of separate data files, to obtain encrypted data, and distributing the encrypted data to the one or more other blockchain peers.

### Claim 2 (depends on 1)

The method of claim 1, further comprising determining the one or more other blockchain peers to which to distribute data of the data file, the determining being based on monitoring disk space of the one or more other blockchain peers.

### Claim 3 (depends on 1)

The method of claim 1, wherein the distributing comprises the compressing data of the data file or the plurality of separate data files.

### Claim 4 (depends on 1)

The method of claim 1, wherein the distributing comprises the encrypting data of the data file or the plurality of separate data files.

### Claim 5 (depends on 1)

The method of claim 1, wherein based on at least one selected from the group consisting of (i) loss and (ii) improper modification of the data of the data file at the blockchain peer, receiving the data of the data file from at least one of the one or more other blockchain peers to restore the data of the data file to the blockchain peer.

### Claim 6 (depends on 1)

The method of claim 1, wherein access to the data file is regulated based on a policy, wherein the policy prevents a blockchain peer of the blockchain network that has the data file from viewing the data file.

### Claim 7 (depends on 1)

The method of claim 1, wherein the synchronized ledger tracks access of the data file on the blockchain network, and wherein view of the tracked access is regulated such that only some blockchain peers of the blockchain network can view the tracked access.

### Claim 8 (depends on 1)

The method of claim 1, further comprising, based on a request made to the blockchain peer to access another data file stored to the blockchain network:
initially determining that the blockchain peer does not have the requested another data file; and
based on information in the synchronized ledger indicating which blockchain peers of the blockchain network have at least some data of the another data file, selecting a closest one or more blockchain peers that have data of the another data file, and requesting the closest one or more blockchain peers to provide the data of the another data file.

### Claim 9

A computer program product comprising:
a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
receiving, by a blockchain peer of a blockchain network, a data file from a user device;
storing, by the blockchain peer, the data file to local storage of the blockchain peer;
generating a file identifier of the data file;
providing the file identifier to the user device;
storing the file identifier to a synchronized ledger of the blockchain network, the synchronized ledger tracking access to the data file; and
distributing data of the data file to one or more other blockchain peers of a plurality of blockchain peers of the blockchain network, wherein the distributing comprises splitting the data of the data file into a plurality of separate data files and distributing a respective at least one separate data file of the plurality of separate data files to each of the one or more other blockchain peers, wherein the distributing distributes to at least one of the one or more blockchain peers some, but not all, separate data files of the plurality of separate data files, and wherein the distributing further comprises at least one selected from the group consisting of:
compressing data of the data file, or the plurality of separate data files, to obtain compressed data, and distributing the compressed data to the one or more other blockchain peers; and
encrypting data of the data file, or the plurality of separate data files, to obtain encrypted data, and distributing the encrypted data to the one or more other blockchain peers.

### Claim 10 (depends on 9)

The computer program product of claim 9, wherein the method further comprises determining the one or more other blockchain peers to which to distribute data of the data file, the determining being based on monitoring disk space of the one or more other blockchain peers.

### Claim 11 (depends on 9)

The computer program product of claim 9, wherein access to the data file is regulated based on a policy, wherein the policy prevents a blockchain peer of the blockchain network that has the data file from viewing the data file.

### Claim 12 (depends on 9)

The computer program product of claim 9, wherein the synchronized ledger tracks access of the data file on the blockchain network, and wherein view of the tracked access is regulated such that only some blockchain peers of the blockchain network can view the tracked access.

### Claim 13

A computer system comprising:
a memory; and
a processor in communication with the memory, wherein the computer system is configured to perform a method comprising:
receiving, by a blockchain peer of a blockchain network, a data file from a user device;
storing, by the blockchain peer, the data file to local storage of the blockchain peer;
generating a file identifier of the data file;
providing the file identifier to the user device;
storing the file identifier to a synchronized ledger of the blockchain network, the synchronized ledger tracking access to the data file; and
distributing data of the data file to one or more other blockchain peers of a plurality of blockchain peers of the blockchain network, wherein the distributing comprises splitting the data of the data file into a plurality of separate data files and distributing a respective at least one separate data file of the plurality of separate data files to each of the one or more other blockchain peers, wherein the distributing distributes to at least one of the one or more blockchain peers some, but not all, separate data files of the plurality of separate data files, and wherein the distributing further comprises at least one selected from the group consisting of:
compressing data of the data file, or the plurality of separate data files, to obtain compressed data, and distributing the compressed data to the one or more other blockchain peers; and
encrypting data of the data file or the plurality of separate data files, to obtain encrypted data, and distributing the encrypted data to the one or more other blockchain peers.

### Claim 14 (depends on 13)

The computer system of claim 13, wherein access to the data file is regulated based on a policy, wherein the policy prevents a blockchain peer of the blockchain network that has the data file from viewing the data file.

### Claim 15 (depends on 13)

The computer system of claim 13, wherein the synchronized ledger tracks access of the data file on the blockchain network, and wherein view of the tracked access is regulated such that only some blockchain peers of the blockchain network can view the tracked access.
