IP Library Granted Patent US 7,509,316
Granted Patent B2
US 7,509,316 · App. 10/877,501 · Granted Mar 24, 2009

Techniques for performing policy automated operations

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,509,316
App. No.
10/877,501
Granted
Mar 24, 2009
Kind
B2
Abstract

Techniques for automatically performing various data and storage management operations in a storage environment. The operations to be performed are automatically determined based upon policies configured for the data and storage environment. For a selected operation, one or more files on which the operation is to be performed are also automatically determined. The one or more files may be selected using different techniques based upon characteristics of the files and also based upon the operation to be performed. Target storage units, if need for the operation, are also automatically determined. The operations are then performed on the selected files. Examples of policy-driven operations include copying a file, moving a file, deleting a file, archiving a file, backing-up a file, restoring a file, migrating a file, recalling a file, etc.

Claims (133)

1. A computer-implemented method of managing a storage environment comprising a plurality of storage units, the method comprising:

determining a first policy configured for the storage environment, wherein a first operation is associated with the first policy;

calculating, using a processor and a memory of a computer, a data value score for each file in a set of files stored on a first storage unit from the plurality of storage units;

selecting a first file from the set of files for performing the first operation based upon the data value scores calculated for the files in set of files and based upon the first operation to be performed; and

performing the first operation on the selected first file.

2. The method of claim 1 wherein selecting the first file from the set of file comprises:

determining, based upon the first operation to be performed, a first selection technique from a plurality of selection techniques; and

selecting, based upon data values scores calculated for the set of files, the first file from the set of files for performing the first operation by applying the first selection technique.

3. The method of claim 1 wherein selecting the first file from the set of files for performing the first operation comprises:

using a first selection technique for selecting the file from the set of files upon determining that the first operation is of a first type; and

using a second selection technique for selecting the file from the set of files upon determining that the first operation is of a second type, wherein the second selection technique is different from the first selection technique.

4. The method of claim 1 wherein:

the data value score calculated for a file indicates a value of the file; and

selecting the first file from the set of files for performing the first operation comprises:

selecting, based upon the data value scores for the set of files, a file having highest value upon determining that the first operation is of a first type; and

selecting, based upon the data value scores for the set of files, a file having lowest value upon determining that the first operation is of a second type.

5. The method of claim 4 wherein the first operation of the second type is an operation to delete a file.

6. The method of claim 1 wherein selecting the first file from the set of files for performing the first operation comprises:

using a first selection technique for selecting the file from the set of files upon determining that the first operation is to move a file from the first storage unit to second storage unit that is slower than the first storage unit; and

using a second selection technique for selecting the file from the set of files upon determining that the first operation is to move a file from the first storage unit to a storage unit that is faster than the first storage unit.

7. The method of claim 1 wherein performing the first operation comprises deleting the first file from the first storage unit.

8. The method of claim 1 wherein performing the first operation comprises migrating the first file from the first storage unit.

9. The method of claim 1 further comprising determining a second storage unit for the first operation.

10. The method of claim 9 wherein performing the first operation comprises copying the first file to the second storage unit.

11. The method of claim 9 wherein performing the first operation comprises moving the first file from the first storage unit to the second storage unit.

12. The method of claim 9 wherein performing the first operation comprises backing-up the first file to the second storage unit.

13. The method of claim 9 wherein determining the second storage unit comprises:

calculating a storage value score for a set of storage units from the plurality of storage units; and

selecting a storage unit from the set of storage units as the second storage unit based upon the storage value scores calculated for storage units in the set of storage units.

14. The method of claim 1 further comprising:

detecting a first trigger; and

performing the determining, calculating, selecting, and performing the first operation steps responsive to detecting the first trigger.

15. The method of claim 14 further comprising monitoring storage capacity for the plurality of storage units;

wherein detecting the first trigger comprises detecting that storage capacity for at least one storage unit from the plurality of storage units has exceeded a threshold value.

16. The method of claim 14 further comprising monitoring one or more files stored by the plurality of storage units;

wherein detecting the first trigger comprises detecting presence of a file having a first characteristic.

17. The method of claim 1 wherein determining the first policy comprises:

