# US 10,372,350 B2 · Shared ownership of namespace ranges

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

- Number: US 10,372,350 B2
- Document ID: US10372350B2
- Status: Granted
- Kind: B2
- Application number: 15/285,582
- Filed: 2016-10-05
- Published: 2017-01-26
- Granted: 2019-08-06
- Earliest claimed: 2010-11-29
- Assignees: Pure Storage, Inc.
- Applicants: International Business Machines Corporation
- Inventors: Timothy W. Markison; Jason K. Resch
- Web page: https://patentgrep.com/patent/US10372350B2

## CPC

- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/065: {Replication mechanisms}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 12/0638: {Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module (address formation of the next microinstruction G06F9/26; masking faults in memories by using spares or by reconfiguring G11C29/70)}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0646: {Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems}
- G06F 2221/2107: File encryption
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method begins by determining an addressing range of a storage configuration of the DSN. The method continues by determining a storage performance level associated with the addressing range. The method continues by determining whether the storage performance level compares favorably to a storage performance threshold. The method continues, when the storage performance level does not compare favorably to a storage performance threshold, by determining an updated storage configuration associated with the addressing range and re-assigning storage resources in accordance with the updated storage configuration.

## Claims

### Claim 1

A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
determining an addressing range of a storage configuration of the DSN, wherein the addressing range includes a shared virtual DSN addressing range assigned to two or more geographically dispersed storage (DS) units, and wherein the two or more geographically dispersed storage (DS) units each include multiple memory devices, and wherein the DS units each store a pillar number T of encoded data slices;
determining a storage performance level associated with the addressing range;
determining whether the storage performance level compares favorably to a storage performance threshold; and
when the storage performance level does not compare favorably to a storage performance threshold, determining an updated storage configuration associated with the addressing range, wherein the determining an updated storage configuration includes determining to remove or add one or more DS units from the shared virtual DSN addressing range, wherein the remove the one or more DS units from the shared virtual DSN addressing range results in less DS units servicing the shared virtual DSN addressing range and the add one or more DS units from the shared virtual DSN addressing range results in more DS units servicing the shared virtual DSN addressing range; and
re-assigning storage resources in accordance with the updated storage configuration.

### Claim 2 (depends on 1)

The method of claim 1 further comprising, when the storage performance level compares favorably to a storage performance threshold analyzing an additional addressing range.

### Claim 3 (depends on 1)

The method of claim 1, wherein the two or more DS units assigned to the shared virtual DSN addressing range includes two DS units to store same encoded data slices when the two DS units are assigned to a same addressing range.

### Claim 4 (depends on 1)

The method of claim 1, wherein the determining an addressing range is based on one or more of: a next address range in a list of address ranges to be tested, an error message, a performance indicator, or a system capacity indicator.

### Claim 5 (depends on 1)

The method of claim 1, wherein the storage performance level may include one or more of: a read latency time, a write latency time, a read data rate, a write data rate, an availability indicator, or a reliability indicator.

### Claim 6 (depends on 1)

The method of claim 1, wherein the determining a storage performance level is based on one or more of: a query, a test, a lookup, retrieval of a historical record, or a message.

### Claim 7 (depends on 1)

The method of claim 1, wherein determining whether the storage performance level compares favorably to a storage performance threshold is based on when the storage performance level is not over performing or underperforming.

### Claim 8 (depends on 1)

The method of claim 1, wherein the determining to remove or add one or more DS units from the shared virtual DSN address range includes removing one or more DS units from the shared virtual DSN addressing range when the storage performance level indicates over performing.

### Claim 9 (depends on 1)

The method of claim 1, wherein over performing includes when a read data rate is higher than a threshold data rate.

### Claim 10 (depends on 1)

The method of claim 1, wherein the determining to remove or add one or more DS units from the shared virtual DSN address range includes adding one or more DS units to the shared virtual DSN addressing range when the storage performance level indicates underperforming.

### Claim 11 (depends on 1)

The method of claim 1, wherein underperforming includes when a read data rate is lower than a threshold data rate.

### Claim 12 (depends on 1)

The method of claim 1, wherein the re-assigning storage resources in accordance with the updated storage configuration further comprises any of: updating a shared virtual DSN address to physical location table to include DS units assigned to the shared virtual DSN addressing range; sending an addressing range assignment message to the DS units assigned to the shared virtual DSN addressing range, or sending an addressing range de-assignment message to the DS units no longer assigned to the shared virtual DSN addressing range.

### Claim 13

A computing device of a group of computing devices of a dispersed storage network (DSN), the computing device comprises:
an interface;
a local memory; and
a processing module operably coupled to the interface and the local memory, wherein the processing module functions to:
determine an addressing range of a storage configuration of the DSN, wherein the addressing range includes a shared virtual DSN addressing range assigned to two or more geographically dispersed storage (DS) units, and wherein the two or more geographically dispersed storage (DS) units each include multiple memory devices, and wherein the DS units each store a pillar number T of encoded data slices;
determine a storage performance level associated with the addressing range;
determine whether the storage performance level compares favorably to a storage performance threshold; and
when the storage performance level does not compare favorably to a storage performance threshold, determine an updated storage configuration associated with the addressing range, wherein the determine an updated storage configuration includes determining to remove or add one or more DS units from the shared virtual DSN addressing range, wherein the remove the one or more DS units from the shared virtual DSN addressing range results in less DS units servicing the shared virtual DSN addressing range and the add one or more DS units from the shared virtual DSN addressing range results in more DS units servicing the shared virtual DSN addressing range; and
re-assign storage resources in accordance with the updated storage configuration.

### Claim 14 (depends on 13)

The computing device of claim 13, wherein the determining to remove or add one or more DS units from the shared virtual DSN address range includes removing one or more DS units from the shared virtual DSN addressing range when the storage performance level indicates over performing.

### Claim 15 (depends on 13)

The computing device of claim 13, wherein the determining to remove or add one or more DS units from the shared virtual DSN address range includes adding one or more DS units to the shared virtual DSN addressing range when the storage performance level indicates underperforming.
