WO2014037760A1 - 增加数据流传输的方法和系统 - Google Patents

增加数据流传输的方法和系统 Download PDF

Info

Publication number
WO2014037760A1
WO2014037760A1 PCT/IB2012/054547 IB2012054547W WO2014037760A1 WO 2014037760 A1 WO2014037760 A1 WO 2014037760A1 IB 2012054547 W IB2012054547 W IB 2012054547W WO 2014037760 A1 WO2014037760 A1 WO 2014037760A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
data packet
data
data stream
network device
Prior art date
Application number
PCT/IB2012/054547
Other languages
English (en)
French (fr)
Inventor
吴锦超
陈浩明
周杰懷
宋浩伟
陈永康
Original Assignee
柏思科技有限公司
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 柏思科技有限公司 filed Critical 柏思科技有限公司
Priority to PCT/IB2012/054547 priority Critical patent/WO2014037760A1/zh
Priority to CN201280075629.1A priority patent/CN104854836B/zh
Priority to US14/422,175 priority patent/US9967193B2/en
Priority to GB1503532.2A priority patent/GB2519491B/en
Publication of WO2014037760A1 publication Critical patent/WO2014037760A1/zh

Links

Images

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/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions

Definitions

  • the technical field of the invention relates in particular to network devices using multiple network connections and nominally receiving acknowledgment information to increase and affect the data packet transmission speed of the data stream.
  • the transport protocol is the transport protocol including the Transmission Control Protocol (TCP).
  • TCP Transmission Control Protocol
  • the receiving end replies with the receiving confirmation information to the transmitting end, notifying the sending end that the data packet of the data stream has been received by the receiving end, and the transmitting end knows that Continue to transmit subsequent packets of the data stream.
  • the transmitting end can determine the transmission speed according to the data of the receiving confirmation information and the time when the receiving confirmation information is received.
  • Transferring data packets at the same time with multiple network connections can increase the transfer speed.
  • the data packet of the data stream does not necessarily arrive at the receiving end in order, and the receiving end therefore has the opportunity to think that the data packet fails to reach the receiving end, so that it cannot reply to the receiving acknowledgement information in time.
  • the reception confirmation information does not arrive at the transmission end sequentially, so that the transmission end cannot accurately calculate the transmission speed.
  • the present invention relates to a method, apparatus and system that address the above technical difficulties. It mainly relates to the use of multiple network connections to simultaneously transmit a data stream of a data stream, to improve the transmission speed, so that the sender can simultaneously transmit data packets of the data stream with multiple upper limit speeds close to the network connection.
  • network architecture is one of the network architecture embodiments utilizing the present invention.
  • the transmitting end 101 transmits a data stream to the receiving end 102.
  • the transmitting terminal 101 is connected to the network device 103.
  • the network device 103 is connected to the Internet 110 via network connections 121 and 122, and the network device 104 is connected to the Internet 110 via network connections 123, 124 and 125.
  • the receiving end 102 is connected to the network device 104.
  • the transmitting end 101 and the receiving end 102 may be network hosts, routers, network-enabled phones, network-enabled cameras, computers, computers, gateways, and the like that can transmit and receive data stream packets.
  • the transmitting end 101 and the receiving end 102 may be different electronic devices.
  • the transmitting end 101 is a network-capable camera
  • the receiving end 102 is a network-enabled telephone.
  • Internet 110 is a network of networks and networks that are connected by a common set of protocols.
  • the Internet 110 can be global or limited, such as an intranet, an intranet, or a virtual private network.
  • a network connection is a communication line in a network, which can be a network link, a logical network, a virtual private network, and the like.
  • the network connection can be established by the Internet, ATM (Asynchronous Transfer Mode), Frame Relay (Frame Relay), etc., and implemented by wired and wireless communication technologies.
  • One of the embodiments of the present invention is a network device 103, and another embodiment thereof is for the network device 103, that is, a network device connected to the transmitting end 101.
  • the present invention can also be applied to the transmitting end 101 if the transmitting end 101 can implement the present invention.
  • the network device 103 can be a router, a gateway, a wireless access point, etc., capable of having a router capable of transmitting data packets to a destination over a network.
  • Network device 103 has six options for transmitting data packets, i.e., via network connections 121 and 123, network connections 121 and 124, network connections 121 and 125, network connections 122 and 123, network connections 122 and 124, and network connections 122 and 125.
  • network device 104 also has six options for transmitting data packets, i.e., via network connections 123 and 121, network connections 123 and 122, network connections 124 and 121, network connections 124 and 122, network connections 125 and 121, network connections 122 and 125. .
  • the network devices 103, 104 select a network connection based on the state of the network connection.
  • the network connection is always selected until a new change in the state of the network causes the network device 103, 104 to select another network connection.
  • the data packets of the data stream are embedded in the other data packets by the network device 103, and the network device 104 extracts the data packets from the received data packets. .
  • An embodiment of the invention is to use the nominal receipt of the information.
  • the nominal reception confirmation information is generated by the network device according to the data packet of the corresponding one of the data streams, and then transmitted to the transmitting end in the name of the receiving device.
  • the network device needs to set the source address of the nominal receiving information as the address of the receiving end, and may also need to set other information in the nominal receiving information, including the option, the first checksum, the port, the serial number, the confirmation number, etc.
  • the terminal considers that the nominal receipt confirmation message is sent by the receiving end, so that the sender continues the data stream to other data packets.
  • U.S. Patent 7,295,512 discloses the method of generating nominal receipt confirmation information and describes the benefits of receiving confirmation information in nominal terms.
  • Patents 6,701,370 and 7,337,233 also disclose methods of generating nominal receipt confirmation information and disclose how to process receipt confirmation information for packets from the corresponding data stream at the receiving end.
  • U.S. Patent Nos. 6,701,370, 7,295,512, 7,337,233 do not disclose when to generate and transmit nominal reception information, how to use the nominal reception confirmation information to affect the data packet transmitted by the sender, how to use multiple network connections to transmit the data stream, Etc., other technical divisions of the present invention.
  • FIG. 2 is a flow diagram of an embodiment.
  • the network device receives a data packet belonging to a data stream from the transmitting end (step 201)
  • the network device selects one of the network connections to transmit the data packet from the two or more connected network connections (step 202).
  • the destination of the packet is a receiver.
  • the network device selects which network connection to use based on the state of the network access, for example, delay, reliability, speed, etc., and may also be based on network policies, administrator preferences, delivery prices, and the like.
  • the network device embeds the data packet in another data packet and transmits the data packet embedded with the data packet using the selected network connection (step 203).
  • the network device decides whether to transmit the nominal reception confirmation message to the sender (step 204).
  • the purpose of receiving the confirmation message in this name is to let the sender think that the receiver has sent a confirmation message to confirm that the packet has been received by the receiver, and to enable the sender to continue to transmit other packets belonging to the data stream. If the network device decides to transmit the nominal reception confirmation message to the transmitting end, the network device generates a nominal reception confirmation message corresponding to the data packet, and transmits it to the transmitting end in the name of the receiving end (step 205).
  • the sender continuously transmits other packets belonging to the data stream, which may have the opportunity to exhaust the storage of the storage medium in the network device.
  • the network device stores the data packet before receiving the corresponding receiving confirmation information at the receiving end, because if the network device wants to resend the data packet until the network device knows that the receiving end has received the data packet, or the network device gives up trying to continue the connection.
  • the network device needs to decide whether to generate a nominal reception confirmation message corresponding to the data packet (step 204) or to wait for the reception confirmation information for the data packet or other data packet for the data stream from the receiving end (step 206).
  • One of the determining factors is how much storage is still available to store packets. Other determinants can be the processing power of the network device, the speed of the network connection, the requirements of other data streams, and so on.
  • Another necessary determining factor is whether the receiving end sends a receiving confirmation message. If the network device never receives the receiving confirmation message for the data stream, the network device can determine that the receiving end cannot receive the data stream at all. Any packet. Another possible judgment factor is how long the receiving end sends the receiving confirmation message.
  • the network device can determine that the receiving end cannot receive the data. Stream any of these packets. The length of this period depends on the nature of the data stream, which can range from 0.001 seconds to 20 minutes, with 100 seconds and 3 minutes being more representative because of TCP.
  • the network device transmits more than one data packet of the data stream, the receiving device does not receive the receiving confirmation message for the data packet, and the network device can determine the receiving end according to the number of more than one data packet in the data stream. This data may not be received.
  • the network device waits to send confirmation of receipt of the data packet or other data packets to the data stream from the receiving end (step 206), the network device is not incapable of performing other work.
  • the nominal reception confirmation information of the data packet corresponding to the data stream is continuously generated and transmitted to the transmitting end until the decision is made. Suspend the generation of a confirmation message corresponding to the new packet in the data stream.
  • the network device pauses to generate a nominal acknowledgement message corresponding to the new data packet in the data stream until a receipt confirmation message is sent from the receiving end to one of the data packets, and the acknowledgement information is received. It corresponds to the data packet that the network device has transmitted the data stream, but does not include the data packet that the network device recently transmitted the data stream.
  • the network device needs to set the source address of the nominal receiving confirmation information as the address of the receiving end, and may also need to set other information in the nominal receiving confirmation, including the option, the first checksum, the port number, the serial number, the confirmation number, etc., so that the sender considers The nominal reception confirmation message is sent by the receiving end, so that the sender can continue to send other data packets in the data stream.
  • the network device can affect the speed of the packet transmitted by the transmitting end by controlling the speed or content of the receiving confirmation message. For example, the network device affects the speed at which the transmitting end increases the data packet of the transmitted data stream by increasing the speed at which the confirmation message is received. Alternatively, the network device can affect the speed at which the transmitting end increases the data packet for transmitting the data stream by reducing the time between receiving the authentic information and receiving the data packet in the name of the data packet that sent the response data stream. Alternatively, the network device can affect the speed at which the transmitting end reduces the data packet of the transport stream by extending the time between receiving the authentic information and receiving the data packet in the name of the data packet in the response data stream.
  • the network device can affect the speed at which the transmitting end increases the data packet of the transport data stream by increasing the number of data packets that are sent in a nominally received acknowledgement information.
  • the network device affects the speed at which the transmitting end reduces the data packet of the transport stream by reducing the number of data packets acknowledged by the nominal receiving acknowledgement information. For example, network device 103 selects a network connection based on the state of the network connection. Assuming that the current network device 103, 104 has selected a network connection, the network connection will be selected until a new change in the state of the network causes the network device 103, 104 to select another network connection.
  • an embodiment shows how the network device 342 determines to generate and transmit nominal receipt confirmation information.
  • the transmitting end 341 first transmits the first data packet 301 of a data stream. After the network device 342 receives the first data packet 301, the network device 342 embeds the first data packet 301 in the data packet 321 and transmits it to the receiving end 343, and generates and transmits the first data packet 301 corresponding to the first one.
  • the confirmation information 311 is received by name.
  • the transmitting end 341 receives the first nominal receiving acknowledgement information 311
  • the transmitting end 341 will assume that the receiving end 343 has received the first data packet 301, so the transmitting end 341 transmits the second data packet 302 of the data stream.
  • the network device 342 After the network device 342 receives the second data packet 302, the network device 342 embeds the second data packet 302 in the data packet 322 and transmits it to the receiving end 343, and generates and transmits the second data packet 302.
  • the confirmation information 312 is received by name.
  • the transmitting end 341 receives the second nominal receiving acknowledgement information 312, the transmitting end 341 will assume that the receiving end 343 has received the second data packet 302, so the transmitting end 341 transmits the third data packet 303 of the data stream.
  • network device 342 also corresponds to the third, fourth data packets 303 and 304 generate and transmit a third, fourth nominal receipt acknowledgement information 313 and 314 and embed the third and fourth data packets 303 and 304, respectively.
  • the data packets 323 and 324 are transmitted to the receiving end 343.
  • the receiving end 343 transmits the reception confirmation information 331 corresponding to the first data packet 301. Since the first data packet 301 is embedded in the data packet 321, the receiving end 343 or other network device is required to take the first data packet 301 out of the data packet 321 to process the first data packet 301.
  • the network device 342 does not transmit the reception confirmation information 331 to the transmitting terminal 341 because the network device 342 has transmitted the first nominal reception confirmation information 311 to the transmitting terminal 341.
  • the receiving end 343 may transmit the receiving acknowledgement information corresponding to the second data packet 302, or may wait for the arrival of other data packets before transmitting the corresponding data packet. Receive confirmation information for multiple packets.
  • the reception confirmation information 332 is reception confirmation information transmitted by the receiving end 343 corresponding to the second, third, and fourth data packets 302, 303, and 304.
  • the receiving end 343 or other network device is required to take the second, third, and fourth data packets 302, 303, and 304 from the data packets 322, 323, and 324, respectively, to process the second, third, and fourth data packets 302. , 303 and 304.
  • the network device 342 determines that the receiving end 343 does not receive the data packet 301, and the network device 342 transmits the data packet 321 again. Until the network device 342 knows that the receiving end 343 received the data packet 321, or the network device 342 abandoned the connection.
  • the network device 342 determines that the receiving terminal 343 does not receive the data packets 322, 323 and 324, and the network device 342 The data packets 322, 323 and 324 are then transmitted until the network device 342 knows that the receiving end 343 received the data packets 322, 323 and 324, or the network device 342 abandons the continued connection.
  • an embodiment shows how the network device 442 determines to generate and transmit nominal reception confirmation information.
  • the transmitting end 441 first transmits the first data packet 401 of a data stream. After the network device 442 receives the first data packet 401, the network device 442 embeds the first data packet 401 in the data packet 421 and transmits it to the receiving end 443. Since the data packet 421 is the first data packet transmitted by the network device 442 for the data stream, the network device 442 does not know whether the receiving end 443 can receive the data packet 421, so the network device 442 has not generated and transmitted the name at this time. Receive confirmation message. However, when the network device 442 receives the reception confirmation message 431 from the receiving end 443, the network device 442 knows that the receiving end 443 has received the data packet 421 and starts generating and transmitting the nominal reception confirmation information.
  • the reception confirmation information 441 may be the reception confirmation information 431 or the nominal reception confirmation information generated by the network device 442.
  • the network device 442 After the network device 442 receives the second data packet 402, the network device 442 embeds the second data packet 402 in the data packet 422 and transmits it to the receiving end 443, and generates and transmits the second nominal number corresponding to the second data packet 402. A confirmation message 412 is received.
  • the transmitting end 441 receives the second nominal receiving acknowledgement information 412, the transmitting end 441 considers that the receiving end 443 has received the second data packet 402, so the transmitting end 441 transmits the third data packet 403 of the data stream.
  • the network device 442 also corresponds to the third, the fourth data packet 403 and 404 generates and transmits the third, the fourth nominal reception confirmation information 413 and 414 and the third and fourth data packets 403 and 404 respectively Embedded in data packets 422, 423 and 424 are transmitted to the receiving end 443.
  • the receiving end 443 may transmit the receiving confirmation information corresponding to the second data packet 402, or may wait for the arrival of other data packets before transmitting the corresponding data. Receive confirmation information for multiple packets.
  • the reception confirmation information 432 is reception confirmation information transmitted by the receiving end 443 corresponding to the second, third, and fourth data packets 402, 403, and 404.
  • the receiving end 443 or other network device is required to take the second, third, and fourth data packets 402, 403, and 404 from the data packets 422, 432, and 424, respectively, to process the second, third, and fourth data packets 402. , 403 and 404.
  • the network device 442 determines that the receiving end 443 does not receive the data packet 401, and the network device 442 transmits the data packet 421 again. Until network device 442 knows that receiving end 443 received data packet 421, or network device 442 abandoned the connection.
  • the network device 442 determines that the receiving end 443 does not receive the data packets 422, 423 and 424, and the network device 442 will again Data packets 422, 423, and 424 are transmitted until network device 442 knows that receiving end 443 received data packets 423 and 424, or network device 442 abandoned the continued connection.
  • an embodiment shows how network device 542 determines whether to generate and transmit nominal receipt confirmation information.
  • the transmitting end 541 first transmits the first data packet 501 of a data stream. After the network device 542 receives the first data packet 501, the network device 542 embeds the first data packet 501 in the data packet 521 and transmits it to the receiving end 543, and generates and transmits the first data packet 501 corresponding to the first one.
  • the confirmation information 511 is received by name.
  • the transmitting end 541 determines that the receiving end 543 has received the first data packet 501, so the transmitting end 541 transmits the second data packet 502 of the data stream. .
  • the network device 542 After the network device 542 receives the second data packet 502, the network device 542 embeds the second data packet 502 in the data packet 522 and transmits it to the receiving end 543, and generates and transmits the second data packet 502 corresponding to the second data packet 502.
  • the confirmation information 512 is received by name.
  • the transmitting end 541 receives the second nominal receiving acknowledgement information 512
  • the transmitting end 541 determines that the receiving end 543 has received the second data packet 502, so the transmitting end 541 transmits the third data packet 503 of the data stream.
  • the network device 542 may calculate that there is not enough storage to store the data packet of the data stream, for example, between the network device 542 and the receiving end 543.
  • the network connection has a connection problem, etc., and it is decided not to generate and transmit a nominal reception confirmation message corresponding to the third data packet 503.
  • Network device 542 will wait for receipt confirmation information from receiving end 543.
  • the network device 542 When the network device 542 receives the reception confirmation information 531 from the receiving end 543 corresponding data packet 501, the network device 542 knows that the receiving end 543 has received the data packet 501, so the network device 542 will not need to store the data packet 501. The reason why the network device 542 stores the data packet 501 is originally to enable the data packet 501 to be transmitted to the receiving end 543. Since the network device 542 no longer stores the data packet 501, the network device 542 has sufficient storage to store the data packet of the data stream, and generates and transmits the nominal reception confirmation information 513 corresponding to the third data packet 503 to the transmitting end 541. .
  • the transmitting end 541 When the transmitting end 541 receives the nominal reception confirmation information 513, the transmitting end 541 considers that the receiving end 543 has received the third data packet 531, so the transmitting end 541 transmits the fourth data packet 504 of the data stream. Similarly, after the network device 542 receives the fourth data packet 504, the network device 542 embeds the fourth data packet 504 in the data packet 524 for transmission to the receiving end 543, and generates and transmits a fourth corresponding data packet 504.
  • the confirmation information 514 is received by name.
  • the receiving end 543 When the receiving end 543 receives the fourth data packet 504 embedded in the data packet 524, the receiving end 543 transmits the receiving confirmation information 532 corresponding to the second, third, and fourth data packets 504. Since the fourth data packet 504 is embedded in the data packet 524, the receiving end 543 or other network device is required to take the fourth data packet 504 out of the data packet 524 to process the fourth data packet 504.
  • the network device 542 determines that the receiving end 543 does not receive the data packet 501, and the network device 542 retransmits the data packet 521. Until the network device 542 knows that the receiving end 543 has received the data packet 521, or the network device 542 has abandoned the connection. As another example, if the network device 542 does not receive the reception confirmation message 532 transmitted from the receiving end 543 for a period of time, the network device 542 determines that the receiving end 543 does not receive the data packet 522, and the network device 542 retransmits the data packet.
  • the network device 542 will no longer transmit the data packets 523 and 524 to avoid increasing the load on the network connection.
  • the transmitting end 541 is to receive the acknowledgement information before transmitting the next data packet, but this is not the only method.
  • the sender can send the next or more data packets without receiving the confirmation information, for example, according to the size of the TCP sliding window (TCP Sliding Window), how many data packets of the data stream are sent before the confirmation information is received. .
  • network devices 342, 442, and 552 are all connected to more than two network connections, when network devices 342, 442, and 552 transmit data packets, they are data packets 321, 322, 323, 324, 421, 422, 423, respectively. At 424, 521, 522, 531 and 524, network devices 342, 442 and 552 respectively select one of the network connections to transmit the data packet.
  • Network devices 342, 442, and 552 can use one of the network connections to transmit all of the data packets for one data stream, or can select a different network connection for each data packet.
  • Network devices 342, 442, and 552 can select network connections for different reasons, such as selecting a network connection based on latency, price, speed, administrator preferences, reliability, and the like.
  • Embodiment 5 TCP/IP Protocol Example
  • the data stream is over the TCP protocol.
  • TCP/IP protocol there are three signals for identifying the data stream in the data stream transmission between the sender and the receiver: "SYN" is the synchronization flag, which is the initial sequence signal of the data stream, "ACK” ” is a signal indicating confirmation of acceptance. All packets belonging to the data stream after the initial SYN packet sent by the sender have this flag set, and “FIN” is the last transmission signal from the transmitter for the data stream.
  • the network device 103 has connection network connections 121 and 122 connected to the Internet, and the network device 104 has connection network connections 123, 124 and 125 connected to the Internet.
  • the network device 103 therefore has six options for transmitting data packets, namely via network connections 121 and 123, network connections 121 and 124, network connections 121 and 125, network connections 122 and 123, network connections 122 and 124, network connections 122 and 125. .
  • network device 104 also has six options for transmitting data packets, i.e., via network connections 123 and 121, network connections 123 and 122, network connections 124 and 121, network connections 124 and 122, network connections 125 and 121, network connections 122 and 125. .
  • the network devices 103, 104 select a network connection based on the state of the network connection. According to one embodiment, when the network device 103, 104 selects a network connection, the network connection is always selected until a new change in the state of the network causes the network device 103, 104 to select another network connection.
  • An end-to-end connection is established between the sender 101 and the receiver 102, and the sender 101 sends a SYN packet 611 to the receiver 102. Since the network device 103 does not know at this moment whether the SYN packet 611 can be sent to the receiving end 102 and the receiving end 102 to agree to the connection, the network device 103 therefore does not generate and transmit the corresponding nominal receiving confirmation information. Network device 103 will embed SYN packet 611 in data packet 612 and select to transmit data packet 612 via network connection 121 or 122 and via network connection 123, 124 or 125.
  • the network device 104 After receiving the data packet 612, the network device 104 first extracts the data packet 611 from the data packet 612, and then transmits the data packet 613 to the receiving end 102. The content of the packet 613 is the same as the content of the packet 611. After receiving the data packet 613, the receiving end 102 returns an ACK packet 614. The network device 104 embeds the ACK packet into the data packet 615 and transmits it to the network device 103 via the Internet 110. The network device 103 extracts the data packet 614 from the data packet 615 and then transmits the data packet 616 to the transmitting terminal 101. The content of the data packet 616 is the same as the content of the data packet 614.
  • the transmitter 101 After receiving the ACK packet from the receiving end 102, the transmitter 101 replies with the ACK packet and starts transmitting the data content, and synthesizes it into the data packet 617.
  • the network device 103 receives the data packet 617
  • the network device 103 replies to the ACK packet 618 and transmits the ACK and data content and data packet 617 embedded in the data packet 619 to the network device 104 via the Internet 110.
  • the ACK packet 618 is a nominal reception confirmation message.
  • the network device 104 like the processing packet 612, first extracts the packet 617 from the packet 619 and then transmits the packet 619 to the receiving end 102 as a packet 620.
  • the content of the data packet 620 is the same as the content of the data packet 617.
  • the receiving end 102 When the receiving end 102 receives the data content from the transmitter 101, it replies with confirmation to receive the ACK packet 621. After receiving the ACK packet 621, the network device 104 embeds it into the data packet 622, and selects one of the three route network connections 123, 124, 125 to transmit the data packet 621 to the network device 103 via the interconnection network 110. Since the network device 103 has previously replied with the ACK packet 618 instead of the receiving end 102, the network device 103 does not transmit the ACK packet 622 to the transmitter 101. Thereafter, the data content is transmitted as described above until all the data packets of the data stream have been transmitted.
  • network device 103 will continually attempt to retransmit packet 619 until it is time to give up. The network device 103 knows that the loss of the data packet 619 during transmission depends on the network device 103 not receiving the acknowledgement information from the receiving terminal 102 for a period of time.
  • the network device 103 can receive the nominal receipt of the confirmation information, such as the speed or content of the data packet 618, to affect the packet speed at which the transmitting end 101 transmits the data stream. According to one embodiment, network device 103 increases the speed at which nominal acknowledgement information is sent to affect the speed at which the sender increases the data packets that carry the data stream. According to one embodiment, the network device 101 expands the number of data packets acknowledged by the nominal reception acknowledgement information to affect the speed at which the sender increases the data packets of the transport stream.
  • the transmitter 101 transmits the last data packet, it needs to add a FIN data packet to inform the receiving end 102 that the transmission is completed, which is the data packet 623; the network device 103 transmits the data packet embedded with the data packet 623. 624, arrive at network device 104 via Internet 110.
  • the network device 104 extracts the data packet 623 from the data packet 624 and then transmits the data packet 625 to the receiving end 102.
  • the content of the data packet 625 is the same as the content of the data packet 623. Since it is the last packet, the network device 103 does not generate a nominal receipt confirmation message for the FIN packet.
  • the sender 101 does not assume that all packets of the TCP data stream have been completely received by the receiving end 102.
  • the receiving end 102 Upon receiving the FIN packet 623 of the transmitter 101, the receiving end 102 generates an ACK packet 626 using the FIN packet 623 to reply to the transmitter 101 to confirm the notification.
  • Network device 104 embeds ACK packet 626 as data packet 627 for transmission to network device 103.
  • the network device 103 extracts the ACK packet 626 from the packet 627 and then transmits the packet 628 to the transmitter 101.
  • the content of the data packet 628 is the same as the content of the data packet 626.
  • the transmitter 101 replies to the ACK packet 629 to the receiving end 102.
  • Network device 103 embeds ACK packet 629 in data packet 630 and transmits it to network device 104.
  • the network device 104 extracts the data packet 629 from the data packet 630 and then transmits the data packet 631 to the receiving end 102.
  • the content of the packet 631 is the same as the content of the packet 629.
  • Network system 700 has network connection interfaces 702, 703, and 705, a processor 701, and a memory 704.
  • the processor 701 is connected to the network connection interfaces 702, 703, and 705, and the memory 704.
  • the processor 701 controls all operations of the network device 700.
  • the network device 700 is implemented by a router in FIG.
  • Network device 700 can be implemented in software or hardware.
  • network device 700 has a housing, network connection interfaces 702 and 703, processor 701, and memory 704 are housed within the housing and on the circuit board.
  • the data packets transmitted by the transmitter are processed by the processor 701 after being received by the network connection interface 702 via the network connection.
  • the data packets transmitted to the transmitter are transmitted by the processor 701 and transmitted to the transmitter via the network connection interface 702 via the network connection.
  • the processor 701 selects which network connection and network connection interface 703 or 705 to use based on different settings, such as delay, price, speed, administrator preference, reliability, and the like.
  • the data packet transmitted by the receiving end to the transmitter is processed by the processor 701 after being received by the network connection interface 703 or 705 via the network connection.
  • the data packets transmitted to the receiving end are transmitted to the transmitter via the network connection interface 703 or 705 via the network connection after being processed by the processor 701.
  • the processor 701 uses the memory 704 to temporarily store the data packets processed by the processor 701 and the data packets received by the network interfaces 702, 703, and 705.
  • Memory 704 is also used to store instructions to processor 701.
  • Processor 701 takes instructions from memory 704 and executes the instructions. The instructions cause processor 701 to implement the solution of the present invention.
  • the processor 701 in the network system 700 accesses the network connection interface.
  • a network connection to which 703 or 705 is connected selects one of the network connections to transmit the data packet (step 202).
  • the destination of the packet is a receiver.
  • the processor 701 has a number of different methods to choose which network connection to use, such as delay, price, speed, administrator preferences, reliability, and the like.
  • the processor 701 embeds the data packet in another data packet and transmits the data packet embedded with the data packet using the selected network connection (step 203).
  • the processor 701 decides whether to transmit the nominal reception confirmation information to the transmitting end (step 204).
  • the purpose of receiving the confirmation message in this name is to let the sender think that the receiver has sent a confirmation message to confirm that the packet has been received by the receiver, and to enable the sender to continue to transmit other packets belonging to the data stream. If the processor 701 decides to transmit the nominal reception confirmation message to the transmitting end, the processor 701 generates a nominal reception confirmation message corresponding to the data packet and transmits it to the transmitting end (step 205).
  • the processor 701 continually transmits the nominal reception via the network connection interface 703 or 705, the sender will continually transmit other data packets belonging to the data stream, thus having the opportunity to exhaust the memory 704 within the network system 700.
  • the processor 701 stores the data packet before receiving the corresponding reception confirmation information from the receiving end, because if the processor 701 wants to retransmit the data packet until the processor 701 knows that the receiving end has received the data packet, or the processor 701 abandons the continuation. connection.
  • the processor 701 therefore determines whether to generate nominal receipt confirmation information corresponding to the data packet (step 204) or to wait for the receipt confirmation information from the receiving end for the data packet or other data packets for the data stream (step 206).
  • One of the determining factors is how much memory 704 has storage to store packets. Other determinants may be the processing power of the processor 701, the speed of the network connection, the requirements of other data streams, and the like.
  • Another decisive factor is whether the receiving end sends a confirmation message. If the processor 701 never receives the receiving confirmation message for the data stream, the processor 701 can determine that the receiving end cannot receive the data. Any packet of the stream. Another determinable factor is how long the receiving end sends the receiving confirmation message.
  • the processor 701 If the processor 701 does not receive the receiving confirmation message for the data stream via the network connection interface 703 or 705 for a period of time, the processor 701 It can be determined that the receiving end does not receive any of the data packets in the data stream. Alternatively, if the processor 701 transmits more than one data packet of the data stream via the network connection interface 703 or 705, the receiving end does not receive the receiving confirmation message for the data packet, and the processor 701 can determine the receiving and receiving. The end may not receive more than one packet of the data stream.
  • the processor 701 can perform other operations.
  • the nominal reception confirmation information of the data packet corresponding to the data stream is continuously generated and transmitted to the transmitting end until the decision is made. Suspend the receipt of the confirmation of the nominal receipt of the packet corresponding to the data stream.
  • the processor 701 suspends the generation of the acknowledgment information for the data packet corresponding to the data stream until the receipt of the acknowledgment information for the data packet from the receiving end is received, and the receiving acknowledgment information is corresponding.
  • the network device has transmitted the data packet of the data stream, but does not include the data packet corresponding to the processor 701 that recently transmitted the data stream.
  • the processor 701 does not begin to generate nominal acknowledgement information for the data packet corresponding to the data stream until the processor 701 receives at least one acknowledgement of receipt of the data stream from the receiving end via the network connection interface 703 or 705. information.
  • the processor 701 does not begin to generate nominal acknowledgement information for the data packet corresponding to the data stream until the processor 701 receives the first data stream from the receiving end via the network connection interface 703 or 705. Receive confirmation information for each packet.
  • Any network connection is selected based on the state of the network connection. According to one embodiment, when the processor 701 selects a network connection, the network connection is always selected until a new change in the state of the network causes 701 to select another network connection.
  • the processor 701 needs to set the source address of the nominal reception confirmation as the address of the receiving end, and may also need to set other information in the nominal reception confirmation, including the option, the header checksum, the connection port, the serial number, the confirmation number, etc., so that the sender considers The receipt of the confirmation message for the name is sent by the receiving end, so that the sender continues the data stream with other data packets.
  • the processor 701 can control the speed or content of the confirmation information by issuing a name, which can affect the packet speed of the data stream transmitted by the sender. For example, the processor 701 affects the speed at which the transmitting end increases the data packets of the transmitted data stream by increasing the speed at which the acknowledgment information is received. Alternatively, the processor 701 affects the speed at which the transmitting end increases the data packet of the transmitted data stream by reducing the time between the acknowledgment and the received data packet by reducing the number of packets sent in response to the data stream. Alternatively, the processor 701 receives the time between the acknowledgement and the received data packet by extending the name of the data packet that sent the response data stream, thereby affecting the speed at which the transmitting end reduces the data packet of the transport data stream.
  • the processor 701 affects the speed at which the transmitting end increases the data packet of the transport stream by increasing the number of data packets acknowledged by the nominal reception acknowledgement information.
  • the processor 701 affects the speed at which the transmitting end reduces the data packet of the transport stream by reducing the number of data packets acknowledged by the nominal reception acknowledgement information.
  • the processor 701 selects a network connection based on the state of the network connection. According to one embodiment, when the processor 701 selects a network connection, the network connection is always selected until a new change in the state of the network causes 701 to select another network connection.
  • Processor 701 is comprised of more than one processor.
  • the processor may be implemented by a central processing unit, a programmable device, an application specific integrated circuit, a micro control unit, a single chip microcomputer, or the like.
  • the network connection interface can be implemented as an Ethernet connection interface, a universal serial bus connection interface, a WiMax modem, an IEEE 802.11 modem, a Long Term Evolution modem, a 3G modem, and the like.
  • the memory 704 is a memory device for storing data packets, programs, and data. All information in the computer, including the input raw data, computer program, intermediate running results and final running results are stored in the memory.
  • the memory 704 can be stored by random access memory, hard disk, floppy disk, optical disk, magneto-optical disk, disk, flash memory, etc. Wait until implementation.
  • FIG. 1 is a network architecture
  • an embodiment shows how a network device decides to generate and transmit nominal reception confirmation information
  • an embodiment shows how a network device decides to generate and transmit nominal reception confirmation information
  • an embodiment shows how a network device decides to generate and transmit nominal reception confirmation information
  • FIG. 6 is an embodiment of a TCP utilizing the network architecture with reference to FIG. 1;
  • FIG. 7 an embodiment of a network system embodying the present invention is shown.

