Patent Description:
The disclosure can be applied in heavy-duty vehicles, such as trucks, buses, and construction equipment. Although the disclosure will be described with respect to a particular vehicle, the disclosure is not restricted to any particular vehicle.

At vehicle industries, it is typically to use messaging protocol to cause remote vehicle configuration changes or to retrieve data from a vehicle. The messaging protocol may be managed by a back-office systems (BOS) or an off-board system (OBS) and messages, e.g. configuration messages, application messages, are transmitted to the vehicle using service routing protocol over wireless transport protocol over a communication channel. the service routing protocol defines which process should receive the message at a receiving node. The wireless transport protocol defines how a message should be segmented and which communication channels a message shall be transmitted over. Right now, Short Message Service (SMS) and cellular Packet Data Network (PDN) connectivity, e.g. Internet Protocol (IP) over a mobile network, are used by most of vehicle industries for communications between a vehicle and an off-board system. The PDN utilizes high throughput cellular connectivity to allow its end-users to access and push & pull digital-data as needed per application. The mobile network may be any wireless system or cellular network, such as a Long Term Evolution (LTE) network, a 3rd Generation Partnership Project (3GPP) cellular network, an LTE advanced or Fourth Generation (<NUM>) network, a Fifth Generation (<NUM>) or New Radio (NR) network etc..

There is a trend to use a non-IP based satellite system for communications between a vehicle and an off-board system. The satellite channel may have extremely high cost, much lower throughput and is extremely intermittent. However, the availability of this communication channel tends to be much greater in mid latitudes compared to the cellular communication systems.

Messages transmitted via the wireless transport protocol over a communication channel will frequently be segmented into smaller fragments. The time required for a complete message to be received by the back-office systems is the convergence time of all smaller fragments, and the cost of delivering these messages can be considered as the convergence cost.

Different communication channels have different costs, transfer rates, throughputs latencies, path loss ratios, inter-packet delay variations etc. How to manage logical queues of the available communication channels, both at back-office and on the vehicle, to opportunistically take advantages of different channels to improve convergence time and reduce convergence cost will be an important issue to deal with for the vehicle industries.

It seems to be a trend where a lot of works are put in either at the device level to optimize queue management to maximum overall throughput or reduce message loss, or at the network level within the routing domain to reduce convergence time by increasing or decreasing the number of copies of a message or opportunistically passing copies over different channels to improve the overall system performance.

Recently, Delay or Disruption Tolerant Networks (DTNs) have been utilized in various operational communication paradigms. DTN is a network architecture that reduces intermittent communication issues by addressing technical problems in heterogeneous networks that lack continuous connectivity. DTN is an end-to-end architecture providing communications in and/or through highly stressed environments. Stressed networking environments include those with intermittent connectivity, large and/or variable delays, and high bit error rates. RFC5050, bundle protocol specification, is the current end-to-end protocol endorsed by the Internet Engineering Task Force (IETF) for use on DTNs. In "Queue-Management Architecture for Delay Tolerant Networking" published at https://www. researchgate. net/publication/<NUM>, it is noted that "DTN nodes need additional persistent storage to maintain those packets that cannot immediately be forwarded due to limited connectivity". This is the present strategies for dealing with queue management in DTN nodes. A basic model for buffer and storage management is presented, which is controlled by a policy unit. However, the treatment of the buffer and storage model seems focused on the modem itself and misses the larger picture of the operating system. From perspective of the operating system of the node, the situation is different. A main policy unit, e.g. a send policy unit, interacts with a modem buffer, but this buffer is in fact a persistent queue and used whether or not there is connectivity at the time. The modem itself also has a policy unit which acts upon the priority setting of the submitted message. The policy unit on the modem however does not set the priority, it just interacts with the priority setting provided by the main policy unit. Further, it is the main policy unit which will remove messages from the modem queue when acknowledged or expired and push new messages into this queue when memory is available.

As a part of developing embodiments herein, problems and limitations in the communication between a vehicle and an offboard system will further be discussed. Since it is dealing with vehicles, it is probable that a vehicle will transition between different networks coverages, e.g. between a cellular network coverage and a satellite coverage from time to time. That is a vehicle may be fixed at a location for some time, but then may be moved to another location. Due to the incredibly low throughput of a satellite communication channel, it is possible that messages which were previously queued for transmission via the satellite communication channel will still have not been transmitted when the vehicle finds it has a cellular connection available and makes the connectivity status known to the back-office system. There is no mention of how to manage buffered messages across different communications channels in prior arts. As discussed in the background, different communication channels have different costs, transfer rates, throughputs latencies, path loss ratios, inter-packet delay variations etc. There are no discussions on how to manage logical queues of the available communication channels, both at the back-office and on the vehicle, to opportunistically take advantages of different channels to improve convergence time and reduce convergence cost in prior arts.

