Data transmission method and apparatus, and electronic device, storage medium and chip
Through network devices, the priority is dynamically adjusted according to the success probability and time factors of data frame transmission, which solves the problem of low data frame transmission rate in extended real-life scenarios, improves the successful transmission rate of data frames within a specified time, and improves the user experience.
Patent Information
- Application Number
- PCT/CN2024/125289
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-29
- Filing Date
- 2024-10-16
- Publication Date
- 2025-08-07
AI Technical Summary
In extended real-life scenarios, the successful transmission rate of data frames is low, resulting in the data frame being unable to be transmitted within the specified time, which in turn becomes invalid and affects the user experience.
Based on the probability of transmission success of data frames, network equipment determines the priority of data frames based on the probability of transmission success of data frames, and makes dynamic adjustments to improve the transmission success rate of data frames.
By optimizing the transmission sequence and resource allocation of data frames, the successful transmission rate of data frames within a specified time is improved and the user experience is improved.
Smart Images

Figure CN2024125289_07082025_PF_FP_ABST
Abstract
Description
Data transmission method, device, electronic device, storage medium and chip
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on January 29, 2024, with application number 202410123746.5 and application name “A data transmission method, device, electronic device, storage medium and chip”. The entire contents of the above application are incorporated into this application by reference. Technical Field
[0002] The present application relates to the field of communications, and in particular to a data transmission method, device, electronic device, storage medium and chip. Background Art
[0003] In wireless communication networks, extended reality (XR) technology offers advantages such as multi-perspective and strong interactivity, providing users with a brand-new visual experience and possessing enormous application value and commercial potential. XR encompasses technologies such as virtual reality (VR), augmented reality (AR), and mixed reality (MR), and is widely used in entertainment, gaming, healthcare, advertising, industry, online education, and engineering, among other fields. Corresponding XR devices can include VR glasses, AR glasses, and other devices.
[0004] In some scenarios of XR applications, the business data stream provided by the XR terminal device is usually processed as a single frame, and in different scenarios, each data frame can correspond to different content, and each data frame can be transmitted through multiple data packets. For example, in a video transmission scenario, the business data stream is a data stream formed by several video frames, and one video frame can represent part or all of the content in the video screen. For another example, in a tactile transmission scenario, the business data stream is a data stream formed by several tactile frames, and one tactile frame can represent a tactile information of the user. In these scenarios, when data is transmitted between the XR terminal device and network devices such as base stations, since usually only a part of the data frame can be transmitted at a time, multiple transmissions are generally required to successfully transmit a data frame.
[0005] However, due to data frame latency requirements, network devices will clear any remaining data from frames that haven't been transmitted within the specified timeframe. This can cause a frame to fail to complete transmission to the corresponding XR terminal device, rendering the frame invalid. Therefore, in XR scenarios, improving the success rate of frame transmission becomes a critical issue.
[0006] Summary of the Invention
[0007] In order to solve the above problems, embodiments of the present application provide a data transmission method, apparatus, electronic device, storage medium and chip for solving the problem of improving the rate of successful frame transmission.
[0008] In the first aspect, an embodiment of the present application provides a data transmission method, which includes a first electronic device (for example, a network device hereinafter) and multiple second electronic devices (for example, terminal devices hereinafter) in an extended reality scenario, the first electronic device includes a base station and other devices, the second electronic device includes VR glasses, AR glasses and other devices, and data frames need to be transmitted between the first electronic device and the multiple second electronic devices. In addition, during the downlink transmission process, the first electronic device will cache multiple data frames, and each data frame needs to be transmitted to a second electronic device respectively, and different data frames correspond to different second electronic devices. Since there are many data frames to be transmitted and the transmission resources are limited, the first electronic device needs to determine the first data frame to be transmitted from the multiple cached data frames. The first electronic device can determine the first data frame to be transmitted based on the transmission success probability of each data frame, wherein the transmission success probability is used to evaluate the probability of the data frame being successfully transmitted. Then, the first electronic device transmits the first data frame to the second electronic device corresponding to the first data frame. The second electronic device corresponding to the first data frame is the second electronic device to which the first data frame is to be transmitted. It can be understood that since the first electronic device takes into account the transmission success probability of each data frame when determining the first data frame to be transmitted, and the transmission success probability is used to evaluate the probability of the data frame being successfully transmitted, the first electronic device can increase the ratio of successfully transmitted data frames among the data frames that need to be transmitted within a period of time when transmitting the first data frame.
[0009] In a possible implementation of the first aspect, the data frame is a data frame cached by the first electronic device at the current moment, where the current moment is any time point within the delay period, and the starting point of the delay period is the initial moment. The transmission success probability is determined based on the remaining transmission time and the complete transmission time, wherein the remaining transmission time is the time required for the data frame to be completely transmitted from the current moment; and the complete transmission time is the time required for the data frame to be completely transmitted from the initial moment. Furthermore, the transmission success probability is negatively correlated with both the remaining transmission time and the complete transmission time. It is understood that the specific data in the data frame will change dynamically during the transmission process. Each time the first electronic device transmits, it is necessary to determine the data frame cached by the first electronic device at the current moment. The remaining transmission time and the complete transmission time are taken into account when determining the transmission success probability. Since the remaining transmission time is the time required for the data frame to be completely transmitted from the current moment, the remaining transmission time can reflect the number of data frames that can be successfully transmitted within a period of time when the current data frame is transmitted. The longer the remaining transmission time, the lower the probability of each data frame being successfully transmitted, and the fewer data frames can be successfully transmitted within a certain period of time. The complete transmission time is the time required for the data frame to be transmitted from the initial moment to the end. It can reflect whether the current data frame can be transmitted within the specified delay period and the transmission quality of the data frame, thereby improving the probability of successful transmission of the data frame.
[0010] In a possible implementation of the first aspect, the transmission success probability, the complete transmission time, and the remaining transmission time may satisfy the following relationship: P1 = g(ts)*h(tw)
[0011] Where P1 is the probability of successful transmission; ts is the remaining transmission time; g(ts) is the urgency factor, which is negatively correlated with the remaining transmission time ts; tw is the complete transmission time; and h(tw) is the success factor, which is negatively correlated with the complete transmission time tw. When the remaining transmission time decreases, the urgency factor increases, and the probability of successful transmission increases. When the complete transmission time decreases, the success factor increases, and the probability of successful transmission increases.
[0012] In a possible implementation of the first aspect, the urgency factor g(ts) and the remaining transmission time ts satisfy the following relationship:
[0013] Among them, k a is a hyperparameter used to adjust the relationship between the urgency factor and the remaining transmission time. As can be understood, the urgency factor g(ts) and the remaining transmission time ts have a nonlinear relationship and good robustness.
[0014] In a possible implementation of the first aspect, the success factor h(tw) and the complete transmission time tw satisfy the following relationship:
[0015] Where D represents the delay period; μ is a hyperparameter used to adjust the relationship between the complete transmission time and the data frame delay period; and c is a hyperparameter used to adjust the relationship between the complete transmission time and the success factor. As can be understood, the urgency factor g(ts) and the remaining transmission time ts also have a nonlinear relationship, which provides good robustness.
[0016] In one possible implementation of the first aspect described above, the first electronic device may determine the remaining transmission time in the following manner: the first electronic device determines the remaining transmission time of the data frame based on the data frame length at the current moment and the historical average number of bits transmitted over the channel of the data frame, where the historical average number of bits transmitted over the channel is the average number of bits supported for transmission over the channel between the first electronic device and the second electronic device corresponding to the data frame during a first historical time period. It is understood that the first electronic device may record the maximum number of bits supported for transmission over the channel corresponding to the data frame at each time point during the first historical time period, and then average the maximum number of bits supported for transmission over the channel at each time point during the first historical time period to obtain the historical average number of bits transmitted over the channel during the first historical time period. Furthermore, a specific time period for the first historical time period may be preconfigured. For example, 1 ms prior to the current moment is used as the time period for each calculation of the historical average number of bits transmitted over the channel, and then the stored maximum number of bits supported for transmission corresponding to each data frame 1 ms prior to the current moment is averaged to obtain the historical average number of bits transmitted over the channel. Specifically, there are many ways to calculate the historical average number of bits transmitted over the channel, which are not limited here. It can be understood that the historical average number of bits transmitted through the channel reflects a trend of the maximum number of bits supported for transmission by the channel corresponding to each data frame. The remaining transmission time can be reasonably obtained by using the data frame length of the data frame at the current moment and the historical average number of bits transmitted through the channel of the data frame.
[0017] In a possible implementation of the first aspect, the remaining transmission time ts satisfies:
[0018] Wherein, q represents the data frame length; Indicates the historical average number of bits transmitted by the channel.
[0019] In a possible implementation of the first aspect, the complete transmission time tw satisfies:
[0020] Wherein, w represents the waiting time for the data frame to be transmitted, which is the time from the initial moment to the current moment; q represents the length of the data frame; represents the average number of bits transmitted through the historical channel; r represents the number of bits transmitted through the current channel of the data frame, and the number of bits transmitted through the current channel is the maximum number of bits supported for transmission between the first electronic device and the second electronic device corresponding to the data frame at the current moment.
[0021] In one possible implementation of the first aspect, the first electronic device determines the first data frame to be transmitted based on the transmission success probability of each data frame, including: the first electronic device calculates a priority score for each data frame based on the transmission success probability of each data frame; and determines the first data frame based on each priority score. It is understood that the first electronic device can calculate the priority score for each data frame, and the priority score can intuitively indicate the priority of each data frame for transmission, thereby determining the first data frame.
[0022] In a possible implementation of the first aspect above, the priority score of each data frame satisfies: Priority = β*f(·)*P1
[0023] Among them, Priority is the priority score, β is a hyperparameter, f(·) represents the channel dominance factor, wherein the channel dominance factor is related to the data frame length of the data frame, the number of bits transmitted by the current channel, and the average number of bits transmitted by the historical channel, wherein the number of bits transmitted by the current channel is the maximum number of bits supported by the channel for transmission between the first electronic device and the second electronic device corresponding to the data frame at the current moment; the average number of bits transmitted by the historical channel is the average number of bits supported by the channel for transmission between the first electronic device and the second electronic device corresponding to the data frame in the first historical time period. It can be understood that the explanation of the average number of bits transmitted by the historical channel is as above and will not be repeated here. It can be understood that the priority score not only takes into account the transmission success probability of each data frame, but also takes into account the channel dominance corresponding to each data frame, which is more scientific and reasonable.
[0024] In a possible implementation of the first aspect, the channel dominance factor satisfies:
[0025] Where r represents the number of bits transmitted by the current channel; = represents the historical average number of bits transmitted through the channel; q represents the data frame length. As can be understood, the channel dominance factor fully considers the current channel transmission bit number, the historical average number of bits transmitted through the channel, and the data frame length, making it more scientific and reasonable.
[0026] In a second aspect, an embodiment of the present application provides a data transmission method, which is applied to an extended reality scenario. The extended reality scenario includes a first electronic device and multiple second electronic devices. During downlink transmission, the second electronic device receives a first data frame transmitted by the first electronic device, wherein the first data frame is the first data frame among multiple data frames cached by the first electronic device, and each data frame corresponds one-to-one with a second electronic device. The method for determining the first data frame is related to the probability of successful transmission of each data frame. It can be understood that the beneficial effects of this method can refer to the beneficial effects related to the first aspect and will not be repeated here.
[0027] In a third aspect, an embodiment of the present application provides a data transmission method, in which, during an uplink transmission process, a first electronic device (e.g., a network device hereinafter) needs to receive data frames transmitted by multiple second electronic devices (e.g., a terminal device hereinafter). The first electronic device includes a base station and other devices, and the second electronic device includes a VR glasses, AR glasses and other devices. Due to limited transmission resources, the first electronic device can only receive a limited number of data frames sent by the second electronic device at a time. Therefore, the first electronic device needs to determine the second electronic device that is allowed to transmit the data frame and give the second electronic device that is allowed to transmit the data frame a transmission permission instruction before the second electronic device can transmit the data frame. Specifically, the first electronic device (e.g., a network device hereinafter) detects data transmission request messages sent by multiple second electronic devices (e.g., terminal devices hereinafter), and the data transmission request message is used to instruct the second electronic device to transmit the cached data frame to the first electronic device; based on the transmission success probability corresponding to the data frame of each second electronic device, the first data frame to be transmitted is determined, wherein the transmission success probability is used to evaluate the probability of the data frame being successfully transmitted; the first electronic device sends a transmission permission instruction to the second electronic device corresponding to the first data frame; and the first electronic device receives the first data frame from the second electronic device corresponding to the first data frame. It is understood that the first electronic device can determine the first data frame to be transmitted based on the transmission success probability of each data frame, where the transmission success probability is used to evaluate the probability of the data frame being successfully transmitted. The first electronic device then sends a transmission permission instruction to the second electronic device corresponding to the first data frame. Because the first electronic device considers the transmission success probability of each data frame when determining the first data frame to be transmitted, and the transmission success probability is used to evaluate the probability of the data frame being successfully transmitted, it can increase the number of data frames successfully transmitted by all second electronic devices within a period of time.
[0028] In a possible implementation of the third aspect, the data frame is a data frame cached by the first electronic device at the current moment, where the current moment is any time point within the delay period, and the starting point of the delay period is the initial moment. The transmission success probability is determined based on the remaining transmission time and the complete transmission time, wherein the remaining transmission time is the time required for the data frame to be completely transmitted from the current moment; and the complete transmission time is the time required for the data frame to be completely transmitted from the initial moment. Furthermore, the transmission success probability is negatively correlated with both the remaining transmission time and the complete transmission time. It is understood that the specific data in the data frame will change dynamically during the transmission process. Each time the first electronic device transmits, it is necessary to determine the data frame cached by the first electronic device at the current moment. The remaining transmission time and the complete transmission time are taken into account when determining the transmission success probability. Since the remaining transmission time is the time required for the data frame to be completely transmitted from the current moment, the remaining transmission time can reflect the number of data frames that can be successfully transmitted within a period of time when the current data frame is transmitted. The longer the remaining transmission time, the lower the probability of each data frame being successfully transmitted, and the fewer data frames can be successfully transmitted within a certain period of time. The complete transmission time is the time required for the data frame to be transmitted from the initial moment to the end. It can reflect whether the current data frame can be transmitted within the specified delay period and the transmission quality of the data frame, thereby improving the probability of successful transmission of the data frame.
[0029] In a possible implementation of the third aspect, the transmission success probability, the complete transmission time, and the remaining transmission time may satisfy the following relationship: P1 = g(ts)*h(tw)
[0030] Where P1 is the probability of successful transmission; ts is the remaining transmission time; g(ts) is the urgency factor, which is negatively correlated with the remaining transmission time ts; tw is the complete transmission time; and h(tw) is the success factor, which is negatively correlated with the complete transmission time tw. When the remaining transmission time decreases, the urgency factor increases, and the probability of successful transmission increases. When the complete transmission time decreases, the success factor increases, and the probability of successful transmission increases.
[0031] In a possible implementation of the third aspect, the urgency factor g(ts) and the remaining transmission time ts satisfy the following relationship:
[0032] Among them, k a is a hyperparameter used to adjust the relationship between the urgency factor and the remaining transmission time. As can be understood, the urgency factor g(ts) and the remaining transmission time ts have a nonlinear relationship and good robustness.
[0033] In a possible implementation of the third aspect, the success factor h(tw) and the complete transmission time tw satisfy the following relationship:
[0034] Where D represents the delay period; μ is a hyperparameter used to adjust the relationship between the complete transmission time and the data frame delay period; and c is a hyperparameter used to adjust the relationship between the complete transmission time and the success factor. As can be understood, the urgency factor g(ts) and the remaining transmission time ts also have a nonlinear relationship, which provides good robustness.
[0035] In one possible implementation of the third aspect, the first electronic device may determine the remaining transmission time in the following manner: the first electronic device determines the remaining transmission time of the data frame based on the data frame length at the current moment and the historical average number of bits transmitted over the channel of the data frame, where the historical average number of bits transmitted over the channel is the average number of bits supported for transmission over the channel between the first electronic device and the second electronic device corresponding to the data frame during a first historical time period. It is understood that the first electronic device may record the maximum number of bits supported for transmission over the channel corresponding to the data frame at each time point during the first historical time period, and then average the maximum number of bits supported for transmission over the channel at each time point during the first historical time period to obtain the historical average number of bits transmitted over the channel during the first historical time period. Furthermore, a specific time period for the first historical time period may be preconfigured. For example, 1 ms prior to the current moment is used as the time period for each calculation of the historical average number of bits transmitted over the channel, and then the stored maximum number of bits supported for transmission corresponding to each data frame 1 ms prior to the current moment is averaged to obtain the historical average number of bits transmitted over the channel. There are many ways to calculate the historical average number of bits transmitted over the channel, which are not limited here. It can be understood that the historical average number of bits transmitted through the channel reflects a trend of the maximum number of bits supported for transmission by the channel corresponding to each data frame. The remaining transmission time can be reasonably obtained by using the data frame length of the data frame at the current moment and the historical average number of bits transmitted through the channel of the data frame.
[0036] In a possible implementation of the third aspect, the remaining transmission time ts satisfies:
[0037] Wherein, q represents the data frame length; Indicates the historical average number of bits transmitted by the channel.
[0038] In a possible implementation of the third aspect, the complete transmission time tw satisfies:
[0039] Wherein, w represents the waiting time for the data frame to be transmitted, which is the time from the initial moment to the current moment; q represents the length of the data frame; represents the average number of bits transmitted through the historical channel; r represents the number of bits transmitted through the current channel of the data frame, and the number of bits transmitted through the current channel is the maximum number of bits supported for transmission between the first electronic device and the second electronic device corresponding to the data frame at the current moment.
[0040] In one possible implementation of the third aspect, the first electronic device determines the first data frame to be transmitted based on the transmission success probability of each data frame, including: the first electronic device calculates a priority score for each data frame based on the transmission success probability of each data frame; and determines the first data frame based on each priority score. It is understood that the first electronic device can calculate the priority score for each data frame, and the priority score can intuitively indicate the priority of each data frame for transmission, thereby determining the first data frame.
[0041] In a possible implementation of the third aspect above, the priority score of each data frame satisfies: Priority = β*f(·)*P1
[0042] Among them, Priority is the priority score, β is a hyperparameter, f(·) represents the channel dominance factor, wherein the channel dominance factor is related to the data frame length of the data frame, the number of bits transmitted by the current channel, and the average number of bits transmitted by the historical channel, wherein the number of bits transmitted by the current channel is the maximum number of bits supported by the channel for transmission between the first electronic device and the second electronic device corresponding to the data frame at the current moment; the average number of bits transmitted by the historical channel is the average number of bits supported by the channel for transmission between the first electronic device and the second electronic device corresponding to the data frame in the first historical time period. It can be understood that the explanation of the average number of bits transmitted by the historical channel is as above and will not be repeated here. It can be understood that the priority score not only takes into account the transmission success probability of each data frame, but also takes into account the channel dominance corresponding to each data frame, which is more scientific and reasonable.
[0043] In a possible implementation of the third aspect, the channel dominance factor satisfies:
[0044] Where r represents the number of bits transmitted by the current channel; = represents the historical average number of bits transmitted through the channel; q represents the data frame length. As can be understood, the channel dominance factor fully considers the current channel transmission bit number, the historical average number of bits transmitted through the channel, and the data frame length, making it more scientific and reasonable.
[0045] It can be understood that in this process, the first electronic device may use the same method as in the first aspect above to determine the first data frame to be transmitted. For specific beneficial effects, please refer to the various possible implementations of the first aspect above, which will not be elaborated here.
[0046] In a fourth aspect, an embodiment of the present application provides a data transmission method, which is applied to an extended reality scenario. The extended reality scenario includes a first electronic device and multiple second electronic devices. During uplink transmission, multiple second electronic devices send a data transmission request message to the first electronic device. The data transmission request message is used to instruct the second electronic device to transmit the cached data frame to the first electronic device; the second electronic device corresponding to the first data frame receives the transmission permission instruction sent by the first electronic device, wherein the determination method of the first data frame is related to the transmission success probability of the data frame cached by each second electronic device; the second electronic device corresponding to the first data frame sends the first data frame to the first electronic device.
[0047] In the fifth aspect, an embodiment of the present application provides a data transmission device, which includes: a cache module for caching multiple data frames, wherein each data frame is to be transmitted to a second electronic device; a determination module for determining the first data frame to be transmitted based on the transmission success probability of each data frame, wherein the transmission success probability is used to evaluate the probability of the data frame being successfully transmitted; and a transmission module for transmitting the first data frame to the second electronic device corresponding to the first data frame.
[0048] For example, during downlink transmission, the data transmission device may be the network device 90A described below.
[0049] In a possible implementation of the fifth aspect above, the data frame is a data frame cached by the cache module at the current moment, the current moment is any time point within the delay period, the starting point of the delay period is the initial moment, and the probability of successful transmission is determined based on the remaining transmission time and the complete transmission time, wherein the remaining transmission time is the time required for the data frame to be transmitted from the current moment; the complete transmission time is the time required for the data frame to be transmitted from the initial moment, and the probability of successful transmission is negatively correlated with the remaining transmission time and the complete transmission time.
[0050] In a possible implementation of the fifth aspect, the transmission success probability satisfies: P1 = g(ts)*h(tw)
[0051] Among them, P1 is the probability of successful transmission; ts is the remaining transmission time; g(ts) is the urgency factor, which is negatively correlated with the remaining transmission time ts; tw is the complete transmission time; h(tw) is the success factor, which is negatively correlated with the complete transmission time tw.
[0052] In a possible implementation of the fifth aspect, the urgency factor satisfies:
[0053] Among them, k ais a hyperparameter used to adjust the relationship between the urgency factor and the remaining transmission time.
[0054] In a possible implementation of the fifth aspect, the success factor satisfies:
[0055] Where D represents the delay period; μ is a hyperparameter used to adjust the relationship between the complete transmission time and the delay period of the data frame; and c is a hyperparameter used to adjust the relationship between the complete transmission time and the success factor.
[0056] In a possible implementation of the fifth aspect above, the determination module is also used to determine the remaining transmission time in the following manner: the determination module is also used to determine the remaining transmission time of the data frame based on the data frame length of the data frame and the historical channel average number of transmission bits of the data frame, wherein the historical channel average number of transmission bits is the average number of bits supported for transmission by the channel between the data transmission device and the second electronic device corresponding to the data frame in the first historical time period.
[0057] In a possible implementation of the fifth aspect, the remaining transmission time ts satisfies:
[0058] Wherein, q represents the data frame length; Indicates the historical average number of bits transmitted by the channel.
[0059] In a possible implementation of the fifth aspect, the complete transmission time tw satisfies:
[0060] Wherein, w represents the waiting time for the data frame to be transmitted, which is the time from the initial moment to the current moment; q represents the length of the data frame; represents the average number of bits transmitted through the historical channel; r represents the number of bits transmitted through the current channel of the data frame, and the number of bits transmitted through the current channel is the maximum number of bits supported for transmission through the channel between the data transmission device and the second electronic device corresponding to the data frame at the current moment.
[0061] In a possible implementation of the fifth aspect above, the determination module is used to determine the first data frame to be transmitted based on the transmission success probability of each data frame, including: the determination module is used to calculate the priority score of each data frame according to the transmission success probability of each data frame; the determination module is used to determine the first data frame according to each priority score.
[0062] In a possible implementation of the fifth aspect, the priority score of each data frame satisfies: Priority = β*f(·)*P1
[0063] Wherein, Prior is the priority score, β is a hyperparameter, and f(·) represents the channel dominance factor, wherein the channel dominance factor is related to the data frame length of the data frame, the number of bits transmitted by the current channel, and the average number of bits transmitted by the historical channel. The number of bits transmitted by the current channel is the maximum number of bits supported for transmission by the channel between the data transmission device and the second electronic device corresponding to the data frame at the current moment; the average number of bits transmitted by the historical channel is the average number of bits supported for transmission by the channel between the data transmission device and the second electronic device corresponding to the data frame in the first historical time period.
[0064] In a possible implementation of the fifth aspect, the channel dominance factor satisfies:
[0065] Where r represents the number of bits transmitted by the current channel; represents the average number of bits transmitted in the historical channel; q represents the data frame length.
[0066] In the sixth aspect, an embodiment of the present application provides a data transmission device, which includes a processor and a memory, and the processor is used to execute data in the memory, so that the data transmission device executes any data transmission method such as the above-mentioned first aspect and its various implementations, or any data transmission method such as the above-mentioned second aspect and its various implementations.
[0067] In the seventh aspect, an embodiment of the present application provides a data transmission system, the system including a first electronic device and multiple second electronic devices; wherein the first electronic device is a data transmission device such as the sixth aspect and any one of the various implementations of the sixth aspect, or the data transmission device of the sixth aspect; the second electronic device is used to receive a first data frame sent by the first electronic device.
[0068] For example, during downlink transmission, the data transmission system is the data transmission system 90 described below, the first electronic device is the network device 90A, and the second electronic device is the terminal device 90B.
[0069] In an eighth aspect, an embodiment of the present application provides a data transmission device, which includes: a detection module for detecting data transmission request messages sent by multiple second electronic devices, where the data transmission request messages are used to instruct the second electronic devices to transmit the cached data frames to the data transmission device; a determination module for determining the first data frame to be transmitted currently based on the transmission success probability corresponding to the data frames of each second electronic device, where the transmission success probability is used to evaluate the probability of the data frame being successfully transmitted; a sending module for sending a transmission permission instruction to the second electronic device corresponding to the first data frame; and a receiving module for receiving the first data frame from the second electronic device corresponding to the first data frame.
[0070] For example, during uplink transmission, the data transmission device is the network device 1000A below, and the second electronic device is the terminal device 1000B.
[0071] In the ninth aspect, an embodiment of the present application provides a data transmission device, which includes: a first sending module for sending a data transmission request message to a first electronic device, the data transmission request message being used to instruct the data transmission device to transmit the cached data frame to the first electronic device; a receiving module for receiving a transmission permission instruction sent by the first electronic device; and a second sending module for sending a first data frame to the first electronic device, wherein the method for determining the first data frame is related to the probability of successful transmission of the data frame cached by the data transmission device.
[0072] For example, during uplink transmission, the data transmission device may be the terminal device 1000B described below, and the first electronic device may be the network device 1000A.
[0073] In the tenth aspect, an embodiment of the present application provides a data transmission device, which includes a processor and a memory, and the processor is used to execute data in the memory, so that the data transmission device executes any data transmission method such as the third aspect and various implementations of the third aspect, or any data transmission method of the fourth aspect.
[0074] In the eleventh aspect, an embodiment of the present application provides a data transmission system, which includes a first electronic device and multiple second electronic devices, wherein the first electronic device is a data transmission device as in the eighth aspect above, and the second electronic device is a data transmission device as in the ninth aspect above.
[0075] For example, during uplink transmission, the data transmission system may be the data transmission system 1000 described below.
[0076] In the twelfth aspect, an embodiment of the present application provides a readable storage medium having instructions stored thereon. When the instructions are executed on an electronic device, the electronic device executes any data transmission method in the first aspect and its various implementations, any data transmission method in the second aspect and its various implementations, any data transmission method in the third aspect and its various implementations, or any data transmission method in the fourth aspect and its various implementations.
[0077] In the thirteenth aspect, an embodiment of the present application provides a chip, which is applied to an electronic device for executing any data transmission method in the first aspect and its various implementations, any data transmission method in the second aspect and its various implementations, any data transmission method in the third aspect and its various implementations, or any data transmission method in the fourth aspect and its various implementations.
[0078] In the fourteenth aspect, an embodiment of the present application provides a computer program product, the computer program product comprising: computer program code, which, when the computer program code runs on a computer, enables the computer to execute any data transmission method in the first aspect and its various implementations, any data transmission method in the second aspect and its various implementations, any data transmission method in the third aspect and its various implementations, or any data transmission method in the fourth aspect and its various implementations.
[0079] Among them, the beneficial effects of the fourth to eleventh aspects can refer to the beneficial effects related to the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0080] FIG1A shows a schematic diagram of the architecture of a communication system 1000 according to some embodiments provided by the present application;
[0081] FIG1B shows a schematic diagram of a video scene corresponding to XR according to some embodiments provided by the present application;
[0082] FIG2A shows a schematic diagram of a video frame F1 according to some embodiments provided by the present application;
[0083] FIG2B shows a schematic diagram of successfully receiving a video frame F1 according to some embodiments provided by the present application;
[0084] FIG2C shows a schematic diagram of a video frame F1 receiving failure according to some embodiments provided by the present application;
[0085] FIG3A shows a schematic diagram of a queue corresponding to each video frame according to some embodiments provided by the present application;
[0086] FIG3B shows a schematic diagram of states of each data frame before and after the i-th transmission according to some embodiments provided by the present application;
[0087] FIG3C shows a data packet transmitted at times T0, T1, and T2 according to some embodiments provided by the present application;
[0088] FIG3D shows a diagram showing the relationship between factors and priorities in a priority scoring process according to some embodiments provided by the present application;
[0089] FIG3E shows another data packet transmitted at times T0, T1, and T2 according to some embodiments provided by the present application;
[0090] FIG4 shows a schematic diagram of a framework of a network side 400 and a terminal side 500 according to some embodiments provided by the present application;
[0091] FIG5 is a schematic diagram showing interaction between a network device and a terminal device during downlink transmission according to some embodiments provided by the present application;
[0092] FIG6 shows a schematic diagram of interaction between a network device and a terminal device during uplink transmission according to some embodiments provided by the present application;
[0093] FIG7A shows a schematic diagram of an OSI 7-layer model according to some embodiments provided by the present application;
[0094] FIG7B shows a simulation experiment effect diagram according to some embodiments provided by the present application;
[0095] FIG8 shows a schematic structural diagram of a device 800 according to some embodiments provided in this application;
[0096] FIG9 shows a schematic structural diagram of a data transmission system 90 according to some embodiments provided by the present application;
[0097] FIG10 shows a schematic structural diagram of a data transmission device system 1000 according to some embodiments provided in this application. DETAILED DESCRIPTION
[0098] The illustrative embodiments of the present application include, but are not limited to, a data transmission method, apparatus, electronic device, storage medium, and chip.
[0099] Some terms in this application are introduced below.
[0100] FIG1A is a schematic diagram of the architecture of a communication system 1000 used in an embodiment of the present application. As shown in FIG1A , the communication system includes a network device and terminal devices. The network device can be connected to the terminal devices via wireless or wired means. The figure shows a network device and six terminal devices, namely terminal device 10, terminal device 20, terminal device 30, terminal device 40, terminal device 50, and terminal device 60.
[0101] For example, in the example shown in Figure 1A, terminal device 10 is a smart tea cup, terminal device 20 is VR glasses, terminal device 30 is a smart gas pump, terminal device 40 is a vehicle, terminal device 50 is a mobile phone, and terminal device 60 is a printer for illustration.
[0102] It is understandable that in some cases, when data is transmitted between a network device and a terminal device, the service data stream is transmitted frame by frame, that is, in units of "frames." When transmitting data downlink, there will be multiple queues in the network device, each of which caches the contents of a data frame. The network device will then transmit a data frame stored in the queue to a terminal device, and different data frames will correspond to different terminal devices. When transmitting data uplink, the terminal device will also have a queue and will send the data frames in the queue to the network device if the network device allows it.
[0103] As can be understood, due to communication resource limitations, during each downlink transmission, the network device will select a terminal device and send part or all of the data frames in the queue corresponding to that terminal device to the corresponding terminal device. During each uplink transmission, the terminal device will send part or all of the data frames buffered in the queue to the network device, if permitted by the network device.
[0104] For the sake of convenience, part or all of the data in a data frame that needs to be transmitted between a network device and a terminal device in each downlink or uplink transmission is called a "data packet", which serves as a data transmission unit during transmission.
[0105] The following describes this solution using the downlink transmission scenario, taking the network device as a base station and each terminal device as VR glasses as an example.
[0106] Figure 1B shows a schematic diagram of a video scene corresponding to XR according to some embodiments of the present application. In this scenario, multiple users can use VR glasses A1-An to play games respectively. At this time, VR glasses A1-An can exchange data with cloud C through base station B. The video frames generated by cloud C will be sent to base station B. At base station B, there is a queue corresponding to each VR glasses. Each queue caches the video frames to be transmitted to the corresponding VR glasses, that is, one video frame corresponds to one VR glasses. Each VR glasses A1-An can receive video frames including game screen content sent from base station B. During transmission, due to limited communication resources, a video frame needs to be transmitted multiple times before it can be fully transmitted.
[0107] Continuing with Figure 2A, assume that cloud C generates a video frame F1 containing a smiling face. After receiving video frame F1, base station B caches it in the queue corresponding to VR glasses A1. Initially, the queue contains all the data for video frame F1. As will be appreciated, due to limited communication resources, when base station B receives multiple video frames and stores them in separate queues, it prioritizes the frames in each queue, determines which frames need to be transmitted, and then transmits the data in these frames based on the amount of data allowed for transmission. During subsequent transmissions, base station B transmits the data in the video frame to VR glasses A1 multiple times. After each transmission, the length of the video frame in the queue changes. After multiple transmissions, the entire initial cached data in the queue (i.e., video frame F1) can be sent to VR glasses A1. When all the data for video frame F1 has been transmitted n times, the data in each transmitted data frame is recorded as data packets B1, B2, ..., Bn.
[0108] It can be understood that there is usually a correlation between multiple data packets B1-Bn corresponding to the same video frame. If one or more data packets in the video frame sent by VR glasses A1 fail to be received, the video frame is likely to fail to be decoded and ultimately cannot be displayed, which affects the user experience. As an example, as shown in Figure 2B, VR glasses A1 successfully receives data packets B1-Bn. VR glasses A1 can obtain the above-mentioned video frame F1 based on the received data packets B1-Bn. At this time, it is considered that video frame F1 is successfully received. As shown in Figure 2C, in some cases, VR glasses A1 may also fail to receive some data packets. For example, if it fails to receive data packet Bn, even if VR glasses A1 successfully receives other data packets, it is considered that video frame F1 has failed to be received, and may not be able to decode video frame F1 for display. Therefore, when each XR terminal device transmits single-frame data to base station B, it is necessary to consider the transmission integrity of the data frame to ensure the success rate of each data frame transmission.
[0109] The following describes the transmission process in detail:
[0110] In some embodiments, when cloud C generates data, the data generated by cloud C will arrive at base station B in batches, and all data corresponding to the same frame will arrive at base station B at the same time (i.e., batch arrival). At this time, each queue in base station B will respectively cache a data frame that needs to be transmitted (for example, in addition to the video frames mentioned above, it can also be a tactile frame, etc.), and the size of each data frame can be different.
[0111] For example, as shown in Figure 3A, a base station is configured with multiple queues A11-Ann. Each queue caches a data frame M1-Mn. The base station transmits data frames M1-Mn to VR glasses A1-An, respectively. Specifically, queue A11 caches data frame M1 that base station B needs to send to VR glasses A1. Queue A22 caches data frame M2 that base station B needs to send to VR glasses A2. Queue Ann caches data frame Mn that base station B needs to send to VR glasses An.
[0112] It can be understood that the bandwidth resources of base station B are limited. In some cases, base station B can only communicate with a limited number of XR terminal devices each time it transmits. For example, in the current transmission, base station B can only transmit with VR glasses A1, and in the next transmission, base station B can only transmit with VR glasses A2. At this time, there will be competition between the XR terminal devices. Then, each time base station B transmits, it will calculate the priority of each data frame and transmit the data frame that meets the priority conditions (for example, the priority level meets the first threshold) to the corresponding VR glasses. In addition, after each transmission of base station B, the length of the data frame transmitted will change, that is, after each transmission, the data frame will change dynamically with the transmission process.
[0113] For example, if base station B's bandwidth resources allow for transmission to two XR terminal devices at once, base station B will transmit the two data frames with the highest and second highest priority levels (i.e., the first and second priority levels) to the corresponding VR glasses, respectively. For another example, if base station B's bandwidth resources allow for transmission to one XR terminal device at a time, base station B will transmit the data frame with the highest priority level to the corresponding VR glasses. Continuing with Figure 3A, taking base station B transmitting one data frame at a time as an example, since base station B can only transmit one data frame at a time, base station B successfully transmits data frame M1 to VR glasses A1 only after determining it as the highest priority twice, i.e., two corresponding transmissions of data packets M11 and M12. Data frame M12 is determined to be the highest priority five times before data frame M2 is successfully transmitted to VR glasses A2. And finally, data frame Mn is successfully transmitted to VR glasses An only after determining it as the highest priority twice.
[0114] For a clearer understanding, Figure 3B shows a comparison of the dynamic changes in each data frame before and after base station B transmits a particular data frame. Figure 3B shows the data frame changes before and after base station B transmits the i-th data frame. Assume that the data transmitted by base station B during the i-th transmission is data frame M2. Referring to Figure 3B, before base station B transmits the i-th data frame, data frame M1 represents the remaining data after data packet M11 is transmitted. Assume that data packet M12 is subsequently transmitted to VR glasses A1. Since data frame M2 has not been assigned the highest priority since its first priority calculation, data frame M2 represents all the data received by base station B from the cloud. Since data frame Mn has not been assigned the highest priority since its first priority calculation, data frame Mn represents all the data received by base station B from the cloud. Assume that base station B determines to transmit data frame M2 to VR glasses A2 during the i-th transmission. At this point, base station B transmits the data in data frame M2 to VR glasses A2 as data packet M12. At this time, after the i-th transmission, the data in data frame M2 will reduce the data size of data packet M21, and the data in the remaining data frames will remain unchanged. Therefore, the data in the queue will change dynamically with the transmission of base station B.
[0115] It can be understood that there is a delay constraint on the frame, that is, after the data frame arrives at base station B, it needs to be fully transmitted within the delay period (for example, 10ms), otherwise the data that has not been successfully transmitted in each queue will be cleared, which will cause each XR terminal device to fail to successfully receive the data frame. For example, in some embodiments, the delay period can be 10ms, that is, every 0.5ms is a time slot, and 10ms includes 20 time slots. For the data frame M1 in Figure 3A, after the data packet M11 is transmitted, the remaining data in the queue A11, that is, the part of the data frame M1 that has not been transmitted, is not transmitted within the specified time. At this time, the remaining data belonging to the data frame M1 in the queue A11 will be cleared, and the VR glasses A1 will not be able to receive the complete data frame M1, which means that the frame transmission has failed.
[0116] Currently, there are multiple methods for determining the priority of each data frame. For example, the proportional fairness (PF) algorithm and the modified largest weighted delay first (M-LWDF) algorithm are used. However, current priority determination algorithms are optimized for maximizing throughput or minimizing latency in data transmission, without considering the number of complete data frames received by each XR terminal device, which affects the user's quality of service (QoS).
[0117] Taking the proportional fairness algorithm as an example, in various XR application scenarios, the frame integrity and frame latency of data frames during transmission are closely related to the quality of service. However, the proportional fairness algorithm cannot guarantee the successful arrival rate of frames within a certain transmission time. For example, base station B can only transmit one data packet of the highest-priority data frame at a time. Referring to Figure 3C, during transmission T0, assuming that VR glasses A1 currently have a good channel, a high instantaneous rate, and the highest priority, base station B transmits data packet M11 corresponding to data frame M1 to VR glasses A1. During transmission T1, assuming that VR glasses A2 currently have a good channel, a high instantaneous rate, a low average rate, and the highest priority, base station B transmits data packet M21 corresponding to data frame M2 to VR glasses A2. During transmission T2, assuming that VR glasses A3 currently have a good channel, a high instantaneous rate, a low average rate, and the highest priority, base station B transmits data packet M31 corresponding to data frame M3 to VR glasses A3. It can be found that, assuming that after three transmissions, the specified time is reached, there is still a lot of untransmitted data remaining in the queues corresponding to VR glasses A1, VR glasses A2 and VR glasses A3, that is, data frame M1, data frame M2 and data frame M3 have all been transmitted, that is, base station B has not successfully transmitted the content of a data frame, thereby affecting the user service quality.
[0118] It's understandable that the successful transmission of data frames over a period of time is closely related to the quality of service. Therefore, when determining the priority of each data frame, it's necessary to consider not only the channel status but also relevant information about the data frame, such as the transmission time for the remaining data in the current frame and the frame latency requirements.
[0119] Therefore, in order to solve the above problems, the present application proposes a data transmission method, in which when a first electronic device (for example, a network device such as a base station) needs to transmit data with multiple second electronic devices (for example, terminal devices such as VR glasses), the first electronic device needs to consider not only the channel status of each second electronic device, but also the integrity of the data frame and the delay requirements of the data frame when determining the data frame to be transmitted. Then, the first electronic device determines the data frame to be transmitted based on the integrity and delay requirements of the data frame, and sends the data frame to the corresponding second electronic device.
[0120] For example, during each transmission, the base station may consider not only the channel state but also the probability of successful data frame transmission. Specifically, when determining the data frames to be transmitted, the first data frame to be transmitted is determined based on the transmission success probability of each data frame. The transmission success probability is used to evaluate the probability of successful transmission of each data frame. The transmission success probability can be determined based on the remaining transmission time and the complete transmission time.
[0121] Specifically, the remaining transmission time is the time required to transmit the data frame at the current moment. The current moment is any time point within the delay period, and the delay period starts at the initial moment. The complete transmission time is the time required from the initial moment to the complete transmission of the data frame. It can be understood that the remaining transmission time represents the time required to transmit the untransmitted data cached by each queue at the current moment. The smaller the remaining transmission time, the faster the data frame at the current moment can be transmitted. Therefore, the priority of the data frame can be increased and transmitted first, thereby increasing the number of successfully transmitted frames. However, as mentioned above, the transmission of data frames is subject to frame delay requirements, that is, each frame of data must be transmitted within the delay period. Therefore, in addition to considering the remaining transmission time, the complete transmission time must also be considered. That is, whether the data frame at the current moment can be transmitted within the specified time is considered to improve the quality of data frame transmission. Therefore, it is necessary to consider whether the frame delay requirement is met when all data cached by the queue at the initial moment is fully transmitted. If the complete transmission time exceeds the frame delay requirement, the priority of the current data frame transmission can be lowered.
[0122] Therefore, based on a comprehensive consideration of the remaining transmission time and the complete transmission time, the first electronic device can determine the priority of each data frame according to the probability of successful transmission during each transmission, and then determine the first data frame to be transmitted based on the priority of each data frame, and then send the first data frame to the corresponding second electronic device.
[0123] It can be understood that since the priority not only takes into account the channel status between the first electronic device and each second electronic device, but also takes into account the number and quality of successful transmission of each data frame during the transmission process, for example, the remaining transmission time mentioned above, and the complete transmission time, it is improved that as many data frames are transmitted as possible within a certain time.
[0124] Specifically, in some embodiments, a priority score that can reflect the priority can be calculated for each data frame, and the priority of each data frame can be determined based on the calculated value of the priority score corresponding to each data frame, and the larger the value of the priority score, the higher the corresponding priority.
[0125] In some embodiments, the priority score includes not only a channel dominance factor related to the channel status, but also an urgency factor of the data frame and a success factor; wherein the urgency factor is negatively correlated with the remaining transmission time, and the shorter the remaining transmission time, the greater the urgency factor and the higher the priority; the success factor is also negatively correlated with the complete transmission time, and the shorter the complete transmission time, the greater the success factor and the higher the priority.
[0126] The following describes the example in which the priority considers both the remaining transmission time and the complete transmission time, and takes the example in which the probability of successful transmission can be the product of the urgency factor and the success factor.
[0127] In some embodiments, the following formula (1-1) shows an expression for calculating the relationship between the priority score of a data frame Li (corresponding to the XR terminal device Ei) and the probability of successful transmission, and formula (1-2) shows an expression for the relationship between the probability of successful transmission and the remaining transmission time and the complete transmission time: Priority = β*f(·)*P1 (1-1) P1 = g(ts)*h(tw) (1-2)
[0128] In formula (1-1), Priority is the priority score, P1 is the probability of successful transmission, f(·) represents the channel dominance factor, and β is a hyperparameter. In formula (1-2), g(ts) represents the urgency factor, h(tw) represents the success factor, ts is the remaining transmission time, and tw is the complete transmission time. In the embodiment of the present application, the better the channel state, the higher the priority; the greater the urgency factor, the higher the priority; and the greater the success factor, the higher the priority.
[0129] In some embodiments, the channel dominance factor f(·) can be obtained by the following formula (2):
[0130] Where f(·) represents the channel dominance factor. i Indicates the number of bits transmitted by the current channel, that is, the current channel state, specifically the maximum number of bits that the channel between the corresponding XR terminal device Ei and the network device can support transmission at the current moment; if r i The larger the value, the better the channel status. i Indicates the data frame length of the data frame Li at the current moment, that is, the number of bits of the data frame Li that have not been transmitted at the current moment. i ,q i} represents the maximum number of bits that can be transmitted in the data frame Li on the current channel.
[0131] It can be understood that although ri corresponding to the data frame Li is relatively large, the maximum amount of data that can be transmitted currently does not exceed the data frame length qi of the data frame Li. It represents the average number of bits transmitted in the historical channel (i.e., the historical channel status), and the average number of bits supported for transmission by the corresponding channel between the specific network device and the XR terminal device Ei in the historical time period. It can be understood that the historical channel status reflects the channel quality trend between the network device and the XR terminal device Ei in the past period of time, and the specific calculation method is not required. For example, the network device can record the maximum number of bits supported for transmission at each time point in the historical time period for the channel corresponding to the data frame, and then average the maximum number of bits of the channel at each time point in the historical time period to obtain the historical channel average number of bits transmitted by the channel in the historical time period. It can be understood that when calculating the historical channel status, the data of the current channel status can also be used in the calculation, or it can be not used, and this is not required here. Example 1, when the current channel status is not considered, the maximum number of bits that can be transmitted at three consecutive time points in the past is 6 bits, 8 bits, and 12 bits respectively. At this time, the maximum number of bits of data transmitted by the XR terminal device Ei and the network device in the past three consecutive time points is averaged and calculated, and the historical channel status is obtained as an average number of bits of 8 bits. Example 2: When considering the current channel state, the maximum transmission bits at the past three consecutive time points were 6 bits, 8 bits, and 12 bits, respectively, and the current maximum transmission bit is 10 bits. At this time, the average number of transmission bits corresponding to the historical time period including the current moment is 9 bits.
[0132] It can be understood that the ratio in formula (2) reflects the dominance of the channel corresponding to the data frame Li. If the current channel is good and the historical channel is poor, it means that the current channel has an advantage and it is necessary to transmit quickly. If the current channel is good and the historical channel is also good, it means that the channel of the terminal device has always been good. Compared with other terminal devices with poor historical channel status but good current channel, it does not have an advantage at this time.
[0133] It can be understood that when the current channel state corresponding to the data frame Li becomes better, the priority is higher, so that high-priority users can fully utilize the channel.
[0134] It is understandable that the channel dominance factor can also be expressed in other ways, and no further restrictions are imposed here.
[0135] In some embodiments, the urgency factor g(ts) can be obtained by the following formulas (3-1) and (3-2):
[0136] Among them, k in formula (3-1) a ≥0 is a tuning parameter, i.e., a hyperparameter, which is used to adjust the influence of the urgency factor on the priority calculation results. i 、r i as well as Refer to the description of formula (2) above, which will not be repeated here. And formula (3-2) is a calculation method for the remaining transmission time ts. In other implementations, other calculation methods can also be used, such as the numerator The current channel state is used for calculation, and no specific requirements are made here. It can be understood that if the remaining transmission time corresponding to the data frame Li is smaller, it means that the data frame Li can be transmitted faster, and the probability of successful transmission will increase.
[0137] In some embodiments, the success factor h(tw) can be obtained by the following formulas (4-1) and (4-2):
[0138] In formula (4-1), D represents the delay period corresponding to the frame hard delay constraint, which can be 10 ms, where 10 ms is 20 time slots. c > 0 is a hyperparameter. In some implementations, c = 1. μ > 0 is a hyperparameter used to adjust the relationship between the complete transmission time and the data frame delay period. In some implementations, μ = 1.
[0139] Formula (4-2) shows a method for calculating the complete transmission time tw. tw can also be obtained by other methods, which are not limited here. i is the waiting time of data frame Li, that is, the time from the initial moment to the current moment of data frame Li, q i 、r i as well as Please refer to the description of formula (2) above and do not elaborate on it here. It represents the time required to transmit the remaining data in the data frame Li after transmission on the current channel. tw-μ*D represents the difference between the complete transmission time and the latency period. A longer complete transmission time increases tw-μ*D, which increases the likelihood of transmission failure and reduces the success factor. As can be seen, the success factor can be used to monitor data frames Li, promptly identifying frames that failed to transmit successfully and lowering their priority.
[0140] It is understandable that the priority of each data frame may be updated each time it is transmitted, or the priority of each data frame may be updated after a preset number of transmissions, which is not required here.
[0141] FIG3D shows a diagram of the influence relationship between factors and priorities in a priority score according to some embodiments of the present application. As shown in FIG3D , the channel dominance factor in the priority score reflects the dominance of the channel corresponding to each data frame, and the urgency factor and the success factor reflect the probability of successful transmission. Specifically, the urgency factor mainly involves the remaining transmission time, which can further reflect the number of data frames that are successfully transmitted within a certain period of time. The longer the required remaining transmission time, the smaller the probability of each data frame being successfully transmitted, and the smaller the number of data frames that are successfully transmitted within a certain period of time. The success factor involves the complete transmission time. The complete transmission time can reflect the degree of failure of the queue within the delay constraint, and further reflects the probability that the data frame can be successfully transmitted. The shorter the complete transmission time, the greater the probability that the data frame is successfully transmitted.
[0142] It can be understood that by observing the above formulas (1-1) and (1-2), if the current channel is dominant, but if the urgency factor and the success factor are smaller, the priority will be lower. For example, if the data frame has just arrived at the base station, the number of bits in the data frame is large and there is a long remaining transmission time, so the transmission is not urgent enough, that is, the urgency factor g(ts) is small. At this time, the priority will be reduced, and there will be opportunities to transmit other data frames, thereby improving the frame satisfaction rate.
[0143] It can be understood that for the scenario shown in Figure 1B, base station B can calculate the priority score of each VR glasses device according to the above formulas (1-1) to (4-2), and then determine the priority of each data frame based on the priority score, thereby determining the first data frame to be transmitted, and then sending the data in the first data frame, that is, the data packet, to the corresponding terminal device. For example, referring to Figure 3E, during the T0 transmission, assuming that base station B calculates that data frame M1 has the highest priority, base station B transmits data packet M11 corresponding to data frame M1 to VR glasses A1; during the T1 transmission, assuming that base station B calculates that data frame M1 has the highest priority, base station B continues to transmit data packet M12 corresponding to data frame M1 to VR glasses A1; during the T2 transmission, assuming that base station B calculates that data frame M2 has the highest priority, base station B transmits data packet M21 corresponding to data frame M2 to VR glasses A2. It can be found that after 3 transmissions, the data frame M1 corresponding to VR glasses A1 is successfully transmitted, improving the frame satisfaction rate.
[0144] For example, the following formula (5) shows an expression for the ratio of successful frame transmission (also known as "frame satisfaction rate"):
[0145] Among them, x irepresents the number of frames transmitted to the XR terminal device Ei (i=1,2,3...n) within the preset observation time T, y i Indicates the number of frames successfully transmitted to the XR terminal device Ei (i=1, 2, 3...n). The greater the number of data frames successfully transmitted within the specified time, the greater the frame satisfaction rate.
[0146] It can be understood that the scenarios corresponding to XR include but are not limited to the video scenarios mentioned above, and can also be tactile scenarios, auditory scenarios, olfactory scenarios and other perception scenarios. The embodiments of this application do not limit the application scenarios of base stations and XR devices. As long as the business data flow is a data frame, it is within the protection scope of this application and will not be elaborated here.
[0147] In some embodiments of the present application, a network device may be a device in a wireless network, for example, a network device may be a RAN node (or device) that connects a terminal device to a wireless network, which may also be referred to as a base station. For example, a RAN device may be: a base station, an evolved NodeB (eNodeB), a gNB (gNodeB) in a 5G communication system, a transmission reception point (TRP), an evolved NodeB (eNB), a radio network controller (RNC), a NodeB (NB), a home base station (e.g., a home evolved NodeB, or a home NodeB, HNB), a baseband unit (BBU), or a wireless fidelity (Wi-Fi) access point AP, etc. In addition, in a network structure, a network device may include a centralized unit (CU) node, a distributed unit (DU) node, or a RAN device including a CU node and a DU node.
[0148] Alternatively, a RAN node can be a macro base station, micro base station, indoor base station, relay node, donor node, or a wireless controller in a cloud radio access network (CRAN) scenario. A RAN node can also be a server, wearable device, vehicle, or vehicle-mounted device. For example, the access network device in vehicle-to-everything (V2X) technology can be a roadside unit (RSU).
[0149] In another possible scenario, multiple RAN nodes collaborate to assist the terminal in achieving wireless access, and different RAN nodes respectively implement part of the functions of the base station. For example, the RAN node can be a centralized unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU). The CU and DU can be set separately, or they can be included in the same network element, such as a baseband unit (BBU). The RU can be included in a radio frequency device or radio frequency unit, such as a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH).
[0150] In different systems, CU (or CU-CP and CU-UP), DU or RU may also have different names, but those skilled in the art can understand their meanings. For example, in an open access network (open RAN, O-RAN or ORAN) system, CU may also be called O-CU (open CU), DU may also be called O-DU, CU-CP may also be called O-CU-CP, CU-UP may also be called O-CU-UP, and RU may also be called O-RU. For the convenience of description, this application takes CU, CU-CP, CU-UP, DU and RU as examples for description. Any unit of CU (or CU-CP, CU-UP), DU and RU in this application can be implemented by a software module, a hardware module, or a combination of a software module and a hardware module.
[0151] The network device may be any other device that provides wireless communication functionality to the terminal device. The embodiments of this application do not limit the specific technology and device form used by the network device. For ease of description, the embodiments of this application do not limit this.
[0152] The network equipment may also include core network equipment, which may include, for example, a mobility management entity (MME), a home subscriber server (HSS), a serving gateway (S-GW), a policy and charging rules function (PCRF), and a public data network gateway (PDN gateway, P-GW) in a fourth generation (4G) network; and network elements such as an access and mobility management function (AMF), a user plane function (UPF), or a session management function (SMF) in a 5G network. In addition, the core network equipment may also include other core network equipment in a 5G network and a next generation network of a 5G network.
[0153] In the embodiments of the present application, the apparatus for implementing the function of the network device may be the network device, or may be a device capable of supporting the network device in implementing the function, such as a chip system, which may be installed in the network device. In the technical solutions provided in the embodiments of the present application, the technical solutions provided in the embodiments of the present application are described by taking the apparatus for implementing the function of the network device as an example.
[0154] In an embodiment of the present application, the terminal device may be a terminal in an Internet of Things (IoT) system. IoT is an important component of the future development of information technology. Its main technical feature is to connect objects to the network through communication technology, thereby realizing an intelligent network of human-machine interconnection and object-to-object interconnection. The terminal in the present application may be a terminal in machine type communication (MTC). The terminal of the present application may be an on-board module, on-board module, on-board component, on-board chip or on-board unit built into a vehicle as a component or unit. The vehicle may implement the method of the present application through the built-in on-board module, on-board module, on-board component, on-board chip or on-board unit. Therefore, the embodiment of the present application may be applied to vehicle networks, such as vehicle to everything (V2X), long term evolution vehicle (LTE-V), vehicle to vehicle (V2V), etc.
[0155] In this application, the terminal device may sometimes also be referred to as user equipment (UE), access terminal equipment, vehicle-mounted terminal, industrial control terminal, UE unit, UE station, mobile station, mobile station, remote station, remote terminal equipment, mobile device, UE terminal equipment, wireless communication equipment, machine terminal, UE agent or UE device, etc.
[0156] The terminal device in this application can be a VR terminal device, an AR terminal device, or an MR terminal device. VR terminals, AR terminals and MR terminals can all be referred to as XR terminal devices. XR terminal devices, for example, can be head-mounted devices (such as helmets or glasses), or can be all-in-one machines, or can be TVs, monitors, cars, vehicle-mounted devices, tablets, smart screens, holographic projectors, video players, remote-controlled robots, tactile Internet terminals, etc. The XR terminal can present XR data to users, and users can experience a variety of XR services by wearing or using the XR terminal. The XR terminal can access the network wirelessly or wired, for example, through wireless fidelity (WiFi) or 5G systems. Base stations and terminals can be fixed or movable. Base stations and terminals can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water surfaces; they can also be deployed in the air on aircraft, balloons and satellites.
[0157] Figure 4 shows a schematic diagram of a network side 400 and a terminal side 500 according to some embodiments of the present application, wherein the network side 400 represents a network device, and the terminal side 500 represents one or more terminal devices that perform transmission with the network device.
[0158] As shown in the figure, the network side 400 includes a data collection unit 401, a priority calculation module 402, and a priority scheduling module 403. The terminal side 500 includes a packet receiving unit 501 and a frame receiving unit 502.
[0159] Specifically, the data collection unit 401 is used to collect the waiting time, channel status, and data frame length of each data frame on the terminal side 500. For example, the waiting time for the first number of bits to be transmitted in the data frame can be checked as the waiting time of the data frame. In some implementations, when the cache queue of the service data frame is on the network side, the scheduler reads the waiting time and data frame length of the first bit of each queue, and the terminal device corresponding to each data frame feeds back its own channel state information (CQI) to the network device to obtain the channel state corresponding to each data frame.
[0160] The priority determination module 402 is used to determine the priority of each data frame on the terminal side 500. Specifically, the priority calculation module 402 calculates the priority score of each data frame and determines the priority according to the priority score.
[0161] The priority determination module 402 includes a failure identification module 402A, an urgency determination module 402B, and a channel dominance identification module 402C.
[0162] Failure identification module 402A is configured to: 1) calculate the complete transmission time of each data frame based on the current waiting time and the remaining transmission time; and 2) estimate whether the data frame will be successfully transmitted by comparing the complete transmission time with the data frame's delay period (e.g., 10 seconds). It will be appreciated that the difference between the complete transmission time and the delay period (e.g., 10 seconds) can reflect the probability of failed transmission of the data frame. Furthermore, failure identification module 402A is further configured to determine a success factor related to the degree of failure / success based on the complete transmission time and the delay constraint.
[0163] The urgency determination module 402B is used to calculate the remaining transmission time and to calculate the urgency factor based on the remaining transmission time. It can be understood that the remaining transmission time can reflect the number of data frames successfully transmitted.
[0164] The channel dominance identification module 402C is used to compare the channel status corresponding to each data frame with the historical channel status, and the comparison result can reflect the data frame with the current channel dominance; it is also used to calculate the channel dominance factor based on the channel status corresponding to each data frame and the historical channel status.
[0165] It can be understood that the priority calculation module 402 can calculate the priority score of each data frame based on the success factor obtained by the failure identification module 402A, the urgency factor obtained by the urgency judgment module 402B and the channel dominance factor obtained by the channel dominance identification module 402C, thereby determining the corresponding priority.
[0166] The priority scheduling module 403 is used to perform scheduling according to the determined priority order. For example, the data packets corresponding to the data frames with high priority can be transmitted according to the priority order.
[0167] The packet receiving unit 501 is used to receive data packets transmitted by the network device. It is understood that if a data frame is scheduled by the network device, the terminal device corresponding to the data frame can receive the data packet. The terminal device then counts the data packet and detects whether the data packet is the last data packet of a frame. If so, the terminal device transmits this information to the frame receiving unit 502.
[0168] The frame receiving unit 502 is configured to obtain the corresponding data frame based on the received data packets corresponding to the same frame. It is also configured to report the real-time reception status of the frame to the network side (e.g., the data collection unit 401), such as whether the data frame was successfully received. It is understood that if the frame receiving unit 502 receives the last packet of a frame, it can pass this information to the network device.
[0169] Figure 5 is a schematic diagram of the interaction between a network device and a terminal device during downlink transmission according to an embodiment of the present application. In Figure 5, the network device and the terminal device are used as an example to illustrate the data transmission method of the present application. However, the present application does not limit the execution subject of the interaction diagram. The network device in Figure 5 can also be a chip, chip system or processor that supports the network device to implement the method, and the terminal device in Figure 5 can also be a chip, chip system or processor that supports the terminal device to implement the method. In addition, Figure 5 uses the example of a network device 400A that can only transmit one data packet with one terminal device at a time for introduction.
[0170] The specific process is as follows:
[0171] S501A, the terminal device 500A sends first information Z1 to the network device 400A, where the first information Z1 includes a channel status.
[0172] In some embodiments, the channel status may include the maximum number of bits that can be supported for transmission through the channel between the terminal device 500A and the network device 400A at the current moment, which is denoted as r1.
[0173] S501B, the terminal device 500B sends first information Z2 to the network device 400A, where the first information Z2 includes a channel status.
[0174] In some embodiments, the channel status may include the maximum number of bits that the channel between the terminal device 500B and the network device 400A can support for transmission at the current moment, which is denoted as r2.
[0175] S501C, the terminal device 500C sends first information Z3 to the network device 400A, where the first information Z3 includes a channel status.
[0176] In some embodiments, the channel status may include the maximum number of bits that the channel between the terminal device 500C and the network device 400A can support for transmission at the current moment, which is denoted as r3.
[0177] S501D, the terminal device 500D sends first information Z4 to the network device 400A, where the first information Z4 includes a channel status.
[0178] In some embodiments, the channel status may include the maximum number of bits that the channel between the terminal device 500D and the network device 400A can support for transmission at the current moment, which is denoted as r4.
[0179] It is understood that there is no specific order in which steps S501A-S501D are performed. For example, in some embodiments, they may be performed simultaneously, while in other embodiments, they may be performed in another order.
[0180] S502 , the network device 400A collects statistics on the channel status, queue status, and waiting time corresponding to each data frame to obtain statistical information.
[0181] It can be understood that the channel state statistics of the network device 400A include the current channel state and the historical channel state. The network device 400A can store the channel state corresponding to each data frame at each time point, thereby calculating the historical channel state based on the channel state over a period of time. Specifically, the historical channel state can be updated based on the current channel state r1, r2, r3, and r4 received corresponding to each data frame to obtain the historical channel state corresponding to each data frame. Among them, terminal device 500A, terminal device 500B, terminal device 500C, and terminal device 500D correspond to data frame LA, data frame LB, data frame LC, and data frame LD respectively.
[0182] It can be understood that the queue status represents the length of each queue, that is, the data frame length of the data frame stored in the queue. Specifically, the data frame lengths corresponding to terminal device 500A, terminal device 500B, terminal device 500C, and terminal device 500D are q1, q2, q3, and q4 respectively.
[0183] It can be understood that the waiting time is the waiting time of each data frame at the current moment. Specifically, the waiting times of data frame LA, data frame LB, data frame LC, and data frame LD are w1, w2, w3, and w4 respectively.
[0184] In some embodiments, the network device 400A counts the channel status, queue status, and waiting time corresponding to each data frame to obtain statistical information, which includes the current channel status, historical channel status, waiting time, and data frame length corresponding to each data frame.
[0185] S503: The network device 400A determines the priority of each data frame transmission according to the statistical information.
[0186] In some embodiments, the network device 400A calculates the channel dominance, remaining transmission time, and complete transmission time based on the current channel status, historical channel status, data frame length, and waiting time corresponding to each queue included in the statistical information; and determines the priority of each data frame based on the channel dominance, remaining transmission time, and complete transmission time.
[0187] In some implementations, a priority score can be calculated based on channel dominance, remaining transmission time, and complete transmission time. Priority can be determined based on the value of each data frame's priority score. Specifically, the success factor, urgency factor, and channel dominance factor corresponding to each queue are calculated based on the channel dominance, remaining transmission time, and complete transmission time, thereby obtaining a specific priority score. The larger the priority score, the higher the priority.
[0188] The following steps S503A-S503C specifically introduce the specific steps of determining the success degree factor, the urgency degree factor and the channel dominance factor in some implementations.
[0189] S503A, the network device 400A estimates the complete transmission time and obtains a success factor.
[0190] In some implementations, the network device 400A respectively selects the waiting time w1, w2, w3, w4 of each data frame, the data frame length q1, q2, q3, q4, the channel state r1, r2, r3, r4, and the historical channel state. The complete transmission time is estimated, and the complete transmission time is compared with the pre-defined frame delay constraint to obtain the success factor.
[0191] For example, referring to the above formula (4), according to the waiting time w1, w2, w3, w4 of each data frame, the data frame length q1, q2, q3, q4, the channel state r1, r2, r3, r4, and the historical channel state The success factor h1 of the data frame LA, the success factor h2 of the data frame LB, the success factor h3 of the data frame LC, and the success factor h4 of the data frame LD are calculated respectively.
[0192] S503B: The network device 400A estimates the remaining transmission time and obtains an urgency factor.
[0193] In some embodiments, the network device 400A respectively determines the data frame lengths q1, q2, q3, and q4 of each queue and the corresponding historical channel status. Estimate the remaining transmission time and thus determine the success factor.
[0194] For example, referring to the above formula (3), according to the data frame lengths q1, q2, q3, q4 of each queue, and the corresponding historical channel status The urgency factor g1 of the data frame LA, the urgency factor g2 of the data frame LB, the urgency factor h3 of the data frame LC, and the urgency factor h4 of the data frame LD are calculated respectively.
[0195] S503C: The network device 400A estimates the channel dominance and obtains a channel dominance factor.
[0196] In some embodiments, the network device 400A respectively records the data frame lengths q1, q2, q3, and q4 of each queue, and the corresponding channel states r1, r2, r3, and r4, as well as the historical channel states. The channel dominance is estimated to obtain the channel dominance factor.
[0197] For example, referring to the above formula (2), according to the data frame lengths q1, q2, q3, q4 of each queue, and the corresponding channel states r1, r2, r3, r4, and the historical channel states The channel dominance factor f1 of the data frame LA, the channel dominance factor f2 of the data frame LB, the channel dominance factor f3 of the final data frame LC, and the channel dominance factor f4 of the data frame LD are calculated respectively.
[0198] It can be understood that there is no specific order for executing S503A-S503C, and specific processes can be split or merged.
[0199] It can be understood that, referring to formula (1), the corresponding priority score is obtained according to the calculated success factor, urgency factor and channel dominance factor, and the priority is determined according to the priority score.
[0200] S504 , the network device 400A performs scheduling according to the priority.
[0201] In some embodiments, network device 400A determines the first data frame to be transmitted based on the priority of each data frame and the current transmission resources, and transmits the data in the first data frame to the corresponding terminal device, that is, transmits a data packet to the terminal device corresponding to the first data frame. If the current transmission resources are sufficient to transmit N data packets, it determines to transmit the data frames with the highest priority, that is, transmits the data packets corresponding to the terminal devices corresponding to the data frames with the highest priority. In some implementations, because network device 400A can perform precoding weight calculations, specific scheduling can be achieved.
[0202] For example, the current terminal device 500A has the largest priority score and the highest priority. At this time, the network device 400A needs to send the data packet from the data frame LA to the terminal device 500A.
[0203] S505 , the network device 400A transmits a data packet to the terminal device 500A.
[0204] In some embodiments, at the tth transmission, the network device 400A transmits a data packet from the data frame LA to the terminal device 500A.
[0205] It is understood that after network device 400A transmits the data packet from data frame LA to the corresponding terminal device 500A, subsequent data packet transmission will be performed. Each subsequent transmission of a data packet from a data frame will require the priority determination process from steps S501A to S504 to determine the data packet to be transmitted. It is understood that during each subsequent transmission, the terminal device transmitting to the network device may be the same or different. For example, subsequent steps S506, S507, and S508 respectively illustrate the terminal device corresponding to the transmission of the network device during the t+1th transmission, the t+2th transmission, and the t+3th transmission.
[0206] S506 , the network device 400A transmits a data packet to the terminal device 500C.
[0207] For the next transmission, network device 400A will still receive the first message sent by each terminal device, and according to steps S502 and S503, determine the priority of each data frame, and then schedule the data frames according to the priority of each data frame. Assume that terminal device 500C currently has the highest priority. At this time, network device 400A transmits a data packet to terminal device 500C.
[0208] In some embodiments, at the t+1th transmission, the network device 400A transmits a data packet from the data frame LB to the terminal device 500C.
[0209] S507 , the network device 400A transmits a data packet to the terminal device 500B.
[0210] In some embodiments, similarly, during the t+2th transmission, the network device 400A may transmit a data packet from the data frame LC to the terminal device 500B.
[0211] S508 , the network device 400A transmits a data packet to the terminal device 500D.
[0212] In some embodiments, similarly, during the t+3th transmission, the network device 400A may transmit a data packet from the data frame LD to the terminal device 500C.
[0213] The "..." in the figure can indicate that the network device 400A and each terminal device continue to transmit data packets for a period of time. It is understandable that the network device 400A may have transmitted multiple data frames to each terminal device, or it is possible that none of them have been transmitted successfully. If each terminal device receives a complete data frame, for example, it observes that the received data packet includes the identifier of the last data packet belonging to a data frame, which indicates that the complete data frame has been received, it will feedback to the network device 400A that the data frame has been received successfully. If each terminal device determines that it has not received a complete data frame, for example, under the delay constraint, it observes that the received data packet does not include the identifier of the last data packet belonging to a data frame, which indicates that the complete data frame has not been received, it will feedback to the network device 400A that the frame reception failed. The specific steps are shown in the following steps S509A to S509D, wherein the order of S509A to S509D can be different, and other steps can be interspersed in between, which will not be repeated here.
[0214] S509A, the terminal device 500A feeds back the frame reception success / failure to the network device 400A.
[0215] It is understandable that after a period of time, after the terminal device 500A receives all data packets corresponding to the same data frame, it can determine whether the received frame is complete, that is, whether the data frame is successfully received, and then feedback the success or failure of the frame reception to the network device 400A.
[0216] In some implementations, the terminal device 500A may feedback the reception success / failure status to the network device 400A after receiving one data frame, or may feedback the reception status to the network device 400A after receiving multiple data frames, which is not limited here.
[0217] S509B, the terminal device 500B feeds back the frame reception success / failure to the network device 400A.
[0218] S509C: The terminal device 500C feeds back the frame reception success / failure to the network device 400A.
[0219] S509D, the terminal device 500D feeds back the frame reception success / failure to the network device 400A.
[0220] Steps S509B-S509D are substantially the same as S509A and will not be described in detail here; and there is no restriction on the order in which steps S509A-S509D can be executed.
[0221] S510 , the network device 400A counts the number of frames successfully transmitted to all terminal devices.
[0222] In some implementations, the network device 400A counts the number of successful frames sent to all terminal devices based on the received feedback information, thereby obtaining the frame success status.
[0223] It is understandable that the execution order of the above steps S501 to S510 is only an example. In other embodiments, other execution orders may be adopted, and some steps may be split or combined, which is not limited here.
[0224] As can be understood, network devices not only transmit based on the channel status of each terminal device, but also consider the remaining transmission time and the complete transmission time to ensure the number of frames successfully transmitted within the specified time, thereby improving the frame satisfaction rate. As can be understood, the above transmission method can effectively improve the frame satisfaction rate and enhance the user experience of related services.
[0225] It is understood that the above describes the interaction diagram of the network device and the terminal device during downlink transmission. During uplink transmission, the network device and the terminal device determine the priority in substantially the same manner. The following describes the data transmission method corresponding to uplink transmission.
[0226] FIG6 is a schematic diagram of interaction between a network device and a terminal device during uplink transmission provided in an embodiment of the present application.
[0227] It is understood that Figure 6 uses a network device and a terminal device as examples of the execution entities of the interaction diagram to illustrate the data transmission method of the present application. However, the present application does not limit the execution entities of the interaction diagram. In other embodiments, the network device in Figure 6 can also be a chip, chip system, or processor that supports the network device to implement the method, and the terminal device in Figure 6 can also be a chip, chip system, or processor that supports the terminal device to implement the method. In addition, Figure 6 uses the example of network device 400A transmitting one data packet to each of two terminal devices during a single transmission.
[0228] The specific process is as follows:
[0229] S601A, the terminal device 500A sends second information K1 to the network device 400A. The second information K1 includes a channel state, a queue state, and a waiting time.
[0230] As will be appreciated, since this is an uplink transmission process, each terminal device generates data frames for transmission, or receives data frames from other terminal devices, and needs to transmit the data frames in the buffer queue to network device 400A. Terminal device 500A will send the channel status, queue status, and waiting time to network device 400A. The channel status is essentially the same as described in S501A in Figure 5 and is not further described here. The queue status and waiting time are essentially the same as described in S502 in Figure 5 and are not further described here.
[0231] S601B, sending second information K2, the second information K2 includes channel information, queue status and waiting time.
[0232] S601C, sending second information K3, the second information K3 includes channel information, queue status and waiting time.
[0233] S601D, sending second information K4, the second information K4 includes channel information, queue status and waiting time.
[0234] Steps S601B to S601D are substantially the same as S601A and are not described in detail here.
[0235] S602 , the network device 400A collects statistics on the channel status, queue status, and waiting time corresponding to each queue to obtain statistical information.
[0236] It can be understood that this step is substantially the same as step S502 in FIG. 5 , and will not be described in detail here.
[0237] S603: The network device 400A calculates the priority according to the statistical information.
[0238] S603A, the network device 400A estimates the complete transmission time and obtains a success factor.
[0239] S603B: The network device 400A estimates the remaining transmission time and obtains an urgency factor.
[0240] S603C: The network device 400A estimates the channel dominance and obtains a channel dominance factor.
[0241] It can be understood that S603 and S603A-S603C are substantially the same as steps S503 and S503A-S503C in FIG5 , and are not described in detail here.
[0242] S604 , the network device 400A performs scheduling according to the priority.
[0243] In some embodiments, network device 400A determines to transmit the first data frame based on the priority of each data frame and the current transmission resources, and allows the terminal device corresponding to the first data frame to send a data packet. If the current transmission resources can transmit N data packets, the terminal devices corresponding to the queues with the highest priority N are allowed to transmit data packets.
[0244] For example, in one transmission, the network device 400A can transmit with two terminal devices, and the current data frame LA and the data frame LC have the largest priority score and the highest priority. At this time, the network device 400A notifies the terminal device 500A and the terminal device 500C to send the data frame, and then notifies the terminal device 500A and the terminal device 500C to allow the sending of data packets.
[0245] S605A, the network device 400A sends a transmission notification to the terminal device 500A.
[0246] In some embodiments, network device 400A notifies terminal device 500A to transmit.
[0247] S605B: The network device 400A sends a transmission notification to the terminal device 500C.
[0248] In some embodiments, network device 400A notifies terminal device 500C to transmit.
[0249] It is understandable that there is no order in which S605A and S605B are executed.
[0250] S606A, the terminal device 500A prepares to transmit a data packet.
[0251] In some embodiments, after receiving the notification from the network device 400A, the terminal device 500A is authorized to transmit, and the terminal device 500A will prepare to transmit the data packet.
[0252] S606B, the terminal device 500C prepares to transmit the data packet.
[0253] It can be understood that this step is substantially the same as S606A and will not be described in detail here.
[0254] S607A, the terminal device 500A transmits a data packet to the network device 400A.
[0255] S607B, the terminal device 500B transmits a data packet to the network device 400A.
[0256] S608: The network device 400A receives data.
[0257] In some embodiments, network device 400A receives data packets from terminal device 500A and terminal device 500C.
[0258] In the figure, "..." may indicate that after terminal device 500A and terminal device 500C have completed transmitting the determined data packets to network device 400A, each terminal device and network device 400A will continue to transmit the corresponding data packets. It is understood that the process of each subsequent transmission is essentially the same as the process of steps S601A to S608. Each transmission may be from the same terminal device to network device 400A, or from a different terminal device to network device 400A. The terminal device permitted to transmit is determined based on the priority of each data frame determined during each transmission. The details are not further described here.
[0259] S609A, the network device 400A feeds back frame reception success / failure to the terminal device 500A.
[0260] It can be understood that after a period of time, the network device 400A feeds back the frame reception success / failure to the terminal device 500A.
[0261] S609B, the network device 400A feeds back the frame reception success / failure to the terminal device 500B.
[0262] S609C: The network device 400A feeds back the frame reception success / failure to the terminal device 500C.
[0263] S609D, the network device 400A feeds back the frame reception success / failure to the terminal device 500D.
[0264] Steps S609B-S609D are substantially the same as S609A, and steps S609A-S609D are substantially the same as the processes of the above-mentioned steps S509A-S509D. For detailed description, please refer to the above-mentioned steps S509A-S509D and will not be repeated here.
[0265] It is understandable that the execution order of the above steps S601 to S609 is only an example. In other embodiments, other execution orders may be adopted, and some steps may be split or combined, which is not limited here.
[0266] FIG7A shows a schematic diagram of an OSI 7-layer model according to some embodiments of the present application.
[0267] As shown in Figure 7A, the network side 400 corresponds to the application layer, presentation layer, session layer, transport layer, network layer, link layer, and physical layer. Each terminal device on the terminal side 500 also corresponds to the application layer, presentation layer, session layer, transport layer, network layer, link layer, and physical layer. Priority is determined and the corresponding data packet is transmitted to the link layer during the data transmission process.
[0268] Figure 7B shows a simulation experiment effect diagram of four terminal devices transmitting under XR service and corresponding to different frame delay constraints (i.e., different delay periods) according to some embodiments of the present application. Among them, the horizontal axis is the frame delay constraint, and the figure shows that the frame delay constraint (i.e., the delay period D) is 1 to 19ms; and the frame arrival period T = D + 5, that is, the time period for the arrival of two adjacent frames; the channel adopts large-scale path loss and Rayleigh fading small-scale channel. The total number of frames simulated is e 5 .
[0269] As shown in Figure 7B, the figure shows the frame satisfaction rates corresponding to the data transmission method of the present application and four other different scheduling methods. Among them, curve 1 corresponds to the proportional fairness algorithm, curve 2 corresponds to the logarithmic rule algorithm, curve 3 corresponds to the exponential rule algorithm, curve 4 corresponds to the optimized maximum weight delay priority algorithm, and curve 5 corresponds to the method of the embodiment of the present application. The average effect curve is obtained after multiple delays of curves 1-5. Curve 6 is the optimal effect curve obtained in multiple simulations corresponding to the method of the embodiment of the present application. Referring to Figure 7B, it can be found that the frame satisfaction rates corresponding to curves M5 and M6 of the embodiment of the present application are better than those of other solutions.
[0270] Table 1 below shows the improvement in frame satisfaction rate of the data transmission scheme in the embodiment of this application compared to other existing algorithms. Referring to Table 1 below, the first row shows the average frame satisfaction rate data of each method obtained after multiple experiments for each scheme. The second row shows the improvement ratio of the scheme provided by the embodiment of this application compared to other schemes. It can be seen that the scheme proposed in this application is more effective.
[0271] Table 1
[0272] FIG8 shows a schematic structural diagram of a device according to an embodiment of the present application.
[0273] It is understood that the apparatus 800 can be a network device, a terminal device, a chip, a chip system, or a processor that supports a network device to implement the above method, or a chip, a chip system, or a processor that supports a terminal device to implement the above method, without limitation. The apparatus 800 can be used to implement the method described in the above method embodiment. For details, please refer to the description of the above method embodiment.
[0274] As shown in Figure 8, device 800 may include one or more processors 801, also referred to as processing units, which may implement certain control functions. Processor 801 may be a general-purpose processor or a dedicated processor. For example, it may be a baseband processor or a central processing unit (CPU). The baseband processor may be used to process communication protocols and communication data, while the CPU may be used to control communication devices, such as base stations, baseband chips, terminals, terminal chips, DUs, or CUs, execute software programs, and process data from software programs.
[0275] In an optional design, the processor 801 may also store instructions and / or data 803, and the instructions and / or data 803 can be executed by the processor so that the device 800 performs the method described in the above method embodiment.
[0276] In another alternative design, processor 801 may include a transceiver unit for implementing receiving and transmitting functions. For example, the transceiver unit may be a transceiver circuit, an interface, or an interface circuit. The transceiver circuit, interface, or interface circuit for implementing the receiving and transmitting functions may be separate or integrated. The transceiver circuit, interface, or interface circuit may be used for reading and writing code / data, or may be used for transmitting or delivering signals.
[0277] In yet another possible design, the apparatus 800 may include circuits that may implement the functions of sending, receiving, or communicating in the aforementioned method embodiments.
[0278] Optionally, the device 800 may include one or more memories 802, on which instructions / data 804 may be stored. The instructions may be executed on a processor, causing the device 800 to perform the method described in the above method embodiment. Optionally, the memory may also store data. Optionally, the processor may also store instructions and / or data. The processor and memory may be provided separately or integrated. For example, the corresponding relationship described in the above method embodiment may be stored in the memory or in the processor.
[0279] Optionally, the apparatus 800 may further include a transceiver 805 and / or an antenna 806. The processor 801 may be referred to as a processing unit, which controls the apparatus 800. The transceiver 805 may be referred to as a transceiver unit, a transceiver, a transceiver circuit, a transceiver device, an interface, an interface circuit, or a transceiver module, etc., which implements transceiver functions.
[0280] Optionally, the device 800 in the embodiment of the present application can be used to execute the data transmission method described in Figure 5 or Figure 6 in the embodiment of the present application.
[0281] Figure 9 shows a schematic structural diagram of a data transmission system 90 according to an embodiment of the present application. As shown in the figure, the data transmission system 90 includes a network device 90A and multiple terminal devices 90B.
[0282] Network device 90A is used to cache multiple data frames, each data frame to be transmitted to a terminal device 90B; and is also used to determine the first data frame to be transmitted based on the transmission success probability of each data frame, wherein the transmission success probability is used to evaluate the probability of the data frame being successfully transmitted; and is used to transmit the first data frame to the terminal device 90B corresponding to the first data frame; the terminal device 90B is used to receive the first data frame sent by the network device 90A.
[0283] Specifically, the network device 90A includes a cache module 901 , a determination module 902 and a transmission module 903 .
[0284] The cache module 901 is configured to cache a plurality of data frames, wherein each data frame is to be transmitted to a second electronic device.
[0285] The determination module 902 is configured to determine a first data frame to be transmitted based on a transmission success probability of each data frame, wherein the transmission success probability is used to evaluate a probability of a data frame being successfully transmitted.
[0286] The transmission module 903 is used to transmit the first data frame to the terminal device 90B corresponding to the first data frame.
[0287] In some embodiments, the data frame cached by the network device 90A is the data frame cached by the cache module 901 at the current moment, the current moment is any time point within the delay period, the starting point of the delay period is the initial moment, and the probability of successful transmission is determined based on the remaining transmission time and the complete transmission time, wherein the remaining transmission time is the time required for the data frame to be transmitted from the current moment; the complete transmission time is the time required for the data frame to be transmitted from the initial moment, and the probability of successful transmission is negatively correlated with the remaining transmission time and the complete transmission time.
[0288] In some embodiments, the determination module 902 is configured to determine a transmission success probability of a first data frame currently to be transmitted by the network device 90A, and the transmission success probability satisfies: P1 = g(ts)*h(tw)
[0289] Among them, P1 is the probability of successful transmission; ts is the remaining transmission time; g(ts) is the urgency factor, which is negatively correlated with the remaining transmission time ts; tw is the complete transmission time; h(tw) is the success factor, which is negatively correlated with the complete transmission time tw.
[0290] In some embodiments, the determination module 902 is configured to obtain an urgency factor, and the urgency factor satisfies:
[0291] Among them, k a is a hyperparameter used to adjust the relationship between the urgency factor and the remaining transmission time.
[0292] In some embodiments, the determination module 902 is configured to obtain a success factor based on the following conditions:
[0293] Where D represents the delay period; μ is a hyperparameter used to adjust the relationship between the complete transmission time and the delay period of the data frame; and c is a hyperparameter used to adjust the relationship between the complete transmission time and the success factor.
[0294] In some embodiments, the determination module 902 is also used to determine the remaining transmission time in the following manner: based on the data frame length of the data frame and the historical channel average number of transmission bits of the data frame, the remaining transmission time of the data frame is determined, wherein the historical channel average number of transmission bits is the average number of bits supported for transmission by the channel between the network device 90A and the terminal device 90B corresponding to the data frame in the first historical time period.
[0295] In some embodiments, the determination module 902 is configured to obtain the remaining transmission time ts, and the remaining transmission time satisfies:
[0296] Wherein, q represents the data frame length; Indicates the historical average number of bits transmitted by the channel.
[0297] In some embodiments, the determination module is used to obtain the complete transmission time tw, and the complete transmission time satisfies:
[0298] Wherein, w represents the waiting time for the data frame to be transmitted, which is the time from the initial moment (i.e., the starting point of the delay period) to the current moment of the data frame; q represents the length of the data frame, i.e., the length of the data frame at the current moment; represents the average number of bits transmitted through the historical channel; r represents the number of bits transmitted through the current channel of the data frame, which is the maximum number of bits supported by the channel at the current moment for transmission between the network device 90A and the terminal device 90B corresponding to the data frame.
[0299] In some embodiments, the determination module 902 is used to determine the first data frame to be transmitted based on the transmission success probability of each data frame, including: the determination module 902 is used to calculate the priority score of each data frame according to the transmission success probability of each data frame; and determine the first data frame according to the priority score corresponding to each data frame.
[0300] In some embodiments, the determination module is used to obtain a priority score, and the priority score satisfies: Priority = β*f(·)*P1
[0301] Among them, Priority is the priority score, β is a hyperparameter, f(·) represents the channel dominance factor, P1 is the probability of successful transmission, and the channel dominance factor is related to the data frame length of the data frame, the number of bits transmitted by the current channel, and the average number of bits transmitted by the historical channel. The number of bits transmitted by the current channel is the maximum number of bits supported by the channel for transmission between the network device 90A and the terminal device 90B corresponding to the data frame at the current moment; the average number of bits transmitted by the historical channel is the average number of bits supported by the channel for transmission between the network device 90A and the terminal device 90B corresponding to the data frame in the first historical time period.
[0302] In some embodiments, the determination module 902 is configured to obtain a channel dominance factor, and the channel dominance factor satisfies:
[0303] Where r represents the number of bits transmitted by the current channel; represents the average number of bits transmitted in the historical channel; q represents the data frame length.
[0304] The terminal device 90B is used to receive the first data frame transmitted by the network device 900A.
[0305] Figure 10 shows a schematic diagram of the structure of a data transmission system according to an embodiment of the present application. As shown in the figure, the data transmission system includes a network device 1000A and multiple terminal devices 1000B.
[0306] Network device 1000A is configured to detect data transmission request messages sent by multiple terminal devices 1000B, the data transmission request messages being used to instruct terminal device 1000B to transmit cached data frames to network device 1000A. Furthermore, the network device 1000A is configured to determine a first data frame to be transmitted based on the transmission success probability corresponding to the data frames of each terminal device 1000B, where the transmission success probability is used to assess the probability of successful data frame transmission. The network device 1000A is further configured to send a transmission permission instruction to the terminal device 1000B corresponding to the first data frame, and to receive the first data frame from the terminal device 1000B corresponding to the first data frame.
[0307] The network device 1000A also includes: a detection module 1001, which is used to detect data transmission request messages sent by multiple terminal devices 1000B, where the data transmission request messages are used to instruct the terminal device 1000B to transmit the cached data frames to the network device 1000A; a determination module 1002, which is used to determine the first data frame to be transmitted based on the transmission success probability corresponding to the data frames of each terminal device 1000B, where the transmission success probability is used to evaluate the probability of the data frame being successfully transmitted; a sending module 1003, which is used to send a transmission permission instruction to the terminal device 1000B corresponding to the first data frame; and a receiving module 1004, which is used to receive the first data frame from the terminal device 1000B corresponding to the first data frame.
[0308] The terminal device 1000B includes:
[0309] A first sending module 1005 is configured to send a data transmission request message to the network device 1000A, where the data transmission request message is used to instruct the terminal device 1000B to transmit the buffered data frame to the network device 1000A;
[0310] The receiving module 1006 is configured to receive a transmission permission instruction sent by the network device 1000A;
[0311] The second sending module 1007 is configured to send a first data frame to the network device 1000A, wherein a method for determining the first data frame is related to a transmission success probability of data frames cached by the data transmission device.
[0312] According to the method provided in the embodiments of the present application, the present application also provides a computer program product, which includes: computer program code, when the computer program code is run on a computer, enables the computer to implement the steps performed by the device 800 in any one of the above embodiments.
[0313] According to the method provided in the embodiments of the present application, the present application also provides a computer-readable medium, which stores program code. When the program code runs on a computer, the computer implements the steps performed by the device 800 in any of the above embodiments.
[0314] According to the method provided in the embodiment of the present application, the present application also provides a chip, which is applied to a network device or a terminal device to execute the above-mentioned data transmission method.
[0315] The processor and transceiver described in this application can be implemented on an integrated circuit (IC), an analog IC, a radio frequency integrated circuit (RFIC), a mixed signal, an application specific integrated circuit (ASIC), a printed circuit board (PCB), an electronic device, etc. The processor and transceiver can also be manufactured using various IC process technologies, such as complementary metal oxide semiconductor (CMOS), N-type metal oxide semiconductor, P-type metal oxide semiconductor (positive channel metal oxide semiconductor, PMOS), bipolar junction transistors, etc.
[0316] The apparatus described in the above embodiments may be a network device or a terminal device, but the scope of the apparatus described in this application is not limited thereto, and the structure of the apparatus 800 may not be limited to FIG8 . The apparatus 800 may be an independent apparatus or may be part of a larger apparatus. For example, the apparatus may be: (1) an independent integrated circuit IC, or a chip, a chip system or a subsystem; (2) a collection of one or more ICs. Optionally, the IC collection may also include a storage component for storing data and / or instructions; (3) an ASIC, such as a modem; (4) a module that can be embedded in other devices; (5) a receiver, a terminal, an intelligent terminal, a cellular phone, a wireless device, a handheld device, a mobile unit, an in-vehicle device, a network device, a cloud device, an artificial intelligence device, a machine device, a home device, a medical device, an industrial device, etc.; (6) others, etc.
[0317] According to the method provided in the embodiments of the present application, the present application also provides a computer program product, which includes: computer program code, when the computer program code is run on a computer, enables the computer to implement the steps performed by the device 800 in any one of the above embodiments.
[0318] According to the method provided in the embodiments of the present application, the present application also provides a computer-readable medium, which stores program code. When the program code runs on a computer, the computer implements the steps performed by the device 800 in any of the above embodiments.
[0319] The various embodiments disclosed in this application can be implemented in hardware, software, firmware, or a combination of these implementation methods. The embodiments of the present application can be implemented as a computer program or program code executed on a programmable system, which includes at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device.
[0320] Program code can be applied to input instructions to perform the functions described herein and generate output information. The output information can be applied to one or more output devices in a known manner. For purposes of this application, a processing system includes any system having a processor such as, for example, a digital signal processor (DSP), a microcontroller, an application specific integrated circuit (ASIC), or a microprocessor.
[0321] Program code can be implemented with a high-level programming language or an object-oriented programming language to communicate with the processing system. Where necessary, program code can also be implemented in assembly language or machine language. In fact, the mechanism described in this application is not limited to the scope of any particular programming language. In either case, the language can be a compiled language or an interpreted language.
[0322] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may be implemented as instructions carried or stored on one or more temporary or non-temporary machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. For example, instructions may be distributed over a network or by other computer-readable media. Therefore, a machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer), including but not limited to a floppy disk, an optical disk, an optical disc, a read-only memory, a magneto-optical disk, a read-only memory, a random access memory, an erasable programmable read-only memory, an electrically erasable programmable read-only memory, a magnetic card or an optical card, a flash memory, or a tangible machine-readable memory for transmitting information (e.g., a carrier wave, an infrared signal, a digital signal, etc.) using the Internet in an electrical, optical, acoustic, or other form of propagation signal. Therefore, a machine-readable medium includes any type of machine-readable medium suitable for storing or transmitting electronic instructions or information in a form readable by a machine (e.g., a computer).
[0323] In the accompanying drawings, some structural or method features are shown in a particular arrangement and / or order. However, it should be understood that in some embodiments, such a particular arrangement and / or order may not be required. Rather, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. In addition, the inclusion of a structural or method feature in a particular figure does not imply that such feature is required in all embodiments, and in some embodiments, such features may not be included or may be combined with other features.
[0324] It should be noted that the units / modules mentioned in the various device embodiments of the present application are all logical units / modules. Physically, a logical unit / module can be a physical unit / module, or a part of a physical unit / module, or can be implemented as a combination of multiple physical units / modules. The physical implementation of these logical units / modules themselves is not the most important. The combination of functions implemented by these logical units / modules is the key to solving the technical problems raised by this application. In addition, in order to highlight the innovative part of this application, the above-mentioned device embodiments of this application do not introduce units / modules that are not closely related to solving the technical problems raised by this application. This does not mean that other units / modules do not exist in the above-mentioned device embodiments.
[0325] It should be noted that in the examples and description of this patent, relational terms such as first and second are merely used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. Without further restriction, an element defined by the phrase "comprising a" does not exclude the presence of other identical elements in the process, method, article or device comprising the element. Although the present application has been illustrated and described with reference to certain preferred embodiments of the present application, it should be understood by those skilled in the art that various changes can be made thereto in form and detail without departing from the scope of the present application.
Claims
1. A data transmission method, applied to an extended reality scenario, wherein the extended reality scenario includes a first electronic device and multiple second electronic devices, characterized in that: include: The first electronic device buffers a plurality of data frames, each of the data frames to be transmitted to one of the second electronic devices; The first electronic device determines a first data frame to be transmitted based on a transmission success probability of each of the data frames, wherein the transmission success probability is used to evaluate a probability of the data frame being successfully transmitted; The first electronic device transmits the first data frame to a second electronic device corresponding to the first data frame.
2. The method according to claim 1, characterized in that The data frame is a data frame cached by the first electronic device at the current moment, the current moment is any time point within the delay period, the starting point of the delay period is the initial moment, and the transmission success probability is determined based on the remaining transmission time and the complete transmission time, wherein, The remaining transmission time is the time required for the data frame to be transmitted from the current moment to completion; the complete transmission time is the time required for the data frame to be transmitted from the initial moment to completion, and, The transmission success probability is negatively correlated with both the remaining transmission time and the complete transmission time.
3. The method according to claim 2, characterized in that The transmission success probability satisfies: P1 = g(ts)*h(tw) Among them, P1 is the probability of successful transmission; ts is the remaining transmission time; g(ts) is the urgency factor, which is negatively correlated with the remaining transmission time ts; tw is the complete transmission time; h(tw) is the success factor, which is negatively correlated with the complete transmission time tw.
4. The method according to claim 3, characterized in that The urgency factor satisfies: Among them, k a is a hyperparameter used to adjust the relationship between the urgency factor and the remaining transmission time.
5. The method according to claim 3, characterized in that The success factor satisfies: Wherein, D represents the delay period; μ is a hyperparameter used to adjust the relationship between the complete transmission time and the delay period of the data frame; c is a hyperparameter used to adjust the relationship between the complete transmission time and the success factor.
6. The method according to claim 4, characterized in that The remaining transmission time is determined as follows: Based on the data frame length of the data frame and the historical channel average number of transmission bits of the data frame, the remaining transmission time of the data frame is determined, wherein the historical channel average number of transmission bits is the average number of bits supported for transmission by the channel between the first electronic device and the second electronic device corresponding to the data frame within the first historical time period.
7. The method according to claim 6, characterized in that The remaining transmission time ts satisfies: Wherein, q represents the length of the data frame; Indicates the average number of bits transmitted in the historical channel.
8. The method according to claim 7, characterized in that The complete transmission time tw satisfies: Wherein, w represents the waiting time for the data frame to be transmitted, and the waiting time for the data frame to be transmitted is the time from the initial moment to the current moment; q represents the length of the data frame; represents the average number of bits transmitted through the historical channel; r represents the number of bits transmitted through the current channel of the data frame, and the number of bits transmitted through the current channel is the average number of bits transmitted through the current channel by the first electronic device and the second electronic device corresponding to the data frame. The maximum number of bits supported for transmission between devices at the current moment.
9. The method according to any one of claims 3, characterized in that The first electronic device determines, based on the transmission success probability of each of the data frames, a first data frame to be transmitted, including: The first electronic device calculates a priority score for each of the data frames according to a transmission success probability of each of the data frames; The first data frame is determined according to the priority scores.
10. The method according to claim 9, characterized in that The priority score of each data frame satisfies: Priority=β*f(·)*P1 Wherein, Priority is the priority score, β is a hyperparameter, and f(·) represents the channel dominance factor, wherein the channel dominance factor is related to the data frame length of the data frame, the number of bits transmitted on the current channel, and the average number of bits transmitted on the historical channel. Among them, the current channel transmission bit number is the maximum number of bits supported by the channel for transmission between the first electronic device and the second electronic device corresponding to the data frame at the current moment; the historical channel transmission average bit number is the average number of bits supported by the channel for transmission between the first electronic device and the second electronic device corresponding to the data frame in the first historical time period.
11. The method according to claim 10, characterized in that The channel dominance factor satisfies: Wherein, r represents the number of bits transmitted by the current channel; represents the average number of bits transmitted in the historical channel; q represents the length of the data frame.
12. A data transmission method, applied to an extended reality scenario, wherein the extended reality scenario includes a first electronic device and multiple second electronic devices, characterized in that: The method comprises: The second electronic device receives a first data frame transmitted by the first electronic device, wherein the first data frame is the first data frame among multiple data frames cached by the first electronic device, and each of the data frames is to be transmitted to a second electronic device, and the method for determining the first data frame is related to the probability of successful transmission of each of the data frames.
13. A data transmission method, applied to an extended reality scenario, wherein the extended reality scenario includes a first electronic device and multiple second electronic devices, characterized in that: The method comprises: The first electronic device detects data transmission request messages sent by the plurality of second electronic devices, where the data transmission request messages are used to instruct the second electronic devices to transmit buffered data frames to the first electronic device; The first electronic device determines, based on the transmission success probabilities corresponding to the data frames of the second electronic devices, a first data frame to be transmitted, wherein the transmission success probabilities are used to evaluate the probabilities of the data frames being successfully transmitted; The first electronic device sends a transmission permission instruction to the second electronic device corresponding to the first data frame; The first electronic device receives the first data frame from a second electronic device corresponding to the first data frame.
14. The method according to claim 13, wherein: The first electronic device executes the method according to any one of claims 2 to 11.
15. A data transmission method, applied to an extended reality scenario, wherein the extended reality scenario includes a first electronic device and multiple second electronic devices, characterized in that: The method comprises: The plurality of second electronic devices send a data transmission request message to the first electronic device, where the data transmission request message is used to instruct the second electronic device to transmit the buffered data frames to the first electronic device; The second electronic device corresponding to the first data frame receives the transmission permission instruction sent by the first electronic device, wherein the determination method of the first data frame is related to the transmission success probability of the data frames buffered by each second electronic device; The second electronic device corresponding to the first data frame sends the first data frame to the first electronic device.
16. A data transmission device, characterized in that: The data transmission device includes: a cache module, configured to cache a plurality of data frames, wherein each data frame is to be transmitted to a second electronic device; a determination module, configured to determine a first data frame to be transmitted based on a transmission success probability of each of the data frames, wherein the transmission success probability is used to evaluate a probability of the data frame being successfully transmitted; The transmission module is configured to transmit the first data frame to a second electronic device corresponding to the first data frame.
17. The data transmission device according to claim 16, characterized in that The data frame is a data frame cached by the cache module at the current moment, the current moment is any time point within the delay period, the starting point of the delay period is the initial moment, and the transmission success probability is determined based on the remaining transmission time and the complete transmission time, wherein, The remaining transmission time is the time required for the data frame to be transmitted from the current moment to completion; the complete transmission time is the time required for the data frame to be transmitted from the initial moment to completion, and, The transmission success probability is negatively correlated with both the remaining transmission time and the complete transmission time.
18. The data transmission device according to claim 17, characterized in that: The transmission success probability satisfies: P1 = g(ts)*h(tw) Among them, P1 is the probability of successful transmission; ts is the remaining transmission time; g(ts) is the urgency factor, which is negatively correlated with the remaining transmission time ts; tw is the complete transmission time; h(tw) is the success factor, which is negatively correlated with the complete transmission time tw.
19. The data transmission device according to claim 18, characterized in that The urgency factor satisfies: Among them, k a is a hyperparameter used to adjust the relationship between the urgency factor and the remaining transmission time.
20. The data transmission device according to claim 18, characterized in that The success factor satisfies: Wherein, D represents the delay period; μ is a hyperparameter used to adjust the relationship between the complete transmission time and the delay period of the data frame; c is a hyperparameter used to adjust the relationship between the complete transmission time and the success factor.
21. The data transmission device according to claim 19, characterized in that The determining module is further configured to determine the remaining transmission time in the following manner: The determination module is also used to determine the remaining transmission time of the data frame based on the data frame length of the data frame and the historical channel average number of transmission bits of the data frame, wherein the historical channel average number of transmission bits is the average number of bits supported for transmission by the channel between the data transmission device and the second electronic device corresponding to the data frame within the first historical time period.
22. The data transmission device according to claim 21, characterized in that The remaining transmission time ts satisfies: Wherein, q represents the length of the data frame; Indicates the average number of bits transmitted in the historical channel.
23. The data transmission device according to claim 20, characterized in that The complete transmission time tw satisfies: Wherein, w represents the waiting time for the data frame to be transmitted, and the waiting time for the data frame to be transmitted is the time from the initial moment to the current moment; q represents the length of the data frame; represents the average number of bits transmitted through the historical channel; r represents the number of bits transmitted through the current channel of the data frame, and the number of bits transmitted through the current channel is the maximum number of bits supported for transmission through the channel between the data transmission device and the second electronic device corresponding to the data frame at the current moment.
24. The data transmission device according to claim 16, characterized in that The determining module is configured to determine a first data frame to be transmitted based on the transmission success probability of each of the data frames, including: The determination module is used to calculate the priority score of each data frame according to the transmission success probability of each data frame; The determination module is configured to determine the first data frame according to each priority score.
25. The data transmission device according to claim 24, characterized in that The priority score of each data frame satisfies: Priority=β*f(·)*P1 Among them, Priority is the priority score, β is a hyperparameter, f(·) represents the channel dominance factor, wherein the channel dominance factor is equal to, The data frame length of the data frame, the number of bits transmitted by the current channel and the average number of bits transmitted by the historical channel are related. Among them, the current channel transmission bit number is the maximum number of bits supported by the channel for transmission between the data transmission device and the second electronic device corresponding to the data frame at the current moment; the historical channel transmission average bit number is the average number of bits supported by the channel for transmission between the data transmission device and the second electronic device corresponding to the data frame in the first historical time period.
26. The data transmission device according to claim 25, characterized in that The channel dominance factor satisfies: Wherein, r represents the number of bits transmitted by the current channel; represents the average number of bits transmitted in the historical channel; q represents the length of the data frame.
27. A data transmission device, characterized in that: The data transmission device includes a processor and a memory, and the processor is configured to execute data in the memory, so that the data transmission device executes the method according to any one of claims 1 to 12.
28. A data transmission system, characterized in that: The system includes a first electronic device and multiple second electronic devices; wherein the first electronic device is a data transmission device as described in any one of claims 16-27; and the second electronic device is used to receive the first data frame sent by the first electronic device.
29. A data transmission device, characterized in that: The data transmission device includes: a detection module, configured to detect data transmission request messages sent by a plurality of second electronic devices, wherein the data transmission request messages are used to instruct the second electronic devices to transmit buffered data frames to the data transmission device; a determination module, configured to determine a first data frame to be transmitted currently based on a transmission success probability corresponding to each data frame of the second electronic device, wherein the transmission success probability is used to evaluate a probability of the data frame being successfully transmitted; a sending module, configured to send a transmission permission instruction to a second electronic device corresponding to the first data frame; The receiving module is configured to receive the first data frame from a second electronic device corresponding to the first data frame.
30. A data transmission device, characterized in that: The data transmission device comprises: A first sending module, configured to send a data transmission request message to a first electronic device, wherein the data transmission request message is used to instruct the data transmission device to transmit the buffered data frame to the first electronic device; A receiving module, configured to receive a transmission permission instruction sent by the first electronic device; The second sending module is configured to send a first data frame to the first electronic device, wherein a method for determining the first data frame is related to a transmission success probability of the data frames cached by the data transmission device.
31. A data transmission device, characterized in that: The data transmission device includes a processor and a memory, and the processor is configured to execute data in the memory, so that the data transmission device executes the method according to any one of claims 13 to 15.
32. A data transmission system, comprising a first electronic device and a plurality of second electronic devices, wherein: The first electronic device is the data transmission device in claim 29, and the second electronic device is the data transmission device in claim 30.
33. A readable storage medium, characterized in that The readable medium stores instructions, which, when executed on an electronic device, enable the electronic device to execute the data transmission method according to any one of claims 1 to 15.
34. A chip, characterized in that: The chip is applied to an electronic device to execute the data transmission method according to any one of claims 1 to 15.
35. A computer program product, comprising: Computer program code, when the computer program code is run on a computer, causes the computer to perform the data transmission method according to any one of claims 1 to 15.
Citation Information
Patent Citations
Data transmission method and device, electronic equipment, storage medium and chip
CN120390253A
Scheduling method and communication device
CN115884412A
Method and device for communication
CN116368916A
Data transmission method and apparatus, computer-readable storage medium, electronic device, and computer program product
EP4203531A1
Communication method and apparatus, and computer-readable storage medium
WO2022082654A1
Cited By
Ground-air very high frequency data link communication frequency accurate allocation method based on priority
CN121218350A