SE523222C2 - Förfarande och apparat för att fördela paket över parallella kommunikationslänkar - Google Patents

Förfarande och apparat för att fördela paket över parallella kommunikationslänkar

Info

Publication number
SE523222C2
SE523222C2 SE9903803A SE9903803A SE523222C2 SE 523222 C2 SE523222 C2 SE 523222C2 SE 9903803 A SE9903803 A SE 9903803A SE 9903803 A SE9903803 A SE 9903803A SE 523222 C2 SE523222 C2 SE 523222C2
Authority
SE
Sweden
Prior art keywords
sublinks
packet
available
links
sub
Prior art date
Application number
SE9903803A
Other languages
English (en)
Other versions
SE9903803D0 (sv
Inventor
Craig Partidge
Original Assignee
Gte Internetworking Inc
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 Gte Internetworking Inc filed Critical Gte Internetworking Inc
Publication of SE9903803D0 publication Critical patent/SE9903803D0/sv
Publication of SE523222C2 publication Critical patent/SE523222C2/sv

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/243Multipath using M+N parallel active paths

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

25 30 523 222 2 Synkron, digital hierarki (SDH) är ett nätprotokoll, som används för att bära data genererat av en mängd kommunikationssystem, innefattande röst, data och video.
För närvarande finns det tre olika versioner av SDH: SDH-Europa, SDH-J apan och SONET för Nordamerika. Dessa system är väsentligen kompatibla och refereras kollektivt till som SONET.
Många WANs använder SONET eftersom det kan inrymma olika protokoll och bandbredder, såsom T-1, T-3 och E-1. Nätsystem, som implementerar SONET kan ta bort bandbredden vid geografiskt avlägsna lägen utan svårighet. SONET-baserade nät använder lägg till/dra bort-multiplexer (ADM = Add/Drop Multiplexers) för att fördela höghastighetsdata vid olika geografiska lägen snarare än vanliga multiplex- er, som demultiplexerar och återsarnlar bandbredd vid varje avtappningspunkt.
Denna utformning tillåter SONET att leverera höghastighetsdata effektivt. Sålunda är SONET önskvärt i videosystem, interaktiva spel, e-handel och andra tillämpning- ar som kräver hög bandbredd och låg latenstid.
Höghastighets-SONET-nät kan överföra data vid ungefär 10 Gbps per sekund eller OC-192. OC-192 är väsentligen 192 gånger snabbare än OC-1 (51,85 Mbps). SO- NET och SDH arbetar vid multiplar av 51,85 Mbps för att ge effektiv omvandling från en datahastighet till den andra.
Många företag har tekniska svårigheter att implementera höghastighets OC-192-nät i praktiken. Till exempel kan OC-192 inte fungera tillfredsställande i nät med äldre överfóringsmedier på grund av de geometriska oregelbundenhctema eller orenheter- na i överföringsmediematerialet. Dessa oregelbundenheter eller orenheter kan orsa- ka att en signalfrekvens skiftar över långa avstånd, och genom ett fenomen som är känt som polarisationstillståndsdispersion, introducera störning och fórvrängning på OC- 192 kommunikationslänken. Vidare kan, även med nya kablar, implementering av OC-192 vara svår utan att utveckla dyra, optiska överfórare som arbetar vid mycket höga frekvenser och är benägna till felfimktion. 10 15 20 25 30 523 222 3 För att övervinna dessa svårigheter har många WANs åstadkommit OC- 192 och högre bandbredd genom att sammanföra många optiska kanaler eller kopparkanaler med lägre hastighet. Dessa WANs kombinerar många OC-48 kanaler genom att an- vända en teknologi som är känd som vågdivisionsmultiplexering eller WDM. På ett fiberoptiskt nät tar WDM fördel av den inneboende höga bandbreddskapaciteten för en optisk fiber genom att överföra data parallellt vid olika våglängder. Lasrar, som utsänder olika våglängder, tillåter dessa olika kanaler att samexistera på ett delat optiskt medium. WDM använder olika våglängder för att upprätta en separat sub- länk mellan överförar/mottagar-paret. Systemet mottar WDM-överföringen med optiska mottagare, som är känsliga för de olika våglängderna, som används under överföringen. Överföring av information parallellt över multipla sublänkar ökar den totala kapaciteten i ett SONET system.
Många WDM-nät ansluter flera, parallella sublänkar till en enkel kommunikations- länk vid en nätförbindelse. Speciellt utformade nätförbindningsanordningar, såsom routrar eller växlar, överför data fiam och åter mellan näten, som är anslutna till denna förbindelse. Dessa nätförbundna anordningar kan hämta data från den enkla kommunikationsläriken och fördela det på ett förutbestämt sätt över flertalet sublän- kar. Motsatt kan också de nätförbundna anordningama samla data från de multipla sublänkama till en enkel dataström för överföring över en enkel kommunikations- länk.
Paket-för-paket-strimling (dela upp i strimlor) är ett förfarande för att överföra data från en enkel länk till flera sublänkar. Paket-för-paket-strirriling fördelar ett paket på en första sublänk och efterföljande paket på efterföljande sublänkar. Denna teknik fördelar flera paket över flera sublänkar och överför datat parallellt. Som regel bär den först tillgängliga sublänken paketen för dataöverföring. Denna använder resur- ser effektivt, men sänder paket i oordning och introducerar ytterligare databearbetningsomkostnad för återinordningen av paketen vid mottagaren.
Existerande system har haft svårighet att få paket-för-paket-strimling att fimgera på ett arbetsbesparande sätt. I ett arbetsbesparande system förblir inte server- och nät- 10 15 20 25 30 523 222 4 resurser vilande utan överför eller mottar datapaket när de står redo i en kö. Tyvärr lärnnar system, som sänder paket i sekvens, några Sublänkar outnyttjade i väntan på överföring av nästföljande paket. Omvänt, kan system som sänder paket i oordning orsaka att en mottagare tillfälligt stannar medan den återinordnar paket. Detta av- brott kan fördröja överföring av data på Sublänkar nedströms från mottagarenheten och underutnyttj a dessa sublänkar.
Paket, som sänds i oordning, kräver ofta ytterligare resurser och lagring. Varje pa- ket, som överförs i oordning, enligt ett paket-för-paket-strimlingsschema har se- kvensinforrnation associerad med varje paket. Som ett resultat av detta kan paket behöva utökas för att ha plats för sekvensinformation. Detta kan leda till ökade buf- fertstorlekar och kan påverka användning av andra nätrelaterade resurser.
Ett förfarande för utförande av paket-för-paket-strirnling över flera parallella kana- ler under bibehållande av paketordning föreslogs i ”A Reliable and Scalable Stri- ping Protocol” av H. Adiseshu, G. Parulkar och G. Varghese, ACM SIGCOMM, vol. 26, nr 4, sid. 131-141, oktober 1996. Denna paket-för-paket-strimlirigsteknik, känd som strIPe, sänder paket i sekvens utan att placera explicita sekvensnurnrner i varje paket. Liksom andra konventionella system är denna teknik inte heller arbets- besparande och kan lämna nätbandbredder underutnyttj ade.
I strIPe representerar en byte-räknare som är associerad med varje sublänk antalet bytes som en sublänk kan överföra under ett tidsintervall. Sublänksinitialisering sätter varje byte-räknare till ett positivt värde, som motsvarar sublänkens överfö- ringsbandbredd. Om alla parallella Sublänkar har samma bandbredd, sätter sub- länksinitialiseringen varje byte-räknare till samma värde. Sublänkar med olika bandbredd initialiseras till olika värden.
En överföringsanordning sänder ett paket på en första sublänk i den parallella sub- länksuppsättningen och subtraherar paketstorleken i bytes från byte-räknaren, som är associerad med den första sublänken. När den nedräknade byte-räknaren indike- rar ett negativt nummer, väljer överföringsanordningen en efterföljande sublänk för 10 15 20 25 30 523 222 5 att överföra paket. Under tiden återinitialiseras den till sublänken associerade byte- räknaren till det ursprungliga startvärdet. Denna process upprepas tills alla ytterliga- re paket är överförda.
En mottagare vänder denna process för att läsa paket från de multipla, parallella sublänkarna. Först läser mottagaren paket från den första sublänken. Antalet paket som mottagaren kommer att läsa från den första sublänken beror på bandbredden av den första sublånken och det initialiseringsvärde som använts för att initialisera den första sublänkens byte-räknare. När den första gruppen paket blivit lästa från den första sublänken, läser mottagaren ytterligare paket från efterföljande sublänkar på liknande sätt.
Den nänmda strIPe-tekniken bibehåller paketordning, men är inte helt arbetsbespa- rande. En överförare sänder flera paket över en enkel sublänk tills sublänken har nått en förutbestämd överföringskapacitet. Under tiden förblir andra parallella sub- länkar vilande. Detta är inte arbetsbesparande, eftersom några sublänkar kan förbli vilande medan icke sända paket befinner sig i kön redo för överföring.
Med strIPe-processen kan det inträffa att paket inte helle överförs i ordning om sublänkama överför data vid olika datahastigheter. Paket överförda via en höghas- tighetssublänk kan anlända till mottagaren före paket överförda via en långsamrnare låghastighetssublärik. Följaktligen är det möjligt att mottagaren kommer att vänta på paket på den långsamrnare låghastighetssublänken, eftersom paket senare i datase- kvensen och överförda på den snabbare sublänken redan har anlänt. Detta är inef- fektivt och inte arbetsbesparande, eftersom mottagningsenheten måste vänta på ett paket på en långsammare sublänk och fördröja behandling av data på den snabbare sublänken.
Det är därför önskvärt att utveckla en ny teknik för att fördela data från en enkel länk till flera, parallella sublänkar på ett nät och att samla ihop data från flera, pa- rallella sublänkar tillbaka på den enkla länken. 10 15 20 25 30 523 222 6 SAMMANFATTNING AV UPPFINNINGEN I en aspekt av föreliggande system tillhandahålles ett förfarande och en apparat för utförande av paketbaserade datakommunikationer över en parallell uppsättning sublänkar. Som regel utförs förfarandet på en processor kopplad till tvâ eller flera parallella kommunikationssublänkar och en enkel sublänk. Förfarandet överför pa- ket mottagna över den enkla sublärilcen genom att strimla paketen över varje sublänk på ett nytt och effektivt sätt. Initialt tar förfarandet emot datapaket i serie över en enkel kommunikationslärrk. Därefter separerar förfarandet sublänkama till en till- gänglig uppsättning sublänkar och en upptagen uppsättning sublänkar. Paket som är redo fór överföring strimlas sedan över sublänkar i den tillgängliga sublänksupp- sättningen.
I en annan aspekt av uppfinningen tillhandahålles ett förfarande för att ta emot paket i fler än två eller fler sublänkar. Detta förfarande tar emot ett eller flera datapaket parallellt över en uppsättning tillgängliga sublärmar. Genom att använda ett se- kvensnummer associerat med startblocket (header-n) för varje paket skiljer förfaran- det ut ett eller flera datapaket som mottagits parallellt över sublänkuppsättningen när de anländer. En paketfönsterbuffert lagrar paket i Sekventiell ordning även om de initialt mottas i oordning. Förfarandet utnyttjar ett skjutbart fönster för att åstad- komma paket som är i kontinuerlig ordning. Slutligen överför förfarandet datapaket i serie över en enkel kommunikationslänk vid en bandbredd som är åtminstone stör- re än bandbredden som är tillgänglig på någon av sublänkarna i sublänksuppsätt- ningen.
Genom att använda implementationer av föreliggande uppfinning arbetar överföra- ren och kommunikationssublänkarna hos ett nät på ett arbetsbesparande sätt. Det vill säga att överföraren och kommunikationssublänkarna inte förblir vilande när paket är tillgängliga för överföring. Möjligen på bekostnad av återinordning av paket vid mottagaren, utnyttjar denna konfiguration överföraren och kommunikationssublän- kama på ett effektivt sätt.
KORT BESKRIVNING AV RITNINGARNA 10 15 20 25 30 523 222 7 Bifogade ritningar, som innefattas i och utgör en del av denna beskrivning, illustre- rar en utföringsform av uppfinningen och tjänar, tillsammans med beskrivningen, till att förklara uppfinningens principer.
I ritningama: Fig. l illustrerar ett datanät, i vilket en utföringsfonn av uppfinningen kan im- plementeras; F ig. 2 är ett blockdiagram av en, som exempel given, nätförbindningsanord- ning utfonnad i enlighet med uppfinningen; Fig. 3 är ett blockdiagram, som illustrerar en paket-för-paket- strirnlingsenhet utformad i enlighet med uppfinningen; Fig. 4 är ett blockdiagram, som illustrerar en mottagare med en paket-för- paket- strimlingsenhet utformad i enlighet med uppfinningen; Fig. 5 är ett flödesdiagram som visar stegen för överföring av data med an- vändning av ett paket-för-paket- strimlingsförfarande i enlighet med en utföringsfonn av uppfinningen; Fig. 6 är ett flödesdiagram som visar stegen associerade med strimling av da- tapaket över parallella sublänkar i enlighet med en utföringsfonn av uppfinningen; Fig. 7 är ett flödesdiagram, som indikerar stegen som är associerade med mottagande av paket över flera, parallella länkar; och Fig. 8 är ett blockdiagram, som illustrerar förehållandet mellan en fönsterpa- ketbuffert och ett skjutbart fönster på en mottagningsenhet.
DETALJERAD BESKRIVNING Översikt System och förfaranden i enlighet med föreliggande uppfinning kan användas för att strimla datapaket över parallella sublänkar i ett lokalt Områdesnät (LAN) eller ett vidområdesnät (WAN). En överförare strimlar paket över flera sublänkar när sub- länkarna blir tillgängliga. Detta håller överföraren och sublärikama sysselsatta och 10 15 20 25 30 523 222 8 lärrmar dem ingen tid att vara overksarnrna. En mottagare använder en paketsekvens lagrad inom varje paket för att återinordna paketen, som mottagits i en paketfönster- buffert. Ett skjutbart fönster associerat med en angränsande paketsekvens i paket- fönsterbufferten skiljer ut paketen i sekvens.
Ett system utformat i enlighet med uppfmningen överför paket över en optisk fiber eller annat överföringsmedium synkroniserat från en eller flera klockor. Vidare in- nefattar systemet multipla, parallella länkar som arbetar vid samma bandbredd eller multipler av samma bandbredd, såsom OC-1 (51,85 Mbps). T.ex. kan ett SONET- system som använder WDM (Wavelength Division Multiplex = våglängdsuppdel- ningsmultiplex) använda en enkel optisk fiber för att upprätta flera sublänkar. Dessa flera sublänkar upprättas över en enkel fiber som använder ett flertal laseranord- ningar, som överför information över olika förutbestämda våglängder. Varje sub- lärik mottar en klocksignal genererad av flera, mycket noggrant synkroniserade klockor vid olika punkter i nätet. Dessa klockor kan vara atombaserade klockor eller klockor synkroniserade via globala positionssatelliter (GPS) välkända i tekniken.
Med dessa välsynkroniserade klockor undviks klockdrift som kan uppstå när data kommuniceras över de stora avstånd som nätet omspärmer.
Datanät Fig. 1 illustrerar ett datanät, i vilket en utföringsforrn av uppfinningen kan imple- menteras. Det i fig. 1, som exempel givna, datanätet visas endast i beskrivande syfte och även om beskrivningen kan referera till allmänt använda tenner vid beskrivning av speciella datasystem, såsom en IBM-kompatibel dator, en arbetsstation eller en Macintosh-dator, hänför sig beskrivningen och koncepten även till andra datasy- stem, nätanordningar och nätförbindningsanordningar, såsom routrar, växlar och nav (hubs).
Ett datanät 100 i fig. 1 innefattar lokalt Områdesnät (LAN) 101, ryggrad (backbone) eller vidornrådesnät (WAN) 118 och lokalt Områdesnät (LAN) 134. LAN 101 inne- fattar en serie av arbetsstationer och serverdatorer 102, 104, 106 och 108. Dessa datorsystem 102 - 108 är kopplade till nätet för att dela information, överföra data 10 15 20 25 30 523 222 9 och möjligtvis dela datakapacitet. LAN 101 är kopplat till det större, allmänna nätet, med användning av en nätförbindningsanordning 110. Den speciella typen av nät- förbindningsanordning kan vara en router, en växel eller ett nav (hub), beroende på den specifika nätkonfigurationen. Vanligtvis innefattar nätförbindriingsanordning 110, routrar, växlar, nav (hubs) eller andra typer av nätförbindningsanordningar, som är kapabla att koppla ihop LAN 101 och WAN 118. Implementationer av upp- finningen kan vara fysiskt inneslutna i nätförbindningsanordningen 110, en koncen- trator 114 eller någon annan anordning ansluten till datanätet 100.
I en konfiguration kopplas nätförbindningsanordning 110 till en lägg-till/ta-bort- multiplexor 112 (ADM = Add/Dropp Multiplexer) och en första koncentrator 114.
ADM 112 tillåter nätanslutningar, såsom E-l, Röst och T-3 att anslutas till nätför- bindningsanordningen 110 och första koncentrator 114. Första koncentrator 114 kan överföra information vid upp till OC-192 eller 10 Gbps per sekund. över fyra OC-48 sublänkar, som går in till en WDM-överförare 116. Ett system som är utformat med denna förmåga till hög hastighet är speciellt användbart vid videokonferenser, inter- aktiva spel eller andra nätbaserade applikationer med hög bandbredd och låg latens- tid.
Koncentratom 1 14 utnyttjar paket-för-paket-(PBH-strirriling utformad i enlighet med uppfinningen för att utnyttja tillgänglig bandbredd i de parallella kommunika- tionssublänkarna som vanligtvis finns i nät, som använder WDM (Wave Division Multiplexing) och SONET. Som illustreras i fig. 1, mottar WDM-överföraren 116 signaler över fyra sublänkar tillhandahållna av koncentratom 114. WDM- överföraren 116 översätter signalerna, som överförts över dessa fyra sublänkar till motsvarande optiska signaler och sänder dem över ett fiberoptiskt nät i WAN 118.
T.ex. kan första koncentratom 114 överföra digital kommunikation, som har hög hastighet, som är mottagen vid OC-192 eller 10 Gbps per sekund. med användning av PBP-strimling enligt uppfinningen över 4 OC-48 sublänkar. WDM-över-föraren 116 omvandlar dessa signaler, som är överförda över de 4 OC-48 sublänkarna till optiska signaler, som är läinpliga för överföring över WAN 118. 10 15 20 25 30 523 222 10 På mottagningsänden mottar en WDM-mottagare 120 signaler över en enkel länk ansluten till WAN 118. WDM-mottagare 120 fördelar signaler mottagna av WDM- mottagare 120 över parallella sublänkar anslutna till en andra koncentrator 122, som också har PBP-strimlingskapacitet i enlighet med föreliggande uppfinning. Den andra koncentratorn 122 demultiplexerar information, som är Överförd över de pa- rallella sublänkama tillhandahållna av WDM-mottagaren 120. Denna information behandlas och samlas åter ihop i en enkel höghastighets-OC-l92- kommunikationslänk och överförs till en höghastighetsnätfórbindníngsanordning 124. Vid en utföringsform kopplas nätförbindningsanordning 124 direkt till LAN 134. I sin tur tillhandahåller LAN 134 höghastighetskommunikationskapacitet till datasystem l26,l28, 130 och 132.
NÄTFÖRBINDNINGSANoRDNING I fig. 2 illustreras en, som exempel given, nätförbindriingsanordning 200 utformad i enlighet med uppfmningen. Fackmannen på området kommer att förstå hur man in- tegrerar ett PBP-astrimlingssubsystem utforrnat i enlighet med uppfinningen, till- sammans med existerande nätförbindningsanordnirigar, baserade på figurema och diskussionen som presenteras nedan.
Nätfórbindningsanordning 200 i fig. 2 innefattar en PBP-strimlingsenhet 204, som är operativt kopplad till parallella sublänkar 202. I en utföringsform har varje paral- lellsublänk 202 en bandbredd av M och den samlade bandbredden är ungefär M ggr antalet parallella sublänkar. PBP-strimlingsenhet 204 är också kopplad till en för- bindningslogikenhet 206 för att vidare behandla data, som tillhandahålls över pa- rallellsublänkar 202. Förbindningslogikenheten 206 innefattar kretsen och logiken, som är nödvändig för motsvarande typ av nätförbindningsanordning som används i nätkonfigurationen. T.ex. kan förbindningslogikenheten 206 innefatta logik, som motsvarar en routeranordning, en växelanordning eller en intelligent nav-(hub)- anordning. F örbindningslogikenheten 206 kan konstrueras från fáltprogramrnerbara grindmatriser (FPGA = Field Programmable Gate Arrays) eller tillåmpningsspecifi- ka integrerade kretsar (ASICs = Application Specific Integrated Circuits). Som illu- streras i fig. 2 kopplas ett förbindningsbackplan 210 direkt till förbindningslogiken 10 15 20 25 30 523 222 ll 206. Datorer och andra anordningar ansluter till nätet genom förbindningsbackpla- net 210. T.ex. kan förbindningsbackplanet 210 vara en enkel kommunikationslänk som använder SONET, Ethernet, Token-Ring, SDLC, HPPI eller andra nätprotokoll.
För att lagra information kopplas en förbindningslagringsenhet 208 till förbind- ningslogikenheten 206. Förbindningslagringsenheten 208 lagrar infonnation som är relaterad till att behandla data överfört över nätet. Förbindningslagringsenheten 208 kan konstrueras fiån slumpåtkomstminne (RAM = Random Access Memory) eller andra typer av höghastighetslagringsanordningar. Fackmannen kommer att inse att många olika typer av nätförbindningsanordningar, som använder PBP- strinilingsenheten 204, kan utvecklas.
Fig. 3 inkluderar ett blockdiagram av en överförare med PBP-strimlingsenheten 204 utfonnad i enlighet med uppfinningen. Överföraren 310 hos PBP-strimlingsenheten 204 innefattar en klockkrets 300 kopplad till en paketstrimlingslogik 302 och en pa- ketbuffert 308. Klockkretsen 300 kopplas också till en uppsättning upptagna sub- länkar 304. och en uppsättning tillgängliga sublänkar 306. Upptagna sublänkar 304 inkluderar de parallella länkar, som är upptagna med att överföra information, som initialiseras eller som inte längre är i drift av andra skäl. Dessa upptagna sublänkar 304 kan temporärt eller permanent vara otillgängliga. Däremot är tillgängliga sub- länkar 306 initialiserade och tillgängliga för överföring av data över nätet.
I drift samlar förbindningsbackplanet 210 höghastighetsdata och lagrar information i paketbufferten 308. Överföraren 310 skiljer ut information från paketbufferten 308 och sänder infonnationen över en av de parallella sublänkama. Överförare 310 kon- trollerar tillgängliga sublänkar 306 och bestämmer vilka sublänkar, som skall an- vändas för överföring. Tillgängliga sublänkar 306 representeras i mjukvara eller kan spåras genom att lagra information direkt i hårdvara, såsom cache eller minne. Överföraren 310 kan överföra information så snart tillgängliga sublänkar 306 indi- kerar att en sublänk är tillgänglig. Om en sublänk ej är tillgänglig, blockerar eller väntar Överföraren 310 på att en sublänk skall bli tillgänglig. Dessa sublänkar, som 10 15 20 25 30 523 222 12 används eller är temporärt otillgängliga associeras med upptagna sublänkar 304.
För att möjliggöra dataöverföringar, synkroniserar klockkrets 300 övertörare 310 med mottagaren.
I fig. 4 illustrerar ett blockdiagram en mottagare 410, som är associerad med PBP- strimlingsenheten 204 av uppfinningen. Egenskaper illustrerade i fig. 4 har inklude- rats för att betona subsystem, som är associerade med mottagare 410. Illustrationen i fig. 4 utesluter emellertid inte tillägget av ytterligare subsystem, logiska element el- ler kretsar, som fackmannen skulle finna nödvändiga i dess implementering och ut- förande. Mottagaren 410 innefattar en klockkrets 400 kopplad till en paketstrim- lingslogik 402 och en paketlönsterbuffert 406. Klockkretsen 400 är också kopplad till en sublänksuppsättning 404 som innefattar motsvarande sublärikbuffertar.
Under drift innefattar subläriksuppsättningen 404 sublänkar som kan arbeta vid olika bandbredder. Dessa sublänkar kan också bära datapaket av variabel storlek. Följ akt- ligen kan paket överförda över varje parallell länk komma fram vid olika intervall.
Paketstrimlingslogiken 402 detekterar när paket kommer fram över varje sublänk och behandlar paketen när de anländer. Paketstrimlingslogiken 402 läser start- blocksinforrnation från varje paket, vilken indikerar paketsekvensen. Denna paket- sekvens bestämmer var paketet skall sättas in i paketfönsterbufferten 406.
Paketstrimlingslogiken 402 bestämmer också när följ dtiktiga paket har anlänt i pa- kettönsterbufferten 405 och flyttar dem till paketbufferten 408.
Ett skjutbart fönster 403 associerat med paketfönsterbufferten 406 används för att ordna en uppsättning paket för överföring till höghastighetsbackplanet, som är asso- cierat med paketbufferten 408. Skjutfönstret 403 kan implementeras i antingen hårdvara eller mjukvara med användning av en grupp av lagringselement. Såsom illustreras i fig. 4, motsvarar kanten längst till höger av Skjutfönstret 403 nästa följd- riktiga paket för behandling, medan kanten längst till vänster av skj utfönstret 403 motsvarar det sista tillåtna paketet i paketfönsterbufferten 406. Paket associerade med kanten längst till höger av Skjutfönstret 403 har en logiskt lägre adressekvens än paket associerade med kanten längst till vänster av skjutfönstret. Totalt sett mot- 10 15 20 25 30 523 222 13 svarar storleken hos skjutfönstret 403 det maximala antalet paket som kan mottas parallellt under ett givet tidsintervall.
För att återinordna paketen kontrollerar mottagaren 410 sekvensnurnret som är asso- cierat med varj e mottaget paket och placerar det i det lämpliga adressutryrnmet i skjutfönstret 403. Om ett paket är i delen längst till höger av skjutfönstret 403, sänds paketet till paketbufferten 408 och till förbindningsbackplanet 210. Nästa paket görs tillgängligt genom att skjuta skjutfönstret 403 åt vänster med en paketbuffert. Mott- agaren 410 fortsätter att behandla paket på detta vis tills delen längst till höger av skjutfönstret 403 stöter på ett paket utanför sekvensen eller inget paket. När detta händer stannar mottagaren 410 upp under ett förutbestämt tidsintervall och väntar på att det nästkommande paketet i sekvensen skall anlända. Om paketet inte kommer och tidsintervallet utlöper, påskyndar mottagaren 410 skjutfönstret 403 och lämnar återöverföring av paketet och felkontroll till nätets övre lager. Inforrnation om skjut- fönster kan hittas i ”Computer Networks” av Andrew S. Tanenbaum, Prentice Hall Press, 2“d edition, 1988, sid. 223-239, införlivad häri genom referens. Detaljer om hur överföraren 310, mottagaren 410 och skjutfönstret 403, vilka är associerade med PBP-strimlingsenheten 204 arbetar, diskuteras i mer detalj nedan.
Fig. 5 är ett flödesschema visande stegen för överföring av data med användning av paket-för-paket-strimling utfört enligt uppfinningen. F ackmarmen kommer att förstå att de i fig. 5 visade stegen endast är ett förfarande för utnyttjande av kommunika- tionsuppbyggnaden som diskuterats ovan.
Till att börja med mottar paketbufferten 308 ett eller flera paket från en höghastig- hetskommunikationslänk (steg 502). Därefter uppdelas sublänkama i en uppsättning upptagna sublänkar och en uppsättning tillgängliga sublänkar (steg 504). Att hålla reda på de upptagna och de tillgängliga länkarna kan göras genom användning av en karta (bitrnap) eller andra hårdvaru- eller mjukvaruimplementationer. Alternativt kan hårdvaruirnplementationer användas för att hålla reda på de upptagna resp. de tillgängliga länkama. Med vilken som helst av implementationerna kan denna in- formation behandlas parallellt för att förbättra prestanda. 10 15 20 25 30 523 222 14 När sublänkama väl har uppdelats i en uppsättning upptagna sublänkar och en upp- sättning tillgängliga sublänkar, tar överföraren 310 bort bytepaket över sublänkar i uppsättningen tillgängliga sublänkar (steg 506). Detaljerade steg associerade med borttagande av datapaket över de olika sublänkarna vid steg 506 illustreras i fig. 6 och diskuteras mer i detalj nedan. Tillgängliga sublänkar används för att överföra paket parallellt till en mottagarenhet (steg 508).
I fig. 6 illustrerar ett flödesschema steg, som är associerade med strirnling av data- paket över parallella sublänkar i enlighet med uppfinningen. Dessa steg motsvarar steg 506 i fig. 5. Till att börja med inför en överförare ett paketsekvensnummer i ett startblock associerat med varje respektive paket, som skall överföras parallellt över sublänkama (steg 602). Dessa paketsekvensnummer används för att särskilja paket när de lagras i skjutfönstret 403 och kan återanvändas senare med andra paket sena- re i överföringen. Eftersom sekvensen av nummer är begränsad, är den ytterligare lagring, som krävs för att lagra sekvensnurnren i varj e paket på motsvarande sätt minimerad. Överföraren bestämmer om det finns sublänkar tillgängliga för överföring av varje paket, som har ett sekvensnummer (steg 604). Om inga sublänkar är tillgängliga, fördröjer överföraren överföringsprocessen tills en sublänk blir tillgänglig i uppsätt- ningen tillgängliga sublänkar (steg 606). Alternativt, om en sublänk är bestämd att vara tillgänglig (steg 604), väljer överföraren ut en sublänk från gruppen av till- gängliga sublänkar (steg 608). Därefter placerar överföraren paketet eller paketen på en eller flera sublänkar (steg 610). Åtskilliga paket kan överföras över en sublänk om sublänken har kapaciteten. Överföraren kan också ändra sublänksstatusen. Om sublänken ej kan överföra ytterligare paket, tas den ut från uppsättningen tillgängli- ga sublänkar och placeras temporärt i uppsättningen upptagna sublänkar. Omvänt gäller att om en sublänk har ytterligare bandbredd för att överföra fler paket, kan sublänken tas ut från uppsättningen upptagna sublänkar och placeras i uppsättningen tillgängliga sublänkar. 10 15 20 25 30 523 222 15 Fig. 7 är ett flödesdiagram av stegen associerade med mottagning av paket överför- da parallellt över multipla sublänkar. Först mottar mottagaren 410 ett eller flera pa- ket över de parallella sublänkarna (steg 702). Dessa paket mottas och lagras i sub- länksbuffertarna i sublänkuppsättningen 404. Därefter uppdaterar mottagaren 410 paketfönsterbufferten 406 enligt ett paketsekvensnummer (steg 708). Mottagaren 410 öppnar varje paketstartblock för att bestämma paketsekvensnumret. Dessa paket sätts in i fönsterpaketbufferten 406 enligt deras sekvens. Om några paket mottas i oordning, sätts paket in i paketfönsterbufferten 406 med gap i ingängarna.
Omfänget av paketsekvensnummer och storleken av paketíönsterbuffert 406 beror på olika parametrar associerade med kommunikationssystemet. Tex. måste paket- fönsterbuffertens storlek vara tillräckligt stor för att imyrnma ett maximalt antal pa- ket som kan överföras över parallellärikama i ett speciellt tidsintervall. Detta speci- ella tidsintervall kan motsvara tiden det skulle ta att sända ett paket av medelstorlek över den långsammaste av de parallella länkarna.
Mottagaren 410 bestämmer om ett paket är tillgängligt vid den högra kanten av skjutfönstret 403 (steg 706). För att göra detta utformar skjuttönstret 403 en under- grupp av spår inom paketfönsterbuffert 406, vilken troligtvis innehåller en sekvens av paket. Detaljer för att välja den korrekta storleken av skjutfönster 403 beror på antalet kommunikationsparametrar och diskuteras i mer detalj nedan.
Om bestämningen indikerar att ett paket f.n. är tillgängligt vid den högra kanten av skjutfönstret, överför mottagaren 410 det tillgängliga paketet vid kanten längst till höger på fönstret till paketbufferten 408 (steg 710). Därefter påskyndar mottagaren 410 skjutfönstret 403 och försöker överföra nästa tillgängliga paket i sekvensen (steg 712). En fördröjning av förloppet i mottagaren kan uppstå om mottagaren inte har mottagit nästa paket i sekvensen. Många paket kan överföras i sekvens genom repetition av stegen diskuterade ovan i steg 706, 710 och 712. Alternativt, om nästa paket i sekvensen inte är tillgängligt vid den högra kanten av skjutfönstret 403, för- dröj s överföraren under en förutbestämd tidsperiod (steg 708). Denna fördröjning fördröjer inte dataöverföring, eftersom paket lagras i buffertar, såsom paketfönster- 10 15 20 25 30 523 222 16 bufferten 406. Genom att buffra paketen begränsar inte mottagaren 410 överföring av paket, även om de mottas i oordning. Så snart den förutbestämda tidsperioden utlöpt eller ett paket ankommer, bestämmer återigen mottagaren 410 huruvida ett paket är tillgängligt vid den högra kanten av skjutfönstret 403 (steg 709). Om ett paket är tillgängligt, överför mottagaren 410 paketet vid högra kanten av skjutfönst- ret 403 till paketbufferten 408 (steg 710). Om ett paket ej är tillgängligt, förflyttar mottagaren 410 skjutfönstret 403 (steg 712) och fortsätter att behandla andra paket.
Mottagaren 410 lämnar behandlingen av fel och återföring av paket till högre kom- munikationslager.
Fig. 8 är ett blockdiagram, som illustrerar förhållandet mellan en paketfönsterbuffert 802 och ett skjutfönster 804 i en mottagare. I detta exempel innefattar paketfönster- buffert 802 10 spår numrerade 0-9 för att hålla paket. Spår 2-3 och 5-6 innehåller ärmu inte paket. Paketen, som hör hemma i dessa spår, kan vara ute i nätet eller kan ha tappats under överföring.
Skjutfönstret 804 indikerar att spår 7-9 i paketfönsterbuffert 802 har en angränsande sekvens av paket. Paketet vid delen längst till höger av skjutfönstret 804 (dvs. pa- ketet i spår 9) kan överföras över en enkel länk ansluten till mottagaren. När fler pa- ket anländer, flyttar sig skjutfönstret 804 åt vänster mot de nyss arikornna paketen i fönsterpaketbuffert 802. Om storleken av skjutfönstret är korrekt justerat, är paket, som täcks av skjutfönstret 804, i sekvens och tillgängliga för överföring. Om skjut- fönstret 804 stöter på ett spår i paketfönsterbufferten 802, vilket inte har något pa- ket, t.ex. spår 6, kommer skjutfönstret 804 att sluta avancera under ett förutbestämt tidsintervall eller tills paketet, som är i oordning har anlänt.
Storleken av skjutfönstret 804 bestäms baserat på minst två olika måttsatser. En för- sta måttsats är beroende av storleken av de överförda paketen och antalet sublänkar som används i nätet. Detta förhållande kan uttryckas som: Fönsterstorlek = (MaxPS + MinPS) x (SC) där: MaxPS Maximal paketstorlek Överförd över de parallella sublänkarna MinPS Minimal paketstorlek Överförd över de parallella sublänkarna 10 15 20 25 30 523 222 17 SC Antal sublänkar som används parallellt för att överföra datapaket Anta t.ex. att några paket överförda över ett nät är 64 Kb i storlek och andra paket överförda över nätet endast är 64 bytespaket. Anta vidare att nätet använder 1000 OC-48c sublänkar för en ungefärlig bandbredd på 2,5 Terrabits/sekund. Under tids- intervallet det tar att överföra det största paketet över en länk, kan några multiplar av de minsta paketen överföras över andra parallella länkar. I detta exempel kan l 000 64-bytepaket överföras över ungefär l 000 parallella länkar under den tidsperi- od det tar för att överföra ett 64 Kilobytespaket över en enkel länk. Följaktligen bör fönsterstorleken sättas så att den kan inrymma ungefär l miljon paketingångar.
Den andra måttsatsen, som används för att justera skjutfönstret 804 relateras till maximal variation mellan parallella sublänkar i ett nät. I själva verket måste skjut- fönstret 804 ökas i storlek för att inrymma den maximala variationen i fördröjningen mellan sublärrkar. T.ex. skulle det vid givna 1 000 OC-48c sublänkar, som diskute- rats ovan, vara nödvändigt att lägga till ungefär 5 miljoner ytterligare paketingångar för l millisekunds variation. I ett exempel av en utföringsforrn kan således ytterliga- re paketingångar reduceras väsentligt genom att utforma överförare så att de har en maximal variation av åtskilliga rnikrosekunder.
Föregående beskrivning av en implementering av uppfinningen har presenterats i syfte att illustrera och beskriva. Den är inte fullständig och begränsar inte uppfin- ningen till exakt den beskrivna formen. Modifieringar och variationer är möjliga i ljuset av det ovan anförda eller kan erhållas från praktisering av uppfinningen. T.ex. kan en transceiver, som kombinerar utforrnningar från både överföraren och motta- garen, framställas trots att överförare och mottagare utfonnade i enlighet med upp- finningen visas i separata figurer. I ett annat exempel kan uppskattning av storleken av skjutfönstret på mottagaren förbättras genom sändning av den ungefärliga tiden för att överföra det föregående paketet med varje aktuellt paket, som överförts. Al- ternativt kan uppskattningen av storleken av skjutfönstret förbättras genom att stor- leken av varje efterföljande paket överförs med varje aktuellt paket som överförs.
För att dessutom möjliggöra för datorer att kommunicera över parallella kommuni- kationslänkar, kan liknande koncept tillämpas för att möjliggöra för andra anord- 10 525 222 18 ningar att överföra datapaket av variabel storlek över parallella kommunikationslän- kar, såsom nätanslutna lagringsanordningar. T.ex. kan en uppsättning skivaggregat, som är anslutna till ett nät genom en motsvarande uppsättning parallella kommuni- kationssublärikar överföra data parallellt över sublånkarna till en mottagarenhet, som återinordnar data vid en senare tidpunkt. Detta överför snabbt data parallellt mot en kostnad av ytterligare behandling senare vid en mottagarenhet. Vidare inne- fattar den beskrivna implementeringen mjukvara men uppfinningen kan implemen- teras som en kombination av hårdvara och mjukvara eller endast i hårdvara. Vidare definieras uppfinningens omfång brett av nedanstående krav och hela omfånget av deras ekvivalenter.

Claims (14)

10 15 20 25 30 523 222 19 Patentkrav
1. l. Förfarande för att åstadkomma paketbaserade datakommunikationer utförda på en processorenhet, operativt kopplad till en enkel sublänk, för att motta data och två eller flera kommunikationssublänkar för att överföra data, varvid förfarandet omfattar stegen: - att mottaga datapaket över den enkla sublänken; - att dela upp de två eller flera kommunikationssublärikarna i en uppsättning upptagna sublänkar och en uppsättning tillgängliga sublänkar; och - att överföra de mottagna datapaketen över den enkla sublänken genom att klä av ett eller flera datapaket över sublänkama i uppsättningen tillgängliga sublänkar.
2. Förfarande enligt krav 1, där processorenheten är en tillämpningsspecifik inte- grerad krets (ASIC = Application Specific Integrated Circuit).
3. F örfarande enligt krav 1, där processorenheten är en fältprogiammerbar grind- matris (FPGA = Field Programmable Gate Array).
4. Förfarande enligt krav 1, där överföringssteget vidare omfattar stegen: - att insätta ett paketsekvensnumrner i ett startblock (header) associerat med varj e paket; - att associera ett eller flera datapaket med sublänkar fiän uppsättningen till- gängliga sublänkar; och - att samtidigt överföra ett eller flera datapaket parallellt över motsvarande sublänkar i uppsättningen tillgängliga sublänkar.
5. Förfarande enligt krav 1, där uppdelningssteget vidare omfattar stegen: - att fördröja tills det finns en sublänk i uppsättningen tillgängliga sublänkar, vilken är tillgänglig för överföring av datapaket; - att bestämma vilka sublänkar i uppsättningen tillgängliga sublänkar som är tillgängliga för överföring av datapaket; 10 15 20 25 30 523 222 20 - att associera en sublänk med uppsättningen tillgängliga sublänkar när en sublänk är tillgänglig för överföring av datapaket; och - att associera en sublänk med en uppsättning upptagna sublänkar när en sub- länk inte är tillgänglig för överföring av datapaket.
6. . Förfarande för att åstadkomma paketbaserade datakommunikationer utförda på en processorenhet, som är operativt kopplad till två eller flera kommunikations- sublänkar för att mottaga data och en enkel sublänk för att överföra data, varvid förfarandet omfattar stegen: - att bestämma vilka sublänkar som är i en tillgänglig uppsättning sublänkar och vilka sublänkar som är i en upptagen uppsättning sublänkar; - att mottaga datapaket över den tillgängliga uppsättningen sublänkar; - att skilja ut datapaket mottagna parallellt över de tillgängliga sublänkama; och - att överföra datapaketen seriellt över den enkla sublänken vid en bandbredd i som åtminstone är större än bandbredden associerad med någon av de till- gängliga sublänkama.
7. . Förfarande enligt krav 6, där utskiljningssteget vidare omfattar steget att sekven- sera paketen, baserat på en paketsekvens associerad med vart och ett av de ett eller flera datapaketen.
8. . Förfarande enligt krav 7, där sekvenseringssteget vidare omfattar stegen: - att skilja ut en paketsekvens från varje datapaket; och - att ordna paketen, baserat på paketsekvensen, i numerisk ordning, där luckor i sekvensen kan orsakas av paket som anlände i oordning.
9. . Förfarande enligt krav 8, där ordningssteget vidare omfattar stegen: - att generera en förutbestämd uppsättning paketsekvenser motsvarande om- fånget av paketsekvenser i de mottagna paketen; - att associera ett skjutfönster med den förutbestämda uppsättningen paketse- kvenser; och 10 15 20 25 30 523 222 21 - att åstadkomma en sekvens av paket när minst ett mottaget paket har ett se- kvensnummer inom den förutbestämda uppsättningen paketsekvenser.
10. Förfarande enligt krav 9, vidare omfattande steget att fördröja en förutbestämd tidsperiod när inga mottagna paket har ett sekvensnummer inom den förutbe- stämda sekvensen av paket.
11. 1 1. Förfarande enligt krav l, utfört i en datalagringsanordning kopplad till ett nät genom de två eller flera kommunikationssublänkama.
12. Förfarande enligt krav 6, utfört i en datalagringsanordning, kopplad till ett nät genom de två eller flera kommunikationssublärikama.
13. Apparat för att utforma paketbaserade datakommunikationer, vilken är operativt kopplad till en enkel sublänk för att mottaga data, och två eller flera kommuni- kationssublänkar för att överföra data, innefattande: - medel för att mottaga datapaket över den enkla sublänken; - medel för att dela upp de två eller flera kommunikationssublänkarna i en upptagen uppsättning sublänkar och en tillgänglig uppsättning sublänkar; och - medel för att överföra datapaketen, som mottagits över den enkla sublänken, genom att klä av det ett eller flera datapaketen över sublänkama i den till- gängliga uppsättningen sublänkar.
14. Apparat för att utforma paketbaserade datakommunikationer, vilken är kopplad till två eller flera kommunikationssublänkar för att mottaga data och en enkel sublänk för att överföra data, innefattande: - medel för att bestämma vilka sublänkar, som är i en tillgänglig uppsättning sublänkar och vilka sublänkar som är i en upptagen uppsättning sublänkar; - medel för att mottaga datapaket över den tillgängliga uppsättningen sublän- kar; - medel för att skilja ut datapaket mottagna parallellt över de tillgängliga sub- länkama; och 523 222 22 - medel fór att överföra datapaketen seriellt över den enkla sublänken vid en bandbredd som är åtminstone större än bandbredden associerad med någon av de tillgängliga sublänkarna.
SE9903803A 1998-10-21 1999-10-21 Förfarande och apparat för att fördela paket över parallella kommunikationslänkar SE523222C2 (sv)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/176,420 US6370579B1 (en) 1998-10-21 1998-10-21 Method and apparatus for striping packets over parallel communication links

Publications (2)

Publication Number Publication Date
SE9903803D0 SE9903803D0 (sv) 1999-10-21
SE523222C2 true SE523222C2 (sv) 2004-04-06

Family

ID=22644293

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9903803A SE523222C2 (sv) 1998-10-21 1999-10-21 Förfarande och apparat för att fördela paket över parallella kommunikationslänkar

Country Status (4)

Country Link
US (2) US6370579B1 (sv)
CA (1) CA2286994C (sv)
DE (1) DE19950822B4 (sv)
SE (1) SE523222C2 (sv)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7369496B1 (en) * 1998-12-02 2008-05-06 Notel Networks Limited Flow control of frame based data over a synchronous digital network
US6335933B1 (en) * 1999-05-21 2002-01-01 Broadcom Homenetworking, Inc. Limited automatic repeat request protocol for frame-based communication channels
US6718139B1 (en) * 1999-09-13 2004-04-06 Ciena Corporation Optical fiber ring communication system
US6646991B1 (en) * 1999-12-22 2003-11-11 Intel Corporation Multi-link extensions and bundle skew management
US6687840B1 (en) * 2000-04-21 2004-02-03 Intel Corporation Multi-link extensions and bundle skew management
JP4294821B2 (ja) * 2000-01-26 2009-07-15 株式会社日立製作所 ネットワーク中継装置
IL134743A (en) * 2000-02-27 2004-12-15 Lightscape Networks Ltd Method, device and system for delay equalizing in high rate data streams
AU2001282603A1 (en) * 2000-09-07 2002-03-22 Telefonaktiebolaget Lm Ericsson (Publ) Information supply system and control method thereof
US7596139B2 (en) 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
US6722968B2 (en) * 2000-12-28 2004-04-20 Orion International Conversion attachment for bench grinder tool rest
US6941252B2 (en) * 2001-03-14 2005-09-06 Mcdata Corporation Striping data frames across parallel fibre channel links
US20030074434A1 (en) * 2001-10-11 2003-04-17 Jason James L. Determination of message source in network communications
US7437472B2 (en) * 2001-11-28 2008-10-14 Interactive Content Engines, Llc. Interactive broadband server system
US7788396B2 (en) * 2001-11-28 2010-08-31 Interactive Content Engines, Llc Synchronized data transfer system
US7644136B2 (en) * 2001-11-28 2010-01-05 Interactive Content Engines, Llc. Virtual file system
EP1339183B1 (en) * 2002-02-22 2006-06-14 Alcatel Method and device for transporting ethernet frames over a transport SDH/SONET network
EP1339198B1 (en) * 2002-02-22 2004-09-08 Alcatel Enhanced transport of ethernet traffic over a transport SDH/SONET network
EP1339184B1 (en) * 2002-02-22 2004-12-01 Alcatel Method and network element for a safety transport of ethernet frames over a transport SDH/SONET network
US20120155466A1 (en) 2002-05-06 2012-06-21 Ian Edward Davis Method and apparatus for efficiently processing data packets in a computer network
US7649885B1 (en) * 2002-05-06 2010-01-19 Foundry Networks, Inc. Network routing system for enhanced efficiency and monitoring capability
US7187687B1 (en) 2002-05-06 2007-03-06 Foundry Networks, Inc. Pipeline method and system for switching packets
US6901072B1 (en) 2003-05-15 2005-05-31 Foundry Networks, Inc. System and method for high speed packet transmission implementing dual transmit and receive pipelines
US7593336B2 (en) 2003-10-31 2009-09-22 Brocade Communications Systems, Inc. Logical ports in trunking
US7619974B2 (en) * 2003-10-31 2009-11-17 Brocade Communication Systems, Inc. Frame traffic balancing across trunk groups
AU2005215043A1 (en) * 2004-02-19 2005-09-01 Georgia Tech Research Corporation Systems and methods for parallel communication
US7817659B2 (en) 2004-03-26 2010-10-19 Foundry Networks, Llc Method and apparatus for aggregating input data streams
US8730961B1 (en) 2004-04-26 2014-05-20 Foundry Networks, Llc System and method for optimizing router lookup
US7826457B2 (en) * 2004-05-11 2010-11-02 Broadcom Corp. Method and system for handling out-of-order segments in a wireless system via direct data placement
US8448162B2 (en) 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
US8238255B2 (en) 2006-11-22 2012-08-07 Foundry Networks, Llc Recovering from failures without impact on data traffic in a shared bus architecture
US7978614B2 (en) 2007-01-11 2011-07-12 Foundry Network, LLC Techniques for detecting non-receipt of fault detection protocol packets
US8265056B2 (en) * 2008-02-19 2012-09-11 Qualcomm Incorporated Packet decoding for H-ARQ transmission
JP5419493B2 (ja) * 2009-03-03 2014-02-19 キヤノン株式会社 データ処理装置、データ処理装置の制御方法、およびプログラム
US8599850B2 (en) * 2009-09-21 2013-12-03 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)
US8244938B2 (en) 2010-11-23 2012-08-14 International Business Machines Corporation Sliding write window mechanism for writing data
JP5614302B2 (ja) * 2011-01-20 2014-10-29 富士通株式会社 通信システムおよび通信方法
US20240243992A1 (en) * 2023-01-13 2024-07-18 Meta Platforms, Inc. Network aware load balancing for artificial intelligence network transport

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797879A (en) * 1987-06-05 1989-01-10 American Telephone And Telegraph Company At&T Bell Laboratories Packet switched interconnection protocols for a star configured optical lan
US5170393A (en) * 1989-05-18 1992-12-08 California Institute Of Technology Adaptive routing of messages in parallel and distributed processor systems
US5065396A (en) * 1990-01-02 1991-11-12 At&T Bell Laboratories Inverse multiplexer and demultiplexer techniques
US5608733A (en) * 1994-11-29 1997-03-04 Valle; Richard ATM inverse multiplexing
ZA959722B (en) * 1994-12-19 1996-05-31 Alcatel Nv Traffic management and congestion control for packet-based networks
US5815667A (en) * 1995-11-28 1998-09-29 Ncr Corporation Circuits and methods for intelligent acknowledgement based flow control in a processing system network
US5852655A (en) * 1996-03-29 1998-12-22 Cisco Systems, Inc. Communication server apparatus having distributed switching and method
US6253247B1 (en) * 1996-11-21 2001-06-26 Ragula Systems System and method for transmitting a user's data packets concurrently over different telephone lines between two computer networks
EP0855820A3 (en) 1996-12-13 2003-04-16 International Business Machines Corporation A method and system for optimizing data transmission line bandwidth occupation in a multipriority data traffic environment
US5956341A (en) * 1996-12-13 1999-09-21 International Business Machines Corporation Method and system for optimizing data transmission line bandwidth occupation in a multipriority data traffic environment
US5909594A (en) * 1997-02-24 1999-06-01 Silicon Graphics, Inc. System for communications where first priority data transfer is not disturbed by second priority data transfer and where allocated bandwidth is removed when process terminates abnormally
US6094683A (en) * 1997-08-29 2000-07-25 Intel Corporation Link bundling in a network
US6148006A (en) * 1997-11-12 2000-11-14 Nortel Networks Limited Communication system architecture, exchange having a plurality of broadband modems and method of supporting broadband operation on a one to one basis
US6118765A (en) * 1998-01-13 2000-09-12 Qualcomm Inc. System method and computer program product for eliminating unnecessary retransmissions

Also Published As

Publication number Publication date
SE9903803D0 (sv) 1999-10-21
CA2286994A1 (en) 2000-04-21
DE19950822B4 (de) 2010-07-01
US6370579B1 (en) 2002-04-09
US20020161892A1 (en) 2002-10-31
US8732330B2 (en) 2014-05-20
DE19950822A1 (de) 2000-04-27
CA2286994C (en) 2009-09-08

Similar Documents

Publication Publication Date Title
SE523222C2 (sv) Förfarande och apparat för att fördela paket över parallella kommunikationslänkar
US6160819A (en) Method and apparatus for multiplexing bytes over parallel communications links using data slices
KR100940959B1 (ko) 광 전송 시스템 내에 내장된 파이버 채널 거리 연장을 위한장치 및 방법
US6854031B1 (en) Configurable serial interconnection
US7649910B1 (en) Clock synchronization and distribution over a legacy optical Ethernet network
US7912097B2 (en) System and method for transporting multiple client data signals via a single server signal
US7113489B2 (en) Metropolitan area network switching system and method of operation thereof
US6002670A (en) Optimization and recovery techniques in IMA networks
US20080193131A1 (en) Time division multiplexing of inter-system channel data streams for transmission across a network
US20040042448A1 (en) Multi-port high-speed serial fabric interconnect chip in a meshed configuration
CN1440608A (zh) 具有网格化底板的系统以及用于通过该系统传输数据的过程
US8040878B2 (en) Multi-service transport apparatus with switch for integrated transport networks
US6738392B1 (en) Method and apparatus of framing high-speed signals
EP1608990B1 (en) Apparatus and method for distance extension of fibre-channel over transport
JP2004519123A5 (sv)
US6801548B1 (en) Channel ordering for communication signals split for matrix switching
US7286532B1 (en) High performance interface logic architecture of an intermediate network node
WO2002075486A2 (en) Credit management for data flow between two networks
JP2001251350A (ja) 普遍的データリンクプロトコールを用いた通信装置
EP0630496A1 (en) Accelerated token ring network
Pranggono et al. A novel optical storage area network implemented in a metro WDM setting
CA2410770A1 (en) Sonet like link and chassis interconnect

Legal Events

Date Code Title Description
NUG Patent has lapsed