It is therefore an object of embodiments herein to provide a method for managing message transmissions between a vehicle and an off-board system over different communications channels to improve convergence time and reduce convergence cost for segmented messages.

According to an aspect of the disclosure, the object is achieved by an onboard electronic control unit comprised in a vehicle and method therein for managing message transmissions between the vehicle and an off-board system. The onboard electronic control unit in the vehicle communicates a first fragment of a message between the vehicle and the off-board system via a first communication channel. The first communication channel has a first throughput, a first transfer rate, a first latency, a first path loss ratio, and a first inter-packet delay variation. The onboard electronic control unit in the vehicle detects availability of a second communication channel. The second communication channel has at least one of a second throughput higher than the first throughput, a second transfer rate greater than the first transfer rate, a second latency less than the first latency, a second path loss ratio less than the first path loss ratio, or a second inter-packet delay variation less than the first inter-packet delay variation. The onboard electronic control unit in the vehicle then communicates a second fragment of the message between the vehicle and the off-board system via the second communication channel.

By communicating a second fragment of the message between the vehicle and the off-board system via the second communication channel which is a preferred channel having either of lower latency, lower path loss ratio, less inter-packet delay variation, higher throughput, higher transfer rate etc. compared to the first communication channel, the convergence time and convergence cost for segmented messages will be reduced.

In certain examples, the onboard electronic control unit in the vehicle may transmit a notification to the off-board system to notify that the second communication channel is available to use. Hereby, a technical effect includes making the off-board system aware of a more preferred channel is now available and enabling the off-board system to communicate messages over the preferred channel and manage its message queue. If there are message fragments placed in a non-preferred channel queue, the off-board system can remove the fragments from the queue and resubmit them to the preferred channel queue. In this way, the convergence time and convergence cost for segmented messages will be reduced.

In certain examples, the onboard electronic control unit in the vehicle may determines at least one message or one fragment of a message that is queued for transmission over the first communication channel based on segmentation information of the queued messages. The segmentation information of the queued messages comprises whether a message is segmented, and if a message is segmented and how many fragments of a message that is segmented into. By knowing whether all the fragments of a segmented message have been transmitted, the message queues for all available channels can be managed by the onboard electronic control unit in the vehicle based on the segmentation information for messages on that channel. The onboard electronic control unit in the vehicle may remove the fragments from the message queue of a non-preferred channel and resubmit them to the preferred channel queue.

According to another aspect of the disclosure, the object is achieved by an off-board system and method therein for managing message transmissions between a vehicle and the off-board system. The off-board system transmits a first fragment of a message to the vehicle via a first communication channel and receive a notification from the vehicle indicating that a second communication channel is available to use. The off-board system manages message queues by moving a second fragment of the message from the queue of messages for transmission via the first communication channel to the queue of messages for transmission via the second communication channel and transmits the second fragment of a message to the vehicle via the second communication channel.

By receiving a notification from the vehicle indicating that a second communication channel is available to use, a preferred channel having either of lower latency, lower path loss ratio, less inter-packet delay variation, higher throughput, higher transfer rate etc. compared to the first communication channel, can be used by the off-board system to transmit fragments of a message to the vehicle, thereby the convergence time and convergence cost for a segmented message with one or more fragments will be reduced.

There are also disclosed herein control units, computer readable media, and computer program products associated with the above discussed technical effects and corresponding advantages.

<FIG> shows an exemplary communication system <NUM> in which communications between a vehicle <NUM> and an off-board system <NUM> occur. The communication system <NUM> may comprise multiple communication networks, where a wireless cellular communication network, e.g. a <NUM> cellular network, an LTE network, an LTE advanced or a <NUM> network, a <NUM> or NR network, indicated by a base station <NUM>, and a satellite communication network indicated by a satellite <NUM> are shown.

The vehicle <NUM> comprises an onboard electronic control unit CU <NUM> which is responsible for onboard and offboard communication. The vehicle <NUM> may be connected to other vehicles and to the off-board system <NUM> via a telematics system. A telematics system includes a vehicle tracking device which may be installed in a vehicle that allows sending, receiving and storing of data. The telematics system connects via the vehicle's own onboard diagnostics (ODB) or a Controller Area Network Bus (CAN-BUS) port with a subscriber identification module (SIM) card, and an onboard modem enables communication through a communication network, e.g. the cellular communication network <NUM> or satellite communication network <NUM>, to the off-board system <NUM>.

