Allocation of services across a set of heterogeneous radio communication data links
The method optimizes service flow allocation across heterogeneous radio communication links in mobile devices by converting performance parameters into objective values and scheduling services based on predefined criteria, ensuring continuous high-priority service delivery in dynamic environments.
Patent Information
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-09-22
- Publication Date
- 2026-03-06
AI Technical Summary
Existing systems struggle to optimally allocate service flows across heterogeneous radio communication data links in mobile devices, such as drones, due to varying connectivity and performance caused by mobility and environmental factors, necessitating a solution to determine which data link to use based on performance and service requirements.
A method involving performance parameter determination, conversion to objective values independent of link type, selection based on these values, and scheduling criteria to assign services effectively across data links, utilizing a modular architecture for data link management and service allocation.
Ensures continuous high-priority service delivery by dynamically allocating services to the most suitable data links, adapting to changing conditions, and maintaining connectivity in mobile devices.
Abstract
Description
Title of the invention: Assignment of services over a set of heterogeneous radio communication data links. FIELD OF THE INVENTION
[0001] The present invention relates to the allocation of service flows over a set of data links established between a device and at least one remote station.
[0002] The invention relates in particular to vehicles, especially aerial vehicles. It can in particular be applied to unmanned aerial vehicles, commonly called drones or UAS (for "Unmanned Aircraft System" in English).
[0003] Typically, such a device has several data links, in particular radio communication links, which may be heterogeneous, i.e. use several technologies, in order to maximize the connectivity of the device, particularly in the case where it is a vehicle whose mobility may cause connectivity and performance to vary over time for each technology.
[0004] The problem then arises of determining which data link to use depending on the evolution of their performance.
[0005] In particular, the device can implement a plurality of service streams with one or more remote stations. It is therefore necessary to assign each service stream to the available radio links according to the requirements of these service streams and the performance of these radio links.
[0006] Various mechanisms have been proposed to allow the classification of the different available data links. For example, within the EUROCAE consortium, the WG105 SG2 working group is developing specifications and solutions with a view to establishing standards on radio data links and their management, usable for civil drone systems.
[0007] There is therefore a need to provide solutions to the recommendations of this working group, and more generally, to supplement current state-of-the-art proposals aimed at optimizing the allocation of a set of service flows to a set of data links. Summary of the invention
[0008] To this end, according to a first aspect, the present invention can be implemented by a method of assigning a set of services to a set of data links between a mobile device and at least one station, said method comprising: - a step of selecting a subset of data links comprising herself: - a sub-step for determining performance parameters for each data link in said set of data links, - a sub-step for converting said performance parameters into objective values that do not depend on the type of said data link, and - a sub-step of selecting said data links based on said objective values; - a step of ordering the data links of said subset according to at least one ordering criterion; - an assignment step including an assignment of said services according to a scheduling of said services and said scheduling of data links.
[0009] According to preferred embodiments, the invention comprises one or more of the following features which can be used separately or in partial combination with each other or in total combination with each other: - said set of data links is provided by a set of equipment on board said mobile device and enabling radio communication with said at least one station; - said scheduling is carried out by considering each scheduling criterion according to a predefined order; - said at least one scheduling criterion includes throughput, quality of service, and latency; - said scheduling step includes a phase of measuring high-level parameters chosen according to said at least one scheduling criterion, and said scheduling being carried out on the basis of said high-level parameters; - said objective values are determined by comparing said performance parameters on a predetermined scale according to the type of performance parameter; - said selection sub-step includes the determination of a representative value for each data link, based on a rule for aggregating said objective values.
[0010] Another aspect of the invention relates to a computer program comprising instructions for implementing such as previously described when said program is deployed on an information processing platform.
[0011] Another aspect of the invention relates to storage means characterized in that they store a computer program comprising instructions to implement, by a device, the process as previously described, when said program is executed by a processor of said device.
[0012] Another aspect of the invention relates to a mobile device comprising a set of embedded equipment, each associated with at least one data link from a set of data links, and a first module adapted to select a subset of data links from said set, said first module comprising: - a first sub-module adapted to determine performance parameters for each data link from said set of data links, - a second sub-module to convert said performance parameters into objective values that do not depend on the type of said data link, and - a third sub-module to select said subset according to said objective values; - said mobile device further comprising a second module adapted for scheduling the data links of said subset according to at least one scheduling criterion; and a third module adapted for assigning services according to a scheduling of said services and said scheduling of the data links
[0013] Other features and advantages of the invention will become apparent from the following description of a preferred embodiment of the invention, given by way of example and with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE FIGURES
[0014] The attached drawings illustrate the invention: Figure [1] schematically illustrates a deployment context of a process according to an embodiment.
[0015] Figure [Fig. 2] represents a simplified flowchart of a process according to a mode of realization.
[0016] Figure 3 schematically represents an example of the functional architecture of a mobile device according to another embodiment.
[0017] Figures [Fig.4a] and [Fig.4b] schematically represent two embodiments with two different types of modem, according to implementations of the invention.
[0018] Figure 5 illustrates an example of scheduling according to one embodiment.
[0019] DETAILED DESCRIPTION OF EMBODIMENT METHODS OF THE INVENTION
[0020] A method is proposed for assigning a set of service flows to (or on) a set of data links between a mobile device and at least one station.
[0021] According to one embodiment, the mobile device can be an aerial vehicle. It can, for example, be an unmanned aerial vehicle, or drone (or UAV for "Unmanned aircraft vehicle" in English).
[0022] For a drone, it is essential that it is always connected to a station so that a pilot can always have control of it.
[0023] But there are also other situations where it may be important or advantageous for a mobile device to be in communication via one or more data links with a station.
[0024] The station is conventionally a ground station. As the device is mobile, the data links are typically radio communication links.
[0025] Fig. 1 illustrates an example of such a deployment context of a mobile device 10 connected to a station 11 by several data links, DL1, DL2, DL3.
[0026] These data links can be of various types and correspond to different technologies.
[0027] For example, a DL2 link can be a direct link between the mobile device 10 and the station 11, which can be of the "line of sight" (LOS) type. This type of data link relies on direct data transmission without the intermediary of a telecommunications network.
[0028] Another DL1 link may be based on a satellite network comprising one (or a fleet of) satellites 12 and a ground station 13. A telecommunications satellite, or "satcom", is an artificial satellite placed in space for telecommunications purposes. Depending on the need, it operates in a geostationary orbit, a low Earth orbit, or a Molnia orbit, from which it relays the signal emitted by transmitting stations to receiving stations 13.
[0029] Another DL3 link can be based on a cellular network of type 4G, 5G.... This DL3 link allows the mobile device 10 to communicate with the station 11 via the infrastructure 14 of the cellular telecommunication network.
[0030] Thus, a single mobile device 10 can incorporate a set of equipment (or "modems") enabling the establishment and use of these data links according to these different technologies. For example, it may include a first piece of equipment for the satcom data link, a second piece of equipment for the LOS data link, DL2, and a third piece of equipment for the cellular data link, DL3. Obviously, other types of data links are also conceivable.
[0031] The performance of the various data links may vary over time, particularly due to changing weather conditions and the movement of the mobile device. For example, this performance may be affected by obstacles obstructing the LOS, DL2, or DL3 link with the infrastructure 14 of a cellular telecommunications network.
[0032] Also, the communication capabilities on each link may vary over time.
[0033] Furthermore, the mobile device 10 must ensure the transmission of various data streams related to services. These services include: - the control and command services of the mobile device. This could, for example, be the C2 services currently being specified by the Eurocae organization in its working group WG 105, SG2. - UTM air traffic services (for "Unmanaged Traffic Management") - Visual line-of-sight (FPV) piloting services (for "First Pilot View" in English), - telemetry services, - "Payload" type services, for example the downloading of videos captured by the mobile device, etc.
[0034] Each service involves different constraints in terms of upstream and / or downstream throughput, latency (or "jitter"), quality of service (for example, packet loss rate)...
[0035] As will be seen later, these services can be associated with different priority levels, and a ranking can thus be defined among the services. It is clear, for example, that in the case of a drone, the control / command service has a higher priority than downloading videos.
[0036] One challenge is therefore to allocate services to available data links, so as to ensure continuity of service at least for the highest priority services.
[0037] In other words, it involves routing the traffic from these services over these data links. As will be seen later, in one embodiment, it may be possible to perform advanced routing between several data links by switching them or by making the transmission packets redundant.
[0038] Figure [Fig. 2] illustrates a simplified flowchart of a proposed process.
[0039] It is assumed in a prior step not shown that the various on-board equipment (modems...) are correctly initialized and parameterized.
[0040] In an SI step, a step is implemented to select a subset of data links from among the available data links.
[0041] This step is based on radio performance measurements provided by the on-board equipment, these performance measurements being relative to the lower layers of the OSI model.
[0042] Being linked to the underlying radio technology, performance measurements may vary depending on the technology (cellular, LOS, satcom...).
[0043] To manage these issues, this IT step may include - a sub-step S11 for determining performance parameters for each data link in the set of data links to be considered, - a sub-step S12 for converting these performance parameters into objective values that do not depend on the type of data link, and - a sub-step S13 of selecting data links based on these objective values;
[0044] Objective values make it possible to abstract from the type of technology and thus have elements of comparison between data links of different types, for example between a Satcom link and a cellular or LOS link.
[0045] This subset may include the data links that are actually functional, because at any time some may no longer be so: for example, the drone is no longer in sight and the LOS data link is no longer operational, or the drone has moved out of the coverage of the cellular network, etc.
[0046] The subset may also include only a part of the functional data links, chosen in order of performance.
[0047] The process then includes a step S2 of scheduling the subset data links according to at least one scheduling criterion, and then an assignment step S3 comprising the assignment of services according to a scheduling of these services, for example on the basis of the priorities indicated previously, and the scheduling of the data links carried out in the previous step S2.
[0048] The [Fig.3] is a schematic view of an example of the functional architecture of a mobile device 10.
[0049] This mobile device 10 incorporates a plurality of "modem" type equipment 20a, 20b, 20c, each associated with a radio communication technology.
[0050] The module device 10 can also include a low-level test module 22. This module is intended to collect performance measurements 21 of the modems 20a, 20b, 20c.
[0051] Tests and data collection 21 can be performed by sub-module 22a. This functional module manages the data links of the various modems (cellular, LOS, satcom, etc.), configures them, and collects their operating status and radio performance measurements. This provides a set of performance parameters that can be transmitted to the subsequent sub-modules in the processing chain.
[0052] An optional submodule 22b then allows its parameters to be filtered, for example in temporal terms.
[0053] A sub-module 22c then allows the performance parameters thus collected and possibly filtered to be converted into objective values not dependent on the type of data link (and therefore on the modem 20a, 20b, 20c).
[0054] A submodule 22d then allows data links to be selected based on these objective values.
[0055] These selected data links can then be passed to a data link scheduling module 23 based on at least one scheduling criterion.
[0056] Thus, module 23 only has to process the data links selected by the low-level test module 22.
[0057] According to one embodiment, this module 23 can access the modems 20a, 20b, 20c in order to conduct higher level tests, that is to say in order to obtain higher level parameters than the low level parameters obtained by the module 22. The terms "low" and "high" should here be understood in accordance with a protocol stack, for example according to the OSI model or the TCP / IP model.
[0058] By way of example, module 23 can perform tests to determine high-level parameters chosen according to scheduling criteria such as throughput, quality of service and / or latency.
[0059] Throughput tests on each of the modems can take into account their maximum throughput limitations on the upstream and downstream links (defined in the configuration file or during an initial test phase).
[0060] When calculating the available throughput, on each of the modems, the flows already mounted on each of the modems can be taken into account in the calculations so as not to saturate them and lose packets unnecessarily.
[0061] This module 23 can, for this purpose, perform tests at the IP packet level and / or at the TCP and UDP protocol levels. These protocols allow the transport of data streams associated with the services in question; the performance of these protocols directly impacts the quality of transmissions of the various service streams (control, telemetry, UTM, FPV, etc.).
[0062] For example, it can generate IP packets at different rates and thus obtain parameters allowing the determination of throughput performance, quality of service and / or latency.
[0063] According to one embodiment, these high-level performance parameters 24 can also be passed to an assignment module 26.
[0064] This assignment module 26 is adapted for assigning services according to a schedule 27 of these services, and the scheduling of data links 25 provided by the data link scheduling module 23. The scheduling of services 27 can be provided by a service scheduling module 28.
[0065] Figures 4a and 4b illustrate two embodiments of the low-level test module 22 with two different types of modem.
[0066] The example in [Fig.4a] relates to a 20a cellular type modem.
[0067] A submodule 22a collects Cell_ID, RSRP, RSRQ, SINR, SNR, RSCP, RSSI and EC / IO data from modem 20a. These performance parameters are given for illustrative purposes only, as other modems may provide other types of parameters.
[0068] These performance parameters represent: - "Cell_id" is the identifier of the cell to which the device is connected mobile 10. RSRP stands for "Reference Signal Receive Power." This is the most basic measurement performed by the UE's physical layer, providing an average value of the received power of the reference signal (RS) transmitted by the base station per RE ("Resource Element"). The measurement is expressed in watts or dBm. The value ranges from -140 dBm to -44 dBm in IdB steps. - RSSI stands for "Reference Signal Strength Indicator". This is a power measurement across the entire frequency band, and not just on a single RE as is the case for RSRP. - RSRQ stands for "Reference Signal Receive Quality." This indicator is defined as the ratio between RSRP and RSSI. RSSI represents the total power of the received signal, encompassing the transmitted signal, noise, and interference: RSRQ = 10 * log(N * RSRP / RSSI), where N is the number of resource blocks. - SINR stands for "Signal to Interference plus Noise Ratio". - SNR stands for "Signal to Noise Ratio" in English. - RSCP stands for "Received Signal Code Power" (in English). of received signal) - EC / IO provides an energy report on interference
[0069] The acquisition submodule 22a can then transmit the acquired data 21 to a filtering submodule 22b.
[0070] This filtering submodule can perform time-domain filtering. This filtering can be a moving average over N measurements.
[0071] In the illustrated example, the performance parameters thus filtered are:
[0072] [Math.l] RSRP, RSRQ, SINR, SNR, RSCP, RSSI, EC HO
[0073]
[0074]
[0075]
[0076]
[0077]
[0078]
[0079]
[0080]
[0081]
[0082]
[0083] The accented bar on the parameter names represents the averaging function. The following sub-modules 22ci and 22c2 take these filtered performance parameters as input to transform them into objective values that do not depend on the type of data link. In the illustrated implementation method, this step is done in two stages. A first step implemented by a first sub-module 22ci consists of converting each performance parameter individually, and a second step implemented by a second sub-module 22c2 consists of converting all the objective values obtained into an aggregated objective value, representative of the data link considered. According to one embodiment, these objective values can be determined by comparing performance parameters on a predetermined scale depending on the type of performance parameter. In other words, these objective values can be a score on a scale common to all performance parameters across all data links. For example, the objective values can take 5 values between 0 and 4, with 0 being the lowest score and 4 the highest. The correspondence between the values of the performance parameters and the objective values can be established according to the technology of each data link, and according to each performance parameter. As an example, for a 4G LTE or 5G modem (cellular data link), the following correspondences can be defined between performance parameter values and objective values: For the CISO: - -70 dBm: objective value = 4 (excellent) - Between -70 dBm and -85 dBm: objective value = 3 (good) - Between -85 dBm and -100 dBm: objective value = 2 (correct) - Between -100 dBm and -110 dBm: objective value = 1 (insufficient) - ^-110 dBm: objective value = 0 (no signal) For RSRP: - - -80 dBm: objective value = 4 (excellent) - Between -80 dBm and -90 dBm: objective value = 3 (good) - Between -90 dBm and -100 dBm: objective value = 2 (correct) - - -100 dBm: objective value = 1 (no signal) For RSRQ: - - -10 dB: objective value = 4 (excellent) - Between -10 dB and -15 dB: objective value = 3 (good) - Between -15 dB and -20 dB: objective value = 2 (correct to insufficient) - -20 dB: objective value = 1 (no signal)
[0084] For SINR: - 20 dB: objective value = 4 (excellent) - Between 13 dB and 20 dB: objective value = 3 (good) - Between 0 dBm and 13 dB: objective value = 2 (correct to insufficient) - 0 dB: objective value = 1 (no signal)
[0085] These values are given as an indication, but it is understood that other values may be chosen, and similarly ranges may be defined for other objective values.
[0086] In [Fig.4a], these objective values are noted:
[0087] [Math.2] s(RSRP), s(RSRQ), s(SJNR), s(SNR'), s(RSCP), s(RSSI), s{EC / IO)
[0088] These objective values are then passed to the aggregation submodule 22c2, which can be configured to determine an aggregated objective value for each data link, or "representative value" of the data link. In other words, the set of submodules 22cb and 22c2 allows the conversion of all the performance parameters of a data link into as many objective values and then into an aggregated objective value, representative of the data link in question.
[0089] This objective value can be representative of the possibility of selecting or not selecting the data link.
[0090] In the embodiment illustrated in the figure, this objective value has two components: - A binary component, "valid", which indicates whether the data link in question is sufficiently operational to allow selection; - A continuous component, "Radio", representing the worst value of a performance parameter.
[0091] The binary component can be determined by an aggregation rule. This aggregation rule defines how the different objective values contribute to an overall score that determines whether or not the data link can be selected. This rule can be a logical equation, that is, a combination of conditions, each relating to a comparison of an objective value with a threshold.
[0092] An example of a rule for determining a representative value V could be:
[0093] [Math.3] 1 if V i. p > S; y- ' 0 otherwise
[0094] Otherwise, if, in order for the representative value V to be equal to 1, it is necessary that for all the performance parameters, the objective value p; is greater than or equal to a threshold S;.
[0095] For example, in the case of a cellular modem, an aggregation rule can be defined:
[0096] [Math.4] Isis(ÆSSI) > 1 as;( RSRP) >2 as( RSRQ) >2 ks(SINR) >2 0 otherwise
[0097] The second component can be a value representing a low-level quality of the data link. Its value can, for example, be determined by the lowest value among the performance parameters.
[0098] Fig. 4b illustrates another embodiment of the low-level test module 22 for a LOS or Satcom type data link.
[0099] The example will not be described in full as it is very similar to the example in [Fig. 4a]. The differences lie in the performance parameters, which are partly different.
[0100] Thus, the acquisition submodule 22a transmits three parameters, SNR, RSSI and BER, to the filtering submodule 22b.
[0101] The BER performance parameter indicates the bit error rate (“Bit Error Rate”).
[0102] The filtering submodule 22b performs a filtering (for example a moving average over N parameter values, as previously explained) and provides filtered SNR, RSSI, BËR values to the submodule 22cide conversion into objective values.
[0103] This submodule 22ci can proceed as previously described and provides objective values s(SNR), s(RSSI), s(BËR) for each performance parameter.
[0104] These objective values are then passed to submodule 22c2, which is responsible for establishing a representative value (Valid / Radio) for the data link in question. This representative value can be determined from a rule for aggregating the objective values.
[0105] Thus, for each data link, a representative value can be determined.
[0106] This representative value may have a single component (for example the one or more components of the "valid" examples described), or several components.
[0107] Depending on this representative value, a data link can be selected or not.
[0108] In the examples described, this decision is directly deduced from the binary value of the representative value: a data link is selected if its valid representative value is equal to 1.
[0109] It is therefore understood that the described mechanism relies on the correct choice of performance parameters and a good conversion to objective values in order to be able to compare data links of different natures.
[0110] The choice of each threshold delimiting the levels in the scale of objective values depends on the technology and must be made in such a way as to allow comparison of these various technologies.
[0111] In addition, the aggregation rule must also provide a good heuristic for selecting relevant data links, so that in an S2 step, a scheduling can be performed which will ultimately allow a good allocation of services to the data links.
[0112] According to this embodiment, the effectiveness of the proposed process therefore relies on this sequence of adjustments.
[0113] Once a subset of data links has been selected, the S2 step of ordering the data links of this subset according to at least one ordering criterion is implemented, as previously described.
[0114] Figure [Fig. 5] illustrates an example of scheduling according to one embodiment.
[0115] According to this embodiment, scheduling is carried out by considering each scheduling criterion according to a predefined order.
[0116] In other words, a first ordering is carried out according to a first criterion, then according to a second criterion, then according to a third criterion, etc.
[0117] According to one embodiment, the scheduling is based on an insertion sort method.
[0118] Other implementations are also possible, for example other sorting algorithms or different techniques such as those based on machine learning (neural networks, etc.).
[0119] According to one embodiment, the scheduling criteria are throughput, quality of service (for example, packet loss rate), and latency.
[0120] In the illustrated example, three data links a, b, c are considered, and these three ordering criteria are in that order of priority. We note - d, the flow rate (upstream or downstream) - q, the most unfavorable quality of service between the upstream link and the link descending, - L, the cumulative latency of the uplink and downlink.
[0121]
[0122]
[0123]
[0124]
[0125]
[0126]
[0127]
[0128]
[0129]
[0130]
[0131] Figure 5 illustrates the scheduling process in the form of a tree showing all possible situations, starting from any initial situation represented by the root node at the top of the tree. Each node is represented by 3 boxes indicating a possible ordering of the three data links, a, b, c. The indices of the scheduling criteria refer to the order in the scheduling. The scheduling process can follow a set of rules. These rules can be ordered according to the order of the scheduling criteria. For example, the RI-R 12 rules can be: - RI: If d1>d2 or d2>d3, we swap the order and test the other couplet - R2: If dl d2 or d2 d3, we keep the order of the verse, - R3: If dl <d2 ou d2<d3, on garde l’ordre du couplet, - R4: If dl=d2 or d2=d3, we keep the order of the verse, - R5: If q1>q2 or q2>q3, we keep the order of the verse - R6: If ql - q2 or q2 q3, we keep the order of the verse, - R7: ql <q2 ou q2<q3, on permute l’ordre et on teste l’autre couplet, - R8: If q1=q2 or q2=q3, we keep the order of the verse, - R9: If L1 > L2 or L2 > L3, the verse order is maintained. - RIO: If L1 L2 or L2 L3, we keep the order of the verse, - RI 1: If L1 < L2 or L2 < L3, the order is reversed and the other couplet is tested - R12: If L1 = L2 or L2 = L3, we keep the order of the verse. Starting from an initial ordering a, b, c (root of the tree), we consider the first ordering criterion, the throughput d, and the first two elements of the ordering (1 and 2). We therefore compare the throughput di and d2 (that is, the throughput of links a and b). If dl - d2, we keep the order of the couplet a,b (rule R2). If, on the other hand, dl > d2, we swap the couplet a, b, and we obtain an order b,a,c. At the next level, we consider the left ordering, a,b,c, and we consider the second couplet, b,c. If d2<d3, on garde l’ordre du couplet b,c (règle R2). Si par contre d2> d3, we permute the couplet b,c (RI rule) and we obtain an ordering a,c,b. At the next level, we consider the left ordering, a,b,c, and we consider the second couplet, b,c. If d2=d3, we keep the order of couplet b,c (rule R4). If d2 <d3, on garde également l’ordre du couplet b,c (règle R3). Mais dans cette situation, on est sûr qu’on a un ordonnancement strict en débit. Il est donc inutile de considérer les autres critères d’ordonnancement.
[0132] At the next level, for this branch of the tree, only the left-hand ordering, a,b,c, is considered. Indeed, since the throughput of links b and c is identical, the second ordering criterion must be used to separate them.
[0133] We therefore consider this same couplet and the criterion on quality, q.
[0134] If q2 > q3, we keep the order of couplet b,c (rule R6). If q2 > q3, we also keep the order of couplet b, c (rule 5), but we know that this order is optimal, link a being better than the other two according to the priority criterion of throughput, and links b, c being equal according to the criterion of throughput but link b being better than link c according to the second criterion of quality.
[0135] The rest of the tree will not be described further, the principle being the same at each level and for each branch of the tree.
[0136] It is just worth noting that when links cannot be ordered (for example because they have the same levels of throughput, quality and latency), an arbitrary order can be given.
[0137] Under each leaf of the tree, the order of the links obtained has been indicated, possibly after forcing an arbitrary order in case of equality on the sorting criteria.
[0138] According to one embodiment, an additional test can be implemented after sorting the upstream speeds of each modem to verify that they support the minimum throughput required to establish essential services such as IP layer tests and the command and control (C2) service flow. If this condition is not met, the modem can be downgraded to third position (in the example involving 3 data links).
[0139] The minimum rates to be supported on the uplinks for each modem can be defined in the modem configuration file; uplink rate measurements can be used to verify that this condition is met.
[0140] This scheduling can then be used for the S3 assignment step, which includes assigning services to available data links.
[0141] This assignment also uses a service scheduling 27.
[0142] This scheduling can be carried out in advance, by a service scheduling module 28, and can remain constant during a mission of the mobile device.
[0143] In particular, the proposed process can be iterated during the duration of a mission in order to adapt the assignments to data links whose characteristics evolve over time (due in particular to the mobile nature of the mobile device), but the scheduling of services can remain constant during the duration of this mission.
[0144] As mentioned previously, different services can be deployed on a mobile device. A priority can be assigned to each service, thus establishing a ranking of services from highest priority to lowest priority.
[0145] Also, each service can have associated constraints affecting the data links, for example a throughput (for example an average throughput or a maximum throughput...).
[0146] An example of such an arrangement might be:
[0147] In the upward direction: [Tables 1] Priority Upstream Data Rate 1 Control (C2) 20 kbps 2 UTM 20 kbps 3 FPV 100 kbps 4 Payload 100 kbps 5 Telemetry 15 kbps-100 kbps
[0148] In the downward direction: [Tables2] Priority Downstream Data Rate 1 C2 20 kbps 2 UTM 20 kbps 3 FPV 180 kbps - 1.5 Mbps 4 Payload 1.5 Mbps - 10 Mbps 5 Telemetry 1 kbps - 1 Mbps
[0149] Other scheduling choices are obviously possible, this one being given only as an illustrative example.
[0150] Based on these priorities, which constitute a scheduling of the different services (control command, UTM, FPV, payload, telemetry...), these services can be assigned to the data links.
[0151] To do this, the assignment can begin in the order of services, that is to say, starting with the highest priority and ending with the lowest priority.
[0152] Thus, services are assigned, in order, to the highest-ranked data stream in the previously established schedule. Obviously, therefore, several services can be assigned to the same data link, up to its capacity, in terms of throughput.
[0153] In other words, services are aggregated on a data link, adding services in order of their priority.
[0154] When a data link can no longer accept new service (due to the limit of its throughput capacity), another data link can be used, according to the previously established scheduling.
[0155] When the set of previously selected data links does not allow one or more services to be assigned, these are not assigned and the associated flows are not transmitted.
[0156] According to one embodiment, the process is implemented periodically over time to allow for consideration of the dynamic nature of the characteristics of the different data links. Therefore, the services can also be reassigned periodically.
[0157] However, this allows us to maximize the probability that the most critical services are not only assigned to an operational data link, but also to the highest-ranked data link, i.e., the one with the best characteristics (for example, in terms of throughput, quality of service and latency).
[0158] According to one embodiment, services involving video streams may be subject to special treatment.
[0159] Indeed, a compression rate can be applied to video streams depending on the availability of selected data links.
[0160] Thus, for services of the type of compressed digital video, depending on the capacities of the selected data links and the priorities of its services, the parameters of the video encoder / compressor can be automatically and dynamically adjusted.
[0161] The difference between the total of the flows associated with the other services and the total capacities of the selected data links gives an available capacity for the video flow(s).
[0162] We can then search among the video compression profiles for the one closest to, and lower than, this difference. These profiles can be determined beforehand.
[0163] These video streams may correspond to "payload" or "flying by line of sight" (FPV) services, for example.
[0164] Of course, the present invention is not limited to the examples and embodiment described and illustrated, but is defined by the claims. In particular, it is susceptible of numerous variations accessible to those skilled in the art.
Claims
Demands
1. A method for assigning a set of services to a set of data links between a mobile device and at least one station, said method comprising: - a step of selecting (SI) a subset of data links by said mobile device, comprising: - a substep of determining (SI 1) performance parameters for each data link of said set of data links, - a substep of converting said performance parameters into objective values not dependent on the type of said data link, and - a substep of selecting (S 13) said data links according to said objective values; - a step of scheduling (S2) the data links of said subset according to at least one scheduling criterion by said mobile device;- an assignment step (S3) by said mobile device, comprising an assignment of said services according to a scheduling of said services (27) and of said scheduling of data links (25).
2. A method according to the preceding claim, wherein said data link set is provided by a set of equipment on board said mobile device and enabling radio communication with said at least one station.
3. A method according to any one of the preceding claims, wherein said scheduling of said data links is carried out by considering each scheduling criterion according to a predefined order.
4. A method according to any one of the preceding claims, wherein said at least one scheduling criterion includes throughput, quality of service, and latency.
5. A method according to any one of the preceding claims, wherein said scheduling step (S2) comprises a phase of measuring high-level parameters (24) chosen according to said at least one scheduling criterion, and said scheduling of data links being carried out on the basis of said high-level parameters.
6. A method according to any one of the preceding claims, wherein said objective values are determined by comparing said performance parameters on a predetermined scale depending on the type of performance parameter.
7. A method according to any one of the preceding claims, wherein said selection substep (S 13) comprises determining a representative value for each data link, from an aggregation rule of said objective values.
8. A computer program comprising instructions for implementing a method according to any one of the preceding claims, when said program is executed on an information processing platform.
9. Storage means characterized in that they store a computer program comprising instructions to implement, by a device, the method according to any one of claims 1 to 7, when said program is executed by a processor of said device.
10. Mobile device (10) comprising a set of embedded equipment (20a, 20b, 20c) each associated with at least one data link from a set of data links, and a first module (22) adapted to select a subset of data links from said set, said first module comprising - a first sub-module (22a) adapted to determine performance parameters for each data link from said set of data links, - a second sub-module (22c) to convert said performance parameters into objective values not dependent on the type of said data link, and - a third sub-module (22d) to select said subset according to said objective values; said mobile device further comprising a second module (23) adapted to order the data links of said subset according to at least one ordering criterion;and a third module (26) adapted to assign services according to a scheduling of said services (27) and said scheduling of data links (25).