US7564861B1 - Systems and methods for compressing data - Google Patents
Systems and methods for compressing data Download PDFInfo
- Publication number
- US7564861B1 US7564861B1 US10/225,986 US22598602A US7564861B1 US 7564861 B1 US7564861 B1 US 7564861B1 US 22598602 A US22598602 A US 22598602A US 7564861 B1 US7564861 B1 US 7564861B1
- Authority
- US
- United States
- Prior art keywords
- data stream
- data
- compression
- compression ratio
- compressed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Definitions
- the present invention relates generally to the field of data compression. More specifically, embodiments of the present invention relate to systems and methods for selectively providing data compression on a data stream.
- Information theory is a branch of mathematics that was largely developed in the late 1940's. In general, information theory pertains to the identification and measurement of statistics and characteristics of information. For example, information theory techniques are often used to optimize the efficiency of computer communications.
- One such area is data compression, where data can be represented with a decreased number of bits
- Data compression refers generally to the process of transforming data into a smaller or “compressed” version of itself from which the original data, or close approximation thereof, can be reconstructed at a later time.
- This compressed data advantageously preserves valuable data storage space and reduces the amount of bandwidth needed on a communications link and thereby allowing faster data transmission rates.
- the ability to provide faster transmission rates is extremely important—especially when communicating in channels having bandwidth constraints.
- Lossy data compression is a compression technique that allows the reconstructed data to vary from the original data upon the condition that the “essence” of the original data is preserved. Although this technique concedes a certain amount of accuracy during reconstruction, lossy data compression typically allows for relatively large compression ratios. Often, a fidelity criterion is introduced into lossy compression so that some measure of consistency between the original data and the reconstructed data can be expected by its users.
- lossy compression has been predominantly implemented by dedicated hardware devices. Now many powerful lossy software programs have been introduced. Typical software algorithms using lossy techniques include JPEG (Joint Photographic Experts Group) and MPEG (Motion Pictures Expert Group). These and other algorithms have proved extremely successful for lossy compression of sound files, such as digitized voice, and graphic images. This is because sound and picture formats are frequently associated with other industries, such as music and video, that customarily introduce inaccuracies into recorded or reconstructed format versions.
- lossless data compression consists of numerous techniques guaranteeing an exact duplication between the original and reconstructed data.
- lossless data compression techniques are lossless, of which, statistical and dictionary are predominant.
- Statistical data compression techniques generally encode a single symbol at a time by using the probability of a character based upon its appearance.
- the simplest of statistical compression techniques uses a static table of probabilities.
- An example of this is an order-0 table that creates a probability of occurrence for a character without considering the previous character.
- the letter “u” might be assigned a 1% probability of occurrence.
- Another example is an order-1 table which, in contrast, creates a probability of occurrence for a character as a function of the previous character.
- the letter “u” might have a probability of occurrence of 98% if the previous letter is a “q.”
- static tables experience difficulty and are not always desirable. For example, to function correctly, the table (or the statistics used to build the table) must be passed to the decompressor in order to reconstruct the original data.
- this passage may only take about 256 bytes with an order-0 static table
- an order-1 table in contrast, might require as many as 65,536 bytes, or more.
- the overhead of passing the table will most likely eradicate any gains potentially achievable by the table.
- Dictionary data compression uses a single code to replace variable length strings of symbols.
- a dictionary technique reads in data and looks for groups of symbols that appear in the dictionary. If a match is found, a pointer or index into the dictionary can be output instead of the code for the symbol. The longer the match, the better the compression.
- dictionaries are either static or adaptive.
- a static dictionary is used like a list of references in a published paper where reference to other authorities is marked by a single number.
- Static dictionaries have the advantage of being able to “tune” their dictionaries to fit the data that is being compressed.
- Static dictionaries like static tables of probabilities, however, are problematic because of the excessive overhead required to transmit the dictionary from the encoder to the decoder. Thus, adaptive dictionaries are used to overcome this problem.
- adaptive dictionaries are continually modified as new characters are read in and coded. Again, adaptive dictionaries, like adaptive statistical tables, have poor initial compression characteristics during its acceleration period.
- the traditional architecture used to compress and transmit data is usually configured as a singular compression channel.
- This compression channel typically includes a singular processing element, such as a digital signal processor (DSP), a singular data processing element, such as a microprocessor and a singular interface such as a processor bus or a data communication equipment (DCE) device.
- DSP digital signal processor
- DCE data communication equipment
- each individual network accessed by the user will have its own communication protocol.
- certain types of communication protocols have multiple logical channels therein which can allow the simultaneous processing of multiple data streams.
- a singular communications protocol can have numerous data streams therein.
- An example of this is a TCP/IP communications protocol having an HTML, E-Mail, FTP, source code, such as C and JAVA, text, and WAVE data stream simultaneously flowing therein.
- headers are used to facilitate and track the administrative and procedural tasks required to send data from one computing system configuration to another.
- headers are compressed and have generally been pre-optimized to minimize the number of bits that must be used to convey data
- putting a compressed header through a data compressor that adapts its dictionary to the statistics of the data stream will often result in degraded compression performance. This is because the dictionary will try and adapt to the statistics of a header that cannot be compressed any further.
- the result is a dictionary that never reaches a level where efficient coding of the redundant data following the compressed header can occur.
- TCP transmission control protocol
- IP Internet Protocol
- PDN Package Data Network
- the TCP/IP headers alone can be 40 bytes long, or more, for each byte of data transferred. Consequently, application of a compression technique to this type of data stream—which is already largely compressed—would be highly inefficient, thereby eliminating much of the efficiency being sought via compression.
- embodiments of the present invention generally relate to systems and methods for estimating the compression rate that may be achieved upon a data stream before the compression algorithm is applied to the entire data stream. If the estimated compression rate falls below a defined threshold value—indicating, for example, that the data has already been compressed—then the compression algorithm will not be applied to the data stream. In contrast, if the potential estimated compression rate is above the threshold—indicating that the data can be further compressed—the compression algorithm is applied to the data stream. For example, if a series of data streams are transmitted over a wireless connection, the claimed method will determine which data streams can be successfully compressed and which data streams are already compressed as much as possible. Eliminating the unnecessary compression of those already compressed data streams greatly reduces the computational overhead of the system, and thereby increases overall communication efficiency. This is extremely desirable in most communication environments, such as a wireless communication system.
- the selective compression algorithm is implemented as an executable software module.
- the software module can be implemented so as to actually execute at the network connection device, such as a local area network (LAN) network interface card (NIC), a wireless interface device, a wireless access point, and the like.
- the compression application is independent of and transparent to, upper level applications and operating systems of the host computing device, which greatly simplifies the installation and use of the solution.
- the manufacturer of the network interface device can install the software module on the device, thus eliminating the need for end users to load and install software on the host computer.
- upper level applications do not need to be rewritten or reconfigured in any way to take advantage of the functionality of the compression application.
- the software module could instead be implemented in part or in whole on a host computing device.
- the selective compression algorithm is implemented so as to obtain an “estimate” of whether a data stream can be efficiently compressed. To do so, a predetermined number of individual data packets within a data stream are compressed. The average compression ratio of the compressed data packets is then calculated. This average compression ratio is used as an estimate of how successful the compression algorithm would be if it were to be used to compress the entire data stream. If the average compression ratio exceeds a threshold value, the entire data stream will be compressed with the compression algorithm. If the average compression ratio is below the threshold value, the method will skip the remainder of the data stream and proceed to the next data stream.
- the algorithm continues to monitor the average compression ratio to continuously evaluate whether compression is worthwhile.
- this approach can be useful where portions of a data stream have been compressed, and other portions have not.
- a data stream may contain a WEB page that includes both graphics and text portions. The graphics portion may already be compressed, while the text portion is not. Thus, in a given data stream, only portions may need to be further compressed.
- the method does not necessarily skip the remainder of the data stream. Instead, the method will, after a predetermined or random interval, re-sample the data stream and re-calculate the average compression ratio.
- the data stream will be compressed from that point forward, at least until a new sample is taken and the average compression ratio falls below the threshold value. For example, by re-sampling the average compression ratio of a data stream containing a WEB page, the compression algorithm will not be performed on the graphics portion, but can be performed on the uncompressed text portion. This increases the efficiency of the overall method.
- embodiments of the present invention provide a methodology whereby network data is compressed only where it is most efficient. By avoiding those data streams (or portions of data streams) that are already compressed, the method avoids any wasting of computational and network resources. This results in a much more efficient communications environment. While the approach is useful in practically any communications environment that utilizes compression of data, the application is especially beneficial in communications systems that have a limited bandwidth, such as many wireless network systems such as Bluetooth, IEEE 802.11, Wireless Wide Area Networks (WWAN) and the like.
- WWAN Wireless Wide Area Networks
- FIG. 1 is a schematic illustration of an exemplary computer network environment in which can be used a presently preferred embodiment of the method for predicting the compression rate of a compression algorithm upon a data stream before applying the compression algorithm to the entire data stream;
- FIG. 2 is a functional block diagram illustrating functional attributes of one presently preferred embodiment of the method for predicting the compression rate of a compression algorithm upon a data stream before applying the compression algorithm to the entire data stream;
- FIG. 3 is a flow chart illustrating one presently preferred embodiment of the method steps used to implement an embodiment of the present invention.
- FIG. 4 is a flow chart illustrating yet another presently preferred embodiment of the method steps used to implement an embodiment of the present invention.
- the present invention relates to a method of predicting the compression rate of a particular compression algorithm upon a data stream before applying the compression algorithm to the entire data stream.
- the method allows a user to set a predefined threshold value (or the system can assign a default threshold value) that must be met for a compression to be performed.
- the method then calculates an estimated compression rate for a given data stream (or portion of a data stream) and, if the estimated compression rate is below the threshold value, the compression algorithm will not be applied.
- the estimated compression rate is above the threshold, the compression algorithm will be applied to the data stream (or to a portion of the data stream). For example, if a series of data streams are transmitted over a wireless connection, preferred embodiments will determine which data streams can be successfully compressed and which data streams are already compressed as much as possible.
- FIG. 1 illustrates an example of a computer network environment in which embodiments of the present invention would find particular applicability.
- a mobile computer 110 is connected to a computer network 150 .
- the connection is provided via a wireless communications link, designated at 130 , such as may be provided via Bluetooth, 802.11 and any similar type of wireless connection scheme.
- the mobile computer 110 interfaces with the wireless communications link 130 via a connected wireless network interface device 120 that converts data packets from the mobile computer 110 into the applicable wireless format and vice versa.
- the particular format of the packet will be dependent on the wireless standard being used, such as Bluetooth and 802.11.
- wireless network interface devices can include PC cards, PCMIA cards, external wireless transmitters, internal PCI cards and integrated wireless devices.
- data packets originating from the mobile computer 110 are transferred over the wireless interface 130 to the wireless network access point 140 .
- the wireless network access point 140 is a device that converts the wireless data packets into traditional wired electrical pulse data packets such that it can be transferred to a wire-based network, such as that shown at network 150 .
- the wireless network access point 140 also converts data packets originating from the network 150 into the wireless format such that they can be transferred over the wireless interface l 30 .
- FIG. 1 illustrates a particular type of environment, for purposes of description only. It will be appreciated that the environment of the present invention can have many variations and types and is also not limited to communication types of applications.
- data packets that are transferred over the wireless interface 130 are transmitted at a particular speed according to the requirements of the wireless specification being implemented.
- Bluetooth dictates that all wireless information be transmitted over a particular radio frequency and at a particular power.
- These specifications limit the speed at which data can be transferred over the wireless medium.
- a high speed of data transmission is generally desired. Therefore, it is important to optimize the speed and efficiency at which data packets are sent across the wireless medium from the mobile computer 110 to the network 150 . Since the wireless specifications limits the actual transmission rate and power at which data packets can be transferred, one tactic for increasing the overall bandwidth of the wireless link is to reduce the amount of data that is actually transmitted/received via the wireless channel.
- a data packet originating from the mobile computer 110 will be compressed by software executing at the wireless network interface device 120 and then transmitted across the wireless interface 130 in a reduced size and thus at a greater effective throughput.
- the data packet will then be decompressed by software executing at the wireless network access point 140 before being transferred to the network 150 .
- embodiments of the present invention determine whether compression is advisable with respect to a given data stream.
- the process of compressing and decompressing data packets introduces a certain amount of delay before a data packet reaches its destination, and also requires a certain amount of processing resources.
- embodiments of the present invention avoid compression of those portions of the data stream that cannot be efficiently compressed, thereby optimizing the transmission rates. For example, different data types compress at different compression ratios and therefore, it is not efficient to compress all data being transmitted over the wireless medium 130 .
- a compression ratio is the ratio of the original size versus the compressed size of a particular group of data.
- a data packet containing a payload having data formatted in accordance with the MP3 compression standard cannot be efficiently compressed and therefore the compression ratio of an MP3 file will be extremely low.
- any attempts at further compression merely introduce computational overhead and delay into the system.
- a Power Point or Microsoft Word file can be compressed a great deal further, and therefore will have a very high compression ratio. Compression of such data would contribute highly to the overall throughput of the communications environment.
- Embodiments of the invention utilizes a compression technique that is used only on data streams (or portions of data streams) that will respond effectively (i.e., a high compression ratio) to the given compression algorithm.
- This method of only compressing and decompressing data that can be efficiently compressed and decompressed will optimize the transmission of the data packets from one destination to another by minimizing the size of the data that must be sent across a communications medium and minimizing the compression and decompression time delay introduced before and after the wireless transmission.
- the method is carried out by way of a compression algorithm that is implemented as an executable software module comprised of executable software instructions.
- the executable software is implemented so as to be capable of executing at, for example, the wireless network interface device 120 (to selectively compress the data) and at the wireless network access point 140 (to de-compress that portion of the data stream compressed).
- the algorithm can be implemented in software that is independent of, and transparent to, upper level applications and operating systems that are executing at the host computing device, such as mobile computer 110 in FIG. 1 .
- the manufacturer of the network interface card and/or wireless network access point device can install and incorporate the executable software within the device itself, thereby eliminating the need for end users to load and install separate software modules at the host computing device.
- alternative embodiments could be implemented in software that is instead implemented and installed in part or in whole on a host computing device.
- FIG. 2 illustrates a functional chart illustrating aspects of one presently preferred embodiment of the present invention, as it may be used in the context of the environment of FIG. 1 .
- the preferred methodology is designated generally at 200 .
- the methodology chart illustrates the transfer of data from the mobile computer (or any other applicable host computing device) via the wireless network access device 120 to the network access point 140 via a wireless channel.
- the data stream is then forwarded from the network access point to a different wire-based network connected device, for example.
- the methodology chart is broken up into three rows representing three logical portions of the stack through which a data stream, comprised of data packets, will travel. This is analogous to the 7-layer OSI model commonly used to describe different software mechanisms.
- the application layer is the upper level layer in which the data packet will originate.
- This layer can correspond to any high level application that originates a data stream; for example, it could be comprised of an IP layer.
- data stream may already be compressed, or partially compressed.
- the compression layer represents the additional layer, representing the functionality of the presently preferred selective compression method. Again, as noted, this is preferably implemented as executable software steps executing on a programmable device.
- the software executes at the interface device itself ( 120 in FIG. 1 ) and at the access point 140 so that the functionality is transparent to, and independent of the upper level applications executing at the application layer.
- the physical layer represents the layer in which data is physically transferred from one location to another, such as via the wireless channel 130 of FIG. 1 .
- a “data stream” originates from the mobile computer (or any other type of host computing device) in the upper level application layer and is transferred, for example, to the wireless network interface device 120 .
- the data stream can be full size, meaning that it has not been compressed in any manner, or it may have already been either partially, or completely compressed at the application layer.
- the data is then sent down to the “selective” compression layer, which is implemented with executable software instructions, denoted here at 210 , example embodiments of which are described further below in FIGS. 3 and 4 .
- the data stream 210 is selectively compressed as described below. Compression can be provided by any data compression algorithm including lossy and lossless formats.
- the compressed data stream 215 is then sent down to the physical layer, and wirelessly transmitted via the wireless channel.
- the compressed data 220 within the physical layer of the network is then wirelessly received at the access point 140 and is transferred to the de-compress functional layer.
- the compressed data is decompressed into its original format, essentially reversing the compression process performed at 210 .
- the decompressed data 230 is then sent up to the application layer, such as the IP layer.
- the data stream 230 is essentially reconstructed to its original “full size.”
- the data stream can then be transferred across the IP layer to another node.
- the outgoing network access point transmits the data 235 to the physical layer without entering the compression layer.
- FIG. 2 may vary depending on the particular configuration and implementation.
- the actual flow points may vary depending upon where the selective compression algorithm is implemented and executed (e.g., points other than the network interface card 120 and the wireless access point 140 ).
- FIG. 3 is a flow chart illustrating a presently preferred embodiment of the method steps, designated generally at 300 , for predicting the compression rate of a compression algorithm upon a data stream before applying the compression algorithm to the entire data stream.
- the process steps are implemented via a series of programmable executable instructions that execute on a programmable processor.
- the processor used can be implemented within the network interface device 120 (selective compression) or the network access point 140 (de-compression).
- the executable instructions can be stored on any suitable computer storage medium that are well know to those of skill in the art, including computer solid state memories, magnetic storage media and the like.
- FIG. 3 could be implemented exclusively in computer hardware implementations, or via a combination of dedicated hardware and software.
- the logical process 300 begins at step 302 and operates on a given data stream, which corresponds to a given block of network data.
- a data stream corresponds to a particular session within the application layer, and may be identified, for example, by destination IP address and/or TCP/IP port numbers.
- a predefined portion of the data stream such as an individual network protocol data packet, is captured and compressed using a given compression algorithm, as is shown at 305 . Again, any appropriate compression algorithm can be used depending on the needs of the application.
- the logical process 300 then inquires at program step 315 whether a predetermined number of data packets have been compressed from a particular data stream. Generally, the predetermined number should be sufficient to ensure an accurate estimate of the compressing capabilities of the compression algorithm upon the given data stream.
- processing proceeds at step 310 , where a predetermined number of data packets may be skipped before another packet is compressed.
- the number of data packets skipped before compressing another data packet can be chosen to ensure an accurate sampling of the data stream. Alternatively, no data packets are skipped, and the next subsequent data packet is used.
- the predetermined number of data packets have been compressed as determined at step 315 , processing continues to program step 320 , where the average compression ratio of the compressed data packets is computed.
- the compression ratio of each data packet is simply the ratio of the compressed data packet size to the original data packet size.
- the process 300 then proceeds to step 325 where it is determined whether the average compression ratio is higher than a predetermined threshold value.
- the threshold value is a user defined value (or a system defined default value) that dictates whether or not the compression is successful enough to proceed to compress the entire data stream or whether the logical process should simply move on to the next data stream. If the average compression ratio does exceed the threshold value, then processing will proceed with program step 335 where an appropriate compression algorithm will be utilized to compress the entire data stream. If however the average compression ratio is below the threshold value, processing reverts to program step 330 , and data stream is skipped. The process will then repeat for the new data stream.
- a destination node such as a destination access point or interface card
- the data stream upon receipt at a destination node (such as a destination access point or interface card), if the data stream has been compressed it must be decompressed as previously noted in connection with FIG. 2 .
- the corresponding de-compression algorithm would be utilized.
- Whether a given data stream (or data packet) has been compressed can be noted in a number of ways. For example, if compression is performed at program step 355 to a given packet, that fact can be indicated in the header (e.g., a single bit set to 0 indicates no compression; set to 1 indicates compression) at the MAC layer.
- a more complex scheme could be utilized to even designate the type of compression algorithm used. For example, the most efficient compression algorithm could be used for a given data stream type.
- FIG. 4 illustrates a flow chart showing yet another embodiment of the processed steps that can be used to implement a preferred method.
- This process utilizes many of the same program steps as shown in FIG. 3 , and those steps will not be described again here.
- the average is continuously monitored.
- a particular data stream that contains both uncompressed and compressed packets can be efficiently adjusted so as to be optimally compressed. For example, if a particular data stream corresponds to the download of a WEB page that contains both text and graphics, the algorithm shown in FIG. 4 will ensure that only the text portion is compressed which the already-compressed graphics portion is merely passed on.
- processing will continue at program step 430 .
- a sample period is introduced.
- the sample period can be a fixed amount of time (for example, 100 data packets), or can be variable depending upon a particular application.
- processing returns to program step 405 and a new packet within the data stream is obtained and compressed.
- Processing then continues, as previously described, through program step 420 so as to calculate a new compression ratio for that new portion of the data stream. If, during this new sample period, the average compression ratio does exceed the threshold value, then that portion of the data stream will be compressed. Depending upon the implementation, the remainder of the data stream can be compressed, or alternatively, the data stream can be compressed until a new sample period has passed and another compression ratio can then be computed.
- program step 440 is invoked.
- the process continuously monitors the average compression ratio of the data stream. Again, this average can be computed based on a single packet, or upon a predetermined number of packets. It the average falls below a threshold value, this would indicate that the corresponding portion of the data stream corresponds to data that has already been previously compressed (i.e., a graphics portion of a WEB page), and further compression would be inefficient and a waste of computing resources. This condition would be detected at program step 425 , and compression would stop, as is indicated at step 430 .
- this particular embodiment insures that compression is efficiently applied (or not applied) throughout the duration of a given data stream. Again, this preserves computing resources, and results in a transmission system that utilizes available bandwidth in a much more efficient manner.
Abstract
Description
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/225,986 US7564861B1 (en) | 2002-08-22 | 2002-08-22 | Systems and methods for compressing data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/225,986 US7564861B1 (en) | 2002-08-22 | 2002-08-22 | Systems and methods for compressing data |
Publications (1)
Publication Number | Publication Date |
---|---|
US7564861B1 true US7564861B1 (en) | 2009-07-21 |
Family
ID=40872658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/225,986 Active 2026-01-15 US7564861B1 (en) | 2002-08-22 | 2002-08-22 | Systems and methods for compressing data |
Country Status (1)
Country | Link |
---|---|
US (1) | US7564861B1 (en) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090245382A1 (en) * | 2008-03-31 | 2009-10-01 | Sun Microsystems, Inc. | Method and apparatus for data compression and decompression |
US20110010465A1 (en) * | 2007-07-18 | 2011-01-13 | Andrea G Forte | Methods and Systems for Providing Template Based Compression |
US20110199948A1 (en) * | 2010-02-12 | 2011-08-18 | Ren Wang | Minimizing power consumption in a network device |
US20110252184A1 (en) * | 2010-04-09 | 2011-10-13 | Samsung Electronics Co., Ltd. | Method of storing data in storage media, data storage device using the same, and system including the same |
US8275909B1 (en) * | 2005-12-07 | 2012-09-25 | F5 Networks, Inc. | Adaptive compression |
US8516156B1 (en) | 2005-08-05 | 2013-08-20 | F5 Networks, Inc. | Adaptive compression |
US20150112938A1 (en) * | 2013-02-15 | 2015-04-23 | Compellent Technologies | Data replication with dynamic compression |
US20150326695A1 (en) * | 2013-01-17 | 2015-11-12 | Huawei Technologies Co., Ltd. | Method for processing data packet and apparatus |
US9313300B2 (en) | 2013-11-07 | 2016-04-12 | Integrated Device Technology, Inc. | Methods and apparatuses for a unified compression framework of baseband signals |
US9369149B1 (en) | 2012-05-03 | 2016-06-14 | Integrated Device Technology, Inc. | Method and apparatus for efficient baseband unit processing in a communication system |
US9398489B1 (en) * | 2013-10-09 | 2016-07-19 | Integrated Device Technology | Method and apparatus for context based data compression in a communication system |
US9485688B1 (en) | 2013-10-09 | 2016-11-01 | Integrated Device Technology, Inc. | Method and apparatus for controlling error and identifying bursts in a data compression system |
US9553954B1 (en) | 2013-10-01 | 2017-01-24 | Integrated Device Technology, Inc. | Method and apparatus utilizing packet segment compression parameters for compression in a communication system |
EP2632220B1 (en) * | 2010-12-24 | 2018-11-07 | Huawei Technologies Co., Ltd. | Method and device for resource allocation |
US10313486B2 (en) * | 2015-01-07 | 2019-06-04 | Sonicwall Inc. | Optimizing transfer of fragmented packetized data |
US10630768B1 (en) * | 2016-08-04 | 2020-04-21 | Amazon Technologies, Inc. | Content-based media compression |
US10681188B2 (en) | 2015-05-26 | 2020-06-09 | Sonicwall Inc. | Reducing transmission pathway lengths within a distributed network |
WO2021025605A1 (en) * | 2019-08-08 | 2021-02-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Reducing network traffic |
US10938938B2 (en) * | 2019-04-23 | 2021-03-02 | Netapp, Inc. | Methods for selectively compressing data and devices thereof |
Citations (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4654867A (en) | 1984-07-13 | 1987-03-31 | Motorola, Inc. | Cellular voice and data radiotelephone system |
US4697281A (en) | 1986-03-14 | 1987-09-29 | Spectrum Cellular Communications Corporation, Inc. | Cellular telephone data communication system and method |
US4907081A (en) * | 1987-09-25 | 1990-03-06 | Hitachi, Ltd. | Compression and coding device for video signals |
US4991197A (en) | 1988-09-01 | 1991-02-05 | Intelligence Technology Corporation | Method and apparatus for controlling transmission of voice and data signals |
US4998289A (en) | 1988-06-02 | 1991-03-05 | Motorola, Inc. | Signal integrity control technique for an RF communication system |
US5168516A (en) | 1989-03-24 | 1992-12-01 | Kabushiki Kaisha Toshiba | Radio telephone having improved modulation characteristics for data transmission |
US5386590A (en) | 1993-07-28 | 1995-01-31 | Celeritas Technologies, Ltd. | Apparatus and method for increasing data transmission rate over wireless communication systems using spectral shaping |
US5396519A (en) | 1993-10-22 | 1995-03-07 | At&T Corp. | Method and apparatus for adaptively providing precoding and preemphasis conditioning to signal data for transfer over a communication channel |
US5452289A (en) | 1993-01-08 | 1995-09-19 | Multi-Tech Systems, Inc. | Computer-based multifunction personal communications system |
US5453986A (en) | 1993-01-08 | 1995-09-26 | Multi-Tech Systems, Inc. | Dual port interface for a computer-based multifunction personal communication system |
US5479480A (en) | 1993-12-30 | 1995-12-26 | At&T Corp. | Dual mode cellular modem |
US5479587A (en) * | 1992-09-03 | 1995-12-26 | Hewlett-Packard Company | Page printer having adaptive data compression for memory minimization |
US5483576A (en) | 1993-03-31 | 1996-01-09 | Data Race, Inc. | Method and apparatus for communicating data over a radio transceiver with a modem |
US5553160A (en) * | 1994-09-01 | 1996-09-03 | Intel Corporation | Method and apparatus for dynamically selecting an image compression process based on image size and color resolution |
US5590403A (en) | 1992-11-12 | 1996-12-31 | Destineer Corporation | Method and system for efficiently providing two way communication between a central network and mobile unit |
US5648989A (en) | 1994-12-21 | 1997-07-15 | Paradyne Corporation | Linear prediction filter coefficient quantizer and filter set |
US5666659A (en) | 1995-03-13 | 1997-09-09 | Kernahan; Kent | Method of and structure for increasing signal power over cellular link |
US5684834A (en) | 1993-06-14 | 1997-11-04 | Paradyne Corporation | Simultaneous analog and digital communication using fractional rate encoding |
US5742599A (en) * | 1996-02-26 | 1998-04-21 | Apple Computer, Inc. | Method and system for supporting constant bit rate encoded MPEG-2 transport over local ATM networks |
US5982937A (en) * | 1996-12-24 | 1999-11-09 | Electronics For Imaging, Inc. | Apparatus and method for hybrid compression of raster data |
US6052488A (en) * | 1997-04-07 | 2000-04-18 | Mitsubishi Denki Kabushiki Kaisha | Image coding apparatus for converting image information to variable length codes of predetermined code size, method of image coding and apparatus for storing/transmitting image |
US6404335B1 (en) * | 1997-09-19 | 2002-06-11 | Kabushiki Kaisha Toshiba | Apparatus for issuing wireless information storage media |
US6434168B1 (en) * | 1996-06-07 | 2002-08-13 | Nokia Telecommunications Oy | Data compression on a data connection |
US20030090397A1 (en) * | 2001-11-14 | 2003-05-15 | Rasmussen Brent D. | Data compression/decompression system |
US6643402B1 (en) * | 1999-03-23 | 2003-11-04 | Sanyo Electric Co., Ltd | Image compression device allowing rapid and highly precise encoding while suppressing code amount of image data after compression |
US6738351B1 (en) * | 2000-05-24 | 2004-05-18 | Lucent Technologies Inc. | Method and apparatus for congestion control for packet-based networks using voice compression |
US20050143981A1 (en) * | 2000-06-06 | 2005-06-30 | Yukio Koyanagi | Compressing method and apparatus, expanding method and apparatus, compression and expansion system, recorded medium, program |
US20060115166A1 (en) * | 2004-11-26 | 2006-06-01 | Sung Chih-Ta S | Method and apparatus for image compression and decompression |
US7477789B2 (en) * | 2004-11-24 | 2009-01-13 | Pixart Imaging Inc. | Video image capturing and displaying method and related system |
-
2002
- 2002-08-22 US US10/225,986 patent/US7564861B1/en active Active
Patent Citations (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4654867A (en) | 1984-07-13 | 1987-03-31 | Motorola, Inc. | Cellular voice and data radiotelephone system |
US4697281A (en) | 1986-03-14 | 1987-09-29 | Spectrum Cellular Communications Corporation, Inc. | Cellular telephone data communication system and method |
US4907081A (en) * | 1987-09-25 | 1990-03-06 | Hitachi, Ltd. | Compression and coding device for video signals |
US4998289A (en) | 1988-06-02 | 1991-03-05 | Motorola, Inc. | Signal integrity control technique for an RF communication system |
US4991197A (en) | 1988-09-01 | 1991-02-05 | Intelligence Technology Corporation | Method and apparatus for controlling transmission of voice and data signals |
US5168516A (en) | 1989-03-24 | 1992-12-01 | Kabushiki Kaisha Toshiba | Radio telephone having improved modulation characteristics for data transmission |
US5479587A (en) * | 1992-09-03 | 1995-12-26 | Hewlett-Packard Company | Page printer having adaptive data compression for memory minimization |
US5590403A (en) | 1992-11-12 | 1996-12-31 | Destineer Corporation | Method and system for efficiently providing two way communication between a central network and mobile unit |
US5452289A (en) | 1993-01-08 | 1995-09-19 | Multi-Tech Systems, Inc. | Computer-based multifunction personal communications system |
US5453986A (en) | 1993-01-08 | 1995-09-26 | Multi-Tech Systems, Inc. | Dual port interface for a computer-based multifunction personal communication system |
US5471470A (en) | 1993-01-08 | 1995-11-28 | Multi-Tech Systems, Inc. | Computer-based multifunction personal communications system |
US5500859A (en) | 1993-01-08 | 1996-03-19 | Multi-Tech Systems, Inc. | Voice and data transmission system |
US5483576A (en) | 1993-03-31 | 1996-01-09 | Data Race, Inc. | Method and apparatus for communicating data over a radio transceiver with a modem |
US5684834A (en) | 1993-06-14 | 1997-11-04 | Paradyne Corporation | Simultaneous analog and digital communication using fractional rate encoding |
US5507033A (en) | 1993-07-28 | 1996-04-09 | Celeritas Technologies, Ltd. | Apparatus and method for increasing data transmission rate over wireless communication systems using spectral shaping |
US5386590A (en) | 1993-07-28 | 1995-01-31 | Celeritas Technologies, Ltd. | Apparatus and method for increasing data transmission rate over wireless communication systems using spectral shaping |
US5396519A (en) | 1993-10-22 | 1995-03-07 | At&T Corp. | Method and apparatus for adaptively providing precoding and preemphasis conditioning to signal data for transfer over a communication channel |
US5479480A (en) | 1993-12-30 | 1995-12-26 | At&T Corp. | Dual mode cellular modem |
US5553160A (en) * | 1994-09-01 | 1996-09-03 | Intel Corporation | Method and apparatus for dynamically selecting an image compression process based on image size and color resolution |
US5648989A (en) | 1994-12-21 | 1997-07-15 | Paradyne Corporation | Linear prediction filter coefficient quantizer and filter set |
US5666659A (en) | 1995-03-13 | 1997-09-09 | Kernahan; Kent | Method of and structure for increasing signal power over cellular link |
US5742599A (en) * | 1996-02-26 | 1998-04-21 | Apple Computer, Inc. | Method and system for supporting constant bit rate encoded MPEG-2 transport over local ATM networks |
US6434168B1 (en) * | 1996-06-07 | 2002-08-13 | Nokia Telecommunications Oy | Data compression on a data connection |
US5982937A (en) * | 1996-12-24 | 1999-11-09 | Electronics For Imaging, Inc. | Apparatus and method for hybrid compression of raster data |
US6052488A (en) * | 1997-04-07 | 2000-04-18 | Mitsubishi Denki Kabushiki Kaisha | Image coding apparatus for converting image information to variable length codes of predetermined code size, method of image coding and apparatus for storing/transmitting image |
US6404335B1 (en) * | 1997-09-19 | 2002-06-11 | Kabushiki Kaisha Toshiba | Apparatus for issuing wireless information storage media |
US6643402B1 (en) * | 1999-03-23 | 2003-11-04 | Sanyo Electric Co., Ltd | Image compression device allowing rapid and highly precise encoding while suppressing code amount of image data after compression |
US6738351B1 (en) * | 2000-05-24 | 2004-05-18 | Lucent Technologies Inc. | Method and apparatus for congestion control for packet-based networks using voice compression |
US20050143981A1 (en) * | 2000-06-06 | 2005-06-30 | Yukio Koyanagi | Compressing method and apparatus, expanding method and apparatus, compression and expansion system, recorded medium, program |
US20030090397A1 (en) * | 2001-11-14 | 2003-05-15 | Rasmussen Brent D. | Data compression/decompression system |
US7477789B2 (en) * | 2004-11-24 | 2009-01-13 | Pixart Imaging Inc. | Video image capturing and displaying method and related system |
US20060115166A1 (en) * | 2004-11-26 | 2006-06-01 | Sung Chih-Ta S | Method and apparatus for image compression and decompression |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8516156B1 (en) | 2005-08-05 | 2013-08-20 | F5 Networks, Inc. | Adaptive compression |
US8499100B1 (en) * | 2005-12-07 | 2013-07-30 | F5 Networks, Inc. | Adaptive compression |
US8275909B1 (en) * | 2005-12-07 | 2012-09-25 | F5 Networks, Inc. | Adaptive compression |
US20110010465A1 (en) * | 2007-07-18 | 2011-01-13 | Andrea G Forte | Methods and Systems for Providing Template Based Compression |
US20090245382A1 (en) * | 2008-03-31 | 2009-10-01 | Sun Microsystems, Inc. | Method and apparatus for data compression and decompression |
US8208532B2 (en) * | 2008-03-31 | 2012-06-26 | Oracle America, Inc. | Method and apparatus for data compression and decompression |
US8902747B2 (en) | 2010-02-12 | 2014-12-02 | Intel Corporation | Minimizing power consumption in a network device |
US8305947B2 (en) * | 2010-02-12 | 2012-11-06 | Intel Corporation | Minimizing power consumption in a network device |
US9042225B2 (en) | 2010-02-12 | 2015-05-26 | Intel Corporation | Minimizing power consumption in a network device |
US20110199948A1 (en) * | 2010-02-12 | 2011-08-18 | Ren Wang | Minimizing power consumption in a network device |
US20110252184A1 (en) * | 2010-04-09 | 2011-10-13 | Samsung Electronics Co., Ltd. | Method of storing data in storage media, data storage device using the same, and system including the same |
EP2632220B1 (en) * | 2010-12-24 | 2018-11-07 | Huawei Technologies Co., Ltd. | Method and device for resource allocation |
US9369149B1 (en) | 2012-05-03 | 2016-06-14 | Integrated Device Technology, Inc. | Method and apparatus for efficient baseband unit processing in a communication system |
US20150326695A1 (en) * | 2013-01-17 | 2015-11-12 | Huawei Technologies Co., Ltd. | Method for processing data packet and apparatus |
US11729299B2 (en) | 2013-01-17 | 2023-08-15 | Huawei Technologies Co., Ltd. | Method for processing data packet and apparatus |
US11025751B2 (en) | 2013-01-17 | 2021-06-01 | Huawei Technologies Co., Ltd. | Method for processing data packet and apparatus |
US9954977B2 (en) * | 2013-01-17 | 2018-04-24 | Huawei Technologies Co., Ltd. | Method for processing data packet and apparatus |
US20180213065A1 (en) * | 2013-01-17 | 2018-07-26 | Huawei Technologies Co., Ltd. | Method for processing data packet and apparatus |
US10554791B2 (en) | 2013-01-17 | 2020-02-04 | Huawei Technologies Co., Ltd. | Method for processing data packet and apparatus |
CN105075222A (en) * | 2013-02-15 | 2015-11-18 | 康佩伦特科技公司 | Data replication with dynamic compression |
CN105075222B (en) * | 2013-02-15 | 2019-07-02 | 康佩伦特科技公司 | It is replicated using the data of dynamic compression |
US9716754B2 (en) * | 2013-02-15 | 2017-07-25 | Dell International L.L.C. | Data replication with dynamic compression |
US20150112938A1 (en) * | 2013-02-15 | 2015-04-23 | Compellent Technologies | Data replication with dynamic compression |
US9553954B1 (en) | 2013-10-01 | 2017-01-24 | Integrated Device Technology, Inc. | Method and apparatus utilizing packet segment compression parameters for compression in a communication system |
US9398489B1 (en) * | 2013-10-09 | 2016-07-19 | Integrated Device Technology | Method and apparatus for context based data compression in a communication system |
US9485688B1 (en) | 2013-10-09 | 2016-11-01 | Integrated Device Technology, Inc. | Method and apparatus for controlling error and identifying bursts in a data compression system |
US10135955B2 (en) | 2013-11-07 | 2018-11-20 | Integrated Device Technology, Inc. | Methods and apparatuses for a unified compression framework of baseband signals |
US9313300B2 (en) | 2013-11-07 | 2016-04-12 | Integrated Device Technology, Inc. | Methods and apparatuses for a unified compression framework of baseband signals |
US10313486B2 (en) * | 2015-01-07 | 2019-06-04 | Sonicwall Inc. | Optimizing transfer of fragmented packetized data |
US10681188B2 (en) | 2015-05-26 | 2020-06-09 | Sonicwall Inc. | Reducing transmission pathway lengths within a distributed network |
US10630768B1 (en) * | 2016-08-04 | 2020-04-21 | Amazon Technologies, Inc. | Content-based media compression |
US10938938B2 (en) * | 2019-04-23 | 2021-03-02 | Netapp, Inc. | Methods for selectively compressing data and devices thereof |
WO2021025605A1 (en) * | 2019-08-08 | 2021-02-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Reducing network traffic |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7564861B1 (en) | Systems and methods for compressing data | |
EP1134900B1 (en) | Method and apparatus for data compression of network packets | |
US7558882B2 (en) | System for header compression of a plurality of packets associated with a reliable multicast protocol | |
US7051126B1 (en) | Hardware accelerated compression | |
EP0958587B1 (en) | Recompression server | |
KR100820630B1 (en) | A method of processing data packets | |
JP4582565B2 (en) | Robust header compression in packet communication | |
US6680921B1 (en) | Estimation of time stamps in real-time packet communications | |
US8352605B2 (en) | Systems and methods for providing dynamic ad hoc proxy-cache hierarchies | |
US7916047B2 (en) | Systems and methods of clustered sharing of compression histories | |
US7827237B2 (en) | Systems and methods for identifying long matches of data in a compression history | |
US7872597B2 (en) | Systems and methods of using application and protocol specific parsing for compression | |
US20090234966A1 (en) | Systems and methods for sharing compression histories between multiple devices | |
US7640362B2 (en) | Adaptive compression in an edge router | |
US6707819B1 (en) | Method and apparatus for the encapsulation of control information in a real-time data stream | |
US6750791B1 (en) | Method and device for text data compression | |
US6289130B1 (en) | Method for real-time lossless data compression of computer data | |
CN112335203B (en) | Processing local area network diagnostic data | |
US20050238008A1 (en) | Method and apparatus for the encapsulation of control information in a real-time data stream | |
Sentala et al. | Performance evaluation and compression of IP packets in a wireless local area network (WLAN) | |
Dorward et al. | Robust data compression of network packets | |
CN110289932B (en) | Out-of-order depth value updating method and device | |
Kho et al. | Joint LZW and Lightweight Dictionary-based compression techniques for congested network | |
KR100364838B1 (en) | Processor for optimization of data transmission bandwidth and bandwidth optimization apparatus with the same | |
WO2002060106A2 (en) | System and method for data re-compression for communication over ip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: HEWLETT-PACKARD COMPANY, CALIFORNIA Free format text: MERGER;ASSIGNOR:3COM CORPORATION;REEL/FRAME:024630/0820 Effective date: 20100428 |
|
AS | Assignment |
Owner name: HEWLETT-PACKARD COMPANY, CALIFORNIA Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE SEE ATTACHED;ASSIGNOR:3COM CORPORATION;REEL/FRAME:025039/0844 Effective date: 20100428 |
|
AS | Assignment |
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:027329/0044 Effective date: 20030131 |
|
AS | Assignment |
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS Free format text: CORRECTIVE ASSIGNMENT PREVIUOSLY RECORDED ON REEL 027329 FRAME 0001 AND 0044;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:028911/0846 Effective date: 20111010 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:037079/0001 Effective date: 20151027 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |
|
AS | Assignment |
Owner name: OT PATENT ESCROW, LLC, ILLINOIS Free format text: PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT;ASSIGNORS:HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP;HEWLETT PACKARD ENTERPRISE COMPANY;REEL/FRAME:055269/0001 Effective date: 20210115 |
|
AS | Assignment |
Owner name: VALTRUS INNOVATIONS LIMITED, IRELAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OT PATENT ESCROW, LLC;REEL/FRAME:059058/0720 Effective date: 20220202 |