CN114598660A - Transmission window adjusting method, transmission window adjusting device, transmitting equipment, receiving equipment and medium - Google Patents

Transmission window adjusting method, transmission window adjusting device, transmitting equipment, receiving equipment and medium Download PDF

Info

Publication number
CN114598660A
CN114598660A CN202011408118.XA CN202011408118A CN114598660A CN 114598660 A CN114598660 A CN 114598660A CN 202011408118 A CN202011408118 A CN 202011408118A CN 114598660 A CN114598660 A CN 114598660A
Authority
CN
China
Prior art keywords
memory space
window
sdu
cache
cache position
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011408118.XA
Other languages
Chinese (zh)
Inventor
李伟
孔健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Datang Mobile Communications Equipment Co Ltd
Original Assignee
Datang Mobile Communications Equipment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Datang Mobile Communications Equipment Co Ltd filed Critical Datang Mobile Communications Equipment Co Ltd
Priority to CN202011408118.XA priority Critical patent/CN114598660A/en
Publication of CN114598660A publication Critical patent/CN114598660A/en
Pending legal-status Critical Current

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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets

Landscapes

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

Abstract

The embodiment of the invention provides a method and a device for adjusting a transmission window, sending equipment, receiving equipment and a medium, and relates to the technical field of communication. The embodiment of the invention comprises the following steps: acquiring the number of SN (serial number) of the serial numbers to be confirmed, wherein the number of the SN to be confirmed is the difference value between a first sending variable and a second sending variable, the first sending variable is the maximum SN of the sent SDU, the second sending variable is the maximum SN of the confirmed continuous SDU, then adjusting a sending window according to the difference value between the current sending window value and the number of the SN to be confirmed, and reallocating a memory space for caching the SDU address pointer based on the adjusted sending window. The waste of memory resources can be avoided.

Description

