IP Library Granted Patent US 8,347,058
Granted Patent B1
US 8,347,058 · App. 11/253,501 · Granted Jan 1, 2013

Storage configurator for determining an optimal storage configuration for an application

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,347,058
App. No.
11/253,501
Granted
Jan 1, 2013
Kind
B1
Abstract

A method for automatically (i.e., programmatically) determining a storage configuration for a storage system for a given application. The method may receive information on existing storage capabilities in the storage system and information regarding the software application that will use the storage system. The method may then automatically determine a storage configuration for the storage system based on the existing storage capabilities in the storage system, the information regarding the application, and application specific rules about storage configuration principles of the application. The rule may comprise priority information that specifies a priority in application of the rules, e.g., a structure or list of storage types in order of priority for different application data types.

Claims (98)

1. A method for determining a storage configuration of a storage system for an application, the method comprising:

determining existing storage capabilities of non-volatile storage in the storage system;

receiving information regarding the application;

automatically determining a storage configuration based on the existing storage capabilities of the non-volatile storage in the storage system and the information regarding the application, wherein said automatically determining comprises automatically determining storage allocations for storing one or more objects of the application on the non-volatile storage in the storage system, wherein said automatically determining is performed without user input specifying the storage allocations during said determining, wherein said automatically determining the storage configuration further comprises examining a first data structure comprising rule information, wherein the rule information is used in determining the storage configuration by performing pattern matching between the information regarding the application and the rule information;

storing the storage configuration, wherein the storage configuration is useable in configuring the non-volatile storage in the storage system to store the one or more objects of the application.

2. The method of claim 1 ,

wherein the rule information comprises rules about storage configuration principles of the application.

3. The method of claim 1 ,

wherein the rule information comprises priority information, wherein the priority information specifies a priority in application of rules in the rule information.

4. The method of claim 3 ,

wherein the rule information comprises storage types in order of priority for different application data types.

5. The method of claim 1 ,

wherein said automatically determining a storage configuration comprises:

examining available storage in the storage system;

automatically determining the storage allocations based on the available storage in the storage system and the rule information, wherein said determining uses an allocation algorithm; and

generating the storage configuration based on said determining.

6. The method of claim 1 ,

wherein said automatically determining a storage configuration comprises:

examining available storage in the storage system;

automatically determining the storage allocations based on the available storage in the storage system and the pattern matching; and

generating the storage configuration based on said determining.

7. The method of claim 1 ,

wherein said automatically determining a storage configuration comprises:

determining two or more groupings of application objects;

wherein said automatically determining a storage configuration uses the first data structure, results of the pattern matching, and the two or more groupings of application objects.

8. The method of claim 1 ,

wherein the application is an electronic mail service program;

wherein the rule information specifies relative preferences for each type of storage to each type of electronic mail service program volume.

9. The method of claim 8 ,

wherein the electronic mail service program is Microsoft Exchange.

10. The method of claim 8 ,

wherein the rule information specifies at least one file size based on a number of users and a mailbox size.

11. The method of claim 1 ,

wherein the application is Microsoft Exchange;

wherein the rule information specifies relative preferences for each type of storage to each type of Exchange volume.

12. The method of claim 1 ,

wherein said automatically determining a storage configuration comprises:

examining available storage in the storage system;

automatically determining the storage allocations based on the information regarding the application, the existing storage capabilities in the storage system and the available storage in the storage system, wherein said determining uses an allocation algorithm; and

generating the storage configuration based on said determining.

13. The method of claim 1 , further comprising:

configuring the storage system according to the storage configuration.

14. The method of claim 1 , further comprising:

receiving constraint information from the user;

wherein said automatically determining comprises determining the storage configuration for the storage system based on the existing storage capabilities in the storage system, the information regarding the application, and the constraint information from the user.

15. The method of claim 1 ,

wherein said receiving information regarding the application comprises automatically querying the application.

16. The method of claim 1 , wherein the storage system comprises a plurality of storage devices coupled together over a network.

