IP Library Granted Patent US 9,386,100
Granted Patent B2
US 9,386,100 · App. 14/042,695 · Granted Jul 5, 2016

Real-time storage area network

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 9,386,100
App. No.
14/042,695
Granted
Jul 5, 2016
Kind
B2
Abstract

A cluster of computing systems is provided with guaranteed real-time access to data storage in a storage area network. Processes issue request for bandwidth reservation which are initially handled by a daemon on the same node as the requesting processes. The local daemon determines whether bandwidth is available and, if so, reserves the bandwidth in common hardware on the local node, then forwards requests for shared resources to a master daemon for the cluster. The master daemon makes similar determinations and reservations for resources shared by the cluster, including data storage elements in the storage area network and grants admission to the requests that don't exceed total available bandwidth.

Claims (35)

1. A method for accessing a storage area network (SAN) by real-time applications, the method comprising:

receiving at a master node of a plurality of nodes, from a real-time application executing on the master node, a first request for reservation of a first specified amount of bandwidth to access components in the SAN to a shared resource of the SAN;

identifying that that one or more components in the SAN has sufficient bandwidth capacity to service the first request;

generating, at the master node of the plurality of nodes, a second request for reservation of a second specified amount of bandwidth to access the components in the storage area network to the shared resource of the SAN, wherein the second request requests bandwidth to be granted to a process executing at a second node of the plurality of nodes, and the second node is a client node of the master node;

allocating a percentage of the total bandwidth of the shared resource to each of a plurality of nodes according to the first and the second request, wherein each individual node of the plurality of nodes maintains allocation information about the shared resource, and the allocation information maintained on an individual node includes the amount of bandwidth of the shared resource that has been allocated to the individual node; and

allowing access to the SAN by the real-time application, wherein data accessed by the real-time application is communicated over a network communication interface, and a local daemon executing at the second node allocates an additional amount of bandwidth to access the SAN to an application executing on at least one node of the plurality of nodes without sending a request to the master node.

2. The method of claim 1 , further comprising receiving, at a master daemon the first request for reserving of the specified amount of bandwidth, wherein the master daemon performs the allocating of the percentage of the total bandwidth of the shared resource to each of the plurality of the nodes except for the additional amount of bandwidth allocated by the local daemon executing at the second node.

3. The method of claim 2 , further comprising maintaining in each of the plurality of the nodes for which bandwidth to the shared resource is allocated information corresponding to the shared resources of the SAN.

4. The method of claim 1 , wherein local daemons in each of the plurality of nodes performs the allocating of the percentage of the total bandwidth of the shared resource to each of the plurality of the nodes by transmitting messages between the local daemons in each of the plurality of nodes, the messages identifying the percentage the total bandwidth of the shared resource to be allocated to each of the plurality of nodes.

5. The method of claim 4 , further comprising maintaining in each of the plurality of the nodes for which bandwidth to the shared resource is allocated information corresponding to the shared resources of the SAN.

6. The method of claim 1 , further comprising reserving, by a daemon in the SAN without a specific request from any real time application, an additional amount of bandwidth not included in the specified amount of bandwidth previously requested by the real-time application.

7. The method of claim 6 , further comprising allocating by the daemon in the SAN, the additional amount of bandwidth reserved for access to the SAN to other applications executing on the a node of the plurality of nodes and for which no bandwidth request was issued by the daemon.

8. The method of claim 1 , further comprising:

identifying, by a daemon at the master node, that each component along a local path in the master node to the requested storage element has sufficient bandwidth for the first request from the real-time application executing on the master node; and

identifying that the first request includes access to the shared resource.

9. A system for accessing a storage area network by real-time applications, comprising:

a shared resource; and

a plurality of nodes including a first node and a second node, wherein:

each of the nodes of the plurality of nodes includes a processor, a memory, and a network interface,

the first node of the plurality of nodes receives from a real-time application executing on the first node a first request for reservation of a first specified amount of bandwidth to access components in the storage area network to the shared resource of a SAN, the first node of the plurality of nodes is a master node, and the second node is a client node of the master node;

one or more components in the SAN are identified as having sufficient bandwidth capacity to service the first request;

a second request for reserving a second specified amount of bandwidth to access the components in the SAN to the shared resource of the SAN is generated at the node of the plurality of nodes, wherein the second request requests bandwidth to be granted to a process executing at the second node of the plurality of nodes,

a percentage of the total bandwidth of the shared resource is allocated to each of the plurality of nodes,

each individual node of the plurality of nodes maintains allocation information about the shared resource, and the allocation information maintained on an individual node includes the amount of bandwidth of the shared resource that has been allocated to the individual node,

access to the storage area network is allowed by the real-time application, and

data accessed by the real-time application is communicated over a network communication interface, and a local daemon executing at the second node allocates an additional amount of bandwidth to access the SAN to an application executing on at least one node of the plurality of nodes without sending a request to the first node.

10. The system of claim 9 , further comprising the master daemon receiving the first request for reserving of the specified amount of bandwidth, wherein the master daemon performs the allocating of the percentage of the total bandwidth of the shared resource to each of the plurality of the nodes except for the additional amount of bandwidth allocated by the local daemon executing at the second node.

11. The system of claim 10 , wherein each of the plurality of the nodes for which bandwidth to the shared resource is allocated maintaining information corresponding to the shared resources of the SAN.

12. The system of claim 9 , wherein local daemons in each of the plurality of nodes performs the allocating of the percentage of the total bandwidth of the shared resource to each of the plurality of the nodes by transmitting messages between the local daemons in each of the plurality of nodes, the messages identifying the percentage the total bandwidth of the shared resource to be allocated to each of the plurality of nodes.

13. The system of claim 12 , wherein each of the plurality of the nodes for which bandwidth to the shared resource is allocated maintaining information corresponding to the shared resources of the SAN.

14. The system of claim 9 , further comprising a daemon in the SAN reserving, without a specific request from any real time application, an additional amount of bandwidth not included in the specified amount of bandwidth previously requested by the real-time application.

15. The system of claim 14 , wherein the daemon is a daemon executing in the storage area network that allocates the additional amount of bandwidth reserved for access to the storage area network to other applications executing on a node of the plurality of nodes and for which no bandwidth request was issued by the daemon.

16. The system of claim 9 , further comprising:

a local daemon at the first node identifying that each component along a local path in the first node to the requested storage element has sufficient bandwidth for the first request from the real-time application executing on the node, and

identifying that the first request includes access to the shared resource.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044128/0149 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS AGENT
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 040545/0362 →
SECURITY INTEREST Recorded Mar 13, 2015
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035200/0722 →
CHANGE OF NAME Recorded Apr 15, 2014
From: SILICON GRAPHICS INTERNATIONAL, INC.
To: SGI INTERNATIONAL, INC.
Reel/Frame 032694/0009 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2014
From: RAYMOND, MICHAEL A.
To: SILICON GRAPHICS, INC.
Reel/Frame 032678/0203 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2014
From: SILICON GRAPHICS, INC.
To: SILICON GRAPHICS INTERNATIONAL, INC.
Reel/Frame 032678/0322 →
MERGER Recorded Apr 15, 2014
From: SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 032678/0737 →