SE510170C2 - Metod och anordning för styrning av datapaketflöde medelst baktrycksmeddelande - Google Patents

Metod och anordning för styrning av datapaketflöde medelst baktrycksmeddelande

Info

Publication number
SE510170C2
SE510170C2 SE9701841A SE9701841A SE510170C2 SE 510170 C2 SE510170 C2 SE 510170C2 SE 9701841 A SE9701841 A SE 9701841A SE 9701841 A SE9701841 A SE 9701841A SE 510170 C2 SE510170 C2 SE 510170C2
Authority
SE
Sweden
Prior art keywords
message
buffer
back pressure
unit
field
Prior art date
Application number
SE9701841A
Other languages
English (en)
Other versions
SE9701841L (sv
SE9701841D0 (sv
Inventor
Magnus Buhrgard
Krzysztof Kaminski
Bernt Larsson
Goeran Wicklund
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 SE9701841A priority Critical patent/SE510170C2/sv
Publication of SE9701841D0 publication Critical patent/SE9701841D0/sv
Priority to PCT/SE1998/000896 priority patent/WO1998052328A2/en
Priority to AU75601/98A priority patent/AU7560198A/en
Publication of SE9701841L publication Critical patent/SE9701841L/sv
Publication of SE510170C2 publication Critical patent/SE510170C2/sv
Priority to US09/440,769 priority patent/US6671255B1/en

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
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • 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

Description

510 170 Alternativt skickar den enhet som uppnått för hög fyllnadsgrad själv ett sådant meddelande till sändaren.
Sammanfattning av uppfinningstanken Ett syfte med uppfinningen är att åstadkomma ett förfarande och en anordning för flödeskontroll som medger maximalt utnyttjande av de olika delama av nätet när trafiken är av skurkaraktär.
Ett annat syfte med uppfinningen är att åstadkomma en paketförrnedlingsväxel, såsom en ATM-växel, som kan tillhandahålla nya tjänsteklasser, såsom ABR, VBR, rt-VBR och andra.
Dessa syften uppnås enligt uppfinningen genom en flödesstyrning med hjälp av relativ buffertadressering enligt följande: - en mottagande enhet som permanent eller temporärt inte längre kan motta datapaket skickar ett baktrycksmeddelande till den eller de enheter från vilken den är anordnad att motta datapaket; - en enhet som mottar ett sådant baktrycksmeddelande ändrar och/eller gör tillägg i detta meddelande så att det innehåller information om samtliga enheter meddelandet har passerat; - urspnmgsnoden eller noderna for datapaketflöden, när ett baktrycksmeddelande mottas, reducerar eller stoppar alla datapaketflöden avsedda att passera den enhet från vilken baktrycksmeddelandet ursprungligen utgick.
En fördel med lösningen enligt uppfinningen är att metoden kan utnyttjas oberoende av storleken på väljaren (och därmed väljarkärnan), respektive nätet.
Förfarandet kan användas utan att en godtycklig buffert inne i väljarkärnan behöver känna till sin plats i systemet, eller hur många andra buffertar, respektive noder, som finns på samma hierarkiska nivå. b) 510 170 En nivå i en struktur enligt uppfmningen kan definieras som ett ställe i strukturen där man gör vägval. På dessa ställen är det också nödvändigt att lagra datapaket i buffertar eftersom datapaket kan mottas från flera olika enheter i den ovanliggande nivån.
Kortfattad beskrivning av ritningarna Förfarandet enligt uppfinningen kommer att beskrivas mer detaljerat nedan, med särskild hänvisning till rimingama, där Figur 1 är schematisk bild av uppbyggnaden av meddelandefoimatet enligt uppfinningen; Figur 2 är en schematisk bild av en paketfönnedlingsväxel; Figur 3 visar ett exempel på en buffertstruldur där det uppfinningsenliga förfarandet kan användas; Figurerna 4a-4d visar uppbyggnadssmiktiiren av baktrycksmeddelanden med relativ buffertadressering i en buffeitstrulctur där alla buffeitari en gmpp kan skicka datapaket till alla buffertar i nästa gnipp, enligt en första utföringsfonn av uppfinningen; Figurema 5a-5f, visar uppbyggnadsstrulcturen av baktrycksmeddelanden med relativ buffertadressering enligt den första utföringsforinen av uppfinningen i en buffertsnulctur där varje buffert i en grupp kan skicka datapaket till en del av buiïertaina i nästa grupp; Figurema 6a-6g visar uppbyggnadsstrukturen av baktrycksmeddelanden med relativ buñertadressering enligt en andra utföringsfonn av uppfinningen; och Figur 7 visar ett paketfcinnedlingsnät där principen för flödesstyming med hjälp av relativ buñertadresseiing används.
Detaljerad beskrivning av utfóringsformer Figur 1 är en schematisk bild av uppbyggnaden av ett baktrycksmeddelande enligt uppfinningen. Meddelandet innefattar ett meddelandenivåindikatorfált m, som följer med meddelandet från ursprlmgsnivån hela vägen till mottagaren. Enligt en föredragen utföringsfoirn innefattar meddelandenivåindikatorfältet m en siffra n som 510 170 4 anger hur många buffertnivåer meddelandet har passerat. När baktrycksmeddelandet skickas från urspnmgsnivån, innefattar det ett fált, meddelandenivåindikatorfáltet m, som innefattar ett heltal, som t.ex. kan vara O. Baktrycksmeddelandet kan även innefatta ett eller flera valfria falt fx, som till exempel kan innehålla information om hur allvarligt problemet Eventuellt kan meddelandet skickas från ursprungsnivån i form av endast en puls, eftersom en dedicerad ledning används för flödesstyrriingssignalering. För varje nivå meddelandet passerar räknas siffran n upp med l. En enhet som mottar ett bakuycksmeddelande lägger också till ett falt fl, 12, fn som visar vilken av de enheter den skickar till som meddelandet kom från.
Antalet fålt i meddelandet beror på hur många bufïertnivåer i hierarkin meddelandet har passerat.
Metoden förutsätter att den slutgiltiga mottagaren av baktrycksmeddelandet, som är källan i trafikflödet, känner till den underliggande strukturen så att mottagaren kan avgöra vilket datapaketflöde som skall begränsas eller stoppas. Enligt en föredragen utföringsform innehåller fälten fl, ..., fri också iriforrnation om hur många enheter som finns på den aktuella nivån. Informationen i fältet f2 betyder därför att meddelandet har passerat den första av totalt x buffertar på den aktuella nivån.
Denna information kan utelärnnas. På så sätt sparas bandbredd i baktryckssigrialen, men det kräver att mer information om strukturen finns lagrad i mottagaren av meddelandet.
Figur 2 visar en schematisk bild av en traditionell paketförmedlingsvåxel, såsom en ATM-växel, i vilken den uppfinningsenliga buffertsïulctiiren och förfarandet kan realiseras. Växeln innefattar en väljarkärna 1, en eller flera ingångsväljarportar 3 och en eller flera utgångsväljarportar 5. Ingångsväljarportarna 3 och utgångsväljarportarna 5 är vanligtvis realiserade på samma kretskort, men visas i denna schematiska bild som separata logiska enheter. Mellan ingångsväljarportarna 3 och väljarkärnan 1 kan finnas ett eller flera multiplexerorgan 7, eller ingångsväljarportama kan vara direkt anslutna till väljarkäncian 1, såsom visas vid 3”.
Mellan utgångsväljarportarna 5 och väljarkänian l finns ett eller flera 5 510 170 demultiplexerorgan 9. Utgångsväljarportarna 5 kan även vara direkt anslutna till väljarkärrian 1, såsom visas vid 5”. Ingångsväljarporten .>,.> är mottagare av baktrycksmeddelandet, och har information om hur buffertstrulcturen i växeln är uppbyggd- I exemplet nedan antas en buffertstriiktiir med sex nivåer: en buñermivå i ingångsväljaiportama, en på multiplexeniivån. två buffermivåeri väljarkäman, en på demultiplexemivån och en i utgångsväljarportarna. Varje ingångsväljarport har en styrenhet som styr bufferten i ingångsväljarporten.
När en buffert på någon nivå i växeln uppnår för hög fyllnadsgrad skickar den ett bäktrycksmeddelande till den ovanliggande nivån. Ett tïöskelvärde i varje datapaketbuffert används for att bestämma när fyllnadsgraden är för hög.
Enligt en íöredragen utföringsfonn av uppfinningen består baktiycksmeddelandet av ett fält som innehåller siffran O. På nästa nivå räknas siffran upp till 1, och ett fält läggs till som anger ursprungsbuffeitens nummer av det totala antalet buffertar på samma hierarkiska nivå. När meddelandet når nästa nivå, räknas siffran i det första fältet upp med l, samtidigt som ett nytt fält läggs till som talar om numret på bufferten som skickade meddelandet till denna nivå. Dessa två steg upprepas på varje nivå meddelandet passerar på vägen till ingångsväljarporten. Antalet bitar som behövs för varje fält beror på det totala antalet buffertar som finns på den aktuella nivån.
Efter en viss tid, beräknat ut från den hastighet med vilken bufferten skickar celler vidare, kan man börja skicka datapaket till buñerten igen. Meddelandeformatet kan också utökas, t.ex. genom att lägga till ett eller flera datafält, som fältet fx i figur 1, där den bufiert som har problem kan skicka annan information, exempelvis när problemen uppstår eller upphör. Till exempel kan fältet eller fälten fx innehålla signalen l när problemen uppstår och O när problemen upphört, så att den överbelastade bufierten igen kan motta nya datapaket. Fältet eller fälten fx kan också 510 170 6 innehålla infonnation om hur lång tid problemen förväntas kvarstå, d.v.s. när nya paket igen kan skickas till den aktuella bufferten.
Det är också möjligt att definiera flera tröskelvärden för fyllnadsgraden i butfertarna.
Dessa tröskelvärden kan eventuellt sättas individuellt för varje buffert.
Baktryckssignalen kan då innehålla ett fált som anger vilket tröskelvärde som har passerats. De lägre tröskelvärdena kunde till exempel innebära att det fortfarande går att skicka paket till bufferten men med reducerad bithastighet. När det högsta trö skelvärdet för en buffert passerats skulle i så fall all trafik upphöra till den aktuella bufferten.
Figur 3 visar ett exempel på en buffertstruktur där det uppfinningsenliga förfarandet kan användas. Buffertstrulduren består av tre buffertnivåer, men det inses lätt av fackmarinen hur fler eller farre bufierniivåer kan användas med det uppfinningsenliga förfarandet. På den första nivån finns fyra buffertgrupper: BGl med m buffertar numrerade BGl1, BGl2,..., BGm, BG2 med n buffertar numrerade BGZI, BG22, ...BGn, BG3 med r buffertar numrerade BG3 1, BG32,..., BGr, och B64 med s buffertar numrerade BG41, BG42,...BGs. På den andra buffertnivån fmns två buffertgrupper, BG5 med x buffertar numrerade BG5 1, BG52,...BGx, och BG6 med y buffertar numrerade BG6 l, BG62,...,BGy. På den nedje buffertnivån finns en bufiertgrupp, BG7 med z bufiertar numrerade BG7l, BG72,...BGz.
Sifiïorna m, n, r, s, x, y och z kan väljas oberoende av varandra, men är av konstruktionstelcriiska skäl ofta lika, eftersom det är lämpligt att realisera bufifertgruppema som likadana kretsar.
Varje buffert i buffertgruppen BG5 kan motta datapaket från en eller flera buffertar i buffertgruppema BGl och BG2. Varje buffert i buffertgruppen BG6 kan motta datapaket fiån en eller flera buffertar i buffertgtupperna BG3 och BG4. Varje bufiert i buffertgiuppen BG7 kan motta datapaket från en eller flera buffertar i buiïextgrupperna BG5 och BG6. 7 510 170 För varje nivå kan följande lösningar tänkas, vilka medför vissa modifieringar i förfarandet: 1 Varje buffert i en buffertgrupp på en senare hierarkisk nivå kan motta datapaket från varje buffert i en eller flera buffertgrupper på den tidigare hierarkiska nivån. 2 Varje buffert i en buffertgrupp på en senare hierarkisk nivå kan motta datapaket från endast en buiïert i en eller flera bufïertgrjipper på den tidigare hierarkiska nivån. 3 Varje buffert i en buffertgrtrpp på en senare hierarkisk nivå kan motta datapaket från en undergrupp av buiïertar i en eller flera buffertgrupper på den tidigare hierarkiska nivån.
Enligt en första föredragen utföringsform fmns en dedicerad ledning för baknycksmeddelanden från varje buffert till varje buffertgrupp från vilken den mottar datapaket. I det visade exemplet skulle det innebära en ledning från var och en av bufïertarna i BG5 till buffertgmppema BG1 och BG2, en ledning från var och en av buffertarria i BG6 till buffertgruppema BGS och BG4, och en ledning från var och en av bufïertarna i BG7 till buffertgnrpperna BG5 och BG6. Dessutom finns dedicerade ledningar på buffertgnippnivå, dvs. från varje buffertgrupp till var och en av de buffertgnipper från vilka den mottar datapaket.
När en buiïert i buffertgruppen BG5 får problem, skickas baktrycksmeddelanden till buffertgnipperna BGl och BG2 på den dedicerade ledningen från denna buffert. När buiïertgruppen BG5 mottar ett baktrycksmeddelande fiån en buffert i buffertgiuppen BG7, skickas detta meddelande däremot vidare på buffertgruppnivå, för att undvika att buffertgruppema BGl och BG2 mottar samma baktrycksmeddelande från alla de x bufïertama i buffertgruppen BG5.
Antar man att, exempelvis, bufferten BG52 i buffertgruppen BG5 får problem, skickar denna buffert, enligt den första föredragna utforingsfonnen, ett baktrycksmeddelande till alla buiïertar fiån vilka den kan motta datapaket, dvs. en 510 170 8 eller flera buffertar i buffertgrupperna BGl och BG2. Baktrycksmeddelandet består, enligt en föredragen utföringsforrn, av siffran 0 och skickas normalt i praktiken på en dedicerad ledning, inte direkt till varje buffert, men till styrlogikkretsar tillhörande bufifertarna. För enkelhetens skull beskrivs det dock här som om meddelandet skickades direkt till varje buffert.
När baktrycksmeddelandet når buffertarna i buffertgruppema BG1 och BG2, vet dessa buflertar att det kommer från den andra av x buffertar till vilka de kan skicka datapaket. I dessa buffertar läggs därför ett fält till i meddelandet med informationen 2(x). Samtidigt räknas siffran 0 upp till 1, och meddelandet skickas vidare till nästa, ej visade buffermivå.
Antar man i stället att buiïerten BG7l i buffertguppen BG7 får problem, skickar denna buiïert, enligt uppfinningen, ett baktrycksmeddelande till alla buffertar från vilka den kan motta datapaket, dvs. en eller flera buffertar i buffertgrupperna BG5 och BG6. Baktrycksmeddelandet består, som ovan, av siffran 0 och skickas i praktiken till styrlogikkretsar tillhörande buffertarna.
När baktrycksmeddelandet når buiïertarrra i buffertgupperna BG5 och BG6, vet dessa buffertar att det kommer från den forsta av z buffertar till vilka de kan skicka datapaket. I dessa buffertar läggs därför ett fält till i meddelandet med informationen l(z). Samtidigt räknas siffran O upp till 1, och meddelandet skickas vidare till nästa buffermivå, dvs. från buffertguppen BG5 till alla berörda buffertar i buffertgrupperna BGl och BG2., och från buffertgruppen BG6 till alla berörda buffertar i buffertgruppema BG3 och BG4. Här räknas siffran 1 upp till 2 och ett falt läggs till innan meddelandena skickas vidare till nästa, ej visade buffertnivå.
Enligt en andra föredragen utföringsfonn firms enbart dedicerade ledningar på buffertgruppnivå, dvs. fiån buñertgruppen BG7 till buffertgrupperna BG5 och BG6, fiån buffertguppen BG5 till bufifertgrupperna BGl och BG2, och från buffertgruppen BG6 till buffertgruppema BG3 och BG4. I detta fall kan en 9 510 170 buffertgrupp som mottar ett baktrycksmeddelande endast veta vilken bufïertgnipp, men inte vilken bufïerti denna buffertgrupp, meddelandet kom från. Enligt denna andra utföringsforrn måste därför baktiycksmeddelandet, när det skickas från ursprimgsbufferten, innehålla information om buffertens nunirner av det totala antalet bufïertar i buiïertgruppen. Exempelvis skulle ett meddelande som skickas från bufïertgruppen BG7 till buffertgruppema BG5 och BG6 när bufferten BG72 hade problem, behöva innehålla informationen 2(z) för att visa att baktrycksmeddelandet avsåg den andra av z buffertar.
Figiirerna 4a - 4d visar uppbyggnaden av de bakuycksmeddelanden som skickas när bufferten BG71 i buffertgruppen BG7 i den i figur 3 visade buffertstruktiiren får problem, enligt den första föredragna utföringsformen som beskrevs med hänvisning till figur 3. I detta fall finns alltså en dedicerad ledning för baktiycksmeddelanden från varje bufferti buffertgruppen BG7 till buffertgruppema BG5 och BG6. Den visade meddelandestrukturen kan även, som visat med fältet fx i figur 1, utökas med ett eller flera fält, t. ex. ett fält med mer information om problemets karaktär, hur länge det väntas kvarstå och/eller vilket tröskelvärde som har passerats.
Figur 4a visar meddelandet så som det ser ut när det skickas fi-ån bufferten BG71 till buffertgmpperna BG5 och BG6. Endast ett fält m' finns, innehållande Siffran 0.
Figur 4b visar meddelandet så som det ser ut när det skickas från var och en av buffertgruppema BG5 och BG6 till bufïertgrupperna BGl och BG2, respektive BG3 och BG4. Till det första meddelandet har ett fält rnfl lagts till, med information om vilken buffert, av z stycken möjliga buffertar, meddelandet mottogs från, dvs. l(z).
Figur 4c visar meddelandet så som det ser ut när det skickas vidare från buíïertgiupperna BGl och BG2 till nästa, ej visade, nivå. Ett fält rnfi med informationen O(x) har lagts till för att visa fiån vilken buffertgrupp meddelandet mottogs. 510 170 i u; Figur 4d visar meddelandet så som det ser ut när det skickas vidare från buíïertgrupperna BG3 och BG4 till nästa, ej visade, nivå. Ett fält mfå med informationen O(y) har lagts till för att visa från vilken butïertgmpp meddelandet mottogs.
Siffran 0 i fälten mfl och mß skulle kunna utelämnas, men används i denna utföringsforrn för att ange att alla buffertar i buffertgruppen berörs av meddelandet. l figurerna 4a-4d antas att alla buffertar i en buffertgrupp mottar datapaket från alla buffertar i de buffertgrupper från vilka buffextgnippen mottar data. Det är även möjligt att låta vissa buffertar i en buffertgrupp motta data endast fiån vissa buffertar i en annan buffertgrupp. Denna situation visas i figurerna 5a-5f.
Antar man, till exempel, att bufferten BG71 kan motta paket från buffertarna BG51 och BG52 i buffertgnippen BG5 och från buffertarna BG63 och BG64 i buffertgruppen BG6, kommer baktrycksmeddelandet när det når buffertgruppema BG5 och BG6 att se ut som i figur 4a. Två buffertar i vardera buffertgrupp BG5 och BG6 berörs. För att visa detta, kan antingen samtliga berörda buffertar i en buffertgnipp anges i samma baktiycksmeddelande, eller ett bäktrycksmeddelande kan skickas för varje berörd buffert.
I det första fallet skickas endast ett meddelande från buffertgruppen BG5 till buffertgrupperna BGl och BGZ, som ser ut som visat i figur Sa. Meddelandet innefattar ett meddelandenivåíndikatorfält m”, ett fält mf 11 som visar vilken buffert som har problem och ett fält mf 12 som visar vilka buffertar i buffertgmppen BG5 som berörs dvs. den första och andra bufferten av totalt x buffertar.
I det senare fallet skickas två meddelanden fiån butïertgruppen BG5 till var och en av buffertgruppema BGl och BG2, som ser ut som visat i figurerna 5b och 5c.
Meddelandet innefattar ett meddelandenivåíndikatorfält m”, ett fält mfl I' som visar vilken buffert som har problem och ett fält mf13, mf 14 som visar vilken buffert i I, s 10 170 buiïertgruppen BG5 meddelandet avser. Eftersom buffertania BG5l och BG52 berörs, har i figur 5b ett filt mf13 med siffran 1(x) lags till, och i figur 5c har ett fält mf14 med siffran 2(x) lagts till.
Från bufïertguppen BG6 till buffertgmppema BG3 och BG4 skickas antingen ett meddelande som visat i figur 5d där ett fält mt22 med siffran 3,4(y) har lagts till.
Altemativt kan två meddelanden, som visat i figurerna Se och 5f skickas, varav det ena irmefattar ett fält mí23 som anger bufferten 3(y) och det andra innefattar ett fält mí24 som anger butïerten 4(y).
Figur 6a - 6g visar uppbyggnaden av de baktrycksmeddelanden som skickas när butïerten BG72 i buñertgruppen BG7 i den i figur 3 visade buffertstrukturen får problem, enligt den andra föredragna utföringsfonnen som beskrevs med hänvisning till figur 3. I detta fall ñnns endast en dedicerad ledning för baknycksmeddelanden fiån hela buffertgruppen BG7 till buffertgruppema BGS och BG6. Den visade meddelandestmkniren kan även, som visat i figur 1, utökas med ett flera fält, tex. ett fält med mer information om problemets karaktär, hur länge det väntas kvarstå och/eller vilket tröskelvärde som har passerats.
Figur 6a visar meddelandet så som det ser ut när det skickas fiån buffertgruppen BG7 till buñertgruppema BG5 och BG6. Ett startindikatorfalt m”' finns, innehållande siffran O, följt av ett fält mf31 som visar vilken buffert av det totala antalet buiïertar i butfertgruppen BG7 meddelandet avser.
Figur 6b visar meddelandet så som det ser ut när det skickas fiån buffertgnrppen BG5 till bufiertgruppema BG1 och BG2. Till det första meddelandet har ett fält mf32 med information om antalet buffertar i den buffertgrupp meddelandet nu skickas vidare från, lags till, dvs. (x).
Figur 6c visar meddelandet så som det ser ut när det skickas från buffertgmppen BG6 till butïertgrupperna BG3 och BG4. Till det första meddelandet har ett fält 510 170 12 mf33 med information om antalet buiïertar i den buffertgrupp meddelandet nu skickas vidare från, lags till, dvs. (y).
Figur 6d visar meddelandet så som det ser ut när det skickas vidare från buffertgruppen BGl till nästa, ej visade, nivå. Ett fält mf34 med informationen (m) har lagts till för att visa antalet buffertar i den buffertgrupp meddelandet nu skickas vidare från.
Figur 6e visar meddelandet så som det ser ut när det skickas vidare från bufiertgruppen BG2 till nästa, ej visade, nivå. Ett fält mf55 med informationen (n) har lagts till för att visa antalet buffertar i den buiïertgrupp meddelandet nu skickas vidare från.
Figur 6f visar meddelandet så som det ser ut när det skickas vidare från buffertgruppen BGS till nästa, ej visade, nivå. Ett fält mf36 med informationen (r) har lagts till för att visa antalet buffertar i den buffertgrupp meddelandet mottogs från.
Figur 6g visar meddelandet så som det ser ut när det skickas vidare från bufiertgruppen BG3 till nästa, ej visade, nivå. Ett fält mf37 med informationen (s) har lagts till för att visa antalet buffertar i den bufïertgrupp meddelandet mottogs från.
I de visade exemplen läggs varje nytt falt till strax efter meddelandenivåindikatorfáltet m' ' '. Därmed kommer det fält som lades till först att hamna längst bak i meddelandet. Det är även möjligt att lägga till varje nytt fält längst bak i meddelandet. Givetvis kan man även lägga till varje nytt fält på godtycklig plats i meddelandet, t.ex. växelvis längst bak och längst fram, men sådana lösningar skulle endast bli onödigt komplicerade utan att tillföra någon funktionalitet, och är därför olämpliga. 13 510170 Med hänvisning till den i figur 2 visade väljarstruktiiren är ingångsväljaxportarna mottagare av baktrycksmeddelandena, och skickar dem därför inte vidare. l ingångsväljarporten behöver därför inget ytterligare fält läggas till. Det är dock möjligt att ingångsväljarporten för sin egen del lägger till information om vilken av ingångsväljarportens utgångsbuffertar som berörs av det mottagna baktrycksmeddelandet.
Man kan även tänka sig att låta ett baktrycksmeddelande från en buffert endast skickas en nivå upp i bufferthierarkin. Detta skulle dock medföra att en buffert på den högre nivån som mottar ett baktxycksmeddelande skulle tvingas sluta sända till alla buffertar på den lägre nivån, inte bara till den buffert som har problem. Med det uppfinningsenliga förfarandet uppnår man däremot att alla källor som sänder data som är avsett att passera den buffert som har problem, köas upp i ingångsväljarporten, men ingen annan trafik.
De ovan beskrivna principerna med relativ adressering kan även med fördel användas i ett paketförrnedlingsnät där noderna till exempel utgörs av datarouters.
Om den ovan beskrivna principen för relativ adressering används, behöver en godtycklig nod i nätet inte kärma till nätets arkitektur eller sin egen placering i nätet.
När ett signaleringsbehov föreligger hos den aktuella noden så skickar denna nod iväg en meddelandenivåindikator innehållande t.ex. sifiran 0, samt ett fält som t.ex. innehåller information om vilken buiïertstruldur i noden som ej får passeras, till alla noder från vilka den mottar signaler. Var och en av dessa noder räknar upp meddelandenivåindikatorn till 1 och lägger till ett fält som anger vilken nod, av de noderna den är förbunden med, meddelandet kom från. En nod identifieras i en annan nod med det nummer den har av alla noder som mottar signaler från den andra noden.
Figur 7 visar ett paketfñrrnedlingsnät där det uppfinningsenliga förfarandet tillämpas.
Nätet i exemplet innefattar en första nod, t.ex. paketfönnedlingsväxel 11, förbunden med en andra 13, en tredje 15 och en fjärde 17 paketfönnedlingsväxel och en första 510 170 14 värdnod 19. Den andra 13 och den tredje noden 15, samt en andra värdnod 21, är också förbundna med den fiärde noden 17. Alla förbindelser i nätet är dubbeh-iktade.
Varje nod i nätet vet med hur många andra noder den är förbunden, men behöver i övrigt inte känna till nätarkitekturen, och inte heller sin egen placering i denna nätarkitektur. Värdnodema måste däremot kärma till arkitekturen i nätet så att de kan avgöra vilken nod som är källan till ett meddelande, och sluta sända paket som kommer att passera denna nod.
Det antas, för åskådlighetens skull, att värdnoden 19 överför data till värdnoden 21 via nodema 11 och 17. Om noden 17 får problem med mottagningen eller buffertstrulduren mot noden 21 når en för hög fyllnadsgrad, skickar den ett baktrycksmeddelande till alla noder i nätet från vilka den kan motta signaler, d.v.s. till samtliga noder ll, 13 och 15, om att den inte kan skicka datapaket till värdnoden 21. I detta fall består baktrycksmeddelandet av ett meddelandenivåindikatorfält innehållande siffran O samt information om vilken av nodens utgångsbuffertstrulaurer som har problem. Som beskrivits ovan kan meddelandet även innehålla ett infonnationsfált som tex. talar om vilket problem som uppstått, eller om signalen betyder att trafiken skall stanna eller att den kan börja igen. växeln 11 mottar baktrycksigialen, lägger den till ett fält som anger från vilken nod signalen kom. Växeln ll ser växeln 17 som nummer 2 av fyra noder med vilka den är förbunden, och lägger därför in siffrorna 2(4) i fältet.
Meddelandenivåindikatorn räknas upp från 0 till 1, och meddelandet skickas vidare till värdnoden 19, som därmed uppmanas att sluta sända paket som är avsedda att passera noden 17 och skickas vidare till värdnoden 21.
Baktrycksignalen mottas även i nodema 13 och 15. lnoden 13 ses noden 17 som den första av två noder med vilka den är förbunden. Nöden 13 lägger därför till ett fält innehållande siflfran l(2) och räknar upp meddelandenivåindikatom till 1. Från noden 13 skickas signalen vidare till noden 11, där meddelandenivåindikatom rälcnas 15 510 170 upp till 2 och ett fält innehållande siffrorna 1(4) läggs till för att visa att signalen kom från den första av de fyra noder med vilken noden 11 är förbunden.
Baktrycksigrialen passerar också via noden 15 till noden ll och vidare till värdnoden 19, som därmed får tre baktrycksmeddelanden från samma nod om samma problem.
De noder som skall vara källor till trafik på nätet måste därför känna till nätarkitekturen väl för att inse att dessa tre signaler har samma urspnmg och redan när den första baktryckssigrialen mottas, stänga av all trafik som är avsedd att passera genom noden 17 med noden 21 som destination, direkt eller via en annan nod.

Claims (16)

510 170 16 Patentkrav
1. l. Förfarande för styrning av ett datapaketflöde mellan åtminstone med två med varandra förbundna enheter mellan vilka datapaket överförs åtminstone i en riktning, kännetecknat av följande steg: - en mottagande enhet som permanent eller temporärt inte längre kan motta datapaket skickar ett baktrycksmeddelande till den eller de enheter från vilken den är anordnad att motta datapaket; - en enhet som mottar ett sådant baktrycksmeddelande ändrar och/eller gör tillägg i detta meddelande så att det innehåller information om samtliga enheter meddelandet har passerat; - källan eller källorna för datapaketflöden, när ett baktrycksmeddelande mottas, reducerar eller stoppar alla datapaketflöden avsedda att passera den enhet från vilken baktrycksmeddelandet ursprungligen utgick.
2. Förfarande enligt krav l, kännetecknat av att baktrycksmeddelandet innefattar ett första fält (m) som anger hur många nivåer meddelandet har passerat, och att följande steg upprepas för varje enhet meddelandet passerar: - meddelandenivåindikatorn i det första fältet (m) räknas upp med l; - ett fält läggs till, som anger från vilken enhet meddelandet senast kom, relativt den enhet hos vilken meddelandet befinner sig; - meddelandet skickas vidare till alla enheter från vilka den enhet hos vilken meddelandet befinner sig, är anordnad att motta data.
3. Förfarande enligt krav 1, kännetecknat av att baktrycksmeddelandet innefattar ett första falt (m) som anger hur många nivåer meddelandet har passerat, och att följande steg upprepas för varje enhet meddelandet passerar: - meddelandenivåindikatom i det första fältet (m) räknas upp med 1; - ett fält läggs till, som anger hos vilken enhet meddelandet nu befinner sig, relativt de nivå fiån vilken denna enhet är anordnad att motta datapaket; I, 510 170 - meddelandet skickas vidare till alla enheter från vilka den enhet hos vilken meddelandet befinner sig, är anordnad att motta data.
4. Förfarande enligt krav 1, 2 eller 3, kânnetecknad av att den enhet från vilken ett baktrycksmeddelande mottas i en annan enhet, identifieras med sitt nummer av det totala antal enheter från vilken den mottagande enheten är förbunden.
5. Förfarande enligt något av kraven 1-4, kännetecknat av att en enhet som skickar eller skickar vidare ett baku-ycksmeddelande, lägger till information vilken enhet fiån den underliggande nivån meddelandet senast kom från.
6. F örfarande enligt något av föregående krav, kännetecknat av att ett standardvärde sätts för hur länge ett baktrycksmeddelande skall beaktas.
7. F örfarande enligt något av föregående krav, kännetecknat av den enhet från vilken baktrycksmeddelandet först utgår även lägger till ett extra fält anordnat att innehålla övrig information.
8. F örfarande enligt krav 7, kännetecknad av att fältet för övrig information år anordnat att anta ett av två möjliga vården som tillkännager att baktrycksmeddelandet anger början på problemen respektive att problemen upphört.
9. Förfarande enligt lcrav 7 eller 8, kännetecknat av att fältet för övrig information innefattar information om buffertens fyllnadsgrad, som anger vilken åtgärd den mottagande enheten skall vidta som reaktion på baktrycksmeddelandet.
10. F örfarande enligt krav 7 eller 9, kännetecknat av att fältet för övrig information innefattar information om för hur lång tid baktrycksmeddelandet skall anses gälla.
11. ll. F örfarande enligt något av föregående krav, kännetecknat av att den enhet från vilken baktrycksmeddelandet utgår är en buffert i en hierarki av buiïertar i en 510 170 18 paketförrnedlingsväxel, och att den enhet som mottar och reagerar på baktrycksmeddelandet är en buffert på en högre nivå i samma bufferthierarki.
12. Förfarande enligt något av föregående krav, kännetecknat av att den enhet från vilken baktrycksmeddelandet utgår är en nod i ett paketförrnedlirigsnät och att den enheten som mottar och reagerar på baktrycksmeddelandet är en värdnod i nämnda paketförrnedlingsnät.
13. Hierarkisk struktur av buffertar där varje buffert är anordnad att motta datapaket från åtminstone en buffert på den närmaste tidigare hierarkiska nivån och att överföra datapaket till åtminstone en buffert på den närmaste efterföljande hierarkiska nivån, kännetecknad av att det för varje buffert, eller för en grupp av buffertar på samma hierarkiska nivå, finns styrlogik som är anordnad att - jämföra buffertens eller buffertarnas fyllnadsgrad med ett eller flera tröskelvärden; - när en bufferts fyllnadsgrad överstiger ett tröskelvärde, skicka ett baktxycksrneddelande till den närmaste tidigare hierarkiska nivån - när ett sådant baktrycksmeddelande mottas från styrlogiken för en buffert på en efterföljande hierarkisk nivå, ändrar och/eller gör tillägg i detta meddelande så att det innehåller information om vilka enheter meddelandet har passerat.
14. Hierarkisk struktur av buffertar enligt krav 13, kännetecknad av att ett baktrycksmeddelande innefattar ett första fält (m) som anger hur många nivåer meddelandet har passerat, och att varje buffert, eller dess styrlogik, är anordnad att utföra följande steg när ett baknycksmeddelande mottas: - räkna upp meddelandenivåindikatom i det första fältet (m) med 1; - lägga till ett fält som anger från vilken buffert eller bufiertgrupp på den närmaste efterföljande hierarkiska nivån baktrycksmeddelandet kom relativt den enhet hos vilken baktrycksmeddelandet befmner sig; - skicka baktrycksmeddelandet vidare till den närmaste tidigare hierarkiska nivån. I, s 1 o 170
15. Hierarkisk struktur av buffertar enligt krav 13, kännetecknad av att ett baktrycksrneddelande irmefattar ett första fält (m) som anger hunmånga nivåer meddelandet har passerat, och att varje buffert, eller dess styrlogik, är anordnad att utföra följande steg när ett baktrycksmeddelande mottas: - räkna upp meddelandenivåindikatom i det första fältet (m) med 1; - lägga till ett fält som anger hos vilken butïett eller buffertgrupp baktrycksmeddelandet nu befinner sig, relativt den närmaste tidigare hierarkiska mvån; - skicka bakrrycksmeddelandet vidare till den närmaste tidigare hierarkiska nivån.
16. Paketförmedlingsväxel innefattande en hierarkisk struktur av buffertar där varje buffert är anordnad att motta datapaket från en eller flera buffertar på den närmaste föregående hierarkiska nivån och att överföra datapaket till en eller flera buffertar på den närmaste efterföljande hierarkiska nivån, kännetecknad av att varje buffert är anordnad att - när den uppnår en viss fyllnadsgrad, skicka ett baktrycksmeddelande till alla buíïertar från vilka den mottar datapaket för att tillkännage att den inte kan motta flera datapaket; - när den mottar ett baktrycksmeddelande från den närmaste efterföljande hierarkiska nivån, lägga till iriforrrxation som visar från vilken av de buffertar till vilka denna buffert överför paket, baktrycksmeddelandet kom, och skicka meddelandet vidare till alla buffertar från vilken den mottar datapaket.
SE9701841A 1997-05-16 1997-05-16 Metod och anordning för styrning av datapaketflöde medelst baktrycksmeddelande SE510170C2 (sv)

Priority Applications (4)

Application Number Priority Date Filing Date Title
SE9701841A SE510170C2 (sv) 1997-05-16 1997-05-16 Metod och anordning för styrning av datapaketflöde medelst baktrycksmeddelande
PCT/SE1998/000896 WO1998052328A2 (en) 1997-05-16 1998-05-14 Method and apparatus in a packet switched network
AU75601/98A AU7560198A (en) 1997-05-16 1998-05-14 Method and apparatus in a packet switched network
US09/440,769 US6671255B1 (en) 1997-05-16 1999-11-16 Method and apparatus in a packet switched network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9701841A SE510170C2 (sv) 1997-05-16 1997-05-16 Metod och anordning för styrning av datapaketflöde medelst baktrycksmeddelande

Publications (3)

Publication Number Publication Date
SE9701841D0 SE9701841D0 (sv) 1997-05-16
SE9701841L SE9701841L (sv) 1998-11-17
SE510170C2 true SE510170C2 (sv) 1999-04-26

Family

ID=20406975

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9701841A SE510170C2 (sv) 1997-05-16 1997-05-16 Metod och anordning för styrning av datapaketflöde medelst baktrycksmeddelande

Country Status (4)

Country Link
US (1) US6671255B1 (sv)
AU (1) AU7560198A (sv)
SE (1) SE510170C2 (sv)
WO (1) WO1998052328A2 (sv)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002001817A1 (en) * 2000-06-29 2002-01-03 Nokia Corporation Method and device for routing data packets in communication networks

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6745277B1 (en) * 2000-10-04 2004-06-01 Force10 Networks, Inc. Intelligent interleaving scheme for multibank memory
US20030101158A1 (en) * 2001-11-28 2003-05-29 Pinto Oscar P. Mechanism for managing incoming data messages in a cluster
US7145904B2 (en) * 2002-01-03 2006-12-05 Integrated Device Technology, Inc. Switch queue predictive protocol (SQPP) based packet switching technique
US20060184697A1 (en) * 2005-02-11 2006-08-17 Microsoft Corporation Detecting clock drift in networked devices through monitoring client buffer fullness
US7872973B2 (en) * 2006-03-17 2011-01-18 Alcatel Lucent Method and system for using a queuing device as a lossless stage in a network device in a communications network
CN100550852C (zh) * 2007-01-18 2009-10-14 华为技术有限公司 一种实现海量端口反压的方法及其装置
US9053072B2 (en) * 2007-01-25 2015-06-09 Hewlett-Packard Development Company, L.P. End node transactions at threshold-partial fullness of storage space
CN100591047C (zh) * 2007-02-10 2010-02-17 华为技术有限公司 一种多级交换网的反压方法、系统及交换节点
US20080298397A1 (en) * 2007-05-16 2008-12-04 Broadcom Corporation Communication fabric bandwidth management

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2753294B2 (ja) * 1988-12-23 1998-05-18 株式会社日立製作所 パケット輻輳制御方法およびパケット交換装置
US5253248A (en) 1990-07-03 1993-10-12 At&T Bell Laboratories Congestion control for connectionless traffic in data networks via alternate routing
EP0512495B1 (en) * 1991-05-07 2001-12-05 Fujitsu Limited Switching node in a network with label multiplexed information
US5319638A (en) 1991-09-12 1994-06-07 Bell Communications Research, Inc. Link-by-link congestion control for packet transmission systems
MX9306994A (es) * 1992-12-15 1994-06-30 Ericsson Telefon Ab L M Sistema de control de flujo para interruptores de paquete.
US5457687A (en) * 1993-09-02 1995-10-10 Network Equipment Technologies, Inc. Method and apparatus for backward explicit congestion notification (BECN) in an ATM network
JP3187230B2 (ja) * 1993-09-06 2001-07-11 株式会社東芝 ふくそう制御方法及びふくそう制御装置
JP2639335B2 (ja) * 1993-12-22 1997-08-13 日本電気株式会社 Atm網における輻輳制御方式
AU670523B2 (en) * 1994-01-14 1996-07-18 Google Technology Holdings LLC Method and system for ATM traffic management
US5475682A (en) 1994-06-10 1995-12-12 At&T Corp. Method of regulating backpressure traffic in a packet switched network
EP0712220A1 (en) * 1994-11-08 1996-05-15 International Business Machines Corporation Hop-by-hop flow control in an ATM network
ZA959722B (en) 1994-12-19 1996-05-31 Alcatel Nv Traffic management and congestion control for packet-based networks
US5996019A (en) * 1995-07-19 1999-11-30 Fujitsu Network Communications, Inc. Network link access scheduling using a plurality of prioritized lists containing queue identifiers
EP1635520A3 (en) * 1995-09-18 2009-03-18 Kabushiki Kaisha Toshiba Packet transfer method and device
US5689500A (en) * 1996-01-16 1997-11-18 Lucent Technologies, Inc. Multistage network having multicast routing congestion feedback
US5825751A (en) * 1996-09-10 1998-10-20 Ncr Corporation Method and apparatus for tracing frames transmitted through a network path
US6011779A (en) * 1996-12-30 2000-01-04 Hyundai Electronics America ATM switch queuing system
US6052376A (en) * 1996-12-30 2000-04-18 Hyundai Electronics America Distributed buffering system for ATM switches

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002001817A1 (en) * 2000-06-29 2002-01-03 Nokia Corporation Method and device for routing data packets in communication networks
US7843921B2 (en) 2000-06-29 2010-11-30 Nokia Corporation Method and device for routing data packets in a communication networks

Also Published As

Publication number Publication date
WO1998052328A3 (en) 1999-02-18
SE9701841L (sv) 1998-11-17
SE9701841D0 (sv) 1997-05-16
WO1998052328A2 (en) 1998-11-19
AU7560198A (en) 1998-12-08
US6671255B1 (en) 2003-12-30

Similar Documents

Publication Publication Date Title
US6212582B1 (en) Method for multi-priority, multicast flow control in a packet switch
US6606300B1 (en) Flow control process for a switching system and system for performing the same
US6396809B1 (en) Method for signaling in a high speed communication system
CN100405344C (zh) 用于在交换结构中分发缓冲区状态信息的装置和方法
US5828475A (en) Bypass switching and messaging mechanism for providing intermix data transfer for a fiber optic switch using a bypass bus and buffer
JP4679794B2 (ja) 正しくする受信器
US5859846A (en) Fully-interconnected asynchronous transfer mode switching apparatus
KR970056414A (ko) 확장 구조를 갖는 에이티엠(atm) 계층 기능 처리 장치
EP1489796B1 (en) Fabric access node integrated circuit configured to bound cell reorder buffer depth
JPH07202942A (ja) パケット交換機
JPH07321822A (ja) マルチキャスティング機能を備えた装置
JP3052940B2 (ja) 伝送経路切換装置
JP3908483B2 (ja) 通信装置
SE510170C2 (sv) Metod och anordning för styrning av datapaketflöde medelst baktrycksmeddelande
GB2356104A (en) Network switch including bandwidth controller
JPH10262020A (ja) 回線多重化方式
KR100246627B1 (ko) 트래픽 흐름제어 및 감시기능을 갖는 멀티채널 패킷 스위칭 장치
SE467079B (sv) Saett och anordning foer adressering i ett paketnaet
SE515172C2 (sv) Anordning och förfarande vid telekommunikationsnät
US6282171B1 (en) System and method regarding early packet discard (EPD) and partial packet discard (PPD)
WO2001067672A2 (en) Virtual channel flow control
JP4798889B2 (ja) ロングパケットの取り扱い
SE460750B (sv) Telekommunikationssystem i vilket tal- och datainformation i tidsuppdelad form oeverfoers oever bussar i ett matrisformat naet
JP2570642B2 (ja) Atmセル交換装置
JP2546490B2 (ja) スイッチング・システム

Legal Events

Date Code Title Description
NUG Patent has lapsed