Transmission window adjusting method, transmission window adjusting device, transmitting equipment, receiving equipment and medium
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a method and an apparatus for adjusting a transmission window, a sending device, a receiving device, and a medium.
Background
For services with high requirements on reliability and insensitive to transmission delay, a Radio Link Control (RLC) layer may operate in an Acknowledged Mode (AM). After receiving a Service Data Unit (SDU), a sending device segments the SDU and adds an RLC header to obtain a plurality of RLC Protocol Data Units (PDUs) corresponding to the same SDU. The RLC PDU is then sent with a Serial Number (SN), while the transmitting device needs to buffer all SDUs that have been sent but not acknowledged by the receiving device. Wherein, each SDU corresponds to one SN, and the SNs of all RLC PDUs corresponding to the same SDU are the same.
In the AM mode of RLC, the transmitting device and the receiving device maintain a transmit window and a receive window, respectively, for one SN. Taking the transmitting device as an example, the size of the window determines the maximum number of SDUs that can be transmitted without peer-to-peer response. The sending device may further allocate a static memory for storing the pointer address of the SDU corresponding to the SN in the sending window, and the pointer address of the SDU corresponding to a certain SN may be found through the static memory, so as to find the cached SDU according to the pointer address of the SDU. The static memory is generally allocated according to the size of the sending window, and the larger the sending window is, the larger the memory space of the static memory is.
The size of the transmission window is closely related to the traffic throughput rate, and currently, the transmission window is generally set to 131072, so that the maximum data volume of the peak speed of the 5G terminal can be supported. However, in the actual communication process, the data volume of most users is much lower than the maximum data volume of the peak speed of the 5G terminal, and the allocation of the static memory according to the current size of the sending window will cause the waste of memory resources.
Disclosure of Invention
An object of the embodiments of the present invention is to provide a method, an apparatus, a sending device, a receiving device, and a medium for adjusting a transmission window, so as to avoid waste of memory resources. The specific technical scheme is as follows:
in a first aspect, an embodiment of the present application provides a method for adjusting a transmission window, where the method is applied to a sending device, and the method includes:
acquiring the number of SN (serial numbers) of serial numbers to be confirmed, wherein the number of SN to be confirmed is the difference value between a first sending variable and a second sending variable, the first sending variable is the maximum SN of sent SDU, and the second sending variable is the maximum SN of confirmed continuous SDU;
adjusting a sending window according to the difference value between the current sending window value and the number of the SNs to be confirmed;
and reallocating the memory space for caching the SDU address pointer based on the adjusted sending window.
In a possible implementation manner, the adjusting the sending window according to the difference between the current sending window value and the number of SNs to be confirmed includes:
if the difference value between the current sending window value and the number of the SNs to be confirmed is smaller than a first preset threshold value, the sending window is expanded;
and if the difference value between the current sending window value and the number of the SNs to be confirmed is larger than a second preset threshold value, reducing the sending window.
In one possible implementation, the expanding the transmission window includes:
acquiring a next-level window value adjacent to the current sending window value from a preset window value set, and updating the window value of the sending window to the next-level window value adjacent to the current sending window value; the preset window value set comprises a plurality of window values which are arranged from small to large;
the narrowing of the transmission window includes:
and acquiring a previous-level window value adjacent to the current sending window value from the preset window value set, and updating the window value of the sending window to the previous-level window value adjacent to the current sending window value.
In a possible implementation manner, the reallocating, based on the adjusted transmission window, a memory space for buffering an SDU address pointer includes:
allocating a target memory space based on the window value of the adjusted sending window, wherein the target memory space is used for caching address pointers of SDUs corresponding to SN in the adjusted sending window;
and caching the SDU address pointer cached in the original memory space to the target memory space, and releasing the original memory space.
In a possible implementation manner, the caching the SDU address pointer cached in the original memory space into the target memory space includes:
determining a first buffer location of an SDU address pointer corresponding to a third sending variable in an original memory space and a second buffer location of an SDU address pointer corresponding to a fourth sending variable in the original memory space by adjusting a window value of a pre-sending window, where an SDU corresponding to the third sending variable is a next SDU to be sent after an SDU corresponding to the second sending variable, and an SDU corresponding to the fourth sending variable is a next SDU to be sent after the SDU corresponding to the first sending variable;
determining a third cache position of the SDU address pointer corresponding to the third sending variable in the target memory space and a fourth cache position of the SDU address pointer corresponding to the fourth sending variable in the target memory space by the adjusted window value of the sending window;
and caching the SDU address pointer cached in the original memory space to the target memory space based on the position relationship between the first cache position and the second cache position and the position relationship between the third cache position and the fourth cache position.
In a possible implementation manner, if a window value of a sending window before adjustment is smaller than a window value of a sending window after adjustment, caching an SDU address pointer cached in an original memory space to the target memory space based on a positional relationship between the first cache position and the second cache position and a positional relationship between the third cache position and the fourth cache position, includes:
if the first cache position is located before the second cache position and the third cache position is located before the fourth cache position, integrally moving the SDU address pointer cached in the original memory space to a position between the third cache position and the fourth cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located in front of the fourth cache position, integrally moving an SDU address pointer between a starting position and the second cache position in the original memory space to be in front of the fourth cache position in the target memory space, and integrally moving an SDU address pointer between the first cache position and an ending position in the original memory space to be behind the third cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located behind the fourth cache position, integrally moving an SDU address pointer between a starting position and the first cache position in an original memory space to a position between the starting position and the third cache position in the target memory space, and integrally moving an SDU address pointer between a fourth cache position and an ending position in the original memory space to a position between the fourth cache position and the ending position in the target memory space;
if the window value of the sending window before adjustment is greater than the window value of the sending window after adjustment, caching the SDU address pointer cached in the original memory space into the target memory space based on the positional relationship between the first cache position and the second cache position and the positional relationship between the third cache position and the fourth cache position, including:
if the first cache position is located before the second cache position and the third cache position is located before the fourth cache position, integrally moving the SDU address pointer cached in the original memory space to a position between the third cache position and the fourth cache position in the target memory space;
if the first cache position is located before the second cache position and the third cache position is located after the fourth cache position, integrally moving an SDU address pointer in a first designated space after the first cache position in the original memory space to a position between the third cache position and an end position of the target memory space, and integrally moving an SDU address in a second designated space before the second cache position in the original memory space to a position between an initial position and the fourth cache position of the target memory space; the size of the first designated space is the same as the size of the memory space from the third cache position to the end position in the target memory space, and the size of the second designated space is the same as the size of the memory between the starting position and the fourth cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located behind the fourth cache position, the SDU address pointer between the starting position and the first cache position in the original memory space is integrally moved to a position between the starting position and the fourth cache position in the target memory space, and the SDU address pointer between the second cache position and the ending position in the original memory space is integrally moved to a position between the third cache position and the ending position in the target memory space.
In a second aspect, an embodiment of the present application provides a method for adjusting a transmission window, where the method is applied to a receiving device, and the method includes:
acquiring the number of SN (serial numbers) of serial numbers to be confirmed, wherein the number of SN to be confirmed is the difference value between a first receiving variable and a second receiving variable, the first receiving variable is the maximum SN of received SDU, and the second receiving variable is the maximum SN of received continuous SDU confirmed to an opposite terminal;
adjusting a receiving window according to the difference value between the current receiving window value and the SN number to be confirmed;
and reallocating the memory space for caching the SDU address pointer based on the adjusted receiving window.
In a possible implementation manner, the adjusting the receive window according to the difference between the current receive window value and the SN number to be confirmed includes:
if the difference value between the current receiving window value and the SN number to be confirmed is smaller than a first preset threshold value, the receiving window is expanded;
and if the difference value between the current receiving window value and the SN number to be confirmed is larger than a second preset threshold value, reducing the receiving window.
In one possible implementation, the expanding the receiving window includes:
acquiring a next-level window value adjacent to the current receiving window value from a preset window value set, and updating the window value of the receiving window to the next-level window value adjacent to the current receiving window value; the preset window value set comprises a plurality of window values which are arranged from small to big;
the narrowing of the transmission window includes:
and acquiring a previous-level window value adjacent to the current receiving window value from the preset window value set, and updating the window value of the receiving window to the previous-level window value adjacent to the current receiving window value.
In a possible implementation manner, the reallocating, based on the adjusted receive window, a memory space for buffering an address pointer of an SDU, includes:
allocating a target memory space based on the window value of the adjusted receiving window, wherein the target memory space is used for caching address pointers of SDUs corresponding to SN in the adjusted receiving window;
and caching the SDU address pointer cached in the original memory space to the target memory space, and releasing the original memory space.
In a possible implementation manner, the caching the SDU address pointer cached in the original memory space into the target memory space includes:
determining a first buffer location of an SDU address pointer corresponding to a third receiving variable in an original memory space and a second buffer location of an SDU address pointer corresponding to a fourth receiving variable in the original memory space by adjusting a window value of a front receiving window, where an SDU corresponding to the third receiving variable is a next SDU received after an SDU corresponding to the second receiving variable, and an SDU corresponding to the fourth receiving variable is a next SDU to be received after the SDU corresponding to the first receiving variable;
determining a third cache position of an SDU address pointer corresponding to the third receiving variable in the target memory space and a fourth cache position of an SDU address pointer corresponding to the fourth receiving variable in the target memory space by the adjusted window value of the receiving window;
and caching the SDU address pointer cached in the original memory space to the target memory space based on the position relationship between the first cache position and the second cache position and the position relationship between the third cache position and the fourth cache position.
In a possible implementation manner, if the window value of the receiving window before adjustment is smaller than the window value of the receiving window after adjustment, caching the SDU address pointer cached in the original memory space to the target memory space based on the positional relationship between the first cache position and the second cache position and the positional relationship between the third cache position and the fourth cache position, including:
if the first cache position is located before the second cache position and the third cache position is located before the fourth cache position, integrally moving the SDU address pointer cached in the original memory space to a position between the third cache position and the fourth cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located in front of the fourth cache position, integrally moving an SDU address pointer between a starting position and the second cache position in the original memory space to be in front of the fourth cache position in the target memory space, and integrally moving an SDU address pointer between the first cache position and an ending position in the original memory space to be behind the third cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located behind the fourth cache position, integrally moving an SDU address pointer between a starting position and the first cache position in an original memory space to a position between the starting position and the third cache position in the target memory space, and integrally moving an SDU address pointer between a fourth cache position and an ending position in the original memory space to a position between the fourth cache position and the ending position in the target memory space;
if the window value of the receiving window before adjustment is greater than the window value of the receiving window after adjustment, caching the SDU address pointer cached in the original memory space into the target memory space based on the positional relationship between the first cache position and the second cache position and the positional relationship between the third cache position and the fourth cache position, including:
if the first cache position is located before the second cache position and the third cache position is located before the fourth cache position, integrally moving the SDU address pointer cached in the original memory space to a position between the third cache position and the fourth cache position in the target memory space;
if the first cache position is located before the second cache position and the third cache position is located after the fourth cache position, integrally moving an SDU address pointer in a first designated space after the first cache position in the original memory space to a position between the third cache position and an end position of the target memory space, and integrally moving an SDU address in a second designated space before the second cache position in the original memory space to a position between an initial position and the fourth cache position of the target memory space; the size of the first designated space is the same as the size of the memory space from the third cache position to the end position in the target memory space, and the size of the second designated space is the same as the size of the memory between the starting position and the fourth cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located behind the fourth cache position, the SDU address pointer between the starting position and the first cache position in the original memory space is integrally moved to a position between the starting position and the fourth cache position in the target memory space, and the SDU address pointer between the second cache position and the ending position in the original memory space is integrally moved to a position between the third cache position and the ending position in the target memory space.
In a third aspect, an embodiment of the present application further provides a sending device, including a memory, a transceiver, a processor:
a memory for storing a computer program; a transceiver for transceiving data under control of the processor; a processor for reading the computer program in the memory and performing the following operations:
acquiring the number of SN (serial numbers) of serial numbers to be confirmed, wherein the number of SN to be confirmed is the difference value between a first sending variable and a second sending variable, the first sending variable is the maximum SN of sent SDU, and the second sending variable is the maximum SN of confirmed continuous SDU;
adjusting a sending window according to the difference value between the current sending window value and the number of the SNs to be confirmed;
and reallocating the memory space for caching the SDU address pointer based on the adjusted sending window.
In one possible implementation, the processor is specifically configured to read the computer program in the memory and perform the following operations:
if the difference value between the current sending window value and the number of the SNs to be confirmed is smaller than a first preset threshold value, the sending window is expanded;
and if the difference value between the current sending window value and the number of the SNs to be confirmed is larger than a second preset threshold value, reducing the sending window.
In one possible implementation, the processor is specifically configured to read the computer program in the memory and perform the following operations:
acquiring a next-level window value adjacent to the current sending window value from a preset window value set, and updating the window value of the sending window to the next-level window value adjacent to the current sending window value; the preset window value set comprises a plurality of window values which are arranged from small to big;
and acquiring a previous-level window value adjacent to the current sending window value from the preset window value set, and updating the window value of the sending window to the previous-level window value adjacent to the current sending window value.
In one possible implementation, the processor is specifically configured to read the computer program in the memory and perform the following operations:
allocating a target memory space based on the window value of the adjusted sending window, wherein the target memory space is used for caching address pointers of SDUs corresponding to SN in the adjusted sending window;
and caching the SDU address pointer cached in the original memory space to the target memory space, and releasing the original memory space.
In one possible implementation, the processor is specifically configured to read the computer program in the memory and perform the following operations:
determining a first buffer location of an SDU address pointer corresponding to a third sending variable in an original memory space and a second buffer location of an SDU address pointer corresponding to a fourth sending variable in the original memory space by adjusting a window value of a pre-sending window, where an SDU corresponding to the third sending variable is a next SDU to be sent after an SDU corresponding to the second sending variable, and an SDU corresponding to the fourth sending variable is a next SDU to be sent after the SDU corresponding to the first sending variable;
determining a third cache position of an SDU address pointer corresponding to the third sending variable in the target memory space and a fourth cache position of an SDU address pointer corresponding to the fourth sending variable in the target memory space by the adjusted window value of the sending window;
and caching the SDU address pointer cached in the original memory space to the target memory space based on the position relationship between the first cache position and the second cache position and the position relationship between the third cache position and the fourth cache position.
In a possible implementation manner, if the window value of the sending window before adjustment is smaller than the window value of the sending window after adjustment, the processor is specifically configured to read the computer program in the memory and execute the following operations:
if the first cache position is located before the second cache position and the third cache position is located before the fourth cache position, integrally moving the SDU address pointer cached in the original memory space to a position between the third cache position and the fourth cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located in front of the fourth cache position, integrally moving an SDU address pointer between a starting position and the second cache position in the original memory space to be in front of the fourth cache position in the target memory space, and integrally moving an SDU address pointer between the first cache position and an ending position in the original memory space to be behind the third cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located behind the fourth cache position, integrally moving an SDU address pointer between a starting position and the first cache position in an original memory space to a position between the starting position and the third cache position in the target memory space, and integrally moving an SDU address pointer between a fourth cache position and an ending position in the original memory space to a position between the fourth cache position and the ending position in the target memory space;
if the window value of the sending window before adjustment is greater than the window value of the sending window after adjustment, the processor is specifically configured to read the computer program in the memory and execute the following operations:
if the first cache position is located in front of the second cache position and the third cache position is located in front of the fourth cache position, integrally moving an SDU address pointer cached in an original memory space to a position between the third cache position and the fourth cache position in the target memory space;
if the first cache position is located before the second cache position and the third cache position is located after the fourth cache position, integrally moving an SDU address pointer in a first designated space after the first cache position in the original memory space to a position between the third cache position and an end position of the target memory space, and integrally moving an SDU address in a second designated space before the second cache position in the original memory space to a position between an initial position and the fourth cache position of the target memory space; the size of the first designated space is the same as the size of the memory space from the third cache position to the end position in the target memory space, and the size of the second designated space is the same as the size of the memory between the starting position and the fourth cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located behind the fourth cache position, the SDU address pointer between the starting position and the first cache position in the original memory space is integrally moved to a position between the starting position and the fourth cache position in the target memory space, and the SDU address pointer between the second cache position and the ending position in the original memory space is integrally moved to a position between the third cache position and the ending position in the target memory space.
In a fourth aspect, an embodiment of the present application provides a receiving device, including a memory, a transceiver, a processor:
a memory for storing a computer program; a transceiver for transceiving data under control of the processor; a processor for reading the computer program in the memory and performing the following operations:
acquiring the number of SN (serial numbers) of serial numbers to be confirmed, wherein the number of SN to be confirmed is the difference value between a first receiving variable and a second receiving variable, the first receiving variable is the maximum SN of received SDU, and the second receiving variable is the maximum SN of received continuous SDU confirmed to an opposite terminal;
adjusting a receiving window according to the difference value between the current receiving window value and the SN number to be confirmed;
and reallocating the memory space for caching the SDU address pointer based on the adjusted receiving window.
In one possible implementation, the processor is specifically configured to read the computer program in the memory and perform the following operations:
if the difference value between the current receiving window value and the SN number to be confirmed is smaller than a first preset threshold value, the receiving window is expanded;
and if the difference value between the current receiving window value and the SN number to be confirmed is larger than a second preset threshold value, reducing the receiving window.
In one possible implementation, the processor is specifically configured to read the computer program in the memory and perform the following operations:
acquiring a next-level window value adjacent to the current receiving window value from a preset window value set, and updating the window value of the receiving window to the next-level window value adjacent to the current receiving window value; the preset window value set comprises a plurality of window values which are arranged from small to large;
and acquiring a previous-level window value adjacent to the current receiving window value from the preset window value set, and updating the window value of the receiving window to the previous-level window value adjacent to the current receiving window value.
In one possible implementation, the processor is specifically configured to read the computer program in the memory and perform the following operations:
allocating a target memory space based on the window value of the adjusted receiving window, wherein the target memory space is used for caching address pointers of SDUs corresponding to SN in the adjusted receiving window;
and caching the SDU address pointer cached in the original memory space to the target memory space, and releasing the original memory space.
In one possible implementation, the processor is specifically configured to read the computer program in the memory and perform the following operations:
determining a first buffer location of an SDU address pointer corresponding to a third receiving variable in an original memory space and a second buffer location of an SDU address pointer corresponding to a fourth receiving variable in the original memory space by adjusting a window value of a front receiving window, where an SDU corresponding to the third receiving variable is a next SDU received after an SDU corresponding to the second receiving variable, and an SDU corresponding to the fourth receiving variable is a next SDU to be received after the SDU corresponding to the first receiving variable;
determining a third cache position of an SDU address pointer corresponding to the third receiving variable in the target memory space and a fourth cache position of an SDU address pointer corresponding to the fourth receiving variable in the target memory space by the adjusted window value of the receiving window;
and caching the SDU address pointer cached in the original memory space to the target memory space based on the position relationship between the first cache position and the second cache position and the position relationship between the third cache position and the fourth cache position.
In a possible implementation manner, if the window value of the receiving window before adjustment is smaller than the window value of the receiving window after adjustment, the processor is specifically configured to read the computer program in the memory and perform the following operations:
if the first cache position is located before the second cache position and the third cache position is located before the fourth cache position, integrally moving the SDU address pointer cached in the original memory space to a position between the third cache position and the fourth cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located in front of the fourth cache position, integrally moving an SDU address pointer between a starting position and the second cache position in the original memory space to be in front of the fourth cache position in the target memory space, and integrally moving an SDU address pointer between the first cache position and an ending position in the original memory space to be behind the third cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located behind the fourth cache position, integrally moving an SDU address pointer between a starting position and the first cache position in an original memory space to a position between the starting position and the third cache position in the target memory space, and integrally moving an SDU address pointer between a fourth cache position and an ending position in the original memory space to a position between the fourth cache position and the ending position in the target memory space;
if the window value of the receiving window before adjustment is greater than the window value of the receiving window after adjustment, the processor is specifically configured to read the computer program in the memory and execute the following operations:
if the first cache position is located before the second cache position and the third cache position is located before the fourth cache position, integrally moving the SDU address pointer cached in the original memory space to a position between the third cache position and the fourth cache position in the target memory space;
if the first cache position is located before the second cache position and the third cache position is located after the fourth cache position, integrally moving an SDU address pointer in a first designated space after the first cache position in the original memory space to a position between the third cache position and an end position of the target memory space, and integrally moving an SDU address in a second designated space before the second cache position in the original memory space to a position between an initial position and the fourth cache position of the target memory space; the size of the first designated space is the same as the size of the memory space from the third cache position to the end position in the target memory space, and the size of the second designated space is the same as the size of the memory between the starting position and the fourth cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located behind the fourth cache position, the SDU address pointer between the starting position and the first cache position in the original memory space is integrally moved to a position between the starting position and the fourth cache position in the target memory space, and the SDU address pointer between the second cache position and the ending position in the original memory space is integrally moved to a position between the third cache position and the ending position in the target memory space.
In a fifth aspect, an embodiment of the present application further provides an apparatus for adjusting a transmission window, where the apparatus is applied to a sending device, and the apparatus includes:
an obtaining unit, configured to obtain a number of SN of a serial number to be confirmed, where the number of SN of the serial number to be confirmed is a difference between a first transmission variable and a second transmission variable, the first transmission variable is a maximum SN of a transmitted SDU, and the second transmission variable is a maximum SN of a confirmed consecutive SDU;
the adjusting unit is used for adjusting the sending window according to the difference value between the current sending window value and the SN number to be confirmed;
and the allocation unit is used for reallocating the memory space for caching the SDU address pointer based on the adjusted sending window.
In a sixth aspect, an embodiment of the present application further provides an apparatus for adjusting a transmission window, where the apparatus is applied to a receiving device, and the apparatus includes:
an obtaining unit, configured to obtain a number of SN of a sequence number to be confirmed, where the number of SN of the sequence number to be confirmed is a difference between a first receiving variable and a second receiving variable, the first receiving variable is a maximum SN of a received SDU, and the second receiving variable is a maximum SN of a received and confirmed continuous SDU to an opposite end;
the adjusting unit is used for adjusting the receiving window according to the difference value between the current receiving window value and the SN number to be confirmed;
and the allocation unit is used for reallocating the memory space for caching the SDU address pointer based on the adjusted receiving window.
In a seventh aspect, this application embodiment further provides a processor-readable storage medium, where a computer program is stored in the processor-readable storage medium, and when executed by a processor, the computer program implements the adjustment method for the transmission window in the first aspect and/or the second aspect.
In an eighth aspect, embodiments of the present application further provide a computer program product containing instructions, which when run on a computer, causes the computer to execute the method for adjusting a transmission window described in the first aspect and/or the second aspect.
By adopting the technical scheme, compared with the prior art that a memory space with a fixed size is distributed through a fixed sending window, the sending window can be dynamically adjusted according to the difference between the current sending window value and the number of SN to be confirmed, and the memory space is redistributed based on the adjusted sending window. Since the SN to be confirmed is the difference between the maximum SN of an SDU that has been transmitted by the transmission device and the maximum SN of consecutive SDUs that have been confirmed, the transmission window is adjusted according to the difference between the current transmission window value and the number of SNs to be confirmed, so that the size of the adjusted transmission window can be matched with the number of SDUs actually transmitted. And the memory space is used for caching the address pointers of the SDUs which are sent and not confirmed by the opposite terminal, so that the memory space distributed based on the adjusted sending window is matched with the number of the address pointers of the SDUs which need to be cached in the memory space, and the waste of memory resources is avoided.
Of course, not all of the advantages described above need to be achieved at the same time in the practice of any one product or method of the invention.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other embodiments can be obtained by using the drawings without creative efforts.
Fig. 1 is a schematic structural diagram of a communication system according to an embodiment of the present application;
fig. 2 is a flowchart of a method for adjusting a transmission window according to an embodiment of the present disclosure;
fig. 3 is a flowchart of another adjustment method for a transmission window according to an embodiment of the present application;
fig. 4 is a flowchart of another adjustment method for a transmission window according to an embodiment of the present application;
fig. 5 is an exemplary diagram illustrating that a sending device caches an address of an SDU address pointer cached in an original memory space to a target memory space according to an embodiment of the present application;
fig. 6 is an exemplary diagram illustrating that another sending device according to an embodiment of the present application caches an address of an SDU address pointer cached in an original memory space to a target memory space;
fig. 7 is a flowchart of a method for adjusting a transmission window according to an embodiment of the present application;
fig. 8 is an exemplary diagram illustrating that a receiving device caches an address of an SDU address pointer cached in an original memory space to a target memory space according to an embodiment of the present application;
fig. 9 is an exemplary diagram illustrating that another receiving device according to an embodiment of the present application caches an address of an SDU address pointer cached in an original memory space to a target memory space;
fig. 10 is a schematic structural diagram of a sending device according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of an apparatus for adjusting a transmission window according to an embodiment of the present disclosure;
fig. 12 is a schematic structural diagram of an apparatus for adjusting a transmission window according to an embodiment of the present disclosure.
Detailed Description
The term "and/or" in the embodiments of the present invention describes an association relationship of associated objects, and indicates that three relationships may exist, for example, a and/or B may indicate: a exists alone, A and B exist simultaneously, and B exists alone. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship.
In the embodiments of the present application, the term "plurality" means two or more, and other terms are similar thereto.
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only some embodiments of the present application, and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The technical scheme provided by the embodiment of the application can be suitable for various systems, particularly 5G systems. For example, the applicable system may be a global system for mobile communication (GSM) system, a Code Division Multiple Access (CDMA) system, a Wideband Code Division Multiple Access (WCDMA) General Packet Radio Service (GPRS) system, a long term evolution (long term evolution, LTE) system, an LTE Frequency Division Duplex (FDD) system, an LTE Time Division Duplex (TDD) system, an LTE-a (long term evolution) system, a universal mobile system (universal mobile telecommunications system, UMTS), a Worldwide Interoperability for Mobile Access (WiMAX) system, a New Radio network (NR 5) system, etc. These various systems include terminal devices and network devices. The System may further include a core network portion, such as an Evolved Packet System (EPS), a 5G System (5GS), and the like.
In communication systems such as a 5G communication system and a Long Term Evolution (LTE) communication system, a user plane Protocol stack is mainly divided into four layers, which are a Packet Data Convergence Protocol (PDCP), a Radio Link Control (RLC), a Medium Access Control (MAC), and a Physical Layer (PLY).
The RLC Mode includes a Transparent Mode (TM), an Unacknowledged Mode (UM), and an Acknowledged Mode (AM). The RLC involved in the embodiments of the present application operates in acknowledged mode.
Illustratively, the embodiment of the present application provides a schematic structural diagram of a communication system, as shown in fig. 1, the communication system includes a network device 110 and a terminal device 120.
The network device 110 according to the embodiment of the present application may be a base station, and the base station may include a plurality of cells for providing services for a terminal. A base station may also be called an access point, or may be a device in an access network that communicates over the air-interface, through one or more sectors, with wireless terminal devices, or by other names, depending on the particular application. The network device 110 may be configured to interchange received air frames with Internet Protocol (IP) packets as a router between the wireless terminal device and the rest of the access network, which may include an Internet Protocol (IP) communication network. Network device 110 may also coordinate attribute management for the air interface. For example, the network device 110 according to the embodiment of the present application may be a Base Transceiver Station (BTS) in a Global System for Mobile communications (GSM) or a Code Division Multiple Access (CDMA), may be a network device (NodeB) in a Wideband Code Division Multiple Access (WCDMA), may be a evolved Node B (eNB or e-NodeB) in a Long Term Evolution (LTE) System, may be a 5G Base Station (gNB) in a 5G network architecture (next generation System), may be a Home evolved Node B (Home B, HeNB), a relay Node (relay Node), a Home Base Station (femto), a pico Base Station (pico) and the like, and is not limited in the embodiments of the present application. In some network architectures, a network device may include a Centralized Unit (CU) node and a Distributed Unit (DU) node, which may also be geographically separated.
The terminal device 120 according to the embodiments of the present application may be a device providing voice and/or data connectivity to a user, a handheld device having a wireless connection function, or other processing device connected to a wireless modem. In different systems, the names of the terminal devices may be different, for example, in a 5G system, the terminal device may be called a User Equipment (UE). A wireless terminal device, which may be a mobile terminal device such as a mobile telephone (or "cellular" telephone) and a computer having a mobile terminal device, for example, a portable, pocket, hand-held, computer-included, or vehicle-mounted mobile device, may communicate with one or more Core Networks (CNs) via a Radio Access Network (RAN). Examples of such devices include Personal Communication Service (PCS) phones, cordless phones, Session Initiation Protocol (SIP) phones, Wireless Local Loop (WLL) stations, and Personal Digital Assistants (PDAs). The wireless terminal device may also be referred to as a system, a subscriber unit (subscriber unit), a subscriber station (subscriber station), a mobile station (mobile), a remote station (remote station), an access point (access point), a remote terminal device (remote terminal), an access terminal device (access terminal), a user terminal device (user terminal), a user agent (user agent), and a user device (user device), which are not limited in this embodiment of the present application.
In this embodiment, each radio bearer between the network device 110 and the terminal device 120 corresponds to an RLC entity in the AM mode, and the same RLC entity includes a transmitting end and a receiving end. The sending end of network device 110 may send data to the receiving end of terminal device 120, and conversely, the sending end of terminal device 120 may also send data to the receiving end of network device 110.
The transmitting device in this embodiment refers to the network device 110 serving as the transmitting end of the RLC entity, and the receiving device in this embodiment refers to the network device 110 serving as the receiving end of the RLC entity.
When the network device 110 is used as a sending device, after receiving an SDU on the PDCP layer, the RLC sending end of the network device 110 segments the SDU according to the size of the air interface resource provided by the MAC layer, adds an RLC header to the segmented SDU to obtain an RLC PDU, and sends the RLC PDU to the MAC layer for air interface sending. Meanwhile, the sending equipment needs to cache the SDU which is sent but not confirmed by the opposite terminal, and if the ACK aiming at the sent SDU by the opposite terminal is subsequently received, the cached SDU is released; if NACK for the sent SDU is subsequently received, the buffered SDU is retransmitted.
The transmitting device may maintain a transmission Window of SNs based on the state variable TX _ Next _ Ack, which may range from TX _ Next _ Ack, TX _ Next _ Ack + AM _ Window _ Size). Wherein, TX _ Next _ Ack refers to SN of the Next SDU waiting to be acknowledged and sent by the transmitting device, and AM _ Window _ Size is the Window Size value of the transmission Window. The transmitting device may transmit the SDU with the SN within the transmission window to the opposite end.
The sending device may further allocate a static memory space according to the window size value of the sending window, where the static memory space is used to cache an address pointer of an SDU corresponding to the SN in the sending window. The address pointer for the SDU is cached at the location of SN mod AM _ Window _ Size in the static memory space. Where "mod" represents a modulo operation.
When network device 110 is used as a receiving device, the RLC receiving end of network device 110 receives the segmented RLC PDU, reassembles the RLC PDU into an SDU, buffers the received SDU, and returns ACK or NACK to the opposite end according to the buffered SDU.
The receiving device may maintain a receive Window of SNs based on the state variable RX _ Next, ranging from RX _ Next, RX _ Next + AM _ Window _ Size). Wherein RX _ Next refers to the Next SDU to be acknowledged that is received by the receiving device.
According to the specification of 3GPP protocol, AM _ Window _ Size is half of SN length, and the SN length supports 12bit and 8 bit. If the length of the SN is set to 2048 AM _ Window _ Size when it is 12 bits, and 131072 AM _ Window _ Size when it is 18 bits.
In the NR system, in order to support a 5G terminal with a large peak-speed data volume, the length of the SN may be configured to be 18 bits, and accordingly, AM _ Window _ Size is 131072, and allocating static memory space according to the AM _ Window _ Size would result in an excessively large system memory occupation, and in actual application, the data volume of the user is far lower than the peak-speed data volume, and allocating static memory space according to the peak-speed data volume would result in a waste of memory space.
In order to solve the problem, an embodiment of the present application provides a method for adjusting a transmission window, which can dynamically adjust the transmission window according to the size of the data volume, so that the window size value of the actual transmission window is matched with the actual data volume, and further, the size of the memory space allocated based on the actual transmission window is also matched with the data volume actually required to be cached, thereby avoiding the waste of memory resources.
The following describes in detail a method for adjusting a transmission window according to an embodiment of the present application.
An embodiment of the present application provides a method for adjusting a transmission window, where the method is applied to a sending device, where the sending device may be a network device serving as the sending device in fig. 1, and the network device may specifically be a base station. As shown in fig. 2, the method includes:
s201, acquiring the number of SNs to be confirmed, wherein the number of SNs to be confirmed is the difference between a first transmission variable and a second transmission variable, the first transmission variable is the maximum SN of the sent SDU, and the second transmission variable is the maximum SN of the confirmed continuous SDU.
For example, if the sending device has sent SDUs with SNs 1, 2, 3, 4, 5, 6, and 7 to the terminal, and the sending device has received an acknowledgement message for SDUs with SNs 1, 2, and 3, the first sending variable is 7, the second sending variable is 3, and the number of SNs to be acknowledged is 4, i.e., 4 SDUs with SNs 4, 5, 6, and 7 currently exist are to be acknowledged by the opposite end. The above is merely an exemplary illustration, and in practical implementations, the number of SNs to be acknowledged by the sending device is not limited thereto.
S202, adjusting the sending window according to the difference value between the current sending window value and the number of the SN to be confirmed.
And S203, reallocating the memory space for caching the SDU address pointer based on the adjusted sending window.
The memory space is used for buffering the address pointer of the SDU which is sent to the opposite end by the sending device but is not confirmed by the opposite end.
Compared with the prior art that a fixed-size memory space is allocated through a fixed sending window, the method and the device can dynamically adjust the sending window according to the difference between the current sending window value and the number of the SN to be confirmed, and reallocate the memory space based on the adjusted sending window. Since the SN to be confirmed is the difference between the maximum SN of an SDU that has been transmitted by the transmission device and the maximum SN of consecutive SDUs that have been confirmed, the transmission window is adjusted according to the difference between the current transmission window value and the number of SNs to be confirmed, so that the size of the adjusted transmission window can be matched with the number of SDUs actually transmitted. And the memory space is used for caching the address pointers of the SDUs which are sent and not confirmed by the opposite terminal, so that the memory space distributed based on the adjusted sending window is matched with the number of the address pointers of the SDUs which need to be cached in the memory space, and the waste of memory resources is avoided.
In the embodiment of the present application, the initial size value of the transmission window corresponding to each radio bearer may be set based on the type of the radio bearer and the type of the service data. The initial size value is generally small, and can meet most of service data transmission requirements.
For example, if the radio bearer is a Signaling Radio Bearer (SRB) for transmitting a signaling message, the initial size value of the transmission window may be set to a relatively small value because the data amount of the signaling message is small. If the radio bearer is used for transmitting video service data, the initial size value of the transmission window may be set to a relatively large value because the data volume of the video service data is large.
Alternatively, the same initial size value may be set for the transmission window corresponding to each radio bearer, for example, set to 212
Accordingly, the transmitting device may allocate memory space for buffering the SDU address pointer based on the initial size value of the transmission window.
Subsequently, in the process of sending data to the peer end by the sending device, the sending device may dynamically adjust the sending window based on the method flow shown in fig. 2.
In an embodiment of the present application, as shown in fig. 3, in the above S202, adjusting the sending window according to a difference between the first variable and the second variable may specifically be implemented as:
s2021, if the difference value between the current sending window value and the number of SN to be confirmed is smaller than a first preset threshold value, the sending window is expanded.
For example, if the current transmission window value is 212And the number of SN to be confirmed is close to 212It means that the actual data amount is larger at present, so the transmission window can be expanded to support higher transmission rate.
S2022, if the difference value between the current sending window value and the SN number to be confirmed is larger than a second preset threshold value, the sending window is reduced.
For example, if the current transmission window value is 212And the number of SN to be confirmed is less than 211It is indicated that the actual data size is much smaller than the value of the sending window, so the sending window can be reduced to avoid the waste of memory resources.
In one embodiment, a preset window value set is stored in the sending device, and the preset window value set includes a plurality of window values arranged in a descending order.
As an example, the preset set of window values may include: 212、213、214、215、216、217. In the embodiment of the present application, the window values of the sending window are all powers of 2, and the maximum value of the window value of the sending window is 217Namely 131072.
The expanding the sending window may specifically be implemented as:
and acquiring a next-level window value adjacent to the current sending window value from the preset window value set, and updating the window value of the sending window to the next-level window value adjacent to the current sending window value.
For example, based on the preset window value set, if the current transmission window value is 212The window value of the transmission window may be updated to213
Accordingly, the above-mentioned narrowing of the sending window may be specifically implemented as:
and acquiring a previous-level window value adjacent to the current sending window value from a preset window value set, and updating the window value of the sending window to the previous-level window value adjacent to the current sending window value.
For example, based on the preset window value set, if the current transmission window value is 215The window value of the transmission window may be updated to 214
In another embodiment, the transmitting device may adjust the transmit window by a fixed step size.
The above expanding the sending window may specifically be implemented as follows: and taking the window value obtained by adding the fixed step length to the current sending window as the updated window value of the sending window.
The above-mentioned narrowing of the sending window may specifically be implemented as: and taking the window value obtained by subtracting the fixed step length from the current sending window as the updated window value of the sending window.
By adopting the embodiment of the application, the sending equipment can dynamically adjust the window value of the sending window according to the difference value between the current sending window value and the number of the SNs to be confirmed, so that the window value of the sending window is matched with the number of the SNs to be confirmed, and the waste of memory resources is avoided. In addition, in the embodiment of the application, the sending window can be expanded or reduced based on the preset window value set, so that frequent window expansion or window reduction operations can be avoided.
In another embodiment of the present application, as shown in fig. 4, the step S203 of reallocating, based on the adjusted sending window, a memory space for buffering the SDU address pointer includes:
s2031, distributing a target memory space based on the adjusted window value of the sending window, wherein the target memory space is used for caching the address pointer of SDU corresponding to each SN in the adjusted sending window.
S2032, caching the SDU address pointer cached in the original memory space to the target memory space, and releasing the original memory space.
The following describes a process in which the sending device caches the SDU address pointer cached in the original memory space into the target memory space.
The sending device may determine, by adjusting a window value of the previous sending window, a first buffer location of the SDU address pointer corresponding to the third sending variable in the original memory space, and a second buffer location of the SDU address pointer corresponding to the fourth sending variable in the original memory space.
Wherein, the SDU corresponding to the third transmission variable is the NEXT SDU to be transmitted after the SDU corresponding to the second transmission variable, and the third transmission variable may be denoted as TX _ NEXT _ ACK; the SDU corresponding to the fourth transmission variable is an SDU to be transmitted NEXT after the SDU corresponding to the second transmission variable, and the fourth transmission variable may be denoted as TX _ NEXT.
In the embodiment of the present application, if the transmitting device has transmitted SDUs with SNs 1, 2, 3, 4, 5, 6, and 7 to the terminal and the transmitting device has received an acknowledgement message for SDUs with SNs 1, 2, and 3, the first transmission variable is 7 and the second transmission variable is 3. Accordingly, the third transmission variable is 4 and the fourth transmission variable is 8.
I.e. there are 4 SDUs with SNs 4, 5, 6, 7 currently to be acknowledged by the opposite end. Correspondingly, 4 SDUs with SNs 4, 5, 6, and 7 are currently cached in the original memory space, specifically between the first cache location and the second cache location, that is, the address pointer of the SDU with SN 4 at the first cache location is the start location of the cached SDU in the original memory space, and the second cache location is the start location of the SDU with SN 8 to be cached in the original memory space.
And determining a third cache position of the SDU address pointer corresponding to the third sending variable in the target memory space and a fourth cache position of the SDU address pointer corresponding to the fourth sending variable in the target memory space by the adjusted window value of the sending window.
And then, caching the SDU address pointer cached in the original memory space to a target memory space based on the position relation between the third cache position and the second cache position and the memory relation between the third cache position and the fourth cache position.
After the sending window is adjusted, the buffer positions of the SDU address pointers corresponding to the SNs in the sending window in the original memory space may be traversed, and the SDU address pointers corresponding to each SN are moved to corresponding positions in the target memory space, respectively. In this embodiment of the present application, in order to improve the caching efficiency, a memory copy function (memcpy) may be used to cache the SDU address pointer cached in the original memory space to the target memory space based on the location relationship between the first cache location and the second cache location and the memory relationship between the third cache location and the fourth cache location.
The buffer position of the SDU address pointer corresponding to the SN can be calculated by an SN% window value, where "%" represents a modulo operation. In the present embodiment, the larger window value is denoted as win1, and the smaller window value is denoted as win 0.
In the case of enlarging the transmission window, that is, in the case where the window value of the transmission window before adjustment is smaller than the window value of the transmission window after adjustment, the window value of the transmission window before adjustment is denoted as win0, and the window value of the transmission window after adjustment is denoted as win1, the first buffer position may be denoted as TX _ NEXT _ ACK% win0, the second buffer position may be denoted as TX _ NEXT% win0, the third buffer position may be denoted as TX _ NEXT _ ACK% win1, and the fourth buffer position may be denoted as TX _ NEXT% win 1.
As shown in fig. 5, if the window value of the sending window before adjustment is smaller than the window value of the sending window after adjustment, the process of caching the SDU address pointer cached in the original memory space into the target memory space specifically includes the following three situations.
In case one, if the first buffer location is located before the second buffer location and the third buffer location is located before the fourth buffer location, the SDU address pointer cached in the original memory space is integrally moved to a location between the third buffer location and the fourth buffer location in the target memory space.
Case one can be represented as: TX _ NEXT _ ACK% win0< TX _ NEXT% win0 and TX _ NEXT _ ACK% win1< TX _ NEXT% win 1.
Referring to fig. 5, in the original memory space, in order from the SN smaller to the SN larger, SDU address pointers corresponding to TX _ NEXT _ ACK to TX _ NEXT are buffered between TX _ NEXT _ ACK% win0 to TX _ NEXT% win 0. As can be seen from TX _ NEXT _ ACK% win1< TX _ NEXT% win1, in the target memory space, the SDU address pointers are also stored in descending order, so that the whole SDU address pointers cached in the original memory space are directly moved to the position between TX _ NEXT _ ACK% win1 and TX _ NEXT% win1 in the target memory space. That is, the SDU address pointers cached in the shaded portion of the original memory space in the case of fig. 5 are moved to the shaded portion of the target memory space as a whole.
And a second situation, if the first cache position is located behind the second cache position and the third cache position is located before the fourth cache position, integrally moving the SDU address pointer between the starting position and the second cache position in the original memory space to the position in front of the fourth cache position in the target memory space, and integrally moving the SDU address pointer between the first cache position and the ending position in the original memory space to the position behind the third cache position in the target memory space.
Case two can be represented as: TX _ NEXT _ ACK% win0> TX _ NEXT% win0 and TX _ NEXT _ ACK% win1< TX _ NEXT% win 1.
Referring to fig. 5, the buffering positions of the SDU address pointers in the original memory space are not completely arranged in the order of SN from small to large due to the modulo operation, but are inverted. But in the target memory space, the SDU address pointers are arranged in order of SN from small to large. Therefore, the SDU address pointer from the start position in the original memory space to TX _ NEXT _ ACK% win0 is moved to the rear of TX _ NEXT _ ACK% win1 in the target memory space as a whole; the SDU address pointers from TX _ NEXT% win0 in the original memory space to the end position are moved to the front of TX _ NEXT% win1 in the target memory space as a whole.
That is, the SDU address pointer cached in the shadow part of the original memory space in the second case of fig. 5 is integrally moved to the shadow part of the target memory space; and the SDU ground cached in the black part of the original memory space is a pointer, and the whole is moved to the black part of the target memory space.
And a third situation, if the first cache position is located behind the second cache position and the third cache position is located behind the fourth cache position, integrally moving the SDU address pointer between the starting position and the first cache position in the original memory space to a position between the starting position and the third cache position in the target memory space, and integrally moving the SDU address pointer between the fourth cache position and the ending position in the original memory space to a position between the fourth cache position and the ending position in the target memory space.
Case three can be expressed as: TX _ NEXT _ ACK% win0> TX _ NEXT% win0 and TX _ NEXT _ ACK% win1> TX _ NEXT% win 1.
Referring to fig. 5, due to the modulo operation, neither the buffer location of the SDU address pointer in the original memory space nor the buffer location in the target memory space is completely arranged according to the order from small to large of the SN, and the buffer locations are inverted.
Therefore, the SDU address pointers from the start location in the original memory space to TX _ NEXT _ ACK% win0 are moved to the start location in the target memory space to TX _ NEXT _ ACK% win1 as a whole. And the SDU address pointer between TX _ NEXT _ ACK% win0 in the original memory space and the end position is integrally moved to the position between TX _ NEXT _ ACK% win1 in the target memory space and the end position.
That is, the SDU address pointer cached in the black portion of the original memory space in the third scenario of fig. 5 is integrally moved to the black portion of the target memory space; and integrally moving the SDU address pointer cached in the shadow part of the original memory space to the shadow part of the target memory space.
As shown in fig. 6, if the window value of the sending window before adjustment is greater than the window value of the sending window after adjustment, the process of caching the SDU address pointer cached in the original memory space into the target memory space based on the positional relationship between the first cache position and the second cache position and the positional relationship between the third cache position and the fourth cache position specifically includes the following three situations:
in case one, if the first buffer location is located before the second buffer location and the third buffer location is located before the fourth buffer location, the SDU address pointer cached in the original memory space is integrally moved to a location between the third buffer location and the fourth buffer location in the target memory space.
Case one can be represented as: TX _ NEXT _ ACK% win1< TX _ NEXT% win1 and TX _ NEXT _ ACK% win0< TX _ NEXT% win 0.
Referring to fig. 6, in the original memory space, according to the sequence of SN from small to large, SDU address pointers corresponding to TX _ NEXT _ ACK to TX _ NEXT are buffered between TX _ NEXT _ ACK% win1 to TX _ NEXT% win1, and the whole part of SDU memory pointers can be moved to between TX _ NEXT _ ACK% win0 to TX _ NEXT% win0 in the target memory space. That is, the SDU address pointer buffered in the shaded portion of fig. 6 is moved to the shaded portion of the target memory space as a whole.
And in case two, if the first cache position is located before the second cache position and the third cache position is located after the fourth cache position, integrally moving the SDU address pointer in the first specified space after the first cache position in the original memory space to a position between the third cache position and the end position in the target memory space, and integrally moving the SDU address in the second specified space before the second cache position in the original memory space to a position between the start position and the fourth cache position in the target memory space.
The size of the first designated space is the same as the size of a memory space between a third cache position and an end position in the target memory space, and the size of the second designated space is the same as the size of a memory between a starting position and a fourth cache position in the target memory space.
Case two can be represented as: TX _ NEXT _ ACK% win1< TX _ NEXT% win1 and TX _ NEXT _ ACK% win0> TX _ NEXT% win 0.
Referring to fig. 6, in the original memory space, the SDU address pointers are arranged in the order of SN from small to large, but in the target memory space, the SDU address pointers are not completely arranged in the order of SN from small to large, and the buffer locations are flipped.
Therefore, the SDU address pointer cached in the shadow part in the original memory space in case two in fig. 6 is integrally moved to the shadow part in the target memory space; and integrally moving the SDU address pointer cached in the black part in the original memory space to the black part in the target memory space. The shaded portion of case two in fig. 6 represents the above-mentioned first designated space, and the black portion represents the above-mentioned second designated space.
And a third situation, if the first cache position is located behind the second cache position and the third cache position is located behind the fourth cache position, integrally moving the SDU address pointer between the starting position and the first cache position in the original memory space to a position between the starting position and the fourth cache position in the target memory space, and integrally moving the SDU address pointer between the second cache position and the ending position in the original memory space to a position between the third cache position and the ending position in the target memory space.
Case three can be expressed as: TX _ NEXT _ ACK% win1> TX _ NEXT% win1 and TX _ NEXT _ ACK% win0> TX _ NEXT% win 0.
Referring to fig. 6, due to the modulo operation, neither the buffer location of the SDU address pointer in the original memory space nor the buffer location in the target memory space is completely arranged according to the order from small to large of the SN, and the buffer locations are inverted.
Therefore, the SDU address pointer cached in the black part of the original memory space in case three in fig. 6 is integrally moved to the black part of the target memory space; and integrally moving the SDU address pointer cached in the shadow part of the original memory space to the shadow part of the target memory space.
By adopting the technical scheme, after the target memory space is allocated based on the adjusted window value of the sending window, all the SDU address pointers cached in the original memory space can be integrally moved to the target memory space, or the SDU address pointers cached in the whole section of the original memory space can be integrally moved to the target memory space.
Corresponding to the foregoing embodiment, an embodiment of the present application provides another method for adjusting a transmission window, where the method is applied to a receiving device, where the receiving device may be a network device serving as the receiving device in fig. 1, and the network device may specifically be a base station. As shown in fig. 7, the method includes:
s701, acquiring the quantity of SN to be confirmed, wherein the quantity of SN to be confirmed is the difference value between a first receiving variable and a second receiving variable, the first receiving variable is the maximum SN of the received SDU, and the second receiving variable is the maximum SN of the received continuous SDU confirmed to the opposite terminal.
For example, if the receiving device has received SDUs with SNs 1, 2, 3, 4, 5, 6, and 7, and the current receiving device has sent acknowledgement messages for SDUs with SNs 1, 2, and 3 to the peer, the first receiving variable is 7, the second receiving variable is 3, and the number of SNs to be acknowledged is 4, that is, the receiving device has not yet replied to the peer for acknowledgement messages for SDUs with SNs 4, 5, 6, and 7. The above is merely an exemplary illustration, and in practical implementations, the number of SNs to be acknowledged by the receiving device is not limited thereto.
S702, adjusting the receiving window according to the difference value between the current receiving window value and the SN number to be confirmed.
And S703, reallocating the memory space for caching the SDU address pointer based on the adjusted receiving window.
The memory space is used for caching the address pointer of the SDU which is received by the receiving equipment but does not feed back the confirmation message to the opposite end.
Compared with the prior art that a fixed-size memory space is allocated through a fixed receiving window, the method has the advantages that the receiving window can be dynamically adjusted according to the difference value between the current receiving window value and the SN number to be confirmed, and the memory space is reallocated based on the adjusted receiving window. Since the SN to be confirmed is the maximum SN of the SDU received by the receiving device and the maximum SN of the received and confirmed continuous SDUs to the opposite end, the receiving window is adjusted according to the difference between the current value of the receiving window and the number of SNs to be confirmed, so that the size of the adjusted receiving window can be matched with the number of SDUs actually received. And the memory space is used for caching the address pointers of the SDUs which are received and not confirmed to the opposite end, so that the memory space distributed based on the adjusted receiving window is matched with the number of the address pointers of the SDUs which need to be cached in the memory space, and the waste of memory resources is avoided.
In the embodiment of the application, can be based onThe type of the radio bearer and the type of the service data set the initial size value of the receiving window corresponding to each radio bearer. Alternatively, the same initial size value may be set for the receiving window corresponding to each radio bearer, for example, set to 212
Accordingly, the receiving device may allocate memory space for buffering the SDU address pointer based on the initial size value of the receive window. In the subsequent process of receiving data by the receiving device, the receiving window may be dynamically adjusted based on the method flow shown in fig. 7.
In an embodiment of the application, the step S702 of adjusting the receiving window according to a difference between the current receiving window value and the SN number to be confirmed may specifically be implemented as:
and if the difference value between the current receiving window value and the number of the SN to be confirmed is smaller than a first preset threshold value, expanding the receiving window.
For example, if the current receiving window value is 212And the number of SN to be confirmed is close to 212It means that the actual data amount is larger at present, so the transmission window can be expanded to support higher transmission rate.
And if the difference value between the current receiving window value and the SN number to be confirmed is larger than a second preset threshold value, reducing the receiving window.
For example, if the current receiving window value is 212And the number of SN to be confirmed is less than 211It is indicated that the actual data size is much smaller than the sending window value, so the sending window can be reduced to avoid the waste of memory resources.
In one embodiment, a receiving device stores a preset window value set, where the preset window value set includes a plurality of window values arranged in a descending order.
As an example, the preset set of window values may include: 212、213、214、215、216、217. In the embodiment of the present application, the window values of the receiving window are all powers of 2, and the maximum value of the window value of the receiving window is 217Namely 131072.
The expanding the receiving window may specifically be implemented as: and acquiring a next-level window value adjacent to the current receiving window value from the preset window value set, and updating the window value of the receiving window to the next-level window value adjacent to the current receiving window value.
The above-mentioned narrowing of the sending window may specifically be implemented as: and acquiring a previous-level window value adjacent to the current receiving window value from a preset window value set, and updating the window value of the receiving window to the previous-level window value adjacent to the current receiving window value.
In another embodiment, the receiving device may adjust the receive window by a fixed step size.
The expanding the receiving window may specifically be implemented as: and taking the window value obtained by adding the fixed step length to the current receiving window as the updated window value of the receiving window.
The above narrowing of the receiving window may be specifically implemented as: and taking the window value obtained by subtracting the fixed step length from the current receiving window as the updated window value of the receiving window.
By adopting the embodiment of the application, the receiving equipment can dynamically adjust the window value of the receiving window according to the difference value between the current sending window value and the number of the SNs to be confirmed, so that the window value of the receiving window is matched with the number of the SNs to be confirmed, and the waste of memory resources is avoided. And the receiving equipment enlarges the receiving window or reduces the receiving window based on the preset window value set, thereby avoiding frequent window expansion or window reduction operation.
In another embodiment of the present application, in the above S703, reallocating, based on the adjusted receiving window, a memory space for caching the SDU address pointer, which may be specifically implemented as:
and allocating a target memory space based on the window value of the adjusted receiving window, wherein the target memory space is used for caching the address pointer of the SDU corresponding to each SN in the adjusted receiving window. Then, the SDU address pointer cached in the original memory space is cached to the target memory space, and the original memory space is released.
The following describes a process in which the receiving device caches the SDU address pointer cached in the original memory space into the target memory space.
The receiving device may determine, by adjusting a window value of the previous receiving window, a first buffer location of the SDU address pointer corresponding to the third receiving variable in the original memory space, and a second buffer location of the SDU address pointer corresponding to the fourth receiving variable in the original memory space.
The SDU corresponding to the third receiving variable is the Next SDU received after the SDU corresponding to the second receiving variable, and the third receiving variable may be denoted as RX _ Next. The SDU corresponding to the fourth receiving variable is an SDU to be received Next after the SDU corresponding to the third receiving variable, and the fourth receiving variable may be denoted as RX _ Next _ Highest.
In this embodiment of the present application, if the receiving device has received SDUs with SNs 1, 2, 3, 4, 5, 6, and 7, and the current receiving device has sent an acknowledgement message for SDUs with SNs 1, 2, and 3 to the opposite end, the first receive variable is 7, and the second receive variable is 3. Accordingly, the third received variable is 4 and the fourth received variable is 8.
That is, currently, acknowledgement messages of 4 SDUs with SNs of 4, 5, 6, and 7 are to be fed back to the opposite end, where the 4 SDUs with SNs of 4, 5, 6, and 7 are currently cached in the original memory space, and specifically cached between the first cache location and the second cache location of the receiving device, that is, the first cache location is the start location where the address pointer of the SDU with SN of 4 is cached in the original memory space, and the second cache location is the start location where the SDU with SN of 8 is to be cached in the original memory space.
And determining a third cache position of the SDU address pointer corresponding to the third receiving variable in the target memory space and a fourth cache position of the SDU address pointer corresponding to the fourth receiving variable in the target memory space by the adjusted window value of the receiving window.
And then, caching the SDU address pointer cached in the original memory space to a target memory space based on the position relationship between the first cache position and the second cache position and the position relationship between the third cache position and the fourth cache position.
In this embodiment of the present application, in order to improve the caching efficiency, a memory copy function may be used to cache the SDU address pointer cached in the original memory space into the target memory space.
The buffer position of the SDU address pointer corresponding to the SN can be calculated by an SN% window value, where "%" represents a modulo operation. In the embodiment of the present application, a larger window value is denoted as win1, and a smaller window value is denoted as win 0.
For the case of enlarging the receive window, the window value of the receive window before adjustment is smaller than the window value of the receive window after adjustment. The window value of the receive window before adjustment may be denoted as win0 and the window value of the receive window after adjustment may be denoted as win 1. Then the first cache location may be represented as RX _ Next% win0, the second cache location may be represented as RX _ Next _ high% win0, the third cache location may be represented as RX _ Next% win1, and the fourth cache location may be represented as RX _ Next _ high% win 1.
As shown in fig. 8, if the window value of the receiving window before adjustment is smaller than the window value of the receiving window after adjustment, the process of caching the SDU address pointer cached in the original memory space into the target memory space based on the positional relationship between the first cache position and the second cache position and the positional relationship between the third cache position and the fourth cache position specifically includes the following three situations.
In case one, if the first buffer location is located before the second buffer location and the third buffer location is located before the fourth buffer location, the SDU address pointer cached in the original memory space is integrally moved to a location between the third buffer location and the fourth buffer location in the target memory space.
Case one can be represented as: RX _ Next% win0< RX _ Next _ Highest% win0, and RX _ Next% win1< RX _ Next _ Highest% win 1.
Referring to fig. 8, the SDU address pointers cached in the shaded portion of the original memory space in the case of fig. 8 can be moved to the shaded portion of the target memory space as a whole.
And in case two, if the first cache position is located behind the second cache position and the third cache position is located in front of the fourth cache position, the SDU address pointer between the starting position and the second cache position in the original memory space is integrally moved to the front of the fourth cache position in the target memory space, and the SDU address pointer between the first cache position and the ending position in the original memory space is integrally moved to the rear of the third cache position in the target memory space.
Case two can be represented as: RX _ Next% win0> RX _ Next _ Highest% win0, and RX _ Next% win1< RX _ Next _ Highest% win 1.
Referring to fig. 8, the SDU address pointer cached in the shaded portion of the original memory space in case two of fig. 8 can be moved to the shaded portion of the target memory space as a whole; and the SDU ground cached in the black part of the original memory space is a pointer, and the whole is moved to the black part of the target memory space.
And a third situation, if the first cache position is located behind the second cache position and the third cache position is located behind the fourth cache position, integrally moving the SDU address pointer between the starting position and the first cache position in the original memory space to a position between the starting position and the third cache position in the target memory space, and integrally moving the SDU address pointer between the fourth cache position and the ending position in the original memory space to a position between the fourth cache position and the ending position in the target memory space.
Case three can be expressed as: RX _ Next% win0> RX _ Next _ Highest% win0, and RX _ Next% win1> RX _ Next _ Highest% win 1.
Referring to fig. 8, the SDU address pointers cached in the black portion of the original memory space in case three of fig. 8 can be moved to the black portion of the target memory space as a whole; and integrally moving the SDU address pointer cached in the shadow part of the original memory space to the shadow part of the target memory space.
As shown in fig. 9, if the window value of the receiving window before adjustment is greater than the window value of the receiving window after adjustment, the process of caching the SDU address pointer cached in the original memory space into the target memory space based on the positional relationship between the first cache position and the second cache position and the positional relationship between the third cache position and the fourth cache position specifically includes the following three situations:
in case one, if the first buffer location is located before the second buffer location and the third buffer location is located before the fourth buffer location, the SDU address pointer cached in the original memory space is integrally moved to a location between the third buffer location and the fourth buffer location in the target memory space.
Case one can be represented as: RX _ Next% win1< RX _ Next _ Highest% win1, and RX _ Next% win0< RX _ Next _ Highest% win 0.
Referring to fig. 9, the SDU address pointers cached in the shaded portion of the original memory space in the case of fig. 9 can be moved to the shaded portion of the target memory space as a whole.
And in case two, if the first cache position is located before the second cache position and the third cache position is located after the fourth cache position, integrally moving the SDU address pointer in the first specified space after the first cache position in the original memory space to a position between the third cache position and the end position in the target memory space, and integrally moving the SDU address in the second specified space before the second cache position in the original memory space to a position between the start position and the fourth cache position in the target memory space.
The size of the first designated space is the same as the size of a memory space between a third cache position and an end position in the target memory space, and the size of the second designated space is the same as the size of a memory between a starting position and a fourth cache position in the target memory space.
Case two can be represented as: RX _ Next% win1< RX _ Next _ Highest% win1, and RX _ Next% win0> RX _ Next _ Highest% win 0.
Referring to fig. 9, moving the SDU address pointer cached in the shaded portion of the original memory space in case two of fig. 9 to the shaded portion of the target memory space as a whole; and integrally moving the SDU address pointer cached in the black part in the original memory space to the black part in the target memory space. The shaded portion of case two in fig. 9 represents the above-mentioned first designated space, and the black portion represents the above-mentioned second designated space.
And a third situation, if the first cache position is located behind the second cache position and the third cache position is located behind the fourth cache position, integrally moving the SDU address pointer between the starting position and the first cache position in the original memory space to a position between the starting position and the fourth cache position in the target memory space, and integrally moving the SDU address pointer between the second cache position and the ending position in the original memory space to a position between the third cache position and the ending position in the target memory space.
Case three can be expressed as: RX _ Next% win1> RX _ Next _ Highest% win1, and RX _ Next% win0> RX _ Next _ Highest% win 0.
Referring to fig. 9, the SDU address pointer cached in the black part of the original memory space in case three in fig. 9 can be moved to the black part of the target memory space as a whole; and integrally moving the SDU address pointer cached in the shadow part of the original memory space to the shadow part of the target memory space.
By adopting the technical scheme, after the target memory space is allocated based on the adjusted window value of the receiving window, all SDU address pointers cached in the original memory space can be integrally moved to the target memory space, or the SDU address pointers cached in the whole section of the original memory space can be integrally moved to the target memory space.
Based on the same inventive concept, the embodiment of the present application further provides a transmitting apparatus, as shown in fig. 10, the transmitting apparatus includes a memory 120, a transceiver 110, a processor 100:
a memory 120 for storing a computer program; a transceiver 110 for transceiving data under the control of the processor 100; a processor 100 for reading the computer program in the memory 120 and performing the following operations:
acquiring the SN number of serial numbers to be confirmed, wherein the SN number to be confirmed is the difference value between a first sending variable and a second sending variable, the first sending variable is the maximum SN of a sent SDU, and the second sending variable is the maximum SN of a confirmed continuous SDU;
adjusting a sending window according to the difference between the current sending window value and the number of SN to be confirmed;
and reallocating the memory space for caching the SDU address pointer based on the adjusted sending window.
In one embodiment, the processor 100 is specifically configured to read the computer program in the memory 120 and perform the following operations:
if the difference value between the current sending window value and the number of the SNs to be confirmed is smaller than a first preset threshold value, the sending window is expanded;
and if the difference value between the current sending window value and the number of the SNs to be confirmed is larger than a second preset threshold value, reducing the sending window.
In one embodiment, the processor 100 is specifically configured to read the computer program in the memory 120 and perform the following operations:
acquiring a next-level window value adjacent to the current sending window value from a preset window value set, and updating the window value of the sending window to the next-level window value adjacent to the current sending window value; the preset window value set comprises a plurality of window values which are arranged from small to big;
and acquiring a previous-level window value adjacent to the current sending window value from a preset window value set, and updating the window value of the sending window to the previous-level window value adjacent to the current sending window value.
In one embodiment, the processor 100 is specifically configured to read the computer program in the memory 120 and perform the following operations:
distributing a target memory space based on the window value of the adjusted sending window, wherein the target memory space is used for caching address pointers of SDUs corresponding to SN in the adjusted sending window;
and caching the SDU address pointer cached in the original memory space to a target memory space, and releasing the original memory space.
In one embodiment, the processor 100 is specifically configured to read the computer program in the memory 120 and perform the following operations:
determining a first cache position of an SDU address pointer corresponding to a third sending variable in an original memory space and a second cache position of an SDU address pointer corresponding to a fourth sending variable in the original memory space by adjusting a window value of a front sending window, wherein the SDU corresponding to the third sending variable is a next SDU sent after the SDU corresponding to the second sending variable, and the SDU corresponding to the fourth sending variable is a next SDU to be sent after the SDU corresponding to the first sending variable;
determining a third cache position of the SDU address pointer corresponding to the third sending variable in the target memory space and a fourth cache position of the SDU address pointer corresponding to the fourth sending variable in the target memory space through the adjusted window value of the sending window;
and caching the SDU address pointer cached in the original memory space to a target memory space based on the position relationship between the first cache position and the second cache position and the position relationship between the third cache position and the fourth cache position.
In one embodiment, if the window value of the sending window before adjustment is smaller than the window value of the sending window after adjustment, the processor 100 is specifically configured to read the computer program in the memory 120 and perform the following operations:
if the first cache position is located in front of the second cache position and the third cache position is located in front of the fourth cache position, integrally moving the SDU address pointer cached in the original memory space to a position between the third cache position and the fourth cache position in the target memory space;
if the first cache position is behind the second cache position and the third cache position is in front of the fourth cache position, integrally moving the SDU address pointer between the initial position and the second cache position in the original memory space to be in front of the fourth cache position in the target memory space, and integrally moving the SDU address pointer between the first cache position and the end position in the original memory space to be behind the third cache position in the target memory space;
if the first cache position is behind the second cache position and the third cache position is behind the fourth cache position, the SDU address pointer between the initial position and the first cache position in the original memory space is integrally moved to a position between the initial position and the third cache position of the target memory space, and the SDU address pointer between the fourth cache position and the end position in the original memory space is integrally moved to a position between the fourth cache position and the end position of the target memory space;
if the window value of the sending window before adjustment is greater than the window value of the sending window after adjustment, the processor 100 is specifically configured to read the computer program in the memory 120 and execute the following operations:
if the first cache position is located in front of the second cache position and the third cache position is located in front of the fourth cache position, integrally moving the SDU address pointer cached in the original memory space to a position between the third cache position and the fourth cache position in the target memory space;
if the first cache position is located in front of the second cache position and the third cache position is located behind the fourth cache position, integrally moving the SDU address pointer in the first designated space behind the first cache position in the original memory space to a position between the third cache position and the end position of the target memory space, and integrally moving the SDU address in the second designated space in front of the second cache position in the original memory space to a position between the starting position and the fourth cache position of the target memory space; the size of the first designated space is the same as the size of a memory space between a third cache position and an end position in the target memory space, and the size of the second designated space is the same as the size of a memory between a starting position and a fourth cache position in the target memory space;
if the first cache position is behind the second cache position and the third cache position is behind the fourth cache position, the SDU address pointer between the initial position and the first cache position in the original memory space is integrally moved to a position between the initial position and the fourth cache position in the target memory space, and the SDU address pointer between the second cache position and the end position in the original memory space is integrally moved to a position between the third cache position and the end position in the target memory space.
A transceiver 110 for receiving and transmitting data under the control of the processor 100.
Where, in fig. 10, the bus architecture may include any number of interconnected buses and bridges, in particular one or more processors, represented by processor 100, and various circuits of memory, represented by memory 120, linked together. The bus architecture may also link together various other circuits such as peripherals, voltage regulators, power management circuits, and the like, which are well known in the art, and therefore, will not be described any further herein. The bus interface provides an interface. The transceiver 110 may be a number of elements including a transmitter and a receiver that provide a means for communicating with various other apparatus over a transmission medium including wireless channels, wired channels, fiber optic cables, and the like. The processor 100 is responsible for managing the bus architecture and general processing, and the memory 120 may store data used by the processor 100 in performing operations.
The processor 100 may be a Central Processing Unit (CPU), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), or a Complex Programmable Logic Device (CPLD), and may also have a multi-core architecture.
It should be noted that, the sending device provided in the embodiment of the present invention can implement all the method steps implemented by the sending device in the embodiment of the method, and can achieve the same technical effect, and detailed descriptions of the same parts and beneficial effects as those of the embodiment of the method are omitted here.
The embodiment of the present application provides a receiving device, which has the same structure as the transmitting device shown in fig. 10, and includes a memory 120, a transceiver 110, a processor 100:
a memory 120 for storing a computer program; a transceiver 110 for transceiving data under the control of the processor 100; a processor 100 for reading the computer program in the memory 120 and performing the following operations:
acquiring the number of SN (serial numbers) of the serial numbers to be confirmed, wherein the number of the SN to be confirmed is the difference value between a first receiving variable and a second receiving variable, the first receiving variable is the maximum SN of the received SDU, and the second receiving variable is the maximum SN of the received continuous SDU confirmed to the opposite end;
adjusting a receiving window according to the difference value between the current receiving window value and the number of SN to be confirmed;
and reallocating the memory space for caching the SDU address pointer based on the adjusted receiving window.
In one embodiment, the processor 100 is specifically configured to read the computer program in the memory 120 and perform the following operations:
if the difference value between the current receiving window value and the number of SN to be confirmed is smaller than a first preset threshold value, the receiving window is expanded;
and if the difference value between the current receiving window value and the SN number to be confirmed is larger than a second preset threshold value, reducing the receiving window.
In one embodiment, the processor 100 is specifically configured to read the computer program in the memory 120 and perform the following operations:
acquiring a next-level window value adjacent to the current receiving window value from a preset window value set, and updating the window value of the receiving window to the next-level window value adjacent to the current receiving window value; the preset window value set comprises a plurality of window values which are arranged from small to big;
and acquiring a previous-level window value adjacent to the current receiving window value from a preset window value set, and updating the window value of the receiving window to the previous-level window value adjacent to the current receiving window value.
In one embodiment, the processor 100 is specifically configured to read the computer program in the memory 120 and perform the following operations:
distributing a target memory space based on the window value of the adjusted receiving window, wherein the target memory space is used for caching address pointers of SDUs corresponding to SN in the adjusted receiving window;
and caching the SDU address pointer cached in the original memory space to a target memory space, and releasing the original memory space.
In one embodiment, the processor 100 is specifically configured to read the computer program in the memory 120 and perform the following operations:
determining a first buffer position of an SDU address pointer corresponding to a third receiving variable in an original memory space and a second buffer position of an SDU address pointer corresponding to a fourth receiving variable in the original memory space by adjusting a window value of a front receiving window, wherein the SDU corresponding to the third receiving variable is a next SDU received after the SDU corresponding to the second receiving variable, and the SDU corresponding to the fourth receiving variable is a next SDU to be received after the SDU corresponding to the first receiving variable;
determining a third cache position of an SDU address pointer corresponding to a third receiving variable in a target memory space and a fourth cache position of an SDU address pointer corresponding to a fourth receiving variable in the target memory space through the adjusted window value of the receiving window;
and caching the SDU address pointer cached in the original memory space to a target memory space based on the position relationship between the first cache position and the second cache position and the position relationship between the third cache position and the fourth cache position.
In one embodiment, if the window value of the pre-adjustment receiving window is smaller than the window value of the post-adjustment receiving window, the processor 100 is specifically configured to read the computer program in the memory 120 and perform the following operations:
if the first cache position is located in front of the second cache position and the third cache position is located in front of the fourth cache position, integrally moving the SDU address pointer cached in the original memory space to a position between the third cache position and the fourth cache position in the target memory space;
if the first cache position is behind the second cache position and the third cache position is in front of the fourth cache position, the SDU address pointer between the initial position and the second cache position in the original memory space is integrally moved to the front of the fourth cache position in the target memory space, and the SDU address pointer between the first cache position and the end position in the original memory space is integrally moved to the rear of the third cache position in the target memory space;
if the first cache position is behind the second cache position and the third cache position is behind the fourth cache position, the SDU address pointer between the initial position and the first cache position in the original memory space is integrally moved to a position between the initial position and the third cache position of the target memory space, and the SDU address pointer between the fourth cache position and the end position in the original memory space is integrally moved to a position between the fourth cache position and the end position of the target memory space;
if the window value of the receiving window before adjustment is greater than the window value of the receiving window after adjustment, the processor 100 is specifically configured to read the computer program in the memory 120 and execute the following operations:
if the first cache position is located in front of the second cache position and the third cache position is located in front of the fourth cache position, integrally moving the SDU address pointer cached in the original memory space to a position between the third cache position and the fourth cache position in the target memory space;
if the first cache position is located in front of the second cache position and the third cache position is located behind the fourth cache position, integrally moving the SDU address pointer in the first designated space behind the first cache position in the original memory space to a position between the third cache position and the end position of the target memory space, and integrally moving the SDU address in the second designated space in front of the second cache position in the original memory space to a position between the starting position and the fourth cache position of the target memory space; the size of the first designated space is the same as the size of a memory space between a third cache position and an end position in the target memory space, and the size of the second designated space is the same as the size of a memory between a starting position and a fourth cache position in the target memory space;
if the first cache position is behind the second cache position and the third cache position is behind the fourth cache position, the SDU address pointer between the initial position and the first cache position in the original memory space is integrally moved to a position between the initial position and the fourth cache position in the target memory space, and the SDU address pointer between the second cache position and the end position in the original memory space is integrally moved to a position between the third cache position and the end position in the target memory space.
It should be noted that, the receiving device provided in the embodiment of the present invention can implement all the method steps implemented by the receiving device in the embodiment of the method, and can achieve the same technical effect, and detailed descriptions of the same parts and beneficial effects as those of the embodiment of the method are omitted here.
An embodiment of the present application further provides an apparatus for adjusting a transmission window, where the apparatus is applied to a sending device, and as shown in fig. 11, the apparatus includes:
an obtaining unit 1101, configured to obtain a number of SN of a serial number to be confirmed, where the number of SN of the serial number to be confirmed is a difference between a first transmission variable and a second transmission variable, the first transmission variable is a maximum SN of a transmitted SDU, and the second transmission variable is a maximum SN of consecutive SDUs that have been confirmed;
an adjusting unit 1102, configured to adjust a sending window according to a difference between a current sending window value and the SN number to be confirmed;
an allocating unit 1103, configured to reallocate the memory space for buffering the SDU address pointer based on the adjusted sending window.
It should be noted that, the apparatus provided in the embodiment of the present invention can implement all the method steps implemented by the sending device in the embodiment of the method, and can achieve the same technical effect, and detailed descriptions of the same parts and beneficial effects as those in the embodiment of the method are omitted here.
An embodiment of the present application further provides another apparatus for adjusting a transmission window, where the apparatus is applied to a receiving device, as shown in fig. 12, and the apparatus includes:
an obtaining unit 1201, configured to obtain a number of SN of a sequence number to be confirmed, where the number of SN of the sequence number to be confirmed is a difference between a first receiving variable and a second receiving variable, the first receiving variable is a maximum SN of a received SDU, and the second receiving variable is a maximum SN of a received and confirmed to an opposite end consecutive SDU;
an adjusting unit 1202, configured to adjust a receiving window according to a difference between a current receiving window value and the SN number to be confirmed;
an allocating unit 1203 is configured to reallocate a memory space for buffering the SDU address pointer based on the adjusted receiving window.
It should be noted that, the apparatus provided in the embodiment of the present invention can implement all the method steps implemented by the receiving device in the embodiment of the method, and can achieve the same technical effect, and detailed descriptions of the same parts and beneficial effects as those in the embodiment of the method are omitted here.
It should be noted that the division of the unit in the embodiment of the present application is schematic, and is only a logic function division, and there may be another division manner in actual implementation. In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented as a software functional unit and sold or used as a stand-alone product, may be stored in a processor readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, a network device, or the like) or a processor (processor) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
In another embodiment provided by the present application, a processor-readable storage medium is further provided, in which a computer program is stored, and the computer program, when executed by a processor, implements the steps of any of the above-mentioned adjustment methods for a transmission window.
The processor-readable storage medium can be any available medium or data storage device that can be accessed by a processor, including, but not limited to, magnetic memory (e.g., floppy disks, hard disks, magnetic tape, magneto-optical disks (MOs), etc.), optical memory (e.g., CDs, DVDs, BDs, HVDs, etc.), and semiconductor memory (e.g., ROMs, EPROMs, EEPROMs, non-volatile memory (NAND FLASH), Solid State Disks (SSDs)), etc.
In another embodiment provided by the present application, there is also provided a computer program product containing instructions, which when run on a computer, causes the computer to execute the method for adjusting a transmission window according to any one of the above embodiments.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the invention to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It should be noted that, in this document, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, as for the apparatus, the transmitting device, the receiving device and the medium embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and for the relevant points, reference may be made to the partial description of the method embodiments.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (21)

