IP Library Patent Application 18913100
Patent Application
App. No. 18/913,100

Managing Version Conflict in a Distributed Storage Network

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 None
App. No.
18/913,100
Abstract

A method for a computing device begins by generating a set of write requests regarding a set of encoded data slices and sending the set of write requests to a set of storage units, where each write request includes an encoded data slice of the set of encoded data slices and a version attribute, where a data object is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of encoded data slices. The method continues with the computing device receiving a write response indicating a version number conflict and in response to the version number conflict, retrieving a latest version of the data object, generating an updated set of write requests and sending the updated set of write requests to a set of storage units.

Claims (40)

1 . A method for a computing device comprises:

generating a set of write requests regarding a set of encoded data slices, wherein a write request of the set of write requests includes an encoded data slice of the set of encoded data slices and a version attribute, wherein a data object is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of encoded data slices;

sending the set of write requests to a set of storage units;

receiving, from a storage unit of the set of storage units, a write response indicating a version number conflict;

in response to the version number conflict, retrieving a latest version of the data object;

generating an updated set of write requests; and

sending the updated set of write requests to a set of storage units.

2 . The method of claim 1 , wherein at least some encoded data slices of the set of encoded data slices include different version attributes.

3 . The method of claim 1 , wherein the generating the write response comprises:

determining, based on the version attribute, a version number for an associated encoded data slice;

comparing the version number to an expected version number; and

when the version number does not match the expected version number, generating a version number conflict.

4 . The method of claim 1 , wherein the version attribute is an explicit version number.

5 . The method of claim 1 , wherein the version attribute is an output associated with a counter.

6 . The method of claim 1 , wherein the version attribute is based on an output from a counter.

7 . The method of claim 1 , wherein the version attribute is based on a timestamp.

8 . The method of claim 1 , wherein an expected version number is based on a counter, wherein the counter is adapted to increment the expected version number when an associated encoded data slice is saved.

9 . The method of claim 1 , wherein an expected version number is determined based on a timestamp associated with a previously saved encoded data slice, wherein the previously saved encoded data slice is associated with another computing device.

10 . A non-transitory computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by one or more processing modules of one or more computing devices of a storage network, causes the one or more computing devices to:

generate a set of write requests regarding a set of encoded data slices, wherein a write request of the set of write requests includes an encoded data slice of the set of encoded data slices and a version attribute associated with a stored version of the encoded data slice, wherein a data object is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of encoded data slices;

send the set of write requests to a set of storage units;

receive, from a storage unit of the set of storage units, a write response indicating a version number conflict;

in response to the version number conflict, retrieve a latest version of the data object;

generate an updated set of write requests; and

send the updated set of write requests to a set of storage units.

11 . The storage medium of claim 10 , wherein at least some encoded data slices of the set of encoded data slices include different version attributes.

12 . The storage medium of claim 10 , wherein the generating the write response is based on the storage unit determining, based on the version attribute, a version number for an associated encoded data slice, comparing the version number to an expected version number and when the version number does not match the expected version number, generating a version number conflict.

13 . The storage medium of claim 10 , wherein the version attribute is an explicit version number.

14 . The storage medium of claim 10 , wherein the version attribute is an output associated with a counter.

15 . The storage medium of claim 10 , wherein the version attribute is based on an output from a counter.

16 . The storage medium of claim 10 , wherein the version attribute is based on a timestamp.

17 . The storage medium of claim 10 , wherein an expected version number is based on a counter, wherein the counter is adapted to increment the expected version number when an associated encoded data slice is saved.

18 . The storage medium of claim 10 , wherein an expected version number is determined based on a timestamp associated with a previously saved encoded data slice, wherein the previously saved encoded data slice is associated with another computing device.

19 . A method for a storage unit of a storage network, the method comprising:

receiving, from a computing device associated with the storage network, a write request for an encoded data slice, wherein the write request includes a version attribute for the encoded data slice;

determining, based on the version attribute, a version number for an associated encoded data slice;

comparing the version number to an expected version number; and

in response to a determination that the version number does not match the expected version number, generating a version number conflict.

20 . The method of claim 19 , wherein the expected version number is based on at least one of a timestamp, a counter and an explicit version number.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2024
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 069178/0099 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2024
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 069172/0875 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: DHUSE, GREG
To: CLEVERSAFE, INC.
Reel/Frame 068878/0702 →