The onboard electronic control unit <NUM> may be a part of Telematics Gateway Unit (TGU), with e.g. a telematics gateway version <NUM> (TGW3) in the telematics system. The TGW3 uses messaging protocol over service routing protocol over wireless transport protocol to transmit application messages over a communication network. The onboard electronic control unit <NUM> may comprise a Global Positioning System (GPS) receiver, along with an onboard modem with mobile communication ability, e.g. General Packet Radio Service (GPRS), Enhanced Data rates for GSM Evolution (EDGE), Wi-Fi, <NUM>, <NUM>, NR etc. Additionally, the onboard electronic control unit <NUM> may have ethernet, universal serial bus (USB) and Recommended Standard <NUM> (RS232) ports enable a multitude of peripherals and accessories to be connected to the TGU.

Traditional networks such as the wireless cellular communication network <NUM> supposes the existence of some paths between end-points, short end-to-end round-trip delay time and small loss ratio. Today, however, new applications, environments and types of devices are challenging these assumptions. In DTNs an end-to-end path from a source to a destination may not exist. In this environment, nodes can still connect and exchange information, but in an opportunistic way. DTNs have been developed as an approach to building architecture models which are tolerant to long delays and/or disconnected when delivering data to destinations. The Vehicular DTN (VDTN) research, have attracted great attention in the last few years. Vehicles equipped with wireless devices will exchange trac and road safety information with nearby vehicles, roadside units and/or off-board systems. Traditionally nodes are considered to be fixed, energy unconstrained, connected by low loss rate links, and communication occurs through the exchange of data between two or more nodes. Today, however, new applications, environments and types of devices are challenging these assumptions and call for new architectures and modes of node operation. Some of these challenges are intermittent and/or scheduled links, very large delays, high link error rates, energy-constrained devices, with heterogeneous underlying network architectures and protocols in a protocol stack, and most importantly, the absence of an end-to-end path from a source to a destination. Applications on the following environments may pose such challenges, e.g. spacecrafts, military/tactical, disaster response, mobile sensors, vehicular environments, satellite and various forms of large scale ad hoc networks.

Therefore, there are both preferred and non-preferred communication channels between the vehicular <NUM> and off-board system <NUM> regarding characteristics of a channel such as throughput, transfer rate, latency, path loss ratio, inter-packet delay variation etc. For example, a first communication channel Ch1 between the vehicular <NUM> and off-board system <NUM> in the satellite communication network <NUM> may have higher cost, lower throughput and higher latency and may have period of complete disconnection compared to a second communication channel Ch2 in a cellular network <NUM> which may have lower cost and higher throughput. Some example characteristics of the first and second channels Ch1, Ch2 are shown in <FIG>, such as throughput Thp <NUM>/<NUM>, transfer rate TR <NUM>/<NUM>, latency Lat <NUM>/<NUM>, path loss ratio PLR <NUM>/<NUM>, inter-packet delay variation IPDV <NUM>/<NUM> etc. Throughput Thp <NUM>/<NUM> is the rate of message delivery over a single channel. Throughput may show its results as an average and uses "data units per time" metrics such as bits per second "bps" or packets per second "pps". Transfer rate TR <NUM>/<NUM> is the speed of data transfer through a channel. Latency Lat <NUM>/<NUM> is a measure of responsiveness of a channel. Path loss ratio PLR <NUM>/<NUM> is the ratio of the transmitted power to the received power over a channel. Inter-packet delay variation IPDV <NUM>/<NUM> measures the variation in delay of uni-directional, consecutive packets, e.g. packet <NUM> and <NUM>, <NUM> and <NUM> etc. which flow between two units over a channel. Low IPDV is especially important for applications requiring timely delivery of packets.

As described in the background, messages transmitted over a communication channel will frequently be segmented into smaller fragments. <FIG> is a schematic diagram showing a message sequence <NUM> where the message is segmented to several fragments F1, F2,. The time required for a complete message <NUM> to be received by the off-board system <NUM> is the convergence time of all smaller fragments F1, F2,. Fn, and the cost of delivering these fragments F1, F2,. Fn can be considered as the convergence cost.

