Variable routing of vehicle data to external networks

By using virtual network interfaces and ports within the vehicle, variable routing of vehicle network traffic is achieved based on a traffic classification strategy. This solves the routing complexity problem caused by the physical separation of radio control functions and applications, and improves routing flexibility and efficiency.

CN121940347APending Publication Date: 2026-04-28RIVIAN HOLDINGS LLC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
RIVIAN HOLDINGS LLC
Filing Date
2025-10-28
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

The physical separation of radio control functions from applications in modern vehicles complicates network traffic routing and makes it difficult to achieve variable routing.

Method used

By using virtual network interfaces and virtual network ports within the vehicle, network traffic is sent internally within the vehicle based on a traffic classification strategy and variably routed to the external network according to the category.

Benefits of technology

It enables variable routing of vehicle network traffic, simplifies network traffic management, and improves routing flexibility and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121940347A_ABST
    Figure CN121940347A_ABST
Patent Text Reader

Abstract

In an embodiment, a system for routing vehicle network traffic to an external network includes a first computer in a vehicle and a second computer in the vehicle. The first computer is operable to: receive network traffic associated with a software application executing in the vehicle; determining the category of the network traffic based on the traffic classification strategy; determining a virtual network port for the determined category of virtual network interface; and transmitting network traffic over the internal network connection in the vehicle via the determined virtual network port. The second computer is communicatively coupled to the first computer via the internal network connection and is operable to: receive network traffic over the internal network connection via the virtual network port; and routing the network traffic to the external network based on the virtual network port.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-reference to related applications

[0002] This application claims priority to U.S. Provisional Patent Application Serial No. 63 / 712,983, filed October 28, 2024, entitled "VARIABLE ROUTING OF VEHICLE DATA TO EXTERNAL NETWORKS", the entire contents of which are incorporated herein by reference as if fully and completely set forth herein. Background Technology

[0003] This disclosure relates to variable routing of vehicle data to external networks. Summary of the Invention

[0004] In one embodiment, a system for routing vehicle network traffic to an external network includes a first computer and a second computer in the vehicle. The first computer is operable to: receive network traffic associated with software applications running in the vehicle; determine the category of the network traffic based on a traffic classification policy; determine a virtual network port for a virtual network interface of the determined category; and transmit the network traffic via the determined virtual network port through an internal network connection in the vehicle. The second computer is communicatively coupled to the first computer via the internal network connection and is operable to: receive the network traffic via the virtual network port through the internal network connection; and route the network traffic to an external network based on the virtual network port.

[0005] In one implementation, a method for routing vehicle network traffic to an external network includes: receiving network traffic related to a software application running in the vehicle at a first computer in the vehicle. The method further includes: determining a category of the network traffic at the first computer based on a traffic classification policy. The method further includes: determining a virtual network port at the first computer for a virtual network interface of the determined category. The method further includes: transmitting the network traffic via the determined virtual network port through an internal network connection in the vehicle. The method further includes: receiving the network traffic at a second computer in the vehicle via the virtual network port through the internal network connection. The method further includes: routing the network traffic to an external network at the second computer based on the virtual network port. Attached Figure Description

[0006] Figure 1A Example vehicles according to certain implementation schemes are shown.

[0007] Figure 1B The chassis of a vehicle according to certain implementation schemes is illustrated.

[0008] Figure 2A It is a schematic block diagram of vehicle components according to certain implementation schemes.

[0009] Figure 2B It is a schematic block diagram of an alternative component of a vehicle according to certain implementation schemes.

[0010] Figure 3 An example of a connectivity architecture for vehicles is shown.

[0011] Figure 4 Examples are shown for use Figure 3 An example of the process of a connectivity architecture. Detailed Implementation

[0012] The vehicle can provide connectivity to one or more external networks, such as Wi-Fi and / or cellular networks, via various wireless devices within it. Connectivity can support a variety of vehicle features, such as video streaming, music streaming, over-the-air (OTA) software updates, navigation, in-vehicle Wi-Fi hotspot, vehicle telemetry, etc.