Abstract

一种关于数据流发送的网络系统和方法,其包括:第一个网络连接界面与一个发送端互联;两个以上第二网络连接界面,用于与一个接收端通过两个以上网络接入互联控制单元,用于包括通过第一个网络连接界面从发送端收到一个数据流的数据包;选择该两个以上第二连接网络接入界面的网络接入当中一个网络接入,发送嵌入了该数据流数据包的数据包给接收端;决定是否产生一个以上对应该数据流数据包的名义接收确认信息;如决定产生名义接收确认信息,名义接收确认信息是用接收端的名义产生;发送名义接收确认信息给发送端和一个以上存储介质。

Description

增加数据流传输的方法和系统 技术领域
本发明的技术领域尤其涉及于网络设备利用多个网络连接和名义接收确认信息来增加、影响数据流的数据包传送速度。
背景技术
当发送端需要在一个数据流中传输数据包时,发送端可以根据需求选择相应的传输协议传送数据包。传输协议就是包括Transmission Control Protocol (TCP)在内的传输协议。根据传输协议,当接收端收到该数据流的数据包时,接收端会回复接收确认信息给发送端,通知发送端该数据流的数据包已被接收端收到,并使发送端知道可以继续传送该数据流的其后数据包。发送端可以根据接收确认信息的资料和收到接收确认信息的时间来决定传送速度。
用多个网络连接同时传送数据流的数据包,可以提高传送速度。但该数据流的数据包不一定能按次序到达接收端,接收端因此会有机会认为有数据包未能到达接收端,使其不能及时回复接收确认信息给发送端。此外,接收确认信息也有可能不顺序地到达发送端,使发送端不能精确地计算传送速度。这些都能使发送端不能同时用多个网络连接的上限速度来传送该数据流其后的数据包。
发明内容
本发明涉及一种方法,设备和系统解决上述技术困难。它主要关于利用多个网络连接同时来传送一个数据流的数据包,提高传送速度,使发送端能同时用多个接近网络连接的上限速度来传送该数据流的数据包。
参考图1网络架构是其中一个利用本发明的网络架构实施例。发送端101传送一个数据流给接收端102。 发送端101与 网络设备103连接。 网络设备103通过网络连接121和122连接互联网110,网络设备104通过网络连接123,124和125连接互联网110。接收端102与网络设备104连接。
发送端101和接收端102可以是网络主机、路由器、有网络功能的电话、有网络功能的摄像机、电脑、计算机、网关等等能发送和接收数据流数据包的电子设备。发送端101和接收端102可以是不一样的电子设备,如发送端101是一部有网络功能的摄像机,而接收端102是一部有网络功能的电话。
互联网110是是网路与网路之间所串连成的网路,这些网路以一组通用的协定相连。互联网110可以是全球性,又可以有限制的,如业内部网、内联网、虚拟专用网络。
网络连接是网络中的通信线路,可以是网络链接、逻辑网络、虚拟专用网络、等等。网络连接可以是由Internet、ATM(异步传输模式〉、Frame Relay (帧中继)等之上建立,并通过有线、无线通信技术来实施。
本发明其中一个实施方案是网络设备103,另外其中一个实施方案是用于网络设备103,即与发送端101连接的网络设备。如果发送端101能实施本发明,本发明也可以用于发送端101。 网络设备103可以是路由器、网关、无线接入点等等能有路由器(Router)的功能,能将数据包通过一个个网络传送至目的地。网络装置103有六个选择来传送数据包,即经网络连接121和123、网络连接121和124、网络连接121和125、网络连接122和123、网络连接122和124、网络连接122和125。同样网络设备104也有六个选择来传送数据包,即经网络连接123和121、网络连接123和122、网络连接124和121、网络连接124和122、网络连接125和121、网络连接122和125。根据一个实施例,网络设备103、104根据网络连接的状态来选择网络连接。根据一个实施例,当网络设备103、104选定了一个网络连接,就会一直选用该网络连接,直至该网络的状态发生新的变化促使网络设备103、104要选择其他网络连接。为了能在传送一个数据流中使用不同的网络连接,数据流的数据包是会被网络设备103嵌入在另外的数据包,而网络设备104会从收到的数据包中抽出数据流的数据包。
本发明其中的实施方案是利用名义接收确信息。 名义接收确认信息是由网络设备依照对应的一个数据流的数据包所产生的,然后以接受装置的名义传送给发送端。网络设备需要设定名义接收确信息的源地址为接收端的地址,也可能需要设定名义接收确信息内的其他信息, 包括选项、首部检验和、连接埠、序列号码、确认号码等等使发送端认为名义接收确认信息是由接收端发出,这样发送端便继续数据流其他数据包。 美国专利7,295,512 公开了产生名义接收确认信息的办法,并说明名义接收确认信息的好处。美国专利6,701,370 和7,337,233 也公开了产生名义接收确认信息的办法,并公开了如何处理来自接收端对应数据流的数据包的接收确认信息。但美国专利6,701,370 、 7,295,512 、 7,337,233没有公开什么时候产生和传送名义接收确信息 、如何利用名义接收确认信息影响发送端传送数据流的数据包 、如何利用多条网络连接来传送数据流的数据包 、等等,其他本发明的技术分案。
实施方案1
参考图2是一个实施方案的流程图。当网络设备在从发送端收到属于一个数据流的数据包(步骤201),网络设备从两个以上连接着的网络连接选择其中一个网络连接传送该数据包(步骤202)。该数据包的目的地是一个接收端。网络设备是基于网络接入的状态来选择用哪一个网络连接,比如说用延迟、可靠性、速度等等,也可以基于网络策略、管理员的喜好、传送价钱等等。 网络设备会把该数据包嵌入在另外的数据包,并利用选择了的网络连接来传送嵌有该数据包的数据包(步骤203)。 接着,网络设备要决定是否传送名义接收确认信息给发送端(步骤204)。这个名义接收确认信息的目的是让发送端认为接收端已发出接收确认信息来确认该数据包已经被接收端收到,并使发送端继续传送属于该数据流的其他数据包。 如果网络设备决定传送名义接收确认信息给发送端,网络设备就会产生对应该数据包的名义接收确认信息,并以接收端的名义传送给发送端(步骤205)。
但是如果网络设备不断地传送名义接收确信息,发送端就会不断地传送属于该数据流的其他数据包,这样会有机会耗尽该网络设备内存储介质的存储。网络设备在收到接收端的对应接收确认信息前,要存储数据包,因为如果网络设备要重发那数据包直至网络设备知道接收端已接收到数据包,或网络设备放弃尝试继续连接。
因此网络设备需要决定是否产生对应该数据包的名义接收确认信息(步骤204)或等待从接收端发出对该数据包或对该数据流其他数据包的接收确认信息(步骤206)。其中一个决定因素是还有多少存储能存储数据包。其他的决定因素可以是网络设备的处理能力,网络连接速度,其他数据流的要求等等。另一个必须有的决定因素是接收端有没有发出接收确认信息,如果网络设备从没有收到接收端发出对该数据流的接收确认信息,网络设备可以判断接收端根本收不到该数据流的任何数据包。另一个可以有的判断因素是接收端多久前发出接收确认信息,如果网络设备在一段时间内没有收到接收端发出对该数据流的接收确认信息,网络设备可以判断接收端接收不到该数据流其中的任何数据包。 这段时间的长短在乎于数据流的性质,可以由0.001秒到20分钟,其中又以100秒、3分钟较为有代表性,因为与TCP有关。又或如果网络设备传送该数据流一个以上的数据包后,还没有收到接收端发出对该数据包的接收确认信息,网络设备可以根据数据流里一个以上的数据包的数量来判断接收端可能收不到该数据。
当网络设备等待从接收端发出对该数据包或对该数据流其他数据包的接收确认信息(步骤206),网络设备不是不能执行其他的工作。
在等待从接收端发出对该数据包或对该数据流其他数据包的接收确认信息时(步骤206),继续产生对应该数据流的数据包的名义接收确认信息并传送给发送端,直至决定暂停产生对应该数据流里新的数据包的名义接收确认信息。根据一个实施例,网络设备会暂停产生对应该数据流里新的数据包的名义接收确认信息,直至收到从接收端发出对该数据流其中一个数据包的接收确认信息,而这个接收确认信息是和网络设备已传送该数据流的数据包相对应的,但不包括对应网络设备最近所传送该数据流的数据包。
网络设备需要设定名义接收确认信息的源地址为接收端的地址,也可能需要设定名义接收确认内其他信息, 包括选项、首部检验和、连接埠、序列号码、确认号码等等使发送端认为名义接收确认信息是由接收端发出的,这样发送端就能继续发送数据流里中其他的数据包。
网络设备通过控制发出名义接收确认信息的速度或内容,能影响发送端传送数据流的数据包速度。例如,网络设备通过提高发出名义接收确认信息的速度,来影响发送端提高传送数据流的数据包的速度。或者,网络设备能够通过减少发出回应数据流的数据包的名义接收确信息与接收数据包之间的时间,来影响发送端提高传送该数据流的数据包的速度。或者,网络设备能够通过延长发出回应数据流里的数据包的名义接收确信息与接收数据包之间的时间,来影响发送端降低传送数据流的数据包的速度。或者,网络设备能够通过增加大发出名义接收确认信息所确认信息的数据包的数量,来影响发送端提高传送数据流的数据包的速度。又或者,网络设备通过减少发出名义接收确认信息所确认的数据包的数量,来影响发送端降低传送数据流的数据包的速度。例如,网络设备103根据网络连接的状态来选择网络连接。假设当前网络设备103、104选定了一个网络连接,就会一直选用该网络连接,直至该网络的状态发生新的变化促使网络设备103、104要选择其他网络连接。
网络连接
实施方案2
参考图3是一个的实施例显示网络设备342如何决定产生并传送名义接收确认信息。发送端341首先传送了一个数据流的第一个数据包301。当网络设备342收到第一个数据包301后,网络设备342把第一个数据包301嵌入在数据包321传送给接收端343,并产生和传送对应第一个数据包301的第一个名义接收确认信息311。当发送端341收到第一个名义接收确认信息311,发送端341会以为接收端343已经收到第一个数据包301,所以发送端341就传送了数据流的第两个数据包302。同样当网络设备342收到第两个数据包302后,网络设备342把第两个数据包302嵌入在数据包322传送给接收端343,并产生和传送对应第两个数据包302的第两个名义接收确认信息312。当发送端341收到第两个名义接收确认信息312,发送端341会以为接收端343已经收到第两个数据包302,所以发送端341就传送了数据流的第三个数据包303。如此,网络设备342也会对应第三,第四个数据包303和304产生和传送第三,第四个名义接收确认信息313 和 314并把第三,第四个数据包303和304分别嵌入在数据包323和324传送给接收端343。
同时,当接收端343收到嵌入在数据包321中的第一个数据包301时,接收端343会传送对应第一个数据包301的接收确认信息331。由于第一个数据包301是嵌入在数据包321中,接收端343或其他的网络设备是要把第一个数据包301从数据包321中拿出来才能处理第一个数据包301。网络设备342是不会把接收确认信息331传送给发送端341,因为网络设备342已经传送了第一个名义接收确认信息311给发送端341。接收端343收到嵌入在数据包322中的第两个数据包302时,接收端343可以传送对应第两个数据包302的接收确认信息信息,也可以等待其他数据包的到达,才传送对应多个数据包的接收确认信息。接收确认信息332是接收端343对应第二,三,四个数据包302,303和304传送的接收确认信息。 同样接收端343或其他的网络设备是要把第二,三,四个数据包302,303和304分别从数据包322,323和324中拿出来才能处理第二,三,四个数据包302,303和304。
如果在一段时间内网络设备342接受不到从接收端343传送的接收确认信息,比如331,网络设备342会判断接收端343接收不到数据包301,而网络设备342会再传送数据包321,直至网络设备342知道接收端343接收到数据包321,或网络设备342放弃继续连接。另一个例子,如果在一段时间内网络设备342接受不到从接收端343传送的接收确认信息332,网络设备342会决定接收端343接收不到数据包322,323和324,而网络设备342会再传送数据包322,323和324,直至网络设备342知道接收端343接收到数据包322,323和324,或网络设备342放弃继续连接。
实施方案3
参考图4是一个的实施例显示网络设备442如何决定产生造并传送名义接收确认信息。
发送端441首先传送了一个数据流的第一个数据包401。当网络设备442收到第一个数据包401后,网络设备442把第一个数据包401嵌入在数据包421传送给接收端443。由于数据包421是网络设备442为该数据流传送的第一个数据包,网络设备442不知道接收端443能否收到于数据包421,所以网络设备442在这时还没产生和传送名义接收确认信息。但当网络设备442收到来自接收端443的接收确认信息431,网络设备442就知道接收端443已收到于数据包421,并开始产生和传送名义接收确认信息。接收确认信息441可以是接收确认信息431,也可以是网络设备442产生的名义接收确认信息。
网络设备442收到第两个数据包402后,网络设备442把第两个数据包402嵌入在数据包422传送给接收端443,并产生和传送对应第两个数据包402的第两个名义接收确认信息412。当发送端441收到第两个名义接收确认信息412,发送端441会认为接收端443已经收到第两个数据包402,所以发送端441就传送了数据流的第三个数据包403。如此,网络设备442也会对应第三,第四个数据包403和404产生和传送传第三,第四个名义接收确认信息413 和 414并把第三,第四个数据包403和404分别嵌入在数据包422,423和424传送给接收端443。
当接收端443收到嵌入在数据包422中的第两个数据包402时,接收端443可以传送对应第两个数据包402的接收确认信息,也可以等待其他数据包的到达,才传送对应多个数据包的接收确认信息。接收确认信息432是接收端443对应第二,三,四个数据包402,403和404传送的接收确认信息。 同样接收端443或其他的网络设备是要把第二,三,四个数据包402,403和404分别从数据包422,432和424中拿出来才能处理第二,三,四个数据包402,403和404。
如果在一段时间内网络设备442接受不到从接收端443传送的接收确认信息,譬如431,网络设备442会判定接收端443接收不到数据包401,而网络设备442会再传送数据包421,直至网络设备442知道接收端443接收到数据包421,或网络设备442放弃继续连接。又例如,如果在一段时间内网络设备442接受不到从接收端443传送的接收确认信息432,网络设备442会判定接收端443接收不到数据包422,423和424,而网络设备442会再次传送数据包422,423和424,直至网络设备442知道接收端443接收到数据包423和424,或网络设备442放弃继续连接。
实施方案4
参考图5是一个的实施例显示网络设备542如何决定是否产生并传送名义接收确认信息。
发送端541首先传送了一个数据流的第一个数据包501。当网络设备542收到第一个数据包501后,网络设备542把第一个数据包501嵌入在数据包521传送给接收端543,并产生和传送对应第一个数据包501的第一个名义接收确认信息511。当发送端541收到第一个名义接收确认信息511,发送端541会判定为接收端543已经收到第一个数据包501,所以发送端541就传送了数据流的第两个数据包502。同样当网络设备542收到第两个数据包502后,网络设备542把第两个数据包502嵌入在数据包522传送给接收端543,并产生和传送对应第两个数据包502的第两个名义接收确认信息512。当发送端541收到第两个名义接收确认信息512,发送端541会判定接收端543已经收到第两个数据包502,所以发送端541就传送了数据流的第三个数据包503。
当网络设备542收到第三个数据包503,可以由于不同的原因,包括网络设备542计算到没有足够的存储来存储该数据流往后的数据包,在网络设备542和接收端543之间的网络连接发生了连接问题等等,决定不产生和传送对应第三个数据包503的名义接收确认信息。网络设备542会等待来自接收端543的接收确认信息。
当网络设备542收到来自接收端543对应数据包501的接收确认信息531,网络设备542知道接收端543已收到数据包501,因此网络设备542将不需要存储数据包501。网络设备542存储数据包501本来的原因就是为了让数据包501能传送到接收端543。由于网络设备542不再存储数据包501,网络设备542有足够的存储来存储该数据流往后的数据包,并产生和传送对应第三个数据包503的名义接收确认信息513给发送端541。
当发送端541收到名义接收确认信息513,发送端541会认为接收端543已经收到第三个数据包531,所以发送端541就传送了数据流的第四个数据包504。同样当网络设备542收到第四个数据包504后,网络设备542把第四个数据包504嵌入在数据包524传送给接收端543,并产生和传送对应第四个数据包504的第四个名义接收确认信息514。
当接收端543收到嵌入在数据包524中的第四个数据包504时,接收端543会传送对应第二,三,四个数据包504的接收确认信息532。由于第四个数据包504是嵌入在数据包524中,接收端543或其他的网络设备是要把第四个数据包504从数据包524中拿出来才能处理第四个数据包504。
如果在一段时间内网络设备542接受不到从接收端543传送的接收确认信息,比如531,网络设备542会决定接收端543接收不到数据包501,而网络设备542会再传送数据包521,直至网络设备542知道接收端543接收到数据包521,或网络设备542放弃继续连接。另一个例子,如果在一段时间内网络设备542接受不到从接收端543传送的接收确认信息532,网络设备542会判定接收端543接收不到数据包522,而网络设备542会再传送数据包522,直至网络设备542知道接收端543接收到数据包522,或网络设备542放弃继续连接。在网络设备542知道接收端543接收到数据包522以前,网络设备542不会再传送数据包523和524,以免增加网络连接的荷载。
参考图5是假设发送端541要收到确认信息才发送下一个数据包,但这不是唯一的方法。发送端可以在没有收到确认信息就发送下一个或更多数据包,例如根据TCP滑动窗口(TCP Sliding Window)的大小来决定在没有收到确认信息前, 发送多少个该数据流的数据包。
选择网络连接
由于网络设备342,442和552都是连接两个以上的网络连接,所以当网络设备342,442和552传送数据包时,即分别是数据包321,322,323,324,421,422,423,424,521,522,531和524,网络设备342,442和552分别选择其中一个的网络连接来传送数据包。网络设备342,442和552可以用其中一个网络连接来传送一个数据流的所有数据包,也可以为每个数据包选择不同的网络连接。网络设备342,442和552可以根据不同的原因来选择网络连接,譬如根据延迟、价钱、速度、管理员的喜好、可靠性等等来选择网络连接。
实施方案5 - TCP/IP协议例子
根据其中一个实施例,数据流是用TCP协议。基于TCP/IP协议,在发送端和接收端之间的数据流传送中来鉴定数据流的建立有三个信号:”SYN”是同步化旗标,此为该数据流最初的序列信号 、”ACK” 是表示确认接受的信号,由发送端发送的初始SYN包后属于该数据流的所有数据包都有这个标志设置 、”FIN”是最后一个来自传送者为该数据流的传送信号,都是源自TCP/IP协议并用来鉴定建立数据流的数据包。
参考图6是一个利用参考图1网络架构的TCP的实施例。 网络设备103有连接网络连接121和122连接互联网,网络设备104有连接网络连接123,124和125连接互联网。因此网络设备103有六种选择来传送数据包,即经网络连接121和123、网络连接121和124、网络连接121和125、网络连接122和123、网络连接122和124、网络连接122和125。同样网络设备104也有六个选择来传送数据包,即经网络连接123和121、网络连接123和122、网络连接124和121、网络连接124和122、网络连接125和121、网络连接122和125。根据一个实施例,网络设备103、104根据网络连接的状态来选择网络连接。根据一个实施例,当网络设备103、104选定了一个网络连接,就会一直选用该网络连接,直至该网络的状态发生新的变化促使网络设备103、104要选择其他网络连接。
在发送端101和接收端102之间要建立一个端对端的连接,发送端101发出SYN数据包611给接收端102。由于网络设备103在这一刻还不知道是否能把SYN数据包611送达接收端102及接收端102是否同意连接,网络设备103因此没有产生和传送对应的名义接收确认信息。 网络设备103会把SYN数据包611嵌入在数据包612,并选择经网络连接121或122和经网络连接123,124或125来传送数据包612。
网络装置104收到数据包612后,会首先把数据包611从数据包612中提取出来,然后把数据包613传送给接收端102。数据包613的内容是与数据包611的内容一样。接收端102收到数据包613后,回复ACK数据包614。网络装置104把ACK数据包嵌入数据包615经互联网110传送给网络装置103。网络装置103把数据包614从数据包615中提取出来,然后把数据包616传送给在发送端101。数据包616的内容是与数据包614内容一样。
传送者101收到由接收端102来的ACK数据包后,再以ACK数据包回复并开始传送数据内容,合成为数据包617。当网络装置103收到数据包617,网络装置103回复ACK数据包618,并经由互联网110传送嵌入数据包619的ACK和数据内容和数据包617到网络装置104。ACK数据包618是一个名义接收确认信息。网络装置104把会跟处理数据包612一样,首先把数据包617从数据包619中提取出来,然后把数据包619以数据包620传送给接收端102。数据包620的内容是与数据包617内容一样。
当接收端102收到来自传送者101的数据内容后,回复确认接收ACK数据包621。网络装置104收到ACK数据包621后,把它嵌入成数据包622,选择三条路线网络连接123、124、125的其中一条把数据包621经互联装网110传送给网络装置103。由于网络装置103在较早前已代替接收端102用ACK数据包618回复,所以网络装置103不会传送ACK数据包622给传送者101。其后,就如上述方法传送数据内容直到该数据流所有的数据包传送完毕。
如数据包619在传送中丢失,网络装置103会不断尝试再传送数据包619直至需要放弃为止。其中网络装置103知道数据包619在传送中丢失是依靠在一段时间内网络设备103接受不到来自从接收端102的接收确认信息。
网络装置103可以凭控制发出名义接收确认信息,如数据包618,的速度或内容,来影响发送端101传送数据流的数据包速度。根据一个实施例,网络设备103提高发出名义接收确认信息的速度,来影响发送端提高传送数据流的数据包的速度。根据一个实施例,网络设备101扩大发出名义接收确认信息所确认的数据包的数量,来影响发送端提高传送数据流的数据包的速度。
然而,在传送者101传送最后一封数据包的时候,需要加上一封FIN数据包来告知接收端102传送完毕,此是数据包623;网路装置103传送嵌入了数据包623的数据包624,经互联网110到达网络装置104。网络装置104把数据包623从数据包624中提取出来,然后把数据包625传送给接收端102。数据包625的内容是与数据包623的内容一样。由于是最后一封数据包,网路装置103不会为FIN数据包产生名义接收确认信息。这样传送者101就不会以为该TCP数据流的所有数据包已被接收端102完全收到。
接收端102收到传送者101的FIN数据包623后,利用FIN数据包623产生ACK数据包626回复传送者101确认通知。网络装置104把ACK数据包626嵌入为数据包627,传送到网络装置103。网络装置103把ACK数据包626从数据包627中提取出来,然后把数据包628传送给传送者101。数据包628的内容是与数据包626的内容一样。
最后,数据包628到达传送者101后,传送者101回复ACK数据包629给接收端102。网络装置103把ACK数据包629嵌入在数据包630并传送到网络装置104。 网络装置104把数据包629从数据包630中提取出来,然后把数据包631传送给接收端102。数据包631的内容是与数据包629的内容一样。
实施方案6
参考图7是一个实施本发明网络系统的实施例。网络系统700有网络连接界面702、703和705、处理器701、存储器704。处理器701连接网络连接界面702、703和705、存储器704。 处理器701控制网络装置700的所有运作。
网络装置700在考图7中以一个路由器(Router)来实施。网络装置700可以是用软体或硬件来实施。如用硬件实施,网络装置700有外壳,网络连接界面702和703、处理器701、存储器704是方放在外壳内和电路板上。
传送者传送的数据包,经过网络连接被网络连接界面702接收后会被处理器701处理。传送给传送者的数据包会在被处理器701处理后,经过网络连接被网络连接界面702传送给传送者。处理器701根据不同的设定来选择用哪一个网络连接和网络连接界面703或705,譬如根据延迟,价钱,速度,管理员的喜好,可靠性等等。接收端传送给传送者的数据包,经过网络连接被网络连接界面703或705接收后会被处理器701处理。传送给接收端的数据包会在被处理器701处理后,经过网络连接被网络连接界面703或705传送给传送者。在处理器701处理数据包过程中,处理器701用存储器704来暂时存储处理器701处理的数据包,经络接口702、703、705接收的数据包。存储器704也被用来存储给处理器701的指令。处理器701从存储器704拿取指令,并执行指令。指令使处理器701实施本发明的方案。
以参考图1的实施方案为例,当网络系统700经网络连接界面703或705从发送端收到属于一个数据流的数据包(步骤201),网络系统700内的处理器701从网络连接界面703或705连接着的网络连接选择其中一个网络连接传送该数据包(步骤202)。该数据包的目的地是一个接收端。处理器701有很多不同的方法来选择用哪一个网络连接,比如说用延迟,价钱,速度,管理员的喜好,可靠性等等。 处理器701会把该数据包嵌入在另外的数据包,并利用选择了的网络连接来传送嵌有该数据包的数据包(步骤203)。 接着,处理器701决定是否传送名义接收确认信息给发送端(步骤204)。这个名义接收确认信息的目的是让发送端认为接收端已发出接收确认信息来确认该数据包已经被接收端收到,并使发送端继续传送属于该数据流的其他数据包。 如果处理器701决定传送名义接收确认信息给发送端,处理器701就会产生对应该数据包的名义接收确认信息,并传送给发送端(步骤205)。
但是如果处理器701经网络连接界面703或705不断地传送名义接收确,发送端就会不断地传送属于该数据流的其他数据包,这样会有机会用尽使网络系统700内的存储器704。处理器701在收到接接收端的对应接收确认信息前,要存储数据包,因为如果处理器701要重发那数据包直至处理器701知道接收端已接收到数据包,或处理器701放弃继续连接。
因此处理器701决定是否产生对应该数据包的名义接收确认信息(步骤204)或等待从接收端发出对该数据包或对该数据流其他数据包的接收确认信息(步骤206)。其中一个决定因素是存储器704还有多少存储能存储数据包。其他的决定因素可以是处理器701的处理能力,网络连接速度,其他数据流的要求等等。另一个必须有的决定因素是接收端有没有发出接收确认信息,如果处理器701从没有收到接收端发出对该数据流的接收确认信息,处理器701可以判定接收端根本收不到该数据流的任何数据包。另一个可以有的决定因素是接收端多久前发出接收确认信息,如果处理器701在一段时间内没有经网络连接界面703或705收到接收端发出对该数据流的接收确认信息,处理器701可以判定接收端接收不到该数据流其中的任何数据包。 又或如果处理器701经网络连接界面703或705传送该数据流一个以上的数据包后,还没有收到接收端发出对该数据包的接收确认信息,处理器701可以由此判定定到接收端可能收不到该该数据流一个以上的数据包。
当处理器701等待从接收端发出对该数据包或对该数据流其他数据包的接收确认信息(步骤206),处理器701能执行其他的工作。
在等待从接收端发出对该数据包或对该数据流其他数据包的接收确认信息时(步骤206),继续产生对应该数据流的数据包的名义接收确认信息并传送给发送端,直至决定暂停产生对应该数据流的数据包的名义接收确认信息。根据一个实施例处理器701会暂停产生对应该数据流的数据包的名义接收确认信息,直至收到从接收端发出对该数据流其中一个数据包的接收确认信息,而这个接收确认信息是对应网络设备已传送该数据流的数据包,但不包括对应处理器701最近传送该数据流的数据包。
根据一个实施例,处理器701不会开始产生对应数据流的数据包的名义接收确认信息,直至处理器701经网络连接界面703或705收到至少一个来自接收端发出对该数据流的接收确认信息。这样,根据一个实施例,处理器701不会开始产生对应数据流的数据包的名义接收确认信息,直至处理器701经网络连接界面703或705收到至来自接收端发出对该数据流第一个数据包的接收确认信息。
任何根据网络连接的状态来选择网络连接。根据一个实施例,当处理器701选定了一个网络连接,就会一直选用该网络连接,直至该网络的状态有新的变化促使701要选择其他网络连接。
处理器701需要设定名义接收确认的源地址为接收端的地址,也可能需要设定名义接收确认内其他信息, 包括选项、首部检验和、连接埠、序列号码、确认号码等等使发送端认为为名义接收确认信息是由接收端发出,这样发送端便继续数据流其他数据包。
处理器701凭控制发出名义接收确认信息的速度或内容,能影响发送端传送数据流的数据包速度。例如,处理器701通过提高发出名义接收确认信息的速度,来影响发送端提高传送数据流的数据包的速度。或者,处理器701通过减少发出回应数据流的数据包的名义接收确认与接收数据包之间的时间,来影响发送端提高传送数据流的数据包的速度。或者,处理器701通过延长发出回应数据流的数据包的名义接收确认与接收数据包之间的时间,来影响发送端减低传送数据流的数据包的速度。或者,处理器701通过增加发出名义接收确认信息所确认的数据包的数量,来影响发送端提高传送数据流的数据包的速度。又或者,处理器701通过减少发出名义接收确认信息所确认的数据包的数量,来影响发送端减低传送数据流的数据包的速度。
根据一个实施例,处理器701根据网络连接的状态来选择网络连接。根据一个实施例,当处理器701选定了一个网络连接,就会一直选用该网络连接,直至该网络的状态有新的变化促使701要选择其他网络连接。
处理器701是以由一个以上的处理器组成。处理器可以是中央处理器(Central Processing Unit)、可编程器件、专用集成电路 (Application Specific Integrated Circuit)、微控制单元、单片微型计算机等等来实施。
网络连接界面可以是以太网连接界面、通用串行总线连接界面、WiMax调制解调器、IEEE 802.11 调制解调器、长期演进(Long Term Evolution)调制解调器、3G调制解调器等等来实施。
存储器704是记忆设备,用来存储数据包、程序、数据。计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中.存储器704可以由随机存取存储器、硬盘、软盘、光盘、磁光盘、磁盘、闪存、 等等来实施。
对于本领域局普通技艺人士而言,可能会增加新的优点以及作一些修改.本发明并不受已经描述的具体实施方式的局限,具有更宽的范围.因此,根据这些具体的描述而进行的一些修改,并不脱离本申请人发明点的实质。
附图说明
此处所说明的附图用来提供对本发明的进一步理解, 构成本发明请的一部分, 本发明的示意性实施例及其说明用于解释本发明, 并 不构成对本发明的不当限定。 在附参考图中:
参考图1是一个网络架构;
参考图2是一个实施方案的流程图;
参考图3是一个的实施例显示网络设备如何决定产生并传送名义接收确认信息;
参考图4是一个的实施例显示网络设备如何决定产生并传送名义接收确认信息;
参考图5是一个的实施例显示网络设备如何决定产生并传送名义接收确认信息;
参考图6是一个利用参考图1网络架构的TCP的实施例;以及
参考图7是一个实施本发明网络系统的实施例。

Claims (20)

  1. 一种关于数据流发送的网络系统,其特征在于,包括:
    第一网络连接界面与一个发送端互联;
    两个以上第二网络连接界面,用于与一个接收端通过两个以上网络接入互联;
    控制单元,用于包括:
    通过第一网络连接界面从发送端收到一个数据流的数据包;
    选择该两个以上第二连接网络接入界面的网络接入当中一个网络接入,发送嵌入了该数据流数据包的数据包给接收端;
    决定是否产生一个以上对应该数据流数据包的名义接收确认信息;
    如决定产生名义接收确认信息,名义接收确认信息是用接收端的名义产生;
    发送名义接收确认信息给发送端;
    一个以上存储介质,用于存储给控制单元的指令和暂存该数据流的数据包;
    控制单元与第一网络连接界面、两个以上第二网络连接界面、一个以上存储介质连接。
  2. 根据权利要求1的网络系统,其特征在于,其中控制单元用于包括控制发送名义接收确认信息给发送端的速度。
  3. 根据权利要求1的网络系统,其特征在于,其中控制单元用于包括发送名义接收确认信息给发送端前,控制单元必须要已收到一个以上接收端通过由该两个以上第二网络接入界面当中一个网络接入界面发送的的接收确认信息。
  4. 根据权利要求1的网络系统,其特征在于,其中名义接收确认信息对应该数据流两个以上的数据包。
  5. 根据权利要求1的网络系统,其特征在于,其中当控制单元用于包括在一段时间内没有收到一个以上从接收端通过由该两个以上第二网络接入界面当中一个网络接入界面发送的接收确认信息,控制单元暂停发送名义接收确认信息给发送端。
  6. 根据权利要求5的网络系统,其特征在于,其中控制单元用于包括重发没有被发送端确认的该数据流的数据包,其中该被重发该数据流的数据包是嵌入在另外一个以上的数据包。
  7. 根据权利要求1的网络系统,其特征在于,其中数据流是基于TCP。
  8. 根据权利要求1的网络系统,其中控制单元择该两个以上第二连接网络接入界面的网络接入当中一个网络接入是基于网络接入的状态,其中所述状态是从由延迟、可靠性、速度组成的组中选择。
  9. 根据权利要求1的网络系统,其特征在于,其中控制单元用于包括选择该两个以上第二连接网络接入界面的网络接入当中一个网络接入的选择该是基于网络策略。
  10. 根据权利要求1的网络系统,其特征在于,其中控制单元用于包括不会为该数据流的最后数据包产生名义接收确认信息。
  11. 一种关于网络系统发送数据流的方法,其特征在于,包括:
    通过第一网络连接界面从发送端收到一个数据流的数据包;
    选择该两个以上第二连接网络接入界面的网络接入当中一个网络接入,发送嵌入了该数据流数据包的数据包给接收端;
    决定是否产生一个以上对应该数据流数据包的名义接收确认信息;
    如决定产生名义接收确认信息,名义接收确认信息是用接收端的名义产生;
    发送名义接收确认信息给发送端;
  12. 根据权利要求11的方法,其特征在于,所述方法包括控制发送名义接收确认信息给发送端的速度。
  13. 根据权利要求11的方法,其特征在于,所述方法包括在发送名义接收确认信息给发送端前,网络系统必须要已收到一个以上接收端通过由该两个以上第二网络接入界面当中一个网络接入界面发送的的接收确认信息。
  14. 根据权利要求11的方法,其特征在于,其中名义接收确认信息对应该数据流两个以上的数据包。
  15. 根据权利要求11的方法,其特征在于,所述方法包括在一段时间内没有收到一个以上从接收端通过由该两个以上网络接入界面当中一个网络接入界面发送的接收确认信息,控制单元暂停发送名义接收确认信息给发送端。
  16. 根据权利要求15的方法,其特征在于,所述方法包括重发没有被发送端确认的该数据流的数据包,其中该被重发该数据流的数据包是嵌入在另外一个以上的数据包。
  17. 根据权利要求11的方法,其特征在于,其中数据流是基于TCP。
  18. 根据权利要求11的方法,其特征在于,所述方法包括选择该两个以上连接网络接入界面的网络接入当中一个网络接入是基于网络接入的状态,其中所述状态是从由延迟、可靠性、速度组成的组中选择。
  19. 根据权利要求11的方法,其特征在于,所述选择该两个以上连接网络接入界面的网络接入当中一个网络接入的选择该是基于网络策略。
  20. 根据权利要求11的方法,其特征在于,所述方法包括不会为该数据流的最后数据包产生名义接收确认信息。
PCT/IB2012/054547 2012-09-04 2012-09-04 增加数据流传输的方法和系统 WO2014037760A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/IB2012/054547 WO2014037760A1 (zh) 2012-09-04 2012-09-04 增加数据流传输的方法和系统
CN201280075629.1A CN104854836B (zh) 2012-09-04 2012-09-04 增加数据流传输的方法和系统
US14/422,175 US9967193B2 (en) 2012-09-04 2012-09-04 Method and system for increasing data flow transmission
GB1503532.2A GB2519491B (en) 2012-09-04 2012-09-04 Method and system for increasing data flow transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2012/054547 WO2014037760A1 (zh) 2012-09-04 2012-09-04 增加数据流传输的方法和系统

Publications (1)

Publication Number Publication Date
WO2014037760A1 true WO2014037760A1 (zh) 2014-03-13

Family

ID=50236593

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2012/054547 WO2014037760A1 (zh) 2012-09-04 2012-09-04 增加数据流传输的方法和系统

Country Status (4)

Country Link
US (1) US9967193B2 (zh)
CN (1) CN104854836B (zh)
GB (1) GB2519491B (zh)
WO (1) WO2014037760A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012049292A1 (en) 2010-10-14 2012-04-19 Gn Resound A/S A hearing device and a method of selecting an optimal transceiver channel in a wireless network
US9911476B2 (en) * 2013-05-14 2018-03-06 Tencent Technology (Shenzhen) Company Limited Systems and methods for voice data processing
US10291472B2 (en) 2015-07-29 2019-05-14 AppFormix, Inc. Assessment of operational states of a computing environment
US10581687B2 (en) 2013-09-26 2020-03-03 Appformix Inc. Real-time cloud-infrastructure policy implementation and management
US9385959B2 (en) 2013-09-26 2016-07-05 Acelio, Inc. System and method for improving TCP performance in virtualized environments
US10355997B2 (en) * 2013-09-26 2019-07-16 Appformix Inc. System and method for improving TCP performance in virtualized environments
US9906454B2 (en) 2014-09-17 2018-02-27 AppFormix, Inc. System and method for providing quality of service to data center applications by controlling the rate at which data packets are transmitted
EP3133838A1 (en) * 2015-08-18 2017-02-22 GN Resound A/S A method of exchanging data packages between first and second portable communication devices using a favoured frequency band
US9819705B2 (en) * 2015-08-18 2017-11-14 Gn Hearing A/S Method of exchanging data packages between first and second portable communication devices using a favoured frequency band
US10003896B2 (en) 2015-08-18 2018-06-19 Gn Hearing A/S Method of exchanging data packages of different sizes between first and second portable communication devices
US9831988B2 (en) 2015-08-18 2017-11-28 Gn Hearing A/S Method of exchanging data packages between first and second portable communication devices
US10868742B2 (en) 2017-03-29 2020-12-15 Juniper Networks, Inc. Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control
US11068314B2 (en) 2017-03-29 2021-07-20 Juniper Networks, Inc. Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment
US11323327B1 (en) 2017-04-19 2022-05-03 Juniper Networks, Inc. Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7295512B2 (en) * 2001-06-14 2007-11-13 Hitachi, Ltd. Performance enhanced TCP communication system
CN101193448A (zh) * 2006-11-27 2008-06-04 Zte圣地亚哥公司 无线通信网络中移动站发起的负载平衡
CN101547210A (zh) * 2009-05-14 2009-09-30 福建星网锐捷网络有限公司 一种tcp连接的处理方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8238241B2 (en) * 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
JP4610240B2 (ja) * 2004-06-24 2011-01-12 富士通株式会社 分析プログラム、分析方法及び分析装置
US9240868B2 (en) * 2004-11-05 2016-01-19 Ruckus Wireless, Inc. Increasing reliable data throughput in a wireless network
US8717885B2 (en) * 2007-04-26 2014-05-06 Mushroom Networks, Inc. Link aggregation methods and devices
US8942113B2 (en) * 2009-05-07 2015-01-27 Verizon Patent And Licensing Inc. System and method for dynamically adjusting routing metrics based on power consumption

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7295512B2 (en) * 2001-06-14 2007-11-13 Hitachi, Ltd. Performance enhanced TCP communication system
CN101193448A (zh) * 2006-11-27 2008-06-04 Zte圣地亚哥公司 无线通信网络中移动站发起的负载平衡
CN101547210A (zh) * 2009-05-14 2009-09-30 福建星网锐捷网络有限公司 一种tcp连接的处理方法和装置

Also Published As

Publication number Publication date
US20150215214A1 (en) 2015-07-30
GB201503532D0 (en) 2015-04-15
US9967193B2 (en) 2018-05-08
GB2519491A (en) 2015-04-22
CN104854836A (zh) 2015-08-19
CN104854836B (zh) 2018-06-29
GB2519491B (en) 2021-01-06

Similar Documents

Publication Publication Date Title
WO2014037760A1 (zh) 增加数据流传输的方法和系统
US10237153B2 (en) Packet retransmission method and apparatus
US11876880B2 (en) TCP processing for devices
US10873613B2 (en) TCP processing for devices
CN104025525B (zh) 用于发送分组的方法和设备以及交换机装置
JP5020076B2 (ja) 低頻度ackのシステムに適した高性能tcp
US7471681B2 (en) Determining network path transmission unit
US10530644B2 (en) Techniques for establishing a communication connection between two network entities via different network flows
US8583831B2 (en) Thin client discovery
US9577791B2 (en) Notification by network element of packet drops
US7496038B2 (en) Method for faster detection and retransmission of lost TCP segments
JP2009526494A (ja) トランスポートプロトコルの性能を改善するシステムおよび方法
JP2001045094A (ja) レイヤー2トンネリングプロトコール(l2tp)向け受信者開始回復アルゴリズム(rira)
WO2007052764A1 (ja) セッション中継装置およびセッション中継方法
CN111865940B (zh) 一种传输优化的方法及装置
WO2013152614A1 (zh) 一种基于应用层数据的网络接入系统和方法
JP2005136684A (ja) データ転送方法とtcpプロキシ装置およびそれを用いたネットワークシステム
JP4505575B2 (ja) 通信システム、ゲートウェイ送信装置、ゲートウェイ受信装置、送信方法、受信方法および情報記録媒体
KR20120042745A (ko) 비접속 환경에서 신뢰적인 통신을 수립하기 위한 방법 및 시스템
KR101547048B1 (ko) 라우터에서의 통신들을 관리하는 기술
JP2002281106A (ja) データ通信方法及びそのシステム
EP3367599B1 (en) Method and system for transferring data within a layered architecture of network components
CN115633099A (zh) 一种适用于高带宽延迟系统的传输协议方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12884112

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14422175

Country of ref document: US

ENP Entry into the national phase

Ref document number: 1503532

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20120904

WWE Wipo information: entry into national phase

Ref document number: 1503532.2

Country of ref document: GB

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12884112

Country of ref document: EP

Kind code of ref document: A1