METHOD AND SYSTEM FOR INTELLIGENT GUIDED NETWORK SELECTION
By employing machine learning and constraint solving to predict network QoS metrics, the method addresses the challenge of suboptimal network transitions in vehicles, ensuring seamless and efficient network selection and maintaining consistent Quality of Service.
Patent Information
- Application Number
- DE102024113085
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-10
- Filing Date
- 2024-05-10
- Publication Date
- 2025-05-15
AI Technical Summary
Existing network selection methods in vehicles often result in delays due to the inability to predict link quality, leading to suboptimal transitions between networks and potential disruptions in Quality of Service (QoS).
A method that uses machine learning and constraint solving to predict Quality of Service (QoS) metrics of available networks based on external factors and network performance characteristics, allowing for intelligent selection and seamless transition between networks to maintain optimal QoS.
The method enables proactive selection of networks, reducing delays and ensuring consistent Quality of Service (QoS) for in-vehicle network devices by predicting and adapting to network conditions in real-time.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
INTRODUCTION
[0001] The present disclosure relates to a system and method for intelligent guided network selection.
[0002] This introduction generally presents the context of the disclosure. Work by the present inventors, to the extent described in this introduction, as well as aspects of the description that may not otherwise be considered prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against this disclosure.
[0003] In certain situations, vehicle features, vehicle applications, and network devices such as mobile phones require certain throughput and latency constraints. To meet these quality of service (QoS) constraints, network devices may roam from one network to another. In other words, the network device may disconnect from one network and connect to another. However, this network roam may cause a delay in reconnecting. It is therefore desirable to predict link quality to enable a seamless transition from one network to another before the current link quality degrades. SUMMARY
[0004] The present disclosure describes a method for intelligently guided selection of networks. In some aspects of the present disclosure, the method includes detecting the best available wireless connectivity and activating the NAD suitable for the vehicle from the list of NADs to establish the connection. The method further includes receiving network data in response to maintaining good QoS and good throughput for the network access device. The network data includes a list of available networks and the network performance characteristics of each of the available networks. Network performance characteristics include the network throughput offering and the network latency offering. The method includes predicting the QoS metrics of the available networks during a drive of the vehicle using machine learning and constraint solving.The method further comprises selecting one or more networks from the list of available networks and network technologies to determine the selected list of networks for one or more in-vehicle network devices based on the predicted QoS metrics of the available network and QoS constraints. The method then comprises connecting one or more in-vehicle network devices to the selected list of networks.
[0005] Implementations may include one or more of the following features. The in-vehicle network device is one of a plurality of in-vehicle network devices. Each of the plurality of devices of the in-vehicle network runs an application. Each of the plurality of in-vehicle network devices has an individual throughput requirement and an individual latency requirement. The method includes receiving network requirement data. The network requirement data includes a count of the plurality of in-vehicle network devices, the individual throughput requirement for each of the plurality of in-vehicle network devices, and the individual latency requirement for each of the plurality of in-vehicle network devices. Network performance characteristics of each of the available networks further include a supported bandwidth of each of the available networks. The plurality of in-vehicle network devices are associated with users.The method may further comprise detecting the number of users. The method may further comprise determining network demand and receiving priorities and constraints (e.g., no public Wi-Fi, low cost, etc.) for each of the users throughout the vehicle trip. The method may comprise receiving external factor data for each of a plurality of route segments of the navigation route of the entire trip. The external factor data includes network traffic for each of the plurality of route segments, the location of the vehicle for each of the plurality of route segments, the time of year for each of the plurality of route segments, the time of day for each of the plurality of route segments, and the vehicle speed for each of the plurality of route segments. The QoS metrics of available networks are predicted using the external factor data.The QoS metrics of the available networks are predicted using data on external factors and the network performance characteristics of each available network. The network performance characteristics for each of the available networks and the number of users. The traffic for each of the plurality of route segments is determined either through crowdsourcing or sensors, or a combination thereof. Machine learning can be a recurrent neural network. The machine learning can include a fully connected deep neural network and a convolutional neural network. Machine learning can be either supervised, unsupervised, or reinforcement. The multiple deep neural networks are used to predict the QoS metrics of the available networks throughout the vehicle's journey. The machine learning includes a convolutional neural network.The convolutional neural network is used to determine crowd and traffic patterns using a vehicle camera. Implementations of the described techniques may include hardware, a method or process, or computer software on a computer-accessible medium.
[0006] The present disclosure further describes a system for intelligent, guided network selection. The system includes an in-vehicle network device and a controller in communication with the in-vehicle network device. The controller is programmed to perform the method described above.
[0007] The present disclosure also describes a tangible, non-transferable, machine-readable medium comprising machine-readable instructions that, when executed by a processor, cause the processor to perform the method described above.
[0008] Further areas of applicability of the present disclosure will become apparent from the detailed description provided hereinafter. It is understood that the detailed description and the specific examples are for illustrative purposes only and are not intended to limit the scope of the disclosure.
[0009] The foregoing features and advantages, as well as other features and advantages of the present disclosed system and method, are readily apparent from the detailed description, including the claims and exemplary embodiments, in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The present disclosure will be better understood from the detailed description and the accompanying drawings, wherein: Fig. 1 is a schematic representation of a system for intelligent guided network selection. Fig. 2 is a method for intelligent guided network selection. Fig. 3 is a method for collecting data over available networks. Fig. 4 is a feedback method for determining connectivity problems. DETAILED DESCRIPTION
[0011] Reference will now be made in detail to several examples of the disclosure, which are illustrated in the accompanying drawings. Wherever possible, like or similar reference characters are used throughout the drawings and the description to refer to like or similar parts or steps.
[0012] With reference to Fig. 1, a vehicle 10 generally includes a body 12 and a plurality of wheels 14 coupled to the body 12. The vehicle 10 may be an autonomous vehicle. In the illustrated embodiment, the vehicle 10 is illustrated as a sedan, but it should be understood that other vehicles such as trucks, coupes, sport utility vehicles (SUVs), recreational vehicles (RVs), airplanes, helicopters, etc., may be used.
[0013] The vehicle 10 further includes one or more sensors 24 coupled to the body 12. The sensors 24 sense observable conditions of the exterior environment and / or the interior environment of the vehicle 10. As non-limiting examples, the sensors 24 may include one or more cameras, one or more laser detection and ranging (LIDAR) sensors, one or more proximity sensors, one or more cameras, one or more ultrasonic sensors, one or more thermal imaging sensors, and / or other sensors. Each sensor 24 is configured to generate a signal indicative of the sensed observable conditions (i.e., sensor data) of the exterior environment and / or the interior environment of the vehicle 10.
[0014] The vehicle 10 includes one or more in-vehicle network devices 16. In the present disclosure, the term "network device" refers to electronic hardware configured for wireless connection to a network 30 and programmed to execute an application or other software. As non-limiting examples, the in-vehicle network devices 16 may be a cellular phone, a computer, a tablet, an internal, integrated component of the vehicle 10 (e.g., vehicle functions such as GPS navigation), or any other electronic hardware configured to transmit and receive data over a network. Each of the in-vehicle networks 16 is disposed within a vehicle 10, includes a transceiver 18, and is capable of executing an application (e.g., a video game).
[0015] The vehicle 10 includes a controller 34 in communication with the sensors 24 and the in-vehicle remote network device 16. The controller 34 includes at least one processor 44 and a non-transitory computer-readable storage device or media 46. The processor 44 may be any custom or off-the-shelf processor, a central processing unit (CPU), a graphics processing unit (GPU), an auxiliary processor among multiple processors associated with the controller 34, a semiconductor-based microprocessor (in the form of a microchip or chipset), a macroprocessor, a combination thereof, or generally a device for executing instructions. The computer-readable storage device or media 46 may include volatile and non-volatile memory, such as read-only memory (ROM), random access memory (RAM), and keep-alive store (KAM).A KAM is a persistent or non-volatile memory that can be used to store various operating variables while the processor 44 is powered off. The computer-readable storage device or media 46 can be implemented using a number of storage devices, such as PROMs (programmable read-only memories), EPROMs (erasable PROMs), EEPROMs (electrically erasable PROMs), flash memory, or other electrical, magnetic, optical, or combination storage devices capable of storing data, some of which represent executable instructions used by the controller 34 in controlling the vehicle 10. The controller 34 of the vehicle 10 may be referred to as a vehicle controller and may be programmed to implement methods 100, 200, and 300 (. Fig. 3-4), as described in detail below.
[0016] The instructions may include one or more separate programs, each of which includes an ordered collection of executable instructions for implementing logical functions. The instructions, when executed by processor 44, receive and process signals from sensors, perform logic, calculations, methods, and / or algorithms to automatically control the components of vehicle 10, and generate control signals to automatically control the components of vehicle 10 based on the logic, calculations, methods, and / or algorithms. Although a single controller 34 in Fig. 1, embodiments of the vehicle 10 may include a plurality of controllers 34 that communicate and cooperate via a suitable communication medium or combination of communication media to process the sensor signals, perform logic, calculations, methods and / or algorithms, and generate control signals to automatically control features of the vehicle 10.
[0017] The control unit 34 is part of a system 20 for the intelligent guided selection of networks 30.
[0018] In addition to the controller 34, the system 20 includes the vehicle, the in-vehicle network devices 16, and one or more network access devices (NADs) 28. As used herein, the term "network access device" refers to a type of hardware device that enables computers or other network devices 16 to connect to a network 30. The NADs 28 are typically positioned at the edge of the network 30 and provide the interface between the network 30 and the in-vehicle network devices 16 connected to the NAD 28. As non-limiting examples, the NADs 28 may be routers, switches, wireless access points, and modems. The NADs 28 may be located within (and be part of) the vehicle 10 or external to the vehicle 10.Regardless of its location, each NAD 28 is wirelessly connected to one or more networks 30 and serves as an interface between the in-vehicle network devices 16 and the networks 30. As non-limiting examples, the networks 30 may include, for example, a cellular network, a local area network (LAN), a wide area network (WAN), a Wi-Fi network, the Internet, and others. Cellular networks may include, but are not limited to, 3G, 4G, 5G, LTE, and WiMAX.
[0019] The system 20 uses wireless network device optimization and distributes the data across multiple NADs 28. Specifically, the system 20 considers factors such as location, route, trajectory, time of day, recurrence pattern, and others to determine the optimal NAD data distribution. The QoS metrics are dynamically optimized for each NAD 28 using a machine learning technique before selecting the best NAD 28 for the application. The system 20 performs periodic mitigation based on vehicle experience data and other NAD factors.
[0020] Fig. 2 is a flowchart of a method 100 for intelligent guided selection of networks 30. The method 100 begins at block 102. At block 102, the controller 34 detects whether there is a problem with the wireless connection between one or more of the in-vehicle network devices 16 and one or more network access devices 28. To do so, the controller 34 may determine the quality of service (QoS) metrics of the network service and compare the QoS metrics of the network service to predetermined thresholds. As non-limiting examples, the QoS metrics of the network service may include, among other things, latency, throughput, availability, and jitter. If one or more of the QoS metrics of the network service are below the predetermined thresholds, a connectivity problem is detected. If the network service QoS metrics are equal to or greater than the predetermined thresholds, no connectivity problem is detected.If no connectivity problem is detected, the method 100 proceeds to block 104, and the method 100 ends. Alternatively, if no connection problem is detected, the method 100 may continuously execute block 102 to monitor the connection between the in-vehicle network devices 16 and the network access devices 28. If a connectivity problem is detected, the method 100 proceeds to block 106.
[0021] In block 106, the controller 34 receives network data. This network data includes a list of available networks 30 and the network performance characteristics of each of the available networks 30. Network performance characteristics include the offered network throughput, the offered network latency, and the supported bandwidth of each of the available networks. Each of the networks 30 may be associated with a NAD 28. The network data may also include NAD internal records. The NAD internal records may include a readiness index and an activity index for each NAD 28. The network data may also include dynamic network records. The method 100 continues with block 108.
[0022] In block 108, the controller 34 uses machine learning to predict the QoS metrics of the available networks 30 throughout the journey of the vehicle 10. The machine learning algorithm may, for example, be a recurrent neural network (RNN) operating on time series data. Alternatively, the machine learning may be a combination of a fully connected deep neural network (DNN) and a convolutional neural network (CNN) for analyzing the images to understand traffic volume, if identifying traffic volume is based on images rather than an enumeration of inputs that may come from the crowd or depend on information about the number of network devices connected to a cell tower.
[0023] In block 108, the machine learning algorithm (e.g., DNN or RNN) may use various data sets to predict the QoS metrics of the available networks 30. For example, the machine learning algorithm may predict the QoS metrics of the available networks 30 using the external factor data, static rules, the network performance characteristics of each of the available networks, and the number of users. The static rule set may consist of cost range preferences, user priorities, and restrictions such as no public Wi-Fi 33, etc. As previously mentioned, the machine learning algorithm may use the navigation route of the vehicle 10 to predict the QoS metrics of the available networks 30 throughout the entire journey of the vehicle 10. Accordingly, the controller 34 may receive the navigation data from the vehicle 10, such as the navigation route of the vehicle 10, to reach the desired destination.
[0024] As mentioned above, the machine learning algorithm (e.g., DNN or RNN) may use dynamic external factors and parameters for each of a plurality of route segments of the navigation route of the entire journey of the vehicle 10 to predict the QoS metrics of the available networks 30 along the entire journey of the vehicle 10. The dynamic external factors and parameters may include, but are not limited to, the traffic for each of the plurality of route segments, the location of the vehicle for each of the plurality of route segments, the time of year for each of the plurality of route segments, the time of day for each of the plurality of route segments, and the vehicle speed of the vehicle 10 for each of the plurality of route segments. The traffic for each of the plurality of route segments may be determined through crowdsourcing and in combination with sensors.For example, vehicle 10 may utilize V2V communication to collect traffic data from other vehicles. Accordingly, in block 108, controller 34 receives the dynamic external factors and parameters for each of a plurality of route segments of the navigation route of the entire trip of vehicle 10.
[0025] In block 108, the machine learning algorithm (e.g., RNN or DNN), as mentioned above, may use the network requirements to predict the QoS metrics of the available networks 30 throughout the journey of the vehicle 10. For this purpose, the controller 34 may receive network demand data. The network demand data may include determining the network demand for each of the users for the entire journey of the vehicle 10. The network demand of each user may depend on the applications running on the individual devices of the in-vehicle network 16. The applications may include, but are not limited to, GPS navigation, online meeting applications with video, email applications, social media applications, and music applications. Each of the in-vehicle network devices 16 has individual throughput and latency requirements.After predicting the QoS metrics of the available networks 30 throughout the journey of the vehicle 10, the machine learning algorithm ranks the best available networks based on all of the various factors discussed, and the method 100 proceeds to block 110.
[0026] In block 110, the controller 34 selects one or more networks 30 (i.e., the selected network) from the list of available networks 30 for the in-vehicle network devices 16 based on the QoS metrics of the available network throughout the journey of the vehicle 10, as predicted and ranked by the machine learning algorithm (e.g., RNN or DNN). The selection of the network 30 may also depend on a QoS rule set. The QoS rule set is a list of rules based on the network service requirements (QoS requirements) of the individual applications running on the in-vehicle devices 16. The selection of the network 30 may also depend on an NAD performance rule set. The NAD performance rule set includes rules based on whether the NAD performance characteristics enable the proper functioning of the applications running on the in-vehicle network devices 16. NAD performance characteristics may include availability, delay, loss, and utilization.The availability of the NAD 28 may depend on connectivity and functionality. The delay characteristics of the NAD 28 may include return delay and delay variance. The loss characteristics of the NAD 28 may include one-way and round-trip loss. The utilization characteristics of the NAD 28 may include bandwidth, capacity, and throughput. Once a network 30 is selected, the in-vehicle network device connects to the selected network 30. Specifically, a seamless handover occurs to switch the connection from the current network 30 to the new selected network 30. The assignment of ranked networks (NADs) to the set of network devices may be accomplished through constraint solving. The QoS rules and requirements are translated as constraints, and the constraint solver can find a solution to one of the ranked NADs for all subsets of network devices.The most feasible allocation is selected for seamless network transition. For example, all network devices may be allocated to Network 1, or a subset of the network devices may be allocated to Network 1 and the other subset of the network devices may be connected to Network 2. The scheduling predictor hands off the wireless technology based on application needs and predictive functional requirements for guaranteed bit rate (GBR), delay-critical tasks, and non-GBR best-effort requirements. The controller 34 may generate a list of best networks 30 and prioritize the networks using QoS thresholds (e.g., throughput thresholds and latency thresholds). Some applications may use one network 30, while other applications may use a different network 30 based on QoS thresholds and cost constraints. The method 100 then returns to block 102.
[0027] Fig. 3 is a method 200 for collecting data about available networks, as described above with reference to block 106 of Fig. 2. The method 200 begins at block 202. The method 200 then proceeds to block 204. At block 204, the controller 34 collects the list of available networks 30 for the current navigation segment along with the network performance characteristics of each of the available networks 30. Network performance characteristics include the offered network throughput, the offered network latency, the supported bandwidth, the connectivity, and the supported throughput of each of the available networks. The available networks 30 can include a home Wi-Fi network, a public Wi-Fi network, a 5G network, a 4G network, etc. Then, the method 200 proceeds to block 206.
[0028] In block 206, controller 34 retrieves the navigation route of vehicle 10. Alternatively, controller 34 selects a time-dependent regular route (e.g., route to the office, route to school, etc.). The navigation route may be retrieved from the navigation application. The navigation route may be determined based on an appointment or a time-based regular route. Once the vehicle arrives at the destination, the vehicle Wi-Fi is expected to be turned off, so a switch to another NAD may be triggered. Method 200 then proceeds to block 208.
[0029] In block 208, the controller 34 selects the available network 30 for the next navigation segment along with the network performance characteristics of each of the available networks 30. Network performance characteristics include the offered network throughput, offered network latency, supported bandwidth, connectivity, and supported throughput of each of the available networks. The available networks 30 may include a home Wi-Fi network, a public Wi-Fi network, a 5G network, a 4G network, etc. The method 200 then proceeds to block 210.
[0030] In block 210, the controller 34 detects the number of users. For this purpose, the controller 34 may receive user data, for example, from a body control module (BCM) of the vehicle 10. The user data may include the number of vehicle doors opened, images taken of the vehicles, data from seat pressure sensors, seat belt use, information about BLUETOOTH access to the vehicle, and / or information about Wi-Fi access or use of the interior camera, etc. The method 200 then proceeds to block 212.
[0031] In block 212, the controller 34 determines the network demand for each of the users for the entire trip in the vehicle 10. To this end, the controller 34 may first collect the individual network demand of each user and then estimate the total network demand for all users in the vehicle 10. The user's individual network demand may depend on the applications they will use throughout the trip of the vehicle 10. In particular, the user's individual network demand may be determined by accessing each user's electronic calendar and the applications running on each user's in-vehicle network device 16. For example, a user's electronic calendar may indicate that they have an online video conference that requires certain network demand while the vehicle 10 is in motion. The user may also be running a music or video application on their in-vehicle network device 16.Further, controller 34 may use an application that learns regular usage to determine each user's network needs. Each user may run different applications on their in-vehicle network devices 16, such as online video conferencing applications, email, GPS navigation applications, music applications, etc. The selection of available networks 30 may be limited by user-implemented constraints. For example, the user may not allow the online video conferencing application to use public Wi-Fi networks. Then, method 200 continues to block 214. At block 214, method 200 ends.
[0032] Fig. 4 is a feedback method 300 for determining connectivity problems, as described above with respect to block 102 of Fig.1. The method 300 begins at block 302. The method 300 then proceeds to block 304. At block 304, the controller 34 detects QoS issues with applications running on the in-vehicle network devices 16. The method 300 then proceeds to block 306. At block 306, the controller 34 generates a feedback trigger in response to detecting QoS issues with applications running on the in-vehicle network devices 16. The method 300 then proceeds to block 308. At block 308, the controller 34 identifies the correct feedback question and presents it to the user, for example, via a user interface of the vehicle 10. The feedback question could be: "Did you have a connection issue with your network?" The user then answers the feedback questions. The method 300 then proceeds to block 310.In block 310, the controller 34 collects the responses to the feedback question and trigger-related and dependent questions, if necessary. The method 300 then proceeds to block 312. In block 312, the controller 34 analyzes the responses to the feedback questions and modifies the constraints and QoS thresholds as needed. The controller 34 may also recommend alternative networks 30 with conditions. For example, the networks 30 may be filtered based on a rule set, profile settings, etc. As non-limiting examples, the QoS thresholds may include a throughput threshold and a latency threshold. The current throughput and latency thresholds may be modified to more appropriate values to account for network uncertainties.
[0033] Although exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms covered by the claims. The words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the disclosure. As previously described, the features of various embodiments may be combined to form other embodiments of the presently disclosed system and method that may not be explicitly described or illustrated.Although various embodiments may have been described as providing advantages or being preferred over other prior art embodiments or designs with respect to one or more desired characteristics, those of ordinary skill in the art will recognize that one or more features or characteristics may be compromised to achieve desired overall system attributes depending on the specific application and design. These attributes may include, but are not limited to, cost, strength, durability, life cycle cost, marketability, appearance, packaging, size, usability, weight, manufacturability, ease of assembly, etc.As such, embodiments that are described as less desirable than other embodiments or prior art embodiments with respect to one or more characteristics are not outside the scope of the disclosure and may be desirable for certain applications.
[0034] The drawings are presented in simplified form and are not to scale. For convenience and clarity, and for these reasons only, directional terms such as top, bottom, left, right, upward, over, above, below, under, back, and front may be used with reference to the drawings. These and similar directional terms should not be construed to limit the scope of the disclosure in any way.
[0035] Embodiments of the present disclosure are described herein. However, it should be understood that the disclosed embodiments are merely examples, and other embodiments may take various and alternative forms. The figures are not necessarily to scale; some features may be larger or smaller to show details of particular components. Therefore, the specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the presently disclosed system and method.As one of ordinary skill in the art will understand, various features illustrated and described with reference to one of the figures may be combined with features illustrated in one or more of the other figures to produce embodiments not explicitly illustrated or described. The illustrated feature combinations provide representative embodiments for typical applications. However, various combinations and modifications of the features consistent with the teachings of this disclosure may be desired for particular applications or implementations.
[0036] Embodiments of the present disclosure may be described herein in terms of functional and / or logical block components and various processing steps. It should be understood that such block components may be implemented by a number of hardware, software, and / or firmware components configured to perform the specified functions. For example, an embodiment of the present disclosure may utilize various integrated circuit components, e.g., memory elements, digital signal processing elements, logic elements, lookup tables, or the like, capable of performing a plurality of functions under the control of one or more microprocessors or other control devices.Furthermore, those skilled in the art will recognize that embodiments of the present disclosure may be used in connection with a number of systems and that the systems described herein are merely embodiments of the present disclosure.
[0037] For the sake of brevity, a detailed description of signal processing, data fusion, signaling, control, and other functional aspects of the systems (and the individual operating components of the systems) is omitted. Furthermore, the connecting lines depicted in the various figures included herein are intended to represent exemplary functional relationships and / or physical connections between the various elements. It should be noted that alternative or additional functional relationships or physical connections may be present in an embodiment of the present disclosure.
[0038] This description is merely illustrative and is not intended to limit the disclosure, its application, or uses in any way. The broad teachings of the disclosure may be embodied in a variety of forms. Therefore, while this disclosure includes specific examples, the true scope of the disclosure should not be limited thereto, since other modifications will become apparent upon examination of the drawings, the patent specification, and the following claims.
Claims
[1] A method for selecting network access devices, comprising: Receiving network data, wherein the network data comprises a list of available networks and network performance characteristics of each of the available networks, and the network performance characteristics comprise network throughput offering and network latency offering; Predicting quality of service (QoS) metrics of available networks on a vehicle journey using machine learning; and Selecting one or more networks from the list of available networks to determine a selected list of networks from the list of available networks for one or more in-vehicle network devices based on the predicted QoS metrics of the available network and QoS constraints; and Connecting the one or more in-vehicle network devices to the selected network. [2] The method of claim 1, further comprising prioritizing the list of available networks based on the QoS metrics, wherein the in-vehicle network device is one of a plurality of in-vehicle network devices, each of the plurality of in-vehicle network devices executes an application, each of the plurality of in-vehicle network devices has an individual throughput requirement and an individual latency requirement, and the method comprises receiving network requirement data, and the network requirement data comprises a number of the plurality of in-vehicle network devices, the individual throughput requirement for each of the plurality of in-vehicle network devices, and the individual latency requirement for each of the plurality of in-vehicle network devices. [3] The method of claim 2, further comprising receiving a navigation route of the vehicle, wherein the network performance characteristics of each of the available networks further comprise a supported bandwidth of each of the available networks. [4] The method of claim 3, wherein the plurality of in-vehicle network devices are associated with users, the method further comprising detecting a number of users, and receiving network demand data comprises determining the network demand for each of the users for an entirety of the trip in the vehicle. [5] The method of claim 4, further comprising receiving external factor data for each of a plurality of route segments of the navigation route of the entirety of the trip, and the external factor data includes traffic for each of the plurality of route segments, location of the vehicle for each of the plurality of route segments, seasonality for each of the plurality of route segments, time of day for each of the plurality of route segments, and vehicle speed for each of the plurality of route segments, and the QoS metrics of the available networks are predicted using the external factor data. [6] The method of claim 5, wherein the QoS metrics of the available networks are predicted using the external factor data and the network performance characteristics of each of the available networks. [7] The method of claim 6, wherein the QoS metrics of the available networks are predicted using the external factor data, the network performance characteristics of each of the available networks and the number of users and the associated preference rules. [8] The method of claim 7, wherein the traffic for each of the plurality of route segments is determined by crowdsourcing, and the machine learning is a recurrent neural network. [9] The method of claim 7, wherein the machine learning comprises a recurrent neural network and a fully connected deep neural network and a convolutional neural network. The machine learning can be either supervised or unsupervised or by reinforcement learning. The deep neural network is used to predict and rank the QoS metrics of the available networks guided by the constraint from the rule set throughout the vehicle's journey. [10] The method of claim 9, wherein the machine learning comprises a convolutional neural network, the convolutional neural network being used to determine the traffic pattern using a camera of the vehicle.