Integrated snapshot interface for a data storage system

US9928002B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9928002-B2
Application numberUS-201615099865-A
CountryUS
Kind codeB2
Filing dateApr 15, 2016
Priority dateApr 23, 2012
Publication dateMar 27, 2018
Grant dateMar 27, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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. The data storage system of claim 1 , wherein the instance of the one or more identified functions is accessed from a shared library associated with the first storage device. 3. The data storage system of claim 2 , wherein the shared library is located at the destination system and is accessed by the source system. 4. The data storage system of claim 1 , wherein the first storage device is configured to perform hardware snapshots. 5. The data storage system of claim 1 , wherein the requested snapshot operation includes one or more of a snapshot creation operation, a snapshot mount operation, and a snapshot revert operation. 6. The data storage system of claim 1 , wherein the snapshot management module resides on the source system. 7. The data storage system of claim 1 , wherein the source system is in communication with a second storage device of a second type that is configured to perform snapshot operations, and wherein the snapshot management module is further configured to: receive a request to perform a second snapshot operation involving a stored version of at least a portion of the production data that resides on the second storage device; determine that the second storage device is a second type of storage device different from the first type of storage device; determine that the source system includes one or more pre-configured functions for causing the second storage device to perform the second snapshot operation; and instruct a snapshot engine residing on the second storage device to perform the requested second snapshot operation based at least in part on the one or more pre-configured functions. 8. The data storage system of claim 7 , wherein the one or more identified functions are provided by a first vendor and the one or more pre-configured functions provided by a second vendor. 9. The data storage system of claim 1 , wherein the snapshot management module includes pre-configured functionality for causing storage devices of another type to perform snapshot operations without using the programming interface. 10. The data storage system of claim 9 , wherein the pre-configured functionality includes one or more functions that are not compatible with the programming interface. 11. The data storage system of claim 1 , wherein the snapshot management module resides on one or more processors of the source system. 12. The data storage system of claim 1 , wherein the snapshot management module resides on one or more processors of a proxy computing device that is separate from the source system. 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. 14. The method of claim 13 , further comprising accessing the instance of the one or more identified functions from a shared library associated with the first storage device. 15. The method of claim 14 , wherein the shared library is located at the destination system and is accessed by the source system. 16. The method of claim 13 , wherein the first storage device is configured to perform hardware snapshots. 17. The method of claim 13 , wherein the requested snapshot operation includes one or more of a snapshot creation operation, a snapshot mount operation, and a snapshot revert operation. 18. The method of claim 13 , wherein the source system is in communication with a second storage device of a second type and that is configured to perform snapshot operations, the method further comprising: receiving a request to perform a second snapshot operation involving a stored version of at least a portion of the production data that resides on the second storage device; determining that the second storage device is a second type of storage device different from the first type of storage device; determining that the source system includes one or more pre-configured functions for causing the second storage device to perform the second snapshot operation; and instructing a snapshot engine residing on the second storage device to perform the requested second snapshot operation based at least in part on the one or more pre-configured functions. 19. The method of claim 18 , wherein the one or more identified functions are provided by a first vendor and the one or more pre-configured functions provided by a second vendor. 20. The method of claim 13 , wherein the source system includes pre-configured functionality for causing storage devices of another type to perform snapshot operations without using the programming interface.

Assignees

Inventors

Classifications

  • Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • Plurality of storage devices · CPC title

  • Physics · mapped topic

  • Physics · mapped topic

  • Error detection or correction of the data by redundancy in operations (error detection or correction of the data by redundancy in hardware G06F11/16) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9928002B2 cover?
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, t…
Who is the assignee on this patent?
Commvault Systems Inc, Commvault Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/065. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 27 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).