Object storage and access management systems and methods
AssigneeNantCell, Inc.
InventorAaron Randolph Bassett
Life of this patent
Estimating the term…
Abstract
A geographically distributed erasure coding system includes multiple computer readable, non-transitory storage memories capable of storing a digital dataset including multiple object blocks, where each storage memory is configured to store one or more of the object blocks of the dataset according to an erasure coding policy. The system includes one or more processors configured to implement the erasure coding policy by distributing the multiple object blocks of the dataset to the multiple storage memories according to distribution criteria of the erasure coding policy, and the distribution criteria include at least one status parameter associated with each storage memory. The multiple storage memories are geographically distributed at different locations from one another.
Claims20
A distributed digital object storage system comprising:
- at least one non-transitory computer readable memory storing a suite of software instructions;
- and
- at least one processor coupled with the at least one non-transitory computer readable memory and that performs the following operations upon execution of the software instructions:
- establishing, in the at least one non-transitory computer readable memory, at least one erasure coding policy for a dataset, the at least one erasure coding policy including distribution criteria defined based on location attributes associated with distributed storage node locations of distributed storage nodes and based on a data chunk type attribute associated with the dataset, wherein the location attributes adhere to a common hierarchical namespace including S2 cell identifiers, each of the distributed storage node includes a location attribute having an S2 cell identifier value indicating a location of the distributed storage node according to a hierarchy of S2 cells, and the at least one erasure coding policy includes at least a specified distance between distributed storage node locations in the hierarchy of S2 cells based on S2 cell identifier values of the location attributes corresponding to each of the distributed storage nodes;
- creating multiple object blocks from the dataset, each block of the multiple object blocks having a data chunk type attribute;
- establishing separated block storage locations among the distributed storage nodes for the multiple object blocks according to the distribution criteria including the S2 cell identifier values of the location attributes of the distributed storage nodes and the data chunk type attributes of the multiple object blocks, wherein establishing separated block storage locations includes determining a minimum separation distance between separated block storage locations based on an S2 cell identifier value associated with each separated block storage location and at least one risk metric, and determining a maximum separation distance between separated block storage locations based on the S2 cell identifier value associated with each separated block storage location and a constraint associated with the at least one risk metric;
- and
- storing, over a network, the multiple object blocks at their respective separated block storage locations on the distributed storage nodes according to the erasure coding policy.
A method of implementing an erasure coding policy for a distributed digital object storage system, the method comprising:
- establishing, in at least one non-transitory computer readable memory, at least one erasure coding policy for a dataset, the at least one erasure coding policy including distribution criteria defined based on location attributes associated with distributed storage node locations of distributed storage nodes and based on a data chunk type attribute associated with the dataset, wherein the location attributes adhere to a common hierarchical namespace including S2 cell identifiers, each of the distributed storage node includes a location attribute having an S2 cell identifier value indicating a location of the distributed storage node according to a hierarchy of S2 cells, and the at least one erasure coding policy includes at least a specified distance between distributed storage node locations in the hierarchy of S2 cells based on S2 cell identifier values of the location attributes corresponding to each of the distributed storage nodes;
- creating multiple object blocks from the dataset, each block of the multiple object blocks having a data chunk type attribute;
- establishing separated block storage locations among the distributed storage nodes for the multiple object blocks according to the distribution criteria including the S2 cell identifier values of the location attributes of the distributed storage nodes and the data chunk type attributes of the multiple object blocks, wherein establishing separated block storage locations includes determining a minimum separation distance between separated block storage locations based on an S2 cell identifier value associated with each separated block storage location and at least one risk metric, and determining a maximum separation distance between separated block storage locations based on the S2 cell identifier value associated with each separated block storage location and a constraint associated with the at least one risk metric;
- and
- storing, over a network, the multiple object blocks at their respective separated block storage locations on the distributed storage nodes according to the erasure coding policy.
A non-transitory computer-readable medium comprising computer-executable instructions configured to, when executed by at least one processor, cause the processor to perform operations including:
- establishing, in at least one non-transitory computer readable memory, at least one erasure coding policy for a dataset, the at least one erasure coding policy including distribution criteria defined based on location attributes associated with distributed storage node locations of distributed storage nodes and based on a data chunk type attribute associated with the dataset, wherein the location attributes adhere to a common hierarchical namespace including S2 cell identifiers, each of the distributed storage node includes a location attribute having an S2 cell identifier value indicating a location of the distributed storage node according to a hierarchy of S2 cells, and the at least one erasure coding policy includes at least a specified distance between distributed storage node locations in the hierarchy of S2 cells based on S2 cell identifier values of the location attributes corresponding to each of the distributed storage nodes;
- creating multiple object blocks from the dataset, each block of the multiple object blocks having a data chunk type attribute;
- establishing separated block storage locations among the distributed storage nodes for the multiple object blocks according to the distribution criteria including the S2 cell identifier values of the location attributes of the distributed storage nodes and the data chunk type attributes of the multiple object blocks, wherein establishing separated block storage locations includes determining a minimum separation distance between separated block storage locations based on an S2 cell identifier value associated with each separated block storage location and at least one risk metric, and determining a maximum separation distance between separated block storage locations based on the S2 cell identifier value associated with each separated block storage location and a constraint associated with the at least one risk metric;
- and
- storing, over a network, the multiple object blocks at their respective separated block storage locations on the distributed storage nodes according to the erasure coding policy.
Dependencies are inferred from the claim text.