SE506955C2 - ATM-flödesstyrning - Google Patents

ATM-flödesstyrning

Info

Publication number
SE506955C2
SE506955C2 SE9502468A SE9502468A SE506955C2 SE 506955 C2 SE506955 C2 SE 506955C2 SE 9502468 A SE9502468 A SE 9502468A SE 9502468 A SE9502468 A SE 9502468A SE 506955 C2 SE506955 C2 SE 506955C2
Authority
SE
Sweden
Prior art keywords
queue
data
data segment
source
transmitted
Prior art date
Application number
SE9502468A
Other languages
English (en)
Other versions
SE9502468D0 (sv
SE9502468L (sv
Inventor
Olle Martinsson
Original Assignee
Ericsson Telefon Ab L M
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Priority to SE9502468A priority Critical patent/SE506955C2/sv
Publication of SE9502468D0 publication Critical patent/SE9502468D0/sv
Priority to US08/581,325 priority patent/US5729529A/en
Priority to AU63749/96A priority patent/AU6374996A/en
Priority to PCT/SE1996/000907 priority patent/WO1997002687A1/en
Priority to JP9505076A priority patent/JPH11508749A/ja
Priority to DE69635379T priority patent/DE69635379T2/de
Priority to CN96195299A priority patent/CN1097913C/zh
Priority to CA002226009A priority patent/CA2226009A1/en
Priority to PCT/SE1996/000887 priority patent/WO1997002686A1/en
Priority to AU63740/96A priority patent/AU707294B2/en
Priority to EP96923149A priority patent/EP0873624B1/en
Publication of SE9502468L publication Critical patent/SE9502468L/sv
Priority to NO976149A priority patent/NO976149L/no
Priority to US09/002,773 priority patent/US6594263B1/en
Publication of SE506955C2 publication Critical patent/SE506955C2/sv
Priority to HK99100602A priority patent/HK1015584A1/xx

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/24Time-division multiplex systems in which the allocation is indicated by an address the different channels being transmitted sequentially
    • H04J3/247ATM or packet multiplexing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • H04L2007/045Fill bit or bits, idle words
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5614User Network Interface
    • H04L2012/5616Terminal equipment, e.g. codecs, synch.
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • H04L2012/5635Backpressure, e.g. for ABR
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5636Monitoring or policing, e.g. compliance with allocated rate, corrective actions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5672Multiplexing, e.g. coding, scrambling
    • H04L2012/5674Synchronisation, timing recovery or alignment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/568Load balancing, smoothing or shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Description

25 35 506 955 BESKRIVNING AV UPPFINNINGEN Ett syfte med uppfinningen är att anvisa förfaranden och anordningar för hantering av överföring, från en betraktad punkt såsom en station eller nod, av celler, som tillhör olika logiska förbindelser, där alla celler sänds med förutbestämda hastigheter, och hanteringsförfa- randena och -anordningama endast kräver enkel hårdvara med effektiv användning av minnes- områden.
I synnerhet är ett syfte med uppfinningen att anvisa förfaranden och anordningar för hantering av överföring av celler från en station eller nod, så att förutbestämda hastigheter, vilka är fastställdaför celler, som tillhör olika logiska förbindelser, inte överskrids, och så att celler sänds samtidigt från stationen med högsta möjliga totala hastighet.
Ett ytterligare syfte med uppfinningen är speciellt att anvisa förfaranden och anordning- ar för hantering av överföring av celler från en station eller nod, där under överföringen av celler, när summan av förutbestämda hastigheter, vilka är fastställda för celler, som tillhör olika logiska förbindelser, överskrider den totala överföringshastigheten hos stationen eller noden eller, uttryckt på likvärdigt sätt, överskrider den totala överföringsbandbredden, alla förutbestämda hastigheter minskas på rättvist sätt, så att ingen förbindelse kommer att gynnas mer än andra, dvs så att ingen förbindelse blockeras, när andra inte blockeras, och speciellt så att alla förbindelser, vilka har samma förutbestämda hastigheter, hanteras likadant, så att ingen av dem ges mer överföringstid än någon annan.
Ytterligare ett speciellt syfte med uppfinningen är att anvisa förfaranden och anordning- ar för hantering av överföring av celler från en punkt eller en station, där celler, som tillhör olika logiska förbindelser eller celler från olika källor anländer till stationen med olika hastig- heter och under vissa tidsperioder rent av inga celler alls ankommer, som tillhör vissa förbin- delser, varvid överföringskapacitet tilldelas förbindelsema baserat på deras för ögonblicket gällande behov, så att under de tidsperioder, då celler finns färdiga för sändning, tilldelas en förbindelse sin andel av den totala överföringsbandbredden baserat på förbindelsens förutbe- stämda hastighet och i andra fall, när det inte finns några celler, denna bandbredd används för överföring av celler från andra förbindelser, där överföring för förbindelsen startas snabbt, efter det att den har fått celler färdiga för överföring.
Ett annat syfte med uppfinningen är att anvisa förfaranden och anordningar för överfö- ring av celler frän en station eller nod, där överföringshastighetema för celler, som tillhör olika logiska förbindelser, kan ställas in med hög upplösning och för varje förbindelse obero- ende av alla andra förbindelser.
Ytterligare ett syfte med uppfinningen är att anvisa förfaranden och anordningar för överföring av celler från en station eller nod, där överföringshastigheten för celler, som ftillhör en logisk förbindelse, kan förändras under överföringen av cellema. Ännu ett syfte med uppfinningen är att anvisa förfaranden och anordningar för överfö- ring av celler från en station eller nod, där den totala behandlingstiden för hantering av över- föringen av celler, som tillhör olika logiska förbindelser, i huvudsak inte kommer att öka, när 10 15 20 25 35 506 955 3 _ antalet upprättade logiska förbindelser ökar, och där den mängd ytterliga hårdvara, som be- hövs för förfarandena och i anordningarna, endast är måttlig, när förfarandena och anord- ningama .utvidgas för hantering av fler logiska förbindelser än förut.
Ett annat syfte med uppfinningen är att anvisa förfaranden och anordningar för hante- ring av överföring frän en station eller nod av celler som tillhör olika logiska förbindelser, varvid för dessa förfaranden och anordningar för varje förbindelse alla celler, som tillhör denna förbindelse, sänds med en hastighet, vilken är förutbestämd för denna förbindelse, så att hanteringsförfarandena och -anordningama åstadkommer ett jämnt cellflöde ut frän statio- nen eller noden.
Dessa syften åstadkoms av uppfinningen, vars kännetecken framgår av vidhängande krav.
Sålunda sänds i en station eller terminal för ett nät dataceller från stationen eller termi- nalen och cellerna är anordnade att tillhöra olika logiska förbindelser, vilka härleds ur olika logiska eller fysiska källor. Varje källa och således varje förbindelse antas fordra en viss överföringshastighet, vilken inte får överskridas och vilken kan ändras. Sedan anordnas för var och en av ett antal successiva tidluckor en kö, varvid den första eller gällande kön är den, som anges av en pekare. Tidluckeköema innefattar i ordningsföljd identifierare för de förbin- delser, för vilka en datacell skall överföras, eller också kan de i vissa fall även innehålla själva cellerna. Den första platsen i en sådan kö anger den förbindelse, för vilken en datacell skall sändas med högsta prioritet. De följande platsema anger förbindelser, som har lägre prioritet i avtagande ordning. Den första eller nästa datacell hos den logiska förbindelse, vars identifierare är den första i tidluckekön, vilken anges av pekaren, sänds sedan från stationen och en identiñerare för just denna förbindelse adderas till den kö, vilken har ett visst avstånd till den betraktade kön i köemas ordningsföljd, där detta avstånd är beräknat ur den överfö- ringshastighet, vilken gäller för denna förbindelse, som den överförda cellen tillhör. Därefter överförs den återstående delen av den första kön till nästa kö och placeras framför alla objekt i den nästa kön. Den första kön blir då tom och pekaren stegas upp till att peka på nästa kö.
Allmänt sänds datasegment eller celler från en station, där varje datasegment företrädes- vis har samma längd. Data antas anlända till stationen från olika logiska och/eller fysiska källor eller också antas de tillhöra någon logisk förbindelse. Varje källa antas erfordra eller ha blivit tilldelad en viss överföringshastighet för de datasegment, som härstammar från data, vilka anländer från denna källa, varvid denna överföringshastighet inte får överskridas för dess datasegment. Datasegmenten sänds från stationen ett i taget vid efter varandra följande tidpunkter och i synnerhet vid periodiskt återkommande tidpunkter.
För varje följande tidpunkt sett ifrån en betraktad aktuell tidpunkt finns en logisk eller fysisk kö anordnad i speciella, för detta ändamål anordnade organ, där den första kön är nästa kö eller den aktuella kön betraktat från den aktuella tidpunkten, den andra kön är kön som kommer omedelbart efter den första etc. Varje kö innefattar i ordningsföljd identiñerare för de källor eller förbindelser, för vilka ett av deras datasegment skall sändas, eller också kan 10 15 20 25 35 506 955 4 den i stället innefatta själva datasegmenten eller deras adresser, när själva segmenten är lagra- de i något annat minnesorgan. Den första platsen i en sådan kö anger direkt eller indirekt, när den innefattar ett datasegment eller en adress till detta, den källa eller förbindelse, för vilken ett datasegment skall sändas med högsta prioritet, och följande högre platser anger källor med lägre prioritet i avtagande ordning. _ Ett första eller nästa datasegment från den källa, som anges på första plats i den första kön, eller det första datasegmentet i eller som anges först i den första kön, sänds och därefter överflyttas den återstående delen av den första kön, under det att den behåller sin inre ord- ningsföljd för köobjekten, till nästa kö, så att den då placeras framför alla de objekt, som eventuellt redan finns i denna nästa kö. Sedan tas den första kön bort och de återstående köema numreras om eller flyttas, så att nu kommer den kö som förut var den andra kön, dvs kön efter nästa kö, att bli den första kön, etc., medan köernas ordningsföljd bibehålls.
Köer anordnas företrädesvis för endast ett förutbestämt antal efter varandra följande tidpunkter och efter omnumrering eller förflyttning av de återstående köema läggs sedan en sista kö till mängden av köer, där denna sista kö âr tom och på cykliskt sätt motsvarar den borttagna förra första kön.
I Dessutom kan ett utgångsbuffertminne anordnas och när ett datasegment då skall sändas, placeras detta eller någon uppgift, som pekar på datasegmentet, i utgångsbufferten och sedan sänds datasegmentet fysiskt från stationen och under detta arbetssteg hämtas segmentet eller den uppgift, som anger detta, och tas bort från utgångsbufferten.
Det kan inträffa, att den första kön är tom, och då sänds inget datasegment. Uppenbar- ligen skulle ett datasegment då kunna sändas från nästa kö, men detta skulle bryta mot villko- ret, att de för kanalema inställda överföringshastighetema inte får överskridas, såsom kom- mer att framgå av det följande. I stället kan, när den första kön är tom, ett speciellt dataseg- ment eller en uppgift därom placeras i utgångsbufferten, varvid detta speciella datasegment har sådan uppbyggnad eller är av sådan typ, att det lätt kan kännas igen och inte kommer att sändas från stationen.
Sändning från stationen utförs företrädesvis periodiskt i likformigt fördelade och i lika långa fysiska tidluckor och utförs från de datasegment, som är lagrade i eller som anges i utgångsbufferten, i ordningsföljd med ett segment vid var och en av dessa periodiskt uppre- pade tidpunkter. När det speciella datasegmentet eller en angivelse därav är placerat vid nästa plats i utgångsbufferten, där ett datasegment eller en uppgift därom skulle ha varit lagrat, sänds inget datasegment vid motsvarande periodiskt återkommande tidpunkt. Detta kan också vara nödvändigt för säkerställande av att de inställda överföringshastighetema inte överskrids.
Omedelbart före eller efter steget med borttagande av den första kön eller efter det att en tom »sista kö har lagts till, utförs följande steg, som allmänt säkerställer flödesstymingen. Då tilläggs en identiñerare för samma datakälla eller ett nästa datasegment eller adressen till detta från samma datakälla, varifrån ett datasegment just sändes, till den kö, som har ett avstånd från den borttagna sett i köemas ordningsföljd bestämt av överföringshastigheten för den 10 15 20 506 955. 5 5 källa, som datasegmentet tillhör. Tillägget görs företrädesvis först i denna kö.
När en källa eller förbindelse, som tidigare inte hade någon egen identiñerare eller inte hade något av sina datasegment eller adresser till dessa i någon kö, blir aktiv, dvs när den får åtminstone ett datasegment, som skall sändas från stationen, tillâggs en identiñerare för denna källa eller förbindelse eller dess nästa datasegment eller en adress till detta till den kö, som följer efter den aktuella kön. Tillägget görs företrädesvis sist i denna kö.
En station för att utföra de beskrivna stegen innefattar då sändningsorgan för sändning av datasegmenten ett i taget och vid efter varandra följande tidpunkter, minnesorgan för lagring för varje följande tidpunkt utgående från en betraktad aktuell tidpunkt en logisk eller fysisk kö och lämpligt anordnade styr- eller processororgan. Minnesorganen kan då vara anordnade för lagring av endast ett förutbestâmt antal successiva köer och i synnerhet kan minnesorganen vara anordnade för lagring av köerna på cykliskt sätt och då är ett minnesfält anordnat för att lagra en pekare, som pekar på en aktuell kö bland de cykliskt anordnade köerna. En utgångsbuffert kan finnas för lagring av datasegment eller uppgifter rörande dessa före den faktiska sändningen från stationen. Ett speciellt datasegment eller en uppgift därom kan finnas lagrat i ett minnesfält, som är anordnat för detta, för att kopieras till utgångsbuf- ferten för att ange en tom plats, där så önskas, så att sändningsorganen, när detta speciella datasegment återfinns i utgångsbufferten, inte kommer att sända något datasegment från sta- tionen. Ett minnesfält kan finnas för varje källa eller förbindelse för att innehålla ett avstånds- värde eller -tal bestämt ur sändningshastigheten för källan.
När minnesorganen för köerna innefattar identifierare för källor, anordnas minnesorga- , nen for' lagring av källidentifierama företrädesvis som en länkad lista innefattande första 25 35 'I | minnesorgan, vilka innefattar tält för lagring av det första objekten i varje kö, andra minnes- organ, vilka innefattar fält för lagring av de sista objekten i varje kö, och tredje minnesorgan, vilka innefattar fält i ordningsföljd. Varje fält i de tredje minnesorganen har ett ordnings- följdsnummer och de är anordnade för lagring av de nästföljande objekten i köerna, så att ordningsföljdsnumret för ett fält anger objektet omedelbart före det i fältet lagrade objektet.
KORT FIGURBESKRIVNING Uppfinningen skall nu förklaras i detalj genom beskrivning av en speciell icke-begrän- sande utföringsform med hänvisning till de medföljande ritningarna, i vilka Figur I är en schematisk vy av ett nät, Figur 2 är ett blockschema över en terminal, Figur 3 är ett flödesschema, som visar de av mottagningsfunktionen utförda funktions- stegen, Figur 4 visar principen för cellflödesstyming, Figur 5 visar logiska köer och deras inbördes sammanhang, Figur 6 är ett flödesschema, som visar förfaranden för modifiering av flödesstymingskö- er, Figur 7 är ett flödesschema, som visar i en sändningsfunktion utförda förfaranden, 10 15 20 25 35 506 955 6 Figur 8 och 9 visar ett exempel på flödesstymingsprocessen, Figur 10 schematiskt visar ett FIFO-minne, som används för sändning i exemplet på flödesstyming i figur 8 och 9, Figur 11 visar ett exempel på ett tidsdiagram för fyllnadsnivån hos FIFO-minnet, Figur 12 visar för exemplet i ñgur ll ett tidsdiagram för verksamheten vid sändning.
BESKRIVNING Av FÖREDRAGEN UrFömNGsFoRM Uppñnningen avses företrädesvis att tillämpas i ett ATM-nät, i vilket digitala eller digitaliserade data överförs. En normal ATM-cell innefattar 53 oktetter eller bytes med digita- la data. Ett datapaket kan sträcka sig över flera efter varandra följande celler, men här nedan betraktas endast individuella celler. Ett samtal, meddelande eller en digital datafil kan allmänt överföras i eller genom nätet som ett datapaket och kommer alltid att innefatta flera dataceller och ofta ett mycket stort antal sådana celler. ' I ñgur 1 visas schematiskt ett nät l av ATM-typ, som är avsett för överföring av data- paket från en ingångsterminal 3 till en utgångs- eller destinationsterminal 5. Terminalema 3, 5 kan allmänt vara både sändare och mottagare av datapaket och de kan finnas i olika antal, medan i figuren endast en sändningsriktning och en ingångsterminal och en utgångsterminal visas. Nätet innefattar allmänt en mängd mellanliggande kopplingsnoder eller växlar, varav en visas vid 7. Växelenheterna 7 är sålunda förbundna med andra liknande, ej visade kopplings- noder.
När en terminalstation 3 begär att få börja sända datapaket in i nätet till destinationssta- tionen 5, kommer den att sända någon signal eller något meddelande, som ger information om detta, till någon kopplingsnod inuti nätet. Detta meddelande innefattar också information, "som begär en speciñcerad överförlngshastighet för de celler, som skall sändas. Sedan kommer en logisk signalväg genom nätet att upprättas genom utväxling av olika meddelanden eller stymingsinformation mellan växelenhetema såsom 7 inuti nätet 1. När en förbindelseväg har upprättats, kan ett meddelande eller en signal sändas från nätet 1 till den ingångsterminalsta- tion 3, som har begärt förbindelsen, om att förbindelsen nu är upprättad och är färdig att användas för överföring av datapaket från ingångsstationen 3.
Ingångs- eller källterrninalen 3 kan själv motta meddelanden eller celler eller dylikt från olika källor, t ex från en annan typ av nät 9 genom en lämplig brygga ll och från ett lokalt datornät 13 via en brygga 15 förbunden med en kommunikationsdator eller -server 17 i det lokala nätet 13, som också kan innefatta olika persondatorer eller arbetsstationer 19, en hu- vudserver 20, etc. En arbetsstation 21 med hög hastighet kan också vara förbunden med ingångsterminalen 3 via ett lämpligt anslutningskort eller -enhet och en brygga 22. Ingångster- minalen 3 kan själv utgöra en integrerad del av en kommunikationsanordning, t ex i form av _,ett tillsatskort insatt i en dedicerad kommunikationsserver.
I ingångsterminalen 3 måste speciella förfaranden finnas för sändning av celler från olika logiska förbindelser med de hastigheter, som har ställts in, när förbindelsema upprätta- des. Naturligtvis önskar en källa för data som skall sändas normalt, att data överförs till 10 20 25 35 5 0 6 i 9 5 5 7 _~ destinationen så snabbt som möjligt. Emellertid kan kostnadema vara olika för olika överfö- ringshastigheter genom ett nät. Dessutom kanske inte kretsama och/eller datalagringsorganen vid destinationen har kapacitet att ta emot data vid en för hög hastighet. Sålunda ñnns ett behov av en mekanism för sändning av data i nätet med en maximal hastighet, där denna hastighet tillåts vara olika för olika behov och källor och sålunda för olika logiska förbindel- ser, som typiskt ñnns i nät av det här diskuterade slaget. Detta kan sedan resa ytterligare ett problem, när en datakälla begär att få sina data överförda med en konstant bithastighet genom nätet. Detta kan inträffa för t ex källor, som sänder ut realtidsdata såsom videodata för rörliga bilder. En lösning-på detta problem skulle kunna vara att tilldela en sådan källa en maximal datahastighet, som är lika med eller något högre än den hastighet, som skulle erfordras av källan, om en direkt dataväg fanns utan några kopplingsnoder och som inte störs av annan trafik från källan fram till destinationen. En annan lösning kan vara att införa idén, att för vissa kanaler går informationen direkt genom ett nät, särskilt så att de till en sådan kanal hörande cellema alltid sänds direkt från stationema eller noden. Detta kommer att öka kom- plexiteten hos systemet.
Under sändningen av celler från ingångsterminalen 3 betraktas tiden som uppdelad i företrädesvis lika långa tidluckor TS och under varje sådan tidlucka sänds antingen en cell eller ingen cell alls ut från terminalen. Ett typiskt avstånd mellan startema för två efter var- andra följande tidluckor skall då motsvara storleksordningen för den maximala utsändnings- hastigheten för den betraktade utgångslänken, vilket för en överföringshastighet av ungefär 10 megabit/sekund ger 42,4 mikrosekunder. Avståndet är också fóljdalttligen åtminstone 2,73 milcrosekunder för en länk av 155 megabit/sekund.
En maximal överföringshastighet definieras för varje logisk förbindelse, vars inverterade värde motsvarar ett minsta avstånd mellan tidluckor, MDTS. Detta minsta avstånd kan ut- tryckas i multiplar av det minsta möjliga tidsavståndet mellan efter varandra följande celler i ett betraktat nät. Om överföringshastigheten antas vara 10 megabit/sekund med ett minsta avstånd mellan två efter varandra följande tidluckor av 42,4 ps, motsvarar ett MTDS lika med l den maximala utmatningshastigheten, dvs en celltid av 42,4 ps, vilket betyder att en cell, som hör till den betraktade logiska förbindelsen, skall som mest sändas i varenda tidluc- ka, dvs inga celler från andra köer kan då sändas. Ett MDTS = 2 motsvarar halva den maxi- mala utmatningshastigheten, dvs 5 megabit/sekund, ett MDTS = 3 utgör en tredjedel av den maximala utsändningshastigheten, dvs 3,3 megabit/sekund etc.
Samma bearbetning som i ingångsterminalen 3 kan också utföras i en inre nod 7 hos nätet l, eftersom en ny flödesstyming av cellhastighetema kan behövas beroende på obalanse- rade egenskaper hos ATM-nätet, i vilket vissa noder ibland kan vara inaktiva, vissa celler kan _,gå förlorade, inre buffring med olika kapacitet hos nodema kan förekomma, etc. Annars kan K' vissa logiska förbindelser tillfälligt få sina celler överförda med en för hög hastighet genom nätet.
De bearbetningsfórfaranden i en ingångsterminal 3 eller möjligen i en inre nod 7, vilka 10 20 25 35 506 955 8 här betraktas, utgörs av en mottagningsfunktion 201, se figur 2, med administrering av med- delanden, filer, paket respektive celler, som ankommer till terminalen eller noden, med hjälp av en segmentering eller uppdelning av anlända data i lämpliga datasegment såsom ATM- celler. Mottagningsfunktionen 201 hanterar lagring av cellema i cellköer per logisk förbindel- se, varvid var och en av förbindelsema har en förbindelseidentifierare CEI, så att var och en av dessa identiñerare också definierar en kö av celler tillhörande en betraktad förbindelse.
Vidare finns i ingångsterminalen eller noden ett flödesstymingsförfarande eller en flödesstyr- ningsmekanism 203, vars ändamål är att informera sändningsfunktionen eller cellgeneratom 205 om vilka celler som skall sändas, så att cellema vidarebefordras med de förutbestämda hastigheterna. Detta kan utföras genom att förse sändningsfunktionen 205 med en lista med identifierare CEI för utgångsförbindelsema. Sålunda behöver inte allmänt flödesstymingsför- farandet 203 exakt kunna definiera den cell, som skall sändas, utan behöver endast ge könum- ren eller likvärdigt de logiska förbindelsema i korrekt ordningsföljd, så att sändningsfunktio- nen i detta fall tar nästa förbindelsenummer från listan och sänder nästa cell i den kö, som är anordnad för denna förbindelse. Nedan kommer också ett förfarande att beskrivas i detalj för utgångshanteringen. h Det grundläggande förfarande, som utförs i mottagningsfunktionen 201, åskådliggörs av flödesschemat i figur 3, varvid minnesorganisationen för denna funktion visas med hjälp av fält eller block nedtill i figur 2.
Sålunda hanterar mottagningsfunktionen 201 segmentering av data, som ankommer till ingången hos terminalen eller noden och lagring av celler erhållna ur dessa data genom lag- ring av 'cellema i köer anordnade för de logiska förbindelser, som föreligger för tillfället.
Sålunda inväntas, se figur 3, i ett block 301, att ett datapaket eller en datacell skall anlända till ett ingångsregister 207 hos terminalen eller noden, vilkens/vilkas cell eller celler skall lagras i mottagningsregistren eller ingångsbuffertema 209, se figur 2. Dessa buffertar 209 finns sålunda upprättade en för varje för tillfället aktiv eller öppen logisk förbindelse och kallas också CEI-köer, lämpligen numrerade 1, 2, 3, eller möjligen med någon annan specifik identifikation. För varje sådan CEI-kö finns register eller minnesceller, som innehål- ler nödvändiga data för administrering av buffertarna, vilka företrädesvis är cykliskt organise- rade. Sålunda är förbindelsenumret för celler i bufferten lagrat i ett register 211, hastighetsse- lektom MDTS för förbindelsen är lagrad i ett register 213, en pekare på den första av de i bufferten lagrade cellema är lagrad i ett fält 215 och en pekare på nästa plats i bufferten, där en ny cell kan lagras är lagrad i ett register 217. I ett fält 221 är en indikator för aktivt till- stånd lagrad, som visar, om kön är aktiv, dvs om kön deltar i flödesstymingsförfarandet. De celler, som är lagrade i en buffert 209 och ännu inte har sänts från stationen eller noden och _,en cell, som fysiskt sänds av sändningsfunktionen 205, tas enligt en utföringsform alltid bort i vid detta tillfälle eller i ett föredraget fall tas en sådan cell bort tidigare från sin CEI-kö 209, såsom skall beskrivas nedan.
När det då avgörs i blocket 301, att det finns information att vidarebefordra från statio- 5 0 6_ 9 5 5 - 9 ä. nen, såsom att ett nytt paket eller en ny cell har anlänt, bearbetas den nya informationen i ett block 303 och informationen tilldelas ett logiskt förbindelsenummer. Ett logiskt förbindelse- nummer eller likvärdiga data, som pekar på eller som anger ett logiskt förbindelsenummer, kan utvinnas ur eller hämtas från paketet eller cellen, t ex från rubrikdelen ("header") av en s ATM-cell allt efter det protokoll som används. Sedan kan också vissa bitar i rubrikdelen eller också hela rubrikdelen av ett paket eller en cell tas bort, om så erfordras. Antalet ATM-celler som skapas av mottagna data beräknas också. Det logiska förbindelsenumret för ankomna data kan också bestämmas på andra sätt, tex med hjälp av hårdvarusignaler.
Sedan avgörs det i ett block 305, om ingångsbufferten för den logiska förbindelsen för io informationen är aktiv, dvs om den deltar i flödesstyrningsförfarandet och sålunda finns i en TS-kö, vilket skall besluivas nedan. Det görs genom att testa indikatorn för aktivt tillstånd, som är lagrad i minnesområdet 221. Om denna är inaktiv, sänds en signal i ett block 307 till flödesstyrningsfunktionen 203, som meddelar, att den betraktade kön nu åter har blivit aktiv och tillståndsindikatorn i området 221 ändras också för att utvisa, att kön är aktiv. I ett block is 309 lagras sedan en cell i sin tillhörande buffert 209 på den plats, som anges av slutplatspeka- ren, vilken är lagrad i fältet 217, och slutplatspekaren ökas sedan ett steg cykliskt. Sedan avgörs det i ett block 311, om det ñnns fler celler att lagra. Om så inte är fallet, utförs start- blocket 301 om igen. Om det emellertid finns ytterligare en cell att lagra, utförs ett block 313, i vilket det avgörs, om det finns plats i den betraktade bufferten för ytterligare en cell. zo Detta utförs genom jämförelse av de i fälten 215 respektive 217 lagrade start- och slutplatspe- kama. Om dessa är lika, är bufferten full och då kan förfarandet vänta, tills det finns en tom plats i bufferten, genom att gång på gång återvända till detta block 313. Som ett altemativ kan cellen förkastas, såsom antyds av det med streckade linjer ritade blocket 315.
De arbetssteg, som utförs av flödesstyrningsmekanismen 203, visas i figur 4 och denna zs utgör det kritiska steget i den betraktade utmatningshanteringen, så att en kö med dataceller åstadkoms, vilka skall vidarebefordras på sådant sätt, att de tidigare beställda eller påbjudna bithastighetema för varje logisk förbindelse uppnås eller åtminstone i vart fall inte överskrids.
Såsom visas i bilden i figur 4, finns ett antal köer 223, benämnda TS-köer, av vilka varje kö är förknippad med en betraktad successiv tidlucka TS, som fysiskt kommer att inträffa vid :w någon tidpunkt efter den betraktade nuvarande tidpunkten. Det finns ett ändligt antal TS-köer 223, se också figur 2, och de kan då anordnas cykliskt och i exemplet i figur 4 kan antas, att det finns 256 köer. En i ett minnesfält 225 lagrad TS-pekare pekar på nästa för tillfället gäl- lande eller betraktade TS-tidluckekö. Då förknippas från en betraktad starttidpunkt, dvs den på vilken TS-pekaren i fältet 225 pekar, var och en av de nästa följande tidluckoma med en as motsvarande TS-kö 223, varvid då sådana köer finns anordnade för de nästa 255 efter var- [andra följande tidluckoma. En TS-kö 223 innefattar en lista av CEI-nummer, dvs identifika- J tionsnummer för ingångsköer 209, och den kan antingen vara tom eller innefatta ett eller fler CEI-nummer. CEI-numren i TS-köerna eller TS-listoma 223 skiljer sig alla från varandra, dvs varje CEI-nummer kan endast förekomma en gång i varje CEI-kö. CEI-numren i en TS- 10 20 25 35 5 Û 6 9 5 5 10 _ kö eller TS-lista är anordnade i ordningsföljd, så att det första CEI-numret i en lista pekar på den ingångsbuffert, vilken vid denna tidlucka är den nästa i tur stående bufferten eller har högst prioritet för sändning från stationen.
CEI-numren behöver inte införas fysiskt i en separat tidluckekö eller tidluckelista 223 för varje logisk förbindelse, såsom antyds av bilden i figur 4, utan de kan företrädesvis för- bindas med en logisk TS-kö, som endast föreligger som numret för denna via en länkad lista, såsom skall nedan beskrivas. I »det senare fallet finns då för varje logisk TS-kö en startköpe- kare och en slutköpekare, som pekar på det första CEI-numret respektive det sista CEI-num- ret i den betraktade TS-kön.
Det fysiska antalet TS-köer, som behöver anordnas, beror i grunden på förhållandet mellan den minsta flödeshastighet, vilken kan tilldelas en förbindelse, och stationens totala flödeshastighet och i det här beskrivna exemplet med en total sändningshastighet av 10 mega- bit/sekund och standardkanaler på multiplar av 64 kilobit/sekund kan ett typiskt värde vara t ex 256 TS-köer. Detta betyder, att i varje ögonblick har alla tidluckor TS, som har en plats i tiden av 256 tidluckor och senare efter den föreliggande aktuella tidluckan, tomma köer, dvs ej existerande köer.
Numret på en CBI-kö 209, vilken vid föreliggande tidpunkt inte innehåller någon cell för sändning, dvs vilken inte är aktiv, finns normalt inte i någon TS-kö 223. Identifikations- numret för en CEI-kö, vilken först inte har någonting att sända och vilken sedan får celler för sändning, skrivs i ett visst ögonblick in i en av TS-köema 223, såsom skall nedan beskrivas, och meddelas av mottagningsfunktionen 201 i blocket 319, såsom ovan har beskrivits.
Förfarandet, när flödesstyrningsmaskinen 203 antas finna en CEI-kö, varifrån nästa cell skall sändas, innefattar: 1. Den i fältet 225 lagrade TS-pekaren ökas med ett steg, normalt lika med 1. 2. Om den TS-kö 223, på vilken pekaren 225 nu pekar, är tom, kommer ingen cell att sändas vid denna tidlucka TS. Såsom anges av den pil, som pekar på hinken 427 i figur 4, meddelas på något sätt till sändningsfunktionen 205, att ingen cell skall sändas under denna tidlucka. 3. Om den TS-kö 223, vilken utpekas av den i registret 225 lagrade pekaren, inte är tom, flyttas den första, dvs startcellen eller nästa cell i den första CEI-kö, som är förtecknad i denna TS-kö 223, till cellsändningsfunktionen 205, såsom anges av pilen 428 och blocket 205 i figur 4. Den första cellen är den, som utpekas av den i fältet 215 lagrade pekaren fór denna CEI-kö. I en utföringsform, som skall beskrivas i detalj nedan, flyttas den betraktade cellen till en sändningskö i sändningsfunktionen, om såndningskön inte är full. 4. Resten av denna TS-kö 223, om kön innehöll mer än ett CBI-nummer, skjuts, såsom anges av pilen 429, framför TS-kön 223 för nästa följande tidlucka, dvs den TS-kö, som har i numret (TSP + l), där TSP är det aktuella värdet hos den i fältet 225. lagrade tidluckepeka- ren. Den aktuella TS-kön 223 blir då tom. 5. Cellsändningsfunktionen 205 sänder i det enklaste fallet direkt, med början vid nästa 5 0 6 9 5 5 11 i _. ' fysiska tidlucka, som är tillgänglig på stationens utgångssida, den cell, som har erhållits på ovan beskrivet sätt från flödesstymingsfunktionen 203. Dessutom skjuts CEI-numret för denna cell, såsom anges av pilen 431, framför TS-kön fór tidluckan med platsnumret (TSP + MDTS) i tiden, där TSP är platssnumret i tiden för den aktuella betraktade TS-kön, såsom s detta ges av det aktuella värdet för TS-pekaren i fältet 225, och MDTS angivet i antal tidluc- kor, såsom ovan har definierats, är det minsta avståndet mellan tidluckor för denna CEI-kö och är lagrat i registret 213. _Om cellsändningsfunktionen 205 upptäcker, att kön 209 för denna CEI inte har någon cell att sända vid detta tillfälle, dvs att det är en tom kö, kommer ingenting eller åtminstone ingen användbar information att sändas i denna tidlucka och detta w CEI-nummer kommer inte att skrivas in tillbaka till någon senare TS-kö 223. Detta fall kan också eventuellt detekteras tidigare under det urval, som görs av flödesstymingsfunktionen 203 i den betraktade CEI-kö, varifrån en cell skall vidarebefordras. En signal kan då i'varje fall sändas till mottagningsfunktionen 201, som meddelar, att denna CEI-kö nu skall vara inaktiv, dvs att den i fältet 221 lagrade tillståndsindikatom för denna CEI-kö fóljdaktligen kan 1s- sättas till att utvisa ett inaktivt tillstånd.
När en cell blir färdig att sändas från en CEI-kö 209, såsom hanteras av mottagnings- funktionen 201, jämför blocket 307 i ñgur 3, och denna kö inte redan finns i någon TS-kö 223, läggs detta CEI-värde till den TS-kö 223, varifrån en cell står närmast i tur att sändas, dvs läggs till den TS-kö, som har nummer (TSP + 1), och i det föredragna fallet läggs det in :o efter eventuella andra CEI-könummer, som finns i denna TS-kö. Om denna TS-kö är tom, kommer den första cellen hos den aktiverade kön att sedan sändas i nästa tidlucka TS, vilket betyder, att sändningen frånen ny kö eller en kö, som har återgått till aktivt tillstånd, ome- delbart påbörjas.
Enligt beskrivningen ovan kommer ett CEI-nummer att skrivas tillbaka in i en senare :s TS-kö 223 också när den sista cellen, som för närvarande finns i CEI-paketkön 13, har sänts eller åtminstone har överförts för att hanteras av sändningsfunktionen 205. Detta CEI-nummer kommer i stället att tas bort från TS-köema, dvs inte skrivas tillbaka in nästa gång, när flö- desstymingsmaskinen 203 väljer ut detta CEI-nummer som det CEI-nummer varifrån en cell skall sändas, men naturligtvis endast i det fall, att ingen ny cell under tiden har införts i den ao betraktade CEI-kön 209, jämför blocken 317 och 319 i ñgur 3. Skälet till detta är att säker- ställa ett cellavstànd av åtminstone MDTS också när ett nytt paket, dvs en grupp celler, är färdiga för sändning alldeles efter det att den sista cellen hos det tidigare paketet har sänts.
Detta betyder, att när cellema i ett nytt paket blir färdiga för flödesstyming och sändning och CEI-värdet inte redan har skrivits in i eller hittats i någon TS-kö, det är möjligt att välja as tidigast möjliga tidlucka för sändning av den första cellen i paketet. Annars skulle det kunna i, inträffa, att en källa skulle kunna mata stationen med paket eller celler med en lämplig hastig- het, så att först alltid en cell, den enda cellen i kön sänds, att kön sedan beflnns vara tom och att det sedan omedelbart finns en ny cell att sända från kön och att denna cell av flödesstyr- ningsförfarandet överförs till nästa på tur tidlucka. 10 15 20 25 35 5 0 6 9 5 5 12 Detta betyder emellertid, att en tidlucka kommer att "förloras" varje gång, som ett CEI-identiñkationsnummer eller en CBI-kö 209 tas bort från TS-kösystemet. Denna effekt bör tas med i räkningen, när avståndet i tid mellan tidluckor definieras, dvs den totala flödesstyr- ningshastigheten ut från systemet.
TS-köema 223 behöver inte utgöras av fysiska listor eller minnen, såsom redan har antytts, utan de kan, eftersom varje CEI-könummer förekommer som mest en enda gång i TS-köema 223, ersättas av en länkad lista, såsom visas av den schematiska bilden i figur 5, vilken är ritad för det speciella .fallet med 256 TS-köer 223 och högst 1024 platser i varje TS- kö, så att den medger, att högst 1024 upprättade logiska förbindelser kan hanteras. Motsva- rande flödesschema för hanteringen av TS-köer visas i ñgur 6. TS-köema 223 i ñgur 2 och 4 ersätts här av en TS-kötabell 233, vilken för varje successiv tidlucka TS innefattar två pekare BTSP 235 och ETSP 237 och en TS-länktabell 239, som innefattar pekare NTEP, vilka pekar på andra platser i just denna tabell 239. Den första pekaren 235 BTSP (TS-köstartpekaren) i TS-tabellen 239 pekar på en plats i den andra tabellen, TS-länktabellen 239, varvid numret eller adressen till denna plats i denna andra tabell 239 då är CEI-numret för en kö 209, var- ifrån en cell först skall sändas för denna tidluckekö, varvid tidluckan eller tidluckekön utgör adressen till eller numret för det fält, som innehåller den betraktade pekaren BTSP i TS-köta- bellistan 233.
Då finns det på den plats i TS-länktabellen 239, på vilken den betraktade BTSP pekar, en pekare NTSEP, (pekare på nästa TS-köförekomst), som pekar på en annan plats i TS- länktabellen 239, varvid denna pekare också utvisar nästa CEI-kö 209, varifrån en cell skall ándas. Då innefattar på samma sätt den plats i TS-länktabellen 239, på vilken pekaren pekar, en liknande pekare, som pekar på en annan plats i samma tabell 239, varvid denna pekare också utvisar den nästa CBI-kö 209, varifrån en cell skall sändas. Detta upprepas på samma sätt, tills det på en plats i TS-länktabellen 239 finns en pekare, som är lika med pekaren ETSP (TS-köslutpekaren), i det andra fältet 237 för den betraktade tidluckan, varvid detta utgör den sista pekaren i denna TS-kö och en pekare på den sista CEI-kö, från vilken en cell skall En tom TS-kö anges, genom att den startpekaren BTSP ges något lätt identifierbart värde såsom det logiska värdet "nul". Värdet 0 kan också användas och pekar då på kön med tomma cellmönster. För en TS-kö, som innehåller endast ett CBI-nummer, är pekama BTSP och ETSP lika.
I ñgur 6 visas ett flödesschema för hantering av nästa tidluckekö 223, som utförs av flödesstymingsfunktionen 203, såsom visas i ñgur 4, speciellt såsom anges av pilama 428 och 429 och hinken 427, och under användning av den länkade listan i ñgur 5. Förfarandet startar .i ett block 601, i vilket den i fältet 225 lagrade tidluckepekaren TSP ökas med ett steg. Ett block 602 utförs sedan, i vilket det avkänns, om det är möjligt att sända cellen nu eller, såsom visas enligt ett annat föredraget altemativ, om det finns ledigt utrymme i en sändnings- buffert i sändningsfunktionen 205. Om detta inte är möjligt eller om det inte finns någon 10 15 20 25 35 13 506 255 plats, upprepas samma block 602, tills frågan hos blocket besvaras med ja, och sedan hämtas i ett block 603 pekaren BTSP i fältet 235 hos TS-kötabellen 233 och det testas, om värdet av denna är lika med "nul". Om detta inte är fallet, är föreliggande TS-kö inte tom och då lagras i ett block 605 pekarens värde, som är ett CEI-könummer, tillfälligt i ett lämpligt, ej visat register. Sedan avgörs i ett block 607, om den hämtade pekaren är lika med motsvarande slutpekare, dvs pekaren BTSP i fältet 237 i TS-kötabellen 233. Om så inte är fallet, betyder det, att den betraktade TS-kön innefattar mer än en post eller CEI-könummer, och då utförs en block 609, där den rankaael listan för nästa ndinckn angiven av värdet crsP + 1) nns tidluckepekaren modifieras. Först skrivs pekaren BTSP vid denna nästa tidlucka (TSP + 1) in i fältet NTSEP på den plats i TS-länktabellen 239, på vilken ETSP-pekaren vid den aktuella TSP pekar. Sedan placeras i BTSP-fältet 235 för nästa tidlucka såsom anges av värdet (TSP + 1) det länkade CEI-numret i NTSEP-fältet i länktabellen, som anges av pekaren BTSP i den aktuella TSP. Sedan skrivs i ett block 611, vilket också utförs när bestämningen i blocket 607 gav ett positivt svar, dvs om det endast finns ett CEI-nummer i TS-listan, i BTSP-peka- ren i fältet 233 for det aktuella tidluckan värdet "nul" eller värdet för CEI-kö nummer 0, vars värde också lämpligen är lika med noll.
CEI-kön med identifrkationsnumret noll, CEI nummer O, används såsom ovan föresla- gits för utvisande av en tom plats eller att ingenting skall sändas och den innehåller en adress- pekare för ett i register 249 lagrat tomt cellmönster, se figur 2. Sedan utförs ett block 615, i vilket det testas, om den CEI-kö, som anges av det värde, vilket för tillfället är lagrat i bloc- ket 605, är tom. Om denna är tom, utförs ett block 617, i vilket ett tomt mönster sänds till sändningsfunktionen 205, och sedan ställs den i fältet 221 lagrade indikatom för aktivt till- stånd för den betraktade CEI-kön 209 in för att ange, att CEI-kön inte längre är aktiv. Sedan utförs ökningssteget 601 för TS-pekaren igen.
Om det i block 615 avgörs, att den utvalda CEI-kön inte är tom, överförs nästa cell, dvs den i cyklisk ordning första cellen, till sändningsfunktionen 205, t ex för att lagras i FIFO-sändningsminnet, såsom visas av blocket 619. Sedan ökas också den i fältet 215 lagrade startplatspekaren för denna CEI-kö i mottagningsfunktionen 210 med ett steg. Förfarandet kan stanna här och vänta, tills sändningsfunktionen 205 har tid för sändning eller när det är dags att sända nästa cell.
Såsom redan har nämnts, kan utgångsbuffring användas såsom antyds i figur 2. Då skrivs i blocket 619 en cell från den utvalda ingångsbufferten 209 (eller eventuellt dess ad- ress) in den sista platsen i ett FIFO-utgångsminne 241 eller i sändningskön. Liksom ingångs- buffertarna eller köema 209 kan sändningsminnet 241 lämpligen vara ett cykliskt minne, varvid början för de upptagna platserna anges av en startpekare lagrad i ett minnesfält 243 och platsen efter den sista upptagna platsen anges av en slutpekare lagrad i ett minnesfält 245.
Sedan ökas här också i blocket 619 denna slutpekare 245 cykliskt ett steg.
För testen i blocket 602 kan då start- och slutplatspekarna i fälten 243 och 245 jämfö- ras, varvid någon anordning finns för att skilja mellan fallen, när FIFO-utgångsminnet 241 är 506 955 M tomt eller fullt. T ex kan ett likadant värde för start- och slutplatspekama sättas att alltid ange tomt tillstànd för bufferten och ett värde för startplatspekaren, som ligger i cyklisk ordning direkt efter värdet för slutplatspekaren, kan sättas att ange, att minnet är fullt.
Efter hämtning och överföring av en cell till sändningsfunktionen 205 i de tidigare s stegen, i synnerhet efter blocket 619, utförs själva det förfarande, som är väsentligt för flö- desstyrningen, vid vilket ett CEI-könummer läggs till en senare TS-kö 209, jämför pilen 431 i ñgur 4. Sålunda avgörs det i ett block 621, om den TS-kö, som är förbunden med denna senare tidlucka, vilken är erhållen frän den betraktade tidluckan genom att därtill addera talet MDTS i fältet 213 för denna CEI-kö 209, symboliskt angivet av talet (TSP + MDTS), är w tom. Om den fastställs vara inte tom, utförs ett block 623, i vilket värdet eller pekaren i BTSP-fältet i denna senare tidluckekö skrivs till NTSEP-fáltet i TS-länktabellen 239 på den plats, som anges av identifikationsnumret för CEI-kön. Sedan skrivs i ett block 625 det be- traktade CEI-identifikationsnumret in i startköpekaren BTSP i fältet 235 för denna senare tidluckekö (TSP + MDTS). Därefter har den egentliga flödesstymingsfunktionen slutförts 1s genom omordning av TS-köema och nästa TS-kö 223 kommer att hanteras genom utförande av blocket 601, där TS-pekaren stegas upp.
Om det fastställdes i blocket 621, att den betraktade startköpekaren BTSP är lika med "nul" eller noll, utförs ett block 627, i vilket det aktuella CEI-värdet, dvs det värde, som användes vid överföring av en cell till FIFO-utgängskön 241 i blocket 619, skrivs in i slutpe- zo karfältet 237 ETSP för denna senare tidluckekö vid (TSP + MDTS). Efter blocket 627 utförs blocket 625 enligt ovan. i Om det i blocket 615 fastställdes, att den betraktade CEI-kön är tom, signaleras i bloc- ket 617 detta specialfall till cellsändaren 205, såsom redan nämnts, genom att överföra ett speciellt mönster ECP för tomma cellplatser, t ex lagrat i ett minne 249. zs Om det i blocket 603 fastställdes, att föreliggande TS-kö är tom, utförs ett block 633, i vilket detta meddelas till sändningsfunktionen 205, såsom genom att överföra ett tomt cell- mönster till denna funktion, såsom ovan har diskuterats. Sedan kommer en ny tidluckekö att hanteras genom ökning av tidluckepekaren i blocket 601.
En liten förändring i algoritmen enligt beskrivningen ovan kan göras, när en FIFO- ao buffert 241 för sändning finns. Det fall, som då skall betraktas, gäller, när flödesstymings- funktionen 203 finner en CEI-kö 209, varifrån det medges sändning, men att denna CEI har en tom cellkö 209 och sålunda inte har något att sända, jämför blocken 615 och 617 i figur 6.
I stället för att skriva in ett ECP i FIFO-utgångsminnet 241 är det möjligt för flödesstymings- funktionen 203 att finna en ny CEI-kö 209, från vilken det är tillåtet att sända under denna ss tidlucka TS, varvid detta emellertid endast är tillämpligt, när det finns mer än ett CEI-könum- _ ¿j mer i tidluckekön 223 för aktuell tidlucka TS angiven av den i fältet 225 lagrade TS-pekaren.
'- Andra alternativ är också möjliga på detaljnivå. Ett exempel är, att det inte är nödvän- digt att ta bort ett CEI-könummer från TS-köerna 223, när det inte finns fler celler att sända frän denna kö, jämför blocket 618 i figur 6. Denna möjlighet anges av den streckade pilen 10 15 20 25 35 506 955 15 från blocket 618. Detta är möjligt för det fall, när summan av alla hastigheter för alla upprät- tade förbindelser är mindre än den maximala totala flödesstyrningsgraden eller den totala fysiska sändningshastigheten. En nackdel kan vara den tid, som erfordras för administrering av alla CEI-könummer i TS-köerna, även under tidsperioder med litet ingångstzafik. En annan nackdel utgörs av, att en ny cell inte kan flödesstyras omedelbart, vilket skapar en fördröj- ning. En eventuell fördel kan vara, att varje CEI-kö kan finna ett fast TS-mönster, för vilket kön inte störs av andra CEI-köer. Detta kräver en speciell tilldelning av MDTS-värden för att göra det möjligt att åstadkomma ett sådant fast mönster.
De flesta flödesstymingsalgoritmema kan för måttliga maximala sändningshastigheter utföras med hjälp av program i den flödesstyrande mekanismen 203, och denna mekanism kan t ex innefattas i eller innefatta de relativt små programdelar, som kan anordnas för de båda andra mekanismema, mottagningsfunktionen 201 och sändningsfunktionen 205, om de inte är utförda i hårdvara. De delar av cellhanteringen enligt beskrivningen ovan, som är mest minneskrävande, är i vart fall minnesområdena för ingångsbuffertama 209. För tillämpningar med höga sändningshastigheter är emellertid konstruktioner i hårdvara nödvändiga och de olika här beskrivna förfarandena kan då på lämpligt sätt utföras av specialiserade tillståndsmaskiner realiserade i digitala signalprocessorer, som är speciellt konstruerade för detta ändamål. Ingångsbuffertema kan ersättas med ett RAM-minne, vilket erfordrar en ad- resslista över tomma platser och adresslistor i stället för ingångsbuffertama 209.
Genom att anordna ett FIFO-sändningsminne 241 enligt beskrivningen ovan och genom att ge detta minne en tillräcklig storlek är det möjligt att undvika realtidshantering cell för cell i flödesstymingsfunktionen 203. Den i registret 225 lagrade TS-pekaren i flödesstymingsme- kanismen 203 kommer då inte av avspegla den exakta reella eller fysikaliska tiden för utmat- ning. I stället kommer motsvarande reella tid att inträffa, när cellen slutligen av sändnings- funktionen sänds i det fysiska utgångsgränssnittet. Tidseftersläpningen mellan den av TS- pekaren i 225 angivna TS-kön och den reella tidluckan kommer då .att bero på aktuell fyll- nadsnivå i FIFO-sändningsminnet 241.
För åstadkommande av motsvarighet mellan värdet hos TS-pekaren i fältet 225 i flödes- stymingsmekanismen 203 och den rælla tidluckan vid det fysikaliska utgångsgränssnittet hos stationen är det nödvändigt, att processorn hos flödesstymingsmekanismen 203 kan signalera till cellsändaren 205 varje gång, som en cell inte skall sändas i en viss tidlucka TS. Detta kan åstadkommas såsom nämnts ovan genom att förse sändningsfunktionen med ett speciellt, i minnet 249 lagrat ECP-mönster för tomma cellplatser.
För hantering av hela cellflödet kan följande nödvändiga delfunktioner identifieras: 1. En sändningsfunktion 205 för styming av hela cellflödet till sändningsutgångsregist- ret. 2. Ett fast cellrubrikmönster ECP, som anger en tom cellplats. Flödesstymingsfunktio- nen 203 och sändningsfunktionen 205 kan räkna detta mönster logiskt som en cell men mönst- ret sänds inte fysiskt från stationen eller noden. 10 15 20 25 35 506 955 16 3. Något sätt att räkna antalet tomma cellplatser i FIFO-utgångsminnet 241, varvid denna funktion t ex utgörs av start- och slutplatspekama lagrade i minnesfälten 243, 245, dvs för att bestämma fyllnadsnivån för utgångsbufferten 241. En indikator kan ställas in eller flödesstymingsmekanismen kan förses med en signal för att signalera "ingångsbufferten är full", varvid sedan flödesstymingsmekanismen stoppas under en lämplig tidsperiod. Genom detta arrangemang är det möjligt att låta tillståndsmaskinen eller' processorn hos flödesstyr- ningsmekanismen 203 fylla FIFO-utgångsminnet med cellskurar.
Inskrivningen i FIFO-sändningsminnet måste sluta, jämför diskussionen av blocket 602 i figur 6 ovan, när fyllnadsnivån enligt angivelse av någon fyllnadsräknare har nått en förutbe- stämd tröskel. Denna tröskel motsvarar en viss maximal latent tillståndstid för cellen och är proportionell mot den tid, som det tar, tills FIFO-utgångsminnet 241 blir tomt, när det inte fylls på igen. Normalt är det för åstadkommande av bra flödesstymingsprestanda nödvändigt för flödesstymingsmekanismen 203 att undvika, att FIFO-sändningsminnet 241 blir tomt.
Under tidsperioder, när det inte finns något att sända, kommer flödesstyrningsmekanismen 203 att mata FIFO-utgångsminnet 241 med ECP-mönster. Om i alla fall FIFO-minnet 241 blir tomt, kan cellsändningsfunktionen 205 åter starta, så snart den första cellen skrivs in i FIFO- utgångsminnet 241. Flödesstyrningsfunktionen 203 kan sålunda låta FIFO-utgångsminnet bli tomt, om den vet, att det inte finns några celler att sända, dvs om det inte finns några CEI i TS-flödesstymingsköema 223 eller om det inte ñnns några aktiva CEI-köer 209.
Ett flödesschema för det förfarande, som utförs av sändningsfunktionen 205 i den utfö- ringsforin, vid vilken ett FIFO-utgångsminne 241 används, visas i figur 7, varvid förfarandet börjar i ett block 701, i vilket det testas, om det nu är nästa tidpunkt för att fysiskt sända en cell från terrninalen eller noden, och det också testas, om det åtminstone finns en cell eller ECP lagrad i FIFO-utgångsminnet 241. Om något av dessa två villkor inte är uppfyllt, utförs samma block om igen. Om villkoren i stället är uppfyllda, dvs tidpunkten för sändning har uppnåtts och FIFO-utgångsminnet inte är tomt, hämtas den nästa, i FIFO-sändningsminnet 241 lagrade cell, som anges av den i registret lagrade 243 startpekaren i ett block 703. Sedan testas denna cell i ett block 705, om det är mönstret ECP för den tomma cellen (CEI kö nr 0). Om så är fallet, utförs blocket 701 igen för inväntande av nästa tidpunkt för sändning och för testning av att FIFO-utgångsminnet inte är tomt och annars sänds i ett block 707 denna nästa cell fysiskt från stationen, vilket innefattar, att cellen överförs till ett utgångsregister 250, från vilket den sänds från stationen. Slutligen stegas i ett block 707 den i fält 243 lagra- de startplatspekaren för FIFO-sändningsminnet 241 upp cykliskt med värdet ett steg.
Ett exempel på ett sändningsfall med avseende på flödesstymingsmekanismen visas i figurema 8, 9 och l0. Här finns fyra aktiva CEI-köer 209, CEI nr 1 - CEI nr 4, vilka har MDTS på 4, 6, 8 respektive 4. I det i figur 8 visade begynnelsetillståndet innefattar tidlucke- Iieö nr n ne ebjein, köerna cEi 1, CEI 2 nen cEi 3. i nainekekö nr (n+2) finns endast CEI- kö nr 4. I detta tillstånd pekar TS-pekaren i fältet 225 på TS-kö nr n.
Innan den i 225 lagrade TS-pekaren cykliskt ökas för att peka på nästa TS-kö nr (n+1), 10 15 20 25 35 17 506 955. placeras en nästkommande cell från CEI-kö nr 1 i ingångskön eller FIFO-sändningsminnet.
Sedan placeras också CEI-kö nr l i TS-kö nr (n+4) enligt vad som föreskrivs av MDTS- värdet för denna CEI-kö och som anges av pilen 801. De återstående CEI-köema i TS-kön överförs till nästa TS-kö (n+l), dvs denna nya TS-kö kommer att innefatta CEI-köema med nummer 2 respektive 3.
Innan TS-pekaren i fält 225 åter stegas upp, kommer nästa cell från CEI-kö nr 2 att matas in i FIFO-sändningsminnet 241, CEI-kö nr 2 kommer att läggas till TS-kö nr (n+7) och CEI-kön nr-3 kommer att skjutas in i eller stoppas in framför alla andra CEI-könummer i nästa TS-kö med nummer (n+2). När TS-pekaren 225 stegas upp för att peka på denna TS- kö, sänds den cykliskt första cellen i CEI-kö nr 3 till FIFO-minnet 241, CEI-kön nr 4 skjuts till nästa TS-kö (n+3) och CEI-kö nr 3 adderas till TS-kön nr (n+10). För nästa steg hos TS-räknaren 225, när denna pekar på (n +3), förs den första eller nästkommande cellen i CEI-kön nr 4 in i FIFO-sändningsminnet 241 och identifikationsnumret för CEI nr 4 adderas till TS-kön nr (n+7). När sedan TS-pekaren 25 pekar på TS-kö nr (n +4), såsom visas i flgur 9, innefattar denna kö endast CEI-kö nr 1 och nästa cell i denna CEI-kö sänds till FIFO- sändningsminnet och CEI-numret (= 1) adderas till TS-kön nr (n+8), etc.
Ett exempel, som åskådliggör hur fyllnadsnivån i FIFO-sändningsminnet 241 kan varie- ra, visas av diagrammet i flgur ll. Fyllnadsnivån visas som en kurva innefattande raka linje- segment, varvid de övre slutpunktema för segmenten är belägna vid högsta fyllnadsnivå, minnets övre tröskelnivå. Sändningsfunktionen 205 kan antas alltid arbeta med konstant has- tighet, så att den läser en cell eller ECP från FIFO-utgångsminnet 241 i varje tidlucka. Flö- desstyrningsmekanismen 203 antas emellertid vara aktiv endast under korta periodiskt åter- kommande tidluckor och dessa intervall visas av aktivitetskurvan i flgur 12. Vidare kan den av flödesstymingsmekanismen 203 utförda hanteringen av varje TS-kö 223 antas alltid kräva en exempelvis huvudsakligen konstant eller lika lång tidsperiod, vilket som resultat ger en mycket hög flödesstymingshastighet under flödesstymingsmekanismens 223 aktiva perioder.
Under de tidsperioder, när den flödesstyrande mekanismen 203 är aktiv och sålunda också sändningsfunktionen 205 är aktiv, eftersom den ständigt är i funktion, ökar fyllnadsni- vån för FIFO-sändningsminnet med konstant hastighet till maximal fyllnadsnivå och den minskar med konstant hastighet under de tidsperioder, när flödesstymingsmekanismen 203 är inaktiv och endast sändningsfunktionen arbetar. När maximal fyllnadsnivå har uppnåtts, kan inte FIFO-sändningsminnet 241 acceptera några fler celler och då inträffar en väntetid eller fördröjning, under vilken den flödesstyrande mekanismen 203 måste vara inaktiv, medan den väntar på att skall uppkomma tomma platser i FIFO-utgångsminnet 241. I fallet enligt flgur ll antas, att när den maximala fyllnadsnivån för sändningsbufferten har uppnåtts, sänds en signal ut för att stänga av den flödesstyrande funktionen 203. Detta kan också åstadkommas q' av själva flödesstymingsmekanismen genom att den utför ett lämpligt test av ingångsbufferten, jämför diskussionen i block 602 i flgur 6.
Flödesstymingsfunktionen kan när som helst återstartas och en signal kan t ex sändas till 506 955 13 flödesstymingsfunktionen, när FIFO-utgångsminnet nästan är tomt. Utsändning av en sådan signal kan då lämpligen göras i blocket 707 i figur 7. Som alternativ kan en signal från en tidgivningskrets användas för att åter sätta igång flödesstymingsmekanismen.
Fördelama med flödesstymingsmekanismen enligt beskrivningen ovan jämförda med den s normala lösningen med hastighetsköer är: _ - ett jämnt cellflöde i det fysiska ingångsgränssnittet (bekvämt för ATM-växeln, som lätt kan multiplexeras med cellflöden från andra moduler), - enkel hårdvara, i - hastigheter, .som kan ställas in individuellt för varje förbindelse med höga upplösning- 10 ar, - ingen fördröjning för den första cellen i ett paket eller meddelande i fallet med ett FIFO-utgängsminne bortsett från sändningstiderna för de celler, som redan väntar i FIFO- utgångsminnet, - sanna topptilldelare, dvs celler sänds aldrig mer tätt inpå varandra än ett visst garante- 1s rat avstånd i tiden, - det är lätt att ändra hastigheten för en förbindelse under drift for stockningsstyming eller för medelvärdesflödesstyming.

Claims (25)

5 10 20 25 35 506 955- 19 ~ p. PATENTKRAV
1. Förfarande för sändning av datasegment frän en station, särskilt sändning av datapa- ketsegment eller celler, vid vilket särskilt varje datasegment har samma längd och vid vilket data anländer till stationen från olika logiska och/eller fysiska källor, varvid varje källa er- fordrar eller är tilldelad en viss sändningshastighet för de datasegment, som härletts ur de data, vilka anländer frän källan, där denna sändningshastighet inte fär överskridas för dessa datasegment, varvid datasegmenten sänds ett i taget från stationen och vid efter varandra följande tidpunkter, särskilt på periodiskt sätt, k ä n n e t e c k n a t av stegen: - att anordna för var och en av efter varandra följande tidpunkter frän en betraktad aktuell tidpunkt en logisk eller fysisk kö, varvid den första kön är den nästkommande be- traktat frän den aktuella tidpunkten, varvid den andra kön är kön efter den första, etc., varvid varje kö i ordningsföljd innefattar identiñerare för de källor, för vilka ett av deras dataseg- ment skall sändas eller själva datasegmenten eller deras adresser, varvid den första köplatsen direkt anger eller indirekt, när den innefattar ett datasegment respektive en adress till detta, den källa, för vilken ett datasegment skall sändas med högsta prioritet, varvid de andra plat- sema anger källor med lägre prioritet i avtagande ordning, - att sända ett första eller nästkommande datasegment frän den källa, som anges på första plats i den första kön eller det första datasegmentet i eller som anges först i den första kön, - att därefter överföra den återstående delen av den första kön till nästa kö och placera denna framför alla objekt i denna nästa kö, - att sedan ta bort den första kön och numrera om de återstående köema, sä att nästa kö blir den första etc, varvid köemas ordningsföljd bibehälles. g
2. Förfarande enligt krav 1, k ä n n e t e c k n a t av att köer anordnas för endast ett förutbestämt antal efter varandra följande tider, varvid förfarandet dä innefattar som sista steg - att slutligen addera en sista kö till mängden av köer, varvid denna sista kö är tom.
3. Förfarande enligt ett av kraven 1 - 2, k ä n n e t e c k n a t av att när ett dataseg- ment skall sändas, placeras detta eller en angivelse för datasegmentet i en utgängsbuffert, frän vilket datasegmentet fysiskt sänds frän stationen.
4. Förfarande enligt ett av kraven 1 - 3, kä n n ete c k n at av att när den första kön är tom, sänds inget datasegment.
5. Förfarande enligt krav 3, k ä n n e t e c k n at av att när den första kön är tom, placeras ett speciellt datasegment eller en angivelse av detta i utgängsbufferten, varvid detta speciella datasegment inte sänds frän stationen.
6. Förfarande enligt krav 5 för det fall, när sändningen utförs pä periodiskt sätt, k ä n - 'n e t e c k n a t av att denna sändning av datasegment görs med segment lagrade i utgängs- ïbufferten i följd, ett i taget vid periodiskt upprepade tidpunkter, och när det speciella dataseg- mentet eller en angivelse av detta finns vid nästa plats i utgängsbufferten, där ett datasegment skall vara lagrat och skall sändas, sänds inget datasegment vid motsvarande periodiskt uppre- 10 15 20 25 30 35 506 955 20 pade tidpunkt.
7. Förfarande enligt något av kraven 1 - 6, k ä n n e t e c k n at av ett ytterligare steg, som skall utföras omedelbart före eller efter steget med borttagande av den första kön: - att tillägga en identifierare för samma datakälla eller ett nästkommande datasegment eller en adress till detta från samma källa, varifrån ett datasegment sändes, till den kö, som ligger på ett avstånd från den borttagna kön i köemas ordningsföljd, där detta avstånd är bestämt ur sändningshastigheten för den källa, som datasegmentet tillhör.
8. Förfarande enligt krav 2, k ä n n e t e c k n at av ett ytterligare steg, som skall utföras efter det sista steget: - att tillägga en identifierare för samma datakälla eller ett nästkommande datasegment eller en adress till detta från samma datakälla, varifrån ett datasegment sändes, till den kö, som ligger på ett avstånd från den borttagna kön i köemas ordningsföljd, där detta avstånd är bestämt ur sändningshastigheten för den källa, som datasegmentet tillhör.
9. Förfarande enligt något av kraven 7 - 8, k ä n n e t e c k n a t av att tillägget sker först i denna kö.
10. Förfarande enligt något av kraven 1 - 9, k ä n n e t e c k n at av ett ytterligare steg med att tillägga, när en källa, som tidigare inte hade någon identifierare för sig själv eller några av sina datasegment eller adresser till dessa i någon kö, börjar att vara aktiv, dvs att denna källa har åtminstone ett datasegment att sända, en identifierare för källan själv eller det nästkommande av dess datasegment eller en adress till detta till den kö, som är nästa kö efter den aktuella.
11. ; Förfarande enligt krav 10, k ä n n e t e c k n a t av att tillägget görs sist i denna kö.
12. Förfarande för sändning av datasegment från en station, särskilt för sändning av datapaketsegment eller celler, varvid vart och ett av datasegmenten har samma längd, vid vilket data anländer till stationen från olika logiska och/eller fysiska källor och varje källa kräver eller är tilldelad en viss sändningshastighet för de datasegment, som härstammar från de data, vilka ankommer från källan, varvid denna sändningshastighet inte får överslcridas för dess datasegment, och vid vilket datasegmenten sänds från stationen ett i taget och vid efter varandra följande tidpunkter, k ä n n e t e c k n a t av stegen: - att för var och en av efter varandra följande tidpunkter från en aktuell tidpunkt anord- na en logisk eller fysisk kö, varvid den första kön är nästa betraktad från den aktuella tid- punkten, varvid varje kö i ordningsföljd innefattar identifierare för de köer, för vilka ett av deras datasegment skall sändas eller själva datasegmenten eller deras adresser, varvid den första köplatsen direkt anger eller indirekt i det fall, när den innefattar ett datasegment eller 'en adress till detta, den källa, för vilken ett datasegment skall sändas med högsta prioritet, i varvid andra platser anger källor, som har lägre prioritet i avtagande ordning, - att sända ett första eller nästkommande datasegment från den källa, som anges först i den första kön, eller det första datasegmentet i eller såsom anges först i den första kön, 10 15 20 25 85 5 0 6 9 5 5 21 _ - att tillägga en identiñerare för samma datakälla eller ett nästa datasegment eller en adress till detta från samma källa, varifrån ett datasegment sänds, till den kö, som ligger på ett avstånd från den borttagna kön i köemas ordningsföljd, där detta avstånd bestäms ur sånd- ningshastigheten för den källa, som datasegmentet tillhör, - att sedan ta bort den första kön och numrera om de återstående köerna, så att nästa kö blir den första, etc, varvid köemas ordningsföljd bibehålls. i
13. Station för sändning av datasegment därifrån, särskilt för sändning av datapaketseg- ment eller celler, 'där särskilt varje datasegment har samma längd, varvid data ankommer till stationen från olika logiska och/eller fysiska källor och varje källa kräver eller är tilldelad en viss sändningshastighet för de datasegment, som härrör från de data, vilka anländer från källan, där denna sändningshastighet inte får överskridas för dess datasegment, varvid statio- nen innefattar - sändningsorgan för sändning av datasegment ett i taget vid efter varandra följande tidpunkter, särskilt vid jämnt eller likformigt fördelade tidpunkter, kännetecknad av - minnesorgan för lagring av, för varje successiv tidpunkt utgående från en betraktad aktuell tidpunkt, en logisk eller fysisk kö, varvid den första kön är nästa kö betraktat från den aktuella tidpunkten, varvid minnesorganen har för varje kö lagringsfält innefattande i ord- ningsföljd identifrerare för de källor, för vilka ett av deras datasegment skall sändas, eller själva datasegmenten eller deras adresser, varvid den första köplatsen direkt anger eller indi- rekt genom att innehålla ett datasegment eller en adress till detta, som hör därtill, den källa, för vilken ett datasegment skall sändas med högsta prioritet, varvid de andra platserna på samma sätt anger källor, somlhar lägre prioritet i avtagande ordning, och - styrorgan _ - - för sändning av det första eller det nästa datasegmentet i den logiska kö, som anges i den första platsen i den första kön, eller det datasegment, som är lagrat eller som anges i den första platsen i den första kön, - - för att sedan överföra den återstående delen av den första kön till nästa kö och place- ra denna del framför alla objekt i den nästa kön, - - för att sedan ta bort den första kön och numrera om de återstående köema, så att nästa kö blir den första, etc., varvid köemas ordningsföljd bibehålls.
14. Station enligt krav 13, k ä n n e t e c k n a d av att minnesorganen är anordnade för lagring av endast ett förutbestämt antal successiva köer, varvid styrorganen också är anordnade att lägga till, efter borttagning av den första kön och omnumrering, en sista kö till mängden köer, varvid denna sista kö är tom och är lagrad i fälten för den borttagna kön.
15. Station enligt krav 14, k ä n n e t e e k n a d av att minnesorganen är anordnade 'tför lagring av köema på cykliskt sätt, varvid ett minnesfält finns för lagring av en pekare, som pekar på en aktuell kö.
16. Station enligt något av kraven 13 - 15, k ä n n e t e c k n a d av en utgångsbuffert, 10 15 20 25 35 506 955 22 varvid styrorganen är anordnade att när ett datasegment skall sändas placera detta eller en angivelse av detta i utgångsbufferten, varifrån det sänds fysiskt från stationen, och varvid sändningsorganen är anordnade att sända datasegment lagrade i utgångsbufferten enligt meto- den först-in-först-ut.
17. Station enligt något av kraven 13 - 16, k ä n n e t e c k n a d av att styrorganen är anordnade att känna av, när den första kön är tom, och att då inte sända något datasegment.
18. Station enligt krav 16, k ä n n e t e c k n a d av att styrorganen är anordnade att känna av, när den första kön är tom, och att då placera ett visst datasegment eller en angivel- se av detta i utgångsbufferten, varvid sändningsorganen är anordnade att när detta speciella datasegment återfinns i utgångsbufferten inte sända något datasegment från stationen.
19. Station enligt något av kraven 13 - 18, k ä n n e te c k n a d av att styrorganen är anordnade att utföra före eller efter borttagandet av den första kön, - ett tillägg av en identifierare för samma datakälla eller ett nästa datasegment eller en adress till detta, från samma källa, varifrån ett datasegment sänds till den kö, som ligger på ett avstånd från den borttagna kön respektive som skall tas bort betraktad i köernas ordnings- följd, där detta avstånd är bestämt ur sändningshastigheten för den källa, som det sända data- segment tillhör.
20. Station enligt krav 14, k ä n n e t e c k n a d av att styrorganen är anordnade att lägga till, efter tillägg av en sista kö, en identiñerare för samma datakälla eller ett nästa datasegment eller en adress till detta från samma källa, varifrån ett datasegment sändes, till den kö, som ligger på ett avstånd från den borttagna kön respektive som skall tas bort be- traktat i köernas ordningsföljd, där detta avstånd är bestämt ur sändningshastigheten för den källa, som de sända datasegmenten tillhör.
21. Station enligt något av kraven 19 - 20, k ä n n e t e c k n a d av att styrorganen är anordnade att göra tillägget först i denna kö.
22. Station enligt något av kraven 13 - 21, k ä n n e t e c k n a d av att minnesorganen för lagring av källans identiñerare är anordnade att lagra ett förutbestämt antal köer, varvid köerna är organiserade cykliskt i ordningsföljd, varvid ett register ñnns för lagring av en pekare, som anger den betraktade aktuella kön, varvid pekaren uppdateras av styrorganen, när den aktuella kön tas bort.
23. Station enligt något av kraven 13 - 22, k ä n n e t e c k n a d av att styrorganen är anordnade att utföra det ytterligare steget med att lagra, när en källa som tidigare inte har haft någon identifierare pekande på den själv eller något av dess datasegment eller deras adresser lagrade i något av minnesorganen för köema, börjar att bli aktivt, dvs när denna källa åtminstone har ett datasegment att sända, en identifierare för denna källa eller det nästa 'av dess datasegment eller en adress till detta i minnesorganen för den kö, vilken är den nästa i» kön efter den aktuella kön.
24. Station enligt krav 23, k ä n n e t e c k n a d av att styrorganen är anordnade att lagra den nya identiñeraren eller nästa datasegment eller en adress till detta sist i denna kö. 5 506 955 23
25. Station enligt något av kraven 13 - 24 för det fall, när minnesorganen är anordnade för köer innefattande identiflerare för källor, k å n n e t e c k n a d av att minnesorganen för lagring av källidentifierama är anordnade som en länkad lista innefattande - första minnesorgan innefattande fält for lagring av de första objekten i varje kö, - andra minnesorgan innefattande fált för lagring av de sista objekten i varje kö, - tredje minnesorganen innefattande fält i ordningsföljd, varvid varje fált har ett ord- ningsföljdsnummer, fälten är anordnade för lagring av nästkommande objekt i köerna och ordningsföljdsnumret för ett fait anger objektet omedelbart före det i fältet lagrade objektet.
SE9502468A 1995-07-06 1995-07-06 ATM-flödesstyrning SE506955C2 (sv)

Priority Applications (14)

Application Number Priority Date Filing Date Title
SE9502468A SE506955C2 (sv) 1995-07-06 1995-07-06 ATM-flödesstyrning
US08/581,325 US5729529A (en) 1995-07-06 1995-12-29 Timing and synchronization technique for ATM system
AU63749/96A AU6374996A (en) 1995-07-06 1996-07-03 Timing and synchronization technique for atm system
PCT/SE1996/000907 WO1997002687A1 (en) 1995-07-06 1996-07-03 Timing and synchronization technique for atm system
EP96923149A EP0873624B1 (en) 1995-07-06 1996-07-05 Atm throttling
CN96195299A CN1097913C (zh) 1995-07-06 1996-07-05 Atm流量调节
DE69635379T DE69635379T2 (de) 1995-07-06 1996-07-05 Atm-drosselung
JP9505076A JPH11508749A (ja) 1995-07-06 1996-07-05 Atmのスロットリング
CA002226009A CA2226009A1 (en) 1995-07-06 1996-07-05 Atm throttling
PCT/SE1996/000887 WO1997002686A1 (en) 1995-07-06 1996-07-05 Atm throttling
AU63740/96A AU707294B2 (en) 1995-07-06 1996-07-05 ATM throttling
NO976149A NO976149L (no) 1995-07-06 1997-12-30 Fremgangsmåte for overföring av datasegmenter fra en stasjon, samt relatert stasjon
US09/002,773 US6594263B1 (en) 1995-07-06 1998-01-05 ATM throttling
HK99100602A HK1015584A1 (en) 1995-07-06 1999-02-12 Atm throttling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9502468A SE506955C2 (sv) 1995-07-06 1995-07-06 ATM-flödesstyrning

Publications (3)

Publication Number Publication Date
SE9502468D0 SE9502468D0 (sv) 1995-07-06
SE9502468L SE9502468L (sv) 1997-01-07
SE506955C2 true SE506955C2 (sv) 1998-03-09

Family

ID=20398884

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9502468A SE506955C2 (sv) 1995-07-06 1995-07-06 ATM-flödesstyrning

Country Status (11)

Country Link
US (2) US5729529A (sv)
EP (1) EP0873624B1 (sv)
JP (1) JPH11508749A (sv)
CN (1) CN1097913C (sv)
AU (1) AU707294B2 (sv)
CA (1) CA2226009A1 (sv)
DE (1) DE69635379T2 (sv)
HK (1) HK1015584A1 (sv)
NO (1) NO976149L (sv)
SE (1) SE506955C2 (sv)
WO (1) WO1997002686A1 (sv)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668570A (en) * 1993-06-29 1997-09-16 Ditzik; Richard J. Desktop computer with adjustable flat panel screen
US5936967A (en) * 1994-10-17 1999-08-10 Lucent Technologies, Inc. Multi-channel broadband adaptation processing
SE506955C2 (sv) * 1995-07-06 1998-03-09 Ericsson Telefon Ab L M ATM-flödesstyrning
US6175883B1 (en) * 1995-11-21 2001-01-16 Quantum Corporation System for increasing data transfer rate using sychronous DMA transfer protocol by reducing a timing delay at both sending and receiving devices
US6134217A (en) * 1996-04-15 2000-10-17 The Regents Of The University Of California Traffic scheduling system and method for packet-switched networks with fairness and low latency
JP2001503232A (ja) * 1996-10-28 2001-03-06 フジツウ ネットワーク コミュニケーションズ,インコーポレイテッド Cbr伝送システムにおける遅延及び遅延変動を減少させる非フレーム同期方式同時整形方法
JP3462024B2 (ja) * 1996-12-04 2003-11-05 株式会社東芝 ネットワークシステムの伝送制御方法
KR19990008775A (ko) * 1997-07-03 1999-02-05 윤종용 노이즈 감소를 위한 소켓
US6026451A (en) * 1997-12-22 2000-02-15 Intel Corporation System for controlling a dispatch of requested data packets by generating size signals for buffer space availability and preventing a dispatch prior to a data request granted signal asserted
ES2145718B1 (es) * 1998-09-23 2001-02-01 Telefonica Sa Metodo y aparato para el moldeado de trafico mta.
US6182183B1 (en) * 1998-11-13 2001-01-30 Sonics, Inc. Communications system and method with multilevel connection identification
JP2001177575A (ja) * 1999-12-20 2001-06-29 Nec Corp 優先制御方式
KR100357628B1 (ko) * 1999-12-28 2002-10-25 삼성전자 주식회사 우선 순위 큐를 가지는 비동기전송모드 통신시스템의 셀처리 장치 및 방법
US7325221B1 (en) 2000-08-08 2008-01-29 Sonics, Incorporated Logic system with configurable interface
US7165094B2 (en) * 2001-03-09 2007-01-16 Sonics, Inc. Communications system and method with non-blocking shared interface
US20030004699A1 (en) * 2001-06-04 2003-01-02 Choi Charles Y. Method and apparatus for evaluating an integrated circuit model
US7086059B2 (en) * 2001-06-26 2006-08-01 Intel Corporation Throttling queue
US7414976B2 (en) * 2003-12-16 2008-08-19 Intel Corporation Method and apparatus to implement operation and maintenance (OAM) functions on a network processor
CN1311350C (zh) * 2004-04-30 2007-04-18 华为技术有限公司 在通信队列管理中通过发送事件触发队列管理的方法
KR100620372B1 (ko) * 2004-08-18 2006-09-08 삼성전자주식회사 영상을 회전시키는 방법, 컴퓨터 및 저장매체
US7505410B2 (en) * 2005-06-30 2009-03-17 Intel Corporation Method and apparatus to support efficient check-point and role-back operations for flow-controlled queues in network devices
US20080141063A1 (en) * 2006-12-12 2008-06-12 Ridgeway Curtis A Real time elastic FIFO latency optimization
US8909764B2 (en) * 2011-07-28 2014-12-09 Xyratex Technology Limited Data communication method and apparatus
US10069748B2 (en) 2015-12-14 2018-09-04 Mellanox Technologies Tlv Ltd. Congestion estimation for multi-priority traffic
US10069701B2 (en) 2016-01-13 2018-09-04 Mellanox Technologies Tlv Ltd. Flexible allocation of packet buffers
US10250530B2 (en) 2016-03-08 2019-04-02 Mellanox Technologies Tlv Ltd. Flexible buffer allocation in a network switch
US10084716B2 (en) 2016-03-20 2018-09-25 Mellanox Technologies Tlv Ltd. Flexible application of congestion control measures
US10205683B2 (en) * 2016-03-28 2019-02-12 Mellanox Technologies Tlv Ltd. Optimizing buffer allocation for network flow control
US10387074B2 (en) 2016-05-23 2019-08-20 Mellanox Technologies Tlv Ltd. Efficient use of buffer space in a network switch
US9985910B2 (en) 2016-06-28 2018-05-29 Mellanox Technologies Tlv Ltd. Adaptive flow prioritization
US10389646B2 (en) 2017-02-15 2019-08-20 Mellanox Technologies Tlv Ltd. Evading congestion spreading for victim flows
US10645033B2 (en) 2017-03-27 2020-05-05 Mellanox Technologies Tlv Ltd. Buffer optimization in modular switches
US11005770B2 (en) 2019-06-16 2021-05-11 Mellanox Technologies Tlv Ltd. Listing congestion notification packet generation by switch
US10999221B2 (en) 2019-07-02 2021-05-04 Mellanox Technologies Tlv Ltd. Transaction based scheduling
US11470010B2 (en) 2020-02-06 2022-10-11 Mellanox Technologies, Ltd. Head-of-queue blocking for multiple lossless queues

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3331205A1 (de) * 1983-08-30 1985-03-14 Telefunken Fernseh Und Rundfunk Gmbh, 3000 Hannover Synchronmuster
FR2563398B1 (fr) * 1984-04-20 1986-06-13 Bojarski Alain Procede et dispositif de recuperation du verrouillage de trame pour un mot de verrouillage de trame a bits repartis dans la trame
US4930125A (en) * 1989-01-30 1990-05-29 General Datacom, Inc. Multiplexer frame synchronization technique
KR920009679B1 (ko) * 1990-06-27 1992-10-22 재단법인 한국전자통신연구소 스위칭 메모리를 갖는 고속 atm 셀 동기 교환장치
US5331641A (en) * 1990-07-27 1994-07-19 Transwitch Corp. Methods and apparatus for retiming and realignment of STS-1 signals into STS-3 type signal
EP0487235B1 (en) 1990-11-21 1999-02-03 AT&T Corp. Bandwidth and congestion management in accessing broadband ISDN networks
US5166930A (en) * 1990-12-17 1992-11-24 At&T Bell Laboratories Data channel scheduling discipline arrangement and method
EP0498092B1 (de) * 1991-02-01 1995-05-03 Siemens Aktiengesellschaft Verfahren zur Überwachung und Glättung von Datenströmen, die nach einem asynchronen Übertragungsverfahren übertragen werden
US5285441A (en) * 1992-03-17 1994-02-08 At&T Bell Laboratories Errorless line protection switching in asynchronous transer mode (ATM) communications systems
US5381407A (en) * 1992-06-04 1995-01-10 Bell Communications Research, Inc. Method and system for controlling user traffic to a fast packet switching system
GB2268372B (en) 1992-06-11 1995-11-01 Roke Manor Research Improvements in or relating to data transmission systems
JPH06169320A (ja) * 1992-10-02 1994-06-14 Toshiba Corp Atmセル化装置
CA2105268C (en) * 1992-12-28 1999-07-13 Shahrukh S. Merchant Resynchronization of asynchronous transfer mode (atm) switch fabric
FR2700902B1 (fr) 1993-01-22 1995-02-24 Thomson Csf Procédé de gestion du débit de messages codés numériquement transportés par un réseau asynchrone, notamment un réseau ATM, et dispositif pour sa mise en Óoeuvre.
US5412655A (en) * 1993-01-29 1995-05-02 Nec Corporation Multiprocessing system for assembly/disassembly of asynchronous transfer mode cells
EP0612171B1 (en) * 1993-02-15 2001-11-28 Mitsubishi Denki Kabushiki Kaisha Data queueing apparatus and ATM cell switch based on shifting and searching
DE4316225C2 (de) * 1993-05-14 2000-06-08 Deutsche Telekom Ag Verfahren und Anordnung zur störungsfreien empfangsseitigen Taktrückgewinnung für Digitalsignale mit konstanter Bitrate
FR2707023B1 (sv) * 1993-06-24 1995-09-22 Boyer Jacqueline
JPH0779226A (ja) * 1993-09-07 1995-03-20 Fujitsu Ltd 複数チャネル送出セル帯域制御回路
WO1995014266A1 (en) 1993-11-15 1995-05-26 Hughes Aircraft Company A method and system for maintaining access security of input and output operations in a computer system
CA2145017C (en) * 1994-03-31 2000-02-15 Masaru Murakami Cell multiplexer having cell delineation function
US5491691A (en) * 1994-08-16 1996-02-13 Motorola, Inc. Method and apparatus for pacing asynchronous transfer mode (ATM) data cell transmission
US5533020A (en) * 1994-10-31 1996-07-02 International Business Machines Corporation ATM cell scheduler
US5602853A (en) * 1994-11-03 1997-02-11 Digital Equipment Corporation Method and apparatus for segmentation and reassembly of ATM packets using only dynamic ram as local memory for the reassembly process
US5535201A (en) * 1995-05-10 1996-07-09 Mitsubishi Electric Research Laboratories, Inc. Traffic shaping system using two dimensional timing chains
SE506955C2 (sv) * 1995-07-06 1998-03-09 Ericsson Telefon Ab L M ATM-flödesstyrning
US5610921A (en) * 1995-08-31 1997-03-11 Sun Microsystems, Inc. Scalable architecture for asynchronous transfer mode segmentation and reassembly

Also Published As

Publication number Publication date
NO976149L (no) 1998-03-04
SE9502468D0 (sv) 1995-07-06
AU6374096A (en) 1997-02-05
US5729529A (en) 1998-03-17
CA2226009A1 (en) 1997-01-23
US6594263B1 (en) 2003-07-15
JPH11508749A (ja) 1999-07-27
CN1190512A (zh) 1998-08-12
SE9502468L (sv) 1997-01-07
WO1997002686A1 (en) 1997-01-23
EP0873624A1 (en) 1998-10-28
AU707294B2 (en) 1999-07-08
DE69635379D1 (de) 2005-12-08
NO976149D0 (no) 1997-12-30
CN1097913C (zh) 2003-01-01
EP0873624B1 (en) 2005-11-02
HK1015584A1 (en) 1999-10-15
DE69635379T2 (de) 2006-06-22

Similar Documents

Publication Publication Date Title
SE506955C2 (sv) ATM-flödesstyrning
EP0680173B1 (en) Multicasting apparatus
EP0531599B1 (en) Configurable gigabit/s switch adapter
EP0680179B1 (en) Multicasting apparatus
JP2922119B2 (ja) 帯域規制装置及びパケット通信装置
US7647472B2 (en) High speed and high throughput digital communications processor with efficient cooperation between programmable processing components
EP2736197B1 (en) Packet reassembly and resequence method, apparatus and system
KR100588947B1 (ko) 스위칭 장치 및 스위칭 방법
EP0108554A1 (en) Packet load monitoring by trunk controllers
EP0680235A1 (en) Channel identifier generation
EP0631706A1 (en) Methods and devices for prioritizing in handling buffers in packet networks
EP1163747A1 (en) Method and apparatus for managing multiple atm cell queues
WO2004066570A1 (ja) ネットワークスイッチ装置およびネットワークスイッチ方法
US7362751B2 (en) Variable length switch fabric
EP0858716B1 (en) Improvements in or relating to an atm switch
JPH0779352B2 (ja) パケット選択装置
US6490640B1 (en) Packet data switching apparatus
WO1994015438A1 (en) Device for the conversion of data blocks, frame structured, into atm cells and vice versa
JP2739949B2 (ja) 通信バッファ装置
WO2023281470A1 (en) Network device that utilizes packet grouping
CN115460152A (zh) 一种组播报文控制方法、系统、存储介质及电子设备

Legal Events

Date Code Title Description
NUG Patent has lapsed