[0013] In some respects, a vehicle may include radio control functions that regulate, for example, the routing of network traffic to an external network via the aforementioned radio devices. In some respects, the vehicle's radio devices and radio control functions may coexist near the antenna, for example, in or on the roof of the vehicle. While such co-location may be technically advantageous for the radio functions, it often also results in the physical separation of the radio control functions from the applications providing the aforementioned vehicle features. For example, the radio control functions and vehicle applications may reside on separate hardware components or be implemented on separate hardware components, such as different electronic control units (ECUs) or other systems within the vehicle. These separate components may communicate, for example, via internal wired and / or wireless network connections. In various respects, this separation complicates certain modern networking capabilities, such as the variable routing of the vehicle's network traffic to external networks. When radio control functions are performed on separate hardware within the vehicle, it is technically difficult to distinguish network traffic and, based on this, to achieve variability in routing.

[0014] Among the various methods described herein, certain modern networking capabilities, such as variable routing of network traffic within a vehicle, can be implemented via one or more virtual interfaces within the vehicle. In some aspects, these one or more virtual interfaces can operate based on a configurable set of network traffic categories. In other aspects, these one or more virtual interfaces enable vehicle network traffic to be sent internally within the vehicle based on traffic categories, and subsequently variably routed to external networks according to those categories. Examples will be described with reference to the accompanying drawings.

[0015] Figure 1A Example vehicle 100 is shown. (e.g.) Figure 1A As shown, vehicle 100 has a plurality of external cameras 102 and one or more front displays 104. Each of these external cameras 102 can capture a specific view or perspective of the exterior of vehicle 100. Images or videos captured by the external cameras 102 can then be displayed on one or more displays in vehicle 100, such as one or more front displays 104, for the driver to view.

[0016] refer to Figure 1B The vehicle 100 may include a chassis 106, which includes a frame 108 that provides the main structural components of the vehicle 100. The frame 108 may be formed by one or more beams or other structural components, or it may be integrated with the vehicle body (i.e., a monocoque construction).

[0017] In embodiments where vehicle 100 is a battery electric vehicle (BEV) or possibly a hybrid vehicle, a large battery 110 is mounted to the chassis 106 and may occupy a significant portion (e.g., at least 80%) of the area within the frame 108. For example, battery 110 may store 100 to 200 kWh. Battery 110 may be a lithium-ion battery or other types of rechargeable battery. The battery may be substantially planar in shape.

[0018] Power from battery 110 can be supplied to one or more drive units 112. Each drive unit 112 may be formed by an electric motor and possibly a gear reduction drive. In some embodiments, a single drive unit 112 is present, which drives the front or rear wheels of vehicle 100. In another embodiment, two drive units 112 are present, each driving the front or rear wheels of vehicle 100. In yet another embodiment, four drive units 112 are present, each driving one of the four wheels of vehicle 100.

[0019] Power from battery 110 may be supplied to drive unit 112 by one or more sets of power electronics 114. Power electronics 114 may include inverters configured to convert direct current (DC) from battery 110 into alternating current (AC) supplied to the motor of drive unit 112.

[0020] Drive unit 112 is coupled to two or more hubs 116 to which wheels can be mounted. Each hub 116 includes a corresponding brake 118, such as a disc brake as illustrated. Regenerative braking may also be provided by drive unit 112 or other components. Each hub 116 is further coupled to frame 108 via suspension 120. Suspension 120 may include metal or pneumatic springs for absorbing shocks. Suspension 120 may be implemented as a pneumatic or hydraulic suspension capable of adjusting the ground clearance of chassis 106 relative to a support surface. Suspension 120 may include a damper, wherein the characteristics of the damper are fixed or electronically adjustable.

[0021] exist Figure 1B In the implementation scheme and in the discussion below, vehicle 100 is a battery electric vehicle. However, the systems and methods disclosed herein can be used in any type of vehicle, including vehicles powered by an internal combustion engine (ICE), a hybrid powertrain, a hydrogen fuel cell powertrain, or other types of powertrains that require heating when ready for use, such as a diesel engine.

