Cache status report processing method, device and equipment and readable storage medium

By using piecewise (linear) functions in cache status reports instead of complex CDFs to generate cache value tables, the problem of large quantization errors in traditional BSR when processing Gaussian distribution data is solved and higher accuracy is achieved.

CN119316872APending Publication Date: 2025-01-14CHINA MOBILE COMM LTD RES INST +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310857060.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-13
Publication Date
2025-01-14

AI Technical Summary

Technical Problem

When traditional cache state reporting (BSR) uses exponential functions, there is a problem of large quantization error when facing Gaussian distribution or truncating data from Gaussian distribution.

Method used

By generating a cache value table, using piecewise (linear) functions instead of complex cumulative distribution functions (CDF), the cache levels and cache values ​​are configured to reduce quantization errors.

Benefits of technology

该方法能够生成接近于原始CDF的缓存值表,显著降低量化误差,提高缓存状态报告的准确性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119316872A_ABST
    Figure CN119316872A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a cache state report processing method, device and equipment and a readable storage medium, and the method comprises the steps: generating a cache value table according to configuration information; generating a cache state report according to the cache value table; wherein the configuration information comprises first information and second information, the first information comprises the number of segment points, the cache level of each segment point and a cache value corresponding to the cache level of each segment point, and the segment points are points with the fastest first-order derivative change on an accumulative distribution function of the cache of the terminal; the second information comprises at least two of the following items: a cache value corresponding to the lowest cache level, a cache value corresponding to the highest cache level, and a step length between adjacent cache levels.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of communication technology, and specifically to a method, apparatus, device and readable storage medium for processing a cache status report. Background Art

[0002] Buffer Status Report (BSR) is one of the common media access control (MAC) control elements (CE). Its function is to notify the base station of the data to be sent in the buffer area of ​​the terminal's corresponding logical channel group (LCG). The base station can allocate uplink resources to the terminal according to the amount of data in the terminal buffer reported by the BSR and the priority corresponding to its logical channel group. The reason for using logical channel groups is that there are up to 64 logical channels in the uplink (up to 8 logical channels in each logical channel group), but there are only 8 logical channel groups. If the report is made according to the logical channel, the length of the BSR will become longer, so it is more appropriate to use logical channel groups.

[0003] The traditional method of using exponential functions has the problem of large quantization errors when facing data such as video data that obeys Gaussian distribution or truncated Gaussian distribution. Summary of the invention

[0004] The embodiments of the present application provide a method, apparatus, device and readable storage medium for processing a cache status report to solve the problem of excessive quantization error in the cache status report.

[0005] In a first aspect, a method for processing a cache status report is provided, which is applied to a communication device, and includes:

[0006] Generate a cache value table based on the configuration information;

[0007] Generate a cache status report according to the cache value table;

[0008] The configuration information includes: first information and second information, the first information includes: the number of segmentation points, the cache level of each segmentation point, and the cache value corresponding to the cache level of each segmentation point, and the segmentation point is the point where the first-order derivative of the cumulative distribution function of the cache of the terminal changes fastest;

[0009] The second information includes at least two items of the following: a cache value corresponding to the lowest cache level, a cache value corresponding to the highest cache level, and a step length between adjacent cache levels.

[0010] Optionally, before generating the cache value table according to the configuration information, the method further includes:

[0011] Obtaining a cumulative distribution function of the cache of the terminal;

[0012] The first information is determined according to a cumulative distribution function of a cache of the terminal.

[0013] Optionally, obtaining a cumulative distribution function of the cache of the terminal includes:

[0014] Obtaining the size of the cache data corresponding to the LCH or LCG in the terminal buffer area;

[0015] Determine the maximum and minimum values ​​of the amount of data arriving in the terminal buffer area according to the amount of cached data;

[0016] Generate a first sequence and a second sequence, where the first sequence is obtained by evenly dividing the minimum value and the maximum value into M parts, the first value of the first sequence is equal to the minimum value, the last value of the first sequence is equal to the maximum value, the length of the second sequence is M, and the second sequence is used to calculate the number of occurrences of each item in the first sequence, where M is an integer multiple of the number of cache levels of the cache value table to be configured;

[0017] A cumulative distribution function of the buffer of the terminal is generated according to the first sequence and the second sequence.

[0018] Optionally, determining the first information according to a cumulative distribution function of a cache of the terminal includes:

[0019] Determining the number of linear piecewise functions according to the second-order derivative of the cumulative distribution function of the buffer of the terminal on the definition domain;

[0020] Determining the number of segmentation points of the linear piecewise function according to the number of the linear segments;

[0021] According to the number of the segmentation points and the cumulative distribution function of the cache of the terminal, the cache level of each segmentation point and the cache value corresponding to the cache level of each segmentation point are determined.

[0022] Optionally, the method further includes:

[0023] Determine the mean and standard deviation of the normal distribution of the cache values ​​of the cache value table to be configured according to the maximum and minimum values ​​of the amount of data arriving in the terminal buffer area;

[0024] According to the mean and standard deviation of the normal distribution, the number of preset segmentation points, and the maximum cache level of the cache value table, determine the abscissa and ordinate of each segmentation point in the cache value table, wherein the abscissa represents the cache level and the ordinate represents the cache value;

[0025] The first information is determined according to the horizontal coordinate and the vertical coordinate of each segmentation point in the cache value table and the number of the preset segmentation points.

[0026] Optionally, before generating the cache value table according to the configuration information, the method further includes:

[0027] Determine whether the first condition is met;

