Method and processing device in a system comprising a resource scheduler and a set of devices
By calculating and transmitting configuration-based resource utilization ratios to a resource scheduler, the method addresses the inflexibility of wireless networks in smart factories, ensuring efficient and reliable resource allocation that adapts to sudden changes, thereby improving communication performance and reducing application failures.
Patent Information
- Application Number
- JP2024555468
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-02-24
- Filing Date
- 2022-07-11
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2042-07-11
AI Technical Summary
Existing wireless communication systems in smart factories struggle to adapt quickly and accurately to sudden changes in application performance requirements due to the inflexibility of wireless networks and the inefficiencies of current resource allocation methods, leading to degraded communication performance and potential application failures.
A method for calculating and transmitting configuration-based resource utilization ratios to a resource scheduler, which involves obtaining parameters such as message lifetime, buffering time, and resilience value, and estimating stream configurations within a time window to optimize resource allocation, using cost functions and various solver algorithms to ensure accurate and adaptive resource allocation.
This approach allows for quick and accurate adaptation to sudden changes in application performance requirements, enhancing communication reliability and efficiency in wireless environments by optimizing resource utilization and minimizing the risk of application failures.
Smart Images

Figure 0007728473000064 
Figure 0007728473000065 
Figure 0007728473000066
Abstract
Description
[Technical Field]
[0001] At least one of the embodiments generally relates to a method for calculating resource usage ratios and transmitting them to a resource scheduler, and also to a device configured to implement the method. [Background technology]
[0002] The Fourth Industrial Revolution (or Industry 4.0) refers to the automation of traditional manufacturing using smart technologies such as the Internet of Things and cloud computing.
[0003] Robotics is part of Industry 4.0. Indeed, in smart factories, robots are used to limit human work. Communication plays a key role in this framework. The requirements for Industry 4.0 applications are centered around several factors, such as reliability, latency, and lifetime of communication devices. Currently, robots are often connected to wired infrastructures. Time-Sensitive Networking (TSN) is a standard Ethernet-based technology for Industry 4.0 integrated networks due to its ability to support deterministic latency requirements. More precisely, the TSN standard extends traditional Ethernet data link layer standards to ensure data transmission with ultra-low latency, low latency variation (jitter), and ultra-low loss, making it ideal for industrial control and automotive applications.
[0004] TSN defines a Time Aware Shaper (TAS) scheduler to guarantee the transmission of high-priority deterministic traffic within a limited time. However, TAS has the problem of incurring large overhead for short-lived flows, which degrades communication performance.
[0005] Additionally, in contrast to wireless technologies, TSN-based networks cannot offer the flexibility needed to support the mobile industrial applications required for the factory of the future. Wireless networks offer many advantages, such as flexibility, low cost, and ease of deployment, but at the expense of reliability.
[0006] In such wireless environments, existing schedulers typically implement resource allocation methods that predict future resource allocations from past resource allocations. Therefore, such resource allocation methods cannot adapt to sudden changes in application performance requirements, which occur when an application needs to adapt to new radio link conditions.
[0007] It is therefore desirable to find a method for resource allocation in a wireless environment that adapts quickly and more accurately to sudden changes in application performance requirements. Summary of the Invention
[0008] At least one of the present embodiments generally relates to a method in a system comprising a resource scheduler and a set of devices, each device hosting at least one application, each application transmitting a stream of messages to at least one receiver. The method includes: obtaining, for each stream, parameters including one message lifetime, one message duration, and the last buffering time of the stream's messages before a given time window begins; estimating a set of stream configurations within a time window from the obtained parameters, where a stream configuration is defined as a particular configuration of active streams, and a stream is active within a given time slot if there is a packet corresponding to a message to be sent or received; calculating, for each configuration, one configuration-based resource utilization ratio per stream such that the sum of the configuration-based resource utilization ratios for the configurations is one, the calculating being performed under the constraint that, for each stream, there is at least one configuration for which the configuration-based resource utilization ratio for the stream is non-zero; sending data to a resource scheduler, the data including each configuration having a set of calculated configuration-based resource utilization ratios; Includes.
[0009] By sending data to the resource scheduler, the resource scheduler can be guided, thus allowing resource allocation to adapt quickly and more accurately to sudden changes in application performance requirements.
[0010] In one embodiment, the obtained parameters further include a resilience value, which is the maximum time that the application is allowed to go without receiving a packet, and the size of the time window is defined from the resilience value.
[0011] In one embodiment, the method comprises: and for each stream, averaging the stream's configuration-based resource usage ratio; Sending data to the resource scheduler includes sending averaged configuration-based resource usage ratios for each stream instead of sending each configuration with a set of calculated configuration-based resource usage ratios.
[0012] In one embodiment, calculating, for each configuration, one configuration-based resource usage ratio per stream comprises: selecting a cost function; Choosing a solution method and optimizing the cost function using the selected solution method to calculate, for each configuration, one configuration-based resource utilization ratio per stream such that the configuration-based resource utilization ratios for the configurations sum to one, the calculating being subject to the constraint that, for each stream, there is at least one configuration for which the configuration-based resource utilization ratio for the stream is non-zero; Includes.
[0013] In one embodiment, the cost function is the following cost function:
number
number
number
[0014] In one embodiment, the selected cost function is:
number
[0015] In one embodiment, the selected cost function is:
number
[0016] In one embodiment, the selected cost function is:
number
[0017] In one embodiment, the solution is: Configuration-based resource utilization ratio {ρ k,j (W)} k,j a brute force algorithm in which all possible values of Configuration-based resource utilization ratio {ρ k,j (W)} k,j a random algorithm that randomly selects a set of values for Genetic algorithms and The simplex algorithm, The method is selected in a set of solver methods including
[0018] In one embodiment, the transmitted data is used by a resource scheduler to allocate radio resources among the streams.
[0019] Further disclosed is a processing device in a system comprising a resource scheduler and a set of devices, each device hosting at least one application, each application transmitting a stream of messages to at least one receiver. obtaining, for each stream, parameters including one message lifetime, one message duration, and the last buffering time of the stream's messages before a given time window begins; estimating a set of stream configurations within a time window from the obtained parameters, where a stream configuration is defined as a particular configuration of active streams, and a stream is active within a given time slot if there is a packet corresponding to a message to be sent or received; calculating, for each configuration, one configuration-based resource utilization ratio per stream such that the sum of the configuration-based resource utilization ratios for the configurations is one, the calculating being performed under the constraint that, for each stream, there is at least one configuration for which the configuration-based resource utilization ratio for the stream is non-zero; sending data to a resource scheduler, the data including each configuration having a set of calculated configuration-based resource utilization ratios; The method includes at least one processor configured to:
[0020] A system is disclosed comprising a processing device according to one of the above embodiments and a resource scheduler, which allocates radio resources to each stream taking into account the data transmitted by the processing device.
[0021] A computer program product is disclosed that includes program code instructions that can be loaded into a programmable device, the program code instructions causing the implementation of a method according to any one of the above embodiments when the program code instructions are executed by the programmable device.
[0022] A storage medium is disclosed that stores a computer program including program code instructions, which when read from the storage medium and executed by a programmable device, cause the method according to any one of the above embodiments to be implemented.
[0023] The characteristics of the invention will emerge more clearly from a reading of the following description of at least one example of embodiment, the said description being made with reference to the accompanying drawings, in which: [Brief explanation of the drawings]
[0024] [Figure 1] FIG. 1 illustrates a system in which the present embodiment can be implemented. [Figure 2] FIG. 1 illustrates the principle of contention between devices for radio resource allocation. [Figure 3] FIG. 2 illustrates various application parameters for a given application. [Figure 4] FIG. 2 is a diagram illustrating three streams with buffered messages according to certain embodiments. [Figure 5A] FIG. 1 illustrates a flowchart of a method for calculating and transmitting configuration-based resource usage ratios, according to certain embodiments. [Figure 5B] FIG. 1 illustrates the definition of a common time window from resilience values associated with different streams, according to certain embodiments. [Figure 6] FIG. 10 illustrates a flowchart of a method for calculating and transmitting configuration-based resource utilization ratios according to another embodiment. [Figure 7]1 illustrates the principle of radio resource allocation by a random scheduler without guidance; [Figure 8] 1 illustrates the principle of radio resource allocation by a random scheduler guided by configuration-based resource usage ratios according to a first example; [Figure 9] FIG. 10 illustrates the principle of radio resource allocation by a random scheduler guided by configuration-based resource usage ratios according to a second example. [Figure 10] 1 illustrates the principle of radio resource allocation by a guidance-free round-robin scheduler; [Figure 11] 1 illustrates the principle of radio resource allocation by a round-robin scheduler guided by configuration-based resource usage ratios, according to a particular example. [Figure 12] 1 illustrates the principle of radio resource allocation by a throughput maximum scheduler without guidance; [Figure 13] 1 illustrates the principle of radio resource allocation by a throughput maximization scheduler guided by configuration-based resource utilization ratios, according to a particular example. [Figure 14] FIG. 1 is a diagram that schematically illustrates an example hardware architecture of a processing device configured to calculate and transmit configuration-based resource usage ratios, according to certain embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0025] Various embodiments are disclosed in the context of a smart factory where mobile robots are deployed to perform various missions, such as moving from one location to another within a factory within a certain time period, however, these embodiments may also be applied to other environments, such as environments involving autonomous vehicles.
[0026] FIG. 1 illustrates a system 1, e.g., part of a smart factory, in which the present embodiment can be implemented. The system 1 includes a set 10 of mobile robots 10A-10D. Each mobile robot can move from one location to another within a factory. The set 10 may also include non-mobile robots. The mobile robots 10A-10D wirelessly communicate with one or more control devices 12A and 12B, with which they exchange application messages. Each control device 12A and 12B may be a base station, an MEC (an acronym for Multi-access Edge Computing) station, or a mobile station. The control devices 12A and 12B may be configured, for example, to plan and monitor missions for the robots 10A-10D. As an example, in FIG. 1, the control device 12A sends an application message to the robot 10A containing data describing its mission, and the control device 12B sends an application message to the robot 10C containing data describing its mission. The mission data may include displacement data (e.g., angular velocity, linear velocity, pressure level, etc.), interaction data, motion data, etc. In response, the robots 10A (and 10C, respectively) send application messages to the control devices 12A (and 12B, respectively). Application messages sent from the robots to the control devices include, for example, monitoring data or environmental data. The exchange of application messages may be periodic or aperiodic, depending on the application.
[0027] Each robot 10A-10D and each control device 12A and 12B includes at least one application module. Application messages are therefore exchanged between the application modules of the robots and the application modules of the control devices. An application module generally includes a software entity, i.e., an application, together with hardware elements such as application buffers.
[0028] A robot typically comprises several physical elements, e.g., wheels, arms, etc. A given robot therefore needs to exchange application messages with a control device containing different types of data depending on the physical elements involved. Therefore, in the following, we refer to a stream S k is the application message m sent from (or received by) a given physical element of a given robot in the set of robots 10. k (n) In other words, multiple streams may be associated with one and the same robot, e.g., one stream associated with the robot's arm and one stream associated with each wheel of the robot. In the following, we define Ns streams {S1,...,S Ns} is considered, and each stream S k is the given application APP k Therefore, the application APP k and Stream S k There is a one-to-one relationship between the application APP and k is the message m k (n) one by one into the application buffer of messages of size 1, and k (n) is transmitted to a corresponding receiver, for example a control device, at time n using radio resources.
[0029] In a wireless environment, the number of radio resources is limited. In wireless communication, the number of resources is defined as the number of frequency resources (e.g., subchannels, each of which includes a finite number of frequency blocks) used within a limited time. Other transmission dimensions, such as the spatial dimension provided by multiple antennas, the polarization dimension provided by the use of different polarizations at the transmitter and receiver, or the multiple access dimension, which allows multiple transmitter / receiver pairs to have simultaneous transmissions as soon as they do not significantly interfere with each other, can be used to create additional transmission resources. The set of all radio resources available for transmission by all transmitter / receiver pairs is called the available resource set.
[0030] To allocate these limited radio resources appropriately, the system 1 further comprises a resource scheduler (RS) 14. This resource scheduler (RS) 14 periodically, i.e., every dt (e.g., dt=1 ms), allocates the available radio resources to one particular stream S. k Therefore, as shown in Figure 2, for each dt, an application message m k (n) There is an opportunity, i.e., a time slot, for a stream to be transmitted. As shown in Figure 2, the robots, or more precisely, the streams, compete for radio resource allocation. Thus, the resource scheduler 14 is configured to select one stream from among the Ns streams and allocate the radio resource to it.
[0031] The resource scheduler 14 typically includes a software entity as well as hardware elements such as buffers etc. The resource scheduler 14 may be located in a base station, an MEC station or a mobile station.
[0032] Figure 3 shows the k APPLICATION APPLICATION kis an application located on one of the control devices, configured to control the movement of the arm of a particular robot, for example robot 10C. k is an application that is deployed to a specific robot and configured to monitor the robot's environment. k is a set of messages m at various times n (n=1, 2, 3, and 4). k (n) A stream S containing k These messages are sent to the stream S k a transmission channel H between the antenna of the robot, e.g., 10C, associated with the k The signal will be transmitted on the transmission channel H k is the channel error probability
number
[0033] Each application APP k is a set of application parameters that define some requirements, namely, the resilience value R k , message lifetime D k , and message period T k These parameters can vary over time, but are constant for all streams S k is assumed to be constant within a time window W common to all
[0034] Resilience value R k is the application APP k is the maximum time that R is allowed to receive no packets. In other words, R is allowed to receive at least one packet. k The resilience value R k If you violate the application APP k R kIf no packets are received for a time exceeding , an application failure occurs. In this case, the associated robot may enter a safety mode, e.g., a partial or complete shutdown with reinitialization. Hence the resilience value R k defines a resilience window, as shown in Figure 3, within which at least one packet must be received and decoded.
[0035] Message Lifetime D k is the value of the message m when it is pushed into the application buffer. k (n) (also called message delay budget in the literature). In practice, for example, the lifetime of a message m k (n) is only relevant for a limited duration, especially due to the movement of the robot. In Figure 3, the first message m k (1) , the second message m k (2) , and a third message m k (3) The lifetime of is 3 time slots.
[0036] Message duration T k is the time between the start of the lifetime of any two consecutive messages. In other words, T k is the time between the buffering of two consecutive messages. This period can be variable if the application does not require periodic traffic.
[0037] {Stream configuration definition} Data Stream, or more simply Stream S k A given resource is said to be "active" at this time if there are packets being sent or received at that time associated with it. Thus, the j-th stream configuration C j is defined as a particular combination of streams. For example, C jcorresponds to S1 being active, S2 being inactive, and S3 being active, and j is a value in the set [0;N c -1]. j Stream S in k The active index of is defined as follows:
number
[0038] Figure 4 shows three streams with buffered messages. Below the streams in Figure 4, a table of stream activity is shown, where for each time slot in a common window W, the configuration is derived from the active index of the stream. There are eight different configurations. In the first time slot of window W, all three streams are active, so δ 1,0 =δ 2,0 =δ 3,0 = 1. Similarly for the second time slot. Configuration C1 occurs only once in the third time slot, configuration C2 occurs twice in the fourth and eleventh time slots, configuration C3 occurs twice in the fifth and tenth time slots, configuration C4 occurs once in the sixth time slot, configuration C5 occurs twice in the seventh and eighth time slots, configuration C6 occurs once in the ninth time slot, and configuration C7 occurs once in the last time slot.
[0039]
number
[0040] {Definition of resource usage ratio by configuration} Within the window W, the jth configuration C j is n j (W) For example, in Figure 4, C5 occurs in two time slots, so n5 (W) = 2, and C6 occurs in one time slot, so n6 (W) = 1. Configuration-based resource utilization ratio ρ k,j (W) is a stream S in W k C assigned to j Duration of n j (W) In other words, the configuration-based resource usage ratio represents the number of resources allocated to each stream within the window W. This fraction is defined as follows: ρ k,j (W) =(n k,j (W) ) / (n j (W) ) In the formula, n k,j (W) is the stream S k is the number of time slots allocated to k,j (W) is n j (W) is the upper limit. k,j (W) is each configuration C j The normalization condition for Σ k ρ k,j (W) = 1, which means that the configuration C j This means that the number of allocated nodes is fully allocated. jis inactive in δ k,j = 0 for the stream S k Regarding ρ k,j (W) is set to 0 (the "null-null" condition).
[0041] In reality, ρ k,j (W) The value of is the set {0 / (n j (W) ),1 / (n j (W) ),2 / (n j (W) ),...,(n j (W) ) / (n j (W) )}. However, in one embodiment, ρ k,j (W) can be any real number between 0 and 1, and the value {0 / (n j (W) ),1 / (n j (W) ),2 / (n j (W) ),...,(n j (W) ) / (n j (W) )} is then performed, for example, just before sending the value to the resource scheduler.
[0042] Multiple sets of values
number
[0043] In configuration C5, the second stream is inactive, and therefore, due to the "null-null" condition, ρ 2,5 (W) =0.
[0044] In the following,
number
[0045] Therefore, at least one set of configuration-based resource utilization ratios must be calculated such that the normalization condition is satisfied with the constraint that each data stream is allocated in at least one configuration, and at least one set is sent to the resource scheduler for guidance.
[0046] FIG. 5A illustrates a flowchart of a method for calculating and transmitting configuration-based resource usage ratios, according to certain embodiments.
[0047] In step S100, each stream S k For each of the above, application parameters are obtained that represent the requirements of the application. k , T k and t k is obtained, and t k is the stream S before the common window W startsk In Figure 4, t1 = t2, and t3 is one time slot after t1. k Knowing the , it is possible to position the streams relative to each other.
[0048] In step S102, the configuration C of the streams within the common time window W is calculated. j A finite number N of c But the application parameter D k and T k From then, further time t k The stream configurations within the common window are listed before the common window starts.
[0049] In step S104, a set of configuration-based resource utilization ratios {ρ k,j (W)} k satisfies the normalization condition and under the constraint that each stream is assigned in at least one configuration, i.e., ρ k,j (W) There is at least one configuration C such that is non-zero. j For each configuration C, there exists for each stream k. j Therefore, for a given configuration C j For this set, the stream S k Configuration-based resource utilization ratio ρ per k,j (W) Includes.
[0050] There are multiple such sets. In one simple embodiment, ρ k,j (W) At least one configuration C such that ≠ 0 j ∈A k (W) There exists a set {ρ k,j (W)} k,j Once is determined, the method proceeds to step S106.
[0051] In step S106, each configuration or configuration identifier and its associated set of configuration-based resource utilization ratios, i.e., {{ρ k,j (W)} k ,C j} j are transmitted to the resource scheduler, which uses the transmitted information to guide radio resource allocation. j to the value {ρ k,j (W)} k and therefore the stream S k One value ρ for each k,j (W) The data is sent in the form of a table that associates the
[0052] An example of a table obtained using three streams and eight configurations as shown in FIG. 4 is shown below. [Table 1]
[0053] These sets of configuration-based resource utilization ratios satisfy the normalization condition, the “null-null” condition, and for each stream k, ρ k,j (W) There is at least one configuration C such that is non-zero. j There is data for the eighth configuration, namely, {{ρ k,7 (W)} k ,C7}7 is also transmitted. In this case, for all k, k,7 (W) =0. In a variant, the data of the eighth configuration, i.e., {{ρ k,7 (W)} k , C7}7 is not transmitted because all configuration-based resource usage ratios are zero in this configuration.
[0054] The calculated configuration-based resource usage ratio {ρ k,j(W)} k,j The use of depends on the algorithms embedded within the resource scheduler.
[0055] In one embodiment, the structure {{ρ k,j (W)} k ,C j} j The calculated configuration-based resource utilization ratio, {ρ k,j (W)} k,j is first averaged in optional step S105 as follows:
number
[0056] In that case, the data {{ρ k,j (W)} k ,C j} j Instead of , the average calculated configuration-based resource utilization ratio {ρ k (W)} k is sent to the resource scheduler. In this latter embodiment, no configuration is sent to the resource scheduler.
[0057] The common window W can be adapted in time. In one embodiment, the common window is shifted. At a given time, all configuration-based resource utilization rates {ρ k,j (W)} k,j is pre-computed and applied within a common window W. When the end of the common window W is reached, a new common window W begins, and the configuration-based resource utilization rate {ρ k,j (W)} k,j A new set of is calculated.
[0058] In another embodiment, the common window is a sliding window, which can increase robustness. At a given time, all configuration-based resource utilization ratios {ρ k,j (W)} k,j is pre-computed and applied within a common window W. Before the end of the common window W, a new common window W starts and a new set of configuration-based resource utilization ratios {ρ k,j (W)} k,j is calculated.
[0059] In another embodiment disclosed with reference to FIG. 5B, t0 is the time at which the configuration-based resource utilization ratio is expected to be calculated, and the size of the common window W is k The common window W starts at t0 and ends at tf, where tf is defined from the next end of the resilience window. More precisely, tf is the furthest next end of the resilience window. The end of the resilience window corresponds to the resilience violation time. In Figure 5B, the furthest next end of the resilience window is the end of stream S2. For any stream whose resilience window ends earlier, i.e., S1 and S3 in Figure 5B, its activity is disabled from the end of its own resilience window zk until tf. In other words, for stream S k is set to inactive in the interval [zk;tf].
[0060] In another embodiment, the configuration-based resource utilization ratio {ρ k,j (W)} k,j can be calculated each time an event occurs, for example, each time parameters, eg, R, T, and D, are modified.
[0061] FIG. 6 illustrates a flowchart of a method for calculating and transmitting configuration-based resource usage ratios, according to certain embodiments.
[0062] Steps that are identical to steps in the method illustrated by Figure 5A are identified with the same reference numerals in Figure 6. In particular, the method of Figure 6 includes steps S100 to S106, and optionally step S105.
[0063] In step S104, the configuration-based resource utilization ratio {ρ k,j (W)} k,j is calculated.
[0064] In step S104-1, {ρ k,j (W)} k,j The cost function J is defined as a function of the configuration-based resource utilization ratio, denoted by k (W) is chosen to reflect the target metric of the stream. In other words, depending on the target metric, the cost function J k (W) are defined differently: the target metric is a) reliability (i.e., minimizing the probability of failure for each stream), b) power saving (i.e., minimizing the power consumption of the device), or c) throughput (i.e., maximizing the amount of data transmitted for each stream).
[0065] a) Reliability To increase reliability, the goal is to minimize the probability of failure. k,j (W) n j (W) S k Composition C j Assuming that the usage time is
number
number
number
[0066] b) Power saving Stream is S k To reduce the power consumption of a device with , the goal is to minimize the number of transmission attempts. This means that the streams should have minimal access to the resource. Therefore, the cost function is defined as the average resource usage rate itself.
number
[0067] c) Throughput any stream S k To maximize the throughput of a stream, the goal is to maximize the number of transmission attempts. This means that the stream should have the greatest access to the resource. Therefore, the cost function is defined as the average resource utilization ratio itself.
number
[0068] Therefore, the configuration-based resource utilization ratio {ρ k,j (W)} k,j To compute the best set of , the goal is to k About J k (W) That is, to solve the following optimization problem: In the cases of a) and b)
number
number
[0069] In step S104-2, a solution method (e.g., brute force, random selection, genetic algorithm, linear programming, etc.) is selected to generate a configuration-based resource utilization ratio {ρ k,j (W)} k,j Solve the above optimization problem to calculate the best set of
[0070] In step S104-3, the selected method is applied to solve the optimization problem derived from the selected cost function, i.e., In the cases of a) and b)
number
number
[0071] To solve the above optimization problem, the following methods can be selected and used as a result:
[0072] 1) Brute force The basic way to solve this problem is to calculate ρ k,j (W) ∈{0 / (n j (W) ),1 / (n j (W) ),2 / (n j (W) ),...,(n j (W) ) / (n j (W))}. Alternatively, the method tests all possible values of ρ in any interval belonging to [0;1]. k,j (W) This set of arbitrary values is linked to any other hardware or software constraints, such as hardware capacity or complexity. An example of such a set of arbitrary values is {1 / Ns, 2 / Ns,...,1}. Each set {ρ k,j (W)} k,j Regarding ρ k,j (W) At least one configuration C such that ≠ 0 j ∈A k (W) The ratio is tested for normalization with the further constraint that there exists a set {ρ k,j (W)} k,j , the set that better optimizes the cost function, i.e.,
number
number
number
number
number
number
[0073] Multiple sets {ρ k,j (W)} k,j If satisfies the condition, the final set is selected randomly.
[0074] 2) Random selection This method selects one set {ρ k,j (W)} k,j The solution is to randomly select
[0075] Alternatively, this method can be used to k,j (W) At least one configuration C such that ≠ 0 j ∈A k (W) Among all sets that satisfy the normalization condition with the further constraint that there exist multiple sets {ρ k,j (W)} k,j randomly selecting, ,and ,computing ,the ,cost ,function ,for ,each ,set, ,and ,finding ,the ,best ,set, ,i.e.,
number
number
[0076] 3) Genetic Algorithm This method uses ρ k,j (W) Start with a random configuration of values. Then, ρ k,j (W) The configuration of values is iteratively improved by evaluating the effect of small changes to the cost function. For example, at each iteration, k,j (W) The value is 1 / (n j (W)) and if an improvement is observed,
number
[0077] 4) Linear Programming The problem to be solved is a cost function (
number
number
[0078] 4.a) Linear programming to minimize the probability of failure Resource usage ratio {ρ k,j (W)} k is calculated to minimize the probability of failure of each stream. k,j (W)} k,j * In order to find
number
number
[0079] An equivalent method that is easier to implement is to assume that the maximum expected probability of failure is an arbitrary upper bound.
number
number
[0080] The logarithmic expected value of the failure probability is defined as follows:
number
[0081] The above inequality (
number
number
[0082] The selection matrix S is defined as follows:
number
number
[0083] δ k,j If = 0 (the "null-null condition"), then by applying the selection matrix S, ρ k,j (W) is automatically disabled.
[0084]
number
number
number
[0085] In this way, we obtain the standard form of the linear programming problem,
number
[0086] Linear programming problems are solved by the simplex algorithm.
number
number
[0087] 4.b) Linear programming to minimize the number of transmission attempts. To reduce power consumption, the resource utilization ratio {ρ k,j (W)} k,j is calculated to minimize the number of transmission attempts. k,j (W)} k,j * In order to find
number
number
[0088] An equivalent method that is easier to implement is to consider the maximum expected value of consumption as an arbitrary upper bound, ρ target That is, for any stream S k About J k (W) ≦ρ target So that {ρ k,j (W)} k,j * The goal is to seek this.
[0089] For this purpose, each stream S k Regarding the above inequality (J k (W) ≦ρ target )teeth,
number
[0090] Then, the same implementation as in 4.a) is applied.
[0091] 4.c) Linear programming to maximize the number of transmission attempts. To maximize throughput, the resource utilization ratio {ρ k,j (W)} k is calculated to maximize the number of transmission attempts. k,j (W)} k,j * In order to find
number
number
[0092] An equivalent method that is easier to implement is to consider the maximum expected value of consumption as an arbitrary upper bound -U target That is, for any stream S k About -J k (W) ≦-U target So that {ρ k,j (W)} k,j * The goal is to seek this.
[0093] For this purpose, each stream S k Regarding the above inequality (-J k (W) ≦-U target )teeth,
number
[0094] Then, the same implementation as in 4.a) is applied.
[0095] Configuration-based resource utilization ratio {ρ k,j (W)} k,j * Computing Λ enables the scheduler to obtain a better prediction of resource usage, which improves performance over predictions based on learning from past transmissions.
[0096] The method is robust to unexpected events that may be related to radio conditions or packet arrivals, i.e., jitter, as well as new application requirements, new stream parameters, etc. Indeed, an application may change its requirements based on observed communication performance.
[0097] 7 to 13 show that the resource scheduler allocates wireless resources using the configuration-based resource utilization ratio {ρ k,j (W)} k,j * The resource scheduler belongs to a non-exhaustive list of resource schedulers including a) a random scheduler, b) a round-robin scheduler, and c) a throughput maximum scheduler. Other schedulers may also be used.
[0098] a) Random Scheduler The random scheduler schedules the stream S k The random scheduler allocates radio resources for each time slot by randomly selecting a stream with a dead message. Without any guidance, the random scheduler will either give resources to a stream with a dead message, or the random scheduler will give too many radio resources to one stream at the expense of other streams. An example is shown in Figure 7, where the random scheduler allocates radio resources without any guidance.
[0099] As a result, S1 has five time slots, i.e. the three time slots in which S1 has packets to transmit; and S1 are assigned two time slots that do not have a packet to transmit. S2 consists of four time slots, i.e. the two time slots in which S2 has a packet to transmit; and S2 are assigned to two time slots that do not have a packet to transmit. S3 is a time slot with three slots, i.e. One time slot in which S3 has a packet to transmit, and S3 are assigned two time slots in which they do not have a packet to transmit.
[0100] Thus, there is an apparent waste of radio resources, as, for example, timeslots are allocated to streams that do not have packets to transmit within the allocated timeslot. From the stream configuration as in Figure 4, the following description table can be obtained: [Table 2]
[0101] The following table shows examples of configuration-based resource utilization ratios that satisfy the normalization conditions in the left two columns. For each stream k, ρ k,j (W) There is at least one configuration C such that is non-zero. j The condition that exists is also satisfied. The four right columns show examples of radio resource allocation by a random scheduler that respects the configuration-based resource usage ratio. [Table 3]
[0102] Thus, radio resources are allocated to each stream when relevant: S1 is allocated three time slots, S2 is allocated four time slots, and S3 is allocated four time slots. Finally, whenever any stream configuration occurs, the resource scheduler randomly selects the stream to be allocated, for example, as shown in Figure 8.
[0103] In the following example, the configuration-based resource utilization ratio targets unequal sharing of resources with higher priority on S1. The table below shows examples of configuration-based resource utilization ratios that satisfy the normalization condition in the left two columns. For each stream k, ρ k,j (W) There is at least one configuration C such that is non-zero. j The condition that exists is also satisfied. The four right columns show examples of radio resource allocation by a random scheduler that respects the configuration-based resource usage ratio. [Table 4]
[0104] Thus, radio resources are allocated to each stream relative to the higher priority given to S1: S1 is allocated six time slots, S2 is allocated two time slots, and S3 is allocated three time slots. Finally, whenever any stream configuration occurs, the resource scheduler randomly selects the stream to be allocated, for example, as shown in Figure 9.
[0105] b) Round Robin Scheduler The round-robin scheduler is described in Section 7.7 of Arpaci-Dusseau's book "Operating Systems: Three Easy Pieces" (Chapter 7, Arpaci-Dusseau Books, 2014). Such a resource scheduler allocates equal portions to each stream in a circular order without priority, as shown in Figure 10. In this figure, the round-robin scheduler allocates radio resources without any guidance. Essentially, the scheduler permanently turns on all streams to allocate radio resources, regardless of each stream's resource consumption or their needs. This leads to a waste of radio resources.
[0106] In one embodiment, the round-robin scheduler counts per round the amount of radio resources allocated to each stream within a common window W. When the amount of radio resources reaches a value for a stream derived from the configuration-based resource usage ratio, that stream is removed from the scheduler at W.
[0107] More precisely, W and the composition C j Given,the number of allocation attempts that each stream will make in,W,is known.,Guidance, i.e., configuration-based resource utilization ratios,is used to estimate the fraction of these attempts that must be,considered. Thus, for a given configuration,C, j The ratio ρ k,j (W) Stream S reached k will not be considered by the scheduler for the next allocation attempt for this configuration within the common window W.
[0108] Round-robin scheduler configured j If the round robin scheduler does not have access to , the round robin scheduler applies the averaged ratio obtained in optional step S105.
[0109] Therefore, the average ratio ρ k (W) Streams that reach ,are not considered by the scheduler for the next allocation attempt within the common window W.
[0110] Considering the following configuration-based resource utilization ratios, ρ1 (W) =50%, ρ2 (W) =33%, ρ3 (W) = 75%, and the message lifetime of the stream in W is D k Given, the number of allocated time slots is n1 as shown in Figure 11. (W) =3, n2 (W) =2, n3 (W) = 6. In fact, configuration C j If ρ is known, S1 has 6 packets or 6 requests for allocation in W. (W) = 50%, then out of the six packets or requests, only three time slots are actually allocated to S1.
[0111] S2 has 6 packets or 6 requests for allocation in W. (W) = 33%, out of 6 packets or requests, only 2 time slots are actually allocated to S2.
[0112] S3 has 8 packets or 8 requests for allocation in W. (W) = 75%, then out of the 8 packets or requests, 6 time slots are actually allocated to S3.
[0113] c) Max Throughput Scheduler In each time slot, the throughput max scheduler allocates radio resources to the stream with the highest expected throughput, as shown in Figure 12. In this figure, the throughput max scheduler allocates radio resources without any guidance, which leads to a waste of radio resources.
[0114] In one embodiment, the throughput max scheduler counts per round the amount of radio resources allocated to each stream within a common window W. When the amount of radio resources reaches a value for a stream derived from the configuration-based resource usage ratio, that stream is removed from the scheduler at W.
[0115] Considering the following configuration-based resource utilization ratios, ρ1 (W) =50%, ρ2 (W) =33%, ρ3 (W) = 75%, and the message lifetime of the stream in W is D k Given this, the number of allocated time slots is n1 as shown in Figure 13. (W) =3, n2 (W) =2, n3 (W) =6.
[0116] FIG. 14 illustrates, in schematic form, an example of a hardware architecture for a processing device 10 configured to calculate configuration-based resource utilization ratios, according to certain embodiments.
[0117] The processing device 10 comprises a processor or CPU (Central Processing Unit) PROC101, a random access memory RAM102, a read-only memory ROM103, a storage unit STCK104 such as a hard disk or a storage medium reader, e.g., an SD (Secure Digital) card reader, and at least one set of communication interfaces COM105 that enable the processing device 10 to send and receive data, all connected by a communication bus 110.
[0118] PROC 101 can execute instructions loaded into RAM 102 from ROM 103, from an external memory (such as an SD card), from a storage medium (such as a HDD), or from a communication network. When processing device 10 is powered up, PROC 101 can read instructions from RAM 102 and execute them. These instructions form a computer program that causes PROC 101 to implement the method described in relation to Figures 5 and 6.
[0119] The methods described in relation to Figures 5-6 may be implemented in software form by execution of a set of instructions by a programmable machine, for example a DSP (Digital Signal Processor), a microcontroller, or a GPU (Graphics Processing Unit), or may be implemented in hardware form by a machine or dedicated component (chip or chipset), for example an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). In general, the processing device 10 includes electronic circuitry adapted and configured to implement the methods described in relation to Figures 5-6.
Claims
1. 1. A method in a system comprising a resource scheduler and a set of devices, each device hosting at least one application, each application transmitting a stream of messages to a receiver corresponding to at least one other device in the set of devices, the method comprising: obtaining, by the device, for each stream, parameters including a message lifetime, a message duration, and the last buffering time of a message of the stream before a given time window begins, wherein the message lifetime is the lifetime of the message when pushed into the application's buffer, and the message duration is the time between the buffering times of two consecutive messages; estimating, by the device, from the acquired parameters, a set of stream configurations within the time window, the stream configurations being defined as a particular configuration of active streams, a stream being active within a given time slot if there is a packet corresponding to a message to be sent or received; calculating, by the device, for each configuration, one configuration-based resource usage ratio per stream such that the configuration-based resource usage ratios for the configurations sum to one, wherein the calculating is performed under the constraint that for each stream, there is at least one configuration for which the configuration-based resource usage ratio for the stream is non-zero; transmitting, by the device, data to the resource scheduler, the data including each configuration with its calculated set of configuration-based resource usage ratios; allocating resources among the streams by the resource scheduler; A method comprising:
2. The method of claim 1 , wherein the obtained parameters further include a resilience value, which is a maximum time an application is allowed to go without receiving packets, and the size of the time window is defined from the resilience value.
3. The method comprises: and for each stream, averaging the configuration-based resource usage ratio of the stream; transmitting data to the resource scheduler includes transmitting, for each stream, an averaged configuration-based resource usage ratio instead of transmitting each configuration having its calculated set of configuration-based resource usage ratios.
3. The method according to claim 1 or 2.
4. Calculating, for each configuration, one configuration-based resource utilization ratio per stream, comprises: selecting a cost function; Choosing a solution method and optimizing the cost function using the selected solution method to calculate, for each configuration, one configuration-based resource utilization ratio per stream such that the configuration-based resource utilization ratios for the configurations sum to one, wherein said calculating is performed under the constraint that, for each stream, there is at least one configuration for which the configuration-based resource utilization ratio for the stream is non-zero; and the cost function comprises the cost function [Equation 1] and [Equation 2] where W is the time window; j is the configuration C j is an index identifying the stream, and k is an index identifying the stream. ρ k,j (W) is the configuration-based resource usage ratio of the stream with index k in the configuration with index j, A k (W) is the set of configurations in the time window W in which the stream is active, [Equation 3] is the channel error probability, n j (W) is the above-mentioned configuration C j 3. The method of claim 1, wherein t is the number of time slots in the time window W in which t occurs.
5. The chosen cost function is [Equation 4] and optimizing the cost function using a selected solution method is k About J k (W) The method of claim 4 , comprising minimizing
6. The chosen cost function is [Equation 5] and optimizing the cost function using a selected solution method is k About J k (W) The method of claim 4 , comprising minimizing
7. The chosen cost function is [Equation 6] and optimizing the cost function using a selected solution method is k About-J k (W) The method of claim 4 , comprising minimizing
8. The solution is Configuration-based resource utilization ratio {ρ k,j (W) } k,j a brute force algorithm in which all possible values of Configuration-based resource utilization ratio {ρ k,j (W) } k,j a random algorithm that randomly selects a set of values for Genetic algorithms and The simplex algorithm, The method of claim 4 , wherein the solver method is selected from a set of solver methods comprising:
9. 3. The method of claim 1 or 2, wherein the transmitted data is used by the resource scheduler to allocate radio resources among the streams.
10. A processing device in a system comprising a resource scheduler and a set of devices, each processing device hosting at least one application, each application sending a stream of messages to a receiver corresponding to at least one of said devices, said processing device: obtaining, for each stream, parameters including a message lifetime, a message duration, and the last buffering time of a message of the stream before a given time window begins, wherein the message lifetime is the lifetime of the message when pushed into the application's buffer, and the message duration is the time between the buffering times of two consecutive messages; estimating a set of stream configurations within said time window from the obtained parameters, said stream configurations being defined as a particular configuration of active streams, a stream being active within a given time slot if there is a packet corresponding to a message to be sent or received; calculating, for each configuration, one configuration-based resource utilization ratio per stream such that the configuration-based resource utilization ratios for said configurations sum to one, said calculating being performed under the constraint that for each stream there is at least one configuration for which the configuration-based resource utilization ratio for said stream is non-zero; sending data to the resource scheduler, the data including each configuration with its calculated set of configuration-based resource utilization ratios; allocating resources among the streams by the resource scheduler; 1. A processing device comprising: at least one processor configured to:
11. 11. A system comprising the processing device of claim 10 and a resource scheduler, the resource scheduler allocating radio resources to each stream taking into account the data transmitted by the processing device.
12. 3. A computer program comprising program code instructions that can be loaded into a programmable device, said program code instructions causing the implementation of a method according to claim 1 or 2 when said program code instructions are executed by said programmable device.
13. 3. A storage medium storing a computer program including program code instructions that, when read from the storage medium and executed by a programmable device, cause the method of claim 1 or 2 to be implemented.
Citation Information
Patent Citations
Techniques for reporting delay budgets for urllc uplink transmissions
US20180042042A1
Resource allocation method in communication system, resource allocation system, and base station used for the same
WO2009057391A1