According to the disclosure, to reduce the convergence time and cost of delivering a segmented message, a mechanism for managing message transmissions and message queues for all available channels is developed and implemented both in the off-board system <NUM> and the on-board control unit CU <NUM> in the vehicle <NUM>.

A method performed by the onboard electronic control unit <NUM> in the vehicle <NUM> for managing message transmissions between the vehicle <NUM> and off-board system <NUM> will be described in detail with reference to <FIG>, where <FIG> are message sequence diagrams between the vehicle <NUM> and off-board system <NUM>, and <FIG> are flow charts of the methods performed by the onboard electronic control unit <NUM> in the vehicle <NUM> according some examples. The method comprises the following actions.

When messages need to be communicated between the vehicle <NUM> and off-board system <NUM>, and the preferred channels are not available, it will cause both the vehicle <NUM> and off-board system <NUM> to deliver messages via the non-preferred channel.

The vehicle <NUM> and off-board system <NUM> communicates a first fragment F1 of a message <NUM> via a first communication channel Ch1. As shown in <FIG>, the first communication channel Ch1 is the communication channel between the vehicular <NUM> and off-board system <NUM> via the satellite communication network <NUM>. The first communication channel Ch1 has a first throughput <NUM>, a first transfer rate <NUM>, a first latency <NUM>, a first path loss ratio <NUM>, and a first inter-packet delay variation <NUM>. The first communication channel Ch1 in this case is a non-preferred channel.

When messages need to be communicated between the vehicle <NUM> and off-board system <NUM>, the vehicle <NUM> or off-board system <NUM> may take a simple retry scheme, wherein the more preferred channels are tried first until the messages time out. Then the messages are placed in a message queue of a non-preferred channel. The vehicle <NUM> or off-board system <NUM> may also take an active system where the availability of each communication channel is known and the most preferred, available channel is selected when the message is to be submitted. Only if no preferred channel is available or the message times out in a preferred channel queue, then the message is placed in the queue of the non-preferred channel.

The communication between the vehicle <NUM> and off-board system <NUM> via the first communication channel Ch1 may comprise the following actions:.

As shown in Fig. (b) and (e), the vehicle <NUM> may receive the first fragment F1 of the message <NUM> from the off-board system <NUM> via the first communication channel Ch1.

As shown in Fig. (c) and (f), the vehicle <NUM> may transmit the first fragment F1 of the message to the off-board system <NUM> via the first communication channel Ch1.

During either receiving or transmitting messages from or to the off-board system <NUM> via the first communication channel Ch1, the vehicle <NUM> continuously detects the availability of other communication channels, as described in the following action.

The onboard electronic control unit <NUM> in the vehicle <NUM> detects availability of a second communication channel Ch2. The second communication channel Ch2 in this case is a preferred channel which has at least one of a second throughput <NUM> higher than the first throughput <NUM>, a second transfer rate <NUM> greater than the first transfer rate <NUM>, a second latency <NUM> less than the first latency <NUM>, a second path loss ratio <NUM> less than the first path loss ratio <NUM>, or a second inter-packet delay variation <NUM> less than the first inter-packet delay variation <NUM>.

The availability of a second communication channel Ch2 may be detected by the onboard modem connected to the second communication channel which will inform the operating system when the channel is up and connected. For the case of LTE, that will be when a Point-to-Point Protocol (PPP) connection to the PDN Gateway (P-GW) is up and the layer <NUM> interface is available. This may be via a callback or polling the modem control interface. Depends on the communication between the vehicle <NUM> and off-board system <NUM> is receiving or transmitting the messages from or to the off-board system <NUM>, the following actions may be performed.

In certain examples, when the communication between the vehicle <NUM> and off-board system <NUM> via the first communication channel Ch1 is that the vehicle <NUM> receives, as in Action <NUM>, the first fragment F1 of the message from the off-board system <NUM> via the first communication channel Ch1, the method may further comprise the following actions.

As shown in <FIG> and <FIG>, the onboard electronic control unit <NUM> in the vehicle <NUM> may transmit a notification Ntf to the off-board system <NUM> to notify that the second communication channel Ch2 is available to use. That is when the vehicle <NUM> is receiving messages from the off-board system <NUM> and finds that now there is a more preferred channel available to it, the vehicle <NUM> sends a notification to the offboard system <NUM> so that the offboard system <NUM> can transmit a second fragment F2 of the message using the preferred channel in case of a segmented message where not all of the fragments have been transmitted. The offboard system <NUM> may transmit the rest of fragments F3,. Fn or the rest of messages via the second communication channel Ch2 during the available period.