[0028] If the first condition is met, generating a cache value table according to the configuration information;

[0029] Wherein, the first condition includes at least one of:

[0030] The terminal cache arrival times exceed a preset threshold within a preset time;

[0031] A quantization error of the cache data amount or the actual sent data amount compared with the linear cache value table and / or the traditional cache value table exceeds a preset threshold;

[0032] The cache value that arrives exceeds the cache value threshold of the cache value table.

[0033] Optionally, the method further includes:

[0034] If the quantization error of the generated cache value table is lower than a preset threshold compared with the quantization error of the linear cache value table and / or the traditional cache value table, the cache status report is reported.

[0035] Optionally, when the communication device is a terminal, the method further includes:

[0036] Receive the configuration information sent by the network side device.

[0037] Optionally, generating a cache value table according to the configuration information includes:

[0038] According to the number of segmentation points and the size of the cache level of each segmentation point, the cache values ​​corresponding to the cache levels of the segmentation points are sorted;

[0039] According to two adjacent cache values, the cache levels corresponding to the two adjacent cache values, and the step length between the adjacent cache levels, all cache values ​​between the two adjacent cache values ​​are generated;

[0040] A cache value table is generated according to a cache value corresponding to a lowest cache level, a cache value corresponding to a highest cache level, two adjacent cache values, and all cache values ​​between the two adjacent cache values.

[0041] Optionally, the step size between adjacent cache levels is determined based on a cache value corresponding to the first cache level and a cache value corresponding to the second cache level, the first cache level and the second cache level, the first cache level being a larger cache level among adjacent cache levels, and the first cache level being a smaller cache level among adjacent cache levels.

[0042] Optionally, when the communication device is a network side device, the method further includes:

[0043] The configuration information is sent to a terminal, and the terminal generates a cache value table according to the configuration information.

[0044] In a second aspect, a cache status report generation device is provided, including:

[0045] A first generating module, used to generate a cache value table according to the configuration information;

[0046] A second generating module, used for generating a cache status report according to the cache value table;

[0047] The configuration information includes: first information and second information, the first information includes: the number of segmentation points, the cache level of each segmentation point, and the cache value corresponding to the cache level of each segmentation point, and the segmentation point is the point where the first-order derivative of the cumulative distribution function of the cache of the terminal changes fastest;

[0048] The second information includes at least two items of the following: a cache value corresponding to the lowest cache level, a cache value corresponding to the highest cache level, and a step length between adjacent cache levels.

[0049] In a fifth aspect, a communication device is provided, comprising a processor, a memory, and a program or instruction stored in the memory and executable on the processor, wherein the program or instruction, when executed by the processor, implements the steps of the method described in the first aspect.

[0050] In a sixth aspect, a readable storage medium is provided, on which a program or instruction is stored, and when the program or instruction is executed by a processor, the steps of the method described in the first aspect are implemented.

[0051] In this application, a method for BSR configuration using a piecewise (linear) function instead of a more complex CDF only requires configuring a few buffer values ​​(Buffer Size) corresponding to the buffer levels (Buffer Level) to generate a buffer value table close to the original CDF to reduce quantization errors. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present application. Also, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:

[0053] Figure 1 This is a schematic diagram of the format in which the Buffer Size field is 5 bits;

[0054] Figure 2 This is a schematic diagram of the format in which the Buffer Size field is 8 bits;

[0055] Figure 3 This is a diagram showing that the Buffer Size curve is similar to an exponential distribution;

[0056] Figure 4a , Figure 4b It is a schematic diagram of video frame size distribution and IFI distribution;

[0057] Figure 5 is a flowchart of a method for processing a cache status report provided in an embodiment of the present application;

[0058] Figure 6 It uses the characteristics of normally distributed random variables;

[0059] Figure 7 is a schematic diagram of a segmented linear cache value table provided in an embodiment of the present application;

[0060] Figure 8 is a schematic diagram of quantization error comparison of a cache value table provided in an embodiment of the present application;

[0061] Fig. 9 is a comparative schematic diagram of a cache value table provided in an embodiment of the present application;

[0062] Fig.10 is a schematic diagram of an extended Bm sequence provided in an embodiment of the present application;

[0063] Fig.11 is a schematic diagram of a rough CDF provided by an embodiment of the present application;

[0064] Fig.12 Schematic diagram of the CDF of a Gaussian distribution;

[0065] Fig.13 This is a schematic diagram of Uniformed Buffer CDF;

[0066] Fig.14This is a diagram of the Uniformed 2nd Order Diff Buffer CDF;

[0067] Fig.15 This is a diagram of the Uniformed 3rd Order Diff Buffer CDF;

[0068] Fig.16 is a schematic diagram of a cache value table provided in an embodiment of the present application;

[0069] Fig.17 is a flowchart of a cache status report processing device provided by an embodiment of the present application;

[0070] Fig.18 It is a schematic diagram of a communication device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0071] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0072] The term "comprise" and any variation thereof in the specification and claims of the present application are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units need not be limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices. In addition, the use of "and / or" in the specification and claims to indicate at least one of the connected objects, such as A and / or B, means that A alone, B alone, and A and B exist in three cases.

[0073] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0074] Existing BSR triggering methods include: Regular BSR triggered by whether data arrives, Periodic BSR triggered by a timer, and Padding BSR triggered when there are remaining bits in a transmission block.

