CN117480767A - Method and transmitting device for transmitting data packets of a data file via a network connection - Google Patents

Method and transmitting device for transmitting data packets of a data file via a network connection Download PDF

Info

Publication number
CN117480767A
CN117480767A CN202180099292.7A CN202180099292A CN117480767A CN 117480767 A CN117480767 A CN 117480767A CN 202180099292 A CN202180099292 A CN 202180099292A CN 117480767 A CN117480767 A CN 117480767A
Authority
CN
China
Prior art keywords
data packet
computer
packet
drop
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180099292.7A
Other languages
Chinese (zh)
Inventor
鲁文·科恩
本-沙哈尔·贝尔彻
塔尔·米兹拉希
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN117480767A publication Critical patent/CN117480767A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2466Traffic characterised by specific attributes, e.g. priority or QoS using signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/323Discarding or blocking control packets, e.g. ACK packets

Landscapes

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

Abstract

A computer-implemented method for transmitting one or more data packets of a data file over a network connection is provided. The method includes identifying one or more important data packets that are important to network and/or connection performance. The method includes determining a drop priority for each data packet. The method includes assigning the drop priority in a header field of each data packet. A high drop priority indicates that the packet is less likely to be dropped by the network device under high traffic conditions than a low drop priority. Assigning the drop priorities includes assigning a high drop priority to each important data packet.

Description

