Communication method and apparatus
Patent Information
- Application Number
- PCT/CN2026/076770
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-02-24
- Filing Date
- 2026-02-03
- Publication Date
- 2026-08-27
Smart Images

Figure CN2026076770_27082026_PF_FP_ABST
Abstract
Description
Communication methods and devices
[0001] This application claims priority to Chinese Patent Application No. 202510213020.5, filed with the State Intellectual Property Office of China on February 24, 2025, entitled "Communication Method and Apparatus", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communications, and more particularly to communication methods and apparatus. Background Technology
[0003] In modern communication systems, data transmission relies on the collaboration of multiple protocol layers, each processing data units of specific formats and sizes. Service data units (SDUs) are received from upper layers by a specific protocol layer, carrying application or control information, and must be processed and transmitted by that protocol layer.
[0004] To construct MAC protocol data units (PDUs), a logical channel prioritization (LCP) mechanism is introduced. The LCP mechanism organizes and encapsulates SDUs according to the priorities of different logical channels, thereby generating PDUs that meet transmission requirements. This process is also known as logical channel multiplexing.
[0005] During the logical channel multiplexing process, SDU segmentation may occur, resulting in high data transmission latency. Summary of the Invention
[0006] This application provides a communication method and apparatus for reducing data transmission latency.
[0007] To achieve the above objectives, this application adopts the following technical solution:
[0008] Firstly, a communication method is provided, which is applied to a transmitting end in a communication system. The executing entity of the method can be the transmitting end, a component or device applied to the transmitting end (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the transmitting end's functions. The transmitting end can be a terminal or a network device. The communication method includes: when a media access control entity determines that a first logical channel includes first data, it preferentially generates a first protocol data unit based on the first data, wherein the first data is a first segment of a first service data unit.
[0009] In the first aspect, when the MAC entity at the transmitting end determines that the first logical channel includes first data (the first data is the first segment of the first service data unit), the MAC entity preferentially generates the first protocol data unit based on the first data and multiplexes the first data into the protocol data unit in advance. As a result, the interval between the different protocol data units multiplexed by the multiple segments of the first service data unit is smaller, thereby reducing the time delay required to transmit the complete first service data unit.
[0010] In one possible design, the media access control entity preferentially generates a first service data unit based on the first data. This may include: the media access control entity adjusting the second priority of the first logical channel to a first priority, where the second priority is the current priority of the first logical channel and the first priority is higher than the second priority; and then generating a first protocol data unit based on the first priority of the first logical channel. The first protocol data unit may include all or part of the first data. Optionally, the first priority is the highest priority.
[0011] In this design, the priority of the first logical channel corresponding to the first segment of the segmented first service data unit is adjusted to a first priority that is higher than the preset second priority. This allows the first data of the first segment to be used to generate protocol data units earlier, so that the receiving end can obtain the complete first service data unit more quickly and reduce the transmission delay of the first service data unit.
[0012] In one possible design, before the media access control entity generates the first service data unit based on the first data, the method may further include: the media access control entity determining that the second priority of the first logical channel is higher than the priority threshold.
[0013] In this design, a prerequisite is set for the media access control entity to prioritize the generation of the first service data unit based on the first data: the second priority of the first logical channel is higher than the priority threshold, which enables the service data units of logical channels with higher importance to be processed first.
[0014] In one possible design, before the media access control entity generates the first service data unit based on the first data, the method may further include: the media access control entity determining that the amount of the first data is less than a data amount threshold.
[0015] In this design, the media access control entity is given the precondition that the first service data unit is generated based on the first data: the amount of the first data is less than the data amount threshold, which allows the service data units with smaller amounts of the remaining segment data to be processed first.
[0016] In one possible design, the method may further include: a media access control entity determining that a first variable is greater than a preset variable threshold, wherein the first variable is used to determine whether to allocate resources for a first logical channel.
[0017] In this design, before generating the first protocol data unit based on the first data, the media access control entity first considers the first variable of the first logical channel. The value change of the first variable follows a token bucket mechanism, which ensures that the first variable accurately reflects the amount of data the logical channel can carry. When considering the first variable, the media access control entity can, based on its value, filter and arrange the transmission order of service data units from among many pending transmission data units according to a reasonable allocation of data volume and channel priority. This scheduling avoids disorderly contention for transmission resources, thereby ensuring that service data units are transmitted in a certain order and according to certain rules, reducing data loss and latency, and improving the stability and reliability of data transmission.
[0018] In one possible design, the method may further include: a media access control entity decrementing the value of a first variable, wherein the first variable is used to determine whether to allocate resources for the first logical channel.
[0019] In this design, reducing the value of the first variable avoids excessive subsequent data injection that could lead to traffic overflow or channel congestion, thus ensuring continuous and stable data transmission.
[0020] In one possible design, the decrease in the value of the first variable is greater than or equal to the amount of data in the first data set.
[0021] This design incorporates a reduction in the value of the first variable, optimizing resource allocation and scheduling. This enables dynamic resource adjustment, preventing resource exhaustion, ensuring data transmission stability, improving resource utilization, meeting diverse business needs, and enhancing overall system performance.
[0022] In one possible design, the first service data unit further includes second data, which is a second segment of the first service data unit. The method may also include: a media access control entity generating a second protocol data unit based on the second data.
[0023] In one possible design, generating the first protocol data unit based on the first data may include: reducing the priority of at least one logical channel other than the first logical channel to achieve the priority generation of the first protocol data unit based on the first data.
[0024] In this design, the priority of the second logical channel other than the first logical channel is reduced so that the first protocol data unit is generated based on the first data first. This allows the first data of the first segment to be used to generate the protocol data unit earlier, so that the receiving end can obtain the complete first service data unit more quickly and reduce the transmission delay of the first service data unit.
[0025] In one possible design, after generating the first protocol data unit based on the first data, the method may further include: adjusting the first priority of the first logical channel to a reduced third priority, for example, the priority may be the aforementioned second priority, or a priority lower than the second priority. This allows the first logical channel to transmit data other than the first data according to the reduced third priority, thereby achieving a balanced allocation of multiplexing resources for the logical channel.
[0026] In this design, the priority of the first logical channel corresponding to the first segment of the segmented first service data unit is adjusted to a first priority that is higher than or equal to the preset second priority, such as the highest priority of the current logical channel. This allows the first data of the first segment to be used to generate protocol data units earlier, so that the receiving end can obtain the complete first service data unit more quickly, thereby reducing the transmission delay of the first service data unit.
[0027] In one possible design, a corresponding effective time can be set for the first priority. Within this effective time, the media access control entity generates the first protocol data unit based on the first priority. Once the effective time expires, the priority of the first logical channel can be downgraded to the second priority, or, depending on the actual situation, to a lower priority; the specific priority to which it is downgraded is not limited.
[0028] In this design, by setting a corresponding effective time for the first priority, logical channels are processed with higher priority and the first protocol data unit is generated within a specific effective time. After the effective time expires, the priority can be rolled back. This approach avoids excessive favoritism in resource allocation among logical channels, allowing different logical channels to compete for and use resources reasonably in different time periods, thereby achieving a balanced allocation of multiplexing resources for logical channels.
[0029] In a second aspect, a communication device is provided for implementing the method described in the first aspect. For example, the communication device can be the transmitting end in the first aspect. When the device is a chip system, it can be composed of chips or may include chips and other discrete components.
[0030] The communication device includes modules, units, or means corresponding to the implementation method. These modules, units, or means can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the functions.
[0031] In some possible designs, the communication device may include a processing module and a transceiver module. The processing module can be used to implement the processing functions described in the first aspect and any possible implementation thereof. The transceiver module, also referred to as a transceiver unit, is used to implement the sending and / or receiving functions described in the first aspect and any possible implementation thereof. The transceiver module may consist of transceiver circuitry, a transceiver, a transceiver unit, or a communication interface.
[0032] In some possible designs, the transceiver module includes a sending module and / or a receiving module, which are used to implement the sending or receiving functions in the first aspect above and any possible implementation thereof.
[0033] Thirdly, a communication device is provided, comprising: a processor and a communication interface; the communication interface being used to communicate with a module outside the communication device; the processor being used to execute computer programs or instructions to cause the communication device to perform the method described in the first aspect. For example, the communication device can be a transmitting end as described in the first aspect. When the device is a chip system, it can be composed of chips or may include chips and other discrete devices.
[0034] Fourthly, a communication device is provided, comprising: at least one processor; the processor being configured to execute a computer program or instructions stored in a memory to cause the communication device to perform the method described in the first aspect. The memory may be coupled to the processor, or the memory may exist independently of the processor; for example, the memory and the processor may be two separate modules. The memory may be located outside or within the communication device.
[0035] The communication device is used to implement the method described in the first aspect. For example, the communication device can be the transmitting end in the first aspect. When the device is a chip system, it can be composed of chips or may include chips and other discrete components.
[0036] Fifthly, a computer-readable storage medium is provided that stores a computer program or instructions that, when executed on a communication device, enable the communication device to perform the method described in the first aspect.
[0037] In a sixth aspect, a computer program product containing instructions is provided that, when run on a communication device, enables the communication device to perform the method described in the first aspect.
[0038] In a seventh aspect, a communication device is provided, configured to cause the communication device to perform the method described in the first aspect.
[0039] It is understandable that when the communication device provided by any of the second to fourth aspects is a chip, the sending action / function of the communication device can be understood as outputting information, and the receiving action / function of the communication device can be understood as inputting information.
[0040] Eighthly, a communication system is provided, comprising the transmitting end described in the preceding aspects. Optionally, the communication system may further comprise a receiving end for receiving a first protocol data unit generated by the transmitting end described in the preceding aspects.
[0041] The receiving end can be a terminal or a network device. It can also be a component or device applied to the terminal or network device (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the terminal or network device. For example, the communication system may include: a terminal as the receiving end and a network device as the transmitting end, or a terminal as the transmitting end and a network device as the receiving end.
[0042] The technical effects of any of the design methods in aspects two through eight can be found in the technical effects of different design methods in aspect one, and will not be repeated here. Attached Figure Description
[0043] Figure 1 is a schematic diagram of a logical channel variable Bj update scenario provided in an embodiment of this application;
[0044] Figures 2-4 are schematic diagrams of resource allocation scenarios for logical channels provided in the embodiments of this application;
[0045] Figure 5 is a schematic diagram of the serial numbering scenario of PDU under different entities provided in the embodiments of this application;
[0046] Figure 6 is a schematic diagram of a logical channel multiplexing scenario provided in an embodiment of this application;
[0047] Figures 7-9 are schematic diagrams of the architecture of the communication system provided in the embodiments of this application;
[0048] Figures 10 and 11 are schematic flowcharts of the communication method provided in the embodiments of this application;
[0049] Figures 12 and 13 are schematic diagrams of a scenario for generating a first protocol data unit according to an embodiment of this application;
[0050] Figure 14 is a schematic diagram of a scenario where logical channel multiplexing is performed without considering logical channel variable Bj, as provided in an embodiment of this application.
[0051] Figures 15 and 16 are schematic diagrams of the structure of the communication device provided in the embodiments of this application. Detailed Implementation
[0052] The network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0053] Before introducing the embodiments of this application, some related technologies involved in the embodiments of this application will be explained.
[0054] 1. SDU:
[0055] In a communication protocol, a Sub-SDU is a data unit passed from an upper layer to a lower layer. It contains application data or control information that needs to be processed and transmitted by that layer. Its size and format are usually specified by the upper layer protocol. The lower layer processes the Sub-SDU according to its own functions and the requirements of the lower layer, such as segmentation and encryption, and then passes it to the lower layer. Different protocol layers have different Sub-SDUs, such as RLC Sub-SDU of the Radio Link Control (RLC) layer and MAC Sub-SDU of the Media Access Control (MAC) layer.
[0056] 2. PDU:
[0057] A PDU is a data unit with a specific format and function, formed by encapsulating and processing data at each layer of a communication protocol to achieve data transmission and communication. It typically contains protocol control information for the current layer, as well as SDUs (Software-Defined Units) from higher layers or processed SDU fragments. The format and content of a PDU are defined by the corresponding protocol. Different protocol layers have different types of PDUs, such as IP datagrams at the network layer and frames at the data link layer. PDUs are transmitted and processed between layers. Each layer performs decapsulation, processing, or recapsulation operations on the PDU according to protocol requirements to ensure correct data transmission and communication within the network.
[0058] 3. Logical Channel Prioritization (LCP):
[0059] Logical Channel Multiplexing (LCP) can rationally schedule data transmission and allocate resources according to the importance and demand of logical channels, thereby optimizing system performance and meeting service requirements. LCP can also be called Logical Channel Multiplexing.
[0060] For example, for services that are sensitive to latency and have high reliability requirements, such as voice calls and video conferencing, these services can be given priority in resource acquisition and transmission to reduce latency and packet loss, ensuring smooth and stable communication; and / or, wireless resources can be rationally allocated according to the service characteristics and data volume of different logical channels to avoid waste, improve system resource utilization efficiency, and support more services and users.
[0061] In some possible implementations, the MAC layer can evaluate and classify logical channels based on service type, quality of service (QoS) requirements, data volume, etc., and configure different priorities, such as high priority for voice service channels and low priority for data download channels. At each transmission opportunity, the logical channels are sorted based on the above priorities, data backlog, last transmission time, and other factors. According to the sorting results, available resources, logical channel bandwidth requirements, transmission formats, etc., resources are allocated to each logical channel in sequence, allowing high-priority channels to transmit first. This flexibly and efficiently utilizes limited wireless resources, provides differentiated services for different services, and improves user experience and overall system performance.
[0062] It is understood that the above LCP process is an exemplary introduction, and other implementation methods are possible based on technological evolution, without limitation.
[0063] Logical channel multiplexing encapsulates or multiplexes multiple logical channel MAC SDUs into a single MAC PDU. The following is an exemplary description of the logical channel multiplexing process at the MAC layer:
[0064] Step S1: Fill the token bucket with water.
[0065] Function: The token bucket filling mechanism is mainly used to control the size of the MAC SDU that can be added each time, achieving effective management of data transmission traffic. Within the token bucket filling mechanism, the variable Bj represents the number of available tokens in the token bucket; in other words, Bj records the remaining number of tokens in the token bucket. Each logical channel can correspond to one Bj.
[0066] As shown in Figure 1, the logical channel variable Bj can be updated before the logical channel prioritization (LCP) procedure. Updating Bj involves possible parameters such as the prioritized bit rate (PBR) and the bucket size duration (BSD). For example, the value of Bj increases by PBR × T, where T represents the time interval between the last increase in Bj and the current operation, and the upper limit of Bj's value is PBR × BSD. The specific timing of increasing Bj depends on the user equipment (UE) implementation; for example, it can be done before the LCP procedure. Furthermore, after obtaining an uplink grant (UL grant), the logical channel's corresponding Bj can be incremented.
[0067] Step S2: Select the logical channel.
[0068] Based on the configuration parameters of the logical channels and the information associated with the UL grant, the logical channels that can be selected for multiplexing are determined. During this process, logical channels that match the UL grant are eligible for multiplexing.
[0069] A UL grant indicates resource information available for uplink transmission, such as the location, duration, or available transmit power of a time-frequency resource block. A logical channel matched with a UL grant is one that can satisfy the resource information specified in the UL grant. For example, if a UL grant allocates a specific time interval and frequency bandwidth, and the data volume and transmission rate requirements of a logical channel can be completed within the allocated time-frequency resources, then that logical channel may match the UL grant. If the data volume of a logical channel is too large, exceeding the resource carrying capacity allocated by the UL grant, then it is not a match.
[0070] Step S3: Allocate resources to the logical channel.
[0071] The available logical channels can be sorted according to a pre-set priority. The pre-set priority can also be a pre-configured priority.
[0072] For logical channel j, before multiplexing each MAC SDU, the value of Bj is first checked. If Bj > 0, the MAC SDU meets the multiplexing condition and can be multiplexed. For example, as shown in Figure 2, for logical channel j, there are initially three MAC SDUs (SDU 1, SDU 2, SDU 3) and an initial value of Bj. When determining whether to multiplex SDU 1, since Bj > 0, SDU 1 meets the condition and is multiplexed, and after multiplexing, Bj becomes Bj - SDU 1. Next, when determining whether to multiplex SDU 2, since Bj - SDU 1 > 0, SDU 2 also meets the condition and is multiplexed, and Bj becomes Bj - SDU 1 - SDU 2. When determining whether to multiplex SDU 3, since Bj - SDU 1 - SDU 2 < 0, SDU 3 does not meet the condition and cannot be multiplexed.
[0073] Furthermore, if the remaining transmission resources cannot fully accommodate the MAC SDU, it indicates insufficient resources, and the MAC SDU can be segmented. As shown in Figures 3 and 4, SDU2 in logical channel 3 is segmented.
[0074] Figure 3 illustrates the relationship and processing method between RLC SDU and UL grant. In the scenario shown in Figure 3(a), the RLC SDU is smaller than the UL grant and can be fully included in the transmission resources; in the scenario shown in Figure 3(b), the RLC SDU is larger than the UL grant, and segmented transmission is performed due to insufficient resources.
[0075] After successfully reusing the MAC SDU, subtract the actual size of the MAC SDU placed into the transmission resources from Bj.
[0076] Figure 4 illustrates the multiplexing relationship between multiple logical channels (Logical Channel 1, Logical Channel 2, and Logical Channel 3) and the UL grant, as well as the transmission of SDUs. In this scenario, multiple SDUs are multiplexed and transmitted through different logical channels. SDU2 in Logical Channel 3 exhibits segmentation. This is because, within the resource allocation range of the UL grant, Logical Channel 3 is the last channel to be multiplexed, and SDU2 is the last SDU in that logical channel. When the available resources of Logical Channel 3 are insufficient to completely transmit SDU2, it is segmented.
[0077] In one example, if the Priority Bit Rate (PBR) of a logical channel is infinite, this means that the number of available tokens Bj in the token bucket corresponding to that logical channel is infinite. In this case, all MAC SDUs corresponding to that logical channel can be directly placed into the transmission resources without comparing or judging Bj.
[0078] 4. MAC entity:
[0079] The MAC entity is a crucial management module at the MAC layer, possessing multiple functions, described below: It maps logical channels to transport channels; multiplexes MAC SDUs from one or more logical channels for transmission to the physical layer via the transport channel, while demultiplexing MAC SDUs from data transmitted from the physical layer via the transport channel to one or more logical channels; it reports scheduling information, providing feedback to the network with scheduling-related information; it performs error correction using a hybrid automatic repeat request mechanism to improve data transmission reliability; it prioritizes logical channels and handles the priority of overlapping resources among individual user equipment to avoid resource conflicts; furthermore, it selects radio resources based on channel conditions and service requirements to improve resource utilization and transmission quality.
[0080] 5. Numbering rules for the sequence number (SN) of the SDU of an RLC entity:
[0081] The SDU numbering system is a mechanism established by the RLC entity in the communication protocol stack to ensure the orderly transmission, accurate identification, and reassembly of service data units. While the SDU numbering rules differ across layers, they follow some general principles:
[0082] The RLC entity assigns serial numbers (SNs) to SDUs received in the order they are received. For example, the SDUs received earlier are assigned smaller SNs, and those received later are assigned larger SNs, thus establishing an ordered numbering sequence for easier data management and processing.
[0083] Each SDU is assigned a unique SN number to ensure accurate identification and differentiation during data transmission, avoid number confusion, and guarantee data accuracy and integrity.
[0084] The serial number (SN) has a specific range of values, depending on the protocol and system design, and may be represented by binary numbers of different lengths, such as 8 bits, 16 bits, or 32 bits. When the number reaches the maximum value of the range, it may be reassigned starting from the minimum value, i.e., the number is used cyclically. However, this must be combined with other mechanisms (such as timestamps and window mechanisms) to avoid conflicts with the number of previously transmitted data.
[0085] SN, SDU, and PDU have the following relationship:
[0086] If the SDU is not segmented, one SDU corresponds to one PDU. The SN number of the SDU is directly used as the number of the corresponding PDU. The receiver uses this number to identify and process the SDU data carried by the PDU.
[0087] When an SDU is segmented, multiple segments may be encapsulated into different PDUs. However, all segments belonging to the same SDU have the same SN number in their respective PDUs, which makes it easy for the receiver to correctly combine the segments based on the same number and restore the complete SDU.
[0088] As shown in Figure 5, Figure 5 illustrates the PDUs and their corresponding SN numbers under three RLC entities (Entity 1, Entity 2, and Entity 3). Each cell represents a PDU, where SN represents the serial number.
[0089] Entity 1: The SN numbers of the PDUs from bottom to top are 0, 1, 2, 3, and 4. In addition to the SN number, an SG is also marked. For example, two PDUs with SN=2 have SGs of 1 and 2 respectively. This indicates that the corresponding SDUs are segmented, with segments of the same SDU encapsulated in different PDUs. They share the same SN number and are further distinguished by the SG. The receiver can combine these segments based on the shared SN number to reconstruct the complete SDU. Typically, each SDU corresponds to one PDU, with the SN number directly serving as the PDU number. The receiver uses this number to identify and process the SDU data carried by the PDU.
[0090] Entity 2: Some PDUs, in addition to having a serial number (SN), also have an SG (SG designation). For example, there are two PDUs with SN=3, and their SGs are 1 and 2 respectively.
[0091] Entity 3: The SN numbers of PDUs from bottom to top are 0, 1, 2, 3, 4, and 5. Similarly, there may be cases where the SDU is not segmented or is segmented. If it is not segmented, the SN number is directly used as the PDU number; if it is segmented, the SN numbers of the segments of the same SDU are the same in different PDUs, which makes it easier for the receiver to restore the data.
[0092] SNs are assigned at the RLC layer. When assigning SNs at the RLC layer, the RLC entity assigns SNs to RLC SDUs in the order they are received. All RLC PDUs of each RLC SDU share the same SN, and different segments are further distinguished using a segment index (SG) to enable reliable data transmission and reassembly.
[0093] As mentioned earlier, during logical channel multiplexing, a MAC SDU may be segmented, and these segments may be packaged into different MAC PDUs. For the receiver, a MAC SDU is only delivered to the higher layer after all segments have been received completely. If multiple segments are packaged into different MAC PDUs, even if some segments have been correctly received, the receiver must wait for the remaining segments to be correctly received before delivering the complete MAC SDU to the higher layer. This increases the reception latency of the entire MAC SDU.
[0094] Taking the scenario shown in Figure 6 as an example, assume that the MAC entity assigns a unified sequence number (SN) to multiple logical channels. During logical channel multiplexing, the MAC entity obtains MAC SDUs from three logical channels to construct MAC PDUs. The priority of the logical channels, from highest to lowest, is: logical channel 1, logical channel 2, and logical channel 3. MAC SDUs numbered SN=1, SN=2, SN=3, SN=4, and SN=5 are used to generate MAC PDUs; this process can also be called MAC PDU packetization based on MAC SDUs. The MAC SDU with SN=3 is segmented into three segments during packetization, with corresponding numberings: (SN=3, SG=1), (SN=3, SG=2), and (SN=3, SG=3). The SDU with SN=4 is segmented into two segments during packetization, with corresponding numberings: (SN=4, SG=1) and (SN=4, SG=2).
[0095] The first MAC PDU contains the first segment of the MAC SDU from logical channel 1 with SN=1, the MAC SDU from logical channel 2 with SN=2, and the MAC SDU from logical channel 3 with SN=3.
[0096] The second MAC PDU contains a MAC SDU from logical channel 1 with SN=4 and SG=1;
[0097] The third MAC PDU includes a MAC SDU from logical channel 1 with SN=4 and SG=2, a MAC SDU from logical channel 2 with SN=5, and a MAC SDU from logical channel 3 with SN=3 and SG=2;
[0098] The fourth MAC PDU contains a MAC SDU from logical channel 3 with SN=3 and SG=3.
[0099] As can be seen, multiple segments of the MAC SDU with SN=3 in logical channel 3 are respectively packaged into the first, third, and fourth MAC PDUs, which inevitably leads to an increase in the reception delay of the MAC SDU.
[0100] To address the aforementioned technical problems, this application provides a communication method. The method provided in this application is described below with reference to the accompanying drawings.
[0101] The communication method provided in this application can be applied to various communication systems, such as Long Term Evolution (LTE) systems, 5G mobile communication systems, Wireless Fidelity (WiFi) systems, future communication systems, or systems integrating multiple communication systems. This application does not limit the application to these systems. 5G can also be referred to as NR.
[0102] The communication method provided in this application can be applied to various communication scenarios, such as one or more of the following communication scenarios: enhanced mobile broadband (eMBB), ultra-reliable low latency communication (URLLC), machine type communication (MTC), massive machine type communications (mMTC), device to device (D2D), vehicle to everything (V2X), vehicle to vehicle (V2V), and Internet of Things (IoT).
[0103] To facilitate understanding of the embodiments of this application, the application scenario used in this application is described using the communication system architecture shown in Figure 7 as an example. Figure 7 is a schematic diagram illustrating a possible, non-limiting system. As shown in Figure 7, the communication system 10 includes a radio access network (RAN) 100 and a core network (CN) 200. RAN 100 includes at least one RAN node (110a and 110b in Figure 7, collectively referred to as 110) and at least one terminal (120a-120j in Figure 7, collectively referred to as 120). RAN 100 may also include other RAN nodes, such as wireless relay devices and / or wireless backhaul devices (not shown in Figure 7). Terminal 120 is wirelessly connected to RAN node 110. RAN node 110 is wirelessly or wired connected to core network 200. The core network devices in core network 200 and RAN node 110 in RAN 100 can be different physical devices, or they can be the same physical device integrating core network logical functions and radio access network logical functions.
[0104] RAN 100 can be a cellular system related to the 3rd Generation Partnership Project (3GPP), such as 4G, 5G mobile communication systems, or future-oriented evolution systems. RAN 100 can also be an open RAN (O-RAN or ORAN), a cloud radio access network (CRAN), or a wireless fidelity (WiFi) system. RAN 100 can also be a communication system that integrates two or more of the above systems.
[0105] RAN node 110, sometimes also referred to as access network equipment, network equipment, RAN entity, or access node, constitutes part of the communication system and is used to help terminals achieve wireless access. Multiple RAN nodes 110 in communication system 10 can be of the same type or different types. In some scenarios, the roles of RAN node 110 and terminal 120 are relative. For example, network element 120i in Figure 7 can be a helicopter or drone, which can be configured as a mobile base station. For terminals 120j accessing RAN 100 through network element 120i, network element 120i is a base station; but for base station 110a, network element 120i is a terminal. RAN node 110 and terminal 120 are sometimes both referred to as communication devices. For example, network elements 110a and 110b in Figure 7 can be understood as communication devices with base station functions, and network elements 120a-120j can be understood as communication devices with terminal functions.
[0106] In one possible scenario, the RAN node can be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next-generation NodeB (gNB), a base station in a future mobile communication system, or an access node in a WiFi system. The RAN node can be a macro base station (as shown in Figure 7, 110a), a micro base station or indoor station (as shown in Figure 7, 110b), a relay node or donor node, or a radio controller in a CRAN scenario. Optionally, the RAN node can also be a server, wearable device, vehicle, or in-vehicle equipment. For example, the access network equipment in vehicle-to-everything (V2X) technology can be a roadside unit (RSU). All or part of the functions of the RAN node in this application can also be implemented through software functions running on hardware, or through virtualization functions instantiated on a platform (e.g., a cloud platform). The RAN node can also be equipped with communication modules, circuits, or chips that perform corresponding communication functions. The RAN node can also be configured with program instructions for performing corresponding communication functions, as well as corresponding program instructions. The RAN node in this application can also be a logical node, logical module, or software capable of implementing all or part of the RAN node's functions.
[0107] In another possible scenario, multiple RAN nodes collaborate to assist the terminal in achieving wireless access, with each RAN node performing a portion of the base station's functions. For example, RAN nodes can be central units (CUs), distributed units (DUs), CU-control plane (CPs), CU-user plane (UPs), or radio units (RUs), etc. CUs and DUs can be separate entities or included in the same network element, such as a baseband unit (BBU). RUs can be included in radio frequency equipment or radio frequency units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs).
[0108] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. For ease of description, this application uses CU, CU-CP, CU-UP, DU, and RU as examples. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules.
[0109] In this embodiment, the form of the RAN node is not limited. The device used to implement the function of the RAN node can be the RAN node itself; or it can be a device that supports the RAN node in implementing this function, such as a chip system. The device can be installed in the RAN node or used in conjunction with the RAN node.
[0110] A terminal can be a device or module that accesses the aforementioned communication system and has corresponding communication functions. A terminal can also be called a terminal device, user equipment (UE), mobile station, mobile terminal, etc. Terminals can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, smart transportation, smart cities, etc. Terminals can be mobile phones, tablets, computers with wireless transceiver capabilities, wearable devices, vehicles, drones, helicopters, airplanes, ships, robots, robotic arms, smart home devices, transportation vehicles with wireless communication capabilities, communication modules, etc. The embodiments of this application do not limit the device form of the terminal. A terminal typically contains a communication module, circuit, or chip that performs the corresponding communication function. The terminal can also be configured with program instructions for performing the corresponding communication function.
[0111] The embodiments of this application do not limit the device form of the terminal. The device used to implement the functions of the terminal can be the terminal itself; it can also be a device that supports the terminal in implementing the functions, such as a chip system. The device can be installed in the terminal or used in conjunction with the terminal. In the embodiments of this application, the chip system can be composed of chips or can include chips and other discrete devices. All or part of the functions of the terminal in this application can also be implemented by software functions running on hardware, or by virtualization functions instantiated on a platform (e.g., a cloud platform).
[0112] In one embodiment, AI nodes may also be introduced into the wireless network to support artificial intelligence (AI) technology.
[0113] AI nodes can be deployed in one or more locations within the communication system, such as access network nodes (RAN nodes), terminals, and core network equipment. They can also be deployed independently, for example, in an over-the-top (OTT) system host or cloud server outside of the aforementioned devices. AI nodes can communicate with other devices within the communication system, such as network equipment, terminals, and core network elements.
[0114] This application does not limit the number of AI nodes. If multiple AI nodes exist, they can be divided according to function, with each AI node responsible for a different function.
[0115] In addition, AI nodes can be standalone devices or integrated into the same device to achieve different functions; they can be network components in hardware devices, software functions running on dedicated hardware, or virtualization functions instantiated on cloud platforms and other platforms, and their specific forms are not limited.
[0116] AI nodes can be AI network elements or AI modules.
[0117] The preceding text has introduced the communication system applicable to the embodiments of this application from a macro-architectural perspective. To help deepen the understanding of this system in a practical application environment, the following will provide a more specific explanation of the communication system through several examples. It should be noted that the communication system examples listed below are for illustrative purposes and are intended to provide an intuitive understanding. The actual application scope of this application is far greater than this, and it is also compatible and adaptable to other types of communication systems, and is not limited thereto.
[0118] For example, Figure 8 is a schematic diagram of a possible application framework in a communication system. As shown in Figure 8, network elements in the communication system are connected through interfaces (e.g., NG, Xn) or air interfaces. These network element nodes, such as core network equipment, access network nodes (RAN nodes), terminals, or one or more devices in operations administration and maintenance (OAM), are equipped with one or more AI modules (only one is shown in Figure 8 for clarity). The access network node can be a single RAN node or can include multiple RAN nodes, for example, including CU and DU. The CU and / or DU can also be equipped with one or more AI modules. The CU can also be split into CU-CP and CU-UP, and one or more AI modules are installed in the CU-CP and / or CU-UP.
[0119] AI modules are used to implement corresponding AI functions. AI modules deployed in different network elements can be the same or different. The models of AI modules can achieve different functions depending on the parameter configurations. The models of AI modules can be configured based on one or more of the following parameters: structural parameters (e.g., at least one of the following: number of neural network layers, neural network width, inter-layer connections, neuron weights, neuron activation function, or biases in the activation function), input parameters (e.g., the type and / or dimension of the input parameters), or output parameters (e.g., the type and / or dimension of the output parameters). The biases in the activation function can also be referred to as the biases of the neural network.
[0120] In another example, Figure 9 illustrates a different possible application framework in a communication system. As shown in Figure 9, the communication system includes a RAN intelligent controller (RIC). For example, the RIC can be the AI module mentioned above, used to implement AI-related functions. RICs include near-real-time RICs (near-RT RICs) and non-real-time RICs (non-RT RICs). Non-real-time RICs primarily process non-real-time information, such as data that is not sensitive to latency, with latency in the order of seconds. Real-time RICs primarily process near-real-time information, such as data that is relatively sensitive to latency, with latency in the order of tens of milliseconds.
[0121] Near real-time (NRT) RICs are used for model training and inference. For example, they are used to train AI models and then use those models for inference. NRT RICs can obtain network-side and / or terminal-side information from RAN nodes (e.g., CUs, CU-CPs, CU-UPs, DUs, and / or RUs) and / or terminals. This information can be used as training data or inference data. NRT RICs can deliver inference results to RAN nodes and / or terminals. Inference results can be exchanged between CUs and DUs, and / or between DUs and RUs. For example, a NRT RIC delivers an inference result to a DU, which then forwards it to an RU.
[0122] Non-real-time RICs are also used for model training and inference. For example, they are used to train AI models and then use those models for inference. Non-real-time RICs can obtain network-side and / or terminal-side information from RAN nodes (e.g., CUs, CU-CPs, CU-UPs, DUs, and / or RUs) and / or terminals. This information can be used as training data or inference data, and the inference results can be delivered to RAN nodes and / or terminals. Inference results can be exchanged between CUs and DUs, and / or between DUs and RUs; for example, a non-real-time RIC delivers inference results to a DU, which then forwards them to an RU.
[0123] Near real-time RICs and non-real-time RICs can also be configured as separate network elements. Near real-time RICs and non-real-time RICs can also be part of other devices. For example, near real-time RICs can be set in RAN nodes (e.g., CU, DU), while non-real-time RICs can be set in OAM, cloud servers, core network devices, or other network devices.
[0124] In conjunction with the aforementioned communication system, this application provides a communication method applied to a transmitting end in the communication system. The transmitting end can be a terminal or network device within the communication system. In this communication method, when the MAC entity of the transmitting end determines that the first logical channel includes first data (the first data being a first segment of a first service data unit), the MAC entity preferentially generates a first protocol data unit based on the first data, pre-multiplexing the first data into the protocol data unit. This results in a smaller interval between the multiple multiplexed protocol data units of the first service data unit, thereby reducing the latency required to transmit the complete first service data unit.
[0125] In the following embodiments of this application, the message names, parameter names, and information names between network elements are merely examples. Other names may be used in other embodiments, and the communication method is not limited. In the embodiments of this application, each network element may perform some or all of the steps. These steps or operations are examples, and other operations or variations may also be performed. The order of each step may vary, and it is not necessary to perform all operations.
[0126] This application describes the communication method of this application using the sending end as the terminal, that is, the terminal as the executing entity, but it is not limited to this. For example, the method executed by the terminal can be executed by a module applied to the terminal (such as a chip, chip system, processor), a logic node, logic module, or software that can realize some or all of the terminal functions; it can also be implemented by a communication / processing module in the terminal or a circuit or chip responsible for communication / processing functions (such as a modem chip, a SoC chip / SIP chip with a modem core, a GPU / AI processor / ASIC).
[0127] It is understood that the sending end in this application can also be a network device, that is, a network device as the execution subject. For related descriptions, please refer to the relevant descriptions when the sending end is a terminal, and they will not be repeated here. The method executed by the network device in this application can also be executed by a module (e.g., a chip, chip system, or processor) applied to the network device, or it can be implemented by a logical node, logical module, or software that can implement all or part of the functions of the network device. The embodiments of this application do not specifically limit this.
[0128] Figure 10 shows a flowchart of the communication method provided in an embodiment of this application. As shown in Figure 10, the method may include the following steps:
[0129] S110, the MAC entity determines that the first logical channel includes the first data.
[0130] The MAC entity is the MAC entity of the terminal (sender).
[0131] The first data is the first segment of the first service data unit on the first logical channel. This first segment is a segment other than the second segment already used to generate the protocol data unit within the first service data unit. In other words, the first segment is a segment of the first service data unit that is not transmitted for the first time based on the logical channel. The first segment will be illustrated below with specific examples (Example 1 and Example 2).
[0132] In Example 1, assume that the first service data unit on the first logical channel is divided into two segments, namely segment A and segment B. Segment A is first used to assemble a PDU; in this case, segment A used for packet assembly is called the second segment of the first service data unit, corresponding to the second data. The first segment includes the aforementioned segment B. Before executing step S110, the MAC entity has already generated a protocol data unit based on the second data in segment A, which is called the second protocol data unit. Currently, the first data of segment B is associated with the first logical channel and has not yet been used to generate a protocol data unit. When the MAC entity determines segment B, that is, when it determines that the first logical channel includes or contains the first data, it can execute step S120.
[0133] In Example 2, assume the first service data unit is divided into three segments: segment A, segment B, and segment C. Segment A of the first service data unit is the second segment, containing the second data; segments B and C are the aforementioned first segments. Before step S110 is executed, the MAC entity has already generated the second protocol data unit based on the second data of segment A. Currently, the first data of segments B and C are carried in the first logical channel and have not yet been used to generate protocol data units. When the MAC entity determines that segment B or segment C, that is, when it determines that the first logical channel includes or contains the first data, it can execute step S120.
[0134] The first logical channel including the first data can also be understood as: the first logical channel contains the first data or the first logical channel carries the first data, etc. Therefore, the MAC entity determining that the first logical channel includes the first data can also be said to mean that the MAC entity knows that the first data exists and the first data corresponds to the first logical channel; or, the MAC entity determines that the first data exists on the first logical channel, etc.
[0135] S120, the media access control entity preferentially generates the first protocol data unit based on the first data.
[0136] Wherein, once the MAC entity determines that the first logical channel includes the first data, it may preferentially generate the first protocol data unit based on the first data. For example, the MAC entity may increase the priority of the first logical channel and / or decrease the priority of at least one logical channel other than the first logical channel to preferentially generate the first protocol data unit based on the first data.
[0137] In this embodiment of the application, when the MAC entity of the transmitting end determines that the first logical channel includes first data (the first data is the first segment of the first service data unit), the MAC entity preferentially generates the first protocol data unit based on the first data and multiplexes the first data into the protocol data unit in advance. As a result, the interval between the different protocol data units multiplexed by the multiple segments of the first service data unit is small, thereby reducing the time delay required to transmit the complete first service data unit.
[0138] In one embodiment, as shown in FIG11, S120 (the media access control entity generates a first protocol data unit based primarily on the first data) may include:
[0139] S1201, the media access control entity adjusts the second priority of the first logical channel to the first priority.
[0140] Wherein, the second priority is the current priority of the first logical channel, and the first priority is higher than or equal to the second priority; in one possible interpretation, the second priority may also be referred to as the priority of the first logical channel before it was adjusted to the first priority. The second priority may be a preset or pre-configured priority, or it may be a priority adjusted based on a preset or pre-configured priority; this embodiment of the application does not limit this.
[0141] For example, as described above in the introduction to LCP, based on the protocol, logical channels can correspond to preset priorities, so the second priority can be the preset priority of the first logical channel.
[0142] In another example, the preset priority of the logical channel may be adjusted, meaning that the second priority can also be a priority adjusted based on the preset priority, without restriction.
[0143] The role of priority in logical channels is explained below:
[0144] For example, in one scenario, a MAC entity has three logical channels (first logical channel A, first logical channel B, and first logical channel C), each containing data A (i.e., the first data), data B, and data C. Assume that the priority of first logical channel A is higher than that of first logical channel B, but lower than that of first logical channel C. Then, when generating protocol data units, data C is considered first, followed by data A, and then data B. Alternatively, suppose the priority of first logical channel A is higher than that of both first logical channel B and first logical channel C. Then, when generating protocol data units, data A is considered first.
[0145] As mentioned earlier, if the protocol data unit is generated directly according to the second priority for the first data, it may increase the reception latency of the complete first service data unit. However, in this application, the protocol data unit is not generated directly based on the second priority for the first data, but rather the second priority is first increased to the first priority.
[0146] If the media access control entity determines that the current priority of the first logical channel is already at the highest level, then the priority of the first logical channel can be adjusted to maintain its current state.
[0147] In another embodiment, a corresponding effective time can be set for the first priority. Within this effective time range, the media access control entity generates the first protocol data unit according to the first priority. Once the effective time expires, the priority of the first logical channel can be downgraded to the second priority, or downgraded to a lower priority depending on the actual situation; the specific priority to which it is downgraded is not limited.
[0148] By setting a corresponding effective time for the first priority, logical channels are processed with higher priority and the first protocol data unit is generated within a specific effective time. After the effective time expires, the priority can be rolled back. This method can avoid excessive favoritism in resource allocation among logical channels, allowing different logical channels to compete and use resources reasonably in different time periods, thereby achieving a balanced allocation of multiplexing resources for logical channels.
[0149] Alternatively, in another embodiment, when the MAC entity adjusts the logical channel priority, it may disregard the current priority of the logical channel and directly adjust the second priority of the first logical channel, which includes the first data, to a set priority. That is, the first priority is a set priority, such as the highest priority or the second-highest priority. This application does not limit this. It is understood that the second priority of the first logical channel may be the same as the set priority.
[0150] S1202, the media access control entity generates a first protocol data unit according to the first priority of the first logical channel.
[0151] Among them, the priority of the logical channel affects the order of the corresponding data generation protocol data units, and the first priority of the first logical channel can also be called the first priority of the first data.
[0152] For example, the first priority can be the highest priority among the logical channel priorities of the MAC entity. That is, the first priority is the highest priority.
[0153] The following example will illustrate how to perform step S120 above for this adjusted priority of the first logical channel. For brevity, the MAC SDU will be abbreviated as SDU and the MAC PDU as PDU.
[0154] As shown in Figure 12, similar to the scenario in Figure 6, it is assumed that the MAC entity corresponds to three logical channels: logical channel 1, logical channel 2, and logical channel 3. The MAC entity performs an SN numbering operation on the above logical channels and obtains SDUs from these three logical channels, including SDUs numbered SN=1, SN=2, SN=3, SN=4, and SN=5, to generate PDUs. This process can also be called PDU packetization based on SDUs. The SDU with SN=3 is segmented into three segments during packetization, with corresponding segment numbers: (SN=3, SG=1), (SN=3, SG=2), and (SN=3, SG=3). The SDU with SN=4 is segmented into two segments during packetization, with corresponding segment numbers: (SN=4, SG=1) and (SN=4, SG=2). That is, the SDU with SN=3 and the SDU with SN=4 are the first service data units of this application.
[0155] The MAC entities are grouped into four PDUs in chronological order: PDU 1, PDU 2, PDU 3, and PDU 4.
[0156] When MAC assembles PDU 1, if there is no segmented SDU in the current logical channel, it assembles the packet according to the preset priority. The assembled PDU 1 includes: the SDU with SN=1 in logical channel 1, the SDU with SN=2 in logical channel 2, and the first segment (SN=3, SG=1) of the SDU with SN=3 in logical channel 3.
[0157] When assembling PDU2, since the SDU with SN=3 of logical channel 3 has already been segmented, the corresponding segment of the SDU with SN=3 to be used for assembling (SN=3, SG=2) belongs to the first segment of this application, and its logical channel 3 has the adjusted first priority. Therefore, this segment is considered for assembling first. The PDU2 thus assembled belongs to the aforementioned first protocol data unit, including the SDU segment (SN=3, SG=2) corresponding to logical channel 3.
[0158] When assembling PDU3, since the SDU with SN=3 in logical channel 3 has already been segmented, logical channel 3 has an adjusted first priority. The segment of the SDU with SN=3 to be used for assembling (SN=3, SG=3) belongs to the first segment of this application. Therefore, the PDU3 assembled thus belongs to the aforementioned first protocol data unit, including the segment (SN=3, SG=3) and the segment (SN=4, SG=1).
[0159] When MAC assembles PDU 4, since the SDU with SN=4 in logical channel 1 has been segmented, logical channel 1 has the adjusted first priority. The segment of the SDU with SN=3 to be used for assembling (SN=4, SG=2) belongs to the first segment of this application. The assembled PDU 4 includes the segment (SN=4, SG=2) and the SDU with SN=5.
[0160] The adjusted first priority of logical channel 1 can be the same as or different from the adjusted first priority of logical channel 3, depending on the magnitude of the second priority corresponding to logical channel 1 and logical channel 3, and the degree of priority adjustment. The degree of priority adjustment can be flexibly set; for example, each logical channel can be preset with a corresponding adjustment degree parameter for adjusting its priority.
[0161] By comparing the scenario shown in Figure 6 with the scenario shown in Figure 12 of this application, it can be seen that, compared to the scenario shown in Figure 6 where "multiple segments of the MAC SDU with SN=3 in logical channel 3 are respectively packaged into the first, third, and fourth MAC PDUs", in this application, when the SDU with SN=3 is packaged into the third MAC PDU, all segments of the SDU have been packaged, which can reduce the reception delay of the MAC SDU.
[0162] In another example, as shown in Figure 13, assume the MAC entity corresponds to three logical channels: logical channel 1, logical channel 2, and logical channel 3. The MAC entity performs an SN numbering operation on these logical channels and obtains SDUs from these three logical channels, including those numbered SN=1, SN=2, SN=3, SN=4, and SN=5, to generate PDUs. This process can also be called PDU packetization based on SDUs. The SDU with SN=3 is segmented into two segments during packetization, with corresponding segment numbers: (SN=3, SG=1) and (SN=3, SG=2). The SDU with SN=4 is also segmented into two segments during packetization, with corresponding segment numbers: (SN=4, SG=1) and (SN=4, SG=2). That is, the SDU with SN=3 and the SDU with SN=4 constitute the first service data unit of this application.
[0163] The MAC entities are grouped into three PDUs in chronological order: PDU 1, PDU 2, and PDU 3.
[0164] As shown in Method 1 of Figure 13, the logical channel priorities from high to low are: logical channel 1, logical channel 2, and logical channel 3. If packets are assembled according to the second priority, the resulting PDUs will include the following SDUs:
[0165] PDU1 includes SDUs with SN=1, SN=2, and (SN=3, SG=1); PDU 2 includes SDUs with (SN=4, SG=1); PDU 3 includes SDUs with (SN=4, SG=2), SN=5, and (SN=3, SG=2).
[0166] As shown in Method 2 of Figure 13, if packets are assembled according to the first priority, then PDU 1 includes SDU with SN=1, SDU with SN=2, and a segment with (SN=3, SG=1). PDU 2 includes a segment with (SN=3, SG=2) and a segment with (SN=4, SG=1). PDU 3 includes a segment with (SN=4, SG=2) and an SDU with SN=5.
[0167] By comparing Method 1 and Method 2 in Figure 13, it can be seen that Method 1 requires PDU3 to transmit all SN=3, while Method 2 allows PDU2 to transmit all SN=3, thus improving the transmission efficiency of SDU with SN=3.
[0168] For the SDU with SN=4, although it is also segmented, the segment (SN=4, SG=2) belongs to the first data, but the priority of logical channel 1 corresponding to the SDU with SN=4 is already the highest priority. Therefore, there is no need to adjust the priority of logical channel 1 corresponding to (SN=4, SG=2). In other words, the first priority of logical channel 1 after adjustment is the same as the second priority of logical channel 1.
[0169] It should be noted that the above description of generating the first protocol data unit based on the first priority is exemplary. In actual application scenarios, there are various implementation methods, and this application does not limit them.
[0170] In this embodiment of the application, the first protocol data unit may include all or part of the first data. For example, in the scenario shown in FIG12, after generating PDU1, the first data may be the data in the SDU with SN=3 excluding SN=3 and SG=1. When generating PDU2, it is segmented again. PDU2 is generated based on a part of the first data (i.e., SN=3 and SG=2). At this time, the first protocol data unit includes the part of the first data (i.e., SN=3 and SG=2) of PDU2. This can be understood as the scenario where the first protocol data includes a part of the first data.
[0171] It is understandable that the packetization of the remaining portion of the first data (SN=3, SG=3) can be achieved by re-executing the relevant steps of S110 and S120. In this case, the data corresponding to (SN=3, SG=3) is considered as the first data. Alternatively, it can be achieved by determining, when generating PDU2, that since there are still SDU segments, the first priority corresponding to logical channel 3 when generating PDU2 will be used to continue packetizing PDU3. In this case, PDU3, in which the first protocol data unit includes the portion of the first data (i.e., SN=3, SG=3), can be understood as the scenario where the first protocol data includes the portion of the first data.
[0172] In another possible interpretation, as a whole, after packetizing PDU3, the packetization of PDU2 and PDU3 can also be interpreted as the first protocol data unit including PDU2 and PDU3. In this case, the first protocol data unit includes data (i.e., SN=3, SG=2) and data (i.e., SN=3, SG=3), which means it includes all the first data. This can be understood as the scenario where the first protocol data includes all of the first data.
[0173] In another example, as shown in the scenario of Method 2 in Figure 13, for logical channel 3, the first data includes data of (SN=3, SG=2), and the first protocol data unit is PDU2, which includes all of the first data: data of (SN=3, SG=2). This belongs to the scenario where the first protocol data unit includes all of the first data.
[0174] For logical channel 1, the first data includes data of (SN=4, SG=2), and the first protocol data unit is PDU3. PDU3 includes all the first data: data of (SN=4, SG=2), which belongs to all scenarios where the first protocol data unit includes the first data.
[0175] In one embodiment, after step S1202, the first priority of the first logical channel can be adjusted to a reduced third priority. For example, this priority can be the aforementioned second priority, or a priority lower than the second priority. This allows the first logical channel to transmit data other than the first data according to the reduced third priority, thereby achieving a balanced allocation of multiplexing resources for the logical channel.
[0176] In this embodiment of the application, the priority of the first logical channel corresponding to the first segment of the segmented first service data unit is adjusted to a first priority that is higher than or equal to a preset second priority, such as the highest priority of the current logical channel. This allows the first data of the first segment to be used to generate protocol data units earlier, thereby enabling the receiving end to obtain the complete first service data unit more quickly and reducing the transmission delay of the first service data unit.
[0177] In one embodiment, the priority of at least one logical channel other than the first logical channel may be reduced to prioritize the generation of the first protocol data unit based on the first data.
[0178] In this embodiment, at least one logical channel other than the first logical channel is referred to as the second logical channel. By lowering the priority of the second logical channel, the priority ranking of the first logical channel is at least higher than that of the second logical channel. Based on the above operation, the priority generation of the first protocol data unit based on the first data in step S120 can also be achieved.
[0179] For example, in the scenario shown in Figure 13, the logical channel 3 corresponding to the segment (SN=3, SG=2) is the first logical channel. Relative to logical channel 3, the second logical channel can include logical channel 1 and / or logical channel 2. Assuming that in the first scenario, when assembling PDU2 and PDU3, the priority of the logical channels from high to low is: logical channel 1, logical channel 2, and logical channel 3. Then, the assembled PDU2 includes the segment (SN=4, SG=1). PDU3 includes the segment (SN=4, SG=2), the segment (SN=3, SG=2), and the SDU with SN=5.
[0180] In this embodiment, when assembling PDU2 and PDU3, the priorities of logical channels 1 and 2 are reduced. After the reduction, the priorities of the logical channels from high to low are: logical channel 3, logical channel 1, and logical channel 2. Therefore, the assembled PDU2 includes segments of (SN=3, SG=2) and (SN=4, SG=1). PDU3 includes segments of (SN=4, SG=2) and an SDU of SN=5.
[0181] It is understood that the above explanation of reducing the priority of the second logical channel is based on the scenario shown in Figure 13. Considering the diverse needs in actual implementation, other feasible implementation methods can be used when reducing the priority of the second logical channel, and these are not limited here.
[0182] In this embodiment, the priority of the second logical channel other than the first logical channel is reduced so that the first protocol data unit is generated based on the first data first. This allows the first data of the first segment to be used to generate the protocol data unit earlier, thereby enabling the receiving end to obtain the complete first service data unit more quickly and reducing the transmission delay of the first service data unit.
[0183] In one embodiment, as shown in FIG10, before S120 (the media access control entity generates a first protocol data unit based primarily on the first data), the method may further include:
[0184] S130, the MAC entity determines that the second priority of the first logical channel is higher than the priority threshold.
[0185] The priority threshold is used to differentiate the importance of different logical channels, allowing the MAC entity to prioritize higher-priority logical channels and ensure the timely transmission and processing of critical data. For example, the preset priority of logical channels for voice and video data is usually higher, exceeding the priority threshold. This ensures that this data can be processed preferentially based on steps S110-S120, avoiding issues such as stuttering and delays. For services such as file downloads and emails, which have relatively lower real-time requirements, the preset priority of their corresponding logical channels is usually set lower, possibly not exceeding the priority threshold. In this case, the data can still be processed according to the preset priority of the logical channels.
[0186] In other words, the fact that the second priority of the first logical channel is higher than the priority threshold can be an optional prerequisite for executing step S120. That is, when the second priority of the first logical channel is higher than the priority threshold, the first protocol data unit is generated based on the first data first. However, when the second priority of the first logical channel is lower than the priority threshold, even if the MAC entity finds that a certain service data unit has been segmented, it may not prioritize generating the first protocol data unit based on the first data.
[0187] In one instance, the second priority being equal to the priority threshold can also be considered as an optional prerequisite for executing step S120, and is not restricted.
[0188] For example, in the scenario shown in Figure 12, when generating PDU2, for a segment (SN=3, SG=2), if the second priority of its corresponding logical channel 3 is higher than the priority threshold, PDU2 can be generated according to the generation method shown in Figure 12. If the second priority of its corresponding logical channel 3 is higher than the priority threshold, PDU2 can be generated according to the generation method shown in Figure 6.
[0189] In this embodiment of the application, a prerequisite is set for the MAC entity to adjust the priority of the first logical channel to the first priority: the second priority of the first logical channel is higher than the priority threshold, which enables the SDU of the logical channel with higher importance to be processed first.
[0190] In one embodiment, as shown in FIG10, before S120 (the media access control entity generates a first protocol data unit based primarily on the first data), the method may further include:
[0191] S140, the MAC entity determines that the amount of data in the first data is less than the data amount threshold.
[0192] In this application, considering that if the amount of the first data is small, the impact on the system would be minimal even if PDUs were generated based on the first data first. Therefore, a data volume threshold is set to determine the size of the first data. Step S120, which adjusts the logical channel priority, will only be executed for first data whose data volume is less than the data volume threshold. If the amount of the first data is large, the preset priority of the corresponding logical channel may not be adjusted.
[0193] In other words, the fact that the amount of the first data is less than the data amount threshold can be an optional prerequisite for executing step S120. When the amount of the first data is less than the data amount threshold, the first protocol data unit is preferentially generated based on the first data. However, when the amount of the first data is not less than the data amount threshold, even if the MAC entity finds that a certain service data unit has been segmented, it can skip the execution of preferentially generating the first protocol data unit based on the first data.
[0194] In one example, the amount of data in the first data set being equal to the data size threshold can also be an optional prerequisite for executing step S120, and is not restricted.
[0195] For example, in the scenario shown in Figure 12, when generating PDU2, for a segment (SN=3, SG=2), if the data volume of its corresponding first data is less than the data volume threshold, PDU2 can be generated according to the generation method shown in Figure 12. If the data volume of its corresponding first data is not less than the data volume threshold, PDU2 can be generated according to the generation method shown in Figure 6.
[0196] In one embodiment, a mapping relationship between the data volume of the first data and the priority in step S120 can also be set. For example, the smaller the data volume of the first data, the higher the priority of generating the first protocol data unit based on the first data. For instance, this mapping relationship can be: the data volume of the first data is graded according to its size (data volume levels), each data volume level can correspond to a different data volume range, and different data volume levels can correspond to different first priorities. The specific configuration of this mapping relationship can be flexibly set and is not limited.
[0197] In this embodiment of the application, the MAC entity sets the prerequisite for adjusting the priority of the first logical channel to the first priority: the amount of the first data is less than the data amount threshold, which enables the SDU with a smaller amount of remaining segment data to be processed first.
[0198] It is understandable that the above steps S140 and S130 can be used in combination. In this case, when both steps S140 and S130 are satisfied, then S120 is executed.
[0199] In one embodiment, as shown in FIG10, prior to step S120, the method may further include:
[0200] S150, the MAC entity determines that the first variable is greater than the preset variable threshold.
[0201] The first variable is used to determine whether to allocate resources to the first logical channel. In other words, the first variable is the primary variable for the first logical channel. The first variable can be Bj from the token bucket injection mechanism. As mentioned earlier, the value of Bj changes according to the token bucket injection mechanism; its value increases before each LCP process, with an upper limit of PBR × BSD.
[0202] The preset variable threshold can be flexibly set, for example, to 0. If the first variable is greater than the preset variable threshold, it indicates that the logical channel still has available resources to process the SDU segment, meaning that the SDU segment can be multiplexed and transmitted together with other data. In this case, step S120 can be executed. If the first variable is not greater than the preset variable threshold, the SDU segment cannot be multiplexed and transmitted, and step S120 does not need to be executed at this time.
[0203] In other words, in this embodiment, the size of the first variable is considered first, and then it is determined whether to execute step S120 (the media access control entity generates the first protocol data unit based on the first data).
[0204] It is understood that the above steps can be performed before or after step S110, without restriction.
[0205] In this embodiment, before generating the first protocol data unit based on the first data, the MAC entity first considers the first variable Bj of the first logical channel. The value change of Bj follows a token bucket filling mechanism, which allows Bj to reflect the amount of data that the logical channel can carry. When considering Bj, the MAC entity can, based on its value, select and arrange the transmission order of SDUs from among many SDUs to be transmitted, according to the reasonable allocation of data volume and channel priority. Based on this scheduling, disorderly contention for transmission resources is avoided, thereby ensuring that SDUs are transmitted in a certain order and according to certain rules, reducing data loss and delay, and improving the stability and reliability of data transmission.
[0206] In this embodiment of the application, the above steps S130, S140 and S150 can be used in combination or individually, and there is no limitation.
[0207] Alternatively, S150 can be omitted, meaning Bj can be disregarded. This allows reuse even when Bj is less than zero, allowing SDU reuse in the methods described above without considering Bj. For example, as shown in Figure 14, when segmenting SDUs in a packet (SN=3, SG=1), Bj is greater than zero, and (SN=3, SG=1) can be reused. When segmenting SDUs in a packet (SN=3, SG=2), Bj is reduced by the amount of data in (SN=3, SG=1), making Bj less than zero, but this segment (SN=3, SG=2) can still be reused.
[0208] In one embodiment, as shown in FIG10, after S120, the method may further include:
[0209] S160, the MAC entity reduces the value of the first variable.
[0210] In this process, following the token bucket filling mechanism, to maintain the stability and reliability of data transmission, the value of the first variable Bj can be reduced after the first protocol data unit is generated.
[0211] The decrease in the value of the first variable is greater than or equal to the amount of data in the first data set.
[0212] For example, the reduction in the value of the first variable can be the sum of the data volume of the first data and the first value, where the first value is determined based on the data volume of the first data and the first weighting factor. This is because if Bj is not considered when executing step S120, that is, multiplexing is allowed even when Bj is less than zero, the reduction in Bj needs to be increased to make the updated value of Bj even lower, that is, to increase the penalty for the logical channel. The logical channel needs more injection before it can be reused again to ensure continuous and stable data transmission.
[0213] Suppose that the relationship between the data volume K2, the first value K3, and the first weighting factor α of the first data can be expressed by the formula K3 = αK2, while the relationship between the decrease in the value of the first variable K1, the data volume K2, and the first value K3 is K1 = K2 + K3. Through these formulas, the MAC entity can determine the decrease in Bj after each data transmission, thereby managing data flow more effectively.
[0214] The decrease in the value of the first variable can also be the amount of data in the first data after weighting.
[0215] Using the parameters from the example above, the decrease in the value of the first variable satisfies the following relationship: K1 = (1 + α)K2, or K1 = E * K2, where E is a coefficient greater than or equal to 1.
[0216] It is understood that the above formula is for illustrative purposes only. In practical applications, the parameters can be expressed using other mathematical relationships. The specific choice depends on the actual needs and design considerations of the system, and is not strictly limited here. In this embodiment, after generating the first protocol data unit, the value of the first variable Bj is reduced. Reducing the value of Bj at this time avoids excessive subsequent data injection that could lead to traffic overflow or channel congestion, ensuring continuous and stable data transmission.
[0217] In one embodiment, as shown in FIG10, prior to S110, the method may further include:
[0218] S170, the MAC entity generates a second protocol data unit based on the second data.
[0219] The first service data unit further includes second data, which is the second segment of the first service data unit transmitted for the first time based on the logical channel. Referring to the description of the first segment in step S110, the first segment is the segment in the first service data unit other than the second segment already used to generate the protocol data unit. In other words, before step S110, the MAC entity will also generate a second protocol data unit based on the second data.
[0220] In this embodiment of the application, for the second data, the second protocol data unit can be generated based on the preset priority of the corresponding logical channel.
[0221] In one embodiment, as shown in FIG10, after S120, the method may further include:
[0222] S180, the terminal sends the first protocol data unit to the network device.
[0223] Accordingly, the network device receives the first protocol data unit from the terminal.
[0224] In particular, based on the above step S180, it is ensured that the data generated by the terminal can successfully reach the network device for subsequent processing.
[0225] As can be seen from the above description, in this application, when the MAC entity of the transmitting end determines that the first logical channel includes the first data (the first data is the first segment of the first service data unit), the MAC entity preferentially generates the first protocol data unit based on the first data and multiplexes the first data into the protocol data unit in advance. As a result, the interval between the different protocol data units multiplexed by the multiple segments of the first service data unit is small, which reduces the time delay required to transmit the complete first service data unit.
[0226] It is understood that the communication method provided in this application embodiment does not limit the applicable communication system. For example, the communication method provided in this application embodiment can be applied to an O-RAN communication system. Based on the functional design of O-DU / O-CU / O-RU in the O-RAN communication system, the steps executed by the network device in the communication method provided in this application embodiment can be flexibly implemented by one or more of O-DU / O-CU / O-RU, without limitation.
[0227] In another embodiment, the communication method proposed in this application is also applicable to a chip system. Specifically, the chip system on the network side and / or the terminal side is provided with a memory unit for storing the corresponding information for implementing the communication method of this application. Based on the corresponding information, the processor, in conjunction with a radio frequency / antenna module with transceiver functions, interacts with the other side to implement the communication method of this application.
[0228] The foregoing mainly describes the solution provided by the embodiments of this application from the perspective of the execution logic of each step. It is understood that each node, such as a network device, includes corresponding hardware structures and / or software modules to execute each function in order to achieve the above-mentioned functions. Those skilled in the art should readily recognize that, in conjunction with the algorithm steps of the examples described in the embodiments disclosed herein, the method of the embodiments of this application can be implemented in hardware, software, or a combination of hardware and computer software. Whether a function is executed in a hardware or computer software-driven hardware manner 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.
[0229] This application embodiment can divide the network device into functional modules according to the above method example. For example, each function can be divided into its own functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0230] Figure 15 illustrates a possible exemplary block diagram of the communication device involved in the embodiments of this application. As shown in Figure 15, the communication device 900 may include modules or units for implementing the methods described above. In one possible design, the communication device 900 includes a processing unit 902 and a communication unit 903. Optionally, the communication device 900 may further include a storage unit 901 for storing device program code and / or data.
[0231] The communication device 900 can be the transmitting end in the above embodiments.
[0232] For example, in one embodiment, the processing unit 902 is configured to: determine, based on the media access control entity, that the first logical channel includes first data, and then, preferentially generate a first protocol data unit based on the first data, wherein the first data is a first segment of the first service data unit.
[0233] In one embodiment, the communication unit 903 is configured to: transmit a first protocol data unit.
[0234] In this embodiment of the application, when the MAC entity of the communication device determines that the first logical channel includes first data (the first data is the first segment of the first service data unit), the MAC entity preferentially generates the first protocol data unit based on the first data and multiplexes the first data into the protocol data unit in advance. As a result, the interval between the different protocol data units multiplexed by the multiple segments of the first service data unit is smaller, thereby reducing the time delay required to transmit the complete first service data unit.
[0235] In one possible design, when the communication device 900 is a terminal or a communication module within a terminal, the function of the processing unit 902 can be implemented by one or more processors. Specifically, the processor may include a modem chip, or a system-on-a-chip (SoC) chip or a SIP chip containing a modem core. The function of the communication unit 903 can be implemented by transceiver circuitry or interface circuitry.
[0236] In one possible design, when the communication device 900 is a circuit or chip in a terminal responsible for communication functions, such as a modem chip or a system-on-a-chip (SoC) or SIP chip containing a modem core, the function of the processing unit 902 can be implemented by a circuit system in the aforementioned chip that includes one or more processors or processor cores. The function of the communication unit 903 can be implemented by an interface circuit or data transceiver circuit on the aforementioned chip.
[0237] In one possible design, when the communication device 900 is a terminal or a processing module within a terminal, the functionality of the processing unit 902 can be implemented by one or more processors. Specifically, the processor may include a GPU, or a system-on-a-chip (SoC) or SIP chip containing a GPU. Alternatively, the processor may include an AI processor, or a SoC or SIP chip containing an AI processor. Or, the processor may include an ASIC, or a SoC or SIP chip containing an ASIC. The functionality of the communication unit 903 can be implemented by transceiver circuitry or interface circuitry.
[0238] In one possible design, when the communication device 900 is a circuit or chip in a terminal responsible for processing functions, such as a GPU or a system-on-a-chip (SoC) or SIP chip containing a GPU, an AI processor or a SoC or SIP chip containing an AI processor, or an ASIC or a SoC or SIP chip containing an ASIC, the function of the processing unit 902 can be implemented by a circuit system in the aforementioned chip that includes one or more processors or processor cores. The function of the communication unit 903 can be implemented by interface circuitry or data transceiver circuitry on the aforementioned chip.
[0239] It is understood that the division of units in the above-described device is merely a logical functional division. One function can correspond to one functional unit, or two or more functions can be integrated into one functional unit. In actual implementation, all or some units can be integrated onto a single physical entity, or distributed across different physical entities. Furthermore, the aforementioned functional units can be implemented in hardware, software, or a combination of both. Whether a function is executed 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 specific applications, but such implementations should not be considered beyond the scope of this application.
[0240] In one example, the functional unit in any of the above devices may be one or more integrated circuits configured to implement the above methods, such as: one or more application-specific integrated circuits (ASICs), or one or more central processing units (CPUs), one or more microcontroller units (MCUs), one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms.
[0241] In one example, storage unit 901 may include random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory and / or registers, etc.
[0242] Referring to Figure 16, Figure 16 illustrates, by way of example, a schematic diagram of a possible communication device. It is understood that the communication device 700 includes means of the necessary form, such as modules, units, elements, circuits, or interfaces, to be appropriately configured together to perform this solution. The communication device 700 can be a receiving end or a transmitting end as described in the above method embodiments, used to implement the methods described in the above method embodiments. The communication device 700 includes one or more processors 701. The processor 701 can be a general-purpose processor or a dedicated processor, for example, a baseband processor or a central processing unit. The baseband processor can be used to process communication protocols and communication data, and the central processing unit can be used to control the communication device, execute software programs, and process data from the software programs.
[0243] Optionally, in one design, the processor 701 may include a program 703 (sometimes also referred to as code or instructions) that can be executed on the processor 701 to cause the communication device 700 to perform the methods described in the above embodiments. In yet another possible design, the communication device 700 includes circuitry (not shown in FIG16) for implementing the signal processing functions in the above embodiments.
[0244] Optionally, the communication device 700 may include one or more memories 702 storing a program 704 (sometimes referred to as code or instructions), which can be run on the processor 701 to cause the communication device 700 to perform the methods described in the above method embodiments.
[0245] Optionally, the processor 701 and / or memory 702 may include AI modules 707 and 708, which are used to implement AI-related functions. The AI modules can be implemented through software, hardware, or a combination of both. For example, the AI module may include a RIC module. For example, the AI module may be a near real-time RIC or a non-real-time RIC.
[0246] Optionally, the processor 701 and / or memory 702 may also store data. The processor and memory may be configured separately or integrated together.
[0247] Optionally, the communication device 700 may further include a transceiver 705 and / or an antenna 706. The processor 701, sometimes referred to as a processing unit, controls the communication device. The transceiver 705, sometimes referred to as a transceiver unit, transceiver, transceiver circuit, or transceiver, is used to realize the transmission and reception functions of the communication device through the antenna 706.
[0248] This application also provides a communication system for a high-speed private network information transmission scenario in a neighboring area. The communication system may include a terminal and network devices. The terminal and network devices are equipped with the functions to implement the aforementioned communication method.
[0249] This application also provides a computer-readable storage medium. All or part of the processes in the above method embodiments can be implemented by a computer program instructing related hardware. This program can be stored in the computer-readable storage medium, and when executed, it can include the processes of the above method embodiments. The computer-readable storage medium can be a terminal device of any of the foregoing embodiments, such as an internal storage unit including a data sending end and / or a data receiving end, such as a hard disk or memory of the terminal device. The computer-readable storage medium can also be an external storage device of the terminal device, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the terminal device. Further, the computer-readable storage medium can include both the internal storage unit and the external storage device of the terminal device. The computer-readable storage medium is used to store the computer program and other programs and data required by the terminal device. The computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
[0250] This application also provides computer instructions. All or part of the processes in the above method embodiments can be executed by computer instructions to instruct related hardware (such as computers, processors, network devices, and terminals). The program can be stored in the aforementioned computer-readable storage medium.
[0251] This application also provides a computer program product that, when run on a computer, causes the above-described method embodiments to be executed.
[0252] This application also provides a chip system. The chip system may be composed of chips or may include chips and other discrete devices, without limitation. The chip system includes a processor and a transceiver. All or part of the processes in the above method embodiments can be completed by this chip system, such as the chip system being used to implement the functions performed by the network devices or terminals in the above method embodiments.
[0253] In one possible design, the chip system further includes a memory for storing program instructions and / or data. When the chip system is running, the processor executes the program instructions stored in the memory to enable the chip system to perform the functions performed by the network device or terminal in the above method embodiments.
[0254] In the embodiments of this application, the processor may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.
[0255] In the embodiments of this application, the memory can be non-volatile memory, such as a hard disk drive (HDD) or a solid-state drive (SSD), or it can be volatile memory, such as random-access memory (RAM). Memory is any other medium capable of carrying or storing desired program code in the form of instructions or data structures, and accessible by a computer, but is not limited thereto. The memory in the embodiments of this application can also be a circuit or any other device capable of implementing storage functions, used to store instructions and / or data.
[0256] It should be noted that the terms "first" and "second," etc., in the specification, claims, and drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.
[0257] It should be understood that in the embodiments of this application, "at least one (item)" refers to one or more, "more than one" refers to two or more, "at least two (items)" refers to two or three or more, and "and / or" is used to describe the association relationship of related objects, indicating that there can be three relationships. For example, "A and / or B" can represent: only A exists, only B exists, and A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple. It should be understood that in the embodiments of this application, "B corresponding to A" means that B is associated with A. For example, B can be determined based on A. It should also be understood that determining B based on A does not mean determining B solely based on A; B can also be determined based on A and / or other information. Furthermore, the term "connection" in the embodiments of this application refers to various connection methods, such as direct or indirect connections, to achieve communication between devices; the embodiments of this application do not impose any limitations on this.
[0258] Unless otherwise specified, the term "transmission" in the embodiments of this application refers to bidirectional transmission, encompassing the actions of sending and / or receiving. Specifically, "transmission" in the embodiments of this application includes sending data, receiving data, or both sending and receiving data. In other words, data transmission here includes uplink and / or downlink data transmission. Data may include channels and / or signals; uplink data transmission refers to uplink channel and / or uplink signal transmission, and downlink data transmission refers to downlink channel and / or downlink signal transmission. The terms "network" and "system" in the embodiments of this application refer to the same concept; a communication system is a communication network.
[0259] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0260] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or 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 device, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0261] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0262] Furthermore, 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. The integrated unit can be implemented in hardware or as a software functional unit. If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiments of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device, such as a microcontroller, chip, or processor, 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, ROM, RAM, magnetic disks, or optical disks.
[0263] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, optical storage, etc.) containing computer-usable program code.
[0264] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.
[0265] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.
[0266] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.
[0267] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
[0268] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope 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 communication method characterized by comprising: The method comprises: The media access control entity determines that the first logical channel comprises first data, the first data being a first segment of a first service data unit; The media access control entity generates a first protocol data unit based on the first data preferentially.
2. The method of claim 1, wherein, The media access control entity generates a first service data unit based on the first data preferentially, comprising: The media access control entity adjusts a second priority of the first logical channel to a first priority, the second priority being a current priority of the first logical channel, the first priority being higher than the second priority; The media access control entity generates the first protocol data unit according to the first priority of the first logical channel, the first protocol data unit comprising all or part of the first data.
3. The method of claim 2, wherein, The first priority is a highest priority.
4. The method according to any one of claims 1 to 3, characterized in that, Before the media access control entity generates the first service data unit based on the first data preferentially, the method further comprises: The media access control entity determines that a second priority of the first logical channel is higher than a priority threshold, wherein the second priority is a current priority of the first logical channel.
5. The method according to any one of claims 1 to 4, characterized in that, Before the media access control entity generates the first service data unit based on the first data preferentially, the method further comprises: The media access control entity determines that a data amount of the first data is less than a data amount threshold.
6. The method according to any one of claims 1 to 5, characterized in that, Before the media access control entity generates the first service data unit based on the first data preferentially, the method further comprises: The media access control entity determines that a first variable is greater than a preset variable threshold, wherein the first variable is used to determine whether to allocate resources for the first logical channel.
7. The method according to any one of claims 1 to 6, characterized in that, The method further comprises: The media access control entity reduces a value of the first variable, wherein the first variable is used to determine whether to allocate resources for the first logical channel, and the amount of reduction of the value of the first variable is greater than or equal to the data amount of the first data.
8. The method according to any one of claims 1 to 7, characterized in that, The first service data unit further comprises second data, the second data being a second segment of the first service data unit, and before the media access control entity determines that the first logical channel comprises the first data, the method further comprises: The media access control entity generates a second protocol data unit according to the second data.
9. A communications device, characterized by A module for performing the method of any one of claims 1-8.
10. A communications device, characterized by The communication device comprises a processor for supporting the communication device to perform the method of any one of claims 1-8.
11. A computer readable storage medium, characterized in that, The computer readable storage medium stores computer instructions which, when executed, cause the method of any one of claims 1-8 to be performed.
12. A computer program product, characterised in that, When executed on a computer, cause the method of any one of claims 1-8 to be performed.
13. A chip, characterized by The chip comprises a processor for supporting the chip to perform the method of any one of claims 1-8.