Communication method, terminal device and base station
By identifying downlink air interface congestion through statistical analysis of padding frames and transport block sizes in communication technologies, the problem of slow TCP data transmission leading to unsmooth communication is solved, resulting in more efficient data transmission and improved user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-30
- Publication Date
- 2026-03-10
AI Technical Summary
In communication technology, when terminal devices and the network side use TCP for data transmission, if the data transmission is slow, communication will be unsmooth. Existing technologies have difficulty accurately identifying downlink air interface congestion, which leads to longer data transmission delays and a decline in user experience.
By counting padding frames within a preset time period, it can determine whether the downlink air interface is congested, and rebuild the TCP connection if there is no congestion. It uses parameters such as padding bits and transport block size (TBS) to identify the air interface status, ensuring air interface resource utilization and avoiding misjudgment into slow transmission state.
Reduce data transmission lag time, improve communication smoothness, enhance downlink data transmission efficiency and user experience, and avoid prolonged lag issues caused by misjudgment.
Smart Images

Figure CN121644638A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and in particular to a communication method, terminal equipment and base station. Background Technology
[0002] In communication technology, when a terminal device uses the Transmission Control Protocol (TCP) to transmit data with the network side or the server side, communication may be unsmooth if TCP data transmission is slow. Summary of the Invention
[0003] This application provides a communication method, terminal device, and base station. By identifying whether the downlink air interface is congested, the TCP connection is rebuilt when the downlink air interface is not congested. When downlink TCP data is transmitted slowly, the data transmission lag time can be reduced, the data transmission smoothness can be increased, the efficiency of downlink data transmission can be improved, and the user experience can be enhanced.
[0004] Firstly, embodiments of this application provide a communication method, comprising: counting padding frames containing downlink data within a preset time period, wherein each padding frame is a sub-protocol data unit (sub PDU) containing padding bits; determining whether the downlink air interface is congested based on the counted padding frames; and reconstructing a TCP connection if the downlink air interface is not congested. Here, padding bits are placeholders for invalid data, representing idle resources. This application embodiment, by counting padding frames, can ascertain the status of idle resources and determine whether the downlink air interface is congested. For example, if there are idle resources or a large number of idle resources, the possibility of downlink air interface congestion is relatively small. Reconstructing the TCP connection can quickly restore normal data transmission when TCP data transmission is slow, reducing data transmission lag time, improving communication smoothness, and eliminating the need for manual user operation, thus improving user experience.
[0005] In one possible implementation, before determining whether the downlink air interface is congested, the method further includes: calculating the Transport Block Size (TBS) used for transmitting downlink data within a preset time period; correspondingly, determining whether the downlink air interface is congested based on the calculated fill frames includes: determining whether the downlink air interface is congested based on the fill frames and the calculated TBS. This method provides another possibility for identifying downlink air interface congestion, making the methods for identifying downlink air interface congestion more diverse.
[0006] In one possible implementation, the determination of downlink air interface congestion based on the padding frame and the statistical TBS includes: when the padding bit size and TBS in the padding frame are greater than a first threshold, it is determined that the downlink air interface is not congested. This method provides another possibility for identifying downlink air interface congestion, enabling the identification of downlink air interface congestion to be achieved in more ways. The padding bit size and TBS can be represented in bits or bytes.
[0007] In one possible implementation, the above-mentioned counting of fill frames containing downlink data within a preset duration includes: counting the number of fill frames containing downlink data within the preset duration; correspondingly, the above-mentioned determination of whether the downlink air interface is congested based on the counted fill frames includes: determining that the downlink air interface is not congested when the number of frames is greater than a second threshold; or, determining that the downlink air interface is not congested when the ratio of the number of frames to the preset duration is greater than a third threshold. This method provides another possibility for identifying downlink air interface congestion, enabling the identification of downlink air interface congestion to be achieved in more ways.
[0008] In one possible implementation, the above-mentioned determination of downlink air interface congestion based on statistical fill frames further includes: determining downlink air interface congestion based on scheduling frequency and statistical fill frames, so as to improve the accuracy of identification.
[0009] In one possible implementation, the aforementioned counting of fill frames containing downlink data within a preset duration includes: counting fill frames containing downlink data within a preset duration when the downlink TCP data transmission speed is lower than a preset speed. Here, the downlink TCP data transmission speed being lower than the preset speed does not specifically refer to a value of the downlink TCP data transmission speed being lower than the preset speed value; it can be considered as an indication of slow downlink TCP data transmission.
[0010] In one possible implementation, the downlink TCP data transmission speed is lower than a preset speed, including when the downlink TCP data exhibits an out-of-order sequence and the out-of-order duration exceeds a fourth threshold. In other words, the occurrence of an out-of-order sequence in the downlink TCP data and the duration exceeding the fourth threshold can be considered another indication or judgment of slow downlink TCP data transmission; or, when the downlink TCP data exhibits an out-of-order sequence and the duration exceeds the fourth threshold, the downlink TCP data transmission is slow.
[0011] In one possible implementation, the downlink TCP data transmission speed being lower than the preset speed further includes: estimating the downlink TCP data transmission time to exceed a fifth threshold based on at least one of packet loss size and packet regeneration speed. Similar to the previous possible implementation, estimating the downlink TCP data transmission time to exceed a fifth threshold based on at least one of packet loss size and packet regeneration speed can be considered another indication or judgment method for slow downlink TCP data transmission. In other words, when the estimated downlink TCP data transmission time exceeds the fifth threshold, it can also be considered that downlink TCP data transmission is slow. Alternatively, if downlink TCP data exhibits out-of-order sequences and the out-of-order duration exceeds a fourth threshold, and the estimated downlink TCP data transmission time exceeds the fifth threshold, then downlink TCP data transmission is considered slow.
[0012] In one possible implementation, the above-mentioned reconstruction of the TCP connection when the downlink air interface is not congested includes: reconstructing the TCP connection when the downlink air interface is not congested and the downlink air interface quality is greater than the sixth threshold, so as to further improve the efficiency of restoring normal data transmission and enhance the user experience.
[0013] In one possible implementation, the aforementioned TCP connection reconstruction includes: notifying the terminal, where the terminal is the destination terminal for the downlink TCP data, to rebuild the TCP connection. This approach provides a possibility for implementing the aforementioned communication method on the base station side.
[0014] Secondly, embodiments of this application provide a terminal device. The terminal device includes a processor and a memory, the memory storing computer program code. When the processor runs the computer program code, the terminal device executes the method described in any of the first aspects above.
[0015] Thirdly, embodiments of this application provide a base station. The base station includes a processor and a memory, the memory storing computer program code. When the processor runs the computer program code, the base station performs the method described in any of the first aspects above.
[0016] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to perform the method described in any of the first aspects above. Attached Figure Description
[0017] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This is one application scenario of an embodiment of this application;
[0019] Figure 2 This is a schematic diagram of the structure of a terminal device in an embodiment of this application;
[0020] Figure 3 This is a schematic diagram of the software structure of a terminal device in an embodiment of this application;
[0021] Figure 4 This is a schematic diagram of a system structure of a base station in an embodiment of this application;
[0022] Figure 5 for Figure 1 A communication flow diagram of the scenario shown;
[0023] Figure 6 This is a schematic diagram of TCP data transmission in an embodiment of this application;
[0024] Figure 7 A flowchart illustrating a communication method provided in an embodiment of this application;
[0025] Figure 8 This is a schematic diagram of a system in a terminal device that executes the communication method in an embodiment of this application;
[0026] Figure 9 Another flowchart illustrating the communication method provided in an embodiment of this application;
[0027] Figure 10 This is a schematic diagram of out-of-order TCP packets in an embodiment of this application;
[0028] Figure 11 Another schematic diagram of the communication method provided in the embodiments of this application;
[0029] Figure 12 A schematic diagram illustrating the technical effects of the communication method provided in the embodiments of this application. Detailed Implementation
[0030] To better understand the technical solution of this application, the embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0031] Figure 1 This is one application scenario of an embodiment of this application. The application scenario includes terminal devices, base stations, user plane function (UPF) devices, the Internet, and server / content delivery network (CDN).
[0032] The terminal device can be a mobile phone, a laptop, a smart wearable device (such as a watch, glasses, etc.), or an in-vehicle terminal.
[0033] Figure 2 This is a schematic diagram of a terminal device according to an embodiment of this application. The terminal device includes: a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc.
[0034] Processor 110 may include one or more processing units, such as: baseband processor 111, modem processor 112, application processor (AP) 113, digital signal processor (DSP) 114, graphics processing unit (GPU) 115, image signal processor (ISP), controller, memory, video codec, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors. The controller may serve as the central nervous system and command center of the terminal device, generating operation control signals based on instruction opcodes and timing signals to control instruction fetching and execution.
[0035] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory, thereby avoiding repeated accesses, reducing the waiting time of the processor 110, and thus improving the efficiency of the system.
[0036] The external storage interface 120 is used to connect an external storage card, such as a Micro SD card, to expand the storage capacity of the terminal device. The external storage card communicates with the processor 110 through the external storage interface 120 to realize data storage functions. For example, music, video, and other files can be saved on the external storage card.
[0037] Internal memory 121 stores executable program code, including instructions. Processor 110 executes various functional applications and data processing of the terminal device by running the instructions stored in internal memory 121. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system and at least one application program (APP) required for a given function (e.g., system APP, communication APP, browsing APP, video APP, etc.). The data storage area may store data created during the use of the terminal device (e.g., communication data, browsing data, video data, etc.). Furthermore, internal memory 121 may include high-speed random access memory and non-volatile memory, such as at least one disk storage device, flash memory device, Universal Flash Storage (UFS), etc.
[0038] USB port 130 can be a Mini USB port, Micro USB port, USB Type C port, etc., used to connect a charger to charge the terminal device, and can also be used to transfer data between the terminal device and peripheral devices, or to connect headphones to play audio. USB port 130 can also be used to connect other electronic devices such as Augmented Reality (AR) devices.
[0039] The charging management module 140 receives charging input from the charger. The charger can be a wireless charger or a wired charger. The power management module 141 connects the battery 142, the charging management module 140, and the processor 110, and receives input from the battery 142 and / or the charging management module 140 to power the processor 110, internal memory 121, sensor module 180, display screen 194, camera 193, and wireless communication module 160, etc.
[0040] Antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, and baseband processor 111 and modem processor 112 in processor 110 are used to realize the wireless communication function of terminal equipment.
[0041] Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna can cover one or more communication frequency bands. Different antennas can also be reused to improve antenna utilization.
[0042] Mobile communication module 150 provides terminal devices with wireless communication solutions including 2G, 3G, 4G, 5G, and 6G technologies. It converts the electromagnetic wave signals received by antenna 1 into low-frequency baseband signals and converts the low-frequency baseband signals to be transmitted into electromagnetic wave signals for transmission through antenna 1. Wireless communication module 160 provides terminal devices with wireless communication solutions including wireless local area networks (WLANs) (such as Wi-Fi), Bluetooth, GNSS, frequency modulation (FM), near-field communication (NFC), and infrared (IR) technologies. It converts the electromagnetic wave signals received by antenna 2 into low-frequency baseband signals and converts the low-frequency baseband signals to be transmitted into electromagnetic wave signals for transmission through antenna 2.
[0043] The baseband processor 111 is used to extract useful data or information from low-frequency baseband signals. For example, when a terminal device is conducting network communication, the baseband processor 111 extracts the bit stream transmitted at the physical (PHY) layer. The baseband processor 111 is also used to convert the data or information to be transmitted (such as the bit stream to be transmitted at the PHY layer) into low-frequency baseband signals.
[0044] When the terminal device performs network communication, in the downlink direction, the modem processor 112 is used to parse the bit stream extracted by the baseband processor 111 through the PHY layer and the Media Access Control (MAC) layer; in the uplink direction, the modem processor 112 is used to encapsulate the data packets to be sent into data frames at the MAC layer and convert the data frames into bit streams to be transmitted at the PHY layer.
[0045] Audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and AP 113 are used to implement the audio functions of the terminal device.
[0046] The audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. The audio module 170 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 170 may be located in the processor 110, or some functional modules of the audio module 170 may be located in the processor 110.
[0047] The speaker 170A, also known as a "loudspeaker," is used to convert audio electrical signals into sound signals. Terminal devices can listen to music or make hands-free calls through the speaker 170A. The receiver 170B, also known as a "handset," is used to convert audio electrical signals into sound signals. When a terminal device answers a call, the baseband processor sends the extracted analog voice signal to the audio module 170 for decoding, and then the voice is played by either the speaker 170A or the receiver 170B. When a terminal device receives voice information through an app, the baseband processor 111 sends the extracted bitstream to the modem processor 112 for parsing. The modem processor 112 sends the parsing result to the access point (AP) 113. The AP 113 extracts the digital audio signal from the parsing result and sends it to the DSP 114. The DSP 114 performs filtering and other optimization processing before sending it to the audio module 170. The audio module 170 converts the digital voice signal back into an analog signal and sends it to either the speaker 170A or the receiver 170B for playback.
[0048] Microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can speak close to microphone 170C to input the sound signal into microphone 170C. A terminal device may have one microphone 170C. In some embodiments, the terminal device may have two microphones 170C, which, in addition to collecting sound signals, can also perform noise reduction. In other embodiments, the terminal device may have three, four, or more microphones 170C, enabling sound signal collection, noise reduction, sound source identification, and directional recording, among other functions.
[0049] The headphone jack 170D is used to connect wired headphones. The headphone jack 170D can be a USB 130 interface or a 3.5mm Open Mobile Terminal Platform (OMTP) standard interface, or a CTIA (Cellular Telecommunications Industry Association of the USA) standard interface. In some embodiments, the terminal device can also connect to a wireless headset via short-range wireless communication functions such as BitTorrent (BT) to play voice, music, etc.
[0050] The sensor module 180 may include a pressure sensor, a gyroscope sensor, a barometric pressure sensor, a magnetic sensor, an accelerometer, a distance sensor, a proximity sensor, a fingerprint sensor, a temperature sensor, a touch sensor, an ambient light sensor, and a bone conduction sensor, etc. Among them, the ambient light sensor is used to sense the ambient light intensity.
[0051] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch buttons. The terminal device can respond to user button operations (such as for setting or function control) and generate button signal inputs related to the button operations.
[0052] Motor 191 can generate vibration alerts, such as for incoming call vibration alerts or touch vibration feedback. For example, motor 191 can produce different vibration feedback effects for user touch operations applied to different applications (such as taking photos, playing audio, etc.). Similarly, motor 191 can also produce different vibration feedback effects for user touch operations applied to different areas of display screen 194. Furthermore, motor 191 can produce different vibration feedback effects for different application scenarios (such as time reminders, receiving messages, alarm clocks, games, etc.). In some embodiments, the touch vibration feedback effect of motor 191 can also be customized.
[0053] Indicator 192 can be an indicator light used to indicate charging status and power changes, or it can be used to indicate messages, missed calls, notifications, etc.
[0054] Camera 193 is used to capture still images or videos. GPU 115 can optimize the images or videos captured by camera 193. DSP 114 can perform digitization, encoding, and other processing on the still images or videos. AP 113, modem processor 112, baseband processor 111, mobile communication module 150 or wireless communication module 160, and antenna 1 or antenna 2 are transmitted to the network side. In some embodiments, the terminal device may include one or more cameras 193.
[0055] Display screen 194, also known as a display screen or screen, is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel may be an OLED display panel. In some embodiments, the terminal device may include one or more display screens 194. GPU 115, connected to display screen 194 and application processor, is a microprocessor for image processing, used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may also include one or more GPUs 115 for executing program instructions to generate or modify display information. The terminal device can realize display functions through GPU 115, display screen 194, and AP 113, etc.
[0056] The terminal device can adaptively adjust the brightness of the display screen 194 based on the ambient light intensity sensed by the ambient light sensor. The ambient light sensor can also be used to automatically adjust white balance when taking photos, and in conjunction with a proximity sensor, to detect whether the terminal device is in a pocket to prevent accidental touches. The touch sensor, also known as a "touch panel," is used to detect touch operations applied to or near it. It can be located on the display screen 194, forming a touchscreen, also called a "touchscreen." The touch sensor can also transmit detected touch operations to the application processor to determine the type of touch event. The terminal device can provide visual output related to touch operations through the display screen 194. In some embodiments, the touch sensor may also be located on the surface of the terminal device at a different location than the display screen 194.
[0057] When a user uses a touchscreen to access audio or video files via a browser app, video app, or other app installed on their terminal device, the network-side server / CDN responds to the app's request and sends the video file to the terminal device. This video file is processed into an electromagnetic wave signal at the base station and transmitted. The terminal device receives this electromagnetic wave signal via antenna 1, and the mobile communication module 150 converts it into a low-frequency baseband signal, which is then sent to the baseband processor 111. The baseband processor 111 extracts the bitstream and sends it to the modem processor 112. The modem processor 112 converts the bitstream into data frames and parses them to obtain data packets. The access point (AP) 113 extracts the audio and video data from the data packets and sends it to the DSP 114. The DSP 114 performs audio and video noise reduction, image enhancement, and other processing on the audio and video data, then sends the audio and video data to the audio module 170 and GPU 115, respectively. The audio module 170 converts the audio data into an analog signal and sends it to the speaker 170A or receiver 170B for playback. The GPU 115 converts the video data into display information and sends it to the display screen 194 for display.
[0058] An NPU (Neural Processing Unit) is a computational processor for neural networks (NNs). By borrowing the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it can rapidly process input information and continuously learn on its own. Terminal devices can use NPUs to achieve intelligent cognitive applications, such as image recognition, facial recognition, speech recognition, and text understanding.
[0059] The SIM card interface 195 is used to connect a SIM card and is compatible with different types of SIM cards, such as Nano SIM cards, Micro SIM cards, and SIM cards. The SIM card interface 195 is also compatible with external memory cards. Terminal devices can interact with the network through the SIM card to achieve functions such as calls and data communication.
[0060] Understandable Figure 2 The structures shown do not constitute a specific limitation on the terminal device in the embodiments of this application. In other embodiments of this application, the terminal device may include more or fewer components than shown, or combine some components, or split some components, or have different component arrangements. The components shown may be implemented in hardware, software, or a combination of software and hardware.
[0061] Figure 3 This is a schematic diagram of the software structure of a terminal device in an embodiment of this application. For example... Figure 3 As shown, the software system of a terminal device includes an application layer, an application framework layer, a local layer, and a kernel layer.
[0062] The application layer includes system apps, as well as extended apps or third-party apps such as communication apps, video apps, browsing apps, shopping apps, and news apps.
[0063] The application framework layer includes a window manager, content providers, a view system, a phone manager, a resource manager, a notification manager, sensor services, and a power management module. The window manager manages window applications, such as obtaining screen size, determining the presence of a status bar, locking the screen, and capturing screenshots. The content provider stores and retrieves data (such as videos, images, audio, made and received calls, browsing history and bookmarks, phonebooks, etc.) and makes this data accessible to applications. The view system presents data to the user in a graphical user interface (GUI), allowing the user to intuitively understand and manipulate the data. The phone manager provides functions such as call status management (including connection and disconnection). The resource manager provides various resources for the app, such as localized strings, icons, images, layout files, video files, etc. The notification manager enables the app to display notifications in the status bar to inform the user of important events or updates related to the app, ensuring that the user receives these notifications even when using other apps. The connectivity service module manages the network connectivity of electronic devices. The sensor service provides access to data from various physical sensors, such as acceleration, magnetic field, orientation, temperature, humidity, air pressure, and heart rate. The power management module manages and optimizes the power usage of terminal devices, ensuring that the devices meet user needs while maximizing battery life.
[0064] The native layer includes the runtime, system libraries, native C / C++ libraries, and the Hardware Abstraction Layer (HAL). The runtime is responsible for the operating system's scheduling and management. The system libraries provide various functions and services for the application, such as layer management and media libraries, to support the normal operation of the application and user interaction. The native C / C++ libraries include the media framework, the application layer (Openmax AL) for audio, video, and image decoding, and the Secure Sockets Layer (SSL). The media framework supports audio playback and recording; Openmax AL provides standardized application programming interfaces (APIs) for multimedia middleware and the application layer; and SSL provides security for network communication by encrypting communication data, verifying identity, and checking the integrity of transmitted data. The HAL runs in user space and encapsulates kernel-level drivers, providing calling interfaces to higher layers.
[0065] The kernel layer is the layer between hardware and software, including display drivers, camera drivers, audio drivers, sensor drivers, modem drivers, process management modules, and the TCP / IP protocol stack. The process management module schedules and manages processes within the software system, including creating and terminating processes, and handling inter-process communication and synchronization. The TCP / IP protocol stack software is responsible for encapsulating application layer data into a format suitable for network transmission, such as adding necessary protocol header information. When the terminal device in this embodiment is the destination for data reception, the TCP / IP protocol stack software performs the opposite operation, i.e., decapsulating the protocol header and restoring the data to its original application layer form for use by the APP.
[0066] Understandable Figure 3 The software structure shown does not constitute a specific limitation on the software structure of the terminal device in the embodiments of this application. For example, it may include more advanced technologies. Figure 3 More or fewer layers (e.g., functionality of the local layer can be merged into the application framework layer), and each layer can also include more than Figure 3 The number of modules (e.g., the kernel layer may further include WiFi drivers, etc.) is not limited in the embodiments of this application. Furthermore, in other embodiments of this application, the software system of the terminal device may also be an event-driven architecture, a microkernel architecture, a microservice architecture, or a cloud architecture, etc.
[0067] The base station in this application embodiment can be a 2G base station (BTS) / 3G base station (NodeB) / 4G base station (eNodeB) / 5G base station (gNodeB) / 6G base station, etc. Figure 4 This is a schematic diagram of a base station system structure according to an embodiment of this application. Figure 4 As shown, the base station includes a baseband unit 210, a power supply system 220, a radio frequency unit 230, an antenna feeder system, and a transmission device 240.
[0068] The antenna feeder system includes a feeder 250 and an antenna 260. The antenna 260 is used to receive electromagnetic wave signals from the terminal equipment and to transmit electromagnetic wave signals. The feeder 250 is used to send the electromagnetic wave signals received by the antenna 260 to the radio frequency unit 230, and to transmit the electromagnetic wave signals to be transmitted from the radio frequency unit 230 to the antenna 260 for radiation.
[0069] The radio frequency (RF) unit 230 is used to convert the electromagnetic wave signal received by the antenna 260 into a baseband signal, and to convert the baseband signal to be transmitted into an electromagnetic wave signal, which is then transmitted to the antenna 260 via the feed line 250. The RF unit 230 may include one or more modules selected from 2G, 3G, 4G, 5G, and 6G modules to convert one or more of these signals into electromagnetic wave signals.
[0070] The baseband unit 210 is used to parse and repackage the baseband signal converted by the radio frequency unit 230 to meet the requirements of network transmission. The baseband unit 210 is also used to parse and repackage signals transmitted from the network side and convert them into baseband signals for transmission to the radio frequency unit. In some embodiments, the baseband unit 210 may also have functions such as generating clock signals, synchronizing with the network, error control, flow control, encoding / decoding, multiplexing, modulation / demodulation, spread spectrum, and signaling processing. In other embodiments, the baseband unit 210 may include a processor and a computer program, which may be stored in the processor or a memory. The memory may be the processor's internal memory or an external memory. The baseband unit 210 can implement the above functions by executing the computer program through the processor.
[0071] The transmission device 240 can be a cable connection device or an optoelectronic composite cable connection device. The transmission device 240 can also be an optical fiber connection device, used to connect optical fibers, couple the optical signal to be transmitted to the optical fiber, and receive optical signals transmitted through the optical fiber from the network side. The optical signal can be obtained by the baseband unit 210 after re-encapsulating the data, or it can be obtained by the transmission device 240 by converting the electrical signal sent by the baseband unit 210.
[0072] The power supply system 220 is used to power electronic devices in the base station, such as baseband units.
[0073] Understandable Figure 4 The system architecture shown does not constitute a specific limitation on the base station in the embodiments of this application. For example, it may include a more advanced architecture than the one described above. Figure 4 The number of functions, components, or modules in the base station is not limited in the embodiments of this application. For example, in some embodiments, the baseband unit may be a building baseband unit (BBU), and the radio frequency unit may be a remote radio unit (RRU). In other embodiments, the baseband unit may include a centralized unit (CU) and a distributed unit (DU), and the RRU and antenna feeder system may be combined into an active antenna unit (AAU). The DU is used to process PHY layer protocols and real-time services, while the CU is used to process protocols above the PHY layer, such as data link layer protocols. In other embodiments, the base station may also include cabinets, equipment rooms, monitoring equipment, air conditioning, lightning protection systems, cable trays, grounding wires, etc.
[0074] UPF is a device in the 5G core network used to process user data plane. It has functions such as traffic classification, policy control, quality assurance, data encryption and decryption, and supports network access technologies such as 4G, 5G and Wi-Fi.
[0075] Understandable Figure 1 The application scenarios shown do not constitute a specific limitation on the application scenarios of the communication methods in the embodiments of this application. For example, in some embodiments, the base station can also be connected to the Internet through an Ethernet switch.
[0076] When a user interacts with an app on their device to retrieve data such as text, images, audio, or video, the communication process is as follows: Figure 5 (This diagram omits UPF and the Internet) As shown, it includes:
[0077] Step 501: The terminal device responds to the user's operation and creates a Socket. A Socket is an abstract representation of an endpoint in network communication, containing five essential pieces of information for network communication: the protocol used for the connection, the IP address of the local host, the protocol port of the local process, the IP address of the remote host, and the protocol port of the remote process.
[0078] Step 502: The terminal device establishes a TCP connection with the server / CDN through a three-way handshake.
[0079] In this embodiment, the terminal device and the base station transmit electromagnetic wave signals carrying information or data via an air interface, while the base station and the server / CDN transmit information or data via optical or electrical signals. The base station converts the electromagnetic wave signals sent by the terminal device into electrical or optical signals that can be transmitted in the network, and converts the electrical or optical signals sent by the server / CDN into electromagnetic wave signals, which are then radiated outwards.
[0080] Step 503: The terminal device sends a request to the server / CDN based on a TCP connection to obtain data such as text, images, audio, and video.
[0081] Step 504: The server / CDN responds to the terminal device's request, sending text, images, audio, video, and other data to the terminal device. After the server / CDN passes the data requested by the terminal device from the application layer to the transport layer, it segments and encapsulates the data into TCP packets at the transport layer. Then, the server / CDN encapsulates the TCP packets into IP packets at the network layer and into MAC frames at the data link layer. Finally, the MAC frames are sent to the PHY layer for transmission over the network as a bitstream.
[0082] The base station receives the bit stream transmitted by the server / CDN over the network, parses it at the PHY layer to obtain the MAC frame, and converts the MAC frame into an electromagnetic wave signal for radiation.
[0083] The terminal device receives electromagnetic wave signals through antenna 1 and obtains MAC frames from these signals via a mobile communication module, baseband processor, and modem processor. It then decapsulates the MAC frames to obtain IP packets and sends them to the network layer. The network layer decapsulates the IP packets into TCP packets and sends them to the transport layer. The transport layer decapsulates the TCP packets and sends them to the application layer to obtain the requested text, images, audio, and video data. Subsequently, the corresponding functional modules of the terminal device process the data and output the data (e.g., displaying text / images on the screen, playing sound through the speaker or receiver, or playing video on the screen) for the user to perceive.
[0084] Step 505: After data transmission is complete, the terminal device and the server / CDN disconnect the TCP connection and release resources through a four-way handshake.
[0085] However, during data transmission, issues such as... may occur. Figure 1The packet loss / congestion shown causes unsmooth or stuttering output from terminal devices. Research indicates that air interface issues account for approximately 50% of data transmission impact, while server and network-side factors account for about 30%. The air interface's impact on data transmission is primarily caused by poor air interface signal quality and / or air interface congestion. Furthermore, poor air interface signal quality and air interface congestion each account for roughly half of the impact on data transmission. Determining the cause of unsmooth or stuttering output from terminal devices is a crucial input for communication scheduling or optimization schemes, and its accuracy directly affects the efficiency of communication transmission. Therefore, to resolve the issue of unsmooth or stuttering output from terminal devices, the first step is to identify the underlying cause.
[0086] One solution is to use parameters such as window size, rate, and round-trip time (RTT) in TCP to determine the cause of unsmooth or stuttering output from the terminal device. This solution indicates slow TCP data transmission, but it cannot determine the cause of the slow transmission and therefore cannot solve the problem of unsmooth or stuttering output from the terminal device when downlink TCP data transmission is slow.
[0087] Another solution is to determine the impact of wireless signal quality on data transmission by using the Reference Signal Received Power (RSRP) / Signal to Interference Plus Noise Ratio (SINR). This solution indicates that interference at the air interface or the received signal power affects data transmission; however, it cannot identify the cause when the terminal device still experiences choppy or stuttering output even with good signal quality.
[0088] The third solution assesses the impact of air interface congestion on data transmission by checking the saturation of the wireless communication protocol stack's transmit queue or the buffering time of data within the transmit queue. In the scenario of receiving data (downlink), a full receive queue is primarily caused by slow reading by the receiver, while an incomplete receive queue may be due to slow transmission by the sender or air interface congestion. However, this solution relies on the wireless communication transmit queue to determine air interface (uplink) congestion in the transmit direction, and cannot determine air interface (downlink) congestion in the receive direction. Therefore, it cannot resolve the issue of unsmooth or stuttering output from terminal devices caused by air interface (downlink) congestion in the receive direction.
[0089] The fourth solution is to use Wi-Fi hotspots or base station devices to determine air interface congestion by the number of users accessing the network simultaneously, but this solution is not applicable to terminal devices.
[0090] When downlink TCP data transmission is slow, the terminal device cannot determine the cause using the above methods, and therefore cannot adjust or repair its transmission behavior accordingly, resulting in unresolved issues such as choppy or stuttering output. For example, for occasional or transient packet loss, the server may mistakenly believe there is severe network congestion, thus reducing the retransmission rate and entering an incorrect slow-transmission state, causing the terminal device's output to stutter for longer periods. An example scenario is when a user plays a video through a video app on their terminal device, and after a period of time, issues such as... Figure 6 The intermittent packet loss shown caused the server's TCP to misjudge network congestion based on the size of the lost packets, leading to a slow data transmission state. This resulted in the lost packets not being retransmitted for one minute, causing video interruptions and stuttering on the terminal device for over one minute – a serious problem. However, the actual air interface quality was good and there was no congestion; the video returned to smooth playback immediately if the user manually refreshed the screen.
[0091] To address the communication disruption caused by misjudgments in cases of slow TCP data transmission, this application provides a communication method. This method counts padding frames containing downlink data within a preset time period and determines downlink air interface congestion based on the counted padding frames. At the wireless MAC layer, when the downlink resource TBS scheduled by the base station exceeds the actual data size to be transmitted to the terminal, the excess idle resources are filled with invalid data (such as padding). Figure 1 As shown, after the base station receives data from the network side, the PHY layer decompiles the frame to obtain a MAC frame. The MAC layer parses the MAC frame and determines that the MAC frame SDU does not meet the requirement of a TB (Through-Tabulation) space, generating another MAC SDU carrying padding. This MAC SDU carrying padding is encapsulated with the MAC header (H) into a MAC sub PDU. The PHY layer carries this MAC sub PDU carrying padding and the MAC sub PDU without padding (encapsulated by the MAC header (H) and the parsed MAC SDU) in a TB space and converts it into electromagnetic waves for radiation. In terms of protocol, the terminal device (Modem) discards the padding by default when it parses the padding space. Since MAC padding is a scheduling margin and directly represents the abundance of air interface resources, identifying and counting padding frames at the modem MAC layer can measure whether the air interface is congested. When the downlink air interface is not congested, the TCP connection is rebuilt. When downlink TCP data transmission is slow, this method can solve the problem of long-term lag caused by the server misjudging that it has entered a slow transmission state, increase the smoothness of data transmission, improve the efficiency of downlink data transmission, ensure that the terminal device maintains a good output smoothness as much as possible, and improve the user experience.
[0092] Figure 7This is a flowchart illustrating a communication method provided in an embodiment of this application. In this embodiment, during the process of the terminal device receiving downlink data (data sent from the network side to the terminal device) (such as step 504), when TCP data transmission is slow, the following steps are executed: Figure 7 The method shown includes:
[0093] Step 701: Count the number of received padding bytes and the size of TB within a preset time period. The multiple TBs counted within this preset time period can be regarded as TBS.
[0094] In this embodiment, the system that executes the communication method in the terminal device can be as follows: Figure 8 As shown. Compared to the software structure of the terminal device in the above embodiments, Figure 8 In the system shown, a slow-flow processing module has been added to the kernel layer, and an air interface evaluation module has been added to the modem. The slow-flow processing module is used to notify the air interface evaluation module to perform air interface evaluation when TCP data transmission is slow. The air interface evaluation module is used to execute steps 701 to 704. It is understood that the names and divisions of the slow-flow processing module and the air interface evaluation module are not limited to these; other names and divisions can be used, as long as they have the corresponding functions in this embodiment. Figure 8 As shown, an app on the terminal device receives downlink data (including TCP packets) from the server through a created Socket1, and the downlink data transmission is slow.
[0095] Step 702: Count the number of MAC sub PDUs carrying padding within a preset time period.
[0096] The order in which the terminal device executes steps 701 and 702 is not limited. The terminal device may execute step 701 first and then step 702, or it may execute step 702 first and then step 701, or it may execute them simultaneously.
[0097] Step 703: Calculate the ratio of the padding bytes counted in step 701 to the TBS (referred to as the first ratio for ease of description), and determine whether the first ratio is greater than a preset first threshold. The padding bytes count and TBS can be represented by bits. This first ratio can be used to represent the spatial density of padding. Alternatively, calculate the ratio of the number of MAC sub PDUs carrying padding counted in step 702 to a preset duration, and determine whether this ratio (referred to as the second ratio for ease of description) is greater than a preset third threshold. This second ratio can be used to represent the temporal density of padding.
[0098] If the first ratio is greater than the first threshold, or if the second ratio is greater than the third threshold, proceed to step 704; otherwise, proceed to step 706.
[0099] Step 704: Determine that the downlink air interface is not congested and notify the slow flow processing module in the kernel layer.
[0100] Step 705: The slow stream processing module instructs the process management module to close the socket (e.g., close the socket as shown in the image). Figure 8 As shown in the diagram, Socket1 sends an exception notification to the APP (such as sending a TCP / IP defined error code) and instructs the TCP / IP protocol stack to send a TCP reset (RST) message to the server to rebuild the TCP connection. After receiving the exception notification, the APP rebuilds Socket2 and re-establishes the TCP connection with the server. Figure 8 As shown, TCP data transmission returned to normal after reconstruction.
[0101] Step 706: Determine downlink air interface congestion. The slow flow processing module does not interfere with data transmission, or, without interfering with data transmission, detects whether the speed or rate of TCP data transmission meets the requirements, or in other words, determines whether the current downlink data transmission is slow.
[0102] In some embodiments, the terminal device may perform only one of steps 701 and 702.
[0103] In some embodiments, the communication method is in Figure 7 Based on the illustrated embodiment, the method may further include counting the number of times the base station schedules downlink data for the terminal device. A higher number of scheduling times indicates a lower degree or likelihood of downlink air interface congestion. Therefore, combining the number of scheduling times can improve the accuracy of identifying or determining whether the downlink air interface is not congested.
[0104] In some embodiments, step 703 may determine whether the number of MAC sub PDUs carrying padding is greater than a second threshold. If it is greater than the second threshold, the next step is to continue with step 704; otherwise, the next step is to continue with step 706.
[0105] In some other embodiments, the communication method provided in this application may further include identifying whether the speed or rate of TCP data transmission meets the requirements before step 701 or step 702, or identifying whether TCP data transmission is slow or slow transmission.
[0106] Figure 9 This is another flowchart illustrating the communication method provided in an embodiment of this application. Figure 9 As shown, the communication method includes:
[0107] Step 901: After the core layer of the terminal device analyzes and obtains the TCP packet at the TCP layer, it obtains the sequence number of the packet and determines whether the TCP data transmission is out-of-order based on this sequence number. For example, in the slow flow processing module in the above embodiment, the TCP packet is retrieved from the TCP protocol stack, and the seq value in the packet is compared with the rcv_next value in the receive window. When the seq value is greater than the rcv_next value, it is determined that out-of-order occurs, and then step 902 is continued to be executed in the next step.
[0108] As Figure 10 shown, the terminal device is set with a receive window for TCP packets as the TCP receiver. At time t1, the terminal device receives a TCP packet with the sequence number seq. rcv_next moves to the first empty position in the receive window. The seq value of the packet received at time t1 is equal to the value before rcv_next moves and is less than the current rcv_next value, that is, the sequence numbers of the currently received packet and the previously received packets are continuous and there is no out-of-order. At time t2, the seq value of the TCP packet received by the terminal device is greater than the current rcv_next value, and it can be seen that the currently received packet and the previously received packets are not continuous, and out-of-order occurs at this time.
[0109] In some embodiments, the seq value of the TCP packet can also be compared with the ACK value in the acknowledgment ACK packet of the previous TCP packet (the previously received TCP packet). Among them, the ACK value is equal to the sequence number of the previous TCP data + 1. When the seq value of the currently received TCP packet is equal to the ACK value, it means that the currently received TCP data and the previously received TCP packet are continuous and no out-of-order occurs; when the seq value is greater than the ACK value, it is determined that out-of-order occurs.
[0110] Step 902: Determine whether the duration of the downstream out-of-order exceeds the fourth threshold ToTh. If so, then step 903 is continued to be executed in the next step. For example, the slow flow processing module starts timing to obtain the duration of the out-of-order existence. Or, record the moment t2 when the out-of-order occurs, and judge whether the out-of-order exists at each moment when TCP data is received. When the out-of-order exists, judge whether the duration from moment t2 to the current moment exceeds ToTh. For example, assume that the out-of-order still exists at time t4 and t4 - t2 > ToTh, then step 903 is continued to be executed in the next step. Assume that t6 - t2 < ToTh, then step 901 is continued to be executed in the next step.
[0111] Step 903: Based on the size of the lost packet and the rate of the existing retransmission packets, estimate whether the time required to completely retransmit the lost packet exceeds the fifth threshold TrTH. If so, then step 904 is continued to be executed in the next step; otherwise, step 901 is executed in the next step. Figure 10For example, the gap between consecutive sequence number packets and out-of-order received packets at time t4 represents the lost packets to be replenished. The data packets received at time t4 (marked with seq) are existing replenished packets. The slow-flow processing module can estimate the rate of these existing replenished packets as the replenishment rate of the remaining packets to be replenished. The size of the lost packets to be replenished is divided by this replenishment rate to obtain the possible duration of the lost packets to be replenished. This duration is compared with TrTH. If it is greater than TrTH, the next step is to continue to step 904. Assuming that in step 902, t4-t2<ToTh,t5-t2> If ToTh is small, and the estimated time required to compensate for the lost packets is less than TrTH, then the next step is to execute step 901.
[0112] Step 904: Determine that downlink TCP data transmission is slow. For example, after the slow flow processing module determines that TCP data transmission is slow, it notifies the air interface evaluation module to perform a congestion assessment on the downlink air interface.
[0113] Step 905: Determine if the downlink air interface is congested. If so, proceed to step 901; otherwise, continue to step 906.
[0114] The operating principles of steps 905 and 906 are as follows: Figure 7 The illustrated embodiment is similar. For example, step 905 may include steps 701 to 703, or may include steps 701 and 703, or may include steps 702 and 703; the operation of step 906 is the same as that of step 705.
[0115] In some embodiments, one of steps 902 and 903 may be omitted.
[0116] Figure 11 This is another schematic diagram of the communication method provided in an embodiment of this application. In this embodiment, the terminal device uses 5G communication technology to communicate with the network side, and, compared with the above embodiment, air interface quality is further considered in the air interface evaluation.
[0117] like Figure 11As shown, the air interface evaluation module obtains air interface quality through downlink path loss (PL) and channel quality indicator (CQI). PL = Downlink (DL) Reference Signal Transfer Power (RSTP) - DL Reference Signal Received Power (RSRP). DL RSTP can be extracted by the terminal device from the pilot transmit power information in the sib2 system message. DL RSRP is obtained by the terminal device by measuring the downlink reference signal (RS). CQI is obtained by the terminal device based on the measurement result of the downlink RS and the encoded information obtained by demodulating the PDSCH. Higher air interface quality, coupled with no air interface congestion, results in a better air interface evaluation. In this embodiment, when TCP data transmission is slow, if the air interface evaluation is good (e.g., no air interface congestion and the value representing air interface quality is greater than a preset sixth threshold), the terminal device determines that the downlink data transmission has entered a downlink TCP slow transmission state caused by non-air interface factors, and can rebuild the TCP to achieve rapid recovery of the transmission rate. Thus, the technical solution provided in this application can accurately evaluate the air interface based on downlink air interface congestion identification and air interface quality calculation, thereby more accurately identifying downlink TCP slow transmission status caused by non-air interface factors, adopting more effective adjustment or repair for TCP data transmission, and more quickly restoring normal data transmission, further reducing lag time, and further improving the output smoothness of terminal devices, thereby enhancing user experience.
[0118] The terminal device provided in this application embodiment achieves good results by adopting the above technical solution. It is effective in congested scenarios such as canteens, subways, and high-speed rail stations, as well as in non-congested scenarios such as open outdoor areas. Packet loss comparison tests were conducted, and the terminal device provided in this application embodiment was able to accurately identify the cause of video stuttering and actively perform TCP repair in non-congestion scenarios, such as... Figure 12 As shown, the video stuttering time has been reduced from more than 1 minute to 5 seconds, significantly reducing stuttering and improving the smoothness of terminal device output and user experience.
[0119] In some embodiments, the calculation of air interface quality is performed by the air interface evaluation module, or in other words, the air interface evaluation module is also used to calculate air interface quality.
[0120] In the communication method provided in the above embodiments, at least one of the operations of identifying air interface congestion and identifying slow TCP data transmission can also be performed by the base station.
[0121] When a terminal device performs an operation to identify slow TCP data transmission, if it determines that TCP data transmission is slow, the terminal device notifies the base station to perform an operation to identify air interface congestion. If the base station determines that the downlink air interface is not congested, it can send a response to the terminal informing it of the determination result, and then the terminal can re-establish the TCP connection. Alternatively, if the base station determines that the downlink air interface is not congested, it can directly send a request to the server to re-establish the TCP connection. In this case, the base station only needs to perform parsing at the PHY and MAC layers.
[0122] When a base station performs the operation of identifying slow TCP data transmission, it needs to continue parsing from the MAC layer up to the transport layer to obtain TCP data packets.
[0123] When the base station performs at least one of the operations of identifying air interface congestion and identifying slow TCP data transmission, the baseband unit in the base station provided in this application embodiment may further include a corresponding computer program. This corresponding computer program may be stored in a processor or memory. When the processor executes the corresponding computer program, the baseband unit can implement the at least one operation.
[0124] It should be understood that the embodiments described in this application are only some embodiments, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0125] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the application. The singular forms “a,” “the,” and “the” used in the embodiments of this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. The term “and / or” as used herein is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. Additionally, the character “ / ” in this document generally indicates that the preceding and following related objects are in an “or” relationship.
[0126] In a specific implementation, the present invention also provides a computer storage medium, wherein the computer storage medium may store a program, which, when executed, may include some or all of the steps in the various embodiments of the simulation scene generation method provided by the present invention. The storage medium may be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.
[0127] In a specific implementation, the present invention also provides a computer program product, wherein the computer program product includes executable instructions, which, when executed on a computer, cause the computer to perform some or all of the steps in various embodiments of the simulation scene generation method provided by the present invention.
[0128] Those skilled in the art will clearly understand that the techniques in the embodiments of the present invention can be implemented using software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solutions in the embodiments of the present invention, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in various embodiments or certain parts of the embodiments of the present invention.
[0129] The same or similar parts between the various embodiments in this specification can be referred to mutually. In particular, the device embodiments and terminal embodiments are basically similar to the method embodiments, so the description is relatively simple, and the relevant parts can be referred to the description in the method embodiments.
Claims
1. A communication method characterized by comprising: The method comprises: counting padding frames containing downlink data within a preset time length, the padding frames being sub-protocol data units containing padding bits; determining whether a downlink air interface is congested according to the counted padding frames; reestablishing a TCP connection in a case where the downlink air interface is not congested.
2. The method of claim 1, wherein, Before the determining whether the downlink air interface is congested, the method further comprises: counting TBSs for transmitting the downlink data within the preset time length; the determining whether the downlink air interface is congested according to the counted padding frames comprises: determining whether the downlink air interface is congested according to the padding frames and the counted TBSs.
3. The method of claim 2, wherein, The determining whether the downlink air interface is congested according to the padding frames and the counted TBSs comprises: determining that the downlink air interface is not congested when a padding bit size in the padding frames is greater than a first threshold value than the TBS.
4. The method according to any one of claims 1 to 3, characterized in that, The counting padding frames containing downlink data within a preset time length comprises: counting a frame number of the padding frames containing the downlink data within the preset time length; The determining whether the downlink air interface is congested according to the counted padding frames comprises: determining that the downlink air interface is not congested when the frame number is greater than a second threshold value; or 5. The method according to any one of claims 1 to 3, characterized in that, determining that the downlink air interface is not congested when a ratio of the frame number to the preset time length is greater than a third threshold value. The determining whether the downlink air interface is congested according to the counted padding frames further comprises:
6. The method according to any one of claims 1 to 3, characterized in that, determining whether the downlink air interface is congested according to a scheduling frequency and the counted padding frames. The counting padding frames containing downlink data within a preset time length comprises:
7. The method of claim 6, wherein, counting padding frames containing downlink data within a preset time length when a transmission speed of downlink TCP data is lower than a preset speed. The transmission speed of downlink TCP data being lower than the preset speed comprises:
8. The method of claim 7, wherein, an out-of-order sequence of downlink TCP data appearing and a duration of the out-of-order sequence exceeding a fourth threshold value. The transmission speed of downlink TCP data being lower than the preset speed further comprises:
9. The method according to any one of claims 1 to 3, characterized in that, estimating that a transmission duration of the downlink TCP data exceeds a fifth threshold value based on at least one of a size of a lost packet and a retransmission speed. The reestablishing a TCP connection in a case where the downlink air interface is not congested comprises:
10. The method according to any one of claims 1 to 3, characterized in that, reestablishing the TCP connection in a case where the downlink air interface is not congested and a quality of the downlink air interface is greater than a sixth threshold value. The reestablishing the TCP connection comprises:
11. A terminal device, comprising: informing a terminal to reestablish the TCP connection, the terminal being a destination terminal of the downlink TCP data. The terminal device comprises:
12. A base station, characterized by, a processor and a memory, the memory being configured to store computer program code, and the processor being configured to execute the computer program code, so that the terminal device performs the method according to any one of claims 1 to 9. The base station comprises:
13. A computer-readable storage medium, characterized in that, a processor and a memory, the memory being configured to store computer program code, and the processor being configured to execute the computer program code, so that the base station performs the method according to any one of claims 1 to 7 and 10. The computer readable storage medium stores a computer program, and the computer program, when executed on a computer, causes the computer to perform the method according to any one of claims 1 to 10.