Method and transmitting device for transmitting data packets of a data file via a network connection
Technical Field
The present invention relates to a computer-implemented method for transmitting one or more data packets of a data file over a network connection, and more particularly to a transmitting device for transmitting one or more data packets of a data file over a network connection.
Background
Electronic products capable of connecting to web services typically rely on data transmission by the web service. Most applications require reliable data transmission. Ensuring reliable transmission of application data is critical because the network is likely to discard the data packets. Thus, there is an increasing demand for a packet transfer protocol that does not fail. The existing concept behind the existing protocol is that a transmitting device transmits one or more data packets and a receiving device informs the transmitting device about the received and lost data packets. The transmitting device then retransmits the missing data packet and continues to loop until all data packets are received correctly.
In known methods, the application of "transaction completion time" is the most important key performance indicator (key performance indicator, KPI) of the services provided by the network service. The transaction completion time provides information of how much time has elapsed between the time the application on the sending device submits a data packet to be transmitted to the data packet transport layer and the time the entire data packet is completely transferred to the receiving device. However, in this use case, the transaction completion time depends on many parameters, such as congestion of the network, performance level of the congestion protocol, speed at which the transmitting device side recognizes packet loss according to the packet transfer protocol, and retransmission speed of the lost packet.
As seen in the exemplary prior art view of fig. 1, a reliable transport protocol for data packets is illustrated. Reliable transmission protocols for data packets, such as but not limited to transmission control protocol (transmission control protocol, TCP), fast UDP internet connection (quick UDP internet connection, QUIC), remote direct memory access (remote direct memory access, RDMA), ensure that all data packets sent are received correctly at the receiving device side. In all reliable transport protocols, the loss of some packets has a greater negative impact on transaction completion time than other packets. These packets may be referred to as being "important" to network performance. In fig. 1, this is the case for the retransmission of data packet 2. If the retransmission of packet 2 is lost, the transmitting device will likely get stuck for a long period of time until a timeout occurs. The data packet 10 is also important because loss of the data packet may cause a timeout before retransmission. In the selective repeat protocol, the first retransmission is more important than the regular data packet, the second retransmission is more important than the first retransmission, and so on. In the back-N protocol, retransmission is not more important than conventional packets because each loss has the same penalty. The receiving device, upon receiving the data packet, may send an acknowledgement message (acknowledge message, ACK), a negative acknowledgement message (negative acknowledge message, NACK), a selective acknowledgement message (selective acknowledge message, SACK) to the sending device.
It is therefore an object of the present invention to improve the performance of existing systems or techniques in transmitting one or more data packets of a data file over a network connection.
Disclosure of Invention
It is an object of the present invention to provide an improved computer implemented method and transmitting device for transmitting one or more data packets of a data file over a network connection.
The above object is achieved by the features of the independent claims. Other implementations are apparent from the dependent claims, the description and the drawings.
The present invention provides a computer-implemented method for transmitting one or more data packets of a data file over a network connection. The invention also provides a transmitting device for transmitting one or more data packets of a data file over a network connection.
According to a first aspect, a computer-implemented method for transmitting one or more data packets of a data file over a network connection is provided. The method includes identifying one or more important data packets that are important to network and/or connection performance. The method includes determining a drop priority for each data packet. The method includes assigning the drop priority in a header field of each data packet. A high drop priority indicates that the packet is less likely to be dropped by the network device under high traffic conditions than a low drop priority. Assigning the drop priorities includes assigning a high drop priority to each important data packet.
The computer-implemented method ensures that important data packets can be successfully transmitted with a higher probability than conventional data packets without being dropped in the network connection. The computer-implemented method assigns the drop priorities including assigning the high drop priority to each important data packet, thereby reducing the likelihood that the data packet will be dropped during transmission. The computer-implemented method employs a transport layer (L4) protocol that can indicate the drop priority to intermediate devices operating in L2 or L3 to improve performance. The computer-implemented method uses only the information of the reliable transport protocols available at the sending device, and does not use any hints from the application. The computer-implemented method is applicable to any reliable transmission protocol (e.g., a back-N-step or selective repeat protocol), but its improvement is greater for selective repeat protocols.
The computer-implemented method may be integrated into any existing recovery loss protocol. For example, future remote direct memory access (or any protocol) and storage protocols may use the protocol for reliable data transfer in a network that is prone to loss. The computer-implemented method speeds up the completion time of the flow by utilizing network resources in an optimal manner.
Optionally, the computer-implemented method includes identifying network connection packets as important packets and assigning high drop priorities to the network connection packets.
Optionally, the network connection packet is one of a connection setup packet, a packet including metadata information, and a connection tear-down packet. Optionally, the computer-implemented method includes identifying a data packet associated with a retransmission as a critical data packet and assigning a high drop priority to the data packet associated with the retransmission.
Another advantage of the computer-implemented method is that a protocol for reliable packet transfer is used to determine the importance of the packets and to assign the packets the high drop priority. Assigning a high drop priority may reduce the time required to transfer the entire data file from the sending device to the receiving device.
The data packet related to retransmission may be one of an acknowledgement message data packet and a retransmission data packet. Optionally, the computer-implemented method includes identifying an end-of-stream packet as a critical packet and assigning a high drop priority to the end-of-stream packet. Optionally, the computer-implemented method includes maintaining a congestion control scheme for each drop priority and allocating new data packets with a particular drop priority only if allowed by the congestion control scheme. Alternatively, the assigned drop priority may indicate one of three or more drop priorities.
Optionally, determining the drop priority for each data packet is performed in a transport layer of the transmitting device. The computer-implemented method enables the transmitting device to determine the priority of the data packet being transmitted.
According to a second aspect, there is provided a computer readable medium storing instructions that when executed by a processor cause the processor to perform the above method.
According to a third aspect, there is provided a transmitting device for transmitting one or more data packets of a data file over a network connection. The transmitting device comprises a processor for performing the above method.
The transmitting device assigns the drop priorities including assigning the high drop priority to each important data packet, thereby reducing the likelihood that the data packet will be dropped during transmission. The transmitting device employs a transport layer (L4) protocol that may indicate the drop priority to intermediate devices operating in L2 or L3 to improve performance. The transmitting device uses only the information of the reliable transport protocols available at the transmitting device, without using any prompts from the application.
Thus, unlike the prior art, according to the computer-implemented method and the transmitting device, priority values are set for all data packets to ensure secure transmission of important data packets. The method makes important data packets easier to successfully issue than conventional data packets. The method makes the discard probability allocated in the header field of the data file easy to read by a network intermediate device (switch).
The computer-implemented method may be integrated into any existing recovery loss protocol. For example, future remote direct memory access (or any protocol) and storage protocols may use the protocol for reliable data transfer in a network that is prone to loss.
These and other aspects of the invention are apparent from the implementations described below.
Drawings
Implementations of the invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
fig. 1 is an exemplary view of a prior art data packet transmission from a transmitting device to a receiving device;
FIG. 2 is a block diagram of a transmitting device for transmitting one or more data packets of a data file over a network connection provided by an implementation of the present invention;
FIG. 3 is an exemplary view of the drop probability of a data packet during transmission between a sending device and a receiving device provided by an implementation of the present invention;
FIG. 4 is a flow chart of a computer-implemented method for transmitting one or more data packets of a data file over a network connection provided by an implementation of the present invention;
FIG. 5 is an illustration of a computer system (e.g., a sending device) in which various architectures and functions of the various previous implementations may be implemented.
Detailed Description
Implementations of the invention provide a computer-implemented method for transmitting one or more data packets of a data file over a network connection. Implementations of the present invention provide a transmitting device for transmitting one or more data packets of a data file over a network connection.
In order that those skilled in the art will more readily understand the solution of the present invention, the following implementation of the invention is described in conjunction with the accompanying drawings.
To assist in understanding the implementation of the invention, several terms are first defined herein that will be introduced in the description of the implementation of the invention.
The terms first, second, third and fourth (if any) in the description of the invention, in the claims and in the above-described figures, are used for distinguishing between similar objects and not necessarily for describing a particular sequence or order. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the implementations of the invention described herein are, for example, capable of operation in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprise" and "have," as well as any variations thereof, are intended to encompass non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to the particular steps or elements recited, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Fig. 2 is a block diagram of a transmitting device 202 for transmitting one or more data packets of a data file over a network connection, provided by an implementation of the present invention. The sending device 202 includes a processor 204 that transmits one or more data packets of a data file over a network connection. The processor 204 identifies one or more important data packets that are important to network and/or connection performance. The processor 204 determines a drop priority for each data packet. The processor 204 assigns a drop priority in the header field of each packet. The high drop priority assigned by the processor 204 indicates that packets are less likely to be dropped by the network device under high traffic conditions than low drop priorities. The drop priority is assigned by assigning a high drop priority to each important packet.
The transmitting device 202 assigns drop priorities, including assigning a high drop priority to each important data packet, thereby reducing the likelihood that the data packet will be dropped during transmission. The transmitting device 202 may identify one or more important data packets that are necessary, for example, to reduce the transmission time of the data file and/or increase the throughput of the network connection and/or optimize any other key performance indicators of the network.
The transmitting device 202 employs a transport layer (L4) protocol that may indicate drop priorities to intermediate devices operating in L2 or L3 to improve performance. The sending device 202 uses only the information of the reliable transport protocols available at the sending device 202, without using any prompts from the application. The transmitting device 202 employs a protocol for reliable packet transfer that determines the importance of the packets and assigns priorities to the packets. The sending device 202 may reduce the time required to transfer the entire data file from the sending device 202 to the receiving device by assigning priorities.
Optionally, the processor 204 identifies the network connection packet as an important packet and assigns a high drop priority to the network connection packet. The network connection data packet may be one of connection establishment data packets. The data packet may contain metadata information and a connection disconnection data packet.
Optionally, the processor 204 identifies the data packet associated with the retransmission as a significant data packet and assigns a high drop priority to the data packet associated with the retransmission. The data packet associated with the retransmission may be one of an acknowledgement message data packet and a retransmission data packet. Optionally, the processor 204 identifies the end of stream packet as a significant packet and assigns a high drop priority to the end of stream packet. Alternatively, the processor 204 maintains a congestion control scheme for each drop priority and allocates new packets with a particular drop priority only if the congestion control scheme allows. The assigned drop priorities may indicate one of three or more drop priorities. The processor 204 may determine a drop priority for each data packet executing in the transport layer of the transmitting device 202.
Depending on the network architecture, the header field may be, but is not limited to, one of an IP header, an ethernet header, a multiprotocol label switching (Multiprotocol Label Switching, MPLS) header. The sending device 202 may determine the priority value of the packet based on, but not limited to, whether the packet is retransmitted, the window length of the receiving device, the distance of the packet from the end of the receiving stream. The network switch that reads the priority value in each header field is used to prioritize dropping. There are several ways for a network switch to ensure that packets with high drop priorities have a lower drop probability than packets with low or normal drop priorities. The transmitting device 202 assigns at least two different drop priorities to each data packet. The processor 204 assigns drop priorities in such a way that packets with high drop priorities indicate less likelihood of being dropped by the network connection than packets with low drop priorities. In one example, high drop packets are less likely to be dropped by a switch or router during a congestion event.
Another advantage of the transmitting device 202 is that it can easily detect data packets by using a network sniffer and check the data packet header for detailed information. The transmitting device 202 transmits the data packets to the receiving device using reliable transmission. The transmitting device 202 (not limited to) may be selected from a cell phone, a personal digital assistant (Personal Digital Assistant, PDA), a tablet computer, a desktop computer, a server, or a notebook computer.
Fig. 3 is an exemplary view of the drop probability of a data packet during transmission between a sending device 302 and a receiving device 304 provided by an implementation of the present invention. The sending device 302 transmits one or more data packets of the data file (e.g., data packets 1 through 8) to the receiving device 304 over a network connection. The receiving device 304 may receive one or more data packets other than data packet 2 from the transmitting device 302. Alternatively, if the dropping of data packet 2 may stall transmitting device 302, transmitting device 302 assigns it a better (e.g., smaller) dropping probability. For selective repetition, for each retransmitted data packet, if the window (bitmap) of the receiver is not greater than 1 bandwidth-delay product (BPD). By assigning priorities to the data packets, the selective repetition procedure can be significantly improved and can be applied to any reliable transmission protocol, such as, but not limited to, a de-N protocol or a selective repetition protocol.
Alternatively, the transmitting device 302 takes into account the consideration of deciding the drop probability assigned to each packet. One or more packets belonging to the last BDP of a flow may be assigned a smaller drop probability. In the event that the transmitting device 302 is suspended by a packet, the drop probability assigned to the packet may be adjusted to a high priority value. In the exemplary view, the loss of data packet 2 does not delay the completion time, whereas the loss of data packet 10 will delay the completion time by the Round Trip Time (RTT). One or more data packets (e.g., data packets 1 through 8) transmitted by transmitting device 302 may initially include metadata information. However, one or more data packets (e.g., data packets 9 through 11) sent by the sending device 302 to one end may determine a Round Trip Time (RTT) because the delay in the transmission of the last data packet delays the completion time by a retransmission timeout (retransmission timeout, RTO).
At the end of the transmitting device 302, if there is a network connection establishment procedure, all packets transmitted in the procedure are assigned a high drop priority. For example, three packets are included in the transmission control protocol (transmission control protocol, TCP) process, wherein two packets are assigned high drop priorities. Optionally, the sending device 302 sends the first data packet of the transaction, including the important metadata. For example, in remote direct memory access (remote direct memory access, RDMA-RC), the first data packet sent by the sending device 302 includes important metadata and is assigned a high drop priority. In addition, each retransmitted data packet and one or more data packets transmitted during the last RTT are assigned a high drop priority value. In the case where the transmitting device 302 and the receiving device 304 have limited simultaneous connections, the transmitting device 302 or the receiving device 304 tear down the network connection before setting up the other network connection, and the message to tear down the network connection is assigned a high drop priority. The transmitting device 302 considers congestion control information for each drop priority.
At the end of the receiving device 304, if there is a network connection establishment procedure, all packets sent in the procedure are assigned a high drop priority. Acknowledgement messages, such as but not limited to acknowledgement messages (ACKs), negative acknowledgement messages (NACKs), selective acknowledgement messages (SACK), sent by the receiving device 304 are assigned a high drop priority. In some implementations, if the number of tokens in the bucket for high drop priorities is limited, new packets can be assigned high drop priorities only if there are enough tokens. Further, the transmitting device 302 and the receiving device 304 are limited in the number of data packets that can be assigned as high drop priorities. Alternatively, the transmitting device 302 considers congestion control information. Congestion control may be extended to generate not only "regular tokens" (for regular packets), but also "regular tokens" and "green tokens". If more green tokens are available for connection, the transmitting device 302 may allocate more data packets to get a better drop probability.
FIG. 4 is a flow chart of a computer-implemented method for transmitting one or more data packets of a data file over a network connection provided by an implementation of the present invention. In step 402, one or more important data packets that are important to network and/or connection performance are identified. In step 404, a drop priority is determined for each data packet. In step 406, discard priority is assigned in the header field of each packet. A high drop priority indicates that packets are less likely to be dropped by the network device under high traffic conditions than a low drop priority. The allocation of drop priorities includes allocating a high drop priority to each important data packet.
The computer-implemented method ensures that important data packets can be successfully transmitted with a higher probability than conventional data packets without being dropped in the network connection. The computer-implemented method assigns drop priorities, including assigning a high drop priority to each important data packet, thereby reducing the likelihood that the data packet will be dropped during transmission. The computer-implemented method employs a transport layer (L4) protocol that may indicate drop priorities to intermediate devices operating in L2 or L3 to improve performance. The computer-implemented method uses only the information of the reliable transport protocols available at the sending device, and does not use any hints from the application. The computer-implemented method is applicable to any reliable transport protocol (e.g., a back-N-step or selectively repeated protocol), but its improvement is greater for selectively repeated protocols.
The computer-implemented method may be integrated into any existing recovery loss protocol. For example, future remote direct memory access (or any protocol) and storage protocols may use the protocol for reliable data transfer in a network that is prone to loss. The computer-implemented method speeds up the completion time of the flow by utilizing network resources in an optimal manner.
Optionally, the computer-implemented method includes identifying the network connection data packet as an important data packet and assigning a high drop priority to the network connection data packet.
Optionally, the network connection packet is one of a connection setup packet, a packet including metadata information, and a connection tear-down packet.
Optionally, the computer-implemented method includes identifying a data packet associated with the retransmission as a critical data packet and assigning a high drop priority to the data packet associated with the retransmission.
A computer-implemented method uses a protocol for reliable packet transfer to determine the importance of packets and assign high drop priorities to packets. Assigning a high drop priority may reduce the time required to transfer the entire data file from the sending device to the receiving device.
The data packet associated with the retransmission may be one of an acknowledgement message data packet and a retransmission data packet. Optionally, the computer-implemented method includes identifying an end-of-stream packet as a critical packet and assigning a high drop priority to the end-of-stream packet. Optionally, the computer-implemented method includes maintaining a congestion control scheme for each drop priority and allocating new data packets having a particular drop priority only if the congestion control scheme permits. The assigned drop priorities may indicate one of three or more drop priorities.
Optionally, determining the drop priority for each data packet is performed in a transport layer of the transmitting device. The computer-implemented method enables a transmitting device to decide the priority of a data packet being transmitted.
In one implementation, a computer readable medium is provided for storing instructions that, when executed by a processor, cause the processor to perform the above-described method.
Fig. 5 is an illustration of a computer system (e.g., a sending device) 500 in which the various architectures and functions of the various previous embodiments may be implemented. As shown, system 500 includes at least one processor 504 connected to a sending device 502, wherein system 500 may be implemented using any suitable protocol, such as, for example, a peripheral component interconnect (peripheral component interconnect, PCI) standard, PCI-Express, accelerated graphics port (Accelerated Graphics Port, AGP), hyper-Transport, or any other bus or point-to-point communication protocol. The system 500 also includes a memory 506.
Control logic (software) and data are stored in memory 506, and memory 506 may take the form of random access memory (random access memory, RAM). In the present invention, a single semiconductor platform may refer to the only single semiconductor-based integrated circuit or chip. It should be noted that the term single semiconductor platform may also refer to a multi-chip module with increased connectivity that emulates an on-chip module with increased connectivity that emulates on-chip operation and is a substantial improvement over using conventional central processing unit (central processing unit, CPU) and bus embodiments. Of course, the various modules may also be placed individually or in various combinations of semiconductor platforms.
The system 500 may also include a secondary memory 510. For example, secondary memory 510 includes hard disk drives and removable storage drives representing floppy disk drives, magnetic tape drives, compact disk drives, digital versatile disk (digital versatile disk, DVD) drives, recording devices, universal serial bus (universal serial bus, USB) flash memory. The removable storage drive reads from and writes to at least one of a removable storage unit in a well known manner.
Computer programs or computer control logic algorithms may be stored in memory 506 and/or secondary memory 510. When executed, enable the system 500 to perform the various functions described above. Memory 506, secondary memory 510, and any other memory are possible examples of computer-readable media.
In one implementation, the architecture and functionality described in the various previous figures may be implemented in the processor 504, a graphics processor coupled to the communication interface 512, an integrated circuit (not shown) capable of having at least a portion of the capabilities of both the processor 504 and the graphics processor, a chipset (i.e., a set of integrated circuits designed to operate and sell as a unit to perform related functions, etc.).
Furthermore, the architecture and functionality described in the various previous figures may be implemented in the context of general purpose computer systems, circuit board systems, game console systems dedicated for entertainment purposes, application specific systems. For example, system 500 may take the form of a desktop computer, a laptop computer, a server, a workstation, a gaming machine, an embedded system.
In addition, system 500 may take the form of various other devices including, but not limited to, personal digital assistant (personal digital assistant, PDA) devices, mobile telephone devices, smartphones, televisions, and the like. Further, although not shown, the system 500 may be coupled to a network (e.g., a telecommunications network, a local area network (local area network, LAN), a wireless network, a wide area network (wide area network, WAN), such as the internet, a point-to-point network, a cable network, etc.) for communication purposes through the I/O interface 508.
It should be understood that the arrangement of components shown in the described figures is exemplary and that other arrangements are possible. It should also be appreciated that the various system components (and modules) defined by the claims described below and shown in the various block diagrams represent components in some systems configured in accordance with the subject matter disclosed herein. For example, one or more of these system components (and modules) may be implemented in whole or in part by at least some of the components shown in the arrangements shown in the described figures.
Moreover, while at least one of these components is at least partially implemented as an electronic hardware component, and thus constitutes a machine, other components may be implemented in software, which when included in an execution environment constitutes a machine, hardware, or a combination of software and hardware.
Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (11)

