System and method for scheduling data transmission by device in communication network

By determining the initial transmission order during the data transmission cycle and adjusting it using optimization techniques, scheduling that complies with data transmission constraints is solved, and the problem of clearly modeling of communication networks in the prior art is achieved, and efficient data transmission scheduling is achieved.

CN119449730APending Publication Date: 2025-02-14ROBERT BOSCH GMBH
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411062114.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-08-04
Filing Date
2024-08-05
Publication Date
2025-02-14

Smart Images

  • Figure CN119449730A_ABST
    Figure CN119449730A_ABST
Patent Text Reader

Abstract

A system and method for scheduling data transmissions by devices in a communication network in a data transmission cycle is provided. Scheduling may be determined by determining an initial transmission order of a device in the data transmission period; providing a process using an initial transmission order as an input and outputting a feasible schedule and a total duration of the data transmission cycle for the feasible schedule, wherein the process generates the feasible schedule to meet one or more data transmission constraints imposed by the communication network and / or device; performing the process using the initial transmission order as an input; and iteratively adjusting the initial transmission order and performing the process to obtain an adjusted schedule having an adjusted transmission order, the adjusted schedule minimizing a total duration of the data transmission cycle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The subject matter of the present disclosure relates to a computer-implemented method for scheduling data transmissions performed by devices in a communication network during a data transmission cycle, a computer-readable medium including instructions for causing a processor system to perform the method, a scheduling system including a processing subsystem configured to perform the method, and a communication network including the scheduling system. Background Art

[0002] Communication networks are essential in modern life. For example, telecommunication networks enable data to be transmitted across the world in a seemingly seamless manner, enabling not only voice calls but also the modern Internet. Although such telecommunication networks are typically distributed across different systems and devices, communication networks can also exist within individual systems or devices. For example, in vehicles, a controller area network (also known as a CAN bus) can allow microcontrollers and devices to communicate with each other without the use of a host computer. Another example is a sensor network, in which a group of sensors together monitor and record the physical conditions of the environment.

[0003] However, there may be constraints on data transmission imposed by the communication network. For example, links within a telecommunications network (e.g., physical lines or virtual links) may be limited in their bandwidth. Another example is that the wireless channels used in a wireless telecommunications network may impose restrictions on which channels devices are allowed to be used on, and on the type of access to the channels (e.g., which time slots to use, etc.). There may also be constraints imposed by devices using the communication network. For example, it may be an inherent characteristic of some devices that they cannot receive and transmit data at the same time.

[0004] If these constraints are not properly taken into account in the data transmission of devices, this may lead to so-called interference. For example, there may be overloading or overuse of a shared channel or shared frequency band among devices, which is a common problem occurring in wireless networks. Such interference may negatively impact the data transmission, for example, in terms of the overall throughput of the communication network or the quality of service experienced by individual devices.

[0005] It is known to use scheduling techniques to improve the quality of data transmission. For example, when a device periodically transmits data (e.g., in a data transmission cycle that repeats itself for at least a plurality of cycles), such scheduling techniques may define a transmission order for the devices, such as indicating which device is to be transmitted first, which device is to be transmitted second, etc., and in some cases, such scheduling techniques may explicitly define relative start times for data transmissions performed by the devices. An optimal or appropriate scheduling may, for example, attempt to keep all devices busy while transmitting data, thereby balancing the load of the network, while allowing the devices to share all system or network resources in an efficient manner, thereby balancing the performance of the network. Such scheduling may, for example, maximize throughput, which typically refers to the total amount of data transmission completed per time unit, or minimize the total duration of a data transmission cycle.

[0006] An example of scheduling is scheduling for so-called time-sensitive networking (TSN), which is a set of IEEE 802.1 standards designed to provide precise time synchronization and bounded low latency for data transmission over Ethernet networks. TSN addresses the need for real-time communication in various applications such as industrial automation, automotive systems, and avionics. See, for example, Dürr & Nayak (2016): No-wait Packet Scheduling for IEEE Time-sensitive Networks (TSN) and Yajnanarayana et al. (2017): Optimal Scheduling for Interference Mitigation by Range Information, which describe examples of such scheduling for TSN.

[0007] Disadvantageously, typical approaches to scheduling may require the communication network to be explicitly modeled to a large extent. There are many situations where explicit modeling may not be feasible, for example due to the complexity of the communication network in question, the environment in which it is deployed, or due to incomplete information about the communication network and its environment. Summary of the invention

[0008] It would be desirable to enable scheduling of data transmissions by devices in a communication network in data transmission periods in a manner in which explicit modeling of the communication network is not required or is required to a lesser extent.

[0009] According to a first aspect of the invention, as defined in claim 1, there is provided a computer-implemented method for scheduling data transmissions performed by devices in a communication network in a data transmission period. According to a further aspect of the invention, there is provided a computer-readable medium as defined in claim 13. According to a further aspect of the invention, as defined in claim 14, there is provided a scheduling system configured to perform the scheduling method. According to a further aspect of the invention, there is provided a communication network as defined in claim 15, comprising a scheduling system.

