METHOD AND ON-BOARD SYSTEM FOR SELECTING A COMMUNICATION CHANNEL BETWEEN AN AIRCRAFT AND A DISTANT STATION
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- AIRBUS OPERATIONS (SAS)
- Filing Date
- 2025-03-06
- Publication Date
- 2026-04-22
AI Technical Summary
Existing aircraft communication systems face inefficiencies in selecting transmission channels due to static channel usage preferences and frequent switching, leading to suboptimal transmission quality and increased information traffic.
A method for selecting a communication channel based on real-time transmission quality indices, using 'ping' messages to determine eligibility times, and buffering eligible payload messages to reduce probe message traffic.
This approach ensures high-quality communication while minimizing network mobilization and costs by reducing probe message traffic and optimizing channel selection.
Description
technical field
[0001] The present invention relates to a method and embedded system for selecting a communication channel, from among a plurality of communication channels, between an aircraft's embedded communication system and a remote communication station away from the aircraft, for example located on the ground. Previous technique
[0002] Aircraft most often use a data communication system to transmit information to one or more ground stations, allowing operators to monitor the aircraft by radio. This enables them to obtain various operational and logistical information, such as the aircraft's location, its detailed status, and information regarding any potential malfunctions. This allows for the proactive planning of maintenance activities to be carried out after the aircraft's return to the ground. A well-known system of this type is commonly called ACARS, an acronym for Aircraft Communication Addressing and Reporting System. This system initially relies on HF and VHF transmission channels and, more recently, on SATCOM satellite links, particularly in oceanic areas.
[0003] In many flight situations, several communication channels are available in parallel, and the transmission quality on these channels can vary depending on the channel type. For some applications, a list defining channel usage preferences is statically stored in an onboard database of the aircraft. Furthermore, it is sometimes possible to select one channel over another based on operating costs.
[0004] However, such practices can lead to using a transmission channel that is not the most efficient at any given time. Furthermore, depending on the method used to monitor and manage transmission quality, successive switching between transmission channels can prove counterproductive, and it is important to find a good balance between the advantages of changing channels and the risks inherent in switching too frequently.
[0005] One can then use the channel selection process, known as the utilization channel, from among the multiple communication channels between the aircraft and the remote station. This process, described in document FR3133721A1, associates a transmission quality index with each channel and allows for real-time selection of the best communication channel. This process ensures increased reliability of data transmissions between the aircraft and the remote station by optimizing the selection of a transmission channel and the conditions for switching from one channel to another, thus minimizing the risk of service interruptions.
[0006] To achieve this, this state-of-the-art method involves analyzing the transmission of two types of messages. The first type consists of so-called "useful" messages, which are messages containing information to be sent by the aircraft to the remote station. The second type consists of probe messages, sent regularly, whose function is to be analyzed to determine a transmission quality index. These probe messages ensure the proper functioning of the selection process, even in the absence of any useful messages being transmitted.
[0007] However, this process requires the regular sending of probe messages in addition to the useful messages. It would be desirable to limit the resulting increase in information traffic.
[0008] The aim of the invention is to remedy at least partially these drawbacks. Description of the invention
[0009] The invention is defined by the claims. To at least partially remedy these drawbacks, a method is proposed for selecting a communication channel, called the utilization channel, from among a plurality of communication channels between an aircraft's onboard communication system and a communication station located at a distance from the aircraft, called the remote station, the method comprising: a step of determining, for each of the communication channels, one or more pieces of information representative of the transmission quality of a message between the onboard system and the remote station, the message being either a so-called "useful" message received by the onboard system, or a probe message, called a "ping" message, the ping messages being transmitted according to a given period, a step of classifying said communication channels according to indices respectively representative of the transmission qualities determined for each of said channels, based on said determined information; a single index being assigned to each of the channels, a step of selecting the channel of use as the channel, among the communication channels, presenting the best transmission quality based on said indices, the process also includes: a step of determining a buffering time for each received pay message, called eligibility time, and, if eligibility time is non-zero, a step of sending the pay message, called eligible pay message, instead of a ping message via the usage channel.
[0010] Thus, thanks to the process according to the present invention, the traffic of probe messages is reduced, which limits the mobilization of the communication system, and ensures a good quality of the communication network while reducing the costs incurred by the selection of a better channel.
[0011] Note that, by a so-called "useful" message received by the onboard system, we mean a message transmitted to the onboard system by a source transmitting application itself onboard the aircraft, that is to say a message entrusted by the source transmitting application to the onboard system for sending to the said remote station, which should not be confused with a message received from the ground station.
[0012] According to another aspect, the process includes a buffering analysis step of the eligible payload message comprising a verification step dependent on a buffer state and a parameter relating to the eligible payload message.
[0013] According to another aspect, the embedded system comprising at least one buffer memory, in which the analysis step of buffering the eligible payload message includes a step of determining an order for filling said at least one buffer memory.
[0014] According to another aspect, the embedded system includes a respective buffer memory for each channel, in which the buffering analysis step includes a step for determining a filling order for said buffer memories.
[0015] According to another aspect, the step of determining a filling order includes a step of calculating a duration between the transmission of at least the next ping message on each channel and a time to receive the eligible useful message by the embedded system, and a ranking in ascending order of the durations obtained, the order of filling the buffer memories following the ranking obtained.
[0016] Reception time refers to the maximum time required to store the eligible, useful message.
[0017] According to another aspect, during the step of comparing a buffer state and an eligible payload parameter, for the channel whose buffer is to be filled first according to the order obtained at the end of the step of determining a filling order, if said buffer is empty, and if a maximum buffering time of the message is greater than the time remaining until the next transmission of a ping message, then the eligible payload is put into the buffer, during the buffering analysis step.
[0018] According to another aspect, if the maximum buffering time of the message is less than or equal to the time remaining until the next ping message is sent, then the eligible payload is not buffered and is sent as a payload during a send step.
[0019] According to another aspect, the embedded system comprising a buffer common to all channels, during the step of comparing a state of the buffer and a parameter of the eligible payload message, a number of messages contained in the buffer, called the number of messages, is compared with a total number of ping messages to be sent during a time equal to a maximum buffering time of the message, called the number of pings, and, if the number of pings is greater than the number of messages, then the eligible payload message is put into the buffer, during the buffering analysis step.
[0020] According to another aspect, if the number of pings is less than or equal to the number of messages, then the eligible payload message is not put in the buffer and is sent as a payload message during a send step.
[0021] The invention also relates to an embedded communication system intended to equip an aircraft, configured to operate communications with a remote communication station through a communication channel called the "best channel" among a plurality of communication channels, the embedded system comprising electronic and electromagnetic circuits configured to implement the following steps: a step of determining, for each of the communication channels, one or more pieces of information representative of a quality of transmission of a message between the aircraft and the remote station, the message being either a so-called "useful" message received by the on-board system, or a probe message, called a "ping" message, the ping messages being transmitted according to a given period, a step of classifying said communication channels according to indices respectively representative of the end-to-end transmission qualities determined for each of said channels, from said information determined;a single index being assigned to each of the channels, a step of selecting the channel of use as being the channel, among the communication channels, presenting the best transmission quality from said indices, a step of determining a buffering time of each useful message received, called, eligibility time, and, if the eligibility time is non-zero, a step of transmitting the useful message, called eligible useful message, in place of a probe message. ;
[0022] More generally, the embedded system is configured to implement the selection process as described above.
[0023] The invention also relates to an aircraft comprising an on-board communication system.
[0024] The invention also provides for a computer-readable medium, comprising instructions for executing the process as described above. Brief description of the drawings
[0025] Other features, details, and advantages will become apparent upon reading the detailed description below and analyzing the attached drawings, on which: There figure 1 is a schematic representation of a communication system for transmitting data between an aircraft operating on the ground or in flight and a remote communication station. figure 2 is a flowchart illustrating the overall process of evaluating the performance of each of the available communication channels between the aircraft and the remote station 3, of the figure 1 . There figure 3 illustrates the steps involved in selecting a communication channel, identified as the best available communication channel between aircraft 2 and remote station 3, from among channels C1, C2, and C3. figure 4 illustrates a flowchart of the selection process according to the present invention. figure 5 illustrates an example of the process of the figure 4according to a first embodiment. The figure 6 illustrates an example of the process of the figure 4 according to a second embodiment. The figure 7 illustrates an example of the internal architecture of an embedded system according to the present invention. Description of the implementation methods
[0026] The examples and associated conditions detailed herein are primarily intended to aid the reader in understanding the principles of the present invention and not to limit its scope to these specific examples and conditions. It will be understood that a person skilled in the art can conceive of various arrangements which, although not explicitly described or illustrated herein, nevertheless embody the principles of the present invention and are included in its spirit and scope.
[0027] Furthermore, to facilitate understanding, the following description may describe relatively simplified implementations of the present invention. As a person skilled in the art will understand, other implementations of the present invention may be of greater complexity.
[0028] In some cases, examples of modifications to the present invention may also be shown. This is done simply to aid understanding and, again, not to define the scope or establish the limits of the present invention. These modifications are not an exhaustive list, and a person skilled in the art may make other modifications while remaining within the scope of the present invention.
[0029] Furthermore, all the following statements relating to the principles, aspects, and implementations of the present invention, as well as the specific examples thereof, are intended to encompass both the structural and functional equivalents thereof, whether currently known or developed in the future. Thus, for example, it will be understood by those skilled in the art that all functional diagrams represent conceptual views of example circuits incorporating the principles of the present invention. Similarly, it will be clearly understood that all flowcharts, state transition diagrams, pseudocode, and the like represent various processes that can be implemented on computer-readable media and thus executed by a computer or processor, whether such a computer or processor is shown in the figures or not.
[0030] The functions of the various elements shown in the figures, including any functional block, can be performed using dedicated hardware as well as hardware capable of running appropriate software. They can also be performed by a processor. Other hardware, both conventional and / or custom, can also be used.
[0031] Software modules, or modules assumed to be software, can be represented here as a combination of flowchart elements, or other elements indicating the execution of steps in a process, and / or as a textual description. Such modules may be executed by hardware, whether explicitly shown or not. Furthermore, it should be understood that "module" can include, for example, but is not limited to, computer program logic, computer program instructions, software, a software stack, firmware, a hardware circuit, or a combination of these elements that provides the required capabilities.
[0032] As can be seen from the figures, the invention relates to a method 100 for determining a communication channel, called the utilization channel, also known as the best channel, from among a plurality of communication channels between a communication system 1 of an aircraft 2 and a communication station located at a distance from the aircraft, and referenced 3 on the figure 1 , and subsequently called remote station 3 or remote station 3. The present invention also relates to the communication system 1 for the implementation of the process 100.
[0033] In the following description, it is assumed, in a non-limiting manner, that system 1 comprises three communication channels C1, C2 and C3.
[0034] The communication system 1 includes an onboard communication system 4 equipping the aircraft 2 and a ground system 5, located at a distance from the onboard system 4, equipping the remote station 3. The system 1 also includes a device 6 for transmitting channels C1 to C3 for transmitting information between the aircraft 2 and the remote station 3.
[0035] Preferably, the embedded system 4 includes a router 7. The system 4 also includes an embedded application which is configured to provide any downlink of information traffic to the ground and possibly receive information from the embedded system 5.
[0036] Preferably, the ground system 5 includes a router 9. The system 5 also includes an application for receiving information traffic from the onboard system 4, and, optionally, for sending an uplink to the onboard system 4.
[0037] The transmission device 6 includes means of communication initially based on HF and / or VHF transmission channels and / or SATCOM type, and / or any other means of communication used in aeronautics, such as L-DACS for example, or as a "virtual" communication channel seen from a router, such as a local link, such as ethernet in particular, to a cabin system which agnostically provides a plurality of physical links.
[0038] Advantageously, and thanks to the communication system 1, the aircraft 2 can transmit a wide variety of data to the remote station 3, notably for the purpose of precisely locating the aircraft but also for organizing management, operational, and maintenance actions, both during flight and after landing. Furthermore, the aircraft's communication system can provide relevant information useful for aircraft operation, such as, for example, meteorological information or information related to a flight plan for the aircraft or a third-party aircraft.
[0039] Embedded system 4 is configured to execute process 100.
[0040] As stated in document FR3133721A1, the "best channel" is selected based on at least one primary communication performance criterion and possibly other secondary communication criteria. The term "performance criterion" here refers to a criterion aimed at evaluating the quality of transmission, or transmission link quality, from end to end (between the aircraft and a remote communication station).
[0041] Preferably, the first communication performance criterion is the latency of the channel under consideration, and the second criteria, if considered, are communication performance quality criteria such as, for example, a signal-to-noise ratio or information representative of the use made of the channel (usage rate, continuous usage time, error rate, etc.).
[0042] Depending on the variant, the first performance criterion aimed at evaluating end-to-end transmission quality is a criterion other than latency, representative of the transmission quality via a communication channel, such as, for example, a signal-to-noise ratio or information representative of the use made of the channel (usage rate, continuous usage time, error rate, etc.) possibly weighted by one or more second criteria.
[0043] The latency of a channel is defined here as the complete travel time of data transmitted from aircraft 2 to remote station 3 and then retransmitted by remote station 3 to aircraft 2. The latency thus defined can be expressed as an addition of a so-called down latency (from aircraft 2 to station 3) and a so-called up latency (from station 3 to aircraft 2), the local processing times of remote station 3 being preferably neglected.
[0044] In one embodiment, the latency of a channel is determined by means of an index representing a specific latency value or a set of successively determined latency values. The determined latency values primarily constitute the information used to determine a unique latency index for each channel. In other words, a latency index specific to a given channel can be determined from a specific latency value or from a set of latency values determined for that channel over a given time interval, such as, for example, a minimum latency, a maximum latency, or an average or median latency. When latency indices are determined for each of the communication channels, the communication channels are ranked by index.Thus, the lowest latency index corresponds to the latency index of the communication channel detected as offering the best communication performance among the available channels, and the highest latency index corresponds to the latency index of the communication channel detected as offering the worst communication performance, or vice versa. In one embodiment, information representing the latency of a channel at a given time is determined from recently completed transmissions by calculating the end-to-end travel time of a data packet.
[0045] In another embodiment, information representing the latency of a channel at a given time is determined by using a function called "ping," commonly used in communication networks, particularly computer networks, and relying, for example, on communication protocols such as TCP (Transmission Control Protocol) or ICMP (Internet Control Message Protocol). Overall, the ping function is a computer command designed to test the accessibility of a remote machine across a communication network and to measure, if the remote machine is accessible, the time taken to receive a response, also called "round-trip time" (RTT).
[0046] In another embodiment, the latency of a communication channel is determined from "useful" communications carried out via that channel, and in the absence of sufficiently regular communications, the ping function is used in addition to the "useful" communications. In the case of latency defined from "useful" communications carried out on a communication channel, the data packet(s) used to determine latency include information similar to that used in messages implementing a ping function.
[0047] The distribution between the transmission of useful messages and pings is detailed later in relation to the description of process 100.
[0048] After characterizing the latencies of the various communication channels available between aircraft 2 and remote station 3, and consequently the performance of these channels (C1, C2, C3), the onboard system 4 can verify whether the channel offering the best communication performance is still the one initially used (i.e., at the start of process 100 activation, which, for simplicity, is assumed to be the first channel, C1), and, if necessary, switch to a different channel. Thus, if the onboard system 4 detects that the channel determined to be the best is not the one on which the initial communications are conducted, the system begins to conduct second communications via a second communication channel, which is the best detected communication channel, in parallel with the initial communications conducted on the first channel.In this configuration, the transmissions between aircraft 2 and remote station 3 are redundant and the remote ground station manages the redundancy of the data it receives by eliminating duplicates.
[0049] The embedded system 4 monitors the performance ranking of the channels over a predetermined period (DP). If, at the end of the DP period, the second channel is still the best channel, then the initial communications via the first channel are interrupted. In this case, the second communication channel, now the only communication channel, becomes the first channel, and the second communications become the first communications. The process of determining the best channel then continues to run on this new basis. Otherwise, the embedded communication system 4 continues to operate the initial communications via the first communication channel.According to one variant, for the embedded communication system 4 to cease initial communications and switch channels between the first and second communication channels (determined as the best channel), it is necessary not only that the second channel be the best channel at the end of the DP delay, but also that it remain so throughout the entire DP delay. This tends to demonstrate and allows verification that the second communication channel is sufficiently reliable at that instant, or at the very least that it offers performance in line with expectations at that instant. Furthermore, this allows for the creation of a temporal filter that prevents channel switching when the relative performance of the different channels is unstable (transient phenomena).
[0050] In one embodiment, the aircraft's onboard system 4 transmits to the remote station 3 the channel ranking by performance index, so that the remote station 3 is informed of the relative quality of the communication channels as assessed by the aircraft 2. This information can be sent to the remote station 3 in the form of coded and labeled data according to a predefined protocol. For example, a packet header carries a recognizable identifier and includes a number of channels, followed by a list of channel identifiers, ranked in ascending or descending order of performance. Thus, the remote station 3 can select a communication channel for uplink communications, in cases where these are not carried out via the same communication channel as the one used for downlink communications.According to one embodiment of the invention, the remote station 3 carries out all uplink communications on the last channel used for a downlink communication. In another variant, the remote station 3 uses information received from the aircraft regarding channel performance to select the channel to be used for subsequent uplink communications.
[0051] Advantageously, different channel latency evaluation techniques can be implemented to assess latency based on the channel type used. For example, the latency of a first channel can be evaluated using a network ping command (or function) via the ICMP protocol, and the latency of a second communication channel can be evaluated using a network ping command via the TCP protocol. Following a similar logic, downlink latencies are used to rank channels in terms of performance.
[0052] As an example, the latency of a communication channel can be determined by subtracting the transmission time of a message from the onboard system 4 from the reception time of that same message by the remote station 3, in the case of downlink latency. As another example, the latency of a channel can be determined by subtracting the reception time of an acknowledgment, issued by the remote station 3 in response to a message sent by the aircraft, from the transmission time of that message by the aircraft's onboard system 4. Furthermore, an approximation can be made to determine the latency of an uplink or downlink as being half the total travel time (TTT).
[0053] In cases where a ping function is used to determine latency, the network ping commands or functions include information useful for their proper execution, namely a ping command identifier, a sender identifier, a receiver identifier, a time of transmission, a time of reception by the receiver, a link type, one or more message routing device identifiers (command identifiers), a quality index determined by the aircraft for the channel used, etc. This list of examples is not exhaustive.
[0054] Advantageously, the channel evaluation performed by the embedded system 4 can include other parameters, such as, for example, a link quality index (signal-to-noise ratio, for example), a transmission error rate via the link in question, jitter, defined as the variation of latency over time, a number of latency measurements taken over a predetermined time interval, such as to indicate a reliability rate of the determined latency, and the occupancy rate of a communication channel. For example, the latency indices determined for each channel can be weighted by a defined weighting coefficient, for each channel, by a transmission quality index and / or by an index representative of the use of the channel in question over a predefined time interval.
[0055] According to one embodiment, the embedded system 4 executes in parallel a first process for evaluating the performance of each channel and ranking the channels according to an index, primarily determined for each channel based on its latency, and a second process for selecting the best communication channel based on the ranking performed in the background. These two processes are in fact two sub-processes of the overall process for selecting a communication channel according to the invention.
[0056] There figure 2is a flowchart illustrating the overall process (or more precisely sub-process) of evaluating the performance of each of the available communication channels between aircraft 2 and remote station 3, of defining a unique index per channel determined from the channel latency, possibly weighted by another transmission performance index, then of ranking the communication channels, according to the determined indices, so as to define an established order, starting from the best communication channel to the worst communication channel or vice versa.
[0057] As is apparent from the figure 2An S0 step is an initialization step for the aircraft systems 2, at the end of which the aircraft systems are powered, initialized, and normally operational. In particular, the onboard system 4 is configured to be able to perform the first communications on a first available and selected communication channel, specifically to the remote station 3.
[0058] During an S1 step, ping commands are executed at regular intervals on all available communication channels between aircraft 2 and remote station 3, so as to define one or more latency information for each of the channels.
[0059] The ping command execution frequency is, for example, such that a ping command is sent once every x seconds, where x is, for example, between 1 and 60 seconds, such as 2 seconds, 6 seconds, 8 seconds, 10 seconds, or 30 seconds. This frequency for measuring the latency of a communication channel can, however, be increased or decreased depending on the results observed on each communication channel. Furthermore, this evaluation frequency per channel may differ from one channel to another, depending on factors such as the channel type.
[0060] According to method 100, as detailed later, "useful" communications can be sent instead of ping messages, or even be frequent enough to eliminate the need for ping commands. These regular communications are used to define the latency of each available communication channel. The data packets exchanged on the channel then contain all the information necessary to determine latency—that is, information equivalent to that found in a ping command for performing a latency calculation. A range of latency values and an average latency value can be defined for each of the communication channels C1, C2, and C3, and a latency index can be determined from this latency information.A latency index can be determined, for example, such that the channel with the highest latency is assigned a latency index of 10 and the channel with the lowest latency is assigned a latency index of 0, or vice versa, depending on the index definition convention used. Typically, in embedded communication systems, latency values are expressed in seconds. The latency evaluation of each channel is thus performed over a period T1, usually several minutes.
[0061] In step S2, the latency indices defined for each channel are stored in a table, and the channels are ranked in this table by performance (latencies or weighted latencies). The channel ranking table is, for example, stored in volatile or non-volatile memory of the aircraft's onboard communication system 4. Step S3 consists of identifying the communication channel whose index represents the best communication performance, so that the improved communication channel selection process, executed by the onboard system 4, can, by simply reading from memory, determine the channel offering the best communication conditions to the remote station 10.
[0062] After step S3, the process loops back to step S1, meaning that channel latency evaluation is performed continuously in the background by the aircraft's onboard system 4. If secondary information, representative of channel transmission quality, is used to weight the channel latency indices, these operations are performed during step S1, and the weighted indices are considered for the ranking carried out in step S2. In this case, the information representing transmission quality is defined as protocol data and transmitted during message exchanges between aircraft 2 and the remote station 3, but also, potentially, from third-party communications to reference equipment.
[0063] There figure 3This illustrates the steps for selecting a communication channel, identified as the best available channel between aircraft 2 and remote station 3, from among channels C1, C2, and C3. More precisely, this is a sub-process of the improved method for selecting a communication channel according to the invention, since, in the described embodiment, two sub-processes executed in parallel perform the steps of the complete process. A step S0' corresponds to an initialization step of the aircraft 2 systems, at the end of which the systems are powered, initialized, and normally operational. In particular, the onboard system 4 is configured to be able to perform the first communications on a first available and selected communication channel, specifically to remote station 3. In one embodiment, steps S0 and S0' are combined into a single step called the "start-up" of the aircraft.During step S10, the aircraft's onboard communication system 2 (4) sends initial information (data) to the remote station 3, after selecting a first communication channel to the remote station 10. Then, during step S20, it waits for a duration DP1 (typically from several seconds to several minutes) while a background process determines the best channel. This allows the system to determine, at the end of step S30, whether the first channel selected for initial communication is the best channel. If step S30 determines that the currently used channel (i.e., the first channel) is the best channel, the process loops back to step S10 and continues communicating with the remote station via the first channel.Otherwise, if the current channel is not the best channel, the process initiates additional communications, referred to here as second communications, during step S40. These communications are made via a second communication channel, which is the channel determined to be the best channel by reading the information stored in the memory of the embedded system 4 and updated by the continuous execution of process 100. A further wait, with a duration DP2, is then performed during step S50 to create a "time filter," that is, to verify whether the second channel continues to offer the best communication performance after the DP2 delay. To do this, a new read of the best communication channel is performed during step S60, after the DP2 delay. According to one embodiment of the invention, the DP2 duration is, for example, between 1 minute and 4 minutes, for example, 2 minutes.
[0064] If the second channel is still the best channel at the end of the DP2 delay, the initial communications on the first channel are stopped at step S70, and the process loops back to step S10. In this case, the second channel is then considered the first channel for the reiteration of the described subprocess, and the second communications are considered the first communications. Otherwise, if another channel is determined to be the best communication channel at the end of the DP2 delay at step S60, the second communications on the second channel are stopped at step S80, and the initial communications continue to be carried out on the first channel. The process then loops back to step S10.Advantageously, and according to one embodiment of the invention, it is verified during steps S50 and S60 that the second communication channel remains the best communication channel throughout the DP2 delay. If this is not the case, additional information is defined (an indicator of the variation of the best channel during the DP2 delay) allowing the result of the test performed during step S60 to be enforced.
[0065] According to one embodiment of the invention, the described selection method can be deactivated by an operator in the aircraft or on the ground to then operate a communication channel selection from a second selection method, using for example statically defined communication channel preference criteria.
[0066] We now refer to the figure 4 .
[0067] As can be seen from this figure, process 100 also includes, during step S1: a step (101 - TAMP) of determining a time, Tbx, for buffering each useful Mx message received, called eligibility time, and, if the eligibility time is non-zero, a step (102 - ENV ping) of transmitting the useful message as a probe message, i.e. in place of a ping message.
[0068] The buffering time (Tbx) can be, for example, the maximum possible buffering time, taking into account an acceptable message delay and, possibly, the transmission delay of the communication network. More generally, the buffering time can be any time characteristic of an acceptable buffering time.
[0069] Messages with a buffering time of zero are called "ineligible messages." Messages with a buffering time of non-zero are called "eligible messages." For these latter messages, process 100 includes, preferably in step S1, a buffering analysis step (103 - RAM) for the useful message, with the message being transmitted during step 102 at an appropriate time instead of a ping message, as will be described later.
[0070] Thus, by buffering useful messages as soon as possible, for sending instead of ping messages, process 100 ensures a reduction in the number of messages exchanged between aircraft 2 and remote station 3, which preserves the communication network 1, reduces the energy required for the operation of system 1 and ensures a reduction in the associated cost.
[0071] Recall that, for each channel C1, C2, C3, pings are emitted by system 4 at a fixed frequency. Tp1 is the period of ping transmission P1 on channel C1, Tp2 the period of ping transmission P2 on channel C2, and Tp3 the period of ping transmission P3 on channel C3.
[0072] As also appears from the figure 4 , system 4 comprising at least one buffer, step 103 of buffering analysis of the eligible payload message includes a step (104 - ORD TAMP) of determining a filling order for said at least one buffer, described later for each of the two detailed embodiments
[0073] As also appears from the figure 4, step 103 of eligible payload buffering analysis includes a verification step (105 - VER) dependent on a buffer state and a parameter relating to the eligible payload, described later for each of the two detailed embodiments.
[0074] We will now detail the first method of implementation.
[0075] According to a first embodiment, each channel C1, C2, C3 has a respective buffer memory, denoted B1, B2, B3. According to this non-limiting embodiment, the buffer memories B1 to B3 have space for only one message.
[0076] According to this embodiment, illustrated on the figures 4 And 5 Step 103 includes a preliminary step (104 - ORD TAMP) to determine a filling order for memories B1, B2, B3. Memories B1, B2, B3 are filled according to a filling order that follows a rule called the next ping rule, which we will explain.
[0077] During step 104, process 100 calculates for each channel, at a given time T0 of message reception, the time remaining until the transmission of the next ping(s).
[0078] Note that, in this description, "useful message reception" or "useful message received" corresponds to a message initiated by the source application of the message on board, and received (or transmitted) by the (or to) onboard communication system in charge of managing communication to the ground.
[0079] In other words, we determine the time difference between each of the times Tp1, Tp2, Tp3 and T0, and where appropriate the time difference between multiples of the periods Tp1 (Tp1', Tp1") to Tp3 and T0, and we rank each difference D in ascending order.
[0080] From this we deduce the order of filling of the buffer memories B1, B2, B3: the memory filled with priority, or priority memory, is the one for which the channel has the smallest time difference, Tmin, the second priority memory is the one, among the memories other than the priority memory, for which the channel has a smaller time difference (after Tmin), and so on until all the memories have been evaluated.
[0081] Each time a useful eligible message Mx is received by the embedded system 4, the process 100 includes a check step (105 - VER) of the filling state of the priority buffer Bi.
[0082] If it is not empty, we check the fill state of the second priority buffer.
[0083] If it is empty, process 100 includes a comparison step between the time, D, remaining until the next transmission of a ping message on channel Ci of buffer Bi and the maximum message buffering time, Tbx. If the time Tbx is greater than the time D, then the message Mx is placed in buffer Bi during step 103. Otherwise, the message Mx can no longer be delayed and is sent as a useful message during a send step (106 - ENV ut).
[0084] So, process 100 includes a step (107 - INIT) of re-initializing the sequence of ping messages.
[0085] We are referring more specifically to the figure 5 which illustrates an example of the embodiment, of course not limiting, of the first embodiment of process 100.
[0086] As can be seen from this figure, we consider three communication channels, C1, C2 and C3. Each of the channels has a "ping" period of 2s (for C1), 4s (for C2) and 8s (for C3).
[0087] Consider three successive messages, denoted Ma, Mb and Mc. Each of the messages Ma, Mb and Mc has a maximum buffering time, denoted respectively Tba, Tbb and Tbc, such that Tba=8s, Tbb=10s and Tbc=1s.
[0088] Message Ma is received by onboard system 4 at T0. Message Mb is received by system 4 at T0+0.5s. Message Mc is received by onboard system 4 at T0+3.5s.
[0089] On the figure 5, we have noted Tp1 the time of transmission of the first "ping" P1 on channel C1 immediately after T0, Tp1' the time of transmission of the "ping" P'1 successive of the "ping" P1 on channel C1, Tp2 the time of transmission of the first "ping" P2 on channel C2 immediately after T0, and Tp3 the time of transmission of the first "ping" P3 on channel C3 immediately after T0.
[0090] On the figure 6 , we chose TO=Tp1-1s =Tp2-2s = Tp3-3.5s.
[0091] In the example of the figure 6 Four "pings" are considered.
[0092] During step 104, the buffer filling priority order is defined according to the next ping to occur. As already mentioned, during step 101, each of the following differences is calculated: D1=Tp1-T0=1s; D2=Tp2-T0=2s; D3=Tp3-T0=3.5s; D1'=Tp1'-T0=3s.
[0093] In this particular case, D1 <D2<D1'<D3. Ainsi, les « pings » seront successivement P1, P2, P1' et P3. On en déduit l'ordre suivant de remplissage des mémoires : B1, puis B2 et B3.
[0094] During step 105, it is determined whether the Ma message can be buffered, and, if so, on which channel.
[0095] In this case, according to the established order for filling the memories, the question is whether the message Ma can be buffered in memory B1. Two conditions must be met, namely: B1 is empty, which is the case, and the maximum buffering time is greater than the ping time P1.
[0096] By comparing D1 and Tba, we can clearly see that D1=1s <Tba=8s. Ainsi, le message Ma est effectivement mis en mémoire tampon dans la mémoire B1.
[0097] The message Mb is received by system 4 at time T0+0.5s.
[0098] Since memory B1 is full, the message Mb can be buffered in memory B2 if B2 is empty and its maximum buffer time Tbb is greater than the ping time P2, which is the case, since DD2 = Tp2 - (T0 + 0.5) = 1.5s <Tbb=10s.
[0099] The Mb message is thus buffered in memory B2.
[0100] At time T0+1s, the message Ma is sent instead of the "ping" P1 on channel C1 to the remote station 3.
[0101] At time T0+2s, the message Mb is sent instead of the "ping" P2 on channel C2 to the remote station 3.
[0102] At time T0+3s, it is again the turn of the first channel C1 to send a "ping". Since memory B1 is empty, no message can be sent as a "ping" and a probe "ping" is therefore sent on channel C1.
[0103] At time T0+3.5s, the message Mc is received by system 4.
[0104] At time T0+3.5s, the filling order is B1 - B2 - B3, according to a calculation identical to that already described.
[0105] For the message Mc to be buffered in memory B1, two criteria must be met: B1 is empty, the maximum buffering time (Tbc) is greater than the time difference D1" between the time of the next ping P1" on channel C1 and the current time (in this case T0+3.5s), D1"=1.5s. However, this time D1" is greater than the maximum buffering time Tbc of the message Mc.
[0106] The message Mc cannot be buffered and is sent directly on the channel in use. The channel quality index is then evaluated based on this transmission, in accordance with the provisions of French patent FR 22 02302. If the channel in use is the second channel C2, then the message Mc is sent on the second channel C2 to remote station 3.
[0107] Next, the chronology of the "ping" periods of channel C2 is reset to the time of sending message Mc, in step 107. Upon receipt of the next useful message, process 100 can again establish the order of filling memories B1, B2, B3 according to step 104.
[0108] According to a second embodiment, buffer B is common to the three channels C1, C2, and C3. It should be noted that, according to this embodiment, process 100 maintains the chronological order of the pings at all times. It should also be noted that, according to this embodiment, the buffer has a variable size.
[0109] According to this embodiment, illustrated on the figures 4 And 6The process 100 includes a step (105 - VER) of comparison between a state of buffer B and a parameter relating to the eligible payload message. The state of buffer B corresponds to the number of payload messages contained in buffer B, Nm. The parameter relating to the eligible payload message is the number of pings to be sent on the three channels C1, C2, C3 during the maximum buffering time Tb, Np.
[0110] If the number of pings Np is greater than the number of messages Nm, then the eligible payload message is put into the buffer, during buffering analysis step 103.
[0111] If the number of pings Np is less than or equal to the number of messages Nm, then the eligible payload message is not put in the buffer and is sent as a payload message during a send step (106 - ENV ut).
[0112] As seen on the figure 4The process 100 also includes a sorting step 104 for sending the messages contained in buffer B. The messages are sorted according to a parameter that is a time difference between the maximum buffering time of the memory and the current state of process 100 (which is the time it takes for the embedded system 4 to receive a message). The time differences are sorted in ascending order. This order determines the order in which the messages are passed, from the highest priority message (corresponding to the smallest time difference) to the lowest priority message (corresponding to the largest time difference).
[0113] We now describe an example illustrating this second embodiment with reference to the figure 6 . In this example, the periods of the pings on channels C1, C2 and C3 are respectively: Tp1=2s, Tp2=4s, Tp3=8s.
[0114] As already mentioned, process 100 maintains the chronological order of the pings at all times. In the example, the sequence is as follows: Tp1, Tp2, Tp1, Tp3, Tp1, Tp2,..., as visible on the figure 6 and summarized in the table below: Next ping Time TP1 3s TP2 4s TP1 5s Tp3 6s TP1 7s TP2 8s TP1 9s TP1 11s TP2 12s TP1 13s Tp3 14s
[0115] Consider three messages, a first message Ma received by the embedded system 4 at T0, with a maximum buffering time Tba=8s, a second message, Mb, received at T0+2s with a maximum buffering time Tbb=10s, and a third message Mc, with a maximum buffering time Tbc=5s, is received by the embedded system 4 at T0+3.5s.
[0116] At time T0, the message Ma is received by the embedded system 4.
[0117] Message Ma is placed in the buffer if the number of useful messages in the buffer is less than the number of pings to be performed within the time interval Tba. In this case, the buffer is empty, so message Ma is placed in the buffer with its initial time Tba, equal to 8 seconds.
[0118] At time T0+2s, the message Mb is received by the embedded system 4.
[0119] The message Mb is placed in the buffer if the number of useful messages in the buffer is less than the number of pings to be performed within the time interval Tbb. In this case, the buffer contains one message (Ma) and the number of pings to be performed in 10 seconds is 7. Therefore, the message Mb is placed in the buffer.
[0120] The buffering time at T0+2s for message Ma is Tba(T0+2s)=8-2=6 s, which is less than the maximum time Tbb of 10 s. Therefore, message Mb is placed in the second position in the buffer after message Ma.
[0121] At T0+3s, the message Ma is sent on channel C1 instead of a ping P1. Note that Tbb(T0+3s)=9s. One second has passed since the message Mb was buffered.
[0122] At T0+3.5s, the message Mc is received by the embedded system 4.
[0123] In the next 5 seconds, there are 2 pings to send, while the buffer holds a single message (Mb). Therefore, the message Mc is placed in the buffer.
[0124] The buffering time at T0+3.5s for message Mb is Tbb(TO+3.5s)=10-3.5+2=10-1.5s=8.5s, which is greater than the maximum time Tbc of 5 s. Therefore, message Mb is placed in the second position in the buffer while message Mc is placed in the first position.
[0125] The next ping arrives at T0+4s. The first message in the buffer is sent as a ping. This is the Mc message, which is therefore delayed by 0.5s before being sent for Tp2. The Mb message, which was initially supposed to be sent at T0+4s (i.e., a 2-second delay), spends 3 seconds in the buffer. It will therefore be delayed by 3 seconds.
[0126] Note that when a useful but ineligible message is sent on the usage channel, or best channel, the channel ping timer is reset (step 107) to the time the message was sent.
[0127] For example, when the priority channel is C3 and an ineligible message arrives at T0, the ineligible message sent acts as a probe without being buffered. Because it is ineligible, it is sent directly. Its transmission still serves as a measurement.
[0128] At this point (T0 in the example), the ping sequence is reviewed. Link C3 receives a measurement at T0. Since its ping period is Tp3 = 8 seconds, its next ping will occur at T0 + 8 seconds, then T0 + 16 seconds, then T0 + 24 seconds, and so on. The pings of the other channels remain unchanged. Therefore, the list of upcoming pings changes slightly because the Tp3 messages move down the list. Note that the system then checks that there are not too many messages in the buffer. If there are too many, the first messages in the buffer are sent immediately.
[0129] It is noted that, regardless of the implementation method, the number of ping messages required for the proper functioning of communication system 1 is reduced, which frees up bandwidth, and reduces the energy to be supplied as well as the associated cost.
[0130] There figure 7This schematically illustrates an example of the internal architecture of the aircraft's embedded system 4. As shown in this figure, the embedded system 4 comprises, connected by a communication bus 1000: a processor or CPU (Central Processing Unit) 1001; a RAM (Random Access Memory) 1002; a ROM (Read Only Memory) 1003; a storage unit such as a hard drive (or a storage media reader, such as an SD card reader) 1004; and communication interfaces 1005, 1006, and 1007 configured to operate communications on communication channels C1, C2, and C3, respectively. The embedded communication system 4 also includes input / output port interfaces, specifically designed to receive and transmit signals to and from third-party devices on the aircraft.
[0131] The processor 1001 is capable of executing instructions loaded into RAM 1002 from ROM 1003, external memory (not shown), storage media (such as an SD card), or connected to a communication network. When the embedded system 4 is powered on, the processor 1001 can read instructions from RAM 1002 and execute them. These instructions form a computer program, causing the processor 1001 to implement process 100.
[0132] The RAM includes at least one buffer memory: a respective memory for each channel C1, C2, C3, according to the first embodiment, and a common memory for the three channels C1, C2 and C3 according to the second embodiment.
[0133] All or part of the process implemented by the embedded system 4, or its described variants, can be implemented in software form by executing a set of instructions by a programmable machine, for example a DSP (Digital Signal Processor) or a microcontroller, or implemented in hardware form by a dedicated machine or component, for example a FPGA (Field-Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit). In general, the embedded system 4 comprises electronic circuitry configured to implement the described processes and subprocesses in relation to itself, enabling communication between the aircraft 2 and the remote station 3.Obviously, the embedded communication system 4 also includes all the elements usually present in a system comprising a control unit and its peripherals, such as, in particular, a power supply circuit, a power supply monitoring circuit, one or more clock circuits, a reset circuit, input / output ports, interrupt inputs, bus drivers, digital-to-analog and analog-to-digital converters, ideally fast, this list being non-exhaustive.
[0134] Although the implementations described above have been described and illustrated with reference to specific steps performed in a particular order, it will be understood that these steps may be combined, subdivided, or reordered without departing from the teachings of this disclosure. At least some of the steps may be performed in parallel or sequentially. Therefore, the order and grouping of the steps do not constitute a limitation of the present invention.
[0135] Modifications and improvements to the above-described implementations of the present invention may be apparent to a person skilled in the art. The above description is illustrative through examples rather than exhaustive. The scope of the present invention is therefore limited only by the scope of the claims below.
Claims
1. Method for selecting a communication channel, called utilization channel, from among a plurality of communication channels (C1, C2, C3) between an on-board communication system (4) of an aircraft (2) and a communication station (3), called remote station (3), disposed at a distance from the aircraft (2), the method (100) comprising: - a step (S1) of determining, for each of the communication channels (C1, C2, C3), one or more items of information representing the transmission quality of a message between the on-board system (4) and the remote station (3), the message being either a "useful" message received by the on-board system (4), with this useful message being a message transmitted to the on-board system (4) by a source transmitting application on board the aircraft, or a probe message, called "ping" message, with the ping messages being transmitted over a given period; - a step (S2) of classifying said communication channels (C1, C2, C3) according to indices respectively representing the transmission qualities determined for each of said channels, based on said determined information, with a single index being assigned for each channel; - a step (S3) of selecting the utilization channel as being the channel, from among the communication channels (C1, C2, C3), exhibiting the best transmission quality based on said indices, the method being characterized in that it also comprises: - a step (101) of determining a buffering time, called eligibility time, for each received useful message; and, if the eligibility time is non-zero, - a step (102) of transmitting the useful message, called eligible useful message, instead of a ping message via the utilization channel.
2. Selection method according to Claim 1, comprising a step (103) of analysing the buffering of the eligible useful message, comprising a checking step (105, 106) depending on a state of the buffer memory and a parameter relating to the eligible useful message.
3. Selection method according to the preceding claim, the on-board system (4) comprising at least one buffer memory, wherein the step (103) of analysing the buffering of the eligible useful message comprises a step (104) of determining an order for filling said at least one buffer memory.
4. Selection method according to the preceding claim, the on-board system (4) comprising a buffer memory dedicated to each channel (C1, C2, C3), wherein, during the checking step (105, 106), for the channel whose buffer memory is to be filled as a priority according to the order obtained on completion of the step (104) of determining a filling order, if said buffer memory is empty, and if a maximum message buffering time (Tbx) is greater than the duration (D) remaining until the next transmission of a ping message, then the eligible useful message is placed in the buffer memory during the step (103) of analysing buffering.
5. Selection method according to the preceding claim, wherein, if the maximum message buffering time (Tbx) is less than or equal to the duration (D) remaining until the next transmission of a ping message, then the eligible useful message is not placed in the buffer memory and is sent as a useful message during a sending step (106).
6. Selection method according to Claim 2 or 3, the on-board system (4) comprising a buffer memory (B) common to all the channels (C1, C2, C3), wherein, during the step of comparing between a state of the buffer memory and a parameter of the eligible useful message, a number of messages, called number of messages (Nm), contained in the buffer memory (B) is compared with a total number of ping messages, called number of pings (Np), to be sent over a time equal to a maximum message buffering time (Tbx) and, if the number of pings (Np) is greater than the number of messages (Nm), then the eligible useful message is placed in the buffer memory, during the step (103) of analysing buffering.
7. Selection method according to the preceding claim, wherein, if the number of pings (Np) is less than or equal to the number of messages (Nm), then the eligible useful message is not placed in the buffer memory and is sent as a useful message during a sending step (106).
8. On-board communication system (4) intended to equip an aircraft (2), configured to establish communications with a remote communication station (3) through a communication channel (C1, C2, C3), called "best channel", from among a plurality of communication channels (C1, C2, C3), with the on-board system being configured to implement the following steps: - a step (S1) of determining, for each of the communication channels (C1, C2, C3), one or more items of information representing the transmission quality of a message between the aircraft (2) and the remote station (3), the message being either a "useful" message received by the on-board system (4), with this useful message being a message transmitted to the on-board system (4) by a source transmitting application on board the aircraft, or a probe message, called "ping" message, with the ping messages being transmitted over a given period; - a step (S2) of classifying said communication channels (C1, C2, C3) according to indices respectively representing end-to-end transmission qualities determined for each of said channels, based on said determined information, with a single index being assigned for each channel; - a step (S3) of selecting the utilization channel as being the channel, from among the communication channels (C1, C2, C3), exhibiting the best transmission quality based on said indices, the system being characterized to also implement the following steps: - a step (101) of determining a buffering time, called eligibility time, for each received useful message; and, if the eligibility time is non-zero, - a step (102) of transmitting the useful message, called eligible useful message, instead of a probe message.
9. Aircraft (2) comprising an on-board communication system (4) according to the preceding claim.
10. Computer-readable medium comprising instructions for executing the method according to any of Claims 1 to 7.