# US 10,313,439 B2 · Methods and systems for managing resources in a networked storage environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,313,439 B2
- Document ID: US10313439B2
- Status: Granted
- Kind: B2
- Application number: 14/868,755
- Filed: 2015-09-29
- Published: 2017-03-30
- Granted: 2019-06-04
- Earliest claimed: 2015-09-29
- Assignees: NetApp, Inc.
- Applicants: Netapp, Inc.
- Inventors: Subhabrata Sen; Deepthi Shetty
- Web page: https://patentgrep.com/patent/US10313439B2

## CPC

- H04L 67/1097: 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]
- H04L 67/566: Grouping or aggregating service requests, e.g. for unified processing
- H04L 67/61: taking into account QoS or priority requirements
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods and systems for a networked storage system are provided. One method includes registering a resource model by a processor having a plurality of objects, each object representing a plurality of resources of a networked storage system in a same format for storing attributes of any resource type. The resource model includes a plurality of relationship objects identifying relationship types for related resources of the plurality of resources. The method includes using the resource model by the processor, to generate an empty output array for the plurality of resources by iteratively processing the relationship objects of the resource model; and dynamically populating the empty output array by the processor, in response to an application programming interface (API) request for information regarding a resource, by updating the placeholder link providing a link to the resource identified by the request.

## Claims

### Claim 1

A method, comprising:
registering a resource model by a processor having a plurality of objects, each object representing a plurality of resources of a networked storage system in a same format for storing attributes of any resource type; wherein the resource model includes a plurality of relationship objects identifying relationship types for related resources of the plurality of resources;
using the resource model by the processor, to generate an empty output array for the plurality of resources by iteratively processing the relationship objects of the resource model, wherein the empty output array includes a placeholder link with a base value, and an attribute identifying related resources and relationship types, the placeholder link updated on demand for accessing information regarding any of the resources; and
dynamically populating the empty output array by the processor, in response to an application programming interface (API) request for information regarding a resource, by updating the placeholder link with a relationship attribute identifying a related resource and a relationship type such that a response to the API request by the processor provides access to information regarding the resource and the related resource.

### Claim 2 (depends on 1)

The method of claim 1, wherein the request is received by an application programming interface (API) server that registers the resources model, creates the empty output array and dynamically populates the empty output array in response to the request.

### Claim 3 (depends on 2)

The method of claim 2, wherein the empty output array is a hashmap that includes a uniform resource identifier link and a placeholder for a relationship attribute that is dynamically populated when the API server receives the request for information.

### Claim 4 (depends on 2)

The method of claim 2, wherein a Representational State Transfer (REST) format is used to receive the request and provide the response by the API server.

### Claim 5 (depends on 1)

The method of claim 1, wherein the resource model varies based on a storage platform type and component type used by the storage platform type.

### Claim 6 (depends on 1)

The method of claim 1, wherein the relation type includes a composition type relationship, an aggregation type relationship and an association type relationship.

### Claim 7 (depends on 1)

The method of claim 1, wherein the plurality of resources include an aggregate, storage volume and a storage virtual machine operating in a clustered storage environment.

### Claim 8

A non-transitory, machine readable medium having stored thereon instructions comprising machine executable code which when executed by a machine, causes the machine to:
register a resource model by a processor having a plurality of objects, each object representing a plurality of resources of a networked storage system in a same format for storing attributes of any resource type; wherein the resource model includes a plurality of relationship objects identifying relationship types for related resources of the plurality of resources;
use the resource model by the processor, to generate an empty output array for the plurality of resources by iteratively processing the relationship objects of the resource model, wherein the empty output array includes a placeholder link with a base value, and an attribute identifying related resources and relationship types, the placeholder link updated on demand for accessing information regarding any of the resources; and
dynamically populate the empty output array by the processor, in response to an application programming interface (API) request for information regarding a resource, by updating the placeholder link with a relationship attribute identifying a related resource and a relationship type such that a response to the API request by the processor provides access to information regarding the resource and the related resource.

### Claim 9 (depends on 8)

The non-transitory, storage medium of claim 8, wherein the request is received by an application programming interface (API) server that registers the resources model, creates the empty output array and dynamically populates the empty output array in response to the request.

### Claim 10 (depends on 9)

The non-transitory, storage medium of claim 9, wherein the empty output array is a hashmap that includes a uniform resource identifier link and a placeholder for a relationship attribute that is dynamically populated when the API server receives the request for information.

### Claim 11 (depends on 9)

The non-transitory, storage medium of claim 9, wherein a Representational State Transfer (REST) format is used to receive the request and provide the response by the API server.

### Claim 12 (depends on 8)

The non-transitory, storage medium of claim 8, wherein the resource model varies based on a storage platform type and component type used by the storage platform type.

### Claim 13 (depends on 8)

The non-transitory, storage medium of claim 8, wherein the relation type includes a composition type relationship, an aggregation type relationship and an association type relationship.

### Claim 14 (depends on 8)

The non-transitory, storage medium of claim 8, wherein the plurality of resources include an aggregate, storage volume and a storage virtual machine operating in a clustered storage environment.

### Claim 15

A system, comprising:
a memory containing machine readable medium comprising machine executable code having stored thereon instructions; and a processor coupled to the memory, the processor configured to execute the machine executable code to:
register a resource model by a processor having a plurality of objects, each object representing a plurality of resources of a networked storage system in a same format for storing attributes of any resource type; wherein the resource model includes a plurality of relationship objects identifying relationship types for related resources of the plurality of resources;
use the resource model by the processor, to generate an empty output array for the plurality of resources by iteratively processing the relationship objects of the resource model, wherein the empty output array includes a placeholder link with a base value, and an attribute identifying related resources and relationship types, the placeholder link updated on demand for accessing information regarding any of the resources; and
dynamically populate the empty output array by the processor in response to an application programming interface (API) request for information regarding a resource, by updating the placeholder link with a relationship attribute identifying a related resource and a relationship type such that a response to the API request by the processor provides access to information regarding the resource and the related resource.

### Claim 16 (depends on 15)

The system of claim 15, wherein the request is received by an application programming interface (API) server that registers the resources model, creates the empty output array and dynamically populates the empty output array in response to the request.

### Claim 17 (depends on 16)

The system of claim 16, wherein the empty output array is a hashmap that includes a uniform resource identifier link and a placeholder for a relationship attribute that is dynamically populated when the API server receives the request for information.

### Claim 18 (depends on 16)

The system of claim 16, wherein a Representational State Transfer (REST) format is used to receive the request and provide the response by the API server.

### Claim 19 (depends on 15)

The system of claim 15, wherein the resource model varies based on a storage platform type and component type used by the storage platform type.

### Claim 20 (depends on 15)

The system of claim 15, wherein the relation type includes a composition type relationship, an aggregation type relationship and an association type relationship.
