NO318121B1 - Fremgangsmate og anordning for a omdanne en serie datapakker med hjelp av datakomprimering - Google Patents
Fremgangsmate og anordning for a omdanne en serie datapakker med hjelp av datakomprimering Download PDFInfo
- Publication number
- NO318121B1 NO318121B1 NO19963023A NO963023A NO318121B1 NO 318121 B1 NO318121 B1 NO 318121B1 NO 19963023 A NO19963023 A NO 19963023A NO 963023 A NO963023 A NO 963023A NO 318121 B1 NO318121 B1 NO 318121B1
- Authority
- NO
- Norway
- Prior art keywords
- data
- series
- data packets
- channel
- packets
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000013144 data compression Methods 0.000 title description 16
- 239000000872 buffer Substances 0.000 claims abstract description 79
- 238000007906 compression Methods 0.000 claims abstract description 37
- 230000006835 compression Effects 0.000 claims abstract description 37
- 230000005540 biological transmission Effects 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims description 20
- 230000006837 decompression Effects 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 230000003139 buffering effect Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- 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
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
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)
- Communication Control (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
Description
Bakgrunn for oppfinnelsen
Oppfinnelsen vedrører en fremgangsmåte ved komprimering av datapakker, en fremgangsmåte ved dekomprimering av datapakker, anordninger for komprimering og dekomprimering av datapakker og et system for å overføre datapakker i komprimert form. Mer generelt vedrører oppfinnelsen en fremgangsmåte ved utøvelse av en lengdeomdannelse av såkalte primitiver i et kommunikasjonssystem, og en anordning for å utøve fremgangsmåten.
Nærmere bestemt vedrører oppfinnelsen en fremgangsmåte ved omdannelse av en første serie datapakker, hvilke pakker hver har et topptekstfelt og et datafelt, til en andre serie datapakker som hver har et topptekstfelt og et datafelt, hvor begge serier omfatter datapakker fra et antall kanaler, og data fra datafeltene i den første serie underkastes en komprimeringsprosedyre og deretter plasseres i datafeltene i den andre serie. En slik fremgangsmåte er kjent fra Europa-patentsøknad EP-A-0.559.593.
Datakomprimering utføres i praksis for å øke en kommunikasjonskanals kapasitet. Ved å komprimere data som skal overføres, kan en viss mengde data overføres innen et kortere tidsrom eller med en mindre båndbredde. Datakomprimering utføres i denne sammenheng i flere tilfeller ved en komprimeringsprosedyre hvor forekomsthyppigheten av dataord eller meldinger anvendes for å kode dataen mer effektivt: ved å erstatte den hyppigste data med en kort kode og mindre hyppig data med en lengre kode, kan det oppnås en høy komprimeringsgrad. Den komprimerte data kan deretter overføres, f.eks. i form av datapakker. Dermed omdannes en første serie datapakker til en andre serie; i tilfellet av en vellykket komprimering vil den andre serie som regel være kortere, dvs. den inneholder mindre data enn den første serie.
Ifølge den kjente fremgangsmåte omdannes en første serie datapakker som kan stamme fra diverse kilder (kanaler), til en andre serie datapakker som kan overføres gjennom én (nettverks-) kanal, hvorved det i datafeltene i den andre serie lagres informasjon angående de opprinnelige datapakker. Således inneholder datafeltene i den andre serie mellomtittelfelter, hvor bl.a. lengden av et komprimert datafelt og rekonstruksjonsinformasjon lagres. Basert på me11om-tittelteltene kan de opprinnelige datafelter, dvs. datafeltene av datapakkene i den første serie, rekonstrueres.
Denne kjente fremgangsmåte har den ulempe at det må overføres en relativt stor mengde tilleggsinformasjon, dvs. mellomtittelfeltene. Som et resultat reduseres faktisk størrelsen av datafeltene i den andre serie, og den nyttige overføringskapasitet av datapakkene synker. Denne virkning er enda sterkere for mindre pakkelengder, hvor en relativt stor andel av den potensielle overføringskapasitet tas opp av denne faste post. I tilfellet av den kjente fremgangsmåte, må mellomtittelfeltene dessuten alltid atskilles fra den nyttige data i den mottakende ende før datafeltene kan dekomprimeres. Dette medfører et ytterligere behandlingstrinn som krever både behandlingstid og behandlingsanordning {kretser og/eller software). Hvis den kjente fremgangsmåte anvendes ved overføring av meldinger mellom forskjellige kilder og bestemmelsessteder gjennom et nettverk med mellomliggende stasjoner (sentraler, omkoplingspunkter), krever den kjente fremgangsmåte ytterligere at alle mellomliggende stasjoner støtter komprimeringsfunk-sjonen, siden rutingen gjennom nettverket må tilpasses sammenbuntingen av kanaler i komprimerte datapakker.
Sammenfatning av oppfinnelsen
Formålet med foreliggende oppfinnelse er å overkomme ovennevnte og andre ulemper med teknikkens stand og å frembringe en fremgangsmåte for omdannelse - med hjelp av datakomprimering - av en serie datapakker, hvilken fremgangsmåte tilrettelegger for en effektiv overføring av komprimert data ved optimal utnyttelse av datafeltene i den andre serie.
De nevnte fremgangsmåter, den nevnte anordning og system for anvendelse av nevnte anordning vil fremkomme av de etterfølgende selvstendige krav.
Det er spesielt et formål med foreliggende oppfinnelse å frembringe en fremgangsmåte for omdannelse av datafelter, hvilken fremgangsmåte tilrettelegger for en effektiv behandling av datapakker fra forskjellige kanaler.
Det er et ytterligere formål med foreliggende oppfinnelse å frembringe en fremgangsmåte for omdannelse av datapakker, hvilken fremgangsmåte er spesielt egnet for anvendelse i X.25-nettverk.
Det er dessuten et formål med foreliggende oppfinnelse å frembringe en fremgangsmåte for omdannelse av datapakker, hvilken fremgangsmåte er uavhengig av den anvendte komprimerings- eller dekomprimeringsprosedyre.
Med dette formål kjennetegnes fremgangsmåten ifølge oppfinnelsen ved at hvert datafelt i den andre serie inneholder data fra kun én kanal, og at data som skal plasseres i et datafelt i den andre serie bufres atskilt for hver kanal. Med andre ord, i den andre serie innlemmes kun data fra én kanal i datafeltet av hver datapakke. Dette har bl.a. den fordel at (komprimert) data fra forskjellige kanaler overføres i atskilte datapakker, slik at det ikke er nødvendig å angi i en datapakke hvilken data som tilhører hvilken kanal. Datapakkene i den andre serie kan dermed i prinsippet overføres direkte til hvert sitt bestemmelsessted uten å først dekomprimeres. Ved å komprimere hver kanal for seg sikres det ifølge oppfinnelsen videre at kun den overførende og den mottakende stasjon innen et nettverk trenger å støtte komprimeringen, uten at overføringsnettverket i seg selv er beregnet for komprimering. Ifølge teknikkens stand er det derimot nødvendig å tilpasse systemet for å støtte komprimering av et antall kanaler, dvs. et flertall (kilde-) kanaler til én (nettverks-) kanal.
For å ta hensyn til muligheten for forekomsten av etter hverandre påfølgende datapakker i den første serie {av opprinnelige datapakker) som tilhører forskjellige kanaler, uten i den andre serie å overføre delvis tomme datapakker, bufres ifølge oppfinnelsen dataen fra de forskjellige kanaler hver for seg, dvs. atskilt for hver kanal. Dette gjør det mulig å fylle datapakkene i den andre serie (av "komprimerte" datapakker) optimalt med data, siden komprimert data kan spares opp for hver kanal, f.eks. inntil datafeltet av en datapakke er fullstendig oppfylt.
i For øvrig vedrører i denne sammenheng begrepet "kanal" en logisk kanal, med andre ord en overføringsrute mellom en kilde (avsenderside) og et bestemmelsessted (mottakerside), hvilken rute består i et visst tidsrom.
Ifølge fremgangsmåten kan et flertall kanaler være aktive via én fysisk lenke, men en kanal trenger ikke uttrykkelig tildeles en bestemt fysisk lenk. Gjennom en kanal overføres én eller flere meldinger i form av datapakker, hvorved en melding generelt avsluttes med et merke "slutt på melding" (stoppkode). Et slikt merke "slutt på melding" angir her slutten av en gruppe datapakker som er funksjonelt forbundne med hverandre.
En kanal kan for øvrig omfatte flere delkanaler (konstituentkanaler), hvor f.eks. én delkanal bærer brukerdata mens en annen bærer kontrolldata. I tilfellet av X.25 identifiseres f.eks. delkanalene ved Q-bit'en. Hvis delkanalene kan identifiseres, kjennetegnes fremgangsmåten ifølge oppfinnelsen ved at hvert datafelt i den andre serie inneholder data fra kun én delkanal, og ved at data som skal plasseres i et datafelt i den andre serie, bufres atskilt for hver delkanal. Det er underforstått at en delkanal kan falle sammen med en kanal. Av denne grunn bør ordet "kanal" i denne tekst generelt oppfattes i betydningen "kanal eller delkanal".
Ovennevnte serie av datapakker kan, som nevnt, inneholde datapakker fra et flertall kanaler, men kan også settes sammen av data fra kun én kanal (eller delkanal). Samtidig kan serien omfatte én eller flere meldinger, kan være enten synkron eller asynkron og trenger ikke ha noen fastlagt eller bestemt lengde. Dermed kan en "serie" også bestå av en enkelt datapakke.
Under henvisning til OSI-modellen (jfr. referanse 3, kapittel 12), kan oppfinnelsen sies å frembringe en fremgangsmåte ved utførelse av en lengdeomdannelse innen et kommunikasjonssystem av primitiver i et første sjikt (f.eks. n), hvor primitivene overføres til et andre, lavere sjikt (f.eks. n-1), hvor primitivene er funksjonelt forbundet med hverandre, og lengdeomdannelsen omfatter å tilpasse antallet dataenheter på en slik måte at primitivene beholder sine funksjonelle forbindelser. I ovennevnte tilfeller omfatter de funksjonelle forbindelser en kanal eller en brukeridentitet, mens lengdeomdannelsen omfatter datakomprimering.
I henhold til fremgangsmåten ifølge oppfinnelsen kontrolleres det fortrinnsvis om det i den første serie forekommer en siste datapakke fra en kanal, og hvis det forekommer en siste datapakke, plasseres all bufret data fra denne kanal i én eller flere datapakker i den andre serie. Dvs. idet den siste datapakke fra en kanal erholdes, tømmes den tilsvarende buffer (eller buffersettet), og all informasjon i denne buffer føres videre til datapakker. Dermed avsluttes gruppen av datapakker fra en bestemt kanal uten at det må ha gått noen bestemt ventetid for dette formål. Videre kan de tømte buffere gjøres tilgjengelige for en annen kanal. For øvrig kan i denne sammenheng begrepet "siste datapakke fra en kanal" generelt forstås som "den siste datapakke av en gruppe datapakker fra en kanal", dermed også omfattende den siste datapakke av en melding som overføres gjennom denne kanal. Kanalen, som f.eks. kan omfatte en fysisk eller logisk lenke, kan i og for seg fortsette å eksistere. Forekomsten av den siste datapakke kan i denne sammenheng påvises på grunnlag av f.eks. et tegn "slutt på melding". Den nevnte gruppe datapakker, hvorav det påvises at den siste datapakke forekommer, kan også omfatte en del av en melding eller et antall meldinger, f.eks. de datapakker fra en kanal som er blitt mottatt i løpet av et bestemt tidsrom. Når den siste datapakke i den første serie fra en kanal har forekommet, og den bufrede data er plassert i en datapakke i den andre serie, er det mulig at den bufrede data ikke fyller opp datafeltet av datapakken i sin helhet. For på enkel måte å på mottakersiden kunne bestemme hvor den nyttige data slutter, foreslås det at datafeltet fylles ut med påhengt data, hvis i den andre serie datafeltet den siste datapakke fra en kanal ikke er helt oppfylt. Denne påhengte data velges fortrinnsvis slik at den enkelt kan gjenkjennes som sådan i mottakerenden, og omfatter derfor fortrinnsvis en forutbestemt kode. Dermed kan påhengt data omfatte en serie identiske bit, fortrinnsvis minst elleve enere. Antallet identiske bit utvelges ifølge fremgangsmåten med fordel i henhold til den anvendte koding for datakomprimeringen, f.eks. slik at antallet bit er lik eller større enn antallet bit i det lengste kodeord.
Hvis det forekommer påhengt data i en datapakke i den andre serie, kontrolleres det fortrinnsvis om det har forekommet en siste datapakke i den første serie. På denne måte tilveiebringes det en enkel, men meget virksom feilsikring.
Fremgangsmåten ifølge oppfinnelsen utføres med fordel på en slik måte at datafeltet i den andre serie består utelukkende av komprimert data og/eller påhengt data. Med andre ord forekommer det i et datafelt i den andre serie ingen tilleggsinformasjon med henhold til meldingens lengde, den aktuelle kanal og lignende. Således kan den tilgjengelige overføringskapasitet av datapakkene utnyttes optimalt. I denne sammenheng kan for øvrig den såkalte "komprimerte data" i enkelte tilfeller også inneholde ukomprimert data, som imidlertid stammer fra et datafelt i den første serie. Fortrinnsvis bestemmeB forekomsten av den siste datapakke fra en kanal på grunnlag av informasjon i topptekstfeltene av datapakkene i den første serie. Således kan gjenkjennelsen av den siste pakke f.eks. finne sted samtidig som kanalbestemmelsen. Hvis imidlertid datapakker som ikke er påført et slikt kjennetegn i topptekstfeltet skal omdannes, kan forekomsten av den siste datapakke bestemmes på en annen måte, f.eks. ved å gjenkjenne filsluttinformasjon i et datafelt i den første serie.
Hvis datapakkene er beregnet for dataoverføring ifølge X.25-protokollen, omfatter den informasjon, på hvis grunnlag forekomsten av den siste datapakke fra en kanal bestemmes, med fordel m-bifen (merbifen) . Hvis m-bit'en er lik null, følger det ingen videre datapakker fra den samme kanal. Dermed er en meget enkel gjenkjennelse av den siste datapakke mulig.
I henhold til fremgangsmåten ifølge oppfinnelsen kan flere forskjellige komprimeringsprosedyrer anvendes. Med fordel anvendes det i komprimeringsprosedyren en tabell inneholdende kodeord, som er basert på hyppigheten av den forekommende data. Under henvisning til en slik tabell, erstattes hvert opprinnelige dataord med et kodeord, hvor bestemte ord som forekommer ofte {eller f.eks. har et høyt informasjons-innhold) blir tildelt en relativt kort kode. Med komprimeringsprosedyrer av denne type, som i og for seg er kjent, kan tabellen settes opp under komprimeringsprosedyren. I henhold til fremgangsmåten ifølge oppfinnelsen anvendes det imidlertid med fordel en fast {frekvens-) tabell. Med hjelp av en (forutbestemt) fast eller i det minste temporært fast tabell er det mulig å forhindre dataekspansjon i begynnelsen av komprimeringsprosedyren. Dette forhindrer videre bitfeil i overføringen som forekommer når tabellene av sendersiden og mottakersiden blir asynkrone. Etter et forutbestemt tidsrom eller etter en forutbestemt mengde datapakker kan tabellen fornyes og/eller kontrolleres.
Selv om fremgangsmåten ifølge oppfinnelsen er meget godt egnet for anvendelse i tilfellet av flere forekommende kanaler, er det også mulig å utøve fremgangsmåten hvis alle datapakker i den første serie tilhører samme kanal. I tilfellet hvor den første serie omfatter datapakker fra et flertall kanaler, er det mulig å gjennomføre komprimeringen kun på datapakker fra enkelte kanaler, slik at dataen fra minst noen kanaler plasseres i den andre serie i ukomprimert form. Ifølge fremgangsmåten kan den ukomprimerte data enten ikke ha blitt forandret i det hele tatt, eller den kan ha blitt underkastet en helt forskjellig prosedyre, så som chiffrering. Videre kan data som faktisk ble komprimert, også ha blitt underkastet en annen prosedyre, så som chiffrering.
Selv om fremgangsmåten ifølge oppfinnelsen her beskrives under henvisning til omdannelsen av datapakker, er det også mulig å omdanne - istedenfor den første og/eller tredje serie datapakker - en eller flere (synkrone eller asynkrone) bitstrømmer. Det er også mulig at den første serie og - i tilfellet av toveisflyt, også den tredje serie - utformes av en serie tidsluker.
Oppfinnelsen frembringer videre en fremgangsmåte ved omdannelse av en andre serie datapakker til en tredje serie datapakker med topptekstfelter og datafelter, hvor dataen fra datafelter i den andre serie underkastes en dekomprimeringsprosedyre og plasseres i datafelter i den tredje serie. Ifølge denne fremgangsmåte bufres data som skal plasseres i et datafelt i den tredje serie fortrinnsvis atskilt for hver kanal. Hvis dekomprimeringen og komprimeringen er symmetriske, kan datapakkene i den tredje serie i dette tilfelle være identiske med datapakkene i den første serie.
Når oppfinnelsen ifølge foreliggende oppfinnelse utøves på overføringen av datapakker, hvor det i den første serie periodisk forekommer datapakker fra minst én kanal, er det med fordel mulig å periodisk overføre minst én datapakke i den andre serie for denne kanal, selv om datafeltet i denne datapakke kun er delvis fylt. Som et resultat kan lange ventetider ved dataoverføringen forhindres. (Hvis ifølge fremgangsmåten datapakkene i den første serie overføres ifølge X.25-protokollen, kan det være fordelaktig å ignorere m-bifen i en slik datapakke). Datapakker i den andre serie kan med dette formål overføres, f.eks. til forutbestemte tider eller hvis det har forløpt en bestemt tid siden (vanligvis komprimert) data ble plassert i en tom buffer (såkalt tidsutkobling eller "time-out"-mekanisme). På denne måte kan datapakker komprimeres og overføres periodisk. Dette er spesielt fordelaktig for datakilder som kun tidvis genererer data, så som måleinstrumenter. Hvis datapakkene i den andre serie er mindre enn pakkene i den første serie, vil datakomprimeringen alltid føre til en økt data-overføringseffektivitet, selv om hver datapakke i den første serie omdannes til én datapakke i den andre serie (1-til-l-omdannelse). I tilfellet av X.25, kan datapakker i den andre serie da bestå av færre segmenter (på f.eks. 64 byte).
Oppfinnelsen vedrører dessuten en anordning for å komprimere datapakker, en anordning for å dekomprimere datapakker og et system for å overføre datapakker i komprimert form.
REFERANSER
[l]EP-A-0.559.593
[2]ITU Recommendation V.42 bis
[3]F. Mazda {utg.): "Telecommunications Engineer's Reference Book", Oxford 1993
[4]ITU Recommendation V.34
[5]ITU B-ISDN Adaptation Layer Specification 1.363
[6]P.Horowitz & W. Hill: "The Art of Electronics", Cam-bridge 1989.
UTFØRELSESEKSEMPLER
Oppfinnelsen beskrives nedenfor i større detalj under henvisning til de medfølgende tegninger. Figur l viser skjematisk omdannelsen av en første serie datapakker til en andre serie datapakker. Figur 2 viser skjematisk prosedyren å komprimere ifølge oppfinnelsen en serie datapakker. Figur 3 viser skjematisk fremgangsmåten ifølge oppfinnelsen i forhold til OSI-modellen. Figur 4 viser skjematisk en første utførelsesform av en anordning for å komprimere og/eller dekomprimere datapakker ifølge oppfinnelsen. Figur 5 viser skjematisk en andre utførelsesform av en anordning for å komprimere og/eller dekomprimere datapakker ifølge oppfinnelsen. Figur 6 viser skjematisk et system for å overføre datapakker, hvor oppfinnelsen utøves. Figur 1 viser som et eksempel en første serie 10 (kilde-) datapakker. De etter hverandre påfølgende datapakker 11, 12, 13, 14 og 15 i serien 10 kan tilhøre forskjellige kanaler. I det avbildede tilfelle tilhører datapakkene 11, 12 og 14 én kanal A, mens datapakkene 13 og 15 tilhører en annen kanal B. Det er i praksis naturligvis mulig at det forekommer lengre serier, hvis datapakker tilhører flere enn to kanaler.
Oppfinnelsen tilrettelegger for å omdanne den første serie 10 til en andre serie 20 (overførings-) datapakker. De etter hverandre påfølgende datapakker 21, 22 og 23 tilhører henholdsvis kanalene A, A og B.
Hver avbildet datapakke i serien 10 og 20 inneholder et topptekstfelt (eller en topptekst) h og et datafelt d. Ved anvendelse av en egnet komprimeringsprosedyre omdannes datapakkene 11 til og med 15 til datapakkene 21 til og med 23. Ifølge oppfinnelsen omfatter dette å plassere i datafeltene d av (overførings-) datapakkene i serien 20, kun datafeltene d av (kilde-) datapakkene i serien 10 i komprimert form. Med andre ord innlemmes ikke informasjonen fra topptekstfeltene h av datapakkene 11 til 15 i datafeltene av datapakkene 21 til 23. På den andre side kan topptekstfeltene h av datapakkene i en første serie 10 tilsvare, i det minste delvis og i enkelte tilfeller også fullstendig, topptekstfeltene h av datapakkene i en andre serie 20. Det er imidlertid også mulig for den andre serie å ha en fullstendig forskjellig struktur enn den første, og f.eks. å settes sammen ifølge en forskjellig protokoll.
En serie datapakker fra samme kanal, hvilken serie kan dannes av datapakkene 11, 12 og 14 i den første serie 10, liksom vist, vil generelt ha en begrenset lengde. Den siste pakke i en slik gruppe er generelt utstyrt med et merke for å melde til mottakeren at en aktuell melding er avsluttet. I tilfellet av X.25 markeres dette ved å i topptekstfeltet innlemme en bit (merbit eller m-bit), som er lik null (m=0), hvis det ikke følger flere datapakker av samme melding eller fra samme kanal; ellers er bit'en lik én (m=l). En annen måte å markere at det ikke følger flere datapakker fra samme gruppe, er å innlemme i datafeltet en stoppkode {'•slutt på melding"), hvilken kan gjenkjennes av mottakeren. En slik stoppkode kan f.eks. bestå av kontrollsymboler som lett kan skjelnes fra vanlig, nyttig data. Hvis ønsket kan slutten av en melding utledes fra tiden som forløper etter at den siste datapakke fra den aktuelle kanal ble mottatt ("time-out").
Ifølge oppfinnelsen inneholder datapakkene i serie 20 hver (komprimert eller ukomprimert) data fra kun én kanal (eller delkanal), og dataen for hver kanal bufres atskilt. Ved å tildele hver datapakke i den andre serie 20 til kun én kanal er det mulig å oppnå en enkel dekomprimeringsprosedyre i den mottakende ende (bestemmelsesstedet), siden datafeltene d av datapakkene i den andre serie 20 ikke først trenger å atskilles i fragmenter fra forskjellige kanaler. Videre er det her ikke nødvendig å innlemme i datafeltene d tilleggsinformasjon vedrørende hvilke deler av datafeltet som hører til en aktuell kanal, så som lengdeinformasjon om blokkene innen datafeltet. Således oppnås det en mer effektiv overføring, siden datafeltene av en datapakke i den andre serie kan fylles utelukkende med data. For øvrig er det mulig å også plassere ukomprimert data i en datapakke i den andre serie, hvis f.eks. én eller flere kanaler (eller delkanaler) ikke komprimeres. Dette kan f.eks. være tilfellet hvis en bestemt delkanal inneholder kontrolldata.
Ved å bufre data fra hver kanal i alt vesentlig for seg selv, er det mulig å oppnå en optimal oppfyllingsgrad av datafeltene d i den andre serie 20. Hvis ingen slik bufring fant sted, ville komprimeringen riktignok føre til en mindre mengde data per datapakke, men antallet datapakker per kanal ville i prinsippet forbli lik, og som et resultat ville det i de fleste tilfeller ikke oppnås noen fordel (hvis ikke datapakkene i den andre serie er kortere enn datapakkene i den første serie, hvilket imidlertid begrenser den andre serie). Med hjelp av ovennevnte forholdsregler kan det oppnås en meget høy effektivitetsgrad for dataoverføring, uten å stille noen krav på strukturen av datapakkene i den andre serie. Samtidig tilrettelegges det for en høy fleksibilitetsgrad i rutingen, siden mellomliggende stasjoner i nettverket, gjennom hvilke de komprimerte datapakker overføres, ikke krever noen justeringer med det formål å utføre komprimering der.
Det bør noteres at når det i denne tekst nevnes "datapakker" , kan dette også forstås som protokolldataenhet ("PDU"), beholderenhet eller generelt dataenhet. Det vil være tydelig at datapakkene eller dataenhetene foruten et topptekstfelt og et datafelt også kan omfatte andre felter, så som et påhengt felt (eller tilhenger). Dette er imidlertid ikke vesentlig for oppfinnelsen. Oppfinnelsen kan utøves selv på datastrømmer som ikke inngis i pakkeform. Spesielt kan oppfinnelsen med fordel utøves ved komprimering og dekomprimering av datapakker i nettverk som drives ifølge X.25-protokollen, spesielt for anvendelse i sjikt 3 av OSI-modellen.
På Figur 2 vises fremgangsmåten ifølge oppfinnelsen skjematisk. Den første serie 10 datapakker, vist i større detalj på Figur 1, omdannes til den andre serie 20 datapakker. Ifølge fremgangsmåten underkastes først datapakkene 11-15 i den første serie 10 en prosedyre P, som kan omfatte en egnet, i og for seg kjent datakomprimeringsprosedyre, så som en datakomprimeringsprosedyre som arbeider ifølge Ziv-Lempel-prosedyren. I det viste tilfelle omfatter prosedyren P også kanalidentifisering. Den komprimerte data bufres, spesielt atskilt for hver kanal. Den komprimerte data fra datapakkene 11, 12 og 14 bufres derfor kontinuerlig inntil et datafelt i den andre serie kan fylles fullstendig. I det viste tilfelle ville f.eks. den komprimerte data fra datapakkene 11 og 12 kunne fylle datapakken 21 fullstendig, hvoretter denne datapakke kunne overføres. Gjenværende komprimert data fra kanal A lagres i bufferen for kanal A {"Buffer A"). Deretter komprimeres data fra pakke 13 og lagres i bufferen for kanal B ("Buffer B") {hvis man antar at denne data ikke fullstendig fyller opp en datapakke i den andre serie). Den følgende pakke som skal komprimeres, datapakke 14, er den siste pakke i gruppen bestående av pakkene 11, 12 og 14. Etter komprimering lagres den komprimerte data fra kanal A temporært i bufferen for kanal A, hvoretter bufferen tømmes og den komprimerte data fra kanal A lagres i pakke 22. Hvis pakke 22 ikke fylles fullstendig derav, kan det tilsettes påhengt data. Det spesifiseres fortrinnsvis i topptekstfeltet av datapakken 22 at dette er den siste pakke i gruppen. Pakken 15 kan i mellomtiden ha blitt underkastet komprimeringsprosedyren. Som også var tilfellet for kanal A, vil den komprimerte data lagres en kort tid i den aktuelle buffer, i dette tilfelle bufferen for kanal B, for å deretter bli plassert, sammen med dataen som allerede er tilstede i denne buffer, i datapakken 23. Det angis fortrinnsvis i toppteksten av datapakken 23 at dette er den siste datapakke i gruppen (eller henholdsvis kanalen). Hvis nødvendig kan datafeltet i datapakken 23, som også var tilfellet for datapakken 22, utstyres med påhengt informasjon (påhengt data).
Det vil være klart at buffervirkningen av de nevnte buffere kan utøves på mange forskjellige måter, og at det for flere enn to kanaler kan ha blitt stilt til rådighet et flertall buffere, som vist på figuren med stiplede linjer (valgfri Buffer C for kanal C). Hvis den siste datapakke fra en bestemt kanal er blitt overført, kan bufferen for denne kanal, hvis påkrevd, tildeles til en annen kanal. Hvis kanal B f.eks. er avsluttet, kan Buffer B tildeles til en ny kanal, f.eks. kanal C eller D.
Som antydet ovenfor kan tidsrommet som data tilbringer i en buffer, i mange tilfeller være meget kort. Buffernes funksjon er hovedsakelig å samle data fra en bestemt kanal på en slik måte at pakkene i den andre serie kan utnyttes så effektivt som mulig.
Dekomprimering ifølge oppfinnelsen omfatter å motta (overførings-) datapakker, underkaste datafeltene av disse overføringsdatapakker en dekomprimeringsprosedyre og danne (bestemmelsessted-) datapakker inneholdende i sine datafelter den dekomprimerte data. Siden det ikke trenger å frasorteres noen rekonstruksjonsinformasjon fra datafeltene, kan dekomprimeringen og dannelsen av mottakerdatapakker finne sted direkte. Dekomprimering kan med fordel finne sted på en måte som er fullstendig analog med den på Figur 2 skisserte
komprimeringsprosedyre.
På Figur 3 vises fremgangsmåten ifølge oppfinnelsen skjematisk i forhold til OSI-modellen (jfr. referanse 3, kapittel 12). Når det ifølge OSI-modellen kommuniseres mellom to sjikt (n, n-1) i et kommunikasjonsnettverk, finner det mellom disse sjikt sted en overføring av såkalte primitiver, også nevnt "Interface Data Units" (IDU'er). Primitivene i sjikt n behandles i sjikt n-1, dvs. i et lavere sjikt. Primitiven i sjikt n vil av sjikt n-1 omdannes til én eller flere "Protocol Data Units" (PDU'er), som utgjør den "virtuelle" kommunikasjon mellom sjikt n-1 på sendersiden og sjikt n-1 på mottakersiden. For sjikt 3 av X.25 er dette f.eks. pakkene av den såkalte "Packet Level Protocol".
I de fleste tilfeller vil datapakkene Ai, A2, ..., Ax overføres gjennom det mellomliggende nettverk til sjikt n-1 på mottakersiden. Hvis det imidlertid i sjikt n-1 finner sted en behandling av dataen, så som datakomprimering eller -dekomprimering, bør den for overføring av primitiver nødvendige struktur av dataenhetene (dvs. datapakkene eller PDU'ene) ikke berøres av denne behandling. Det bør noteres at lengden av dataen i en primitiv kan være vesentlig større enn den maksimale lengde av en dataenhet, hvor en dataenhets lengde ofte dikteres av det aktuelle nettverk.
På Figur 3 vises det at en primitiv A føres fra sjikt n til sjikt n-1 på sendersiden, merket med S. Primitiven A representerer en serie datapakker eller data som stammer fra høyere sjikt på sendersiden. På sjikt n-1 blir primitiven A til en første serie datapakker Alf A2, ..., Ax, og denne serie tilsvarer serie 10 på Figurene 1 og 2. Serien underkastes en prosedyre P, så som en datakomprimeringsprosedyre, eller generelt en kodeprosedyre. Som vist på Figur 3 finner denne prosedyre sted i sjikt n-1. Som et resultat av prosedyren P, fremstilles det en andre serie datapakker Bi, B2, ..., By, og denne andre serie tilsvarer serie 20 på Figurene 1 og 2. I tilfellet av datakomprimering vil antallet datapakker i den andre serie være mindre enn i den første serie: y<x. Den andre serie 20 overføres gjennom et nettverk (for oversiktens skyld ikke vist). Som vist, finner overføringen av serien 20 gjennom nettverket sted i sjikt n-1, men kan også engasjere andre (lavere) sjikt, så som sjikt n-2.
I mottakerenden, merket med R, reverseres i alt vesentlig de tidligere trinn. Først underkastes serien av datapakker Bi, B2, .. -, By prosedyren P', hvor denne prosedyre P' i de fleste tilfeller er den motsatte prosedyre av prosedyren P i sendersiden, f.eks. datadekomprimering når prosedyren P omfattet datakomprimering. Som et resultat av dette dannes det en tredje serie 30 - som i de fleste tilfeller er lik serien 10 - omfattende datapakkene A1( A2, ..., Ax. Disse datapakker fra sjikt n-1 føres deretter videre som en primitiv, igjen nevnt A, til det neste høyere sjikt (n) i mottakerenden R. Primitiven A kan videreføres til enda høyere sjikt, hvis nødvendig.
Som vist på Figur 3, underkastes datapakker i et første format (Aif A2, ..., Ax) en prosedyre (P), overføres som datapakker i et andre format (Bi, B2, .. •, By) og underkastes igjen en prosedyre {P') i sjikt n-1. I dette eksempel er de opprinnelige og endelige datapakker identiske, liksom også de tilsvarende primitiver. Fremgangsmåten ifølge oppfinnelsen frembringer derfor en lengdeomdannelse av primitiver fra et bestemt sjikt (n) ved et lavere sjikt (n-1). Som beskrevet under henvisning til Figur 2 beholdes de funksjonelle forhold av primitivene ifølge fremgangsmåten ved å tildele datapakkene i den andre serie (Bi,
B2, .-., By) til kun én kanal eller delkanal. Disse funksjonelle forhold kan omfatte f.eks.
(del)kanalidentiteten og/eller brukeridentiteten av primitivene. Som beskrevet ovenfor er en delkanal en bestanddel av en kanal, f.eks. danner alle X. 25-datapakker fra en bestemt kanal med en Q-bit lik 1, en delkanal av kanalen.
I sjikt n-1 markeres primitivenes struktur med et merke "slutt på melding". I tilfellet av X.25 utgjøres et slikt merke av en m-bit lik null. I f.eks. ISDN-baserte nettverk kan dette prinsipp også anvendes. I tilfellet av ISDN kan rutesjiktet utgjøres av en vilkårlig ruteprotokoll, f.eks. sjikt 3 av X.25. I tilfellet av ATM kan merket "slutt på melding" bestå av det såkalte segmenttypefelt eller "ST-felt" (jfr. referanse 5). Dette angir forholdet mellom dataenheter (såkalte SAR PDU'er) og primitiver (såkalte SAR SDTJ'er) . Forbigåelse av "slutt på melding" for å erholde en høyere komprimeringsfaktor støttes i ATM i ST-feltet av den såkalte "Single Segment Message" (SSM).
Det i eksemplet på Figur 3 nevnte sjikt n-l er fortrinnsvis sjikt tre av OSI-modellen (n er her lik 4). Sjikt n-1 kan imidlertid også vise til andre sjikt av OSI-modellen, så som sjikt 2 eller 4. Fremgangsmåten ifølge oppfinnelsen kan utøves på alle kommunikasjonsteknikker basert på OSI-modellen. Behandlingen finner fortrinnsvis sted i eller over rutesjiktet for å holdes uavhengig av rutingen.
Fremgangsmåten ifølge oppfinnelsen har når den anvendes i sjikt 3 av OSI-modellen, den ytterligere fordel at datakomprimeringen kan finne sted i samme sjikt som tariffering. Når det komprimeres i sjikt 2, minskes ikke anvendernyttelasten ved datakomprimering. En ytterligere fordel ved å utøve oppfinnelsen i sjikt 3 er den høye komprimeringsfaktor som muliggjøres, siden det i sjikt 2 kombineres informasjonskilder, hvilket fører til en meget lav dataredundans. På grunn av denne kombinasjon vil en tilpasningskomprimeringsalgoritme ikke kunne erholde en optimal komprimering, siden dataen som skal komprimeres inneholder forskjellige kjennetegn. Ifølge oppfinnelsen kan det imidlertid oppnås en høy komprimering, siden komprimeringen finner sted på et høyere nivå av OSI-modellen, og dataen fra de diverse kilder kan behandles hver for seg.
Anordningen 100 som er skjematisk avbildet på Figur 4 omfatter en identifiseringsenhet 110, en kontrollenhet 120, en behandlingsenhet 130 som er forbundet via en databuss 140 med et minne 150 og en bufferenhet 160. Identifiseringsenheten 110 omfatter en inputbuffer og - forbundet hermed - en identifiseringsanordning for å kjenne igjen (kanalen av) innkommende datapakker. Identifikasjonen føres videre til kontrollenheten 120, som deretter kan adressere behandlingsenheten 130 og minnet 150 på en kanalforbundet måte. Således kan minnet 150 ha lagret i seg forskjellige komprimeringsprosedyrer som kan anvendes for forskjellige kanaler. Dekomprimeringsprosedyrer kan likeledes lagres i minnet 150, slik at anordningen 100 også kan anvendes for dekomprimering; hvis nødvendig kan anordningen 100 komprimere for enkelte kanaler og dekomprimere for andre kanaler. Når dette gjøres, kan en dekomprimeringsprosedyre eller rekonstruksjonsdata som kreves i prosedyren overføres når en kanal opprettes, før datapakkene som skal dekomprimeres. Det er også mulig å konstruere minnet 150 - helt eller delvis - som et leselager (ROM), slik at bestemte data (rekonstruksjonsdata for dekomprimeringsprosedyrer samt én eller flere dekomprimeringsprosedyrer i seg selv) alltid er tilstede i anordningen 100. Selv om anordningen 100 anvendes som komprimeringsanordning kan det være fordelaktig å plassere enkelte data i et leseminne.
Prosedyren som kreves for en bestemt kanal, lastes under styring av styreenheten 120, gjennom databussen 140 fra minnet 150 til behandlingsenheten 130. Behandlingsenheten 130 omfatter fortrinnsvis en mikroprosessor for å utføre behandlingsprosedyren. Behandlingsenheten 130 utstyres med fordel med et prosessorminne for å lagre data vedrørende den aktuelle oppgave. Prosessorminnets funksjon kan imidlertid også overtas av minnet 150. For å øke behandlingshastigheten av anordningen 100 kan det til databussen 140 forbindes et flertall parallelle behandlingsenheter 130. Alternativt kan et flertall (mikro)prosessorer, hver med et prosessorminne hvis nødvendig, plasseres i en behandlingsenhet 130.
Bufferenheten 160 omfatter en outputbuffer 161, som ifølge oppfinnelsen består av et flertall bufferseksjoner A, B, C osv. til gagn for de tilsvarende kanaler. Som allerede nevnt ovenfor, trenger ikke tildelingen av buffere til bestemte kanaler være fast, og kan hvis ønsket forandres, avhengig av omstendighetene. Dermed kan bufferseksjon A på Figur 4 etter at kanal A er avsluttet, f.eks. tildeles til en (ny) kanal H.
Hver bufferseksjon A, B osv. i outputbufferen 161 omfatter fortrinnsvis et (skift)register, men kan også dannes av et direkteminne (RAM). Det er stilt til rådighet en ytterligere bufferseksjon BP (bitpeker) for å lagre informasjon om hvilken mengde data, spesielt hvor mange bit og/eller byte, som er lagret i hver av de andre bufferpartier hhv. ble igjen etter at den siste datapakke for overføring ble fylt opp. Hvis ønsket kan bufferseksjonen BP formes av atskilte, reserverte partier av bufferseksjonene A, B osv.
Bufferenheten 160 omfatter videre en utvelgingsenhet 162, dannet av f.eks. en multiplekser, for å utvelge en bufferseksjon hvor data som ankommer bufferenheten 160 bør lagres. Dette utvalg finner i det viste eksempel sted på grunnlag av kontrollsignaler som er blitt generert av kontrollenheten 120 på grunnlag av identifikasjonsinformasjon. Bufferenheten 160 kan også omfatte en anordning (ikke vist) for å generere egnede datapakker med f.eks. en lengde på 128 bit, i hvilke data overføres fra bufferseksjonene.
Med hjelp av anordningen 100 ifølge oppfinnelsen, er derfor en rask og virkningsfull komprimering av en serie datapakker mulig. Virkningsgraden kan i denne sammenheng også ytterligere avhenge av forekomsten av stoppkoder eller andre merker (så som m-bifen) som angir slutten av en gruppe datapakker (melding, kanal). Fortrinnsvis konstrueres anordningen 100 slik at hensyntagen av stoppkoder og lignende kan justeres. Dette gjør det mulig å tilpasse anordningens driftmodus til det forbundne utstyr.
I en første modus tar anordningen overhodet ingen hensyn til slutten på en gruppe datapakker, slik at data bufres for hver kanal selv om en melding er avsluttet. Dette medfører den høyeste oppfyllingsgrad for datapakkene i den andre serie, siden det nå ikke er nødvendig å i slutten av hver gruppe overføre en datapakke som {i de fleste tilfeller) er delvis tom, eller er utstyrt med påhengt data. For å sikre at den siste data som ble lagret i den aktuelle buffer blir sendt, kan det tilrettelegges for en tidsmekanisme som f.eks. omfatter at kontrollenheten 120 tømmer bufferen av en bestemt kanal og får datapakker til å sendes over denne kanal hvis det i løpet av en viss tid ikke er blitt mottatt noen datapakke for denne kanal i anordningen 100. Denne tømming av bufferen kan også finne sted til bestemte tider, eller hvis mottakeren sender en forespørsel om dette til anordningen 100. En slik forespørsel kan anta formen av en bestemt kode i dataen av en datapakke som overføres til anordningen 100.
I en andre modus tas likeledes ingen hensyn til slutten av en gruppe datapakker, men en pakke i den andre serie overføres så snart dataen i en datapakke i den første serie er blitt behandlet. Mens dette sikrer at dataen overføres så raskt som mulig, vil nyttevirkningen av datakomprimeringen være meget liten, siden det generelt kun vil dannes delvis fylte datapakker.
I en tredje modus tas virkelig hensyn til stoppkoder eller andre tegn på at slutten på en melding eller en kanal er nådd. Hvis den siste datapakke av en melding eller kanal gjenkjennes, tømmes den aktuelle buffer. Dermed oppnås rask dataoverføring til enhver tid, mens dannelsen av kun delvis fylte datapakker reduseres merkbart.
Det bør noteres at i enkelte systemer for å overføre datapakker kan det være mulig å skille mellom slutten av en melding og slutten av en kanal, f.eks. ved i slutten av hver kanal å overføre en bestemt kode eller en bestemt datapakke. I dette tilfelle er det fordelaktig å tømme bufferne etter slutten av en melding, men å ikke tømme den i slutten av en kanal.
I denne sammenheng omfatter tømming av bufferne å overføre den informasjon som er igjen i bufferen. Når slutten av en kanal opptrer, kan bufferne imidlertid "tømmes", dvs. tilbakestilles, uten å overføre den gjenværende informasjon. I begge tilfeller vil bufferne endelig være tomme. "Slutt på en kanal" kan forekomme når en logisk kanal avbrytes {f.eks. "disconnect" i X.25) og når det forekommer en feilindikasjon i nettverket (f.eks. "reset packet" i X.25), hvilket angir at det er usikkert om den overførte data nådde sitt bestemmelsessted.
Anordningen 200 avbildet skjematisk på Figur 5 omfatter, som også anordningen 100 på Figur 4, en identifiseringsenhet 210, en kontrollenhet 220, en behandlingsenhet 230, som er forbundet via en databuss 240 til et minne 250, samt en bufferenhet 260. Identifiseringsenheten 210 omfatter en inputbuffer, og koblet hertil, en identifiseringsanordning for å identifisere (kanalen og/eller delkanalen av) innkommende datapakker.
I anordningen 200 omfatter bufferenheten 260 en outputbuffer 261 som ifølge oppfinnelsen omfatter et flertall bufferseksjoner A, B, C osv. til nytte for de tilsvarende kanaler. I motsetning til outputbufferen 161, omfatter outputbufferen 261 på Figur 5 bufferseksjoner som er stilt til rådighet i dobbel utførelse, dvs. hver bufferseksjon omfatter to ytterligere seksjoner eller avdelinger, hvor hver avdeling er tildelt en bestemt delkanal. Dermed stilles det for kanal A til rådighet avdelingene A og A'. På lignende måte stilles avdelingene B og B' til rådighet for kanal B osv. I det gitte eksempel kan dataen for to delkanaler bufres for hver kanal. Det vil være underforstått at bufferseksjonene kan bestå av et flertall avdelinger, f.eks. tre, fire eller fem, for å støtte et flertall delkanaler for hver kanal. Det trenger ikke stilles til rådighet et flertall ytterligere bufferseksjoner BP (bitpeker) forutsatt at BP'en er tilstrekkelig stor for å registrere tilstanden i alle bufferseksjoner. Bufferseksjonen BP kan også utgjøres av reserverte deler av bufferseksjonene A, A', B, B' osv.
Istedenfor å plassere i en buffer 261 bufferseksjoner med flere avdelinger, kan bufferen 261 i seg selv stilles til rådighet i f.eks. dobbel eller tredobbel utførelse, hvor bufferenheten 260 således består av bufferne 261, 261' osv., alt etter nødvendighet. Alternativt kan hele bufferenheten 260 stilles til rådighet i flerdobbel utførelse.
Som nevnt ovenfor trenger ikke tildelningen av buffere eller bufferseksjoner til bestemte kanaler eller delkanaler være fast, og kan hvis nødvendig endres, avhengig av omstendighetene. Dermed kan bufferseksjon A på Figur 5 etter at delkanalene A og A' er avsluttet, tildeles f.eks. til en (ny) kanal H.
Bufferenheten 260 omfatter en utvelgningsenhet 262 som
- i tillegg til funksjonene av utvelgningsenheten 161 av bufferenheten 160 - gjennomfører et utvalg på grunnlag av delkanaler, dvs. utvelgningsenheten 262
tildeler data til bufferseksjoner basert på både deres kanal- og deres delkanalidentifikasjoner. Bortsett fra bufferenheten 260 kan anordningen 200 funksjonelt og konstruktivt tilsvare anordningen 100 på Figur 4. Imidlertid tilrettelegges behandlingsenheten 230 og kontrollenheten 250 fortrinnsvis for behandling av data avhengig av dataens aktuelle delkanalidentifikasjoner. Identifiseringsenheten 210 utformes likeledes for identifisering av delkanaler.
Anordningen 100 på Figur 4 og anordningen 200 på Figur
5 kan fremstilles av kommersielt tilgjengelige komponenter (jfr. referanse 6). Denne anordning kan imidlertid også med fordel utføres som en "application-specific integrated circuit" (ASIC). For å i én anordning tilrettelegge for både komprimering og dekomprimering ved toveisflyt, kan to anordninger 100 plasseres sammen i ett hus, eller alternativt integre-res fullstendig.
Systemet på Figur 6 omfatter komprimerings- og dekomprimeringsanordninger 2 som er forbundet med hverandre gjennom et nettverk 1. I denne løsning kan anordningene 2 f.eks. hver omfatte to anordninger 100 eller 200 på Figur 4 hhv. Figur 5. Nettverket 1 kan være et i og for seg kjent kommunikasjonsnettverk, så som et nettverk som drives ifølge X.25-protokollen. En anordning 2 kan ha et flertall enheter 3 forbundet dertil, som hver kan omfatte multipleksere. Hvis ønsket kan disse enheter 3 utsende ikke datapakker, men datastrømmer, som formes til datapakker så sent som i anordningene 2. Anordningene 3 kan være forbundet med et flertall endeanvendere 4. Mellom endebrukerne 4 kan det settes opp et flertall (logiske) kanaler. Ved utøvelse av foreliggende oppfinnelse kan dataen fra disse kanaler til enhver tid overføres effektivt i komprimert form gjennom nettverket.
Det vil være underforstått for personer med kunnskaper innen faget at oppfinnelsen ikke er begrenset til de viste utførelsesformer, og at det kan gjøres mange endringer og tilføyelser uten å fravike fra foreliggende oppfinnelses ramme.
Claims (26)
1. Fremgangsmåte for å omdanne en første serie (10) datapakker, hver med et topptekstfelt (h) og et datafelt (d), til en andre serie (20) datapakker, hver med et topptekstfelt (h) og et datafelt (d), hvor begge serier omfatter datapakker fra et flertall kanaler (A, B), og data fra datafeltene i den første serie (10) underkastes en komprimeringsprosedyre (<p>) og deretter plasseres i datafeltene i den andre serie (20), karakterisert ved at hvert datafelt i den andre serie (20) inneholder data fra kun én kanal (f.eks. A), og at data som skal plasseres i et datafelt i den andre serie bufres atskilt for hver kanal (A; B).
2. Fremgangsmåte ifølge krav 1, karakterisert ved at det kontrolleres om den siste datapakke fra en kanal (f.eks. A) forekommer i den første serie (10), og at hvis den siste datapakke forekommer, plasseres all bufret data fra denne kanal (f.eks. A) i én eller flere datapakker i den andre serie (20).
3. Fremgangsmåte ifølge krav 2, karakterisert ved at hvis datafeltet av den siste datapakke fra en kanal i den andre serie (20) ikke er fullstendig fylt opp, fylles dette datafelt med påhengt data.
4. Fremgangsmåte ifølge krav 3, karakterisert ved at den påhengte data omfatter en streng identiske bit, fortrinnsvis minst elleve enere.
5. Fremgangsmåte ifølge krav 3 eller 4, karakterisert ved at hvis det forekommer påhengt data i en datapakke i den andre serie (20), kontrolleres det om det har forekommet en siste datapakke i den første serie (10).
6. Fremgangsmåte ifølge et av kravene 1-5, karakterisert ved at et datafelt i den andre serie (20) utelukkende omfatter komprimert data og/eller påhengt data.
7. Fremgangsmåte ifølge et av kravene 2-6, karakterisert ved at forekomsten av den siste datapakke i en kanal (f.eks. A) bestemmes på grunnlag av informasjon i topptekstfeltet (h) av datapakkene i den første serie (10).
8. Fremgangsmåte ifølge et av kravene 1-7, karakterisert ved at datapakkene (f.eks. 11, 12, 13, ...) er beregnet for dataoverføring ifølge X.25-protokollen.
9. Fremgangsmåte ifølge krav 7 og 8, karakterisert ved at informasjonen, på hvis grunnlag forekomsten av den siste datapakke fra en kanal (f.eks. A) bestemmes, er m-bit'en (merbifen).
10. Fremgangsmåte ifølge et av kravene 1-9, karakterisert ved at det i komprimeringsprosedyren (P) anvendes en tabell inneholdende kodeord, hvilken tabell er basert på hyppigheten av forekommende data, og tabellen fortrinnsvis er fast, i det minste over et visst tidsrom.
11. Fremgangsmåte ifølge et av kravene 1-10, karakterisert ved at alle datapakker (11, 12, ...) i den første serie (10) tilhører samme kanal (f.eks. A).
12. Fremgangsmåte ifølge et av kravene l-ll, karakterisert ved at komprimeringen kun anvendes på datapakker fra enkelte kanaler (f.eks. B) .
13. Fremgangsmåte ifølge et av kravene 1-12, karakterisert ved at det - istedenfor den første serie (10) datapakker - omdannes en bit-strøm.
14. Fremgangsmåte ved omdannelse av en andre serie (20) datapakker, som er blitt dannet fra en første serie (10) datapakker ifølge et av kravene 1-13, til en tredje serie (30) datapakker med topptekstfelter (h) og datafelter (d), hvor datafeltene (d) i den andre serie (20) underkastes en dekomprimeringsprosedyre og plasseres i datafelter (d) i den tredje serie (30), karakterisert ved at data som skal plasseres i et datafelt (d) i den tredje serie (30) bufres atskilt for hver kanal (f.eks. A).
15. Fremgangsmåte ifølge krav 14, karakterisert ved at datapakker i den tredje serie (30) er identiske med datapakker i den første serie (10).
16. Fremgangsmåte ved overføring av datapakker, omfattende omdannelse av en første serie datapakker (10) ifølge et av kravene 1-13, overføring av den dermed dannede andre serie (20) datapakker og omdannelse av den andre serie datapakker til en tredje serie (30) datapakker ifølge krav 14 eller 15.
17. Fremgangsmåte ifølge krav 16, karakterisert ved at det - før den andre serie (20) datapakker overføres - overføres rekonstruksjonsinformasjon.
18. Fremgangsmåte ifølge krav 16 eller 17, karakterisert ved at datapakker fra minst én kanal (f.eks. A) i den første serie (10) forekommer periodisk, og at for denne kanal (A) minst én datapakke i den andre serie (20) overføres periodisk, selv om datafeltet i denne pakke kun er delvis oppfylt.
19. Fremgangsmåte ifølge krav 18, karakterisert ved at datapakkene (f.eks. 21, 22) i den andre serie (20) overføres ifølge X.25-protokollen.
20. Fremgangsmåte ifølge krav 18 eller 19, karakterisert ved at en datapakke i den andre serie (20) overføres hvis det siden plasseringen av data i en tom buffer for kanalen (f.eks. A) som datapakken tilhører, har gått en forutbestemt tid.
21. Anordning (100; 200) for å komprimere datapakker, omfattende en inputanordning (110; 210) for å motta en første serie datapakker (10) hver med et topptekstfelt (h) og et datafelt (d), en identifiseringsanordning (110; 210) for å bestemme kanalen (A, B, ...) for de mottatte datapakker, behandlingsanordning (130; 230) for å komprimere datafeltet av hver datapakke som skal komprimeres, og en outputanordning (160; 260) for å danne en andre serie (20) datapakker hver med et topptekstfelt og et datafelt, og for å plassere i datafeltet av en datapakke i den andre serie (20) et komprimert datafelt fra den første serie (10), karakterisert ved at det er sørget for en bufferanordning (161; 261) for å bufre, atskilt for hver kanal (A, B, ...), data som skal plasseres i et datafelt i den andre serie (20) og for å plassere i hvert datafelt i den andre serie (20) data fra kun én kanal (f.eks. A).
22. Anordning (100; 200) ifølge krav 21, karakterisert ved at bufferanordningen (161; 261) for å bufre data fra hver kanal omfatter minst to parallelle buffere, og det fortrinnsvis er tilstede en atskilt buffer for hver kanal (A, B, C,
23. Anordning (100; 200) ifølge krav 21 eller 22, karakterisert ved at det for hver kanal (A, B, ...) er reservert minneplass i et minne (150; 250; BP) som er felles for alle kanaler.
24. Anordning (100; 200) ifølge et av kravene 21-23, karakterisert ved at det er sørget for en anordning (160; 260) for å generere påhengt data.
25. Anordning (100; 200) ifølge et av kravene 21-24, karakterisert ved at behandlingsanordningen (130; 230) er tilrettelagt for å dekomprimere datapakker.
26. System for å overføre datapakker i komprimert form, omfattende i det minste én anordning i henhold til et hvilket som helst av kravene 21 til 25.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL9400100A NL9400100A (nl) | 1994-01-21 | 1994-01-21 | Werkwijze en inrichting voor het door middel van datacompressie omvormen van een reeks van datapakketten. |
NL9401980 | 1994-11-25 | ||
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 |
Publications (3)
Publication Number | Publication Date |
---|---|
NO963023L NO963023L (no) | 1996-07-19 |
NO963023D0 NO963023D0 (no) | 1996-07-19 |
NO318121B1 true NO318121B1 (no) | 2005-02-07 |
Family
ID=26647176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NO19963023A NO318121B1 (no) | 1994-01-21 | 1996-07-19 | Fremgangsmate og anordning for a omdanne en serie datapakker med hjelp av datakomprimering |
Country Status (13)
Country | Link |
---|---|
US (1) | US5774467A (no) |
EP (2) | EP1280279B1 (no) |
JP (1) | JP2841247B2 (no) |
CN (1) | CN1097933C (no) |
AT (2) | ATE242570T1 (no) |
AU (1) | AU693844B2 (no) |
CA (1) | CA2180345C (no) |
CZ (1) | CZ285088B6 (no) |
DE (2) | DE69432798T2 (no) |
ES (2) | ES2199980T3 (no) |
HU (1) | HU219934B (no) |
NO (1) | NO318121B1 (no) |
WO (1) | WO1995020285A1 (no) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL9402103A (nl) * | 1994-12-12 | 1996-07-01 | Nederland Ptt | Werkwijze en inrichtingen voor het in bewerkte vorm over een communicatiekanaal overdragen van data. |
US6229823B1 (en) * | 1997-08-01 | 2001-05-08 | Paradyne Corporation | System and method for the compression of proprietary encapsulations |
US6593937B2 (en) | 1998-06-18 | 2003-07-15 | Sony Corporation | Method of and apparatus for handling high bandwidth on-screen-display graphics data over a distributed IEEE 1394 network utilizing an isochronous data transmission format |
EP1088448B1 (en) | 1998-06-18 | 2003-01-15 | Sony Electronics Inc. | A method of and apparatus for partitioning, scaling and displaying video and/or graphics across several display devices |
US6304914B1 (en) | 1998-09-22 | 2001-10-16 | Microsoft Corporation | Method and apparatus for pre-compression packaging |
US6407994B1 (en) * | 1998-12-01 | 2002-06-18 | Alcatel Usa Sourcing, L.P. | System and method for bundling messages for transmission in a telecommunications network |
US6463070B1 (en) * | 1999-08-27 | 2002-10-08 | Tachyon, Inc. | System and method for clock correlated data flow in a multi-processor communication system |
GB2355161B (en) * | 1999-10-05 | 2001-09-12 | 3Com Corp | Network device incorporating selective compression of stored data packets |
US7249155B1 (en) | 2000-02-09 | 2007-07-24 | International Business Machines Corporation | Method for processing a request to multiple instances of a server program |
US6618397B1 (en) * | 2000-10-05 | 2003-09-09 | Provisionpoint Communications, Llc. | Group packet encapsulation and compression system and method |
WO2002029991A1 (en) * | 2000-10-05 | 2002-04-11 | Provisionpoint Communications, Llc | Group packet encapsulation and compression system and method |
US20020095513A1 (en) * | 2001-01-16 | 2002-07-18 | Freddie Lin | Multilayer lossless data compression across a network |
JP3902762B2 (ja) * | 2001-03-29 | 2007-04-11 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 信号を伝送するためのデータの減少されたデータストリーム |
US20030009583A1 (en) * | 2001-05-02 | 2003-01-09 | Mtel Limited | Protocol for accelerating messages in a wireless communications environment |
US20020196743A1 (en) * | 2001-06-20 | 2002-12-26 | Sebastian Thalanany | Apparatus and method for enhancing performance in a packet data system |
US6961011B2 (en) * | 2001-08-27 | 2005-11-01 | Freescale Semiconductor, Inc. | Data compression system |
US7245639B2 (en) * | 2002-03-01 | 2007-07-17 | Nokia Corporation | Compression scheme for IP mobile user |
WO2005053170A2 (en) * | 2003-11-24 | 2005-06-09 | Interdigital Technology Corporation | Method and apparatus for compiling a protocol data unit |
KR100739509B1 (ko) * | 2004-07-30 | 2007-07-13 | 삼성전자주식회사 | 다중 채널 구조 무선 통신 시스템에서 헤더 정보 송수신장치 및 방법 |
US20070035668A1 (en) * | 2005-08-11 | 2007-02-15 | Sony Corporation | Method of routing an audio/video signal from a television's internal tuner to a remote device |
CN101599986B (zh) * | 2008-06-02 | 2012-08-08 | 宏碁股份有限公司 | 加速文件传输速度的方法及计算机系统 |
US20200259896A1 (en) * | 2019-02-13 | 2020-08-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Industrial Automation with 5G and Beyond |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8526620D0 (en) * | 1985-10-29 | 1985-12-04 | British Telecomm | Communications network |
JP2535615B2 (ja) * | 1989-08-14 | 1996-09-18 | 株式会社東芝 | デ―タ同期伝送方式 |
AU624274B2 (en) * | 1989-11-20 | 1992-06-04 | Digital Equipment Corporation | Data format for packets of information |
US5121383A (en) * | 1990-11-16 | 1992-06-09 | Bell Communications Research, Inc. | Duration limited statistical multiplexing in packet networks |
US5307413A (en) * | 1991-07-19 | 1994-04-26 | Process Software Corporation | Method and apparatus for adding data compression and other services in a computer network |
FR2687259B1 (fr) * | 1992-02-11 | 1994-05-06 | Ouest Standard Telematique Sa | Procede de compression de donnees pour systeme de transmission par unites de donnees de protocole, procede de decompression et dispositif correspondant. |
US5414812A (en) * | 1992-03-27 | 1995-05-09 | International Business Machines Corporation | System for using object-oriented hierarchical representation to implement a configuration database for a layered computer network communications subsystem |
US5459722A (en) * | 1994-06-30 | 1995-10-17 | At&T Ipm Corp. | Asynchronous transfer mode (ATM) transport of voice-band signals |
-
1994
- 1994-12-29 ES ES95906282T patent/ES2199980T3/es not_active Expired - Lifetime
- 1994-12-29 EP EP02023518A patent/EP1280279B1/en not_active Expired - Lifetime
- 1994-12-29 CN CN94194872A patent/CN1097933C/zh not_active Expired - Lifetime
- 1994-12-29 AT AT95906282T patent/ATE242570T1/de not_active IP Right Cessation
- 1994-12-29 ES ES02023518T patent/ES2262743T3/es not_active Expired - Lifetime
- 1994-12-29 CA CA002180345A patent/CA2180345C/en not_active Expired - Lifetime
- 1994-12-29 DE DE69432798T patent/DE69432798T2/de not_active Expired - Lifetime
- 1994-12-29 DE DE69434727.2T patent/DE69434727C5/de not_active Expired - Lifetime
- 1994-12-29 EP EP95906282A patent/EP0740877B1/en not_active Expired - Lifetime
- 1994-12-29 AU AU14543/95A patent/AU693844B2/en not_active Expired
- 1994-12-29 HU HU9601980A patent/HU219934B/hu unknown
- 1994-12-29 AT AT02023518T patent/ATE325469T1/de active
- 1994-12-29 CZ CZ962085A patent/CZ285088B6/cs not_active IP Right Cessation
- 1994-12-29 WO PCT/EP1994/004342 patent/WO1995020285A1/en active IP Right Grant
- 1994-12-29 JP JP7519310A patent/JP2841247B2/ja not_active Expired - Lifetime
-
1995
- 1995-01-05 US US08/368,986 patent/US5774467A/en not_active Expired - Lifetime
-
1996
- 1996-07-19 NO NO19963023A patent/NO318121B1/no not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN1142300A (zh) | 1997-02-05 |
CA2180345A1 (en) | 1995-07-27 |
ES2262743T3 (es) | 2006-12-01 |
US5774467A (en) | 1998-06-30 |
NO963023L (no) | 1996-07-19 |
DE69434727D1 (de) | 2006-06-08 |
EP1280279B1 (en) | 2006-05-03 |
WO1995020285A1 (en) | 1995-07-27 |
ES2199980T3 (es) | 2004-03-01 |
ATE325469T1 (de) | 2006-06-15 |
JPH09501810A (ja) | 1997-02-18 |
CZ285088B6 (cs) | 1999-05-12 |
CN1097933C (zh) | 2003-01-01 |
EP0740877B1 (en) | 2003-06-04 |
DE69434727C5 (de) | 2021-06-02 |
DE69432798D1 (de) | 2003-07-10 |
AU1454395A (en) | 1995-08-08 |
AU693844B2 (en) | 1998-07-09 |
HU9601980D0 (en) | 1996-09-30 |
ATE242570T1 (de) | 2003-06-15 |
CA2180345C (en) | 1999-09-21 |
EP1280279A3 (en) | 2003-09-24 |
EP0740877A1 (en) | 1996-11-06 |
JP2841247B2 (ja) | 1998-12-24 |
HUT75822A (en) | 1997-05-28 |
NO963023D0 (no) | 1996-07-19 |
DE69432798T2 (de) | 2004-05-06 |
EP1280279A2 (en) | 2003-01-29 |
HU219934B (hu) | 2001-09-28 |
DE69434727T2 (de) | 2006-11-23 |
CZ208596A3 (cs) | 1998-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NO318121B1 (no) | Fremgangsmate og anordning for a omdanne en serie datapakker med hjelp av datakomprimering | |
US5481544A (en) | Multi-channel broadband adaptation processing | |
US7386008B2 (en) | Method and apparatus for converting data packets between a higher bandwidth network and a lower bandwidth network having multiple channels | |
CN101414969B (zh) | 电路仿真业务方法以及实现该方法的电信系统 | |
JP3972038B2 (ja) | データ通信用セル・ヘッダの圧縮 | |
WO2000020876A1 (en) | Communication network | |
US5606552A (en) | Broadband adaptation processing | |
JP3342649B2 (ja) | 帯域幅削減atmネットワーク及びその方法 | |
JP2836606B2 (ja) | Atmセル転送装置 | |
KR100760259B1 (ko) | Mpeg-2 전송 스트림 패킷으로 분할 전송된 다중프로토콜 캡슐화 패킷의 재조합 장치 및 그 방법 | |
US8750330B2 (en) | Methods and apparatuses for data compression | |
KR100566681B1 (ko) | Atm재조립회로및방법 | |
JP3216612B2 (ja) | Atm通信装置及びatm通信装置のセル分解方法 | |
NL9400100A (nl) | Werkwijze en inrichting voor het door middel van datacompressie omvormen van een reeks van datapakketten. | |
JPH11112512A (ja) | 多チャネル受信装置、監視システムおよびリアセンブル方法 | |
JP2002335284A (ja) | ショートセル分離装置 | |
JPH10178436A (ja) | 多重化する方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MK1K | Patent expired |