IP Library Granted Patent US 9,389,807
Granted Patent B2
US 9,389,807 · App. 14/162,673 · Granted Jul 12, 2016

Conflict management for application directed data placement in storage environments

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,389,807
App. No.
14/162,673
Granted
Jul 12, 2016
Kind
B2
Abstract

A storage controller receives hints provided by one or more applications over a period of time, wherein the hints are used by the storage controller for organizing data in storage managed by the storage controller. Data on conflicts caused by the provided hints are collected over the period of time. Based on the collected data on the conflicts, one or more conflict avoidance rules are executed to reduce possibility of future conflicts.

Claims (60)

1. A method, comprising:

receiving, by a storage controller, hints provided by one or more applications over a period of time, wherein the hints are used by the storage controller for organizing data in storage managed by the storage controller;

collecting data on conflicts caused by the provided hints over the period of time; and

based on the collected data on the conflicts, executing one or more conflict avoidance rules to reduce possibility of future conflicts, wherein the method further comprises:

reorganizing data, in response to determining that the conflicts exceed a first threshold, and a number of conflicting applications exceeds a second threshold;

reducing lease window of data if all the conflicting applications have same priority; and

providing higher priority to an application with highest rejection rate.

2. The method of claim 1 , the method further comprising:

determining, based on the collected data, that thrashing exceeds a threshold level;

in response to determining that the thrashing exceeds the threshold level, disabling hints that correspond to extents that are affected by the thrashing; and

using an automated storage management mechanism of the storage management application to manage the selected extents without using the hints corresponding to the selected extents.

3. The method of claim 2 , wherein the hints corresponding to the selected extents are disabled for a predetermined period of time and the hints corresponding to the selected extents are enabled after an expiry of the predetermined period of time.

4. The method of claim 1 , the method further comprising:

determining that hint spread is below a first threshold level and that a target tier in which extents with hints are placed has a utilization level that is below a second threshold level;

using caching for segments of the extents that have hints indicating that the segments are likely to have relatively high utilization, rather than tiering an entirety of the extents.

5. The method of claim 4 , the method further comprising:

placing the segments of the extents that have hints indicating that the segments are likely to have relatively high utilization in the target tier without moving the entirety of the extents to the target tier.

6. The method of claim 5 , the method further comprising:

disabling hints of the extents, in response to failure of the caching and a failure of the placing of the segments of the extents in the target tier to increase the utilization level to at least the second threshold level.

7. A storage controller, comprising:

a memory; and

a processor coupled to the memory, wherein the processor performs operations, the operations comprising:

receiving, hints provided by one or more applications over a period of time, wherein the hints are used by the storage controller for organizing data in storage managed by the storage controller;

collecting data on conflicts caused by the provided hints over the period of time; and

based on the collected data on the conflicts, executing one or more conflict avoidance rules to reduce possibility of future conflicts, the operations further comprising:

reorganizing data, in response to determining that the conflicts exceed a first threshold, and a number of conflicting applications exceeds a second threshold;

reducing lease window of data if all the conflicting applications have same priority; and

providing higher priority to an application with highest rejection rate.

8. The storage controller of claim 7 , the operations further comprising:

determining, based on the collected data, that thrashing exceeds a threshold level;

in response to determining that the thrashing exceeds the threshold level, disabling hints that correspond to extents that are affected by the thrashing; and

using an automated storage management mechanism of the storage management application to manage the selected extents without using the hints corresponding to the selected extents.

9. The storage controller of claim 8 , wherein the hints corresponding to the selected extents are disabled for a predetermined period of time and the hints corresponding to the selected extents are enabled after an expiry of the predetermined period of time.

10. The storage controller of claim 7 , the operations further comprising:

determining that hint spread is below a first threshold level and that a target tier in which extents with hints are placed has a utilization level that is below a second threshold level;

using caching for segments of the extents that have hints indicating that the segments are likely to have relatively high utilization, rather than tiering an entirety of the extents.

11. The storage controller of claim 10 , the operations further comprising:

placing the segments of the extents that have hints indicating that the segments are likely to have relatively high utilization in the target tier without moving the entirety of the extents to the target tier.

12. The storage controller of claim 11 , the operations further comprising:

disabling hints of the extents, in response to failure of the caching and a failure of the placing of the segments of the extents in the target tier to increase the utilization level to at least the second threshold level.

13. A computer program product, the computer program product comprising:

a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to perform operations on a processor, the operations comprising:

receiving, by a storage controller, hints provided by one or more applications over a period of time, wherein the hints are used by the storage controller for organizing data in storage managed by the storage controller;

collecting data on conflicts caused by the provided hints over the period of time; and

based on the collected data on the conflicts, executing one or more conflict avoidance rules to reduce possibility of future conflicts, the operations further comprising:

reorganizing data, in response to determining that the conflicts exceed a first threshold, and a number of conflicting applications exceeds a second threshold;

reducing lease window of data if all the conflicting applications have same priority; and

providing higher priority to an application with highest rejection rate.

14. The computer program product of claim 13 , the operations further comprising:

determining, based on the collected data, that thrashing exceeds a threshold level;

in response to determining that the thrashing exceeds the threshold level, disabling hints that correspond to extents that are affected by the thrashing; and

using an automated storage management mechanism of the storage management application to manage the selected extents without using the hints corresponding to the selected extents.

15. The computer program product of claim 14 , wherein the hints corresponding to the selected extents are disabled for a predetermined period of time and the hints corresponding to the selected extents are enabled after an expiry of the predetermined period of time.

16. The computer program product of claim 13 , the operations further comprising:

determining that hint spread is below a first threshold level and that a target tier in which extents with hints are placed has a utilization level that is below a second threshold level;

using caching for segments of the extents that have hints indicating that the segments are likely to have relatively high utilization, rather than tiering an entirety of the extents.

17. The computer program product of claim 16 , the operations further comprising:

placing the segments of the extents that have hints indicating that the segments are likely to have relatively high utilization in the target tier without moving the entirety of the extents to the target tier.

18. The computer program product of claim 17 , the operations further comprising:

disabling hints of the extents, in response to failure of the caching and a failure of the placing of the segments of the extents in the target tier to increase the utilization level to at least the second threshold level.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: AIRBNB, INC.
Reel/Frame 056427/0193 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2014
From: CHIU, LAWRENCE Y.; LIU, YANG; MEI, MEI; SESHADRI, SANGEETHA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033376/0450 →