Dynamic update to views of a file system backed by object storage
First Claim
1. A method comprising:
- detecting an object storage operation for a first object in a distributed object storage system;
identifying a first file placement rule for a first set of gateways that maintain local representations of a first namespace, wherein the first set of gateways is associated with the distributed object storage system;
determining a first action to be performed based, at least in part, on the first namespace and the detected object storage operation for the first object; and
causing the first set of gateways to update local representations of the first name space to include a path for a file to be created, including communicating a notification that indicates an object identifier of the first object and that indicates the path, wherein the first action comprises a conflict resolution action to be performed by a first gateway, of the first set of gateways, that detects a local representation conflict from the update.
1 Assignment
0 Petitions
Accused Products
Abstract
A system can apply file placement rules to dynamically place files and directories within file system views backed by objects in an object storage system. After detection of an update to a first file system view that causes an update of an object in a storage grid, an object manager begins evaluation of file placement rules against metadata of the object. For each file placement rule that is triggered, the object manager determines identifies gateways that export the first file system view. The object manager then instructs the gateways to update their representations of the first file system view. The disclosed embodiments may be able to scale to managing hundreds of billions of files spanning thousands of file system views, especially in the presence of disconnected operation.
-
Citations
18 Claims
-
1. A method comprising:
-
detecting an object storage operation for a first object in a distributed object storage system; identifying a first file placement rule for a first set of gateways that maintain local representations of a first namespace, wherein the first set of gateways is associated with the distributed object storage system; determining a first action to be performed based, at least in part, on the first namespace and the detected object storage operation for the first object; and causing the first set of gateways to update local representations of the first name space to include a path for a file to be created, including communicating a notification that indicates an object identifier of the first object and that indicates the path, wherein the first action comprises a conflict resolution action to be performed by a first gateway, of the first set of gateways, that detects a local representation conflict from the update. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory machine readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the machine to:
-
detect an update to a first share that causes an update of a first object in the storage grid; begin evaluation of a plurality of file placement rules against metadata of the first object, wherein the first object corresponds to a file or a directory; based on the evaluation, determine that at least a first file placement rule is triggered by the update of the first object; identify a first set of gateways that export the first share to clients, wherein the first set of gateways is associated with the storage grid; and communicate an instruction to the first set of gateways to perform a first action defined in the first file placement rule, the first action including creating a file according to a path in the first share, and to perform a second action including a conflict resolution action defined in the first file placement rule. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computing device comprising:
-
a network interface; a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of synchronizing shares across a storage grid; and a processor coupled to the memory and the network interface, the processor configured to execute the machine executable code to cause the processor to; detect an update to a first representation of a first shared view of a file system; begin evaluation of a plurality of file placement rules against metadata of a first object, wherein the update to the first representation causes an update in an object storage system for the first object; based on the evaluation, determine that at least a first file placement rule and a second file placement rule are triggered; identify a first set of gateways that maintain a respective one of a set of representations of the first shared view; and communicate, via the network interface, an instruction to the first set of gateways to perform a first action comprising creating a file according to a path, the first action defined in the first file placement rule to synchronize the set of representations and to perform a second action comprising a conflict resolution action at one or more gateways of the first set of gateways in response to detecting a conflict resulting from the synchronization in a corresponding representation of the set of representations maintained at the one or more gateways, the second action defined in the second file placement rule. - View Dependent Claims (18)
-
Specification