Bandwidth sensitive data compression and decompression
DC CAFCFirst Claim
Patent Images
1. A method comprising:
- compressing data using a first compression routine providing a first compression rate, wherein the first compression routine comprises a first compression algorithm;
tracking the throughput of a data processing system to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold, wherein said tracking throughput comprises tracking a number of pending requests for data transmission; and
when the tracked throughput does not meet the predetermined throughput threshold, compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, to increase the throughput of the data processing system to at least the predetermined throughput level, wherein the second compression routine comprises a second compression algorithm.
2 Assignments
Litigations
3 Petitions
Accused Products
Abstract
Data compression and decompression methods for compressing and decompressing data based on an actual or expected throughput (bandwidth) of a system. In one embodiment, a controller tracks and monitors the throughput (data storage and retrieval) of a data compression system and generates control signals to enable/disable different compression algorithms when, e.g., a bottleneck occurs so as to increase the throughput and eliminate the bottleneck.
450 Citations
41 Claims
-
1. A method comprising:
-
compressing data using a first compression routine providing a first compression rate, wherein the first compression routine comprises a first compression algorithm; tracking the throughput of a data processing system to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold, wherein said tracking throughput comprises tracking a number of pending requests for data transmission; and when the tracked throughput does not meet the predetermined throughput threshold, compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, to increase the throughput of the data processing system to at least the predetermined throughput level, wherein the second compression routine comprises a second compression algorithm. - View Dependent Claims (2, 3, 4)
-
-
5. A method comprising:
-
compressing data using a first compression routine providing a first compression rate; tracking the throughput of a data processing system to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold; and when the tracked throughput does not meet the predetermined throughput threshold, compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, to increase the throughput of the data processing system to at least the predetermined throughput level, wherein the first compression routine comprises an asymmetric routine and wherein the second compression routine comprises a symmetric routine. - View Dependent Claims (6, 7)
-
-
8. A method comprising:
-
compressing data using a first compression routine providing a first compression rate; tracking the throughput of a data processing system to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold, wherein said tracking throughput comprises tracking a number of pending requests for data transmission; and when the tracked throughput does not meet the predetermined throughput threshold, compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, to increase the throughput of the data processing system to at least the predetermined throughput level; and utilizing the second routine to perform compression until the throughput of the data processing system is determined to meet the predetermined throughput threshold, and then reusing the first compression routine. - View Dependent Claims (9, 10)
-
-
11. A method comprising:
-
compressing data using a first compression routine providing a first compression rate; tracking the throughput of a data processing system to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold; and when the tracked throughput does not meet the predetermined throughput threshold, compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, to increase the throughput of the data processing system to at least the predetermined throughput level; and utilizing the second routine to perform compression until the throughput of the data processing system is determined to meet the predetermined throughput threshold, and then reusing the first compression routine, wherein the first compression routine comprises a default asymmetrical algorithm. - View Dependent Claims (12, 13)
-
-
14. A method comprising:
-
compressing data using a first compression routine providing a first compression rate; tracking the throughput of a data processing system to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold; and when the tracked throughput does not meet the predetermined throughput threshold, compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, to increase the throughput of the data processing system to at least the predetermined throughput level; and processing a user command to load a user-selected compression routine for compressing data. - View Dependent Claims (15, 16)
-
-
17. A method comprising:
-
compressing data using a first compression routine providing a first compression rate; tracking the throughput of a data processing system to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold; and when the tracked throughput does not meet the predetermined throughput threshold, compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, to increase the throughput of the data processing system to at least the predetermined throughput level; processing a user command to compress user-provided data; and automatically selecting a compression routine associated with a data type of the user-provided data.
-
-
18. A method comprising:
-
compressing data using a first compression routine providing a first compression rate; tracking the throughput of a data processing system to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold; and when the tracked throughput does not meet the predetermined throughput threshold, compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, to increase the throughput of the data processing system to at least the predetermined throughput level, wherein said tracking throughput comprises tracking a number of pending access requests to a storage device.
-
-
19. A method comprising:
-
compressing data using a first compression routine providing a first compression rate; tracking the throughput of a data processing system to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold; and when the tracked throughput does not meet the predetermined throughput threshold, compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, to increase the throughput of the data processing system to at least the predetermined throughput level, wherein said tracking throughput comprises tracking a number of pending requests for data transmission over a communication channel. - View Dependent Claims (20, 21)
-
-
22. A method comprising:
-
receiving a digital data stream at an input data transmission rate that is greater than a data storage rate of a target storage device; compressing the digital data stream at a compression rate that increases the effective data storage rate of the target storage device, wherein the compression rate is at least equal to the ratio of the input data transmission rate to the data storage rate so as to provide continuous storage of the input digital data stream at the input data transmission rate; and storing the compressed digital data stream in the target storage device; wherein said compressing comprises; compressing data using a first compression routine providing a first compression rate, wherein the first compression routine comprises a first compression algorithm; tracking an amount of pending access requests to the storage device to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold; and compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, if the tracked throughput does not meet the predetermined throughput threshold, wherein the second compression routine comprises a second compression algorithm.
-
-
23. A system comprising:
-
a data compression system for compressing and decompressing data input; a plurality of compression routines selectively utilized by the data compression system, wherein a first one of the plurality of compression routines includes a first compression algorithm and a second one of the plurality of compression routines includes a second compression algorithm; and a controller for tracking throughput and generating a control signal to select a compression routine based on the throughput, wherein said tracking throughput comprises tracking a number of pending requests for data transmission; and wherein when the controller determines that the throughput falls below a predetermined throughput threshold, the controller commands the data compression engine to use one of the plurality of compression routines to provide a faster rate of compression so as to increase the throughput.
-
-
24. A system comprising:
-
a data compression system for compressing and decompressing data input; a plurality of compression routines selectively utilized by the data compression system; a controller for tracking throughput and generating a control signal to select a compression routine based on the throughput, wherein when the controller determines that the throughput falls below a predetermined throughput threshold, the controller commands the data compression engine to use one of the plurality of compression routines to provide a faster rate of compression so as to increase the throughput; and a plurality of access profiles, operatively accessible by the controller, to determine a compression routine that is associated with a data type of data to be compressed.
-
-
25. A system comprising:
-
a data compression system for compressing and decompressing data input; a plurality of compression routines selectively utilized by the data compression system; a controller for tracking throughput and generating a control signal to select a compression routine based on the throughput, wherein when the controller determines that the throughput falls below a predetermined throughput threshold, the controller commands the data compression engine to use one of the plurality of compression routines to provide a faster rate of compression so as to increase the throughput, wherein the system comprises a data storage controller, wherein the system throughput comprises a number of pending access requests to a storage device.
-
-
26. A system comprising:
-
a data compression system for compressing and decompressing data input; a plurality of compression routines selectively utilized by the data compression system; a controller for tracking throughput and generating a control signal to select a compression routine based on the throughput, wherein when the controller determines that the throughput falls below a predetermined throughput threshold, the controller commands the data compression engine to use one of the plurality of compression routines to provide a faster rate of compression so as to increase the throughput, wherein the system comprises a data transmission controller, wherein the system throughput comprises a number of pending transmission requests over a communication channel.
-
-
27. A program storage device readable by a machine, tangibly embodying a program instructions executable by the machine to perform the method comprising:
-
compressing data using a first compression routine providing a first compression rate, wherein the first compression routine comprises a first compression algorithm; tracking the throughput of a data processing system to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold, wherein said tracking throughput comprises tracking a number of pending request for data transmission; and when the tracked throughput does not meet the predetermined throughput threshold, compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, to increase the throughput of the data processing system to at least the predetermined throughput level, wherein the second compression routine comprises a second compression algorithm.
-
-
28. A program storage device readable by a machine, tangibly embodying a program instructions executable by the machine to perform the method comprising:
-
receiving a digital data stream at an input data transmission rate that is greater than a data storage rate of a target storage device; compressing the digital data stream at a compression rate that increases the effective data storage rate of the target storage device, wherein the compression rate is at least equal to the ratio of the input data transmission rate to the data storage rate so as to provide continuous storage of the input digital data stream at the input data transmission rate; and storing the compressed digital data stream in the target storage device; wherein said compressing comprises; compressing data using a first compression routine providing a first compression rate, wherein the first compression routine comprises a first compression algorithm; tracking an amount of pending access requests to the storage device to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold; and compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, if the tracked throughput does not meet the predetermined throughput threshold, wherein the second compression routine comprises a second compression algorithm.
-
-
29. A method comprising:
-
using a first compression algorithm to compress data at a first compression rate to provide first compressed data to a communications channel; tracking the throughput of the communications channel, wherein said tracking throughput comprises tracking a number of pending requests for data transmission over said communications channel; determining if the first compression rate provides throughput that meets a predetermined throughput threshold; and when the tracked throughput does not meet the predetermined throughput threshold, using a second compression algorithm to compress data at a second compression rate to provide second compressed data to the communications channel, wherein the second compression rate is greater than the first compression rate and providing the second compressed data to the communications channel increases the throughput of the communications channel. - View Dependent Claims (30, 31, 32, 33)
-
-
34. A method comprising:
-
compressing data using a first compression routine providing a first compression rate, wherein the first compression routine comprises a first compression algorithm; tracking the throughput of a data processing system to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold; and when the tracked throughput does not meet the predetermined throughput threshold, compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, to increase the throughput of the data processing system to at least the predetermined throughput level, wherein the second compression routine comprises a second compression algorithm, wherein the first compression routine comprises an asymmetric routine.
-
-
35. A method comprising:
-
using a first compression algorithm to compress data at a first compression rate to provide first compressed data to a communications channel; tracking the throughput of the communications channel; determining if the first compression rate provides throughput that meets a predetermined throughput threshold; and when the tracked throughput does not meet the predetermined throughput threshold, using a second compression algorithm to compress data at a second compression rate to provide second compressed data to the communications channel, wherein the second compression rate is greater than the first compression rate and providing the second compressed data to the communications channel increases the throughput of the communications channel, wherein the first compression algorithm comprises an asymmetric algorithm.
-
-
36. A method comprising:
-
using a first compression algorithm to compress data at a first compression rate to provide first compressed data to a communications channel; tracking the throughput of the communications channel; determining if the first compression rate provides throughput that meets a predetermined throughput threshold; and when the tracked throughput does not meet the predetermined throughput threshold, using a second compression algorithm to compress data at a second compression rate to provide second compressed data to the communications channel, wherein the second compression rate is greater than the first compression rate and providing the second compressed data to the communications channel increases the throughput of the communications channel, wherein the first compression algorithm comprises an asymmetric algorithm and the second compression algorithm comprises a symmetric algorithm.
-
-
37. A method comprising:
-
receiving a digital data stream at an input data transmission rate that is greater than a data storage rate of a target storage device; compressing the digital data stream at a compression rate that increases the effective data storage rate of the target storage device; and storing the compressed digital data stream in the target storage device, wherein said compressing comprises; compressing data using a first compression routine providing a first compression rate, wherein the first compression routine comprises a first compression algorithm; tracking an amount of pending access requests to the storage device to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold; and compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, if the tracked throughput does not meet the predetermined throughput threshold, wherein the second compression routine comprises a second compression algorithm.
-
-
38. A method comprising:
-
compressing data using a first compression routine providing a first compression rate, wherein the first compression routine comprises a first compression algorithm; tracking the throughput of a data processing system to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold, wherein said tracking throughput comprises tracking a number of pending access requests to a storage device; and when the tracked throughput does not meet the predetermined throughput threshold, compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, to increase the throughput of the data processing system to at least the predetermined throughput level, wherein the second compression routine comprises a second compression algorithm.
-
-
39. A method comprising:
-
compressing data using a first compression routine providing a first compression rate; tracking the throughput of a data processing system to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold, wherein said tracking throughput comprises tracking a number of pending access requests to a storage device; and when the tracked throughput does not meet the predetermined throughput threshold, compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, to increase the throughput of the data processing system to at least the predetermined throughput level; and utilizing the second routine to perform compression until the throughput of the data processing system is determined to meet the predetermined throughput threshold, and then reusing the first compression routine.
-
-
40. A system comprising:
-
a data compression system for compressing and decompressing data input; a plurality of compression routines selectively utilized by the data compression system, wherein a first one of the plurality of compression routines includes a first compression algorithm and a second one of the plurality of compression routines includes a second compression algorithm; and a controller for tracking throughput and generating a control signal to select a compression routine based on the throughput, wherein said tracking throughput comprises tracking a number of pending access requests to a storage device; and wherein when the controller determines that the throughput falls below a predetermined throughput threshold, the controller commands the data compression engine to use one of the plurality of compression routines to provide a faster rate of compression so as to increase the throughput.
-
-
41. A program storage device readable by a machine, tangibly embodying a program instructions executable by the machine to perform the method comprising:
-
compressing data using a first compression routine providing a first compression rate, wherein the first compression routine comprises a first compression algorithm; tracking the throughput of a data processing system to determine if the first compression rate provides a throughput that meets a predetermined throughput threshold, wherein said tracking throughput comprises tracking a number of pending access requests to a storage device; and when the tracked throughput does not meet the predetermined throughput threshold, compressing data using a second compression routine providing a second compression rate that is greater than the first compression rate, to increase the throughput of the data processing system to at least the predetermined throughput level, wherein the second compression routine comprises a second compression algorithm.
-
Specification