# US 10,372,540 B2 · Standard and non-standard dispersed storage network data access

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

- Number: US 10,372,540 B2
- Document ID: US10372540B2
- Status: Granted
- Kind: B2
- Application number: 16/160,288
- Filed: 2018-10-15
- Published: 2019-02-14
- Granted: 2019-08-06
- Earliest claimed: 2016-09-06
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Andrew D. Baptist; Bart R. Cilfone; Greg R. Dhuse; Wesley B. Leggette; James L. Lester; Zachary J. Mark; Manish Motwani; Jason K. Resch
- Web page: https://patentgrep.com/patent/US10372540B2

## CPC

- G06F 11/1076: {Parity data used in redundant arrays of independent storages, e.g. in RAID systems}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/064: {Management of blocks}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method includes receiving, by a computing device of a dispersed storage network (DSN), a non-standard data access request regarding a set of encoded data slices, where the non-standard data access request includes a set of network identifiers of a set of storage units, a data identifier corresponding to data, and a data access function. The method further includes the computing device converting the non-standard data access request into one or more DSN slice names. The method further includes the computing device determining that the one or more DSN slice names are within a slice name range allocated to the computing device. When the one or more DSN slice names are within the slice name range, the method further includes the computing device executing the data access function regarding one or more encoded data slices corresponding to the one or more DSN slice names.

## Claims

### Claim 1

A method comprises:
receiving, by a computing device of a dispersed storage network (DSN), a non-standard data access request regarding a set of encoded data slices, wherein a data segment of data is dispersed storage error encoded into the of encoded data slices, wherein the set of encoded data slices are stored in a set of storage units of the DSN, and wherein the non-standard data access request includes a set of network identifiers of the set of storage units, a data identifier corresponding to the data, and a data access function;
converting, by the computing device, the non-standard data access request into one or more DSN slice names;
determining, by the computing device, whether the one or more DSN slice names are within a slice name range allocated to the computing device; and
when the one or more DSN slice names are within the slice name range, executing, by the computing device, the data access function regarding one or more encoded data slices corresponding to the one or more DSN slice names.

### Claim 2 (depends on 1)

The method of claim 1 further comprises:
a network identifier of the set of network identifiers including, for a storage unit of the set of storage units, one or more of: a uniform record locator (URL), a network port, a network interface, an application program interface (API), a trusted certificate, an authentication authority, and a credential;
the data identifier including one or more of: a file name, a name embedded in the URL, one or more data object names, one or more data segment names, a name for the data, a name for a collection of data; and
the data access function including one or more of: a read request, a write request, a delete request, and a list request.

### Claim 3 (depends on 1)

The method of claim 1, wherein the data identifier is generated to optimize a particular DSN function, wherein the particular DSN function includes one or more of: locating related encoded data slices, listing related encoded data slices, and listing of translated names regarding encoded data slices.

### Claim 4 (depends on 1)

The method of claim 1, wherein the converting the non-standard data access request into one or more DSN slice names comprises:
determining a vault identifier based on identity of a requesting device issuing a data access request;
determining a pillar number based on the vault identifier and the network identifier;
determining a range of segment identifiers based on the data identifier;
determining an object identifier based on the data identifier; and
generating the one or more DSN slice names based on the pillar number, the vault identifier, the range of segment identifiers, and the object identifier.

### Claim 5 (depends on 1)

The method of claim 1 further comprises:
determining a data access request is the non-standard data access request by interpreting the data access request to be using a non-standard DSN data accessing protocol.

### Claim 6 (depends on 5)

The method of claim 5, wherein the interpreting includes one or more of:
determining the data access request includes the set of network identifiers;
determining the data access request includes a data identifier corresponding to the data; and
receiving a command.

### Claim 7 (depends on 1)

The method of claim 1, wherein the receiving the non-standard data access request further comprises:
receiving the non-standard data access request through a non-standard DSN interface of the computing device.

### Claim 8

A computing device of a dispersed storage network (DSN) comprises:
a memory;
an interface;
a processing module, wherein the processing module is operably coupled to the memory and the interface, and wherein the processing module is operable to:
receive, via the interface, a non-standard data access request regarding a set of encoded data slices, wherein a data segment of data is dispersed storage error encoded into the of encoded data slices, wherein the set of encoded data slices are stored in a set of storage units of the DSN, and wherein the non-standard data access request includes a set of network identifiers of the set of storage units, a data identifier corresponding to the data, and a data access function;
convert the non-standard data access request into one or more DSN slice names;
determine whether the one or more DSN slice names are within a slice name range allocated to the computing device; and
when the one or more DSN slice names are within the slice name range, execute the data access function regarding one or more encoded data slices corresponding to the one or more DSN slice names.

### Claim 9 (depends on 8)

The computing device of claim 8 further comprises:
a network identifier of the set of network identifiers including, for a storage unit of the set of storage units, one or more of: a uniform record locator (URL), a network port, a network interface, an application program interface (API), a trusted certificate, an authentication authority, and a credential;
the data identifier including one or more of: a file name, a name embedded in the URL, one or more data object names, one or more data segment names, a name for the data, a name for a collection of data; and
the data access function including one or more of: a read request, a write request, a delete request, and a list request.

### Claim 10 (depends on 8)

The computing device of claim 8, wherein the data identifier is generated to optimize a particular DSN function, wherein the particular DSN function includes one or more of: locating related encoded data slices, listing related encoded data slices, and listing of translated names regarding encoded data slices.

### Claim 11 (depends on 8)

The computing device of claim 8, wherein the processing module is operable to convert the non-standard data access request into one or more DSN slice names by:
determining a vault identifier based on identity of a requesting device issuing a data access request;
determining a pillar number based on the vault identifier and the network identifier;
determining a range of segment identifiers based on the data identifier;
determining an object identifier based on the data identifier; and
generating the one or more DSN slice names based on the pillar number, the vault identifier, the range of segment identifiers, and the object identifier.

### Claim 12 (depends on 8)

The computing device of claim 8, wherein the processing module is further operable to:
determine a data access request is the non-standard data access request by interpreting the data access request to be using a non-standard DSN data accessing protocol.

### Claim 13 (depends on 12)

The computing device of claim 12, wherein the processing module is operable to perform the interpreting by one or more of:
determining the data access request includes the set of network identifiers;
determining the data access request includes a data identifier corresponding to the data; and
receiving, via the interface, a command.

### Claim 14 (depends on 8)

The computing device of claim 8, wherein the interface includes one or more of:
a standard DSN interface; and
a non-standard DSN interface.

### Claim 15 (depends on 14)

The computing device of claim 14, wherein the processing module is operable to receive the non-standard data access request via the non-standard DSN interface.