determining a priority associated with each policy in a plurality of policies; and

selecting a policy with the highest associated priority from the plurality of policies as the first policy.

18. The method of claim 1 wherein calculating the data value score for each file in the set of files stored on the first storage unit comprises:

determining a set of file-related conditions specified by the first policy; and

calculating a data value score for each file in the set of files based upon the file

selection conditions, wherein the data value score for a file indicates the degree to which the set of file-related conditions are satisfied by the file.

19. A computer readable medium storing a set of code modules which when executed by a processor of a computer system cause the processor to manage a storage environment comprising a plurality of storage units, the computer readable medium comprising:

code for determining a first policy configured for the storage environment, wherein a first operation is associated with the first policy;

code for calculating a data value score for each file in a set of files stored on a first storage unit from the plurality of storage units using the processor of the computer system;

code for selecting a first file from the set of files for performing the first operation based upon the data value scores calculated for the files in set of files and based upon the first operation to be performed; and

code for performing the first operation on the selected first file.

20. The computer readable medium of claim 19 wherein the code for selecting the first file from the set of file comprises:

code for determining, based upon the first operation to be performed, a first selection technique from a plurality of selection techniques; and

code for selecting, based upon data values scores calculated for the set of files, the first file from the set of files for performing the first operation by applying the first selection technique.

21. The computer readable medium of claim 19 wherein the code for selecting the first file from the set of files for performing the first operation comprises:

code for using a first selection technique for selecting the file from the set of files upon determining that the first operation is of a first type; and

code for using a second selection technique for selecting the file from the set of files upon determining that the first operation is of a second type, wherein the second selection technique is different from the first selection technique.

22. The computer readable medium of claim 19 wherein:

the data value score calculated for a file indicates a value of the file; and

the code for selecting the first file from the set of files for performing the first operation comprises:

code for selecting, based upon the data value scores for the set of files, a file having highest value upon determining that the first operation is of a first type; and

code for selecting, based upon the data value scores for the set of files, a file having lowest value upon determining that the first operation is of a second type.

23. The computer readable medium of claim 19 wherein the code for selecting the first file from the set of files for performing the first operation comprises:

code for using a first selection technique for selecting the file from the set of files upon determining that the first operation is to move a file from the first storage unit to

second storage unit that is slower than the first storage unit; and code for using a second selection technique for selecting the file from the set of files upon determining that the first operation is to move a file from the first storage unit to a storage unit that is faster than the first storage unit.

24. The computer readable medium of claim 19 wherein the first operation is at least of an operation to delete the first file from the first storage unit, an operation to migrate the first file from the first storage unit, an operation to archive the first file, and an operation to restore the first file.

25. The computer readable medium of claim 19 further comprising code for determining a second storage unit for the first operation.

26. The computer readable medium of claim 25 wherein the first operation is at least one of an operation to copy the first file to the second storage unit, an operation to move the first file from the first storage unit to the second storage unit, and an operation to backup the first file to the second storage unit.

27. The computer readable medium of claim 25 wherein the code for determining the second storage unit comprises:

code for calculating a storage value score for a set of storage units from the plurality of storage units; and

code for selecting a storage unit from the set of storage units as the second storage unit based upon the storage value scores calculated for storage units in the set of storage units.

28. The computer readable medium of claim 19 further comprising:

code for detecting a first trigger; and

code for performing the determining, calculating, selecting, and performing the first operation responsive to detecting the first trigger.

29. The computer readable medium of claim 28 further comprising code for monitoring storage capacity for the plurality of storage units;

wherein the code for detecting the first trigger comprises code for detecting that storage capacity for at least one storage unit from the plurality of storage units has exceeded a threshold value.

30. The computer readable medium of claim 28 further comprising code for monitoring one or more files stored by the plurality of storage units;

wherein the code for detecting the first trigger comprises code for detecting presence of a file having a first characteristic.

31. The computer readable medium of claim 19 wherein the code for determining the first policy comprises:

code for determining a priority associated with each policy in a plurality of policies; and

code for selecting a policy with the highest associated priority from the plurality of policies as the first policy.