[0010] The above measures provide a scheduling system and method for data transmission performed by a device in a communication network, such as a wired or wireless communication network or a combination thereof. Schematically, such a communication network can be viewed as a graph, which may include nodes and edges, and in the graph, a node may represent a communication device or a group of such devices, and an edge between two nodes may indicate that there is a connection between the two nodes, which means that two devices or two groups of devices can communicate with each other via the transmission of data. Transmittable data may be any type of data, such as all kinds of messages, all kinds of signals, sensor data obtained from one or more sensors, such as radar sensors, lidar sensors, ultrasonic sensors, image sensors, etc. Data transmission performed by a device in a communication network may occur periodically, which means that data transmission performed by a device in a communication network may repeat itself periodically. The corresponding period of data transmission may be referred to as a data transmission period or a reporting period for a case where data transmission involves reporting of data to (one or more) other devices. For example, in the case where data transmission repeats itself every second, the data transmission period may be 1 second long.

[0011] According to the above measures, the data transmission performed by the data in the communication network can be scheduled as follows. For an individual device as a sending device, timing information can be determined. Such timing information can indicate the duration of the data transmission performed by the sending device to each corresponding receiving device during the data transmission cycle. Such timing information can be obtained, for example, by measuring, for example, by transmitting a data unit (e.g., a packet of data of a certain size) from each individual device as a sending device and timing the time spent by the receiving device to receive and in some cases also process the data unit. As explained elsewhere, a network probe can be used for this purpose. Alternatively, the timing information can be measured or estimated in different ways.

[0012] A schedule for data transmission performed by a device in a data transmission cycle can be obtained as follows. Such a schedule can at least define a start time for data transmission performed by the device, for example, as a corresponding timestamp between the start time and the end time of the data transmission cycle, wherein the timestamp represents the time at which the device can start transmission. Obtaining the schedule can involve: determining the initial transmission order of the device in the data transmission cycle. The initial transmission order can serve as a starting point for determining the schedule, and can be adjusted later - and typically - later. The initial transmission order can be used as an input to a process for outputting a feasible schedule and a total duration of the data transmission cycle for the feasible schedule. As will be explained elsewhere, in some embodiments of the process, timing information can be an additional input, while in other embodiments of the process, it may not be an input. The process can generally be configured to generate a feasible schedule to meet one or more data transmission constraints imposed by a communication network and / or device. In other words, the process can strive to generate a schedule that complies with the data transmission constraints or at least generates the schedule as best as possible. Therefore, the adjective "feasible" can be understood to refer to a schedule in which the one or more data transmission constraints are not violated or are only violated to a minimum extent. For example, where a device is not capable of receiving and transmitting data simultaneously, the process may seek to generate a schedule in which the device will not need to receive and transmit data simultaneously during a data transmission period.

[0013] Having obtained a feasible schedule for the initial transmission order, the transmission order may then be iteratively adjusted, and the process may be performed after each adjustment of the transmission order to determine a feasible schedule and a total duration of a data transmission period for the adjusted transmission order. The adjustment process may be repeated, for example in a loop, for example up to a certain number of times, or until the total duration of a data transmission period is below a certain length, or until any other type of objective is achieved. Having completed the adjustment process, the adjusted schedule may be output in the form of scheduling data, which may, for example, be used to schedule data transmissions in data periods of the communication network.

[0014] Advantageously, since the above measures do not require explicit modeling of the communication network, they can be applied to situations where such explicit modeling of the communication network may not be feasible. For this purpose, a process is provided that outputs a feasible, but in most cases not yet optimal, schedule for a certain transmission order. In order to optimize the schedule, the transmission order is adjusted. Thus, the task of optimizing the schedule can be viewed as reformulated as the task of optimizing the transmission order, which may be a simpler problem to solve. In addition, the problem of determining a feasible schedule and the problem of determining an optimal schedule are now separated, which allows separate processes to be adopted to optimize for each individual problem.

[0015] In an embodiment, a machine learning model is used to iteratively adjust the initial transmission order and the process is performed to obtain a schedule with an adjusted transmission order. Such a machine learning model can be trained for the above-mentioned tasks, for example, in a supervised or unsupervised manner.

[0016] In an embodiment, the transmission order of the devices in the data transmission cycle can be determined and adjusted using derivative-free optimization techniques. It has been found that derivative-free optimization techniques, also known as "black box" optimization techniques, are well suited for adjusting the transmission order because such optimization techniques handle non-differentiable functions and uncertainty well because they do not require the functions to be differentiable or noise-free. This allows the problem of adjusting the transmission order to be formulated as an optimization of a black box function, where the optimization uses function evaluation and has no explicit mathematical expressions or gradients. An additional advantage may be that derivative-free optimization techniques may be simpler to implement.

[0017] In an embodiment, the use of such derivative-free optimization techniques includes using a polyhedron classifier for binary classification to approximately represent the upper and lower level sets of the numerically optimized objective function. The adjustment of the transmission order can be proposed as a binary classification problem. The binary classification problem can then be simplified to a convex polyhedron in the learning Hilbert space. The use of such a polyhedron classifier can provide advantages in terms of computational complexity.

