SE513327C2 - Systems and method of data communication - Google Patents
Systems and method of data communicationInfo
- Publication number
- SE513327C2 SE513327C2 SE9803423A SE9803423A SE513327C2 SE 513327 C2 SE513327 C2 SE 513327C2 SE 9803423 A SE9803423 A SE 9803423A SE 9803423 A SE9803423 A SE 9803423A SE 513327 C2 SE513327 C2 SE 513327C2
- Authority
- SE
- Sweden
- Prior art keywords
- host
- data packets
- network
- transmitting
- receiving
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
- H04L47/225—Determination of shaping rate, e.g. using a moving window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/267—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets sent by the destination endpoint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0273—Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/06—Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
20 25 30 35 513 327 2 kets bandbredd under det att den sändande värden inväntar kvittenser. Ett exempel på ett mer effektivt protokoll är det så kallade ”skjutande-fönster-protokollet”_ Figur 1 visar en känd metod att använda ett skjutande-fönster- protokoll vilken gör det möjligt för en sändande värd att sända ett flertal datapaket DPl - DP3 Ackl - Ack3 före erhållandet av kvittenser avseende de sända datapaketens status från en mottagande värd. I figur 1 är den sändande värden åskàdliggjord till vänster och den mottagande värden till höger. En illustra- tiv tidsaxel finns representerad vertikalt, med riktning nedåt. 20 25 30 35 513 327 2 band bandwidth while the transmitting host waits for acknowledgments. An example of a more efficient protocol is the so-called "sliding-window-protocol" _ Figure 1 shows a known method of using a sliding-window-protocol which makes it possible for a transmitting host to send a plurality of data packets DP1 - DP3 Ackl Ack3 before receiving receipts regarding the status of the sent data packets from a receiving host. In Figure 1, the transmitting value is illustrated on the left and the receiving value on the right. An illustrative time axis is represented vertically, with downward direction.
Ett ”överbelastningsfönster” har storleken W, med W satt till tre datapaket i detta exempel. Detta innebär att tre datapaket DP1-DP3 kan lämna den sändande värden innan ett första status- meddelande Ackl anländer från den mottagande värden. När väl ett sådant meddelande Ackl har kommit, förskjuts överbelast- ningsfönstret ett datapaket och ett fjärde datapaket (DP4) kan sändas.An "overload window" has the size W, with W set to three data packets in this example. This means that three data packets DP1-DP3 can leave the sending value before a first status message Ackl arrives from the receiving values. Once such a message Ackl has arrived, the congestion window shifts a data packet and a fourth data packet (DP4) can be sent.
För att säkerställa leverans associeras varje datapaket med en återutsändningstimer. Återutsändningstimern startas då ett datapaket lämnar den sändande värden. Vid återutsändningsti- merns utlöpande àterutsänder den sändande värden datapaketet.To ensure delivery, each data packet is associated with a retransmission timer. The retransmission timer is started when a data packet leaves the transmitting value. At the end of the retransmission time, the transmitting host retransmits the data packet.
Protokollet kan även definieras så att den mottagande värden skickar tillbaka en negativ kvittens för ett datapaket, om datapaketet mottagits, men på ett inkorrekt sätt. Datapaketet återutsänds naturligtvis även då en sådan negativ kvittens når den sändande värden. Således återutsänds ett datapaket antingen då en negativ kvittens mottagits eller då återutsändningstimern löper ut, beroende på vad som händer först.The protocol can also be defined so that the receiving host returns a negative acknowledgment for a data packet, if the data packet has been received, but in an incorrect manner. The data packet is of course retransmitted even when such a negative acknowledgment reaches the transmitting value. Thus, a data packet is retransmitted either when a negative acknowledgment is received or when the retransmission timer expires, depending on what happens first.
Proceduren upprepas sedan för tills att den alla datapaket i meddelandet dess sändande värden har erhållit positiva kvittenser för varje datapaket i meddelandet. Överbelastnings- fönstrets storlek W motsvarar således antalet datapaket som kan sändas ut obekräftade (d. v. s. för vilka datapaket ingen kvittens erhållits) på nätverket mellan den sändande och den mottagande värden.The procedure is then repeated until all the data packets in the message and its transmitting values have received positive acknowledgments for each data packet in the message. The size W of the congestion window thus corresponds to the number of data packets that can be sent out unconfirmed (i.e. for which data packets no acknowledgment has been received) on the network between the transmitting and the receiving values.
ERAJOWI / PlO793, 1999-12-06 10 15 20 25 30 35 513 327 3 Genom att gradvis öka överbelastningsfönstrets storlek är det möjligt att fullständigt eliminera vilotiden i nätverket. I stationärt tillstånd kan således den sändande värden sända Följaktli- gen håller ett väl avstämt skjutande-fönster-protokoll nätver- ket helt datapaket lika fort som nätverket kan överföra dem. mättat med datapaket och uppnår avsevärt högre överföring än ett simpelt positiv-bekräftelse-protokoll (vilket på Eng. även benämns “Stop-and-Wait“).ERAJOWI / PlO793, 1999-12-06 10 15 20 25 30 35 513 327 3 By gradually increasing the size of the congestion window, it is possible to completely eliminate the idle time in the network. Thus, in the steady state, the transmitting host can transmit a well-tuned sliding-window-protocol network completely data packets as fast as the network can transmit them. saturated with data packets and achieves significantly higher transmission than a simple positive-confirmation protocol (which in English is also called "Stop-and-Wait").
Moderna TCP-protokoll tillämpar 4 olika algoritmer för att kontrollera överföringen av datapaket på Internet. Enligt en första algoritm benämnd “Slow Start” ökas överbelastningsfönst- ret gradvis såsom beskrivits ovan. Slow Start tillämpas när- UPP detekterats som borttappat av återutsändningstimern, helst en ny förbindelse sätts eller då ett paket det vill säga efter en viss tids överbelastning. Överbelastningsfönst- rets storlek sätts initialt till ett datapaket. storlek Överbelast- ningsfönstrets ökas sedan till två datapaket vid mottagande av den första kvittensen. Den sändande värden sänder sedan två ytterligare datapaket och väntar på motsvarande kvittenser. När dessa anländer ökar de var och en överbelast- ningsfönstret storlek med ett, så att 4 datapaket kan sändas obekräftade och så vidare. Benämningen Slow Start kan ibland Vara en felbeteckning eftersom överföringshastigheten ökar exponentiellt under ideala omständigheter.Modern TCP protocols apply 4 different algorithms to control the transmission of data packets on the Internet. According to a first algorithm called “Slow Start”, the overload window is gradually increased as described above. Slow Start is applied when UP has been detected as lost by the retransmission timer, preferably a new connection is established or when a packet, ie after a certain time congestion. The size of the congestion window is initially set to a data packet. size The congestion window is then increased to two data packets upon receipt of the first acknowledgment. The sending host then sends two additional data packets and waits for the corresponding receipts. When these arrive, they each increase the congestion window size by one, so that 4 data packets can be sent unconfirmed and so on. The term Slow Start can sometimes be a misnomer because the transmission speed increases exponentially under ideal circumstances.
Om denna exponentiella ökning ej hindras av nätverkets begrän- sade kapacitet, har den mottagande värden alltid ett begränsan- de fönster, ett så kallat ”annonseringsfönster”, som slutgiltigt begränsar överföringshastigheten. Då väl denna gräns uppnåtts kan överbelastningsfönstrets storlek ej ökas mer.If this exponential increase is not hindered by the network's limited capacity, the receiving value always has a limiting window, a so-called “advertising window”, which ultimately limits the transmission speed. Once this limit is reached, the size of the overload window can no longer be increased.
För att undvika en alltför snabb ökning av överbelastnings- fönstrets storlek med överbelastning som resultat, är TAP försett med ett ytterligare, tredje, fönster, vanligtvis benämnt det ”tillåtna-fönstret", som används i detta syfte. Det tillåtna-fönstrets storlek bestäms av följande uttryck: ERAJOWI / Pl0793, 1999-12-06 10 15 20 25 30 513 327 4 tillåtna-fönstret = min(annonseringsfönstret, överbelastnings- fönstret). Överbelastningsfönstrets storlek sätts i sin tur enligt följan- de strategi. På en icke överbelastad förbindelse under statio- tillstånd är lika närt överbelastningsfönstret och annonserings fönstret stora. Överbelastningsfönstret reduceras med hälften (ner till ett minimum av ett datapaket) vid förlust av datapaket. Återutsändningstiden reduceras exponentiellt för kvarvarande datapaket i det tillåtna fönstret.In order to avoid an excessive increase in the size of the congestion window resulting in congestion, TAP is provided with an additional, third, window, usually referred to as the "permissible window", used for this purpose. the following expression: ERAJOWI / Pl0793, 1999-12-06 10 15 20 25 30 513 327 4 permissible window = min (advertising window, congestion window) The size of the congestion window is in turn set according to the following strategy, on a non-congested connection during state of the station, the congestion window and the advertising window are equally large.The congestion window is reduced by half (down to a minimum of one data packet) in the event of loss of data packets.The retransmission time is reduced exponentially for the remaining data packets in the allowed window.
Om annonseringsfönstret ej begränsar pakethastigheten till en nivå som nätverket klarar av att stödja, är annonseringsfönst- ret större än den fönsterstorlek motsvarande nätverkets hela resterande tillgängliga kapacitet, och överbelastningsfönstret ökas tills dess ett paket tappas bort på grund av överbelast- ning. Överbelastningsfönstrets storlek minskas då radikalt för att minska den totala belastningen på nätverket. tills Efter detta ökas överbelastningsfönstret återigen dess att ett datapaket tappas bort och så vidare. I detta fall uppnås aldrig stationärt tillstånd.If the advertising window does not limit the packet speed to a level that the network can support, the advertising window is larger than the window size corresponding to the entire remaining available capacity of the network, and the congestion window increases until a packet is lost due to congestion. The size of the congestion window is then radically reduced to reduce the total load on the network. until After this, the overload window is increased again until a data packet is lost and so on. In this case, a steady state is never reached.
“Congestion Avoidance” är en andra algoritm inkluderad i TCP, vilken tillämpas efter Slow Start. Närhelst en ny förbindelse upprättas mellan två värdar ökas överbelastningsfönstret tills dess att antingen (i) stationärt tillstånd uppnås (ii) ett datapaket borttappas. De kommunicerande värdarna kan informeras om det borttappade datapaketet på två olika sätt. genom att en àterutsändningstimer löper ut eller genom att en Antingen tredje algoritm ““Fast Retransmit” aktiveras. Denna algoritm kommer beskrivas efter det att olika metoder, vilka tillämpas vid detektion av borttappat/de datapaket, diskuterats."Congestion Avoidance" is a second algorithm included in TCP, which is applied after Slow Start. Whenever a new connection is established between two hosts, the congestion window increases until either (i) steady state is reached (ii) a data packet is lost. The communicating hosts can be informed about the lost data packet in two different ways. by expiring a retransmission timer or by activating an Either third algorithm “Fast Retransmit”. This algorithm will be described after various methods, which are applied in the detection of lost / the data packets, have been discussed.
Om ett borttappat datapaket upptäcks genom att återutsändnings- timern löper ut reduceras omedelbart överbelastningsfönstret till ett datapaket. Överbelastningsfönstret ökas därefter under Slow Start- algoritmen tills dess det när halva den storlek det hade vid återutsändningstimern utlöpande. Sedan aktiveras EIRAJOWI / P10793, 1999-12-06 10 15 20 25 30 35 513 327 5 Congestion Avoidance- algoritmen. Under Congestion Avoidance ökas överbelastningsfönstret med ett datapaket endast då alla paket i ett fönster erhållit positiv kvittens.If a lost data packet is detected by the retransmission timer expiring, the congestion window to a data packet is immediately reduced. The overload window is then incremented during the Slow Start algorithm until it reaches half the size it had at the retransmission timer expiring. Then the EIRAJOWI / P10793, 1999-12-06 10 15 20 25 30 35 513 327 5 Congestion Avoidance algorithm is activated. During Congestion Avoidance, the congestion window is increased by a data packet only when all packets in a window have received a positive acknowledgment.
Om ett borttappat datapaket upptäcks genom Fast Retransmit- algoritmen minskas överbelastningsfönstret momentant till den storlek det hade före det att bort.If a lost data packet is detected by the Fast Retransmit algorithm, the overload window is momentarily reduced to the size it was before deleting.
Congestion Avoidance- algoritmen aktiveras sedan och tillämpas datapaketet tappades såsom beskrivits ovan.The Congestion Avoidance algorithm is then activated and applied to the data packet dropped as described above.
Fast Retransmit- algoritmen kommer beskrivas med hjälp av ett exempel. Antag att en sändande värd sänder tio datapaket till en mottagande värd. Alla dessa datapaket kommer fram korrekt.Although the Retransmit algorithm will be described using an example. Suppose a sending host sends ten data packets to a receiving host. All of these data packets arrive correctly.
Som en konsekvens skickar den mottagande värden en positiv kvittens för datapaket nummer tio tillbaka till den sändande värden. Denna kvittens upplyser den sändande värden om att alla tio datapaket mottagits korrekt. Den sändande värden sänder sedan datapaket nummer ll. Detta datapaket förloras dock någonstans i nätverket. Den sändande värden sänder senare datapaket nummer 12 vilket anländer korrekt till den mottagande värden. Eftersom de positiva kvittenserna är kumulativa, kan tillbaka Istället sänds en positiv inte den mottagande Värden nu skicka en positiv kvittens för datapaket nummer 12. kvittens för datapaket nummer tio. Den sändande värden sänder sedan datapaket nummer 13. Detta paket når även den mottagande värden korrekt. Som svar återmatar den mottagande värden ännu en positiv kvittens för datapaket nummer tio. När den sändande värden således mottagit en tredje positiv kvittens för det tionde datapaketet tolkas detta som borttappat datapaket nummer ll. Detta datapaket återutsänds därför och on\ detta mottags korrekt av den mottagande värden skickas en positiv kvittens tillbaka för datapaket nummer 13. En generell och mer detalje- rad beskrivning av Fast Retransmit-algoritmen återfinns i W.As a consequence, the receiving host sends a positive acknowledgment for data packet number ten back to the sending host. This acknowledgment informs the sending host that all ten data packets have been received correctly. The transmitting host then transmits data packet number ll. However, this data packet is lost somewhere in the network. The transmitting host later transmits data packet number 12 which arrives correctly at the receiving host. Because the positive receipts are cumulative, instead a positive can be sent not the receiving Values now send a positive receipt for data packet number 12. receipt for data packet number ten. The sending host then sends data packet number 13. This packet also reaches the receiving host correctly. In response, the receiving value returns another positive acknowledgment for data packet number ten. Thus, when the transmitting host has received a third positive acknowledgment for the tenth data packet, this is interpreted as lost data packet number ll. This data packet is therefore retransmitted and if it is received correctly by the receiving host, a positive acknowledgment is sent back for data packet number 13. A general and more detailed description of the Fast Retransmit algorithm can be found in W.
Stevens, "TCP Slow Start, Congestion Avoidance, Fast Retrans- mit, and Fast Recovery Algorithms", Internet RFC 2001, Network Working Group, NOAO, januari 1997.Stevens, "TCP Slow Start, Congestion Avoidance, Fast Retrans- mit, and Fast Recovery Algorithms", Internet RFC 2001, Network Working Group, NOAO, January 1997.
ERAJOWI / P10793, 1999-12-06 10 15 20 25 30 513 327 6 För att summera de tre algoritmerna vilka beskrivits ovan, Slow Start öppnar upp överbelastningsfönstret exponentiellt. Conges- tion Avoidance, å andra sidan, öppnar upp överbelastningsfönst- ret linjärt. Fast Retransmit är en algoritm för att detektera att datapaket tappats bort.ERAJOWI / P10793, 1999-12-06 10 15 20 25 30 513 327 6 To sum up the three algorithms described above, Slow Start opens the overload window exponentially. Congestion Avoidance, on the other hand, opens the congestion window linearly. Fast Retransmit is an algorithm for detecting that data packets have been lost.
“Fbrward Acknowledgemenf' (FACK) inkluderad i TCP, som faktiskt är en vidareutvecklad version av är en fjärde kontrollmekanism algoritmerna Congestion Avoidance och Fast Retransmit. Genom FACK kan dock de obekräftade datapaketen i nätverket kontrolle- ras på ett mer lämpligt sätt. FACK Är också mindre skurig och kan dessutom återhämta sig bättre efter perioder av tunga förluster. Ytterligare detaljer angående FACK återfinns i M, Mathis et al, “Forward Acknowledgement: Refining TCP Congestion Control", Proceedings of ACM Sigcomm '96, Stanford, USA, augusti 1996.'Fbrward Acknowledgemenf' (FACK) included in TCP, which is actually an advanced version of is a fourth control mechanism algorithms Congestion Avoidance and Fast Retransmit. Through FACK, however, the unconfirmed data packets in the network can be checked in a more appropriate way. POCKETS are also less itchy and can also recover better after periods of heavy losses. Further details regarding FACK can be found in M, Mathis et al, "Forward Acknowledgment: Refining TCP Congestion Control", Proceedings of ACM Sigcomm '96, Stanford, USA, August 1996.
H. Balakrishnan et al beskriver en femte mekanisn1 hos TCP, vilken kallas “Snoop” .i dokumentet "Improving TCP/IP Perfor- '95, Snoop är ett protokoll som förbättrar TCP i mance over Wireless Networks", November 1995. trådlösa Proceedings of ACM Mobicom nätverk. Protokollet modifierar programvaran för medan TCPS Protokollet bygger på idén att tillfälligt lagra datapaket vid basstationen nätverkslagret huvudsakligen vid en basstation, semantik för den genomgående förbindelsen bevaras. och att utföra lokal återutsändning över den trådlösa länken.H. Balakrishnan et al describe a fifth mechanism1 of TCP, which is called "Snoop" .in the document "Improving TCP / IP Perfor- '95, Snoop is a protocol that improves TCP in mance over Wireless Networks", November 1995. wireless Proceedings of ACM Mobicom network. The protocol modifies the software for while the TCPS Protocol is based on the idea of temporarily storing data packets at the base station network layer mainly at a base station, semantics of the throughput is preserved. and performing local retransmission over the wireless link.
En ytterligare anpassning av TCP till trådlösa länkar presente- ras i S. Biaz et al, "TCP over Wireless Networks Using Multiple Acknowledgements", Department of Computer Science at Texas A&M Technical Report 97-001, 1997. àterutsändningar' i nätverket undviks här genonl att partiell University, januari Onödiga kvittens skickas för det datapaket vilket nått basstationen om detta datapaket upplever problem på den trådlösa förbindelsen.A further adaptation of TCP to wireless links is presented in S. Biaz et al, "TCP over Wireless Networks Using Multiple Acknowledgments", Department of Computer Science at Texas A&M Technical Report 97-001, 1997. retransmissions' in the network are avoided here genonl that partial University, January Unnecessary receipts are sent for the data packet which has reached the base station if this data packet experiences problems on the wireless connection.
Basstationen är ansvarig för àterutsändningar på den trådlösa länken, medan den förlänger återutsändningstimerns utlöpnings- tid med hjälp av den partiella kvittensen.The base station is responsible for retransmissions on the wireless link, while it extends the expiration time of the retransmission timer with the help of the partial acknowledgment.
ERAJOWI / P10793, 1999-12-06 5 10 15 20 25 30 513 327 7 Slow Start-, Congestion Avoidance-, Fast Retransmit- och Fast Recovery- algoritmerna tillämpas samtliga i de flesta moderna realiseringar av TCP. FACK- och Snoop- algoritmerna används dock ännu ej så ofta.ERAJOWI / P10793, 1999-12-06 5 10 15 20 25 30 513 327 7 The Slow Start, Congestion Avoidance, Fast Retransmit and Fast Recovery algorithms are all applied in most modern implementations of TCP. However, the FACK and Snoop algorithms are not yet used as often.
Patentdokumentet EP, A2, 0 695 053 beskriver ett asymmetriskt 'protokoll för trådlös datakommunikation med mobila terminaler, enligt vilket terminalerna sänder kvittenser och begäran om àterutsändning endast vid förfrågan eller då alla datapaket inom ett datablock mottagits. Enligt protokollet lagrar bassta- tionerna kanalinformation för de trådlösa länkarna och statu- sinformation för mottagna och sända datapaket. En basstation kan också kombinera kvittenser för ett flertal datapaket till en enkel kvittenskod, för att på så sätt minska de mobila terminalernas effektförbrukning.The patent document EP, A2, 0 695 053 describes an asymmetric protocol for wireless data communication with mobile terminals, according to which the terminals send receipts and requests for retransmission only on request or when all data packets within a data block have been received. According to the protocol, the base stations store channel information for the wireless links and status information for received and transmitted data packets. A base station can also combine receipts for a plurality of data packets into a single receipt code, thus reducing the power consumption of the mobile terminals.
Generellt sett orsakar trådlösa förbindelser längre fram-och- återvägs- fördröjningar än trådbundna förbindelser. Som ett resultat av de längre fram-och-återvägs- fördröjningarna måste sändningshastigheten för de trådlösa förbindelserna öka betyd- ligt långsammare än för motsvarande tràdbundna förbindelse, enligt de transportprotokoll som teknikens ståndpunkt erbjuder.In general, wireless connections cause longer back-and-forth delays than wired connections. As a result of the longer round-trip delays, the transmission speed of the wireless connections must increase significantly more slowly than that of the corresponding wired connection, according to the transport protocols offered by the prior art.
Detta gäller i synnerhet de trådlösa förbindelser vars band- bredd- fördröjningsprodukt är förhållandevis hög. Protokollen enligt teknikens ståndpunkt söker alltid öka en förbindelses överföring så långt det förbindande nätverket så tillåter.This applies in particular to the wireless connections whose bandwidth delay product is relatively high. The prior art protocols always seek to increase the transmission of a connection as far as the connecting network allows.
Dessutom är den möjliga ökningen av överföringshastigheten för en speciell förbindelse omvänt proportionell mot fram-och- átervägs- fördröjningen för förbindelsen i fråga. Följaktligen, ju kortare fram-och-återvägs- fördröjning, ju snabbare överfö- ringsökning. Kombinationen av egenskaper typiska för en trådlös förbindelse med hög bandbredd- fördröjningsprodukt och lång fram-och-återvägs- fördröjning utgör således också ett problem.In addition, the possible increase in the transfer rate of a particular connection is inversely proportional to the forward and return delay of the connection in question. Consequently, the shorter the back-and-forth delay, the faster the transmission increase. Thus, the combination of features typical of a wireless connection with a high bandwidth delay product and long back-and-forth delay is also a problem.
Sammanfattning av uppfinningen Föreliggande uppfinning rör generellt datakommunikation mellan värddatorer, och mer specifikt de problen\ vilka diskuterats ERAJOWI / PlO793, 1999-12-06 10 15 20 25 30 35 513 327 8 ovan. Sätt och anordningar för att lösa dessa problem enligt föreliggande uppfinning är summariskt beskrivna nedan.Summary of the Invention The present invention relates generally to data communication between host computers, and more specifically to the problems discussed above. ERAJOWI / PlO793, 1999-12-06 10 15 20 25 30 35 513 327 8 above. Methods and apparatus for solving these problems of the present invention are summarized below.
Enligt vad som tidigare nämnts i ovanstående beskrivning uppstår problem då nätverken, som förbinder en sändande värd med en mottagande värd, lider av både hög slumpmässig förlust av datapaket och en hög bandbredd- fördröjningsprodukt.As previously mentioned in the above description, problems arise when the networks connecting a transmitting host to a receiving host suffer from both high random loss of data packets and a high bandwidth delay product.
Följaktligen syftar föreliggande uppfinning lösa ovan nämnda problem.Accordingly, the present invention aims to solve the above-mentioned problems.
I synnerhet har föreliggande uppfinning som syfte att öka effektiviteten hos ett nätverk med en hög bandbredd- fördröj- ningsprodukt, vilket nätverk är anslutet till en accesslänk som orsakar en hög slumpmässig förlust av data.In particular, the present invention has for its object to increase the efficiency of a network with a high bandwidth delay product, which network is connected to an access link which causes a high random loss of data.
Ett annat syfte med föreliggande uppfinning' är att minimera påverkan av förlorade datapaket i förhållandevis felbenägna accesslänkar, i ett avsevärt mindre felbenäget nätverk.Another object of the present invention is to minimize the impact of lost data packets in relatively error prone access links, in a considerably less error prone network.
En ytterligare målsättning med föreliggande uppfinning är att öka effektiviteten hos de mindre felbenägna länkarna i ett datakommunikationssystem, och att därigenom tillåta överföring av en större mängd data genom hela systemet.A further object of the present invention is to increase the efficiency of the less error-prone links in a data communication system, and thereby to allow the transmission of a larger amount of data throughout the system.
Den föreslagna metoden för att kommunicera datapaket över ett paketförmedlande nätverk genom åtminstone en trådlös accessför- bindelse inkluderar följande antagande och steg. Det paketför- medlande nätverket förutsätts tillhandahålla en förbindelselös leverans av Protokollet vilket datapaket. används av den sändande och mottagande värden är ett tillförlitligt skjutande- fönster vilket tillåter, transportprotokoll närhelst så är nödvändigt, återutsändning av datapaket från den sändande värden till den mottagande värden. De kommunicerande värdarna vidtar även åtgärder för att skydda det paketförmedlande nätverket mot överbelastning. Den mottagande värden genererar statusmeddelanden vilka anger tillståndet hos mottagna datapa- ERAJOWI / Pl0793, 1999-12-06 10 15 20 25 30 35 513 327 9 ket till den sändande värden. Den sändande värden vidtar lämpliga åtgärder för att kontrollera dataflödet som svar på dessa statusmeddelanden. En mellanlagringsenhet för nätverket, härefter benämnd nätverksbuffert, utgör gränssnitt mot både den trådlösa accesslänken och det paketförmedlande nätverket. Under kommunikation av datapaket utför nätverksbufferten följande steg. För det första, mottar datapaket från den sändande värden. För det andra, antingen explicit eller implicit, underrättar den sändande värden om vilka datapaket som har mottagits korrekt av nätverksbufferten, och ifall ett datapaket blivit felaktigt mottaget eller ej mottaget alls anger nät- verksbufferten huruvida datapaketet var felaktigt mottaget eller ej mottaget alls över access länken eller i det paketför- medlande nätverket.The proposed method for communicating data packets over a packet switching network through at least one wireless access connection includes the following assumptions and steps. The packet switching network is assumed to provide an unconnected delivery of the Protocol, which data packet. used by the transmitting and receiving values is a reliable sliding window which allows, transport protocol whenever necessary, retransmission of data packets from the transmitting host to the receiving host. The communicating hosts also take steps to protect the packet switching network against congestion. The receiving value generates status messages which indicate the state of the received data packets to the transmitting values. ERAJOWI / Pl0793, 1999-12-06 10 15 20 25 30 35 513 327 9. The sending host takes appropriate measures to control the data flow in response to these status messages. An intermediate storage unit for the network, hereinafter referred to as network buffer, interfaces with both the wireless access link and the packet switching network. During data packet communication, the network buffer performs the following steps. First, it receives data packets from the transmitting host. Second, either explicitly or implicitly, the sending host notifies which data packets have been received correctly by the network buffer, and if a data packet has been incorrectly received or not received at all, the network buffer indicates whether the data packet was incorrectly received or not received at all via the access link or in the packet switching network.
För det tredje, lagrar nätverksbufferten de korrekt mottagna datapaketen. För det fjärde, vidarebefordrar nätverksbufferten de lagrade datapaketen till den mottagande värden. Slutligen utför nätverksbufferten lokala återutsänd- ningar av de lagrade datapaketen till den. mottagande värden närhelst detta blir nödvändigt. Sådana återutsändningar sker typiskt efter det att en återutsändningstimer har löpt ut eller vid mottagande av en explicit eller implicit kungörelse om förlust från den mottagande värden.Third, the network buffer stores the correctly received data packets. Fourth, the network buffer forwards the stored data packets to the receiving host. Finally, the network buffer performs local retransmissions of the stored data packets to it. receiving values whenever this becomes necessary. Such retransmissions typically occur after a retransmission timer has expired or upon receipt of an explicit or implicit announcement of loss from the receiving host.
En metod för att kommunicera datapaket mellan två värdar enligt uppfinningen är härigenom kännetecknad av vad som är uppenbart från kravet 1.A method for communicating data packets between two hosts according to the invention is hereby characterized by what is obvious from claim 1.
Ett föreslaget system inkluderar en nätverksbuffert, vilken utgör gränssnitt mot både en trådlös accesslänk och ett paket- förmedlande nätverk och sätter således direkt eller indirekt en sändande värd i kontakt med en mottagande värd. De sändande och mottagande värdarna antas arbeta enligt ett pålitligt skjutan- de-fönster-transportprotokoll med vars hjälp borttappade eller felaktigt mottagna datapaket kan återutsändas från den sändande till den mottagande värden. Det paketförmedlande tillhandahålla en nätverket antas vidare förbindelselös leverans av datapaket. Nätverksbufferten inkluderar organ för mottagning av ERAJOWI / PlO793, 1999-12-06 10 15 20 25 30 35 513 327 10 datapaket. Detta organ genererar också ett första statusmedde- lande vilket skickas tillbaka till den sändande värden och som (i) anger huruvida ett specifikt datapaket måste återutsändas eller inte och (ii) anger huruvida ett datapaket tappats bort i det paketförmedlande nätverket eller mottagits felaktigt i det paketförmedlande nätverket. Nätverksbufferten inkluderar även organ för att lagra korrekt mottagna datapaket och ett organ vilket hämtar fram de lagrade datapaketen och sänder dessa till den xnottagande värden. Dessutonx är nätverksbufferten försedd med organ för databehandling för mottagande av det första statusmeddelandet från mottagningsorganen och för mottagning av ett andra statusmeddelande fràn den mottagande värden. Organen för databehandling genererar ett tredje statusmeddelande som svar på det första och andra statusmeddelandet och skickar tillbaka det tredje statusmeddelandet till den sändande värden.A proposed system includes a network buffer, which interfaces with both a wireless access link and a packet switching network and thus directly or indirectly contacts a transmitting host with a receiving host. The transmitting and receiving hosts are assumed to operate according to a reliable sliding-window-transport protocol by means of which lost or incorrectly received data packets can be retransmitted from the transmitting to the receiving host. The packet switching providing a network is further assumed to be unconnected delivery of data packets. The network buffer includes means for receiving ERAJOWI / PlO793, 1999-12-06 10 15 20 25 30 35 513 327 10 data packets. This means also generates a first status message which is sent back to the sending host and which (i) indicates whether a specific data packet must be retransmitted or not and (ii) indicates whether a data packet has been lost in the packet transmitting network or received incorrectly in the packet transmitting the network. The network buffer also includes means for storing correctly received data packets and a means which retrieves the stored data packets and sends them to the received receiver. In addition, the network buffer is provided with data processing means for receiving the first status message from the receiving means and for receiving a second status message from the receiving host. The data processing means generates a third status message in response to the first and second status messages and returns the third status message to the sending host.
De lagrade datapaketen àterutsänds till den mottagande värden närhelst detta visar sig' nödvändigt. Sådana återutsändningar initieras typiskt av återutsändningstimerns utlöpande eller vid mottagning av en explicit eller implicit kungörelse att datapa- ket tappats bort.The stored data packets are retransmitted to the receiving host whenever this proves necessary. Such retransmissions are typically initiated by the expiration of the retransmission timer or upon receipt of an explicit or implicit announcement that the data packet has been lost.
Systemet enligt uppfinningen kännetecknas härigenom av kravet 9:os kännetecknande del.The system according to the invention is hereby characterized by the characterizing part of claim 9.
Föreliggande uppfinning förhindrar således överbelastningsalgo- ritmer från att bli aktiverade i ett väsentligen feltolerant nätverk då datapaket tappas bort i förhållandevis felbenägna accesslänkar på grund av andra skäl än överbelastning, Detta naturligtvis inte bara effektiviteten i det väsentligen felto- nämnda accesslänkar är förbundna med nämnda nätverk. ökar leranta nätverket i sig, utan även system tvilka inkluderar såväl väsentligen feltoleranta länkar och förhållandevis felbenägna accesslänkar.The present invention thus prevents overload algorithms from being activated in a substantially fault tolerant network when data packets are lost in relatively fault prone access links due to reasons other than congestion. increases the cluttered network itself, but also doubtful systems include both substantially fault-tolerant links and relatively fault-prone access links.
Kort ritningsbeskrivning Figur 1 visar den kända metoden att använda ett skjutan- de-fönster-protokoll vilket beskrivits ovan.Brief Description of the Drawings Figure 1 shows the known method of using a sliding window protocol as described above.
ERAJOWI / P10793, 1999-12-06 10 15 20 25 30 35 513 327 11 Figur 2 visar uppfinningens generella metod.ERAJOWI / P10793, 1999-12-06 10 15 20 25 30 35 513 327 11 Figure 2 shows the general method of the invention.
Figur 3 visar ett blockschema för ett föreslaget system.Figure 3 shows a block diagram of a proposed system.
Figurerna 4a-d visar utföringsformer enligt den föreslagna metoden för att kommunicera datapaket och för att generera statusinformation.Figures 4a-d show embodiments according to the proposed method for communicating data packets and for generating status information.
Figur 5 visar i form av ett flödesdiagram en utförings- form för den del av den föreslagna metoden vil- ken utförs av nätverksbufferten.Figure 5 shows in the form of a flow chart an embodiment of the part of the proposed method which is performed by the network buffer.
Figur 6 visar ett blockschema för ett system enligt uppfinningen.Figure 6 shows a block diagram of a system according to the invention.
Uppfinningen skall nu beskrivas mer ingående i detalj med hjälp av föredragna illustrativa utföringsformer och exempel med tillhörande figurer.The invention will now be described in more detail with the aid of preferred illustrative embodiments and examples with accompanying figures.
Beskrivning av föredragna utföringsformer Figur 2 visar det schematiska händelseförloppet enligt uppfin- ningens metod. En sändande värd finns här representerad till vänster i figuren och en mottagande värd finns representerad till höger. Delen av förbindelsen mellan den sändande värden och nätverksbufferten, IWU, betecknas som ett första ben A och delen av förbindelsen mellan nätverksbufferten och den motta- gande värden betecknas som ett andra ben B. En symbolisk tidsaxel finns representerad vertikalt med riktning nedåt.Description of preferred embodiments Figure 2 shows the schematic sequence of events according to the method of the invention. A sending host is represented here on the left in the figure and a receiving host is represented on the right. The part of the connection between the transmitting host and the network buffer, IWU, is denoted as a first leg A and the part of the connection between the network buffer and the receiving host is denoted as a second leg B. A symbolic time axis is represented vertically downwards.
Upp till n stycken datapaket DPn antas ha nått den mottagande värden korrekt. Den mottagande värden skickar därför tillbaka en positiv kvittens Ack n som kungör nätverksbufferten om detta. Nätverksbufferten IWU mottar den positiva kvittensen Ack n. Datapaket_nummer m DPm kommer i detta exempel fram korrekt till nätverksbufferten IWU några ögonblick senare. Följaktligen matar nätverksbufferten IWU tillbaka ett första statusmeddelan- ERAJOWI / Pl0793, 1999-12-06 10 15 20 25 30 35 513 327 12 de S(An, Bn) till den sändande värden vilket anger att den mottagande värden mottagit alla datapaket DPn upp till datapa- ket nummer n korrekt, det vill säga inga fel eller förluster har skett för dessa datapaket, vare sig i det första benet A eller i det andra benet B. Nätverksbufferten IWU kan också, samtidigt med detta eller vid någon senare tidpunkt då datapa- ket nummer m mottagits, skicka tillbaka ett andra statusinfor- mationsmeddelande Ack m, vilket upplyser den sändande värden om att alla datapaket DPm upp till datapaket nummer m mottagits korrekt av nätverksbufferten IWU. Angående statusmeddelandet S(An, Bn) respektive Ack m för det första och det andra datapa- ketet, utförs dessa företrädesvis av en selektiv kvittensalgo~ SACK.. algoritm återfinns i M. Mathis et al, ”TCP Selective Acknowled- Internet RFC 2018, ritm såsom t. ex. En detaljerad beskrivning av denna gement Options", oktober 1996.Up to n data packets The DPn is assumed to have reached the receiving value correctly. The receiving host therefore sends back a positive acknowledgment Ack n announcing the network buffer about this. The IWU network buffer receives the positive acknowledgment Ack n. Data packet_number DPm in this example arrives correctly at the IWU network buffer a few moments later. Consequently, the network buffer IWU feeds back a first status message - ERAJOWI / Pl0793, 1999-12-06 10 15 20 25 30 35 513 327 12 de S (An, Bn) to the sending value indicating that the receiving value has received all the data packets DPn up to data packet number n correctly, i.e. no errors or losses have occurred for these data packets, either in the first leg A or in the second leg B. The IWU network buffer can also, at the same time or at any later time when the data packet ket number m received, send back a second status information message Ack m, which informs the sending value that all data packets DPm up to data packet number m have been received correctly by the network buffer IWU. Regarding the status message S (An, Bn) and Ack m for the first and the second data packet, respectively, these are preferably performed by a selective acknowledgment algorithm ~ SACK .. algorithm can be found in M. Mathis et al, “TCP Selective Acknowled- Internet RFC 2018, rhythm such as e.g. A Detailed Description of this Gement Options ", October 1996.
Network Working Group, Om ett datapaket mottags felaktigt eller om ett datapaket tappats bort över något av benen A eller B matar nätverksbuf- ferten IWU tillbaka statusmeddelanden angående dessa datapaket vilka upplyser den sändande värden om detta faktum. Nätverks- bufferten IWU skulle, som svar på ett borttappat eller degrade- rat datapaket i det benet A, tillbaka [l,-], till den sändande värden, denna om sändningsfelet benet A. Ifall ett degenereras över det andra benet B, första skicka statusmeddelanden S(A, B) = som upplyser från det bort skulle nätverksbufferten härrörande specifika datapaket tappas eller IWU åtminstone skicka tillbaka ett statusmeddelande S(A, B) = [O, 1] vilket anger sändningsfelet härrörande från detta ben B.Network Working Group, If a data packet is received incorrectly or if a data packet is lost over any of the legs A or B, the IWU network buffer feeds back status messages regarding these data packets which inform the transmitting host of this fact. The network buffer IWU would, in response to a lost or degraded data packet in that leg A, return [1, -], this if the transmit error is leg A. If one degenerates over the other leg B, first send status messages S (A, B) = which informs from it away, the network buffer originating specific data packets would be dropped or IWU at least send back a status message S (A, B) = [0, 1] indicating the transmission error originating from this leg B.
Som en ytterligare möjlighet skulle nätverksbufferten IWU redan kunnat skicka tillbaka en positiv kvittens Ack+, och därigenom tillkännagivit korrekt mottagning av datapaketet i nätverksbuf- ferten IWU.As an additional possibility, the IWU network buffer could already have sent back a positive acknowledgment Ack +, thereby announcing the correct receipt of the data packet in the IWU network buffer.
Figur 3 visar ett blockschema för ett föreslaget system. En första mobil värd 305 står här i förbindelse med en första basstation 315 via en första accesslänk 310. Accesslänken 310 ERAJOWI / PlO793, 1999-12-06 10 15 20 25 30 35 513 327 13 består typiskt sett av en eller flera trådlösa radiolänkar i ett cellulärt system. Den kan dock vara en godtycklig förbin- delse väl lämpad för den specifika tillämpningen. Accesslänken 310 kan till exempel vara en satellitlänk, en optisk- länk, en ljudlänk eller en hydrofonlänk. Den första basstationen 315 är vidare ansluten till en första nätverksbuffert 320, betecknad IWU generellt (InterWorking Unit), den första basstationen 315 kan antingen vara separerad från den första nätverksbufferten (320 såsom visas i stationerad i figur 3) eller vara dess närhet, vad helst är tekniskt och/eller ekonomiskt mest lämp- ligt. Den första nätverksbufferten 320 utgör även gränssnitt mot ett paketförmedlande nätverk 325. Det förutsätts att det paketförmedlande nätverket 325 kan tillhandahålla en förbindel- selös leverans av datapaket på en best-effort basis. Detta tekniskt möjligt att leverera kommer levereras så snart som möjligt. innebär i korta drag att varje datapaket som är Internet är ett välkänt exempel där många nätverk tillsammans tillhandahåller en best-effort datagram. Ytterligare detaljer angående definitionen av “best- förbindelselös leverans av effort” datagram återfinns i “Internet RFC 1504".Figure 3 shows a block diagram of a proposed system. A first mobile host 305 is here connected to a first base station 315 via a first access link 310. The access link 310 ERAJOWI / PlO793, 1999-12-06 10 15 20 25 30 35 513 327 13 typically consists of one or more wireless radio links in a cellular system. However, it can be an arbitrary compound well suited for the specific application. The access link 310 may be, for example, a satellite link, an optical link, an audio link or a hydrophone link. The first base station 315 is further connected to a first network buffer 320, termed IWU generally (InterWorking Unit), the first base station 315 may either be separated from the first network buffer (320 as shown in stationed in Figure 3) or be in its vicinity, whatever is technically and / or economically most suitable. The first network buffer 320 also interfaces with a packet switching network 325. It is assumed that the packet switching network 325 can provide a non-connected delivery of data packets on a best-effort basis. This technically possible to deliver will be delivered as soon as possible. In short, each data packet that is the Internet is a well-known example where many networks together provide a best-effort datagram. Further details regarding the definition of “best connection-free delivery of effort” datagrams can be found in “Internet RFC 1504”.
Dessutom kan åtminstone en fast värd 330, åtminstone en andra nätverksbuffert 335 och en tredje basstation 365 vara anslutna till det paketförmedlande nätverket 325. Den andra nätverksbuf- ferten 335 utgör gränssnitt mot en andra basstation 340 och en andra mobil värd 350 via en andra accesslänk 345 på ett sätt liknande det som beskrivits i samband med den första nätverks- bufferten 320 ovan. Den tredje basstationen 365, som kommunice- rar med en tredje mobil värd 355 över en tredje accesslänk 360, kan antingen vara direkt ansluten till det paketförmedlande nätverket 325 eller vara ansluten via en enhet som inte är en nätverksbuffert.In addition, at least one fixed host 330, at least one second network buffer 335 and a third base station 365 may be connected to the packet switching network 325. The second network buffer 335 interfaces with a second base station 340 and a second mobile host 350 via a second access link 345 in a manner similar to that described in connection with the first network buffer 320 above. The third base station 365, which communicates with a third mobile host 355 over a third access link 360, may either be directly connected to the packet switching network 325 or be connected via a device which is not a network buffer.
Ovan beskrivna system möjliggör ett utbyte av datapaket i vilken riktning som helst mellan vilka som helst av värdarna 305, 330, 350 och 355 enligt ett pålitligt skjutande-fönster- transportprotokoll. 330, Följaktligen kan en godtycklig värd 305, 350 respektive 355 utgöra sändande värd och någon eller ERAJOWI / PlO793, 1999-12-06 10 15 20 25 30 35 513 327 14 flera av de resterande värdarna 305,330, 350, respektive 355 kan utgöra mottagande värd(ar). Det pålitliga skjutande- fönster-transportprotokollet vilket används av den sändande och de mottagande värdarna är företrädesvis av TCP typ (specifice- rad i "Internet RFC793”) eller av en typ specificerad av standarddokumentet ISO8073. Dock kan naturligtvis vilket alternativt skjutande-fönster-transportprotokoll som helst användas.The systems described above enable the exchange of data packets in any direction between any of the hosts 305, 330, 350 and 355 according to a reliable sliding window transport protocol. Consequently, an arbitrary host 305, 350 and 355, respectively, may be the transmitting host and any or several of the remaining hosts 305,330, 350, and 355, respectively, may be the receiving host or ERAJOWI / PlO793, 1999-12-06. host (s). The reliable sliding window transport protocol used by the transmitting and receiving hosts is preferably of the TCP type (specified in "Internet RFC793") or of a type specified by the standard ISO8073 document. However, of course, any alternative sliding window transport protocol may be used at any time.
Den sändande värden 310, 330, 350 respektive 355 kungörs status för varje sänt datapaket genom ett specifikt statusmeddelande vilket återsänds från nätverksbufferten 320 (Vilket respektive 335.The transmitting values 310, 330, 350 and 355, respectively, announce the status of each transmitted data packet by a specific status message which is returned from the network buffer 320 (Which respectively 335.
TCP-kvittens) genereras hos den nätverksbuffert som är närmast den sändande Statusmeddelandet t.ex. kan vara en värden, d.v.s. någon av nätverksbuffertarna 320 eller 335. När således den första mobila värden 305 sänder datapaket genererar den första nätverksbufferten 320 statusmeddelandet. När den fasta värden 330 sänder datapaket till någon av de mobila värdarna 305 eller 350 genererar antingen den första 320 eller den andra 335 nätverksbufferten statusmeddelandet beroende på vilken av värdarna 305 och 350 som är mottagande värd. Dock, om den fasta värden 330 skulle skicka datapaket till den tredje mobila värden 355 skulle inga sådana statusmeddelanden genere- ras. När värden 350 sänder datapaket genererar nätverksbuffer- ten 335 statusinformationen. Om den mobila värden 355 sänder datapaket kommer ifrågavarande statusinformation endast genere- ras om den mottagande värden är ansluten till det paketförmed- lande nätverket 325 via en nätverksbuffert såsom 320 eller 335. till den värden enligt en selektiv kvittensalgoritm (SACK) eller enligt Statusinformationen kan t.ex. överföras sändande en så kallad TP4- algoritm. En mer utförlig beskrivning av TP4- algoritmen återfinns i standarddokumentet ISO 8073.TCP acknowledgment) is generated at the network buffer closest to the sending Status message e.g. can be a host, i.e. one of the network buffers 320 or 335. Thus, when the first mobile host 305 sends data packets, the first network buffer 320 generates the status message. When the fixed host 330 sends data packets to one of the mobile hosts 305 or 350, either the first 320 or the second 335 network buffer generates the status message depending on which of the hosts 305 and 350 is the receiving host. However, if the fixed host 330 were to send data packets to the third mobile host 355, no such status messages would be generated. When the host 350 sends data packets, the network buffer 335 generates the status information. If the mobile host 355 sends data packets, the status information in question will only be generated if the receiving host is connected to the packet transmitting network 325 via a network buffer such as 320 or 335. to that host according to a selective acknowledgment algorithm (SACK) or according to the Status Information .ex. transmitted transmitting a so-called TP4 algorithm. A more detailed description of the TP4 algorithm can be found in the standard document ISO 8073.
För att ytterligare åskådliggöra uppfinningen kommer nu fyra olika datakommunikationsexempel beskrivas nu h. a. 4a-d. figurerna I ett första datakommunikationsexempel vilket illustreras av figur 4a, antas den fasta värden FH vara den sändande värden ERAJOWI / P10793, 1999-12-06 10 15 20 25 30 35 513 327 15 och den andra mobila värden MH2 antas vara den mottagande värden. Datapaket DP passerar således fràn den fasta värden FH genom det paketförmedlande nätverket till den andra nätverks- bufferten IWU2. Denna del av förbindelsen benämns såsom ett första ben B. Den andra nätverksbufferten IWU2 vidarebefordrar sedan datapaketen DP till den andra mobila värden MH2 via den andra basstationen och den andra accesslänken. Denna del av förbindelsen benämns såsom ett andra ben C.To further illustrate the invention, four different data communication examples will now be described, i.e. 4a-d. the figures In a first data communication example which is illustrated by figure 4a, the fixed value FH is assumed to be the transmitting value ERAJOWI / P10793, 1999-12-06 10 15 20 25 30 35 513 327 15 and the second mobile value MH2 is assumed to be the receiving value. Data packets DP thus pass from the fixed host FH through the packet switching network to the second network buffer IWU2. This part of the connection is referred to as a first leg B. The second network buffer IWU2 then forwards the data packets DP to the second mobile host MH2 via the second base station and the second access link. This part of the connection is referred to as a second leg C.
Den andra nätverksbufferten IWU2 fungerar här som slutmottagare av datapaketen DP, ur det paketförmedlande nätverkets synvin- kel. Detta innebär att när väl ett datapaket DP har lyckats nå den andra nätverksbufferten IWU2 korrekt kommer det ej att återutsändas från den fasta värden FH. Den andra nätverksbuf- ferten IWU2 skickar tillbaka ett statusmeddelande S(B, C) = [0,-] vilket upplyser den fasta värden FH om detta faktum.The second network buffer IWU2 functions here as the final recipient of the data packets DP, from the point of view of the packet switching network. This means that once a data packet DP has managed to reach the second network buffer IWU2 correctly, it will not be retransmitted from the fixed host FH. The second network buffer IWU2 sends back a status message S (B, C) = [0, -] which informs the fixed value FH of this fact.
Om, om à andra sidan ett datapaket DP försvinner på den andra accesslänken mellan den andra basstationen och den andra mobila värden MH2, kommer detta datapaket DP àterutsändas från den andra nätverksbufferten IWU2 tills dess datapaketet DP motta- gits korrekt av den andra mobila värden MH2. En sådan förlust av datapaket kungörs även den fasta värden FH genom statusmed- delandet S(B, C) = [O, l] IWU2 återmatar. vilket den andra nätverksbufferten De datapaket DP som tappas bort eller degenereras efter att ha lämnat den fasta värden men före att ha nått den andra nät- verksbufferten IWU2 återutsänds från den fasta värden FH. Om den andra nätverksbufferten IWU2 registrerar en förlust eller degenerering av ett datapaket DP kungörs den fasta värden FH genom ett statusmeddelande S(B, C) = [l,-].If, on the other hand, a data packet DP disappears on the second access link between the second base station and the second mobile host MH2, this data packet DP will be retransmitted from the second network buffer IWU2 until the data packet DP is received correctly by the second mobile host MH2. Such a loss of data packets is also announced by the fixed value FH by the status message S (B, C) = [0.1] IWU2 reloads. which the second network buffer The data packets DP which are lost or degenerate after leaving the fixed value but before reaching the second network buffer IWU2 are retransmitted from the fixed value FH. If the second network buffer IWU2 detects a loss or degeneration of a data packet DP, the fixed value FH is announced by a status message S (B, C) = [1, -].
Enligt uppfinningen upplyser en första del av statusmeddelandet S(B, C), vilket här motsvarar det första benet B, huruvida ett datapaket DP har tappats bort eller degenererats i det paket- förmedlande nätverket. En andra del av statusmeddelandet S(B, C), vilket här motsvarar det andra benet C, anger huruvida ett datapaket har tappats bort eller degenererats över den andra accesslänken. Ifall förlusten eller degraderingen skedde i det ERAJOWI / P10793, 1999-12-06 10 15 20 25 30 35 513 327 16 paketförmedlande nätverket reduceras paketdatahastigheten från den fasta värden FH m. h. a. dataflödet, åtminstone en styralgoritm för annars inte.According to the invention, a first part of the status message S (B, C), which here corresponds to the first leg B, indicates whether a data packet DP has been lost or degenerated in the packet transmitting network. A second part of the status message S (B, C), which here corresponds to the second leg C, indicates whether a data packet has been lost or degenerated over the second access link. If the loss or degradation occurred in the ERAJOWI / P10793, 1999-12-06 10 15 20 25 30 35 513 327 16 packet switching network, the packet data rate is reduced from the fixed value FH by means of the data flow, at least one control algorithm does not otherwise.
I ett andra datakommunikationsexempel vilket visas i figur 4b, är den första mobila värden MHI den sändande värden och den fasta värden FH är mottagande värd. Datapaket DP lämnar således den första mobila värden MHl vidare över den första accesslän- ken och passerar vidare genom den första basstationen till den IWU1. benämns såsom ett första ben A. första nätverksbufferten Denna del av förbindelsen Den första nätverksbufferten IWU1 vidarebefordrar sedan datapaketen DP till den fasta värden FH genom det paketförmedlande nätverket, vilket motsvarar ett andra ben B av förbindelsen. Den händelsevis dåliga kvalitén för accesslänken mellan den första mobila värden MHI och den första nätverksbufferten IWU1 kan ge upphov till degenerering eller att datapaket DP tappas bort. Sådana degenererade eller borttappade datapaket DP måste naturligtvis återutsändas från den första mobila värden MHl till den första nätverksbufferten IWU1.In a second data communication example shown in Fig. 4b, the first mobile host MHI is the transmitting host and the fixed host FH is the receiving host. Data packet DP thus passes the first mobile host MH1 on over the first access link and passes on through the first base station to the IWU1. referred to as a first leg A. the first network buffer This part of the connection The first network buffer IWU1 then forwards the data packets DP to the fixed host FH through the packet switching network, which corresponds to a second leg B of the connection. The incidentally poor quality of the access link between the first mobile host MHI and the first network buffer IWU1 can cause degeneration or data packet DP to be lost. Of course, such degenerate or lost data packets DP must be retransmitted from the first mobile host MH1 to the first network buffer IWU1.
Inte desto mindre, när den första nätverksbufferten IWU1 väl mottagit ett datapaket korrekt behöver det aldrig àterut- sändas från den första mobila värden MHl.Nevertheless, once the first IWU1 network buffer has received a data packet correctly, it never needs to be retransmitted from the first mobile host MH1.
Den första nätverksbufferten IWU1 kan också vara tvungen, även om det är mindre sannolikt, att àterutsända datapaket DP till den fasta värden FH. Detta är t.ex. fallet då överbelastning i det paketförmedlande nätverket har förorsakat återursänd- ninsningstimerns utlöpande.The first IWU1 network buffer may also be forced, although less likely, to retransmit data packets DP to the fixed host FH. This is e.g. the case where congestion in the packet switching network has caused the retransmission timer to expire.
Ett statusmeddelande S(A, B) samhörande varje datapaket DP IWU1 och En första del av genereras i den första nätverksbufferten skickas tillbaka till den första mobila värden MHl. statusmeddelandet S(A, B) motsvarar här det andra benet B och anger huruvida ett datapaket DP har tappats bort eller degene- rerats i det paketförmedlande nätverket, medan en andra del, här motsvarande det första benet A, anger huruvida datapaketet DP har borttappats eller degenererats över den första access- länken. Ifall försvinnandet eller förvanskningen skedde i det paketförmedlande nätverket sänks datahastigheten från den ERAJOWI / P10793, 1999-12-06 10 15 20 25 30 35 513 327 17 första mobila värden MHl med hjälp av åtminstone en dataflöde- salgoritm. Förlusten eller förvanskningen av ett datapaket DP över den första accesslänken påverkar dock på inget sätt paketdatahastigheten från den första mobila värden MH1.A status message S (A, B) associated with each data packet DP IWU1 and A first part of is generated in the first network buffer is sent back to the first mobile host MH1. the status message S (A, B) here corresponds to the second leg B and indicates whether a data packet DP has been lost or degenerated in the packet switching network, while a second part, here corresponding to the first leg A, indicates whether the data packet DP has been lost or degenerate over the first access link. If the disappearance or distortion took place in the packet switching network, the data rate from the first mobile values MH1 is reduced from the ERAJOWI / P10793, 1999-12-06 10 15 20 25 30 35 513 327 17 by means of at least one data flow sales algorithm. However, the loss or distortion of a data packet DP over the first access link does not in any way affect the packet data rate from the first mobile host MH1.
I ett tredje datakommunikationsexempel, vilket åskådliggörs i figur 4c, är den första mobila värden MHl sändande värd och den andra mobila värden är mottagande värd. Den första mobila värden MH1 sänder nu datapaket DP över den första accesslänken genom den första basstationen till den första nätverksbufferten IWU1. Denna del av förbindelsen benämns såsom ett första ben A.In a third data communication example, as illustrated in Figure 4c, the first mobile host MH1 is the sending host and the second mobile host is the receiving host. The first mobile host MH1 now sends data packets DP over the first access link through the first base station to the first network buffer IWU1. This part of the connection is referred to as a first leg A.
IWUl datapaketen DP via det paketförmedlande nätverket till den andra nätverksbufferten IWU2.IWU1 data packets DP via the packet switching network to the second network buffer IWU2.
Den första nätverksbufferten vidarebefordrar därefter Denna del av förbindelsen benämns såsom ett andra ben B. den andra nätverksbufferten Slutligen, IWU2 sänder datapaket DP till den andra mobila värden MH2 genom den andra basstationen och den andra accesslänken. Denna sista del av förbindelsen utgör ett tredje ben C.The first network buffer then forwards This part of the connection is referred to as a second leg B. the second network buffer Finally, IWU2 sends data packets DP to the second mobile host MH2 through the second base station and the second access link. This last part of the connection forms a third leg C.
I detta fall kan datapaket DP, om nödvändigt, återutsändas över vilket som helst av de respektive benen A, B eller C. Ett datapaket DP kan antingen återutsändas från den första mobila värden MHI till den första nätverksbufferten IWUl, från den första nätverksbufferten IWU1 till den andra nätverksbufferten IWU2 eller från den andra nätverksbufferten IWU2 till den andra mobila värden MH2. Oavsett vad som orsakat förlusten eller förvanskningen av ett specifikt datapaket DP, kommer återut- sändning av datapaketet alltid endast ske över det ben A, B respektive C där datapaketet antingen förlorats eller degenere- rats.In this case, data packet DP can, if necessary, be retransmitted over any of the respective legs A, B or C. A data packet DP can either be retransmitted from the first mobile host MHI to the first network buffer IWU1, from the first network buffer IWU1 to the the second network buffer IWU2 or from the second network buffer IWU2 to the second mobile host MH2. Regardless of what caused the loss or distortion of a specific data packet DP, retransmission of the data packet will always only take place over the legs A, B and C, respectively, where the data packet has either been lost or degenerated.
Statusmeddelandet S(A, B) respektive S(B, C) anger statusen för varje ivägskickat datapaket DP och genereras i de båda nät- verksbuffertarna IWUl respektive IWU2.The status messages S (A, B) and S (B, C) respectively indicate the status of each sent data packet DP and are generated in the two network buffers IWU1 and IWU2, respectively.
S(A, B) anger i vilket ben A, B eller C ett specifikt datapaket DP tappats statusmeddelandet S(A, B) Dessa statusmeddelanden respektive S(B, C) bort eller degenererats. Om respektive S(B, C) kungör att ett datapaket DP har tappats bort eller degenererats i det paket- förmedlande nätverket, här ben B, triggas åtminstone en styral- ERAJOWI / PlO793, 1999-12-06 10 15 20 25 30 35 513 327 18 goritm för dataflödet. Paketdatahastigheten från den första mobila värden MHl kommer som en konsekvens av en sådan algoritm att sänkas. En förlust eller förvanskning av ett datapaket DP i något av de andra benen A eller C kommer, å andra sidan, inte leda till någon sänkning av datasändningshastigheten från den första mobila värden MHl.S (A, B) indicates in which leg A, B or C a specific data packet DP the status message S (A, B) These status messages and S (B, C) respectively have been deleted or degenerated. If the respective S (B, C) announces that a data packet DP has been lost or degenerated in the packet-transmitting network, here leg B, at least one control trigger is triggered. ERAJOWI / PlO793, 1999-12-06 10 15 20 25 30 35 513 327 18 data flow algorithm. The packet data rate from the first mobile host MH1 will be reduced as a consequence of such an algorithm. A loss or distortion of a data packet DP in any of the other legs A or C, on the other hand, will not lead to any decrease in the data transmission rate from the first mobile host MH1.
Ett fjärde datakommunikationsexempel kommer nu diskuteras med hänvisning till figur 4d. Den första mobila värden MHl är här sändande värd och den tredje mobila värden MH3 är mottagande värd. Den första mobila värden MHl sänder denna gång datapaket DP över den första accesslänken genom den första basstationen till den första nätverksbufferten IWUl. Denna del av förbindel- sen kommer benämnas som ett första ben A. Den första nätverks- bufferten IWUl vidarebefordrar sedan datapaketen DP via det paketförmedlande nätverket till den tredje mobila värden MH3, genom den tredje basstationen och den tredje accesslänken.A fourth data communication example will now be discussed with reference to Figure 4d. The first mobile host MH1 is the transmitting host here and the third mobile host MH3 is the receiving host. The first mobile host MH1 this time sends data packets DP over the first access link through the first base station to the first network buffer IWU1. This part of the connection will be referred to as a first leg A. The first network buffer IWU1 then forwards the data packets DP via the packet switching network to the third mobile host MH3, through the third base station and the third access link.
Denna del av förbindelsen kommer att benämnas såsom ett andra ben B.This part of the connection will be referred to as a second leg B.
En återutsändning av ett förlorat eller degenererat datapaket DP kan här antingen utföras över det första benet A eller det andra benet B. Ett statusmeddelande S(A, B) vilket anger status för varje den första ivägskickat datapaket DP genereras i nätverksbufferten IWUl och skickas tillbaka till den första mobila värden MHl. Statusmeddelandet S(A, B) anger således om ett specifikt datapaket har förlorats eller degenererats över ben A, den första nätverksbufferten IWUl och den tredje mobila värden den första accesslänken, d.v.s. eller någonstans mellan MH3, d.v.s. ben B. Endast en förlust eller degenerering av ett datapaket i ben B triggar algoritmerna som styr dataflödet och minskar således paketdatahastigheten från den första mobila värden MHl. Sådan förlust eller degenerering beror med största sannolikhet på den tredje accesslänkens dåliga kvalitet mellan den tredje basstationen och den tredje mobila värden MH3, men eftersom detta faktum är omöjligt att verifiera kommer algorit- mer som styr dataflödet ändå att aktiveras.A retransmission of a lost or degenerate data packet DP can here be performed either over the first leg A or the second leg B. A status message S (A, B) indicating the status of each the first sent data packet DP is generated in the network buffer IWU1 and sent back to the first mobile host MHl. The status message S (A, B) thus indicates whether a specific data packet has been lost or degenerated over leg A, the first network buffer IWU1 and the third mobile host the first access link, i.e. or somewhere between MH3, i.e. leg B. Only a loss or degeneration of a data packet in leg B triggers the algorithms that control the data flow and thus reduces the packet data rate from the first mobile host MH1. Such loss or degeneration is most likely due to the poor quality of the third access link between the third base station and the third mobile host MH3, but since this fact is impossible to verify, algorithms that control the data flow will still be activated.
ERAJOWI / P10793, 1999-12-06 10 15 20 25 30 35 513 327 19 Om en nätverksbuffert, oavsett kommunikationsfall, under en viss period tar emot fler datapaket från ett av sina gränssnitt än vad som kan levereras ut över dess andra gränssnitt, kastas de överflödiga datapaketen bort. Nätverksbufferten återmatar sedan statusmeddelanden S(X, Y) till den sändande värden som anger att de överflödiga datapaketen har försvunnit i det paketförmedlande nätverket.ERAJOWI / P10793, 1999-12-06 10 15 20 25 30 35 513 327 19 If a network buffer, regardless of communication case, during a certain period receives more data packets from one of its interfaces than can be delivered over its other interfaces, is discarded the redundant data packets removed. The network buffer then returns status messages S (X, Y) to the sending values indicating that the redundant data packets have disappeared in the packet switching network.
Detta kommer i sin tur trigga åtminstone en dataflödesalgoritm vilken uppmanar den sändande värden att sänka sin paketdatahastighet. Hastigheten kommer således gradvis sänkas ner i. nivå med överföringshastigheten hos nätverksbuffertens begränsande gränssnitt.This in turn will trigger at least one data flow algorithm which prompts the transmitting host to lower its packet data rate. The speed will thus be gradually lowered to the level of the transmission speed of the restrictive interface of the network buffer.
Figur 5 illustrerar en utföringsform för en metod enligt uppfinningen vilken utförs i en nätverksbuffert, då datapaket sänds från en sändande värd till en mottagande värd via nät- verksbufferten. Figuren illustrerar ett specifikt datapakets, eller en specifik grupp av datapakets, möjliga öde då de/det passerar genom nätverksbufferten. Det är ändå viktigt att hålla i minnet att eftersom det pålitliga skjutande-fönster- trans- portprotokollet tillåter många obekräftade datapaket i nätver- ket mellan den sändande och den mottagande utför värden, nätverksbufferten vid varje tillfälle många av följande steg samtidigt och parallellt. Proceduren sker således i olika steg för olika datapaket DP.Figure 5 illustrates an embodiment of a method according to the invention which is performed in a network buffer, when data packets are sent from a transmitting host to a receiving host via the network buffer. The figure illustrates the specific fate of a specific data packet, or a specific group of data packets, as they pass through the network buffer. It is nevertheless important to keep in mind that because the reliable sliding window transport protocol allows many unconfirmed data packets in the network between the transmitting and the receiving perform values, the network buffer at each time many of the following steps simultaneously and in parallel. The procedure thus takes place in different steps for different data packets DP.
I ett första steg 500 mottar nätverksbufferten ett eller flera datapaket DP från den sändande värden. Ett efterföljande steg 505 kontrollerar huruvida dátapaketet/n är korrekt/a. Om så är fallet fortsätter proceduren till steg 520. Annars utförs en anhållan i ett steg 510 att de/t inkorrekt mottagna datapake- tet/n DP skall återutsändas. Ett statusmeddelande S(X,-) anger felaktig mottagning av datapaketet/n DP och återmatas till den sändande steg 515. återvänder sedan till steg 505 för att fastställa huruvida de/t återutsända datapaket/en DP når fram korrekt. värden i ett efterföljande Proceduren I praktiken utförs stegen 510 och 515 mest effektivt i ett enda steg, i vilket statusmeddelandet S(X,-) i sig tolkas som en ERAJOWI / P10793, 1999-12-06 10 15 20 25 30 35 513 327 20 återutsändningsförfrågan. Stegen 510 och 515 kan naturligtvis också utföras i omvänd ordning eller parallellt. Deras inbördes ordning saknar hur som helst betydelse för resultatet.In a first step 500, the network buffer receives one or more data packets DP from the transmitting host. A subsequent step 505 checks whether the data packet (s) is correct. If so, the procedure proceeds to step 520. Otherwise, a request is made in step 510 that the / t incorrectly received data packet / n DP be retransmitted. A status message S (X, -) indicates incorrect reception of the data packet / n DP and is fed back to the transmitting step 515. then returns to step 505 to determine whether the retransmitted data packet / s DP arrives correctly. values in a subsequent procedure In practice, steps 510 and 515 are performed most efficiently in a single step, in which the status message S (X, -) is itself interpreted as an ERAJOWI / P10793, 1999-12-06 10 15 20 25 30 35 513 327 20 retransmission request. Steps 510 and 515 can of course also be performed in reverse order or in parallel. Their mutual order is in any case irrelevant to the result.
Ifall nätverksbufferten i stegen 500 och 505 mottar datapake- tet/en DP i felaktig sekventiell ordning så att en förlust av tidigare datapaket DP sannolikt ägt rum utförs en àterutsänd- ningsförfrågan i stegen 510 och 515 för de/t datapaket vilket/a antas vara förlorat/de.If the network buffer in steps 500 and 505 receives the data packet / DP in the wrong sequential order so that a loss of previous data packets DP is likely to have taken place, a retransmission request is performed in steps 510 and 515 for the data packets which are assumed to be lost. /the.
Steget 520 kontrollerar huruvida nätverksbuffertens utgångs- gränssnitt har tillräcklig bandbredd BW, d.v.s. kan transporte- ra datapaket DP åtminstone så snabbt som datapaket inkommer på Ifall bandbredden BW är otillräcklig kastas ett eller flera datapaket bort i ett steg nätverksbufferten ingångsgränssnitt. 525. Proceduren återvänder sedan till steg 510 där en återut- sändningsförfrågan sker för de/t bortkastade datapaketet/n. Om det à andra sidan visar sig i steget 520 att utgàngsgränssnit- tet har tillräcklig bandbredd BW fortsätter proceduren till ett steg 530.Step 520 checks whether the output interface of the network buffer has sufficient bandwidth BW, i.e. can transport data packets DP at least as fast as data packets arrive on If the bandwidth BW is insufficient, one or more data packets are discarded in one step the network buffer input interface. 525. The procedure then returns to step 510 where a retransmission request is made for the discarded data packet (s). On the other hand, if it turns out in step 520 that the output interface has sufficient bandwidth BW, the procedure proceeds to a step 530.
I steget 530 kan ett statusmeddelande S(X,-) som anger korrekt mottagning av datapaketet/n DP âtermatas den sändande värden.In step 530, a status message S (X, -) indicating the correct reception of the data packet / n DP can be returned to the transmitting values.
Om det finns ett paketförmedlande nätverk mellan den sändande värden och nätverksbufferten, återmatar nätverksbufferten den sändande värden med ett regelbundet statusmeddelande S(X,-) Dock, paketförmedlande nätverk mellan den sändande värden och nät- angående sändningsresultatet. om det inte finns något ve4rksbufferten (utan t. ex. en accesslänk) kan steget 530 vara tomt. Steg 530 förser nämligen den sändande värden med informa- tion som är nödvändig för att styra dataflödet från den sändan- de värden, och sådan information behöver endast skickas om datapaketet/en DP har sänts över ett paketförmedlande nätverk.If there is a packet switching network between the transmitting host and the network buffer, the network buffer returns the sending host with a regular status message S (X, -) However, packet switching network between the sending host and the network regarding the transmission result. if there is no work buffer (without, for example, an access link), step 530 may be empty. Namely, step 530 provides the transmitting value with information necessary to control the data flow from the transmitting value, and such information only needs to be sent if the data packet / DP has been sent over a packet transmitting network.
I ett efterföljande steg 535 lagras de korrekt mottagna datapa- ketet/en DP i nätverksbufferten. Ett därpå följande steg 540 vidarebefordrar datapaketet/en DP till den mottagande värden.In a subsequent step 535, the correctly received data packet / DP is stored in the network buffer. A subsequent step 540 forwards the data packet / DP to the receiving host.
Ett steg 545 kontrollerar huruvida ett statusmeddelande för de sända datapaketet/en DP har skickats tillbaka av den mottagande värden. Om ett sådant statusmeddelande når nätverksbufferten ERAJOWI / PlO793, 1999-12-06 10 15 20 25 30 513 327 21 före det att en återutsändningstimer löpt ut, sker en kontroll i ett steg 555 huruvida statusmeddelandet anger korrekt eller inkorrekt mottagning av datapaketet/en DP. Steg 550 avgör om återutsändningstimern har löpt ut, och ifall timern fortfarande räknar ner förs proceduren tillbaka till steget 545.A step 545 checks whether a status message for the sent data packets / DPs has been sent back by the receiving host. If such a status message reaches the network buffer ERAJOWI / PlO793, 1999-12-06 10 15 20 25 30 513 327 21 before a retransmission timer expires, a check is made in a step 555 whether the status message indicates correct or incorrect receipt of the data packet / DP . Step 550 determines if the retransmission timer has expired, and if the timer still counts down, the procedure returns to step 545.
Dock, om inget statusmeddelande har mottagits då återutsänd- ningstimern löper ut eller om det i steg 555 fastställs att ett eller flera datapaket DP har mottagits inkorrekt, återutsänds ifrågavarande datapaket DP i ett steg 560. Ett följande steg 565 skickar tillbaka ett statusmeddelande S(X, Y) till den sändande värden vilket anger det faktum att âterutsändning av datapaketet/en DP var nödvändig. Om det finns ett paketförmed- lande nätverk mellan nätverksbufferten och den mottagande värden, triggas styralgoritmer för dataflödet av statusmedde- landet S(X, Y), vilka sänker den sändande värdens datahastig- het, i annat fall påverkas inte den sändande värdens datahastighet.However, if no status message has been received when the retransmission timer expires or if it is determined in step 555 that one or more data packets DP has been received incorrectly, the data packet DP is retransmitted in a step 560. A subsequent step 565 sends back a status message S (X , Y) to the transmitting value indicating the fact that retransmission of the data packet / DP was necessary. If there is a packet switching network between the network buffer and the receiving host, control algorithms for the data flow are triggered by the status message S (X, Y), which slows down the data rate of the transmitting host, otherwise the data rate of the transmitting host is not affected.
I alternativa utföringsformer, för uppfinningens metod, utförs stegen 560 inbördes ordning saknar betydelse för resultatet.In alternative embodiments, for the method of the invention, the steps 560 are performed relative to each other without significance for the result.
Efter steget 565 återvänder* proceduren till steg 545 vilket kontrollerar huruvida ett statusmeddelande för de återutsända datapaketet/en DP mottagits. Så fort ett statusmeddelande som anger korrekt mottagning av datapaketet/en DP nått nätverksbuf- ferten fortsätter proceduren för detta/dessa datapaket DP från steget 545 till steget 555 och sedan till ett sista steg 570.After step 565, the * procedure returns to step 545 which checks whether a status message for the retransmitted data packets / DPs has been received. As soon as a status message indicating the correct reception of the data packet / DP has reached the network buffer, the procedure for this data packet (s) DP proceeds from step 545 to step 555 and then to a final step 570.
Detta sista steg 570 skickar tillbaka ett statusmeddelande S(X, Y) till den sändande värden vilket anger att datapaketet/en DP mottagits korrekt av den mottagande värden.This last step 570 returns a status message S (X, Y) to the sending value indicating that the data packet / DP has been correctly received by the receiving value.
Figur 6 visar ett blockschema för en anordning enligt uppfin- ningen. Ett första generellt gränssnitt 600 symboliserar här en sändande värd som kan vara antingen fast eller mobil. På motsvarande sätt symboliserar ett andra generellt gränssnitt 650 en nwttagande värd, som pà samma sätt kan vara antingen ERAJOWI / Pl0793, 1999-12-06 10 l5 20 25 30 35 513 327 22 fast eller mobil. En nätverksbuffert IWU utgör gränssnitt mot både det första och det andra gränssnittet 600 respektive 650.Figure 6 shows a block diagram of a device according to the invention. A first general interface 600 here symbolizes a sending host that can be either fixed or mobile. Correspondingly, a second general interface 650 symbolizes a receiving host, which in the same way can be either fixed or mobile. An IWU network buffer interfaces with both the first and second interfaces 600 and 650, respectively.
Nätverksbufferten IWU består i sin tur bland annat av ett organ 610 för mottagning av datapaket DP från det första gränssnittet 600, ett lagringsorgan 620 för lagring av datapaket DP, ett organ 630 för sändning av datapaket DP över det andra gränss- nittet 650 och ett organ för databehandling 640 för alstring av statusmeddelanden S(X, Y) och som på ett övergripande sätt styr nätverksbufferten IWU i överensstämmelse med metoden vilken beskrivits ovan i samband med figur 5.The network buffer IWU in turn comprises, inter alia, a means 610 for receiving data packets DP from the first interface 600, a storage means 620 for storing data packets DP, a means 630 for transmitting data packets DP over the second interface 650 and a means for data processing 640 for generating status messages S (X, Y) and which overall controls the IWU network buffer in accordance with the method described above in connection with Figure 5.
Förutom att mottaga datapaket DP avgör även mottagningsorganen 610 huruvida datapaketen DP mottagits korrekt och genererar ett första statusmeddelande S(X,-) som svar på de mottagna datapa- ketens skick.In addition to receiving data packets DP, the receiving means 610 also determines whether the data packets DP have been received correctly and generates a first status message S (X, -) in response to the condition of the received data packets.
Dessutom kan mottagningsorganen tvingas kasta datapaket DP på Detta uppmaning från databehandlingsorganen 640. att bandbred- den/kapaciteten hos gränssnittet 600 överskrider kapaciteten sker om databehandlingsorganen funnit hos gränssnittet 650. De kastade datapaketen DP betraktas som datapaket. Ett S(X,-) vilket anger en sådan förlust genereras därför och skickas borttappade första statusmeddelande tillbaka efter det att datapaketet/en kastats av mottagningsor- ganen 610.In addition, the receiving means may be forced to discard data packets DP at This request from the data processing means 640. that the bandwidth / capacity of the interface 600 exceeds the capacity occurs if the data processing means found at the interface 650. The discarded data packets DP are considered as data packets. An S (X, -) indicating such a loss is therefore generated and the lost first status message is sent back after the data packet / s has been discarded by the receiving means 610.
Detta första statusmeddelande S(X,-) skickas tillbaka till den sändande värden. Det första statusmeddelandet S(X,-) vidarebe- fordras också till databehandlingsorganen 640. Dessutom genere- rar organen 610 återutsändningsförfrågningar för datapaket DP närhelst detta blir nödvändigt. Såsom nämnts tidigare, kan naturligtvis statusmeddelandet S(X,-) i sig naturligtvis tolkas som en återutsändningsbegäran av den sändande värden. Korrekt mottagna datapaket DP av organen 610 vidarebefordras till lagringsorganen 620 för tillfällig lagring.This first status message S (X, -) is sent back to the sending value. The first status message S (X, -) is also forwarded to the data processing means 640. In addition, the means 610 generates retransmission requests for data packets DP whenever this becomes necessary. As mentioned earlier, of course, the status message S (X, -) itself can of course be interpreted as a retransmission request of the transmitting host. Properly received data packets DP by the means 610 are forwarded to the storage means 620 for temporary storage.
Sändningsorganen 630 hämtar datapaket DP fràn lagringsorganen 620 och sänder dessa över gränssnittet 650 till den mottagande värden. Som svar på de sända datapaketen DP skickar den motta- gande värden tillbaka ett andra statusmeddelande, t. ex. i form av en positiv eller negativ kvittens Acki som anger datapake- ERAJOWI / PlO793, 1999-12-06 lO 15 20 513 327 23 tens DP skick hos den mottagande värden. Databehandlingsorganen 640 mottar det andra statusmeddelandet Acki och genererar ett tredje kombinerat statusmeddelande S(X, Y), vilket bestäms av innehållet i det första statusmeddelandet S(X, -) och det andra statusmeddelandet Acki. Det tredje statusmeddelandet S(X, Y) ger således en fullständig bild av hur framgångsrikt ett specifikt datapaket DP eller en specifik grupp av datapaket DP passerat respektive ben före och efter nätverksbufferten. Det tredje statusmeddelandet S(X, Y) sänds från databehandlingsor- ganen tillbaka till den sändande värden över gränssnittet 600.The transmitting means 630 retrieves data packets DP from the storage means 620 and sends them over the interface 650 to the receiving host. In response to the sent data packets DP, the receiving value sends back a second status message, e.g. in the form of a positive or negative acknowledgment Acki which indicates the DP condition of the receiving host. ERAJOWI / PlO793, 1999-12-06 The data processing means 640 receives the second status message Acki and generates a third combined status message S (X, Y), which is determined by the contents of the first status message S (X, -) and the second status message Acki. The third status message S (X, Y) thus gives a complete picture of how successfully a specific data packet DP or a specific group of data packets DP has passed each leg before and after the network buffer. The third status message S (X, Y) is sent from the data processing means back to the transmitting value over the interface 600.
Ett specifikt datapaket DP som tillfälligt lagrats i lagrings- organen 620 kan raderas så fort ett andra statusmeddelande Ack+ mottagits för ifrågavarande datapaket DP, som anger att datapa- ketet DP mottagits korrekt av den mottagande värden. Datapake- tet DP kan naturligtvis även raderas vid nàgot senare, och eventuellt lämpligare, tillfälle.A specific data packet DP temporarily stored in the storage means 620 can be deleted as soon as a second status message Ack + has been received for the data packet DP in question, which indicates that the data packet DP has been received correctly by the receiving host. The DP data packet can of course also be deleted at a later, and possibly more suitable, occasion.
Ovan beskrivna utföringsformer tjänar endast ett illustrativt syfte och skall ej ses som begränsningar. Det är uppenbart för en fackman att avvikelser kan göras från ovan beskrivna utföringsformer utan att avvika från uppfinningens omfång och andemening. Uppfinningens omfång betraktas skall betraktas såsom likvärdigt med följande patentkrav. skall ej såsom begränsat till de beskrivna exemplen utan istället ERAJOWI / PlO793, 1999-12-06The embodiments described above serve only an illustrative purpose and should not be construed as limitations. It is obvious to a person skilled in the art that deviations can be made from the embodiments described above without deviating from the scope and spirit of the invention. The scope of the invention is to be considered as equivalent to the following claims. shall not as limited to the examples described but instead ERAJOWI / PlO793, 1999-12-06
Claims (10)
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9803423A SE513327C2 (en) | 1998-10-07 | 1998-10-07 | Systems and method of data communication |
AU58929/99A AU751285B2 (en) | 1998-10-07 | 1999-08-27 | Method and system for data communication |
PCT/SE1999/001479 WO2000021231A2 (en) | 1998-10-07 | 1999-08-27 | Method and system for data communication |
CA002346715A CA2346715A1 (en) | 1998-10-07 | 1999-08-27 | Method and system for data communication |
JP2000575248A JP2002527935A (en) | 1998-10-07 | 1999-08-27 | Data communication methods and systems |
EP99946532A EP1119954A2 (en) | 1998-10-07 | 1999-08-27 | Method and system for data communication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9803423A SE513327C2 (en) | 1998-10-07 | 1998-10-07 | Systems and method of data communication |
Publications (3)
Publication Number | Publication Date |
---|---|
SE9803423D0 SE9803423D0 (en) | 1998-10-07 |
SE9803423L SE9803423L (en) | 2000-04-08 |
SE513327C2 true SE513327C2 (en) | 2000-08-28 |
Family
ID=20412869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SE9803423A SE513327C2 (en) | 1998-10-07 | 1998-10-07 | Systems and method of data communication |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1119954A2 (en) |
JP (1) | JP2002527935A (en) |
AU (1) | AU751285B2 (en) |
CA (1) | CA2346715A1 (en) |
SE (1) | SE513327C2 (en) |
WO (1) | WO2000021231A2 (en) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9929882D0 (en) * | 1999-12-18 | 2000-02-09 | Roke Manor Research | TCP/IP enhancement for long latency links |
GB0018119D0 (en) * | 2000-07-24 | 2000-09-13 | Nokia Networks Oy | Flow control |
JP3377994B2 (en) * | 2000-11-14 | 2003-02-17 | 三菱電機株式会社 | Data distribution management device and data distribution management method |
GB2375001A (en) * | 2001-04-06 | 2002-10-30 | Motorola Inc | Re-transmission protocol |
WO2003041334A1 (en) | 2001-11-07 | 2003-05-15 | Cyneta Networks, Inc. | Gb PARAMETER BASED RADIO PRIORITY |
WO2003040735A1 (en) | 2001-11-07 | 2003-05-15 | Cyneta Networks Inc. | Resource aware session adaptation system and method for enhancing network throughput |
SE0103853D0 (en) * | 2001-11-15 | 2001-11-15 | Ericsson Telefon Ab L M | Method and system of retransmission |
WO2003065663A1 (en) * | 2002-01-25 | 2003-08-07 | Cyneta Networks, Inc. | Packet retransmission in wireless packet data networks |
AU2003245047A1 (en) * | 2002-02-15 | 2003-09-04 | Koninklijke Philips Electronics N.V. | Modifications to TCP/IP for broadcast or wireless networks |
DE10234348B4 (en) * | 2002-07-26 | 2018-01-04 | Robert Bosch Gmbh | Method and device for monitoring a data transmission |
US8533307B2 (en) | 2002-07-26 | 2013-09-10 | Robert Bosch Gmbh | Method and device for monitoring a data transmission |
US7385926B2 (en) * | 2002-11-25 | 2008-06-10 | Intel Corporation | Apparatus to speculatively identify packets for transmission and method therefor |
US7693058B2 (en) | 2002-12-03 | 2010-04-06 | Hewlett-Packard Development Company, L.P. | Method for enhancing transmission quality of streaming media |
US20040264368A1 (en) * | 2003-06-30 | 2004-12-30 | Nokia Corporation | Data transfer optimization in packet data networks |
KR101086397B1 (en) * | 2003-12-02 | 2011-11-23 | 삼성전자주식회사 | IP packet error handling apparatus and method using the same, and computer readable medium on which program executing the method is recorded |
EP1681792B1 (en) * | 2005-01-17 | 2013-03-13 | Nokia Siemens Networks GmbH & Co. KG | Secure data transmission in a multi-hop system |
US7787463B2 (en) * | 2006-01-26 | 2010-08-31 | Broadcom Corporation | Content aware apparatus and method |
US8238242B2 (en) | 2006-02-27 | 2012-08-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Flow control mechanism using local and global acknowledgements |
GB0812770D0 (en) | 2008-07-11 | 2008-08-20 | Zbd Displays Ltd | A display system |
CN101631065B (en) * | 2008-07-16 | 2012-04-18 | 华为技术有限公司 | Method and device for controlling congestion of wireless multi-hop network |
CN107113242A (en) * | 2014-11-06 | 2017-08-29 | 诺基亚通信公司 | Improve communication efficiency |
-
1998
- 1998-10-07 SE SE9803423A patent/SE513327C2/en not_active IP Right Cessation
-
1999
- 1999-08-27 EP EP99946532A patent/EP1119954A2/en not_active Withdrawn
- 1999-08-27 AU AU58929/99A patent/AU751285B2/en not_active Ceased
- 1999-08-27 JP JP2000575248A patent/JP2002527935A/en active Pending
- 1999-08-27 CA CA002346715A patent/CA2346715A1/en not_active Abandoned
- 1999-08-27 WO PCT/SE1999/001479 patent/WO2000021231A2/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
WO2000021231A2 (en) | 2000-04-13 |
EP1119954A2 (en) | 2001-08-01 |
JP2002527935A (en) | 2002-08-27 |
WO2000021231A3 (en) | 2000-07-27 |
SE9803423D0 (en) | 1998-10-07 |
SE9803423L (en) | 2000-04-08 |
CA2346715A1 (en) | 2000-04-13 |
AU5892999A (en) | 2000-04-26 |
AU751285B2 (en) | 2002-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
SE513327C2 (en) | Systems and method of data communication | |
US6694471B1 (en) | System and method for periodic retransmission of messages | |
EP0912028B1 (en) | Mechanism for dispatching packets via a telecommunications network | |
KR101143172B1 (en) | Efficient transfer of messages using reliable messaging protocols for web services | |
JP4587053B2 (en) | Communication apparatus, communication system, packet loss detection method, and packet loss detection program | |
US6741555B1 (en) | Enhancement of explicit congestion notification (ECN) for wireless network applications | |
US8503451B2 (en) | Limited automatic repeat request protocol for frame-based communication channels | |
US6757248B1 (en) | Performance enhancement of transmission control protocol (TCP) for wireless network applications | |
EP1251661B1 (en) | Data flow control method | |
US7277390B2 (en) | TCP processing apparatus of base transceiver subsystem in wired/wireless integrated network and method thereof | |
US20020054570A1 (en) | Data communication system, data communication method, and recording medium with data communication program recorded thereon | |
US9843525B2 (en) | Apparatus and method | |
US7965625B2 (en) | Communication device and logical link abnormality detection method | |
US7480301B2 (en) | Method, system and article for improved TCP performance during retransmission in response to selective acknowledgement | |
CN107743057A (en) | A kind of data transmission system and method | |
US8769137B2 (en) | Systems and methods for negotiated accelerated block option for trivial file transfer protocol (TFTP) | |
CN116566920A (en) | Data transmission control method and related device | |
US7554917B1 (en) | TCP retransmission and exception processing in high speed, low memory hardware devices | |
US11962517B2 (en) | Communications method, apparatus, and system for recovering lost packets | |
JP5046197B2 (en) | Communication apparatus, communication system, packet loss detection method, and packet loss detection program | |
EP2913967A1 (en) | Improved traffic control in packet transport networks | |
CN106100797B (en) | A kind of method for transmitting deep space file based on the asynchronous acceleration re-transmission policy of LTP | |
JP2001136209A (en) | Communication apparatus | |
CA2385470C (en) | Message piggybacking during transport medium congestion | |
JPH04273736A (en) | Packet communication system and packet re-transmission equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NUG | Patent has lapsed |