IP Library Granted Patent US 8,793,334
Granted Patent B1
US 8,793,334 · App. 12/839,225 · Granted Jul 29, 2014

Network-attached storage (NAS) bandwidth manager

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 8,793,334
App. No.
12/839,225
Granted
Jul 29, 2014
Kind
B1
Abstract

A system and process are provided for managing bandwidth in a network-attached storage (NAS) system. The process provides a NAS storage device having a network interface, at least one storage drive, a controller head, and a NAS bandwidth manager application enabled as software instructions. The process receives a request for access to a file system share from a client via a network having a maximum throughput rate. The NAS bandwidth manager identifies the client and provides client access to the NAS at an allocated bandwidth. In one aspect, the NAS bandwidth manager consults a preconfigured bandwidth allocation chart in response to the client request. In another aspect, the NAS bandwidth manager may receive a request for a particular bandwidth from the client.

Claims (60)

1. A method for managing bandwidth in a network-attached storage (NAS) system, comprising:

receiving, at a NAS storage device via a network, a request from a client device for a plurality of bandwidths corresponding to a respective plurality of network ports associated with the client device, wherein the plurality of network ports correspond to respective connections between the client device and the NAS storage device;

allocating, by a NAS bandwidth manager component of the NAS storage device, the plurality of bandwidths, respectively, to corresponding network ports of the plurality of network ports; and

providing to the client device, by the NAS bandwidth manager component, access to the NAS storage device in accordance with the plurality of bandwidths.

2. The method of claim 1 , further comprising:

determining, by the NAS bandwidth manager component, an available bandwidth of the network;

wherein the providing the access to the NAS storage device comprises:

allocating, to a network port of the plurality of network ports, a requested bandwidth of the plurality of bandwidths in response to a determination that the requested bandwidth is less than the available bandwidth;

allocating a portion of the requested bandwidth to the network port in response to a determination that the requested bandwidth is greater than the available bandwidth; and

allocating no bandwidth to the network port in response to a determination that the network has no available bandwidth.

3. The method of claim 1 , further comprising:

comparing, by the NAS bandwidth manager component, a network maximum throughput rate to an amount of bandwidth that has already been allocated; and

allocating a requested bandwidth on a per client basis based on an available bandwidth.

4. The method of claim 3 , further comprising:

receiving, from a bandwidth manager component executing on the client device, the request to access the NAS storage device at the requested bandwidth.

5. The method of claim 3 , wherein the providing the access to the NAS storage device comprises:

allocating the requested bandwidth to the client device in response to determining that the requested bandwidth is less than the available bandwidth;

allocating a portion of the requested bandwidth to the client device in response to determining that the requested bandwidth is greater than the available bandwidth; and

allocating no bandwidth to the client device in response to determining that the network has no available bandwidth.

6. The method of claim 1 , further comprising:

declining, by the NAS bandwidth manager component, to provide access to the NAS storage device in response to a determination that the client device has not included an explicit bandwidth value in the request.

7. The method of claim 1 , further comprising:

determining, by the NAS bandwidth manager, an available bandwidth;

establishing a primary bandwidth reserve and a secondary bandwidth reserve;

in response to determining that an available primary bandwidth of the primary bandwidth reserve is greater than or equal to a requested bandwidth, allocating the requested bandwidth to the client device; and

in response to determining that the available primary bandwidth is less than the requested bandwidth, allocating the available primary bandwidth and a portion of the secondary bandwidth reserve to the client device.

8. The method of claim 2 , wherein the determining the available bandwidth comprises comparing, by the NAS bandwidth manager component, a network maximum throughput rate with an amount of allocated bandwidth.

9. The method of claim 1 , further comprising:

identifying, by the NAS bandwidth manager component, the client device; and

consulting, by the NAS bandwidth manager component, a bandwidth allocation chart that cross-references multiple bandwidth allocations to respective client device identities,

wherein the allocating comprises allocating at least one of the plurality of bandwidths based on a result of the consulting.

10. A network-attached storage (NAS) storage device, comprising:

a network interface configured to connect to a client computing device via a network;

at least one storage drive;

a NAS bandwidth manager component configured to receive, from the client computing device, a request for a plurality of bandwidths corresponding to a respective plurality of network ports associated with the client computing device, and allocate the plurality of bandwidths, respectively, to corresponding network ports of the plurality of network ports, wherein the plurality of network ports correspond to respective connections between the client computing device and the NAS storage device.

