IP Library › Granted Patent US 10,540,111
Granted Patent B2
US 10,540,111 · App. 15/635,901 · Granted Jan 21, 2020

Managing data container instances in a dispersed storage network

Inventors: Rohan P. Shah (Chicago, IL); Harsha Hegde (Hawthorn Woods, IL); Wesley B. Leggette (Chicago, IL); Daniel J. Scholl (Chicago, IL); Jason K. Resch (Chicago, IL); Yogesh R. Vedpathak (Chicago, IL); Manish Motwani (Chicago, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F3/0641G06F3/061G06F3/067G06F3/0608G06F3/0619G06F3/0631G06F11/1076G06F3/0652
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,540,111
App. No.
15/635,901
Granted
Jan 21, 2020
Kind
B2
Abstract

A method for execution by a container instance manager (CIM) includes determining to create a new instance of a first data container, where the first data container is stored in a first memory location. Creation of the new instance of the first data container for storage in a second memory location is facilitated in response to the determining to create the new instance. The method further includes determining to remove a duplicate instance of a second data container. Deletion of the duplicate instance of the second data container from memory is facilitated in response to the determining to remove the duplicate instance.

Claims (43)

1. A method for execution by a container instance manager (CIM) that includes a processor, the method comprises:

determining to create a new instance of a first data container, wherein the first data container is stored in a first memory location;

facilitating creation of the new instance of the first data container for storage in a second memory location in response to the determining to create the new instance;

determining to remove a duplicate instance of a second data container, wherein determining to remove the duplicate instance of the second data container includes evaluating a plurality of duplicate instances of the second data container and selecting the duplicate instance from the plurality of duplicate instances in response to determining at least one of: the duplicate instance has a smallest amount of free space of the plurality of duplicate instances or the duplicate instance has a most expensive bandwidth of the plurality of duplicate instances; and

facilitating deletion of the duplicate instance of the second data container from memory in response to the determining to remove the duplicate instance.

2. The method of claim 1 , further comprising:

evaluating a plurality of locations from which a plurality of access requests to the first data container originate;

wherein determining to create the new instance of the first data container is based on the evaluation of the plurality of locations, and wherein the second memory location is determined based on the plurality of locations.

3. The method of claim 1 , wherein determining to create the new instance of the first data container is based on changes in entities authorized to access the first data container.

4. The method of claim 1 , wherein determining to create the new instance of the first data container is based on determining that a percentage of failed accesses to the first data container that failed exceeds an access failure threshold.

5. The method of claim 1 , wherein determining to create the new instance of the first data container is based on determining that only a threshold number of data slices above a corresponding information dispersal algorithm threshold are currently stored for a corresponding data object, wherein the first data container includes at least one data slice of the corresponding data object.

6. The method of claim 5 , further comprising:

facilitating a rebuilding action for the data object, wherein the rebuilding action is performed by utilizing copies of the at least one data slice of the data object stored in the new instance of the first data container.

7. The method of claim 1 , wherein the new instance of the first data container is created in response to determining to move the first data container to the second memory location, further comprising:

facilitating the deletion of the first data container from the first memory location.

8. The method of claim 7 , wherein determining to move the first data container to the second memory location is based on at least one of: a number of geographic sites across which a storage pool is deployed, a typical access pattern of the first data container, or a historical access pattern of the first data container.

9. The method of claim 1 , wherein a dispersed storage and task (DST) processing unit proxies requests to the new instance of the first data container by using available source data and by redirecting requests during a temporal period between a first time of initiation of the creation of the new instance of the first data container and second time of completion of the creation of the new instance of the first data container.

10. The method of claim 1 , wherein a dispersed storage and task (DST) processing unit synchronizes write requests to data of the first data container by updating the new instance of the first data container accordingly during a temporal period between a first time of initiation of the creation of the new instance of the first data container and second time of completion of the creation of the new instance of the first data container.

11. The method of claim 1 , wherein determining to remove the duplicate instance of the second data container is based on determining that a performance level exceeds a performance level threshold.

12. The method of claim 1 , wherein determining to create the new instance of the first data container is based on determining a level of rebuilding load of the first data container exceeds a rebuilding load threshold.

13. A processing system of a container instance manager (CIM) comprises:

at least one processor;

a memory that stores operational instructions, that when executed by the at least one processor cause the processing system to:

determine to create a new instance of a first data container, wherein the first data container is stored in a first memory location;

facilitate creation of the new instance of the first data container for storage in a second memory location in response to the determining to create the new instance;

determine to remove a duplicate instance of a second data container, wherein determining to remove the duplicate instance of the second data container includes evaluating a plurality of duplicate instances of the second data container and selecting the duplicate instance from the plurality of duplicate instances in response to determining at least one of: the duplicate instance has a smallest amount of free space of the plurality of duplicate instances or the duplicate instance has a most expensive bandwidth of the plurality of duplicate instances; and

facilitate deletion of the duplicate instance of the second data container from memory in response to the determining to remove the duplicate instance.

14. The processing system of claim 13 , wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:

evaluate a plurality of locations from which a plurality of access requests to the first data container originate;

wherein determining to create the new instance of the first data container is based on the evaluation of the plurality of locations, and wherein the second memory location is determined based on the plurality of locations.

15. The processing system of claim 13 , wherein determining to create the new instance of the first data container is based on determining that only a threshold number of data slices above a corresponding information dispersal algorithm threshold are currently stored for a corresponding data object, wherein the first data container includes at least one data slice of the corresponding data object.

16. The processing system of claim 15 , wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:

facilitate a rebuilding action for the data object, wherein the rebuilding action is performed by utilizing copies of the at least one data slice of the data object stored in the new instance of the first data container.

17. The processing system of claim 13 , wherein the new instance of the first data container is created in response to determining to move the first data container to the second memory location, and wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:

facilitate the deletion of the first data container from the first memory location.

18. The processing system of claim 13 , wherein a dispersed storage and task (DST) processing unit synchronizes write requests to data of the first data container by updating the new instance of the first data container accordingly during a temporal period between a first time of initiation of the creation of the new instance of the first data container and second time of completion of the creation of the new instance of the first data container.

19. The processing system of claim 13 , wherein determining to create the new instance of the first data container is based on determining a level of rebuilding load of the first data container exceeds a rebuilding load threshold.

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

at least one memory section that stores operational instructions that, when executed by a processing system of a dispersed storage network (DSN) that includes a processor and a memory, causes the processing system to:

determine to create a new instance of a first data container, wherein the first data container is stored in a first memory location;

facilitate creation of the new instance of the first data container for storage in a second memory location in response to the determining to create the new instance;

determine to remove a duplicate instance of a second data container wherein determining to remove the duplicate instance of the second data container includes evaluating a plurality of duplicate instances of the second data container and selecting the duplicate instance from the plurality of duplicate instances in response to determining at least one of: the duplicate instance has a smallest amount of free space of the plurality of duplicate instances or the duplicate instance has a most expensive bandwidth of the plurality of duplicate instances; and

facilitate deletion of the duplicate instance of the second data container from memory in response to the determining to remove the duplicate instance.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2017
From: SHAH, ROHAN P.; HEGDE, HARSHA; LEGGETTE, WESLEY B.; SCHOLL, DANIEL J.; RESCH, JASON K.; VEDPATHAK, YOGESH R.; MOTWANI, MANISH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042851/0808 →
Continuity (1)
Related Publication 20190004725A1 · Jan 3, 2019
Cited By (1)
US 12,353,287