IP Library › Granted Patent US 10,200,473
Granted Patent B2
US 10,200,473 · App. 15/467,316 · Granted Feb 5, 2019

Methods and systems for managing networked storage system resources

Inventors: John Jason Sprague (Westford, MA); James Stephen Holden (Concord, MA); Omri Kessel (Newton, MA); John Strunk (Cary, NC); Andrew Joseph Klosterman (Cary, NC)
Assignee: NETAPP, INC.
H04L67/1097G06F3/06G06F3/12G06F9/50G06F17/30094G06F17/30106G06F17/30144G06F17/30203H04L43/04H04L49/90
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,200,473
App. No.
15/467,316
Granted
Feb 5, 2019
Kind
B2
Abstract

Methods and systems for a networked storage environment are provided. One method includes mirroring a plurality of requests from a switch and transmitting the mirrored plurality of requests to a remote acquisition unit; extracting application layer protocol data units from assembled transport layer packets; parsing the application layer protocol data units to obtain file system requests; identifying storage volume identifiers from the parsed file system requests that are associated with a greatest number of operations; identifying network addresses for client systems initiating the greatest number of operations for the storage volumes and network addresses of target storage systems managing the storage volumes; and providing a total number of operations for the plurality of requests in a given time, the identified storage volume identifiers, the network addresses of the client systems and the network addresses of the target storage systems to a management console.

Claims (52)

1. A machine implemented method, comprising:

receiving a plurality of requests from a plurality of client systems at a plurality of ports of a network switch for reading and writing data in a networked storage system where a plurality of storage devices are accessed by the plurality of client systems via the plurality of ports of the network switch;

wherein each request includes a transport layer packet, a source network access address used by each client system to send each request, a target network access address for a storage system managing one or more storage devices, an application layer protocol data unit that encapsulates a file system request with encoded information for a storage volume and an indicator indicating an operation type for each request;

mirroring the plurality of requests and transmitting the mirrored plurality of requests by a dedicated mirror port of the network switch to a remote acquisition unit;

assembling, by the remote acquisition unit, transport layer packets from the mirrored plurality of requests;

extracting, by the remote acquisition unit, application layer protocol data units from the assembled transport layer packets;

parsing, by the remote acquisition unit, the application layer protocol data units to obtain file system requests;

identifying, by the remote acquisition unit, storage volume identifiers from the parsed file system requests that are associated with a greatest number of operations;

identifying, by the remote acquisition unit, network access addresses for client systems initiating the greatest number of operations for the storage volumes and network access addresses of target storage systems managing the storage volumes; and

providing, by the remote acquisition unit, a total number of operations for the plurality of requests in a given time, the identified storage volume identifiers, the network access addresses of the client systems and the network access addresses of the target storage systems to a management console.

2. The method of claim 1 , further comprising:

executing a storage monitoring layer by the management console for tracking performance of storage resources of the networked storage system; and

executing a server monitoring layer by the management console for tracking computing resources using the storage resources of the networked storage system.

3. The method of claim 2 , wherein the management console translates the identified storage volume identifiers received from the remote acquisition unit to internal storage volume identifiers tracked by the storage monitoring layer.

4. The method of claim 2 , wherein based on data from the storage monitoring layer, the server monitoring layer, the identified storage volumes identifiers, the network access addresses of the client systems, and the network access addresses of the target storage systems, the management console creates an object that associates a compute resource with an internal volume for tracking performance of resources associated with the internal volume for storing and retrieving data.

5. The method of claim 1 , wherein the file system requests are network file system (NFS) requests.

6. The method of claim 2 , wherein the plurality of resources includes a storage pool having the plurality of storage devices.

7. The method of claim 1 , wherein the transport layer packets are TCP packets, the application layer protocol data unit is a remote procedure call (RPC) protocol data unit and network access addresses for the client systems and the target storage systems are Internet Protocol (IP) addresses.

8. A non-transitory machine-readable storage medium having stored thereon instructions for performing a method, comprising machine executable code, which when executed by at least one machine, causes the machine to:

receive a plurality of requests from a plurality of client systems at a plurality of ports of a network switch for reading and writing data in a networked storage system where a plurality of storage devices are accessed by the plurality of client systems via the plurality of ports of the network switch;

wherein each request includes a transport layer packet, a source network access address used by each client system to send each request, a target network access address for a storage system managing one or more storage devices, an application layer protocol data unit that encapsulates a file system request with encoded information for a storage volume and an indicator indicating an operation type for each request;

mirror the plurality of requests and transmitting the mirrored plurality of requests by a dedicated mirror port of the network switch to a remote acquisition unit;

assemble, by the remote acquisition unit, transport layer packets from the mirrored plurality of requests;

