Patent classifications
H04L47/196
System and method for accelerating or decelerating a data transport network protocol based on real time transport network congestion conditions
A method is performed by a computing device in a data transport network. The computing device receives congestion-related information corresponding to current conditions of a portion of the network. The computing device determines whether a data transport session has a fair-share protocol. When the data transport session has the fair-share protocol, determining a congestion policy for the data transport session, and applying, using the congestion-related information, the congestion policy to the data transport session.
Path control by end hosts in networks
One embodiment described herein provides a system and method for path control in a network. During operation, in response to determining that a path-control condition is met, an end host in the network can determine an offset value to be applied to a packet header of a packet, modify the packet header by applying the determined offset value, and forward the packet based on the modified packet header.
Method and apparatus for transmitting data packets using dual sequence numbers
A data transmission method and related apparatuses are disclosed. A sanding node transmits a plurality of data packets to a receiving node at an initial transmission rate. Each data packet carries a random sequence number and a rolling sequence number. The random sequence number identifies a data part of the data packet, and the rolling sequence number indicates a transmission sequence of the data packet. The sending node receives a packet loss feedback from the receiving node. The packet loss feedback is generated after the receiving node detects a packet loss event according to rolling sequence numbers of received data packets. The sending node determines a random sequence number of a lost data packet based on the received packet loss feedback. The sending node transmits a replacement data packet to the receiving node. The replacement data packet carries a different rolling sequence number.
TECHNIQUES FOR ENHANCING THE UDP NETWORK PROTOCOL TO EFFICIENTLY TRANSMIT LARGE DATA UNITS
A user datagram protocol (UDP) is a well-known protocol for transferring data between two nodes of a network. When data is too large to fit within a single UDP packet that can be transmitted between the two nodes, the data needs to be segmented and transmitted with multiple packets and reassembled on the receiving node. Techniques are disclosed herein, for example, for offloading such segmentation, transmission, and reassembly from the central processing units (CPUs) of the nodes. Such offloading is performed efficiently, for example, by repurposing legacy protocol fields used in UDP transmission such as the internet protocol (IP) identification (ID), time to live (TTL), type of service (TOS), and/or EtherType fields to encode information needed for efficient segmentation, out of order reception, and reassembly.
Techniques for enhancing the UDP network protocol to efficiently transmit large data units
A user datagram protocol (UDP) is a well-known protocol for transferring data between two nodes of a network. When data is too large to fit within a single UDP packet that can be transmitted between the two nodes, the data needs to be segmented and transmitted with multiple packets and reassembled on the receiving node. Techniques are disclosed herein, for example, for offloading such segmentation, transmission, and reassembly from the central processing units (CPUs) of the nodes. Such offloading is performed efficiently, for example, by repurposing legacy protocol fields used in UDP transmission such as the internet protocol (IP) identification (ID), time to live (TTL), type of service (TOS), and/or EtherType fields to encode information needed for efficient segmentation, out of order reception, and reassembly.
Synchronization protocol for multi-premises hosting of digital content items
A synchronization protocol for multi-premises hosting of digital content items. In an embodiment, a method includes receiving a first commit request including a first set of one or more identifiers of one or more first content item blocks. The one or more first content item blocks make up a content item stored at a computing device. Further, the method includes, based at least in part on the first commit request, determining a second set of one or more identifiers that includes one or more identifiers of the first set of one or more identifiers not yet stored at a content item block server. The method also includes sending, to the computing device, the second set of one or more identifiers, and receiving a second commit request including the first set of one or more identifiers of the one or more first content item blocks, and an identifier of the content item block server. In this embodiment, the method then includes determining that no content item block from the one or more first content item blocks is missing at the content item block server, and committing the content item to the content item block server.
Data transmission method and device
This application provides a data transmission method. The method includes: calculating a first duration based on at least one to-be-sent data flow and a first time interval, where the first time interval is a preset value, and different data flows in the at least one to-be-sent data flow have different 5-tuples; and sending a first data flow, where the first data flow belongs to the at least one to-be-sent data flow; where a first set of packets of the first data flow are sent in a first time period, a second set of packets of the first data flow are sent in a second time period following a second time interval, a duration of the first time period and a duration of the second time period are equal to the first duration, and the second time interval is greater than or equal to the first time interval.
Data writing method, system, device and computer-readable storage medium
Embodiments of the present application provide techniques for writing data into a buffer of a protocol stack. The disclosed techniques include determining whether to-be-transmitted data are detected; acquiring a stream control parameter from the protocol stack of a computing device in response to a determination that the to-be transmitted data are detected; and determining whether the to-be-transmitted data are able to be written into the buffer of the protocol stack based on the stream control parameter and a predetermined threshold value, wherein the stream control parameter is associated with a capability of receiving data by a data receiving terminal, and the predetermined threshold value is a predetermined ratio of a size value of an empty area of the buffer of the protocol stack to the stream control parameter.
UDP OVER TCP TUNNEL
A system transports a plurality of UDP datagrams from a sending application to a receiving application by creating a TCP tunnel between a TCP sending-end and a TCP receiving-end, encapsulating the datagrams in TCP packets at the TCP transmitting-end, transmitting the TCP packets via the TCP tunnel to the TCP receiving-end over a network using a TCP/IP protocol, and extracting the datagrams from the TCP packet and forwarding the extracted datagrams to the receiving application. The TCP tunnel may provide the same delay and responsiveness as UDP protocol. The TCP receiving-end may detect when a packet is missing and request retransmission when a packet is missing, so that the TCP sending-end retransmits the missing packets. The transmitting of TCP packets to the TCP receiving-end continues when the receiving-end detects a missing packet, so that there is no lag in the forwarding of the extracted datagrams. Retransmitted packets may be discarded.
SWITCH, DEVICES AND METHODS FOR RECEIVING AND FORWARDING ETHERNET PACKETS
A switch receiving Ethernet packets is disclosed, including TCP packets and/or non-TCP packets. The Ethernet packets are forwarded to at least two ports by forwarding each TCP Present application relates to a switch receiving Ethernet packets, including TCP packets and/or non-TCP packets, and forwarding the Ethernet packets to at least two ports by forwarding each of the TCP packets to any one of the at least two ports and forwarding each stream of non-TCP packets to one corresponding port of the at least two ports.