Abstract:
Certain embodiments disclosed herein reduce or eliminate a communication bottleneck at the storage manager by reducing communication with the storage manager while maintaining functionality of an information management system. In some implementations, a client obtains information for enabling a secondary storage job (e.g., a backup or restore) from a storage manager and stores the information (which may be referred to as job metadata) in a local cache. The client may then reuse the job metadata for multiple storage jobs reducing the frequency of communication with the storage manager. When a configuration of the information management system changes, or the availability of resources changes, the storage manager can push updates to the job metadata to the clients. Further, a client can periodically request updated job metadata from the storage manager ensuring that the client does not rely on out-of-date job metadata.
Abstract:
Embodiments disclosed herein address the need to more efficiently backup a network-based storage environment that may be remote from a primary storage environment. For example, embodiments herein can provide a more efficient backup of a storage managed by a third-party entity. To improve the backup process, embodiments herein may optimize the number of scanning threads that are used to identify files that are to be backed up by, for example, analyzing the characteristics of the network and/or the network storage system to determine a number of scanning threads that will enable faster scanning of the network storage system while at the same time not overburden or be slowed down by a network between the network-based storage environment and the primary storage environment.
Abstract:
A data storage system according to certain aspects can share a single snapshot for multiple applications and/or agents. For example, the data storage system can receive snapshot commands from multiple applications and/or agents, and can group them for a single snapshot (e.g., based on time of receipt of the snapshot commands). Data associated with the multiple applications and/or agents may reside on a single LUN or volume. The data storage system can take a single snapshot of the LUN or volume, and generate metadata regarding which portion of the snapshot is related to which application. The single snapshot can be stored in one or more secondary storage devices. The single snapshot may be partitioned into portions relating to different applications and stored separately.
Abstract:
A data storage system according to certain aspects can share a single snapshot for multiple applications and/or agents. For example, the data storage system can receive snapshot commands from multiple applications and/or agents, and can group them for a single snapshot (e.g., based on time of receipt of the snapshot commands). Data associated with the multiple applications and/or agents may reside on a single LUN or volume. The data storage system can take a single snapshot of the LUN or volume, and generate metadata regarding which portion of the snapshot is related to which application. The single snapshot can be stored in one or more secondary storage devices. The single snapshot may be partitioned into portions relating to different applications and stored separately.
Abstract:
A data storage system includes a generic snapshot interface, allowing for integration with a wide variety of snapshot-capable storage devices. The generic interface can be a programming interface (e.g., an application programming interface [API]). Using the snapshot interface, storage device vendors can integrate their particular snapshot technology with the data storage system. For instance, the data storage system can access a shared library of functions (e.g., a dynamically linked library [DLL]) provided by the vendor (or another by appropriate entity) and that complies with the specifications of the common programming interface. And by invoking the appropriate functions in the library, the data storage system implements the snapshot operation on the storage device.
Abstract:
A data storage system includes a generic snapshot interface, allowing for integration with a wide variety of snapshot-capable storage devices. The generic interface can be a programming interface (e.g., an application programming interface [API]). Using the snapshot interface, storage device vendors can integrate their particular snapshot technology with the data storage system. For instance, the data storage system can access a shared library of functions (e.g., a dynamically linked library [DLL]) provided by the vendor (or another by appropriate entity) and that complies with the specifications of the common programming interface. And by invoking the appropriate functions in the library, the data storage system implements the snapshot operation on the storage device.
Abstract:
A data storage system includes a generic snapshot interface, allowing for integration with a wide variety of snapshot-capable storage devices. The generic interface can be a programming interface (e.g., an application programming interface [API]). Using the snapshot interface, storage device vendors can integrate their particular snapshot technology with the data storage system. For instance, the data storage system can access a shared library of functions (e.g., a dynamically linked library [DLL]) provided by the vendor (or another by appropriate entity) and that complies with the specifications of the common programming interface. And by invoking the appropriate functions in the library, the data storage system implements the snapshot operation on the storage device.
Abstract:
A data storage environment can include one or more virtual clients instantiated on a host proxy computing device. The virtual clients may have only indirect access to a storage device, and may access the storage device via the proxy computing device. For example, the proxy computing device receives storage operation requests from one of the virtual clients, such as a request to create, mount or revert a snapshot of virtual client data. The proxy computing device generally acts as an intermediary between the virtual clients and the storage device to carry out the snapshots or other storage operations. The proxy computing device may further receive a notification upon completion of the storage operations, and transmits relevant data to the requesting virtual client regarding the storage operation.