A new message may be specified which will indicate that a preferred channel is available. This may be implemented as a new JavaScript Object Notation (JSON) based "Extended Communication" in the messaging protocol. Therein it will additionally define:.

Therefore, according to some examples, the vehicle <NUM> may send a maximum number of notifications during an interval. The maximum number of notifications and interval may be configurable. This is to avoid the vehicle <NUM> flaps between two channels, i.e. switches channels back and forth too often or in too short period.

According to some examples, when the communication between the vehicle <NUM> and off-board system <NUM> via the first communication channel Ch1 is that the vehicle <NUM> transmits the first fragment F1 of the message <NUM> to the off-board system <NUM> via the first communication channel Ch1, as in Action <NUM> shown in <FIG> and <FIG>, the method may further comprise the following actions.

In order to manage the message queues for all available communication channels, the vehicle <NUM> should be aware of the segmentation information for messages on that channel, and whether or not all the fragments of a segmented message have been transmitted. Therefore, according to some examples, the onboard electronic control unit <NUM> in the vehicle <NUM> may determine at least one message or one fragment e.g. F2,. Fn, of a message <NUM> that is queued for transmission over the first communication channel Ch1 based on segmentation information of the queued messages. The segmentation information of the queued messages comprises whether a message is segmented, and if a message is segmented and how many fragments of a message that is segmented into.

The onboard electronic control unit <NUM> in the vehicle <NUM> manage the message queues. The onboard electronic control unit <NUM> in the vehicle <NUM> moves a second fragment F2 of the message <NUM> from a first queue of messages for transmission via the first communication channel Ch1 to a second queue of messages for transmission via the second communication channel Ch2. That is when the vehicle <NUM> is transmitting messages to the off-board system <NUM> and finds that now there is a more preferred channel available to it, and having placed items, e.g. fragments of a message, other non-fragmented messages etc. in a message queue of the non-preferred channel, will remove them from the first queue of messages for transmission via the first communication channel Ch1 and place them in the message queue of the preferred channel, i.e. the second queue of messages for transmission via the second communication channel Ch2. The onboard electronic control unit <NUM> in the vehicle <NUM> may manage the message queues for all available communication channels.

After the second communication channel Ch2 is detected to be available, the vehicle <NUM> and off-board system <NUM> communicates a second fragment F2 of the message <NUM> via the second communication channel Ch2, i.e. over the preferred channel.

The communications between the vehicle <NUM> and off-board system <NUM> via the second communication channel Ch2 may comprise the following actions:.

In case the vehicle <NUM> receives, as in Action <NUM>, the first fragment F1 of the message <NUM> from the off-board system <NUM> via the first communication channel Ch1, the vehicle <NUM> now receives the second fragment F2 of the message <NUM> from the off-board system <NUM> via the second communication channel Ch2. The vehicle <NUM> may receive the rest of fragments F3. Fn or the rest of messages via the second communication channel Ch2 during the available period.

In case the vehicle <NUM> transmits, as in Action <NUM>, the first fragment F1 of the message <NUM> to the off-board system <NUM> via the first communication channel Ch1, the vehicle <NUM> now transmits the second fragment F2 of the message <NUM> via the second communication channel Ch2. The vehicle <NUM> may transmit the rest of fragments F3,. Fn or the rest of messages via the second communication channel Ch2 during the available period.

A method performed by the off-board system <NUM> for managing message transmissions between the vehicle <NUM> and the off-board system <NUM> will be described in detail with reference to <FIG>. The method comprises the following actions.

As discussed above, when messages between the vehicle <NUM> and off-board system <NUM> needs to communicate, and the preferred channels are not available, it will cause both the vehicle <NUM> and off-board system <NUM> to deliver messages via the non-preferred channel. In this case, the off-board system <NUM> transmits a first fragment F1 of a message <NUM> to the vehicle <NUM> via a first communication channel Ch1. The first communication channel Ch1 is a non-preferred channel having a first throughput <NUM>, a first transfer rate <NUM>, a first latency <NUM>, a first path loss ratio <NUM>, and a first inter-packet delay variation <NUM>.

The off-board system <NUM> receives a notification Ntf from the vehicle <NUM> indicating that a second communication channel Ch2 is available to use. The second communication channel Ch2 in this case is a preferred channel which has at least one of a second throughput <NUM> higher than the first throughput <NUM>, a second transfer rate <NUM> greater than the first transfer rate <NUM>, a second latency <NUM> less than the first latency <NUM>, a second path loss ratio <NUM> less than the first path loss ratio <NUM>, or a second inter-packet delay variation <NUM> less than the first inter-packet delay variation <NUM>.

