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.
Abstract:
A method of power management of a multiple-data-storage-devices enclosure is disclosed. In some embodiments, the method includes: receiving a network connection and power from a data connection port detachably coupled to a network cable; identifying a subset of data storage devices within the enclosure to activate; powering off components within the enclosure other than the subset of the data storage devices; for each data storage device in the subset that is not yet powered, activating the data storage device by: monitoring power consumption drawn from the data connection port; identifying a sequence of components associated with the data storage device, wherein the components within the sequence, when powered, together provide access to the data storage device; and powering on each component in the sequence when a previous component in the sequence has reached a steady state power consumption level.
Abstract:
A method of power management of a multiple-data-storage-devices enclosure is disclosed. In some embodiments, the method includes: receiving a network connection and power from a data connection port detachably coupled to a network cable; identifying a subset of data storage devices within the enclosure to activate; powering off components within the enclosure other than the subset of the data storage devices; for each data storage device in the subset that is not yet powered, activating the data storage device by: monitoring power consumption drawn from the data connection port; identifying a sequence of components associated with the data storage device, wherein the components within the sequence, when powered, together provide access to the data storage device; and powering on each component in the sequence when a previous component in the sequence has reached a steady state power consumption level, wherein when activating the data storage device, power supplied to power on the sequence of the components does not exceed a total power available from the data connection port.
Abstract:
In at least one embodiment, a method of operating a storage front-end system is disclosed. The method includes: receiving a read request with an object identifier for a data object; identifying a synchronous group of data storage devices across two or more multiple-data-storage-devices enclosures, wherein the synchronous group is associated with the object identifier; sending a request to the two or more multiple-data-storage-devices enclosures to immediately activate the data storage devices in the synchronous group; retrieving at least a subset of data fragments associated with the object identifier from at least one of the data storage devices; and erasure decoding at least the subset of the data fragments into a contiguous data range to reconstruct the data object
Abstract:
In at least one embodiment, a method of operating a storage front-end system is disclosed. The method includes: identifying a synchronous group of data storage devices across two or more multiple-data-storage-devices enclosures, wherein data across the data storage devices is accessible by a storage front-end system as an aggregate memory space; send an activation request to the two or more multiple-data-storage-devices enclosures to nearly immediately activate the data storage devices in the synchronous group; and perform a data maintenance task in the aggregate memory space of the data storage devices.
Abstract:
The disclosed technology relates to verifying and validating a received executable function to be executed on a function as a service platform (FaaS), by applying one or more verification and validation techniques prior to runtime. The verified and validated executable function is temporarily stored. The temporarily stored verified and validated executable function is executed on the FaaS platform at the runtime.
Abstract:
Techniques are provided for offloading the management of sensor data and generating custom views of sensor data. Sensor data received from a data network through a message is stored within storage managed by a computing device. A handle is generated to identify the sensor data. The sensor data within the message is replaced with the handle, and the message is transmitted to a device within the data network. The device may use handles of sensor data to request custom views of sensor data.
Abstract:
Methods, non-transitory computer readable media, and devices that more effectively manage snapshots by creating a namespace including files described by stored file recipe objects and each comprising fragments, directories described by metadata in the file recipe objects and each comprising one or more of the files, and snapshots described by stored snapshot request objects. Content of one of the directories are identified based on an identification of corresponding ones of the file recipe objects that existed within the namespace at a specified time. At least one of the files, included in the identified content and existing within the namespace at the specified time, is accessed in response to one or more received requests. A garbage collection operation is periodically performed to delete the recipe objects that are marked for deletion by tombstone objects and are unreferenced by any of the snapshots as determined based on the snapshot request objects.
Abstract:
A storage system includes data storage devices, bus conductors, and mobile reader/writer devices. Each of the storage devices is positioned between insulators, is at one of a plurality of locations on one of one or more shelf assemblies, and comprises a processor coupled to a memory and an interface device. One of the bus conductors is adjacent each of the insulators. Each of the reader/writer devices includes a transport apparatus, a processor and a memory. The transport apparatus is configured to move one of the reader/writer devices to one or more of the locations when engaged. The processor is coupled to the transport apparatus and the memory and is configured to execute machine executable code to: engage the transport apparatus to position one of the reader/writer devices to one of the locations in response to a received operation; couple power to one of the storage devices; and execute the operation.
Abstract:
Embodiments use data shuttle devices to restore erasure-coded data in a distributed storage environment. In some embodiments, a first data shuttle is communicatively coupled to a first node of the storage environment. On the data shuttle, first restoration data is generated from a first erasure-coded data portion stored on the first node. The first data shuttle or a second data shuttle is communicatively coupled to a second node of the storage environment. On the data shuttle at the second node, second restoration data is generated from a second erasure-coded data portion stored on the second node. Subsequent to transporting the first or second data shuttle from at least one of the other nodes to a third node, a third erasure-coded data portion is restored at the third node. The third erasure-coded data portion is generated via an erasure-coding process from one or more of the first or second restoration data.