IP Library Patent Application 16197235
Patent Application
App. No. 16/197,235

COMPRESSING A SLICE NAME LISTING IN A DISPERSED 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.
16/197,235
Abstract

A method begins by receiving a list range request for a plurality of slice names within a slice name range. The method continues with identifying slice names of the plurality of slice names within the slice name range. The method continues with determining a representation structure for a list range response. The method continues with generating, in accordance with the representation structure, a first portion of a list range response for a first slice name, where the first portion includes a first representation of the first slice name. The method continues with generating, in accordance with the representation structure, one or more subsequent portions of the list range response for remaining slice names of the slice names, where the one or more subsequent portions includes one or more representations of the remaining slices names. The method continues with sending the list range response to a requesting device.

Claims (79)

1 . A method for execution by a storage unit of a dispersed storage network (DSN) comprises:

receiving, from a requesting device, a list range request for a plurality of slice names within a slice name range, wherein the plurality of slice names are associated with a plurality of encoded data slices stored in the storage unit, wherein data is dispersed storage error encoded into pluralities of sets of encoded data slices and stored in storage units of the DSN, wherein the dispersed storage error encoding is in accordance with dispersed data storage parameters, wherein the pluralities of sets of encoded data slices include the plurality of encoded data slices;

identifying slice names of the plurality of slice names within the slice name range;

determining a representation structure for a list range response;

generating, in accordance with the representation structure, a first portion of a list range response for a first slice name of the slice names, wherein the first portion includes a first representation of the first slice name;

generating, in accordance with the representation structure, one or more subsequent portions of the list range response for remaining slice names of the slice names, wherein the one or more subsequent portions includes one or more representations of the remaining slices names; and

sending the list range response to the requesting device.

2 . The method of claim 1 , wherein the first representation includes one of:

the first slice name;

a result based on performing a deterministic function on the first slice name; and

a truncated version of the first slice name.

3 . The method of claim 1 , wherein a representation of the one or more representations includes one of:

an offset from the first slice name;

a result based on a deterministic function applied to the first slice name and a remaining slice name of the remaining slice names;

a result based on a number of slice names within a contiguous range of slice names of the remaining slice names; and

a last slice name of the slice names.

4 . The method of claim 1 , wherein the first portion further includes a slice revision count field, wherein the slice revision count field includes one or more of:

one or more slice revision fields; and

one or more corresponding slice length fields.

5 . The method of claim 1 , wherein the one or more subsequent portions each further include a slice revision count field, wherein the slice revision count field includes one or more of:

one or more slice revision fields; and

one or more corresponding slice length fields.

6 . The method of claim 1 , wherein the list range response further includes one or more of:

a request number;

a payload length;

a first slice name; and

a last slice name.

7 . The method of claim 1 further comprises:

generating, in accordance with the representation structure, for a last slice name of the slice names, a last portion of the list range response.

8 . The method of claim 1 , wherein the representation structure includes one or more of:

an offset representation;

a first slice name representation;

a last slice name representation;

a deterministic function representation;

a missing encoded data slice representation;

a contiguous grouping of encoded data slices representation; and

a revision representation.

9 . The method of claim 1 , wherein the list range request includes the representation structure.

10 . A storage unit of a dispersed storage network (DSN) comprises:

memory;

an interface; and

a processing module operably coupled to the memory and the interface, wherein the processing module is operable to:

receive, via the interface and from a requesting device, a list range request for a plurality of slice names within a slice name range, wherein the plurality of slice names are associated with a plurality of encoded data slices stored in the storage unit, wherein data is dispersed storage error encoded into pluralities of sets of encoded data slices and stored in storage units of the DSN, wherein the dispersed storage error encoding is in accordance with dispersed data storage parameters, wherein the pluralities of sets of encoded data slices include the plurality of encoded data slices;

identify slice names of the plurality of slice names within the slice name range;

determine a representation structure for a list range response;

generate, in accordance with the representation structure, a first portion of a list range response for a first slice name of the slice names, wherein the first portion includes a first representation of the first slice name;

generate, in accordance with the representation structure, one or more subsequent portions of the list range response for remaining slice names of the slice names, wherein the one or more subsequent portions includes one or more representations of the remaining slices names; and

send, via the interface, the list range response to the requesting device.

11 . The storage unit of claim 10 , wherein the processing module is operable to generate the first representation to include one of:

the first slice name;

a result based on performing a deterministic function on the first slice name; and

a truncated version of the first slice name.

12 . The storage unit of claim 10 , wherein processing module is operable to generate a representation of the one or more representations to include one or more of:

an offset from the first slice name;

a result based on a deterministic function applied to the first slice name and a remaining slice name of the remaining slice names;

a result based on a number of slice names within a contiguous range of slice names of the remaining slice names; and

a last slice name of the slice names.

13 . The storage unit of claim 10 , wherein the processing module is operable to generate the first portion to further include a slice revision count field, wherein the slice revision count field includes one or more of:

one or more slice revision fields; and

one or more corresponding slice length fields.

14 . The storage unit of claim 10 , wherein the processing module is further operable to generate the one or more subsequent portions to each further include a slice revision count field, wherein the slice revision count field includes one or more of:

one or more slice revision fields; and

one or more corresponding slice length fields.

15 . The storage unit of claim 10 , wherein the processing module is operable to generate the list range response to include one or more of:

a request number;

a payload length;

a first slice name; and

a last slice name.

16 . The storage unit of claim 10 , wherein the processing module is further operable to:

generating, in accordance with the representation structure, for a last slice name of the slice names, a last portion of the list range response.

17 . The storage unit of claim 10 , wherein the representation structure includes one or more of:

an offset representation;

a first slice name representation;

a last slice name representation;

a deterministic function representation;

a missing encoded data slice representation;

a contiguous grouping of encoded data slices representation; and

a revision representation.

18 . The storage unit of claim 10 , wherein the list range request includes the representation structure.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2018
From: RESCH, JASON K.; BAPTIST, ANDREW D.; VOLVOVSKI, ILYA; LEGGETTE, WESLEY B.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047558/0657 →