When the off-board system <NUM> receives the notification Ntf from the vehicle <NUM> that a preferred channel is now available, the off-board system <NUM> manages the message queues. In order to manage the message queues for all available communication channels, the off-board system <NUM> should be aware of the segmentation information for messages on that channel, and whether or not all the fragments of a segmented message have been transmitted. Therefore, according to some examples, the off-board system <NUM> determines at least one message or one fragment of a message that is queued for transmission over the first communication channel Ch1 based on segmentation information of the queued messages. The segmentation information of the queued messages comprises whether a message is segmented, and if a message is segmented and how many fragments of a message that is segmented into.

When it is determined that it has placed items, e.g. fragments of a message, other non-fragmented messages etc., in a message queue of the non-preferred channel, the offboard system shall remove them from the message queue of the non-preferred channel and place them in a message queue of the preferred channel. Therefore, according to some examples, the off-board system <NUM> manage message queues by moving a second fragment F2 of the message <NUM> from the queue of messages for transmission via the first communication channel Ch1 to the queue of messages for transmission via the second communication channel Ch2 in case of a message that has been segmented where not all of the message fragments have been transmitted.

The off-board system <NUM> transmits the second fragment F2 of a message <NUM> to the vehicle <NUM> via the second communication channel Ch2. The off-board system <NUM> may transmit the rest of fragments F3,. Fn or the rest of messages via the second communication channel Ch2 during the available period.

According to some examples, both the vehicle <NUM> and the off-board system <NUM> shall be agnostic to the channels that message segments are received over and shall support reassembling a message from segments received over a variety of channels. As previously mentioned, this is primary achieved by managing the queues and reassembly at the layer above the network layer, which is a current component of RFC5050 will be adopted. It is important that the application layer message segmentation is managed at the node level, and not at the convergence layer or network level or else reassembly after a channel switch will be very difficult.

<FIG> shows a schematic blook diagram of an onboard electronic control unit CU <NUM> comprised in a vehicle <NUM>. To perform the method for managing message transmissions between the vehicle <NUM> and an off-board system <NUM>, the onboard electronic control unit CU <NUM> comprises an onboard modem, e.g. a transceiver module TX <NUM> for communicating with the off-board system <NUM> or communicating with different units, modules, apparatus in the vehicle <NUM>, a GPS receiver <NUM> for positioning service, a processor Proc <NUM> for processing message, data or information. The onboard electronic control unit <NUM> may comprises other circuit/units, such as one or more memory Mem <NUM> and may be used to store received messages, parameters, configurations, instructions and applications etc. to perform the method herein when being executed in the onboard electronic control unit <NUM>. Additionally, the onboard electronic control unit CU <NUM> may comprise other interfaces or ports IF <NUM> e.g. ethernet, USB and RS232 ports etc..

The method according to embodiments herein may be implemented through one or more processors, such as the processor <NUM> together with computer program code for performing the functions and actions of the embodiments herein. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier <NUM> carrying computer program code <NUM>, as shown in <FIG>, for performing the embodiments herein when being loaded into the onboard electronic control unit <NUM>. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server or a cloud and downloaded to onboard electronic control unit <NUM>.

The onboard electronic control unit <NUM> is configured to, by means of e.g. the transceiver module <NUM> being configured to, communicate a first fragment F1 of a message <NUM> between the vehicle <NUM> and the off-board system <NUM> via a first communication channel Ch1. The first communicating channel Ch1 may have a first throughput <NUM>, a first transfer rate <NUM>, a first latency <NUM>, a first path loss ratio <NUM>, and a first inter-packet delay variation <NUM>.

The onboard electronic control unit <NUM> is configured to, by means of e.g. the transceiver module <NUM> being configured to, detect availability of a second communication channel Ch2. The second communication channel Ch2 may have at least one of a second throughput <NUM> higher than the first throughput <NUM>, a second transfer rate <NUM> greater than the first transfer rate <NUM>, a second latency less <NUM> than the first latency <NUM>, a second path loss ratio <NUM> less than the first path loss ratio <NUM>, or a second inter-packet delay variation <NUM> less than the first inter-packet delay variation <NUM>.

The onboard electronic control unit <NUM> is configured to, by means of e.g. the transceiver module <NUM> being configured to, communicate a second fragment F2 of the message <NUM> between the vehicle <NUM> and the off-board system <NUM> via the second communication channel Ch2.