[0022] Figure 2A Examples Figure 1A Example components of vehicle 100. (e.g.) Figure 2A As shown, vehicle 100 includes a camera 102, one or more front displays 104, a user interface 200, one or more sensors 202, a motion sensor 203, and a positioning system 204. The one or more sensors 202 may include ultrasonic sensors, radio detection and ranging (RADAR) sensors, light detection and ranging (LIDAR) sensors, or other types of sensors. The positioning system 204 may be implemented as a Global Positioning System (GPS) receiver. The user interface 200 allows a user (such as a driver or occupant in vehicle 100) to provide input.

[0023] The components of vehicle 100 may include one or more temperature sensors 205. Temperature sensor 205 may include a sensor configured to sense ambient air temperature, battery 110 temperature, power electronics 114 temperature, temperature of each drive unit 112 and / or each motor of each drive unit 112, or temperature of any other component of vehicle 100.

[0024] The control system 206 executes instructions to perform at least some of the actions or functions of the vehicle 100, including those related to... Figure 3 and Figure 4 The functions described. For example, as shown in Figure 2, the control system 206 may include one or more electronic control units (ECUs) configured to perform at least some of the actions or functions of the vehicle 100, including regarding... Figures 3 to 4The functions described herein. In some implementations, each ECU in the ECU is dedicated to a specific set of functions. Each ECU may be a computer system and each ECU may include the functions described below. Figures 3 to 4 The functionality described.

[0025] Some features of the implementation scheme described herein can be controlled by a Telematics Control Module (TCM) ECU. The TCM ECU can provide a wireless vehicle communication gateway to support functionalities, by way of example and not limitation, such as over-the-air (OTA) software updates, vehicle-to-internet communication, vehicle-to-computing device communication, in-vehicle navigation, vehicle-to-vehicle communication, vehicle-to-landscape features (e.g., automatic toll collection sensors, automatic toll booths, power distributors at charging stations), or automatic calling functionality. In some respects, the TCM ECU can be distributed among multiple components, wholly or partially implemented on a virtual machine.

[0026] Some features of the implementation described herein can be controlled by a Central Gateway Module (CGM) ECU. The CGM ECU serves as the vehicle's communication hub, connecting various ECUs, sensors, cameras, microphones, motors, displays, and other vehicle components, and transmitting data to and from these components. The CGM ECU may include a network switch providing connectivity via a Controller Area Network (CAN) port, a Local Interconnect Network (LIN) port, and an Ethernet port. The CGM ECU can also function as the master controller for different vehicle modes (e.g., road driving mode, parking mode, off-road mode, trailer mode, camping mode), thereby controlling certain vehicle components associated with placing the vehicle in one of these vehicle modes.

[0027] In various implementations, the CGM ECU collects sensor signals from one or more sensors of the vehicle 100. For example, the CGM ECU may collect data from camera 102 and sensor 202. The sensor signals collected by the CGM ECU are then transmitted to the appropriate ECU to perform, for example, actions related to... Figure 3 and Figure 4 Describe the operations and functions.

[0028] The control system 206 may also include one or more additional ECUs, as examples and not limitations, such as a Vehicle Dynamics Module (VDM) ECU, an Experience Management Module (XMM) ECU, a Vehicle Entry / Exit System (VAS) ECU, a Near Field Communication (NFC) ECU, a Body Control Module (BCM) ECU, a Seat Control Module (SCM) ECU, a Door Control Module (DCM) ECU, a Rear Zone Control (RZC) ECU, an Autonomous Control Module (ACM) ECU, an Autonomous Safety Module (ASM) ECU, a Driver Monitoring System (DMS) ECU, and / or a Winch Control Module (WCM) ECU. If the vehicle 100 is an electric vehicle, one or more ECUs may provide functionality related to the vehicle's battery pack, such as a Battery Management System (BMS) ECU, a Battery Power Isolation (BPI) ECU, a Balanced Voltage and Temperature (BVT) ECU, and / or a Thermal Management Module (TMM) ECU. In various embodiments, the XMM ECU sends data to the TCM ECU (e.g., via Ethernet, etc.). Additionally or alternatively, the XMM ECU may send other data (e.g., audio data from microphone 208, etc.) to the TCM ECU.