[0075] The existing BSR formats include four types of BSRs, namely Short BSR, Shorttruncated BSR, Long BSR and Longtruncated BSR. The difference between Short and Long is whether the BSR MAC CE needs to carry more than one LCG's cache data. If there are multiple LCGs with caches that need to be reported, a Long type BSR is sent. The truncated type BSR is mostly used for padding BSR, because padding BSR generally uses the remaining unused bits in the transmission block, and its length may not be able to accommodate a complete BSR. There are only two reporting formats for BSR. Figure 1 The buffer size field is 5 bits in format, applicable to Short and Short truncated BSR:

[0076] Figure 2 The Buffer Size field is in an 8-bit format and is applicable to Long and Long truncated BSRs.

[0077] When the Buffer Size is 5 bits, the corresponding maximum cache data is >150000 bytes, and when it is 8 bits, the corresponding maximum cache data is >81338368 bytes. Table 1 shows the actual Buffer Size corresponding to each Buffer Size index when it is 5 bits. The following Buffer Size Index and Buffer Size are referred to as cache level and cache value, respectively.

[0078]

[0079] Table 1

[0080] The cache value curve is similar to the exponential distribution, see Figure 3 .

[0081] At present, the performance enhancement of Extended Reality (XR) services focuses on reducing the quantization error in the uplink BSR. The traditional BSR uses an exponential function. When facing data that follows a Gaussian distribution or a truncated Gaussian distribution, such as video data, there is a problem of large quantization error, such as Figure 4a and Figure 4b shown.

[0082] Since BSR reflects the size of the uplink buffer data, theoretically, when BSR is the cumulative distribution function (CDF) of the probability distribution of the random variable buffer data, a smaller quantization error can be achieved. However, at present, since the exponential distribution is used, there is a problem of large quantization error.

[0083] When using truncated Gaussian distribution or Poisson distribution, since the CDF of the two is more complicated, involving integral and erf functions, the CDF of Gaussian distribution is:

[0084]

[0085] in,

[0086]

[0087] The erf function is also called the error function. This function has no elementary expression, so it is difficult to calculate and can generally only be implemented by looking up a table. Therefore, terminal manufacturers are generally reluctant to use such a complex formula to determine the BS Table due to the complexity of implementation.

[0088] See also Figure 5 The embodiment of the present application provides a method for generating a cache status report, which is applied to a communication device, and the communication device may be a terminal or a network side device, and the specific steps include:

[0089] Step 501: Generate a buffer size table according to the configuration information;

[0090] Step 502: Generate a cache status report according to the cache value table;

[0091] The configuration information includes: first information and second information, the first information includes: the number of segmentation points, the cache level of each segmentation point, and the cache value corresponding to the cache level of each segmentation point, and the segmentation point is the point where the first-order derivative on the cumulative distribution function (CDF) of the cache of the terminal changes fastest;

[0092] The second information includes at least two items of the following: a cache value (Bmin) corresponding to the lowest cache level, a cache value (Bmax) corresponding to the highest cache level, and a step length between adjacent cache levels.

[0093] For example, the number of segmentation points may be 2, and the cache value table may include three segments.

[0094] In one implementation of the present application, before generating the cache value table according to the configuration information, the method further includes:

[0095] Obtaining a cumulative distribution function of the cache of the terminal;

[0096] The first information is determined according to a cumulative distribution function of a cache of the terminal.

[0097] In one implementation of the present application, obtaining the cumulative distribution function of the cache of the terminal includes:

[0098] Obtaining the size of the cache data corresponding to the LCH or LCG in the terminal buffer area;

[0099] Determine the maximum and minimum values ​​of the amount of data arriving in the terminal buffer area according to the amount of cached data;

[0100] Generate a first sequence and a second sequence, where the first sequence is obtained by evenly dividing the minimum value and the maximum value into M parts, the first value of the first sequence is equal to the minimum value, the last value of the first sequence is equal to the maximum value, the length of the second sequence is M, and the second sequence is used to calculate the number of occurrences of each item in the first sequence, where M is an integer multiple of the number of cache levels of the cache value table to be configured;

[0101] A cumulative distribution function of the buffer of the terminal is generated according to the first sequence and the second sequence.

[0102] In one implementation of the present application, determining the first information according to a cumulative distribution function of a cache of the terminal includes:

[0103] Determining the number of linear piecewise functions according to the second-order derivative of the cumulative distribution function of the buffer of the terminal on the definition domain;

[0104] Determining the number of segmentation points of the linear piecewise function according to the number of the linear segments;

[0105] According to the number of the segmentation points and the cumulative distribution function of the cache of the terminal, the cache level of each segmentation point and the cache value corresponding to the cache level of each segmentation point are determined.

[0106] In one embodiment of the present application, the method further includes:

[0107] Determine the mean and standard deviation of the normal distribution of the cache values ​​of the cache value table to be configured according to the maximum and minimum values ​​of the amount of data arriving in the terminal buffer area;

[0108] According to the mean and standard deviation of the normal distribution and the maximum cache level of the cache value table, determine the abscissa and ordinate of each segment point in the cache value table, wherein the abscissa represents the cache level and the ordinate represents the cache value;

[0109] The first information is determined according to the horizontal coordinate and the vertical coordinate of each segment point in the cache value table.

[0110] In one implementation of the present application, before generating a cache value table according to the configuration information, the method further includes:

[0111] Determine whether the first condition is met;

[0112] If the first condition is met, generating a cache value table according to the configuration information;

[0113] Wherein, the first condition includes at least one of:

[0114] (1) The number of arrivals from the terminal cache exceeds a preset threshold within a preset time;

