SE516871C2 - Metod för flödesstyrning i ett datakommunikationsnät - Google Patents

Metod för flödesstyrning i ett datakommunikationsnät

Info

Publication number
SE516871C2
SE516871C2 SE9902403A SE9902403A SE516871C2 SE 516871 C2 SE516871 C2 SE 516871C2 SE 9902403 A SE9902403 A SE 9902403A SE 9902403 A SE9902403 A SE 9902403A SE 516871 C2 SE516871 C2 SE 516871C2
Authority
SE
Sweden
Prior art keywords
selective
previous
sack
queue
blocks
Prior art date
Application number
SE9902403A
Other languages
English (en)
Other versions
SE9902403L (sv
SE9902403D0 (sv
Inventor
Ljungquist Jonas Haggaard
Original Assignee
Teracom Ab
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 Teracom Ab filed Critical Teracom Ab
Priority to SE9902403A priority Critical patent/SE516871C2/sv
Publication of SE9902403D0 publication Critical patent/SE9902403D0/sv
Priority to AU60360/00A priority patent/AU6036000A/en
Priority to PCT/SE2000/001335 priority patent/WO2000079831A1/en
Priority to EP00946630A priority patent/EP1188346A1/en
Publication of SE9902403L publication Critical patent/SE9902403L/sv
Priority to US10/024,293 priority patent/US6611535B2/en
Publication of SE516871C2 publication Critical patent/SE516871C2/sv

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/64Distributing or queueing
    • H04Q3/66Traffic distributors
    • H04Q3/665Circuit arrangements therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1305Software aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13093Personal computer, PC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13196Connection circuit/link/trunk/junction, bridge, router, gateway
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13204Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13387Call gapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13389LAN, internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

20 25 30 516 871 2 kvittenser (ACK - Acknowledgement) utvecklats. Medelst SACK- valmöjligheten kan TCP-sändaren få veta vilka paket/segment efter det första försvunna segmentet som har nått sin destination. Ett SACK-tillägg kan normalt ge information om upp till tre närliggande segmentblock som har mottagits korrekt och block med Användandet av SACK-tillägg också om tre närliggande saknade eller felaktiga segment i. informationsöverföringen. förutsätter att det inte finns någon asymmetri av betydelse i nätverket, så att det går att sända samma antal SACK uppströms som antalet nedströms sända informationssegment.
Ett sätt att hantera asymmetri på i ett extremt asymmetriskt nätverk kallas ACK-filtrering och fungerar enligt principerna att många av' de ACK:ar som skickas tillbaka till sändaren är överflödiga och inte behöver sändas. Om det finns en begränsning i backkanalen så kommer det att uppstå en kö och det är i denna kö som ACK-filtreringen verkar.
En kombination av dessa två metoder kommer att skapa problem.
SACK-tillägg är grundade på det antagandet, att det inte finns någon begränsning i backkanalen och de är således konstruerade i enlighet därmed, och om en ACK-filtrering används i en SACK-kö, d.v.s. en ACK-kö med SACK-tillägg, kommer några SACK-block att avlägsnas helt och sedan kommer sändaren inte att veta att dessa block har mottagits. Detta kommer att leda till att sändaren felaktigt omsänder dessa block, som redan har Detta får segmenten i till resultat att bandbredd mottagits. överföringskanalen nedströms tar skada när används för onödiga omsändningar.
Exempelvis den internationella PCT-ansökan WO 98/37670 beskriver användning av SACK-tillägg i kommunikationsnät. 10 15 20 25 30 516 871 3 Problemen næd asymmetriska nätverk i samband med TCP behöver lösas på ett tillfredsställande sätt. TCP kan hantera en asymmetrifaktor på 50 gånger nedströms till uppströms i de flesta vanliga utförandena. Framtida nätverk kan ha en asymmetrifaktor på ungefär 1000 gånger. Det tycks finnas utrymme för förbättringar.
SAMMANFATTNING Ett ändamål med uppfinningen är att åstadkomma en metod för effektiv överföring av information i ett asymmetriskt nätverk.
Ett annat ändamål med uppfinningen är att åstadkomma en metod för att på ett effektivt sätt använda TCP med ACK som innefattar SACK-tillägg i ett asymmetriskt nätverk.
De ovan nämnda ändamålen uppnås enligt uppfinningen medelst en metod för att minska antalet ACK:ar med SACK-tillägg som skall skickas tillbaka till en sändare. Innehållet i nya ACK:ar med SACK-tillägg jämförs med innehållet i föregående ACK:ar med SACK-tillägg och i avhängighet av jämförelsen, d.v.s. om den föregående ACK:en med ett SACK-tillägg innehåller överflödig eller ogiltig information och ingen ytterligare information i förhållande till den nya ACK:en med ett SACK-tillägg: Så avlägsnas den föregående ACK:en med SACK-tillägget och skickas inte tillbaka till en sändare.
De ovan nämnda ändamålen uppnås också medelst en metod för att, när information mottas i ett nätverk som transporterar information enligt de allmänna (TCP), principerna för överförings- minska antalet kvittenser Selektiva styrprotokollet selektiva (SACK) som skall skickas tillbaka till en sändare.
SACK:ar, kommer användas för att (ACK:ar) kvittenser, generellt att hänvisa till kvittenser med selektiva kvittenstillägg. 10 15 20 25 30 516 871 Metoden innefattar ett flertal steg när en ny selektiv kvittens har triggats/genererats. I ett första steg bestäms om det finns någon föregående selektiv kvittens i en kö som skall skickas till sändaren, och om det finns en föregående selektiv kvittens i kön utförs följande tilläggssteg. I ett första tilläggssteg jämförs innehållet i den nya selektiva kvittensen med innehållet i den föregående selektiva kvittensen. I ett andra tilläggssteg, slutligen, avlägsnas den föregående selektiva kvittensen från kön i avhängighet av resultatet av jämförelsen.
I det andra tilläggssteget att avlägsna den föregående selektiva kvittensen från kön, avlägsnas företrädesvis den föregående selektiva kvittensen från kön om antalet block i den föregående selektiva kvittensen skiljer sig från antalet block i den nya selektiva kvittensen. I det andra tilläggssteget att avlägsna den föregående selektiva kvittensen från kön kan vidare den föregående selektiva kvittensen företrädesvis också avlägsnas från kön om den föregående selektiva kvittensen har samma antal block soul den nya selektiva kvittensen och on: bara den högra kanten på det första blocket i den föregående selektiva kvittensen skiljer sig från nämnda kant i den nya selektiva kvittensen.
I en del varianter av uppfinningen kan metoden vidare med fördel innefatta det ytterligare steget att sortera de selektiva kvittenserna i kön beträffande vilka block som är överflödiga.
Företrädesvis innefattar sorteringssteget följande fyra blocksorteringssteg: Ett första blocksorteringssteg att dela upp de selektiva kvittenser som inte har överförts till en sändare i block. Ett andra blocksorteringssteg att avlägsna överflödiga block. Ett tredje blocksorteringssteg att sätta samman de kvarvarande Ett fjärde blocken till blocksorterade selektiva kvittenser. blocksorteringssteg att placera de blocksorterade 10 15 20 25 30 516 871 selektiva kvittenserna i kön. Den nya selektiva kvittensen är företrädesvis inte uppdelad, men kännedomen om vilka block som innefattas i den nya selektiva kvittensen används i det andra blocksorteringssteget för att avlägsna överflödiga block. I en del versioner finns det statusindikatorer, som håller reda på om och/eller när en kö har sorterats med avseende på selektiva kvittenser.
Enligt en del varianter av nætoden kan sorteringssteget alternativt innefatta följande två selektiva kvitteringssteg.
Ett första selektivt kvitteringssteg att jämföra de selektiva kvittenser sonn inte har överförts till en sändare. Ett andra selektivt kvitteringssteg att avlägsna de överflödiga selektiva kvittenserna, d.v.s. avlägsna selektiva kvittenser som endast innefattar överflödiga block som ingår i andra selektiva kvittenser.
Enligt några varianter av metoden utförs sorteringssteget endast om den föregående selektiva kvittensen inte har avlägsnats från kön.
Företrädesvis genomförs metoden på utmatningskön i 'vilket som helst lämpligt skikt från TCP-skiktet till länkskiktet, mest fördelaktigt är det att utföra metoden på utmatningskön i internetprotokollskiktet. selektiva åstadkomma en metod för att (SACK:ar) Genom att avlägsna kvittenser från en utmatningskö erhålls ett flertal fördelar jämfört med tidigare kända system. Ett huvudändamål med uppfinningen är att, på ett enkelt sätt, göra det möjligt att använda mycket asymmetriska nätverk. Enligt uppfinningen åstadkommes detta huvudsakligen genom att göra enkla, och således snabbt utförbara, jämförelser mellan innehållet i nya 10 15 20 25 30 516 871 SACK:ar och i föregående SACK:ar och avlägsna en föregående SACK om innehållet är överflödigt och/eller ogiltigt. Således uppstår det ingen förlust av SACK-information, vilket skulle kunna leda till onödiga omsändningar. Genom att minska antalet SACK:ar som måste sändas tillbaka kan ett nätverk med högre asymmetrifaktor användas. Andra fördelar med föreliggande uppfinning kommer att framgå av beskrivningen.
KORTFATTAD BESKRIVNING AV RITNINGARNA Uppfinningen kommer nu att beskrivas närmare i förklarande syfte, vilket inte i något avseende utgör någon begränsning, med hänvisning till de bifogade ritningarna, på vilka: Fig. 1 visar ett asymmetriskt överföringssystem, Fig. 2 visar ett flödesdiagram över en metod enligt uppfinningen, och Fig. 3 visar den skiktade strukturen för en informations- konsument enligt uppfinningen.
DETALJERAD BESKRIVNING För att klargöra metoden och anordningen enligt uppfinningen kommer några exempel på dess användning nu att beskrivas med hänvisning till Fig. 1-3.
Uppfinningen avser informationsöverföringar i. nätverk, särskilt asymmetriska nätverk. Fig. för vilket 1 visar ett asymmetriskt överförings- nätverk, uppfinningen är avsedd att användas. En informationskonsument 150 kommunicerar' med en första uppströms belägen brygga/port 160, som överför nerladdningsdatabegäranden via en backkanal 170 med låg kapacitet till en andra uppströms brygga 180, som överför begäranden till ett förbindelsenätverk 10 15 20 25 30 516 871 120, 110 är skulle mobiltelefonnät, såsom internet, till vilket en önskad informationslämnare ansluten. Uppströmsbackkanalen 170 med låg kapacitet ett telefonnät eller ett mobilt cellulärt fallet kan kunna vara och om så är den första uppströmsporten 160 och den andra uppströmsporten 180 vara modem. Efter att ha mottagit begäran och information om hur den begärda informationen skall överföras till informations- konsumenten 150 kommer informationslämnaren 110 att överföra den till informations- 120, en önskade informationen, om den är tillgänglig, konsumenten 150 via förbindelsenätverket nedströms brygga 130 och en nedströms kanal 140 med hög kapacitet. Kanalen nedströms med hög kapacitet kan exempelvis vara ett utsändningssystem med hög såsom ett för digital ljudutsändning (DAB), videoutsändning (DVB-T) eller ett kabel-TV-nät. kapacitet, system ett system för markbunden digital Såsom nämnts tidigare är det fördelaktigt att använda ACK:ar med SACK-tillägg, vilka helt enkelt kommer att benämnas SACK:ar. Med SACK kan en informationskonsument 150 informera sändaren om alla så att sändaren bara behöver En SACK kan segment som har ankommit korrekt, omsända de segment som verkligen har försvunnit. normalt innehålla information om upp till tre närliggande segmentblock som är korrekt mottagna och också upp till tre närliggande block med saknade eller felaktiga segment i Det första blocket i en SACK hänför det. block informationsöverföringen. sig alltid till det segment databyte som triggade Varje representerar mottagna som är närliggande och isolerade, d.v.s. byte nedanför blocket (vänster kant på block minus 1) och precis ovanför blocket (höger kant på block), har inte mottagits. Den vänstra kanten på ett block är det första sekvenstalet i detta block och den högra kanten på ett block är det sekvenstal som följer omedelbart efter det sista sekvenstalet i detta block. 10 15 516 871 Följande är ett kort exempel på hur en ACK med ett SACK-tillägg fungerar. Det antas att den vänstra fönsterkanten är 5000 och att datasändaren sänder en skur av 7 segment som vart och ett innehåller 500 databyte.
Sänt Mottaget/ ACK SACK-tilläggsbtock Triggat Första Första Andra Andra Tredje Tredje Vänster Höger Vänster Höger Vänster Höger Kant Kant Kant Kant Kant Kant 5000 5000 5500 5500 6000 6000 5500 6000 6500 6500 7000 7000 5500 7000 7500 6000 6500 7500 8000 8000 5500 8000 8500 7000 7500 6000 6500 Det första segmentet, 5000, är mottaget och triggar en ACK 5500 som anger att segmentet 5500 inte har mottagits. Det andra segmentet, 5500, har försvunnit, inget ytterligare händer. Det tredje segmentet, 6000, är mottaget och triggar en ACK 5500 [6000 6500 ; -- ; *-], d.v.s. en ACK med ett SACK-tillägg. Denna talar om för sändaren att det andra segmentet har försvunnit och medelst SACK-tillägget att segment 6000 (byte 6000 till 6499) har mottagits och inte segment 6500 och vidare. Det fjärde segmentet, 6500, har försvunnit, ingen reaktion. Det femte segmentet, 7000, är mottaget och triggar en ACK 5500 [7000 7500 10 15 20 25 30 516 871 9 ; 6000 6500 ; --]. Det sjätte segmentet, 7500, har försvunnit, inget händer. Det sjunde segmentet, 8000, är mottaget och triggar en ACK 5500 [8000 8500 ; 7000 7500 ; 6000 6500].
SACK:ar förutsätter att det används för att det nätverk som informationsöverföring är tämligen symmetriskt, d.v.s. inte finns några praktiska begränsningar i kanalen 170 uppströms tillbaka SACK:ar till asymmetriskt nätverk enligt fig. för att skicka sändaren. I ett 1 kommer en utmatningskö 155 som är full av SACK:ar att bildas vid eller runt informations- konsumenten 150 eller den första uppströms bryggan 160 beroende på begränsningar i kanalen 170 uppströms. Detta kommer att förorsaka fördröjningar i överföringen av SACK:ar till bryggan 130 nedströms och/eller informationslämnaren 110. Detta kommer i sin tur också att begränsa informationsöverföringen i kanalen 140 nedströms, eftersom det finns begränsningar beträffande hur mycket information som sänds utan någon bekräftelse på om den mottagits eller inte. Det finns således ett behov av att eliminera eventuella onödiga fördröjningar som återsänder SACK:ar. Enligt uppfinningen jämförs SACK:ar med avseende på deras innehåll för att bestämma om de kan kasseras eller inte.
Detta görs företrädesvis på SACK:ar i utmatningskön 155.
När SACK:ar jämförs innehållsmässigt uppstår tre olika fall. Ett första fall är när den nya SACK:en har flera block än den föregående SACK:en. Ett andra fall är när den nya SACK:en har SACK:en. Ett fall, är när den nya SACK:en har samma antal block som den färre block än den föregående tredje slutligen, föregående SACK:en.
I det första fallet, när den nya SACK:en har flera block än den föregående SACK:en, är den föregående SACK:en överflödig och kan avlägsnas. SACK använder en stackprincip "sist in, först ut", 10 15 20 25 30 516 871 f; 10 där den alltid försöker rapportera de senaste blocken. Detta betyder att den nya SACK:en kommer att innefatta alla blocken i SACK:en och ett block. Den SACK:en är den föregående eller flera nya föregående således överflödig, eftersom den inte innehåller någon information som inte finns i den nya SACK:en.
Exempelvis har en föregående SACK triggats, ACK 10 [18 19 ; 11 17 ; --], segment 20 till 24 ankommer, varvid en ny SACK triggas, ACK 10 [20 25 ; 18 19 ; 11 17], vilket gör den föregående SACK:en överflödig.
I det andra fallet, när den nya SACK:en har färre block än den föregående SACK:en, innehåller den föregående SACK:en gammal ogiltig information och kan avlägsnas. Eftersom SACK:ar alltid innefattar det maximalt möjliga antalet block (vid de flesta utföranden är det tre block), betyder det att om den nya SACK:en innefattar färre block så har ny data ankommit till mottagaren och fyllt det ena av datahålen. Den föregående SACK:en innehåller således gammal ogiltig information och kan avlägsnas. [20 25 ; 18 19 ; 11 17), varvid en ny SACK triggas, Exempelvis är en föregående SACK ACK 10 mottagaren mottar sedan segment 19, ACK 10 [18 25 ; 11 17 ; --], vilket gör den föregående SACK:en överflödig.
Ett tredje fall, slutligen, är när den nya SACK:en har samma antal block som den föregående SACK:en. Detta fall måste indelas i två olika händelser. En första händelse är när ny data läggs till i det första blocket. Det enda som skiljer de två SACK:arna från varandra är att det första blocket är annorlunda. Detta betyder att den föregående SACK:en innehåller gammal ogiltig information och kan avlägsnas.
ACK 10 [20 25 ; 18 19 ; varvid en ny SACK triggas, Exempelvis är en föregående SACK 11 17], mottagaren mottar segment 25, ACK 10 [20 26 ; 18 19 ; 11 17], vilket gör den föregående SACK:en överflödig. En andra händelse 10 15 20 25 30 516 871 ll är när ny data ger upphov till ett nytt block.
SACK:en och "puffar ut" det Det nya blocket placeras först i sista blocket, d.v.s. det sista blocket skiftas ut och den föregående SACK:en kan således inte avlägsnas. 10 [20 25 ; 18 19 ; ll l7], en ny SACK triggas, ACK 10 Exempelvis är en föregående SACK ACK mottagaren mottar segment 28, varvid [28 29 ; 20 25 ; 18 19], föregående SACK:en innehåller information om segment ll till 17 d.v.s. den som inte finns i den nya SACK:en, varför den föregående SACK:en inte kan avlägsnas.
Dessutom kan SACK:arna i en utmatningskö sorteras beträffande överflödiga SACK:ar och block, vilket är särskilt fördelaktigt när en föregående SACK inte kan avlägsnas. kan detta sätt.
Enligt uppfinningen göras på två olika Vid en första redundanssortering av en utmatningskö placeras alla SACK-block i kön på en separat plats/kö där alla överflödiga block avlägsnas, varefter nya SACK:ar sätts tillsammans med de kvarvarande icke överflödiga blocken och placeras i utmatningskön. En nyligen triggad SACK töms företrädesvis inte på sina block, utan används endast för att bestämma vilka block som är överflödiga. Vid en andra, och föredragen, redundanssortering av en utmatningskö jämförs SACK:arna i utmatningskön för att således kunna avlägsna SACK:ar som är helt överflödiga.
Fig. 2 visar ett flödesdiagram över en metod enligt uppfinningen. Ett första steg 210 inväntar generering/triggning av en ny SACK. När en ny SACK har genererats för att skickas tillbaka till en sändare bestämmer proceduren i ett andra steg 220 om det finns några tidigare SACK:ar i en utmatningskö som innefattar SACK:ar som skall skickas tillbaka till sändaren. Om det inte finns några SACK:ar i utmatningskön fortsätter proceduren med ett tredje steg 230 som helt enkelt lägger till den nya SACK:en i utmatningskön, varefter proceduren återvänder 10 15 20 25 30 516 871 12 till det första steget 210. Om det i stället bestäms i det andra steget 220 att det finns en tidigare SACK i utmatningskön fortsätter proceduren med ett fjärde steg 240. Det fjärde steget 240 jämför innehållet i den nya SACK:en :ned innehållet i den tidigare SACK:en, närmare bestämt jämförs antalet block i de två SACK:arna. Om de två SACK:arna har samma antal block fortsätter proceduren. med ett femte steg 250 och om de har olika antal block fortsätter proceduren med ett sjätte steg 260. Det femte steget 250 också SACK:en med jämför innehållet i den nya innehållet i den tidigare SACK:en. I detta steg jämförs närmare bestämt innehållet i de två SACK:arna för att bestämma om det något blockskift. Om det har har förekommit förekommit ett blockskift fortsätter proceduren med ett sjunde steg 270.
Annars, om det inte har förekommit något blockskift, fortsätter proceduren med, det sjätte steget 260. Det sjätte steget 260 avlägsnar den föregående SACK:en från utmatningskön, lägger till SACK:en till fortsätter steget 270 utmatningskön och sedan steget 210. den nya proceduren med det första Det sjunde lägger till den nya SACK:en till utmatningskön och försöker sedan avlägsna överflödiga block från SACK:arna i utmatningskön genom att sortera och avlägsna antingen bara överflödiga block eller överflödiga SACK:ar. Därefter genom att avlägsna fortsätter proceduren med det första steget 210.
Fig. 3 visar den skiktade datakommunikationsstrukturen för en informationskonsument enligt uppfinningen. Med ett skikt menas en process eller en anordning inuti ett datorsystem, vilket är konstruerat att utföra en specifik funktion. En tillämpning 310 är för våra ändamål informationskonsumenten som exempelvis begär vidare- 320, via gränssnitt såsom datainformation. Dessa begäranden (TCP) nerladdningar av befordras till överföringsstyrprotokollskiktet (IP) 330, (PPP - därefter till internetprotokollet modem med punkt-till-punkt-protokoll Point-to-Point 10 15 20 25 30 516 871 13 Protocol) 340 eller Ethernet 350 ned till utmatningsledningar 360. Efter en stund kommer den begärda informationen förhoppningsvis att dyka upp i inmatningsledningarna 370 och transporteras genom alla skikten upp till tillämpningsskiktet 310. sändaren.
Uppfinningen fungerar på vilken som helst lämplig utmatningskö TCP-skiktet 320 till länkskiktet.
SACK:ar kommer sedan att skickas tillbaka till från efter Företrädesvis kommer uppfinningen att sortera bort SACK:ar från IP-skiktets 330 utmatningskö 332. Det är normalt inte fördelaktigt att låta uppfinningen filtrera SACK:ar efter datakommunikationslänk- skiktet eftersom paketen måste packas upp, vilket kan vara en resurskrävande beroende på länkskiktet 340, 350. extremt åtgärd, exempelvis Uppfinningen kommer då också att specialanpassas till en typ av länkskikt 340, 350, d.v.s. om en växling sker från Ethernet 350 till ett PPP med ett komprimeringen i modem 340 måste systemet enligt uppfinningen omkonfigureras.
Föreliggande uppfinning kan överföras till utrustningsform antingen. som ren maskinvara, som ren programvara eller som en kombination av maskinvara och programvara. Om metoden enligt uppfinningen realiseras i form av programvara kan den vara helt en del av ett större självständig eller också kan den vara programi Programvaran kan lämpligen vara belägen j_ en generell dator, i en dedicerad dator eller en distribuerad kombination därav.
Sammanfattningsvis kan uppfinningen beskrivas som en metod för att förbättra genomströmningen i asymmetriska nätverk genom att på ett effektivt sätt helt avlägsna/filtrera endast överflödiga SACK:ar. till de inom Uppfinningen är inte begränsad ovan beskrivna utförandena, utan kan varieras ramen för de bifogade patentkraven. 10 15 20 25 30 FIG 1 110 120 130 140 150 155 160 170 180 FIG 2 210 220 230 240 250 260 270 FIG 3 310 320 330 332 340 350 360 370 516 871 14 informationskälla/-lämnare godtyckligt nätverk såsom internet brygga/port nedströms höghastighetslänk informationskonsument utmatningskö brygga/port långsam uppströms länk brygga/port bestämma om det finns någon ny SACK bestämma om det finns någon tidigare SACK i utmatningskön lägga till ny SACK till utmatningskön jämföra innehållet beträffande samma antal block jämföra innehållet beträffande om det förekommit något blockskift avlägsna tidigare SACK från utmatningskön lägga till ny SACK till utmatningskön och sortera SACK:ar i utmatningskön tillämpningsskikt TCP-skikt IP-skikt utmatningskö med SACK:ar från IP-skikt PPP Ethernet utmatningsledningar inmatningsledningar

Claims (9)

10 15 20 25 30 516 871 15 PATENTKRAV
1. l. Metod för att, när information mottas i ett nätverk som transporterar information enligt de allmänna principerna för överföringsstyrprotokollet (TCP), minska antalet selektiva kvittenser (SACK) som skall överföras till en sändare, kännetecknad därav, att metoden innefattar följande steg när en ny selektiv kvittens har genererats: - bestämma om det finns någon föregående selektiv kvittens i en kö som skall överföras till sändaren, och om det finns en föregående selektiv kvittens i kön dessutom utföra följande tilläggssteg; - jämföra innehållet i. den nya selektiva kvittensen med innehållet i den föregående selektiva kvittensen; - avlägsna den föregående selektiva kvittensen från kön i avhängighet av resultatet av jämförelsen.
2. Metod enligt patentkrav 1, kännetecknad därav, att i tilläggssteget att avlägsna den föregående selektiva kvittensen från kön, avlägsnas den föregående selektiva kvittensen från kön om antalet block i den föregående selektiva kvittensen skiljer sig från antalet block i den nya selektiva kvittensen.
3. Metod enligt patentkrav l eller 2, kännetecknad därav, att i tilläggssteget att avlägsna den föregående selektiva kvittensen från kön, avlägsnas den föregående selektiva kvittensen från kön om den föregående selektiva kvittensen har samma antal block som den nya selektiva kvittensen och om bara den högra kanten på det första blocket i den föregående selektiva kvittensen skiljer sig från nämnda kant i den nya selektiva kvittensen. 10 15 20 25 30 516 871 16
4. Metod enligt något av patentkraven l-3, kännetecknad därav, att metoden vidare innefattar det ytterligare steget att: - sortera de selektiva kvittenserna i_ kön beträffande vilka block som är överflödiga.
5. Metod enligt patentkrav 4, kännetecknad därav, att sorteringssteget innefattar följande blocksorteringssteg: block de överförts till en sändare; - dela upp i selektiva kvittenser som inte har - avlägsna överflödiga block; - sätta samman de kvarvarande blocken till blocksorterade selektiva kvittenser; - placera de blocksorterade selektiva kvittenserna i kön.
6. Metod enligt patentkrav 4, kännetecknad därav, att sorteringssteget innefattar följande selektiva kvitteringssteg: - jämföra de selektiva kvittenser som inte har överförts till en sändare; - avlägsna de överflödiga selektiva kvittenserna.
7. Metod enligt något av patentkraven 4-6, kännetecknad därav, att sorteringssteget endast utförs om den föregående selektiva kvittensen inte har avlägsnats från kön.
8. Metod enligt något av patentkraven 1-7, kännetecknad därav, att metoden utförs på en kö i vilket som helst lämpligt skikt från TCP-skiktet till efter länkskiktet. att metoden
9. Metod enligt patentkrav 8, kännetecknad därav, utförs på utmatningskön i internetprotokollskiktet.
SE9902403A 1999-06-23 1999-06-23 Metod för flödesstyrning i ett datakommunikationsnät SE516871C2 (sv)

Priority Applications (5)

Application Number Priority Date Filing Date Title
SE9902403A SE516871C2 (sv) 1999-06-23 1999-06-23 Metod för flödesstyrning i ett datakommunikationsnät
AU60360/00A AU6036000A (en) 1999-06-23 2000-06-21 Method for flow control
PCT/SE2000/001335 WO2000079831A1 (en) 1999-06-23 2000-06-21 Method for flow control
EP00946630A EP1188346A1 (en) 1999-06-23 2000-06-21 Method for flow control
US10/024,293 US6611535B2 (en) 1999-06-23 2001-12-21 Method for flow control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9902403A SE516871C2 (sv) 1999-06-23 1999-06-23 Metod för flödesstyrning i ett datakommunikationsnät

Publications (3)

Publication Number Publication Date
SE9902403D0 SE9902403D0 (sv) 1999-06-23
SE9902403L SE9902403L (sv) 2000-12-24
SE516871C2 true SE516871C2 (sv) 2002-03-12

Family

ID=20416222

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9902403A SE516871C2 (sv) 1999-06-23 1999-06-23 Metod för flödesstyrning i ett datakommunikationsnät

Country Status (5)

Country Link
US (1) US6611535B2 (sv)
EP (1) EP1188346A1 (sv)
AU (1) AU6036000A (sv)
SE (1) SE516871C2 (sv)
WO (1) WO2000079831A1 (sv)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7099855B1 (en) 2000-01-13 2006-08-29 International Business Machines Corporation System and method for electronic communication management
US20020059388A1 (en) * 2000-01-21 2002-05-16 David Thompson E-mail and messaging systems and methods
US6408277B1 (en) * 2000-06-21 2002-06-18 Banter Limited System and method for automatic task prioritization
US9699129B1 (en) 2000-06-21 2017-07-04 International Business Machines Corporation System and method for increasing email productivity
US8290768B1 (en) 2000-06-21 2012-10-16 International Business Machines Corporation System and method for determining a set of attributes based on content of communications
US6826152B1 (en) 2000-09-13 2004-11-30 Harris Corporation System and method of conserving bandwidth in the transmission of message packets
US6826153B1 (en) 2000-09-13 2004-11-30 Jeffrey Kroon System and method of increasing the message throughput in a radio network
US6856599B1 (en) * 2000-09-13 2005-02-15 Harris Corporation System and method of reducing retransmission of messages in a TCP/IP environment
US6816458B1 (en) * 2000-09-13 2004-11-09 Harris Corporation System and method prioritizing message packets for transmission
US6975591B1 (en) * 2000-11-22 2005-12-13 International Business Machines Corporation Methodology for improving TCP throughput over lossy communication links
US7644057B2 (en) 2001-01-03 2010-01-05 International Business Machines Corporation System and method for electronic communication management
US6941326B2 (en) * 2001-01-24 2005-09-06 Microsoft Corporation Accounting for update notifications in synchronizing data that may be represented by different data structures
US7343487B2 (en) 2001-10-10 2008-03-11 Nokia Corporation Datacast distribution system
KR100884956B1 (ko) * 2002-08-14 2009-02-23 엘지전자 주식회사 비대칭 양방향 패킷데이터 송수신 방법 및 시스템
US7630305B2 (en) * 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
US7616638B2 (en) 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US7231404B2 (en) 2003-01-31 2007-06-12 Nokia Corporation Datacast file transmission with meta-data retention
US20040213278A1 (en) 2003-04-24 2004-10-28 Broadcom Corporation System, method, and computer program product for in-place, lightweight Ack promotion in a cable modem environment
US8495002B2 (en) 2003-05-06 2013-07-23 International Business Machines Corporation Software tool for training and testing a knowledge base
US20050187913A1 (en) 2003-05-06 2005-08-25 Yoram Nelken Web-based customer service interface
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US8432800B2 (en) 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
US8238241B2 (en) 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US8578040B2 (en) * 2003-08-14 2013-11-05 International Business Machines Corporation Method, system and article for client application control of network transmission loss tolerance
EP1753197A1 (en) * 2005-07-27 2007-02-14 Mitsubishi Electric Information Technology Centre Europe B.V. Method for controlling the delivery of a flow of data to at least a client of a data provider
US7801044B2 (en) * 2006-05-04 2010-09-21 Broadcom Corporation TCP acknowledge for aggregated packet
US8374161B2 (en) * 2006-07-07 2013-02-12 Qualcomm Incorporated Method and apparatus for sending data and control information in a wireless communication system
US9143288B2 (en) * 2006-07-24 2015-09-22 Qualcomm Incorporated Variable control channel for a wireless communication system
US8565195B2 (en) * 2006-08-21 2013-10-22 Nokia Corporation Apparatus, methods and computer program products providing support for packet data user continuous uplink connectivity
US8369348B2 (en) 2008-01-28 2013-02-05 Broadcom Corporation Method, and system, and computer program product for dynamically adjusting acknowledgement filtering for high-latency environments
US9503223B2 (en) * 2011-03-04 2016-11-22 Blackberry Limited Controlling network device behavior
TR201911200T4 (tr) 2015-12-01 2019-08-21 Ericsson Telefon Ab L M Tahmine dayalı onay geri bildirim mekanizması.
EP3453128B1 (en) 2016-05-03 2021-01-27 Telefonaktiebolaget LM Ericsson (publ) Variable transport format parameters for fast acknowledgment feedback mechanism

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586121A (en) * 1995-04-21 1996-12-17 Hybrid Networks, Inc. Asymmetric hybrid access system and method
US5974028A (en) * 1997-02-24 1999-10-26 At&T Corp. System and method for improving transport protocol performance in communication networks having lossy links
JP3000546B2 (ja) * 1997-03-07 2000-01-17 株式会社超高速ネットワーク・コンピュータ技術研究所 輻輳制御方法
US6252851B1 (en) * 1997-03-27 2001-06-26 Massachusetts Institute Of Technology Method for regulating TCP flow over heterogeneous networks
US6105064A (en) * 1997-05-30 2000-08-15 Novell, Inc. System for placing packets on network for transmission from sending endnode to receiving endnode at times which are determined by window size and metering interval
JPH11163947A (ja) * 1997-09-22 1999-06-18 Toshiba Corp ゲートウェイ装置、無線端末装置、ルータ装置および通信ネットワークのゲートウェイ制御方法
JP3949288B2 (ja) * 1997-09-22 2007-07-25 株式会社東芝 ゲートウェイ装置及び無線端末装置
US5872777A (en) * 1997-09-30 1999-02-16 Motorola, Inc. Method and apparatus for conveying data packets in a packet data communication system
CA2249152C (en) * 1998-09-30 2003-07-08 Northern Telecom Limited Apparatus for and method of managing bandwidth for a packet-based connection
US6215769B1 (en) * 1998-10-07 2001-04-10 Nokia Telecommunications, Inc. Enhanced acknowledgment pacing device and method for TCP connections
US6473399B1 (en) * 1998-11-30 2002-10-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for determining an optimum timeout under varying data rates in an RLC wireless system which uses a PDU counter

Also Published As

Publication number Publication date
EP1188346A1 (en) 2002-03-20
SE9902403L (sv) 2000-12-24
WO2000079831A1 (en) 2000-12-28
US20020080806A1 (en) 2002-06-27
US6611535B2 (en) 2003-08-26
AU6036000A (en) 2001-01-09
SE9902403D0 (sv) 1999-06-23

Similar Documents

Publication Publication Date Title
SE516871C2 (sv) Metod för flödesstyrning i ett datakommunikationsnät
EP0698975B1 (en) A method of multicasting
EP1234428B1 (en) Method and apparatus for packet delay reduction using scheduling and header compression
US6694471B1 (en) System and method for periodic retransmission of messages
US6003089A (en) Method for constructing adaptive packet lengths in a congested network
EP1018823B1 (en) Apparatus and method for packet switching with supertrunking
US6438137B1 (en) Packet-based trunking
US6700871B1 (en) Increased throughput across data network interface by dropping redundant packets
US7308001B2 (en) Fibre channel frame batching for IP transmission
US20030177243A1 (en) Frame batching and compression for IP transmission
JP2008512895A (ja) 通信ネットワーク内でヘッダを生成するための方法及び装置
CN1791106A (zh) 响应选择确认重发时改进传输控制协议性能的方法和***
CN101207466A (zh) 用于有损介质的重发方案
EP1501246B1 (en) Network data re-routing
CN1281020C (zh) 检测和避开网络内高数据讹误路径的方法和***
JP4731155B2 (ja) デジタルネットワークにおけるセグメントを基にするリンク層のための誤り制御機構
US7515611B2 (en) Unified data packet for encapsulating data packets having diverse formats
CN1309201C (zh) 用于网络传输丢失容限的客户端应用控制的方法和***
US9160664B1 (en) Determining a network node whether a received packet fragment should be transmitted
JPH06121001A (ja) セル通信誤り時の再送制御方式
EP2242220A1 (en) Network card and information processor
JP2002111720A (ja) データ伝送システム
WO1997013344A1 (en) Transmitting data between multiple computer processors
Miyake et al. Acceleration of TCP throughput over satellite-based Internet access using TCP gateway
EP1768336B1 (en) Network device for manipulation of TCP segments for increase of efficiency in the transmission

Legal Events

Date Code Title Description
NUG Patent has lapsed