[0029] refer to Figure 2B In some implementations, the control system 206 may be implemented as a plurality of area controllers 206a, 206b, 206c. Each area controller 206a, 206b, 206c may control a subset of the vehicle's systems. The subset of systems controlled by each area controller 206a, 206b, 206c may typically be assigned based on location within the vehicle 100. For example, the western area controller 206a may control the systems on the driver's side of the vehicle 100, the eastern area controller 206b may control the systems on the passenger side of the vehicle 100, and the southern area controller 206c may control the systems in the rear of the vehicle. Each area controller 206a, 206b, 206c may be implemented as a subset of the system. Figure 2A This is part of the functionality of the ECU in the control system 206. The functionality of the ECU can be distributed among the area controllers 206a, 206b, and 206c, such that only one area controller 206a, 206b, or 206c implements the functionality of each ECU. Alternatively, the functionality of the ECU can be replicated across multiple area controllers 206a, 206b, and 206c, with each area executing the functionality of the ECU for the portion of the vehicle to which that area controller 206a, 206b, or 206c is assigned.

[0030] Area controllers 206a, 206b, and 206c can be connected to each other via network 206d (such as Ethernet, Controller Area Network (CAN), or other types of networks).

[0031] refer to Figure 3The diagram illustrates a connectivity architecture 300. The connectivity architecture 300 includes a traffic classification controller (TCC) 302 and a radio management controller (RMC) 310. In some aspects, the TCC 302 and RMC 310 are physically separated from each other because they are implemented on separate hardware components within the vehicle 100 (e.g., on different ECUs or other vehicle systems). In some aspects, the RMC 310 may be located in the same location as radio devices, and / or may include radio devices that enable connectivity to external networks, such as one or more Wi-Fi and / or cellular networks. More specifically, the RMC 310 may be located near an antenna, for example, in or on the roof of the vehicle 100. As shown, the TCC 302 and RMC 310 are operable to communicate via an internal network connection 306. The internal network connection 306 may include one or more wired and / or wireless connections. In some aspects, the TCC 302 and RMC 310 may represent... Figure 2A The distribution of all or part of the TCM ECU is shown.

[0032] The TCC 302 and RMC 310 implement Virtual Network Interfaces (VNIs) 304 and 308, respectively. Each VNI 304 and VNI 308 includes a corresponding set of virtual network ports or virtual local area networks (VLANs), such as VLAN-1, VLAN-2, and VLAN-3. As will be further described below, VLAN-1, VLAN-2, and VLAN-3 can be mapped to different categories of network traffic, resulting in variable processing of network traffic reception by the RMC 310.

[0033] exist Figure 3 In one example, TCC 302 includes an infotainment component 302A, a telematics component 302B, and a vehicle computer component 302C, each of which can be a source and / or destination of network traffic for one or more applications in vehicle 100. In one example, the infotainment component 302A may generate or receive network traffic related to navigation systems, video streaming, in-vehicle Wi-Fi hotspots, etc. In another example, the telematics component 302B may generate or receive network traffic related to the location, status, or behavior of vehicle 100 (e.g., Global Navigation Satellite System (GNSS) data, vehicle sensor data, etc.). In yet another example, the vehicle computer component 302C may include or receive network traffic related to vehicle performance, safety, maintenance, etc.

[0034] The aforementioned components of TCC 302 may refer to a separate subsystem of TCC 302, or alternatively, to a separate system that collectively forms TCC 302. Furthermore, it should be understood that TCC 302 may include more, fewer, and / or different components that can serve as a source and / or destination for network traffic in vehicle 100. For example, similar network traffic may be generated by... Figure 3 The different combinations of components shown generate and / or receive. For ease of description, the functions may be described periodically with respect to TCC 302. It should be understood that in each case, such function may generally refer to TCC 302 and / or to the individual components of TCC 302.