1. A method for adjusting a transmission window, the method being applied to a transmitting device, the method comprising:
acquiring the number of SN (serial number) of serial numbers to be confirmed, wherein the number of SN to be confirmed is the difference value between a first sending variable and a second sending variable, the first sending variable is the maximum SN of a sent Service Data Unit (SDU), and the second sending variable is the maximum SN of a confirmed continuous SDU;
adjusting a sending window according to the difference value between the current sending window value and the SN quantity to be confirmed;
and reallocating the memory space for caching the SDU address pointer based on the adjusted sending window.
2. The method of claim 1, wherein adjusting the transmission window according to the difference between the current transmission window value and the SN number to be confirmed comprises:
if the difference value between the current sending window value and the number of the SNs to be confirmed is smaller than a first preset threshold value, the sending window is expanded;
and if the difference value between the current sending window value and the number of the SNs to be confirmed is larger than a second preset threshold value, reducing the sending window.
3. The method of claim 2, wherein expanding the transmission window comprises:
acquiring a next-level window value adjacent to the current sending window value from a preset window value set, and updating the window value of the sending window to the next-level window value adjacent to the current sending window value; the preset window value set comprises a plurality of window values which are arranged from small to big;
the narrowing of the transmission window includes:
and acquiring a previous-level window value adjacent to the current sending window value from the preset window value set, and updating the window value of the sending window to the previous-level window value adjacent to the current sending window value.
4. The method of claim 1 or 3, wherein the reallocating memory space for buffering SDU address pointers based on the adjusted transmission window comprises:
allocating a target memory space based on the window value of the adjusted sending window, wherein the target memory space is used for caching address pointers of SDUs corresponding to SN in the adjusted sending window;
and caching the SDU address pointer cached in the original memory space to the target memory space, and releasing the original memory space.
5. The method according to claim 4, wherein the buffering the SDU address pointer buffered in the original memory space to the target memory space comprises:
determining a first buffer location of an SDU address pointer corresponding to a third sending variable in an original memory space and a second buffer location of an SDU address pointer corresponding to a fourth sending variable in the original memory space by adjusting a window value of a pre-sending window, where an SDU corresponding to the third sending variable is a next SDU to be sent after an SDU corresponding to the second sending variable, and an SDU corresponding to the fourth sending variable is a next SDU to be sent after the SDU corresponding to the first sending variable;
determining a third cache position of an SDU address pointer corresponding to the third sending variable in the target memory space and a fourth cache position of an SDU address pointer corresponding to the fourth sending variable in the target memory space by the adjusted window value of the sending window;
and caching the SDU address pointer cached in the original memory space to the target memory space based on the position relationship between the first cache position and the second cache position and the position relationship between the third cache position and the fourth cache position.
6. The method according to claim 5, wherein if the window value of the sending window before the adjustment is smaller than the window value of the sending window after the adjustment, caching the SDU address pointer cached in the original memory space into the target memory space based on the positional relationship between the first cache location and the second cache location and the positional relationship between the third cache location and the fourth cache location, includes:
if the first cache position is located before the second cache position and the third cache position is located before the fourth cache position, integrally moving the SDU address pointer cached in the original memory space to a position between the third cache position and the fourth cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located in front of the fourth cache position, integrally moving an SDU address pointer between a starting position and the second cache position in the original memory space to be in front of the fourth cache position in the target memory space, and integrally moving an SDU address pointer between the first cache position and an ending position in the original memory space to be behind the third cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located behind the fourth cache position, integrally moving an SDU address pointer between a starting position and the first cache position in an original memory space to a position between the starting position and the third cache position in the target memory space, and integrally moving an SDU address pointer between a fourth cache position and an ending position in the original memory space to a position between the fourth cache position and the ending position in the target memory space;
if the window value of the sending window before adjustment is greater than the window value of the sending window after adjustment, caching the SDU address pointer cached in the original memory space into the target memory space based on the positional relationship between the first cache position and the second cache position and the positional relationship between the third cache position and the fourth cache position, including:
if the first cache position is located before the second cache position and the third cache position is located before the fourth cache position, integrally moving the SDU address pointer cached in the original memory space to a position between the third cache position and the fourth cache position in the target memory space;
if the first cache position is located before the second cache position and the third cache position is located after the fourth cache position, integrally moving an SDU address pointer in a first designated space after the first cache position in the original memory space to a position between the third cache position and an end position of the target memory space, and integrally moving an SDU address in a second designated space before the second cache position in the original memory space to a position between an initial position and the fourth cache position of the target memory space; the size of the first designated space is the same as the size of the memory space from the third cache position to the end position in the target memory space, and the size of the second designated space is the same as the size of the memory between the starting position and the fourth cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located behind the fourth cache position, the SDU address pointer between the starting position and the first cache position in the original memory space is integrally moved to a position between the starting position and the fourth cache position in the target memory space, and the SDU address pointer between the second cache position and the ending position in the original memory space is integrally moved to a position between the third cache position and the ending position in the target memory space.
7. A method for adjusting a transmission window, the method being applied to a receiving device, the method comprising:
acquiring the number of SN (serial numbers) of serial numbers to be confirmed, wherein the number of SN to be confirmed is the difference value between a first receiving variable and a second receiving variable, the first receiving variable is the maximum SN of a received Service Data Unit (SDU), and the second receiving variable is the maximum SN of a received continuous SDU confirmed to an opposite terminal;
adjusting a receiving window according to the difference value between the current receiving window value and the SN number to be confirmed;
and reallocating the memory space for caching the SDU address pointer based on the adjusted receiving window.
8. The method of claim 7, wherein adjusting a receive window according to a difference between a current receive window value and the number of SNs to be acknowledged comprises:
if the difference value between the current receiving window value and the SN number to be confirmed is smaller than a first preset threshold value, the receiving window is expanded;
and if the difference value between the current receiving window value and the SN number to be confirmed is larger than a second preset threshold value, reducing the receiving window.
9. The method of claim 8, wherein expanding the receive window comprises:
acquiring a next-level window value adjacent to the current receiving window value from a preset window value set, and updating the window value of the receiving window to the next-level window value adjacent to the current receiving window value; the preset window value set comprises a plurality of window values which are arranged from small to big;
the narrowing of the transmission window includes:
and acquiring a previous-level window value adjacent to the current receiving window value from the preset window value set, and updating the window value of the receiving window to the previous-level window value adjacent to the current receiving window value.
10. The method according to claim 7 or 9, wherein the reallocating memory space for buffering SDU address pointers based on the adjusted receive window comprises:
allocating a target memory space based on the window value of the adjusted receiving window, wherein the target memory space is used for caching address pointers of SDUs corresponding to SN in the adjusted receiving window;
and caching the SDU address pointer cached in the original memory space to the target memory space, and releasing the original memory space.
11. The method according to claim 10, wherein the buffering the SDU address pointer buffered in the original memory space into the target memory space comprises:
determining a first buffer location of an SDU address pointer corresponding to a third receiving variable in an original memory space and a second buffer location of an SDU address pointer corresponding to a fourth receiving variable in the original memory space by adjusting a window value of a front receiving window, where an SDU corresponding to the third receiving variable is a next SDU received after an SDU corresponding to the second receiving variable, and an SDU corresponding to the fourth receiving variable is a next SDU to be received after the SDU corresponding to the first receiving variable;
determining a third cache position of an SDU address pointer corresponding to the third receiving variable in the target memory space and a fourth cache position of an SDU address pointer corresponding to the fourth receiving variable in the target memory space by the adjusted window value of the receiving window;
and caching the SDU address pointer cached in the original memory space to the target memory space based on the position relationship between the first cache position and the second cache position and the position relationship between the third cache position and the fourth cache position.
12. The method according to claim 11, wherein if the window value of the receiving window before the adjustment is smaller than the window value of the receiving window after the adjustment, caching the SDU address pointer cached in the original memory space into the target memory space based on the positional relationship between the first cache location and the second cache location and the positional relationship between the third cache location and the fourth cache location, includes:
if the first cache position is located before the second cache position and the third cache position is located before the fourth cache position, integrally moving the SDU address pointer cached in the original memory space to a position between the third cache position and the fourth cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located in front of the fourth cache position, integrally moving an SDU address pointer between a starting position and the second cache position in the original memory space to be in front of the fourth cache position in the target memory space, and integrally moving an SDU address pointer between the first cache position and an ending position in the original memory space to be behind the third cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located behind the fourth cache position, integrally moving an SDU address pointer between a starting position and the first cache position in an original memory space to a position between the starting position and the third cache position in the target memory space, and integrally moving an SDU address pointer between a fourth cache position and an ending position in the original memory space to a position between the fourth cache position and the ending position in the target memory space;
if the window value of the receiving window before adjustment is greater than the window value of the receiving window after adjustment, caching the SDU address pointer cached in the original memory space into the target memory space based on the positional relationship between the first cache position and the second cache position and the positional relationship between the third cache position and the fourth cache position, including:
if the first cache position is located before the second cache position and the third cache position is located before the fourth cache position, integrally moving the SDU address pointer cached in the original memory space to a position between the third cache position and the fourth cache position in the target memory space;
if the first cache position is located before the second cache position and the third cache position is located after the fourth cache position, integrally moving an SDU address pointer in a first designated space after the first cache position in the original memory space to a position between the third cache position and an end position of the target memory space, and integrally moving an SDU address in a second designated space before the second cache position in the original memory space to a position between an initial position and the fourth cache position of the target memory space; the size of the first designated space is the same as the size of the memory space from the third cache position to the end position in the target memory space, and the size of the second designated space is the same as the size of the memory between the starting position and the fourth cache position in the target memory space;
if the first cache position is located behind the second cache position and the third cache position is located behind the fourth cache position, the SDU address pointer between the starting position and the first cache position in the original memory space is integrally moved to a position between the starting position and the fourth cache position in the target memory space, and the SDU address pointer between the second cache position and the ending position in the original memory space is integrally moved to a position between the third cache position and the ending position in the target memory space.
13. A transmitting device, comprising a memory, a transceiver, a processor:
a memory for storing a computer program; a transceiver for transceiving data under control of the processor; a processor for reading the computer program in the memory and performing the following operations:
acquiring the number of SN (serial number) of serial numbers to be confirmed, wherein the number of SN to be confirmed is the difference value between a first sending variable and a second sending variable, the first sending variable is the maximum SN of a sent Service Data Unit (SDU), and the second sending variable is the maximum SN of a confirmed continuous SDU;
adjusting a sending window according to the difference value between the current sending window value and the number of the SNs to be confirmed;
and reallocating the memory space for caching the SDU address pointer based on the adjusted sending window.
14. The transmitting device of claim 13, wherein the processor is specifically configured to read the computer program in the memory and to perform the following operations:
if the difference value between the current sending window value and the SN number to be confirmed is smaller than a first preset threshold value, the sending window is enlarged;
and if the difference value between the current sending window value and the number of the SNs to be confirmed is larger than a second preset threshold value, reducing the sending window.
15. The transmitting device of claim 13, wherein the processor is specifically configured to read the computer program in the memory and to perform the following operations:
allocating a target memory space based on the window value of the adjusted sending window, wherein the target memory space is used for caching address pointers of SDUs corresponding to SN in the adjusted sending window;
and caching the SDU address pointer cached in the original memory space to the target memory space, and releasing the original memory space.
16. A receiving device, comprising a memory, a transceiver, a processor:
a memory for storing a computer program; a transceiver for transceiving data under control of the processor; a processor for reading the computer program in the memory and performing the following operations:
acquiring the SN number of serial numbers to be confirmed, wherein the SN number to be confirmed is the difference value between a first receiving variable and a second receiving variable, the first receiving variable is the maximum SN of a received Service Data Unit (SDU), and the second receiving variable is the maximum SN of a received continuous SDU confirmed to an opposite terminal;
adjusting a receiving window according to the difference value between the current receiving window value and the SN number to be confirmed;
and reallocating the memory space for caching the SDU address pointer based on the adjusted receiving window.
17. The receiving device according to claim 16, wherein the processor is specifically configured to read the computer program in the memory and perform the following operations:
if the difference value between the current receiving window value and the SN number to be confirmed is smaller than a first preset threshold value, the receiving window is expanded;
and if the difference value between the current receiving window value and the SN number to be confirmed is larger than a second preset threshold value, reducing the receiving window.
18. The receiving device according to claim 16, wherein the processor is specifically configured to read the computer program in the memory and perform the following operations:
allocating a target memory space based on the window value of the adjusted receiving window, wherein the target memory space is used for caching address pointers of SDUs corresponding to SN in the adjusted receiving window;
and caching the SDU address pointer cached in the original memory space to the target memory space, and releasing the original memory space.
19. An apparatus for adjusting a transmission window, wherein the apparatus is applied to a sending device, and the apparatus comprises:
an obtaining unit, configured to obtain a number of SN of a serial number to be confirmed, where the number of SN of the serial number to be confirmed is a difference between a first transmission variable and a second transmission variable, the first transmission variable is a maximum SN of a transmitted service data unit SDU, and the second transmission variable is a maximum SN of a confirmed consecutive SDU;
the adjusting unit is used for adjusting the sending window according to the difference value between the current sending window value and the SN number to be confirmed;
and the allocation unit is used for reallocating the memory space for caching the SDU address pointer based on the adjusted sending window.
20. An apparatus for adjusting a transmission window, the apparatus being applied to a receiving device, the apparatus comprising:
an obtaining unit, configured to obtain a number of SN of a sequence number to be confirmed, where the number of SN of the sequence number to be confirmed is a difference between a first receiving variable and a second receiving variable, the first receiving variable is a maximum SN of a received service data unit SDU, and the second receiving variable is a maximum SN of a received and confirmed continuous SDU to an opposite end;
the adjusting unit is used for adjusting the receiving window according to the difference value between the current receiving window value and the SN number to be confirmed;
and the allocation unit is used for reallocating the memory space for caching the SDU address pointer based on the adjusted receiving window.
21. A processor-readable storage medium, characterized in that the processor-readable storage medium stores a computer program for causing a processor to perform the method of any one of claims 1 to 12.
CN202011408118.XA 2020-12-04 2020-12-04 Transmission window adjusting method, transmission window adjusting device, transmitting equipment, receiving equipment and medium Pending CN114598660A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011408118.XA CN114598660A (en) 2020-12-04 2020-12-04 Transmission window adjusting method, transmission window adjusting device, transmitting equipment, receiving equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011408118.XA CN114598660A (en) 2020-12-04 2020-12-04 Transmission window adjusting method, transmission window adjusting device, transmitting equipment, receiving equipment and medium

