Data transmission method and communication apparatus
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-11-07
- Publication Date
- 2026-05-21
Smart Images

Figure CN2025133264_21052026_PF_FP_ABST
Abstract
Description
A method and communication device for data transmission
[0001] This application claims priority to Chinese Patent Application No. 202411641932.4, filed on November 15, 2024, entitled "A Method and Communication Apparatus for Data Transmission", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communications, and more specifically, to a method and apparatus for data transmission. Background Technology
[0003] Link aggregation is a network technology that combines multiple physical links into a single logical link, which can provide higher transmission bandwidth and efficiency.
[0004] In link aggregation scenarios, improving data transmission efficiency is a crucial issue. Summary of the Invention
[0005] This application provides a data transmission method and a communication device that can improve data transmission efficiency.
[0006] In a first aspect, a method for data transmission is provided, which can be performed by a first communication device or by a component of the first communication device (e.g., a chip, circuit, or chip system).
[0007] The method includes: generating M data packets, the M data packets belonging to the same data stream, where M is an integer greater than or equal to 1; and transmitting the M data packets on N links according to the transmission delay, where the N links include at least one wireless link, and N is an integer greater than or equal to 2.
[0008] Based on the above scheme, the first communication device can send M data packets on N links according to the transmission delay, which can reduce the impact of transmission delay on data transmission on different links and improve transmission efficiency.
[0009] Furthermore, since the M data packets of N links are determined based on the transmission delay, the above scheme can make the arrival times of adjacent data packets at the receiving end close, thereby reducing the complexity of data processing for the second communication device.
[0010] In conjunction with the first aspect, in some implementations, the transmission delay is determined based on the measurement frame. For example, the transmission delay is determined based on the transmission and acknowledgment of the measurement frame.
[0011] As an example, transmission latency includes queuing time and transmission time, with the transmission time determined based on the measurement frame.
[0012] In conjunction with the first aspect, some implementation methods specifically include: sending a measurement frame i on the i-th link of N links, where i is an integer greater than or equal to 1 and less than or equal to N; sending a measurement frame j on the j-th link of N links, where j is an integer greater than or equal to 1 and less than or equal to N; receiving an acknowledgment frame on the first link of N links, the acknowledgment frame including the acknowledgment frame i of measurement frame i and the acknowledgment frame j of measurement frame j; and determining the transmission delay of the i-th link and the transmission delay of the j-th link based on the measurement frame i, the acknowledgment frame i, the measurement frame j, and the acknowledgment frame j.
[0013] Optionally, the measurement frame includes measurement frame i and measurement frame j.
[0014] Based on the above scheme, response frames from different links are all sent through the same link. This eliminates the impact of the transmission time of response frames from different links on the RTT at the air interface. The RTT relationship of N links can reflect the transmission time relationship of N links, which makes it easier for the first communication device to send M data packets on N links according to the transmission delay, thereby improving data transmission efficiency, reducing the impact of transmission delay on data transmission on different links, and improving transmission efficiency.
[0015] As one possible implementation, both measurement frame i and response frame i include a first identifier, which is used to identify measurement frame i.
[0016] For example, measurement frame i is a base service layer measurement frame.
[0017] Based on the above scheme, this application can be applied to star flash technology to improve data transmission efficiency in short-range wireless communication scenarios.
[0018] As one possible implementation, the basic service layer measurement frame includes at least one of the following: transmission channel identifier (TCID), link identifier, and link group identifier. The TCID is used to indicate the type of the i-th link; the link identifier is used to identify the i-th link; and the link group identifier is used to identify the link formed by link aggregation of N links.
[0019] Based on the above scheme, each link and the aggregated links can be identified by the link group identifier and the link identifier, which helps the second communication device send the response frame of the measurement frame and ensures the reliability of the transmission delay measurement.
[0020] In conjunction with the first aspect, in some implementations, the transmission priority of measurement frame i is higher than the transmission priority of buffered data packets on the i-th link. This ensures that the RTT measurement results do not include queuing time, thus improving the accuracy of the RTT measurement results.
[0021] In conjunction with the first aspect, in some implementations, the transmission delay of the i-th link out of N links includes: the queuing waiting time of the data packet to be transmitted on the i-th link; and the transmission time of the data packet to be transmitted on the i-th link; where i is an integer greater than or equal to 1 and less than or equal to N.
[0022] Based on the above scheme, since different links have different sending buffer queues, the queuing waiting time of different links may be different. The sending delay in this application includes the queuing waiting time of data packets between transmissions. This can make M data packets arrive at the second communication device in an ideal order as much as possible, reducing the complexity of data processing for the second communication device.
[0023] For example, the queuing waiting time is determined based on the queue exit rate of the i-th link and the size of the buffered data packets on the i-th link; the transmission time is determined based on the measurement frame i.
[0024] As one possible implementation, N links correspond one-to-one with N transmit buffer queues. The i-th transmit buffer queue in the N transmit buffer queues is used to indicate the size of the data packets buffered on the i-th link. The queue exit rate on the i-th link is the real-time transmission rate of the exit of the i-th transmit buffer queue.
[0025] Based on the above scheme, the queue exit rate can be obtained through real-time monitoring, which can reflect the latest communication environment and improve the accuracy of transmission delay estimation.
[0026] In conjunction with the first aspect, in some implementations, N links include a second link and a third link, and M data packets include a first data packet and a second data packet. Sending M data packets on N links includes: sending the first data packet on the second link; and sending the second data packet on the third link. The second link and the third link are of different types.
[0027] As one possible implementation, the first data packet includes a first sequence number, the second data packet includes a second sequence number, and the first sequence number and the second sequence number are different.
[0028] In conjunction with the first aspect, in some implementations, the N links include at least one of the following: StarSpark Basic SLB transmission link, StarSpark Low Power SLE transmission link, Wireless Fidelity Wi-Fi transmission link, Bluetooth transmission link, and Ethernet transmission link.
[0029] Based on the above scheme, the method of this application can support link aggregation of heterogeneous media and can take into account the latency differences of different transmission technologies, thereby improving the data transmission efficiency.
[0030] Secondly, a method for data transmission is provided, which can be performed by a second communication device or by a component of the second communication device (e.g., a chip, circuit, or chip system).
[0031] The method includes: receiving M data packets on N links, wherein the M data packets belong to the same data stream, the M data packets on the N links are determined based on the transmission delay, the N links include at least one wireless link, and N is an integer greater than or equal to 2; and parsing the M data packets.
[0032] In conjunction with the second aspect, in some implementations, the transmission delay is determined based on the measurement frame.
[0033] In conjunction with the second aspect, in some implementations, the transmission delay is determined based on the measurement frame. Specifically, this includes: receiving measurement frame i on the i-th link out of N links, where i is an integer greater than or equal to 1 and less than or equal to N; receiving measurement frame j on the j-th link out of N links, where j is an integer greater than or equal to 1 and less than or equal to N; and sending an acknowledgment frame on the first link out of N links. The acknowledgment frame includes acknowledgment frame i of measurement frame i and acknowledgment frame j of measurement frame j. Measurement frame i, acknowledgment frame i, measurement frame j, and acknowledgment frame j are used to determine the transmission delay of the i-th link and the transmission delay of the j-th link.
[0034] In conjunction with the second aspect, in some implementations, N links include a second link and a third link, and M data packets include a first data packet and a second data packet. Receiving M data packets on N links includes: receiving the first data packet on the second link; and receiving the second data packet on the third link. The second link and the third link are of different types.
[0035] As one possible implementation, the first data packet includes a first sequence number, the second data packet includes a second sequence number, the first sequence number and the second sequence number are different, and parsing M data packets includes: sorting the first data packet and the second data packet according to the size of the first sequence number and the second sequence number.
[0036] Thirdly, a communication device is provided, which may be a first communication device or a component of the first communication device (e.g., a chip, circuit, or chip system).
[0037] The device includes: a processing unit for generating M data packets, the M data packets belonging to the same data stream, where M is an integer greater than or equal to 1; and a transceiver unit for transmitting the M data packets on N links according to the transmission delay, where the N links include at least one wireless link, and N is an integer greater than or equal to 2.
[0038] In conjunction with the third aspect, in some implementations, the transmission delay is determined based on the measurement frame. For example, the transmission delay is determined based on the transmission and acknowledgment of the measurement frame.
[0039] As an example, transmission latency includes queuing time and transmission time, with the transmission time determined based on the measurement frame.
[0040] In conjunction with the third aspect, the transceiver unit is further configured to: transmit measurement frame i on the i-th link among the N links, where i is an integer greater than or equal to 1 and less than or equal to N; the transceiver unit is further configured to: transmit measurement frame j on the j-th link among the N links, where j is an integer greater than or equal to 1 and less than or equal to N; the transceiver unit is further configured to: receive an acknowledgment frame on the first link among the N links, the acknowledgment frame including acknowledgment frame i of measurement frame i and acknowledgment frame j of measurement frame j; the processing unit is further configured to: determine the transmission delay of the i-th link and the transmission delay of the j-th link based on measurement frame i, acknowledgment frame i, measurement frame j and acknowledgment frame j.
[0041] In conjunction with the third aspect, in some implementations, N links include a second link and a third link, and M data packets include a first data packet and a second data packet. The transceiver unit is specifically used to: send the first data packet on the second link; and send the second data packet on the third link. The second link and the third link are of different types.
[0042] As one possible implementation, the first data packet includes a first sequence number, the second data packet includes a second sequence number, and the first sequence number and the second sequence number are different.
[0043] In conjunction with the third aspect, in some implementations, the N links include at least one of the following: StarSpark Basic SLB transmission link, StarSpark Low Power SLE transmission link, Wireless Fidelity Wi-Fi transmission link, Bluetooth transmission link, and Ethernet transmission link.
[0044] Fourthly, a communication device is provided, which can be a second communication device or a component of the second communication device (e.g., a chip, circuit, or chip system).
[0045] The device includes: a transceiver unit for receiving M data packets on N links, wherein the M data packets belong to the same data stream, the M data packets on the N links are determined based on the transmission delay, the N links include at least one wireless link, and N is an integer greater than or equal to 2; and a processing unit for parsing the M data packets.
[0046] In conjunction with the fourth aspect, in some implementations, the transmission delay is determined based on the measurement frame.
[0047] In conjunction with the fourth aspect, in some implementations, the transceiver unit is further configured to: receive measurement frame i on the i-th link among N links, where i is an integer greater than or equal to 1 and less than or equal to N; the transceiver unit is further configured to: receive measurement frame j on the j-th link among N links, where j is an integer greater than or equal to 1 and less than or equal to N; the transceiver unit is further configured to: send an acknowledgment frame on the first link among N links, the acknowledgment frame including acknowledgment frame i of measurement frame i and acknowledgment frame j of measurement frame j, wherein measurement frame i, acknowledgment frame i, measurement frame j and acknowledgment frame j are used to determine the transmission delay of link i and the transmission delay of link j.
[0048] In conjunction with the fourth aspect, in some implementations, N links include a second link and a third link, and M data packets include a first data packet and a second data packet. The transceiver unit is specifically used to: receive the first data packet on the second link; and receive the second data packet on the third link. The second link and the third link are of different types.
[0049] As one possible implementation, the first data packet includes a first sequence number, and the second data packet includes a second sequence number. The first sequence number and the second sequence number are different. The processing unit is specifically used to sort the first data packet and the second data packet according to the size of the first sequence number and the second sequence number.
[0050] It should be understood that any aspects not described in detail in the second to fourth aspects, and their beneficial effects, can be referred to the first aspect.
[0051] Fifthly, a communication device is provided, comprising: a memory for storing a program; and at least one processor for executing the computer program or instructions stored in the memory to perform the method provided in any of the foregoing aspects or their implementations.
[0052] In one implementation, the device is a first communication device or a second communication device.
[0053] In another implementation, the device is a chip, chip system, or circuit used in a first or second communication device.
[0054] In a sixth aspect, a communication device is provided, comprising: at least one processor and a communication interface, the at least one processor being configured to obtain a computer program or instructions stored in a memory via the communication interface to execute the method provided in any of the foregoing aspects or their implementations. The communication interface may be implemented in hardware or software.
[0055] In one implementation, the device also includes a memory.
[0056] In a seventh aspect, a processor is provided for performing the methods provided in the above aspects.
[0057] Unless otherwise specified, or if it does not contradict its actual function or internal logic in the relevant description, the transmission and acquisition / reception operations involved in the processor can be understood as processor output and reception, input and other operations, or as transmission and reception operations performed by radio frequency circuits and antennas. This application does not limit them in this regard.
[0058] Eighthly, a computer-readable storage medium is provided that stores program code for execution by a device, the program code including methods for performing any of the foregoing aspects or their implementations.
[0059] Ninthly, a computer program product containing instructions is provided, which, when executed on a computer, cause the computer to perform the method provided in any of the above aspects or their implementations.
[0060] In a tenth aspect, a chip is provided, comprising a processor and a communication interface. The processor reads instructions stored in a memory through the communication interface and executes the method provided in any of the above aspects or their implementations. The communication interface can be implemented in hardware or software.
[0061] Optionally, as one implementation, the chip also includes a memory that stores computer programs or instructions. The processor is used to execute the computer programs or instructions stored in the memory. When the computer programs or instructions are executed, the processor is used to perform the methods provided by any of the above aspects or their implementations.
[0062] When the method provided in this application is executed by a chip, this application does not limit the specific number of chips implementing the method. For example, it can be executed by one chip, or by two or more chips. Furthermore, when the number of chips implementing the method is two or more, the chip manufacturers are not limited; they can be from the same manufacturer or different manufacturers.
[0063] In an eleventh aspect, a computer program is provided that, when run on a computer, causes the methods provided by any of the foregoing aspects or their implementations to be executed.
[0064] In a twelfth aspect, a communication system is provided, including the first communication device or the second communication device described above.
[0065] It should be understood that the beneficial effects of aspects two through twelfth and any of their implementations can be referenced from aspect one and any of its implementations. Attached Figure Description
[0066] Figure 1 is a schematic diagram of a network architecture applicable to an embodiment of this application.
[0067] Figure 2 is a schematic diagram of a link aggregation scenario.
[0068] Figure 3 is a schematic flowchart of a data transmission method 300 provided in this application.
[0069] Figure 4 is a schematic diagram of a link aggregation scenario provided in this application.
[0070] Figure 5 is a schematic diagram of the frame format of the measurement frame provided in this application.
[0071] Figure 6 is another schematic diagram of a link aggregation scenario provided in this application.
[0072] Figure 7 is a schematic flowchart of a communication method 400 provided in this application.
[0073] Figures 8 and 9 are schematic diagrams of the communication device provided in this application. Detailed Implementation
[0074] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0075] The technical solutions provided in this application can be applied to various communication systems, such as 5th generation (5G) systems (or New Radio (NR) systems), Long Term Evolution (LTE) systems, LTE Frequency Division Duplex (FDD) systems, and LTE Time Division Duplex (TDD) systems. The technical solutions provided in this application can also be applied to device-to-device (D2D) communication, vehicle-to-everything (V2X) communication, machine-to-machine (M2M) communication, machine-type communication (MTC), and Internet of Things (IoT) communication systems or other communication systems. Furthermore, the technical solutions provided in this application support short-range communication.
[0076] For example, short-range communication enables communication between electronic devices that are relatively close to each other. Currently, mainstream access technologies for short-range communication include Wi-Fi, Bluetooth, and ZigBee. With the development of the Internet of Things (IoT), new application scenarios such as smart cars, smart homes, smart terminals, and smart manufacturing have emerged, giving rise to a new generation of short-range access technologies. Taking Sparklink Alliance access technology as an example, it includes, but is not limited to: Sparklink Basic (SLB) (also known as Synchronous Low Latency Broadband, SLB) access technology and Sparklink Low Energy (SLE) (also known as Synchronous Low Energy, SLE) access technology. SLB access technology can support high-bandwidth services such as screen projection, virtual reality (VR), and vehicular communication, while SLE access technology can support low-bandwidth, low-rate, and low-power services such as audio playback, keyboard, mouse, and electronic pen input. For ease of description, in the following embodiments, SLB access technology may be abbreviated as SLB, and SLE access technology may be abbreviated as SLE. Furthermore, unless otherwise specified, the access technology mentioned in the following description refers to short-range access technology.
[0077] The embodiments of this application can be applied to wireless local area networks (WLANs), for example, supporting IEEE 802.11 related standards, such as 802.11a / b / g standards, 802.11n standards, 802.11ac standards, 802.11ax standards (i.e., Wi-Fi 6, also known as the high efficient (HE) standard), 802.11be standards (i.e., Wi-Fi 7, also known as the extremely high throughput (EHT) standard), 802.11bn standards (i.e., Wi-Fi 8, also known as the ultra high reliability (UHR) standard) or next-generation Wi-Fi 8 standards, and also include 802.11ad, 802.11ay standards, etc. The embodiments of this application can also be applied to wireless local area network systems that support integrated millimeter wave (IMMW), wireless local area network systems that support ultra-wideband (UWB) such as the 802.15 series standards, sensing systems such as the 802.11bf series standards, or wireless positioning such as 802.11az. This application can also support standard protocols such as Sparklink and Nearlink.
[0078] The communication systems described above that are applicable to this application are merely illustrative examples, and the communication systems applicable to this application are not limited thereto.
[0079] Figure 1 is a schematic diagram of a communication system applicable to an embodiment of this application. As shown in Figure 1, the communication system 100 includes a transmitting device 110 and a receiving device 120. The transmitting device 110 is a device for transmitting data, and the receiving device 120 is a device for receiving data.
[0080] It should be noted that Figure 1 is only used as an example to illustrate that the communication system 100 includes a transmitting end device 110 and a receiving end device 120, but the communication system 100 is not limited to including more other devices, and this application does not make specific limitations in this regard.
[0081] For example, in the embodiments of this application, the transmitting device 110 or the receiving device 120 can be any device with wireless transceiver function. For example, the transmitting device 110 is a radio access network (RAN) node or terminal, and the receiving device 120 is an RAN node or terminal.
[0082] In this application, the RAN node, also known as a radio access network device, RAN entity, or access node, is used to help a terminal access a communication system wirelessly. In one application scenario, the RAN node can be a base station, an evolved NodeB (eNodeB), a transmission reception point (TRP), a next-generation NodeB (gNB) in a 5G system, a base station in a future mobile communication system, or an access node in a Wi-Fi system. The RAN node can be a macro base station, a micro base station, an indoor station, a relay node, or a donor node. In another application scenario, multiple RAN nodes can cooperate to help a terminal achieve wireless access, with different RAN nodes implementing some of the functions of a base station. For example, the RAN node can be a central unit (CU), a distributed unit (DU), or a radio unit (RU). The CU (Radio Control Unit) performs the functions of the base station's Radio Resource Control (RAN) protocol and Packet Data Convergence Protocol (PDCP), and can also perform the functions of the Service Data Adaptation Protocol (SDAP). The DU (Radio Link Control Unit) performs the functions of the base station's Radio Link Control (RAN) layer and Medium Access Control (MAC) layer, and can also perform some or all of the physical layer functions. For specific descriptions of each of these protocol layers, please refer to the relevant technical specifications. The RU (Radio Receiver Unit) can be used to implement radio frequency (RF) signal transmission and reception functions. The CU and DU can be two independent RAN nodes, or they can be integrated into the same RAN node, such as within a baseband unit (BBU). The RU can be included in radio frequency equipment, such as in a remote radio unit (RRU) or an active antenna unit (AAU). The CU can be further divided into two types of RAN nodes: CU-control plane and CU-user plane.
[0083] In different systems, RAN nodes can have different names. For example, in an O-RAN system, a CU can also be called an open CU (O-CU), a DU can also be called an open DU (O-DU), and an RU can be called an open RU (O-RU). In this application, the RAN node can be implemented through software modules, hardware modules, or a combination of software and hardware modules. For example, the RAN node can be a server loaded with the corresponding software modules. The embodiments of this application do not limit the specific technology or device form used in the RAN node. For ease of description, a network device or base station is used as an example of a RAN node below.
[0084] A terminal is a device with wireless transceiver capabilities, capable of sending signals to or receiving signals from a base station. Terminals can also be referred to as terminal equipment, user equipment (UE), mobile station, mobile terminal, etc. Terminals can be widely used in various scenarios, such as D2D communication, V2X communication, MTC, IoT, virtual reality, augmented reality, industrial control (e.g., smart manufacturing), autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, smart transportation, smart cities, etc. Terminals can be mobile phones, tablets, cordless phones, session initiation protocol (SIP) phones, smartphones, wireless local loop (WLL) stations, personal digital assistants (PDAs), handheld devices with wireless communication capabilities, computers with wireless transceiver capabilities, wearable devices, vehicles, aircraft, ships, robots, robotic arms, smart home devices, etc. The embodiments of this application do not limit the specific technologies or device forms used in the terminals.
[0085] In some embodiments, the transmitting device 110 and the receiving device 120 may support at least one short-range access technology, for example, both may support SLB access technology. Furthermore, the transmitting device 110 and / or the receiving device 120 may also support SLE access technology. For example, mobile phones, tablets, wearable devices, and other devices may simultaneously support SLE and SLB. As another example, VR glasses, in-vehicle control panels, and cameras may support SLB. Whether electronic devices support SLE access technology is not the focus of this application and will not be described in detail here.
[0086] For example, in a communication process supporting SLB access technology, one of the sending device 110 and the receiving device 120 can act as a management node (grant node or glink node), and the other can act as a terminal node. The management node can be referred to as a master node device, G node, G device, or first node, etc.; the terminal node can be referred to as a T node, T device, or second node, etc. This application does not limit the device names, as long as they can perform the corresponding functions. For ease of description, the management node will be abbreviated as G node, and the terminal node as T node. Generally, as a G node, resources can be uniformly scheduled and managed. Therefore, the G node can send data scheduling information, and the T node can receive data scheduling information and send data according to the data scheduling information.
[0087] It should be understood that the above description of the transmitting device 110 and the receiving device 120 is merely exemplary, and this application does not limit the specific form of the transmitting device 110 and the receiving device 120.
[0088] Link aggregation is a network technology that combines multiple physical links into a single logical link, providing higher bandwidth and efficiency. Currently, link aggregation is primarily used in wired networks, where all the bundled physical links are wired transmission media (e.g., network cables). In wired networks, bandwidth and latency depend mainly on the performance of the wired transmission medium, resulting in high stability. In wireless networks, however, one or more of the bundled physical links can be wireless transmission media (e.g., wireless channels). The performance of wireless transmission media is real-time and varies significantly over time; therefore, bandwidth and latency are unstable.
[0089] In the aforementioned link aggregation scenario, how to perform packet segmentation to improve data transmission efficiency is a crucial issue. This will be explained below with reference to Figure 2.
[0090] Figure 2 is a schematic diagram of a link aggregation scenario. As shown in Figure 2, it is assumed that there are 3 links between the sending device and the receiving device, denoted as link #1, link #2 and link #3. These 3 links can be used as a virtual link through link aggregation technology. Suppose the sending device has 10 data packets in its data stream. One data transmission method is for the sending device to transmit these 10 data packets sequentially through three links according to their sequence numbers (SNs). That is, data packets with SNs 1, 4, 7, and 10 are sent through link #1, data packets with SNs 2, 5, and 8 are sent through link #2, and data packets with SNs 3, 6, and 9 are sent through link #3. Ideally, the data packets would arrive at the receiving device in SN order. However, if the transmission bandwidth and latency of the different links differ significantly, the arrival times of data packets with adjacent SNs will vary considerably. For example, if the transmission latency of link #1 is lower, while the transmission latency of links #2 and #3 is higher, then data packets with SNs 1, 4, 7, and 10 will arrive at the receiving device first, followed by data packets with SNs 2, 3, 5, 6, 8, and 9. In other words, this data transmission method is inefficient, resulting in significant differences in the arrival times of data packets with adjacent SNs. In addition, since the receiving device needs to sort the data packets according to the SN order before delivering them to the upper layer application, this will result in a large data packet rearrangement pressure on the receiving device.
[0091] In view of this, this application proposes a data transmission method and communication device that can improve data transmission efficiency and thereby reduce the complexity of the receiving end device.
[0092] It should be understood that the embodiments shown below illustrate the method by using a first communication device and a second communication device as examples of the execution subjects for interaction. However, this application does not limit the execution subject; any program that can run the code of the method provided in the embodiments of this application can communicate according to the method provided in the embodiments of this application. The execution subject of the method provided in the embodiments of this application can be a first communication device and a second communication device, or a functional module in the first communication device and the second communication device that can call and execute a program. For example, the first communication device in FIG3 can also be a chip, chip system, or processor that supports the method that the first communication device can implement, or it can be a logic module or software that can implement all or part of the functions of the first communication device; the second communication device in FIG3 can also be a chip, chip system, or processor that supports the method that the terminal communication device can implement, or it can be a logic module or software that can implement all or part of the functions of the second communication device.
[0093] Figure 3 is a schematic flowchart of a data transmission method 300 provided in this application. As shown in Figure 3, the method 300 includes the following steps.
[0094] S310, the first communication device generates M data packets, where M is an integer greater than 0.
[0095] In this application, M data packets belong to the same data stream, for example, to the first data stream. A data stream in this application refers to data generated by an application or a group of data with a sequential relationship. For example, if application A and application B are different applications, then the data generated by application A and the data generated by application B belong to different data streams. For instance, a data stream can be a segment of video information or a segment of audio information.
[0096] In this application, the first communication device can be the transmitting end device shown in Figure 1 or Figure 2, which can be a RAN node or a terminal, or a G node or a T node.
[0097] It should be understood that M data packets can be understood as M data packets to be transmitted. The application layer of the first communication device will generate multiple data packets, including the aforementioned M data packets. The M data packets are transmitted through layers to reach the access layer. Before sending data, the access layer will first buffer the M data packets.
[0098] In one implementation, each of the M data packets includes a SN, and the SN in each data packet is used to identify the data packet.
[0099] In this application, the SN of the data packet is also called the sequence number of the data packet, which refers to the number of the data and can be used to identify the order of the data.
[0100] For example, the SN can be assigned by the application layer, for instance, based on the order of data packets in the service to be transmitted.
[0101] S320, the first communication device sends M data packets on N links according to the transmission delay, and correspondingly, the second communication device receives M data packets on N links.
[0102] In one implementation, N links are used for link aggregation. Optionally, prior to S320, the first and second communication devices can negotiate to use link aggregation transmission technology to treat N links as a single logical link for data transmission, where N is an integer greater than or equal to 2.
[0103] For example, any one of the N links can be: SLB transmission link, SLE transmission link, Wi-Fi transmission link, Bluetooth transmission link, or Ethernet transmission link.
[0104] In this application, an SLB transmission link can be understood as a link that transmits data via SLB access technology. Similarly, an SLE transmission link, Wi-Fi transmission link, Bluetooth transmission link, or Ethernet transmission link can be understood as a link that transmits data via SLE access technology, Wi-Fi access technology, Bluetooth access technology, or Ethernet. Among these, the Ethernet transmission link is a wired link, while the SLB, SLE, Wi-Fi, and Bluetooth transmission links are all wireless links. In other words, the data transmission method in this application can be used in both wired and wireless networks.
[0105] Optionally, the access technology in this application can be replaced by a transmission technology, access type, transmission type, or type. The transmission link can be replaced by a communication link.
[0106] The statement that M data packets are sent on N links based on the transmission delay can be understood as follows: the M data packets on N links are determined by the transmission delay. Specifically, which link among the N links each of the M data packets is transmitted on is determined by the transmission delay, or in other words, which of the M data packets is transmitted on each of the N links is determined by the transmission delay.
[0107] In one implementation, the transmission delay refers to the transmission delay of each of the N links. In this case, sending M data packets on the N links according to the transmission delay can mean sending one or more data packets on any of the N links according to the transmission delay of each of the N links, until all M data packets have been sent.
[0108] For example, a first communication device transmits M data packets across N links based on transmission delay, including: the first communication device transmitting a first data packet on a second link at a first moment, the first data packet being one of the M data packets, wherein the second link is the link with the shortest transmission delay among the N links at the first moment. The first communication device then transmits a second data packet on a third link at a second moment, the second data packet being one of the M data packets, wherein the third link is the link with the shortest transmission delay among the N links at the second moment. In other words, each of the M data packets is transmitted through the link with the shortest transmission delay among the N links at the current moment.
[0109] It should be understood that in practical applications, there may be a time difference between the time when the data packet is sent and the time when the transmission delay is determined. This application ignores this time difference in the description.
[0110] Optionally, the second and third links can be the same link, for example, both the second and third links can be link #1 as shown in Figure 2. Alternatively, the second and third links can be different links, for example, the second link can be link #1 as shown in Figure 2, and the third link can be link #3 as shown in Figure 2. When the second and third links are different links, their transmission technologies (or types) can be the same or different. For example, both link #1 and link #3 in Figure 2 are SLB transmission links, meaning the second and third links have the same transmission technology (or type). As another example, link #1 in Figure 2 is an SLB transmission link, and link #3 in Figure 2 is a Wi-Fi transmission link, meaning the second and third links have different transmission technologies (or types).
[0111] Optionally, the first data packet includes a first sequence number, and the second data packet includes a second sequence number, wherein the first sequence number and the second sequence number are different. For example, the first sequence number and the second sequence number are adjacent.
[0112] Based on the above scheme, the first communication device can send M data packets on N links according to the transmission delay, which can reduce the impact of transmission delay on data transmission on different links and improve transmission efficiency.
[0113] In one implementation, at least one of the N links is a wireless link.
[0114] Since the latency of wireless links is real-time and unstable, the data transmission method of this application can reduce the impact of wireless link latency on data transmission and improve transmission efficiency.
[0115] Optionally, the method 300 further includes: S330, the second communication device parses M data packets.
[0116] For example, after receiving M data packets, the second communication device can input the M data packets to the upper layer for further processing, such as obtaining a first data stream.
[0117] For example, if the first data packet includes a first sequence number and the second data packet includes a second sequence number, the second communication device can sort the first data packet and the second data packet according to the size of the first sequence number and the second sequence number.
[0118] In this application, the second communication device can be the receiving end device shown in Figure 1 or Figure 2, which can be a RAN node or a terminal, or a G node or a T node.
[0119] Based on the above scheme, since the M data packets of N links are determined according to the transmission delay, the impact of transmission delay on data transmission on different links can be reduced, thereby improving transmission efficiency.
[0120] Furthermore, since the M data packets of N links are determined based on the transmission delay, the above scheme can make the arrival times of adjacent data packets at the receiving end close, thereby reducing the complexity of data processing for the second communication device.
[0121] In one implementation, the second communication device is a terminal or a T-node. Thus, the solution of this application can reduce the complexity of the terminal or T-node, which helps to miniaturize and lighten the terminal or T-node.
[0122] In one implementation, the transmission delay of the i-th link out of N links can also be called the one-way delay or the forward delay of the i-th link. It includes the queuing time of the data packet to be transmitted on the i-th link and the transmission time of the data packet to be transmitted on the i-th link, where i is an integer greater than or equal to 1 and less than or equal to N.
[0123] Assume the transmission delay of the i-th link out of N links is T. i The queuing time for data packets to be transmitted on the i-th link is T. delay,i The transmission time of the data packet to be transmitted on the i-th link is T. send,i Then T i T delay,i T send,i The relationship between them can be expressed by equation (1): T i =T delay,i +T send,i (1)
[0124] The following first describes the queuing time (T) of the data packets to be transmitted on the i-th link. delay,i (This will be explained.)
[0125] Specifically, before reaching the transmitter, data packets first pass through a transmit buffer queue, where they queue up to reach the transmitter. The data in the transmit buffer queue consists of already buffered data. In one implementation, N links correspond one-to-one with N transmit buffer queues. The i-th transmit buffer queue indicates the size of the data packets buffered on the i-th link, as shown in Figure 4. TX represents the transmitter, and RX represents the receiver. Furthermore, N links can correspond to one receive buffer queue, which indicates the size of the data packets received from the N links, as shown in Figure 4.
[0126] It should be understood that the TX and RX of each link can be interpreted as the transmit and receive functional units of the access layer of the transmission technology. For example, link #1 shown in Figure 4 is an SLB transmission link, then the TX of link #1 is the transmit functional unit of the SLB of the transmitting device, and the RX of link #1 is the receive functional unit of the SLB of the receiving device. Optionally, the transmit and / or receive functional units may include radio frequency units.
[0127] In this context, the data packet to be transmitted on the i-th link can be one of M data packets. The queuing time of this data packet on the i-th link is determined by the size of the buffered data packets on the i-th link and the queue exit rate of the i-th link. In other words, the queuing time of this data packet depends on the time it takes for the data packets already buffered in the i-th transmission buffer queue to be transmitted. Assume the size of the buffered data packets on the i-th link is L. i The queue exit rate is S i The size of the data packet to be transmitted is L. n Then L i S i L n T delay,i The relationship between them can be expressed by the following equation (2): T delay,i =(L i +L n ) / S i (2)
[0128] Equation (2) can also be understood as taking a size of L n The sorting wait time required for the data packet to be transmitted to be inserted into the i-th send buffer queue.
[0129] In this application, the send buffer queue can also be called the send queue, and similarly, the receive buffer queue can also be called the receive queue.
[0130] In this application, the queue exit rate on the i-th link can refer to the real-time transmission rate of data packets at the exit of the i-th transmit buffer queue, or the flow rate of buffered data packets at the exit of the transmit buffer queue. For example, as shown in Figure 4, S i It can refer to the rate at which the send buffer queue exits for each link.
[0131] Optionally, the transmit buffer queue can be located at the network transport layer (or basic service layer), and TX can be located at the access layer. In this case, the queue exit rate on the i-th link can refer to the real-time transmission rate of the data packets in the i-th transmit buffer queue to the access layer.
[0132] For example, the queue exit rate can be obtained by the first communication device through real-time monitoring, or the queue exit rate can be an average value over a period of time. For instance, the first communication device can dynamically update the sample size of the queue exit rate statistics to ensure that the accuracy of the rate estimation is not affected by short-term fluctuations.
[0133] Based on the above scheme, since different links have different sending buffer queues and queue exit rates, the queuing waiting time of different links may be different. The sending delay in this application includes the queuing waiting time of data packets between transmissions. This can make M data packets arrive at the second communication device in an ideal order as much as possible, reducing the complexity of data processing for the second communication device.
[0134] The following describes the transmission time (T) of the data packet to be transmitted on the i-th link. send,i (This will be explained.)
[0135] The transmission time of a data packet to be transmitted on the i-th link can refer to the time between the transmitter of the first communication device and the receiver of the second communication device. For example, the time required for the data packet to propagate from TX to RX as shown in Figure 4.
[0136] In one implementation, the transmission delay is determined based on measurement frames. For example, the transmission delay is determined based on the transmission and acknowledgment of measurement frames. The acknowledgment of a measurement frame can also be simply referred to as an acknowledgment frame. As mentioned earlier, the transmission delay can include queuing time and transmission time. The fact that the transmission delay is determined based on measurement frames can mean that the transmission time within the transmission delay is determined based on the measurement frames.
[0137] Specifically, the transmission delay is determined based on the measurement frame, including the following S301 to S304.
[0138] S301, the first communication device sends measurement frame i on the i-th link of N links, and correspondingly, the second communication device receives measurement frame i on the i-th link, where i is an integer greater than or equal to 1 and less than or equal to N.
[0139] S302, the first communication device sends a measurement frame j on the j-th link of N links, and correspondingly, the second communication device receives the measurement frame j on the j-th link, where j is an integer greater than or equal to 1 and less than or equal to N.
[0140] Specifically, S301 and S302 can be understood as the first communication device sending measurement frames on each of the N links, that is, sending a total of N measurement frames.
[0141] For example, the first communication device can adjust the transmission interval between two adjacent measurement frames to respond to changes in network conditions more quickly. This application does not limit the size of the transmission interval between two adjacent measurement frames.
[0142] S303, the second communication device sends a response frame on the first link of the N links, and correspondingly, the first communication device receives a response frame on the first link. The response frame includes response frame i of measurement frame i and response frame j of measurement frame j.
[0143] For example, the first link is any one of the N links.
[0144] Among them, response frame i responds to measurement frame i, and response frame j responds to measurement frame j.
[0145] Specifically, after receiving N measurement frames, the second communication device can send a response frame for each of the N measurement frames on the first link.
[0146] It should be understood that this application does not impose any restrictions on the sending order of the N response frames.
[0147] The first link can be negotiated in advance by the first communication device and the second communication device, or it can be indicated in advance by the first communication device to the second communication device, or it can be predefined by the protocol, without restriction.
[0148] S304, the first communication device determines the transmission delay of the i-th link and the transmission delay of the j-th link based on the measurement frame i, the response frame i, the measurement frame j, and the response frame j.
[0149] Specifically, the first communication device can determine the round-trip time (RTT) of each of the N links based on N measurement frames and N response frames. Furthermore, the transmission delay of each link can be determined based on its RTT. For example, the time difference between the transmission time of measurement frame i and the reception time of response frame i is the RTT of the i-th link. ,i In other words, RTT ,i This includes the transmission duration of measurement frame i over the air interface and the transmission duration of acknowledgment frame i over the air interface. Similarly, the time difference between the transmission time of measurement frame j and the reception time of acknowledgment frame j is the RTT of the j-th link. ,j In other words, RTT ,j This includes the transmission time of measurement frame j over the air interface and the transmission time of response frame j over the air interface. The transmission time of measurement frame i over the air interface is also the transmission time T of the data packet to be transmitted on the i-th link. send,iSince response frames i and j are transmitted through the same link, the transmission time of response frame i in the air interface is the same as that of response frame j in the air interface. Therefore, the relationship between the RRT of N links is the same as the relationship between the transmission times of N links.
[0150] Optionally, when the second communication device receives measurement frame i, it may need to process measurement frame i before sending response frame i. In this application, the time difference between the moment when the second communication device receives measurement frame i and the moment when the second notification device sends response frame i can be a first preset value. Similarly, the time difference between the moment when the second communication device receives measurement frame j and the moment when the second notification device sends response frame j is also the first preset value. This can eliminate the impact of the processing time of the second communication device on the RTT of different links.
[0151] Assume the RTT of the i-th link is RTT ,i The transmission time of frame i over the air interface is measured to be T. send,i The transmission time of the response frame i over the air interface is T. receiv,i The time difference between the moment the second communication device receives the measurement frame i and the moment the second notification device sends the response frame i is f. i The relationship between the above parameters can be expressed by the following equation (3): T send,i =RTT ,i -T receiv,i -f i (3)
[0152] Based on equations (1) to (3) above, the transmission delay of N links can be determined. When comparing the transmission delay of N links, since T receiv,i and f i Neither of them changes with i, therefore T delay,i With RTT ,i The magnitude of the sum can be used to indicate T i The size of the link. For example, if at some moment the T of the j-th link... delay,j With RTT ,j The sum is greater than T delay,i With RTT ,i The sum of, i.e. (T) delay,j +RTT ,j ) greater than (T delay,i +RTT ,i If this is true, then the transmission delay T of the data packet on the j-th link is... j Greater than the transmission delay T of the data packet on the i-th link i If so, the data packet to be transmitted will be transmitted through the i-th link first.
[0153] Alternatively, S301 to S304 can be considered as a way to determine the link with the minimum delay among N links.
[0154] It should be understood that the RTT of any link refers to the time elapsed from the sending end sending the measurement frame to the receiving end receiving the acknowledgment frame from the receiving end. The RTT of each link includes the transmission time of the measurement frame over the air interface and the transmission time of the acknowledgment frame over the air interface. In traditional RTT measurement methods, the link through which the sending end sends the measurement frame and the link through which the receiving end sends the acknowledgment frame are the same link. In this application, acknowledgment frames from different links are all sent through the same link. This eliminates the influence of the transmission time of acknowledgment frames from different links over the air interface on the RTT. It allows the relationship between the RTT of N links to reflect the relationship between the transmission times of N links, facilitating the first communication device to send M data packets on N links based on the transmission delay, thereby improving data transmission efficiency, reducing the impact of transmission delay on data transmission on different links, and improving transmission efficiency.
[0155] Optionally, the link from the first communication device to the second communication device can be called a forward link, and the link from the second communication device to the first communication device can be called a reverse link. Therefore, the RTT measurement method of this application can be understood as eliminating the time delay difference of the reverse link.
[0156] In one implementation, both measurement frame i and response frame i include a first identifier, which is used to identify measurement frame i. In this application, the first identifier can be called the sequence number or order number of the measurement frame, which can be used to identify measurement frame i. By carrying this identifier in measurement frame i and response frame i, measurement frames and response frames of different links can be distinguished, which facilitates the first communication device to determine the RTT of the i-th link.
[0157] For example, the format of measurement frames for different links can be the same or different, without limitation. Optionally, the format of measurement frames for different types of links can be different, while the format of measurement frames for links of the same type can be the same.
[0158] For example, when the i-th link is an SLE transmission link or an SLB transmission link, the measurement frame i sent on the i-th link is a basic service layer measurement frame.
[0159] Figure 5 is a schematic diagram of the frame format of a basic service layer measurement frame provided in this application. As shown in Figure 5(a), the basic service layer measurement frame includes a TCID field (8 bits), a frame type indicator field (4 bits), an O field, a C field, a field replaceable unit (RFU) field (2 bits), a length indicator field (16 bits), an acknowledgment mode field (4 bits), an RFU field (4 bits), a request frame sequence number field (14 bits), an RFU field (2 bits), a frame transmission timestamp field (64 bits), an extension field (variable length), and a cyclic redundancy check (CRC) field (16 bits). The first 8 bits of the frame transmission timestamp field are located in the second byte of the measurement frame, and the last 56 bits are located in the third byte. The frame type indicator field can be used to indicate whether the frame is a measurement frame or an acknowledgment frame. For example, when the 4 bits are 0b0110 (i.e., binary 0110), it indicates that the current frame is a measurement frame; when the 4 bits are 0b0111 (i.e., binary 0111), it indicates that the current frame is a response frame. The O field is 1 bit, used to indicate whether there is an extension field in the frame structure, and the C field is 1 bit, used to indicate whether there is a CRC field in the frame structure.
[0160] Optionally, the measurement frame in this application may be called a measurement request frame, and the response frame may be called a measurement response frame.
[0161] For example, TCID can be used to identify the type (or transmission technology) of the i-th link, the request frame sequence number field can carry the first identifier, and the extended field can contain the link identifier and the link group identifier. The link identifier is used to identify the i-th link, and the link group identifier is used to identify the link formed by link aggregation of N links.
[0162] Optionally, the link identifier can also be called the transmission channel identifier, and the link group identifier can also be called the transmission group instance identifier, as shown in Figure 5(b). The extended field can include 4 bytes of information, where bytes 1 to 2 are the transmission group instance identifier and bytes 3 to 4 are the transmission channel identifier.
[0163] In one implementation, the transmission priority of measurement frame i on the i-th link is higher than the transmission priority of cached data packets on the i-th link.
[0164] Specifically, measurement frame i can be added to the head of the i-th transmit buffer queue and sent immediately. The access layer also prioritizes sending measurement frame i. This ensures that the RTT measurement results do not include queuing time, thus improving the accuracy of the RTT measurement results.
[0165] Similarly, when the second communication device sends an acknowledgment frame, the acknowledgment frame is sent with a higher priority than the data.
[0166] In one implementation, the transmission technologies of the N links are different. For example, as shown in Figure 6, there are 4 links between the first and second communication devices. These 4 links can be aggregated into a single logical link, i.e., N=4. The 4 links are Ethernet transmission link, Wi-Fi transmission link, SLB transmission link, and SLE transmission link, respectively. Each link has a transmit buffer queue. The first communication device can count the queue exit rate of each link in real time, and then, through method 300, transmit M data packets of the same data stream on the 4 links. The second communication device can receive the M data packets on the 4 links, then put the M data packets into the receive buffer queue, sort them, and deliver them to the upper-layer application.
[0167] Different transmission technologies vary significantly, and their transmission latency characteristics also differ. For example, fixed Ethernet networks offer good bandwidth and latency guarantees, and exhibit good uplink and downlink symmetry. In contrast, Wi-Fi and Wi-Fi, based on wireless transmission technologies, have resource scheduling schemes that differ greatly from wired networks. The method described in this application can support link aggregation across heterogeneous media and can consider the latency differences between different transmission technologies, thereby improving data transmission efficiency.
[0168] Figure 7 is a schematic flowchart of a communication method 400 provided in this application. As shown in Figure 4, the method 400 includes the following steps.
[0169] S410, the first communication device sends measurement frame i on the i-th link of N links, and correspondingly, the second communication device receives measurement frame i on the i-th link, where i is an integer greater than or equal to 1 and less than or equal to N.
[0170] S420, the first communication device sends a measurement frame j on the j-th link of N links, and correspondingly, the second communication device receives the measurement frame j on the j-th link, where j is an integer greater than or equal to 1 and less than or equal to N.
[0171] S430, the second communication device sends a response frame on the first link of the N links, and correspondingly, the first communication device receives a response frame on the first link. The response frame includes response frame i of measurement frame i and response frame j of measurement frame j.
[0172] S440, the first communication device determines the transmission delay of the i-th link and the transmission delay of the j-th link based on the measurement frame i, the response frame i, the measurement frame j, and the response frame j.
[0173] For a detailed description of S410 to S440, please refer to S301 to S304, which will not be repeated here. In other words, the method for determining the transmission delay based on the measurement frame provided in this application can be implemented alone or together with the data transmission method 300. Method 400 is an example of a standalone implementation.
[0174] It is understood that, in order to achieve the functions in the above embodiments, the base station and terminal include hardware structures and / or software modules corresponding to perform each function. Those skilled in the art should readily recognize that, based on the units and method steps described in conjunction with the embodiments disclosed in this application, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.
[0175] Figures 8 and 9 are schematic diagrams of the communication devices provided in the embodiments of this application. These communication devices can be used to implement the functions of the first or second communication device in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments. In the embodiments of this application, the communication device can be the first or second communication device, or it can be a module (such as a chip) applied to the first or second communication device.
[0176] As shown in Figure 8, the communication device 2000 includes a processing unit 2010 and a transceiver unit 2020. The communication device 2000 is used to implement the functions of the first communication device or the second communication device in the method embodiment shown in Figure 3 above.
[0177] When the communication device 2000 is used to implement the function of the first communication device in the method embodiment shown in FIG3: the processing unit 2010 is used to generate M data packets, the M data packets belong to the same data stream, and M is an integer greater than or equal to 1; the transceiver unit 2020 is used to send M data packets on N links according to the transmission delay, the N links include at least one wireless link, and N is an integer greater than or equal to 2.
[0178] When the communication device 2000 is used to implement the function of the second communication device in the method embodiment shown in FIG3: the transceiver unit 2020 is used to: receive M data packets on N links, the M data packets belong to the same data stream, the M data packets on N links are determined according to the transmission delay, the N links include at least one wireless link, and N is an integer greater than or equal to 2; the processing unit 2010 is used to: parse the M data packets.
[0179] For a detailed description of the functions performed by the processing unit 2010 and the transceiver unit 2020, please refer to the relevant description in the method shown in Figure 3.
[0180] As shown in Figure 9, the communication device 3000 includes a processor 3010 and an interface circuit 3020. The processor 3010 and the interface circuit 3020 are coupled together. It is understood that the interface circuit 3020 can be a transceiver or an input / output interface. Optionally, the communication device 3000 may also include a memory 3030 for storing instructions executed by the processor 3010, or storing input data required by the processor 3010 to execute instructions, or storing data generated after the processor 3010 executes instructions. Sometimes, the interface circuit 3020 can also be understood as part of the processor 3010, in which case the communication device 3000 includes the processor 3010.
[0181] When the communication device 3000 is used to implement the method shown in FIG3, the processor 3010 is used to implement the function of the processing unit 2010, and the interface circuit 3020 is used to implement the function of the transceiver unit 2020.
[0182] When the aforementioned communication device is a chip applied to the first communication device, the chip implements the functions of the first communication device in the above method embodiments. The chip receiving information from the second communication device can be understood as the information being first received by other modules (such as an RF module or antenna) in the first communication device, and then sent to the chip by these modules. The chip sending information to the second communication device can be understood as the information being first sent to other modules (such as an RF module or antenna) in the first communication device, and then sent to the second communication device by these modules.
[0183] When the aforementioned communication device is a chip applied to the second communication device, the chip implements the functions of the second communication device in the above method embodiments. The chip receives information from the first communication device, which can be understood as the information being first received by other modules (such as an RF module or antenna) in the second communication device, and then sent to the chip by these modules. The chip sends information to the first communication device, which can be understood as the information being first sent to other modules (such as an RF module or antenna) in the second communication device, and then sent to the first communication device by these modules.
[0184] It is understood that the processor in the embodiments of this application can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.
[0185] The method steps in the embodiments of this application can be implemented in hardware or in software instructions executable by a processor. The software instructions can consist of corresponding software modules, which can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. The storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Alternatively, the ASIC can reside in a base station or terminal. The processor and storage medium can also exist as discrete components in a base station or terminal.
[0186] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video optical disc; or it can be a semiconductor medium, such as a solid-state drive. The computer-readable storage medium may be a volatile or non-volatile storage medium, or may include both types of storage media.
[0187] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions between different embodiments are consistent and can be referenced by each other. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships.
[0188] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, or B exists alone, where A and B can be singular or plural. In the textual description of this application, the character " / " generally indicates that the preceding and following related objects have an "or" relationship. "Including at least one of A, B, and C" can mean: including A; including B; including C; including A and B; including A and C; including B and C; including A, B, and C.
[0189] It should be understood that in the various embodiments of this application, the terms "first," "second," and various numerical designations are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The order of the sequence numbers of the above processes does not imply the order of execution; the execution order of each process should be determined by its function and internal logic.
[0190] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0191] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0192] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0193] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0194] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0195] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0196] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method of data transmission, characterized by, include: Generate M data packets, where the M data packets belong to the same data stream, and M is an integer greater than or equal to 1; The M data packets are transmitted on N links according to the transmission delay, wherein the N links include at least one wireless link, and N is an integer greater than or equal to 2.
2. The method of claim 1, wherein, The transmission delay is determined based on the measurement frame.
3. The method of claim 2, wherein, The transmission delay is determined based on the measurement frame, specifically including: The i-th link in the N links sends a measurement frame i, where i is an integer greater than or equal to 1 and less than or equal to N; The j-th link in the N links sends a measurement frame j, where j is an integer greater than or equal to 1 and less than or equal to N; The first link among the N links receives a response frame, which includes response frame i of measurement frame i and response frame j of measurement frame j; The transmission delay of the i-th link and the transmission delay of the j-th link are determined based on the measurement frame i, the response frame i, the measurement frame j, and the response frame j.
4. The method of claim 3, wherein, Both the measurement frame i and the response frame i include a first identifier, which is used to identify the measurement frame i.
5. The method according to claim 3 or 4, characterized in that, The measurement frame i is a base service layer measurement frame.
6. The method according to any one of claims 3 to 5, characterized in that, The basic service layer measurement frame includes at least one of the following: a transmission channel identifier (TCID), a link identifier, and a link group identifier. The TCID is used to indicate the type of the i-th link; The link identifier is used to identify the i-th link; The link group identifier is used to identify the link formed after the N links are aggregated.
7. The method according to any one of claims 3 to 6, characterized in that, The transmission priority of measurement frame i is higher than the transmission priority of cached data packets on the i-th link.
8. The method according to any one of claims 1 to 7, characterized in that, The transmission delay of the i-th link among the N links includes: The queuing time for the data packets to be transmitted on the i-th link; and, The duration of transmission of the data packet to be transmitted on the i-th link on the i-th link; Where i is an integer greater than or equal to 1 and less than or equal to N.
9. The method according to claim 8, characterized in that, The queuing waiting time is determined based on the queue exit rate of the i-th link and the size of the cached data packets on the i-th link; The transmission duration is determined based on measurement frame i.
10. The method according to any one of claims 1 to 9, characterized in that, The N links include a second link and a third link, the M data packets include a first data packet and a second data packet, and sending the M data packets on the N links includes: The first data packet is sent on the second link; The second data packet is sent on the third link, and the second link and the third link are of different types.
11. The method of claim 10, wherein, The first data packet includes a first sequence number, and the second data packet includes a second sequence number, wherein the first sequence number and the second sequence number are different.
12. The method according to any one of claims 1 to 11, characterized in that, The N links include at least one of the following: StarSpark Basic SLB Transmission Link, StarSpark Low Power SLE Transmission Link, Wireless Fidelity Wi-Fi Transmission Link, Bluetooth Transmission Link, Ethernet Transmission Link.
13. A method of data transmission, characterized by, include: M data packets are received on N links, the M data packets belong to the same data stream, the M data packets on the N links are determined based on the transmission delay, the N links include at least one wireless link, and N is an integer greater than or equal to 2; Parse the M data packets.
14. The method of claim 13, wherein, The transmission delay is determined based on the measurement frame.
15. The method of claim 14, wherein, The transmission delay is determined based on the measurement frame, specifically including: Measurement frame i is received on the i-th link among the N links, where i is an integer greater than or equal to 1 and less than or equal to N; Measurement frame j is received on the j-th link among the N links, where j is an integer greater than or equal to 1 and less than or equal to N; The first link in the N links sends a response frame, which includes response frame i of measurement frame i and response frame j of measurement frame j. The measurement frame i, the response frame i, the measurement frame j, and the response frame j are used to determine the transmission delay of the i-th link and the transmission delay of the j-th link.
16. The method according to any one of claims 13 to 15, characterized in that, The N links include a second link and a third link, the M data packets include a first data packet and a second data packet, and receiving M data packets on the N links includes: The first data packet is received on the second link; The second data packet is received on the third link, and the second link and the third link are of different types.
17. The method of claim 16, wherein, The first data packet includes a first sequence number, and the second data packet includes a second sequence number. The first sequence number and the second sequence number are different. Parsing the M data packets includes: The first data packet and the second data packet are sorted according to the size of the first sequence number and the second sequence number.
18. The method according to any one of claims 13 to 17, characterized in that, The N links include at least one of the following: StarSpark Basic SLB Transmission Link, StarSpark Low Power SLE Transmission Link, Wireless Fidelity Wi-Fi Transmission Link, Bluetooth Transmission Link, Ethernet Transmission Link.
19. A communications device, characterized by include: The unit is used to perform the method as described in any one of claims 1 to 12, or includes a unit used to perform the method as described in any one of claims 13 to 18.
20. A communications device, characterized by include: A processor coupled to a memory for storing a computer program, the processor for executing the computer program stored in the memory to cause the apparatus to perform the method as claimed in any one of claims 1 to 12, or to cause the apparatus to perform the method as claimed in any one of claims 13 to 18.
21. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions that, when executed by a communication device, implement the method as described in any one of claims 1 to 12, or implement the method as described in any one of claims 13 to 18.
22. A computer program product, characterised in that, Includes a computer program that, when run, implements the method as described in any one of claims 1 to 12, or implements the method as described in any one of claims 13 to 18.