[0018] In an embodiment, in the use of this derivative-free optimization technique using a polyhedral classifier for binary classification, auxiliary functions are used, including scalar values ​​corresponding to evaluations of a finite sample from a unit sphere in real space, having the total number of devices in the communication network as dimensions, such as the difference between the mean and the standard deviation and the ratio of the mean to the standard deviation, where the mean and the standard deviation correspond to evaluations of a data transmission period or an evaluation of a schedule as a function of elements from the finite sample from the unit sphere.

[0019] In an embodiment, the process includes performing a binary search to find a feasible start time for a data transmission from a corresponding sending device, wherein performing the binary search includes performing a minimum shift of the start time of the sending device subject to the shift not violating the one or more data transmission constraints, wherein the magnitude of the minimum shift is determined as a function of an accuracy parameter. In other words, in each iteration of the "for" loop, a binary search may be performed to find a feasible start time for sending a data unit from the device. Performing a binary search is a time efficient and easily implemented way to implement the process for all types of communication networks.

[0020] In an embodiment, the process includes: determining a minimum feasible start time for data transmission from a corresponding sending device that is an integer multiple of an accuracy parameter, subject to a shift that does not violate the one or more data transmission constraints. In other words, in each iteration of the "for" loop, the start time can be selected to be as small as possible, up to the accuracy parameter, where "as small as possible" still satisfies the constraints for data transmission.

[0021] In an embodiment, an initial transmission order of the devices is determined in the form of an initial schedule for the devices in a data transmission period, the process uses the schedule as input and outputs a feasible schedule and a total duration of the data transmission period for the feasible schedule, wherein the process includes iteratively shifting the schedule by the earliest start time in the schedule and scaling the schedule in time using a scaling parameter until a feasible schedule is obtained, the process is performed using the initial schedule as input, and the initial schedule is iteratively adjusted using the process to obtain an adjusted schedule that minimizes the total duration of the data transmission period. In other words, the schedule, which can be a vector, is used as input to construct a non-negative second vector with two different components, which can then be scaled until a feasible schedule is obtained.

[0022] In an embodiment, the timing information is determined by recording the duration of data transmissions in the communication network (eg using a network tap).Such network taps are known per se and can be used to obtain timing information used as input to the process of determining a feasible schedule.

[0023] In an embodiment, the scheduling data is sent to the device to configure the device with the schedule. In this way, the device can be configured with the schedule.

[0024] In an embodiment, the device comprises: one or more sensors configured to transmit sensor data in each data transmission cycle. The sensor data may include, for example, radar data, lidar data, ultrasound data, or image sensor data.

[0025] In an embodiment, the communication network comprises one of a wireless network and a wired network or a combination thereof. The communication network may thus be a wired, wireless or hybrid type of communication network. In a specific embodiment, the communication network may be a time sensitive network.

[0026] In a further aspect of the present invention, a communication network may be provided, which comprises the above-mentioned dispatching system.

[0027] In a further aspect of the present invention, the scheduling method and scheduling system omit determining the above-mentioned timing information for individual devices as transmitting devices. Instead, the following process can be provided: it can determine a feasible schedule based on the transmission order as input and (one or more) data transmission constraints as constraints for determining a feasible schedule. Accordingly, the scheduling method and scheduling system can determine a schedule that at least defines the start time for data transmission performed by a device in a data transmission period by the following operations: - Determine the initial transmission order of devices in a data transmission cycle; - providing a process that uses a transmission order as input and outputs a feasible schedule and a total duration of a data transmission period for the feasible schedule, wherein the process generates a feasible schedule to satisfy one or more data transmission constraints imposed by a communication network and / or a device; - the process is performed using the initial transmission order as input; - iteratively adjusting the initial transmission order and performing the process to obtain an adjusted schedule with an adjusted transmission order, the adjusted schedule minimizing the total duration of the data transmission period; and - outputting schedule data defining the adjusted schedule.

[0028] Instead of using timing information, the process can determine whether a schedule is feasible using, for example, an oracle that can verify whether a given schedule is feasible in the sense that it results in the reception of each data packet when the data packet is sent by each device at the scheduled time. The process can use the physical network to verify the feasibility of the schedule.

[0029] It will be appreciated by those skilled in the art that two or more of the above-mentioned embodiments, implementations, and / or alternative aspects of the invention may be combined in any way deemed useful.

[0030] Modifications and variations of any device, system, network, computer-implemented method, and / or any computer-readable medium corresponding to the described modifications and variations of such entities may be implemented by one skilled in the art on the basis of this description. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] Further details, aspects and embodiments will be described by way of example only, with reference to the accompanying drawings. The elements in the figures are illustrated for simplicity and clarity and are not necessarily drawn to scale. In the figures, elements corresponding to elements already described may have the same reference numerals. In the drawings, Figure 1 shows a communication network modeled as a graph network; Figure 2 , 3and 4 show the Figure 1 An example of scheduling of a communication network shown in; Figure 5 A method for scheduling data transmissions by devices in a communication network during a data transmission period is shown; Figure 6a A computer-readable medium having a writable portion including a computer program according to an embodiment is shown; and Figure 6b A representation of a processor system according to an embodiment is shown.

[0032] Reference numerals list The following list of reference numerals and abbreviations is provided to facilitate the explanation of the drawings and should not be construed to limit the claims.

[0033] 100 Communication Network 101 First Equipment 102 Second Device 103 Third Device 112 Connection between first and second device 113 Connection between the first device and the third device 123 Connection between second and third device 200 Scheduling 201 Timing information for the first device 202 Timing information for the second device 203 Timing information for third device 211 Total duration of the data transmission cycle 300 Scheduling 301 Timing information for the first device 302 Timing information for the second device 303 Timing information for third device 311 Total duration of the data transmission cycle 400 Scheduling 401 Timing information for the first device 402 Timing information for the second device 403 Timing information for third device 411 Total duration of the data transfer cycle 500 Method for scheduling data transmission by a device in a communication network 510 Confirm timing information 520 Determine a schedule for data transmission by a device 521 Determine the initial transmission order of the device 522 Provide a process for determining feasible schedules 523 Execute a procedure using the initial transmission order as input 524 Iteratively adjust the initial transmission order 530 Outputs schedule data that defines an adjustable schedule 1000 Optical storage devices 1001 Memory Card Data stored in 1020 and 1021 1140 Processor System 1110 Subsystem or component 1120 Processing Subsystem 1122 Memory 1124 ASIC 1126 Communication Interface 1130 Interconnect DETAILED DESCRIPTION

[0034] While the subject matter of the present disclosure is susceptible to embodiments in many different forms, one or more specific embodiments are shown in the drawings and will be described in detail herein, with the understanding that the present disclosure should be considered illustrative of the principles of the subject matter of the present disclosure and is not intended to be limited to the specific embodiments shown and described.

[0035] In the following, for the sake of understanding, the elements of the embodiments are described in operation. However, it will be apparent that the respective elements are arranged to perform the functions described as being performed by them.

[0036] Furthermore, the subject matter of the disclosure is not limited only to the embodiments, but comprises every other combination of the features described herein or recited in mutually different dependent claims.

[0037] Figure 1 An example of a communication network 100 is shown, which for explanation purposes is shown as being modeled as a graph. The graph is shown to contain three nodes 101, 102, 103, which may represent three communicating devices or three groups of such devices. Edges 112, 113, 123 between the nodes indicate that the devices 101-103 are connected to each other, which means that the three devices can all communicate with each other via corresponding data transmissions. Figure 1 In the exemplary communication network 100 of FIG. 1 , each of the devices 101 - 103 can transmit data to another device and receive data from another device. The communication network 100 can be, for example, a wired or wireless communication network or a hybrid network.

[0038] It should be noted that Figure 1The graph representation of a communication network is a highly simplified representation of the communication network, omitting e.g. the physical location of the devices, the type and quality of the connections between the devices, etc. Alternatively, when the communication network is represented by a graph, such aspects may also be represented in the graph, e.g. by labeling the nodes and edges.

[0039] The following references Figure 2-4 and elsewhere describe various detailed embodiments of the scheduling method and system, with reference to Figure 5-6b These detailed embodiments are described using mathematical concepts and schemes that illustrate the principles of the disclosed subject matter but are not intended to limit the disclosed subject matter because those skilled in the art will be able to design other embodiments using the same principles.

[0040] Hereinafter, the terms "node" and "device" may be used interchangeably, which means that a reference to a node may refer to a reference to the corresponding device represented by the node. Figure 1 The devices 101-103 are referred to as devices 1, 2 and 3. For each of devices i=1, 2, 3, the subset of devices may be identified by out(i) to which device i transmits data and in(i) from which device i receives messages.

[0041] In some of the following embodiments, as an initial step, timing information may be obtained for a communication network. Such timing information may, for example, be information about the time interval during which a packet sent from node i is processed by node k∈out(i). Such timing information may be obtained in various ways, such as by measurement or by estimation. Examples of measurements of timing information may be the following. First, from device i, a pilot signal that may form a data unit may be sent to device k. A data packet of a given size may be sent, which may form a pilot signal and may correspond to a packet size that should be used later for data transmission, without implementing other data transmissions during the process. In this way, interference may be avoided. Then, using an additional device such as, for example, a network splitter, timing information associated with receiving and optionally processing data packets may be recorded. The process may be repeated for each of the relevant devices k and for each sending device i.

[0042] Accordingly, for each device k∈out(i), the time interval can be obtained During this time, the data packet has been transmitted from device i to device k and has been processed by device k. can denote the time interval during which a data packet has been sent by node i, then Can be marked as shifted The corresponding time interval The indicator function of .

[0043] Figure 2 An example of timing information 201 for a first device 1, timing information 202 for a second device 2, and timing information 203 for a third device 3 is shown. 21 and d 31 The communication delays between device 101 and devices 102 and 103 can be marked respectively. Note that these values ​​do not depend on θ1. The three graphs 201-203 can be regarded as depicting p shifted by θ1. 11 、p 21 and p 31 (Right now, ). In this example, device 1 may not be able to send and receive messages at the same time, as shown below from p 11 Choice: For p 11 A non-zero selection of indicates that the first device is occupied during the transmission. 11 The support of can be the following interval: its first endpoint is θ1, and the other endpoint is the time when device 1 completes sending the data packet. Here, the interval is shifted It can ensure that p ki can represent the time interval during which the corresponding device k can process the data packet, since it is transmitted if device i starts communicating exactly at time 0. Note that for i not in the set in(k), p ki can be assumed to be 0. Now, t i It can be the maximum time t such that for a device k∈out(i), p ki (t)≠0, which may be the time during which a data packet from device i arrives at all devices in out(i). Now, the total duration of a data transmission period, which may also be referred to as a reporting period or an update period, may be the total duration 211 during which each of the devices i sends and transmits one data unit to each of the devices in out(i).

[0044] Use by T α The shift operator T on the real function denoted by f(t)=f(t-α) (where α is also a real number) α , for all real t, the problem of minimizing the reporting period denoted by τ, which can be viewed as maximizing the throughput of the network, can be formulated as follows:

[0045] A feasible solution to the minimization problem can be represented by a vector θ=(θ1, θ2, θ3) of dimension n corresponding to the number of devices in the communication network. n) are denoted. A feasible solution may satisfy the constraints of the minimization problem, which may form a feasibility condition (and represent a data transmission constraint as mentioned elsewhere). Together with the final minimized reporting period τ corresponding to the feasible solution, the pair (θ, τ) may be referred to as a feasible configuration of the network, and θ may be referred to as a feasible schedule for the communication network. A feasible configuration may give information about possible transmission delays during a data transmission period. The component θ i Then we can indicate the time point θ i ,θ i +2τ、θ i +3τ, ..., at which device i may be expected to transmit a data unit in a data transmission cycle. Signals f1>0 and f2>0 may be referred to as The feasibility condition can ensure that data packets sent according to the corresponding feasible scheduling do not interfere.

[0046] The following describes different processes for generating feasible solutions based on a given transmission order of devices. Processes 1 and 2 can receive a permutation π of devices i∈[n] and schedule data transmissions for each i in the order defined by π. For each device i, the corresponding process can determine θ i , so that the signal from i does not interfere with the signals of the devices already considered. At the end of both processes, the duration τ of the reporting period can be calculated. Each process can use a sufficiently small value δ, for example, as part of the input or alternatively as an internal parameter, which can serve as an accuracy parameter. By choosing a larger value of δ, the robustness of the solution can be improved at the expense of an increased reporting period.

[0047] Process 1 Return (θ, τ) where θ = (θ1,...,θ n ) Using the above process, a binary search can be used at each iteration of the for loop to find a feasible start time for the packet from the current device i. The following process can be more time-consuming than process 1, but in this process, at each iteration, θ i can be chosen as small as possible, up to accuracy δ: Process 2 Return (θ, τ) where θ = (θ1,...,θ n ).

[0048] The third process may receive as input a vector x, which may represent an initial set of relative start times of data transmissions of the devices, and thus may also indicate an initial transmission order. Using x, the third process may construct a non-negative vector x' with two-to-two different components and scale the non-negative vector x' until a feasible configuration θ is obtained. The third process may not require explicit use of p ki Alternatively, the third process may utilize an oracle (which may be implemented in any reasonable manner) to detect when a data packet is received at time θ. i When sent by each device i, the oracle can verify whether a given vector θ is feasible in the sense that it results in the reception of each data packet. In this scenario, the physical network can be used to verify the feasibility of the start time defined by θ, without using the original calculation p ki Additional network equipment will be required. Instead, it may be sufficient to determine only out(i) for each i. For example, to verify the feasibility of θ, it may be sufficient to check whether all pilot data packets sent from each i are received by the devices in out(i) when using the components of θ as the starting time.

[0049] Process 3 Let τ be the value of using θ i The maximum value of the arrival time of the data packet at device out(i) over i∈[n] as the start time of sending the packet from i. Returns (θ,τ).

[0050] Considering the above-mentioned process for calculating a feasible schedule based on an initial set of initial transmission orders or start times, the above-mentioned initial transmission orders or initial set of start times can be adjusted so as to optimize the total duration of the data transmission period. More specifically, an optimization algorithm can be used to determine a reasonably good arrangement π for processes 1 and 2 and a vector x for process 3. The optimization algorithm can be a derivative-free optimization algorithm (e.g., a black-box optimization algorithm), parts of which can be implemented by machine learning, for example, as a machine learning model.

[0051] Let S be the The unit sphere in : Let A be one of the three processes above: process 1, process 2, or process 3. Let π x is the permutation of [n] associated with x by sorting the devices in ascending order of the components of x. The following problems can be considered: where f(x) is equal to the value applied to the permutation π xOr τ in the output of A applied directly to x in the case where A is process 3. Further, assume that the parameter δ is fixed.

[0052] In the black-box optimization algorithm described below, evaluations of a finite sample X from S are used. Let g(f, X) be the corresponding evaluation expressed in the form of a scalar value. g can be defined by the user. Some reasonable choices for g could be, for example, g(X) = avg(f, X) - std(f, X) or g(X) = avg(f, X) / std(f, X), where are the mean and standard deviation of f on X respectively.

[0053] When defined as in the above example for g, if g(f, X') < g(f, X), then the corresponding evaluation of X' may be considered better than the evaluation of X.

[0054] In a black-box optimization algorithm, whenever a subset of solutions is sampled, the current best solution x* can be updated. The corresponding new solution for sample X can be updated(f, X, x * ), which can be: if min X f<f(x * ), argmin X f, where x* may be the current best solution; or otherwise, the same x*. Every opportunity to update x* may be used.

[0055] Black-box optimization problem Input: Question (1) Output: Feasible configuration (θτ) Sample the solution x* from S. Let x* be the current best solution while the stopping condition is not reached (for example, the upper limit on the number of iterations is not exceeded) do Using any available strategy, select Make it non-existent Where parent(C′)=C. For a finite set X from a uniform distribution on C C Take a sample (Sample size is a hyperparameter) Let x* be the best solution found. Return the feasible configuration (θ,τ) returned by the selected process A with respect to x*.

[0056] Note that in the above algorithm, whenever a vector is randomly drawn from a given set, a zero probability of an event is assumed where two vector entries with different indices are equal (this is the case, for example, when using a uniform distribution). In practice, however, if a vector is drawn where some of its entries are equal, one can simply apply the random generator again on the corresponding set until a stable vector is found, or use any other suitable procedure to ensure that the entries are pairwise different.

[0057] To find the matrix H and the vector d, methods as described in, for example, DE 102020213253 can be used. Furthermore, considering the hyperparameter μ∈(0,1), the choice of α0 and α1 in the above algorithm can be made according to one of the following two options (median or mean): · Let α be the median or mean of the set (f(x): x∈X). Set α0: = α-μ·(α-min X f) and α1: = α + μ·(max X f-α).

[0058] The existence of a suitable system Hx≤d to be used in the algorithm can be determined by X + and X - is a subset of the sphere.

[0059] Black box optimization algorithms can construct + All solutions of excluding X - The polyhedron of any solution of (defined by Hx≤d). Let S + and S - According to X + and X - If X is large enough, then with high probability, a random selection of X will yield a polyhedron such that a randomly selected point x enters S. - And enter X at the same time + The probability is less than a given value ε>0. This results from the scheme presented in DE102020213253. Therefore, the condition can be interpreted as a "proper" necessary optimality condition, because S - Contains the optimal solution and consists of the set This motivates the branching step of the black-box optimization algorithm, where C i At other iterations, the role of S is played by the corresponding spherical cap C.

[0060] Figure 3 and 4 The diagram illustrates the adjustment of the transmission order by, for example, the black box optimization algorithm mentioned above for an example in which simultaneous transmission and reception are not allowed. More specifically, Figure 3 and 4Data transmissions by devices 1-3 along respective horizontal axes are shown. These data transmissions may occur according to a schedule 300, 400 based on a given transmission order. Figure 3 In , the transmission order is π = (1; 2; 3), and in Figure 4 In , the transmission order is π=(2; 1; 3). It can be seen that the latter transmission order results in a shorter data transmission period 411 relative to the data transmission period 311 for the former transmission order.

[0061] In general, the scheduling methods and systems described in this specification can be used to configure various types of communication networks, including but not limited to those based on TSN standards and TSM specifications. For example, at the configuration stage, all gates of the TSN device can be kept open, and a feasible configuration (θ; τ) can be selected using process 3. Thereafter, the corresponding scheduling for node i∈[n] should ensure the flow of data streams without any collisions. If there is a need to protect the corresponding traffic volume, the highest priority can be assigned to the current data stream and the TSM mechanism can be used to repair the corresponding time slots for each of the nodes. The corresponding gates can then be opened only for the highest priority traffic in these time slots. Then, if a new data stream that does not belong to the scheduled traffic volume is registered, a lower priority can be given to the new data stream, in which case it will be processed outside the time slot assigned to the highest priority traffic volume for which the corresponding time slot has been allocated.

[0062] Figure 5A method 500 of scheduling data transmissions by devices in a communication network in a data transmission period is shown. The method 500 may correspond to the operation of a scheduling system as described elsewhere in this specification. However, this is not a limitation, as the method 500 may also be performed using another system, apparatus, or device. The method 500 may include: in a step entitled "Determining Timing Information", determining 510 timing information as described elsewhere in this specification; and in a step entitled "Determining a Schedule for Data Transmissions by a Device", determining 520 a schedule that defines at least a start time for data transmissions by a device in a data transmission period. Step 520 may include: in a substep titled "Determining an initial transmission order of devices", determining 521 an initial transmission order of devices in a data transmission period; in a substep titled "Providing a process for determining a feasible schedule", providing 522 a process that uses the transmission order and timing information as input and outputs a feasible schedule and a total duration of a data transmission period for the feasible schedule, wherein the process generates the feasible schedule to satisfy one or more data transmission constraints imposed by the communication network and / or the device; in a substep titled "Performing a process using the initial transmission order as input", performing 523 a process using the initial transmission order as input; and in a substep titled "Iteratively adjusting the initial transmission order", iteratively adjusting 524 the initial transmission order and performing the process to obtain an adjusted schedule with an adjusted transmission order, the adjusted schedule minimizing the total duration of the temporal transmission order. Method 500 is further shown as including: in a step titled "Outputting scheduling data defining the adjusted schedule", outputting 530 scheduling data defining the adjusted schedule. Such schedule data may represent a data representation of the output schedule, which may take any (known) form.

[0063] You should understand that Figure 5 The steps of method 500 may be performed in any suitable order (eg, serially, concurrently, or a combination thereof) subject to a particular order being necessitated (eg, by input / output relationships).

[0064] The method(s) may be implemented on a computer, as a computer-implemented method, as dedicated hardware, or as a combination of both. Figure 6a As illustrated in , instructions for a computer (e.g., executable code) may be stored on a computer-readable medium 1000, 1001, for example, in the form of a series 1020, 1021 of machine-readable physical marks and / or as a series of elements having different electrical (e.g., magnetic) or optical properties or values. The computer-readable medium 1000, 1001 may be a transient or non-transient medium. Examples of computer-readable media include memory devices, optical storage devices, integrated circuits, etc. As an example, Figure 6a An optical storage device 1000 and a memory card 1001 are shown.

[0065] Figure 6b A processor system 1140 is shown that can implement a scheduling system as described elsewhere in this specification. The processor system may include one or more subsystems or components 1110. For example, a processing subsystem 1120 may be provided for executing a computer program component to perform scheduling as described elsewhere in this specification. A memory 1122 may be provided for storing programming code, data, etc. A communication subsystem 1126 (such as a network interface) may allow communication with other entities. In some examples, a dedicated integrated circuit 1124 may be provided for performing part or all of the processing related to scheduling. The processing subsystem 1120, the memory 1122, the dedicated IC 1124, and the communication subsystem 1126 may be connected to each other via an interconnect 1130 (e.g., a bus). Although the system 1140 is shown as including one of each of the described components, various components may be replicated in various embodiments. For example, the processing subsystem 1120 may include: a plurality of microprocessors configured to independently perform the methods described in this specification or configured to perform the steps or subroutines of the methods described herein, so that a plurality of processors cooperate to implement the functions described in this specification. Further, in the case where the system 1140 is implemented in a cloud computing system, the various hardware components may belong to separate physical systems. For example, the processing subsystem 1120 may include a first processor in a first server and a second processor in a second server.

[0066] In general, each entity described in this specification may be embodied as a device or apparatus or in a device or apparatus. The device or apparatus may include one or more (micro) processors that execute appropriate software. The (one or more) processors of the corresponding entity may be embodied by one or more of these (micro) processors. The software that implements the functions of the corresponding entity may have been downloaded and / or stored in the corresponding one or more memories, for example, stored in a volatile memory (such as RAM) or stored in a non-volatile memory (such as flash memory). Alternatively, the (one or more) processors of the corresponding entity may be implemented in the device or apparatus in the form of programmable logic (for example, as a field programmable gate array (FPGA)). Any input and / or output interface may be implemented by the corresponding interface of the device or apparatus. Each functional unit of the corresponding entity may be implemented in the form of a circuit or circuit system. The corresponding entity may also be implemented in a distributed manner (for example, involving different devices or apparatuses).

[0067] Regardless of whether or not indicated as non-limiting, the examples, embodiments, or optional features should not be construed as limiting the invention as claimed.

[0068] It should be noted that the above-mentioned embodiments illustrate rather than limit the present invention, and that a person skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. In the claims, any reference numerals placed between brackets should not be understood as limiting the claims. The use of the verb "comprise" and its variations does not exclude the presence of elements or stages other than those stated in the claims. The article "one" or "an" before an element does not exclude the presence of multiple such elements. Expressions such as "at least one of..." when preceding a list or group of elements represent a selection of all elements or any subset of elements from the list or group. For example, the expression "at least one of A, B, and C" should be understood to include only A, only B, only C, both A and B, both A and C, both B and C, or all of A, B, and C. The present invention may be implemented by hardware comprising several different elements and by appropriately programmed computers. In a device claim that lists several devices, several of these devices may be embodied by the same item of hardware. The mere fact that certain measures are recorded in mutually different dependent claims does not indicate that the combination of these measures cannot be used to profit.

Claims

1. A computer-implemented method (500) for scheduling data transmissions by devices in a communication network (100), wherein the data transmissions by the devices in the communication network repeat themselves periodically, wherein respective periods of the data transmissions represent data transmission periods, wherein the data transmission period repeats itself for at least a plurality of periods, the method (500) comprising: - for each individual device (101) being a sending device, determining (510) timing information (201, 202, 203; 301, 302, 303; 401, 402, 403) indicating the duration of a data transmission by said sending device (101) to each respective receiving device (102, 103) during said data transmission period; - determining (520) a schedule (200, 300, 400) defining at least a start time for a data transmission performed by a device (101, 102, 103) in said data transmission period by: o determining (521) an initial transmission order of devices (101, 102, 103) in said data transmission cycle; o providing (522) a process that uses the transmission order and the timing information (201, 202, 203; 301, 302, 303; 401, 402, 403) as input and outputs a feasible schedule and a total duration (211, 311, 411) of the data transmission period for the feasible schedule, wherein the process generates the feasible schedule to satisfy one or more data transmission constraints imposed by the communication network (100) and / or the device (101, 102, 103); o performing (523) the process using the initial transmission order and the timing information as input; o iteratively adjusting (524) the initial transmission order and performing the process to obtain an adjusted schedule (200, 300, 400) with the adjusted transmission order, the adjusted schedule (200, 300, 400) minimizing the total duration (211, 311, 411) of the data transmission period; - outputting (530) schedule data defining the adjusted schedule (200, 300, 400).

2. The computer-implemented method (500) of claim 1, further comprising: A machine learning model is used to iteratively adjust the initial transmission order and perform the process to obtain a schedule (200, 300, 400) with the adjusted transmission order.

3. The computer-implemented method (500) of claim 1 or 2, further comprising: A derivative-free optimization technique is used to determine and adjust the transmission order of devices (101, 102, 103) in the data transmission cycle.

4. The computer-implemented method (500) of any preceding claim, wherein using the derivative-free optimization technique comprises: A polyhedral classifier for binary classification is used to approximately represent the upper and lower level sets of the numerically optimized objective function.

5. A computer-implemented method (500) according to claim 4, wherein auxiliary functions are used, including scalar values ​​corresponding to evaluations from a finite sample of a unit sphere in real space, having as dimensions the total number of devices (101, 102, 103) in the communication network (100), such as the difference between a mean and a standard deviation and the ratio of a mean to a standard deviation, wherein the mean and the standard deviation correspond to an evaluation of the data transmission period or an evaluation of the schedule as a function of elements from the finite sample of the unit sphere.

6. The computer-implemented method (500) of any one of claims 1 to 5, wherein the process comprises: A binary search is performed to find feasible start times for data transmission from a corresponding sending device (101), wherein performing the binary search comprises performing a minimum shift of the start time of the sending device (101) subject to a shift that does not violate the one or more data transmission constraints, wherein the magnitude of the minimum shift is determined according to an input accuracy parameter and / or an internal accuracy parameter.

7. The computer-implemented method (500) of any one of claims 1 to 5, wherein the process comprises: A minimum feasible start time for data transmission from a respective transmitting device (101) is determined as an integer multiple of an input accuracy parameter and / or an internal accuracy parameter subject to a shift that does not violate the one or more data transmission constraints.

8. The computer-implemented method (500) of any one of claims 1 to 5, wherein: - an initial transmission order of the devices (101, 102, 103) is determined in the form of an initial schedule for the devices (101, 102, 103) in said data transmission period; - the process uses a schedule as input and outputs a feasible schedule (200, 300, 400) and a total duration (211, 311, 411) of the data transmission period for the feasible schedule (200, 300, 400), wherein the process comprises iteratively shifting the schedule by an earliest start time in the schedule and scaling the schedule in time using a scaling parameter until a feasible schedule (200, 300, 400) is obtained; - said process is performed using said initial schedule as input; and - The initial schedule is iteratively adjusted using the process to obtain an adjusted schedule that minimizes the total duration (211, 311, 411) of the data transmission period.

9. The computer-implemented method (500) of any preceding claim, further comprising: The timing information (201, 202, 203; 301, 302, 303; 401, 402, 403) is determined by recording the duration of data transmission in the communication network (100), for example using a network tap.

10. The computer-implemented method (500) of any preceding claim, further comprising: The schedule data is sent to a device (101, 102, 103) to configure the device (101, 102, 103) with the schedule (200, 300, 400).

11. The computer-implemented method (500) of any one of the preceding claims, wherein the device (101, 102, 103) comprises: One or more sensors are configured to transmit sensor data in each data transmission cycle.

12. The computer-implemented method (500) of any one of the preceding claims, wherein the communication network (100) comprises one of a wireless network and a wired network or a combination thereof.

13. A transient or non-transient computer readable medium (1000, 1001) comprising data (1020, 1021) representing a computer program, the computer program comprising instructions for causing a processor system to perform a method according to any one of claims 1 to 12.

14. A scheduling system (1140), comprising: A processing subsystem (1120) configured to perform the method according to any one of claims 1 to 12 to determine a schedule for a device in a communication network; and an output interface (1126) for outputting schedule data defining the schedule.

15. A communication network (100) comprising the dispatching system according to claim 14.

Citation Information

Patent Citations

  • Computer-implemented consistent classification methods

    DE102020213253A1