11. The device of claim 10 , wherein the NAS bandwidth manager component is further configured to:

compare a network maximum throughput rate to an amount of bandwidth that has already been allocated to determine an available bandwidth;

allocate at least one bandwidth of the plurality of bandwidths to a respective at least one network port of the client computing device in response to a determination that the at least one bandwidth is less than the available bandwidth;

allocate a portion of the at least one bandwidth to the at least one network port in response to a determination that the at least one bandwidth is greater than the available bandwidth; and

allocate no bandwidth to the at least one network port in response to a determination that the network has no available bandwidth.

12. The device of claim 10 , wherein the request is a first request, and wherein the NAS bandwidth manager component is further configured to:

compare a network maximum throughput rate to an amount of bandwidth that has already been allocated to determine an available bandwidth, and

allocate a requested bandwidth on a per client basis in response to receipt of a second request for the requested bandwidth.

13. The device of claim 10 , wherein the NAS bandwidth manager is further configured to receive the request from a client bandwidth manager component that executes on the client computing device.

14. The device of claim 12 , wherein the NAS bandwidth manager is further configured to:

allocate the requested bandwidth to the client computing device in response to a determination that the requested bandwidth is less than the available bandwidth;

allocate a portion of the requested bandwidth to the client computing device in response to a determination that the requested bandwidth is greater than the available bandwidth; and

allocate no bandwidth to the client computing device in response to a determination that the network has no available bandwidth.

15. The device of claim 10 , wherein the NAS bandwidth manager component is further configured to deny the client computing device access to the NAS storage device in response to a determination that the request does not specify an explicit amount of bandwidth.

16. The device of claim 10 , wherein the NAS bandwidth manager component is further configured to:

establish a primary bandwidth reserve and a secondary bandwidth reserve,

in response to a determination that an available primary bandwidth of the primary bandwidth reserve is greater than or equal to a requested bandwidth of the plurality of bandwidths, allocate the requested bandwidth to the client computing device, and

in response to a determination that the available primary bandwidth is less than the requested bandwidth, allocate the available primary bandwidth and a portion of the secondary bandwidth reserve to the client computing device.

17. The device of claim 10 , wherein the client computing device uses different transmission control protocol (TCP) ports for the respective connections.

18. The method of claim 9 , further comprising declining, by the NAS bandwidth manager component, to allocate the at least one of the plurality of bandwidths in response to a determination that the client device does not have a bandwidth allocation specified in the bandwidth allocation chart.

19. The device of claim 10 , wherein the NAS bandwidth manager component is further configured to provide, to the client computing device, access to the NAS storage device in accordance with the plurality of bandwidths.

20. The device of claim 10 , wherein the NAS bandwidth manager component is further configured to:

identify the client computing device,

determine an allocated bandwidth cross-referenced to the client computing device based on the bandwidth allocation chart, and

provide, to the client computing device, access to the NAS storage device in accordance with the allocated bandwidth.

Assignments (6)
CHANGE OF NAME Recorded Dec 6, 2017
From: PROJECT DENVER INTERMEDIATE HOLDINGS LLC
To: AMPERE COMPUTING LLC
Reel/Frame 044717/0683 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2017
From: MACOM CONNECTIVITY SOLUTIONS, LLC
To: PROJECT DENVER INTERMEDIATE HOLDINGS LLC
Reel/Frame 044798/0599 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2017
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: MACOM CONNECTIVITY SOLUTIONS, LLC (SUCCESSOR TO APPLIED MICRO CIRCUITS CORPORATION)
Reel/Frame 044652/0609 →
SECURITY INTEREST Recorded May 11, 2017
From: MACOM CONNECTIVITY SOLUTIONS, LLC (SUCCESSOR TO APPLIED MICRO CIRCUITS CORPORATION)
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 042444/0891 →
MERGER AND CHANGE OF NAME Recorded Apr 6, 2017
From: APPLIED MICRO CIRCUITS CORPORATION; MACOM CONNECTIVITY SOLUTIONS, LLC; MACOM CONNECTIVITY SOLUTIONS, LLC
To: MACOM CONNECTIVITY SOLUTIONS, LLC
Reel/Frame 042176/0185 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2010
From: BATHIJA, PRAVIN
To: APPLIED MICRO CIRCUITS CORPORATION
Reel/Frame 024708/0473 →