According to some examples, the onboard electronic control unit <NUM> may be configured to, by means of e.g. the transceiver module <NUM> being configured to, receive the first fragment F1 of the message from the off-board system <NUM>; transmit a notification Ntf to the off-board system <NUM> to notify that the second communication channel Ch2 is available to use; and receive the second fragment F2 of the message <NUM> from the off-board system <NUM> via the second communication channel Ch2.

According to some examples, the onboard electronic control unit <NUM> may be configured to, by means of e.g. the transceiver module <NUM> being configured to, transmit, the first fragment F1 of the message <NUM> to the off-board system <NUM>, manage message queues by moving a second fragment F2 of the message from a first queue of messages for transmission via the first communication channel Ch1 to a second queue of messages for transmission via the second communication channel Ch2, and transmit the second fragment F2 of the message <NUM> via the second communication channel Ch2.

According to some examples, the onboard electronic control unit <NUM> may be configured to, by means of e.g. the processor <NUM> being configured to, determine at least one message or one fragment F2, F3,. Fn of a message <NUM> that is queued for transmission over the first communication channel Ch1 based on segmentation information of the queued messages.

<FIG> shows a schematic blook diagram of an offboard system <NUM>. To perform the method for managing message transmissions between the vehicle <NUM> and the off-board system <NUM>, the off-board system <NUM> comprises a transceiver module TX <NUM> for communicating with the vehicle <NUM>, a processor Proc <NUM> for processing message, data or information. The off-board system <NUM> may comprises other circuit/units, such as one or more memory Mem <NUM> and may be used to store received messages, parameters, configurations, and instructions etc. to perform the method herein when being executed in the off-board system <NUM>.

The method according to embodiments herein may be implemented through one or more processors, such as the processor <NUM> together with computer program code for performing the functions and actions of the embodiments herein. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier <NUM> carrying computer program code <NUM>, as shown in <FIG>, for performing the embodiments herein when being loaded into the off-board system <NUM>. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server or a cloud and downloaded to the off-board system <NUM>.

The off-board system <NUM> is configured to, by means of e.g. the transceiver model <NUM> being configured to, transmit a first fragment F1 of a message <NUM> to the vehicle <NUM> via a first communication channel Ch1; receive a notification Ntf from the vehicle <NUM> indicating that a second communication channel Ch2 is available to use; manage message queues by moving a second fragment F2 of the message <NUM> from the queue of messages for transmission via the first communication channel Ch1 to the queue of messages for transmission via the second communication channel Ch2; and transmit the second fragment F2 of a message <NUM> to the vehicle <NUM> via the second communication channel Ch2.

The off-board system <NUM> may be further configured to determine at least one message or one fragment F2, F3. Fn of a message <NUM> that is queued for transmission over the first communication channel Ch1 based on segmentation information of the queued messages.

<FIG> is a schematic diagram of a computer system <NUM> for implementing examples disclosed herein. The computer system <NUM> is adapted to execute instructions from a computer-readable medium to perform these and/or any of the functions or processing described herein. The computer system <NUM> may be connected (e.g., networked) to other machines in a LAN, an intranet, an extranet, or the Internet. While only a single device is illustrated, the computer system <NUM> may include any collection of devices that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. Accordingly, any reference in the disclosure and/or claims to a computer system, computing device, control system, control unit, electronic control unit (ECU), processor device, etc., includes reference to one or more such devices to individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. For example, control system may include a single control unit or a plurality of control units connected or otherwise communicatively coupled to each other, such that any performed function may be distributed between the control units as desired. Further, such devices may communicate with each other or other devices by various system architectures, such as directly or via a Controller Area Network (CAN) bus, etc..

The computer system <NUM> may comprise a computing device or electronic device capable of including firmware, hardware, and/or executing software instructions to implement the functionality described herein. The computer system <NUM> includes a processor device <NUM> (may also be referred to as a control unit), a memory <NUM>, and a system bus <NUM>. The system bus <NUM> provides an interface for system components including, but not limited to, the memory <NUM> and the processor device <NUM>. The processor device <NUM> may include any number of hardware components for conducting data or signal processing or for executing computer code stored in memory <NUM>. The processor device <NUM> (e.g., control unit) may, for example, include a general-purpose processor, an application specific processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a circuit containing processing components, a group of distributed processing components, a group of distributed computers configured for processing, or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The processor device may further include computer executable code that controls operation of the programmable device.

