Techniques for storing data based upon storage policies
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-017/30
G06F-007/00
G06F-012/00
출원번호
US-0433058
(2006-05-12)
등록번호
US-7454446
(2008-11-18)
발명자
/ 주소
Leung,Albert
Paliska,Giovanni
Greenblatt,Bruce
Chandra,Claudia
출원인 / 주소
Rocket Software, Inc.
대리인 / 주소
Barlow, Josephs & Holmes, Ltd.
인용정보
피인용 횟수 :
10인용 특허 :
5
초록▼
Automated techniques for storing data in a data storage environment. Techniques are provided for determining storage locations for data in a heterogeneous storage environment based upon storage policies configured for the storage environment. The data is stored in storage locations that enable effic
Automated techniques for storing data in a data storage environment. Techniques are provided for determining storage locations for data in a heterogeneous storage environment based upon storage policies configured for the storage environment. The data is stored in storage locations that enable efficient data access while optimizing the use of available storage resources with minimum human intervention.
대표청구항▼
What is claimed is: 1. In a storage environment comprising a plurality of storage devices, a method of identifying a storage device from the plurality of storage devices for storing data, the method comprising: receiving a signal to store a data unit; identifying a set of one or more placement rule
What is claimed is: 1. In a storage environment comprising a plurality of storage devices, a method of identifying a storage device from the plurality of storage devices for storing data, the method comprising: receiving a signal to store a data unit; identifying a set of one or more placement rules configured for the storage environment, each placement rule comprising data-related criteria identifying one or more conditions related to one or more characteristics of the data to be stored and device-related criteria identifying one or more conditions related to one or more storage device characteristics; calculating a data value score (DVS) for each placement rule in the set of placement rules based upon the data-related criteria of the placement rule and characteristics of the data unit; selecting a first placement rule from the set of placement rules based upon the DVSs associated with the set of placement rules; calculating a relative storage value score (RSVS) for each storage device in the plurality of storage devices based upon the device-related criteria of the first placement rule, the characteristics of the data unit, and characteristics of the storage device; and determining a storage device, from the plurality of storage devices, for storing the data unit based upon the set of placement rules and their associated DVSs, the RSVSs calculated for the plurality of storage devices, characteristics of the plurality of storage devices, and characteristics of the data unit to be stored. 2. The method of claim 1 wherein the DVS for a placement rule provides a measure of the one or more conditions specified in the data-related criteria of the placement rule that are satisfied by characteristics of the data unit to be stored. 3. The method of claim 1 wherein: the data-related criteria for a placement rule comprises: usage criteria comprising one or more conditions related to access information associated with a data unit; and unit selection criteria comprising one or more conditions related to characteristics of a data unit; and calculating a data value score (DVS) for each placement rule in the set of placement rules comprises: generating a usage score for the placement rule based upon the usage criteria for the placement rule and access information associated with the data unit to be stored; generating a unit selection score for the placement rule based upon the unit selection criteria for the placement rule and characteristics of the data unit to be stored; and generating the DVS for the placement rule based upon the usage score and the unit selection score. 4. The method of claim 1 wherein the RSVS for a storage device is directly proportional to the bandwidth supported by the storage device, directly proportional to the extent to which the storage device can store data without exceeding a threshold capacity, and inversely proportional to cost of storing data on the storage device. 5. The method of claim 4 wherein the RSVS for a storage device is directly proportional to availability of the storage device. 6. The method of claim 4 wherein selecting a storage device from the plurality of storage devices for storing the data unit based upon the RSVSs calculated for the plurality of storage devices comprises: selecting, from the plurality of storage devices, a storage device having the highest RSVS value. 7. The method of claim 1 wherein the RSVS calculated for a storage device indicates whether the storage device can support a device bandwidth value specified in the device-related criteria of the first placement rule. 8. The method of claim 1 wherein the RSVS calculated for a storage device indicates whether the storage device can store the data unit without exceeding a capacity threshold associated with the storage device. 9. The method of claim 1 wherein selecting the first placement rule comprises selecting a placement rule with the highest DVS as the first placement rule. 10. The method of claim 9 wherein selecting a placement rule with the highest DVS comprises: if the highest DVS is associated with multiple placement rules, using tie-breaking rules to select a placement rule from the multiple placement rules as the first placement rule. 11. The method of claim 1 wherein determining the storage device for storing the data unit comprises: based upon DVSs calculated for the set of placement rules, selecting a first placement rule from the plurality of placement rules; identifying a first set of storage devices from the plurality of storage devices based upon the device-related criteria of the first placement rule; generating, for each storage device in the first set of storage devices, a relative storage value score (RSVS) based upon the device-related criteria of the first placement rule, characteristics of the data unit, and characteristics of the storage device; and selecting a storage device from the plurality of storage devices for storing the data unit based upon the RSVSs calculated for the plurality of storage devices. 12. The method of claim 11 wherein: the RSVS for a storage device is calculated based upon bandwidth supported by the storage device, device bandwidth value specified in the device-related criteria of the first placement rule; desired threshold capacity configured for the storage device, the desired threshold capacity indicating a portion of total capacity of the device allocated for storing the data unit, and current usage information for the storage device, the current usage information indicates a portion of the storage device that is being used for storing data of a particular type, and cost of storing data on the storage device; and generating a RSVS for each storage device in the first set of storage devices comprises: generating a RSVS having a value of zero if the storage device is not capable of satisfying the bandwidth requirements specified by the first placement rule; generating a RSVS having a value greater than zero if the storage device is capable of satisfying the bandwidth requirements specified by the first placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device; and generating a RSVS having a value less than zero if the storage device is capable of satisfying the bandwidth requirements specified by the first placement rule and cannot store the data unit without exceeding a capacity threshold associated with the storage device. 13. The method of claim 12 wherein selecting a storage device from the first set for storing the data unit comprises selecting a device with the highest RSVS. 14. The method of claim 1 wherein: the DVS for a placement rule indicates a degree of relevancy of the placement rule to the data unit to be stored; and determining a storage device from the plurality of storage devices for storing the data unit comprises: (a) selecting a placement rule having a DVS indicating the highest degree of relevancy; (b) identifying a first set of storage devices from the plurality of devices based upon the selected placement rule; (c) generating a relative storage value score (RSVS) for each storage device in the first set of storage devices based upon the device-related criteria of the first placement rule, characteristics of the data unit, and characteristics of the storage device, the RSVS for a storage device indicating whether the storage device can satisfy bandwidth requirements specified by the selected placement rule and indicating if the storage device can store the data unit without exceeding a capacity threshold associated with the storage device; (d) determining if at least one storage device in the first set of storage devices is capable of satisfying the bandwidth requirements specified by the selected placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device; (e) if it is determined that at least one storage device in the first set of storage devices is capable of satisfying the bandwidth requirements specified by the selected placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device, selecting, based upon RSVSs generated for the storage devices, a storage device that is capable of satisfying the bandwidth requirements specified by the selected placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device; (f) if no storage device in the first set of devices is capable of satisfying the bandwidth requirements specified by the selected placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device, selecting another placement rule from the set of placement rules that has a DVS indicating the next highest degree of relevancy; and (g) iterating step (b) through (f) until a storage device is identified for storing the data unit that is capable of satisfying the bandwidth requirements specified by the first placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device. 15. The method of claim 1 wherein: the DVS for a placement rule indicates a degree of relevancy of the placement rule to the data unit to be stored; and determining a storage device from the plurality of storage devices for storing the data unit comprises: (a) selecting a placement rule having a DVS indicating the highest degree of relevancy; (b) identifying a first set of storage devices from the plurality of devices based upon the selected placement rule; (c) generating a relative storage value score (RSVS) for each storage device in the first set of storage devices based upon the device-related criteria of the first placement rule, characteristics of the data unit, and characteristics of the storage device, the RSVS for a storage device indicating a degree of desirability of storing the data unit on the storage device, the RSVS for a storage device indicating whether the storage device can satisfy bandwidth requirements specified by the selected placement rule and indicating if the storage device can store the data unit without exceeding a capacity threshold associated with the storage device; (d) determining if at least one storage device in the first set of storage devices is capable of satisfying the bandwidth requirements specified by the selected placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device; (e) if it is determined that at least one storage device in the first set of storage devices is capable of satisfying the bandwidth requirements specified by the selected placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device, selecting, based upon RSVSs generated for the storage devices, a storage device that is capable of satisfying the bandwidth requirements specified by the selected placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device; (f) if no storage device in the first set of devices is capable of satisfying the bandwidth requirements specified by the selected placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device: determining a first storage device from the first set of storage devices that can store the storage unit and is more desirable for storing the data unit than other devices in the first set of storage devices as indicated by the RSVSs generated for the devices; determining if a storage device has been identified as a candidate device; if a storage device has been marked as a candidate device: if the first storage device is more desirable for storing the data unit than the marked candidate device as indicated by the RSVSs associated with the first device and the marked candidate device, marking the first storage device as the candidate device; and selecting another placement rule from the set of placement rules that has a DVS indicating the next highest degree of relevancy; and (g) iterating steps (b) through (f) until a storage device is identified for storing the data unit or until all the placement rules in the set of placement rules have been processed; and (h) if all the placement rules in the set of placement rules have been processed and a storage device has not been identified for storing the data unit, selecting the storage device marked as the candidate device for storing the data unit. 16. In a storage environment comprising a plurality of storage devices, a data processing system for identifying a storage device from the plurality of storage devices for storing data, the data processing system comprising: a processor; a memory coupled to the processor, the memory configured to store a plurality of code modules for execution by the processor, the plurality of code modules comprising: a code module for receiving a signal to store a data unit; a code module for identifying a set of one or more placement rules configured for the storage environment, each placement rule comprising data-related criteria identifying one or more conditions related to one or more characteristics of the data to be stored and device-related criteria identifying one or more conditions related to one or more storage device characteristics; a code module for calculating a data value score (DVS) for each placement rule in the set of placement rules based upon the data-related criteria of the placement rule and characteristics of the data unit; a code module for selecting a first placement rule from the set of placement rules based upon the DVSs associated with the set of placement rules; a code module for calculating a relative storage value score (RSVS) for each storage device in the plurality of storage devices based upon the device-related criteria of the first placement rule, the characteristics of the data unit, and characteristics of the storage device; and a code module for determining a storage device, from the plurality of storage devices, for storing the data unit based upon the set of placement rules and their associated DVSs, the RSVSs calculated for the plurality of storage devices, characteristics of the plurality of storage devices, and characteristics of the data unit to be stored. 17. The system of claim 16 wherein the DVS for a placement rule provides a measure of the one or more conditions specified in the data-related criteria of the placement rule that are satisfied by characteristics of the data unit to be stored. 18. The system of claim 16 wherein: the data-related criteria for a placement rule comprises: usage criteria comprising one or more conditions related to access information associated with a data unit; and unit selection criteria comprising one or more conditions related to characteristics of a data unit; and the code module for calculating a data value score (DVS) for each placement rule in the set of placement rules comprises: a code module for generating a usage score for the placement rule based upon the usage criteria for the placement rule and access information associated with the data unit to be stored; a code module for generating a unit selection score for the placement rule based upon the unit selection criteria for the placement rule and characteristics of the data unit to be stored; and a code module for generating the DVS for the placement rule based upon the usage score and the unit selection score. 19. In a storage environment comprising a plurality of storage devices, a method of identifying a storage device from the plurality of storage devices for storing data, the method comprising: receiving a signal to store a data unit; identifying a set of one or more placement rules configured for the storage environment, each placement rule comprising data-related criteria identifying one or more conditions related to one or more characteristics of the data to be stored and device-related criteria identifying one or more conditions related to one or more storage device characteristics; calculating a data value score (DVS) for each placement rule in the set of placement rules based upon the data-related criteria of the placement rule and characteristics of the data unit; and determining a storage device, from the plurality of storage devices, for storing the data unit based upon the set of placement rules and their associated DVSs, characteristics of the plurality of storage devices, and characteristics of the data unit to be stored, wherein determining the storage device for storing the data unit comprises: based upon DVSs calculated for the set of placement rules, selecting a first placement rule from the plurality of placement rules; identifying a first set of storage devices from the plurality of storage devices based upon the device-related criteria of the first placement rule; generating, for each storage device in the first set of storage devices, a relative storage value score (RSVS) based upon bandwidth supported by the storage device, device bandwidth value specified in the device-related criteria of the first placement rule; desired threshold capacity configured for the storage device, the desired threshold capacity indicating a portion of total capacity of the device allocated for storing the data unit, and current usage information for the storage device, the current usage information indicates a portion of the storage device that is being used for storing data of a particular type, and cost of storing data on the storage device; and said generating a RSVS for each storage device in the first set of storage devices comprises: generating a RSVS having a value of zero if the storage device is not capable of satisfying the bandwidth requirements specified by the first placement rule; generating a RSVS having a value greater than zero if the storage device is capable of satisfying the bandwidth requirements specified by the first placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device; generating a RSVS having a value less than zero if the storage device is capable of satisfying the bandwidth requirements specified by the first placement rule and cannot store the data unit without exceeding a capacity threshold associated with the storage device; and selecting a storage device from the plurality of storage devices for storing the data unit based upon the RSVSs calculated for the plurality of storage devices. 20. The method of claim 19 wherein the DVS for a placement rule provides a measure of the one or more conditions specified in the data-related criteria of the placement rule that are satisfied by characteristics of the data unit to be stored. 21. The method of claim 19 wherein: the data-related criteria for a placement rule comprises: usage criteria comprising one or more conditions related to access information associated with a data unit; and unit selection criteria comprising one or more conditions related to characteristics of a data unit; and calculating a data value score (DVS) for each placement rule in the set of placement rules comprises: generating a usage score for the placement rule based upon the usage criteria for the placement rule and access information associated with the data unit to be stored; generating a unit selection score for the placement rule based upon the unit selection criteria for the placement rule and characteristics of the data unit to be stored; and generating the DVS for the placement rule based upon the usage score and the unit selection score. 22. The method of claim 19 wherein determining the storage device from the plurality of storage devices for storing the data unit comprises: selecting a first placement rule from the set of placement rules based upon the DVSs associated with the set of placement rules; calculating a relative storage value score (RSVS) for each storage device in the plurality of storage devices based upon the device-related criteria of the first placement rule, the characteristics of the data unit, and characteristics of the storage device; and selecting a storage device from the plurality of storage devices for storing the data unit based upon the RSVSs calculated for the plurality of storage devices. 23. The method of claim 22 wherein the RSVS for a storage device is directly proportional to the bandwidth supported by the storage device, directly proportional to the extent to which the storage device can store data without exceeding a threshold capacity, and inversely proportional to cost of storing data on the storage device. 24. The method of claim 23 wherein the RSVS for a storage device is directly proportional to availability of the storage device. 25. The method of claim 23 wherein selecting a storage device from the plurality of storage devices for storing the data unit based upon the RSVSs calculated for the plurality of storage devices comprises: selecting, from the plurality of storage devices, a storage device having the highest RSVS value. 26. The method of claim 22 wherein the RSVS calculated for a storage device indicates whether the storage device can support a device bandwidth value specified in the device-related criteria of the first placement rule. 27. The method of claim 22 wherein the RSVS calculated for a storage device indicates whether the storage device can store the data unit without exceeding a capacity threshold associated with the storage device. 28. The method of claim 22 wherein selecting the first placement rule comprises selecting a placement rule with the highest DVS as the first placement rule. 29. The method of claim 28 wherein selecting a placement rule with the highest DVS comprises: if the highest DVS is associated with multiple placement rules, using tie-breaking rules to select a placement rule from the multiple placement rules as the first placement rule. 30. The method of claim 19 wherein selecting a storage device from the first set for storing the data unit comprises selecting a device with the highest RSVS. 31. The method of claim 19 wherein: the DVS for a placement rule indicates a degree of relevancy of the placement rule to the data unit to be stored; and determining a storage device from the plurality of storage devices for storing the data unit comprises: (a) selecting a placement rule having a DVS indicating the highest degree of relevancy; (b) identifying a first set of storage devices from the plurality of devices based upon the selected placement rule; (c) generating a relative storage value score (RSVS) for each storage device in the first set of storage devices based upon the device-related criteria of the first placement rule, characteristics of the data unit, and characteristics of the storage device, the RSVS for a storage device indicating whether the storage device can satisfy bandwidth requirements specified by the selected placement rule and indicating if the storage device can store the data unit without exceeding a capacity threshold associated with the storage device; (d) determining if at least one storage device in the first set of storage devices is capable of satisfying the bandwidth requirements specified by the selected placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device; (e) if it is determined that at least one storage device in the first set of storage devices is capable of satisfying the bandwidth requirements specified by the selected placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device, selecting, based upon RSVSs generated for the storage devices, a storage device that is capable of satisfying the bandwidth requirements specified by the selected placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device; (f) if no storage device in the first set of devices is capable of satisfying the bandwidth requirements specified by the selected placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device, selecting another placement rule from the set of placement rules that has a DVS indicating the next highest degree of relevancy; and (g) iterating step (b) through (f) until a storage device is identified for storing the data unit that is capable of satisfying the bandwidth requirements specified by the first placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device. 32. The method of claim 19 wherein: the DVS for a placement rule indicates a degree of relevancy of the placement rule to the data unit to be stored; and determining a storage device from the plurality of storage devices for storing the data unit comprises: (a) selecting a placement rule having a DVS indicating the highest degree of relevancy; (b) identifying a first set of storage devices from the plurality of devices based upon the selected placement rule; (c) generating a relative storage value score (RSVS) for each storage device in the first set of storage devices based upon the device-related criteria of the first placement rule, characteristics of the data unit, and characteristics of the storage device, the RSVS for a storage device indicating a degree of desirability of storing the data unit on the storage device, the RSVS for a storage device indicating whether the storage device can satisfy bandwidth requirements specified by the selected placement rule and indicating if the storage device can store the data unit without exceeding a capacity threshold associated with the storage device; (d) determining if at least one storage device in the first set of storage devices is capable of satisfying the bandwidth requirements specified by the selected placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device; (e) if it is determined that at least one storage device in the first set of storage devices is capable of satisfying the bandwidth requirements specified by the selected placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device, selecting, based upon RSVSs generated for the storage devices, a storage device that is capable of satisfying the bandwidth requirements specified by the selected placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device; (f) if no storage device in the first set of devices is capable of satisfying the bandwidth requirements specified by the selected placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device: determining a first storage device from the first set of storage devices that can store the storage unit and is more desirable for storing the data unit than other devices in the first set of storage devices as indicated by the RSVSs generated for the devices; determining if a storage device has been identified as a candidate device; if a storage device has been marked as a candidate device: if the first storage device is more desirable for storing the data unit than the marked candidate device as indicated by the RSVSs associated with the first device and the marked candidate device, marking the first storage device as the candidate device; and selecting another placement rule from the set of placement rules that has a DVS indicating the next highest degree of relevancy; and (g) iterating steps (b) through (f) until a storage device is identified for storing the data unit or until all the placement rules in the set of placement rules have been processed; and (h) if all the placement rules in the set of placement rules have been processed and a storage device has not been identified for storing the data unit, selecting the storage device marked as the candidate device for storing the data unit. 33. In a storage environment comprising a plurality of storage devices, a data processing system for identifying a storage device from the plurality of storage devices for storing data, the data processing system comprising: a processor; a memory coupled to the processor, the memory configured to store a plurality of code modules for execution by the processor, the plurality of code modules comprising: a code module for receiving a signal to store a data unit; a code module for identifying a set of one or more placement rules configured for the storage environment, each placement rule comprising data-related criteria identifying one or more conditions related to one or more characteristics of the data to be stored and device-related criteria identifying one or more conditions related to one or more storage device characteristics; a code module for calculating a data value score (DVS) for each placement rule in the set of placement rules based upon the data-related criteria of the placement rule and characteristics of the data unit; and a code module for determining a storage device, from the plurality of storage devices, for storing the data unit based upon the set of placement rules and their associated DVSs, characteristics of the plurality of storage devices, and characteristics of the data unit to be stored, wherein said code module for determining the storage device for storing the data unit comprises: a code module for selecting a first placement rule from the plurality of placement rules based upon DVSs calculated for the set of placement rules; a code module for identifying a first set of storage devices from the plurality of storage devices based upon the device-related criteria of the first placement rule; a code module for generating, for each storage device in the first set of storage devices, a relative storage value score (RSVS) based upon bandwidth supported by the storage device, device bandwidth value specified in the device-related criteria of the first placement rule; desired threshold capacity configured for the storage device, the desired threshold capacity indicating a portion of total capacity of the device allocated for storing the data unit, and current usage information for the storage device, the current usage information indicates a portion of the storage device that is being used for storing data of a particular type, and cost of storing data on the storage device; and said code module for generating a RSVS for each storage device in the first set of storage devices comprises: a code module for generating a RSVS having a value of zero if the storage device is not capable of satisfying the bandwidth requirements specified by the first placement rule; a code module for generating a RSVS having a value greater than zero if the storage device is capable of satisfying the bandwidth requirements specified by the first placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device; a code module for generating a RSVS having a value less than zero if the storage device is capable of satisfying the bandwidth requirements specified by the first placement rule and cannot store the data unit without exceeding a capacity threshold associated with the storage device; and a code module for selecting a storage device from the plurality of storage devices for storing the data unit based upon the RSVSs calculated for the plurality of storage devices. 34. The system of claim 33 wherein the DVS for a placement rule provides a measure of the one or more conditions specified in the data-related criteria of the placement rule that are satisfied by characteristics of the data unit to be stored. 35. The system of claim 33 wherein: the data-related criteria for a placement rule comprises: usage criteria comprising one or more conditions related to access information associated with a data unit; and unit selection criteria comprising one or more conditions related to characteristics of a data unit; and the code module for calculating a data value score (DVS) for each placement rule in the set of placement rules comprises: a code module for generating a usage score for the placement rule based upon the usage criteria for the placement rule and access information associated with the data unit to be stored; a code module for generating a unit selection score for the placement rule based upon the unit selection criteria for the placement rule and characteristics of the data unit to be stored; and a code module for generating the DVS for the placement rule based upon the usage score and the unit selection score.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (5)
Imanaka Takeshi (Katano JPX), Data retrieval using user evaluation of data presented to construct interference rules and calculate range of inputs nee.
Jonathan T. Foote ; Lynn Wilcox, Methods and apparatuses for segmenting an audio-visual recording using image similarity searching and audio speaker recognition.
Kumar, Alok; Chandra, Prashant; Naik, Uday; Varde, Ameya S.; Chou, David, Facilitating transmission of a packet in accordance with a number of transmit buffers to be associated with the packet.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.