Publications (1)

Publication Number Publication Date
CN114598660A true CN114598660A (en) 2022-06-07

Family

ID=81812545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011408118.XA Pending CN114598660A (en) 2020-12-04 2020-12-04 Transmission window adjusting method, transmission window adjusting device, transmitting equipment, receiving equipment and medium

Country Status (1)

Country Link
CN (1) CN114598660A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101360262A (en) * 2007-07-30 2009-02-04 大唐移动通信设备有限公司 Control method and apparatus for sharing resource in communication system
WO2018126449A1 (en) * 2017-01-06 2018-07-12 富士通株式会社 Method for modifying data transmission window and device thereof, and communication system
CN110035017A (en) * 2018-01-12 2019-07-19 华为技术有限公司 A kind of communication means and device
CN111143234A (en) * 2018-11-02 2020-05-12 三星电子株式会社 Storage device, system including such storage device and method of operating the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101360262A (en) * 2007-07-30 2009-02-04 大唐移动通信设备有限公司 Control method and apparatus for sharing resource in communication system
WO2018126449A1 (en) * 2017-01-06 2018-07-12 富士通株式会社 Method for modifying data transmission window and device thereof, and communication system
CN110035017A (en) * 2018-01-12 2019-07-19 华为技术有限公司 A kind of communication means and device
CN111143234A (en) * 2018-11-02 2020-05-12 三星电子株式会社 Storage device, system including such storage device and method of operating the same