32. The computer readable medium of claim 19 wherein the code for calculating the data value score for each file in the set of files stored on the first storage unit comprises:

code for determining a set of file-related conditions specified by the first policy; and

code for calculating a data value score for each file in the set of files based upon the file selection conditions, wherein the data value score for a file indicates the degree to which the set of file-related conditions are satisfied by the file.

33. A system for managing a storage environment, the system comprising:

a plurality of storage units; and

a data processing system, including a processor and a memory, coupled with the plurality of storage units;

wherein the data processing system is configured to:

determine a first policy configured for the storage environment, wherein a first operation is associated with the first policy;

calculate a data value score for each file in a set of files stored on a first storage unit from the plurality of storage units using the processor and memory;

select a first file from the set of files for performing the first operation based upon the data value scores calculated for the files in set of files and based upon the first operation to be performed; and

cause the first operation to be performed on the selected first file.

34. The system of claim 33 wherein the data processing system is configured to:

determine, based upon the first operation to be performed, a first selection

technique from a plurality of selection techniques; and

select, based upon data values scores calculated for the set of files, the first file from the set of files for performing the first operation by applying the first selection technique.

35. The system of claim 33 wherein the data processing system is configured to:

use a first selection technique for selecting the file from the set of files upon determining that the first operation is of a first type; and

use a second selection technique for selecting the file from the set of files upon determining that the first operation is of a second type, wherein the second selection technique is different from the first selection technique.

36. The system of claim 33 wherein:

the data value score calculated for a file indicates a value of the file; and the data processing system is configured to:

select, based upon the data value scores for the set of files, a file having highest value upon determining that the first operation is of a first type; and

select, based upon the data value scores for the set of files, a file having lowest value upon determining that the first operation is of a second type.

37. The system of claim 33 wherein the data processing system is configured to:

use a first selection technique for selecting the file from the set of files upon determining that the first operation is to move a file from the first storage unit to second storage unit that is slower than the first storage unit; and

use a second selection technique for selecting the file from the set of files upon determining that the first operation is to move a file from the first storage unit to a storage unit that is faster than the first storage unit.

38. The system of claim 33 wherein the first operation is at least of an operation to delete the first file from the first storage unit, an operation to migrate the first file from the first storage unit, an operation to archive the first file, and an operation to restore the first file.

39. The system of claim 33 wherein the data processing system is configured to determine a second storage unit for the first operation.

40. The system of claim 39 wherein the first operation is at least one of an operation to copy the first file to the second storage unit, an operation to move the first file from the first storage unit to the second storage unit, and an operation to backup the first file to the second storage unit.

41. The system of claim 39 wherein the data processing system is configured to:

calculate a storage value score for a set of storage units from the plurality of storage units; and

select a storage unit from the set of storage units as the second storage unit based upon the storage value scores calculated for storage units in the set of storage units.

42. The system of claim 33 wherein the data processing system is configured to:

detect a first trigger; and

perform the determining, calculating, selecting, and performing the first operation steps responsive to detecting the first trigger.

43. The system of claim 42 wherein the data processing system is configured to:

monitor storage capacity for the plurality of storage units; and

detect that storage capacity for at least one storage unit from the plurality of storage units has exceeded a threshold value.

44. The system of claim 42 wherein the data processing system is configured to:

monitor one or more files stored by the plurality of storage units; and

detect presence of a file having a first characteristic.

45. The system of claim 33 wherein the data processing system is configured to:

determine a priority associated with each policy in a plurality of policies; and

select a policy with the highest associated priority from the plurality of policies as the first policy.

46. The system of claim 33 wherein the data processing system is configured to:

determine a set of file-related conditions specified by the first policy; and

calculate a data value score for each file in the set of files based upon the file selection conditions, wherein the data value score for a file indicates the degree to which the set of file-related conditions are satisfied by the file.

47. A method for managing a storage environment comprising a plurality of storage units, the method comprising:

calculating, based upon a storage policy, a data value score for each file in a set of files stored on a first storage unit from the plurality of storage units using a processor and a memory of a computer;

selecting a first file from the set of files based upon the data value scores calculated for the set of files; and

performing a first operation on the selected first file.

