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 storage device which corresponds to a particular vendor and/or a particular product from the particular vendor;
determine that the source system does not include pre-configured functionality for causing the first storage device to perform the snapshot operation;
communicate with the destination system to identify one or more functions for performing the requested snapshot operation that are compatible with a programming interface residing on the source system; and
invoke an instance of the one or more identified functions using the programming interface,wherein a snapshot engine residing on the destination system is responsive to the invoking of the instance of the one or more identified functions to perform the requested snapshot operation.
2 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.
639 Citations
20 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 storage device which corresponds to a particular vendor and/or a particular product from the particular vendor; determine that the source system does not include pre-configured functionality for causing the first storage device to perform the snapshot operation; communicate with the destination system to identify one or more functions for performing the requested snapshot operation that are compatible with a programming interface residing on the source system; and invoke an instance of the one or more identified functions using the programming interface, wherein a snapshot engine residing on the destination system is responsive to the invoking of the instance of the one or more identified functions to perform the requested snapshot operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. 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 storage device which corresponds to a particular vendor and/or a particular product from the particular vendor; determining that the source system does not include pre-configured functionality for causing the first storage device to perform the snapshot operation; communicating with the destination system to identify one or more functions for performing the requested snapshot operation that are compatible with a programming interface residing on the source system; and invoking, using one or more computer processors, an instance of the one or more identified functions using the programming interface, wherein a snapshot engine residing on the destination system is responsive to the invoking of the instances of the one or more identified functions to perform the requested snapshot operation. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification