EP1320832B1 - Verfahren zur komprimierung von datenpaketen - Google Patents
Verfahren zur komprimierung von datenpaketen Download PDFInfo
- Publication number
- EP1320832B1 EP1320832B1 EP01923733A EP01923733A EP1320832B1 EP 1320832 B1 EP1320832 B1 EP 1320832B1 EP 01923733 A EP01923733 A EP 01923733A EP 01923733 A EP01923733 A EP 01923733A EP 1320832 B1 EP1320832 B1 EP 1320832B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- sub
- group
- units
- unit
- code
- 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.)
- Expired - Lifetime
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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
Definitions
- packets contain headers at the start of the data.
- the header comprises information relating, e.g., to the destination address of the packet, the length of the packet and the type of payload data contained inside.
- the header can be considered a long character comprising a string of bits.
- IP Internet
- ATM Internet
- Behaviour patterns are defined as any form of non-randomness and may take any appropriate form e.g. repeats, counters where the counter is incremented by 1, or where data blocks alternate between a small number of values.
- Huffman Algorithm which is discussed in detail in co-pending application.
- This publicly available standard is widely used in many compression schemes including "WinZip”.
- Huffman encoding compresses a data stream one character at a time, where a character is usually one byte.
- the basic compression is not very efficient, but it is possible to obtain better results by applying the method recursively or by increasing the size of one character. However, this increases the processing and/or memory requirements of the algorithm.
- the inventor has developed an improved version of the Huffman method which has significantly lower memory requirements than ordinary Huffman, allowing the size of one character to be increased and hence giving a better compression ratio.
- Huffman encoding is a publicly available compression standard used in many popular compression schemes such as "WinZip". All Huffman compressors work on a stream of characters (for example ASCII characters). The basic idea is to create a new set of compressed characters or codes, where each normal character maps onto a compressed character and vice versa. Frequently occurring, i.e. common characters, are given shorter compressed codes than rarely used characters, reducing the average size of the data stream. The compression ratio can be improved by increasing the size of one character, but at the expense of higher memory requirements. In fact the memory used when running a Huffman compressor grows exponentially with the character size, so 16 bit characters need 256 times as much memory as 8-bit characters.
- Figure 1 illustrates how ordinary Huffman works.
- it relates to 10 different possible characters (a set of 10 ASCII characters) as shown in single inverted commas (in general a character can be anything e.g. a byte, a header, an ASCII character etc).
- a prerequisite is to know, for the characters, the approximate probability of that character turning up in the data sequence, the skilled person would understand that this can be done in any appropriate way (e.g. a large stream of characters is taken and one determines how often each character appears).
- the ordinary Huffman tree needs 10 starting nodes, one for each possible character. These nodes are plotted at the top of the Huffman tree, together with the percentage chance that the character turns up in an uncompressed data-stream.
- the characters are ordered generally in terms of increasing probability.
- the space character is a very common character and put last.
- the box underneath each character shows the probability of occurrence.
- To build the tree the two nodes with smallest probabilities are joined up to form a new node.
- the left-hand branch is labelled with a "1" and the right hand branch with a "0".
- the new node is obtained with a probability of the combined root nodes (in the first case this is 6%).
- the compressed character is sometimes backwards, so $ is represented by 1000. This makes it easier to decompress (because we can follow the tree up by reading the compressed character from left to right). Similarly, to decompress a character just follow the tree up using the compressed string of bits to decide whether to branch left or right at each node. Eventually one of the original ten nodes is reached and the correct decompressed character is discovered.
- each character is assigned a group and it is the groups which are treated as characters of the conventional Huffman algorithm.
- the method has significantly lower memory requirements than ordinary Huffman, allowing the size of one character to be increased and hence giving a better compression ratio.
- the improved Huffman method also uses a "character group" rather than the characters themselves to build a tree; the groups effectively become the characters of the ordinary Huffman.
- the improved Huffman tree is constructed in two stages. In the first stage the characters are divided up into groups according to a common behaviour pattern. A behaviour pattern may e.g. be the same probability, so characters are grouped according to their relative frequency.
- the invention comprises a method of compressing data, wherein said data is in the form of discrete units, by determining an overall code specific to the units, the method comprising the steps of
- Group A contains all the characters that turn up with 3% probability, namely 'B','C','1'and'2'. and the other groups are set up depending on the probability of encountering the characters:
- Group B contains the characters 'A', 'E' and '?'.
- Group C includes 'D' and ⁇ $ ⁇ , and finally Group D contains just the SPACE character. Character Chance of occurring Group Identifier SPACE 54% A A 8% B E 8% B ? 8% B $ 5% C D 5% C 1 3% D 00 2 3% D 01 B 3% D 10 C 3% D 11
- the tree initially starts with one node for each group (4 in total).
- the nodes are labelled with the number of characters in the group and the probability that one character in the group occurs in a random stream of characters.
- the character code is 101011 1 1 go to left, 0 go to left, 1 go to left.
- the compressed code comprises two portions; one portion comprises the code which identifies the group, the group code. Again as with Huffman groups which e.g. contain characters which turn up very rarely, have longer group codes than those groups with common characters.
- the other portion of the compressed code comprises the identifier code which is the code which distinguishes it from other characters within the group. Groups with odd number of characters are split into two groups; one character removed to produce a new group having an even number of characters and a new group containing just one, the removed character.
- the group is split up into two nodes.
- One branch represents just one of the characters; the other represents all the other characters and now represents a set having an even number of characters.
- the improved Huffman trees at nodes where there is no branching, effectively contain an extra symbol 'X to act as an identifier.
- identifier "D" which is either 0 or 1 to indicate which branch is which after the aforementioned splitting, i.e. if the value of "D" is 1 this may represent the branch which represents the character which was removed from the group to provide an even numbered group, and a "0" the new even-numbered group.
- the 'D' symbol is used to split the group up into two new groups. Since each new group has its own group identifier, there is no need to assign 0's and 1's to the 'D' symbol.
- the 'X' identifiers in the original and new even groups identifies the character within the even group.
- the "X"'s and "D"'s are in effect digits of the identifying code and serve to distinguish between any two characters with the same behaviour pattern.
- the initial step of compression is to label every character with a unique identification number that distinguishes it from other characters with the same behaviour pattern.
- each character in a group should be labelled with a unique identification number from the set ⁇ 0,1,2,... ⁇ . This serves to distinguish between two characters in the same group.
- the character to be compressed has unique identifier i . Find the correct behaviour pattern on the tree and follow the tree down, taking these steps at each node:
- the resulting string of bits is the compressed character. Decompression is simply a matter of reversing this process, using the compressed bits to follow the tree back up to the correct behaviour pattern.
- the unique identifier i should be initially set to 0, and is reconstructed by taking the following steps at each node:
- an entire header is treated as a single character.
- Figure 3 shows an example of a Huffman encoding method.
- a header comprises 320 bits, and can be irregular, i.e. there are 2 to the power 320 possible headers. These are grouped into say 4 behaviour patterns: those which occur with probability A% (say containing 4 headers), those with B% (containing 4 headers) those which occur C% (say 10 headers) and those which occur D% (say this group is irregular and contains the remaining headers i.e. 2 to the power 320 - 18).
- the probabilities A to D are in decreasing order.
- the improved Huffman tree is constructed as in Figure 3 .
- the group A is represented by a 1, the group B by 01 the group C by 001 and group D by 000. These are the first portion of the compressed headers and effectively are the Huffman codes for the groups.
- the second portion is the identifier which distinguishes the header from other headers in the same group.
- the first group A there are 4 headers so one only needs a identifier register having 2 bits which gives 4 possibilities.
- the compressed header thus, for member of group A, comprises three bits in total "0" and then the identifier".
- For group D there are still very many different possibilities of headers 2 ⁇ 320 - 18 . In this case it is impossible to have an identifier look up table for each and the header itself becomes the identifier. Thus the complete header becomes 000 tagged onto the header itself.
- the compressed header in this case is actually longer by 3 bits, using this system savings are made because most of the headers which will be encountered are not irregular and thus get compressed with shorter group codes as in Huffman but substantially shorter identifiers.
- the tree does not have to be constructed with a node to distinguish each and every possible header which would otherwise become unfeasibly large.
- the example describes a simple example where headers are divided into 4 groups. This is an extreme case to illustrate the invention and the number of groups would be selected in an appropriate fashion for optimal efficiency. Typically there may be 1000 groups, but this is still more manageable than 2 ⁇ 320 which is impossible for a computer to deal with. In general, with Huffman, the number of characters is a measure of the processing time.
- header is divided up into a number of fields. These fields tend to behave independently from each other.
- one or more of the sub-units may be compressed according to the above described improved Huffman method.
- the compressed code for the complete header would comprise the concatenated compressed codes for the sub-units and the sub-units themselves of any sub-unit which isn't compressed. For example if a header comprises two sub-units, the first sub-unit comprising an address and the second sub-unit a random data string, the overall compressed header will comprise of the compressed address field concatenated with the random data string.
- the table below shows a typical header; this may contain fields such as IP header, version number, header length, reserved flag, source address destination address, type of service.
- Each field has a number of different possible behaviours: e.g. the address field is a 32 bit field which indicates the destination of the data packet; very often it is the same as for the last header, e.g. the data packets go to the mobile phone, and only on rare occasions might have switched to a different phone e.g. static (same as the field value in the previous header) alternating (alternate between a small number of values) irregular (completely random - can't be compressed) inferred (can work value out from a different field e.g. length field- how long header is can be worked out by all the other fields).
- This is shown in the worked example below, which includes a table of a header comprising 3 fields: Field 1 Field 2 Field 3 S/IN S/I/A S
- Each field may have one or more different behaviours, in the example the first field can have two different types of behaviour, STATIC or INFERRED, the second field has three possible different types of behaviour STATIC, INFERRED or ALTERNATING and the third field only one STATIC. This is shown in column 2 of the table below.
- a preferred, more complex embodiment will now be described. It is applicable to headers which have fields, wherein one or more field can have different types of behaviours.
- the first step for each field is to assign one or more different behaviour types.
- the next step is to determine, for each field, the probability that it will have a particular behaviour type, e.g. for each field determining the probability that it will be STATIC or INFERRED etc. This is shown in the last column of the table below.
- a field behaviour is picked from field 1, a behaviour from field 2 and a behaviour from field 3.
- the Huffman tree is then arranged such that groups at the top of the Huffman tree, which are the particular combination of header types, are arranged such that those with the smallest probability have the most branching and thus the longest group code and the those with the largest probability of occurring have the shortest branching and group code.
- a register of, for each behaviour pattern it is advantageous to keep a register of, for each behaviour pattern, how many ways it can vary.
- a field can be static i.e. it doesn't change, for an 8 bit field there are 256 ways of being irregular, and perhaps 4 ways of alternating. Knowledge of this allows the size of the identifier code to be determined.
- the identifier code register need to be 8 bits in size and the identifier code would comprise the field itself.
- the identifier register needs to be only two bits in size which allows four different combinations.
- the scheme is manually programmed to compress one protocol stack with optimal efficiency.
- the input is a list of the fields within the protocol stack, and for each field a set of possible ways in which the field can behave.
- This input list is converted into a form suitable for the improved Huffman method, as explained above.
- the method calculates the best format for the compressed headers and stores the results in the form of a Huffman tree.
- the compressor and decompressor are programmed by sending a special profiling message containing the list of field behaviour patterns. This message is usually sent by the network administrator whenever a new protocol stack needs to be added to the system.
- a further alternative is a "learning mode” which scans an arbitrary packet stream and dynamically learns how best to compress the packet headers. The efficiency of this mode depends on the number of behaviour types that can be detected.
- a further preferred embodiment is a "Hybrid Mode” where the system is preprogrammed to compress a protocol stack just as in Static Mode, but Learning Mode is also activated in case the protocol stack can be even more efficiently compressed. This mode is especially useful for coping with unexpected changes in the way the protocol stack behaves.
- variable-length fields can also easily handle variable-length fields. In fact, it is simply a matter of adding one behaviour pattern for each possible length of the variable-length field. Note that this encoding implicitly includes the length of the field, so if there is a separate field containing the length value then it should be classed as INFERRED to avoid transmitting the information twice.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Time-Division Multiplex Systems (AREA)
- Communication Control (AREA)
Claims (6)
- Verfahren zur Komprimierung von Daten, bei dem die besagten Daten in Form von diskreten Einheiten vorliegen, indem ein globaler, für die Einheiten spezifischer Code ermittelt wird, wobei das Verfahren die folgenden Schritte umfasst:a) Einteilen der Einheiten in Gruppen gemäß gemeinsamer Verhaltensmuster;b) Zuweisen eines gruppenspezifischen Codes für jede der besagten Gruppen von Einheiten, wobei die Größen der besagten gruppenspezifischen Codes entsprechend der Wahrscheinlichkeit des Auftretens der Einheit geordnet werden; undc) Zuweisen eines spezifischen Einheitenkenncodes zum Identifizieren eines bestimmten Zeichens innerhalb der Gruppe, wobei der Gesamtcode die verketteten gruppenspezifischen und Kenncodes umfasst, wobei der Kenncode die minimale Größe hat, damit jede Einheit, die in der Gruppe möglicherweise vorkommt, spezifisch zugewiesen werden kann;dadurch gekennzeichnet, dass die diskreten Einheiten in eine Anzahl von Untereinheiten untergliedert sind und dass mindestens eine Untereinheit bearbeitet und komprimiert wird; der gesamte komprimierte Code eine Verkettung aller Codes der komprimierten Untereinheiten sowie eventuelle nicht komprimierte Untereinheiten selbst beinhaltet; und wobei
mindestens einer Untereinheit eine Mehrzahl von Verhaltensmustern zugewiesen ist und die besagten Gruppen von Einheiten danach in Gruppen eingeteilt werden, dass sie eine jeweilige Kombination von Untereinheiten-Verhaltensmustern aufweisen. - Verfahren gemäß Anspruch 1, wobei die Untereinheiten gemäß bestimmter Wertebereiche der Wahrscheinlichkeit, mit der die betreffende Untereinheit vorkommen wird, in Gruppen eingeordnet werden.
- Verfahren gemäß Anspruch 1, wobei die Untereinheiten entsprechend mindestens einem der folgenden Verhaltensmuster in Gruppen eingeordnet werden - "static" (statisch), "alternating" (alternierend), "inferred" (abgeleitet) oder "irregular" (unregelmäßig).
- Verfahren gemäß einem der vorstehenden Ansprüche, wobei die Anzahl der möglichen Untereinheiten, die in der Untereinheitengruppe vorkommen können, ermittelt wird, um die Größe eines Registers für den Untereinheitencode zu bestimmen.
- Verfahren gemäß einem der vorstehenden Ansprüche, wobei die Wahrscheinlichkeit jeder Kombination von Verhaltenstypen der Untereinheiten bestimmt wird, wobei jede Kombination eine separate Gruppe bildet.
- Verfahren gemäß einem der vorstehenden Ansprüche, wobei die besagte diskrete Einheit ein Header ist.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0023766 | 2000-09-28 | ||
GB0023766A GB0023766D0 (en) | 2000-09-28 | 2000-09-28 | EPIC(Efficient protocol-independent compression) |
GB0102158A GB2367459A (en) | 2000-09-28 | 2001-01-29 | Method of compressing data packets |
GB0102158 | 2001-01-29 | ||
PCT/EP2001/004607 WO2002027663A1 (en) | 2000-09-28 | 2001-04-24 | Method of compressing data packets |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1320832A1 EP1320832A1 (de) | 2003-06-25 |
EP1320832B1 true EP1320832B1 (de) | 2007-04-04 |
Family
ID=26245068
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP01923733A Expired - Lifetime EP1320832B1 (de) | 2000-09-28 | 2001-04-24 | Verfahren zur komprimierung von datenpaketen |
EP01974448A Expired - Lifetime EP1348002B1 (de) | 2000-09-28 | 2001-09-26 | Verfahren und vorrichtung zur verarbeitung von datenpaketen |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP01974448A Expired - Lifetime EP1348002B1 (de) | 2000-09-28 | 2001-09-26 | Verfahren und vorrichtung zur verarbeitung von datenpaketen |
Country Status (11)
Country | Link |
---|---|
US (2) | US7071853B2 (de) |
EP (2) | EP1320832B1 (de) |
JP (1) | JP2004510371A (de) |
KR (1) | KR100820630B1 (de) |
CN (2) | CN1251151C (de) |
AU (3) | AU2001250430A1 (de) |
CA (1) | CA2423741A1 (de) |
DE (2) | DE60127695T2 (de) |
ES (1) | ES2267821T3 (de) |
GB (2) | GB2367459A (de) |
WO (2) | WO2002027663A1 (de) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2367459A (en) * | 2000-09-28 | 2002-04-03 | Roke Manor Research | Method of compressing data packets |
EP1365548A1 (de) * | 2002-05-21 | 2003-11-26 | Alcatel | Einkapselungsverfahren für Pakete variables Länge und entsprechende Geräte zur Einkapselung und Entkapselung |
GB0217604D0 (en) * | 2002-07-30 | 2002-09-11 | Vodafone Ltd | Data processing systems and methods |
FR2857538B1 (fr) | 2003-07-08 | 2006-10-06 | At & T Corp | Systeme et methode de compression d'en-tete de paquets bases sur la creation dynamique d'un gabarit |
FI20041446A0 (fi) * | 2004-11-09 | 2004-11-09 | Jaakko Astola | Menetelmä nopeaksi rekursiiviseksi koodaamiseksi elektronisissa laitteissa |
US8213291B2 (en) * | 2005-06-29 | 2012-07-03 | Intel Corporation | Wireless data transmission methods, devices, and systems |
KR101136130B1 (ko) * | 2008-10-14 | 2012-04-17 | 한국전자통신연구원 | 가정용 기지국 장치와 그의 제어 방법 |
US7796059B2 (en) * | 2009-01-16 | 2010-09-14 | Tatu Ylonen Oy | Fast approximate dynamic Huffman coding with periodic regeneration and precomputing |
WO2011107964A1 (en) * | 2010-03-03 | 2011-09-09 | Cellguide Ltd. | Method of generating an elevation database |
EP2550546A4 (de) * | 2010-03-25 | 2013-09-04 | Cellguide Ltd | Durch statische daten unterstützte gnss-navigation |
US10530574B2 (en) | 2010-03-25 | 2020-01-07 | Massachusetts Institute Of Technology | Secure network coding for multi-description wireless transmission |
US8571214B2 (en) | 2010-03-25 | 2013-10-29 | Massachusetts Institute Of Technology | Secure network coding for multi-resolution wireless video streaming |
KR101725223B1 (ko) * | 2011-03-25 | 2017-04-11 | 삼성전자 주식회사 | 저장 장치에서의 데이터 압축 방법 |
WO2012167034A2 (en) * | 2011-06-03 | 2012-12-06 | Massachusetts Institute Of Technology | Method and apparatus to perform functional compression |
US9294113B2 (en) | 2011-07-05 | 2016-03-22 | Massachusetts Institute Of Technology | Energy-efficient time-stampless adaptive nonuniform sampling |
US9544126B2 (en) | 2011-10-31 | 2017-01-10 | Massachusetts Institute Of Technology | Joint use of multi-packet reception and network coding for performance improvement |
US9025607B2 (en) | 2011-11-05 | 2015-05-05 | Massachusetts Institute Of Technology | Method and apparatus for efficient transmission of information to multiple nodes |
US8780693B2 (en) | 2011-11-08 | 2014-07-15 | Massachusetts Institute Of Technology | Coding approach for a robust and flexible communication protocol |
US9537759B2 (en) | 2012-01-31 | 2017-01-03 | Massachusetts Institute Of Technology | Multi-path data transfer using network coding |
US9160687B2 (en) | 2012-02-15 | 2015-10-13 | Massachusetts Institute Of Technology | Method and apparatus for performing finite memory network coding in an arbitrary network |
US9537978B2 (en) * | 2012-03-12 | 2017-01-03 | Agency For Science, Technology And Research | Compression devices, decompression devices, compression methods, and decompression methods |
US9369255B2 (en) | 2012-10-18 | 2016-06-14 | Massachusetts Institute Of Technology | Method and apparatus for reducing feedback and enhancing message dissemination efficiency in a multicast network |
GB2521305B (en) | 2012-10-23 | 2020-02-05 | Mitsubishi Electric Corp | Communication device, communication method, and program |
GB2510198B (en) * | 2013-01-29 | 2015-04-08 | Canon Kk | Method and device for encoding a header in a message using an indexing table |
WO2014134538A1 (en) | 2013-02-28 | 2014-09-04 | Xaptum, Inc. | Systems, methods, and devices for adaptive communication in a data communication network |
US9369541B2 (en) | 2013-03-14 | 2016-06-14 | Massachusetts Institute Of Technology | Method and apparatus for implementing distributed content caching in a content delivery network |
EP2974096A4 (de) | 2013-03-14 | 2016-11-09 | Massachusetts Inst Technology | Verfahren und vorrichtung für sichere kommunikation |
US9607003B2 (en) | 2013-03-14 | 2017-03-28 | Massachusetts Institute Of Technology | Network coded storage with multi-resolution codes |
US9185529B2 (en) | 2013-03-15 | 2015-11-10 | Massachusetts Institute Of Technology | Wireless reliability architecture and methods using network coding |
US9019643B2 (en) | 2013-03-15 | 2015-04-28 | Massachusetts Institute Of Technology | Method and apparatus to reduce access time in a data storage device using coded seeking |
GB2539027B (en) | 2015-06-04 | 2019-04-17 | Thales Holdings Uk Plc | Video compression with increased fidelity near horizon |
US9953058B1 (en) | 2015-07-29 | 2018-04-24 | Levyx, Inc. | Systems and methods for searching large data sets |
ES2926238T3 (es) | 2017-03-29 | 2022-10-24 | Massachusetts Inst Technology | Sistema y técnica para la generación de paquetes basados en codificación de red de ventana deslizante |
US11057352B2 (en) | 2018-02-28 | 2021-07-06 | Xaptum, Inc. | Communication system and method for machine data routing |
US10965653B2 (en) | 2018-03-28 | 2021-03-30 | Xaptum, Inc. | Scalable and secure message brokering approach in a communication system |
US10805439B2 (en) | 2018-04-30 | 2020-10-13 | Xaptum, Inc. | Communicating data messages utilizing a proprietary network |
US11418449B2 (en) | 2018-05-16 | 2022-08-16 | Code On Network Coding, Llc | Multipath coding apparatus and related techniques |
US10924593B2 (en) | 2018-08-31 | 2021-02-16 | Xaptum, Inc. | Virtualization with distributed adaptive message brokering |
US10938877B2 (en) | 2018-11-30 | 2021-03-02 | Xaptum, Inc. | Optimizing data transmission parameters of a proprietary network |
US10912053B2 (en) | 2019-01-31 | 2021-02-02 | Xaptum, Inc. | Enforcing geographic restrictions for multitenant overlay networks |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3701111A (en) * | 1971-02-08 | 1972-10-24 | Ibm | Method of and apparatus for decoding variable-length codes having length-indicating prefixes |
US3717851A (en) * | 1971-03-03 | 1973-02-20 | Ibm | Processing of compacted data |
US3957699A (en) * | 1973-06-12 | 1976-05-18 | Ici Australia Limited | Process for polymerizing allylamines employing a redox initiator consisting of Fe++ or Ti+++ with H2 O2, hydroxyl amine, or hydroperoxides to form insoluble crosslinked polymers |
JPS5439595B2 (de) * | 1974-04-19 | 1979-11-28 | ||
JPH0821863B2 (ja) * | 1985-04-13 | 1996-03-04 | キヤノン株式会社 | データ処理方法 |
AU579550B2 (en) | 1985-06-10 | 1988-11-24 | Nec Corporation | Movement compensation predictive encoder for a moving picture signal with a reduced amount of information |
JPS62257481A (ja) * | 1986-04-30 | 1987-11-10 | 三洋化成工業株式会社 | 染料固着剤 |
US4759923A (en) * | 1987-06-25 | 1988-07-26 | Hercules Incorporated | Process for lowering serum cholesterol using poly(diallylmethylamine) derivatives |
JPH03145223A (ja) * | 1989-10-30 | 1991-06-20 | Toshiba Corp | 可変長符号復調装置 |
GB9012037D0 (en) | 1990-05-30 | 1990-07-18 | Fenning Kenneth J | Reducing television bandwidth by data compression |
US5134478A (en) | 1991-02-19 | 1992-07-28 | Intel Corporation | Method and apparatus for compressing and decompressing a digital video signal using predicted and error images |
CA2065578C (en) * | 1991-04-22 | 1999-02-23 | David W. Carr | Packet-based data compression method |
JPH05136697A (ja) | 1991-11-14 | 1993-06-01 | Kokusai Electric Co Ltd | 音声符号化方式 |
US5646983A (en) * | 1993-03-25 | 1997-07-08 | U.S. Robotics Access Corp. | Host computer digital signal processing system for communicating over voice-grade telephone channels |
NL9301841A (nl) * | 1993-10-25 | 1995-05-16 | Nederland Ptt | Inrichting voor het bewerken van datapakketten. |
JPH07221652A (ja) * | 1994-01-31 | 1995-08-18 | Fujitsu Ltd | データ圧縮方法 |
FI98027C (fi) * | 1995-01-10 | 1997-03-25 | Nokia Telecommunications Oy | Pakettiradiojärjestelmä ja päätelaitteisto pakettiradiojärjestelmää varten |
US5696563A (en) * | 1995-03-08 | 1997-12-09 | Lucent Technologies Inc. | Apparatus and methods for performing huffman coding |
US5790554A (en) * | 1995-10-04 | 1998-08-04 | Bay Networks, Inc. | Method and apparatus for processing data packets in a network |
JP3720094B2 (ja) * | 1995-10-18 | 2005-11-24 | シャープ株式会社 | データ駆動型情報処理装置 |
US6088039A (en) * | 1996-01-04 | 2000-07-11 | Compaq Computer Corporation | Compression of grey scale images of text |
US5787253A (en) * | 1996-05-28 | 1998-07-28 | The Ag Group | Apparatus and method of analyzing internet activity |
US6370477B1 (en) * | 1996-11-22 | 2002-04-09 | Schlumberger Technology Corporation | Compression method and apparatus for seismic data |
US6134245A (en) * | 1997-08-08 | 2000-10-17 | Paradyne Corporation | System and method for the compression and transportation of non frame relay data over a frame relay network |
US6618506B1 (en) * | 1997-09-23 | 2003-09-09 | International Business Machines Corporation | Method and apparatus for improved compression and decompression |
US6121903A (en) * | 1998-01-27 | 2000-09-19 | Infit Communications Ltd. | On-the-fly data re-compression |
US6252905B1 (en) * | 1998-02-05 | 2001-06-26 | International Business Machines Corporation | Real-time evaluation of compressed picture quality within a digital video encoder |
US6040790A (en) * | 1998-05-29 | 2000-03-21 | Xerox Corporation | Method of building an adaptive huffman codeword tree |
US6408001B1 (en) * | 1998-10-21 | 2002-06-18 | Lucent Technologies Inc. | Method for determining label assignments for a router |
US7155493B1 (en) * | 1998-10-29 | 2006-12-26 | International Business Machines Corporation | Method and apparatus for improved internet navigation |
US6425021B1 (en) * | 1998-11-16 | 2002-07-23 | Lsi Logic Corporation | System for transferring data packets of different context utilizing single interface and concurrently processing data packets of different contexts |
US6557001B1 (en) * | 1998-11-23 | 2003-04-29 | Moonlight Cordless Ltd. | Method for enhancing video compression through automatic data analysis and profile selection |
US6404931B1 (en) * | 1998-12-14 | 2002-06-11 | Microsoft Corporation | Code book construction for variable to variable length entropy encoding |
FI107000B (fi) * | 1999-02-17 | 2001-05-15 | Nokia Mobile Phones Ltd | Otsikon pakkaaminen reaaliaikaisissa palveluissa |
WO2000051307A1 (en) * | 1999-02-26 | 2000-08-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive header compression for packet communications |
WO2000057284A1 (en) * | 1999-03-25 | 2000-09-28 | Motorola Inc. | Point to point protocol multiplexing/demultiplexing method and apparatus |
JP3714403B2 (ja) * | 1999-04-12 | 2005-11-09 | ノキア コーポレイション | パケット長さの分類 |
US6542504B1 (en) * | 1999-05-28 | 2003-04-01 | 3Com Corporation | Profile based method for packet header compression in a point to point link |
EP1059782A3 (de) * | 1999-06-10 | 2004-02-04 | Lucent Technologies Inc. | Verfahren und Vorrichtung zur dynamische benutzung der bandbreite in einem Packetfernsprechernetz |
US6754231B1 (en) * | 1999-06-18 | 2004-06-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Robust header compression in packet communications |
ES2394623T3 (es) * | 1999-07-15 | 2013-02-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Control de admisión y planificación de tráfico de datos por paquetes |
US6711164B1 (en) * | 1999-11-05 | 2004-03-23 | Nokia Corporation | Method and apparatus for performing IP-ID regeneration to improve header compression efficiency |
US6614789B1 (en) * | 1999-12-29 | 2003-09-02 | Nasser Yazdani | Method of and apparatus for matching strings of different lengths |
US6608841B1 (en) | 1999-12-30 | 2003-08-19 | Nokia Networks Oy | System and method for achieving robust IP/UDP/RTP header compression in the presence of unreliable networks |
US6999429B1 (en) * | 2000-03-03 | 2006-02-14 | Telefonaktiebolaget Lm Ericsson | Access technology integrated header compression |
US7539130B2 (en) * | 2000-03-28 | 2009-05-26 | Nokia Corporation | Method and system for transmitting and receiving packets |
US7788211B2 (en) * | 2000-06-16 | 2010-08-31 | Nokia Networks Oy | Robust and efficient compression of list of items |
US6820233B2 (en) * | 2000-07-14 | 2004-11-16 | Telefonaktiebolaget Lm Ericsson | Re-use of static checksum information in header compression/decompression applications |
GB2367459A (en) * | 2000-09-28 | 2002-04-03 | Roke Manor Research | Method of compressing data packets |
-
2001
- 2001-01-29 GB GB0102158A patent/GB2367459A/en not_active Withdrawn
- 2001-04-24 US US10/381,719 patent/US7071853B2/en not_active Expired - Fee Related
- 2001-04-24 AU AU2001250430A patent/AU2001250430A1/en not_active Abandoned
- 2001-04-24 WO PCT/EP2001/004607 patent/WO2002027663A1/en active IP Right Grant
- 2001-04-24 DE DE60127695T patent/DE60127695T2/de not_active Expired - Lifetime
- 2001-04-24 EP EP01923733A patent/EP1320832B1/de not_active Expired - Lifetime
- 2001-04-24 CN CNB018196225A patent/CN1251151C/zh not_active Expired - Fee Related
- 2001-09-26 AU AU9396301A patent/AU9396301A/xx active Pending
- 2001-09-26 US US10/381,717 patent/US8073973B2/en active Active
- 2001-09-26 AU AU2001293963A patent/AU2001293963B2/en not_active Expired
- 2001-09-26 JP JP2002531238A patent/JP2004510371A/ja active Pending
- 2001-09-26 GB GB0123133A patent/GB2370479B/en not_active Revoked
- 2001-09-26 CN CNB018196233A patent/CN1214562C/zh not_active Expired - Lifetime
- 2001-09-26 WO PCT/GB2001/004308 patent/WO2002026860A1/en active IP Right Grant
- 2001-09-26 KR KR1020037004392A patent/KR100820630B1/ko active IP Right Grant
- 2001-09-26 ES ES01974448T patent/ES2267821T3/es not_active Expired - Lifetime
- 2001-09-26 CA CA002423741A patent/CA2423741A1/en not_active Abandoned
- 2001-09-26 EP EP01974448A patent/EP1348002B1/de not_active Expired - Lifetime
- 2001-09-26 DE DE60122773T patent/DE60122773T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
AU2001250430A1 (en) | 2002-04-08 |
AU2001293963B2 (en) | 2006-11-30 |
EP1320832A1 (de) | 2003-06-25 |
WO2002027663A1 (en) | 2002-04-04 |
GB0123133D0 (en) | 2001-11-14 |
GB2367459A (en) | 2002-04-03 |
US7071853B2 (en) | 2006-07-04 |
GB0102158D0 (en) | 2001-03-14 |
ES2267821T3 (es) | 2007-03-16 |
US8073973B2 (en) | 2011-12-06 |
DE60122773T2 (de) | 2007-08-30 |
DE60127695T2 (de) | 2007-12-27 |
AU9396301A (en) | 2002-04-08 |
CN1478256A (zh) | 2004-02-25 |
CN1251151C (zh) | 2006-04-12 |
DE60127695D1 (de) | 2007-05-16 |
KR100820630B1 (ko) | 2008-04-10 |
US20040133702A1 (en) | 2004-07-08 |
WO2002026860A9 (en) | 2002-12-27 |
CN1478113A (zh) | 2004-02-25 |
GB2370479B (en) | 2004-07-21 |
CN1214562C (zh) | 2005-08-10 |
US20040051653A1 (en) | 2004-03-18 |
CA2423741A1 (en) | 2002-04-04 |
EP1348002A1 (de) | 2003-10-01 |
DE60122773D1 (de) | 2006-10-12 |
GB2370479A (en) | 2002-06-26 |
KR20030040499A (ko) | 2003-05-22 |
WO2002026860A1 (en) | 2002-04-04 |
JP2004510371A (ja) | 2004-04-02 |
EP1348002B1 (de) | 2006-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1320832B1 (de) | Verfahren zur komprimierung von datenpaketen | |
EP1320833B1 (de) | Verfahren zur komprimierung von datenpaketen | |
EP1024600B1 (de) | Verfahren zur Datenkomprimierung und -Dekomprimierung und zugehöriges Datenkomprimierungs- und Dekomprimierungsgerät | |
US6950445B2 (en) | Communication system and method for shared context compression | |
JP4559631B2 (ja) | 可変長から可変長へのエントロピー符号化のためのコードブック構成 | |
EP0903866B1 (de) | Verfahren und Vorrichtung zur Datenkompression | |
EP1397866A2 (de) | Verfahren und vorrichtung zur adaptiven datenkompression | |
US5594435A (en) | Permutation-based data compression | |
US6670897B1 (en) | Compression/decompression techniques based on tokens and Huffman coding | |
EP0638214A1 (de) | Verfahren zur datenkompression unter verwendung einer tokenstapeltechnik | |
US6127953A (en) | Apparatus and method for compressing data containing repetitive patterns | |
WO2001010036A1 (en) | Memory efficient variable-length encoding/decoding system | |
US6240213B1 (en) | Data compression system having a string matching module | |
WO1999062181A1 (fr) | Procede et dispositif de protection contre les erreurs | |
Nekritch | Byte-oriented decoding of canonical Huffman codes | |
GB2367460A (en) | Improved Huffman data compression method | |
EP1488527A1 (de) | Verfahren und vorrichtung zur verlustfreien komprimierung und dekomprimierung | |
JP3425143B2 (ja) | データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置 | |
US6522270B1 (en) | Method of coding frequently occurring values | |
JP3425142B2 (ja) | データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置 | |
US6583736B1 (en) | Bitcode sequence coding of frequently occurring values | |
JP2003087573A (ja) | 画像圧縮装置及び画像伸張装置 | |
WO2003007572A1 (en) | Method for compressing protocols and related system | |
Acharya et al. | An On-line Variable Length Binary Encoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20030325 |
|
AK | Designated contracting states |
Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
RBV | Designated contracting states (corrected) |
Designated state(s): DE FR GB |
|
17Q | First examination report despatched |
Effective date: 20050524 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE FR GB |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REF | Corresponds to: |
Ref document number: 60127695 Country of ref document: DE Date of ref document: 20070516 Kind code of ref document: P |
|
ET | Fr: translation filed | ||
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed |
Effective date: 20080107 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20120309 Year of fee payment: 12 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20120420 Year of fee payment: 12 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20120507 Year of fee payment: 12 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20130424 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20131101 Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20130424 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20131231 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 60127695 Country of ref document: DE Effective date: 20131101 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20130430 |