48. A method for managing a storage environment comprising a plurality of storage units, the method comprising:

receiving a trigger to store a first file;

calculate, based upon a storage policy configured for the storage environment, a storage value score for each storage unit in a set of storage units from the plurality of storage units using a processor and a memory of a computer; and

select a first storage unit from the set of storage units based upon the storage value scores calculated for the storage units in the set of storage units; and

storing the first file on the first storage unit.

Assignments (14)
PATENT SECURITY AGREEMENT (NOTES) Recorded May 2, 2024
From: ROCKET SOFTWARE, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067292/0099 →
RELEASE OF SECURITY INTEREST IN PATENTS (SECOND LIEN) RECORDED AT REEL/FRAME NO.: 050339/0839 Recorded Feb 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ROCKET SOFTWARE, INC.
Reel/Frame 055206/0148 →
SECOND LIEN SECURITY AGREEMENT Recorded Apr 30, 2019
From: ROCKET SOFTWARE, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050339/0839 →
FIRST LIEN SECURITY AGREEMENT Recorded Apr 29, 2019
From: ROCKET SOFTWARE, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 049026/0136 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 040014/0756 Recorded Nov 28, 2018
From: CREDIT SUISSE AG
To: ROCKET SOFTWARE, INC.; COMPUTER CORPORATION OF AMERICA; ROCKET SOFTWARE SYSTEMS, INC.
Reel/Frame 048174/0225 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 040015/0171 Recorded Nov 28, 2018
From: CREDIT SUISSE AG
To: ROCKET SOFTWARE, INC.; COMPUTER CORPORATION OF AMERICA; ROCKET SOFTWARE SYSTEMS, INC.
Reel/Frame 048156/0811 →
SECURITY INTEREST Recorded Oct 14, 2016
From: ROCKET SOFTWARE, INC.; COMPUTER CORPORATION OF AMERCIA; ROCKET SOFTWARE SYSTEMS, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT UNDER FIRST LIEN CREDIT AGREEMENT
Reel/Frame 040014/0756 →
SECURITY INTEREST Recorded Oct 14, 2016
From: ROCKET SOFTWARE, INC.; COMPUTER CORPORATION OF AMERCIA; ROCKET SOFTWARE SYSTEMS, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT UNDER SECOND LIEN CREDIT AGREEMENT
Reel/Frame 040015/0171 →
RELEASE OF SECURITY INTEREST Recorded Sep 28, 2016
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: ROCKET SOFTWARE, INC.; COMPUTER CORPORATION OF AMERICA; ROCKET SOFTWARE SYSTEMS, INC.
Reel/Frame 039877/0884 →
RELEASE OF SECURITY INTEREST Recorded Sep 28, 2016
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: ROCKET SOFTWARE, INC.; COMPUTER CORPORATION OF AMERICA; ROCKET SOFTWARE SYSTEMS, INC.
Reel/Frame 039877/0807 →
SECURITY AGREEMENT Recorded Mar 2, 2012
From: ROCKET SOFTWARE, INC.; ROCKET SOFTWARE (US) LLC; COMPUTER CORPORATION OF AMERICA; ALDON COMPUTER GROUP; ZEPHYR DEVELOPMENT CORPORATION
To: CREDIT SUISSE AG, AS SECOND LIEN ADMINISTRATIVE AGENT
Reel/Frame 027800/0744 →
SECURITY AGREEMENT Recorded Mar 2, 2012
From: ROCKET SOFTWARE, INC.; ROCKET SOFTWARE (US) LLC; COMPUTER CORPORATION OF AMERICA; ALDON COMPUTER GROUP; ZEPHYR DEVELOPMENT CORPORATION
To: CREDIT SUISSE AG, AS FIRST LIEN ADMINISTRATIVE AGENT
Reel/Frame 027800/0921 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2008
From: ARKIVIO, INC.
To: ROCKET SOFTWARE, INC.
Reel/Frame 021603/0331 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2004
From: GREENBLATT, BRUCE; CHANDRA, CLAUDIA; CHENG, WEN
To: ARKIVIO, INC.
Reel/Frame 015905/0806 →