Methods for integrating applications with a data storage network and devices thereof

US10523754B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10523754-B2
Application numberUS-201414553344-A
CountryUS
Kind codeB2
Filing dateNov 25, 2014
Priority dateNov 25, 2014
Publication dateDec 31, 2019
Grant dateDec 31, 2019

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 method, non-transitory computer readable medium, and application server computing device that receives a request identifying an operation to be performed on an application and a plugin associated with the application. The operation corresponds to an application task in a workflow for a data storage network action. An operating system call is generated to execute the plugin, wherein the call comprises at least one argument that identifies the operation. A standard-out output is obtained from the plugin, wherein the output comprises at least an indication of a status of the operation. The output is parsed, a result object is generated based on the parsed output, and the result object is returned in response to the received request. The result object includes at least the indication of the status of the operation.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: interfacing by an agent with a plurality of plugins, the agent and the plugins executed by a computing device, each plugin corresponding to an application executed by the computing device, each application storing data at a storage system; wherein the plugins are implemented using plugin specific methods in a plurality of programming languages and communicate with the agent using a standard input and output format, the output format having a common data portion for all the plugins; identifying from a backup request received by a processor of a server communicating with the computing device and the storage system, a configuration file associated with a first application executed by the computing device, where the backup request is to backup data stored at the storage system on behalf of the first application; using the configuration file by the processor to identify a first plugin and an application task for the backup request, the configuration file defining a minimum set of operations for the application task implemented by the first plugin; identifying by the agent the first plugin and the application task from a request transmitted by the processor to the computing device; generating by the agent, an instruction to execute the first plugin in response to the request from the processor; upon execution of the application task by the first plugin, indicating a status of the application task in the common data portion of an output generated by the first plugin for the agent; utilizing the output by the agent for generating a response for the processor in a format different from a format used by the first plugin to generate the output, the response indicating the status to the processor; and executing by the storage system, a storage task for the backup request based on an instruction generated by the processor after receiving the response from the agent. 2. The method of claim 1 , wherein the configuration file stores a set of parameters corresponding to key-value pairs that define a plurality of options for the application task. 3. The method of claim 2 , wherein one or more of the plurality of options are enabled and disabled using a key-value pair. 4. The method of claim 1 , wherein the minimum set of operations include a quiesce and an unquiesce operation. 5. The method of claim 1 , wherein the agent parses the output from the first plugin and returns a result object to the processor with the status of the application task via an application programming interface. 6. The method of claim 1 , wherein the instruction is an operating system call for an operating system of the computing device that executes a runtime environment for executing the first plugin in a new process. 7. The method of claim 1 , wherein in addition to the status in the common data portion, the output from the first plugin includes data that is unique to a specific method executed by the first plugin for the application task. 8. A non-transitory machine readable medium having stored thereon instructions for performing a method, comprising machine executable code which, when executed by one or machines, causing the one or more machines to: interface by an agent with a plurality of plugins, the agent and the plugins executed by a computing device, each plugin corresponding to an application executed by the computing device, each application storing data at a storage system; wherein the plugins are implemented using plugin specific methods in a plurality of programming languages and communicate with the agent using a standard input and output format, the output format having a common data portion for all the plugins; identify from a backup request received by a processor of a server communicating with the computing device and the storage system, a configuration file associated with a first application executed by the computing device, where the backup request is to backup data stored at the storage system on behalf of the first application; use the configuration file by the processor to identify a first plugin and an application task for the backup request, the configuration file defining a minimum set of operations for the application task implemented by the first plugin; identify by the agent the first plugin and the application task from a request transmitted by the processor to the computing device; generate by the agent, an instruction to execute the first plugin in response to the request from the processor; upon execution of the application task by the first plugin, indicate a status of the application task in the common data portion of an output generated by the first plugin for the agent; utilize the output by the agent for generating a response for the processor in a format different from a format used by the first plugin to generate the output, the response indicating the status to the processor; and execute by the storage system, a storage task for the backup request based on an instruction generated by the processor after receiving the response from the agent. 9. The non-transitory machine readable medium of claim 8 , wherein the configuration file stores a set of parameters corresponding to key-value pairs that define a plurality of options for the application task. 10. The non-transitory machine readable medium of claim 9 , wherein one or more of the plurality of options are enabled and disabled using a key-value pair. 11. The non-transitory machine readable medium of claim 8 , wherein the minimum set of operations include a quiesce and an unquiesce operation. 12. The non-transitory machine readable medium of claim 8 , wherein the agent parses the output from the first plugin and returns a result object to the processor with the status of the application task via an application programming interface. 13. The non-transitory machine readable medium of claim 8 , wherein the instruction is an operating system call for an operating system of the computing device that executes a runtime environment for executing the first plugin in a new process. 14. The non-transitory machine readable medium of claim 8 , wherein in addition to the status in the common data portion, the output from the first plugin includes data that is unique to a specific method executed by the first plugin for the application task. 15. A system comprising: a memory containing machine readable medium comprising medium executable code and a processor of a backup server coupled to the memory to execute the machine executable code; a storage system with a plurality of storage devices for storing data; and a computing device executing an agent, a plurality of applications and a plurality of plugins, the agent interfacing with the plurality of plugins, each plugin associated with a corresponding application from among the plurality of applications, and each application storing data at the storage system; wherein the plugins are implemented using plugin specific methods in a plurality of programming languages and communicate with the agent using a standard input and output format, the output format having a common data portion for all the plugins; wherein the backup server identifies from a backup request, a configuration file associated with a first application from the plurality of application, where the backup request is to backup data stored at the storage system on behalf of the first application; wherein the backup server uses the configuration file to identify a first plugin corresponding to the first application and an application task for the backup request, the configuration file defining a minimum set of

Assignees

Inventors

Classifications

  • Configuration setting · CPC title

  • Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Retrieval of network configuration; Tracking network configuration history · 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 US10523754B2 cover?
A method, non-transitory computer readable medium, and application server computing device that receives a request identifying an operation to be performed on an application and a plugin associated with the application. The operation corresponds to an application task in a workflow for a data storage network action. An operating system call is generated to execute the plugin, wherein the call c…
Who is the assignee on this patent?
Netapp Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/1097. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 31 2019 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).