IP Library Granted Patent US 7,130,970
Granted Patent B2
US 7,130,970 · App. 10/658,095 · Granted Oct 31, 2006

Dynamic storage device pooling in a computer system

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 7,130,970
App. No.
10/658,095
Granted
Oct 31, 2006
Kind
B2
Abstract

A method for dynamically allocating control of a storage device, the method comprising receiving an access request from a first computer requesting access to a storage device; directing, based upon the access request, a first storage controller computer to assume an inactive state with respect to control of the storage device; and directing, based upon the access request, a second storage controller computer to assume an active state with respect to control of the storage device.

Claims (67)

1. A method for dynamically allocating control of a storage device, the method comprising:

receiving an access request from a client computer requesting access to a storage device;

directing, based upon the access request, a first computer to assume an inactive state with respect to control of the storage device;

directing, based upon the access request, a second computer to assume an active state with respect to control of the storage device; and

generating storage path data indicating a network path to the storage device.

2. The method of claim 1 , wherein generating storage path data comprises generating storage path data at the second computer.

3. The method of claim 2 , comprising communicating the storage path data to a third computer configured to perform said directing the first computer and said directing the second computer.

4. The method of claim 2 , comprising communicating the storage path data to the client computer.

5. A method for dynamically allocating control of a storage device, the method comprising:

receiving an access request from a client computer requesting access to a storage device;

directing, based upon the access request, a first computer to assume an inactive state with respect to control of the storage device;

directing, based upon the access request, a second computer to assume an active state with respect to control of the storage device; and

allocating control of the storage based on the priority of a storage operation.

6. A method for dynamically allocating control of a storage device, the method comprising:

receiving an access request from a client computer requesting access to a storaqe device;

directing, based upon the access request, a first computer to assume an inactive state with respect to control of the storage device;

directing, based upon the access request, a second computer to assume an active state with respect to control of the storage device; and

storing, in a database, control data indicating a change in control of the storage device, wherein storing control data in a database comprises storing control data in a database of at least one of the first and second computers.

7. A method for dynamically allocating control of a storage device, the method comprising:

receiving an access request from a client computer requesting access to a storage device;

directing, based upon the access request, a first computer to assume an inactive state with respect to control of the storage device;

directing, based upon the access request, a second computer to assume an active state with respect to control of the storage device; and

storing, in a database, control data indicating a change in control of the storage device, wherein storing control data in a database comprises storing control data in a database of a third computer configured to perform said directing the first computer and said directing the second computer.

8. A method for dynamically allocating control of a storage device, the method comprising:

receiving an access request from a client computer requesting access to a storage device;

directing, based upon the access request, a first computer to assume an inactive state with respect to control of the storage device;

directing, based upon the access request, a second computer to assume an active state with respect to control of the storage device;

storing, in a database, control data indicating a chance in control of the storage device; and

identifying, based upon the control data, whether the first computer or second computer is available to perform a storage operation.

9. The method of claim 8 , comprising directing, based upon the availability of the first computer or second computer, a third computer to assume an active state with respect to control of the storage device.

10. A system for dynamically allocating control of a storage device, the system comprising:

a storage device;

a first computer configured to direct storage operations performed by the storage device;

a second computer configured to direct storage operations performed by the storage device; and

a third computer configured, based upon an access request from a client computer requesting access to the storage device, to direct the first computer to assume an inactive state with respect to control of the storage device and to direct the second computer to assume an active state with respect to control of the storage device, wherein the first and second computers are programmed to generate storage path data indicating a network path to the storage device.

11. The system of claim 10 , wherein the first and second computers are programmed to communicate the storage path data to the third computer.

12. The system of claim 10 , wherein the first and second computers are programmed to communicate the storage path data to the client computer.

13. A system for dynamically allocating control of a storage device, the system comprising:

a storage device;

a first computer configured to direct storage operations performed by the storage device;

a second computer configured to direct storage operations performed by the storage device; and

a third computer configured, based upon an access request from a client computer requesting access to the storage device, to direct the first computer to assume an inactive state with respect to control of the storage device and to direct the second computer to assume an active state with respect to control of the storage device, wherein the third computer is programmed to generate storage path data indicating a network path to the storage device.

14. The system of claim 13 , wherein the third computer is programmed to communicate the storage path data to the client computer.

15. A system for dynamically allocating control of a storage device, the system comprising:

a storage device;

a first computer configured to direct storage operations performed by the storage device;

a second computer configured to direct storage operations performed by the storage device; and

a third computer configured, based upon an access request from a client computer requesting access to the storage device, to direct the first computer to assume an inactive state with respect to control of the storage device and to direct the second computer to assume an active state with respect to control of the storage device, wherein each of the first and second computers is programmed to allocate control of the storage device based on the priority of a storage operation.

16. A system for dynamically allocating control of a storage device, the system comprising:

a storage device;

a first computer configured to direct storage operations performed by the storage device;

a second computer configured to direct storage operations performed by the storage device;

a third computer configured, based upon an access request from a client computer requesting access to the storage device, to direct the first computer to assume an inactive state with respect to control of the storage device and to direct the second computer to assume an active state with respect to control of the storage device; and

a database for storing control data indicating a change in control of the storage device, wherein the database comprises a database of at least one of the first and second computers.

17. A system for dynamically allocating control of a storage device, the system comprising:

a storage device;

a first computer configured to direct storage operations performed by the storage device;

a second computer configured to direct storage operations performed by the storage device;

a third computer configured, based upon an access request from a client computer requesting access to the storage device, to direct the first computer to assume an inactive state with respect to control of the storage device and to direct the second computer to assume an active state with respect to control of the storage device; and

a database for storing control data indicating a change in control of the storage device, wherein the database comprises a database of the third computer.

18. A system for dynamically allocating control of a storage device, the system comprising:

a storage device;

a first computer configured to direct storage operations performed by the storage device;

a second computer configured to direct storage operations performed by the storage device;

a third computer configured, based upon an access request from a client computer requesting access to the storage device, to direct the first computer to assume an inactive state with respect to control of the storage device and to direct the second computer to assume an active state with respect to control of the storage device; and

a database for storing control data indicating a change in control of the storage device, wherein the third computer is programmed to identify, based upon the control data, whether the first or second computers is available to perform a storage operation.

19. The method of claim 18 , wherein, based upon the availability of the first or second computers, the third computer is programmed to direct a fourth computer to assume an active state with respect to control of the storage device.

Assignments (5)
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
RELEASE OF SECURITY INTEREST Recorded Jan 6, 2021
From: BANK OF AMERICA, N.A.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 054913/0905 →
SECURITY INTEREST Recorded Jul 2, 2014
From: COMMVAULT SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033266/0678 →
RELEASE Recorded Jul 7, 2008
From: SILICON VALLEY BANK
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 021217/0246 →
SECURITY AGREEMENT Recorded May 8, 2006
From: COMMVAULT SYSTEMS, INC.
To: SILICON VALLEY BANK
Reel/Frame 017586/0261 →