WO2014052194A1 - Method and apparatus for a memory based packet compression encoding - Google Patents
Method and apparatus for a memory based packet compression encoding Download PDFInfo
- Publication number
- WO2014052194A1 WO2014052194A1 PCT/US2013/060917 US2013060917W WO2014052194A1 WO 2014052194 A1 WO2014052194 A1 WO 2014052194A1 US 2013060917 W US2013060917 W US 2013060917W WO 2014052194 A1 WO2014052194 A1 WO 2014052194A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bytes
- data packet
- transmission data
- string
- location pointer
- 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.)
- Ceased
Links
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
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
-
- 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
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
Definitions
- aspects of the present disclosure relate generally to telecommunication systems, and more particularly, to an apparatus and method for a telecommunication system with a memory based packet coding for compression and decompression, thereby providing consistent service in a wireless communication system.
- Wireless and wire-line communication networks are widely deployed to provide various communication services such as telephony, video, data, messaging, broadcasts, and so on.
- Such networks which are usually multiple access networks, support communications for multiple users by sharing the available network resources.
- UTRAN UMTS Terrestrial Radio Access Network
- the UTRAN is the radio access network (RAN) defined as a part of the Universal Mobile Telecommunications System (UMTS), a third generation (3G) mobile phone technology supported by the 3rd Generation Partnership Project (3GPP).
- UMTS Universal Mobile Telecommunications System
- 3GPP 3rd Generation Partnership Project
- the UMTS which is the successor to Global System for Mobile Communications (GSM) technologies, currently supports various air interface standards, such as Wideband-Code Division Multiple Access (W-CDMA), Time Division-Code Division Multiple Access (TD-CDMA), and Time Division-Synchronous Code Division Multiple Access (TD- SCDMA).
- W-CDMA Wideband-Code Division Multiple Access
- TD-CDMA Time Division-Code Division Multiple Access
- TD- SCDMA Time Division-Synchronous Code Division Multiple Access
- the UMTS also supports enhanced 3G data communications protocols, such as High Speed Packet Access (HSPA), which provides higher data transfer speeds and capacity to associated UMTS networks.
- HSPA High Speed Packet Access
- packet data traffic between a mobile user equipment (UE) and a corresponding access network may not always be encoded in a format that minimizes the transmission packet size.
- aspects of this an apparatus and method include minimizing transmission packet size via a memory based transmission packet compression encoding for providing consistent service in a wireless communication system.
- a method for minimizing transmission packet size via a memory based transmission packet compression encoding includes receiving a transmission data packet and detecting a string of bytes in the transmission data packet that matches a preset string of bytes saved in a memory component. Additionally, the method includes replacing the string of bytes of the transmission data packet that has been determined to match the preset string of bytes saved in the memory component with a location pointer, wherein after replacing the string of bytes in the data packet with the location pointer, the data packet comprises the location pointer and a set of literal bytes. Further, the method includes generating a compressed transmission data packet by entropy coding the transmission data packet comprising the set of literal-bytes and the location pointer.
- an apparatus for minimizing transmission packet size via a memory based transmission packet compression encoding includes a processor configured to receive a transmission data packet and detect a string of bytes in the transmission data packet that matches a preset string of bytes saved in a memory component. Additionally, the processor is configured to replace the string of bytes of the transmission data packet that has been determined to match the preset string of bytes saved in the memory component with a location pointer, wherein after replacing the string of bytes in the data packet with the location pointer, the data packet comprises the location pointer and a set of literal bytes. Further, the processor is configured to generate a compressed transmission data packet by entropy coding the transmission data packet comprising the set of literal-bytes and the location pointer.
- an apparatus for minimizing transmission packet size via a memory based transmission packet compression encoding includes means for receiving a transmission data packet and means for detecting a string of bytes in the transmission data packet that matches a preset string of bytes saved in a memory component. Additionally, the apparatus includes means for replacing the string of bytes of the transmission data packet that has been determined to match the preset string of bytes saved in the memory component with a location pointer, wherein after replacing the string of bytes in the data packet with the location pointer, the data packet comprises the location pointer and a set of literal bytes. Further, the apparatus includes means for generating a compressed transmission data packet by entropy coding the transmission data packet comprising the set of literal-bytes and the location pointer.
- a computer-readable media for minimizing transmission packet size via a memory based transmission packet compression encoding includes machine-executable code for receiving a transmission data packet and detecting a string of bytes in the transmission data packet that matches a preset string of bytes saved in a memory component. Additionally, the code may be executable for replacing the string of bytes of the transmission data packet that has been determined to match the preset string of bytes saved in the memory component with a location pointer, wherein after replacing the string of bytes in the data packet with the location pointer, the data packet comprises the location pointer and a set of literal bytes. Further, the code may be executable for generating a compressed transmission data packet by entropy coding the transmission data packet comprising the set of literal-bytes and the location pointer.
- FIG. 1 is a schematic diagram illustrating an example wireless system of aspects of the present disclosure
- FIG. 2 is a schematic diagram illustrating exemplary aspect of call processing in a wireless communication system
- FIG. 3 is a schematic diagram illustrating the functionally and operation of compression and decompression components in a wireless communication system
- FIG. 4 is a flow diagram illustrating an exemplary method for call processing in a wireless communication system
- FIG. 5 is a block diagram illustrating additional example components of an aspect of a computer device having a call processing component according to the present disclosure
- FIG. 6 is a block diagram illustrating an example of a hardware implementation for an apparatus employing a processing system to perform the functions described herein;
- FIG. 7 is a block diagram conceptually illustrating an example of a telecommunications system including a UE configured to perform the functions described herein;
- FIG. 8 is a conceptual diagram illustrating an example of an access network for use with a UE configured to perform the functions described herein;
- FIG. 9 is a conceptual diagram illustrating an example of a radio protocol architecture for the user and control planes for a base station and/or a UE configured to perform the functions described herein;
- FIG. 10 is a block diagram conceptually illustrating an example of a Node B in communication with a UE in a telecommunications system configured to perform the functions described herein.
- packet data traffic between a mobile user equipment (UE) and a corresponding access network may not always be encoded in a format that minimizes the transmission packet size.
- aspects of this apparatus and method are configured to minimize transmission packet size in order to reduce redundancy within a transmission packet in a flow and redundancy across transmission packets in a flow.
- a wireless communication system 100 is configured to facilitate transmitting vast amount of data from a mobile device to a network at a fast data transfer rate.
- Wireless communication system 100 includes at least one UE 114 that may communicate wirelessly with one or more network 112 via serving nodes, including, but not limited to, wireless serving node 116 over one or more wireless link 125.
- the one or more wireless link 125 may include, but are not limited to, signaling radio bearers and/or data radio bearers.
- Wireless serving node 116 may be configured to transmit one or more signals 123 to UE 114 over the one or more wireless link 125, and/or UE 114 may transmit one or more signals 124 to wireless serving node 116.
- signal 123 and signal 124 may include, but are not limited to, one or more messages, such as transmitting a data from the UE 114 to network 112 via wireless serving node 116.
- UE 114 may comprise a mobile apparatus and may be referred to as such throughout the present disclosure. Such a mobile apparatus or UE 114 may also be referred to by those skilled in the art as a mobile station, a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communications device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a terminal, a user agent, a mobile client, a client, or some other suitable terminology.
- a mobile apparatus or UE 114 may also be referred to by those skilled in the art as a mobile station, a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communications device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote
- the one or more wireless nodes may include one or more of any type of network component, such as an access point, including a base station or node B, a relay, a peer-to-peer device, an authentication, authorization and accounting (AAA) server, a mobile switching center (MSC), a radio network controller (RNC), etc.
- the one or more wireless serving nodes of wireless communication system 100 may include one or more small base stations, such as, but not limited to a femtocell, picocell, microcell, or any other small base station.
- a wireless communication system 100 is configured to include wireless communications between network 112 and user equipment (UE) 114.
- the wireless communications system may be configured to support communications between a number of users.
- Fig. 2 illustrates a manner in which network 112 communicates with UE 114.
- the wireless communication system 100 can be configured for downlink message transmission or uplink message transmission, as represented by the up/down arrows of wireless link 125 between network 112 and UE 114.
- the call processing component 140 may be configured, among other things, to include a TX/RX component 142 configured to transmit and receive transmission data packets generated at UE 114.
- UE 114 is configured to receive transmission data packet 210 generated from an operating system/applications of UE 114, as elaborated on in Fig. 2 below.
- the TX/RX component 142 is configured for transmitting compressed data to network 112 via wireless serving node 116 over link 125 and receiving compressed data from network 112 via wireless serving node 116 over link 125.
- the call processing component 140 may also be configured to include a compressor component 144 capable of pattern encoding and entropy encoding.
- compressor component 144 is configured for compressing the data generated at UE 114 via pattern encoding and entropy encoding which is then transmitted to network 112 via wireless serving node 116 over link 125.
- the specifics of pattern encoding and entropy encoding are elaborated upon in Fig. 3.
- the call processing component 140 may also be configured to also include a decompressor component 146 capable of pattern decoding and entropy decoding.
- de-compressor component 146 is configured for pattern decoding and entropy decoding of compressed data received from network 112 via wireless serving node 116 over link 125. Again, the specifics of pattern decoding and entropy decoding are elaborated upon in Fig. 3.
- the above noted functionally of call processing component 140 may be included in wireless serving node 116 of network 112, as represented by call processing component 150.
- call processing component 150 may be hardware mounted within wireless serving node 116of network 112, software or computer readable media and/or firmware stored within a memory or processor of network 112, or any combination thereof.
- call processing component 150 of network 112 may be configured to include TX/RX component 152 capable of receiving transmission data packet generated from an operating system/applications of network 112, transmitting compressed data to UE 114 via wireless serving node 116 over link 125, and receiving compressed data from UE 114 via wireless serving node 116 over link 125. Still further, call processing component 150 of network 112 may be configured to include compressor component 154 capable of compressing the data generated at network 112 via pattern encoding and entropy encoding which is then transmitted to UE 114 via wireless serving node 116 over link 125.
- call processing component 150 of network 112 may be configured to include a de-compressor component 156 capable of pattern decoding and entropy decoding of compressed data received from UE 114 via wireless serving node 116 over link 125.
- de-compressor component 156 capable of pattern decoding and entropy decoding of compressed data received from UE 114 via wireless serving node 116 over link 125. The specifics of pattern encoding/decoding and entropy encoding/decoding are elaborated upon in Fig. 3.
- the present apparatus and methods include a UE-based, and/or network based, call processing component capable of compressing and decompressing received transmission data packets in order to minimize transmission data packet size.
- Fig. 3 is a schematic diagram 230 further illustrating the functionally and operation of the compressor component 244 and the de-compressor component 246, respectively represented by and equivalent to compressor component 144/154 and de-compressor component 146/156 that reside in call processing component 140/150 of Fig. 2.
- call processing component 140 may be configured to transmit a transmission data packet 210 as a compressed transmission data packet 212 from UE 114 to network 112 after being routed through a UE-based compressor component 144.
- Transmission data packet 210 may be compressed into compressed transmission data packet 212 and transmitted from UE 114 to network 112 over wireless link 125, and may consist of bits, bytes, etc., utilized for transmission.
- call processing component 150 is configured to route the compressed transmission data packet 212 through a network-based de-compressor component 156, resulting in decompressed transmission data packet 214.
- the decompressed transmission data packet 214 may then be utilized by network 112 according to the information located within in the decompressed transmission data packet 214.
- the process of compressing and decompressing is represented by the down arrows between UE 114 and network 112 of Figs. 2 and 3.
- the direction of transmitting the compressed transmission data packet 212 may be configured to occur from UE 114 to the network 112, as discussed above, and/or from network 112 to UE 114. If the direction of transmitting the compressed transmission data packet 212 occurs from network 112 to UE 114, the components described in Fig. 3 will have corresponding components for compression at network 112, as represented by compressor component 154 (Fig. 2), and decompression at UE 114, as represented by de-compressor component 146 (Fig. 2).
- a pattern encoding component 252 and a entropy encoding component 255 and a UE-based memory 232 are capable of encoding transmission data packets transmitted to compressor component 144.
- the pattern encoding component 252 may also be configured to also include a detecting component 253 and a location pointer component 254.
- the detecting component 253 is capable of detecting a string of bytes in the transmission data packet that matches a preset string of bytes saved in a UE-based memory 232.
- the preset sting of bytes saved are the bytes in memory that may be changed before a data packet is processed. For example, first a memory is initialized to 01020304 in hexadecimal.
- the location pointer component 254 is capable of replacing the string of bytes of the transmission data packet that has been determined to match the preset string of bytes saved in the UE-based memory 232 with location pointer 262. Indeed, the location pointer component 254 may also be configured to replace a selected string of bytes of the transmission data packet, as determined by UE 114 or network 112. [0043]
- the location pointer 262 specifies the location in the UE-based memory 232 where the preset string of bytes is saved and is referenced for later decompression. Moreover, there may be a plurality of location pointer(s) 262 that match a plurality of preset string of bytes saved in a UE-based memory 232. Last, location pointer 262 may also be configured to include a length indication indicating the number of bytes of the saved preset string of bytes saved in the UE-based memory 232.
- the goal of pattern encoding component 252 is to detect strings of bytes in the current packet being compressed that match bytes preset in the UE-based memory 232. Upon detecting such a match, this particular byte pattern may be replaced by a pointer to the location (location pointer 262) in the UE-based memory 232 that was determined as a match.
- pattern encoding component 252 is configured for replacing the string of bytes of the transmission data packet 210 that has been determined to match the preset string of bytes saved in the memory component with a location pointer 262, wherein after replacing the string of bytes in the transmission data packet with the location pointer 262, the transmission data packet 210 comprises the location pointer 262 and a set of literal-bytes 264.
- the output from pattern encoding then only consists of either a set of literal-bytes 264 (bytes of the transmission packet not replaced by the location pointer) or pointers to locations (location pointer 262) in the UE-based memory 232.
- the output from pattern encoding is routed to the entropy encoding component 255.
- the entropy encoding component 255 is configured for generating a compressed transmission data packet 212 by entropy coding of a set of literal-bytes 264 remaining in the transmission data packet 210 and the location pointer 262.
- Entropy encoding encodes bit strings (i.e. sequences of bits) to symbols (e.g., literal- bytes or location pointer) based on the probability of occurrences. Symbols that occur more frequently are provided shorter bit strings and those that occur less frequently are provided longer bit strings, hence reducing the overall size of the data.
- literal-bytes 264 is defined as the bytes remaining in the transmission data packet 210 after the location pointer component 254 has replaced some of the bytes in the transmission data packet 210 with location pointer 262.
- entropy encoding component 255 is configured for generating a compressed transmission data packet 212 by entropy coding of a set of literal-bytes 264 remaining in the transmission data packet 210 and the location pointer 262 to generate a compressed transmission data packet 212 with small overall bit length (i.e., a small number of bits).
- entropy encoding component 255 is configured for generating a compressed transmission data packet 212 by entropy coding the transmission data packet 210 comprising the set of literal-bytes 264 and the location pointer 262. This allows for the literal-bytes 264 and location pointer 262 to be uniquely recovered from the output bit string.
- Generating entropy coding of the set of literal-bytes 264 and location pointer 262 is performed by well known algorithms, such as Huffman Coding and Adaptive Arithmetic Coding. Note, the generation can be based on pre-configured static mapping between the literal-bytes, location pointers and bit strings of the entropy coding. In other words, static mapping is allowed between the symbols and bit strings instead of using Huffman Coding, which may determine the mapping based on the probabilities of occurrence of the symbols (dynamic mapping).
- the goal of entropy coding is to generate a unique prefix-free code for each unique symbol that occurs in an input.
- the entropy encoders then compresses the data by replacing each fixed-length input symbol with a corresponding variable-length prefix-free output codeword.
- entropy encoding component 255 generates a unique prefix-free code to both literal-bytes 264 and location pointer 262 and replaces each fixed-length input symbol with a corresponding variable-length prefix-free output codeword to generate a compressed transmission data packet 212 with a small overall bit length.
- the decompressor component 156 is configured to include an entropy decoding component 256 and a pattern decoding component 257. Within pattern decoding component 257, there resides a location pointer scanning component 258 and a replacement component 259.
- the entropy decoding component 256 is configured to decode the entropy coding bit strings in the compressed transmission data packet 212 to generate the set of literal-bytes 264 and location pointer 262. That is to say, the entropy decoding component performs the inverse function of the entropy encoding function.
- the set of literal-bytes 264 and the location pointer 262 are then routed to the pattern decoding component 257, where location pointer scanning component 258 scans for location pointer 262 to determine which preset of bytes saved in the network-based memory 234 are to be replaced.
- the replacement component 259 then replaces the location pointer 262 with the preset string of bytes saved in the network-based memory 234 to generate decompressed transmission data packet 214, which, in all aspects, is identical to transmission data packet 210 before compression.
- the pattern decoding component 257 scans for location pointer 262 from the output of the entropy decoding component 256 and replaces location pointer 262 with the preset of bytes saved in the network-based memory 234 referred to by the location pointer 262.
- Both the UE-based memory 232 and the network-based memory 234 consist of an amount of memory in which the payloads of the most recent packets in the data flow are stored.
- the transmission data packet's uncompressed bits are inserted in memory (UE-based memory 232). If there is insufficient space in memory for this operation, the oldest bits are removed to create space.
- the bits of the decompressed transmission data packet 214 are inserted in memory (network-based memory 234). If there is insufficient space in memory for this operation, the oldest bits are removed to create space. Note, both the UE-based memory 232 and the network-based memory 234 may be emptied for synchronization purposes.
- TCP/IP Transmission Control Protocol/Internet Protocol
- ROI Robust Header Compression
- Still other aspects may be configured to allow both the pattern-coding and entropy coding functions at the compressor component 144/154 and the de-compressor component 156/146 to be transparent, in that the compressor component 144/154 and the de-compressor component 156/ 146 do not perform any functional operation on the input data. This allows for sending the original packet uncompressed, if the overhead associated with compression is not acceptable.
- the functions of the compressor component 144/154 and the de-compressor component 156/146 may be rendered inactive when overhead associated with coding compression/decompression becomes unacceptable as defined by UE-based memory 232 or network-based memory 234.
- Fig. 4 is a flow diagram illustrating an exemplary method 460. It should noted that steps 462-465, illustrated as solid line boxes, represent method steps that occur in UE 114 while steps 466-469, illustrated as dashed line boxes, represent method steps that occur in network 112. Additionally, as discussed above, the method step of Fig. 4 may also be performed in the opposite direction where steps 462-465 are performed on the network side and 466-469 are performed on the UE side.
- the UE receives a transmission data packet.
- Tx/Rx component 142 of UE 114 is configured to receive transmission data packet 210.
- transmission data packet 210 may be generated from an operating system and/or applications of UE 114. .
- UE 114attempts to detect if a string of bytes in the transmission data packet matches a preset string of bytes saved in a memory component occurs at 463.
- detecting component 253 of pattern encoding component 252, residing in compressor component 144 may be configured to detect a string of bytes in the transmission data packet 210 that matches a preset string of bytes saved in UE-based memory 232.
- UE replaces the string of bytes of the transmission data packet that has been determined to match the preset string of bytes saved in the memory component with a location pointer, wherein after replacing the string of bytes in the data packet with the location pointer, the data packet comprises the location pointer and a set of literal bytes. For example, as discussed above with reference to Fis.
- location pointer component 254 of pattern encoding component 252, residing in compressor component 144, may be configured to replace a string of bytes of transmission data packet 210 that has been determined to match the preset string of bytes saved in the UE-based memory 232 with location pointer 262, wherein after replacing the string of bytes in the transmission data packet 210 with the location pointer 262, the transmission data packet 210 comprises the location pointer 262 and a set of literal-bytes 264.
- location pointer component 254 may also be configured to replace a string of bytes of transmission data packet 210 that has been determined to match the preset string of bytes saved in the UE-based memory 232 with multiple location pointers.
- the UE generates a compressed transmission data packet by entropy coding the transmission data packet comprising the set of literal-bytes and the location pointer.
- entropy encoding component 255 residing in compressor component 144, is configured to generate a compressed transmission data packet 212 by entropy coding the transmission data packet 210 comprising the set of literal-bytes 264 and the location pointer 262.
- network 112 receives the compressed transmission data packet.
- Tx/Rx component 152 of network 112 is configured to receive compressed transmission data packet 212 from UE 114.
- node B of network 112 decodes the entropy coding bit strings in the compressed transmission data packet to generate the set of literal-bytes and location pointer.
- entropy decoding component 256 residing in de-compressor component 156, is configured to decode the entropy coding bit strings in the compressed transmission data packet 212 to generate the set of literal- bytes 264 and location pointer 262
- node B of network 112s cans for the location pointers to determine which preset of bytes saved in the memory component are to be replaced at the location pointers occurs.
- location pointer scanning component 258 of pattern decoding component 257 residing in de-compressor component 156, may scan the received compressed transmission data packet 212 for a location pointer 262 and utilizes the location pointer 262 to identify which preset of bytes saved in the network-based memory 234 are to be replaced.
- node B of network 112 replaces the location pointers with the preset string of bytes saved in the memory component to generate a decompressed transmission data packet.
- replacement component 259 of pattern decoding component 257 residing in de-compressor component 156, may replace the location pointer 262 with the preset string of bytes saved in the network- based memory 234 to generate decompressed transmission data packet 214.
- executing method 460 may be, for example, executed by UE 114/network 112 (Fig. 1) executing the call processing components 140/150 (Fig. 2), or respective components thereof.
- UE 114 and/or wireless serving node 116 of Figs. 1 and/or 2 may be represented by a specially programmed or configured computer device 580 of wireless communication system 100, wherein the special programming or configuration includes call processing component 140/150, as described herein.
- computer device 580 may include one or more components for computing and transmitting a data from a UE 114 to network 112 via wireless serving node 116, such as in specially programmed computer readable instructions or code, firmware, hardware, or some combination thereof.
- Computer device 580 includes a processor 582 for carrying out processing functions associated with one or more of components and functions described herein.
- Processor 582 can include a single or multiple set of processors or multi-core processors.
- processor 582 can be implemented as an integrated processing system and/or a distributed processing system.
- Computer device 580 further includes a memory 584, such as for storing data used herein and/or local versions of applications being executed by processor 582.
- Memory 584 can include any type of memory usable by a computer, such as random access memory (RAM), read only memory (ROM), tapes, magnetic discs, optical discs, volatile memory, non-volatile memory, and any combination thereof.
- computer device 580 includes a communications component 586 that provides for establishing and maintaining communications with one or more parties utilizing hardware, software, and services as described herein.
- Communications component 586 may carry communications between components on computer device 580, as well as between computer device 580 and external devices, such as devices located across a communications network and/or devices serially or locally connected to computer device 580.
- communications component 586 may include one or more buses, and may further include transmit chain components and receive chain components associated with a transmitter and receiver, respectively, or a transceiver, operable for interfacing with external devices.
- a receiver of communications component 586 operates to receive one or more data via a wireless serving node 116, which may be a part of memory 584.
- computer device 580 may further include a data store 588, which can be any suitable combination of hardware and/or software, that provides for mass storage of information, databases, and programs employed in connection with aspects described herein.
- data store 588 may be a data repository for applications not currently being executed by processor 582.
- Computer device 580 may additionally include a user interface component 589 operable to receive inputs from a user of computer device 580, and further operable to generate outputs for presentation to the user.
- User interface component 589 may include one or more input devices, including but not limited to a keyboard, a number pad, a mouse, a touch-sensitive display, a navigation key, a function key, a microphone, a voice recognition component, any other mechanism capable of receiving an input from a user, or any combination thereof.
- user interface component 589 may include one or more output devices, including but not limited to a display, a speaker, a haptic feedback mechanism, a printer, any other mechanism capable of presenting an output to a user, or any combination thereof.
- processor 582, memory 584, communication component 586, data store 588, and user interface 589 of computer device 580 may be configured to execute call processing component 140/150.
- Fig. 6 is a block diagram illustrating an example of a hardware implementation for an apparatus 700 employing a processing system 714.
- Apparatus 700 may be configured to include, for example, wireless communication system 100 (Fig. 2) and/or call processing component 140/150 (Fig. 2) implementing the components described above, such as, but not limited to Tx/Rx component 142/152, compressor component 144/154, and de-compressor component 146/156, as described above.
- the processing system 714 may be implemented with a bus architecture, represented generally by the bus 702.
- the bus 702 may include any number of interconnecting buses and bridges depending on the specific application of the processing system 714 and the overall design constraints.
- the bus 702 links together various circuits including one or more processors, represented generally by the processor 704, and computer- readable media, represented generally by the computer-readable medium 706.
- the bus 702 may also link various other circuits such as timing sources, peripherals, voltage regulators, and power management circuits, which are well known in the art, and therefore, will not be described any further.
- a bus interface 708 provides an interface between the bus 702 and a transceiver 710.
- the transceiver 710 provides a means for communicating with various other apparatus over a transmission medium.
- a user interface 712 e.g., keypad, display, speaker, microphone, joystick
- the processor 704 is responsible for managing the bus 702 and general processing, including the execution of software stored on the computer-readable medium 706.
- the software when executed by the processor 704, causes the processing system 714 to perform the various functions described infra for any particular apparatus.
- the computer-readable medium 706 may also be used for storing data that is manipulated by the processor 704 when executing software.
- processor 704, computer-readable medium 706, or a combination of both may be configured or otherwise specially programmed to perform the functionality of the call processing component 140/150 (Fig. 2) as described herein.
- a UMTS network includes three interacting domains: a Core Network (CN) 804, a UMTS Terrestrial Radio Access Network (UTRAN) 802, and User Equipment (UE) 810.
- UE 810 may be configured to include, for example, the call processing component 140/150 (Fig. 2) implementing the components described above, such as, but not limited to Tx/Rx component 142/152, compressor component 144/154, and de-compressor component 146/156, as described above.
- the UTRAN 802 provides various wireless services including telephony, video, data, messaging, broadcasts, and/or other services.
- the UTRAN 802 may include a plurality of Radio Network Subsystems (RNSs) such as an RNS 807, each controlled by a respective Radio Network Controller (RNC) such as an RNC 806.
- RNC Radio Network Controller
- the UTRAN 802 may include any number of RNCs 806 and RNSs 807 in addition to the RNCs 806 and RNSs 807 illustrated herein.
- the RNC 806 is an apparatus responsible for, among other things, assigning, reconfiguring and releasing radio resources within the RNS 807.
- the RNC 806 may be interconnected to other RNCs (not shown) in the UTRAN 802 through various types of interfaces such as a direct physical connection, a virtual network, or the like, using any suitable transport network.
- Communication between a UE 810 and a Node B 808 may be considered as including a physical (PHY) layer and a medium access control (MAC) layer. Further, communication between a UE 810 and an RNC 806 by way of a respective Node B 808 may be considered as including a radio resource control (RRC) layer.
- the PHY layer may be considered layer 1; the MAC layer may be considered layer 2; and the RRC layer may be considered layer 3.
- Information hereinbelow utilizes terminology introduced in the RRC Protocol Specification, 3GPP TS 25.331, incorporated herein by reference.
- the geographic region covered by the RNS 807 may be divided into a number of cells, with a radio transceiver apparatus serving each cell.
- a radio transceiver apparatus is commonly referred to as a Node B in UMTS applications, but may also be referred to by those skilled in the art as a base station (BS), a base transceiver station (BTS), a radio base station, a radio transceiver, a transceiver function, a basic service set (BSS), an extended service set (ESS), an access point (AP), or some other suitable terminology.
- BS basic service set
- ESS extended service set
- AP access point
- three Node Bs 808 are shown in each RNS 807; however, the RNSs 807 may include any number of wireless Node Bs.
- the Node Bs 808 provide wireless access points to a CN 804 for any number of mobile apparatuses.
- a mobile apparatus include a cellular phone, a smart phone, a session initiation protocol (SIP) phone, a laptop, a notebook, a netbook, a smartbook, a personal digital assistant (PDA), a satellite radio, a global positioning system (GPS) device, a multimedia device, a video device, a digital audio player (e.g., MP3 player), a camera, a game console, or any other similar functioning device.
- SIP session initiation protocol
- PDA personal digital assistant
- GPS global positioning system
- multimedia device e.g., a digital audio player (e.g., MP3 player), a camera, a game console, or any other similar functioning device.
- MP3 player digital audio player
- the UE 810 is commonly referred to as a UE in UMTS applications, but may also be referred to by those skilled in the art as a mobile station, a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communications device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a terminal, a user agent, a mobile client, a client, or some other suitable terminology.
- the UE 810 may further include a universal subscriber identity module (USIM) 811, which contains a user's subscription information to a network.
- USIM universal subscriber identity module
- the CN 804 interfaces with one or more access networks, such as the UTRAN 802. As shown, the CN 804 is a GSM core network. However, as those skilled in the art will recognize, the various concepts presented throughout this disclosure may be implemented in a RAN, or other suitable access network, to provide UEs with access to types of CNs other than GSM networks.
- the CN 804 includes a circuit- switched (CS) domain and a packet- switched (PS) domain.
- Some of the circuit- switched elements are a Mobile services Switching Centre (MSC), a Visitor location register (VLR) and a Gateway MSC.
- Packet- switched elements include a Serving GPRS Support Node (SGSN) and a Gateway GPRS Support Node (GGSN).
- Some network elements, like EIR, HLR, VLR and AuC may be shared by both of the circuit- switched and packet- switched domains.
- the CN 804 supports circuit- switched services with a MSC 812 and a GMSC 814.
- the GMSC 814 may be referred to as a media gateway (MGW).
- MGW media gateway
- the MSC 812 is an apparatus that controls call setup, call routing, and UE mobility functions.
- the MSC 812 also includes a VLR that contains subscriber-related information for the duration that a UE is in the coverage area of the MSC 812.
- the GMSC 814 provides a gateway through the MSC 812 for the UE to access a circuit- switched network 816.
- the GMSC 814 includes a home location register (HLR) 815 containing subscriber data, such as the data reflecting the details of the services to which a particular user has subscribed.
- the HLR is also associated with an authentication center (AuC) that contains subscriber-specific authentication data.
- AuC authentication center
- the CN 804 also supports packet-data services with a serving GPRS support node (SGSN) 818 and a gateway GPRS support node (GGSN) 820.
- GPRS which stands for General Packet Radio Service, is designed to provide packet-data services at speeds higher than those available with standard circuit-switched data services.
- the GGSN 820 provides a connection for the UTRAN 802 to a packet-based network 822.
- the packet-based network 822 may be the Internet, a private data network, or some other suitable packet-based network.
- the primary function of the GGSN 820 is to provide the UEs 810 with packet-based network connectivity. Data packets may be transferred between the GGSN 820 and the UEs 810 through the SGSN 818, which performs primarily the same functions in the packet-based domain as the MSC 812 performs in the circuit-switched domain.
- An air interface for UMTS may utilize a spread spectrum Direct-Sequence Code Division Multiple Access (DS-CDMA) system.
- the spread spectrum DS-CDMA spreads user data through multiplication by a sequence of pseudorandom bits called chips.
- the "wideband" W-CDMA air interface for UMTS is based on such direct sequence spread spectrum technology and additionally calls for a frequency division duplexing (FDD).
- FDD uses a different carrier frequency for the UL and DL between a Node B 808 and a UE 810.
- Another air interface for UMTS that utilizes DS-CDMA, and uses time division duplexing (TDD), is the TD-SCDMA air interface.
- TD-SCDMA time division duplexing
- An HSPA air interface includes a series of enhancements to the 3G/W-CDMA air interface, facilitating greater throughput and reduced latency.
- HSPA utilizes hybrid automatic repeat request (HARQ), shared channel transmission, and adaptive modulation and coding.
- HARQ hybrid automatic repeat request
- the standards that define HSPA include HSDPA (high speed downlink packet access) and HSUPA (high speed uplink packet access, also referred to as enhanced uplink, or EUL).
- HSDPA utilizes as its transport channel the high-speed downlink shared channel (HS- DSCH).
- the HS-DSCH is implemented by three physical channels: the high-speed physical downlink shared channel (HS-PDSCH), the high-speed shared control channel (HS-SCCH), and the high-speed dedicated physical control channel (HS-DPCCH).
- HS-PDSCH high-speed physical downlink shared channel
- HS-SCCH high-speed shared control channel
- HS-DPCCH high-speed dedicated physical control channel
- the HS-DPCCH carries the HARQ ACK/NACK signaling on the uplink to indicate whether a corresponding packet transmission was decoded successfully. That is, with respect to the downlink, the UE 810 provides feedback to the node B 808 over the HS-DPCCH to indicate whether it correctly decoded a packet on the downlink.
- HS-DPCCH further includes feedback signaling from the UE 810 to assist the node B 808 in taking the right decision in terms of modulation and coding scheme and precoding weight selection, this feedback signaling including the CQI and PCI.
- HSPA Evolved or HSPA+ is an evolution of the HSPA standard that includes MIMO and 64-QAM, enabling increased throughput and higher performance. That is, in an aspect of the disclosure, the node B 808 and/or the UE 810 may have multiple antennas supporting MIMO technology. The use of MIMO technology enables the node B 808 to exploit the spatial domain to support spatial multiplexing, beamforming, and transmit diversity.
- MIMO Multiple Input Multiple Output
- MIMO systems generally enhance data transmission performance, enabling diversity gains to reduce multipath fading and increase transmission quality, and spatial multiplexing gains to increase data throughput.
- Spatial multiplexing may be used to transmit different streams of data simultaneously on the same frequency.
- the data steams may be transmitted to a single UE 810 to increase the data rate, or to multiple UEs 810 to increase the overall system capacity. This is achieved by spatially precoding each data stream and then transmitting each spatially precoded stream through a different transmit antenna on the downlink.
- the spatially precoded data streams arrive at the UE(s) 810 with different spatial signatures, which enables each of the UE(s) 810 to recover the one or more the data streams destined for that UE 810.
- each UE 810 may transmit one or more spatially precoded data streams, which enables the node B 808 to identify the source of each spatially precoded data stream.
- Spatial multiplexing may be used when channel conditions are good.
- beamforming may be used to focus the transmission energy in one or more directions, or to improve transmission based on characteristics of the channel. This may be achieved by spatially precoding a data stream for transmission through multiple antennas. To achieve good coverage at the edges of the cell, a single stream beamforming transmission may be used in combination with transmit diversity.
- n transport blocks may be transmitted simultaneously over the same carrier utilizing the same channelization code. Note that the different transport blocks sent over the n transmit antennas may have the same or different modulation and coding schemes from one another.
- Single Input Multiple Output generally refers to a system utilizing a single transmit antenna (a single input to the channel) and multiple receive antennas (multiple outputs from the channel).
- a single transport block is sent over the respective carrier.
- the multiple access wireless communication system includes multiple cellular regions (cells), including cells 902, 904, and 906, each of which may include one or more sectors.
- the multiple sectors can be formed by groups of antennas with each antenna responsible for communication with UEs in a portion of the cell. For example, in cell 902, antenna groups 912, 914, and 916 may each correspond to a different sector.
- antenna groups 918, 920, and 922 each correspond to a different sector.
- antenna groups 924, 926, and 928 each correspond to a different sector.
- the cells 902, 904 and 906 may include several wireless communication devices, e.g., User Equipment or UEs, which may be in communication with one or more sectors of each cell 902, 904 or 906.
- UEs 930 and 932 may be in communication with Node B 942
- UEs 934 and 936 may be in communication with Node B 944
- UEs 938 and 940 can be in communication with Node B 946.
- each Node B 942, 944, 946 is configured to provide an access point to a CN 804 (see Fig.
- Node Bs 942, 944, 946 and UEs 930, 932, 934, 936, 938, 940 respectively may be configured to include, for example, the call processing component 140/150 (Fig. 2) implementing the components described above, such as, but not limited to Tx/Rx component 142/152, compressor component 144/154, and de-compressor component 146/156, as described above.
- a serving cell change (SCC) or handover may occur in which communication with the UE 934 transitions from the cell 904, which may be referred to as the source cell, to cell 906, which may be referred to as the target cell.
- Management of the handover procedure may take place at the UE 934, at the Node Bs corresponding to the respective cells, at a radio network controller 806 (see Fig. 7), or at another suitable node in the wireless network.
- the UE 934 may monitor various parameters of the source cell 904 as well as various parameters of neighboring cells such as cells 906 and 902.
- the UE 934 may maintain communication with one or more of the neighboring cells. During this time, the UE 934 may maintain an Active Set, that is, a list of cells that the UE 934 is simultaneously connected to (i.e., the UTRA cells that are currently assigning a downlink dedicated physical channel DPCH or fractional downlink dedicated physical channel F-DPCH to the UE 934 may constitute the Active Set).
- an Active Set that is, a list of cells that the UE 934 is simultaneously connected to (i.e., the UTRA cells that are currently assigning a downlink dedicated physical channel DPCH or fractional downlink dedicated physical channel F-DPCH to the UE 934 may constitute the Active Set).
- the modulation and multiple access scheme employed by the access network 900 may vary depending on the particular telecommunications standard being deployed.
- the standard may include Evolution-Data Optimized (EV-DO) or Ultra Mobile Broadband (UMB).
- EV-DO and UMB are air interface standards promulgated by the 3rd Generation Partnership Project 2 (3GPP2) as part of the CDMA2000 family of standards and employs CDMA to provide broadband Internet access to mobile stations.
- 3GPP2 3rd Generation Partnership Project 2
- the standard may alternately be Universal Terrestrial Radio Access (UTRA) employing Wideband-CDMA (W-CDMA) and other variants of CDMA, such as TD- SCDMA; Global System for Mobile Communications (GSM) employing TDM A; and Evolved UTRA (E-UTRA), Ultra Mobile Broadband (UMB), and Flash-OFDM employing OFDMA.
- UTRA Universal Terrestrial Radio Access
- W-CDMA Wideband-CDMA
- GSM Global System for Mobile Communications
- E-UTRA Evolved UTRA
- UMB Ultra Mobile Broadband
- Flash-OFDM Flash-OFDM employing OFDMA.
- CDMA2000 and UMB are described in documents from the 3GPP2 organization. The actual wireless communication standard and the multiple access technology employed will depend on the specific application and the overall design constraints imposed on the system.
- the radio protocol architecture may take on various forms depending on the particular application.
- An example for an HSPA system will now be presented with reference to Fig. 9.
- Fig. 9 is a conceptual diagram illustrating an example of the radio protocol architecture 1000 for the user plane 1002 and the control plane 1004 of a user equipment (UE) or node B/base station.
- architecture 1000 may be included in a network entity and/or UE such as an entity within network 112 and/or UE 114 (Fig. 1).
- the radio protocol architecture 1000 for the UE and node B is shown with three layers: Layer 1 1006, Layer 2 1008, and Layer 3 1010.
- Layer 1 1006 is the lowest lower and implements various physical layer signal processing functions.
- Layer 1 1006 includes the physical layer 1007.
- Layer 2 (L2 layer) 1008 is above the physical layer 1007 and is responsible for the link between the UE and node B over the physical layer 1007.
- Layer 3 (L3 layer) 1010 includes a radio resource control (RRC) sublayer 1015.
- the RRC sublayer 1015 handles the control plane signaling of Layer 3 between the UE and the UTRAN.
- the L2 layer 1008 includes a media access control (MAC) sublayer 1009, a radio link control (RLC) sublayer 1011, and a packet data convergence protocol (PDCP) 1013 sublayer, which are terminated at the node B on the network side.
- MAC media access control
- RLC radio link control
- PDCP packet data convergence protocol
- the UE may have several upper layers above the L2 layer 1008 including a network layer (e.g., IP layer) that is terminated at a PDN gateway on the network side, and an application layer that is terminated at the other end of the connection (e.g., far end UE, server, etc.).
- IP layer e.g., IP layer
- the PDCP sublayer 1013 provides multiplexing between different radio bearers and logical channels.
- the PDCP sublayer 1013 also provides header compression for upper layer data packets to reduce radio transmission overhead, security by ciphering the data packets, and handover support for UEs between node Bs.
- the RLC sublayer 1011 provides segmentation and reassembly of upper layer data packets, retransmission of lost data packets, and reordering of data packets to compensate for out-of-order reception due to hybrid automatic repeat request (HARQ).
- HARQ hybrid automatic repeat request
- the MAC sublayer 1009 provides multiplexing between logical and transport channels.
- the MAC sublayer 1009 is also responsible for allocating the various radio resources (e.g., resource blocks) in one cell among the UEs.
- the MAC sublayer 1009 is also responsible for HARQ operations.
- Fig. 10 is a block diagram of a communication system 1100 including a Node B
- Node B 1110 in communication with a UE 1150, where Node B 1110 may be an entity within network 112 and the UE 1150 may be UE 114 according to the aspect described in Fig. 1. .
- UE 1150 and Node B 1110 may be configured to include, for example, the call processing component 140/150 (Fig. 2) implementing the components described above, such as, but not limited to Tx/Rx component 142/152, compressor component 144/154, and de-compressor component 146/156, as described above.
- a transmit processor 1120 may receive data from a data source 1112 and control signals from a controller/processor 1140.
- the transmit processor 1120 provides various signal processing functions for the data and control signals, as well as reference signals (e.g., pilot signals).
- the transmit processor 1120 may provide cyclic redundancy check (CRC) codes for error detection, coding and interleaving to facilitate forward error correction (FEC), mapping to signal constellations based on various modulation schemes (e.g., binary phase-shift keying (BPSK), quadrature phase-shift keying (QPSK), M-phase-shift keying (M-PSK), M- quadrature amplitude modulation (M-QAM), and the like), spreading with orthogonal variable spreading factors (OVSF), and multiplying with scrambling codes to produce a series of symbols.
- CRC cyclic redundancy check
- Channel estimates from a channel processor 1144 may be used by a controller/processor 1140 to determine the coding, modulation, spreading, and/or scrambling schemes for the transmit processor 1120. These channel estimates may be derived from a reference signal transmitted by the UE 1150 or from feedback from the UE 1150.
- the symbols generated by the transmit processor 1120 are provided to a transmit frame processor 1130 to create a frame structure.
- the transmit frame processor 1130 creates this frame structure by multiplexing the symbols with information from the controller/processor 1140, resulting in a series of frames.
- the frames are then provided to a transmitter 1132, which provides various signal conditioning functions including amplifying, filtering, and modulating the frames onto a carrier for downlink transmission over the wireless medium through antenna 1134.
- the antenna 1134 may include one or more antennas, for example, including beam steering bidirectional adaptive antenna arrays or other similar beam technologies.
- a receiver 1154 receives the downlink transmission through an antenna 1152 and processes the transmission to recover the information modulated onto the carrier.
- the information recovered by the receiver 1154 is provided to a receive frame processor 1160, which parses each frame, and provides information from the frames to a channel processor 1194 and the data, control, and reference signals to a receive processor 1170.
- the receive processor 1170 then performs the inverse of the processing performed by the transmit processor 1120 in the Node B 1110. More specifically, the receive processor 1170 descrambles and despreads the symbols, and then determines the most likely signal constellation points transmitted by the Node B 1110 based on the modulation scheme. These soft decisions may be based on channel estimates computed by the channel processor 1194.
- the soft decisions are then decoded and deinterleaved to recover the data, control, and reference signals.
- the CRC codes are then checked to determine whether the frames were successfully decoded.
- the data carried by the successfully decoded frames will then be provided to a data sink 1172, which represents applications running in the UE 1150 and/or various user interfaces (e.g., display).
- Control signals carried by successfully decoded frames will be provided to a controller/processor 1190.
- the controller/processor 1190 may also use an acknowledgement (ACK) and/or negative acknowledgement (NACK) protocol to support retransmission requests for those frames.
- ACK acknowledgement
- NACK negative acknowledgement
- a transmit processor 1180 receives data from a data source 1178 and control signals from the controller/processor 1190 and provides various signal processing functions including CRC codes, coding and interleaving to facilitate FEC, mapping to signal constellations, spreading with OVSFs, and scrambling to produce a series of symbols.
- Channel estimates may be used to select the appropriate coding, modulation, spreading, and/or scrambling schemes.
- the symbols produced by the transmit processor 1180 will be provided to a transmit frame processor 1182 to create a frame structure.
- the transmit frame processor 1182 creates this frame structure by multiplexing the symbols with information from the controller/processor 1190, resulting in a series of frames.
- the frames are then provided to a transmitter 1156, which provides various signal conditioning functions including amplification, filtering, and modulating the frames onto a carrier for uplink transmission over the wireless medium through the antenna 1152.
- the uplink transmission is processed at the Node B 1110 in a manner similar to that described in connection with the receiver function at the UE 1150.
- a receiver 1135 receives the uplink transmission through the antenna 1134 and processes the transmission to recover the information modulated onto the carrier.
- the information recovered by the receiver 1135 is provided to a receive frame processor 1136, which parses each frame, and provides information from the frames to the channel processor 1144 and the data, control, and reference signals to a receive processor 1138.
- the receive processor 1138 performs the inverse of the processing performed by the transmit processor 1180 in the UE 1150.
- the data and control signals carried by the successfully decoded frames may then be provided to a data sink 1139 and the controller/processor, respectively. If some of the frames were unsuccessfully decoded by the receive processor, the controller/processor 1140 may also use an acknowledgement (ACK) and/or negative acknowledgement (NACK) protocol to support retransmission requests for those frames.
- ACK acknowledgement
- NACK negative acknowledgement
- the controller/processors 1140 and 1190 may be used to direct the operation at the Node B 1110 and the UE 1150, respectively.
- the controller/processors 1140 and 1190 may provide various functions including timing, peripheral interfaces, voltage regulation, power management, and other control functions.
- the computer readable media of memories 1142 and 1192 may store data and software for the Node B 1110 and the UE 1150, respectively.
- a scheduler/processor 1146 at the Node B 1110 may be used to allocate resources to the UEs and schedule downlink and/or uplink transmissions for the UEs.
- TD-SCDMA High Speed Downlink Packet Access
- HSDPA High Speed Downlink Packet Access
- HSUPA High Speed Uplink Packet Access
- HSPA+ High Speed Packet Access Plus
- LTE Long Term Evolution
- LTE-A LTE-Advanced
- CDMA2000 Evolution-Data Optimized
- UMB Ultra Mobile Broadband
- IEEE 802.11 Wi-Fi
- IEEE 802.16 WiMAX
- IEEE 802.20 Ultra- Wideband
- Bluetooth Bluetooth
- the actual telecommunication standard, network architecture, and/or communication standard employed will depend on the specific application and the overall design constraints imposed on the system.
- processors include microprocessors, microcontrollers, digital signal processors (DSPs), field programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure.
- DSPs digital signal processors
- FPGAs field programmable gate arrays
- PLDs programmable logic devices
- state machines gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure.
- One or more processors in the processing system may execute software.
- Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
- the software may reside on a computer-readable medium 706 (Fig. 6).
- the computer-readable medium 706 (Fig. 6) may be a non-transitory computer-readable medium.
- a non- transitory computer-readable medium includes, by way of example, a magnetic storage device (e.g., hard disk, floppy disk, magnetic strip), an optical disk (e.g., compact disk (CD), digital versatile disk (DVD)), a smart card, a flash memory device (e.g., card, stick, key drive), random access memory (RAM), read only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), a register, a removable disk, and any other suitable medium for storing software and/or instructions that may be accessed and read by a computer.
- a magnetic storage device e.g., hard disk, floppy disk, magnetic strip
- an optical disk e.g., compact disk (CD), digital versatile disk (DVD)
- a smart card e.g., a flash memory device (e.g., card, stick, key drive), random access memory (RAM), read only memory (ROM), programmable ROM
- the computer-readable medium may also include, by way of example, a carrier wave, a transmission line, and any other suitable medium for transmitting software and/or instructions that may be accessed and read by a computer.
- the computer-readable medium may be resident in the processing system, external to the processing system, or distributed across multiple entities including the processing system.
- the computer- readable medium may be embodied in a computer-program product.
- a computer-program product may include a computer-readable medium in packaging materials.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015533219A JP6352925B2 (ja) | 2012-09-26 | 2013-09-20 | メモリベースのパケット圧縮符号化のための方法および装置 |
| CN201380049797.8A CN104662802B (zh) | 2012-09-26 | 2013-09-20 | 用于基于存储器的分组压缩编码的方法和装置 |
| EP13776609.3A EP2901556B1 (en) | 2012-09-26 | 2013-09-20 | Method, apparatus and computer program product for a memory based packet compression encoding |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201261705994P | 2012-09-26 | 2012-09-26 | |
| US61/705,994 | 2012-09-26 | ||
| US13/960,583 | 2013-08-06 | ||
| US13/960,583 US9166620B2 (en) | 2012-09-26 | 2013-08-06 | Method and apparatus for a memory based packet compression encoding |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2014052194A1 true WO2014052194A1 (en) | 2014-04-03 |
Family
ID=50338816
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2013/060917 Ceased WO2014052194A1 (en) | 2012-09-26 | 2013-09-20 | Method and apparatus for a memory based packet compression encoding |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US9166620B2 (https=) |
| EP (1) | EP2901556B1 (https=) |
| JP (1) | JP6352925B2 (https=) |
| CN (1) | CN104662802B (https=) |
| WO (1) | WO2014052194A1 (https=) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9787332B2 (en) * | 2015-09-15 | 2017-10-10 | Intel Corporation | Error-checking compressed streams in heterogeneous compression accelerators |
| CN106941454A (zh) * | 2016-01-04 | 2017-07-11 | 中国移动通信集团公司 | 一种数据压缩传输方法、终端及服务器 |
| CN108880556B (zh) * | 2018-05-30 | 2021-09-07 | 中国人民解放军战略支援部队信息工程大学 | 基于lz77的无损数据压缩方法、误码修复方法及编码器和解码器 |
| US10812630B2 (en) | 2018-11-19 | 2020-10-20 | Fungible, Inc. | Merging techniques in data compression accelerator of a data processing unit |
| US10997123B2 (en) | 2018-11-19 | 2021-05-04 | Fungible, Inc. | Matching techniques in data compression accelerator of a data processing unit |
| US10727865B2 (en) * | 2018-11-19 | 2020-07-28 | Fungible, Inc. | Data striping for matching techniques in data compression accelerator of a data processing unit |
| US11309908B2 (en) | 2018-11-26 | 2022-04-19 | Fungible, Inc. | Static dictionary-based compression hardware pipeline for data compression accelerator of a data processing unit |
| US11630729B2 (en) | 2020-04-27 | 2023-04-18 | Fungible, Inc. | Reliability coding with reduced network traffic |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5051745A (en) * | 1990-08-21 | 1991-09-24 | Pkware, Inc. | String searcher, and compressor using same |
| US5970177A (en) * | 1995-06-07 | 1999-10-19 | America Online, Inc. | Data compression using selective encoding |
| US20070109153A1 (en) * | 2005-11-16 | 2007-05-17 | Cisco Technology, Inc. | Method and apparatus for efficient hardware based deflate |
Family Cites Families (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05244015A (ja) * | 1992-02-17 | 1993-09-21 | Nec Corp | データの圧縮方式 |
| US5990955A (en) * | 1997-10-03 | 1999-11-23 | Innovacom Inc. | Dual encoding/compression method and system for picture quality/data density enhancement |
| IL150556A0 (en) * | 2000-01-03 | 2003-02-12 | Efeckta Technologies Corp | Efficient and lossless conversion for transmission or storage of data |
| TW543311B (en) * | 2000-11-16 | 2003-07-21 | Ericsson Telefon Ab L M | Static information knowledge used with binary compression methods |
| JP2002333998A (ja) * | 2001-05-09 | 2002-11-22 | Fujitsu Ltd | 仮想マシン内部情報取得システム |
| US7016408B2 (en) * | 2001-08-10 | 2006-03-21 | The Directv Group, Inc. | Method, system and computer program product for LZJH data compression with minimum redundancy coding |
| JP2003244446A (ja) * | 2002-02-21 | 2003-08-29 | Canon Inc | 画像処理装置及び画像処理方法 |
| JP3857611B2 (ja) * | 2002-05-20 | 2006-12-13 | 富士通株式会社 | データ圧縮プログラム、データ圧縮方法、およびデータ圧縮装置 |
| US6667700B1 (en) * | 2002-10-30 | 2003-12-23 | Nbt Technology, Inc. | Content-based segmentation scheme for data compression in storage and transmission including hierarchical segment representation |
| US7966424B2 (en) | 2004-03-15 | 2011-06-21 | Microsoft Corporation | Data compression |
| US7554464B1 (en) * | 2004-09-30 | 2009-06-30 | Gear Six, Inc. | Method and system for processing data having a pattern of repeating bits |
| JP4479530B2 (ja) * | 2004-12-28 | 2010-06-09 | カシオ電子工業株式会社 | データ圧縮装置、及びデータ復元装置 |
| US7801126B2 (en) * | 2005-07-15 | 2010-09-21 | Alcatel-Lucent Usa Inc. | Method and system for encoding packet interdependency in a packet data transmission system |
| US8811431B2 (en) * | 2008-11-20 | 2014-08-19 | Silver Peak Systems, Inc. | Systems and methods for compressing packet data |
| US8284759B2 (en) | 2006-01-31 | 2012-10-09 | Alcatel Lucent | System and method for compressing voice over IP headers |
| CN1928850B (zh) * | 2006-08-11 | 2011-04-13 | 白杰 | 基于数据字典的数据压缩方法、装置 |
| KR101336243B1 (ko) * | 2007-05-10 | 2013-12-03 | 삼성전자주식회사 | 부가 정보가 삽입된 영상 데이터의 전송 스트림 구조,송수신 방법 및 장치 |
| US8849051B2 (en) * | 2007-09-17 | 2014-09-30 | Nvidia Corporation | Decoding variable length codes in JPEG applications |
| US7924178B2 (en) * | 2008-10-01 | 2011-04-12 | Seagate Technology Llc | System and method for lossless data compression |
| US7764202B2 (en) * | 2008-11-26 | 2010-07-27 | Red Hat, Inc. | Lossless data compression with separated index values and literal values in output stream |
| US8909813B2 (en) * | 2011-03-22 | 2014-12-09 | Ramot At Tel-Aviv University Ltd. | Efficient processing of compressed communication traffic |
| WO2012141871A1 (en) * | 2011-04-11 | 2012-10-18 | Marvell World Trade Ltd. | Method for compression and real-time decompression of executable code |
| US8855301B2 (en) | 2011-08-12 | 2014-10-07 | Cisco Technology, Inc. | Coordinating compression information for unreliable encrypted streams through key establishment protocols |
| US20140092987A1 (en) * | 2012-09-28 | 2014-04-03 | Apple Inc. | Entropy coding techniques and protocol to support parallel processing with low latency |
-
2013
- 2013-08-06 US US13/960,583 patent/US9166620B2/en active Active
- 2013-09-20 CN CN201380049797.8A patent/CN104662802B/zh active Active
- 2013-09-20 JP JP2015533219A patent/JP6352925B2/ja active Active
- 2013-09-20 WO PCT/US2013/060917 patent/WO2014052194A1/en not_active Ceased
- 2013-09-20 EP EP13776609.3A patent/EP2901556B1/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5051745A (en) * | 1990-08-21 | 1991-09-24 | Pkware, Inc. | String searcher, and compressor using same |
| US5970177A (en) * | 1995-06-07 | 1999-10-19 | America Online, Inc. | Data compression using selective encoding |
| US20070109153A1 (en) * | 2005-11-16 | 2007-05-17 | Cisco Technology, Inc. | Method and apparatus for efficient hardware based deflate |
Also Published As
| Publication number | Publication date |
|---|---|
| JP6352925B2 (ja) | 2018-07-04 |
| CN104662802B (zh) | 2018-12-28 |
| EP2901556A1 (en) | 2015-08-05 |
| US20140086265A1 (en) | 2014-03-27 |
| EP2901556B1 (en) | 2023-10-18 |
| US9166620B2 (en) | 2015-10-20 |
| CN104662802A (zh) | 2015-05-27 |
| JP2015534770A (ja) | 2015-12-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3042488B1 (en) | Formatting data packets for compression | |
| US9374443B2 (en) | Method and apparatus for efficient packet compression | |
| US9674803B2 (en) | Out-of synchronization detection and correction during compression | |
| EP2901556B1 (en) | Method, apparatus and computer program product for a memory based packet compression encoding | |
| EP2932679B1 (en) | Method and apparatus for classifying flows for compression | |
| US9351195B2 (en) | Handling incompressible data packets on multiple data flows | |
| US9325762B2 (en) | Method and apparatus for efficient signaling for compression | |
| US9564920B2 (en) | Method and apparatus for mitigation of false packet decodes due to early decoding | |
| US9444753B2 (en) | Methods and apparatus for improving call performance and data throughput | |
| US9172772B2 (en) | Method and apparatus for disabling compression for incompressible flows | |
| US20130223363A1 (en) | Method for enabling early decoding gains in presence of multiple simultaneous packet streams |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13776609 Country of ref document: EP Kind code of ref document: A1 |
|
| DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
| ENP | Entry into the national phase |
Ref document number: 2015533219 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2013776609 Country of ref document: EP |