Systems and methods for managing files in a content storage system
First Claim
1. A non-transitory computer readable medium having instructions stored thereon, the non-transitory computer readable medium comprising instructions for:
- receiving a placement rule comprising selection criteria and a placement action, the placement action comprising information relating to locations in a hierarchical directory structure to place data objects that corresponds to the selection criteria and the placement action comprising a configurable conflict resolution mechanism;
after receiving the placement rule, identifying a previous data object that was previously stored to the storage system and corresponds to the selection criteria of the placement rule; and
modifying a location in the hierarchical directory structure corresponding to the previous data object, the modified location being determined based on the placement action of the placement rule and at least one attribute of the previous data object;
applying the configurable conflict resolution mechanism to enable user-defined methods of resolving conflicts, when multiple clients write to the data object without locking the hierarchical directory structure;
receiving from an object store device, a notification comprising information indicating receipt of, at a first gateway device, a data object to be stored in a storage system, wherein the storage system comprises a distributed storage system comprising a plurality of administrative domains, wherein the placement rule is associated with one of the plurality of administrative domains;
determining that the data object corresponds to the selection criteria of the placement rule by;
determining whether the data object is associated with a rules identifier identifying the placement rule; and
evaluating the selection criteria, when the rules identifier is not present or upon determining the rules identifier is associated with a previous version of the placement rule, to determine whether the data object corresponds to the selection criteria of the placement rule;
determining that the data object is associated with the same administrative domain as the placement rule based, at least in part, on a determination that the data object corresponds to the selection criteria of the placement rule;
determining a location in the hierarchical directory structure to place the data object, the determined location being based on the placement action of the placement rule and at least one attribute of the data object; and
transmitting in accordance with the placement rule, to a second gateway device, a notification comprising information to enable the second gateway device to update a representation of the hierarchical directory structure to include the determined location by creating a new reference to the data object and according to said modifying.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods that allow operators to configure how files and directories are placed within file system views into a storage system, and how these configured file placements are performed by the distributed system. Possible features include a mechanism by which the desired placement of files and directories can be specified, a mechanism by which the placement goals can be realized in a given topology of a distributed system, and a mechanism by which changes to the placement of objects can applied retroactively. 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
15 Claims
-
1. A non-transitory computer readable medium having instructions stored thereon, the non-transitory computer readable medium comprising instructions for:
-
receiving a placement rule comprising selection criteria and a placement action, the placement action comprising information relating to locations in a hierarchical directory structure to place data objects that corresponds to the selection criteria and the placement action comprising a configurable conflict resolution mechanism; after receiving the placement rule, identifying a previous data object that was previously stored to the storage system and corresponds to the selection criteria of the placement rule; and modifying a location in the hierarchical directory structure corresponding to the previous data object, the modified location being determined based on the placement action of the placement rule and at least one attribute of the previous data object; applying the configurable conflict resolution mechanism to enable user-defined methods of resolving conflicts, when multiple clients write to the data object without locking the hierarchical directory structure; receiving from an object store device, a notification comprising information indicating receipt of, at a first gateway device, a data object to be stored in a storage system, wherein the storage system comprises a distributed storage system comprising a plurality of administrative domains, wherein the placement rule is associated with one of the plurality of administrative domains; determining that the data object corresponds to the selection criteria of the placement rule by; determining whether the data object is associated with a rules identifier identifying the placement rule; and evaluating the selection criteria, when the rules identifier is not present or upon determining the rules identifier is associated with a previous version of the placement rule, to determine whether the data object corresponds to the selection criteria of the placement rule; determining that the data object is associated with the same administrative domain as the placement rule based, at least in part, on a determination that the data object corresponds to the selection criteria of the placement rule; determining a location in the hierarchical directory structure to place the data object, the determined location being based on the placement action of the placement rule and at least one attribute of the data object; and transmitting in accordance with the placement rule, to a second gateway device, a notification comprising information to enable the second gateway device to update a representation of the hierarchical directory structure to include the determined location by creating a new reference to the data object and according to said modifying. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a processor; a computer readable medium comprising instructions executable by the processor to cause the system to perform operations comprising, receiving a placement rule comprising selection criteria and a placement action, the placement action comprising information relating to locations in a hierarchical directory structure to place data objects that corresponds to the selection criteria and the placement action comprising a configurable conflict resolution mechanism; after receiving the placement rule, identifying a previous data object that was previously stored to the storage system and corresponds to the selection criteria of the placement rule; and modifying a location in the hierarchical directory structure corresponding to the previous data object, the modified location being determined based on the placement action of the placement rule and at least one attribute of the previous data object; applying the configurable conflict resolution mechanism to enable user-defined methods of resolving conflicts, when multiple clients write to the data object without locking the hierarchical directory structure; receiving from an object store device, a notification comprising information indicating receipt of, at a first gateway device, a data object to be stored in a storage system, wherein the storage system comprises a distributed storage system comprising a plurality of administrative domains, wherein the placement rule is associated with one of the plurality of administrative domains; determining that the data object corresponds to the selection criteria of the placement rule by; determining whether the data object is associated with a rules identifier associated with the placement rule; and evaluating the selection criteria, when the rules identifier is not present or upon determining the rules identifier is associated with a previous version of the placement rule, to determine whether the data object corresponds to the selection criteria of the placement rule; determining that the data object is associated with the same administrative domain as the placement rule based, at least in part, on a determination that the data object corresponds to the selection criteria of the placement rule; determining a location in the hierarchical directory structure to place the data object, the determined location being based on the placement action of the placement rule and at least one attribute of the data object; and transmitting in accordance with the placement rule, to a second gateway device, a notification comprising information to enable the second gateway device to update a representation of the hierarchical directory structure to include the determined location by creating a new reference to the data object and according to said modifying. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
Specification