extract, by the remote acquisition unit, application layer protocol data units from the assembled transport layer packets;

parse, by the remote acquisition unit, the application layer protocol data units to obtain file system requests;

identify, by the remote acquisition unit, storage volume identifiers from the parsed file system requests that are associated with a greatest number of operations;

identify, by the remote acquisition unit, network access addresses for client systems initiating the greatest number of operations for the storage volumes and network access addresses of target storage systems managing the storage volumes; and

provide, by the remote acquisition unit, a total number of operations for the plurality of requests in a given time, the identified storage volume identifiers, the network access addresses of the client systems, and the network access addresses of the target storage systems to a management console.

9. The non-transitory storage medium of claim 8 , wherein the management console executes a storage monitoring layer for tracking performance of storage resources of the networked storage system; and executes a server monitoring layer for tracking computing resources using the storage resources of the networked storage system.

10. The non-transitory storage medium of claim 9 , wherein the management console translates the identified storage volume identifiers received from the remote acquisition unit to internal storage volume identifiers tracked by the storage monitoring layer.

11. The non-transitory storage medium of claim 9 , wherein based on data from the storage monitoring layer, the server monitoring layer, the identified storage volumes identifiers, the network access addresses of the client systems, and the network access addresses of the target storage systems, the management console creates an object that associates a compute resource with an internal volume for tracking performance of resources associated with the internal volume for storing and retrieving data.

12. The non-transitory storage medium of claim 8 , wherein the file system requests are network file system (NFS) requests.

13. The non-transitory storage medium of claim 9 , wherein the plurality of resources includes a storage pool having the plurality of storage devices.

14. The non-transitory storage medium of claim 8 , wherein the transport layer packets are TCP packets, the application layer protocol data unit is a remote procedure call (RPC) protocol data unit and network access addresses for the client systems and the target storage systems are Internet Protocol (IP) addresses.

15. A system, comprising:

a network switch having a plurality of ports; and

a remote acquisition unit coupled to a management console and a mirror port of the network switch, the remote acquisition unit having a memory containing machine readable medium comprising machine executable code having stored thereon instructions; and a processor module coupled to the memory:

wherein the network switch receives a plurality of requests from a plurality of client systems at a plurality of ports for reading and writing data in a networked storage system where a plurality of storage devices are accessed by the plurality of client systems via the plurality of ports;

wherein each request includes a transport layer packet, a source network access address used by each client system, a target network access for a storage system managing one or more storage devices, an application layer protocol data unit that encapsulates a file system request with encoded information for a storage volume and an indicator indicating an operation type for each request; and

wherein the plurality of requests are mirrored and transmitted by the mirror port of the network switch to the remote acquisition unit; and

wherein the processor module of the remote acquisition unit is configured to execute the machine executable code to:

assemble the transport layer packets from the mirrored plurality of requests;

extract the application layer protocol data units from the assembled transport layer packets;

parse the application layer protocol data units to obtain file system requests;

identify the storage volume identifiers from the parsed file system requests that are associated with a greatest number of operations;

identify network access addresses for client systems initiating the greatest number of operations for the storage volumes and network access addresses of target storage systems managing the storage volumes; and

provide a total number of operations for the plurality of requests in a given time, the identified storage volume identifiers, the network access addresses of the client systems, and the network access addresses of the target storage systems to a management console.

16. The system of claim 15 , wherein the management console executes a storage monitoring layer for tracking performance of storage resources of the networked storage system; and executes a server monitoring layer for tracking computing resources using the storage resources of the networked storage system.

17. The system of claim 16 , wherein the management console translates the identified storage volume identifiers received from the remote acquisition unit to internal storage volume identifiers tracked by the storage monitoring layer.

18. The system of claim 16 , wherein based on data from the storage monitoring layer, the server monitoring layer, the identified storage volumes identifiers, the network access addresses of the client systems, and the network access addresses of the target storage systems, the management console creates an object that associates a compute resource with an internal volume for tracking performance of resources associated with the internal volume for storing and retrieving data.

19. The system of claim 16 , wherein the plurality of resources includes a storage pool having the plurality of storage devices.

20. The system of claim 15 , wherein the file system requests are network file system (NFS) requests, the transport layer packets are TCP packets, the application layer protocol data unit is a remote procedure call (RPC) protocol data unit, and network access addresses for the client systems and the target storage systems are Internet Protocol (IP) addresses.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2017
From: SPRAGUE, JOHN JASON; HOLDEN, JAMES STEPHEN; KESSEL, OMRI; STRUNK, JOHN; KLOSTERMAN, ANDREW JOSEPH
To: NETAPP, INC.
Reel/Frame 041702/0708 →
Continuity (1)
Related Publication 20180278686A1 · Sep 27, 2018