1. A computer-implemented method for transmitting one or more data packets of a data file over a network connection, the method comprising:
identifying one or more important data packets important to network and/or connection performance;
determining a drop priority for each data packet;
assigning the drop priority in a header field of each data packet;
wherein a high drop priority indicates that the packet is less likely to be dropped by the network device under high traffic conditions than a low drop priority;
assigning the drop priorities includes assigning a high drop priority to each important data packet.
2. The computer-implemented method of claim 1, comprising identifying network connection packets as important packets and assigning high drop priorities to the network connection packets.
3. The computer-implemented method of claim 2, wherein the network connection packet is one of a connection setup packet, a packet including metadata information, and a connection tear-down packet.
4. The computer-implemented method of any of the preceding claims, comprising identifying a data packet associated with a retransmission as a critical data packet and assigning a high drop priority to the data packet associated with the retransmission.
5. The computer-implemented method of claim 4, wherein the data packet associated with the retransmission is one of an acknowledgement message data packet and a retransmission data packet.
6. The computer-implemented method of any of the preceding claims, comprising identifying a last data packet of the connection as a critical data packet and assigning a high drop priority to the last data packet of the connection.
7. The computer-implemented method of any of the preceding claims, further comprising:
a congestion control scheme is maintained for each drop priority and new data packets with a particular drop priority are allocated only if allowed by the congestion control scheme.
8. The computer-implemented method of any of the above claims, wherein the assigned drop priorities indicate one of three or more drop priorities.
9. The computer-implemented method of any of the preceding claims, wherein the determining of drop priorities for each data packet is performed in a transport layer of a sending device (202, 302).
10. A computer readable medium for storing instructions which, when executed by a processor (204), cause the processor (204) to perform the method of any of the preceding claims.
11. A transmitting device (202, 302) for transmitting one or more data packets of a data file over a network connection, characterized in that the transmitting device (202, 302) comprises a processor (204) for performing the method of any of claims 1 to 9.
CN202180099292.7A 2021-06-15 2021-06-15 Method and transmitting device for transmitting data packets of a data file via a network connection Pending CN117480767A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2021/066011 WO2022262944A1 (en) 2021-06-15 2021-06-15 Method and sending device for transmitting data packets of a data file over a network connection