[0115] (2) The quantization error of the cache data amount or the actual sent data amount compared with the linear cache value table and / or the traditional cache value table exceeds a preset threshold;

[0116] (3) The cache value that arrives exceeds the cache value threshold of the cache value table.

[0117] In one embodiment of the present application, the method further includes:

[0118] If the quantization error of the generated cache value table is lower than a preset threshold compared with the quantization error of the linear cache value table and / or the traditional cache value table, the cache status report is reported.

[0119] In one implementation of the present application, when the communication device is a terminal, the method further includes:

[0120] Receive the configuration information sent by the network side device.

[0121] In one implementation of the present application, generating a cache value table according to the configuration information includes:

[0122] According to the number of segmentation points and the size of the cache level of each segmentation point, the cache values ​​corresponding to the cache levels of the segmentation points are sorted;

[0123] According to two adjacent cache values, the cache levels corresponding to the two adjacent cache values, and the step length between the adjacent cache levels, all cache values ​​between the two adjacent cache values ​​are generated;

[0124] A cache value table is generated according to a cache value corresponding to a lowest cache level, a cache value corresponding to a highest cache level, two adjacent cache values, and all cache values ​​between the two adjacent cache values.

[0125] In one embodiment of the present application, the step size between adjacent cache levels is determined based on the cache value corresponding to the first cache level, the cache value corresponding to the second cache level, the first cache level and the second cache level, the first cache level is the larger cache level among the adjacent cache levels, and the first cache level is the smaller cache level among the adjacent cache levels.

[0126] In one implementation of the present application, when the communication device is a terminal, the method further includes: sending the configuration information to the terminal, and the terminal generating a cache value table according to the configuration information.

[0127] In this application, a method for BSR configuration using a piecewise (linear) function instead of a more complex CDF only requires configuring a few buffer values ​​(Buffer Size) corresponding to the buffer levels (Buffer Level) to generate a buffer value table close to the original CDF to reduce quantization errors.

[0128] Embodiment 1

[0129] This embodiment includes three parts: configuring and generating a cache value table, triggering of cache value table configuration, and cache value table interaction.

[0130] Part 1: How to configure and generate cache value tables.

[0131] The cache value table is composed of the upper and lower bounds of the cache value table and a plurality of segmentation points. The number of segmentation points can be 2, but can be a larger or smaller value.

[0132] The following introduces two methods for configuring and generating a cache value table. Method A uses the maximum and minimum value method to configure and generate a cache value table, and method B uses the CDF and second-order derivative method to configure and generate a cache value table.

[0133] 1. Method A:

[0134] Method A uses the characteristics of normal distribution random variables, that is, 99.9996% of the samples will be within the interval [μ-4σ,μ+4σ], and 99.997% of the samples will be within [μ-3σ,μ+3σ], such as Figure 6As shown, a smaller quantization step size can be used within the range of [μ-3σ,μ+3σ], while a larger quantization step size can be used outside the range to improve the quantization error. For example, the cache value table is generally divided into three sections, namely [LowLimit, Bmin), [Bmin, Bmax], (Bmax, Uplimit]. LowLimit and Uplimit can be configured by the network or use predefined values.

[0135] In one approach, the maximum value Bmax and the minimum value Bmin may be determined by recording a sufficient number of maximum values ​​Bmax and minimum values ​​Bmin of the cache size over a period of time by the network or the UE. It should be noted that when using the maximum value Bmax and the minimum value Bmin for calculation, appropriate scaling may be performed to avoid a large error in parameter estimation due to a small sample size.

[0136] After determining that the cache value table can be divided into three sections, the first parameters to be determined are μ and σ, where μ and σ are the mean and standard deviation of the normal distribution, respectively. a is a coefficient, which is optional, and the value of a is 4, but is not limited to this.

[0137]

[0138] From the above formula, μ and σ can be determined. Then, the segmentation point is determined according to the maximum cache level M of the cache value. The parameter k can be used to determine the segmentation point. The value range is (0, 1). For example, the parameter k is used to indicate that there are two segmentation points within the maximum cache level M: k*M and (1-k)*M. Figure 7 shown.

[0139] Optionally, the parameter k may be set to 1 / 8, mainly because M is a power of 2. Alternatively, other values ​​may be used for the parameter k.

[0140] Optionally, a parameter p is introduced. The parameter p is used to determine the vertical coordinate of the segmentation point in the cache value table. The value range of the parameter p is (0, 4). It is recommended that the value not exceed 3. The following formula can be used for calculation:

[0141]

[0142] P firstCutoff represents the first segmentation point, P SecondCutoff Indicates the second segmentation point. The meanings of the parameters in the above formula refer to Table 2.

[0143]

[0144] Table 2

[0145] After the above calculation, the horizontal coordinate of the segmentation point, that is, the cache level (BufferLevel Index) in the cache value table, can be obtained. The vertical coordinate (that is, the cache size (Buffer Size) in the cache value table) can directly use the previous Bmin and Bmax, or use μ-p*σ and μ+p*σ ​​in the above formula.

[0146] Then, within the three intervals mentioned above, the quantization step size is determined according to the previous segmentation points, and then a segment-wise cache value table is generated. Figure 8 and Fig. 9 As shown, Figure 8 The quantization error (Quantization Error) comparison of the segmented BS Table and the traditional (Legacy) and linear (Linear) cache value tables. Fig. 9 This is a table of several cache values ​​for visualization. The horizontal axis in the figure is the equivalent buffer level index (equivalent buffer level index), and the vertical axis represents the cache value (Buffer Size).

