Communication control device and communication control method
The communication control device and method address congestion issues in vehicle networks by monitoring and managing bandwidth, allowing applications to respond effectively to congestion and reduce processing loads through timely notifications and controls.
Patent Information
- Application Number
- JP2022001157
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-01-06
- Publication Date
- 2025-02-04
- Estimated Expiration
- 2042-01-06
AI Technical Summary
Existing communication systems in vehicles do not effectively manage congestion in wireless networks, leading to unpredictable delays and increased processing loads due to frequent retransmissions, especially when applications with high priority are unable to receive responses from servers during congestion.
A communication control device and method that monitors communication lines for congestion, applies bandwidth restrictions to affected applications, and sends notifications to applications indicating congestion, along with providing response control information to manage bandwidth usage dynamically.
Enables applications to recognize and respond promptly to congestion, reducing processing loads and preventing unnecessary retransmissions by providing timely notifications and recommended controls.
Smart Images

Figure 0007626073000001 
Figure 0007626073000002 
Figure 0007626073000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a technique for relaying communication between an application used in a vehicle and a server. [Background technology]
[0002] Patent Document 1 discloses a configuration in which a plurality of ECUs (Electronic Control Units) equipped in a vehicle communicate with a server located outside the vehicle via a communication device mounted on the same vehicle. Patent Document 1 also discloses a configuration in which the communication device adjusts the data transmission order based on a priority set in advance for each ECU in order to improve the efficiency of data transmission from the communication device to the server. Specifically, data input from an ECU with a high priority is transmitted to the server before data from an ECU with a relatively low priority. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2006-88829 A Summary of the Invention [Problem to be solved by the invention]
[0004] Patent Document 1 discloses a configuration in which a communication control device adjusts the packet transmission order for each application based on a preset priority. However, Patent Document 1 does not mention anything about a technology for dynamically controlling the allocation state of communication lines / communication bands for each application. In addition, Patent Document 1 does not mention anything about a control mode when congestion occurs in a wireless section.
[0005] In the configuration disclosed in Patent Document 1, when congestion occurs, even if the application has a high priority, it may not be possible for the application to obtain a response from the server. Also, when a low-priority application does not receive a response from the server, it cannot determine whether the communication of another high-priority application is being prioritized or whether congestion has occurred in the first place.
[0006] In the configuration disclosed in Patent Document 1, the reason for the communication delay may be unclear in the application, so that, for example, retransmission requests (so-called retries) may occur frequently in the TCP layer / application layer. Frequent retransmission requests may lead to an increase in the processing load of the communication control device. In addition, the processing load of the application itself may increase due to the retry processing.
[0007] The present disclosure has been made based on the above considerations or viewpoints, and one of its objectives is to provide a communication control device and a communication control method that enable an application to recognize the occurrence of congestion. Law The purpose is to provide. [Means for solving the problem]
[0008] Disclosed herein 1. The communication control device is a communication control device that controls communication by an application implemented by a device connected to a first network and communication with an external device connected to a second network different from the first network, monitors a state of a communication line for communication with the external device, and detects the occurrence of congestion in the communication line; Based on the detection of congestion on a communication line, a bandwidth limit is applied to applications that are using the communication line where congestion is detected. Sends notifications to applications that their lines are congested In addition, it transmits reference information to applications that are subject to bandwidth restrictions to determine how to respond to the bandwidth restrictions. It is configured to: A second communication control device included in the present disclosure is a communication control device that controls communication with an external device connected to a second network different from the first network, where the communication is performed by an application implemented by a device connected to a first network, and is configured to monitor the status of a communication line for communicating with the external device, detect the occurrence of congestion on the communication line, obtain notification conditions from the application that indicate that the line in use is congested and the reason for the congestion, and, based on the detection of the occurrence of congestion and the satisfaction of the notification conditions, send a notification to the application using the communication line where congestion has been detected. A third communication control device included in the present disclosure is a communication control device that controls communication with an external device connected to a second network different from the first network, wherein the communication is performed by an application implemented by a device connected to a first network, and is configured to monitor the state of a communication line for communicating with the external device, detect the occurrence of congestion on the communication line, obtain from the application a notification condition which is a condition under which the application desires to send a notification indicating that the line in use is congested, impose a bandwidth limit on an application using the communication line where congestion has been detected based on the detection of congestion on the communication line, and detect the occurrence of congestion and send a notification to the application to which the bandwidth limit is imposed based on the satisfaction of the notification condition.
[0009] According to the above configuration, the application can grasp the occurrence of congestion.
[0010] The present disclosure 1.The communication control method is a communication control method by a communication control device that controls communication by an application implemented by a device connected to a first network with an external device connected to a second network different from the first network, the method comprising: monitoring a state of a communication line for communicating with the external device; detecting the occurrence of congestion in the communication line; Based on the detection of congestion on a communication line, a bandwidth limit is applied to applications that are using the communication line where congestion is detected. Sends notifications to applications that their lines are congested In addition, it transmits reference information to applications that are subject to bandwidth restrictions to determine how to respond to the bandwidth restrictions. do. A second communication control method included in the present disclosure is a communication control method by a communication control device that controls communication with an external device connected to a second network different from the first network, wherein the communication control method involves monitoring the state of a communication line for communicating with the external device, detecting the occurrence of congestion on the communication line, obtaining notification conditions from the application that indicate that the line in use is congested and the reason for the congestion, and detecting the occurrence of congestion and sending a notification to the application using the communication line where congestion has been detected based on the notification conditions being satisfied. A third communication control method included in the present disclosure is a communication control method by a communication control device that controls communication with an external device connected to a second network different from the first network, wherein the communication control method involves monitoring the state of a communication line for communicating with the external device, detecting the occurrence of congestion on the communication line, obtaining from the application a notification condition which is a condition under which the application wishes to send a notification indicating that the line in use is congested, and based on the detection of congestion on the communication line, applying a bandwidth limit to an application using the communication line where congestion has been detected, and based on detecting the occurrence of congestion and satisfying the notification condition, sending a notification to the application to which the bandwidth limit is applied.
[0011] According to the above method, the same effect can be obtained by the same action as that of the communication control device.
[0014] In addition, the symbols in parentheses in the claims indicate a correspondence with the specific means described in the embodiments described below as one aspect, and do not limit the technical scope of the present disclosure. [Brief description of the drawings]
[0015] [Figure 1] FIG. 1 is a diagram for explaining an overall view of a vehicle communication system; [Diagram 2] FIG. 2 is a block diagram showing a configuration of a relay server. [Diagram 3] FIG. 1 is a block diagram showing a configuration of an in-vehicle system. [Figure 4] FIG. 2 is a block diagram showing the configuration of an ECU. [Diagram 5] FIG. 13 is a diagram illustrating an example of a frame configuration of a communication start request. [Figure 6] FIG. 4 is a diagram illustrating an example of communication conditions. [Figure 7] FIG. 2 is a diagram for explaining functions of a communications manager. [Figure 8] FIG. 2 is a functional block diagram of a communications manager. [Figure 9] 11 is a diagram for explaining the operation of a communication state management unit. FIG. [Figure 10] FIG. 13 illustrates an example of a configuration of a bandwidth limit notification. [Figure 11] FIG. 13 is a diagram illustrating an example of a restriction reason. [Figure 12] FIG. 13 is a diagram illustrating another example of the configuration of a bandwidth limit notification. [Figure 13] FIG. 13 is a diagram illustrating an example of a recommended control. [Figure 14] 13 is a diagram showing an example of recommended control content and supplemental information for each restriction reason notified to an app for which the notification level is set to 2. FIG. [Figure 15] 13 is a diagram showing an example of recommended control content and supplemental information for each restriction reason notified to an app for which the notification level is set to 3. FIG. [Figure 16] FIG. 11 is a sequence diagram for explaining the operation of a communications manager. [Figure 17] FIG. 11 is a sequence diagram for explaining the operation of a communications manager. [Figure 18] FIG. 13 is a diagram illustrating a case where communication lines for some applications are switched due to congestion. [Figure 19] 11 is a diagram showing a case where the communication timing of some applications is adjusted due to congestion. FIG. [Figure 20] 11 is a flowchart illustrating an operation of an application in response to a bandwidth limit notification. [Figure 21] 11 is a diagram for explaining the operation of the communication manager after transmitting a bandwidth limit notification. FIG. [Figure 22] FIG. 13 is a diagram for explaining a problem with the comparative configuration. [Figure 23] FIG. 13 is a diagram illustrating a configuration example in which an application has a bandwidth limiting function. [Figure 24] 11 is a flowchart for explaining an operation of the communications manager when an application has a bandwidth limiting function. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] Hereinafter, an embodiment of the present disclosure will be described with reference to the drawings. FIG. 1 is a diagram showing an example of a schematic configuration of a vehicle communication system Sys according to the present disclosure. The vehicle communication system Sys provides wireless communication conforming to, for example, 4G / LTE (Long Term Evolution). Parts not described in the embodiments are performed by a method defined in the 4G / LTE standard. Note that the vehicle communication system Sys may provide wireless communication conforming to the 3G standard, the 5G standard, the 6G standard, or the like. Hereinafter, 3G, 4G / LTE, 5G, 6G, and the like will be collectively referred to as 4G, and the like.
[0017] <Overall composition> As shown in Fig. 1, the vehicular communication system Sys includes an in-vehicle system 1, a cellular base station 2, a wide area communication network 3, a server 4, and a relay server 5. The vehicular communication system Sys may also include a Wi-Fi base station 6 as an optional element. Although only one cellular base station 2 and one Wi-Fi base station 6 are shown in Fig. 1, there may be multiple of these. Similarly, although only one vehicle Vc equipped with the in-vehicle system 1 is shown in Fig. 1, there may be multiple of them in the entire system.
[0018] As will be described in detail later, the in-vehicle system 1 includes a plurality of ECUs (Electronic Control Units) 7 and a wireless communication device 8. The ECU 7 is a control device mounted on the vehicle Vc. The in-vehicle system 1 also includes a plurality of applications (hereinafter, referred to as apps 9). The apps 9 are programs that run on the ECU 7.
[0019] The wireless communication device 8 is a device used in the vehicle as an interface for the application 9 to carry out data communication with the server 4 as an external device. The wireless communication device 8 controls communication between the application 9 and the server 4. The wireless communication device 8 corresponds to a communication control device. The wireless communication device 8 is configured to be able to use multiple types of wireless communication services (in other words, communication lines) with different communication methods, such as a cellular line and a Wi-Fi line. The cellular line here refers to a communication line via a cellular base station 2, in other words, a communication line conforming to 4G or the like. Also, the Wi-Fi line refers to a communication line via a Wi-Fi base station 6. The Wi-Fi line is available when the vehicle Vc is within the communication area of the Wi-Fi base station 6.
[0020] The app 9 provides a predetermined service to a user of the vehicle Vc by communicating with the server 4. The app 9 is realized by a calculation core provided in the ECU 7 executing predetermined application software. The app 9 may include a control program for the application. In this disclosure, the terms "application" and "app" may be read as a device / calculation core that executes an application. The calculation core refers to a processor such as a CPU (Central Processing Unit).
[0021] The cellular base station 2 is a facility that transmits and receives wireless signals conforming to standards such as 4G with the wireless communication device 8. The cellular base station 2 is also called an eNB (evolved NodeB). The cellular base station 2 may be a gNB (next generation NodeB) used in 5G. The cellular base station 2 exchanges control signals with the wireless communication device 8, thereby enabling the wireless communication device 8 to connect to the wide area communication network 3, and thus enabling data communication between the wireless communication device 8 and various servers 4.
[0022] The cellular base station 2 transmits various reference signals (RS) at any time. Examples of reference signals include CRS (Cell-specific RS) and CSI-RS (CSI-Reference Signal). CSI is an abbreviation for Channel State Information. CRS is a control signal for cell selection. CSI-RS is an RS for estimating the state of an uplink or downlink transmission path. In one aspect, the various RSs correspond to control signals for the wireless communication device 8 to evaluate so-called QoS (Quality of Service), such as the communication speed, latency, and packet loss rate of a communication line.
[0023] The wide area communication network 3 includes a core network such as EPC (Evolved Packet Core). The wide area communication network 3 may also include the Internet or an IP (Internet Protocol) network other than the Internet. The wide area communication network 3 may be a network to which the server 4, the relay server 5, and the Wi-Fi base station 6 are connected. The wide area communication network 3 corresponds to a second network.
[0024] In this disclosure, communication equipment constituting the wide area communication network 3, such as an MME (Mobility Management Entity) and an S-GW, is collectively referred to as a network side device. The network side device may include a cellular base station 2. The MME is a device in charge of managing UE (User Equipment) in a cell and controlling the cellular base station 2.
[0025] The server 4 is a computer that executes processing for providing a predetermined service by performing data communication with the app 9. Data communication between the server 4 and the app 9 is performed via a relay server 5. The server 4 executes predetermined processing on data received from the app 9 used in the vehicle Vc. The server 4 transmits data corresponding to the provided service to the app 9 and collects data from the app 9. A server 4 may exist for each app 9. The server 4 corresponds to an external device.
[0026] The relay server 5 is a server that relays communication between the vehicle Vc and the server 4. The relay server 5 comprehensively controls communication connection between the vehicle Vc and the server 4 and monitors the communication status. When the wireless communication device 8 is connected to the wide area communication network 3, the relay server 5 is able to communicate with the wireless communication device 8 via the wide area communication network 3. Based on a request from the server 4, the relay server 5 transmits data to the ECU 7 mounted in the specified vehicle Vc and acquires data from the vehicle Vc.
[0027] The Wi-Fi base station 6 is a communication facility for forming a wireless LAN (Local Area Network) conforming to Wi-Fi. Various standards such as IEEE802.11n, IEEE802.11ac, and IEEE802.11ax (so-called Wi-Fi6) can be adopted as Wi-Fi standards. The Wi-Fi base station 6 is arranged at any location by various service providers as infrastructure facilities. Note that the Wi-Fi in this disclosure refers to Wi-Fi that can be used by the wireless communication device 8, such as free Wi-Fi and Wi-Fi for which a user or a vehicle manufacturer has already signed a contract. The Wi-Fi base station 6 can be called an access point or a router.
[0028] The specifications of the ECU 7 installed in each vehicle Vc may differ. The ECU specifications may include the OS (Operating System) and the startup state of the ECU 7 / applications 9 when the driving power is off. The driving power source is a power source for driving the vehicle Vc, and refers to the ignition power source when the vehicle Vc is a gasoline vehicle. When the vehicle Vc is an electric vehicle, the driving power source refers to the system main relay. Electric vehicles include electric vehicles and hybrid vehicles.
[0029] <Examples of apps installed in the vehicle> The vehicle Vc may be equipped with various applications 9. For example, the vehicle Vc may include some or all of a vehicle status confirmation application, an AVP (Automated Valet Parking) application, an emergency call application, a control assistance application, etc. Note that the application 9 illustrated here is merely an example, and various applications other than those illustrated may be used in the vehicle Vc.
[0030] The vehicle status confirmation app is an app that allows a user to check the status of the vehicle Vc, such as the total mileage, the remaining battery level, the open / close status of each door, and the interior temperature, on a user device. The user device refers to a smartphone, tablet terminal, laptop, desktop PC, etc. The vehicle status confirmation app periodically uploads various information to the server 4. The server 4 corresponding to the vehicle status confirmation app stores the vehicle status data acquired from the app and transmits it to a specific user device based on a request from the user.
[0031] The vehicle state confirmation application may be in-vehicle software for displaying images from an in-vehicle camera on a user device via the server 4 or storing the images in the server 4. The vehicle state confirmation application may have a function for controlling the locking / unlocking state of doors, the opening degree of windows, and the lighting state of lighting devices based on instruction signals from a user transmitted via the server 4. In other words, the vehicle state confirmation application may be configured as an application for remotely controlling the body electrical equipment and air conditioning device of the vehicle Vc. The body electrical equipment includes various lighting devices, door lock motors, window motors, etc.
[0032] The AVP application is an application that provides an automatic parking service and an automatic leaving service. The automatic parking service refers to automatically driving a vehicle Vc to an empty parking space and parking it. The automatic leaving service refers to a service that starts a parked vehicle Vc and automatically drives it to the user. For example, the server 4 corresponding to the AVP application may transmit target parking position information such as an available empty space for parking based on a request from the application 9. Also, the server 4 corresponding to the AVP application transmits the user's current position, etc. to the AVP application based on a leaving request from the user device.
[0033] The emergency call application is an application that notifies a predetermined center or a user device of the occurrence of an abnormality when triggered by an accident, an abnormality of an occupant, etc. The emergency call application may be an application that detects an abnormality related to theft, such as unauthorized unlocking of a vehicle Vc, and notifies a center, etc. The service provided by the emergency call application corresponds to an application with a relatively high degree of importance.
[0034] The control assistance application is an application that receives control assistance information, which is information that serves as a reference for creating a control plan, from the server 4 periodically or when a predetermined event occurs. The control assistance information is, for example, information on semi-dynamic map elements that indicate the positions and types of obstacles on the road, such as the end of a traffic jam or the position of an object that has fallen on the road. The control assistance information may be information that indicates the position and lighting status of a traffic light ahead of the vehicle Vc, or information that indicates a driving trajectory according to the traveling direction inside and outside an intersection. The server 4 corresponding to the control assistance application may distribute control assistance information according to the current position of the vehicle Vc, for example, based on a request from the application.
[0035] <About Relay Server 5> As described above, the relay server 5 is a server that relays communication between the vehicle Vc and the server 4, and further communication between the app 9 and the server 4. The relay server 5 corresponds to a computer that provides the main functions on the cloud side in an Automotive Communication Platform (ACP). The ACP is a technology that enables secure data communication between the server 4 and the app 9 while concealing (abstracting) differences in system configuration for each vehicle Vc.
[0036] For example, due to differences in model, release year (generation), grade, etc., the combination of ECUs that are powered off during parking and ECUs that are not powered off may differ for each vehicle Vc. In addition, the configuration of the in-vehicle system 1 including the ECUs may differ for each vehicle Vc. The relay server 5 conceals the differences in system configuration for each vehicle Vc and the differences in power supply state for each ECU, that is, the diversity for each vehicle Vc and each ECU 7, from the server 4. The relay server 5 then realizes a pseudo-constant connection as if each ECU 7 and the server 4 were constantly connected. The relay server 5 is a server that constitutes an ACP in one aspect, and therefore can also be called an ACP server.
[0037] Such a relay server 5 is configured, for example, as shown in FIG. 2, using a communication device 51, a server processor 52, a RAM (Random Access Memory) 53, and a storage 54. The communication device 51 is configured to communicate with the wireless communication device 8 and various servers 4, and is configured to be able to perform encrypted communication with other devices such as the server 4 using, for example, Transport Layer Security (TLS). The server processor 52 is, for example, a calculation core such as a CPU. The RAM 53 is a rewritable volatile memory. The storage 54 is a rewritable non-volatile memory. The storage 54 stores a relay server program, which is a program for relaying data communication between the wireless communication device 8 and the server 4. The relay server program can also be called ACP cloud software.
[0038] The server processor 52 acquires communication path information (so-called 5-tuple) such as address information and port numbers of various devices by exchanging control signals with the wireless communication device 8 and the server 4. The address information may be either an IP address or a MAC (Media Access Control) address, or both.
[0039] The relay server 5 notifies the server 4 of information necessary for communication with the application 9 at all times. The information necessary for communication with the application 9 includes communication path information assigned to the application 9. The relay server 5 also notifies the wireless communication device 8 of information necessary for communication with the server 4. The relay server 5 relays concealed / encrypted data communication between the application 9 and the server 4 using the communication path information.
[0040] The relay server 5 may be realized using a plurality of computers. Each server 4 may have some or all of the functions provided by the relay server 5. The relay server 5 may be integrated with the server 4. In addition, the relay server 5 is an optional element and may be omitted. In other words, the vehicle Vc and the server 4 may be configured to perform data communication without going through the relay server 5.
[0041] <ECUについて> As shown in FIG. 3, each of the multiple ECUs 7 included in the in-vehicle system 1 is connected to the wireless communication device 8 via an in-vehicle network Nw. The in-vehicle network Nw is a communication network built in the vehicle. Various standards can be adopted as the standard of the in-vehicle network Nw, such as Controller Area Network (CAN is a registered trademark) and Ethernet (registered trademark). The in-vehicle network Nw corresponds to the first network. Note that some of the ECUs 7 may be directly connected to the wireless communication device 8 without going through the in-vehicle network Nw. Also, another ECU 7 may be interposed between a certain ECU 7 and the wireless communication device 8.
[0042] 3 illustrates an example in which four ECUs 7a to 7d are connected to the wireless communication device 8. The number of ECUs 7 connected to the wireless communication device 8 can be changed as appropriate. There may be only one ECU 7 connected to the wireless communication device 8. The multiple ECUs 7 each have different services / control targets, etc.
[0043] As shown in Fig. 4, each ECU 7 is configured as a computer including an ECU processor 71, a RAM 72, a ROM (Read Only Memory) 73, etc. The ECU processor 71 is an arithmetic core such as a CPU. Each ECU 7 executes a program stored in the ROM 73 to perform processing according to the program. Each ECU 7 is assigned an ECU-ID, which is unique identification information.
[0044] The ECU 7 is configured to be able to execute one or more applications 9. Note that a plurality of ECUs 7 may be configured to cooperate with each other to execute one application 9. A first application 91 shown in Fig. 3 is an application 9 executed by the ECU 7a, and a second application 92 and a third application 93 are applications 9 executed by the ECU 7b. A fourth application 94 is an application 9 realized by cooperation between the ECUs 7c and 7d.
[0045] In addition, "App" in the figure is an abbreviation of application / app. Also, "AppN" in the figure means the Nth app. For example, "App1" refers to the first app 91, and "App2" refers to the second app 92. Various apps such as the AVP app described above can be assumed as each app 9. The multiple apps 9 each provide different services / functions.
[0046] Each application 9 is assigned an application ID, which is identification information unique to the application 9. The application ID may be assigned by a designer / distributor of the application 9, or may be assigned by a predetermined ECU 7 that centrally manages the installation of software in the vehicle Vc when the application 9 is installed in the vehicle Vc (actually, the ECU 7).
[0047] <About the app's operation> The application 9 outputs transmission data addressed to the server 4 corresponding to the application 9 to the wireless communication device 8. The application 9 also acquires data from the server 4 via the wireless communication device 8. Each application 9 outputs a communication start request to the wireless communication device 8 in response to the generation of transmission data addressed to the server 4. The communication start request corresponds to a predetermined electrical signal, message, or communication frame requesting the start of data communication. The communication start request includes an application ID. The communication start request may also include communication conditions indicating conditions related to data communication with the server 4.
[0048] The communication start request may include an application ID, communication conditions, a notification destination address, notification conditions, and desired notification items, as shown in Fig. 5, for example. Fc1 in the figure indicates an application ID field which is an area in the communication frame where the application ID is placed. Fc2 indicates a communication conditions field which is an area in the communication frame where the communication conditions are placed. Fc3 indicates a notification destination address field which is an area in the communication frame where the notification destination address is placed. Fc4 indicates a notification conditions field which is an area in the communication frame where the notification conditions are placed. Fc5 indicates a desired notification item field which is an area in the communication frame where the notification items are placed.
[0049] As shown in FIG. 6, items constituting communication conditions include, for example, (A) tolerable latency, (B) tolerable RTT, (C) communication frequency, (D) average size, (E) minimum bandwidth, (F) urgency, and (G) control availability.
[0050] (A) The allowable waiting time indicates the time by which communication needs to be started, in other words, the waiting time until the start of communication that application 9 can tolerate. Note that "d", "h", "min", "s", and "ms" shown in the setting value example column in FIG. 6 indicate units of time such as "day", "hour", "minute", "second", and "millisecond", respectively. (B) The allowable RTT indicates the allowable response delay time. RTT is an abbreviation for Round-Trip Time.
[0051] (C) Communication frequency indicates the frequency of data transmission / reception. (D) Average size indicates the expected value of the size of one data set exchanged between the application 9 and the server 4. (E) Minimum bandwidth indicates the minimum value of the communication bandwidth to be secured. The minimum bandwidth can be expressed in terms of a communication speed, for example, 10 Mbps or 1 Mbps. The minimum bandwidth may be calculated and set by the wireless communication device 8 based on the communication frequency, average size, etc.
[0052] (F) Urgency indicates whether the communication is highly urgent, in other words, whether the communication should be started immediately. The urgency can be expressed, for example, by a flag. For example, when the urgency flag is 1 (on), it indicates a highly urgent communication, and when the urgency flag is 0 (off), it indicates a less urgent communication. Applications 9 for which the urgency flag is set on include emergency call applications, applications for uploading accident data to the server 4, and theft detection applications. The level of urgency may be determined by the wireless communication device 8 based on the above-mentioned allowable waiting time.
[0053] (G) Control usability indicates whether the data exchanged with the server 4 is data used for driving control of the vehicle Vc. Control usability can be expressed, for example, by a flag. For example, when the control usability flag is 1 (on), it indicates that the communication handles data used for vehicle control, and when the control usability flag is 0 (off), it indicates that the communication handles data that is not related / has little relevance to vehicle control. Both urgency and control usability indicate importance, i.e., whether the communication is important or not. The items of urgency and control usability may be integrated into a parameter such as importance.
[0054] The communication conditions that the application 9 transmits to the wireless communication device 8 do not need to include all of the above items. The above items are merely examples, and the combination of specific items in the communication conditions can be changed as appropriate. In addition to the above, the communication conditions may also include a flag indicating whether or not the user wishes to actively use Wi-Fi.
[0055] In the present embodiment, as an example, the communication conditions for each application 9 are transmitted to the wireless communication device 8 in a form included in a communication start request, but the manner of notifying the communication conditions is not limited thereto. The application 9 may voluntarily send a message indicating the communication conditions separately from the communication start request. The application 9 may also send a message indicating the communication conditions based on a request from the wireless communication device 8. In addition, the application 9 may send the communication conditions to the wireless communication device 8 at the timing when the ECU 7 and the wireless communication device 8 are connected for communication with the turning on of the running power. The application 9 may send the communication conditions and the like to the wireless communication device 8 each time based on the occurrence of communication traffic (in other words, data to be transmitted) for the server 4. In addition, the communication conditions may be described in the header of data transmitted from each application 9 to the wireless communication device 8.
[0056] The destination address stored in the destination address field Fc3 is information for the wireless communication device 8 to specify the destination of a communication status notification, which will be described later. The communication status notification includes data indicating the current state of communication, such as the line used by the application 9 being congested or the bandwidth being limited, and the reason for this. The communication status notification may also include recommended control content, control decision-making materials, and the like, as additional information (in other words, reference information). The communication status notification will be described in detail later.
[0057] The notification destination address may be, for example, the communication address of the ECU 7 in the in-vehicle network Nw. If the wireless communication device 8 can identify the destination of the communication status notification based on the application ID, the notification destination address field Fc3 may be omitted.
[0058] The notification condition field Fc4 stores a code that specifies a notification condition that causes the wireless communication device 8 to transmit a communication status notification. For example, the notification condition may be a case where congestion is predicted within a predetermined time, where mild congestion occurs, where severe congestion occurs, or where a line in use becomes unavailable. In addition, the reason for congestion / bandwidth restriction may also be used as a component of the transmission condition. Note that, in this disclosure, severe congestion refers to a state in which the delay time is equal to or greater than a predetermined first threshold (e.g., 10 seconds). The severe congestion state may include a state in which communication is substantially impossible or a state in which communication connection is cut off. Mild congestion refers to a state in which the delay time is equal to or greater than a second threshold (e.g., 5 seconds) and less than the first threshold. The second threshold may be set to a value that is a predetermined amount smaller than the first threshold.
[0059] The notification request item field Fc5 stores a code specifying the level of detail / amount of information that the application 9 wants to receive from the wireless communication device 8 as a communication status notification. For example, three levels, levels 1 to 3, are provided as the level of detail / amount of reference information. A higher level value indicates that more / more detailed information is desired. Level 1 has the least amount of information.
[0060] Level 1 is a level at which a user desires to be notified of the facts of the communication status, such as whether or not congestion has occurred, and the reason for that. Level 2 is a level at which a user desires to be notified (suggested) of the recommended control content, in addition to the communication status and the reason for that. Level 3 is a level at which a user desires to be notified of the control decision material, in addition to the communication status and the reason for that, and the recommended control content. In the present disclosure, a level indicating the type of items that the app 9 desires to be notified of is referred to as a notification level. In other words, the notification level corresponds to a parameter that determines the items that the wireless communication device 8 notifies the app 9 of. Note that, as a notification level, level 0 may be prepared, in which the app 9 does not desire to send a communication status notification / the wireless communication device 8 does not send a communication status notification.
[0061] <About wireless communication devices> The wireless communication device 8 is configured to be able to use at least one cellular line by including at least one subscriber identity module (hereinafter, SIM: Subscriber Identity Module). The SIM is an IC module in which information for identifying a subscriber of the line is recorded, and is configured as, for example, an IC card. By mounting the SIM, the wireless communication device 8 is configured to be able to perform data communication using at least one APN (Access Point Name) corresponding to the SIM. The APN corresponding to the SIM refers to an APN that can be used based on the information of the SIM. As an example, the wireless communication device 8 of this embodiment is configured to be able to use two cellular lines each having a different APN. Hereinafter, the two cellular lines that the wireless communication device 8 can use using the SIM are referred to as a first line and a second line.
[0062] In addition, the wireless communication device 8 is configured to be capable of Wi-Fi communication, and uses different communication lines depending on the communication traffic generation status in each ECU 7. In other words, the wireless communication device 8 uses various communication lines depending on the purpose of communication and the communication status. The concept of communication lines / communication routes that the wireless communication device 8 can use includes not only cellular lines but also Wi-Fi lines.
[0063] A communication device ID is assigned to the wireless communication device 8 as unique identification information. The communication device ID functions as information for the relay server 5 and the server 4 to identify each of the multiple wireless communication devices 8 (vehicles Vc). The wireless communication device 8 is housed, for example, in an instrument panel. Note that the wireless communication device 8 may be a device configured to be detachable from the vehicle Vc by the user. The wireless communication device 8 may also be a portable terminal such as a smartphone brought into the vehicle cabin by the user.
[0064] The wireless communication device 8 is mainly composed of a computer including a communication processor 81, a RAM 82, a storage 83, an in-vehicle communication unit 84, and a bus connecting these components. The wireless communication device 8 also includes a wireless communication unit 85 and a temperature sensor 86. The wireless communication unit 85 includes a cellular communication unit 85a and a Wi-Fi communication unit 85b.
[0065] The communication processor 81 is hardware for arithmetic processing coupled to the RAM 82. The communication processor 81 includes at least one arithmetic core such as a CPU. The communication processor 81 executes various processes by accessing the RAM 82. From the viewpoint of the communication processor 81, the wireless communication device 8 including the communication processor 81 itself corresponds to the device itself.
[0066] The storage 83 includes a non-volatile storage medium such as a flash memory. A communication control program is stored in the storage 83 as a program executed by the communication processor 81. The execution of the program by the communication processor 81 corresponds to the communication processor 81 executing a communication control method corresponding to the communication control program. Information (e.g., a profile, etc.) on APNs available to the wireless communication device 8 is registered in the storage 83. In addition, the SSID (Service Set Identifier) of Wi-Fi available to the wireless communication device 8, an encryption key, etc. are registered in the storage 83.
[0067] The storage 83 also stores a radio wave map. The radio wave map is data indicating radio wave strength at each point / predetermined section on a road. The radio wave map may be data indicating uplink / downlink throughput and round-trip latency at each point. The radio wave map may be data indicating CSI (Channel State Information) at each point. The radio wave map may be distributed, for example, from the relay server 5 or the cellular base station 2. The radio wave map may be dynamically updated. The radio wave map may be stored in a volatile memory such as the RAM 82 in the wireless communication device 8.
[0068] The communication processor 81 executes a communication control program installed in the storage 83 to operate as a communication manager 87 that controls the operation of an in-vehicle communication unit 84 and a wireless communication unit 85. The communication manager 87 executes processing as part or all of the application layer and the transport layer. Details of the communication manager 87 will be described later.
[0069] The in-vehicle communication unit 84 is a circuit module for communicating with the ECU 7 via the in-vehicle network Nw. The in-vehicle communication unit 84 receives transmission data output from each ECU 7 and outputs it to the communication manager 87. The in-vehicle communication unit 84 also outputs data input from the communication processor 81 to the ECU 7 designated as the destination. For example, the in-vehicle communication unit 84 obtains the original data by separating the multiplexed data input from each ECU 7 in a predetermined manner. Such an in-vehicle communication unit 84 is realized using analog circuit elements, ICs, a PHY chip conforming to the communication standard of the in-vehicle network Nw, and the like. In addition to the transmission data input from the ECU 7, various data such as vehicle speed data detected by a vehicle speed sensor are input to the in-vehicle communication unit 84. The transmission data here corresponds to communication traffic (in other words, data) for the server 4.
[0070] The cellular communication unit 85a is a communication module in charge of the data link layer and the physical layer in a wireless communication protocol such as 4G. The cellular communication unit 85a includes an antenna capable of transmitting and receiving radio waves in the frequency band used in LTE. The cellular communication unit 85a also includes a transceiver that performs signal processing equivalent to converting a baseband signal into a high-frequency signal and the reverse conversion, and a packet processing unit that performs conversion between IP packets and signals of a physical channel.
[0071] The cellular communication unit 85a performs processing in each data link sublayer of PDCP, RLC, and MAC on the IP packet input from the in-vehicle communication unit 84 or the communication manager 87. In addition, the cellular communication unit 85a performs processing such as encoding, modulation, and digital-to-analog conversion to generate a carrier signal corresponding to the input data. Then, the generated carrier signal is output to an antenna to be radiated as a radio wave. PDCP is an abbreviation for Packet Data Convergence Protocol, RLC is an abbreviation for Radio Link Control, and MAC is an abbreviation for Media Access Control. In addition, the cellular communication unit 85a performs predetermined processing such as analog-to-digital conversion processing and demodulation processing on the received signal received by the antenna to convert it into an information sequence expressed by digital values (i.e., digital data). Then, the cellular communication unit 85a outputs data corresponding to the received signal to the communication manager 87 or the in-vehicle communication unit 84.
[0072] The Wi-Fi communication unit 85b is a communication module for connecting to the wide area communication network 3 via the Wi-Fi base station 6. The Wi-Fi communication unit 85b is configured using an antenna, a modulation circuit, a demodulation circuit, and the like for transmitting and receiving radio waves in a frequency band used in the Wi-Fi standard, such as the 2.4 GHz band or the 5 GHz band. The Wi-Fi communication unit 85b emits a wireless signal corresponding to data input from the in-vehicle communication unit 84 or the communication manager 87. The Wi-Fi communication unit 85b also outputs data corresponding to a reception signal received by the antenna to the in-vehicle communication unit 84 or the communication manager 87.
[0073] The Wi-Fi communication unit 85b recognizes the presence of the Wi-Fi base station 6 by receiving a beacon emitted from the Wi-Fi base station 6. A communication connection between the Wi-Fi communication unit 85b and the Wi-Fi base station 6 is controlled by a communication manager 87. An operation state of the Wi-Fi communication unit 85b, for example, a power state, is controlled by the communication manager 87. The Wi-Fi communication unit 85b does not necessarily need to be built into the wireless communication device 8. The Wi-Fi communication unit 85b may be provided outside the wireless communication device 8.
[0074] The temperature sensor 86 is a sensor that detects the temperature around the communication processor 81. The output value of the temperature sensor 86 is input to the communication processor 81 via the RAM 82 or the like. The temperature sensor 86 corresponds to a sensor that measures the chip temperature. Note that the chip here refers to a CPU, IC, or the like that executes processing related to wireless communication. The chip temperature in the present disclosure may be the temperature of the communication processor 81 or the temperature of a chip for cellular communication.
[0075] <About the Communication Manager Functions> The communication manager 87 relays and controls the communication between the application 9 and the server 4. Data (so-called message) sent by the application 9 passes through the network layer (L3), data link layer (L2), and physical layer (L1) as shown in Fig. 7, and is input to the wireless communication device 8. The data from the application 9 that arrives at the wireless communication device 8 is wirelessly transmitted to the server 4 using the communication line specified by the communication manager 87.
[0076] 8, the communication manager 87 includes a connection control unit F1, a line status acquisition unit F2, a communication request reception unit F3, a communication status management unit F4, a dynamic control unit F5, and a notification processing unit F6 as functional blocks. The communication manager 87 corresponds to an ACP engine, which is a functional unit on the vehicle side that constitutes the ACP.
[0077] The connection control unit F1 controls the operation of the cellular communication unit 85a. For example, in response to the occurrence of a predetermined connection event, the connection control unit F1 executes a procedure for establishing a communication line for each APN. The procedure for establishing a communication connection includes the transmission of an attach request and the transmission of APN information. The connection event may be when the driving power source is turned on or when the cellular communication function is enabled based on a predetermined user operation on an operating member provided on the vehicle Vc.
[0078] The connection control unit F1 also determines the serving cell for each cellular line and performs mobility management. The connection control unit F1 acquires the RSRP, RSSI, RSRQ, etc. for each cell as an index for selecting the serving cell. In this disclosure, "acquire" also includes generating / detecting by internal calculation based on data input from other devices / sensors. RSRP is an abbreviation for Reference Signal Received Power. RSSI is an abbreviation for Received Signal Strength Indicator. RSRQ is an abbreviation for Reference Signal Received Quality. RSRP is the average received power of RS per unit resource element. RSSI is a value measuring the power of the entire LTE system band in the OFDM symbol that contains the RS. RSRQ is the ratio between the received power of a cell-specific reference signal and the total power within the reception bandwidth. The larger the RSRQ, the better the reception quality of the signal from the cellular base station 2.
[0079] Then, the connection control unit F1 performs processing for switching the serving cell as necessary based on an index such as the RSRP for each cell. Information such as the RSRP and RSRQ for each cell, such as the serving cell and adjacent cells, calculated by the connection control unit F1 is temporarily stored in the RAM 82. The information stored in the RAM 82 is updated as needed. Note that the cellular communication unit 85a may have a function for switching (reselecting) the serving cell. Also, the line status acquisition unit F2 may acquire the RSRP and the like.
[0080] The connection control unit F1 also controls the operation of the Wi-Fi communication unit 85b. When the Wi-Fi communication unit 85b receives a beacon, the connection control unit F1 starts a communication connection with the Wi-Fi base station 6. That is, the connection control unit F1 exchanges control signals with the Wi-Fi base station 6 for obtaining an IP address and for security settings (exchanging encryption keys, etc.).
[0081] The line status acquisition unit F2 is configured to acquire various information indicating communication characteristics of each communication line. For example, the line status acquisition unit F2 acquires parameters related to communication settings for each cellular line from a network side device. The communication setting parameters for each cellular line include an assigned frequency, a packet transfer priority, a target delay time, and a packet loss rate. The target delay time is the maximum communication delay time assumed by the network side device. The communication setting parameters acquired by the line status acquisition unit F2 are stored in, for example, RAM 82.
[0082] The line status acquisition unit F2 may also sequentially evaluate the RTT and throughput of each cellular line as status information for each cellular line and store them in the RAM 82. The RTT is the time it takes from sending a signal or data to the other party to receiving a response, that is, the response delay time. The RTT is also called round trip latency. The throughput represents the amount of data that can be transmitted and received per unit time through a transmission path. The throughput corresponds to an index indicating the communication speed. The line status acquisition unit F2 may acquire the throughput separately for the upstream communication and the downstream communication. The line status acquisition unit F2 may acquire observed values such as RSRP and RSRQ from the connection control unit F1. The line status acquisition unit F2 may evaluate the QoS of each cellular line based on some or all of the above parameters.
[0083] The communication processor 81 as the line status acquisition unit F2 judges whether congestion occurs for each communication line. As a criterion for judging congestion, a packet loss rate, a delay time, or both of them can be adopted. For example, the line status acquisition unit F2 judges that congestion occurs when the packet loss rate is equal to or greater than a predetermined value. Also, the line status acquisition unit F2 judges that congestion occurs when the response delay time is equal to or greater than a predetermined value. As a method for detecting congestion, various methods used in TCP congestion control, such as NewReno, Vegas, Illinois, YeAH, and DCTCP, can be used. The line status acquisition unit F2 may predict the occurrence of congestion / lack of communication bandwidth.
[0084] The communication processor 81 may also be configured to detect congestion within the wireless communication device 8. A state in which accesses from a plurality of applications 9 are concentrated on the communication manager 87 also corresponds to a type of congestion. For example, the communication processor 81 may detect congestion (high load state) within the wireless communication device 8 based on the degree of data retention in a communication buffer / queue. A state in which the in-vehicle network Nw is congested also corresponds to a type of congestion. In the present disclosure, congestion after the wireless section is also referred to as outside-vehicle congestion, congestion within the wireless communication device 8 is also referred to as inside-device congestion, and congestion in the in-vehicle network Nw is also referred to as inside-vehicle congestion. The communication processor 81 may also be configured to detect not only outside-vehicle congestion but also inside-device congestion and inside-vehicle congestion.
[0085] The communication request reception unit F3 receives requests for data communication from inside and outside the vehicle. A communication start request from inside the vehicle corresponds to a communication start request from the application 9, and a communication start request from outside the vehicle corresponds to a communication start request from the server 4. Note that since the communication start request from the server 4 reaches the wireless communication device 8 via the relay server 5, a communication start request from outside the vehicle can also be interpreted as a communication start request from the relay server 5.
[0086] For example, based on receiving a communication start request from an application 9, the communication request reception unit F3 starts a procedure (route setting) for starting communication between the application 9 and the corresponding server 4. In addition, when the communication request reception unit F3 is notified by the relay server 5 that data for a certain application 9 exists, the communication request reception unit F3 receives a communication start request between the target application 9 and the server 4.
[0087] The communication request receiving unit F3 acquires communication conditions together with / independently from each application 9 to start communication. The communication requests and conditions received by the communication request receiving unit F3 are temporarily stored in the RAM 82, separated for each application 9 that is the request source. Note that the communication conditions for each application 9 may be dynamically changed over time.
[0088] The communication state management unit F4 manages the communication state of the application 9. The communication state of each application 9 can be managed in a table including a plurality of items such as priority, execution state, presence or absence of restrictions, communication frequency, and data size, as shown in FIG. 9, for example. The priority is a parameter indicating a priority order related to the allocation of communication lines and packet transfer. In the example shown in FIG. 9, the second application 92 has the highest priority. The communication state management unit F4 dynamically sets the priority order for each application 9 based on, for example, urgency, control availability, allowable RTT, allowable waiting time, and the like, indicated in the communication conditions. Note that the priority order for each application 9 may be a fixed value set in advance. In addition, the priority order for each application 9 may be switched depending on whether the vehicle Vc is running or not. For example, the priority order of the control assistance application may be set lower when the vehicle is stopped than when the vehicle is running.
[0089] In the execution state field, a value indicating whether communication is in progress or paused is set. Communication in progress refers to a state in which data communication is actually being performed. Paused corresponds to a state in which communication is stopped. Paused may also refer to a state in which the communication connection is disconnected. In the bandwidth restriction field, a value indicating whether or not the communication bandwidth of the application 9 is restricted is input. A case in which bandwidth restriction is applied refers to, for example, a state in which the available bandwidth is restricted to a predetermined value or less. The set value (upper limit) of the available communication bandwidth may be 0, and a state in which bandwidth restriction is applied can include a state in which communication is essentially blocked / prohibited.
[0090] The communication frequency field indicates the frequency of communication with the server 4. The communication frequency may be determined based on the actual communication frequency within a fixed period of time. The communication frequency field may also be registered with the communication frequency value indicated in the communication conditions, in other words, a value self-reported by the application 9. The data size field indicates the average size of one data set (e.g., a file) exchanged between the application 9 and the server 4. The data size is determined based on the size of files previously transmitted and received. The data size field may also be registered with the average data size value indicated in the communication conditions, in other words, a value self-reported by the application 9.
[0091] Additionally, the communication status table may include a notification level. The communication status management unit F4 may also manage the notification level for each application 9. Furthermore, the communication status management unit F4 updates the values of the communication status table as needed in accordance with the communication status for each application 9. The communication status table held by the communication status management unit F4 is referenced by, for example, the dynamic control unit F5.
[0092] The dynamic control unit F5 performs priority control, line allocation, bandwidth control, etc. Priority control refers to a process of adjusting the transmission order of data to be transmitted (communication packets) input from the application 9 based on the priority set in the application 9. Line allocation refers to a process of determining / changing a communication line to be allocated to each application 9 based on the communication conditions for each application 9 and the characteristics of each communication line. Elements constituting a communication path can include the type of communication line, the size (width) of the communication band to be allocated, the allocated frequency, etc. Bandwidth control refers to a process of adjusting the communication band to be allocated to the application 9.
[0093] The dynamic control unit F5 performs processing to limit the communication bandwidth for some or all of the applications 9 based on the status of the communication line and the internal state of the wireless communication device 8. For example, when the line status acquisition unit F2 detects congestion on a certain communication line, the dynamic control unit F5 selects the applications 9 to which the bandwidth limit is to be applied based on a combination of applications 9 using the congested line where congestion is occurring. Then, the dynamic control unit F5 applies a level of bandwidth limit to the relevant applications 9 as required. The dynamic control unit F5 can also implement bandwidth limiting for the applications 9 based on the internal state of the communication manager 87, such as the chip temperature and the load status of the communication processor 81.
[0094] The notification processing unit F6 is a processing module that exchanges messages related to the communication status and the like with the application 9. When a change occurs in the communication band available to a certain application 9, or when the communication processor 81 serving as the notification processing unit F6 detects the occurrence of an event that affects the communication speed of a certain application 9, it transmits a communication status notification to the application 9.
[0095] For example, when the dynamic control unit F5 decides to apply a bandwidth limit to a certain application 9, the notification processing unit F6 transmits a bandwidth limit notification to the target application. The bandwidth limit notification is a signal indicating that the bandwidth is being limited and the reason for it. Note that the bandwidth limit is implemented when congestion occurs in one scene. Therefore, the bandwidth limit notification corresponds to a signal indicating that the line used by the application 9 is congested and the reason for it in one aspect. The bandwidth limit notification corresponds to a message by which the communication manager 87 notifies the application 9 of the congestion / bandwidth limit of the line used. Note that the notification processing unit F6 may transmit a bandwidth limit notification to the application 9 using the line before the dynamic control unit F5 actually applies a bandwidth limit to the certain application 9, for example, at the timing when the line status acquisition unit F2 detects congestion on a certain communication line.
[0096] Furthermore, when a certain communication line becomes temporarily unavailable due to interference or moving out of communication range, the notification processing unit F6 transmits a line disconnection notification to the application 9 that used the communication line. The line disconnection notification is a signal indicating that the line in use has become unavailable and the reason for this. Note that the communication processor 81 may transmit a bandwidth limitation notification instead of a line disconnection notification to an application 9 whose communication line has become blocked (disconnected) as a result of bandwidth limitation processing.
[0097] Furthermore, as a more preferred embodiment, the notification processing unit F6 of this embodiment may transmit a speed reduction notification to the application 9 using the communication line when the communication speed (communication throughput) of the communication line is lower than a predetermined value due to a rise in chip temperature or the like. The speed reduction notification corresponds to a signal indicating a low-speed state and the reason for the low-speed state. The communication processor 81 may transmit a bandwidth limitation notification instead of a speed reduction notification to the application 9 whose communication speed has become low as a result of the bandwidth limitation process.
[0098] The above-mentioned bandwidth limit notification, line disconnection notification, and speed reduction notification all correspond to a type of communication status notification. The frame structures of the bandwidth limit notification, line disconnection notification, and speed reduction notification are the same. Of course, in other embodiments, the bandwidth limit notification, line disconnection notification, and speed reduction notification may each have a different frame structure. In the following description, the term "communication status notification" may be appropriately read as the bandwidth limit notification, line disconnection notification, or speed reduction notification.
[0099] The content / structure of the communication status notification may differ depending on the notification level of the application 9 to be notified. For example, a bandwidth limit notification sent to an application 9 whose notification level is set to 1 includes a message type field Fd1 and a reason field Fd2 as shown in FIG.
[0100] The message type field Fd1 indicates the type of message, for example, whether the message is a bandwidth limit notification, a line disconnection notification, or a speed reduction notification. In the case of a bandwidth limit notification, a predetermined code indicating, for example, that the line being used is congested / bandwidth is being limited is placed in the message type field Fd1.
[0101] The reason field Fd2 is an area in which a code indicating the reason for the bandwidth restriction, line cutoff, or speed reduction (hereinafter referred to as bandwidth restriction, etc.) is placed. Reasons for bandwidth restriction, etc. include "losing priority", "sudden increase in traffic", "environmental deterioration", "chip temperature rise", "line disconnection", "important service in operation", "3G line in use", "avoiding interference", "high load state", "contract limit reached", etc., as shown in Fig. 11.
[0102] In one aspect, these reasons can be called restriction reasons, which are reasons for bandwidth restriction. Some of the reasons below can also be called disconnection reasons, which are reasons for line disconnection, or speed reduction reasons, which are reasons for slowing down communication speed. Each reason is assigned a reason code, which is a code indicating the reason. The reason code values shown in FIG. 11 are examples and can be changed as appropriate.
[0103] Note that "losing priority" corresponds to a case where the communication bandwidth available to a certain application 9 is restricted (reduced) as a result of competing with the traffic of another application 9 with a higher priority. The notification processing unit F6 transmits a bandwidth restriction notification in which a bit string indicating that the application 9 has lost priority is placed in the reason field Fd2 to the application 9 to which the bandwidth restriction is applied due to losing priority.
[0104] A "traffic surge" corresponds to a case where the amount of communication data increases and congestion occurs. For example, a traffic surge may occur when an exchange of large volume and important data starts. A "traffic surge" may be applied when the fluctuation of the radio wave environment or the bandwidth itself allocated from the network side device to the communication manager 87 is relatively small. The notification processing unit F6 transmits a bandwidth limitation notification in which a bit string indicating a traffic surge is placed in the reason field Fd2 to the application 9 to which the bandwidth limitation is applied due to the traffic surge.
[0105] "Environmental degradation" corresponds to a case where congestion occurs due to deterioration of the communication environment. The notification processing unit F6 transmits a bandwidth limitation notification in which a bit string indicating environmental degradation is placed in the reason field Fd2 to the application 9 to which bandwidth limitation is applied due to environmental degradation. Note that bandwidth limitation due to environmental degradation may be applied when the increase in traffic relayed by the communication manager 87 is less than a predetermined value. In other words, when the amount of traffic handled by the communication manager 87 has not changed but congestion has occurred / is predicted as a result of a reduction in available wireless resources, the communication processor 81 may implement bandwidth limitation on an application basis due to environmental degradation.
[0106] "Chip temperature rise" corresponds to a case where communication throughput is suppressed due to an increase in the temperature of the communication processor 81. The communication processor 81 judges whether the chip temperature is equal to or higher than a predetermined value based on the output of the temperature sensor 86. If the chip temperature is equal to or higher than the predetermined value, the communication processor 81 may transition to a low-speed state in which the communication speed / processing speed is low. The low-speed state refers to a state in which the speed is equal to or lower than a predetermined value, for example, 10% or less of the maximum / average value. The notification processing unit F6 transmits a speed reduction notification / bandwidth restriction notification in which a bit string indicating a chip temperature rise is placed in the reason field Fd2 to an application 9 using a line where a speed reduction occurs due to a chip temperature rise.
[0107] "Line disconnection" corresponds to a case where the cellular line is disconnected for some reason, or where the user is out of range of a Wi-Fi access point while using a Wi-Fi line. The notification processing unit F6 transmits a line disconnection notification to the application 9 that was using the disconnected line, with a bit string indicating the line disconnection placed in the reason field Fd2.
[0108] "Important service in operation" corresponds to a case where an important service related to human life, such as an emergency call service or an autonomous driving service, is in operation and the communication bandwidth is insufficient as a result. The notification processing unit F6 transmits a bandwidth restriction notification in which a bit string indicating that an important service is in operation is placed in the reason code to the application 9 to which the bandwidth restriction is applied due to the operation of the important service. Note that in other embodiments, the important service in operation may be integrated with a lower priority.
[0109] "3G line in use" corresponds to a state in which the communication manager 87 is out of the LTE / 4G range and throughput is suppressed. "Interference avoidance" corresponds to a case in which output restriction is being implemented to prevent radio wave interference. The communication processor 81 can determine the presence or absence of interfering radio waves based on the noise level observed by the wireless communication unit 85. "High load state" corresponds to a case in which the communication processor 81 is in a high load state. The communication processor 81 transmits a bandwidth restriction notification in which a bit string indicating a high load state is placed in the reason field Fd2 to an application 9 that is subject to bandwidth restriction due to a high load state. "Contract limit reached" corresponds to a case in which the amount of communication data reaches / exceeds the contract upper limit.
[0110] Furthermore, a bandwidth limit notification sent to an application whose notification level is set to 2 or 3 includes a recommended control field Fd3 and a supplemental information field Fd4 in addition to a message type field Fd1 and a reason field Fd2, as shown in Fig. 12 for example. The recommended control field Fd3 is an area indicating the recommended control content. The recommended control content indicates a response policy that the application 9 should take in response to the bandwidth limit or the like. Sending a bandwidth limit notification indicating the recommended control content is equivalent to recommending / proposing / instructing the application 9 to execute the control.
[0111] The supplemental information field Fd4 is an area in which information related to the recommended control contents is stored. The bit length of the supplemental information field Fd4 may be dynamically adjustable. The recommended control contents and the supplemental information correspond to the reference information.
[0112] As shown in Fig. 13, the variations of the recommended control contents include, for example, "wait for a certain period of time," "wait for a restart instruction," "timing shift," "dynamic control of retry interval," "line switching," and "non-use of cellular line." A unique recommended control code is assigned to each recommended control content. The values of the recommended control codes shown in Fig. 13 are merely examples and can be changed as appropriate.
[0113] "Waiting for a fixed period of time" means waiting for a fixed period of time before sending / receiving data. "Waiting for a resume instruction" means pausing communication until a resume permission notice indicating that data communication with the server 4 may be resumed is received from the communication manager 87. In the case of waiting for a fixed period of time, the application 9 can perform communication after a specified time even if it does not receive a resume permission notice from the communication manager 87. When it is difficult to predict the time until the cause of the speed reduction / disconnection, such as congestion, is resolved, the communication manager 87 can select waiting for a resume instruction as the recommended control instead of waiting for a fixed period of time.
[0114] "Timing shift" means shifting the timing of data transmission. Note that waiting for a certain period of time also corresponds to a type of timing shift. While waiting for a certain period of time is a fixed value or a value specified by the communications manager 87, timing shift differs in that the application 9 itself determines the timing of transmission based on supplemental data provided by the communications manager 87. Timing shift corresponds to a control content that is more difficult / free to control on the application 9 side than waiting for a certain period of time.
[0115] The "dynamic control of retry interval" means that the retry interval in TCP or the like is dynamically adjusted from the default value according to the running conditions of the vehicle Vc. The retry interval can also be called the retransmission time. For example, the dynamic control of retry interval refers to a control in which the retry interval is set to 60 seconds while the vehicle is stopped, and set to a value such as 5 seconds or 10 seconds while the vehicle is moving, in which a change in the radio wave environment can be expected. The dynamic control of retry interval may stop retries while the vehicle is stopped, and increase the retry interval by a predetermined amount while the vehicle is moving. The increase in the retry interval may be a constant value such as 3 seconds or 10 seconds, or may be dynamically determined by the communication manager 87 according to the line conditions. The default value of the retry interval is a value that is applied when no bandwidth restriction is applied, and may differ for each application 9.
[0116] "Line switching" means switching the line in use to a communication line different from the current line. For example, if the target app is currently using the first line, "line switching" corresponds to switching the line in use from the first line to the second line or Wi-Fi line. "No cellular line use" means avoiding the use of the cellular line as much as possible.
[0117] Selection of the recommended control depending on the reason such as the bandwidth restriction may be performed by the notification processing unit F6 or may be performed by the dynamic control unit F5. The functional arrangement in the communication manager 87 can be changed as appropriate.
[0118] Meanwhile, the notification processing unit F6 of this embodiment changes the granularity / amount of reference information included in the communication status notification depending on whether the notification level is 2 or 3. Fig. 14 is a diagram showing an example of a combination of recommended control details and supplemental information when the notification level of a controlled target application is set to 2. Fig. 15 is a diagram showing an example of a combination of recommended control details and supplemental information when the notification level of a controlled target application is set to 3.
[0119] For example, when the notification processing unit F6 proposes waiting for a certain period of time as recommended control for an application 9 whose notification level is set to 2, it transmits a communication status notification in which data indicating the waiting time and the time at which communication may be resumed is stored in the supplemental information field Fd4. When the notification processing unit F6 proposes waiting for a resume instruction as recommended control for an application 9 whose notification level is set to 2, it transmits a communication status notification in which the predicted time at which communication is permitted to be resumed and the resume conditions are stored in the supplemental information field Fd4.
[0120] More specifically, when the notification processing unit F6 proposes to wait for a restart instruction due to environmental deterioration, the notification processing unit F6 may transmit a communication status notification with a predicted time until the bandwidth restriction can be lifted as supplemental information. The predicted time until the bandwidth restriction can be lifted may be calculated based on, for example, a radio wave map and the vehicle's driving plan. When the notification processing unit F6 proposes to wait for a restart instruction due to a chip temperature rise, the notification processing unit F6 transmits a communication status notification with a current chip temperature and a chip temperature at which the restart can be performed as supplemental information. When the notification processing unit F6 proposes not using a cellular line as a recommended control for an application 9 with a notification level set to 2, the notification processing unit F6 transmits a communication status notification in which data indicating a predicted time until the connection to Wi-Fi can be made is stored in the supplemental information field Fd4.
[0121] Furthermore, when the notification processing unit F6 proposes timing shift as a recommended control for an application 9 with the notification level set to 3, it transmits a communication status notification in which traffic prediction data is stored in the supplemental information field Fd4. The traffic prediction data is data indicating a predicted change in traffic volume within a predetermined time in the future. The traffic prediction data corresponds to data indicating communication timing with a low risk of contention with other applications 9. The traffic prediction data can be generated based on the communication frequency, average data size, last communication time, etc. indicated in the communication conditions for each application 9 currently communicating.
[0122] When proposing dynamic retry interval control to an application 9 whose notification level is set to 3, the notification processing unit F6 transmits a communication status notification in which current status data related to the communication status is stored in the supplemental information field Fd4. Current status data related to the communication status refers to, for example, estimated values of current communication traffic and communication throughput. When proposing waiting for a resume instruction due to an increase in chip temperature to an application 9 whose notification level is set to 3, the notification processing unit F6 also transmits a communication status notification in which current status data related to the communication status is stored in the supplemental information field Fd4.
[0123] When the notification processor F6 proposes line switching due to line disconnection to an application 9 with the notification level set to 3, the notification processor F6 transmits a communication status notification in which available line information is stored in the supplemental information field Fd4. The available line information indicates communication lines that are currently available. When the notification processor F6 proposes line switching due to line disconnection, the notification processor F6 may transmit a communication status notification with a radio wave map or a predicted time until the communication line is restored as supplemental information.
[0124] When the notification processor F6 proposes line switching due to an important service being in operation to an application 9 with the notification level set to 3, the notification processor F6 transmits a communication status notification in which operating service information is stored in the supplemental information field Fd4. The operating service information indicates the type of important service being in operation. The operating service information may include an estimate of the remaining time until the communication related to the service is completed. Note that when the notification processor F6 proposes line switching due to a line disconnection or an important service being in operation, the notification processor F6 may transmit a communication status notification to which available line information or a radio wave map is added as supplemental information.
[0125] When the notification processing unit F6 proposes to wait for a resume instruction due to the use of a 3G line to an application 9 with a notification level set to 3, the notification processing unit F6 transmits a communication status notification in which a radio wave map is stored in the supplemental information field Fd4. When the notification processing unit F6 proposes to wait for a resume instruction due to the use of a 3G line, the notification processing unit F6 may transmit a communication status notification to which a 4G recovery predicted time is added as supplemental information. The 4G recovery predicted time may be calculated based on the 4G area information included in the radio wave map, the current position and moving speed of the vehicle, and the like. The 4G area information is information indicating an area in which 4G is available.
[0126] When proposing to wait for a resume instruction due to a high load state for an application 9 with a notification level set to 3, the notification processing unit F6 transmits a communication status notification in which load status data is stored in the supplemental information field Fd4. The load status data is data indicating the processing load of the communication processor 81. The processing load can be expressed, for example, by the CPU or memory usage rate, the number of processes, or the amount of traffic held up in a buffer. When proposing to wait for a resume instruction due to a high load state, the notification processing unit F6 may transmit a communication status notification with a predicted time until the processing load becomes less than a predetermined value added as supplemental information. The predicted time until the processing load becomes less than a predetermined value can be calculated from the processing speed (processing throughput) within a certain period of time and the current processing load amount.
[0127] Note that the specific content of the recommended control proposed to the application 9 can be changed as appropriate depending on the reason for the restriction. Also, the type of information notified as supplemental information can be changed as appropriate. In addition, the communication status notification for the application 9 with a notification level of 1 may also include a recommended control field Fd3 and a supplemental information field Fd4 as a frame configuration. In that case, a predetermined code indicating that there is no recommended control content may be inserted into the recommended control field Fd3 and the supplemental information field Fd4. In this way, the configuration of the communication status notification may be common regardless of the notification level.
[0128] <Processing flow of the entire system> Next, the interactions among the application 9, the communication manager 87, the relay server 5, and the server 4 will be described with reference to the sequence diagrams shown in Figs. 16 and 17. The first application 91 and the second application 92 shown in Figs. 16 and 17 can be any application. However, the first application 91 has a higher priority than the second application 92. The first server 41 shown in Figs. 16 and 17 is the server 4 corresponding to the first application 91, and the second server 42 is the server 4 corresponding to the second application 92. Fig. 17 shows a sequence subsequent to the sequence shown in Fig. 16. The communication manager 87 as an entity executing the process in the description of Figs. 16 and 17 can be read as the wireless communication device 8 or the communication processor 81.
[0129] First, the communication manager 87 establishes a communication line for each APN when a predetermined connection event occurs (step S01). That is, the communication manager 87 secures a communication path with the relay server 5 prior to a communication start request from the application 9. In a state where a communication connection between the communication manager 87 and the relay server 5 is established, the communication manager 87 and the relay server 5 perform a communication check by transmitting and receiving a predetermined control signal at a predetermined timing as appropriate (step S02c). In addition, the relay server 5 and the server 4 also perform a communication check by transmitting and receiving a predetermined control signal at a fixed time interval, for example (steps S02a, S02b). In addition, the communication manager 87 performs a handover or the like accompanying the movement of the vehicle Vc in parallel with the processing flow shown in FIG. 16. In addition, the communication manager 87 repeatedly performs a communication connection and a communication disconnection with the Wi-Fi base station 6 accompanying the movement of the vehicle Vc in parallel with the processing flow shown in FIG. 16.
[0130] Thereafter, when data to be transmitted is generated in the first application 91, the first application 91 outputs a communication start request to the communications manager 87 (step S11a). Similarly, the second application 92 outputs a communication start request to the communications manager 87 at any time (step S11b). The communication start request output from the application 9 to the communications manager 87 includes the application ID, communication conditions, notification conditions, etc., as described above. The communication conditions, etc. may be obtained in advance by the communications manager 87 communicating with the application 9.
[0131] When the communications manager 87 receives a communication start request from the application 9, it accepts the request (step S12). Specifically, the communications manager 87 associates the application ID with the communication conditions and temporarily stores them in a predetermined storage area. For convenience, only one step corresponding to the request acceptance process is shown in FIG. 16, but the request acceptance process is performed for each communication start request, that is, for each application 9.
[0132] Based on the communication start request, the communications manager 87 assigns a communication line that satisfies the notified communication conditions to the requesting application 9, and performs route setting processing (step S13). The route setting processing includes, for example, securing a port for the application 9. The route setting processing determines the source IP address, source port number, destination IP address, destination port number, protocol, and the like. Note that a source port is assigned to each application 9. One port number corresponds to one application 9. The communications manager 87 may assign multiple source port numbers to one application. Of course, securing the source port, in other words, obtaining the port number, may be performed by the application 9 itself, not by the communications manager 87.
[0133] In this embodiment, the candidates for the cellular line that accommodates the data communication of the application 9 include the first line and the second line. In addition, when the vehicle Vc is present within the communication range of the Wi-Fi base station 6 that the vehicle Vc can use, the Wi-Fi line can also be included in the options for the communication route that can be adopted. Here, assuming that the first line has a sufficient communication bandwidth, the communication manager 87 assigns the first line to both the first application 91 and the second application 92.
[0134] When the setting of the communication path to the server 4 is completed, the communications manager 87 transmits, to each of the first application 91 and the second application 92, route information to the corresponding server 4 (steps S14a and S14b). The notification of the communication path information may correspond to a communication permission response that is a message to the effect that the start of communication is permitted.
[0135] When the application 9 receives the route information from the communication manager 87, the application 9 starts encrypted communication with the server 4 using the port number and destination address indicated in the route information (steps S15a and S15b). For example, the application 9 and the server 4 perform TLS communication.
[0136] As described above, the communication between the application 9 and the server 4 is performed via the relay server 5. The communication manager 87 notifies not only the application 9 but also the relay server 5 of the application ID of the communication request source in association with the port number. The communication manager 87 and the relay server 5 identify traffic based on a source port uniquely assigned to each application 9 and perform communication control. For example, the relay server 5 performs a transfer process of encrypted data using the port number notified by the communication manager 87. The communication manager 87 and the relay server 5 may perform a transfer process by combining multiple items included in the 5-tuple information. The information used by the relay server 5 / communication manager 87 to identify the source and destination of communication traffic can be changed as appropriate.
[0137] Thereafter, when the first application 91 and the second application 92 are using the first line, the communications manager 87 detects congestion on the first line (YES in step S21), and compares the priorities of the first application 91 and the second application 92 to select an application 9 to which bandwidth restriction is to be applied. Here, as an example, the communications manager 87 decides to apply bandwidth restriction to the second application 92, which has a relatively low priority. Then, the communications manager 87 applies bandwidth restriction to the second application 92 (step S22). The bandwidth restriction here may be a process equivalent to a communication cutoff that completely stops communication, or may allow communication to continue at a speed below a predetermined value. Depending on the state of the line, the communications manager 87 may apply bandwidth restriction not only to the second application 92 but also to the first application 91.
[0138] Prior to or at the start of bandwidth limitation, the communications manager 87 generates a bandwidth limitation notification according to the reason for the bandwidth limitation (step S23) and transmits it to the second application 92 (step S24). For example, the communications manager 87 transmits a bandwidth limitation notification indicating that bandwidth limitation will be imposed due to a loss of priority or a sudden increase in traffic. If the notification level of the second application 92 is set to 2 or 3, the communications manager 87 may transmit a message including recommended control content and supplementary information. For example, the communications manager 87 transmits a bandwidth limitation notification recommending waiting for a restart instruction / waiting for a certain period of time.
[0139] In response to receiving the bandwidth limit notification from the communication manager 87, the second application 92 transmits a response message (so-called Ack) indicating that the bandwidth limit is started (step S25). Then, the second application 92 suspends data communication with, for example, the server 4 based on the reason / recommended control content / supplementary information, etc., indicated in the received bandwidth limit notification (step S26). The suspension of communication is an example of a recovery process for the bandwidth limit notification, and a process such as line switching may be executed separately. The recovery process refers to a process that is temporarily executed for the bandwidth limit or the like. For example, the suspension of communication, line switching, and change in communication timing correspond to the recovery process. In addition, the recovery process may also include a process for suppressing the amount of traffic that is not executed under normal circumstances, such as a change in the file compression method and a process of thinning (strict selection) the transmission data. In addition to the communication-related process, a process of notifying other applications 9 / ECU 7 / users of the stop / quality degradation of the service corresponds to an example of the recovery process. The recovery process corresponds to a response control for the bandwidth limit / communication trouble. In addition, the data communication between the first application 91 and the server 4 may be continued.
[0140] 17, when the communications manager 87 detects that the congestion on the first line has been resolved (YES in step S31), it releases the bandwidth restriction on the second application 92 (step S32). Then, the communications manager 87 transmits a restart permission notification to the second application 92 (step S33). The restart permission notification corresponds to a type of message indicating that the bandwidth restriction has been released. The second application 92 returns an Ack based on the receipt of the restart permission notification (step S34), and resumes communication using the first line (step S35).
[0141] <Supplementary information on response policy when congestion occurs> 16 and 17, the communication manager 87 causes the second application 92 to suspend communication as a measure against congestion on the first line, but the present invention is not limited to this. In response to congestion on the first line, the communication manager 87 may cause the second application 92 to switch the line used by the second application 92 to the second line as shown in FIG. 18. The communication line to which the communication is changed may be a Wi-Fi line instead of the second line. Furthermore, the second application 92 may mainly switch the communication line instead of the communication manager 87. The first queue q1 shown in FIG. 18 is a queue for data transmitted on the first line, and the second queue q2 is a queue for data transmitted on the second line.
[0142] In addition, in response to congestion on the first line, the communications manager 87 may propose a timing shift to the second application 92. For example, the communications manager 87 may transmit a bandwidth limitation notification including traffic prediction data as supplemental information to the second application 92. As shown in FIG. 19, the traffic prediction data is data indicating the transition of the traffic volume within a predetermined time in the future, in other words, the transition of the contention probability. The contention probability can be calculated based on the ratio of the transmission traffic volume to the communication band available to the wireless communication device 8. In the figure, T1a and T2a indicate the originally scheduled communication timings, and T1b and T2b indicate the changed communication timings.
[0143] The second application 92 may determine a timing with a low contention probability based on the traffic prediction data provided by the communication manager 87, and may perform data communication according to the revised schedule. In this manner, the communication manager 87 may indirectly control the communication timing of the application 9 by providing supplementary information.
[0144] <Additional information about app responses to bandwidth limit notifications> As shown in FIG. 20, when the application 9 receives a bandwidth limiting notification (YES in step S41), the application 9 determines a response policy, in other words, the contents of the recovery process, based on the reason and the like indicated in the notification (step S42). If the bandwidth limiting notification includes recommended control contents, the determination of the response policy includes determining whether to execute the recommended control, that is, whether to follow the proposal from the communication manager 87. How to respond to the bandwidth limiting notification is preprogrammed for each application 9. If the application 9 executes control to suppress communication, the application 9 returns an Ack to the communication manager 87 and starts the determined control (step S43). On the other hand, if the application 9 determines not to execute control to suppress communication, the application 9 may return a Nack to the communication manager 87 as a negative response to the bandwidth limiting notification.
[0145] When line switching is proposed as the recommended control, the application 9 may output a request to the communication manager 87 to switch to an available line, such as a second line or a Wi-Fi line. That is, the application 9 may switch the line in use in cooperation with the communication manager 87. When timing shift is proposed as the recommended control, the application 9 determines communication timing based on traffic prediction data and executes communication at that timing. In addition, when the application 9 determines to suspend communication as a response policy for bandwidth restriction, it waits for a notification of permission to resume from the communication manager 87.
[0146] <Supplementary information on how bandwidth limit notifications are sent> In the above, a mode has been described in which a bandwidth limit notification is transmitted to the second application 92 at the timing when it is decided to impose a bandwidth limit, but the timing of transmitting the bandwidth limit notification is not limited to this. The communications manager 87 can transmit a bandwidth limit notification according to the notification conditions for each application 9. For example, if the notification conditions for the second application 92 are stipulated as a case where a bandwidth limit is predicted within 10 seconds, the communications manager 87 can transmit a bandwidth limit notification at the timing when the condition is satisfied. The bandwidth limit notification in this case can also be called a bandwidth limit advance notice.
[0147] Furthermore, if the notification condition for the second application 92 is stipulated as a case where the bandwidth restriction continues for 5 seconds or more, the communications manager 87 may transmit a bandwidth restriction notification to the second application 92 when it is predicted that the bandwidth restriction will continue for 5 seconds or more. In the case of the above settings, if it is expected that the bandwidth restriction will be lifted within 5 seconds, the communications manager 87 may omit sending the bandwidth restriction notification.
[0148] Furthermore, if the notification condition of the second application 92 is stipulated as the occurrence of severe congestion, the communications manager 87 may transmit a bandwidth limit notification to the second application 92 only when severe congestion occurs. In the above setting, if the congestion level is mild, the communications manager 87 may omit sending a bandwidth limit notification. The communications manager 87 transmits not only bandwidth limit notifications, but also line disconnection notifications and the like at timings according to the notification conditions.
[0149] <About the communication manager's operation in response to the application's response> For example, as shown in Fig. 21, if no response is received from the application 9 to which the bandwidth limit notification is to be sent (step S51 NO) even after a predetermined time has elapsed since the communication manager 87 sent the bandwidth limit notification, the communication manager 87 may resend the bandwidth limit notification (step S52). Also, if the response to the bandwidth limit notification received from the application 9 is not an Ack (step S53 NO), the communication manager 87 may lower the notification level for the application 9 by one level (step S54). The cases where an Ack cannot be received also include cases where a negative response such as a Nack is received.
[0150] Incidentally, step S52 may be a process of lowering the notification level. Furthermore, when the communication manager 87 does not receive an Ack from the application 9 even after transmitting the bandwidth limit notification a predetermined number of times, the communication manager 87 may lower the notification level of the application. By lowering the notification level, it is possible to omit processes such as generating supplemental information for the application 9 that does not follow the proposal from the communication manager 87. As a result, it is possible to reduce the processing load of the communication manager 87. The communication manager 87 may be configured to be able to set level 0, which stops transmitting the bandwidth limit notification, as the notification level of the application 9. The notification level changed based on the reception status of the response to the bandwidth limit notification, etc., may be reset, for example, when the traction nuclear power plant is turned on or off.
[0151] <Supplementary information on line allocation> When allocating a line to the application 9, the communication manager 87 checks the status of each communication line. The status here can include the size of the communication band allocated by the network side device, the available capacity, the allocated frequency, and the like. The status of each communication line can also include the throughput and RTT of each communication line sequentially evaluated by the line status acquisition unit F2. Of course, the status information of the cellular line can include the priority of packet transfer notified by the network side device, the target delay time, the packet loss rate, and the like. The RSRP, RSSI, RSRQ, and the like of each serving cell can also be used as the status of the cellular line. Whether or not the Wi-Fi line is available is also included in the status of the Wi-Fi line. In the present disclosure, the process (step) of checking the current status of each communication line is also called a line status checking process.
[0152] The communications manager 87 selects a communications line to be allocated to the application 9 as a communication request source based on the status of each line acquired by the line status confirmation process. The communications line to be allocated to the application 9 is a communications line that satisfies the communications conditions notified by the application 9, or a communications line that is likely to satisfy the communications conditions. The communications manager 87 selects, from among multiple lines, a line that satisfies communications conditions such as an allowable RTT, a minimum bandwidth, an average size, etc. as the allocated line.
[0153] <Effects> Here, the advantages of the proposed configuration described above will be explained by introducing a comparative configuration. The comparative configuration is a configuration in which the communications manager 87 does not notify the target application 9 when a bandwidth limit is imposed on the application 9. If the communications manager 87 does not notify the application 9 that a bandwidth limit has been imposed, as in the comparative configuration, the application 9 does not know why a response is not returned from the server 4. Note that the application 9 side here refers to the application 9 itself and the TCP layer located below it.
[0154] Therefore, as shown in FIG. 22, the application 9 may repeat TCP retries at a predetermined interval. In addition, the application 9 itself may also execute retransmission processing until a timeout occurs. In other words, if the communications manager 87 does not notify the target application that a bandwidth restriction has been imposed, the application may not immediately recognize that communication with the server 4 is not possible, and may continue to wait for a response from the server 4. In other words, it takes time for the effects of the bandwidth restriction to propagate. In addition, as a result of the application 9 or the application-side TCP executing multiple retries, the processing load of the communications manager 87 increases, and the execution throughput may further decrease.
[0155] To address such issues, the proposed configuration transmits a bandwidth limitation notice immediately when the communications manager 87 imposes a bandwidth limitation on an application 9. This configuration enables the application 9 to recognize that communication with the server 4 is difficult / impossible without waiting for a timeout or the like. As a result, it becomes possible to promptly execute appropriate response control (recovery processing) based on the fact that communication with the server 4 is difficult / impossible. It is also expected to have the effect of preventing the application 9 from repeatedly making futile retries.
[0156] Furthermore, the communication manager 87 in the proposed configuration not only notifies the application 9 of the fact that a bandwidth restriction has been imposed, but also of the reason for the restriction. With this configuration, the application 9 can recognize the reason for no response from the server 4. As a result, the application 9 can select an appropriate response according to the reason for the restriction, such as line switching or timing shift.
[0157] Furthermore, the communications manager 87 notifies the application 9 of the reason for the restriction, in other words, the recommended control content according to the communication status / internal state. With this configuration, the application 9 can easily perform recovery processing according to the communication status / internal state. In particular, the communications manager 87 in the proposed configuration above also provides the application 9 with supplemental information to enable more detailed control in accordance with the recommended control content. With this configuration, the application 9 can perform recovery processing according to the circumstances / characteristics of the application 9.
[0158] The above describes the effect of the communication processor 81 as the communication manager 87 sending a bandwidth limitation notification to the related application 9 when bandwidth limitation is executed / congestion occurs, but the same effect can be obtained when sending a line disconnection notification or a speed reduction notification.
[0159] Additionally, in the above-described embodiment, the content of the notification to the app 9 is changed according to the notification level of each app 9. This configuration corresponds to a configuration in which information according to the request of each app 9 is provided, rather than uniform information being delivered to all apps 9. This configuration may enable the app 9 to execute a more appropriate recovery process. Furthermore, it is possible to provide the app 9 with necessary and sufficient information to execute the recovery process. Note that changing the notification content according to the notification level is an optional element and may be omitted.
[0160] In the above-described embodiment, the timing of transmitting a communication status notification to each application 9 is changed according to the notification conditions of each application 9. With this configuration, it is possible to grasp the communication status at a timing according to the request of each application 9. Accordingly, the application 9 may be able to execute a more appropriate recovery process. Note that the adjustment of the notification timing according to the notification conditions of each application 9 is an optional element and may be omitted.
[0161] Although the embodiment of the present disclosure has been described above, the present disclosure is not limited to the above-mentioned embodiment, and various modified examples described below are also included in the technical scope of the present disclosure, and further, various modifications other than those described below can be implemented without departing from the gist of the present disclosure. For example, the following various supplements and modified examples can be implemented in appropriate combinations as long as no technical contradiction occurs. Note that the same reference numerals are used for components having the same functions as the components described above, and their description may be omitted. In addition, when only a part of the configuration is mentioned, the above description can be applied to the other parts.
[0162] For example, in the above embodiment, the bandwidth limiting function is provided only in the communication manager 87, in other words, the communication manager 87 centrally controls the communication traffic of each application 9. However, the present invention is not limited to this. As shown in Fig. 23, the application 9 may also have a bandwidth limiting function. The bandwidth limiting function may be distributed between the communication manager 87 and the application 9.
[0163] If the application 9 has a bandwidth limiting function, the communication manager 87 detects congestion at any time, and based on the detection of the occurrence of congestion, transmits a bandwidth limiting request to some or all of the applications 9 (FIG. 24, step S61). The bandwidth limiting request corresponds to a message notifying the occurrence of congestion. The bandwidth limiting request may include an upper limit value of the communication amount per predetermined time, or a target value for reducing the traffic amount. The application 9 performs bandwidth control according to the bandwidth limiting request from the communication manager 87. The communication manager 87 monitors the subsequent communication amount / behavior of the application 9 that transmitted the bandwidth limiting request (step S62), and judges whether the communication amount has been reduced (step S63). Then, for the application 9 for which the reduction in the communication amount has not been confirmed, the communication manager 87 imposes a bandwidth limit (step S64).
[0164] In this way, for applications 9 that do not comply with the bandwidth limitation request, the communications manager 87 may forcibly implement bandwidth limitation by the communications manager 87. For example, with the above-described configuration, the communications manager 87 can reduce the processing load of the communications manager 87 and suppress a decrease in throughput due to an increase in chip temperature, etc.
[0165] In addition, it is an optional element for the communication manager 87 to detect congestion in the wireless section, but is not a required element. The communication manager 87 may be configured to detect the occurrence of at least one event other than congestion, without detecting congestion, and to notify the application 9 of the occurrence of the detected event. Events other than congestion that affect the communication between the application 9 and the server 4 refer to, for example, an increase in chip temperature, a high load state, line disconnection, the occurrence of interference, reaching of the contract upper limit, etc. Furthermore, the communication manager 87 may be configured to notify the application 9 only of the fact of the communication status, such as congestion / decrease in communication speed, line disconnection, etc., without implementing bandwidth restriction based on congestion detection.
[0166] <Additional remarks (1)> The present disclosure also includes the following configurations. [Configuration (1)] A communication control device that controls data communication between an application running in a vehicle and an external device located outside the vehicle, monitoring a state of at least one communication line available to the device and detecting that the communication line has been disconnected; The communication control device is configured to, based on detection of disconnection of the communication line, transmit a notification to an application that was using the disconnected communication line, indicating that the communication line being used has become unavailable.
[0167] According to the above configuration, when the communication line is disconnected, the application can recognize the fact without waiting for a communication timeout (i.e., immediately). As a result, it is expected that the application will not perform unnecessary retries and the processing load of the application / communication control device will be reduced. Note that a communication line being disconnected is equivalent to a communication connection being cut off. Examples of situations in which a communication line may be disconnected include moving outside of the communication range, system failure, and deterioration of the radio wave environment. Outside of the communication range may include suburban areas such as deep in the mountains, as well as underground parking lots and tunnels.
[0168] [Configuration (2)] A communication control device that controls data communication between an application running in a vehicle and an external device located outside the vehicle, Obtaining a communication speed of at least one communication line available to the device; A communication control device configured to, based on detecting that the communication speed is below a predetermined value, send a notification to an application using a communication line whose communication speed is below the predetermined value, indicating that the line being used is in a low-speed state.
[0169] With the above configuration, the application can quickly recognize that the communication speed of the line being used has fallen below a predetermined value for some reason. As a result, it is expected to have the effect of suppressing the application from performing unnecessary retries and reducing the processing load of the application / communication control device.
[0170] <Additional remarks (2)> The device, system, and method thereof described in the present disclosure may be realized by a dedicated computer that configures a processor programmed to execute one or more functions embodied by a computer program. The device and method described in the present disclosure may also be realized by a dedicated hardware logic circuit. Furthermore, the device and method described in the present disclosure may be realized by one or more dedicated computers configured by a combination of a processor that executes a computer program and one or more hardware logic circuits. For example, some or all of the functions of the communication processor 81 may be realized as hardware. The embodiment in which a certain function is realized as hardware includes an embodiment in which it is realized using one or more ICs, etc. As the processor (computation core), a CPU, an MPU, a GPU, a DFP (Data Flow Processor), etc. can be adopted. Furthermore, some or all of the functions of the communication processor 81 may be realized by combining multiple types of computation processing devices. Some or all of the functions of the communication processor 81 may be realized by using a system-on-chip (SoC), an FPGA, an ASIC, etc. FPGA is an abbreviation for Field-Programmable Gate Array. ASIC is an abbreviation of Application Specific Integrated Circuit. The computer program may be stored in a computer-readable non-transitive tangible storage medium as instructions executed by a computer. The program may be stored in a hard-disk drive (HDD), a solid-state drive (SSD), a flash memory, or the like. [Explanation of symbols]
[0171] 1 in-vehicle system, 4 server (external device), 5 relay server, 7 ECU, 8 wireless communication device (communication control device), 9 application, 71 ECU processor, 81 communication processor, 87 communication manager, F1 connection control unit, F2 line status acquisition unit, F3 communication request acceptance unit, F4 communication status management unit, F5 dynamic control unit, F6 notification processing unit
Claims
1. A communication control device that controls communication between an application executed by a device connected to a first network and an external device connected to a second network different from the first network, the communication control device comprising: monitoring a state of a communication line for communicating with the external device and detecting the occurrence of congestion in the communication line; based on the detection of congestion of the communication line, applying a bandwidth restriction to the application using the communication line where congestion is detected; sending a notification to the application that is to be bandwidth limited that the line being used is congested; and A communication control device configured to transmit, to the application on which a bandwidth limit is imposed, reference information for determining response control to the bandwidth limit.
2. 2. The communication control device according to claim 1, The notification is a signal indicating that a limit has been placed on the communication speed of the application and the reason for the limit.
3. 2. The communication control device according to claim 1, The reference information is at least one of the following: the content of control recommended by the communication control device itself, the predicted time until the reason for the bandwidth restriction is resolved, predicted data on the amount of traffic flowing through the communication line by time, information on the communication line that is available at the time of notification, a radio wave map showing the communication quality for each location, and the next timing when communication will be possible.
4. 4. The communication control device according to claim 1, obtaining, from the application, a notification level indicating a level of detail or amount of the reference information that the application desires to be notified; A communication control device configured to provide the reference information corresponding to the notification level designated by the application to the application to which a bandwidth restriction is applied.
5. The communication control device according to any one of claims 1 to 4, obtaining, from the application, notification conditions under which the application desires to send the notification; The communication control device is configured to transmit the notification to the application based on the notification condition being satisfied.
6. A communication control device that controls communication between an application executed by a device connected to a first network and an external device connected to a second network different from the first network, the communication control device comprising: monitoring a state of a communication line for communicating with the external device and detecting the occurrence of congestion in the communication line; obtaining, from the application, a notification condition indicating that the line being used is congested and a condition under which a notification indicating the reason for the congestion is desired to be sent; A communication control device configured to detect the occurrence of congestion and, based on the satisfaction of the notification condition, send the notification to the application that is using the communication line where congestion is detected.
7. A communication control device that controls communication between an application executed by a device connected to a first network and an external device connected to a second network different from the first network, the communication control device comprising: monitoring a state of a communication line for communicating with the external device and detecting the occurrence of congestion in the communication line; obtaining, from the application, a notification condition that indicates a condition under which a notification indicating that the line being used is congested is desired; based on the detection of congestion of the communication line, applying a bandwidth restriction to the application using the communication line where congestion is detected; a communication control device configured to detect occurrence of congestion and, based on the satisfaction of the notification condition, transmit the notification to the application that imposes a bandwidth limit.
8. The communication control device according to any one of claims 1 to 7, a communication control device configured to output a bandwidth restriction request to the application, requesting that the application restrict communication volume per predetermined time to a predetermined value or less, based on detection of congestion on the communication line.
9. 9. The communication control device according to claim 8, determining whether the application that sent the bandwidth throttling request complies with the bandwidth throttling request; The communication control device is configured to impose a bandwidth limit on the application if the application does not comply with the bandwidth limit request.
10. The communication control device according to any one of claims 1 to 9, A communication control device configured to, when it detects that the communication line has been disconnected, send a line disconnection notification to the application that was using the disconnected communication line, indicating that the line being used has become unavailable.
11. The communication control device according to any one of claims 1 to 10, Acquire the communication speed of the communication line; A communication control device configured to, when a communication line exists whose communication speed is below a predetermined value, send a speed reduction notification indicating that the communication line is in a low-speed state to an application that is using the communication line whose communication speed is below the predetermined value.
12. A communication control method for controlling communication between an application executed by a device connected to a first network and an external device connected to a second network different from the first network, the method comprising: monitoring a state of a communication line for communicating with the external device and detecting the occurrence of congestion in the communication line; based on the detection of congestion of the communication line, applying a bandwidth restriction to the application using the communication line where congestion is detected; sending a notification to the application that is to be bandwidth limited that the line being used is congested; and A communication control method for transmitting reference information for determining response control for the bandwidth restriction to the application to which the bandwidth restriction is applied.
13. A communication control method for controlling communication between an application executed by a device connected to a first network and an external device connected to a second network different from the first network, the method comprising: monitoring a state of a communication line for communicating with the external device and detecting the occurrence of congestion in the communication line; obtaining, from the application, a notification condition indicating that the line being used is congested and a condition under which a notification indicating the reason for the congestion is desired to be sent; A communication control method comprising: detecting the occurrence of congestion; and, based on the satisfaction of the notification condition, transmitting the notification to the application that is using the communication line in which congestion is detected.
14. A communication control method for controlling communication between an application executed by a device connected to a first network and an external device connected to a second network different from the first network, the method comprising: monitoring a state of a communication line for communicating with the external device and detecting the occurrence of congestion in the communication line; obtaining, from the application, a notification condition that indicates a condition under which a notification indicating that the line being used is congested is desired; based on the detection of congestion of the communication line, applying a bandwidth restriction to the application using the communication line where congestion is detected; A communication control method comprising: detecting occurrence of congestion; and transmitting the notification to the application that is to impose a bandwidth limit based on the satisfaction of the notification condition.
Citation Information
Patent Citations
Traffic information providing system and traffic information providing method
JP2004251710A
Vehicular communication system and on-vehicle communication device
JP2006088829A
Communication system
JP2018042118A
Provisioning of application categories in user equipment during network congestion
JP2018502503A