IP Library Granted Patent US 9,147,374
Granted Patent B2
US 9,147,374 · App. 13/898,690 · Granted Sep 29, 2015

Controlling real-time compression detection

Inventors: Jonathan Amit (Omer, IL); Lilia Demidov (Ness-Tziona, IL); Yakov Gerlovin (Tel Aviv, IL); Nir Halowani (Holon, IL); Sergey Marenkov (Tel Aviv, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G09G5/00G06T9/00H04N7/00H04N13/00
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,147,374
App. No.
13/898,690
Granted
Sep 29, 2015
Kind
B2
Abstract

A detection learning module is used for enabling and/or disabling real-time compression detection by maintaining a history of real-time compression detection success for sampled data. The enabling or disabling of the real-time compression detection is based on a detection benefit function derived from a set of calculated heuristics indicating the real-time compression detection success on input streams.

Claims (83)

1. A method for controlling real-time compression detection by a processor device in a computing environment, the method comprising:

using a detection learning module for one of enabling and disabling real-time compression detection by maintaining a history of real-time compression detection success for sampled data;

enabling or disabling the real-time compression detection based on a detection benefit function derived from a set of calculated heuristics indicating the real-time compression detection success on input streams;

calculating a real-time compression detection histogram; and

updating a real-time compression detection interval according to a real-time compression detection histogram.

2. The method of claim 1 , further including disabling the real-time compression detection if the detection benefit function indicates that the real-time compression detection success for the sampled data is below a detection success threshold.

3. The method of claim 2 , further including enabling the real-time compression detection if the detection benefit function indicates that the real-time compression detection success for the sampled data is above a detection success threshold.

4. The method of claim 3 , further including updating false detect calls where the detection benefit function indicates that the sampled data is above the detection success threshold but a compressed buffer benefit is below a compression buffer benefit threshold.

5. The method of claim 1 , further including calculating each of the calculated heuristics one after another, wherein a heuristic score is computed for each of the calculated heuristics.

6. The method of claim 5 , further including calculating the detection benefit function based on at least one heuristic score.

7. The method of claim 1 , further including using the detection learning module by one of:

providing an indication for one of enabling and disabling real-time compression detection for each real-time compression detection,

performing one of enabling and disabling real-time compression detection on demand when a compression ratio is below a predetermined threshold for a predefined number of buffers and bytes, wherein the detection learning module is turned off when one of all and a majority of data is compressible,

performing one of enabling and disabling real-time compression detection according to one of a buffer size and set of buffer sizes.

8. The method of claim 1 , further including performing at least one of:

storing the sampled data as uncompressed while still generating a history window if the detection learning module indicates the data is uncompressible,

checking a next write operation after storing the sampled data as uncompressed while still generating the history window,

running the detection learning module if the detection learning module indicates the sampled data is uncompressible,

compressing the sampled data and verifying an indication of the detection learning module that the data is uncompressible is accurate,

running the detection learning module until reaching an end of an output block if the detection learning module indicates the data is uncompressible,

ignoring the detection learning module until reaching the end of an output block if the detection learning module indicates the data is compressible,

reactivating the detection learning module,

storing a result of the real-time compression detection if the detection learning module indicates the data is compressible, and

disabling the real-time compression detection until an uncompressed write operation is reached if the real-time compression detection indicates a real-time compression decision is dominant.

9. The method of claim 1 , further including, for eliminating a real-time compression re-detection of the sampled data, performing at least one of:

determining if a signature of the real-time compression detection histogram calculated for the sampled data matches an existing real-time compression detection histogram,

skipping the real-time compression detection for the sampled data without any further real-time compression detection processing if the signature of the real-time compression detection histogram calculated for the sampled data matches an existing real-time compression detection histogram.

10. A system for controlling real-time compression detection in a computing environment, the system comprising:

a storage controller including a detection learning module; and

at least one processor device operable in the computing environment and in communication with the detection learning module, wherein the at least one processor device:

uses the detection learning module for one of enabling and disabling real-time compression detection by maintaining a history of real-time compression detection success for sampled data,

enables or disables the real-time compression detection based on a detection benefit function derived from a set of calculated heuristics indicating the real-time compression detection success on input streams,

calculates a real-time compression detection histogram, and

updates a real-time compression detection interval according to a real-time compression detection histogram.

11. The system of claim 10 , wherein the at least one processor device disables the real-time compression detection if the detection benefit function indicates that the real-time compression detection success for the sampled data is below a detection success threshold.

12. The system of claim 11 , wherein the at least one processor device enables the real-time compression detection if the detection benefit function indicates that the real-time compression detection success for the sampled data is above a detection success threshold.

13. The system of claim 12 , wherein the at least one processor device updates false detect calls where the detection benefit function indicates that the sampled data is above the detection success threshold but a compressed buffer benefit is below a compression buffer benefit threshold.

14. The system of claim 10 , wherein the at least one processor device calculates each of the calculated heuristics one after another, wherein a heuristic score is computed for each of the calculated heuristics.

15. The system of claim 14 , wherein the at least one processor device calculates the detection benefit function based on at least one heuristic score.

16. The system of claim 10 , wherein the at least one processor device uses the detection learning module by one of:

providing an indication for one of enabling and disabling real-time compression detection for each real-time compression detection,

performing one of enabling and disabling real-time compression detection on demand when a compression ratio is below a predetermined threshold for a predefined number of buffers and bytes, wherein the detection learning module is turned off when one of all and a majority of data is compressible,

performing one of enabling and disabling real-time compression detection according to one of a buffer size and set of buffer sizes.

17. The system of claim 10 , wherein the at least one processor device performs at least one of:

storing the sampled data as uncompressed while still generating a history window if the detection learning module indicates the data is uncompressible,

checking a next write operation after storing the sampled data as uncompressed while still generating the history window,

running the detection learning module if the detection learning module indicates the sampled data is uncompressible,

compressing the sampled data and verifying an indication of the detection learning module that the data is uncompressible is accurate,

running the detection learning module until reaching an end of an output block if the detection learning module indicates the data is uncompressible,

ignoring the detection learning module until reaching the end of an output block if the detection learning module indicates the data is compressible,

reactivating the detection learning module,

storing a result of the real-time compression detection if the detection learning module indicates the data is compressible, and

disabling the real-time compression detection until an uncompressed write operation is reached if the real-time compression detection indicates a real-time compression decision is dominant.

18. The system of claim 10 , wherein the at least one processor device, for eliminating a real-time compression re-detection of the sampled data, performs at least one of:

determining if a signature of the real-time compression detection histogram calculated for the sampled data matches an existing real-time compression detection histogram,

skipping the real-time compression detection for the sampled data without any further real-time compression detection processing if the signature of the real-time compression detection histogram calculated for the sampled data matches an existing real-time compression detection histogram.

19. A computer program product for controlling real-time compression detection by a processor device, the computer program product comprising a non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:

a first executable portion that uses a detection learning module for one of enabling and disabling real-time compression detection by maintaining a history of real-time compression detection success for sampled data;

a second executable portion that enables or disables the real-time compression detection based on a detection benefit function derived from a set of calculated heuristics indicating the real-time compression detection success on input streams;

a third executable portion that calculates a real-time compression detection histogram; and

a fourth executable portion that updates a real-time compression detection interval according to a real-time compression detection histogram.

20. The computer program product of claim 19 , further including a fifth executable portion that disables the real-time compression detection if the detection benefit function indicates that the real-time compression detection success for the sampled data is below a detection success threshold.

21. The computer program product of claim 20 , further including a sixth executable portion that enables the real-time compression detection if the detection benefit function indicates that the real-time compression detection success for the sampled data is above a detection success threshold.

22. The computer program product of claim 21 , further including a seventh executable portion that updates false detect calls where the detection benefit function indicates that the sampled data is above the detection success threshold but a compressed buffer benefit is below a compression buffer benefit threshold.

23. The computer program product of claim 19 , further including a fifth executable portion that calculates each of the calculated heuristics one after another, wherein a heuristic score is computed for each of the calculated heuristics.

24. The computer program product of claim 23 , further including a sixth executable portion that calculates the detection benefit function based on at least one heuristic score.

25. The computer program product of claim 19 , further including a fifth executable portion that uses the detection learning module by one of:

providing an indication for one of enabling and disabling real-time compression detection for each real-time compression detection,

performing one of enabling and disabling real-time compression detection on demand when a compression ratio is below a predetermined threshold for a predefined number of buffers and bytes, wherein the detection learning module is turned off when one of all and a majority of data is compressible,

performing one of enabling and disabling real-time compression detection according to one of a buffer size and set of buffer sizes.

26. The computer program product of claim 19 , further including a fifth executable portion that performs at least one of:

storing the sampled data as uncompressed while still generating a history window if the detection learning module indicates the data is uncompressible,

checking a next write operation after storing the sampled data as uncompressed while still generating the history window,

running the detection learning module if the detection learning module indicates the sampled data is uncompressible,

compressing the sampled data and verifying an indication of the detection learning module that the data is uncompressible is accurate,

running the detection learning module until reaching an end of an output block if the detection learning module indicates the data is uncompressible,

ignoring the detection learning module until reaching the end of an output block if the detection learning module indicates the data is compressible,

reactivating the detection learning module,

storing a result of the real-time compression detection if the detection learning module indicates the data is compressible, and

disabling the real-time compression detection until an uncompressed write operation is reached if the real-time compression detection indicates a real-time compression decision is dominant.

27. The computer program product of claim 19 , further including a fifth executable portion that, for eliminating a real-time compression re-detection of the sampled data, performs at least one of:

determining if a signature of the real-time compression detection histogram calculated for the sampled data matches an existing real-time compression detection histogram,

skipping the real-time compression detection for the sampled data without any further real-time compression detection processing if the signature of the real-time compression detection histogram calculated for the sampled data matches an existing real-time compression detection histogram.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA PREVIOUSLY RECORDED ON REEL 030456 FRAME 0680. ASSIGNOR(S) HEREBY CONFIRMS THE INVENTOR SIGNATURE FOR SERGEY MARENKOV WAS INCLUDED IN THE ORIGINAL ASSIGNMENT. Recorded Jun 4, 2013
From: AMIT, JONATHAN; DEMIDOV, LILIA; GERLOVIN, YAKOV; HALOWANI, NIR; MARENKOV, SERGEY
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030555/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2013
From: AMIT, JONATHAN; DEMIDOV, LILIA; GERLOVIN, YAKOV; HALOWANI, NIR
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030456/0680 →
Continuity (1)
Related Publication 20140347331A1 · Nov 27, 2014