[0147] 2. Method B:

[0148] Step 1: Initial configuration.

[0149] After determining the logical channel (LCH) or logical channel group (LCG) carrying virtual reality (VR) or augmented reality (AR), a network element (base station or terminal) begins to monitor the amount of cache data corresponding to the LCH or LCG in the terminal buffer area for a monitoring period of T, which is configurable. The amount to be recorded is the maximum and minimum amount of data arriving in the buffer area, recorded as Bmin and Bmax. The initial values ​​of Bmin and Bmax can be pre-configured.

[0150] After determining Bmin and Bmax, divide Bmin and Bmax equally into M parts, where the value of M is not less than 32 and can be configured by the network. The value of M is preferably an integer multiple of the number of cache levels in the final buffer status (BS) table to be configured. The first sequence is denoted as Bm = {B_0, B_1, ... B_M-1}; the interval between each gear is uniform, denoted as B step , where B_0 is numerically equal to Bmin and B_M-1 is numerically equal to Bmax. After generating Bm, the network generates a second sequence of length M, denoted as Nm, initialized to all zeros, which is used to count the number of occurrences of each item in Bm.

[0151] Step 2: Generate a rough CDF.

[0152] The subsequent processing of Bm can use an offline algorithm or an online algorithm. If the online algorithm is used, every time new cache data arrives for the corresponding LCH or LCG, if the cache value does not exceed Bmax, find the minimum value that is not greater than Bm in Bm, and count the corresponding items in the storage sequence, and count the total number of new cache arrivals; if the new cache value is greater than Bmax, calculate how many Bs are required to be at least from Bmax (same as B_M-1) Step It can be added to the current cache value and the Bm sequence can be extended to accommodate the new cache value currently reported, and then the reported new cache value is counted in the extended Bm sequence, see Fig.10 .

[0153] If the offline algorithm is used, every time new cache data arrives at the corresponding LCH or LCG, it is necessary to record the amount of data arriving each time and update Bmin and Bmax. At this time, the value of M should be configured to be the same as the cache level value of the subsequent BSR to reduce the error. The step size can then be obtained by the following formula:

[0154] B step =Bmax-Bmin / M

[0155] After calculating the step length, Bm can be obtained. Then, according to the amount of data arriving at the cache, it is counted which interval it belongs to in the M intervals from Bmin to Bmax to obtain the specific Nm.

[0156] After that, the network element starts to count the number of times N that the corresponding cache value in Bm is not exceeded within the duration T, and obtains a rough CDF. Since Nm has been counted in the previous step, only Nm needs to be processed. The method is to start from subscript 1, and the next item in Nm is the sum of the current value of the next item and the value of the previous item, that is, N_n = (N_n) + (N_n-1). The value represented by each item in Nm after processing is the total number of times the reported cache value does not exceed the corresponding cache with the same subscript in the Bm sequence. Combined with the total number of reports N, a rough CDF can be obtained by counting, see Fig.11 .

[0157] Step 3: Determine the multi-segment linear function.

[0158] Using the statistically obtained CDF to generate a specific BSR Table configuration requires the use of the characteristics of the Gaussian distribution CDF. The Gaussian distribution CDF is as follows: Fig.12 shown.

[0159] It can be seen that the CDF of Gaussian distribution is composed of a concave function and a convex function (the first-order derivative changes from small to large, and then from large to small), and the two are symmetrical. If you configure them one by one according to the original Gaussian distribution, you need to configure all the values ​​of each cache level in the BSR Table. This method will result in a large signaling overhead and the corresponding curve generation will be more complicated.

[0160] In this application, a piecewise (linear) function is used to replace the more complex CDF for BSR configuration. Only a few buffer values ​​(Buffer Size) corresponding to the buffer levels (Buffer Level) need to be configured to generate a buffer value table close to the original CDF to reduce the quantization error. The specific steps are as follows:

[0161] Step 2.1, determine the number of linear function segments.

[0162] Due to the characteristics of CDF, it is monotonically increasing in the domain, so the first-order derivative cannot be used to directly judge. Consider using the second-order derivative method to determine the number of segments, where the convexity of the function is mainly used for identification. In this application, a linear function is used to map one side of each concave or convex function, and only a linear function is used to map the overlapping part. The method to determine the number of segments is to use the second-order derivative (second-order difference for discrete functions), and its zero crossing point is the reversal point of the concavity. Assuming that the number of zero crossings of its second-order derivative is Z, its linear segmentation is Z+2.

[0163] For the CDF of Gaussian distribution, since the concavity is the transformation from a concave function to a convex function, and the second-order derivative has one zero-crossing point, three linear functions are required for piecewise fitting.

[0164] Step 2.2, determine the inflection point (i.e. the segmentation point of the piecewise function).

[0165] After determining the number of segments, the number of inflection points can be determined, and the number of inflection points is Z+1. The inflection point is defined as the point where the first-order derivative of the CDF changes fastest, so the second-order derivative of the inflection point is at the maximum and minimum values ​​on the definition domain. Therefore, the inflection point can be determined by simply finding the cache value corresponding to the maximum and minimum values ​​of the second-order reciprocal of the CDF on the definition domain.

[0166] For the CDF of Gaussian distribution, there is one second-order derivative passing through zero and two inflection points, which will be mapped into three linear functions, see Fig.13 , Fig.14 and Fig.15 .

[0167] Step 2.3: Determine the configuration of BS Table.