Publications (1)

Publication Number Publication Date
CN117480767A true CN117480767A (en) 2024-01-30

Family

ID=76553760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180099292.7A Pending CN117480767A (en) 2021-06-15 2021-06-15 Method and transmitting device for transmitting data packets of a data file via a network connection

Country Status (2)

Country Link
CN (1) CN117480767A (en)
WO (1) WO2022262944A1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6885638B2 (en) * 2002-06-13 2005-04-26 Motorola, Inc. Method and apparatus for enhancing the quality of service of a wireless communication
US8514871B2 (en) * 2006-07-24 2013-08-20 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for marking data packets based on content thereof
US8203956B1 (en) * 2008-08-28 2012-06-19 Raytheon Bbn Technologies Corp. Method and apparatus providing a precedence drop quality of service (PDQoS)
US11563698B2 (en) * 2017-11-30 2023-01-24 Telefonaktiebolaget Lm Ericsson (Publ) Packet value based packet processing

Also Published As

Publication number Publication date
WO2022262944A1 (en) 2022-12-22

Similar Documents

Publication Publication Date Title
US9030936B2 (en) Flow control with reduced buffer usage for network devices
CN106656431B (en) Message transmission method and user equipment
US7929442B2 (en) Method, system, and program for managing congestion in a network controller
JP5859669B2 (en) Packet ordering based on delivery route changes in communication networks
US9577791B2 (en) Notification by network element of packet drops
CN115941616A (en) Multi-path RDMA transport
CN1671094A (en) Method and apparatus for responding to a spurious timeout
EP2052556A2 (en) Improved content throughput on wireless mesh networks
WO2014092779A1 (en) Notification by network element of packet drops
KR102046792B1 (en) Method of transporting data from sending node to destination node
CN109981385B (en) Method, device and system for realizing packet loss detection
US6996105B1 (en) Method for processing data packet headers
US10372667B2 (en) Communication apparatus and control method thereof
US8769137B2 (en) Systems and methods for negotiated accelerated block option for trivial file transfer protocol (TFTP)
CN117480767A (en) Method and transmitting device for transmitting data packets of a data file via a network connection
US9628366B2 (en) Methods, systems, and computer readable media for sustaining active control over concurrent session connections
JP5636574B2 (en) COMMUNICATION DEVICE, PACKET TRANSFER METHOD AND ITS PROGRAM
JP6089518B2 (en) Transfer device, transfer method, and transfer program
US20240146806A1 (en) Intermediate apparatus, communication method, and program
CN116260887A (en) Data transmission method, data transmission device, data reception device, and storage medium
CN104426866A (en) Data transmission method and apparatus
JP2014147011A5 (en)
CN112351049A (en) Data transmission method, device, equipment and storage medium
JP2008199431A (en) Communication device
CN118235381A (en) Congestion controller for controlling data packet transmission

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination