WO2013139010A1 - 确认包的处理方法、设备及系统 - Google Patents

确认包的处理方法、设备及系统 Download PDF

Info

Publication number
WO2013139010A1
WO2013139010A1 PCT/CN2012/072726 CN2012072726W WO2013139010A1 WO 2013139010 A1 WO2013139010 A1 WO 2013139010A1 CN 2012072726 W CN2012072726 W CN 2012072726W WO 2013139010 A1 WO2013139010 A1 WO 2013139010A1
Authority
WO
WIPO (PCT)
Prior art keywords
acknowledgement packet
packet
entity
acknowledgement
new
Prior art date
Application number
PCT/CN2012/072726
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/CN2012/072726 priority Critical patent/WO2013139010A1/zh
Priority to CN201280000502.3A priority patent/CN103548297A/zh
Priority to CN201280070272.8A priority patent/CN104137495B/zh
Priority to KR1020147029217A priority patent/KR101607583B1/ko
Priority to PCT/CN2012/087791 priority patent/WO2013139165A1/zh
Priority to JP2015500748A priority patent/JP5928764B2/ja
Priority to EP12871880.6A priority patent/EP2819360B1/en
Publication of WO2013139010A1 publication Critical patent/WO2013139010A1/zh
Priority to US14/491,744 priority patent/US9602410B2/en

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/12Avoiding congestion; Recovering from congestion
    • 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/1829Arrangements specially adapted for the receiver end
    • H04L1/1854Scheduling 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/11Identifying 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
    • 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/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • 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

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a method, a device, and a system for processing a confirmation packet. Background technique
  • the Transmission Control Protocol provides a connection-oriented byte stream service.
  • the terminal and the server can send data normally after establishing a connection, and the data transmission using the TCP protocol has a data packet. Confirmation mechanism and retransmission function.
  • the server sends a data packet to the terminal, and the terminal returns an acknowledgement packet to the server after receiving the data packet, and the server transmits the remaining data packet according to the received acknowledgement packet.
  • TCP has gradually been applied to wireless transmission services from traditional wired transmission services.
  • the Transmission Control Protocol/Internet Protocol (TCP/IP) is developed and designed for wired transmission.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • LTE Long Term Evolution
  • the limitation of the wireless communication itself may cause fluctuations in the air interface signal, and the server may not receive the terminal reply within a few milliseconds or hundreds of milliseconds. Confirm the package, and then after the air interface signal fluctuations disappear, the server receives a large number of confirmation packets in a short time. Therefore, the prior art lacks the differentiation processing method when the new arrival acknowledgement packet is received, which may cause the server to issue a large number of data packets to the terminal according to the received large number of acknowledgement packets. Summary of the invention
  • Embodiments of the present invention provide a method, a device, and a system for processing an acknowledgement packet, which are capable of distinguishing between different processing modes when a new arrival acknowledgement packet is newly arrived, thereby solving a short-time reception of a TCP communication service in a wireless communication system.
  • the problem that the number of uplink acknowledgement packets is too large causes a sudden increase in downlink packet traffic, and thus can avoid the problem that the downlink transmission is not timely and the packet loss is caused by the sudden increase of the downlink packet traffic.
  • An aspect of the present invention provides a method for processing a confirmation packet, including:
  • the first entity determines if another acknowledgement packet has been cached and does one of the following:
  • the new acknowledgement packet is cached, and the new acknowledgement packet is sent after the other acknowledgement packet is sent;
  • the timer of the first entity is started, and the sending sequence number SendSeq is greater than the acknowledgment packet sending threshold, the new acknowledgment packet is buffered, and the timer is restarted, in the timer Sending the new confirmation packet before timing out;
  • the timer of the first entity is started, and the sending sequence number SendSeq is less than or equal to the acknowledgement packet sending threshold, the new acknowledgement packet is sent;
  • the SendSeq is a total data amount of the acknowledgement packet sent by the first entity after the timer is started, and the acknowledgement packet sending threshold is that the first entity is allowed to send within the duration of the timer. The total amount of data for the confirmation package.
  • Another aspect of the present invention provides a method for processing a confirmation packet, including:
  • the second entity determines whether there is a first entity for caching and transmitting the new acknowledgment packet, and does one of the following:
  • the number of the existing third entity is less than the second threshold m, and the number of the third entity that has the acknowledgement packet cached is not greater than the third threshold n, the first An entity, and sending the new confirmation packet to the first entity;
  • the number of the existing third entity is not less than the second threshold m, and the number of the third entity that has the acknowledgement packet cached is not greater than the third threshold n, then at least one is deleted. Cache a third entity with an acknowledgement packet, and establish the first entity, and send the new acknowledgement packet to the first entity; and If the first entity does not exist, and the number of the third entity that has cached the acknowledgement packet is greater than the third threshold n, send the new acknowledgement packet to the server;
  • the m is an upper limit of an entity that is allowed to be established for buffering and sending an acknowledgement packet
  • n is an upper limit of the number of third entities that are allowed to simultaneously cache the acknowledgement packet.
  • a further aspect of the present invention provides an apparatus, including a first receiver, a first processor, a memory, a first transmitter, and a timer, where:
  • the first receiver is configured to receive an acknowledgement packet
  • the memory is configured to buffer an acknowledgement packet received by the first receiver
  • the first transmitter is configured to send an acknowledgement packet of the memory cache
  • the first processor is configured to: when the new acknowledgement packet arrives at the first receiver, trigger the memory to cache the new acknowledgement packet if the memory is determined to have other acknowledgement packets cached, and command the first Transmitting the new acknowledgement packet after transmitting the other acknowledgement packet; or, when the new acknowledgement packet arrives at the first receiver, if it is determined that the memory is not buffered with other acknowledgement packet, and the timer is not Startup, triggering the timer to start, and triggering the first transmitter to send the new acknowledgement packet; or, when the new acknowledgement packet arrives at the first receiver, if it is determined that the memory is not cached with other acknowledgements Packet, the timer is started, and the sending sequence number SendSeq is greater than the acknowledgement packet sending threshold, triggering the memory to buffer the new acknowledgement packet, triggering the timer to restart, and commanding the first transmitter to be in the Sending the new acknowledgement packet before the timer expires; or, when the new acknowledgement packet arrives at the first receiver, if it is determined that the
  • the SendSeq is the total data amount of the acknowledgement packet sent after the timer is started, and the acknowledgement packet transmission threshold is the total data amount of the acknowledgement packet that is allowed to be sent within the duration of the timer.
  • Still another aspect of the present invention provides an apparatus, including a second receiver, a second processor, and a second transmitter, wherein:
  • the second receiver is configured to receive an acknowledgement packet; Sending, by the second sender, an acknowledgement packet received by the second receiver to the first entity, where the first entity is configured to cache and send the new acknowledgement packet to the server;
  • the second processor is configured to: when the new acknowledgement packet arrives at the second receiver, if it is determined that the first entity exists, trigger the second sender to send the acknowledgement packet to the first entity; Or, when the new acknowledgement packet arrives at the second receiver, if it is determined that the first entity does not exist, the number of existing third entities is less than the second threshold m, and the third entity that has the acknowledgement packet cached And establishing, by the second sender, the first entity, and triggering the second sender to send the new acknowledgement packet to the first entity; or, when the new acknowledgement packet reaches the first In the case of the second receiver, if it is determined that the first entity does not exist, the number of the existing third entity is not less than the second threshold m, and the number of the third entity that has the acknowledgement packet buffered is not greater than the third threshold.
  • the m is an upper limit of an entity that is allowed to be established for buffering and sending an acknowledgement packet
  • n is an upper limit of the number of third entities that are allowed to simultaneously cache the acknowledgement packet.
  • the embodiment of the present invention sets a first entity that determines a processing mode such as a cache and/or a transmission by determining a newly arrived acknowledgement packet in a base station, and limits the number of packets to be sent in a certain period of time.
  • the acknowledgement packet can be sent to the server at a steady rate, avoiding the sudden increase in the number of acknowledged packets, and the delay in packet transmission and packet loss caused by the downlink packets, thereby avoiding network throughput degradation and improving network transmission efficiency.
  • FIG. 1 is a flowchart of a method for processing an acknowledgement packet according to an embodiment of the present invention
  • FIG. 2 is a flowchart of a method for processing an acknowledgement packet according to another embodiment of the present invention.
  • FIG. 3 is a flowchart of a method for processing an acknowledgement packet according to another embodiment of the present invention.
  • FIG. 4 is a flowchart of a method for processing an acknowledgement packet according to another embodiment of the present invention.
  • FIG. 5 is a flowchart of a method for processing an acknowledgement packet according to another embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a processing device for confirming a packet according to another embodiment of the present invention
  • FIG. 7 is a schematic structural diagram of a processing device for confirming a packet according to another embodiment of the present invention.
  • the acknowledgement packet in the embodiments of the present invention may be an uplink acknowledgement packet, where the uplink refers to the terminal device to the base station, or the terminal device to the radio network controller (Radio Network Controller, abbreviated as RNC), or the terminal device to the server, etc. .
  • RNC Radio Network Controller
  • An embodiment of the present invention provides a method for processing an acknowledgement packet. As shown in FIG. 1, the method includes the following steps.
  • the first entity determines whether other acknowledgement packets have been cached. If other acknowledgement packets have been cached, step 102 is performed; otherwise, one of steps 103 to 105 is performed according to different situations.
  • the SendSeq is a total data amount of the acknowledgement packet sent by the first entity after the timer is started, and the acknowledgement packet sending threshold is that the first entity is allowed to send within the duration of the timer. The total amount of data for the confirmation package.
  • the method further includes: updating the SendSeq.
  • caching the new acknowledgement packet includes: caching the new acknowledgement packet after the other acknowledgement packet; sending the new acknowledgement packet after transmitting the other acknowledgement packet
  • the method includes: when the timer of the first entity times out, sending the acknowledged packets in the cache one by one in a queue order.
  • the method further includes: performing the update of the Sendseq one time each time an acknowledgement packet is sent.
  • the method further includes: after performing the updating of the Sendseq, determining whether the updated Sendseq is greater than the acknowledgement packet sending threshold; if the new acknowledgement packet is sent, after the update If the Sendseq is greater than the acknowledgement packet transmission threshold, stop sending the buffered acknowledgement packet in the first entity, restart the timer, and send the new acknowledgement packet before the timer expires.
  • Updated SendSeq SendSeq + Max before update (0, Confirmation packet number of the first confirmation packet - Second confirmation packet The confirmation packet sequence number); wherein the first confirmation packet and the second confirmation packet are two preceding and succeeding packets continuously transmitted by the first entity.
  • the method further includes: updating an acknowledgement packet sequence number of the acknowledgement packet; wherein, when updating the acknowledgement packet sequence number of the second acknowledgement packet, if the acknowledgement packet sequence number of the first acknowledgement packet If the difference between the sequence number of the first acknowledgement packet and the acknowledgement packet number of the second acknowledgement packet is less than -2147483648, the confirmation packet of the first acknowledgement packet is The sequence number is used as the confirmation packet number of the second confirmation packet; otherwise, the confirmation packet number of the second confirmation packet read by the first entity is used as the confirmation packet number of the second confirmation packet.
  • the value of the acknowledgement packet transmission threshold is a product of an average transmission byte speed AvgSendByte and a duration of the timer, and the AvgSendByte is determined according to an aggregate maximum bit rate AMBR and a maximum throughput rate MaxThroughput, where:
  • AvgSendByte (MaxThroughput, AMBR) x 0.97 ⁇ 8000 J , where the
  • the duration of the timer is a period in which the first entity sends an acknowledgment packet
  • the acknowledgment packet is an uplink packet that is not more than 80 bytes and includes an acknowledgment character.
  • the method further includes: establishing the first entity, where the first entity is located at the base station.
  • the first entity in this embodiment may be a base station, such as a NodeB, an eNodeB, an HNodeB, or a HeNodeB, or an RNC.
  • a base station such as a NodeB, an eNodeB, an HNodeB, or a HeNodeB, or an RNC.
  • the embodiment of the present invention can process the acknowledgement packet after receiving the acknowledgement packet, and set a transmission period and a data volume threshold for the acknowledgement packet, and control the acknowledgement sent to the server in each transmission period.
  • the total amount of data in the packet which in turn controls the number of acknowledgment packets, so that the acknowledgment packet can be sent to the server at a smooth rate, avoiding the sudden increase in the number of acknowledgment packets, and
  • the resulting downlink packet transmission is not timely and packet loss, thereby avoiding network throughput degradation and improving network transmission efficiency.
  • Another embodiment of the present invention provides a method for processing an acknowledgement packet. As shown in FIG. 2, the method includes the following steps.
  • the second entity determines whether there is a first entity for buffering and sending the new acknowledgement packet. If the first entity exists, performing step 202; otherwise, performing step 203 to step 205 according to different situations. One.
  • the first entity sends the new acknowledgement packet to the first entity.
  • the number of the existing third entity is not less than the second threshold m, and the number of the third entity that has the acknowledgement packet cached is not greater than the third threshold n, delete at least A third entity that does not have an acknowledgement packet cached, and the first entity is established, and the new acknowledgement packet is sent to the first entity.
  • the new acknowledgement packet is sent to the server.
  • the m is an upper limit of an entity that is allowed to be established for buffering and sending an acknowledgement packet
  • n is an upper limit of the number of third entities that are allowed to simultaneously cache the acknowledgement packet.
  • the first entity in this embodiment may be a base station, such as a NodeB, an eNodeB, an HNodeB, or a HeNodeB, or an RNC.
  • a base station such as a NodeB, an eNodeB, an HNodeB, or a HeNodeB, or an RNC.
  • the embodiment of the present invention can determine, when a new acknowledgement packet arrives at the second entity, the second entity, for the new acknowledgement packet, to determine the newly arrived acknowledgement packet to determine a cache and/or send process.
  • the first entity of the mode the confirmation packet is processed by the first entity, so that the confirmation packet can be It is enough to send to the server at a steady rate, avoiding the sudden increase in the number of acknowledged packets and the delay in packet transmission and packet loss caused by it, thereby avoiding network throughput degradation and improving network transmission efficiency.
  • Another embodiment of the present invention provides a method of processing an acknowledgement packet, the details of which may be considered as an example of the first two embodiments. As shown in FIG. 3, the method includes the following steps:
  • the second entity determines whether there is a first entity for buffering and sending the new acknowledgement packet. If the first entity does not exist, step 302 is performed; if the first entity exists, step 303 is performed. .
  • the acknowledgement packet should satisfy three conditions: the direction of the packet is uplink; the size of the packet is not greater than 80 bytes; the packet contains an acknowledgement character (Acknowledgement, abbreviated as ACK).
  • ACK acknowledgement character
  • the first entity is an operation unit for processing an acknowledgement packet in the base station, and the entity is configured with a source IP, a destination IP, a source port number, a destination port number, a timer, an acknowledgement packet sequence number, and a transmission sequence number SendSeq.
  • LastSeq indicates the sequence number of the previous acknowledgement packet sent
  • SendSeq is the total data amount of the acknowledgement packet sent by the first entity after the timer is started.
  • the acknowledgement packet number and SendSeq are both 0.
  • the second entity establishes a corresponding first entity for the new acknowledgement packet.
  • the method further includes: if the first entity does not exist, the number of the existing third entity is less than the second threshold m, and the number of the third entity that has the acknowledgement packet cached is not greater than a third threshold n, the first entity is established, and the new acknowledgement packet is sent to the first entity;
  • the number of the existing third entity is not less than the second threshold m, and the number of the third entity that has the acknowledgement packet cached is not greater than the third threshold n, then at least one is deleted.
  • a third entity that has an acknowledgement packet cached, and the first entity is established, and the new acknowledgement packet is sent to the first entity.
  • the method further includes: if the first entity does not exist, and the number of the third entity that has cached the acknowledgement packet is greater than the third threshold, the new acknowledgement packet is sent to the server;
  • the m is an upper limit of an entity that is allowed to be established for buffering and sending an acknowledgement packet
  • the n is an upper limit of the number of third entities that are allowed to simultaneously cache the acknowledgement packet.
  • the second entity sends the new acknowledgement packet to the first entity.
  • the new acknowledgement packet arrives, if the first entity has already cached other acknowledgement packets, the new acknowledgement packet is cached after other acknowledgement packets.
  • the first entity determines whether the timer expires. If the timer expires, go to step 307. If the timer does not expire, go to step 306.
  • the duration of the timer is a period in which the first entity sends an acknowledgement packet.
  • the first entity sends an acknowledgement packet to the server according to the queue order and the sending interval. Each time an acknowledgement packet is sent, the Sendseq is updated. When the updated Sendseq is greater than the acknowledgement packet sending threshold, the sending of the acknowledgement packet is stopped, and step 308 is performed. .
  • the sendingSeq is a total data amount of the acknowledgement packet sent by the first entity after the timer is started, and the acknowledgement packet sending threshold is an acknowledgement packet that the first entity is allowed to send within the duration of the timer.
  • the total data amount, the value of the acknowledgement packet transmission threshold is the product of the average transmission byte speed AvgSendByte and the duration of the timer, and the AvgSendByte is determined according to the aggregate maximum bit rate AMBR and the maximum throughput rate MaxThroughput, where:
  • AvgSendByte (MaxThroughput, AMBR) ⁇ 0.97 ⁇ 8000 J , where the
  • the relationship between the updated SendSeq and the SendSeq before the update is:
  • the updated SendSeq SendSeq + Max (0, the confirmation packet number of the first confirmation packet - the confirmation packet number of the second confirmation packet); wherein the first confirmation packet and the second confirmation packet are The first and second acknowledgement packets are continuously sent by the first entity.
  • updating the acknowledgement packet sequence number of the acknowledgement packet after updating the SendSeq, updating the acknowledgement packet sequence number of the acknowledgement packet; wherein, when updating the acknowledgement packet sequence number of the second acknowledgement packet, if the acknowledgement packet sequence number of the first acknowledgement packet is greater than The confirmation packet sequence number of the second confirmation packet, or the difference between the sequence number of the first confirmation packet and the confirmation packet number of the second confirmation packet is less than -2147483648, and the confirmation packet number of the first confirmation packet is used as The confirmation packet sequence number of the second confirmation packet; otherwise, the confirmation packet number of the second confirmation packet read by the first entity is used as the confirmation packet sequence number of the second confirmation packet.
  • the first entity sends the acknowledgement packets in the cache to the server one by one in a queue order. Each time an acknowledgement packet is sent, the Sendseq is updated once, until the updated Sendseq is greater than the acknowledgement packet sending threshold, and the acknowledgement packet is stopped.
  • the first entity restarts the timer, and sends a new acknowledgement packet in a next sending period. It should be noted that the first entity, the second entity, and the third entity in this embodiment may be located at the base station.
  • the second entity searches for or establishes the first entity, and sends the new acknowledgement packet to the first entity, where the first entity sends the acknowledgement packet.
  • the buffer is sent after the other acknowledgement packet, and the sending period and the data volume threshold are set for the acknowledgement packet, and the total amount of the acknowledgement packet sent to the server in each sending period is controlled, thereby controlling the number of the acknowledgement packet, so that the acknowledgement packet can Sending to the server at a steady rate avoids the sudden increase in the number of acknowledged packets and the delay in packet transmission and packet loss caused by it, thereby avoiding network throughput degradation and improving network transmission efficiency.
  • Another embodiment of the present invention provides a method for processing an acknowledgement packet.
  • the difference between the embodiment and the previous embodiment is that when a new acknowledgement packet arrives at the first entity, the first entity does not cache other acknowledgement packets, and The timer is not started.
  • the method includes the following steps:
  • the second entity sends a new acknowledgement packet to the first entity.
  • the searching and establishing process of the first entity refers to steps 301-302 of the previous embodiment.
  • the new acknowledgement packet arrives, if the first entity does not cache other acknowledgement packets, and the first real If the body timer is not started, a new acknowledgement packet is sent to the server, and the transmission sequence number SendSeq is updated.
  • the duration of the timer is a period in which the first entity sends an acknowledgement packet
  • the SendSeq is a total data volume of the acknowledgement packet sent by the first entity after the timer is started.
  • updated SendSeq SendSeq + Max before update (0, confirmation packet number of the first confirmation packet - second confirmation The confirmation packet sequence number of the packet); wherein the first confirmation packet and the second confirmation packet are two preceding and succeeding packets continuously sent by the first entity.
  • updating the acknowledgement packet sequence number of the acknowledgement packet after updating the SendSeq, updating the acknowledgement packet sequence number of the acknowledgement packet; wherein, when updating the acknowledgement packet sequence number of the second acknowledgement packet, if the acknowledgement packet sequence number of the first acknowledgement packet is greater than The confirmation packet sequence number of the second confirmation packet, or the difference between the sequence number of the first confirmation packet and the confirmation packet number of the second confirmation packet is less than -2147483648, and the confirmation packet number of the first confirmation packet is used as The confirmation packet sequence number of the second confirmation packet; otherwise, the confirmation packet number of the second confirmation packet read by the first entity is used as the confirmation packet sequence number of the second confirmation packet.
  • first entity, the second entity, and the third entity in this embodiment may be located at the base station.
  • the second entity searches for or establishes the first entity, and sends the new acknowledgement packet to the first entity, where the first entity does not cache other acknowledgements.
  • the packet does not start the timer
  • a timer is started for the new acknowledgement packet, and the new acknowledgement packet is sent to the server, and a sending period and a data volume threshold are set for the acknowledgement packet, and the control is sent to the server in each sending period.
  • Another embodiment of the present invention provides a method for processing an acknowledgement packet.
  • the difference between the embodiment and the first two embodiments is that when a new acknowledgement packet arrives at the first entity, the first entity does not cache the packet. He confirms the packet, and the timer has been started. As shown in FIG. 5, the method includes the following steps:
  • the second entity sends a new confirmation packet to the first entity.
  • the searching and establishing process of the first entity refers to steps 301-302 of the third embodiment.
  • the first entity determines whether the send sequence number SendSeq is greater than the acknowledgement packet sending threshold, if the SendSeq is greater than the acknowledgement packet.
  • the threshold is sent, and step 506 is performed; if the SendSeq is not greater than the acknowledgement packet sending threshold, step 505 is performed.
  • the SendSeq is a total data amount of the acknowledgement packet sent by the first entity after the timer is started, and the acknowledgement packet sending threshold is that the first entity is allowed to send within the duration of the timer.
  • the total amount of data of the acknowledgement packet, the duration of the timer being the period in which the first entity sends the acknowledgement packet.
  • the value of the acknowledgement packet transmission threshold is the product of the average transmission byte speed AvgSendByte and the duration of the timer: the AvgSendByte is determined according to the aggregate maximum bit rate AMBR and the maximum throughput rate MaxThroughput, where:
  • AvgSendByte (MaxThroughput, AMBR) ⁇ 0.97 ⁇ 8000 J , where the
  • the first entity sends a new acknowledgement packet to the server, and updates the sending sequence number SendSeq.
  • the updated SendSeq is greater than the sending threshold, the subsequent sending of the confirmation packet is stopped.
  • the updated SendSeq SendSeq + Max (0, the confirmation packet number of the first confirmation packet - the confirmation packet number of the second confirmation packet); wherein the first confirmation packet and the second confirmation packet Two before and after confirmation packets are continuously sent for the first entity.
  • the acknowledgement packet sequence number of the acknowledgement packet is further updated; wherein, when the acknowledgement packet sequence number of the second acknowledgement packet is updated, if the acknowledgement packet of the first acknowledgement packet is If the sequence number is greater than the acknowledgement packet number of the second acknowledgement packet, or the difference between the sequence number of the first acknowledgement packet and the acknowledgement packet sequence number of the second acknowledgement packet is less than -2147483648, the first acknowledgement packet is confirmed.
  • the packet sequence number is used as the confirmation packet number of the second confirmation packet; otherwise, the confirmation packet number of the second confirmation packet read by the first entity is used as the confirmation packet sequence number of the second confirmation packet.
  • the first entity caches the new acknowledgement packet, and restarts the timer, and sends the new acknowledgement packet before the timer expires.
  • first entity, the second entity, and the third entity in this embodiment may be located at the base station.
  • the second entity searches for or establishes the first entity, and sends the new acknowledgement packet to the first entity, where the first entity does not cache other acknowledgements.
  • Another embodiment of the present invention provides a processing device for confirming a packet. As shown in FIG. 6, the device includes a first receiver 61, a first processor 62, a memory 63, a first transmitter 64, and a timer 65. , its towel:
  • the first receiver 61 is configured to receive an acknowledgement packet
  • the memory 63 is configured to buffer an acknowledgement packet received by the first receiver 61;
  • the first transmitter 64 is configured to send an acknowledgement packet buffered by the memory 63;
  • the first processor 62 is configured to trigger the memory 63 to cache the new acknowledgement packet if it is determined that the memory 63 has been cached with other acknowledgement packets when the new acknowledgement packet arrives at the first receiver 61.
  • the timer 65 is not activated, the timer 65 is triggered to be started, and the The first transmitter 64 sends the new acknowledgement packet; or, when the new acknowledgement packet arrives at the first receiver 61, if it is determined that the memory 63 is not buffered with other acknowledgement packets, the timer 65 is started, and Sending sequence number SendSeq is greater than the acknowledgement packet transmission threshold, triggering said memory 63 to buffer said new acknowledgement packet, triggering said timer 65 to restart, and commanding said first transmitter 64 to transmit before said timer 65 times out Or a new acknowledgement packet; or, when the new acknowledgement packet arrives at the first receiver 61, if it
  • the SendSeq is the total data amount of the acknowledgement packet sent after the timer 65 is started, and the acknowledgement packet transmission threshold is the total data volume of the acknowledgement packet that is allowed to be sent within the duration of the timer 65.
  • the first processor 62 is further configured to: after the first transmitter 64 sends the new acknowledgement packet, update the SendSeq.
  • the memory 63 is specifically configured to: cache the new acknowledgement packet after the other acknowledgement packet; the first transmitter 64 is specifically configured to: when the timer 65 times out, the memory 63 The cached acknowledgement packets are sent one by one in queue order.
  • the first processor 62 is further configured to: after the first transmitter 64 sends an acknowledgement packet, perform an update of the Sendseq.
  • the first processor 62 is further configured to: after each performing the updating of the Sendseq, determining whether the updated Sendseq is greater than the acknowledgement packet sending threshold; when the first transmitter 64 sends Before the new acknowledgement packet is sent, when the updated Sendseq of the first processor 62 is greater than the acknowledgement packet sending threshold, the first transmitter 64 is triggered to stop sending the buffered acknowledgement packet in the first entity. The timer 65 is triggered to restart, and the first transmitter 64 is instructed to send the new acknowledgement packet before the timer 65 times out.
  • the first processor 62 is further configured to: update an acknowledgement packet sequence number of the acknowledgement packet, where, when the acknowledgement packet sequence number of the second acknowledgement packet is updated, if the acknowledgement packet sequence number of the first acknowledgement packet is greater than The confirmation packet sequence number of the second confirmation packet, or the difference between the sequence number of the first confirmation packet and the confirmation packet sequence number of the second confirmation packet is less than -2147483648, and the confirmation packet number of the first confirmation packet is As the confirmation packet number of the second confirmation packet; otherwise, the confirmation packet number of the second confirmation packet read by the first entity is used as the confirmation packet number of the second confirmation packet.
  • the duration of the timer 65 is the period during which the acknowledgement packet is sent.
  • the device in this embodiment may be a base station, such as a NodeB, an eNodeB, an HNodeB, or a HeNodeB, or may be an RNC.
  • a base station such as a NodeB, an eNodeB, an HNodeB, or a HeNodeB, or may be an RNC.
  • the embodiment of the present invention can process the acknowledgement packet after receiving the acknowledgement packet, and set a transmission period and a data volume threshold for the acknowledgement packet, and control the acknowledgement sent to the server in each transmission period.
  • network throughput is reduced and network transmission efficiency is improved.
  • Another embodiment of the present invention provides a processing device for an acknowledgement packet. As shown in FIG. 7, the device includes a second receiver 71, a second processor 72, and a second transmitter 73, wherein:
  • the second receiver 71 is configured to receive an acknowledgement packet
  • the second transmitter 73 sends the acknowledgement packet received by the second receiver 71 to the first entity, where the first entity is used to buffer and send the new acknowledgement packet to the server;
  • the second processor 72 is configured to: when the new acknowledgement packet arrives at the second receiver 71, if If the first entity exists, the second transmitter 73 is triggered to send the acknowledgement packet to the first entity; or, when a new acknowledgement packet arrives at the second receiver 71, if it is determined that there is no In the first entity, if the number of the existing third entity is less than the second threshold m, and the number of the third entity that has the acknowledgement packet buffered is not greater than the third threshold n, the first entity is established and triggered The second transmitter 73 sends the new acknowledgement packet to the first entity; or, when the new acknowledgement packet arrives at the second receiver 71, if it is determined that the first entity does not exist, the existing one exists.
  • the second threshold m If the number of the third entity is not less than the second threshold m, and the number of the third entity that has cached the acknowledgement packet is not greater than the third threshold n, deleting at least one third entity that does not have the acknowledgement packet cached, a first entity, and triggering the second transmitter 73 to send the new acknowledgement packet to the first entity; or, when a new acknowledgement packet arrives at the second receiver 71, if it is determined that the first An entity, and the third with the acknowledgement packet cached The third number is greater than that threshold n, triggering the second transmitter 73 transmits to the server the new acknowledgment packet;
  • the m is an upper limit of an entity that is allowed to be established for buffering and sending an acknowledgement packet
  • n is an upper limit of the number of third entities that are allowed to simultaneously cache the acknowledgement packet.
  • the device in this embodiment may be a base station, such as a NodeB, an eNodeB, an HNodeB, or a HeNodeB, or may be an RNC.
  • a base station such as a NodeB, an eNodeB, an HNodeB, or a HeNodeB, or may be an RNC.
  • the embodiment of the present invention can determine, when a new acknowledgement packet arrives at the second entity, the second entity, for the new acknowledgement packet, to determine the newly arrived acknowledgement packet to determine a cache and/or send process.
  • the first entity of the mode processes the acknowledgement packet by the first entity, so that the acknowledgement packet can be sent to the server at a steady rate, avoiding the sudden increase of the number of acknowledged packets, and the downlink packet transmission caused by it is not timely and lost. Packet issues, thereby avoiding network throughput degradation and improving network transmission efficiency.
  • For the specific function implementation refer to the description in the method embodiment, and details are not described herein again.
  • the processing method and device for the acknowledgement packet provided by the embodiment of the present invention can be applied to data transmission in the TCP transmission service, but is not limited thereto.
  • the embodiment of the invention further provides a system, which may include the device shown in FIG. 6 and/or the device shown in FIG. 7 .
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

Abstract

本发明实施例公开了一种确认包的处理方法、设备及系统,涉及通信技术领域,所述方法包括:当到达新确认包时,第一实体确定是否已缓存有其他确认包,并做如下处理之一:如果已缓存有其他确认包,则缓存新确认包,并在发送其他确认包之后发送新确认包;如果未缓存有其他确认包,且第一实体的定时器未启动,则启动定时器,并发送新确认包;如果未缓存有其他确认包,第一实体的定时器已启动,且发送序列号SendSeq大于确认包发送门限,则缓存新确认包,并重启定时器,在定时器超时之前发送新确认包;如果未缓存有其他确认包,第一实体的定时器已启动,且发送序列号SendSeq小于或等于确认包发送门限,则发送新确认包。本发明实施例能够解决TCP数据传输业务传输中,服务器短时间内接收上行确认包数量过多而导致下行数据包流量突增的问题。

Description

确认包的处理方法、 设备及系统 技术领域
本发明涉及通信技术领域, 特别涉及一种确认包的处理方法、 设备及系 统。 背景技术
传输控制协议 ( Transmission Control Protocol, 英文缩写为 TCP )提供了 一种面向连接的字节流服务, 终端和服务器之间在建立连接后可以正常发送 数据, 并且使用 TCP协议进行的数据传输具有数据包确认机制以及重传功能。 在下行 TCP业务中,服务器向终端发送数据包,终端在接收数据包后向服务器 回复确认包,服务器根据收到的确认包来发送剩余的数据包。基于 TCP业务的 优点, TCP从传统的有线传输业务渐渐地运用到了无线传输业务上。
现有技术中 , 由于传输控制协议 /因特网互联协议 ( Transmission Control Protocol/Internet Protocol , 英文缩写为 TCP/IP )是针对有线传输进行开发和设 计的。 当引入到无线系统后, 例如长期演进( Long Term Evolution, 英文缩写 为 LTE )系统, 无线通信自身的限制会导致空口信号的波动, 服务器可能在几 毫秒或几百毫秒内接收不到终端回复的确认包, 然后在空口信号波动消失后, 服务器在短时间内收到大量的确认包。 因此, 现有技术由于缺少在新到达确 认包时的区分处理方式, 可能导致服务器需要根据收到的大量确认包而向终 端下发大量的数据包的问题。 发明内容
本发明的实施例提供一种确认包的处理方法、 设备及系统, 能够在新到 达确认包时区分情况进行不同的处理方式,从而解决无线通信系统 TCP数据传 输业务传输中, 服务器短时间内接收上行确认包数量过多而导致下行数据包 流量突增的问题, 并因此能够避免下行数据包流量突增而造成的下行传输不 及时和易丟包的问题。 本发明一方面提供一种确认包的处理方法, 包括:
当到达新确认包时, 第一实体确定是否已緩存有其他确认包, 并做如下 处理之一:
如果已緩存有其他确认包, 则緩存所述新确认包, 并在发送所述其他确 认包之后发送所述新确认包;
如果未緩存有其他确认包, 且所述第一实体的定时器未启动, 则启动所 述定时器, 并发送所述新确认包;
如果未緩存有其他确认包, 所述第一实体的定时器已启动, 且发送序列 号 SendSeq大于确认包发送门限, 则緩存所述新确认包, 并重启所述定时器, 在所述定时器超时之前发送所述新确认包; 和
如果未緩存有其他确认包, 所述第一实体的定时器已启动, 且发送序列 号 SendSeq小于或等于确认包发送门限, 则发送所述新确认包;
其中, 所述 SendSeq为所述第一实体在所述定时器启动后发送的确认包的 总数据量, 所述确认包发送门限为所述第一实体在所述定时器的时长内被允 许发送的确认包的总数据量。
本发明另一方面提供一种确认包的处理方法, 包括:
当到达新确认包时, 第二实体确定是否存在用于緩存和发送所述新确认 包的第一实体, 并做如下处理之一:
如果存在所述第一实体, 将所述确认包发送给所述第一实体;
如果不存在所述第一实体, 已存在的第三实体的个数小于第二门限 m, 且 已緩存有确认包的第三实体的个数不大于第三门限 n, 则建立所述第一实体, 并将所述新确认包发送给所述第一实体;
如果不存在所述第一实体, 已存在的第三实体的个数不小于第二门限 m, 且已緩存有确认包的第三实体的个数不大于第三门限 n, 则删除至少一个未緩 存有确认包的第三实体, 并建立所述第一实体, 将所述新确认包发送给所述 第一实体; 和 如果不存在所述第一实体, 且已緩存有确认包的第三实体的个数大于第 三门限 n, 向服务器发送所述新确认包;
其中, 所述 m为允许建立的用于緩存和发送确认包的实体的个数上限, 所 述 n为允许同时緩存有确认包的第三实体的个数上限。
本发明再一方面提供一种设备, 包括第一接收器、 第一处理器、 存储器、 第一发送器和定时器, 其中:
所述第一接收器用于接收确认包;
所述存储器用于緩存所述第一接收器接收的确认包;
所述第一发送器用于发送所述存储器緩存的确认包;
所述第一处理器用于当新确认包到达所述第一接收器时, 如果确定所述 存储器已緩存有其他确认包, 则触发所述存储器緩存所述新确认包, 并命令 所述第一发送器在发送所述其他确认包之后发送所述新确认包; 或者, 当新 确认包到达所述第一接收器时, 如果确定所述存储器未緩存有其他确认包, 且所述定时器未启动, 则触发所述定时器启动, 并触发所述第一发送器发送 所述新确认包; 或者, 当新确认包到达所述第一接收器时, 如果确定所述存 储器未緩存有其他确认包, 所述定时器已启动, 且发送序列号 SendSeq大于确 认包发送门限, 则触发所述存储器緩存所述新确认包, 触发所述定时器重启, 以及命令所述第一发送器在所述定时器超时之前发送所述新确认包; 或者, 当新确认包到达所述第一接收器时, 如果确定所述存储器未緩存有其他确认 包, 所述定时器已启动, 且发送序列号 SendSeq小于或等于确认包发送门限, 则触发所述第一发送器发送所述新确认包;
其中, 所述 SendSeq为所述定时器启动后发送的确认包的总数据量, 所述 确认包发送门限为在所述定时器的时长内被允许发送的确认包的总数据量。
本发明再一方面还提供一种设备, 包括第二接收器、 第二处理器和第二 发送器, 其中:
所述第二接收器用于接收确认包; 所述第二发送器用去向第一实体发送所述第二接收器接收的确认包, 所 述第一实体用于緩存和发送所述新确认包给服务器;
所述第二处理器用于当新确认包到达所述第二接收器时, 如果确定存在 所述第一实体, 则触发所述第二发送器将所述确认包发送给所述第一实体; 或者, 当新确认包到达所述第二接收器时, 如果确定不存在所述第一实体, 已存在的第三实体的个数小于第二门限 m,且已緩存有确认包的第三实体的个 数不大于第三门限 n, 则建立所述第一实体, 并触发所述第二发送器将所述新 确认包发送给所述第一实体; 或者, 当新确认包到达所述第二接收器时, 如 果确定不存在所述第一实体, 已存在的第三实体的个数不小于第二门限 m, 且 已緩存有确认包的第三实体的个数不大于第三门限 n, 则删除至少一个未緩存 有确认包的第三实体, 建立所述第一实体, 并触发所述第二发送器将所述新 确认包发送给所述第一实体; 或者, 当新确认包到达所述第二接收器时, 如 果确定不存在所述第一实体, 且已緩存有确认包的第三实体的个数大于第三 门限 n, 则触发所述第二发送器向服务器发送所述新确认包;
其中, 所述 m为允许建立的用于緩存和发送确认包的实体的个数上限, 所 述 n为允许同时緩存有确认包的第三实体的个数上限。
与现有技术相比, 本发明实施例通过在基站中设置针对新到达的确认包 进行判断以决定緩存和 /或发送等处理方式的第一实体, 限制一定时间内确认 包的发送数量, 以使确认包能够以平稳的速率发送到达服务器, 避免因确认 包数量突增, 以及由其导致的下行数据包传输不及时和丟包问题, 进而避免 网络吞吐量下降, 并提高网络传输效率。 附图说明
为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例或现有 技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附 图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创 造性劳动的前提下, 还可以根据这些附图获得其它的附图。
图 1为本发明一个实施例提供的确认包的处理方法流程图;
图 2为本发明另一个实施例提供的确认包的处理方法流程图;
图 3为本发明另一个实施例提供的确认包的处理方法流程图;
图 4为本发明另一个实施例提供的确认包的处理方法流程图;
图 5为本发明另一个实施例提供的确认包的处理方法流程图;
图 6为本发明另一个实施例提供的确认包的处理设备结构示意图; 图 7为本发明另一个实施例提供的确认包的处理设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行 清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而 不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其它实施例, 都属于本发明保护的范围。
为使本发明技术方案的优点更加清楚, 下面结合附图和实施例对本发明 作详细说明。
本发明各实施例中的确认包可以为上行确认包, 这里的上行指终端设备 至基站), 或者终端设备至无线网络控制器(Radio Network Controller, 英文 缩写为 RNC ), 或者终端设备至服务器等。
本发明的一个实施例提供一种确认包的处理方法, 如图 1所示, 所述方法 包括如下步骤。
100、 到达新确认包。
101、第一实体确定是否已緩存有其他确认包,如果已緩存有其他确认包, 则执行步骤 102; 否则, 视不同情况执行步骤 103至步骤 105中的一项。
102、 緩存所述新确认包, 并在发送所述其他确认包之后发送所述新确认 包。
103、 如果所述第一实体的定时器未启动, 则启动所述定时器, 并发送所 述新确认包。
104、 如果所述第一实体的定时器已启动, 且发送序列号 SendSeq大于确 认包发送门限, 则緩存所述新确认包, 并重启所述定时器, 在所述定时器超 时之前发送所述新确认包。
105、 如果所述第一实体的定时器已启动, 且发送序列号 SendSeq小于或 等于确认包发送门限, 则发送所述新确认包。
其中, 所述 SendSeq为所述第一实体在所述定时器启动后发送的确认包的 总数据量, 所述确认包发送门限为所述第一实体在所述定时器的时长内被允 许发送的确认包的总数据量。
可选的, 在所述定时器启动或重启时, 所述 SendSeq的取值为 0; 在发送 所述新确认包之后, 所述方法还包括: 更新所述 SendSeq。
例如, 如果已緩存有其他确认包, 则緩存所述新确认包包括: 将所述新 确认包緩存在所述其他确认包之后; 所述在发送所述其他确认包之后发送所 述新确认包包括: 在所述第一实体的定时器超时时, 将缓存中的确认包按队 列顺序逐一发送。
可选的, 在步骤 102之后, 所述方法还包括: 每发送一个确认包, 执行一 次更新所述 Sendseq。
可选的, 在步骤 102之后, 所述方法还包括: 每执行一次更新所述 Sendseq 之后, 确定更新后的 Sendseq是否大于所述确认包发送门限; 如果在发送所述 新确认包之前, 更新后的 Sendseq大于所述确认包发送门限, 则停止发送所述 第一实体中已緩存的确认包, 重启所述定时器, 在所述定时器超时之前发送 所述新确认包。
例如, 更新所述 Sendseq时, 更新后的 SendSeq与更新前的 SendSeq之间的 关系为: 更新后的 SendSeq = 更新前的 SendSeq + Max ( 0 , 第一确认包的确认 包序号 - 第二确认包的确认包序号); 其中, 所述第一确认包和所述第二确认 包为所述第一实体连续发送的前后两个确认包。 进一步的, 在更新所述 SendSeq之后, 所述方法还包括: 更新确认包的确 认包序号; 其中, 更新所述第二确认包的确认包序号时, 如果所述第一确认 包的确认包序号大于所述第二确认包的确认包序号, 或者所述第一确认包的 序号与所述第二确认包的确认包序号的差值小于 -2147483648, 则将所述第一 确认包的确认包序号作为所述第二确认包的确认包序号; 否则, 将所述第一 实体读取到的所述第二确认包的确认包序号作为所述第二确认包的确认包序 号。
其中, 所述确认包发送门限的取值为平均发送字节速度 AvgSendByte与所 述定时器的时长的乘积, 所述 AvgSendByte是根据聚合最大比特速率 AMBR和 最大吞吐率 MaxThroughput确定的, 其中:
当 MaxThroughput为 0时, AvgSendByte =L0.97 x AMBR ÷ 8000」, 其中, |_ J符 号位表示向下取整;
当 MaxThroughput不为 0时,
AvgSendByte
Figure imgf000009_0001
( MaxThroughput, AMBR) x 0.97 ÷ 8000 J , 其中, |_ J符号位表 示向下取整。
其中, 所述定时器的时长为所述第一实体发送确认包的周期, 所述确认 包为不大于 80字节、 且包含确认字符的上行数据包。
进一步的, 当到达新确认包时, 如果不存在用于緩存和发送所述新确认 包的第一实体, 则所述方法还包括: 建立所述第一实体, 所述第一实体位于 基站。
可选的, 本实施例中的第一实体可以是基站, 例如 NodeB、 eNodeB、 HNodeB或 HeNodeB, 也可以是 RNC。
与现有技术相比, 本发明实施例能够在第一实体接收到确认包后, 对确 认包进行处理, 为确认包设置发送周期以及发送数据量门限, 控制每个发送 周期内向服务器发送的确认包的总数据量, 进而控制确认包的数量, 以使确 认包能够以平稳的速率发送到达服务器, 避免因确认包数量突增, 以及由其 导致的下行数据包传输不及时和丟包问题, 进而避免网络吞吐量下降, 并提 高网络传输效率。 本发明的另一个实施例提供一种确认包的处理方法, 如图 2所示, 所述方 法包括如下步骤。
200、 到达新确认包。
201、 第二实体确定是否存在用于緩存和发送所述新确认包的第一实体, , 如果存在所述第一实体, 则执行步骤 202; 否则, 视不同情况执行步骤 203至 步骤 205中的一项。
202、 将所述确认包发送给所述第一实体。
203、 如果不存在所述第一实体, 已存在的第三实体的个数小于第二门限 m, 且已緩存有确认包的第三实体的个数不大于第三门限 n, 则建立所述第一 实体, 并将所述新确认包发送给所述第一实体。
204、 如果不存在所述第一实体, 已存在的第三实体的个数不小于第二门 限 m, 且已緩存有确认包的第三实体的个数不大于第三门限 n, 则删除至少一 个未緩存有确认包的第三实体, 并建立所述第一实体, 将所述新确认包发送 给所述第一实体。
205、 如果不存在所述第一实体, 且已緩存有确认包的第三实体的个数 大于第三门限 n, 向服务器发送所述新确认包。
其中, 所述 m为允许建立的用于緩存和发送确认包的实体的个数上限, 所 述 n为允许同时緩存有确认包的第三实体的个数上限。
可选的, 本实施例中的第一实体可以是基站, 例如 NodeB、 eNodeB、 HNodeB或 HeNodeB, 也可以是 RNC。
与现有技术相比, 本发明实施例能够在有新确认包到达第二实体时, 第 二实体为所述新确认包设置针对新到达的确认包进行判断以决定緩存和 /或发 送等处理方式的第一实体, 通过第一实体对确认包进行处理, 以使确认包能 够以平稳的速率发送到达服务器, 避免因确认包数量突增, 以及由其导致的 下行数据包传输不及时和丟包问题, 进而避免网络吞吐量下降, 并提高网络 传输效率。 本发明的另一个实施例提供一种确认包的处理方法, 该实施例的细节可 视为前两个实施例的举例。 如图 3所示, 所述方法包括如下步骤:
301、 当到达新确认包时, 第二实体确定是否存在用于緩存和发送所述新 确认包的第一实体,如果不存在第一实体,执行步骤 302; 如果存在第一实体, 执行步骤 303。
其中, 确认包应满足三个条件: 数据包的方向为上行; 数据包的大小不 大于 80字节; 数据包包含确认字符 (Acknowledgement, 英文缩写为 ACK )。
所述第一实体为基站中处理确认包的操作单元, 实体在被建立时带有源 IP、目的 IP、源端口号、目的端口号、定时器、确认包序号和发送序列号 SendSeq 等参数。 其中, LastSeq表示前面一个被发送的确认包的序号, SendSeq为所述 第一实体在所述定时器启动后发送的确认包的总数据量, 初始化时, 确认包 序号和 SendSeq均为 0。
302、 第二实体为新确认包建立对应的第一实体。
可选的, 所述方法还包括: 如果不存在所述第一实体, 已存在的第三实 体的个数小于第二门限 m,且已緩存有确认包的第三实体的个数不大于第三门 限 n, 则建立所述第一实体, 并将所述新确认包发送给所述第一实体;
如果不存在所述第一实体, 已存在的第三实体的个数不小于第二门限 m, 且已緩存有确认包的第三实体的个数不大于第三门限 n, 则删除至少一个未緩 存有确认包的第三实体, 并建立所述第一实体, 将所述新确认包发送给所述 第一实体。
可选的, 所述方法还包括: 如果不存在所述第一实体, 且已緩存有确认 包的第三实体的个数大于第三门限 n, 向服务器发送所述新确认包; 其中, 所述 m为允许建立的用于緩存和发送确认包的实体的个数上限, 所 述 n为允许同时緩存有确认包的第三实体的个数上限。
303、 第二实体将新确认包发送给第一实体。
304、 当新确认包到达时, 如果第一实体已緩存有其他确认包, 则将新确 认包緩存在其他确认包之后。
305、 第一实体判断定时器是否超时, 如果定时器超时, 执行步骤 307; 如果定时器未超时, 执行步骤 306。
其中, 所述定时器的时长为所述第一实体发送确认包的周期。
306、 第一实体按照队列顺序和发送间隔向服务器发送确认包, 每发送一 个确认包, 执行一次更新所述 Sendseq, 当更新后的 Sendseq大于确认包发送门 限后, 停止发送确认包, 执行步骤 308。
其中, SendSeq为所述第一实体在定时器启动后发送的确认包的总数据 量, 所述确认包发送门限为所述第一实体在所述定时器的时长内被允许发送 的确认包的总数据量, 确认包发送门限的取值为平均发送字节速度 AvgSendByte与所述定时器的时长的乘积, 所述 AvgSendByte是根据聚合最大 比特速率 AMBR和最大吞吐率 MaxThroughput确定的 , 其中:
当 MaxThroughput为 0时, AvgSendByte
Figure imgf000012_0001
AMBR ÷ 8000」, 其中, |_ J符 号位表示向下取整;
当 MaxThroughput不为 0时,
AvgSendByte
Figure imgf000012_0002
( MaxThroughput , AMBR) χ 0.97 ÷ 8000 J , 其中, |J符号位表 示向下取整。
具体的, 更新所述 Sendseq时, 更新后的 SendSeq与更新前的 SendSeq之间 的关系为:
更新后的 SendSeq = 更新前的 SendSeq + Max ( 0 , 第一确认包的确认包序 号 - 第二确认包的确认包序号); 其中,所述第一确认包和所述第二确认包为 所述第一实体连续发送的前后两个确认包。 可选的, 在更新所述 SendSeq之后, 还要相应更新确认包的确认包序号; 其中, 更新所述第二确认包的确认包序号时, 如果所述第一确认包的确认包 序号大于所述第二确认包的确认包序号, 或者所述第一确认包的序号与所述 第二确认包的确认包序号的差值小于 -2147483648 , 则将所述第一确认包的确 认包序号作为所述第二确认包的确认包序号; 否则, 将所述第一实体读取到 的所述第二确认包的确认包序号作为所述第二确认包的确认包序号。
307、 第一实体将緩存中的确认包按队列顺序逐一发送给服务器, 每发送 一个确认包, 执行一次更新所述 Sendseq, 直至更新后的 Sendseq大于确认包发 送门限, 停止发送确认包。
308、 第一实体重启所述定时器, 在下一个发送周期发送新确认包。 需要说明的是, 本实施例中的第一实体、 第二实体和第三实体可以均位 于基站。
与现有技术相比, 本发明实施例中当有新确认包到达时, 第二实体查找 或建立第一实体, 将所述新确认包发送给第一实体, 第一实体将所述确认包 緩存在其他确认包之后进行发送, 同时为确认包设置发送周期以及发送数据 量门限, 控制每个发送周期内向服务器发送的确认包的总数据量, 进而控制 确认包的数量, 以使确认包能够以平稳的速率发送到达服务器, 避免因确认 包数量突增, 以及由其导致的下行数据包传输不及时和丟包问题, 进而避免 网络吞吐量下降, 并提高网络传输效率。 本发明的另一个实施例提供一种确认包的处理方法, 该实施例与上一实 施例相比区别在于, 当有新确认包到达第一实体时, 第一实体没有緩存其他 确认包, 并且未启动定时器, 如图 4所示, 所述方法包括如下步骤:
401、 第二实体将新确认包发送给第一实体。
其中, 第一实体的查找与建立过程参照上一实施例的步骤 301-步骤 302。
402、 当新确认包到达时, 如果第一实体未緩存有其他确认包, 且第一实 体的定时器未启动, 则向服务器发送新确认包, 并更新发送序列号 SendSeq。 其中, 所述定时器的时长为所述第一实体发送确认包的周期, 所述 SendSeq为所述第一实体在所述定时器启动后发送的确认包的总数据量。 具体 的, 更新所述 Sendseq时, 更新后的 SendSeq与更新前的 SendSeq之间的关系为: 更新后的 SendSeq = 更新前的 SendSeq + Max ( 0 , 第一确认包的确认包序 号 - 第二确认包的确认包序号); 其中,所述第一确认包和所述第二确认包为 所述第一实体连续发送的前后两个确认包。
可选的, 在更新所述 SendSeq之后, 还要相应更新确认包的确认包序号; 其中, 更新所述第二确认包的确认包序号时, 如果所述第一确认包的确认包 序号大于所述第二确认包的确认包序号, 或者所述第一确认包的序号与所述 第二确认包的确认包序号的差值小于 -2147483648 , 则将所述第一确认包的确 认包序号作为所述第二确认包的确认包序号; 否则, 将所述第一实体读取到 的所述第二确认包的确认包序号作为所述第二确认包的确认包序号。
需要说明的是, 本实施例中的第一实体、 第二实体和第三实体可以均位 于基站。
与现有技术相比, 本发明实施例中当有新确认包到达时, 第二实体查找 或建立第一实体, 将所述新确认包发送给第一实体, 第一实体在没有緩存其 他确认包且没有启动定时器时, 为所述新确认包启动定时器, 并将所述新确 认包发送给服务器, 同时为确认包设置发送周期以及发送数据量门限, 控制 每个发送周期内向服务器发送的确认包的总数据量, 进而控制确认包的数量, 以使确认包能够以平稳的速率发送到达服务器, 避免因确认包数量突增, 以 及由其导致的下行数据包传输不及时和丟包问题, 进而避免网络吞吐量下降, 并提高网络传输效率。 本发明的另一个实施例提供一种确认包的处理方法, 该实施例与前两个 实施例相比区别在于, 当有新确认包到达第一实体时, 第一实体没有緩存其 他确认包, 并且定时器已启动, 如图 5所示, 所述方法包括如下步骤:
501、 第二实体将新确认包发送给第一实体。
其中,第一实体的查找与建立过程参照第三个实施例的步骤 301-步骤 302。
502、 当新确认包到达时, 如果第一实体未緩存有其他确认包, 且第一实 体的定时器已启动, 第一实体确定发送序列号 SendSeq是否大于确认包发送门 限, 如果 SendSeq大于确认包发送门限, 执行步骤 506; 如果 SendSeq不大于确 认包发送门限, 执行步骤 505。
其中, 所述 SendSeq为所述第一实体在所述定时器启动后发送的确认包的 总数据量, 所述确认包发送门限为所述第一实体在所述定时器的时长内被允 许发送的确认包的总数据量, 所述定时器的时长为所述第一实体发送确认包 的周期。
例如, 所述确认包发送门限的取值为平均发送字节速度 AvgSendByte与所 述定时器的时长的乘积: 所述 AvgSendByte是根据聚合最大比特速率 AMBR和 最大吞吐率 MaxThroughput确定的, 其中:
当 MaxThroughput为 0时, AvgSendByte
Figure imgf000015_0001
AMBR ÷ 8000」, 其中, |_ J符 号位表示向下取整;
当 MaxThroughput不为 0时,
AvgSendByte
Figure imgf000015_0002
( MaxThroughput , AMBR) χ 0.97 ÷ 8000 J , 其中, |J符号位表 示向下取整。
503、 第一实体向服务器发送新确认包, 并更新发送序列号 SendSeq。 可选的,如果更新后的 SendSeq大于发送门限,则停止发送后续的确认包。 例如, 更新后的 SendSeq = 更新前的 SendSeq + Max ( 0 , 第一确认包的确 认包序号 - 第二确认包的确认包序号); 其中, 所述第一确认包和所述第二确 认包为所述第一实体连续发送的前后两个确认包。
可选的, 在更新所述 SendSeq之后, 还要相应更新确认包的确认包序号; 其中, 更新所述第二确认包的确认包序号时, 如果所述第一确认包的确认包 序号大于所述第二确认包的确认包序号, 或者所述第一确认包的序号与所述 第二确认包的确认包序号的差值小于 -2147483648 , 则将所述第一确认包的确 认包序号作为所述第二确认包的确认包序号; 否则, 将所述第一实体读取到 的所述第二确认包的确认包序号作为所述第二确认包的确认包序号。
504、 第一实体緩存所述新确认包, 并重启所述定时器, 在所述定时器超 时之前发送所述新确认包。
需要说明的是, 本实施例中的第一实体、 第二实体和第三实体可以均位 于基站。
与现有技术相比, 本发明实施例中当有新确认包到达时, 第二实体查找 或建立第一实体, 将所述新确认包发送给第一实体, 第一实体在没有緩存其 他确认包并且已经启动定时器后, 确定当前的发送序列号 Sendseq是否超过了 数据量门限, 如果没有超过门限则直接发送新确认包, 如果超过门限则重启 定时器, 在下一个发送周期发送新确认包。 通过控制每个发送周期内向服务 器发送的确认包的总数据量, 进而控制确认包的数量, 以使确认包能够以平 稳的速率发送到达服务器, 避免因确认包数量突增, 以及由其导致的下行数 据包传输不及时和丟包问题, 进而避免网络吞吐量下降, 并提高网络传输效 率。 例说明。 为描述方便, 下述举例涉及的可选描述和细节描述等未作详细说明, 可参照上述方法实施例中的举例。 本发明的另一个实施例提供一种确认包的处理设备, 如图 6所示, 所述设 备包括第一接收器 61、 第一处理器 62、 存储器 63、 第一发送器 64和定时器 65 , 其巾:
所述第一接收器 61用于接收确认包;
所述存储器 63用于緩存所述第一接收器 61接收的确认包; 所述第一发送器 64用于发送所述存储器 63緩存的确认包;
所述第一处理器 62用于当新确认包到达所述第一接收器 61时, 如果确定 所述存储器 63已緩存有其他确认包, 则触发所述存储器 63緩存所述新确认包, 者, 当新确认包到达所述第一接收器 61时, 如果确定所述存储器 63未緩存有 其他确认包, 且所述定时器 65未启动, 则触发所述定时器 65启动, 并触发所 述第一发送器 64发送所述新确认包; 或者, 当新确认包到达所述第一接收器 61时, 如果确定所述存储器 63未緩存有其他确认包, 所述定时器 65已启动, 且发送序列号 SendSeq大于确认包发送门限, 则触发所述存储器 63緩存所述新 确认包, 触发所述定时器 65重启, 以及命令所述第一发送器 64在所述定时器 65超时之前发送所述新确认包; 或者, 当新确认包到达所述第一接收器 61时, 如果确定所述存储器 63未緩存有其他确认包, 所述定时器 65已启动, 且发送 序列号 SendSeq小于或等于确认包发送门限, 则触发所述第一发送器 64发送所 述新确认包;
其中, 所述 SendSeq为所述定时器 65启动后发送的确认包的总数据量, 所 述确认包发送门限为在所述定时器 65的时长内被允许发送的确认包的总数据 量。
可选的, 所述第一处理器 62还用于: 在所述第一发送器 64发送所述新确 认包之后, 更新所述 SendSeq。
例如, 所述存储器 63具体用于: 将所述新确认包緩存在所述其他确认包 之后; 所述第一发送器 64具体用于: 在所述定时器 65超时时, 将所述存储器 63中緩存的确认包按队列顺序逐一发送。
可选的, 所述第一处理器 62还用于: 在所述第一发送器 64发送每发送一 个确认包之后, 执行一次更新所述 Sendseq。
可选的, 所述第一处理器 62还用于: 每执行一次更新所述 Sendseq之后, 确定更新后的 Sendseq是否大于所述确认包发送门限; 当所述第一发送器 64发 送所述新确认包之前, 所述第一处理器 62更新后的 Sendseq大于所述确认包发 送门限时, 触发所述第一发送器 64停止发送所述第一实体中已緩存的确认包, 触发所述定时器 65重启, 并命令所述第一发送器 64在所述定时器 65超时之前, 发送所述新确认包。
可选的, 所述第一处理器 62还用于: 更新确认包的确认包序号; 其中, 更新所述第二确认包的确认包序号时, 如果所述第一确认包的确认包序号大 于所述第二确认包的确认包序号, 或者所述第一确认包的序号与所述第二确 认包的确认包序号的差值小于 -2147483648 , 则将所述第一确认包的确认包序 号作为所述第二确认包的确认包序号; 否则, 将所述第一实体读取到的所述 第二确认包的确认包序号作为所述第二确认包的确认包序号。
其中, 所述定时器 65的时长为发送确认包的周期。
需要说明的是, 本实施例中的设备可以是基站, 例如 NodeB、 eNodeB、 HNodeB或 HeNodeB, 也可以是 RNC。
与现有技术相比, 本发明实施例能够在第一实体接收到确认包后, 对确 认包进行处理, 为确认包设置发送周期以及发送数据量门限, 控制每个发送 周期内向服务器发送的确认包的总数据量, 进而控制确认包的数量, 以使确 认包能够以平稳的速率发送到达服务器, 避免因确认包数量突增, 以及由其 导致的下行数据包传输不及时和丟包问题, 进而避免网络吞吐量下降, 并提 高网络传输效率。 本发明的另一个实施例提供一种确认包的处理设备, 如图 7所示, 所述设 备包括第二接收器 71、 第二处理器 72和第二发送器 73 , 其中:
所述第二接收器 71用于接收确认包;
所述第二发送器 73用去向第一实体发送所述第二接收器 71接收的确认 包, 所述第一实体用于緩存和发送所述新确认包给服务器;
所述第二处理器 72用于当新确认包到达所述第二接收器 71时, 如果确定 存在所述第一实体, 则触发所述第二发送器 73将所述确认包发送给所述第一 实体; 或者, 当新确认包到达所述第二接收器 71时, 如果确定不存在所述第 一实体, 已存在的第三实体的个数小于第二门限 m, 且已緩存有确认包的第三 实体的个数不大于第三门限 n, 则建立所述第一实体, 并触发所述第二发送器 73将所述新确认包发送给所述第一实体; 或者, 当新确认包到达所述第二接 收器 71时, 如果确定不存在所述第一实体, 已存在的第三实体的个数不小于 第二门限 m, 且已緩存有确认包的第三实体的个数不大于第三门限 n, 则删除 至少一个未緩存有确认包的第三实体, 建立所述第一实体, 并触发所述第二 发送器 73将所述新确认包发送给所述第一实体; 或者, 当新确认包到达所述 第二接收器 71时, 如果确定不存在所述第一实体, 且已緩存有确认包的第三 实体的个数大于第三门限 n, 则触发所述第二发送器 73向服务器发送所述新确 认包;
其中, 所述 m为允许建立的用于緩存和发送确认包的实体的个数上限, 所 述 n为允许同时緩存有确认包的第三实体的个数上限。
需要说明的是, 本实施例中的设备可以是基站, 例如 NodeB、 eNodeB、 HNodeB或 HeNodeB, 也可以是 RNC。
与现有技术相比, 本发明实施例能够在有新确认包到达第二实体时, 第 二实体为所述新确认包设置针对新到达的确认包进行判断以决定緩存和 /或发 送等处理方式的第一实体, 通过第一实体对确认包进行处理, 以使确认包能 够以平稳的速率发送到达服务器, 避免因确认包数量突增, 以及由其导致的 下行数据包传输不及时和丟包问题, 进而避免网络吞吐量下降, 并提高网络 传输效率。 例, 具体功能实现请参见方法实施例中的说明, 在此不再赘述。 本发明实施 例提供的确认包的处理方法及设备可以适用于 TCP传输业务中的数据传输,但 不仅限于此。 本发明实施例还提供一种系统,可以包括上述如图 6所示的设备和 /或如图 7所示的设备。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流 程, 是可以通过计算机程序来指令相关的硬件来完成, 所述的程序可存储于 一计算机可读取存储介质中, 该程序在执行时, 可包括如上述各方法的实施 例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体( Read-Only Memory, ROM )或随机存^ ^己忆体 ( Random Access Memory, RAM )等。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易 想到的变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保 护范围应该以权利要求的保护范围为准。

