IP Library Granted Patent US 10,382,553
Granted Patent B2
US 10,382,553 · App. 15/437,048 · Granted Aug 13, 2019

Zone storage—resilient and efficient storage transactions

Inventors: Andrew D. Baptist (Mt. Pleasant, WI); Greg R. Dhuse (Chicago, IL); Ravi V. Khadiwala (Bartlett, IL); Manish Motwani (Chicago, IL); Praveen Viraraghavan (Chicago, IL); Ilya Volvovski (Chicago, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L67/1097G06F3/0604G06F3/067G06F3/0644G06F11/1076G06F12/0802G06F3/0619G06F2212/60H03M13/1515H03M13/616
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,382,553
App. No.
15/437,048
Granted
Aug 13, 2019
Kind
B2
Abstract

A distributed storage network (DSN) includes a DSN memory and a distributed storage (DS) processing unit. The DS processing unit determines a particular revision of source data for persistence, and generates a protocol message associated with the particular revision of source data. The protocol message is generated based on a balance between durability and persistence associated with the particular revision. The protocol message is transmitted from the DS processing unit to the DSN memory, and indicates to the DSN memory a particular persistence protocol. The DSN memory process data slices corresponding to the particular revision of source data in accordance with the particular persistence protocol.

Claims (68)

1. A method for use in a distributed storage network (DSN) including a DSN memory and distributed storage (DS) processing unit, the method comprising:

selecting, by the DS unit, a particular persistence protocol to be applied to a particular revision of source data, the particular persistence protocol selected from among of a plurality of different persistence protocols, each persistence protocol implementing a different balance between durability and persistence;

determining, by the DS processing unit, the particular revision of source data to be persisted in accordance with the particular persistence protocol;

generating, by the DS processing unit, a protocol message associated with the particular revision of source data, wherein generating the protocol message is based on the particular persistence protocol; and

transmitting the protocol message, from the DS processing unit to the DSN memory, the protocol message indicating to the DSN memory the particular persistence protocol.

2. The method of claim 1 , wherein generating the protocol message includes:

generating a protocol message instructing the DSN memory to:

store the particular revision of source data; and

make the particular revision of source data visible to subsequent requests without guaranteeing persistence of the particular revision of source data.

3. The method of claim 2 , wherein the protocol message includes:

a dispersal encoded data slice associated with the particular revision of source data.

4. The method of claim 1 , wherein generating the protocol message includes:

generating a protocol message instructing the DSN memory to make the particular revision of source data fully durable.

5. The method of claim 4 , wherein the protocol message includes:

a versioned slice name of a dispersal encoded data slice associated with the particular revision of source data; and

the protocol message further instructs the DSN memory to transmit an acknowledgement message to the DS processing unit indicating that the particular revision of source data has been flushed to persistent storage.

6. The method of claim 5 , wherein the protocol message further instructs the DSN memory to:

remove data slices associated with other revisions of the source data, other than the particular revision of the source data, wherein the other revisions have been stored in a cache memory.

7. The method of claim 1 , wherein generating the protocol message includes:

generating a protocol message instructing the DSN memory to:

remove previously stored versions of the source data, other than the particular revision of source data; and

clean up temporary transactions related to the particular revision of source data.

8. A distributed storage (DS) processing unit for use in a distributed storage network (DSN) including at least one DSN memory, the DS processing unit comprising:

a processor;

memory operably associated with the processor;

a non-transitory program of instructions configured to be stored in the memory and executed by the processor, the program of instructions including:

at least one instruction to select a particular persistence protocol to be applied to a particular revision of source data, the particular persistence protocol selected from among of a plurality of different persistence protocols, each persistence protocol implementing a different balance between durability and persistence;

at least one instruction to determine the particular revision of source data to be persisted in accordance with the particular persistence protocol;

at least one instruction to generate a protocol message associated with the particular revision of source data, wherein generating the protocol message is based on the particular persistence protocol; and

at least one instruction to transmit the protocol message to the at least one DSN memory, the protocol message indicating to the at least one DSN memory the particular persistence protocol.

9. The DS processing unit of claim 8 , wherein the at least one instruction to generate the protocol message includes:

at least one instruction to generate a protocol message instructing the at least one DSN memory to:

store the particular revision of source data; and

make the particular revision of source data visible to subsequent requests without guaranteeing persistence of the particular revision of source data.

10. The DS processing unit of claim 9 , wherein the protocol message includes:

a dispersal encoded data slice associated with the particular revision of source data.

11. The DS processing unit of claim 8 , wherein the at least one instruction to generate the protocol message includes:

at least one instruction to generate a protocol message instructing the at least one DSN memory to make the particular revision of source data fully durable.

12. The DS processing unit of claim 11 , wherein the protocol message includes:

a versioned slice name of a dispersal encoded data slice associated with the particular revision of source data; and

the protocol message further instructs the at least one DSN memory to transmit an acknowledgement message to the DS processing unit indicating that the particular revision of source data has been flushed to persistent storage.

13. The DS processing unit of claim 12 , wherein the protocol message further instructs the at least one DSN memory to:

remove data slices associated with other revisions of the source data, other than the particular revision of the source data, wherein the other revisions have been stored in a cache memory.

14. The DS processing unit of claim 8 , wherein at least one instruction to generate the protocol message includes:

at least one instruction to generate a protocol message instructing the DSN memory to:

remove previously stored versions of the source data, other than the particular revision of source data; and

clean up temporary transactions related to the particular revision of source data.

15. A distributed storage network (DSN) comprising:

a DSN memory including a plurality of storage units and a first computing core;

a distributed storage (DS) processing unit including a second computing core, the DS processing unit coupled to the DSN memory via a communications network, and configured to transmit dispersed encoded data slices of source data, including revised data slices representing revisions made to source data, to the DSN memory for storage and later retrieval, the DS processing unit further configured to:

select a particular persistence protocol to be applied to a particular revision of source data, the particular persistence protocol selected from among of a plurality of different persistence protocols, each persistence protocol implementing a different balance between durability and persistence;

determine the particular revision of source data to be persisted in accordance with the particular persistence protocol;

generate a protocol message associated with the particular revision of source data, wherein generating the protocol message is based on the particular persistence protocol;

transmit the protocol message to the DSN memory, the protocol message indicating to the DSN memory the particular persistence protocol; and

the DSN memory configured to process data slices corresponding to the particular revision of source data in accordance with the particular persistence protocol.

16. The DSN of claim 15 , wherein generating the protocol message includes:

generating a protocol message instructing the DSN memory to:

store the particular revision of source data; and

make the particular revision of source data visible to subsequent requests without guaranteeing persistence of the particular revision of source data.

17. The DSN of claim 16 , wherein the protocol message includes:

a dispersal encoded data slice associated with the particular revision of source data.

18. The DSN of claim 15 , wherein generating the protocol message includes:

generating a protocol message instructing the DSN memory to make the particular revision of source data fully durable.

19. The DSN of claim 18 , wherein the protocol message includes:

a versioned slice name of a dispersal encoded data slice associated with the particular revision of source data; and

the protocol message further instructs the DSN memory to transmit an acknowledgement message to the DS processing unit indicating that the particular revision of source data has been flushed to persistent storage.

20. The DSN of claim 19 , wherein the protocol message further instructs the DSN memory to:

remove data slices associated with other revisions of the source data, other than the particular revision of the source data, wherein the other revisions have been stored in a cache memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2017
From: BAPTIST, ANDREW D.; DHUSE, GREG R.; KHADIWALA, RAVI V.; MOTWANI, MANISH; VIRARAGHAVAN, PRAVEEN; VOLVOVSKI, ILYA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041301/0887 →
Continuity (1)
Related Publication 20180241818A1 · Aug 23, 2018