[0168] After determining the number of inflection points, the cache level and cache value of the corresponding inflection point can be determined based on the previously counted cache CDF. Since Bmin and Bmax are known and M is consistent with the cache level in the BS Table, it is only necessary to configure the cache level and cache value of all inflection points, as well as Bmin and Bmax. This reduces a lot of complexity compared to traditional solutions.

[0169] However, since the M value may be inconsistent with the actual cache level in the BSR when generating Bm and rough CDF, a certain degree of mapping is required. The method is to not change the cache value corresponding to the inflection point, but to scale the cache level corresponding to the inflection point according to the M value and the actual cache level. For example, assuming that the inflection point is at 10, M = 38, and the maximum cache level of the actual BSR is 36, the cache level value corresponding to the inflection point is round (10 * (38 / 35)). Since this step may cause errors, try to avoid this situation during configuration. You can use an offline algorithm or configure a suitable Bmax.

[0170] Step 2.4: Generate BS Table based on the inflection point configuration.

[0171] After scaling, the inflection points can be sorted in order according to their cache levels or cache values. After sorting, the step length of each segment is calculated to obtain a complete BS Table, where the step length between each inflection point can be calculated as follows:

[0172]

[0173] The step size here is a floating point number. After determining the step size, you can accumulate the cache values ​​of each level (round up after accumulation). The cache value corresponding to the lowest cache level is Bmin, and the cache value corresponding to the highest cache level is Bmax. See Fig.16 .

[0174] Part 2: Triggering of BS Table configuration.

[0175] In one embodiment, the terminal or the network side compares the amount of cached data or the actual amount of sent data (excluding padding data) and calculates the error. If the number of cache arrivals exceeds the threshold within the specified time, and it is found after statistics that the quantization error compared to the linear BS Table and the traditional BS Table (exponential distribution) exceeds the preset threshold and the proportion of the total cache arrival times exceeds the threshold; the configuration and generation of the BS Table in the previous text can be started. If the quantization error after generation is lower than a certain proportional threshold compared with the former, the newly generated BS Table in this application can be used for reporting, but the other end needs to be notified at the same time.

[0176] In another implementation, if the cache value that arrives exceeds the cache value of the BS Table by more than a threshold (number threshold or ratio threshold), the configuration and generation of the BS Table is directly triggered.

[0177] Part III: BS Table configurations interaction.

[0178] The values ​​required for the configuration of the BS Table in this application are the maximum value Bmax and minimum value Bmin of the cache (since the BSR always needs a cache value of 0 to indicate that there is no data to be sent, the minimum value is actually always 0, and the minimum value here refers to the non-zero minimum value), the average step size, the number of indexes of the cache values ​​in the BS Table (corresponding to the total number of indexes of the BS table in the protocol), the indexes of all inflection points, and the cache amounts corresponding to all inflection point indexes. Among them, since the number of indexes is limited by the BSR MAC CE format, it is generally fixed and does not require interaction; and the maximum value, minimum value, and average step size of the cache in the BS Table, two of the three can be used to deduce the third quantity, so just select two. The most important thing in the interaction is the index of each inflection point and the cache amount corresponding to the inflection point. Therefore, when configuring the BS Table, the most important interaction content is the number of inflection points, the inflection point index, and the cache value corresponding to the inflection point index.

[0179] After receiving Bmin, Bmax, the number of inflection points, the inflection point index and the cache value corresponding to the inflection point index, the terminal first sorts them according to the index, where the reference point corresponds to the index 0 and the cache value is also 0; the index corresponding to Bmin is 1, the cache value is Bmin; the index corresponding to Bmax is M-1, and the cache value is Bmax; the index and cache value of each inflection point are given in the configuration. After receiving the index, the receiving end first sorts it according to the index from small to large to obtain Bmin, Bmax and the corresponding cache value of each inflection point, and then selects the adjacent cache value, and according to the cache values ​​and indexes before and after it, uses a uniform step size to linearly generate all cache values ​​between two cache values ​​to obtain a complete BS Table

[0180] Both XR and video services can use the method for generating a cache status report in this embodiment to solve the problem of excessive quantization error of the BS Table and the problem that more complex distributions such as normal distribution are difficult to configure the BS Table.

[0181] See also Fig.17 The embodiment of the present application provides a device for generating a cache status report. The device 1700 is applied to a terminal or a network side device. The device 1700 includes:

[0182] The first generating module 1701 is used to generate a cache value table according to the configuration information;

[0183] A second generating module 1702 is used to generate a cache status report according to the cache value table;

[0184] The configuration information includes: first information and second information, the first information includes: the number of segmentation points, the cache level of each segmentation point, and the cache value corresponding to the cache level of each segmentation point, and the segmentation point is the point where the first-order derivative of the cumulative distribution function of the cache of the terminal changes fastest;

[0185] The second information includes at least two items of the following: a cache value corresponding to the lowest cache level, a cache value corresponding to the highest cache level, and a step length between adjacent cache levels.

[0186] In one embodiment of the present application, the device further includes:

[0187] A first acquisition module, used to acquire a cumulative distribution function of the cache of the terminal;

[0188] The first determining module is used to determine the first information according to the cumulative distribution function of the cache of the terminal.

[0189] In one embodiment of the present application, the first acquisition module is further used to:

[0190] Obtaining the size of the cache data corresponding to the LCH or LCG in the terminal buffer area;

[0191] Determine the maximum and minimum values ​​of the amount of data arriving in the terminal buffer area according to the amount of cached data;