[0035] For ease of description, functionality can be described periodically with respect to TCC 302. It should be understood that in each case, such functionality may generally relate to TCC 302 and / or to individual components of TCC 302. Virtual machines may, for example, be in... Figure 2A The virtual machine executes on the physical resources of the control system 206. Alternatively, the virtual machine can be... Figure 2A It executes on the physical resources of the XMM ECU shown. Alternatively, the virtual machine can be run on... Figure 2A It executes on the physical resources of any other ECU shown. Although this document provides examples in which the TCC 302 (and / or its components) is implemented by one or more virtual machines, it should be understood that in various other specific implementations, the TCC 302 (and / or its components) may represent, for example, a physical computer system.

[0036] Typically, TCC 302 can classify network traffic according to traffic classification policy 316. Traffic classification policy 316 may be stored in memory within TCC 302 or in memory accessible to the TCC. In the example, traffic classification policy 316 may specify the classification of network traffic based on its source within vehicle 100 (e.g., the vehicle component or application from which the traffic originates), type (e.g., protocol or format), destination, etc. For illustrative purposes, traffic classification policy 316 is shown as including traffic categories TC-1, TC-2, and TC-3; however, it should be understood that for a given specific implementation, traffic classification policy 316 may include two, three, four, five, or any other suitable number of categories.

[0037] In the example, traffic classification policy 316 can specify that network traffic from infotainment component 302A, telematics component 302B, and vehicle computer component 302C is mapped to traffic categories TC-1, TC-2, and TC-3, respectively. In another example, traffic classification policy 316 can map network traffic associated with various applications (such as the respective source applications for infotainment component 302A, telematics component 302B, and / or vehicle computer component 302C) to specific traffic categories of traffic classification policy 316. Other examples of determining the categories of network traffic will be apparent to those skilled in the art after a thorough review of this disclosure.

[0038] In some respects, each traffic category of traffic classification policy 316 can be mapped to a virtual network port of VNI 304 and 308. For example, traffic categories TC-1, TC-2, and TC-3 can be mapped to VLAN-1, VLAN-2, and VLAN-3, respectively. Other examples of mappings will be apparent to those skilled in the art after a thorough review of this disclosure.

[0039] Generally, the RMC 310 can route network traffic received via the VNI 308 to external networks, such as one or more Wi-Fi and / or cellular networks, according to network routing policy 318. The network routing policy 318 may be stored in memory within the RMC 310 or in memory accessible to the RMC. Specifically, the RMC 310 is shown routing network traffic via Wi-Fi network interface 312 and / or cellular network interface 314. The Wi-Fi network interface 312 is shown including virtual Wi-Fi ports 312A and 312B, while the cellular network interface 314 is shown including virtual cellular ports 314A, 314B, and 314C. In some aspects, the routing functionality of the RMC 310 may include dynamically allowing such traffic to be routed through a firewall in the vehicle 100 (e.g., creating rules, exceptions, etc.).

[0040] In some respects, virtual cellular ports 314A, 314B, and 314C may be associated with the same cellular network, but can distinguish certain aspects of the traffic transmitted through them. For example, virtual cellular ports 314A and 314B can distinguish the parties responsible for network traffic. Examples of responsible parties may include, for example, vehicle owners, car manufacturers, fleet managers, drivers or passengers, third-party service providers, etc. In some respects, virtual cellular ports 314A, 314B, and 314C can be beneficial, for example, for billing the use of cellular networks. For example, network traffic generated by certain infotainment applications may be attributed to drivers or passengers, while network traffic generated by certain telematics applications may be attributed to vehicle manufacturers. Additionally or alternatively, virtual cellular ports 314A and 314B can distinguish the quality of service to be achieved for network traffic (e.g., due to the responsible party, data source, data destination, data type, etc.).

