NL9400100A - Method and device for the transformation of a series of data packets by means of data compression - Google Patents
Method and device for the transformation of a series of data packets by means of data compression Download PDFInfo
- Publication number
- NL9400100A NL9400100A NL9400100A NL9400100A NL9400100A NL 9400100 A NL9400100 A NL 9400100A NL 9400100 A NL9400100 A NL 9400100A NL 9400100 A NL9400100 A NL 9400100A NL 9400100 A NL9400100 A NL 9400100A
- Authority
- NL
- Netherlands
- Prior art keywords
- data
- series
- data packets
- channel
- packets
- Prior art date
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Werkwijze en inrichting voor het door middel van datacompressie omvormen van een reeks van datapakketten.Method and device for converting a series of data packets by means of data compression.
A. ACHTERGROND VAN DE UITVINDINGA. BACKGROUND OF THE INVENTION
De uitvinding heeft betrekking op een werkwijze voor het comprimeren van datapakketten, een werkwijze voor het decomprimeren van datapakketten, inrichtingen voor het comprimeren en decomprimeren van datapakketten, en een stelsel voor het in gecomprimeerde vorm overdragen van datapakketten.The invention relates to a method for compressing data packets, a method for decompressing data packets, devices for compressing and decompressing data packets, and a system for transferring data packets in compressed form.
Meer in het bijzonder heeft de uitvinding betrekking op een werkwijze voor het omzetten van een eerste reeks van datapakketten met elk een kopveld en een dataveld in een tweede reeks van datapakketten met elk een kopveld en een dataveld, waarbij beide reeksen datapakketten van een aantal kanalen omvatten, en waarbij data uit de datavelden van de eerste reeks aan een compressieproces worden onderworpen en vervolgens in de datavelden van de tweede reeks worden ondergebracht. Een dergelijke werkwijze is bekend uit de Europese octrooiaanvrage EP-A-0.559.593.More particularly, the invention relates to a method for converting a first series of data packets each having a header field and a data field into a second series of data packets each having a header field and a data field, both series comprising data packets of a number of channels , and wherein data from the data fields of the first series are subjected to a compression process and then transferred to the data fields of the second series. Such a method is known from European patent application EP-A-0.559.593.
Datacompressie wordt in de praktijk toegepast om de capaciteit van een communicatiekanaal te vergroten. Door het comprimeren van de over te dragen data kan een bepaalde hoeveelheid data in minder tijd of met een kleinere bandbreedte worden overgedragen. De datacompressie vindt daarbij in vele gevallen plaats door een compressieproces waarin de frequentie van optreden van datawoorden of boodschappen wordt gebruikt om de data op efficiëntere wijze te coderen: door de meest frequente data te vervangen door een korte code en minder frequente door een langere kan een hoge mate van compressie worden bereikt. De gecomprimeerde data kunnen vervolgens worden overgedragen, bijvoorbeeld in de vorm van datapakketten. Aldus wordt een eerste reeks van datapakketten omgevormd tot een tweede reeks, waarbij in het geval van een succesvolle compressie de tweede reeks in het algemeen korter zal zijn, dat wil zeggen minder data zal bevatten, dan de eerste reeks.Data compression is used in practice to increase the capacity of a communication channel. By compressing the data to be transferred, a certain amount of data can be transferred in less time or with a smaller bandwidth. In many cases, the data compression takes place through a compression process in which the frequency of occurrence of data words or messages is used to encode the data more efficiently: by replacing the most frequent data with a short code and less frequent with a longer one. high degree of compression can be achieved. The compressed data can then be transferred, for example in the form of data packets. Thus, a first series of data packets is transformed into a second series, in case of successful compression the second series will generally be shorter, that is, will contain less data, than the first series.
Bij de bekende werkwijze wordt een eerste reeks van datapakketten, die van verschillende bronnen (kanalen) afkomstig kunnen zijn, omgevormd tot een tweede reeks van datapakketten, die over één (netwerk)kanaal kan worden verzonden, waarbij in de datavelden van de tweede reeks informatie wordt opgeslagen met betrekking tot de oorspronkelijke datapakketten. Zo bevatten de datavelden van de tweede reeks sub-kopvelden waarin onder meer de lengte van een gecomprimeerd dataveld en reconstructie-informatie is opgeslagen. Aan de hand van deze sub-kopvelden kunnen de oorspronkelijke datavelden, dat wil zeggen de datavelden van de datapakketen van de eerste reeks, gereconstrueerd worden.In the known method, a first series of data packets, which may originate from different sources (channels), is converted into a second series of data packets, which can be transmitted over one (network) channel, in the data fields of the second series information is stored with respect to the original data packets. For example, the data fields of the second series of sub-header fields contain, inter alia, the length of a compressed data field and reconstruction information. On the basis of these sub-header fields, the original data fields, i.e. the data fields of the data packets of the first series, can be reconstructed.
Deze bekende werkwijze heeft het nadeel dat relatief veel aanvullende informatie, te weten de sub-kopvelden, moet worden overgedragen. Hierdoor worden de datavelden van de tweede reeks effectief verkleind en neemt de nuttige overdrachtscapaciteit van de datapakketten af. Dit effect is nog sterker bij kleinere pakketlengtes, waarbij een relatief groot deel van de potentiële overdrachtscapaciteit door deze "overhead” in beslag wordt genomen. Bovendien moeten bij de bekende werkwijze aan de ontvangkant steeds de sub-kopvelden van de nuttige data worden gescheiden voordat de datavelden gedecomprimeerd kunnen worden. Dit brengt een extra bewerkingsstap met zich mee, die zowel bewerkingstijd als bewerkingsmiddelen (schakelingen en/of programmatuur) kosten. Bij het toepassen van de bekende werkwijze voor het, via een netwerk met tussenstations (centrales, schakelpunten), overdragen van berichten tussen verschillende bronnen en bestemmingen brengt de bekende werkwijze verder de noodzaak met zich mee dat alle tussenstations de compressiefunctie moeten ondersteunen, aangezien de routering van het netwerk aan de bundeling van kanalen in gecomprimeerde datapakketten dient te zijn aangepast.This known method has the drawback that a relatively large amount of additional information, namely the sub-header fields, has to be transferred. As a result, the data fields of the second series are effectively reduced and the useful transmission capacity of the data packets decreases. This effect is even more pronounced at smaller packet lengths, where a relatively large part of the potential transfer capacity is taken up by this overhead. In addition, in the known receiving side method, the sub-header fields must always be separated from the useful data before data fields can be decompressed, which entails an extra processing step, which costs both processing time and processing means (circuits and / or software) When applying the known method for transferring via a network with intermediate stations (exchanges, switching points) The known method furthermore implies the need for messages between different sources and destinations that all intermediate stations must support the compression function, since the routing of the network must be adapted to the bundling of channels in compressed data packets.
B. SAMENVATTING VAN DE UITVINDINGB. SUMMARY OF THE INVENTION
De uitvinding beoogt bovengenoemde en andere nadelen van de stand van de techniek op te heffen en een werkwijze voor het door middel van datacompressie ontvormen van een reeks van datapakketten te verschaffen, die een efficiënte overdracht van de gecomprimeerde data mogelijk maakt door de datavelden van de tweede reeks optimaal te gebruiken.The object of the invention is to eliminate the above and other disadvantages of the prior art and to provide a data compression deformation process for a series of data packets, which allows efficient transfer of the compressed data through the data fields of the second range to be used optimally.
De uitvinding beoogt in het bijzonder een werkwijze voor het omvormen van datavelden te verschaffen, die het mogelijk maakt datapakketten van verschillende kanalen op efficiënte wijze te verwerken.In particular, it is an object of the invention to provide a method for converting data fields, which makes it possible to efficiently process data packets from different channels.
De uitvinding beoogt verder een werkwijze voor het oravormen van datapakketten te verschaffen, die geschikt is voor toepassing in X. 25-netwerken.Another object of the invention is to provide a method for ora-forming data packets suitable for use in X.25 networks.
De uitvinding beoogt tevens een werkwijze voor het omvormen van datapakketten te verschaffen die onafhankelijk is van het toegepaste compressie- of decompressieproces.The invention also aims to provide a method for converting data packets that is independent of the compression or decompression process used.
De werkwijze volgens de uitvinding heeft hiertoe het kenmerk, dat elk dataveld van de tweede reeks data van slechts één kanaal bevat, en dat in een dataveld van de tweede reeks onder te brengen data per kanaal worden gebufferd. Met andere woorden, in de tweede reeks worden in het dataveld van elk datapakket slechts data van één kanaal opgenomen. Dit heeft onder meer het voordeel dat de (gecomprimeerde) data van de verschillende kanalen in gescheiden datapakketten worden overgedragen, zodat binnen een datapakket niet hoeft te worden aangegeven welke data tot welk kanaal behoren. De datapakketten van de tweede reeks kunnen op deze wijze in principe rechtstreeks naar hun eindbestemmingen worden geleid zonder eerste gedecomprimeerd te worden. Door het afzonderlijk comprimeren van elk kanaal volgens de uitvinding wordt verder bereikt, dat alleen het zendende en het ontvangende station binnen een netwerk compressie hoeven te ondersteunen, zonder dat het overdrachtsnetwerk zelf voor compressie is ingericht. Volgens de genoemde stand van de techniek is daarentegen een aanpassing van het netwerk nodig om compressie van meerdere kanalen, dat wil zeggen van meerdere (bron)kanalen naar één (netwerk)kanaal, te ondersteunen.To this end, the method according to the invention is characterized in that each data field of the second series contains data of only one channel, and that data per channel is buffered in a data field of the second series. In other words, in the second series, only one channel data is included in the data field of each data packet. This has the advantage, among other things, that the (compressed) data of the different channels is transferred in separate data packets, so that within a data packet it is not necessary to indicate which data belong to which channel. The data packets of the second series can in this way, in principle, be guided directly to their final destinations without first being decompressed. By separately compressing each channel according to the invention, it is further achieved that only the transmitting and receiving stations within a network need to support compression, without the transmission network itself being configured for compression. According to said prior art, on the other hand, an adaptation of the network is necessary to support compression of multiple channels, i.e. from multiple (source) channels to one (network) channel.
Teneinde in de mogelijkheid te voorzien dat in de eerste reeks (van oorspronkelijke datapakketten) opeenvolgende datapakketten tot verschillende kanalen behoren zonder in de tweede reeks gedeeltelijk lege datapakketten over te dragen, worden volgens de uitvinding de data van de verschillende kanalen afzonderlijk, dat wil zeggen per kanaal, gebufferd. Hierdoor is het mogelijk de datapakketten van de tweede reeks (van "gecomprimeerde" datapakketten) optimaal met data te vullen, aangezien per kanaal gecomprimeerde data kunnen worden opgespaard, bijvoorbeeld tot het dataveld van een datapakket geheel gevuld is.In order to provide for the possibility that successive data packets in the first series (of original data packets) belong to different channels without transferring partly empty data packets in the second series, according to the invention the data of the different channels are separated, i.e. per channel, buffered. This makes it possible to optimally fill the data packets of the second series (of "compressed" data packets), since compressed data can be saved per channel, for example, until the data field of a data packet is completely filled.
Overigens wordt met "kanaal" in dit verband een logisch kanaal bedoeld, met andere woorden een overdrachtstraject tussen een bron (zendzijde) en een bestemming (ontvangzijde) dat gedurende een zekere tijd bestaat. Daarbij kunnen over één fysieke verbinding meerdere kanalen actief zijn, maar hoeft een kanaal niet uitdrukkelijk aan een specifieke fysieke verbinding te zijn toegewezen. Over een kanaal worden één of meer berichten in de vorm van datapakketten overgedragen, waarbij een bericht in het algemeen wordt afgesloten door een markering "einde bericht" (stopcode). Een dergelijke markering "einde bericht" geeft derhalve het einde aan van een groep functioneel bij elkaar behorende datapakketten.Incidentally, by "channel" in this connection is meant a logical channel, in other words, a transmission path between a source (transmit side) and a destination (receive side) that exists for a certain period of time. Several channels can be active over one physical connection, but a channel need not be explicitly assigned to a specific physical connection. One or more messages are transmitted over a channel in the form of data packets, a message generally being closed by a "end message" (stop code) flag. Thus, such an "end of message" marking indicates the end of a group of functionally associated data packets.
De bovengenoemde reeksen van datapakketten kunnen, zoals gezegd, datapakketten van meerdere kanalen bevatten, maar ook uit datapakketten van slechts één kanaal zijn opgebouwd. De reeksen kunnen daarbij één of meerdere berichten omvatten, kunnen zowel synchroon als asynchroon zijn en behoeven geen vaste of bepaalde lengte te bezitten. Zo kan een "reeks" ook uit een enkel datapakket bestaan.The above-mentioned series of data packets may, as stated, contain multi-channel data packets, but may also consist of data packets of only one channel. The sequences can comprise one or more messages, can be both synchronous and asynchronous and need not have a fixed or specific length. For example, a "string" can also consist of a single data packet.
Bij voorkeur wordt bij de werkwijze volgens de uitvinding nagegaan of in de eerste reeks het laatste datapakket van een kanaal optreedt, en worden bij het optreden van het laatste datapakket alle gebufferde data van dat kanaal in een of meer datapakketten van de tweede reeks ondergebracht. Op deze wijze wordt de groep datapakketten van een bepaald kanaal afgesloten zonder dat daarvoor een bepaalde wachttijd verstreken hoeft te zijn. Verder kunnen de buffers worden geleegd en ter beschikking van een ander kanaal worden gesteld. Overigens kan hier onder "het laatste datapakket van een kanaal" in het algemeen "het laatste datapakket van een groep van datapakketten van een kanaal" worden verstaan, dus ook het laatste datapakket van een via dat kanaal overgedragen boodschap (bericht). Het kanaal zelf, dat bijvoorbeeld een fysieke of logische verbinding kan omvatten, kan daarbij blijven bestaan. Het optreden van het laatste datapakket kan daarbij gedetecteerd worden aan de hand van bijvoorbeeld een markering "einde bericht". De genoemde groep van datapakketten, waarvan het optreden van het laatste datapakket gedetecteerd wordt, kan ook een deel van een bericht of een aantal berichten omvatten, bijvoorbeeld de binnen een bepaalde tijdsduur ontvangen datapakketten van een kanaal.Preferably, in the method according to the invention, it is checked whether the last data packet of a channel occurs in the first series, and when the last data packet occurs, all buffered data of that channel is accommodated in one or more data packets of the second series. In this way, the group of data packets of a particular channel is closed without a specific waiting time having to expire. The buffers can also be emptied and made available to another channel. Incidentally, "the last data packet of a channel" can generally be understood here to mean "the last data packet of a group of data packets of a channel", thus also the last data packet of a message (message) transmitted via that channel. The channel itself, which may include, for example, a physical or logical connection, may continue to exist. The occurrence of the last data packet can be detected on the basis of, for example, an "end of message" marking. The said group of data packets, the occurrence of which of the last data packet is detected, may also comprise a part of a message or a number of messages, for instance the data packets of a channel received within a certain period of time.
Als het laatste datapakket van een kanaal van de eerste reeks is opgetreden en de gebufferde data in een datapakket van de tweede reeks worden ondergebracht, is het mogelijk dat de gebufferde data het dataveld van het datapakket niet geheel vullen. Teneinde aan de ontvangzijde eenvoudig te kunnen bepalen waar de nuttige data eindigen is voorzien dat, indien in de tweede reeks het dataveld van het laatste datapakket van een kanaal niet geheel gevuld is, dat dataveld wordt aangevuld met afsluitdata. Deze afsluitdata zijn bij voorkeur zodanig gekozen, dat zij aan de ontvangzijde op eenvoudige wijze als zodanig herkend kunnen worden en omvatten derhalve bij voorkeur een vaste code. Zo kunnen de afsluitdata een reeks van identieke bits omvatten, bij voorkeur tenminste elf enen. Het aantal identieke bits is daarbij met voordeel in overeenstemming met de voor de datacompressie toegepaste codering gekozen, bijvoorbeeld zodanig dat het aantal bits even groot is als, of groter is dan, het aantal bits van het langste codewoord.If the last data packet of a channel of the first series has occurred and the buffered data is included in a data package of the second series, the buffered data may not completely fill the data field of the data package. In order to be able to easily determine on the receiving side where the useful data ends, provision is made that if in the second series the data field of the last data packet of a channel is not completely filled, that data field is supplemented with termination data. These termination data are preferably chosen such that they can be easily recognized as such on the receiving side and therefore preferably comprise a fixed code. For example, the termination data may comprise a series of identical bits, preferably at least eleven ones. The number of identical bits is advantageously chosen in accordance with the coding used for the data compression, for example such that the number of bits is the same as or greater than the number of bits of the longest codeword.
Bij voorkeur wordt, indien in een datapakket van de tweede reeks afsluitdata aanwezig zijn, gecontroleerd of in de eerste reeks een laatste datapakket is opgetreden. Op deze wijze wordt een eenvoudige maar zeer effectieve foutcontrole verschaft.Preferably, if a data packet of the second series contains closing data, it is checked whether a last data packet has occurred in the first series. In this way, a simple but very effective error check is provided.
Met voordeel wordt de werkwijze volgens de uitvinding zodanig uitgevoerd, dat een dataveld van de tweede reeks uitsluitend gecomprimeerde data en/of afsluitdata omvat. Met andere woorden, in een dataveld van de tweede reeks komt geen aanvullende informatie voor met betrekking tot de lengte van een boodschap, het betreffende kanaal, en dergelijke. Op deze wijze kan de beschikbare overdrachtscapaciteit van de datapakketten optimaal worden benut. Overigens kan in dit verband de zogenaamde "gecomprimeerde data" in voorkomende gevallen ook niet-gecomprimeerde, maar wel uit een dataveld van de eerste reeks afkomstige data omvatten.Advantageously, the method according to the invention is carried out in such a way that a data field of the second series only comprises compressed data and / or closing data. In other words, in a data field of the second series, there is no additional information regarding the length of a message, the channel in question, and the like. In this way, the available transfer capacity of the data packets can be optimally utilized. Incidentally, in this context, the so-called "compressed data" may also include uncompressed data, if appropriate, but from a data field of the first series.
Bij voorkeur wordt het optreden van het laatste datapakket van een kanaal vastgesteld aan de hand van informatie in de kopvelden van de datapakketten van de eerste reeks. Hierdoor kan de identificatie van het laatste pakket bijvoorbeeld tegelijk met de kanaalidentificatie plaatsvinden. Indien echter datapakketten dienen te worden omgezet, die niet van een dergelijke identificatie in de kopvelden zijn voorzien, kan het optreden van het laatst datapakket op een andere wijze worden vastgesteld, bijvoorbeeld door het identificeren van afsluitinformatie in een dataveld van de eerste reeks.Preferably, the occurrence of the last data packet of a channel is determined from information in the header fields of the data packets of the first series. As a result, the identification of the last packet can for instance take place simultaneously with the channel identification. However, if data packets are to be converted that do not have such identification in the header fields, the occurrence of the last data packet can be determined in another way, for example by identifying termination information in a data field of the first series.
Indien de datapakketten zijn ingericht voor data-overdracht volgens het X.25-protocol omvat de informatie, aan de hand waarvan het optreden van het laatste datapakket van een kanaal wordt vastgesteld, met voordeel het m-bit ("more-bit"). Indien het m-bit gelijk is aan nul volgen geen verdere datapakketten van hetzelfde kanaal. Op deze wijze is een zeer eenvoudige identificatie van het laatste datapakket mogelijk.If the data packets are arranged for data transfer according to the X.25 protocol, the information by which the occurrence of the last data packet of a channel is determined advantageously comprises the m-bit ("more-bit"). If the m-bit is equal to zero, no further data packets of the same channel follow. In this way a very simple identification of the last data packet is possible.
In de werkwijze volgens de uitvinding kunnen vele verschillende compressieprocessen worden toegepast. Met voordeel wordt in het compressieproces een, op frequentie van optreden van data gebaseerde, tabel met codewoorden toegepast. Aan de hand van een dergelijke tabel wordt elk oorspronkelijk datawoord vervangen door een codewoord, waarbij aan bepaalde datawoorden die frequent voorkomen (of bijvoorbeeld een grote informatie-inhoud bezitten) een relatief korte code wordt toegewezen. Bij dergelijke, op zich bekende, compressieprocessen kan de tabel tijdens het compressieproces worden opgesteld. Met voordeel wordt echter in de werkwijze volgens de uitvinding een vaste (frequentie)tabel toegepast. Met een (voorafbepaalde) vaste, of althans tijdelijk vaste, tabel kan worden voorkomen, dat aan het begin van het compressieproces expansie van de data optreedt. Bovendien wordt voorkomen dat bitfouten in de overdracht tot gevolg hebben dat de respectieve tabellen van zendzijde en ontvangzijde uit synchronisatie raken. De tabel kan na een voorafbepaalde tijd of na een voorafbepaalde hoeveelheid datapakketten vernieuwd en/of gecontroleerd worden.Many different compression processes can be used in the method according to the invention. Advantageously, a code word table based on frequency of occurrence of data is used in the compression process. On the basis of such a table, each original data word is replaced by a code word, whereby certain data words that occur frequently (or for instance have a large information content) are assigned a relatively short code. In such compression processes known per se, the table can be drawn up during the compression process. However, a fixed (frequency) table is advantageously used in the method according to the invention. With a (predetermined) fixed, or at least temporarily fixed table, it is possible to prevent expansion of the data at the beginning of the compression process. In addition, bit errors in the transmission are prevented from causing the respective transmit and receive side tables to become out of sync. The table can be refreshed and / or checked after a predetermined time or after a predetermined amount of data packets.
Hoewel de werkwijze volgens de uitvinding zeer geschikt is voor toepassing bij vele kanalen, is het ook mogelijk de werkwijze uit te voeren indien alle datapakketten van de eerste reeks tot hetzelfde kanaal behoren. In het geval dat de eerste reeks datapakketten van meerdere kanalen omvat is het mogelijk dat slechts op datapakketten van een deel van de kanalen compressie wordt toegepast, zodat de data van althans sommige kanalen niet-gecomprimeerd in de tweede reeks worden ondergebracht. Daarbij kunnen de niet-gecomprimeerde data in het geheel niet veranderd zijn, dan wel aan een geheel andere bewerking, zoals vercijfering. zijn onderworpen. Verder kunnen wel gecomprimeerde data tevens aan een andere bewerking, zoals vercijfering, worden onderworpen.Although the method according to the invention is very suitable for use with many channels, it is also possible to carry out the method if all data packets of the first series belong to the same channel. In the case that the first series comprises multi-channel data packets, compression may be applied to only data packets of a part of the channels, so that the data of at least some channels are included in the second series uncompressed. The uncompressed data may not have been changed at all, or to an entirely different operation, such as encryption. are subject. Furthermore, compressed data can also be subjected to another processing, such as encryption.
Ofschoon de werkwijze volgens de uitvinding hier beschreven wordt aan de hand van het omzetten van datapakketten, kunnen in plaats van de eerste en/of derde reeks van datapakketten een of meer (synchrone of asynchrone) bitstromen worden omgezet. Ook kan de eerste reeks, en bij tweerichtingsverkeer ook de derde reeks, door een reeks van tijdsleuven worden gevormd.Although the method according to the invention is described here by means of converting data packets, one or more (synchronous or asynchronous) bitstreams can be converted instead of the first and / or third series of data packets. The first series, and in the case of two-way traffic also the third series, can also be formed by a series of time slots.
De uitvinding verschaft verder een werkwijze voor het omvormen van een tweede reeks van datapakketten in een derde reeks van datapakketten met kopvelden en datavelden, waarbij data uit datavelden van de tweede reeks aan een decompressieproces worden onderworpen en in datavelden van de derde reeks worden ondergebracht. Daarbij worden bij voorkeur in een dataveld van de derde reeks onder te brengen data per kanaal gebufferd. Indien de decompressie en de compressie symmetrisch zijn kunnen daarbij datapakketten van de derde reeks identiek zijn aan datapakketten van de eerste reeks.The invention further provides a method for converting a second series of data packets into a third series of data packets with header fields and data fields, wherein data from data fields of the second series are decompressed and placed in data fields of the third series. Preferably buffered data per channel in a data field of the third series. If the decompression and compression are symmetrical, data packets of the third series can be identical to data packets of the first series.
Bij het toepassen van de werkwijze volgens de uitvinding op het overdragen van datapakketten, waarbij in de eerste reeks datapakketten van tenminste een kanaal met tussenpozen optreden, kan met voordeel voor dat kanaal met tussenpozen tenminste een datapakket van de tweede reeks worden overgedragen, ook als het dataveld van dat datapakket slechts gedeeltelijk is gevuld. Hierdoor kunnen grote vertragingen in de data-overdracht worden voorkomen. (Indien daarbij de datapakketten van de eerste reeks volgens het X.25-protocol worden overgedragen, kan het voordelig zijn het m-bit van een dergelijk datapakket te negeren). Datapakketten van de tweede reeks kunnen hiertoe bijvoorbeeld worden overgedragen op vooraf bepaalde tijdstippen, of indien een bepaalde tijd verstreken is sinds het in een lege buffer plaatsen van (in het algemeen gecomprimeerde) data (zogenaamd "time-out-mechanisme"). Op dergelijke wijze kunnen datapakketten met tussenpozen worden gecomprimeerd en overgedragen. Dit is met name voordelig voor databronnen die slechts met tussenpozen data genereren, zoals meetinstrumenten. Indien de datapakketten van de tweede reeks kleiner zijn dan die van de eerste reeks zal de datacompressie steeds een verbetering van de efficiëntie van de data-overdracht opleveren, ook indien elk datapakket van een eerste reeks wordt omgezet in één datapakket van de tweede reeks (1-op-l-omzetting). Bij X.25 kunnen datapakketten van de tweede reeks daarbij uit minder segmenten (van 64 bytes) bestaan.When applying the method according to the invention to transferring data packets, wherein data packets of at least one channel occur intermittently in the first series, at least one data packet of the second series can advantageously be transferred for that channel intermittently, even if the data field of that data packet is only partially filled. This can prevent major delays in data transfer. (If the data packets of the first series are transferred according to the X.25 protocol, it may be advantageous to ignore the m-bit of such a data packet). For example, data packets of the second series can be transferred for this purpose at predetermined times, or if a certain time has elapsed since placing (generally compressed) data in an empty buffer (so-called "time-out mechanism"). In such a way, data packets can be compressed and transferred intermittently. This is particularly advantageous for data sources that only generate data intermittently, such as measuring instruments. If the data packets of the second series are smaller than those of the first series, the data compression will always improve the efficiency of the data transfer, even if each data package of a first series is converted into one data package of the second series (1 -to-1 conversion). At X.25, data packets of the second series may consist of fewer segments (of 64 bytes).
De uitvinding verschaft bovendien een inrichting voor het comprimeren van datapakketten, een inrichting voor het decomprimeren van datapakketten, alsmede een stelsel voor het in gecomprimeerde vorm overdragen van datapakketten.The invention further provides an apparatus for compressing data packets, an apparatus for decompressing data packets, and a system for transferring data packets in compressed form.
C. REFERENTIESC. REFERENCES
EP-A-0.559.593 CCITT Reeommendation V.42bisEP-A-0.559.593 CCITT Reeommendation V.42bis
D. UITVOERINGSVOORBEELDEND. IMPLEMENTATION EXAMPLES
De uitvinding zal in het onderstaande aan de hand van de figuren nader worden toegelicht.The invention will be explained in more detail below with reference to the figures.
Figuur 1 toont schematisch een eerste en een tweede reeks van datapakketten.Figure 1 schematically shows a first and a second series of data packets.
Figuur 2 toont schematisch het volgens de uitvinding comprimeren van een reeks van datapakketten.Figure 2 schematically shows the compression of a series of data packets according to the invention.
Figuur 3 toont schematisch een inrichting voor het comprimeren en/of decomprimeren van datapakketten volgens de uitvinding.Figure 3 schematically shows a device for compressing and / or decompressing data packets according to the invention.
Figuur 4 toont schematisch een stelsel voor het overdragen van datapakketten, waarin de uitvinding wordt toegepast.Figure 4 schematically shows a data packet transmission system in which the invention is applied.
In figuur 1 is een eerste reeks 10 van (bron)datapakketten bij wijze van voorbeeld weergegeven. De opeenvolgende datapakketten 11, 12, 13, 14 en 15 van de reeks 10 kunnen tot verschillende kanalen behoren. In het weergegeven geval behoren de datapakketten 11, 12 en 14 tot een kanaal A, terwijl de datapakketten 13 en 15 tot een kanaal B behoren. Uiteraard kunnen in de praktijk langere reeksen voorkomen, waarvan de datapakketten tot meer dan twee kanalen behoren.Figure 1 shows a first series 10 of (source) data packets by way of example. The consecutive data packets 11, 12, 13, 14 and 15 of the series 10 can belong to different channels. In the case shown, the data packets 11, 12 and 14 belong to a channel A, while the data packets 13 and 15 belong to a channel B. In practice, of course, longer series can occur, the data packets of which belong to more than two channels.
De uitvinding voorziet in het omzetten van de eerste reeks 10 in een tweede reeks 20 van (transmissie)datapakketten. De opeenvolgende datapakketten 21, 22 en 23 behoren respectievelijk tot de kanalen A, A en B.The invention provides for converting the first series 10 into a second series 20 of (transmission) data packets. The successive data packets 21, 22 and 23 belong to channels A, A and B.
Elk datapakket van de weergegeven reeksen 10 en 20 omvat een kopveld ("header") h en een dataveld d. Met gebruikmaking van een geschikt compressieproces worden de datapakketten 11 tot en met 15 omgezet in de datapakketten 21 tot en met 23. Overeenkomstig de uitvinding worden daarbij slechts de datavelden d van de (bron)datapakketten van de reeks 10 in gecomprimeerde vorm in de datavelden d van de (transmissie)datapakketten van de reeks 20 opgenomen. Met andere woorden, de informatie van de kopvelden h van de datapakketten 11 tot en met 15 wordt niet in de datavelden van de datapakketten 21 tot en met 23 opgenomen. Daarentegen kunnen de kopvelden h van datapakketten van een eerste reeks 10 althans gedeeltelijk, in sommige gevallen zelfs geheel, overeenkomen met de kopvelden h van datapakketten van een tweede reeks 20. Het is echter ook mogelijk dat de tweede reeks een geheel andere structuur bezit dan de eerste, en bijvoorbeeld volgens een ander protocol is opgebouwd.Each data packet of the displayed series 10 and 20 comprises a header field ("header") h and a data field d. Using a suitable compression process, the data packets 11 to 15 are converted into the data packets 21 to 23. According to the invention, only the data fields d of the (source) data packets of the series 10 are compressed in the data fields d of the (transmission) data packets of the series 20 are included. In other words, the information of the header fields h of the data packets 11 to 15 is not included in the data fields of the data packets 21 to 23. On the other hand, the header fields h of data packets of a first series 10 may at least partly, in some cases even entirely, correspond to the header fields h of data packages of a second series 20. However, it is also possible that the second series has a completely different structure than the first, and is constructed according to a different protocol, for example.
Een groep van datapakketten van hetzelfde kanaal, zoals in de weergegeven eerste reeks 10 door de datapakketten 11, 12 en 14 kan worden gevormd, zal in het algemeen een beperkte lengte bezitten. Het laatste pakket van een dergelijke groep wordt in het algemeen van een markering voorzien teneinde de bestemming te laten weten dat een bepaald bericht beëindigd is. Bij X.25 wordt dit aangegeven door in het kopveld een bit ("more-bit" of "m-bit") op te nemen dat gelijk is aan nul (m=0) indien geen verdere datapakketten van hetzelfde bericht of kanaal volgen; anders is het bit gelijk aan één (m=l). Een andere wijze om aan te geven dat geen verdere datapakketten van dezelfde groep volgen is het in het dataveld opnemen van een stopcode ("einde bericht") die door de ontvanger herkend kan worden. Een dergelijke stopcode kan bijvoorbeeld bestaan uit besturingstekens die eenvoudig onderscheiden kunnen worden van de gewone, nuttige data. Eventueel kan het einde van een bericht worden afgeleid uit de verstreken tijdsduur sinds het ontvangen van het laatste datapakket van dat kanaal ("time-out").A group of data packets of the same channel, as can be formed by the data packets 11, 12 and 14 in the first series 10 shown, will generally have a limited length. The last packet of such a group is generally flagged to inform the destination that a particular message has ended. At X.25 this is indicated by including in the header field a bit ("more-bit" or "m-bit") equal to zero (m = 0) if no further data packets of the same message or channel follow; otherwise the bit is equal to one (m = 1). Another way to indicate that no further data packets of the same group follow is to include in the data field a stop code ("end of message") that can be recognized by the recipient. Such a stop code can, for example, consist of control characters that can be easily distinguished from the normal, useful data. Optionally, the end of a message can be deduced from the elapsed time since receiving the last data packet from that channel ("timeout").
Overeenkomstig de uitvinding bevatten de datapakketten van de reeks 20 elk (gecomprimeerde dan wel niet-gecomprimeerde) data van slechts één kanaal, en worden de data voor elk kanaal afzonderlijk gebufferd. Door elk datapakket van de tweede reeks 20 aan slechts één kanaal toe te wijzen is aan de ontvangkant (bestemming) een eenvoudige wijze van decomprimeren mogelijk, waarbij de datavelden d van de datapakketten van de tweede reeks 20 niet eerst gescheiden behoeven te worden in fragmenten van afzonderlijke kanalen. Bovendien is het op deze wijze niet nodig om in de datavelden d aanvullende informatie op te nemen met betrekking tot de delen van het dataveld die tot een bepaald kanaal behoren, zoals lengte-informatie van blokken binnen het dataveld. Hierdoor wordt een efficiëntere overdracht bereikt, aangezien het dataveld van een datapakket van de tweede reeks gevuld kan zijn met uitsluitend data. Overigens is het mogelijk ook niet-gecomprimeerde data in een datapakket van de tweede reeks op te nemen, bijvoorbeeld indien één of meer kanalen niet gecomprimeerd worden.According to the invention, the data packets of the series 20 each contain (compressed or uncompressed) data of only one channel, and the data for each channel is buffered separately. By assigning each data packet of the second series 20 to only one channel, a simple manner of decompression is possible on the receiving side (destination), whereby the data fields d of the data packets of the second series 20 need not first be separated into fragments of separate channels. Moreover, in this way it is not necessary to include in the data fields d additional information regarding the parts of the data field that belong to a particular channel, such as length information of blocks within the data field. As a result, a more efficient transfer is achieved, since the data field of a data packet of the second series can be filled with data only. Incidentally, it is also possible to include uncompressed data in a data packet of the second series, for example if one or more channels are not compressed.
Door het bufferen van data van elk kanaal kan een optimale vullingsgraad van de datavelden d van de tweede reeks 20 worden bereikt. Indien een dergelijk bufferen niet zou plaatsvinden, zou compressie weliswaar een kleinere hoeveelheid data per datapakket opleveren, maar zou het aantal datapakketten per kanaal in principe gelijk blijven, waardoor in de meeste gevallen geen voordeel zou worden behaald (tenzij de datapakketten van de tweede reeks een kleinere lengte bezitten dan die van de eerste reeks, hetgeen echter aan de tweede reeks een beperking oplegt). Door de bovengenoemde combinatie van maatregelen kan derhalve een zeer grote mate van efficiëntie van de data-overdracht bereikt, zonder eisen te stellen aan de opbouw van de datapakketten van de tweede reeks. Ook wordt een grote mate van flexibiliteit van de routering geboden, aangezien in tussenliggende stations van het netwerk, waarover de gecomprimeerde datapakketten worden overgedragen, geen aanpassingen ten behoeve van de compressie nodig zijn.By buffering data of each channel, an optimal filling degree of the data fields d of the second series 20 can be achieved. If such buffering were not to take place, although compression would yield a smaller amount of data per data packet, the number of data packets per channel would in principle remain the same, resulting in no advantage in most cases (unless the data packets of the second series have a shorter lengths than that of the first series, but this limits the second series). The above-mentioned combination of measures can therefore achieve a very high degree of data transfer efficiency, without imposing requirements on the construction of the data packets of the second series. Also, a high degree of routing flexibility is provided, since no intermediate compression adjustments are required in intermediate stations of the network over which the compressed data packets are transferred.
Opgemerkt wordt dat waar in deze tekst sprake is van een "datapakket" ook protocol-data-eenheid ("PDU"), container of data-eenheid in het algemeen kan worden gelezen. Het zal duidelijk zijn dat de datapakketten of data-eenheden behalve een kopveld en een dataveld andere velden kunnen omvatten, zoals een afsluitveld ("trailer"). Dit is echter niet wezenlijk voor de uitvinding. Zelfs kan de uitvinding worden toegepast op datastromen die niet in pakketvorm worden aangeboden. In het bijzonder kan de uitvinding echter met voordeel worden toegepast bij de compressie en decompressie van datapakketten in volgens het X.25-protocol werkende netwerken, met name voor toepassing op laag 3 van hot OSI-model.Note that where a "data packet" is used in this text, it is also possible to read protocol data unit ("PDU"), container or data unit in general. It will be understood that the data packets or data units may comprise other fields, except a header field and a data field, such as a termination field ("trailer"). However, this is not essential to the invention. The invention can even be applied to data streams that are not presented in packet form. In particular, however, the invention can be advantageously applied to the compression and decompression of data packets in X.25 protocol-operated networks, especially for application to layer 3 of the hot OSI model.
In figuur 2 is de essentie van de werkwijze volgens de uitvinding schematisch weergegeven. De in figuur 1 in meer detail getoonde eerste reeks 10 van datapakketten wordt omgezet in de tweede reeks 20 van datapakketten. Daarbij worden de datapakketten 11-15 van de eerste reeks 10 eerst onderworpen aan een proces P, dat een geschikt, op zich bekend, datacompressieproces kan omvatten, zoals een datacompressieproces dat volgens de Ziv-Lempel-procedure werkt. In het weergegeven geval omvat het proces P tevens een kanaalidentificatie.Figure 2 shows the essence of the method according to the invention schematically. The first series 10 of data packets shown in more detail in Figure 1 is converted into the second series 20 of data packets. The data packets 11-15 of the first series 10 are first subjected to a process P, which may comprise a suitable data compression process known per se, such as a data compression process operating according to the Ziv-Lempel procedure. In the case shown, the process P also includes a channel identification.
De gecomprimeerde data worden gebufferd, en wel per kanaal afzonderlijk. De gecomprimeerde data van de datapakketten 11, 12 en 14 worden derhalve steeds zolang gebufferd, totdat een dataveld van de tweede reeks geheel gevuld kan worden. In het weergegeven geval zouden bijvoorbeeld de gecomprimeerde data van de datapakketten 11 en 12 het datapakket 21 geheel kunnen vullen, waarna dit datapakket kan worden overgedragen. Eventuele resterende gecomprimeerde data van kanaal A worden in de buffer van kanaal A ("Buffer A") opgeslagen. Vervolgens worden de data van het pakket 13 gecomprimeerd en in de buffer van kanaal B ("Buffer B") opgeslagen (aangenomen dat deze data een datapakket van de tweede reeks niet geheel vullen). Het volgende te comprimeren pakket, datapakket 14, is het laatste pakket van de groep bestaande uit de pakketten 11, 12 en 14. Na compressie worden de gecomprimeerde data van kanaal A tijdelijk in de buffer van kanaal A opgeslagen, waarna de buffer wordt geleegd ("flush") en de gecomprimeerde data van kanaal A in het pakket 22 worden opgeslagen. Indien het pakket 22 daarmee niet geheel is gevuld, kan afsluitinformatie worden toegevoegd. Bij voorkeur wordt in de kop van het datapakket 22 aangegeven dat dit het laatste pakket van een groep is. Het pakket 15 kan ondertussen al aan het compressieproces zijn onderworpen. Evenals voor kanaal A het geval was zullen de gecomprimeerde data voor korte tijd in de desbetreffende buffer, in dit geval de buffer van kanaal B, worden opgeslagen om vervolgens, samen met de al in die buffer aanwezige data, in het datapakket 23 te worden ondergebracht. Bij voorkeur wordt in de kop van het datapakket 23 aangegeven dat dit het laatste datapakket van een groep (respectievelijk kanaal) is. Eventueel wordt het dataveld van het datapakket 23, evenals bij het datapakket 22 het geval was, van afsluitinformatie voorzien.The compressed data is buffered, per channel separately. The compressed data of the data packets 11, 12 and 14 are therefore always buffered until a data field of the second series can be completely filled. In the case shown, for example, the compressed data of the data packets 11 and 12 could completely fill the data packet 21, after which this data packet can be transferred. Any remaining compressed data from channel A is stored in the channel A buffer ("Buffer A"). Subsequently, the data of the packet 13 is compressed and stored in the buffer of channel B ("Buffer B") (assuming that this data does not completely fill a data packet of the second series). The next packet to be compressed, data packet 14, is the last packet of the group consisting of packets 11, 12 and 14. After compression, the compressed data of channel A is temporarily stored in the buffer of channel A, after which the buffer is emptied ( "flush") and the compressed data of channel A in the packet 22 is stored. If the package 22 is not completely filled therewith, closing information can be added. Preferably, the header of the data packet 22 indicates that this is the last packet of a group. The package 15 may meanwhile already have been subjected to the compression process. As was the case for channel A, the compressed data will be stored for a short time in the relevant buffer, in this case the buffer of channel B, and then, together with the data already present in that buffer, be stored in the data packet 23. . Preferably, the header of the data packet 23 indicates that this is the last data packet of a group (respectively channel). Optionally, the data field of the data packet 23, as was the case with the data packet 22, is provided with termination information.
Het zal duidelijk zijn dat. de bufferwerkingen van de hier genoemde buffers op vele wijzen gerealiseerd kunnen worden, en dat bij meer dan twee kanalen meerdere buffers kunnen zijn verschaft, zoals in de figuur met onderbroken lijnen is weergegeven (optioneel Buffer C voor kanaal C). Indien het laatste datapakket van een bepaald kanaal is overgedragen kan de buffer van dat kanaal eventueel aan een ander kanaal worden toegewezen. Zo kan, indien bijvoorbeeld kanaal B wordt beëindigd, Buffer B aan een nieuw kanaal, bijvoorbeeld kanaal C of D, worden toegewezen.It will be clear that. the buffering actions of the buffers mentioned here can be realized in many ways, and that multiple buffers can be provided for more than two channels, as shown in the figure in broken lines (optional Buffer C for channel C). If the last data packet of a certain channel has been transferred, the buffer of that channel can optionally be allocated to another channel. For example, if channel B is terminated, Buffer B can be assigned to a new channel, for example channel C or D.
Zoals in het bovenstaande werd aangegeven kan de tijd, die data in een buffer doorbrengen, in vele gevallen zeer kort zijn. De functie van de buffers is in hoofdzaak data van een bepaald kanaal te verzamelen, zodanig dat de pakketten van de tweede reeks zo efficiënt mogelijk kunnen worden benut.As indicated above, the time that data spends in a buffer can in many cases be very short. The function of the buffers is mainly to collect data from a particular channel, such that the packets of the second series can be used as efficiently as possible.
Het decomprimeren volgens de uitvinding omvat het ontvangen van (transmissie)datapakketten, het aan een decompressie-proces onderwerpen van de datavelden van deze transmissie-datapakketten, en het vormen van (bestemming)datapakketten met in hun datavelden de gedecomprimeerde data. Aangezien geen reconstructie-informatie uit de datavelden hoeft te worden gehaald, kan de decompressie en het vormen van bestemming-datapakketten direct plaatsvinden. Met voordeel kan het decomprimeren geheel analoog aan het in figuur 2 geschetste comprimeren plaatsvinden.The decompression according to the invention comprises receiving (transmission) data packets, decompressing the data fields of these transmission data packets, and forming (destination) data packets with the decompressed data in their data fields. Since no reconstruction information needs to be extracted from the data fields, decompression and formation of destination data packets can take place immediately. Advantageously, the decompression can take place entirely analogous to the compression sketched in figure 2.
De in figuur 3 schematisch weergegeven inrichting 100 omvat een identificatie-eenheid 110, een besturingeenheid 120, een bewerkingseenheid 130 die via een databus 140 verbonden is met een geheugen 150, en een buffereenheid 160. De identificatie-eenheid 110 omvat een ingangsbuffer en daarmee gekoppelde identificatiemiddelen voor het identificeren van (het kanaal van) binnenkomende datapakketten. De identificatie wordt doorgegeven aan de besturingseenheid 120, die daarop de bewerkingseenheid 130 en het geheugen 150 kanaalgerelateerd kan aansturen. Zo kunnen in het geheugen 150 verschillende compressieprocessen zijn opgeslagen, die voor verschillende kanalen kunnen worden gebruikt. Ook decompressieprocessen kunnen in het geheugen 150 zijn opgeslagen, zodat de inrichting 100 ook voor decompressie kan worden toegepast; eventueel kan de inrichting 100 voor sommige kanalen comprimeren en voor andere kanalen decomprimeren. Daarbij kan een decompressieproces, of voor dat proces benodigde reconstructiegegevens, bij het tot stand brengen van een kanaal worden overgedragen, voorafgaande aan de te decomprimeren datapakketten. Ook kan het geheugen 150 geheel of gedeeltelijk als slechts uitleesbaar geheugen (ROM) zijn uitgevoerd, zodat bepaalde gegevens (reconstructiegegevens ten behoeve van decompressieprocessen alsook één of meer decompressieprocessen zelf) vast in de inrichting 100 aanwezig zijn. Ook indien de inrichting 100 als compressie-inrichting wordt gebruikt, kan het voordelig zijn bepaalde gegevens in een slechts uitleesbaar geheugen onder te brengen.The device 100 schematically shown in Figure 3 comprises an identification unit 110, a control unit 120, a processing unit 130 connected via a data bus 140 to a memory 150, and a buffer unit 160. The identification unit 110 comprises an input buffer and coupled thereto identification means for identifying (the channel of) incoming data packets. The identification is passed on to the control unit 120, which can then control the processing unit 130 and the memory 150 channel-related. For example, 150 different compression processes can be stored in memory, which can be used for different channels. Also decompression processes can be stored in the memory 150, so that the device 100 can also be used for decompression; optionally, the device 100 can compress for some channels and decompress for others. In addition, a decompression process, or reconstruction data required for that process, can be transferred when a channel is created prior to the data packets to be decompressed. Also, the memory 150 may be constructed in whole or in part as a read-only memory (ROM), so that certain data (reconstruction data for decompression processes as well as one or more decompression processes themselves) are permanently present in the device 100. Even if the device 100 is used as a compression device, it may be advantageous to store certain data in an only readable memory.
Het voor een bepaald kanaal benodigde proces wordt onder besturing van de besturingseenheid 120 via de databus 140 uit het geheugen 150 in de bewerkingseenheid 130 geladen. De bewerkingseenheid 130 omvat bij voorkeur een microprocessor voor het uitvoeren van het beverkingsproces. Met voordeel is in de bewerkingseenheid 130 een processorgeheugen aangebracht voor het opslaan van gegevens met betrekking tot het actuele proces. De taak van het processorgeheugen kan echter ook door het geheugen 150 worden uitgevoerd. Teneinde de bewerkingssnelheid van de inrichting 100 te verhogen kunnen op de databus 140 meerdere parallelle bewerkingseenheden 130 worden aangesloten, of kunnen in een bewerkingseenheid 130 meerdere (micro)processoren, zonodig met elk een processorgeheugen, worden ondergebracht.The process required for a particular channel is loaded from the memory 150 into the processing unit 130 via the data bus 140 under the control of the control unit 120. The processing unit 130 preferably includes a microprocessor for performing the embossing process. Advantageously, a processor memory is arranged in the processing unit 130 for storing data relating to the current process. However, the processor memory task can also be performed by the memory 150. In order to increase the processing speed of the device 100, several parallel processing units 130 can be connected to the data bus 140, or several (micro) processors, each with a processor memory if necessary, can be accommodated in a processing unit 130.
De buffereenheid 160 omvat een uitgangsbuffer 161 die overeenkomstig de uitvinding is opgebouwd uit een aantal deelbuffers A, B, C, enzovoorts, ten behoeve van de overeenkomstige kanalen. Zoals in het bovenstaande reeds werd vermeld behoeft de toewijzing van buffers aan bepaalde kanalen niet vast te zijn en kan eventueel in afhankelijkheid van de omstandigheden worden gewijzigd. Zo kan de deelbuffer A in figuur 3, na het afsluiten van kanaal A, bijvoorbeeld aan een (nieuw) kanaal H worden toegewezen.The buffer unit 160 comprises an output buffer 161, which according to the invention is built up from a number of partial buffers A, B, C, etc., for the purpose of the corresponding channels. As already mentioned above, the allocation of buffers to certain channels need not be fixed and may be changed depending on the circumstances. For example, the sub-buffer A in Figure 3 can be allocated to a (new) channel H after closing channel A.
Elk deelbuffer A, B, enz. van de uitgangsbuffer 161 omvat bij voorkeur een (schuif)register, maar kan ook door willekeurig toegankelijk geheugen (RAM) worden gevormd. Een aanvullend deelbuffer BP ("bit pointer") is verschaft voor het opslaan van informatie die aangeeft hoeveel data, in het bijzonder hoeveel bits en/of bytes, in elk van de andere deelbuffers zijn opgeslagen, respectievelijk na het vullen van het laatste over te dragen datapakket zijn overgebleven. Eventueel kan de deelbuffer BP worden gevormd door aparte, gereserveerde gedeelten van de deelbuffers A, B, enz.Each sub-buffer A, B, etc. of the output buffer 161 preferably comprises a (shift) register, but can also be formed by random access memory (RAM). An additional sub-buffer BP ("bit pointer") is provided for storing information indicating how much data, in particular how many bits and / or bytes, are stored in each of the other sub-buffers, respectively, after filling the last one to be transferred. carry data packet are left over. Optionally, the partial buffer BP can be formed by separate, reserved portions of the partial buffers A, B, etc.
De buffereenheid 160 omvat verder een selectie-eenheid 162, gevormd door bijvoorbeeld een multiplexer, voor het selecteren van een deelbuffer waarin data, die de buffereenheid 160 binnenkomen, moeten worden opgeslagen. Deze selectie vindt in het weergegeven voorbeeld plaats aan de hand van besturingssignalen, die door de besturingseenheid 120 aan de hand van identificatie-informatie zijn opgewekt. De buffereenheid 160 kan ook middelen (niet getoond) omvatten voor het opwekken van geschikte datapakketten, met bijvoorbeeld een lengte van 128 bits, waarin data vanuit de (deel)buffers worden overgebracht.The buffer unit 160 further comprises a selection unit 162, formed by, for example, a multiplexer, for selecting a partial buffer in which data entering the buffer unit 160 is to be stored. In the example shown, this selection is made on the basis of control signals generated by the control unit 120 on the basis of identification information. The buffer unit 160 may also comprise means (not shown) for generating suitable data packets, for example with a length of 128 bits, in which data is transferred from the (partial) buffers.
Met behulp van de inrichting 100 volgens de uitvinding is derhalve een snelle en efficiënte compressie van een reeks van datapakketten mogelijk. De mate van efficiëntie kan daarbij nog afhankelijk zijn van het optreden van stopcodes of andere markeringen (zoals het m-bit), die het einde van een groep van datapakketten (bericht, kanaal) aangeven. Bij voorkeur is de inrichting 100 zodanig uitgevoerd, dat het verdisconteren van stopcodes en dergelijke instelbaar is. Daardoor wordt bereikt, dat de werking van de inrichting kan worden aangepast aan de op de inrichting aangesloten apparatuur.With the aid of the device 100 according to the invention, a fast and efficient compression of a series of data packets is therefore possible. The degree of efficiency can still depend on the occurrence of stop codes or other markings (such as the m-bit), which indicate the end of a group of data packets (message, channel). Preferably, the device 100 is designed such that the discounting of stop codes and the like is adjustable. This ensures that the operation of the device can be adapted to the equipment connected to the device.
In een eerste modus houdt de inrichting in het geheel geen rekening met het einde van een groep van datapakketten, zodat data per kanaal worden gebufferd, ook indien een bericht is beëindigd. Dit brengt de hoogste vullingsgraad van datapakketten van de tweede reeks met zich mee, aangezien nu niet aan het einde van elke groep een (in de meeste gevallen) gedeeltelijk leeg, dan wel van afsluitdata voorzien, datapakket hoeft te worden verzonden. Om ervoor te zorgen dat de laatste in de betreffende buffer opgeslagen data verstuurd worden, kan worden voorzien in een tijdmechanisme, waarbij bijvoorbeeld de besturingseenheid 120 de buffer van een bepaald kanaal leegt en een datapakket van dat kanaal doet uitgaan als gedurende een zekere tijd geen datapakket van dat kanaal in de inrichting 100 is ontvangen. Dit legen van een buffer ("flushing") kan ook op vaste tijdstippen plaatsvinden, of indien de bestemming een verzoek daartoe aan de inrichting 100 stuurt. Een dergelijk verzoek kan de vorm aannemen van een speciale code in de data van een, naar de inrichting 100 verzonden, datapakket.In a first mode, the device takes no account of the end of a group of data packets at all, so that data per channel is buffered even if a message has ended. This entails the highest degree of filling of data packets of the second series, since it is now not necessary to send a (in most cases) partially empty or packaged data packet at the end of each group. In order to ensure that the last data stored in the respective buffer is sent, a timing mechanism can be provided, for example, the control unit 120 empties the buffer of a particular channel and outputs a data packet from that channel if no data packet is present for a certain period of time. of that channel is received in the device 100. This emptying of a buffer ("flushing") can also take place at fixed times, or if the destination sends a request to this effect to the device 100. Such a request may take the form of a special code in the data of a data packet sent to the device 100.
In een tweede modus wordt eveneens geen rekening gehouden met het einde van een groep van datapakketten, maar wordt een pakket van de tweede reeks verzonden zodra de data van een pakket van de eerste reeks bewerkt zijn. Hierdoor wordt weliswaar bereikt dat de data zo snel mogelijk worden overgedragen, maar zal het nuttige effect van de datacompressie zeer gering zijn, aangezien in het algemeen slechts gedeeltelijk gevulde datapakketten zullen worden gevormd.In a second mode, the end of a group of data packets is also not taken into account, but a packet of the second series is sent as soon as the data of a packet of the first series have been processed. While this ensures that the data is transferred as quickly as possible, the useful effect of the data compression will be very small, since generally only partially filled data packets will be formed.
In een derde modus wordt wel rekening gehouden met stopcodes of andere indicaties dat het einde van een bericht of kanaal is bereikt. Indien het laatste datapakket van een bericht of kanaal wordt geïdentificeerd, wordt het desbetreffende buffer geleegd. Hierdoor wordt steeds een snelle data-overdracht bereikt, terwijl het vormen van slechts gedeeltelijk gevulde datapakketten aanzienlijk wordt beperkt.In a third mode, stop codes or other indications that the end of a message or channel has been reached are taken into account. If the last data packet of a message or channel is identified, the relevant buffer is emptied. As a result, a fast data transfer is always achieved, while the formation of only partially filled data packets is considerably limited.
Opgemerkt wordt dat het in sommige stelsels voor het overdragen van datapakketten mogelijk kan zijn onderscheid te maken tussen het einde van een bericht en het einde van een kanaal, bijvoorbeeld doordat aan het einde van een kanaal een speciale code of een speciaal datapakket wordt verzonden. In dat geval is het voordelig de buffers wel te legen bij het einde van een bericht maar niet bij het einde van een kanaal.It should be noted that in some data packet transmission systems, it may be possible to distinguish between the end of a message and the end of a channel, for example by sending a special code or a special data packet at the end of a channel. In that case it is advantageous to empty the buffers at the end of a message but not at the end of a channel.
De inrichting 100 van figuur 3 kan uit in de handel verkrijgbare componenten worden opgebouwd. Met voordeel kan deze inrichting echter ook als toepassingsspecifieke geïntegreerde schakeling (ASIC) worden uitgevoerd. Teneinde in één inrichting zowel compressie als decompressie voor tweerichtingsverkeer mogelijk te maken, kunnen twee inrichtingen 100 samen in één behuizing worden ondergebracht, dan wel volledig worden geïntegreerd.The device 100 of Figure 3 can be constructed from commercially available components. However, this device can advantageously also be implemented as application-specific integrated circuit (ASIC). In order to allow both compression and decompression for two-way traffic in one device, two devices 100 may be housed together or fully integrated.
Het stelsel van figuur 4 omvat compressie- en decompressie-inrichtingen 2, die via een netwerk 1 met elkaar zijn verbonden. De inrichtingen 2 kunnen daarbij elk bijvoorbeeld twee inrichtingen 100 van figuur 3 omvatten. Het netwerk 1 kan een op zich bekend commmunicatie-netwerk zijn, zoals een volgens het X.25-protocol werkend netwerk. Op een inrichting 2 kunnen meerdere eenheden 3 zijn aangesloten, die elk multiplexers kunnen omvatten. Eventueel kunnen deze eenheden 3 geen datapakketten maar datastromen afgeven, die in de inrichtingen 2 pas tot datapakketten wordt omgevormd. Op de inrichtingen 3 kunnen meerdere eindgebruikers 4 zijn aangesloten. Tussen de eindgebruikers 4 kunnen meerdere (logische) kanalen tot stand worden gebracht. Door toepassing van de uitvinding kunnen de data van die kanalen steeds op efficiënte wijze in gecomprimeerde vorm over het netwerk worden overgedragen.The system of figure 4 comprises compression and decompression devices 2, which are connected to each other via a network 1. The devices 2 can each comprise, for example, two devices 100 of figure 3. The network 1 may be a communication network known per se, such as a network operating according to the X.25 protocol. Several units 3 can be connected to a device 2, each of which can comprise multiplexers. These units 3 may optionally not deliver data packets but data streams which are only converted into data packets in the devices 2. Several end users 4 can be connected to the devices 3. Several (logical) channels can be established between the end users 4. By applying the invention, the data of those channels can always be efficiently transferred over the network in compressed form.
Het zal deskundigen duidelijk zijn dat de uitvinding niet beperkt is tot de weergegeven uitvoeringsvormen en dat vele wijzigingen en aanvullingen mogelijk zijn zonder buiten het kader van de uitvinding te treden.It will be apparent to those skilled in the art that the invention is not limited to the embodiments shown and that many modifications and additions are possible without departing from the scope of the invention.
Claims (31)
Priority Applications (19)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL9400100A NL9400100A (en) | 1994-01-21 | 1994-01-21 | Method and device for the transformation of a series of data packets by means of data compression |
AT95906282T ATE242570T1 (en) | 1994-01-21 | 1994-12-29 | METHOD AND DEVICE FOR TRANSFORMING A SERIES OF DATA PACKETS USING DATA COMPRESSION |
PCT/EP1994/004342 WO1995020285A1 (en) | 1994-01-21 | 1994-12-29 | Method and device for transforming a series of data packets by means of data compression |
CA002180345A CA2180345C (en) | 1994-01-21 | 1994-12-29 | Method and device for transforming a series of data packets by means of data compression |
EP95906282A EP0740877B1 (en) | 1994-01-21 | 1994-12-29 | Method and device for transforming a series of data packets by means of data compression |
JP7519310A JP2841247B2 (en) | 1994-01-21 | 1994-12-29 | Method and apparatus for converting a series of data packets by data compression |
HU9601980A HU219934B (en) | 1994-01-21 | 1994-12-29 | Method and device for transforming series of data packets as well as device for transmitting the compressed data packets |
CN94194872A CN1097933C (en) | 1994-01-21 | 1994-12-29 | Method and device for transforming a series of data packets by means of data compression |
CZ962085A CZ285088B6 (en) | 1994-01-21 | 1994-12-29 | Method and apparatus for converting series of data packets |
EP02023518A EP1280279B1 (en) | 1994-01-21 | 1994-12-29 | Method and device for transforming a series of data packets by means of data compression |
AU14543/95A AU693844B2 (en) | 1994-01-21 | 1994-12-29 | Method and device for transforming a series of data packets by means of data compression |
AT02023518T ATE325469T1 (en) | 1994-01-21 | 1994-12-29 | METHOD AND DEVICE FOR TRANSFORMING A SERIES OF DATA PACKETS USING DATA COMPRESSION |
ES02023518T ES2262743T3 (en) | 1994-01-21 | 1994-12-29 | METHOD AND DEVICE FOR TRANSFORMING A SERIES OF DATA PACKAGES BY COMPRESSING DATA. |
DE9422483U DE9422483U1 (en) | 1994-01-21 | 1994-12-29 | Transforming series of data packets by means of data compression - using data field of transmission data packet comprising only data of one logical channel with converted data of channels separately buffered in pref. parallel buffers |
DE69434727.2T DE69434727C5 (en) | 1994-01-21 | 1994-12-29 | Method and device for transforming a series of data packets with the aid of data compression |
DE69432798T DE69432798T2 (en) | 1994-01-21 | 1994-12-29 | METHOD AND DEVICE FOR TRANSFORMING A SERIES OF DATA PACKAGES WITH THE AID OF DATA COMPRESSION |
ES95906282T ES2199980T3 (en) | 1994-01-21 | 1994-12-29 | PROCEDURE AND DEVICE OF TRANSFORMATION OF A SUCCESSION OF DATA PACKAGES THROUGH DATA COMPRESSION. |
US08/368,986 US5774467A (en) | 1994-01-21 | 1995-01-05 | Method and device for transforming a series of data packets by means of data compression |
NO19963023A NO318121B1 (en) | 1994-01-21 | 1996-07-19 | Method and apparatus for converting a series of data packets by means of data compression |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL9400100A NL9400100A (en) | 1994-01-21 | 1994-01-21 | Method and device for the transformation of a series of data packets by means of data compression |
NL9400100 | 1994-01-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
NL9400100A true NL9400100A (en) | 1995-09-01 |
Family
ID=19863728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NL9400100A NL9400100A (en) | 1994-01-21 | 1994-01-21 | Method and device for the transformation of a series of data packets by means of data compression |
Country Status (1)
Country | Link |
---|---|
NL (1) | NL9400100A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2687259A1 (en) * | 1992-02-11 | 1993-08-13 | Ouest Standard Telematique Sa | Data compression method for a system of transmission by protocol data units, decompression method and corresponding device |
-
1994
- 1994-01-21 NL NL9400100A patent/NL9400100A/en not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2687259A1 (en) * | 1992-02-11 | 1993-08-13 | Ouest Standard Telematique Sa | Data compression method for a system of transmission by protocol data units, decompression method and corresponding device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5774467A (en) | Method and device for transforming a series of data packets by means of data compression | |
US5521940A (en) | Method and device for the compression and decompression of data in a transmission system | |
EP0436069A2 (en) | Method and device for switching fixed-length packets such as ATM cells | |
WO2000020876A1 (en) | Communication network | |
JP3342649B2 (en) | Bandwidth reducing ATM network and method thereof | |
EP1407587A1 (en) | Dispersity coding for inverse multiplexing | |
CN1247684A (en) | Connection device in telecommunications network | |
NL9400100A (en) | Method and device for the transformation of a series of data packets by means of data compression | |
CN1316748C (en) | Communication system and method utilizing request-reply communication patterns for data compression | |
CN100401671C (en) | Method for transmitting files | |
JP2970633B2 (en) | ATM controller | |
KR100417825B1 (en) | A method of abstracting gsmp message for atm exchange | |
US7180907B2 (en) | Apparatus and method for transmitting an anisochronic data stream on an isochronic transmission route | |
JPH04157844A (en) | Buffer constitution system of atm multiplexing device | |
JP3191917B2 (en) | ATM transmission equipment | |
US20070237173A1 (en) | Apparatus for transmitting an anisochronic data stream on an isochronic transmission route | |
WO2001072082A1 (en) | Telecommunication process and system handling data organized in cells of variable length | |
JPH02143639A (en) | Packet length conversion system | |
KR20230012872A (en) | Fronthaul multiplexer | |
JPH08149137A (en) | Stm-atm exchange | |
JPH10276219A (en) | Variable length frame constant length cell conversion circuit | |
JPH05175989A (en) | Broad band isdn terminal equipment adaptor | |
JPH088754A (en) | Data compression transmission system and data transmitter and storage device using it | |
KR20050011330A (en) | Data process method in communication system applied time division multiplex mode | |
JPH09215006A (en) | Method and circuit device for transmission and/or recording of digital data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A1B | A search report has been drawn up | ||
BV | The patent application has lapsed |