[0192] Generate a first sequence and a second sequence, where the first sequence is obtained by evenly dividing the minimum value and the maximum value into M parts, the first value of the first sequence is equal to the minimum value, the last value of the first sequence is equal to the maximum value, the length of the second sequence is M, and the second sequence is used to calculate the number of occurrences of each item in the first sequence, where M is an integer multiple of the number of cache levels of the cache value table to be configured;

[0193] A cumulative distribution function of the buffer of the terminal is generated according to the first sequence and the second sequence.

[0194] In one implementation of the present application, the first determining module is further configured to:

[0195] Determining the number of linear piecewise functions according to the second-order derivative of the cumulative distribution function of the buffer of the terminal on the definition domain;

[0196] Determining the number of segmentation points of the linear piecewise function according to the number of the linear segments;

[0197] According to the number of the segmentation points and the cumulative distribution function of the cache of the terminal, the cache level of each segmentation point and the cache value corresponding to the cache level of each segmentation point are determined.

[0198] In one embodiment of the present application, the device further includes:

[0199] A second determination module is used to determine the mean and standard deviation of the normal distribution of the cache value of the cache value table to be configured according to the maximum and minimum values ​​of the amount of data arriving in the terminal buffer area;

[0200] A third determination module is used to determine the abscissa and ordinate of each segmentation point in the cache value table according to the mean and standard deviation of the normal distribution, the number of preset segmentation points, and the maximum cache level of the cache value table, wherein the abscissa represents the cache level and the ordinate represents the cache value;

[0201] The fourth determination module is used to determine the first information according to the horizontal coordinate and the vertical coordinate of each segmentation point in the cache value table and the number of the preset segmentation points.

[0202] In one embodiment of the present application, the device further includes:

[0203] A judging module, used to judge whether a first condition is met; if the first condition is met, triggering a first generating module to generate a cache value table according to the configuration information;

[0204] Wherein, the first condition includes at least one of:

[0205] The terminal cache arrival times exceed a preset threshold within a preset time;

[0206] A quantization error of the cache data amount or the actual sent data amount compared with the linear cache value table and / or the traditional cache value table exceeds a preset threshold;

[0207] The cache value that arrives exceeds the cache value threshold of the cache value table.

[0208] In one embodiment of the present application, the device further includes:

[0209] The first sending module is configured to report the cache status report if the quantization error of the generated cache value table is lower than a preset threshold compared with the quantization error of the linear cache value table and / or the traditional cache value table.

[0210] In one embodiment of the present application, the device further includes:

[0211] The first receiving module is used to receive the configuration information sent by the network side device.

[0212] In one embodiment of the present application, the second generation module is further used to:

[0213] According to the number of segmentation points and the size of the cache level of each segmentation point, the cache values ​​corresponding to the cache levels of the segmentation points are sorted;

[0214] According to two adjacent cache values, the cache levels corresponding to the two adjacent cache values, and the step length between the adjacent cache levels, all cache values ​​between the two adjacent cache values ​​are generated;

[0215] A cache value table is generated according to a cache value corresponding to a lowest cache level, a cache value corresponding to a highest cache level, two adjacent cache values, and all cache values ​​between the two adjacent cache values.

[0216] In one embodiment of the present application, the step size between adjacent cache levels is determined based on the cache value corresponding to the first cache level, the cache value corresponding to the second cache level, the first cache level and the second cache level, the first cache level is the larger cache level among the adjacent cache levels, and the first cache level is the smaller cache level among the adjacent cache levels.

[0217] The device provided in the embodiment of the present application can achieve Figure 5 The various processes implemented by the method embodiment shown achieve the same technical effect and will not be described again here to avoid repetition.

[0218] like Fig.18 As shown, the embodiment of the present application also provides a communication device 1800, including a processor 1801, a memory 1802, a program or instruction stored in the memory 1802 and executable on the processor 1801, and the program or instruction is executed by the processor 1801 to implement the above Figure 5 The various processes of the method embodiment can achieve the same technical effect. To avoid repetition, they will not be described here.

[0219] The embodiment of the present application also provides a readable storage medium on which a program or instruction is stored. When the program or instruction is executed by a processor, the above Figure 5 The various processes of the method embodiment shown can achieve the same technical effect, and will not be described again here to avoid repetition.

[0220] The processor is the processor in the terminal described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0221] The steps of the method or algorithm described in conjunction with the contents disclosed in this application can be implemented in hardware or by executing software instructions in a processor. The software instructions can be composed of corresponding software modules, and the software modules can be stored in RAM, flash memory, ROM, EPROM, EEPROM, registers, hard disks, mobile hard disks, read-only optical disks, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be carried in an ASIC. In addition, the ASIC can be carried in a core network interface device. Of course, the processor and the storage medium can also exist in the core network interface device as discrete components.

[0222] Those skilled in the art should be aware that in one or more of the above examples, the functions described in this application can be implemented using hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any media that facilitates the transmission of a computer program from one place to another. The storage medium can be any available medium that a general or special-purpose computer can access.

[0223] The specific implementation methods described above further illustrate the purpose, technical solutions and beneficial effects of the present application in detail. It should be understood that the above description is only the specific implementation methods of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent substitutions, improvements, etc. made on the basis of the technical solutions of the present application should be included in the scope of protection of the present application.