[0041] Similar to virtual cellular ports 314A, 314B, and 314C, virtual Wi-Fi ports 312A and 312B can be associated with the same Wi-Fi network, but can distinguish some aspects of the traffic sent through them, such as the parties responsible for the network traffic and the quality of service associated with the network traffic.

[0042] In some respects, network routing policy 318 can specify whether network traffic is routed via Wi-Fi network interface 312 or cellular network interface 314 based on the virtual network port of the VNI 308 through which it receives network traffic. For example, network routing policy 318 can specify one or more transmission rules. Such rules can include conditions such as whether Wi-Fi connectivity is currently available via Wi-Fi network interface 312.

[0043] In the example, network routing policy 318 can specify that if network traffic is received via a specific virtual network port (e.g., VLAN-1) of VNI 308, and Wi-Fi connectivity is currently available via Wi-Fi network interface 312, then network traffic should be routed via a specific virtual Wi-Fi port (e.g., virtual Wi-Fi port 312A) of Wi-Fi network interface 312. Network routing policy 318 can also specify, for example, that if Wi-Fi connectivity is currently unavailable via Wi-Fi network interface 312, then network traffic should be routed via a specific virtual cellular port (e.g., virtual cellular port 314A).

[0044] In another example, network routing policy 318 may specify that if network traffic is received via a specific virtual network port (e.g., VLAN-3) of VNI 308, and Wi-Fi connectivity is currently available via Wi-Fi network interface 312, then network traffic should be routed through a specific virtual Wi-Fi port of Wi-Fi network interface 312. Unlike the example above, network routing policy 318 may omit any permission or disallowing of the transmission of network traffic via cellular network interface 314.

[0045] In another example, network routing policy 318 may specify that if network traffic is received via a specific virtual network port (e.g., VLAN-2) of VNI 308, then the network traffic should be routed through a specific virtual cellular port (e.g., virtual cellular port 314B), regardless of whether Wi-Fi connectivity is available via Wi-Fi network interface 312. In various respects, each virtual network port of VNIs 304 and 308 may correspond to a specific virtual cellular port of cellular network interface 314. Other examples of rules or conditions that may be specified in network routing policy 318 will be apparent to those skilled in the art after a detailed review of this disclosure.

[0046] In some respects, although traffic classification policy 316 and network routing policy 318 are shown and described separately, each such policy may refer to a single policy that is accessible to both TCC 302 and RMC 310 (e.g., stored in a shared storage device, stored separately by TCC 302 and RMC 310 and periodically synchronized, etc.).

[0047] In some respects, TCC 302 can know the current connectivity status of Wi-Fi network interface 312 and / or cellular network interface 314. In one example, RMC 310 can notify TCC 302 of the current connectivity status of Wi-Fi network interface 312 and / or cellular network interface 314. In another example, TCC 302 can request and receive this connectivity status from RMC 310. The current connectivity status can indicate, for example, connectivity available, no connectivity available, etc.

[0048] In some respects, TCC 302 can take action relative to VNI 304 based on the current connectivity status of Wi-Fi network interface 312 and / or cellular network interface 314. For example, TCC 302 can shut down a virtual network port via VNI 304 during a period when connectivity will not be provided. In the example, if VLAN-1 of VNI 304 corresponds to network traffic sent only via Wi-Fi, and Wi-Fi connectivity is currently unavailable, TCC 302 can shut down VLAN-1 (e.g., shut down the corresponding port or socket), allowing the application from which the traffic originates to retry when connectivity becomes available later. According to this example, when TCC 302 knows that connectivity is available again, it can reopen V-LAN-1.

[0049] Figure 4 Examples are shown for use Figure 3 An example of the process 400 for the connectivity architecture 300. At box 402, TCC 302 receives network traffic. At box 404, TCC 302 determines the category of the network traffic (e.g., TC-1, TC-2, or TC-3) based on traffic classification policy 316. At box 406, TCC 302 determines the virtual network ports of VNIs 304 and 308 for the determined category (e.g., VLAN-1, VLAN-2, or VLAN-3). In some respects, categories can be mapped to virtual network ports in traffic classification policy 316.

