IP Library › Granted Patent US 10,671,308
Granted Patent B2
US 10,671,308 · App. 16/056,778 · Granted Jun 2, 2020

Private and fault-tolerant storage of segmented data

Inventors: Senthilnathan Natarajan (Bangalore, IN); Praveen Jayachandran (Bangalore, IN); Balaji Viswanathan (Bangalore, IN)
Assignee: International Business Machines Corporation
G06F3/0644G06F3/067G06F3/0619G06F3/0643G06F16/27G06F21/602G06F21/64H04L9/321H04L2209/38
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,671,308
App. No.
16/056,778
Granted
Jun 2, 2020
Kind
B2
Abstract

An example operation may include one or more of receiving a request comprising a file segmented into a plurality of segments corresponding to a plurality of storage nodes, identifying a segment from among the plurality of segments which is designated for the storage node from among remaining segments designated for other storage nodes, storing the identified segment in a local storage of the storage node, hashing the identified segment, and transmitting a response to a client system which includes the hashed identified segment.

Claims (31)

1. A storage node, comprising:

a storage device;

a network interface configured to receive a request that includes data of a plurality of segments that correspond to a plurality of storage nodes, respectively, where the request includes a segment designated for the storage node and hashes of remaining segments designated for other storage nodes; and

a processor configured to store the designated segment in the storage device of the storage node, hash the designated segment, and control the network interface to transmit an endorsement response which includes the hashed designated segment and the hashes of the remaining segments to a computing system associated with the request.

2. The storage node of claim 1 , wherein the plurality of segments are received via a transient field of a blockchain proposal message.

3. The storage node of claim 1 , wherein the plurality of segments comprise n segments corresponding to n storage nodes, q of the n segments can be used to recover the entire file, and q is less than n.

4. The storage node of claim 1 , wherein the designated segment is labeled with an identifier of the storage node while the hashes of the remaining segments are labeled with respective identifiers of the other storage nodes.

5. The storage node of claim 1 , wherein the processor is further configured to commit the hashed designated segment and the hashes of the remaining segments to a data block within a hash-linked chain of data blocks.

6. The storage node of claim 5 , wherein the processor commits the hashed designated segment in response to receipt of a request from an orderer node.

7. The storage node of claim 1 , wherein the processor simulates the designated segment and controls the network interface to transmit an endorsement of the storage node based on the simulation of the designated segment to a client system that submitted the request.

8. A method of a storage node, comprising:

receiving a request comprising data of a plurality of segments corresponding to a plurality of storage nodes, respectively, where the request includes a segment designated for the storage node and hashes of remaining segments designated for other storage nodes;

storing the designated segment in a local storage of the storage node;

hashing the designated segment; and

transmitting an endorsement response which includes the hashed designated segment and hashes of the remaining segments to a computing system associated with the request.

9. The method of claim 8 , wherein the plurality of segments are received via a transient field of a blockchain proposal message.

10. The method of claim 8 , wherein the plurality of segments comprise n segments corresponding to n storage nodes, q of the n segments can be used to recover the entire file, and q is less than n.

11. The method of claim 8 , wherein the designated segment is labeled with an identifier of the storage node while the hashes of the remaining segments are labeled with respective identifiers of the other storage nodes.

12. The method of claim 8 , further comprising committing the hashed designated segment and the hashes of the remaining segments to a data block within a hash-linked chain of data blocks.

13. The method of claim 12 , wherein the committing is performed in response to receiving a request from an orderer node.

14. The method of claim 8 , wherein the transmitting the endorsement response comprises simulating the designated segment and transmitting an endorsement of the storage node based on the simulation of the designated segment to a client system that submitted the request.

15. A non-transitory computer readable medium comprising program instructions that when executed cause a computer to perform a method comprising:

receiving a request comprising data of a plurality of segments corresponding to a plurality of storage nodes, respectively, where the request includes a segment designated for the storage node and hashes of remaining segments designated for other storage nodes;

storing the designated segment in a local storage of the storage node;

hashing the designated segment; and

transmitting an endorsement response which includes the hashed designated segment and the hashes of the remaining segments to a computing system associated with the request.

16. The non-transitory computer readable medium of claim 15 , wherein the plurality of segments are received via a transient field of a blockchain proposal message.

17. The non-transitory computer readable medium of claim 15 , wherein the plurality of segments comprise n segments corresponding to n storage nodes, q of the n segments can be used to recover the entire file, and q is less than n.

18. The non-transitory computer readable medium of claim 15 , wherein the designated segment is labeled with an identifier of the storage node while the hashes of the remaining segments are labeled with respective identifiers of the other storage nodes.

19. The non-transitory computer readable medium of claim 15 , wherein the method further comprises committing the hashed designated segment and the hashes of the remaining segments to a data block within a hash-linked chain of data blocks.

20. The non-transitory computer readable medium of claim 15 , wherein the transmitting the endorsement response comprises simulating the designated segment and transmitting an endorsement of the storage node based on the simulation of the designated segment to a client system that submitted the request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2018
From: NATARAJAN, SENTHILNATHAN; JAYACHANDRAN, PRAVEEN; VISWANATHAN, BALAJI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046570/0202 →
Continuity (1)
Related Publication 20200050386A1 · Feb 13, 2020