The system bus <NUM> may be any of several types of bus structures that may further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and/or a local bus using any of a variety of bus architectures. The memory <NUM> may be one or more devices for storing data and/or computer code for completing or facilitating methods described herein. The memory <NUM> may include database components, object code components, script components, or other types of information structure for supporting the various activities herein. Any distributed or local memory device may be utilized with the systems and methods of this description. The memory <NUM> may be communicably connected to the processor device <NUM> (e.g., via a circuit or any other wired, wireless, or network connection) and may include computer code for executing one or more processes described herein. The memory <NUM> may include non-volatile memory <NUM> (e.g., read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc.), and volatile memory <NUM> (e.g., random-access memory (RAM)), or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a computer or other machine with a processor device <NUM>. A basic input/output system (BIOS) <NUM> may be stored in the non-volatile memory <NUM> and can include the basic routines that help to transfer information between elements within the computing device <NUM>.

The computing device <NUM> may further include or be coupled to a non-transitory computer-readable storage medium such as the storage device <NUM>, which may comprise, for example, an internal or external hard disk drive (HDD) (e.g., enhanced integrated drive electronics (EIDE) or serial advanced technology attachment (SATA)), HDD (e.g., EIDE or SATA) for storage, flash memory, or the like.

A number of modules can be implemented as software and/or hard-coded in circuitry to implement the functionality described herein in whole or in part. The modules may be stored in the storage device <NUM> and/or in the volatile memory <NUM>, which may include an operating system <NUM> and/or one or more program modules <NUM>. All or a portion of the examples disclosed herein may be implemented as a computer program product <NUM> stored on a transitory or non-transitory computer-usable or computer-readable storage medium (e.g., single medium or multiple media), such as the storage device <NUM>, which includes complex programming instructions (e.g., complex computer-readable program code) to cause the processor device <NUM> to carry out the steps described herein. Thus, the computer-readable program code can comprise software instructions for implementing the functionality of the examples described herein when executed by the processor device <NUM>. The processor device <NUM> may serve as a controller, or control system, for the computing device <NUM> that is to implement the functionality described herein.

The computer system <NUM> also may include an input device interface <NUM> (e.g., input device interface and/or output device interface). The input device interface <NUM> may be configured to receive input and selections to be communicated to the computer system <NUM> when executing instructions, such as from a keyboard, mouse, touch-sensitive surface, etc. Such input devices may be connected to the processor device <NUM> through the input device interface <NUM> coupled to the system bus <NUM> but can be connected through other interfaces such as a parallel port, an Institute of Electrical and Electronic Engineers (IEEE) <NUM> serial port, a Universal Serial Bus (USB) port, an IR interface, and the like. The computer system <NUM> may include an output device interface <NUM> configured to forward output, such as to a display, a video display unit (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computing device <NUM> may also include a communications interface <NUM> suitable for communicating with a network as appropriate or desired.

The embodiments herein can be applied in any type of vehicles such as wagons, motor vehicles e.g. motorcycles, cars, trucks, buses, railed vehicles e.g. trains, trams, watercraft e.g. ships, boats, amphibious vehicles e.g. screw-propelled vehicle, hovercraft, aircraft e.g. airplanes, helicopters, aerostat and spacecraft etc..

Claim 1:
A method performed by an onboard electronic control unit (<NUM>) in a vehicle (<NUM>) for managing message transmissions between the vehicle (<NUM>) and an off-board system (<NUM>), the method comprising:
communicating (<NUM>) a first fragment (F1) of a message (<NUM>) between the vehicle (<NUM>) and the off-board system (<NUM>) via a first communication channel (Ch1), the first communication channel (Ch1) having a first throughput (<NUM>), a first transfer rate (<NUM>), a first latency (<NUM>), a first path loss ratio (<NUM>), and a first inter-packet delay variation (<NUM>);
detecting (<NUM>), by the vehicle, availability of a second communication channel (Ch2), the second communication channel (Ch2) having at least one of a second throughput (<NUM>) higher than the first throughput (<NUM>), a second transfer rate (<NUM>) greater than the first transfer rate (<NUM>), a second latency (<NUM>) less than the first latency (<NUM>), a second path loss ratio (<NUM>) less than the first path loss ratio (<NUM>), or a second inter-packet delay variation (<NUM>) less than the first inter-packet delay variation (<NUM>); and
communicating (<NUM>) a second fragment (F2) of the message (<NUM>) between the vehicle (<NUM>) and the off-board system (<NUM>) via the second communication channel (Ch2).