Claims

权利要求 书
1、 一种确认包的处理方法, 其特征在于, 包括:
当到达新确认包时, 第一实体确定是否已緩存有其他确认包, 并做如下处 理之一:
如果已緩存有其他确认包, 则緩存所述新确认包, 并在发送所述其他确认 包之后发送所述新确认包;
如果未緩存有其他确认包, 且所述第一实体的定时器未启动, 则启动所述 定时器, 并发送所述新确认包;
如果未緩存有其他确认包, 所述第一实体的定时器已启动, 且发送序列号
SendSeq大于确认包发送门限, 则緩存所述新确认包, 并重启所述定时器, 在所 述定时器超时之前发送所述新确认包; 和
如果未緩存有其他确认包, 所述第一实体的定时器已启动, 且发送序列号 SendSeq小于或等于确认包发送门限, 则发送所述新确认包;
其中, 所述 SendSeq为所述第一实体在所述定时器启动后发送的确认包的总 数据量, 所述确认包发送门限为所述第一实体在所述定时器的时长内被允许发 送的确认包的总数据量。
2、 根据权利要求 1所述的方法, 其特征在于, 在所述定时器启动或重启时, 所述 SendSeq的取值为 0; 在发送所述新确认包之后, 所述方法还包括: 更新所 述 SendSeq。
3、 根据权利要求 1所述的方法, 其特征在于,
如果已緩存有其他确认包, 则緩存所述新确认包包括: 将所述新确认包緩 存在所述其他确认包之后; 的定时器超时时, 将緩存中的确认包按队列顺序逐一发送。
4、 根据权利要求 3所述的方法, 其特征在于, 所述方法还包括: 每发送一 个确认包, 执行一次更新所述 Sendseq。
5、 根据权利要求 3所述的方法, 其特征在于, 所述方法还包括: 每执行一 次更新所述 Sendseq之后, 确定更新后的 Sendseq是否大于所述确认包发送门限; 如果在发送所述新确认包之前,更新后的 Sendseq大于所述确认包发送门限, 则停止发送所述第一实体中已緩存的确认包, 重启所述定时器, 在所述定时器 超时之前发送所述新确认包。
6、 根据权利要求 2或 4或 5所述的方法, 其特征在于, 所述更新所述 Sendseq 时, 更新后的 SendSeq与更新前的 SendSeq之间的关系为:
更新后的 SendSeq = 更新前的 SendSeq + Max ( 0, 第一确认包的确认包序号 - 第二确认包的确认包序号); 其中, 所述第一确认包和所述第二确认包为所述 第一实体连续发送的前后两个确认包。
7、 根据权利要求 6所述的方法, 其特征在于, 在更新所述 SendSeq之后, 所 述方法还包括: 更新确认包的确认包序号; 其中, 更新所述第二确认包的确认 包序号时, 如果所述第一确认包的确认包序号大于所述第二确认包的确认包序 号, 或者所述第一确认包的序号与所述第二确认包的确认包序号的差值小于 -2147483648, 则将所述第一确认包的确认包序号作为所述第二确认包的确认包 序号; 否则, 将所述第一实体读取到的所述第二确认包的确认包序号作为所述 第二确认包的确认包序号。
8、 根据权利要求 1至 7任一项所述的方法, 其特征在于, 所述确认包发送门 限的取值为平均发送字节速度 AvgSendByte与所述定时器的时长的乘积。
9、 根据权利要求 8所述的方法, 其特征在于, 所述 AvgSendByte是根据聚合 最大比特速率 AMBR和最大吞吐率 MaxThroughput确定的 , 其中:
当 MaxThroughput为 0时, AvgSendByte =j_0.97 x AMBR ÷ 8000 J , 其中, U符号 位表示向下取整;
当 MaxThroughput不为 0时,
AvgSendByte =Lmin (MaxThroughput , AMBR) X 0.97 ÷ 8000」, 其中, |J符号位表示 向下取整。
10、 根据权利要求 1-9任一项所述的方法, 其特征在于, 所述定时器的时长 为所述第一实体发送确认包的周期。
11、 根据权利要求 1-10任一项所述的方法, 其特征在于, 所述确认包为不大 于 80字节、 且包含确认字符的上行数据包。
12、根据权利要求 1-11任一项所述的方法,其特征在于, 当到达新确认包时, 如果不存在用于緩存和发送所述新确认包的第一实体, 则所述方法还包括: 建立所述第一实体。
13、根据权利要求 1-12任一项所述的方法, 其特征在于, 所述第一实体位于 基站。
14、 一种确认包的处理方法, 其特征在于, 包括:
当到达新确认包时, 第二实体确定是否存在用于緩存和发送所述新确认包 的第一实体, 并做如下处理之一:
如果存在所述第一实体, 将所述确认包发送给所述第一实体;
如果不存在所述第一实体, 已存在的第三实体的个数小于第二门限 m, 且已 緩存有确认包的第三实体的个数不大于第三门限 n, 则建立所述第一实体, 并将 所述新确认包发送给所述第一实体;
如果不存在所述第一实体, 已存在的第三实体的个数不小于第二门限 m, 且 已緩存有确认包的第三实体的个数不大于第三门限 n, 则删除至少一个未緩存有 确认包的第三实体, 并建立所述第一实体, 将所述新确认包发送给所述第一实 体; 和
如果不存在所述第一实体, 且已緩存有确认包的第三实体的个数大于第三 门限 n, 向服务器发送所述新确认包;
其中, 所述 m为允许建立的用于緩存和发送确认包的实体的个数上限, 所述 n为允许同时緩存有确认包的第三实体的个数上限。
15、 一种设备, 其特征在于, 包括第一接收器、 第一处理器、 存储器、 第 一发送器和定时器, 其中:
所述第一接收器用于接收确认包;
所述存储器用于緩存所述第一接收器接收的确认包;
所述第一发送器用于发送所述存储器緩存的确认包;
所述第一处理器用于当新确认包到达所述第一接收器时, 如果确定所述存 储器已緩存有其他确认包, 则触发所述存储器緩存所述新确认包, 并命令所述 第一发送器在发送所述其他确认包之后发送所述新确认包; 或者, 当新确认包 到达所述第一接收器时, 如果确定所述存储器未緩存有其他确认包, 且所述定 时器未启动, 则触发所述定时器启动, 并触发所述第一发送器发送所述新确认 包; 或者, 当新确认包到达所述第一接收器时, 如果确定所述存储器未緩存有 其他确认包, 所述定时器已启动, 且发送序列号 SendSeq大于确认包发送门限, 则触发所述存储器緩存所述新确认包, 触发所述定时器重启, 以及命令所述第 一发送器在所述定时器超时之前发送所述新确认包; 或者, 当新确认包到达所 述第一接收器时, 如果确定所述存储器未緩存有其他确认包, 所述定时器已启 动, 且发送序列号 SendSeq小于或等于确认包发送门限, 则触发所述第一发送器 发送所述新确认包;
其中, 所述 SendSeq为所述定时器启动后发送的确认包的总数据量, 所述确 认包发送门限为在所述定时器的时长内被允许发送的确认包的总数据量。
16、 根据权利要求 15所述的设备, 其特征在于, 所述第一处理器还用于: 在所述第一发送器发送所述新确认包之后, 更新所述 SendSeq。
17、 根据权利要求 15所述的设备, 其特征在于, 所述存储器具体用于: 将 所述新确认包緩存在所述其他确认包之后;
所述第一发送器具体用于: 在所述定时器超时时, 将所述存储器中緩存的 确认包按队列顺序逐一发送。
18、 根据权利要求 17所述的设备, 其特征在于, 所述第一处理器还用于: 在所述第一发送器发送每发送一个确认包之后, 执行一次更新所述 Sendseq。
19、 根据权利要求 17所述的设备, 其特征在于, 所述第一处理器还用于: 每执行一次更新所述 Sendseq之后,确定更新后的 Sendseq是否大于所述确认 包发送门限;
当所述第一发送器发送所述新确认包之前, 所述第一处理器更新后的 Sendseq大于所述确认包发送门限时, 触发所述第一发送器停止发送所述第一实 体中已緩存的确认包, 触发所述定时器重启, 并命令所述第一发送器在所述定 时器超时之前, 发送所述新确认包。
20、 根据权利要求 19所述的设备, 其特征在于, 所述第一处理器还用于: 更新确认包的确认包序号; 其中, 更新所述第二确认包的确认包序号时, 如果 所述第一确认包的确认包序号大于所述第二确认包的确认包序号, 或者所述第 一确认包的序号与所述第二确认包的确认包序号的差值小于 -2147483648, 则将 所述第一确认包的确认包序号作为所述第二确认包的确认包序号; 否则, 将所 述第一实体读取到的所述第二确认包的确认包序号作为所述第二确认包的确认 包序号。
21、 根据权利要求 15至 20任一项所述的设备, 其特征在于, 所述定时器的 时长为发送确认包的周期。
22、 根据权利要求 15至 21任一项所述的设备, 其特征在于, 所述设备为基 站。
23、 一种系统, 其特征在于, 包括如权利要求 15至 22中任一项所述的设备。
24、 一种设备, 其特征在于, 包括第二接收器、 第二处理器和第二发送器, 其巾:
所述第二接收器用于接收确认包;
所述第二发送器用去向第一实体发送所述第二接收器接收的确认包, 所述 第一实体用于緩存和发送所述新确认包给服务器;
所述第二处理器用于当新确认包到达所述第二接收器时, 如果确定存在所 述第一实体, 则触发所述第二发送器将所述确认包发送给所述第一实体; 或者, 当新确认包到达所述第二接收器时, 如果确定不存在所述第一实体, 已存在的 第三实体的个数小于第二门限 m,且已緩存有确认包的第三实体的个数不大于第 三门限 n, 则建立所述第一实体, 并触发所述第二发送器将所述新确认包发送给 所述第一实体; 或者, 当新确认包到达所述第二接收器时, 如果确定不存在所 述第一实体, 已存在的第三实体的个数不小于第二门限 m, 且已緩存有确认包的 第三实体的个数不大于第三门限 n, 则删除至少一个未緩存有确认包的第三实 体, 建立所述第一实体, 并触发所述第二发送器将所述新确认包发送给所述第 一实体; 或者, 当新确认包到达所述第二接收器时, 如果确定不存在所述第一 实体, 且已緩存有确认包的第三实体的个数大于第三门限 n, 则触发所述第二发 送器向服务器发送所述新确认包;
其中, 所述 m为允许建立的用于緩存和发送确认包的实体的个数上限, 所述 n为允许同时緩存有确认包的第三实体的个数上限。
25、 一种系统, 其特征在于, 包括如权利要求 24所述的设备。
PCT/CN2012/072726 2012-03-21 2012-03-21 确认包的处理方法、设备及系统 WO2013139010A1 (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
PCT/CN2012/072726 WO2013139010A1 (zh) 2012-03-21 2012-03-21 确认包的处理方法、设备及系统
CN201280000502.3A CN103548297A (zh) 2012-03-21 2012-03-21 确认包的处理方法、设备及系统
CN201280070272.8A CN104137495B (zh) 2012-03-21 2012-12-28 确认包的处理方法、设备及系统
KR1020147029217A KR101607583B1 (ko) 2012-03-21 2012-12-28 수신확인 패킷 처리 방법, 장치 및 시스템
PCT/CN2012/087791 WO2013139165A1 (zh) 2012-03-21 2012-12-28 确认包的处理方法、设备及系统
JP2015500748A JP5928764B2 (ja) 2012-03-21 2012-12-28 肯定応答パケットを処理するための方法、装置、およびシステム
EP12871880.6A EP2819360B1 (en) 2012-03-21 2012-12-28 Acknowledgement packet processing method, device and system
US14/491,744 US9602410B2 (en) 2012-03-21 2014-09-19 Method, device, and system for processing acknowledgement packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/072726 WO2013139010A1 (zh) 2012-03-21 2012-03-21 确认包的处理方法、设备及系统

Publications (1)

Publication Number Publication Date
WO2013139010A1 true WO2013139010A1 (zh) 2013-09-26

Family

ID=49221810

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/CN2012/072726 WO2013139010A1 (zh) 2012-03-21 2012-03-21 确认包的处理方法、设备及系统
PCT/CN2012/087791 WO2013139165A1 (zh) 2012-03-21 2012-12-28 确认包的处理方法、设备及系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/087791 WO2013139165A1 (zh) 2012-03-21 2012-12-28 确认包的处理方法、设备及系统

Country Status (6)

Country Link
US (1) US9602410B2 (zh)
EP (1) EP2819360B1 (zh)
JP (1) JP5928764B2 (zh)
KR (1) KR101607583B1 (zh)
CN (2) CN103548297A (zh)
WO (2) WO2013139010A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9660719B2 (en) * 2014-11-17 2017-05-23 Honeywell International Inc. Minimizing propagation times of queued-up datalink TPDUs
US9998360B2 (en) 2014-11-17 2018-06-12 Honeywell International Inc. Minimizining message propagation times when brief datalink interruptions occur
GB2544321A (en) * 2015-11-12 2017-05-17 Vodafone Ip Licensing Ltd Router and message handler for providing scalable receipts of control messages
CN106411774A (zh) * 2016-09-06 2017-02-15 联动优势科技有限公司 一种控制交易数据量的方法和装置
DE112018001985T5 (de) * 2017-04-12 2019-12-19 Sumitomo Electric Industries, Ltd. Relais-Einrichtung, Transferverfahren und Computerprogramm
CN108307426A (zh) * 2017-12-19 2018-07-20 上海华为技术有限公司 一种基于无线tcp的资源调度方法和装置
CN108777607B (zh) * 2018-04-23 2021-08-31 上海华为技术有限公司 一种拦截确认包的方法以及接入网设备
CN108391289B (zh) * 2018-05-31 2021-05-18 京信通信系统(中国)有限公司 一种拥塞控制方法和基站
CN111726379B (zh) * 2019-03-20 2021-11-19 华为技术有限公司 一种通信方法及装置
CN113965307A (zh) * 2020-07-20 2022-01-21 广州汽车集团股份有限公司 一种基于仲裁线的全双工spi通信方法
CN113852445B (zh) * 2021-08-27 2023-06-16 山东云海国创云计算装备产业创新中心有限公司 一种提高数据传输可靠性的方法、系统、设备和存储介质
CN116261848A (zh) * 2021-09-02 2023-06-13 苹果公司 用于新无线电的无线电链路控制累积模式

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1833422A (zh) * 2003-06-09 2006-09-13 松下电器产业株式会社 分组通信装置
US20090190604A1 (en) * 2008-01-28 2009-07-30 Broadcom Corporation Method and System for Dynamically Adjusting Acknowledgement Filtering for High-Latency Environments
CN101552657A (zh) * 2008-04-04 2009-10-07 索尼株式会社 发送设备、发送方法和程序

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2853701B2 (ja) * 1997-03-18 1999-02-03 日本電気株式会社 Atm網における端末間フロー制御方法
US6252851B1 (en) * 1997-03-27 2001-06-26 Massachusetts Institute Of Technology Method for regulating TCP flow over heterogeneous networks
US6215769B1 (en) * 1998-10-07 2001-04-10 Nokia Telecommunications, Inc. Enhanced acknowledgment pacing device and method for TCP connections
US6438108B1 (en) * 1999-03-11 2002-08-20 Telefonaktiebolaget L M Ericsson (Publ) System for improved transmission of acknowledgements within a packet data network
US6424626B1 (en) * 1999-10-29 2002-07-23 Hubbell Incorporated Method and system for discarding and regenerating acknowledgment packets in ADSL communications
US7000021B1 (en) * 2001-10-12 2006-02-14 Cisco Technology, Inc. ARQ (automatic repeat request) for broadband fixed wireless network
KR100419280B1 (ko) * 2001-10-26 2004-02-18 한국전자통신연구원 무선 링크의 상태에 따른 스누프 프로토콜의 간접 승인방법 및 이 방법을 수행하는 유무선 통합 망의 패킷 전송장치
CN1175624C (zh) 2001-11-01 2004-11-10 智邦科技股份有限公司 应用后确认控制进行tcp通信量的带宽管理装置及方法
JP4283589B2 (ja) * 2003-03-25 2009-06-24 株式会社エヌ・ティ・ティ・ドコモ 通信装置、通信制御方法及びプログラム
WO2005006673A1 (ja) * 2003-07-15 2005-01-20 Fujitsu Limited 帯域制御装置
US20070008884A1 (en) * 2003-10-08 2007-01-11 Bob Tang Immediate ready implementation of virtually congestion free guarantedd service capable network
US7639656B2 (en) 2004-04-28 2009-12-29 Symbol Technologies, Inc. Protocol for communication between access ports and wireless switches
CN1989721A (zh) * 2004-06-16 2007-06-27 高通股份有限公司 用于无线通信中的链路控制的方法和设备
WO2006027672A2 (en) * 2004-09-10 2006-03-16 Nortel Networks System and method for adaptive frame size management in a wireless multihop network
CN1838583A (zh) * 2005-03-25 2006-09-27 松下电器产业株式会社 多入多出通信系统中执行数据重传的方法和设备
US20070291782A1 (en) * 2006-06-14 2007-12-20 Claude Basso Acknowledgement filtering
US7782901B2 (en) 2007-01-09 2010-08-24 Alcatel-Lucent Usa Inc. Traffic load control in a telecommunications network
JP5185735B2 (ja) * 2008-08-28 2013-04-17 京セラ株式会社 無線通信装置および無線通信方法
CN101925195A (zh) * 2009-06-17 2010-12-22 中兴通讯股份有限公司 基于rlc协议确认模式中确认信息的处理方法及系统
JP2011193046A (ja) * 2010-03-11 2011-09-29 Mitsubishi Electric Corp 無線通信装置および優先制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1833422A (zh) * 2003-06-09 2006-09-13 松下电器产业株式会社 分组通信装置
US20090190604A1 (en) * 2008-01-28 2009-07-30 Broadcom Corporation Method and System for Dynamically Adjusting Acknowledgement Filtering for High-Latency Environments
CN101552657A (zh) * 2008-04-04 2009-10-07 索尼株式会社 发送设备、发送方法和程序

Also Published As

Publication number Publication date
JP2015512572A (ja) 2015-04-27
US9602410B2 (en) 2017-03-21
WO2013139165A1 (zh) 2013-09-26
CN104137495A (zh) 2014-11-05
CN104137495B (zh) 2017-10-27
EP2819360B1 (en) 2017-04-26
KR101607583B1 (ko) 2016-03-30
KR20140146125A (ko) 2014-12-24
US20150023167A1 (en) 2015-01-22
EP2819360A1 (en) 2014-12-31
CN103548297A (zh) 2014-01-29
EP2819360A4 (en) 2015-01-21
JP5928764B2 (ja) 2016-06-01

Similar Documents

Publication Publication Date Title
WO2013139010A1 (zh) 确认包的处理方法、设备及系统
KR100533686B1 (ko) 모바일 애드 혹 네트워크에서의 데이터 전송 방법 및 이를이용한 네트워크 장치
JP4968858B2 (ja) データ送信方法及びデータ再転送方法
US8014287B2 (en) Communications apparatus
CN109639340B (zh) 一种适用于卫星链路的tcp加速方法
EP2420014B1 (en) Method of receiving a point-to-multipoint service in a wireless communication system
WO2013053304A1 (zh) 一种实现tcp传输的方法及装置
KR100393369B1 (ko) 확인 응답 타이머를 개시하기 위한 방법 및 장치
JP2007534194A5 (zh)
JP2001237882A (ja) パケットデータ転送におけるパケットサイズ制御装置及びその制御方法
WO2012097737A1 (zh) 一种数据传输控制方法及设备
WO2012126424A2 (zh) 一种数据包的转发方法和设备
WO2013178044A1 (zh) 一种数据传输方法、装置及系统
WO2016201904A1 (zh) 一种基于tcp的数据传输方法及装置
WO2017107148A1 (zh) 一种数据传输方法及网络侧设备
WO2016095198A1 (zh) 一种防止tcp连接中断的装置、系统及方法
WO2010048850A1 (zh) 数据包的发送、接收方法及装置、以及处理方法及系统
KR101018685B1 (ko) 광대역 무선통신시스템에서 자동 재송 요구 리셋을제어하기 위한 장치 및 방법
WO2014114224A1 (zh) 一种数据缓存的方法和装置
CN107801200B (zh) 状态报告的发送方法及装置
WO2015149299A1 (zh) 数据传输方法和基站
WO2015161791A1 (zh) 一种rlc层的数据包处理方法和rlc实体
JP2006504290A (ja) Nackプロトコルの方法および装置
JP2000022744A (ja) パケット通信システム、パケット通信装置及びパケット通信方法
KR102609328B1 (ko) 무선 통신 방법 및 디바이스

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: 12872008

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12872008

Country of ref document: EP

Kind code of ref document: A1