Similar Documents

Publication Publication Date Title
US8988994B2 (en) System and method for creating logical radio link control (RLC) and medium access control (MAC) protocol data units (PDUs) in mobile communication system
EP3764670A1 (en) Method, apparatus and system for transmitting data
EP1524804A1 (en) A method of providing packetized data from a radio network controller to a base station
WO2018227814A1 (en) Data indicating method, device and communication system
CN110999355B (en) Quality of service implementation for disjoint user planes
WO2019034130A1 (en) Transmission method, transmitting terminal and receiving terminal
JP5606536B2 (en) How to request bandwidth allocation
US20190200251A1 (en) Transmission Status Reporting Apparatus and Method and Communication System
WO2021000783A1 (en) Method and apparatus for indicating data transmission situations
WO2021087828A1 (en) Method for activating or updating path loss rs of srs and device
WO2023066383A1 (en) Data transmission method and apparatus, and storage medium
WO2016091185A1 (en) Method for data transmission, base station and user equipment
KR20210114524A (en) Method and apparatus for sending and receiving sidelink buffer status report
WO2020062126A1 (en) Method for processing data packet, entity and storage medium
WO2022143684A1 (en) Data processing method and apparatus
AU2018448123B2 (en) Method for indicating state of PDCP duplicate data, terminal device, and network device
WO2018209675A1 (en) Method and device for transmitting data
JP5124591B2 (en) Method for displaying consecutive data units in RAN
WO2020098760A1 (en) Message sending method and apparatus, and control method and apparatus therefor
WO2019214619A1 (en) Data processing method and apparatus
WO2020154929A1 (en) Key information processing method, access network nodes and terminal device
WO2023005452A1 (en) Communication method and apparatus, and device
CN114598660A (en) Transmission window adjusting method, transmission window adjusting device, transmitting equipment, receiving equipment and medium
WO2019085920A1 (en) Information transmission method and communication device
WO2022152092A1 (en) Data transmission control method and apparatus

Legal Events

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