[0050] At box 408, TCC 302 sends network traffic to RMC 310 via the virtual network port identified by VNI 304. Network traffic may be sent, for example, via internal network connection 306. At box 410, RMC 310 receives network traffic via the virtual network port identified by VNI 308. At box 412, RMC 301 routes network traffic according to network routing policy 318, for example, via Wi-Fi network interface 312 or cellular network interface 314. In some aspects, the routing functionality of RMC 310 may include dynamically allowing traffic to be routed through firewalls (e.g., creating rules, exceptions, etc.).

[0051] Various embodiments of this disclosure have been described for illustrative purposes. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein has been chosen to explain the principles of the embodiments, their practical application, or technical improvements to technologies found in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.

[0052] In the foregoing, reference has been made to the embodiments presented in this disclosure. However, the scope of this disclosure extends beyond the specifically described embodiments. Rather, any combination of features and elements is contemplated for implementing and practicing the contemplated embodiments, whether or not different embodiments are involved. Furthermore, while the embodiments disclosed herein may achieve advantages over other possible solutions or over the prior art, the embodiments may achieve some advantages or no particular advantages. Therefore, the aspects, features, embodiments, and advantages discussed herein are merely illustrative.

[0053] The various aspects of this disclosure may take the form of a completely hardware implementation, a completely software implementation (including firmware, resident software, microcode, etc.), or a combination of software and hardware implementations, all of which may be collectively referred to herein as “circuit,” “module,” or “system.”

[0054] Various aspects of this disclosure are described by narrative text, flowcharts, block diagrams of computer systems, and / or block diagrams of machine logic included in implementations of a computer program product (CPP). Regarding any flowchart, depending on the technology involved, operations can be performed in a different order than that shown in a given flowchart. For example, again depending on the technology involved, two operations shown in consecutive flowchart frames can be performed in reverse order, as a single integrated step, concurrently, or in a manner that at least partially overlaps in time.

[0055] A Computer Program Product Implementation (“CPP Implementation” or “CPP”) is a term used in this disclosure to describe any set of one or more storage media (also referred to as “media”) collectively included in a set of one or more storage devices, which collectively include machine-readable code corresponding to instructions and / or data for performing computer operations specified in a given CPP claim. A “storage device” is any tangible device capable of holding and storing instructions for use by one or more computer processing devices. Without limitation, a computer-readable storage medium can be an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, a mechanical storage medium, or any suitable combination of the foregoing. Specific types of storage devices including these media include: magnetic disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disc (DVD), memory sticks, floppy disks, mechanical encoding devices (such as punched cards or pits / platforms formed in the main surface of the disk), or any suitable combination of the foregoing. As used in this disclosure, computer-readable storage medium refers to a non-transitory storage device rather than the transient signal itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides, optical pulses transmitted through fiber optic cables, and electrical signals transmitted through wires and / or other transmitting media. As those skilled in the art will understand, data typically moves at some incidental points in time during the normal operation of the storage device, such as during access, defragmentation, or garbage collection, but the storage device remains non-transitory during these processes because the data remains non-transitory while stored.

Claims

1. A system for routing vehicle network traffic to an external network, the system comprising: A first computer in the vehicle, wherein the first computer is operable to: Receive network traffic related to software applications running in the vehicle; The network traffic category is determined based on a traffic classification strategy; Determine the virtual network port for the identified category of virtual network interface; as well as The network traffic is sent via the determined virtual network port through the internal network connection in the vehicle; and A second computer in the vehicle, wherein the second computer is communicatively coupled to the first computer via the internal network connection, and is operable to: The network traffic is received via the virtual network port through the internal network connection; as well as The network traffic is routed to an external network based on the virtual network port.

2. The system according to claim 1, wherein: The first computer includes virtual machines running on its physical resources; and The virtual machine performs the receiving of network traffic, the determination of the category, the determination of the virtual network port, and the sending of network traffic.

