The embodiments of the disclosure relate to a client device and a network access node for efficient scheduling of data traffic based on data traffic characteristics. Furthermore, the embodiments of the disclosure also relate to corresponding methods and a computer program.
Conventional communication networks are agnostic to higher layer traffic demands unless the applications themselves or the hosts where they run use some kind of mechanism to inform the scheduler about the application that originates a traffic flow. Knowing the traffic demands in advance would allow for more efficient resource allocation and scheduling mechanisms. In 5G the anticipated tremendous increase of user equipments (UEs) and internet of things (IoT) devices with different traffic and application requirements implies high computational cost and signalling overhead to the scheduling algorithms. To reduce resource allocation signalling to UEs upon scheduling of small packet transmissions such as voice over IP (VoIP), semi persistent scheduling (SPS) was introduced to enable scheduling of multiple sub frames with a single resource allocation.
Traditionally addressing traffic demands of the UEs required the introduction of quality-of-service (QoS) mechanisms which were used to classify a user's traffic. Based on the QoS class the radio network performed admission control to check that enough radio resources could be made available and provided a radio bearer configured based on the QoS class. The actual scheduling was performed as long as a buffer at a base station in case of downlink or in the UE itself in case of uplink had packets to transmit. This resembles the dynamic scheduling that in addition to the scheduling message also required buffer status indication signalling. When using SPS the base station can schedule several transmissions spanning several subframes, by sending a single scheduling message that contains one resource allocation. SPS has been designed for a QoS class of services where the rate is low so the overhead of the scheduling message can be high, such as VoIP. Since the data rate of VoIP is constant, by knowing that a flow belongs to the VoIP class, it allows for the base station to confidently use the same resource allocation from one transmission to the next. The base station sends the resource allocation over the physical downlink shared channel (PDSCH) and activates/deactivates the transmission by sending downlink control information (DCI) over physical downlink control channel (PDCCH). SPS works currently only for VoIP-like traffic. Reducing the resource allocation signaling for other traffic types requires online traffic recognition and classification. Traffic classification by means of QoS can provide application layer knowledge to the scheduler allowing application-based access policies and/or routing.
An objective of embodiments of the disclosure is to provide a solution which mitigates or solves the drawbacks and problems of conventional solutions.
The above and further objectives are solved by the subject matter of the independent claims. Further advantageous embodiments of the disclosure can be found in the dependent claims.
According to a first aspect of the disclosure, the above mentioned and other objectives are achieved with a client device for a wireless communication system, the client device being configured to:
transmit a first control message to a network access node, wherein the first control message indicates an initial traffic information for a data packet session associated with the client device;
receive a second control message from the network access node in response to the transmission of the first control message, wherein the second control message indicates a first time window for a first moving average for the data packet session and a second time window for a second moving average for the data packet session;
determine an additional traffic information for the data packet session based on the first time window for the first moving average for the data packet session and the second time window for the second moving average for the data packet session; and
transmit a third control message to the network access node, wherein the third control message indicates the additional traffic information for the data packet session.
An advantage of the client device according to the first aspect is that it enables communication of information to the network access node that is needed to characterise the traffic originated from and/or terminated at the client device and thereby reduce the signalling required for the client device to provide feedback to the scheduling decisions made by the network access node.
In an implementation form of a client device according to the first aspect, the second time window for the second moving average is equal to a product of the first time window for the first moving average multiplied with a scalar factor.
An advantage with this implementation form is that it enables a more accurate characterisation and estimation of the expected traffic behaviour of client device's data which allows for a planning of the allocation of the radio resources and a reduction of the resource allocation decisions and the corresponding signalling.
In an implementation form of a client device according to the first aspect, the determination of the initial traffic information for the data packet session comprises:
determine a data packet size distribution of the data packet session and an inter-arrival data packet time distribution of the data packet session.
An advantage with this implementation form is that it provides information which enables the reduction of resource allocation decisions and corresponding reduced signalling.
In an implementation form of a client device according to the first aspect, the determination of the additional traffic information for the data packet session comprises:
continuously determine a first moving average value of the data packet session based on the first time window for the first moving average, and
continuously determine a second moving average of the data packet session based on the second time window for the second moving average.
An advantage with this implementation form is that it provides information which allows for a more accurate characterisation and estimation of the expected traffic behaviour of the client device's data, and a plan of future resource allocation decisions and corresponding reduced signalling.
In an implementation form of a client device according to the first aspect, the first moving average value is a first moving average throughput value or a first moving average data rate value, and wherein the second moving average value is a second moving average throughput value or a second moving average data rate value.
An advantage with this implementation form is that it provides information which allows for a more accurate characterisation and determination of the expected traffic behaviour of the client device's data in advance, and the creation of a plan of future resource allocation decisions. A further advantage is the reduction of the computational complexity and the provision of resource allocation services to more client devices due to reduced number of resource allocation decisions and the corresponding reduced signalling.
In an implementation form of a client device according to the first aspect, the second control message further indicates a step size for the determination of the first moving average value and the second moving average value, and the client device is configured to:
continuously determine the first moving average value of the data packet session based on the first time window for the first moving average and according to the step size, and
continuously determine the second moving average of the data packet session based on the second time window for the second moving average and according to the step size.
An advantage with this implementation form is that it provides information which allows for a timely determination of the traffic behaviour of the client device's data and its traffic demands in advance. A further advantage is that it allows for an effective resource allocation in terms of a reduced computational processing for the resource allocation decisions and lower signalling overhead.
In an implementation form of a client device according to the first aspect, the client device is further configured to:
receive a fourth control message from the network access node, wherein the fourth control message indicates a scheduling mode for the data packet session; and
schedule data packets of the data packet session based on the scheduling mode.
An advantage with this implementation form is that it reduces signalling overhead in terms of the number of signalling messages.
In an implementation form of a client device according to the first aspect, the fourth control message further comprises an over-allocation report instruction, and wherein the client device is configured to:
determine an over-allocated data packet volume for the scheduled data packet of the data packet session; and
transmit a fifth control message to the network access node, wherein the fifth control message indicates the over-allocated data packet volume.
An advantage with this implementation form is that it provides flexibility to effectively react on overestimations in the resource allocation and scheduling decisions.
Another advantage is to timely reassess and correct the characterisation of the traffic behaviour of the client device's data in case of traffic pattern change.
In an implementation form of a client device according to the first aspect, the fourth control message further comprises a buffer state report instruction, and the client device is configured to:
determine a buffer state for the data packet session; and
transmit a sixth control message to the network access node, wherein the sixth control message indicates the buffer state of the data packet session.
An advantage with this implementation form is that it provides necessary information for correct estimation of future traffic demands and the determination of effective resource allocation and client device scheduling decisions. To further reduce the amount of signalling messages the content of the sixth control message can be included in the fifth control message.
In an implementation form of a client device according to the first aspect, the scheduling mode comprises a scheduled data packet volume, a scheduling period, a scheduling start time instance, and a data packet transmission spreading pattern.
An advantage with this implementation form is that it reduces signalling overhead in terms of the number of signalling messages as it includes the resource allocation decisions for the traffic at the client device for multiple future resource allocation occasions.
According to a second aspect of the disclosure, the above mentioned and other objectives are achieved with a network access node for a wireless communication system, the network access node being configured to:
receive a first control message from a client device, wherein the first control message indicates an initial traffic information for a data packet session associated with the client device;
determine a first time window for a first moving average for the data packet session and a second time window for a second moving average for the data packet session based on the initial traffic information for the data packet session; and
transmit a second control message to the client device, wherein the second control message indicates the first time window for the first moving average for the data packet session and the second time window for the second moving average for the data packet session.
An advantage of the network access node according to the second aspect is that it enables communication of information that is needed to determine a configuration of the parameters to be monitored so as to enable the characterisation the traffic originated from and/or terminated at the client device and the determination in advance of the resource allocation for multiple scheduling occasions.
In an implementation form of a network access node according to the second aspect, the initial traffic information for the data packet session comprises a data packet size distribution of the data packet session and an inter-arrival data packet time distribution of the data packet session, and wherein the network access node is configured to:
determine the first time window for the first moving average based on the data packet size distribution of the data packet session and the inter-arrival data packet time distribution of the data packet session;
determine a scalar factor based on the data packet size distribution of the data packet session and the inter-arrival data packet time distribution of the data packet session, and
determine the second time window for the second moving average equal to a product of the first time window for the first moving average multiplied with the scalar factor.
An advantage with this implementation form is that it allows for the characterisation and estimation of client device's future traffic demand and the determination of the resource allocations for multiple scheduling occasions in advance.
In an implementation form of a network access node according to the second aspect, the network access node is further configured to:
receive a third control message from the client device in response to the transmission of the second control message, wherein the third control message indicates an additional traffic information for the data packet session comprising a first moving average value of the data packet session and a second moving average of the data packet session;
determine a scheduling mode for the data packet session based on the first moving average value of the data packet session and the second moving average of the data packet session; and
transmit a fourth control message to the client device, wherein the fourth control message indicates the scheduling mode for the data packet session.
An advantage with this implementation form is that it allows for a timely determination of the traffic behaviour of the client device's data and its traffic demands in advance. A further advantage is that it allows for an effective resource allocation in terms of fewer scheduling decisions and lower corresponding scheduling overhead.
In an implementation form of a network access node according to the second aspect, the scheduling mode comprises a scheduled data packet volume, a scheduling time period, a scheduling start time instance, and a data packet transmission spreading pattern.
An advantage with this implementation form is that it reduces signalling overhead in terms of the number of signalling messages as it includes the resource allocation decisions for the traffic at the client device for multiple future resource allocation occasions.
In an implementation form of a network access node according to the second aspect, the network access node is further configured to:
determine the scheduling mode based on a comparison of the additional traffic information with one or more threshold values.
An advantage with this implementation form is that it allows for correct estimation of future traffic demands and the determination of effective resource allocation and user scheduling decisions.
In an implementation form of a network access node according to the second aspect, the fourth control message further comprises an over-allocation report instruction, and wherein the network access node is configured to:
receive a fifth control message from the client device, wherein the fifth control message indicates an over-allocated data packet volume for the data packet session;
determine an updated scheduling mode for the client device based on the over-allocated data packet volume for the data packet session; and
transmit an updated fourth control message to the client device, wherein the updated fourth control message indicates the updated scheduling mode.
An advantage with this implementation form is that it provides flexibility to effectively react on overestimations in the resource allocation and scheduling decisions. Another advantage is to timely reassess and correct the characterisation of the traffic behaviour of the client device's data in case of traffic pattern change.
In an implementation form of a network access node according to the second aspect, the scheduling mode further comprises a buffer state report instruction, and the network access node is further configured to:
receive a sixth control message from the client device, wherein the sixth control message indicates a buffer state of the data packet session.
An advantage with this implementation form is that it allows for a correct estimation of future traffic demands and the determination of effective resource allocation and user scheduling decisions. To further reduce the amount of signalling messages the content of the sixth control message can be included in the fifth control message.
According to a third aspect of the disclosure, the above mentioned and other objectives are achieved with a method for a client device, the method comprises:
transmitting a first control message to a network access node, wherein the first control message indicates an initial traffic information for a data packet session associated with the client device;
receiving a second control message from the network access node [in response to the transmission of the first control message], wherein the second control message indicates a first time window for a first moving average for the data packet session and a second time window for a second moving average for the data packet session;
determining an additional traffic information for the data packet session based on the first time window for the first moving average for the data packet session and the second time window for the second moving average for the data packet session; and
transmitting a third control message to the network access node, wherein the third control message indicates the additional traffic information for the data packet session.
The method according to the third aspect can be extended into implementation forms corresponding to the implementation forms of the client device according to the first aspect. Hence, an implementation form of the method comprises the feature(s) of the corresponding implementation form of the client device.
The advantages of the methods according to the third aspect are the same as those for the corresponding implementation forms of the client device according to the first aspect.
According to a fourth aspect of the disclosure, the above mentioned and other objectives are achieved with a method for a network access node, the method comprises:
receiving a first control message from a client device, wherein the first control message indicates an initial traffic information for a data packet session associated with the client device;
determining a first time window for a first moving average for the data packet session and a second time window for a second moving average for the data packet session based on the initial traffic information for the data packet session; and
transmitting a second control message to the client device, wherein the second control message indicates the first time window for the first moving average for the data packet session and the second time window for the second moving average for the data packet session.
The method according to the fourth aspect can be extended into implementation forms corresponding to the implementation forms of the network access node according to the second aspect. Hence, an implementation form of the method comprises the feature(s) of the corresponding implementation form of the network access node.
The advantages of the methods according to the fourth aspect are the same as those for the corresponding implementation forms of the network access node according to the second aspect.
The disclosure also relates to a computer program, characterized in program code, which when run by at least one processor causes said at least one processor to execute any method according to embodiments of the disclosure. Further, the disclosure also relates to a computer program product comprising a computer readable medium and said mentioned computer program, wherein said computer program is included in the computer readable medium, and comprises of one or more from the group: ROM (Read-Only Memory), PROM (Programmable ROM), EPROM (Erasable PROM), Flash memory, EEPROM (Electrically EPROM) and hard disk drive.
Further applications and advantages of the embodiments of the disclosure will be apparent from the following detailed description.
The appended drawings are intended to clarify and explain different embodiments of the disclosure, in which:
The solutions proposed in conventional solutions for gaining knowledge about traffic demands have several shortcomings. Solutions based on the transport layer port information may not be feasible as port information has become obsolete since applications mostly use the same transport port (usually the well-known ports for HTTP or HTTPS) or dynamic port negotiating mechanisms. Meanwhile, encrypted traffic is becoming the norm in most applications, making it difficult to use solutions based on packet inspection. Despite the obvious potential of machine learning, there are challenges in making such an algorithm efficient in terms of resource consumption (such as computing, memory, etc.) and able to quickly react and perform resource allocation online based on both the first order and the second order traffic statistics. However, traffic classification per se is not enough to reduce the number of scheduling decisions and extend the SPS to traffic types other than traffic with low constant rate. Traffic that is carried on top of HTTP- and TCP-protocols such as DASH-traffic would benefit from proactive solutions that may allow for predicting the traffic for several subframes ahead and to allocate resources with fewer resource allocation signals.
Consequently, an objective of the disclosure is to reduce the number of scheduling decisions and the associated scheduling messages for a large number of applications and user traffic by means of proactive scheduling. The inventors have realised that this can be done by offloading the dynamic scheduler from traffic that is better suited to proactive scheduling strategies, leaving the dynamic scheduler with better preconditions in serving the more difficult users with adequate QoS. Proactive scheduling strategies corresponds to the scheduling of several transmissions spanning several subframes. Proactive scheduling is enabled by means of a traffic profiler who determines the volume and the scheduling transmission interval. Within one transmission scheduling interval only one single resource allocation message is sent. The determination of the data volume and the transmission interval for a user corresponds to a prediction of a user's traffic that is built on moving averages of data arrival rate within determined time window periods of different sizes. Therefore, a client device, a network access node and corresponding methods are herein presented.
According to embodiments of the disclosure the client device 100 is configured to transmit a first control message 502 to a network access node 300. The first control message 502 indicates an initial traffic information for a data packet session associated with the client device 100. The client device 100 is further configured to receive a second control message 504 from the network access node 300 in response to the transmission of the first control message 502. The second control message 504 indicates a first time window for a first moving average for the data packet session and a second time window for a second moving average for the data packet session. Based on the first time window for the first moving average for the data packet session and the second time window for the second moving average for the data packet session, the client device 100 is configured to determine an additional traffic information for the data packet session. The client device 100 is further configured to transmit a third control message 506 to the network access node 300. The third control message 506 indicates the additional traffic information for the data packet session.
According to embodiments of the disclosure the network access node 300 is configured to receive a first control message 502 from a client device 100. The first control message 502 indicates an initial traffic information for a data packet session associated with the client device 100. Based on the initial traffic information for the data packet session, the network access node 300 is configured to determine a first time window for a first moving average for the data packet session and a second time window for a second moving average for the data packet session. The network access node 300 is further configured to transmit a second control message 504 to the client device 100. The second control message 504 indicates the first time window for the first moving average for the data packet session and the second time window for the second moving average for the data packet session.
In step I in
The client device 100 may determine the initial traffic information based on initial actual data and/or computed statistical data related to data packet size and inter-arrival data packet times. For example, upon establishment of the data packet session with the data network 600 the client device 100 may receive initial data packets from an application layer and store initial actual data on data packet time arrivals and sizes for a subsequent number of packets. Based on the stored initial actual data on data packet time arrivals and sizes for a subsequent number of packets, the client device 100 may determine statistical data such as, e.g., data packet size distribution and an inter-arrival data packet time distribution. In embodiments the determination of the initial traffic information for the data packet session may hence comprise the client device 100 determining a data packet size distribution of the data packet session and an inter-arrival data packet time distribution of the data packet session.
As shown in
The network access node 300 receives the first control message 502 indicating the initial traffic information for the data packet session from the client device 100. Based on the initial traffic information for the data packet session, the network access node 300 determines a first time window for a first moving average for the data packet session and a second time window for a second moving average for the data packet session in step II in
The first moving average may be a first moving average throughput which determines the throughput over the first window size. In a similar way, the second moving average may be a second moving average throughput which determines the throughput over the second window size. The first moving average may be a fast moving average and the second moving average may be a slow moving average. For example, at a scheduling interval of 10 ms, the first time window for the first moving average may be in the order of 50 ms, and the second time window for the second moving average may be in the order of 200 ms.
Furthermore, the first moving average may be a first moving average data rate and the second moving average may be a second moving average data rate. Gradient of moving average which indicates the acceleration and retardation of the throughput computed. Similarly, to the two different moving averages, two different gradients may be defined: (a) the gradient of fast moving average, ∇Fma, and (b) the gradient of the slow moving average, ∇Sma. Ratio of the integrals of moving averages which is used to compare the integrals of fast and slow moving averages for a time period corresponding to a number of n transmission time intervals (TTIs). This ratio indicates different types of buffer build-ups and depletions that can be used as partial conditions to take scheduling strategy decisions on. As above the two moving average intervals used in the computation of the ratio over n TTIs are: (a) the integral of fast moving average, μf=Σk=−n0 Fma and (b) the integral of the slow moving average μs=Σk=−n0 Sma.
In embodiments where the initial traffic information for the data packet session comprises the data packet size distribution of the data packet session and the inter-arrival data packet time distribution of the data packet session, the network access node 300 may determine the first time window for the first moving average based on the data packet size distribution of the data packet session and the inter-arrival data packet time distribution of the data packet session. For example, a high variation or randomness in the data packet size distribution and/or inter-arrival data packet time distribution of the traffic, indicating bursty traffic, may result in smaller window sizes for the first time window and the second time window than traffic with lower variation or randomness in the data packet size distribution and/or inter-arrival data packet time distribution.
According to embodiments of the disclosure the second time window for the second moving average may be derived from first time window for the first moving average. In this case, the network access node 300 may determine a scalar factor based on the data packet size distribution of the data packet session and the inter-arrival data packet time distribution of the data packet session. The network access node 300 may further determine the second time window for the second moving average equal to a product of the first time window for the first moving average multiplied with the scalar factor. The higher the variation or randomness of the data packet size distribution and inter-arrival data packet time distribution the higher the scalar factor. A higher scalar factor implies a larger second time window and consequently a greater filtering of excessive rate values and variations.
The network access node 300 indicates the determined first time window for the first moving average and the second time window for the second moving average to the client device 100 in a second control message 504. In other words, the network access node 300 transmits a second control message 504 to the client device 100, as shown in
The client device 100 receives the second control message 504 from the network access node 300 and hence the first time window for the first moving average for the data packet session and the second time window for the second moving average for the data packet session. The second control message 504 is received in response to the transmission of the first control message 502. As described above, the second time window for the second moving average may be equal to a product of the first time window for the first moving average multiplied with a scalar factor.
Based on the received first time window for the first moving average for the data packet session and the received second time window for the second moving average for the data packet session, the client device 100 in step III in
According to embodiments of the disclosure the network access node 300 may indicate additional information in the second control message 504 to the client device 100, e.g., a step size, a reporting interval, a computation interval, and a reporting indicator. The step size defines the steps size for computing the moving average values in the client device 100. The reporting interval defines the reporting interval. The computation interval defines the computation interval, and, e.g., can be expressed in terms of time, number of TTIs or number of TCIs. The reporting indicator defines the presence and configuration of over-allocation indication, which corresponds to a computation of the over-allocation, and buffer status indicator, which corresponds to the buffer depth.
The client device 100 may use the addition information received from the network access node 300 when determining an additional traffic information for the data packet session. For example, as mentioned, the second control message 504 may indicate a step size for the determination of the first moving average value and the second moving average value. In this case, the client device 100 may continuously determine the first moving average value of the data packet session based on the first time window for the first moving average and according to the step size. The client device 100 may further continuously determine the second moving average of the data packet session based on the second time window for the second moving average and according to the step size. The step size can continuously be updated by means of new second control messages from the network access node 300 indicating updated/new step size values.
The additional traffic information determined by the client device 100 is indicated to the network access node 300 in a third control message 506. Hence, the client device 100 transmits a third control message 506 indicating the additional traffic information for the data packet session to the network access node 300, as shown in
The network access node 300 receives the third control message 506 from the client device 100 and hence the additional traffic information for the data packet session. The third control message 506 is received in response to the transmission of the second control message 504. As described above, the additional traffic information for the data packet session may comprise the first moving average value of the data packet session and the second moving average of the data packet session. Based on the first moving average value of the data packet session and the second moving average of the data packet session, the network access node 300 determines a scheduling mode for the data packet session in step IV in
In embodiments where the scheduling mode comprises a scheduled data packet volume, the network access node 300 may derive the scheduled data packet volume based on a determination of the data packet flow rate, a determination of the data packet flow acceleration, and a determination of the buffer state for the scheduling period. In embodiments of the disclosure:
The compensation factor used to determine the data packet flow rate and the data packet flow acceleration may be determined based on an over-allocated data packet volume. The weighing factor used to determine the data packet flow rate and the data packet flow acceleration may be determined based on one or more threshold values which may be:
In embodiments where the scheduling mode comprises a scheduling time period, the network access node 300 may determine the scheduling period for the data packet session based on an over-allocated data packet volume.
In embodiments where the scheduling mode comprises a data packet transmission spreading pattern, the network access node 300 may determine the data packet transmission spreading pattern for the data packet session based on the initial traffic information, the scheduled data packet volume, the scheduling period, and the scheduling start time instance.
The network access node 300 further transmits a fourth control message 508 to the client device 100, as shown in
According to embodiments of the disclosure, the fourth control message 508 may further comprise an over-allocation report instruction. The client device 100 may in this case determine an over-allocated data packet volume for the scheduled data packet of the data packet session in step V in
Furthermore, the fourth control message 508 may in embodiments comprise a buffer state report instruction. The client device 100 may in this case determine a buffer state for the data packet session and transmit a sixth control message (not explicitly shown in
The network access node 300 may use the buffer state received in the sixth control message from the client device 100 as further input when determining the scheduling mode for the client device 100.
Further details related to the determination of traffic information and time window sizes will now be described with reference to two different traffic types, i.e. video streaming and web browsing.
For video streaming, dynamic adaptive streaming over HTTP (DASH) is the dominant video streaming protocol on the interne. DASH media is structured into segments, where each segment is conveyed in one selected bitrate, based on the link conditions between a client and a server. To assure smooth playback, all video streaming sessions begins with an initial buffering period, whereby multiple segments are downloaded without any reading time in between. The resulting lag can be between a few seconds for (near) real time streaming up to 60 seconds for longer video sessions like movies or TV series. Packet statistics for DASH indicates that the vast majority of data packets in a session uses the maximum ethernet frame size. The inter-arrival data packet time to a large extent follow a normal distribution, with some minor exponential ingredients. This results in a relatively stable incoming throughput, and the segment sizes are typically normally distributed as long as the channel quality stays the same.
Web browsing is not as data intensive as DASH but generates more individual sessions in a sense that no directly distinctive pattern can be identified. Data packet statistics for web traffic exhibits more randomness. The data packets tend to be almost evenly distributed between small and large data packets, and with a Pareto distributed inter-arrival data packet time.
Efficient proactive scheduling of traffic may be performed based on knowledge of (i) the average throughput in a burst, Tb (ii) inter-arrival data packet time tpi, (iii) reading time between bursts tr, and (iv) the size of each data packet in bits, Pi. A burst is defined as the time tb between the first arrived data packet in the burst and the last arrived data packet in the burst. With regards to data packet and burst inter-arrival time, traffic profiling determines the start and end of tb and consequently the start and end of tr. Typically, in bursty traffic both burst length (tb) and burst interarrival time (tr) are significantly longer than data packet inter-arrival.
The above parameters, which can be computed from the data packet arrivals into the buffer, can be complemented with QoS parameters conveyed to the network access node 300 as part of flow establishment. The QoS demands are negotiated between the client device 100 and the network as part of non-accesses stratum (NAS) procedures.
As described above DASH traffic typically results in a relatively stable incoming throughput, and the segment sizes are typically normally distributed as long as the channel quality stays the same. Due to this, it is feasible to predict the burst data rate of flows conveying DASH payload with sufficient accuracy. Thereby, the amount of data to schedule ahead of time may be predicted. On the other hand, web browsing is not as data intensive as DASH, but generates more individual sessions. Packet statistics for web traffic exhibits more randomness. The resulting throughput exhibits significant random bursts, making it more difficult to predict the amount of data to schedule ahead of time. Hence, the advantageous window size configuration is slightly different for DASH vs. web browsing. Multiple data services are many times mixed on the same flow using the same QoS, making it difficult to optimize the configuration for a specific type of service. However, the window sizes may be determined by exploiting the trade-off between accuracy and latency. For example, in the case of a traffic mix dominated by web browsing, proactive scheduling accuracy is implemented when the size of the slow and fast windows differs significantly. Furthermore, adaptive configuration settings per flow may be used depending on a slow evaluation of data packet size distribution and inter-arrival data packet time distribution, resulting in a configuration setting opted for the most dominant service over the evaluation interval.
To provide even deeper understanding of the disclosure and to give alternative implementation examples of the disclosure further embodiments of the disclosure will be explained in a 5G NR context with its terminology and system architecture in the following disclosure. This means, e.g., that the client device 100 can be understood as a UE, the network access node 300 as a gNB in NR, and the data packet sessions as a data flow. Moreover, in further embodiments, a resource allocation controller (RAC) and a traffic profiler (TP) are introduced for providing the functions which previously have been described related to the client device 100 and the network access node 300 herein. The TP is located in the network. For the downlink (DL) the RAC is located in the network. For the uplink (UL) some functions of the RAC are located in the network, such as user scheduling, and some other functions are located in the UE.
Therefore, the determination of the scheduling mode will now be described for an embodiment where a RAC performs scheduling of data transmission for users and a TP determines the traffic state and the corresponding proactive scheduling configuration. The RAC communicates traffic arrival information for all flows to the TP. The TP determines and sends the configuration of TP indicators (TPI) that the RAC should continuously report. Upon reporting by the RAC, the TP determines the traffic state of that user and the proactive scheduling (PS) configuration for a certain transmission scheduling interval. The PS configuration is signalled to the RAC, which schedules and transmits the user packets accordingly. Depending on the type of traffic/service the transmission scheduling interval may span over multiple subframes. In addition, the RAC feeds back the TP on the deficit of the resource allocation decisions. The TP readjusts the TPI and PS configurations accordingly.
For the characterization of the incoming traffic, the TP uses a state based method where each state corresponds to a scheduling mode of resource allocation. State transitions can be made based on evaluating a set of key conditions defined as arithmetical and/or Boolean functions associated with the TPIs. Three states may be defined, each representing a recommended scheduling mode, based on an evaluation of TPIs:
It has to be noted that SPS typically refers to the resource allocation of a user's traffic for multiple subsequent intervals of single TTIs.
Error! Reference source not found. shows the states and the state transmission of the scheduling modes described above. The conditions for the state transitions are based on traffic predictions as a function of the defined TPIs and other traffic parameters and their corresponding threshold values. Dynamic scheduling may be used when predictions are missing or for very short-term predictions (i.e., a next TTI), burst scheduling may be used for short- to medium-term predictions (i.e., a next radio frame), while cyclic burst scheduling and semi-persistent scheduling may be used for long-term predictions (i.e., a next sequence of radio frames). In particular the traffic predictions are based on: (i) the slow and fast moving averages at the time of prediction, (ii) the gradients of the two moving averages, (iii) the ratio of the integrals of the moving averages, (iv) the number of transmission intervals, and (v) the current buffer depth in bits. In addition, the following threshold values are considered, (vi) the absolute threshold values of the slow and fast moving averages, (vii) the rising slope minimum threshold, (viii) the no slope high valued minimum and maximum thresholds, and (ix) the falling slope maximum threshold.
When a UE establishes a data session and is granted access for transmission, the TP defaults to state DS. The conditions to make state changes are based on a set of conditions as defined in the table 1 below:
The conditions which in one embodiment are specified as Boolean are defined in
Table 2 and illustrated in
The conditions in
Table 2 constitute an example embodiment and are by no means exhaustive. Furthermore, it is possible that the intervals [ηmin_sth, ηmax_sth] and [ηmin_fth, ηmax_fth] may be different for the Nogradient_slow and Nogradient_fast, respectively.
Traffic prediction is based on: (i) the moving averages Fma and Sma at the time of prediction, (ii) the gradients of the moving averages □Fma and □Sma, (iii) the number of transmission intervals, and (iv) the current buffer state. The proactively scheduled total data volume is given by:
where
To achieve a tradeoff between robustness and agility, the rate- and acceleration predictions are weighted and compensated as follows:
R
w
=C
oa*(Gfast*Fma+(1-Gfast)*Sma) (2)
A
w
=C
oa*(Gfast* ∇Fma+(1-Gfast)* ∇Sma) (3)
where Gfast is a weighting factor between predictions based on Fma and Sma. The value of Gfast depends on the slope condition used in the state model and is given by
In one example embodiment these values are given by wr=0.3, wf=0.8, and wn=0.1. The Gfast values are selected to avoid excessive over-allocations in case of intensive traffic bursts, hence a bit slow at the start of a burst, but faster to react on the end of bursts. Gfast may be optimized for different traffic types, if conveyed over separate flows, e.g., services using different QoS markers can be configured with different parameters in this respect. More specifically, the Gfast may be determined as a function of the window size, which in one example implementation can be expressed as a linear function of the window size.
Coa is a compensation factor to attempt to mitigate excessive over-allocation. Over-allocation Aoa, is monitored continuously in the system, on a per scheduling decision basis. The operational range for Coa can be configured in the system. In one example configuration the compensation factor can be conditioned to the level of over-allocation Aoa by means of adjusting steps within a certain range.
The term tpw in Equation 1 above denotes the proactive scheduling time and is defined as the time from next radio frame start (tfs) until data must be available for the last scheduling occurrence:
t
pw
=t
ftti−(Nc-1)*trf (6)
where Nc is the number of cycles determined for cyclic burst scheduling. In the case of Burst scheduling, Nc=1, i.e., tpw=tftti. The term trf is the length of a radio frame which corresponds to 10 ms in LTE and NR.
In an embodiment TP provides the proactive rate prediction RW, the proactive rate acceleration prediction AW, the number of cycles Nc, and optionally the estimated buffer state at the start of next radio frame (tfs) {circumflex over (D)}buf,while the RAC computes a user's proactively scheduled data volume based on Eq. (1) and the corresponding proactive scheduling time that is computed from next radio frame start (tfs), as shown in
In an embodiment the TP may provide to the RAC a non-empty set of K alternative proactively scheduled data volumes Ptot=(Ptot(1), Ptot(2), Ptot*(K) and their associated proactive scheduling times tpw=(tpw(1), tpw(2), . . . , tpw(K) also indicating the start of next radio frame (tfs) as shown in
In a yet another embodiment the TP may provide an explicit scheduling scheme to the RAC represented by a non-empty set of Nc alternative proactively scheduled data volume vectors each cycle of the CBS corresponding to a proactive scheduling decision recommendation.
As shown in
where Aoa, is the over-allocation indicator that is monitored continuously by the RAC and provided to TP via the PS status information message. In one example embodiment the Aoa, is defined by the portion of the number of bits that have been unsuccessfully predicted to be scheduled over the total amount of bits that have been predicted. Here, unsuccessfully predicted refers to the deficit between the number of bits expected to be in a user's buffer and the actual number of bits in the buffer at scheduled time. The PS status information message may also include the buffer state Dbuf after the execution of the proactive scheduling decision. This would allow TP for a better buffer state estimate (i.e., an estimate of the buffer status {circumflex over (D)}buf), as shown in
In Eq. (8), r is the number of resource blocks (RB) or RB groups (RBG) of size Lr with Ptsi=r * Lr, and {circumflex over (d)}n, defines the delay estimation from the beginning of the radio frame tfs to the scheduling time for transmission tst of the nth RBG. The term Ptsi denotes the data volume to be scheduled in the actual radio frame which, in an example embodiment, is given by Ptsi=Ptot/Nc. In addition, the denominator
corresponds to the average delay of the proactively scheduled data volume. The number of TTIs, each with a duration time of ttti seconds, can be derived as a mapping of the ttsi or D. The average delay {circumflex over (d)}n and the data arrivals are computed based on the average rate of the proactively scheduled data volume from the time when the first packet or RBG data arrived until the time when the last packet or RBG data arrived, as shown in
In a further embodiment the TP may provide a non-empty set of time spreading indicators {ttsi(1), ttsi(2), . . . , ttsi(A)} or proactive schedule delays {D(1), D(2), . . . , D(A)} allowing the RAC to select based on radio channel state and user fairness conditions. In the embodiment the TP sends the maximum time spreading indicator ttsi and/or the maximum average proactive schedule delays D. Furthermore, in an extension of the embodiment the TP may provide a vector of time spreading indicators {ttsi(1), ttsi(2), . . . , ttsiN
In an alternative embodiment the number of TTIs/radio frame is just configurable, i.e. a semi-static configuration of m groups of TTIs in a radio frame, where trf/(2*ttti)≥m≥1.
As previously mentioned, the window sizes characterizing the fast and the slow moving averages are determined and configured by the TP in these embodiments. The configuration is communicated to the RAC. The TP may determine the scheduling decision window. In addition to the scheduler configuration parameters the following scheduling mode related configuration is sent to RAC by the TP:
In another embodiment of proactive scheduling indication the configuration alternatively comprises the proactive scheduling decisions including:
It has to be noted that the identifier of the user flow may be a DRB ID, flow ID or UE ID, while the indication of the next radio frame tfs, as shown in
When implemented, the result of the TP will divide the frequency- and time dimensions of a radio frame in resource reservation groups, accommodating user traffic in different scheduling state. The scheduling modes may be multiplexed in frequency, time or a mix of these as indicated in
To accommodate a system where profiling is done, the traffic prediction algorithm computation is decomposed into a set of steps, as shown in FIG. 13Error! Reference source not found.. At (i), upon the addition of a new data packet session, the client device 100 sends a new first control message 502 to the network access node 300, wherein the first control message 502 indicates an initial traffic information for the data packet session. At (ii), based on the content of the first control message 502 the network access node 300 checks if an adequate a first time window for the first moving average and a second time window for a second moving average for the data packet session exist. At (iii), if the first time window for the first moving average and the second time window for a second moving average for the data packet session are missing or are inadequate (i.e., NO in
For the implementation of embodiments of the disclosure into the standards various options exist in NG-RAN. Assuming that scheduling is performed within gNB-DU, then the most straightforward approach is to include the functionality of the TP into the gNB-CU and allow interoperation via the F1 interface. The F1 setup function, which allows the exchange of application level data needed for the gNB-DU and gNB-CU to interoperate correctly on the F1 interface, can be extended to include the initial traffic flow information signalling. The flow setup via F1 is initiated by the RAC functionality located in gNB-DU. In addition, the F1 Configuration Update messages can be extended to accommodate the TPI configuration and PS configuration and response messages. The gNB-CU Configuration Update and gNB-DU Configuration Update functions allow to update application level configuration data needed between gNB-CU and gNB-DU to interoperate correctly over the F1 interface.
In an embodiment the disclosure can be performed over the E1 interface between gNB-CU-CP and gNB-CU-UP which may perform the TP and RAC functionality respectively. The E1 setup function, which allows the exchange of application level data needed for the gNB-CU-UP and gNB-CU-CP to interoperate correctly on the E1 interface, can be extended to facilitate the flow setup interactions between TP and RAC. Similarly, an extension of the gNB-CU-UP Configuration Update and gNB-CU-CP Configuration Update functions would allow to update TPI and PS configurations and reporting between the gNB-CU-CP and the gNB-CU-UP.
In yet another embodiment that may be adopted is the extension of the scheduling without dynamic grant, such as semi-persistent scheduling and its associated signalling between the gNB and the UE. In the uplink, the scheduler may instruct the UE about the TPI configuration, as part of an extension of scheduling request response. The computation of the TPI can be performed at the UE where the application data is generated. In this case the monitoring and reporting for the traffic in RAC is performed at the UE. The TPI status information can be included in an enhanced version of the buffer status report (BSR) which apart from the buffer size it may also include the computed values of the TPIs. The determination of the PS configuration will be determined by the gNB at RRC based on the enhanced BSR and signalled to UE as an extension of the SPS signalling. In an embodiment the SPS signalling can be extended to include the time spreading indicator and/or the proactive scheduling delay indicator as defined above. Furthermore, the SPS signalling extension may include information about the uplink grant, bits/symbols to be sent, the TTIs to be utilized, and other related information that may be accommodated by a new DCI scheduling grant format. In the downlink a similar extension of the SPS signalling may be implemented.
UPF could also be a good option where TP functionality can be implemented as it is where the traffic can be monitored and traffic predictions can be made. In this case the RAC functionality which is implemented within gNB and/or ng-eNB can interact with TP via the NG interface. In LTE, the same interaction would be performed between S-GW and eNB via the S1 interface.
The client device 100 herein, may be denoted as a user device, a User Equipment (UE), a mobile station, an internet of things (IoT) device, a sensor device, a wireless terminal and/or a mobile terminal, is enabled to communicate wirelessly in a wireless communication system, sometimes also referred to as a cellular radio system. The UEs may further be referred to as mobile telephones, cellular telephones, computer tablets or laptops with wireless capability. The UEs in this context may be, for example, portable, pocket-storable, hand-held, computer-comprised, or vehicle-mounted mobile devices, enabled to communicate voice and/or data, via the radio access network, with another entity, such as another receiver or a server. The UE can be a Station (STA), which is any device that contains an IEEE 802.11-conformant Media Access Control (MAC) and Physical Layer (PHY) interface to the Wireless Medium (WM). The UE may also be configured for communication in 3GPP related LTE and LTE-Advanced, in WiMAX and its evolution, and in fifth generation wireless technologies, such as New Radio.
The network access node 300 herein may also be denoted as a radio network access node, an access network access node, an access point, or a base station, e.g., a Radio Base Station (RBS), which in some networks may be referred to as transmitter, “gNB”, “gNodeB”, “eNB”, “eNodeB”, “NodeB” or “B node”, depending on the technology and terminology used. The radio network access nodes may be of different classes such as, e.g., macro eNodeB, home eNodeB or pico base station, based on transmission power and thereby also cell size. The radio network access node can be a Station (STA), which is any device that contains an IEEE 802.11-conformant Media Access Control (MAC) and Physical Layer (PHY) interface to the Wireless Medium (WM). The radio network access node may also be a base station corresponding to the fifth generation (5G) wireless systems.
Furthermore, any method according to embodiments of the disclosure may be implemented in a computer program, having code means, which when run by processing means causes the processing means to execute the steps of the method. The computer program is included in a computer readable medium of a computer program product. The computer readable medium may comprise essentially any memory, such as a ROM (Read-Only Memory), a PROM (Programmable Read-Only Memory), an EPROM (Erasable PROM), a Flash memory, an EEPROM (Electrically Erasable PROM), or a hard disk drive.
Moreover, it is realized by the skilled person that embodiments of the client device 100 and the network access node 300 comprises the necessary communication capabilities in the form of e.g., functions, means, units, elements, etc., for performing the solution. Examples of other such means, units, elements and functions are: processors, memory, buffers, control logic, encoders, decoders, rate matchers, de-rate matchers, mapping units, multipliers, decision units, selecting units, switches, interleavers, de-interleavers, modulators, demodulators, inputs, outputs, antennas, amplifiers, receiver units, transmitter units, DSPs, MSDs, TCM encoder, TCM decoder, power supply units, power feeders, communication interfaces, communication protocols, etc. which are suitably arranged together for performing the solution.
Especially, the processor(s) of the client device 100 and the network access node 300 may comprise, e.g., one or more instances of a Central Processing Unit (CPU), a processing unit, a processing circuit, a processor, an Application Specific Integrated Circuit (ASIC), a microprocessor, or other processing logic that may interpret and execute instructions. The expression “processor” may thus represent a processing circuitry comprising a plurality of processing circuits, such as, e.g., any, some or all of the ones mentioned above. The processing circuitry may further perform data processing functions for inputting, outputting, and processing of data comprising data buffering and device control functions, such as call processing control, user interface control, or the like.
Finally, it should be understood that the disclosure is not limited to the embodiments described above, but also relates to and incorporates all embodiments within the scope of the appended independent claims.
This application is a continuation of International Application No. PCT/EP2018/075993, filed on Sep. 25, 2018, the disclosure of which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/EP2018/075993 | Sep 2018 | US |
Child | 17149489 | US |