Integrated snapshot interface for a data storage system
First Claim
1. A data storage system, comprising:
- a source system in communication with a destination system comprising a first storage device, the first storage device configured to perform snapshot operations;
at least one software application executing on the source system and generating production data;
a snapshot management module executing on one or more processors and configured to;
receive a request to perform a snapshot operation involving a stored version of at least a portion of the production data that resides on the first storage device;
determine that the first storage device is a first type of a plurality of types of storage devices, wherein each type of the plurality of types corresponds to a different vendor and/or a different product from a particular vendor;
determine that the source system does not include built-in support for the first storage device based at least in part on the determined first type;
communicate with the destination system to identify one or more functions for performing the requested snapshot operation and that are defined at least in part by a programming interface specification residing on the source systems; and
invoke instances of the one or more identified functions that are in compliance with the programming interface specification and are implemented specifically for storage devices of the first type,wherein a snapshot engine residing on the first storage device is responsive to the invoking of the instances of the one or more identified functions to perform the requested snapshot operation,wherein the snapshot management module includes pre-configured functionality for interacting with storage devices having at least a different type without using the programming interface specification to perform snapshot operations, andwherein the pre-configured functionality includes one or more functions that are not in compliance with the programming interface specification residing on the source system.
4 Assignments
0 Petitions
Accused Products
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.
646 Citations
17 Claims
-
1. A data storage system, comprising:
-
a source system in communication with a destination system comprising a first storage device, the first storage device configured to perform snapshot operations; at least one software application executing on the source system and generating production data; a snapshot management module executing on one or more processors and configured to; receive a request to perform a snapshot operation involving a stored version of at least a portion of the production data that resides on the first storage device; determine that the first storage device is a first type of a plurality of types of storage devices, wherein each type of the plurality of types corresponds to a different vendor and/or a different product from a particular vendor; determine that the source system does not include built-in support for the first storage device based at least in part on the determined first type; communicate with the destination system to identify one or more functions for performing the requested snapshot operation and that are defined at least in part by a programming interface specification residing on the source systems; and invoke instances of the one or more identified functions that are in compliance with the programming interface specification and are implemented specifically for storage devices of the first type, wherein a snapshot engine residing on the first storage device is responsive to the invoking of the instances of the one or more identified functions to perform the requested snapshot operation, wherein the snapshot management module includes pre-configured functionality for interacting with storage devices having at least a different type without using the programming interface specification to perform snapshot operations, and wherein the pre-configured functionality includes one or more functions that are not in compliance with the programming interface specification residing on the source system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of performing one or more snapshot operations on production data generated in a data storage system, the method comprising:
-
receiving a request to perform a snapshot operation involving a stored version of at least a portion of production data that resides on a first storage device of a destination system, the production data generated by at least one software application executing on a source system that is in communication with the first storage device, the first storage device configured to perform snapshot operations; determining that the first storage device is a first type of a plurality of types of storage devices, wherein each type of the plurality of types corresponds to a different vendor and/or a different product from a particular vendor; determining that the source system does not include built-in support for the first storage device based at least in part on the determined first type; communicating with the destination system to identify one or more functions for performing the requested snapshot operation and that are defined at least in part by a programming interface specification residing on the source system; and invoking, using one or more computer processors, instances of the one or more identified functions that are in compliance with the programming interface specification and are implemented specifically for storage devices of the first type, wherein a snapshot engine residing on the first storage device is responsive to the invoking of the instances of the one or more identified functions to perform the requested snapshot operation, wherein the source system includes pre-configured functionality for interacting with storage devices having at least a different type without using the programming interface specification to perform snapshot operations, and wherein the pre-configured functionality includes one or more functions that are not in compliance with the programming interface specification residing on the source system. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
Specification