3. The system according to claim 1, wherein: The traffic classification strategy maps multiple network traffic sources in the vehicle to multiple traffic categories; and The category of the network traffic is determined based on the source of the network traffic within the vehicle, and the plurality of network traffic sources include the source of the network traffic.

4. The system according to claim 3, wherein: The multiple network traffic sources include infotainment components and vehicle telematics components; and The traffic classification strategy maps traffic from the infotainment unit to a first traffic category among the plurality of traffic categories, and maps traffic from the vehicle telematics unit to a second traffic category among the plurality of traffic categories.

5. The system according to claim 3, wherein: The multiple network traffic sources include a first infotainment software application and a second infotainment software application; and The traffic classification strategy maps traffic from the first infotainment software application to a first traffic category among the plurality of traffic categories, and maps traffic from the second infotainment software application to a second traffic category among the plurality of traffic categories.

6. The system of claim 3, wherein the plurality of traffic categories are mapped to a plurality of virtual network ports of the virtual network interface, the plurality of virtual network ports including the determined virtual network ports.

7. The system of claim 3, wherein the network traffic is routed to the external network based on a network routing policy, the network routing policy specifying whether the network traffic is routed via a Wi-Fi network interface or a cellular network interface based on the virtual network port.

8. The system of claim 7, wherein the network routing policy further specifies whether the network traffic is routed via the Wi-Fi network interface or via the cellular network interface based on the availability of Wi-Fi connectivity via the Wi-Fi network interface.

9. The system of claim 7, wherein the routing comprises: In response to determining that the virtual network port corresponds to a first virtual network port of the virtual network interface and determining that Wi-Fi connectivity is currently available via the Wi-Fi network interface, the network traffic is routed to the external network through the Wi-Fi network interface.

10. The system of claim 7, wherein the routing comprises: In response to determining that the virtual network port corresponds to a first virtual network port of the virtual network interface and determining that Wi-Fi connectivity is currently unavailable via the Wi-Fi network interface, the network traffic is routed to the external network via the cellular network interface.

11. The system according to claim 10, wherein: The cellular network interface includes multiple virtual cellular ports; and Routing network traffic to the external network via the cellular network interface includes: routing the network traffic via a virtual cellular port corresponding to the determined virtual network port among the plurality of virtual cellular ports.

12. The system of claim 11, wherein the plurality of virtual cellular ports distinguish at least one of: the party responsible for the network traffic, or the quality of service to be achieved for the network traffic.

13. The system of claim 7, wherein the routing comprises: In response to determining that the virtual network port corresponds to a first virtual network port of the virtual network interface and determining that Wi-Fi connectivity is currently unavailable via the Wi-Fi network interface, network traffic is not allowed to be sent through the cellular network interface.

14. The system of claim 7, wherein the routing comprises: In response to determining that the virtual network port corresponds to a first virtual network port of the virtual network interface, the network traffic is routed through the cellular network interface, regardless of whether Wi-Fi connectivity is available via the Wi-Fi network interface.

15. The system of claim 14, wherein the first computer is further capable of operating to: Receive a notification from the second computer that connectivity is unavailable via the Wi-Fi network interface; and In response to the notification, at least one virtual network port of the virtual network interface is closed.

16. The system of claim 7, wherein the traffic classification policy and the network routing policy are included in a single policy.

17. The system of claim 1, wherein the routing comprises: The network traffic is dynamically allowed to be routed through the firewall in the vehicle.

18. The system of claim 1, wherein the internal network connection includes a wired network connection.

19. The system of claim 1, wherein the external network includes at least one of a Wi-Fi network or a cellular network.

20. A method for routing vehicle network traffic to an external network, the method comprising: At the first computer in the vehicle, network traffic related to the software application running in the vehicle is received; At the first computer, the category of the network traffic is determined based on a traffic classification strategy; At the first computer, a virtual network port for the determined category of virtual network interface is determined; The network traffic is sent via the determined virtual network port through the internal network connection in the vehicle; At the second computer in the vehicle, network traffic is received via the virtual network port through the internal network connection; as well as At the second computer, network traffic is routed to an external network based on the virtual network port.