17. A non-transitory computer readable memory medium comprising program instructions executable to implement:

determining existing storage capabilities of non-volatile storage in a storage system;

receiving information regarding an application;

automatically determining a storage configuration based on existing storage capabilities of the non-volatile storage in the storage system and the information regarding the application, wherein said automatically determining comprises automatically determining storage allocations for storing one or more objects of the application on the non-volatile storage in the storage system, wherein said automatically determining is performed without manual user input specifying the storage allocations, wherein said automatically determining the storage configuration further comprises examining a first data structure comprising rule information, wherein the rule information is used in determining the storage configuration by performing pattern matching between the information regarding the application and the rule information; and

storing the storage configuration, wherein the storage configuration is useable in configuring the non-volatile storage in the storage system to store the one or more objects of the application.

18. The memory medium of claim 17 ,

wherein the rule information comprises rules about storage configuration principles of the application.

19. The memory medium of claim 17 ,

wherein the rule information comprises priority information, wherein the priority information specifies a priority in application of rules in the rule information.

20. The memory medium of claim 19 ,

wherein the rule information comprises storage types in order of priority for different application data types.

21. The memory medium of claim 17 ,

wherein said automatically determining a storage configuration comprises:

examining available storage in the storage system;

automatically determining the storage allocations based on the available storage in the storage system and the rule information, wherein said determining uses an allocation algorithm; and

generating the storage configuration based on said determining.

22. The memory medium of claim 17 ,

wherein said automatically determining a storage configuration comprises:

examining available storage in the storage system;

automatically determining the storage allocations based on the available storage in the storage system and results of the pattern matching; and

generating the storage configuration based on said determining.

23. The memory medium of claim 22 ,

wherein said automatically determining a storage configuration further comprises:

determining two or more groupings of application objects.

24. The memory medium of claim 17 ,

wherein the application is an electronic mail service program;

wherein the rule information specifies relative preferences for each type of storage to each type of electronic mail service program volume.

25. The memory medium of claim 24 ,

wherein the electronic mail service program is Microsoft Exchange.

26. The memory medium of claim 24 ,

wherein the rule information specifies at least one file size based on a number of users and a mailbox size.

27. The memory medium of claim 17 ,

wherein the application is Microsoft Exchange;

wherein the rule information specifies relative preferences for each type of storage to each type of Exchange volume.

28. The memory medium of claim 17 ,

wherein said automatically determining a storage configuration comprises:

examining available storage in the storage system;

automatically determining the storage allocations based on the available storage in the storage system, wherein said determining uses an allocation algorithm; and

generating the storage configuration based on said determining.

29. The memory medium of claim 17 , wherein the program instructions are further executable to implement:

receiving constraint information from the user;

wherein said automatically determining comprises determining the storage configuration for the storage system based on the existing storage capabilities in the storage system, the information regarding the application, and the constraint information from the user.

30. The memory medium of claim 17 ,

wherein said receiving information regarding the application comprises automatically querying the application.

31. The memory medium of claim 17 , wherein the storage system comprises a plurality of storage devices coupled together over a network.

32. A system for determining a storage configuration of a storage system for an application, the system comprising:

means for determining existing storage capabilities of non-volatile storage in the storage system;

means for receiving information regarding the application;

means for automatically determining a storage configuration based on the existing storage capabilities of the non-volatile storage in the storage system and the information regarding the application, wherein said automatically determining comprises automatically determining storage allocations for storing one or more objects of the application on the non-volatile storage in the storage system, wherein said automatically determining is performed without manual user input specifying the storage allocations during said determining, wherein said automatically determining the storage configuration further comprises examining a first data structure comprising rule information, and performing pattern matching between the information regarding the application and the rule information;

means for storing the storage configuration, wherein the storage configuration is useable in configuring the non-volatile storage in the storage system to store the one or more objects of the application.

Assignments (16)
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Mar 5, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027819/0462 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →