Patent classifications
G06F3/067
PMEM cache RDMA security
Techniques are described for providing one or more clients with direct access to cached data blocks within a persistent memory cache on a storage server. In an embodiment, a storage server maintains a persistent memory cache comprising a plurality of cache lines, each of which represent an allocation unit of block-based storage. The storage server maintains an RDMA table that include a plurality of table entries, each of which maps a respective client to one or more cache lines and a remote access key. An RDMA access request to access a particular cache line is received from a storage server client. The storage server identifies access credentials for the client and determines whether the client has permission to perform the RDMA access on the particular cache line. Upon determining that the client has permissions, the cache line is accessed from the persistent memory cache and sent to the storage server client.
Enhanced network attached storage (NAS) services interfacing to cloud storage
An illustrative storage management appliance is interposed between client computing devices and one or more cloud storage resources. The appliance uses cloud storage resources in conjunction with a network attached storage device configured within the appliance to provide to the client computing devices seemingly unlimited network attached storage on respective network shares. The storage management appliance monitors data objects on the network shares and when a data object meets one or more criteria for archiving, the storage management appliance archives the data object to a cloud storage resource and replaces it with a stub and preview image on the network share. When access to the stub and/or preview image is detected, the storage management appliance restores the data object from the cloud storage resource. The criteria for archiving flexibly allow individual data objects to be archived to cloud storage without archiving frequently-accessed “neighboring” data objects on the same network share.
Verification microservice for a deduplicated object storage system
Described is a system for detecting corruption in a deduplicated object storage system accessible by one or more microservices while minimizing costly read operations on objects. A similarity group verification path is selected based upon detection of an object storage memory size condition. The similarity group verification path is performed by one or more worker nodes. The similarity group verification path includes worker node phases that verify whether objects have been corrupted without having to incur costly read operations.
Dynamically modifying block-storage volumes using forecasted metrics
Features are disclosed for forecasting a usage of a block storage volume with a first configuration by a user. A computing device can forecast the usage of the block storage volume based on the historical usage of the block storage volume by the user. The computing device can determine additional potential configurations of the block storage volume. The computing device can further simulate the additional potential configurations of the block storage volume based on the forecasted usage of the block storage volume. The additional potential configurations may include a volume type, a volume size, or other volume characteristics. Based on the simulations of the additional potential configurations, the computing device may determine a recommended configuration. The computing device can dynamically modify the block storage volume based on the recommended configuration of the block storage volume.
Protection of objects in an object store from deletion or overwriting
An illustrative method includes an object retention management system establishing a retention policy for a bucket of an object-based storage system, detecting an operation that causes an object to be stored within the bucket, and applying, based on the detecting of the operation, the retention policy to the object, the retention policy preventing the object from being deleted or overwritten for a predefined time duration.
Identifying a parent event associated with child error states
Event records from multiple computing devices are received at a managing unit. Individual event records include an event identifier field including an event identifier identifying a first event associated with a particular computing device, a parent event identifier field identifying a parent event that initialized the first event, and an entity identifier field including an entity identifier identifying the particular computing device. The managing unit generates log records associated with event identifiers included in the event records. The log records include state fields indicating a state of a particular event associated with a particular event identifier. Based on a correlation of the event and log records, the managing unit determines at least two computing devices associated with events resulting in an error state, and identifies parent events that initialized the events with errors. The managing unit generates a report linking the parent events to the events having an error state.
Partial pass-through data transfer system
Methods and systems for performing a partial pass-through transfer are described. In an aspect, a method includes: receiving, from a first computing system, pass-through transfer definition data to be associated with a first logical storage area, the pass-through transfer definition data including a trigger condition for a pass-through transfer and an apportionment value for the pass-through transfer; storing a representation of the pass-through transfer definition data in association with the first logical storage area; detecting a first data transfer to the first logical storage area, the first data transfer representing a transfer of a resource; determining that the first data transfer satisfies the trigger condition; and in response to determining that the first data transfer satisfies the trigger condition: identifying a portion of the resource based on the apportionment value; and initiating a second data transfer.
Using resource pool administrative entities in a data storage management system to provide shared infrastructure to tenants
An illustrative data storage management system enables a Tenant to retain control over criteria for protecting the Tenant's data, and hides details of the Service Provider's infrastructure. The Service Provider may have many data centers, each one represented within the system by a Resource Pool with attributes that reflect the infrastructure resources of the corresponding data center. A system analysis, which is triggered by the Tenant's choices for data protection, keys in on a suitable Resource Pool. The system analysis identifies suitable system resources within the Resource Pool and associates them to the data source. Subsequent data protection jobs invoke proper system components based on the associations created by the system analysis. In some embodiments, the system will invoke infrastructure resources created on demand when a data protection job is initiated rather than being pre-existing resources.
Serializing execution of replication operations
Techniques are provided for serializing replication operations. A plurality of operations are implemented upon a first storage object and are replicated as a plurality of replication operations. An order with which the plurality of replication operation are to be executed upon a second storage object is determined. Execution of the plurality of replication operations upon the second storage object is serialized according to the order.
Computer-readable recording medium storing transfer program, transfer method, and transferring device
A transfer method is performed by an information processing apparatus. The method includes: selecting, based on a load status of the information processing apparatus, candidate transfer data that is among the received data and to be transferred to one or more other information processing apparatuses; selecting, based on load statuses of multiple other information processing apparatuses, one or more candidate transfer destination apparatuses among the multiple other information processing apparatuses as candidate transfer destinations of the data; determining, based on throughput between the information processing apparatus and the candidate transfer destination apparatuses, data to be transferred among the candidate transfer data, transfer destination apparatuses of the data to be transferred among the candidate transfer destination apparatuses, and the sizes of data groups including the data to be transferred; and transferring, to the transfer destination apparatuses determined for the determined data groups, the determined data to be transferred.