[0224] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the embodiments of the present application may adopt the form of complete hardware embodiments, complete software embodiments, or embodiments in combination with software and hardware. Moreover, the embodiments of the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0225] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0226] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0227] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0228] Obviously, those skilled in the art can make various changes and modifications to the embodiments of the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. A method for processing a cache status report, applied to a communication device, characterized in that: include: Generate a cache value table based on the configuration information; Generate a cache status report according to the cache value table; The configuration information includes: first information and second information, the first information includes: the number of segmentation points, the cache level of each segmentation point, and the cache value corresponding to the cache level of each segmentation point, and the segmentation point is the point where the first-order derivative of the cumulative distribution function of the terminal cache changes fastest; The second information includes at least two items of the following: a cache value corresponding to the lowest cache level, a cache value corresponding to the highest cache level, and a step length between adjacent cache levels.

2. The method according to claim 1, characterized in that Before generating the cache value table according to the configuration information, the method further includes: Obtaining a cumulative distribution function of the cache of the terminal; The first information is determined according to a cumulative distribution function of a cache of the terminal.

3. The method according to claim 2, characterized in that Obtaining a cumulative distribution function of the cache of the terminal, including: Obtaining the size of the cache data corresponding to the logical channel LCH or the logical channel group LCG in the terminal buffer area; Determine the maximum and minimum values ​​of the amount of data arriving in the terminal buffer area according to the amount of cached data; Generate a first sequence and a second sequence, where the first sequence is obtained by evenly dividing the minimum value and the maximum value into M parts, the first value of the first sequence is equal to the minimum value, the last value of the first sequence is equal to the maximum value, the length of the second sequence is M, and the second sequence is used to calculate the number of occurrences of each item in the first sequence, where M is an integer multiple of the number of cache levels of the cache value table to be configured; A cumulative distribution function of the buffer of the terminal is generated according to the first sequence and the second sequence.

4. The method according to claim 2, characterized in that: Determining the first information according to a cumulative distribution function of a cache of the terminal includes: Determining the number of linear piecewise functions according to the second-order derivative of the cumulative distribution function of the buffer of the terminal on the definition domain; Determining the number of segmentation points of the linear piecewise function according to the number of the linear segments; According to the number of the segmentation points and the cumulative distribution function of the cache of the terminal, the cache level of each segmentation point and the cache value corresponding to the cache level of each segmentation point are determined.

5. The method according to claim 1, characterized in that The method further comprises: Determine the mean and standard deviation of the normal distribution of the cache values ​​of the cache value table to be configured according to the maximum and minimum values ​​of the amount of data arriving in the terminal buffer area; According to the mean and standard deviation of the normal distribution, the number of preset segmentation points, and the maximum cache level of the cache value table, determine the abscissa and ordinate of each segmentation point in the cache value table, wherein the abscissa represents the cache level and the ordinate represents the cache value; The first information is determined according to the horizontal coordinate and the vertical coordinate of each segmentation point in the cache value table and the number of the preset segmentation points.

6. The method according to claim 1, characterized in that Before generating the cache value table according to the configuration information, the method further includes: Determine whether the first condition is met; If the first condition is met, generating a cache value table according to the configuration information; Wherein, the first condition includes at least one of: The terminal cache arrival times exceed a preset threshold within a preset time; A quantization error of the cache data amount or the actual sent data amount compared with the linear cache value table and / or the traditional cache value table exceeds a preset threshold; The cache value that arrives exceeds the cache value threshold of the cache value table.

7. The method according to claim 1, characterized in that In the case where the communication device is a terminal, the method further includes: Receive the configuration information sent by the network side device.

8. The method according to claim 7, characterized in that The method further comprises: If the quantization error of the generated cache value table is lower than a preset threshold compared with the quantization error of the linear cache value table and / or the traditional cache value table, the cache status report is reported.

9. The method according to claim 1, characterized in that: Generate a cache value table according to the configuration information, including: According to the number of segmentation points and the size of the cache level of each segmentation point, the cache values ​​corresponding to the cache levels of the segmentation points are sorted; According to two adjacent cache values, the cache levels corresponding to the two adjacent cache values, and the step length between the adjacent cache levels, all cache values ​​between the two adjacent cache values ​​are generated; A cache value table is generated according to a cache value corresponding to a lowest cache level, a cache value corresponding to a highest cache level, two adjacent cache values, and all cache values ​​between the two adjacent cache values.

10. The method according to claim 1, characterized in that The step size between adjacent cache levels is determined based on the cache value corresponding to the first cache level and the cache value corresponding to the second cache level, the first cache level and the second cache level, the first cache level is the larger cache level among the adjacent cache levels, and the first cache level is the smaller cache level among the adjacent cache levels.

11. The method according to claim 1, characterized in that: In the case where the communication device is a network side device, the method further includes: The configuration information is sent to a terminal, and the terminal generates a cache value table according to the configuration information.

12. A cache status report generation device, characterized in that: include: A first generating module, used to generate a cache value table according to the configuration information; A second generating module, used for generating a cache status report according to the cache value table; The configuration information includes: first information and second information, the first information includes: the number of segmentation points, the cache level of each segmentation point, and the cache value corresponding to the cache level of each segmentation point, and the segmentation point is the point where the first-order derivative of the cumulative distribution function of the terminal cache changes fastest; The second information includes at least two items of the following: a cache value corresponding to the lowest cache level, a cache value corresponding to the highest cache level, and a step length between adjacent cache levels.

13. A communication device, characterized in that: The method comprises a processor, a memory, and a program or instruction stored in the memory and executable on the processor, wherein the program or instruction, when executed by the processor, implements the steps of the method according to any one of claims 1 to 11.

14. A readable storage medium, characterized in that: The readable storage medium stores a program or an instruction, and when the program or the instruction is executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.