WO2023132277A1 - 通信制御装置、通信制御方法、及びアプリケーション用制御プログラム - Google Patents

通信制御装置、通信制御方法、及びアプリケーション用制御プログラム Download PDF

Info

Publication number
WO2023132277A1
WO2023132277A1 PCT/JP2022/047684 JP2022047684W WO2023132277A1 WO 2023132277 A1 WO2023132277 A1 WO 2023132277A1 JP 2022047684 W JP2022047684 W JP 2022047684W WO 2023132277 A1 WO2023132277 A1 WO 2023132277A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
application
notification
line
control device
Prior art date
Application number
PCT/JP2022/047684
Other languages
English (en)
French (fr)
Inventor
功佑 山岡
Original Assignee
株式会社デンソー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社デンソー filed Critical 株式会社デンソー
Publication of WO2023132277A1 publication Critical patent/WO2023132277A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]

Definitions

  • the present disclosure relates to technology for relaying communication between an application used in a vehicle and a server.
  • Patent Document 1 discloses a configuration in which a plurality of ECUs (Electronic Control Units) provided in a vehicle perform data communication with a server arranged outside the vehicle via a communication device mounted in the same vehicle.
  • the communication device disclosed in Patent Document 1 adjusts the data transmission order based on the priority set in advance for each ECU in order to improve the efficiency of data transmission from the communication device to the server. is disclosed. Specifically, data input from an ECU with a higher priority is sent to the server before data from an ECU with a relatively lower priority.
  • 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.
  • Patent Literature 1 does not mention a technique for dynamically controlling the state of allocation of communication lines/communication bands for each application. Also, there is no mention of a control mode when there is congestion in the radio section.
  • the reason for the communication delay in the application may become unknown, so, for example, retransmission requests (so-called retry) at the TCP layer/application layer may occur frequently. Frequent retransmission requests may increase the processing load of the communication control device. Also, the processing load of the application itself may increase due to the retry processing.
  • the present disclosure has been made based on the above considerations or points of focus, and one of its purposes is to provide a communication control device, a communication control method, and an application control program that allow applications to recognize the occurrence of congestion. to provide.
  • a communication control device disclosed herein controls communication by an application executed by a device connected to a first network and with an external device connected to a second network different from the first network.
  • a communication control device that monitors the state of a communication line for communicating with an external device, detects the occurrence of congestion in the communication line, and detects congestion based on the detection of the congestion. It is configured to send a notification indicating that the line in use is congested to an application that is using the communication line.
  • the application can grasp the occurrence of congestion.
  • a communication control method of the present disclosure is communication by an application executed by a device connected to a first network, and controls communication with an external device connected to a second network different from the first network.
  • a communication control method by a control device which monitors the state of a communication line for communicating with an external device, detects the occurrence of congestion in the communication line, and detects congestion based on the detection of the occurrence of congestion.
  • a notification indicating that the communication line in use is congested is sent to the application that is using the communication line.
  • the same effect can be obtained by the same action as the communication control device.
  • the application control program of the present disclosure provides a device executing an application that performs data communication with an external device from a communication control device that controls communication between the application and the external device to prevent congestion on the communication line used for communication of the application. acquiring a message indicating that congestion is occurring; and restricting communication with an external device when a message indicating that congestion is occurring on a communication line is received.
  • FIG. 4 is a block diagram showing the configuration of a relay server;
  • FIG. 1 is a block diagram showing the configuration of an in-vehicle system;
  • FIG. 3 is a block diagram showing the configuration of an ECU;
  • FIG. FIG. 4 is a diagram showing an example of a frame configuration of a communication start request;
  • FIG. It is a figure which shows an example of communication conditions.
  • FIG. 4 is a diagram for explaining functions of a communication manager;
  • FIG. FIG. 4 is a functional block diagram of a communication manager;
  • FIG. 4 is a diagram for explaining the operation of a communication state management unit;
  • FIG. 10 is a diagram showing an example of the configuration of a band limit notification; It is a figure which shows an example of a limitation reason.
  • FIG. 10 is a diagram showing another configuration example of a band limitation notification; It is a figure which shows an example of recommendation control.
  • FIG. 10 is a diagram showing an example of recommended control details and supplementary information for each restriction reason, which are notified to an application whose notification level is set to 2;
  • FIG. 10 is a diagram showing an example of recommended control details and supplementary information for each restriction reason, which are notified to an application whose notification level is set to 3;
  • 4 is a sequence diagram for explaining the operation of the communication manager;
  • FIG. 4 is a sequence diagram for explaining the operation of the communication manager;
  • FIG. 10 is a diagram showing a case where communication lines for some applications are switched due to congestion;
  • FIG. 10 is a diagram showing a case where communication timings of some applications are adjusted due to congestion;
  • FIG. 10 is a flowchart for explaining the operation of an application in response to a band limitation notification;
  • FIG. 10 is a diagram for explaining the operation of the communication manager after transmission of the band limitation notification; It is a figure for demonstrating the subject of a comparison structure.
  • 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 implements wireless communication conforming to 4G/LTE (Long Term Evolution). Portions whose description is omitted in the embodiment are performed by a method defined by the 4G/LTE standard.
  • the vehicle communication system Sys may provide wireless communication conforming to the 3G standard, the 5G standard, the 6G standard, or the like.
  • 3G, 4G/LTE, 5G, 6G, etc. are collectively referred to as 4G.
  • the vehicle 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 vehicle communication system Sys may include a Wi-Fi (registered trademark) 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, a plurality of these may exist. Only one vehicle Vc equipped with the in-vehicle system 1 is also shown in FIG.
  • the in-vehicle system 1 includes multiple ECUs (Electronic Control Units) 7 and a wireless communication device 8, as will be described later in detail.
  • 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 application 9 is a program that operates on the ECU 7 .
  • the wireless communication device 8 is a device used in the vehicle as an interface for the application 9 to perform 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 cellular lines and Wi-Fi lines.
  • the cellular line here refers to a communication line via the cellular base station 2, in other words, a communication line conforming to 4G or the like.
  • a Wi-Fi line refers to a communication line that passes through the Wi-Fi base station 6 . The Wi-Fi line becomes available when the vehicle Vc exists within the communication area of the Wi-Fi base station 6 .
  • the application 9 provides predetermined services to the user of the vehicle Vc by communicating with the server 4.
  • the application 9 is realized by executing predetermined application software by the arithmetic core provided in the ECU 7 .
  • App 9 may include a control program for applications.
  • the descriptions of "application” and "app” in the present disclosure can be read as a device/computing core that executes the application.
  • Arithmetic core refers to a processor such as a CPU (Central Processing Unit).
  • 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 realizes connection to the wide area communication network 3 by the wireless communication device 8 and data communication between the wireless communication device 8 and various servers 4 .
  • the cellular base station 2 transmits various reference signals (RS: Reference Signal) at any time.
  • 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.
  • the CSI-RS is an RS for estimating the state of an uplink or downlink transmission path.
  • various RSs correspond to control signals for wireless communication device 8 to evaluate so-called QoS (Quality of Service), such as communication speed, latency, and packet loss rate of a communication line.
  • QoS Quality of Service
  • the wide area communication network 3 includes core networks 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 any 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 the second network.
  • the communication facilities that make up the wide area communication network 3 such as MME (Mobility Management Entity) and S-GW (Serving Gateway), are collectively referred to as network-side devices.
  • the network side equipment can include a cellular base station 2 .
  • the MME is equipment in charge of managing UE (User Equipment) in the cell and controlling the cellular base station 2 .
  • the server 4 is a computer that executes processing for providing a predetermined service by executing data communication with the application 9. Data communication between the server 4 and the application 9 is performed via the relay server 5 . The server 4 performs predetermined processing on data received from the application 9 used in the vehicle Vc. The server 4 transmits data according to the provided service to the application 9 and collects data from the application 9 .
  • a server 4 may exist for each application 9 .
  • the server 4 corresponds to an external device.
  • the relay server 5 is a server that relays communication between the vehicle Vc and the server 4.
  • the relay server 5 integrally performs communication connection control and communication state monitoring between the vehicle Vc and the server 4 .
  • the relay server 5 can communicate with the wireless communication device 8 via the wide area communication network 3 .
  • the relay server 5 Based on a request from the server 4, the relay server 5 transmits data to the ECU 7 mounted on the designated vehicle Vc, and acquires data from the vehicle Vc.
  • the Wi-Fi base station 6 is communication equipment for forming a Wi-Fi-compliant wireless LAN (Local Area Network).
  • Wi-Fi standard various standards such as IEEE802.11n, IEEE802.11ac, and IEEE802.11ax (so-called Wi-Fi6) can be adopted.
  • Wi-Fi base stations 6 are placed at arbitrary locations by various service providers as infrastructure equipment. Note that Wi-Fi in the present 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 vehicle manufacturer has concluded a usage contract. Wi-Fi base stations 6 can be called access points or routers.
  • the specifications of the mounted ECU 7 may differ for each vehicle Vc.
  • the specifications of the ECU may include an OS (Operating System), the starting state of the ECU 7/application 9 when the running power supply is turned off, and the like.
  • the power supply for running is a power supply for running the vehicle Vc, and indicates an ignition power supply when the vehicle Vc is a gasoline vehicle.
  • the running power supply refers to the system main relay. Electric vehicles include electric vehicles, hybrid vehicles, and fuel cell vehicles.
  • the vehicle Vc includes a part or all of a vehicle status confirmation application, an AVP (Automated Valet Parking) application, an emergency call application, a control support application, and the like. It should be noted that the application 9 illustrated here is only an example, and various applications other than those illustrated can be used in the vehicle Vc.
  • AVP Automatic Valet Parking
  • the vehicle status confirmation application is an application that allows the 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 the user device.
  • User devices refer to smartphones, tablet terminals, laptops, desktop PCs, and the like.
  • the vehicle state confirmation application periodically uploads various types of information to the server 4 .
  • the server 4 corresponding to the vehicle state confirmation application saves vehicle state data acquired from the application, and transmits the data to a predetermined user device based on a request from the user.
  • the vehicle status confirmation application may be in-vehicle software for displaying the image of the in-vehicle camera on the user device via the server 4 or saving it in the server 4.
  • the vehicle status confirmation application has a function of controlling the locked/unlocked state of the doors, the degree of opening of the windows, and the lighting state of the lighting device based on the instruction signal from the user transmitted via the server 4. good. That is, the vehicle state confirmation application may be configured as an application for remotely controlling the body system electrical equipment and the air conditioner of the vehicle Vc.
  • the body system electrical equipment includes various lighting devices, door lock motors, window motors, and the like.
  • the AVP application is an application that provides automatic parking and automatic parking services.
  • the automatic parking service refers to automatically driving and parking the vehicle Vc to an empty parking space.
  • the automatic leaving service refers to a service in which the parked vehicle Vc is activated and automatically traveled to the user.
  • the server 4 corresponding to the AVP application can transmit target parking position information such as available parking spaces based on a request from the application 9 .
  • the server 4 corresponding to the AVP application transmits the user's current location and the like to the AVP application based on the retrieval request from the user device.
  • the emergency call app is an app that uses an accident or an abnormality of a passenger as a trigger to notify the occurrence of an abnormality to a designated center or user device.
  • the emergency notification application may be an application that detects an abnormality related to theft, such as unauthorized unlocking of the vehicle Vc, and notifies the center or the like.
  • the emergency call application corresponds to an application of relatively high importance.
  • the control support application is an application that receives control support information, which is reference information for creating a control plan, from the server 4 periodically or when a predetermined event occurs.
  • Control support information is information about semi-dynamic map elements that indicate the position and type of obstacles on the road, such as the end of traffic jams and the position of fallen objects on the road.
  • the control support information may be information indicating the position and lighting state of a traffic signal existing in front of the vehicle Vc, or information indicating a running track according to the direction of travel inside or outside an intersection.
  • the server 4 corresponding to the control support application can distribute control support information according to the current position of the vehicle Vc based on the request from the application.
  • the relay server 5 is a server that relays the communication between the vehicle Vc and the server 4 and the communication between the application 9 and the server 4 as described above.
  • the relay server 5 corresponds to a computer that provides main functions on the cloud side in an automotive wireless communication platform (ACP).
  • ACP is a technique for enabling secure data communication between the server 4 and the application 9 while concealing (abstracting) differences in system configuration for each vehicle Vc.
  • the combination of an ECU that turns off while parked and an ECU that does not turn off may differ for each vehicle Vc.
  • the configuration itself of the in-vehicle system 1 including the ECU may differ for each vehicle Vc.
  • the relay server 5 hides, from the server 4 side, the difference in system configuration for each vehicle Vc and the difference in power supply state for each ECU, that is, the diversity for each vehicle Vc and each ECU 7 .
  • the relay server 5 realizes a pseudo constant connection as if each ECU 7 and the server 4 are always connected. Since the relay server 5 is a server that configures ACP in one aspect, it can also be called an ACP server.
  • Such a relay server 5 comprises a communication device 51, a server processor 52, a RAM (Random Access Memory) 53, and a storage 54, as shown in FIG.
  • the communication device 51 is configured to communicate with the wireless communication device 8 and various servers 4 .
  • the communication device 51 may be configured to be able to perform encrypted communication using TLS (Transport Layer Security) with other devices such as the server 4 .
  • the server processor 52 is an arithmetic core such as a CPU.
  • the RAM 53 is a rewritable volatile memory.
  • 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.
  • the server processor 52 By exchanging control signals with the wireless communication device 8 and the server 4, the server processor 52 acquires communication path information (so-called 5-tuple) such as address information and port numbers of various devices.
  • the address information may be either an IP address or a MAC (Media Access Control) address, or both.
  • the relay server 5 notifies the server 4 of information necessary for communication with the application 9 at any time.
  • the information necessary for communication with the application 9 is communication route information assigned to the application 9 and the like.
  • Relay server 5 also notifies wireless communication device 8 of information necessary for communication with server 4 .
  • the relay server 5 relays encrypted/confidential data communication between the application 9 and the server 4 using the communication path information.
  • relay server 5 may be implemented using a plurality of computers. Each server 4 may have part or all of the functions provided by the relay server 5 .
  • Relay server 5 may be integrated with server 4 . Additionally, the relay server 5 is an optional element and may be omitted. That is, vehicle Vc and server 4 may be configured to perform data communication without relay server 5 .
  • Each of the multiple ECUs 7 included in the in-vehicle system 1 is connected to a wireless communication device 8 via an in-vehicle network Nw, as shown in FIG.
  • the in-vehicle network Nw is a communication network built in the vehicle.
  • the standard of the in-vehicle network Nw may be any standard such as Controller Area Network (CAN is a registered trademark) or 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. Another ECU 7 may intervene between a certain ECU 7 and the wireless communication device 8 .
  • ECUs 7 a to 7 d are connected to the wireless communication device 8 as the ECU 7 .
  • the number of ECUs 7 connected to the wireless communication device 8 can be changed as appropriate. Only one ECU 7 may be connected to the wireless communication device 8 .
  • Each of the plurality of ECUs 7 has different services/controlled objects.
  • Each ECU 7 may be a computer including an ECU processor 71, a RAM 72, a ROM (Read Only Memory) 73, etc., as shown in FIG.
  • the ECU processor 71 is a calculation 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 as unique identification information.
  • the ECU 7 is configured to be able to execute one or more applications 9. In addition, you may be comprised so that several ECU7 may cooperate and one application 9 may be performed.
  • a first application 91 shown in FIG. 3 is the application 9 executed by the ECU 7a, and a second application 92 and a third application 93 are the applications 9 executed by the ECU 7b.
  • a fourth application 94 is an application 9 realized by cooperation of the ECUs 7c and 7d.
  • App in the figure is an abbreviation for application.
  • AppN in the figure means the N-th application.
  • App1 refers to the first application 91
  • App2 refers to the second application 92 .
  • Each application 9 may be various applications such as the aforementioned AVP application.
  • a plurality of applications 9 provide different services/functions.
  • Each application 9 is assigned an application ID, which is unique identification information for each application 9.
  • the application ID may be assigned by the designer/distributor of the application 9, or may be a predetermined number that comprehensively manages the installation of software on the vehicle Vc (substantially, the ECU 7) when the application is installed on the vehicle Vc. It may be assigned by the ECU 7 .
  • the application 9 outputs transmission data destined for the server 4 corresponding to the application 9 to the wireless communication device 8 . Also, the application 9 acquires data from the server 4 from the wireless communication device 8 . Each application 9 outputs a communication start request to the wireless communication device 8 when data for transmission to the server 4 is generated.
  • a communication start request corresponds to a predetermined electrical signal, message, or communication frame that requests the start of data communication.
  • the communication start request includes an application ID. Further, the communication start request can include communication conditions indicating conditions related to data communication with the server 4 .
  • a communication start request can include an application ID, communication conditions, notification destination address, notification conditions, and notification level, as shown in FIG.
  • Fc1 in the drawing indicates an application ID field, which is an area in which an application ID is arranged in a communication frame.
  • Fc2 indicates a communication condition field which is an area in which communication conditions are arranged in a communication frame.
  • Fc3 indicates a notification destination address field, which is an area in which the notification destination address is arranged in the communication frame.
  • Fc4 indicates a notification condition field, which is an area in which notification conditions are arranged in the communication frame.
  • Fc5 indicates a notification level field, which is an area in which the notification level is arranged in the communication frame.
  • the items constituting the communication conditions are (A) allowable waiting time, (B) allowable RTT, (C) communication frequency, (D) average size, (E) minimum bandwidth, (F) urgency, and (G) control availability.
  • the allowable waiting time indicates when communication must be started, in other words, the waiting time until the application 9 can start communication.
  • “d”, “h”, “min”, “s”, and “ms” shown in the setting value example column in FIG. Indicates the unit of time, such as "milliseconds”.
  • Acceptable RTT indicates acceptable response delay time. RTT is an abbreviation for Round-Trip Time.
  • Communication frequency indicates the execution frequency of data transmission/reception.
  • Average size indicates an assumed size of one data set exchanged between the application 9 and the server 4 .
  • Minimum bandwidth indicates the minimum value of the communication bandwidth to be secured. The minimum bandwidth can be expressed in terms of communication speed such as 10 Mbps and 1 Mbps. The minimum bandwidth may be calculated and set by the wireless communication device 8 based on communication frequency, average size, and the like.
  • Urgency indicates whether or not the communication is highly urgent, in other words, whether or not the communication should be started immediately. Urgency may be expressed with a flag. When the urgency flag is 1 (on), it indicates that the communication is of high urgency, and when the urgency flag is 0 (off), it indicates that the communication is of low urgency.
  • the applications 9 whose urgency flag is set to ON include an emergency call application, an application for uploading accident data to the server 4, a theft detection application, and the like.
  • the level of urgency may be determined by the wireless communication device 8 based on the allowable waiting time described above.
  • Control usability indicates whether or not data exchanged with the server 4 is data used for travel control of the vehicle Vc.
  • Control availability may be represented by flags. When the control availability flag is 1 (on), it indicates that the communication handles data used for vehicle control. This indicates that the communication handles data with low security.
  • Urgency and control availability both indicate importance, ie whether or not the communication is important. Terms of urgency and control availability may be combined into parameters such as importance.
  • the communication conditions that the application 9 conveys to the wireless communication device 8 need not include all of the above items.
  • the above item group is an example, and the combination of specific items of communication conditions can be changed as appropriate.
  • the communication conditions may include flags such as whether the user wishes to actively use the Wi-Fi line.
  • the communication conditions for each application 9 are transmitted to the wireless communication device 8 in the form included in the communication start request, but the manner of notification of the communication conditions is not limited to this.
  • the application 9 may voluntarily send out a message indicating the communication conditions separately from the communication start request.
  • the application 9 may transmit a message indicating communication conditions based on a request from the wireless communication device 8 .
  • the application 9 may transmit the communication conditions to the wireless communication device 8 at the timing when the communication connection between the ECU 7 and the wireless communication device 8 is established when the running power source is turned on.
  • the application 9 may transmit the communication conditions and the like to the wireless communication device 8 each time communication traffic (in other words, transmission data) for the server 4 occurs.
  • the communication conditions may be described in the header of data transmitted from each application 9 to the wireless communication device 8, or the like.
  • the notification destination address stored in the notification destination address field Fc3 is information for specifying the destination of the communication status notification described later by the wireless communication device 8 .
  • the communication status notification includes data indicating the current status of communication, such as that the line used by the application 9 is congested or that the bandwidth is being limited, and the reason for this.
  • the communication status notification can include recommended control details, control judgment materials, etc. as additional information (in other words, reference information). Details of the communication status notification will be described separately later.
  • the notification destination address may be the communication address of the ECU 7 in the in-vehicle network Nw. Note that if the wireless communication device 8 can specify the destination of the communication status notification based on the application ID, the notification destination address field Fc3 may be omitted.
  • the notification condition field Fc4 stores a code specifying a notification condition that causes the wireless communication device 8 to transmit a communication status notification.
  • the notification condition may be when congestion is expected within a predetermined time, when mild congestion occurs, when severe congestion occurs, when a line in use becomes unavailable, and the like.
  • factors such as congestion/bandwidth limitation can also be used as components of the transmission conditions.
  • severe congestion in the present disclosure is a state in which the delay time is equal to or greater than a predetermined first threshold value (eg, 10 seconds).
  • a severe congestion state can include a state in which communication is substantially impossible and a state in which communication connection is interrupted.
  • Light congestion is a state in which the delay time is greater than or equal to a second threshold (eg, 5 seconds) and less than a first threshold.
  • the second threshold may be set to a value less than the first threshold by a predetermined amount.
  • the notification level field Fc5 stores a code specifying the detail/amount of information that the application 9 wants to be notified from the wireless communication device 8 as communication status notification.
  • the detail/amount of reference information may be expressed in three levels of levels 1-3. A higher level value indicates a desire to provide more/finer information. Level 1 has the least amount of information.
  • Level 1 is the level at which users wish to be notified of the fact of the communication situation, such as whether or not congestion is occurring, and the reason for this.
  • Level 2 is a level at which notification (suggestion) of recommended control content is desired in addition to the communication status and reason.
  • Level 3 is a level at which notification of control judgment materials is desired in addition to the communication status, its reason, and recommended control details.
  • the level indicating the type of item for which the application 9 wishes to be notified is referred to as the notification level.
  • the notification level corresponds to a parameter that defines items to be notified to the application 9 by the wireless communication device 8 .
  • the notification level field Fc5 may be a field in which a code indicating an item desired to be notified (in other words, a requested item) is placed.
  • level 0 may be prepared at which the application 9 does not wish to transmit the communication status notification/the wireless communication device 8 does not transmit the communication status notification.
  • the wireless communication device 8 is configured to be able to use at least one cellular line by being provided with at least one subscriber identity module (hereinafter referred to as SIM: Subscriber Identity Module).
  • SIM subscriber identity module
  • a SIM is an IC module in which information for identifying a subscriber of a line is recorded, and is configured as an IC card.
  • 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.
  • An APN corresponding to a SIM refers to an APN that can be used based on the information of the SIM.
  • the wireless communication device 8 of the present embodiment is configured to be able to use two cellular lines with different APNs.
  • the two cellular lines that can be used by wireless communication device 8 using SIM are referred to as the first line and the second line.
  • the wireless communication device 8 is configured to be capable of Wi-Fi communication, and uses different communication lines according to the state of communication traffic generated in each ECU 7 . In other words, the wireless communication device 8 selectively uses various communication lines based on the purpose of communication and the communication status.
  • the concept of communication lines/communication paths available to wireless communication device 8 includes not only cellular lines but also Wi-Fi lines.
  • 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 plurality of wireless communication devices 8 (vehicles Vc).
  • the wireless communication device 8 may be housed within the instrument panel. Note that the wireless communication device 8 may be a device configured to be detachable from the vehicle Vc by the user. Alternatively, the wireless communication device 8 may be a mobile terminal such as a smart phone brought into the vehicle by the user.
  • the wireless communication device 8 is mainly composed of a computer equipped with a communication processor 81, a RAM 82, a storage 83, an in-vehicle communication section 84, and a bus connecting them.
  • 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.
  • the communication processor 81 is hardware for arithmetic processing coupled with the RAM 82 .
  • the communication processor 81 includes at least one arithmetic core such as a CPU.
  • the communication processor 81 accesses the RAM 82 to execute various processes. As seen from the communication processor 81, the wireless communication device 8 having itself corresponds to its own device.
  • the storage 83 is a device that includes a non-volatile storage medium such as flash memory.
  • a communication control program is stored in the storage 83 as a program executed by the communication processor 81 . Execution of the program by the communication processor 81 corresponds to execution of the communication control method corresponding to the communication control program by the communication processor 81 .
  • Information for example, profiles
  • Wi-Fi SSIDs Service Set Identifiers
  • a radio map is also stored in the storage 83.
  • the radio wave map is data indicating the radio wave intensity for each point/predetermined section on the road.
  • the radio map may be data indicating uplink/downlink throughput, round-trip latency, and the like for each point.
  • the radio map may be data indicating CSI (Channel State Information) for each point.
  • a radio wave map can be distributed from the relay server 5 or the cellular base station 2 .
  • the radio map can be dynamically updated.
  • the storage destination of the radio wave map in the wireless communication device 8 may be a volatile memory such as the RAM 82 or the like.
  • the communication processor 81 By executing the communication control program installed in the storage 83, the communication processor 81 operates as a communication manager 87 that controls the operations of the in-vehicle communication unit 84 and the wireless communication unit 85.
  • the communications manager 87 performs processing as part or all of the application layer and transport layer. Details of the communication manager 87 will be described separately later.
  • 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 the data to the communication manager 87 .
  • the in-vehicle communication unit 84 outputs the data input from the communication processor 81 toward the ECU 7 designated as the destination.
  • the in-vehicle communication unit 84 obtains the original data by separating the multiplexed data input from each ECU 7 by a predetermined method.
  • Such an in-vehicle communication unit 84 is realized using an analog circuit element, an IC, a PHY chip conforming to the communication standard of the in-vehicle network Nw, and the like.
  • Various data such as vehicle speed data detected by a vehicle speed sensor are input to the in-vehicle communication unit 84 in addition to transmission data input from the ECU 7 .
  • the data for transmission here corresponds to communication traffic (in other words, data) directed to the server 4 .
  • the cellular communication unit 85a is a communication module that takes charge of the data link layer and physical layer in wireless communication protocols 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 includes a transceiver that performs signal processing corresponding to conversion from a baseband signal to a high-frequency signal and its inverse conversion, and a packet processing unit that performs conversion between an IP packet and a physical channel signal. .
  • the cellular communication unit 85a processes IP packets input from the in-vehicle communication unit 84 or the communication manager 87 in each data link sublayer of PDCP/RLC/MAC. Also, by performing processing such as encoding, modulation, and digital-to-analog conversion, a carrier wave signal corresponding to the input data is generated. Then, the generated carrier wave signal is output to an antenna to be radiated as radio waves.
  • PDCP Packet Data Convergence Protocol
  • RLC Radio Link Control
  • MAC Media Access Control.
  • 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, thereby converting it into an information series (i.e., digital data) represented by digital values. do. Then, it outputs data corresponding to the received signal to the communication manager 87 or the in-vehicle communication section 84 .
  • 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 frequency bands used in the Wi-Fi standard, such as the 2.4 GHz band and the 5 GHz band. .
  • the Wi-Fi communication unit 85b emits radio signals corresponding to data input from the in-vehicle communication unit 84 or the communication manager 87.
  • FIG. Also, the Wi-Fi communication unit 85b outputs data corresponding to the reception signal received by the antenna to the in-vehicle communication unit 84 or the communication manager 87.
  • the Wi-Fi communication unit 85b recognizes the existence of the Wi-Fi base station 6 by receiving a beacon emitted from the Wi-Fi base station 6.
  • a communication manager 87 controls the communication connection between the Wi-Fi communication unit 85b and the Wi-Fi base station 6.
  • FIG. A communication manager 87 controls the operating state and power state of the Wi-Fi communication unit 85b. Note that the Wi-Fi communication unit 85b does not necessarily have to be built in the wireless communication device 8.
  • FIG. The Wi-Fi communication unit 85b may be provided outside the wireless communication device 8. FIG.
  • 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 and the like.
  • a temperature sensor 86 corresponds to a sensor that measures the chip temperature.
  • the chip here refers to a CPU, an IC, or the like that executes processing related to wireless communication.
  • the chip temperature of the present disclosure may be the temperature of the communications processor 81 or the temperature of a chip for cellular communications.
  • the communication manager 87 is an entity that relays and controls communication between the application 9 and the server 4 .
  • Data (a so-called message) sent by the application 9 is input to the wireless communication device 8 via the network layer (L3), data link layer (L2), and physical layer (L1) as shown in FIG.
  • the data from the application 9 that has reached the wireless communication device 8 is wirelessly transmitted to the server 4 using the communication line specified by the communication manager 87 .
  • the communication manager 87 includes, as functional blocks, a connection control unit F1, a line state acquisition unit F2, a communication request reception unit F3, a communication state management unit F4, a dynamic control unit F5, and a notification processing unit F6 as shown in FIG. .
  • the communication manager 87 corresponds to an ACP engine, which is a vehicle-side functional unit that configures the ACP.
  • the connection control unit F1 controls the operation of the cellular communication unit 85a. 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. Procedures for establishing a communication connection include transmission of an attach request, transmission of APN information, and the like. As the connection event, it is possible to adopt a case where the traveling power source is turned on, a case where the cellular communication function is activated based on a predetermined user operation on an operation member provided in the vehicle Vc, and the like.
  • connection control unit F1 determines the serving cell for each cellular line and performs movement management.
  • the connection control unit F1 acquires RSRP, RSSI, RSRQ, etc. for each cell as an index for selecting a serving cell.
  • "Obtaining" in the present disclosure 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 that measures the power of the entire LTE system band in an OFDM symbol that accommodates the RS.
  • RSRQ is the ratio of the received power of the cell-specific reference signal to the total power within the received bandwidth. A larger RSRQ indicates better reception quality of the signal from the cellular base station 2 .
  • connection control unit F1 performs processing for switching the serving cell as necessary, based on indicators such as RSRP for each cell.
  • Information such as RSRP and RSRQ for each cell such as a serving cell and an adjacent cell calculated by the connection control unit F1 is temporarily held in the RAM82.
  • the information held by the RAM 82 is updated as needed. Note that the function of switching (reselecting) the serving cell may be provided in the cellular communication unit 85a. Further, acquisition of RSRP and the like may be performed by the line state acquisition unit F2.
  • connection control unit F1 controls the operation of the Wi-Fi communication unit 85b.
  • the connection control unit F1 starts communication connection with the Wi-Fi base station 6 based on the reception of the beacon by the Wi-Fi communication unit 85b. That is, it exchanges control signals with the Wi-Fi base station 6 for obtaining an IP address and setting security (exchange of encryption keys, etc.).
  • the line status acquisition unit F2 is configured to acquire various information indicating the communication characteristics of each communication line.
  • the line state acquisition unit F2 acquires parameters related to communication settings for each cellular line from the network side device.
  • Communication setting parameters for each cellular line include an allocated frequency, packet transfer priority, target delay time, packet loss rate, and the like.
  • the target delay time is the maximum communication delay time assumed by the network-side device.
  • the communication setting parameters acquired by the line state acquisition unit F2 are stored in an arbitrary storage medium (for example, RAM 82).
  • the line state acquisition unit F2 may sequentially evaluate the RTT and throughput for each cellular line as state information for each cellular line and store them in the RAM82.
  • the RTT is the time it takes from sending a signal or data to a communication partner to receiving a response, that is, a response delay time. RTT is also referred to as round trip latency.
  • Throughput represents the amount of data that can be transmitted and received per unit time through a transmission line. Throughput corresponds to an index indicating communication speed.
  • the line state acquisition unit F2 may acquire the throughput separately for uplink communication and downlink communication.
  • the line state acquisition unit F2 may acquire observed values such as RSRP and RSRQ from the connection control unit F1.
  • the line state acquisition unit F2 may evaluate the QoS for each cellular line based on some or all of the above parameters.
  • the communication processor 81 as the line state acquisition unit F2 determines whether or not congestion occurs for each communication line.
  • a packet loss rate, a delay time, or both of them can be used as congestion judgment materials.
  • the line state acquisition unit F2 determines that congestion occurs when the packet loss rate is equal to or higher than a predetermined value. Further, the line state acquisition unit F2 determines that congestion occurs when the response delay time is equal to or greater than a predetermined value.
  • Various methods used in TCP congestion control such as NewReno, Vegas, Illinois, YeAH, and DCTCP, can be used as congestion detection methods.
  • the line state acquisition unit F2 may predict the occurrence of congestion/shortage of the communication band.
  • the communication processor 81 may be configured to be able to detect congestion inside the wireless communication device 8 .
  • a state in which accesses from a plurality of applications 9 concentrate on the communication manager 87 also corresponds to a kind of congestion.
  • the communication processor 81 can detect congestion (high load state) inside the wireless communication device 8 based on the degree of retention of data in the communication buffer/queue.
  • a state in which the in-vehicle network Nw is congested also corresponds to a type of congestion.
  • the congestion after the wireless section is also referred to as external congestion
  • the congestion inside the wireless communication device 8 as internal device congestion
  • the congestion in the in-vehicle network Nw as internal congestion.
  • the communication processor 81 may be configured to be able to detect not only congestion outside the vehicle but also congestion inside the device and congestion inside the vehicle.
  • 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
  • a communication start request from outside the vehicle corresponds to a communication start request from the server 4 . Since the communication start request from the server 4 reaches the wireless communication device 8 via the relay server 5 , the communication start request from outside the vehicle can be interpreted as the communication start request from the relay server 5 .
  • the communication request reception unit F3 Upon receiving a communication start request from the application 9, the communication request reception unit F3 starts procedures (route setting) and the like for starting communication between the application 9 and the corresponding server 4. Further, when relay server 5 notifies communication request reception unit F3 that data for a certain application 9 exists, communication request reception unit F3 receives a communication start request between target application 9 and server 4 .
  • the communication request reception unit F3 acquires communication conditions together with/independently from each application 9 request to start communication.
  • the communication requests and conditions received by the communication request receiving unit F3 are temporarily stored in the RAM 82 while being distinguished for each application 9 as a request source. Note that the communication conditions for each application 9 can be dynamically changed over time.
  • the communication status management unit F4 manages the communication status of the application 9.
  • the communication status of each application 9 can be managed in a table including multiple items such as priority, execution status, presence/absence of restrictions, communication frequency, and data size, as shown in FIG.
  • the priority is a parameter that indicates the order of priority related to communication line allocation and packet transfer. The example shown in FIG. 9 indicates that the second application 92 has the highest priority.
  • the communication state management unit F4 dynamically sets the priority of each application 9 based on the urgency indicated in the communication conditions, control availability, allowable RTT, allowable waiting time, and the like. Note that the priority of each application 9 may be a preset fixed value. Also, the priority of each application 9 may be switched according to whether the vehicle Vc is running. The priority of the control support application may be set lower while the vehicle is stopped than while the vehicle is running.
  • a value is set in the execution status column to indicate whether communication is in progress or in hibernation.
  • During communication refers to a state in which data communication is actually being performed. "During hibernation" corresponds to a state in which communication is stopped. The idle state may be a state in which data transmission/reception is stopped while connection is maintained (so-called idle state). During hibernation, the communication connection may be released.
  • a value indicating whether or not the communication band of the application 9 is restricted is entered in the Band Limit column.
  • band limitation means a state in which the available band is limited to a predetermined value or less.
  • the set value (upper limit value) of the usable communication band may be 0, and the state in which the band is limited can include a state in which communication is substantially blocked/prohibited.
  • the communication frequency column indicates the execution frequency of communication with the server 4.
  • the communication frequency may be determined based on the actual communication frequency within the most recent predetermined time period. Further, in the column of communication frequency, a value of communication frequency indicated in the communication condition, in other words, a value self-reported by the application 9 may be input.
  • the data size column indicates the average size of one data set (for example, file) exchanged between the application 9 and the server 4 . The data size is determined based on the size of files that have been sent and received in the past. In the data size column, the value of the average data size indicated in the communication conditions, in other words, the value self-reported by the application 9 may be registered.
  • the communication status table may contain notification levels.
  • the communication state management unit F4 can also manage the notification level for each application 9.
  • FIG. the communication state management unit F4 updates the values of the communication state table according to the communication state of each application 9 as needed.
  • the communication state table held by the communication state management unit F4 is referred to by the dynamic control unit F5.
  • the dynamic control unit F5 performs priority control, line allocation, bandwidth control, and the like.
  • Priority control refers to processing for adjusting the transmission order of transmission data (communication packets) input from the application 9 based on the priority set in the application 9 .
  • Line allocation refers to processing for determining/changing the 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. In addition to the type of communication line, the size (width) of the communication band to be allocated and the frequency to be allocated can be included in the elements constituting the communication path.
  • Bandwidth control refers to processing for adjusting the communication bandwidth allocated to the application 9 .
  • the dynamic control unit F5 implements processing to limit the communication band for some or all of the applications 9 based on the communication line status and the internal state of the wireless communication device 8.
  • the dynamic control unit F5 restricts the band based on the combination of the applications 9 using the congested line, which is the line in which the congestion occurs. Select the application 9 to call. Then, the application 9 is restricted to a level of bandwidth that is necessary.
  • the dynamic control unit F5 can also limit the bandwidth of the application 9 according to the internal state of the communication manager 87 such as the chip temperature and the load condition of the communication processor 81 .
  • the notification processing unit F6 is a processing module that exchanges messages regarding communication status and the like with the application 9.
  • the notification processing unit F6 transmits a band limit notification to the target application.
  • the band limit notification is a signal indicating that the band is being limited and the reason for it. Note that band limitation is implemented in one scene when congestion occurs. Therefore, in one aspect, the band limit notification corresponds to a signal indicating that the line used by the application 9 is congested and the reason for this.
  • the band limit notification corresponds to a message by which the communication manager 87 notifies the application 9 of the implementation of congestion/band limit of the line in use.
  • a band limit notification may be sent to the application 9 that is using the corresponding line.
  • the notification processing unit F6 transmits a line disconnection notification to the application 9 using the communication line.
  • the line disconnection notification is a signal indicating that the line in use has become unusable and the reason for this.
  • the communication processor 81 may transmit a band limitation notification instead of the line disconnection notification to the application 9 whose communication line is cut off (disconnected) as a result of the band limitation processing.
  • the notification processing unit F6 of the present embodiment uses a communication line when the communication speed (communication throughput) is below a predetermined value due to reasons such as an increase in chip temperature.
  • a slowdown notification can be sent to the application 9 .
  • a slowdown notification corresponds to a signal indicating a low speed condition and the reason for it.
  • the communication processor 81 may transmit a band limit notification instead of the speed reduction notification to the application 9 whose communication is in a low speed state as a result of the band limit processing.
  • the bandwidth limit notification, line disconnection notification, and speed reduction notification described above all correspond to one type of communication status notification.
  • the frame configurations of the band limitation notification, line disconnection notification, and speed reduction notification are the same.
  • the band limitation notification, the line disconnection notification, and the speed reduction notification may each have different frame configurations.
  • the description of communication status notification in the following description can be appropriately read as band limit notification, line disconnection notification, or speed reduction notification.
  • the content/configuration of the communication status notification may differ depending on the notification level of the application 9 to be notified.
  • a band limitation notification sent to the application 9 whose notification level is set to 1 comprises a message type field Fd1 and a reason field Fd2 as shown in FIG.
  • the message type field Fd1 indicates whether the message corresponds to a bandwidth limit notification, line disconnection notification, or slowdown notification (that is, the type of message).
  • a bandwidth limitation notification a predetermined code indicating that the line in use is congested/bandwidth is being limited is placed in the message type field Fd1.
  • the reason field Fd2 is an area in which a code indicating the reason for band limitation, line cutoff, or speed reduction (hereinafter, band limitation, etc.) is placed.
  • band limitation, etc. a code indicating the reason for band limitation, line cutoff, or speed reduction.
  • the reasons for bandwidth limitation, etc. include “priority loss”, “rapid increase in traffic”, “environmental deterioration”, “chip temperature rise”, “line disconnection”, “important service in operation”, “ 3G line in use”, “interference avoidance”, "high load state”, “contract upper limit reached”, etc.
  • reasons can be called limiting reasons, which are the reasons for bandwidth limitation.
  • reasons below can also be referred to as disconnection reasons, which are reasons for line disconnection, or speed reduction reasons, which are reasons for communication speed reduction.
  • 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.
  • Priority loss corresponds to the case where the communication band available to a certain application 9 is restricted (reduced) as a result of competing with the traffic of another application 9 having a higher priority.
  • the notification processing unit F6 transmits a band limitation notification in which a bit string indicating that the priority is lost is placed in the reason field Fd2 to the application 9 to which the band limitation is applied due to the priority loss.
  • a “rapid increase in traffic” corresponds to when the amount of communication data increases and congestion occurs. For example, a traffic surge can occur when a large amount of important data is exchanged.
  • the “rapid increase in traffic” can be applied when fluctuations in the radio wave environment and the band itself assigned to the communication manager 87 from the network-side device are relatively small.
  • the notification processing unit F6 transmits a bandwidth restriction notification in which a bit string indicating the traffic increase is placed in the reason field Fd2 to the application 9 subject to bandwidth restriction due to a rapid increase in traffic.
  • the notification processing unit F6 transmits a band limitation notification in which a bit string indicating the environmental deterioration is placed in the reason field Fd2 to the application 9 to which the band limitation is applied due to the environmental deterioration.
  • Bandwidth limitation due to environmental degradation can be applied when the amount of increase in traffic relayed by the communication manager 87 is less than a predetermined value. In other words, even though the amount of traffic handled by the communication manager 87 has not changed, if congestion occurs/is predicted as a result of a reduction in the available wireless resources, the communication processor 81 limits the bandwidth for each application due to environmental deterioration. can be implemented.
  • Chip temperature rise corresponds to a case where communication throughput is suppressed due to an increase in the temperature of the communication processor 81.
  • communication processor 81 determines whether the chip temperature is equal to or higher than a predetermined value.
  • the communication processor 81 can transition to a low communication speed/processing speed state when the chip temperature is equal to or higher than a predetermined value.
  • a low speed state refers to a state in which the speed is equal to or less than a predetermined value.
  • the low speed state may be a state in which the communication speed/processing speed is 10% or less of the maximum value/average value.
  • the notification processing unit F6 sends a speed reduction notification/bandwidth limit notification in which a bit string indicating that the chip temperature is rising is placed in the reason field Fd2 for the application 9 that is using the line that causes the speed reduction due to the chip temperature rise. to send.
  • Line disconnection corresponds to when the cellular line is disconnected for some reason, or when the Wi-Fi access point is out of range while using the Wi-Fi line.
  • the notification processing unit F6 transmits a line disconnection notification in which a bit string indicating line disconnection is placed in the reason field Fd2 to the application 9 that was using the disconnected line.
  • the notification processing unit F6 transmits a band limitation notification in which a bit string indicating that the important service is in operation is arranged in the reason code to the application 9 to which the band limitation is applied due to the operation of the important service. Note that, in another embodiment, the important service operation may be integrated with the priority loss.
  • “3G line in use” corresponds to a state in which the communication manager 87 is out of the LTE/4G service area and the throughput is degraded.
  • “Interference avoidance” corresponds to the case where output limitation is being implemented to suppress radio wave interference.
  • the communication processor 81 can determine the presence or absence of interfering radio waves based on the noise level or the like observed by the wireless communication unit 85 .
  • "High load state” corresponds to a case where the communication processor 81 is in a high load state.
  • the communication processor 81 transmits a band limitation notification in which a bit string indicating the high load state is placed in the reason field Fd2 to the application 9 whose band is limited due to the high load state.
  • “Contract upper limit reached” corresponds to the case where the amount of communication data reaches/exceeds the contract upper limit.
  • the bandwidth limit notification sent to the application whose notification level is set to 2 or 3 includes a recommended control field Fd3 and a supplementary field Fd3 in addition to the message type field Fd1 and reason field Fd2. It has an information field Fd4.
  • the recommended control field Fd3 is an area indicating the content of recommended control.
  • the recommended control content indicates a response policy that the application 9 should take in response to band limitation or the like. Sending the band limitation notification indicating the content of the recommended control corresponds to recommending/proposing/instructing execution of the control to the notification destination application 9 .
  • the supplementary information field Fd4 is an area in which information related to the recommended control content is stored.
  • the bit length of the supplemental information field Fd4 may be dynamically adjustable. Recommended control contents and supplementary information correspond to reference information.
  • a recommended control code which is a unique code, is assigned to each recommended control content.
  • the value of the recommended control code shown in FIG. 13 is an example and can be changed as appropriate.
  • “Wait for a certain period of time” means waiting for data transmission/reception for a certain period of time. “Waiting for restart instruction” means that communication is suspended until a restart permission notification indicating that data communication with server 4 may be restarted is received from communication manager 87 . In the case of waiting for a certain period of time, even if the application 9 does not receive a restart permission notice from the communication manager 87, communication can be carried out after a certain period of time. The communication manager 87 can select restart instruction waiting instead of waiting for a certain period of time as recommended control when it is difficult to predict the time until the reason for speed reduction/blocking such as congestion is resolved.
  • Timing shift means shifting the data transmission timing. Note that waiting for a certain period of time also corresponds to a kind of timing shift. In the case of waiting for a certain period of time, the waiting time is a fixed value or a value indicated by the communication manager 87, whereas in the timing shift, the application 9 itself determines the transmission timing based on supplementary data provided by the communication manager 87. do.
  • the timing shift corresponds to control content with a higher degree of control difficulty/flexibility on the application 9 side than the fixed time standby.
  • Retry interval dynamic control means dynamically adjusting the TCP retry interval from the default value according to the driving conditions of the vehicle Vc.
  • a retry interval can also be called a retransmission time.
  • Retry interval dynamic control refers to control in which the retry interval is set to a value such as 60 seconds while the vehicle is stopped, while it is set to a value such as 5 seconds or 10 seconds while the vehicle is running so that changes in the radio wave environment can be expected.
  • the retry interval dynamic control may be to stop the retry while stopped and increase the retry interval by a predetermined amount from the default value while the vehicle is running.
  • the amount of increase in the retry interval may be a fixed value such as 3 seconds or 10 seconds, or may be determined dynamically by the communication manager 87 according to line conditions.
  • the default value of the retry interval is a value that is applied when the band is not restricted, and may differ for each application 9 .
  • Line switching means switching the line in use to a communication line different from the current line. If the target application 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. "Do not use cellular lines” means avoiding the use of cellular lines as much as possible.
  • the selection of the recommended control according to reasons such as band limitation may be performed by the notification processing unit F6 or may be performed by the dynamic control unit F5.
  • the functional arrangement within the communication manager 87 can be changed as appropriate.
  • FIG. 14 is a diagram illustrating an example of a combination of recommended control details and supplementary information when the notification level of the control target application is set to 2;
  • FIG. 15 is a diagram showing an example of a combination of recommended control details and supplementary information when the notification level of the control target application is set to 3. As shown in FIG.
  • the notification processing unit F6 When the notification processing unit F6 proposes waiting for a certain period of time as recommended control for the application 9 whose notification level is set to 2, the notification processing unit F6 stores data indicating the waiting time and the time at which communication can be resumed in the supplementary information field. Send the communication status notification stored in Fd4. Further, when the notification processing unit F6 proposes to wait for a restart instruction as a recommended control for the application 9 whose notification level is set to 2, the estimated time for permitting communication restart and restart conditions are stored in the supplementary information field Fd4. Send the stored communication status notification.
  • the notification processing unit F6 may transmit a communication status notification to which an estimated time until the band limit can be released is added as supplementary information. good.
  • the estimated time until the band restriction can be released may be calculated based on the radio map and the travel plan of the host vehicle.
  • the notification processing unit F6 transmits a communication status notification to which the current chip temperature and the chip temperature at which restart is possible are added as supplementary information.
  • the notification processing unit F6 proposes non-use of the cellular line as recommended control to the application 9 whose notification level is set to 2, the notification processing unit F6 stores data indicating the estimated time until Wi-Fi connection becomes possible as supplementary information.
  • the communication status notification stored in field Fd4 is transmitted.
  • the notification processing unit F6 transmits a communication status notification in which the traffic prediction data is stored in the supplementary information field Fd4.
  • the traffic prediction data is data that indicates a predicted change in traffic volume within a predetermined time period.
  • the traffic prediction data corresponds to data indicating communication timings at which the risk of competition with other applications 9 is low.
  • 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 in communication.
  • the notification processing unit F6 transmits a communication status notification in which the current data regarding the communication status is stored in the supplementary information field Fd4.
  • Current state data on communication conditions may be estimates of current communication traffic and communication throughput.
  • the notification processing unit F6 stores the current status data regarding the communication state in the supplementary information field Fd4 even when proposing to the application 9, whose notification level is set to 3, to wait for a restart instruction due to a rise in chip temperature. Send communication status notifications.
  • the notification processing unit F6 When proposing line switching due to line disconnection to the application 9 whose notification level is set to 3, the notification processing unit F6 transmits a communication status notification in which the available line information is stored in the supplementary information field Fd4. .
  • the available line information indicates currently available communication lines.
  • the notification processing unit F6 may transmit a radio map or a communication status notification to which an estimated time until the communication line is restored is added as supplementary information.
  • the notification processing unit F6 When the notification processing unit F6 proposes line switching due to the operation of the important service to the application 9 whose notification level is set to 3, it transmits a communication status notification in which the operation service information is stored in the supplementary information field Fd4. do.
  • the operating service information indicates the type of important service being operated.
  • Activation service information may include an estimate of the time remaining until communication for that service is completed.
  • the notification processing unit F6 may transmit a communication status notification to which available line information and a radio wave map are added as supplementary information.
  • the notification processing unit F6 When the notification processing unit F6 proposes to the application 9 whose notification level is set to 3 to wait for a restart instruction due to the fact that the 3G line is in use, the notification processing unit F6 transmits a communication status notification in which the radio wave map is stored in the supplementary information field Fd4. do. Note that, when proposing to wait for a restart instruction due to the use of the 3G line, the notification processing unit F6 may transmit a communication status notification to which the 4G restoration prediction time is added as supplementary information.
  • the 4G recovery prediction time can be calculated based on the 4G area information included in the radio map, the current position and moving speed of the own vehicle, and the like.
  • the 4G area information is information indicating areas where 4G is available.
  • the notification processing unit F6 transmits a communication status notification in which the load status data is stored in the supplementary information field Fd4 when proposing waiting for a restart instruction due to a high load state to the application 9 whose notification level is set to 3. do.
  • the load status data is data indicating the processing load of the communication processor 81 .
  • the processing load can be expressed by, for example, the usage rate of CPU or memory, the number of processes, the amount of traffic remaining in the buffer, and the like.
  • the notification processing unit F6 may transmit a communication status notification to which an estimated time until the processing load becomes less than a predetermined value is added as supplementary information.
  • the estimated time until the processing load becomes less than the predetermined value can be calculated from the processing speed (processing throughput) within the most recent predetermined time period and the current processing load amount.
  • the specific contents 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 supplementary information can be changed as appropriate.
  • the communication status notification for application 9 whose notification level is 1 may also include recommended control field Fd3 and supplementary information field Fd4 as a frame configuration. In that case, a predetermined code indicating that there is no recommended control content can be inserted in the recommended control field Fd3 and the supplementary information field Fd4. In this way, the configuration of the communication status notification may be made common regardless of the notification level.
  • FIG. 16 and 17 may be arbitrary applications.
  • the first application 91 is an application with a higher priority than the second application 92 .
  • a first server 41 shown in FIGS. 16 and 17 is the server 4 corresponding to the first application 91
  • a second server 42 is the server 4 corresponding to the second application 92 .
  • FIG. 17 shows a subsequent sequence to the sequence shown in FIG.
  • the communication manager 87 as a processing executing entity in the description of FIGS. 16 and 17 can be read as the wireless communication device 8 or the communication processor 81 .
  • the communication manager 87 establishes a communication line for each APN at the timing when a predetermined connection event occurs (step S01). In other words, the communication manager 87 secures a communication path with the relay server 5 prior to the communication start request from the application 9 .
  • the communication manager 87 and the relay server 5 perform communication confirmation by transmitting and receiving a predetermined control signal at an appropriate predetermined timing ( Step S02c).
  • Relay server 5 and server 4 also confirm communication by transmitting and receiving a predetermined control signal at regular intervals (steps S02a and S02b).
  • the communication manager 87 executes handover and the like associated with movement of the vehicle Vc in parallel with the processing flow shown in FIG. In parallel with the processing flow shown in FIG. 16, the communication manager 87 repeatedly connects and disconnects communication with the Wi-Fi base station 6 as the vehicle Vc moves.
  • the first application 91 when transmission data is generated in the first application 91, the first application 91 outputs a communication start request to the communication manager 87 (step S11a). Similarly, the second application 92 outputs a communication start request to the communication manager 87 as needed (step S11b).
  • the communication start request output from the application 9 to the communication manager 87 includes the application ID, communication conditions, notification conditions, etc., as described above. Note that the communication conditions and the like may be acquired in advance by the communication manager 87 communicating with the application 9 .
  • the communication manager 87 When the communication manager 87 receives the communication start request from the application 9, it accepts the request (step S12). Specifically, the application ID and the communication conditions are associated with each other and temporarily stored in a predetermined storage area. Although FIG. 16 shows only one step corresponding to the request reception process for convenience, the request reception process is executed for each communication start request, that is, for each application 9 .
  • the communication manager 87 allocates a communication line that satisfies the notified communication conditions to the requesting application 9, and performs route setting processing (step S13).
  • the route setting process includes securing a port for the application 9, for example.
  • a source IP address, a source port number, a destination IP address, a destination port number, a protocol, and the like are determined by the route setting process.
  • a source port is assigned to each application 9 .
  • One application 9 corresponds to one port number.
  • the communication manager 87 may assign multiple source port numbers to one application. Of course, securing the source port, in other words acquiring the port number, may be performed by the application 9 itself instead of the communication manager 87 .
  • candidates for the cellular line that accommodates the data communication of the application 9 are the first line and the second line.
  • the Wi-Fi line can also be included in the options for the communication path that can be used.
  • the communication manager 87 allocates the first line to both the first application 91 and the second application 92 assuming that the first line has a sufficient communication band.
  • the communication manager 87 When the communication manager 87 completes the setting of the communication route to the server 4, it transmits the route information to the corresponding server 4 to each of the first application 91 and the second application 92 (steps S14a and S14b). Notification of communication route information can correspond to a communication permission response, which is a message to the effect that the start of communication is permitted.
  • the application 9 When the application 9 receives the route information from the communication manager 87, it 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 implement TLS communication.
  • the communication manager 87 not only not only the application 9 but also the relay server 5, notifies 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 the source port uniquely assigned to each application 9 and control communication.
  • the relay server 5 uses the port number notified from the communication manager 87 to transfer the encrypted data.
  • the communication manager 87 and the relay server 5 may perform transfer processing using a combination of multiple items included in the 5-tuple information.
  • the information used by the relay server 5/communication manager 87 to specify the transmission source and transfer destination of communication traffic can be changed as appropriate.
  • the communication manager 87 detects congestion on the first line (step S21 YES), the first application 91 and the second application 92 , and select the application 9 to be band-limited.
  • the communication manager 87 determines to limit the bandwidth of the second application 92 with relatively low priority.
  • the communication manager 87 limits the bandwidth of the second application 92 (step S22).
  • the bandwidth limitation here may be a process equivalent to a communication cutoff that completely stops communication, or may allow communication to continue at a speed equal to or lower than a predetermined value.
  • the communication manager 87 can limit the bandwidth of not only the second application 92 but also the first application 91 .
  • the communication manager 87 generates a band limit notification according to the reason for the band limit (step S23), and transmits it to the second application 92 (step S24). For example, the communication manager 87 transmits a bandwidth limit notification indicating that the bandwidth will be limited due to priority loss or sudden increase in traffic.
  • the notification level of the second application 92 is set to 2 or 3
  • the communication manager 87 may send a message including recommended control details and supplementary information.
  • the communication manager 87 may transmit a band limit notification that recommends waiting for a restart instruction/waiting for a certain period of time.
  • the second application 92 responds to the reception of the band limitation notification from the communication manager 87, and transmits a response message (so-called Ack) to the effect that it approves the start of band limitation (step S25). Then, based on the reason/recommended control details/supplementary information, etc. indicated in the received band limitation notification, for example, data communication with the server 4 is suspended (step S26).
  • pausing of communication is an example of recovery processing for a band limitation notification, and processing such as line switching may be executed separately.
  • Recovery processing refers to processing that is temporarily performed in response to band limitation or the like. Restoration of communication, line switching, change of communication timing, and the like correspond to recovery processing.
  • the recovery process may also include processing for reducing the amount of traffic that is not normally performed, such as changing the file compression method and thinning (selection) of transmission data. Furthermore, in addition to communication-related processing, processing for notifying other applications 9/ECUs 7/users of service stoppage/quality deterioration also corresponds to an example of recovery processing. Recovery processing corresponds to response control for band limitation/communication trouble. Data communication between the first application 91 and the server 4 can be continued.
  • step S31 YES when the communication manager 87 detects that the congestion of the first line has been resolved (step S31 YES), it releases the band limitation for the second application 92 (step S32). Then, the communication manager 87 transmits a restart permission notification to the second application 92 (step S33).
  • the restart permission notice corresponds to a kind of message indicating that the band limitation has been lifted.
  • the second application 92 returns an Ack based on the reception of the restart permission notification (step S34), and restarts communication using the first line (step S35).
  • the communication manager 87 causes the second application 92 to suspend communication as a measure against congestion of the first line, but the present invention is not limited to this.
  • the communication manager 87 may switch the line used by the second application 92 to the second line as shown in FIG.
  • the communication line to be changed to may be a Wi-Fi line instead of the second line.
  • switching of communication lines may be performed mainly by the second application 92 instead of the communication manager 87 .
  • the first queue q1 shown in FIG. 18 is a queue for data transmitted through the first line
  • the second queue q2 is a queue for data transmitted through the second line.
  • the communication manager 87 may propose a timing shift to the second application 92 for the congestion of the first line.
  • the communication manager 87 may transmit a band limitation notification including traffic prediction data as supplementary information to the second application 92 .
  • Traffic prediction data as shown in FIG. 19, is data indicating changes in traffic volume within a predetermined period of time, in other words, changes in competition probability.
  • the contention probability can be calculated based on the ratio of the amount of transmission traffic to the communication band that can be used by wireless communication device 8 .
  • T1a and T2a in the figure indicate originally planned communication timings, and T1b and T2b indicate communication timings after change.
  • the second application 92 can determine the timing when the probability of competition is low, and carry out data communication according to the changed schedule.
  • the communication manager 87 may indirectly control the communication timing of the application 9 by providing supplementary information.
  • step S41 determines the response policy, in other words, the contents of the recovery process, based on the reason indicated in the notification (step S42). . If the bandwidth limit notification contains the recommended control content, 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 or not.
  • Each application 9 is programmed in advance how to respond to the band limitation notification. The application 9 returns an Ack to the communication manager 87 when executing control for suppressing communication, and starts the determined control (step S43). On the other hand, when the application 9 decides not to perform control for suppressing communication, the application 9 can return Nack to the communication manager 87 as a negative response to the band limitation notification.
  • the application 9 can output a switching request to the communication manager 87 to an available line such as the second line or Wi-Fi line. In other words, the application 9 can switch the used line in cooperation with the communication manager 87 . Further, when a timing shift is proposed as the recommended control, the application 9 determines communication timing based on the traffic prediction data, and executes communication at the timing. In addition, the application 9 waits for a restart permission notification from the communication manager 87 when it decides to suspend communication as a policy for responding to the band limitation.
  • the communication manager 87 can transmit a band limit notification according to notification conditions for each application 9 . For example, if the notification condition of the second application 92 specifies that the band limit is foreseen within 10 seconds, the band limit notification can be transmitted at the timing when the condition is satisfied.
  • the band limit notification in this case can also be called a band limit notice.
  • the communication manager 87 may A band limit notification can be sent to the second application 92 .
  • the communication manager 87 can omit the transmission of the band limit notification if it is expected that the band limit will be lifted within 5 seconds.
  • the communication manager 87 notifies the second application 92 of the band limitation only when severe congestion occurs. can be sent. In the above setting, if the congestion level is light, the communication manager 87 can omit transmission of the band limit notification. The communication manager 87 transmits not only the band limitation notification but also the line disconnection notification at the timing according to the notification conditions.
  • step S51 NO if the communication manager 87 does not receive a response from the notification destination application 9 even after a predetermined period of time has elapsed since the band limit notification was sent (step S51 NO), the band limit The notification may be resent (step S52). Also, if the response to the band limitation notification received from the application 9 is not Ack (step S53 NO), the notification level for the application 9 may be lowered by one level (step S54). The case where Ack cannot be received includes the case where a negative response such as Nack is received.
  • step S52 may be a process of lowering the notification level. Further, if the communication manager 87 does not receive an Ack from the application 9 even after transmitting the band limitation notification a predetermined number of times, the communication manager 87 may lower the notification level of the application. By lowering the notification level, processing such as generation of supplementary information for the application 9 that does not follow the proposal from the communication manager 87 can be omitted. As a result, the processing load on the communication manager 87 can be reduced.
  • the communication manager 87 may be configured to be able to set the notification level of the application 9 to level 0 at which transmission of the band limitation notification is stopped. The notification level that has been changed based on the reception status of the response to the band limitation notification or the like may be reset when the power source for traveling is turned on and off.
  • the communication manager 87 confirms the status of each communication line.
  • the status here can include the size of the communication band allocated from the network side device, the free space, the allocated frequency, and the like.
  • the status for each communication line can also include the throughput, RTT, etc. for each communication line that are sequentially evaluated by the line state acquisition unit F2.
  • the status information of the cellular line can include packet transfer priority, target delay time, packet loss rate, etc. notified from the network side device.
  • RSRP, RSSI, RSRQ, etc. for each serving cell can also be used as cellular line status.
  • the status of the Wi-Fi line also includes whether the Wi-Fi line is available. In the present disclosure, such a process (process) of checking the current status of each communication line is also called a line status checking process.
  • the communication manager 87 selects a communication line to be assigned to the application 9 as the source of the communication request based on the status of each line acquired by the line status confirmation process.
  • the communication line assigned to the application 9 is a communication line that satisfies the communication conditions notified from the application 9, or a communication line that is likely to satisfy the communication conditions.
  • the communication manager 87 selects a line that satisfies communication conditions such as allowable RTT, minimum bandwidth, average size, etc., as an allocation line from among the plurality of lines.
  • the comparative configuration is a configuration in which the communication manager 87 does not notify the target application 9 of anything when the application 9 is band-limited.
  • the communication manager 87 does not notify the application 9 that the bandwidth is restricted, the application 9 does not know why the server 4 does not respond.
  • the side of the application 9 here refers to the main body of the application 9 and the TCP layer or the like located below it.
  • TCP retry can be repeated at predetermined intervals.
  • the application 9 itself can also perform retransmission processing until timeout occurs.
  • the communication manager 87 does not notify the target application that the bandwidth is restricted, it cannot immediately recognize that communication with the server 4 is impossible, and the state of waiting for a response from the server 4 continues. sell. In other words, it takes time to propagate the effects of bandlimiting.
  • the processing load on the communication manager 87 increases, and the execution throughput may further decrease.
  • the application 9 can recognize that communication with the server 4 is difficult/impossible without waiting for timeout or the like. As a result, it is possible to promptly execute appropriate response control (recovery processing) based on the fact that communication with the server 4 is difficult/impossible. In addition, the application 9 side can be expected to have the effect of suppressing repeated useless retries.
  • the communication manager 87 with the proposed configuration not only informs the application 9 of the fact that the bandwidth is being limited, but also the reason for the limitation. According to this configuration, the application 9 can recognize the reason why the response from the server 4 is not returned. As a result, the application 9 can select an appropriate response according to the reason for the limitation, such as line switching or timing shift.
  • the communication manager 87 notifies the application 9 of the reason for the limitation, in other words, the recommended control contents according to the communication status/internal state.
  • the application 9 can easily perform recovery processing according to the communication status/internal status.
  • the communication manager 87 in the proposed configuration also provides the application 9 with supplementary information for enabling finer control in accordance with the recommended control content. According to this configuration, the application 9 can perform recovery processing according to the circumstances/characteristics of the application 9 .
  • the communication processor 81 as the communication manager 87 has described the effect of sending a band limit notification to the related applications 9 when band limit is executed/congestion occurs. A similar effect can be obtained in the case of transmission.
  • the content to be notified to the application 9 is changed according to the notification level of each application 9.
  • This configuration corresponds to a configuration for providing information according to the request of each application 9 instead of distributing uniform information to all applications 9 .
  • the application 9 may be able to perform more appropriate recovery processing.
  • the change of notification content according to the notification level is an arbitrary element and may be omitted.
  • the timing of transmitting the communication status notification to the application 9 is changed according to the notification conditions for each application 9 .
  • the communication status can be grasped at the timing according to the request of each application 9 .
  • the application 9 may be able to execute more appropriate recovery processing. Note that adjustment of the notification timing according to the notification conditions for each application 9 is an arbitrary element and may be omitted.
  • the communication manager 87 has the bandwidth limiting function, in other words, the communication manager 87 centrally controls the communication traffic of each application 9, but the present invention is not limited to this.
  • the application 9 may also have a band limiting function. Bandwidth limiting functions may be distributed to the communication manager 87 and the application 9 .
  • the communication manager 87 detects congestion as needed, and based on detection of congestion, issues a band limiting request to some or all of the applications 9 (see FIG. 24 step S61).
  • a bandwidth limit request corresponds to a message that notifies the occurrence of congestion.
  • the bandwidth limit request may include an upper limit value of traffic volume per predetermined time or a target traffic volume reduction value.
  • the application 9 implements bandwidth control according to the bandwidth restriction request from the communication manager 87 .
  • the communication manager 87 monitors the subsequent traffic/behavior of the application 9 that has transmitted the band limitation request (step S62), and determines whether or not the traffic has been reduced (step S63). Then, the communication manager 87 imposes a band limit on the applications 9 for which reduction in communication traffic has not been confirmed (step S64).
  • the communication manager 87 may forcibly impose bandwidth restrictions on applications 9 that do not comply with bandwidth restriction requests. According to this configuration, it is possible to reduce the processing load of the communication manager 87 and suppress the decrease in throughput due to an increase in chip temperature or the like.
  • the detection of congestion in the wireless section by the communication manager 87 is an optional element, not an essential element.
  • the communication manager 87 may be configured to detect the occurrence of at least one event other than congestion without detecting congestion, and notify the application 9 of the occurrence of the detected event. Events other than congestion that affect communication between the application 9 and the server 4 include, for example, chip temperature rise, high load state, line disconnection, occurrence of interference, reaching the contract upper limit, and the like. Further, the communication manager 87 may be configured to notify the application 9 of only the fact of the communication status such as congestion/decrease in communication speed, line interruption, etc., without implementing band limitation based on congestion detection.
  • a communication control device for controlling data communication between an application operating in a vehicle and an external device existing outside the vehicle, monitoring the state of at least one communication line available to the device, and detecting that the communication line has been disconnected; Sending a notification indicating that the communication line being used has become unusable to the application that was using the disconnected communication line, based on the detection of the disconnection of the communication line.
  • a communications controller configured to implement:
  • disconnection of the communication line corresponds to disconnection of the communication connection. Disconnection of the communication line may occur due to movement outside the communication range, system failure, deterioration of the radio wave environment, and the like.
  • the out-of-communication range may include underground parking lots and tunnels as well as suburbs such as deep in the mountains.
  • a communication control device for controlling data communication between an application operating in a vehicle and an external device existing outside the vehicle, Acquiring a communication speed on at least one communication line available to the device; Upon detecting that the communication speed is equal to or less than a predetermined value, a notification indicating that the line being used is in a low-speed state is sent to the application using the communication line whose communication speed is equal to or less than the predetermined value. and a communication controller configured to implement:
  • the application can quickly recognize that the communication speed of the line used is below a predetermined value for some reason. As a result, effects such as suppression of fruitless retry by the application and reduction of the processing load on the application/communication control device can be expected.
  • the apparatus, systems, and techniques described in this disclosure may be implemented by a special purpose computer comprising a processor programmed to perform one or more functions embodied by a computer program.
  • the apparatus and techniques described in this disclosure may also be implemented using dedicated hardware logic.
  • the apparatus and techniques described in this disclosure may be implemented by one or more special purpose computers configured in combination with a processor executing a computer program and one or more hardware logic circuits.
  • Some or all of the functions provided by the communication processor 81 may be implemented as hardware.
  • Implementation of a function as hardware includes implementation using one or more ICs.
  • a CPU, an MPU, a GPU, a DFP (Data Flow Processor), or the like can be used as a processor (arithmetic core).
  • the functions of the communication processor 81 may be implemented by combining multiple types of arithmetic processing units. Some or all of the functions of the communication processor 81 may be implemented using a system-on-chip (SoC), FPGA, ASIC, or the like. FPGA stands for Field-Programmable Gate Array. ASIC is an abbreviation for Application Specific Integrated Circuit. Computer programs may also be stored as computer-executable instructions on a computer-readable, non-transitory tangible storage medium. A HDD (Hard-disk Drive), an SSD (Solid State Drive), a flash memory, or the like can be used as a program storage medium.
  • SoC system-on-chip
  • FPGA Field-Programmable Gate Array
  • ASIC is an abbreviation for Application Specific Integrated Circuit.
  • Computer programs may also be stored as computer-executable instructions on a computer-readable, non-transitory tangible storage medium.
  • a HDD Hard-disk Drive
  • SSD Solid State Drive
  • flash memory or the like can be used as a

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

通信マネージャ(87)は、アプリ(9)が使用している通信回線に輻輳が生じたことを検出すると、アプリ(9)に対して帯域制限をかけるとともに、アプリ(9)に向けて帯域制限通知を送出する。帯域制限通知は、例えば環境劣化や、重要サービス作動中、優先度負けなどといった、輻輳/帯域制限の理由を含む。また、通信マネージャ(87)は、帯域制限通知として、輻輳/帯域制限の理由に応じた推奨制御内容を含むメッセージを送信することがある。アプリ(9)は帯域制限通知を受信したことに基づき、TCPリトライ等を停止させる。

Description

通信制御装置、通信制御方法、及びアプリケーション用制御プログラム 関連出願の相互参照
 この出願は、2022年1月6日に日本に出願された特許出願第2022-001157号を基礎としており、基礎の出願の内容を、全体的に、参照により援用している。
 本開示は、車両で使用されるアプリケーションとサーバとの通信を中継する技術に関する。
 特許文献1には、車両が備える複数のECU(Electronic Control Unit)が、同一車両に搭載されている通信装置を介して、車両外部に配されているサーバとデータ通信を行う構成が開示されている。また、特許文献1に開示の通信装置は、通信装置からサーバへのデータの送信の効率化を図るために、予めECU毎に設定されている優先度に基づいてデータの送信順を調整する構成が開示されている。具体的には、優先度の高いECUから入力されたデータを、優先度が相対的に低いECUからのデータよりも先にサーバに送信する。
特開2006-88829号公報
 特許文献1には、通信制御装置が、予め設定された優先度に基づいてアプリケーション毎のパケット送信順を調整する構成は開示されている。しかしながら、特許文献1には、アプリケーション毎に通信回線/通信帯域の割り当て状態を動的に制御する技術については何ら言及されていない。また、無線区間に輻輳が生じている場合の制御態様についても何ら言及されていない。
 特許文献1に開示の構成では、輻輳が生じた場合、優先度が高いアプリケーションにおいてもサーバからの応答を取得できないことが生じうる。また、優先度が低いアプリケーションにしてみると、サーバからの応答が返ってこない場合に、優先度が高い他のアプリケーションの通信が優先されているのか、輻輳が生じているのか、その理由が判断できない。
 特許文献1に開示の構成ではアプリケーションにおいて通信遅延の理由が不明となりうるため、例えば、TCPレイヤ/アプリケーションレイヤでの再送要求(いわゆるリトライ)が頻発しうる。再送要求の頻発は、通信制御装置の処理負荷の増大を招きうる。また、アプリケーション自身も、リトライ処理に伴い処理負荷が増大しうる。
 本開示は、上記の検討又は着眼点に基づいて成されたものであり、その目的の1つは、輻輳の発生をアプリケーションが認識可能な通信制御装置、通信制御方法、及びアプリケーション用制御プログラムを提供することにある。
 ここに開示される通信制御装置は、第1のネットワークに接続する装置により実施されるアプリケーションによる通信であって、第1のネットワークとは異なる第2のネットワークに接続する外部装置との通信を制御する通信制御装置であって、外部装置と通信するための通信回線の状態を監視し、通信回線における輻輳の発生を検知し、輻輳の発生を検知したことに基づいて、輻輳を検出している通信回線を使用中のアプリケーションに対し、使用回線が輻輳していることを示す通知を送信するように構成されている。
 上記構成によれば、アプリケーションが輻輳の発生を把握可能となる。
 本開示の通信制御方法は、第1のネットワークに接続する装置により実施されるアプリケーションによる通信であって、第1のネットワークとは異なる第2のネットワークに接続する外部装置との通信を制御する通信制御装置による通信制御方法であって、外部装置と通信するための通信回線の状態を監視し、通信回線における輻輳の発生を検知し、輻輳の発生を検知したことに基づいて、輻輳を検出している通信回線を使用中のアプリケーションに対し、使用回線が輻輳していることを示す通知を送信する。
 上記方法によれば通信制御装置と同様の作用により同様の効果が得られる。
 本開示のアプリケーション用制御プログラムは、外部装置とデータ通信を実施するアプリケーションを実行する装置に、アプリケーションと外部装置との通信を制御する通信制御装置から、アプリケーションの通信に用いられる通信回線に輻輳が生じていることを示すメッセージを取得することと、通信回線の輻輳が生じていることを示すメッセージを受信した場合に、外部装置との通信を制限することと、を実行させる命令を含む。
 上記制御プログラムによれば、輻輳が発生したことの通知に基づき、外部装置との通信が制限される。
 なお、請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
車両用通信システムの全体像を説明するための図である。 中継サーバの構成を示すブロック図である。 車載システムの構成を示すブロック図である。 ECUの構成を示すブロック図である。 通信開始要求のフレーム構成の一例を示す図である。 通信条件の一例を示す図である。 通信マネージャの機能について説明するための図である。 通信マネージャの機能ブロック図である。 通信状態管理部の作動を説明するための図である。 帯域制限通知の構成の一例を示す図である。 制限理由の一例を示す図である。 帯域制限通知の他の構成例を示す図である。 推奨制御の一例を示す図である。 通知レベルが2に設定されているアプリに向けて通知する、制限理由ごとの推奨制御内容と補足情報の一例を示す図である。 通知レベルが3に設定されているアプリに向けて通知する、制限理由ごとの推奨制御内容と補足情報の一例を示す図である。 通信マネージャの作動を説明するためのシーケンス図である。 通信マネージャの作動を説明するためのシーケンス図である。 輻輳に由来して一部のアプリの通信回線を切り替える場合を示す図である。 輻輳に由来して一部のアプリの通信タイミングを調整する場合を示す図である。 帯域制限通知に対するアプリの作動を説明するためのフローチャートである。 帯域制限通知送信後の通信マネージャの作動を説明するための図である。 比較構成の課題を説明するための図である。 アプリが帯域制限機能を備える構成例を示す図である。 アプリが帯域制限機能を備える場合の通信マネージャの作動を説明するためのフローチャートである。
 以下、本開示の実施形態について図を用いて説明する。図1は、本開示に係る車両用通信システムSysの概略的な構成の一例を示す図である。車両用通信システムSysは、4G/LTE(Long Term Evolution)に準拠した無線通信を実施する。実施形態で説明を省略している部分は、4G/LTEの規格で定められている方法で行われる。なお、車両用通信システムSysは、3G規格や、5G規格、6G規格などに準拠した無線通信を提供するものであってもよい。以降では、3G、4G/LTE、5G、6Gなどをまとめて4G等とも記載する。
 <全体構成>
 図1に示すように車両用通信システムSysは、車載システム1、セルラー基地局2、広域通信ネットワーク3、サーバ4、及び中継サーバ5を含む。また、車両用通信システムSysは、任意の要素としてWi-Fi(登録商標)基地局6を含みうる。なお、図1にはセルラー基地局2、Wi-Fi基地局6を1つずつしか示していないが、これらは複数存在しうる。車載システム1を搭載した車両Vcもまた、図1には1つしか示していないが、システム全体としては複数存在しうる。
 車載システム1は、別途詳細を後述するように、複数のECU(Electronic Control Unit)7と、無線通信装置8を備える。ECU7は、車両Vcに搭載される制御装置である。また、車載システム1は、複数のアプリケーション(以降、アプリ9)を備える。アプリ9は、ECU7上で動作するプログラムである。
 無線通信装置8は、アプリ9が外部装置としてのサーバ4とデータ通信を実施するためのインターフェースとして車両で使用される装置である。無線通信装置8は、アプリ9とサーバ4との通信を制御する。無線通信装置8が通信制御装置に相当する。無線通信装置8は、セルラー回線及びWi-Fi回線といった、通信方式が異なる複数種類の無線通信サービス(換言すれば通信回線)を利用可能に構成されている。ここでのセルラー回線とは、セルラー基地局2を介した通信回線、換言すれば、4G等に準拠した通信回線を指す。また、Wi-Fi回線とは、Wi-Fi基地局6を経由する通信回線を指す。Wi-Fi回線は、Wi-Fi基地局6の通信エリア内に車両Vcが存在する場合に利用可能となる。
 アプリ9は、サーバ4と通信することにより、車両Vcのユーザに所定のサービスを提供する。アプリ9は、ECU7が備える演算コアが所定のアプリケーションソフトウェアを実行することで実現される。アプリ9は、アプリケーション用制御プログラムを含みうる。本開示の「アプリケーション」、「アプリ」との記載は、アプリケーションを実行する装置/演算コアと読み替えることができる。演算コアは、CPU(Central Processing Unit)などのプロセッサを指す。
 セルラー基地局2は、無線通信装置8と4G等の規格に準拠した無線信号を送受信する設備である。セルラー基地局2は、eNB(evolved NodeB)とも称される。セルラー基地局2は、5Gで使用されるgNB(next generation NodeB)であってもよい。セルラー基地局2は、無線通信装置8と制御信号をやり取りすることで、無線通信装置8による広域通信ネットワーク3への接続、ひいては無線通信装置8と種々のサーバ4とのデータ通信を実現する。
 セルラー基地局2は、多様な参照信号(RS:Reference Signal)を随時送信する。参照信号の例としては、CRS(Cell-specific RS)や、CSI-RS(CSI-Reference Signal)などがある。CSIは、Channel State Informationの略である。CRSはセル選択用の制御信号である。CSI-RSは、上り又は下り方向の伝送路の状態を推定するためのRSである。各種RSは、1つの側面において、無線通信装置8が、通信回線の通信速度やレイテンシ、パケットロス率など、いわゆるQoS(Quality of Service)を評価するための制御信号に相当する。
 広域通信ネットワーク3は、EPC(Evolved Packet Core)などのコアネットワークを含む。また、広域通信ネットワーク3は、インターネット、あるいは、インターネット以外のIP(Internet Protocol)ネットワークをも含みうる。広域通信ネットワーク3は、サーバ4、中継サーバ5、及びWi-Fi基地局6が接続するネットワークであればよい。広域通信ネットワーク3が第2のネットワークに相当する。
 本開示では、MME(Mobility Management Entity)や、S-GW(Serving Gateway)など、広域通信ネットワーク3を構成する通信設備をまとめてネットワーク側装置と称する。ネットワーク側装置には、セルラー基地局2を含めることができる。なお、MMEは、セル内のUE(User Equipment)の管理や、セルラー基地局2の制御を担当する設備である。
 サーバ4は、アプリ9とデータ通信を実行することで、所定のサービスを提供するための処理を実行するコンピュータである。サーバ4とアプリ9とのデータ通信は中継サーバ5を介して実施される。サーバ4は、車両Vcで使用されるアプリ9から受信したデータに対して所定の処理を実行する。サーバ4は、提供サービスに応じたデータをアプリ9に送信したり、アプリ9からデータを収集したりする。サーバ4は、アプリ9ごとに存在しうる。サーバ4が外部装置に相当する。
 中継サーバ5は、車両Vcとサーバ4との通信を中継するサーバである。中継サーバ5は、車両Vcとサーバ4との通信接続制御及び通信状態の監視を統合的に行う。無線通信装置8が広域通信ネットワーク3に接続している場合、中継サーバ5は、広域通信ネットワーク3を介して無線通信装置8と通信可能となる。中継サーバ5は、サーバ4からの要求に基づき、指定された車両Vcに搭載されるECU7へ向けて、データを送信したり、車両Vcからのデータを取得したりする。
 Wi-Fi基地局6は、Wi-Fiに準拠した無線LAN(Local Area Network)を形成するための通信設備である。Wi-Fiの規格としては、IEEE802.11nやIEEE802.11ac、IEEE802.11ax(いわゆるWi-Fi6)など、多様な規格を採用可能である。Wi-Fi基地局6は、インフラ設備として、多様なサービス事業者によって任意の箇所に配置されている。なお、本開示のWi-Fiとは、無料のWi-Fiや、ユーザ或いは車両メーカが利用契約済みのWi-Fiなど、無線通信装置8が利用可能なWi-Fiを指す。Wi-Fi基地局6は、アクセスポイントあるいはルーターと呼ぶことができる。
 なお、車両Vcごとに、搭載されているECU7の仕様は異なりうる。ECUの仕様には、OS(Operating System)や、走行用電源オフ時のECU7/アプリ9の起動状態などが含まれうる。走行用電源は、車両Vcが走行するための電源であって、車両Vcがガソリン車である場合にはイグニッション電源を指す。車両Vcが電動車である場合、走行用電源とはシステムメインリレーを指す。電動車には、電気自動車やハイブリッド車、燃料電池自動車が含まれる。
 <車両が備えるアプリの一例について>
 車両Vcには、多様なアプリ9が搭載されうる。例えば車両Vcは、車両状態確認アプリや、AVP(Automated Valet Parking)アプリ、緊急通報アプリ、制御支援アプリなどの一部又は全部を備える。なお、ここで例示するアプリ9は一例であって、例示するもの以外にも車両Vcでは多様なアプリが使用されうる。
 車両状態確認アプリは、総走行距離や、バッテリー残量、各ドアの開閉状態、室内温度といった車両Vcの状態を、ユーザがユーザデバイス上で確認するためのアプリである。ユーザデバイスとは、スマートフォンや、タブレット端末、ラップトップ、デスクトップPCなどを指す。車両状態確認アプリは、各種情報を定期的にサーバ4にアップロードする。車両状態確認アプリに対応するサーバ4は、アプリから取得した車両状態のデータを保存し、ユーザからの要求に基づき、所定のユーザデバイスに送信する。
 なお、車両状態確認アプリは、車載カメラの映像を、サーバ4を経由してユーザデバイスに表示したり、サーバ4に保存したりするための車載ソフトウェアであっても良い。車両状態確認アプリは、サーバ4を経由して送信されるユーザからの指示信号に基づき、ドアの施開錠状態や、窓の開度、灯火装置の点灯状態を制御する機能を備えていても良い。つまり、車両状態確認アプリは、車両Vcのボディ系電装設備や空調装置を遠隔制御するためのアプリとして構成されていても良い。ボディ系電装設備には、各種灯火装置や、ドアロックモータ、ウインドウモータなどが含まれる。
 AVPアプリは、自動駐車サービスや自動出庫サービスを提供するアプリである。自動駐車サービスとは、車両Vcを空いている駐車スペースまで自動走行させて駐車させることを指す。自動出庫サービスとは、駐車されている車両Vcを起動させてユーザのもとまで自動走行させるサービスを指す。AVPアプリに対応するサーバ4は、アプリ9からの要求に基づき、駐車可能な空きスペース等の目標駐車位置情報を送信しうる。また、AVPアプリに対応するサーバ4は、ユーザデバイスからの出庫要求に基づき、AVPアプリに対しユーザの現在位置などを送信する。
 緊急通報アプリは、事故や乗員の異常などをトリガに、所定のセンタやユーザデバイスに異常の発生を連絡するアプリである。緊急通報アプリは、車両Vcの不正開錠など、盗難に係る異常を検出してセンタ等に通知するアプリであってもよい。緊急通報アプリは相対的に重要度が高いアプリに相当する。
 制御支援アプリは、定期的に又は所定のイベントが生じた場合に、サーバ4から、制御計画作成の参考となる情報である制御支援情報を受信するアプリである。制御支援情報とは、渋滞末尾や路上落下物の位置など、走行上の障害物の位置や種別を示す準動的な地図要素についての情報である。制御支援情報は、車両Vcの前方に存在する信号機の位置とその点灯状態を示す情報や、交差点内外における進行方向に応じた走行軌道を示す情報であっても良い。制御支援アプリに対応するサーバ4は、アプリからの要求に基づき、車両Vcの現在位置に応じた制御支援情報を配信しうる。
 <中継サーバ5について>
 中継サーバ5は、前述の通り、車両Vcとサーバ4との通信、ひいてはアプリ9とサーバ4との通信を中継するサーバである。中継サーバ5は、オートモーティブ無線通信プラットフォーム(ACP:Automotive Communication Platform)において、クラウド側の主要機能を提供するコンピュータに相当する。ACPは、車両Vcごとのシステム構成の違いを隠蔽(抽象化)しつつ、サーバ4とアプリ9とのセキュアなデータ通信を可能にするための技術である。
 例えばモデルやリリース年(世代)、グレード等の違いに由来して、駐車中に電源がオフとなるECUと電源がオフにならないECUの組み合わせは車両Vcごとに相違しうる。また、車両Vcごとに、ECUを含む車載システム1の構成自体が相違しうる。中継サーバ5は、車両Vcごとのシステム構成の違いやECUごとの電源状態の違い、すなわち、車両Vcごと及びECU7ごとの多様性を、サーバ4側から隠蔽する。そして、中継サーバ5は、あたかも各ECU7とサーバ4とが常時接続されているような擬似的な常時接続を実現する。中継サーバ5は、1つの側面においてACPを構成するサーバであるため、ACPサーバと呼ぶこともできる。
 そのような中継サーバ5は、図2に示すように通信装置51、サーバプロセッサ52、RAM(Random Access Memory)53、及びストレージ54を備える。通信装置51は、無線通信装置8や各種サーバ4と通信を実施するための構成である。通信装置51は、サーバ4などの他の装置とTLS(Transport Layer Security)を用いた暗号通信を実施可能に構成されていてよい。サーバプロセッサ52は、CPUなどの演算コアである。RAM53は、書き換え可能な揮発性メモリである。ストレージ54は、書き換え可能な不揮発性メモリである。ストレージ54には、無線通信装置8とサーバ4とのデータ通信を中継するためのプログラムである中継サーバプログラムが保存されている。中継サーバプログラムは、ACPクラウドソフトウェアと呼ぶこともできる。
 サーバプロセッサ52は、無線通信装置8やサーバ4と制御信号をやり取りすることで、各種装置のアドレス情報やポート番号といった、通信経路情報(いわゆる5-tuple)を取得する。アドレス情報は、IPアドレスとMAC(Media Access Control)アドレスの何れか一方であってもよいし、両方であってもよい。
 中継サーバ5は、随時、サーバ4に対してアプリ9との通信に必要な情報を通知する。アプリ9との通信に必要な情報とは、アプリ9に割り当てられている通信経路情報などである。中継サーバ5は無線通信装置8にも、サーバ4との通信に必要な情報を通知する。中継サーバ5は通信経路情報を用いてアプリ9-サーバ4間の秘匿化/暗号化されたデータ通信を中継する。
 なお、中継サーバ5は複数のコンピュータを用いて実現されていても良い。中継サーバ5が提供する機能の一部又は全部は、各サーバ4が有していてもよい。中継サーバ5は、サーバ4と統合されていても良い。加えて、中継サーバ5は任意の要素であって省略されても良い。つまり、車両Vcとサーバ4とは中継サーバ5を介さずにデータ通信を実施するように構成されていても良い。
 <ECUについて>
 車載システム1が備える複数のECU7はそれぞれ、図3に示すように、車両内ネットワークNwを介して無線通信装置8と接続されている。車両内ネットワークNwは、車両内に構築された通信ネットワークである。車両内ネットワークNwの規格は、Controller Area Network(CANは登録商標)や、イーサネット(登録商標)など、任意の規格であってよい。車両内ネットワークNwが第1のネットワークに相当する。なお、一部のECU7は、車両内ネットワークNwを介することなく直接的に無線通信装置8と接続されていてもよい。また、或るECU7と無線通信装置8との間には他のECU7が介在していても良い。
 図3に示す例では、ECU7として、4つのECU7a~7dが無線通信装置8に接続されている場合を例示している。無線通信装置8に接続するECU7の数は適宜変更可能である。無線通信装置8に接続するECU7は1つだけであってもよい。複数のECU7はそれぞれ役務/制御対象等が異なる。
 各ECU7は、図4に示すように、ECUプロセッサ71と、RAM72と、ROM(Read Only Memory)73などを備えるコンピュータであってよい。ECUプロセッサ71はCPUなどの演算コアである。各ECU7は、ROM73に格納されているプログラムを実行することで、当該プログラムに応じた処理を実行する。各ECU7には固有の識別情報であるECU-IDが割り当てられている。
 ECU7は、1つ又は複数のアプリ9を実行可能に構成されている。なお、複数のECU7が連携して1つのアプリ9を実行するように構成されていても良い。図3に示す第1アプリ91はECU7aによって実行されるアプリ9であり、第2アプリ92及び第3アプリ93は、ECU7bによって実行されるアプリ9である。第4アプリ94はECU7c、7dの協働によって実現されるアプリ9である。
 なお、図中の「App」はアプリケーション/アプリの略である。また、図中の「AppN」は第Nアプリを意味する。例えば「App1」は第1アプリ91を指し、「App2」は第2アプリ92を指す。各アプリ9は、前述のAVPアプリなど多様なアプリであってよい。複数のアプリ9はそれぞれ異なるサービス/機能を提供する。
 各アプリ9にはアプリ9毎に固有の識別情報であるアプリIDが割り当てられている。アプリIDは、アプリ9の設計者/配信事業者が割り当てても良いし、車両Vc(実体的にはECU7)へのインストール時に、車両Vcへのソフトウェアのインストール等を統括的に管理する所定のECU7によって割り当てられても良い。
 <アプリの作動について>
 アプリ9は、当該アプリ9に対応するサーバ4を宛先とする送信用データを無線通信装置8に出力する。また、アプリ9は、サーバ4からのデータを無線通信装置8から取得する。各アプリ9は、サーバ4へ向けた送信用データの発生等に伴って、無線通信装置8に向けて通信開始要求を出力する。通信開始要求は、データ通信の開始を要求する所定の電気信号、メッセージ、又は通信フレームに相当する。通信開始要求は、アプリIDを含む。また、通信開始要求は、サーバ4とのデータ通信に係る条件を示す通信条件を含みうる。
 通信開始要求は、図5に示すように、アプリIDと、通信条件と、通知先アドレスと、通知条件と、通知レベルと、を含みうる。図中のFc1は通信フレームにおいてアプリIDが配置される領域であるアプリIDフィールドを示している。Fc2は通信フレームにおいて通信条件が配置される領域である通信条件フィールドを示している。Fc3は通信フレームにおいて通知先アドレスが配置される領域である通知先アドレスフィールドを示している。Fc4は通信フレームにおいて通知条件が配置される領域である通知条件フィールドを示している。Fc5は通信フレームにおいて、通知レベルが配置される領域である通知レベルフィールドを示している。
 通信条件を構成する項目としては、図6に示すように、(A)許容待ち時間、(B)許容RTT、(C)通信頻度、(D)平均サイズ、(E)最小帯域、(F)緊急性、及び(G)制御利用性などがある。
 (A)許容待ち時間は、いつまでに通信を開始する必要が有るか、換言すれば、アプリ9が許容可能な通信開始までの待ち時間を示す。なお、図6中の設定値例の欄に示す「d」、「h」、「min」、「s」、「ms」は順に「日」、「時」、「分」、「秒」、「ミリ秒」など、時間の単位を示す。(B)許容RTTは、許容可能な応答遅延時間を示す。RTTは、ラウンドトリップタイム(Round-Trip Time)の略である。
 (C)通信頻度は、データ送信/受信の実行頻度を示す。(D)平均サイズは、アプリ9とサーバ4との間でやり取りされる1つのデータセットのサイズの想定値を示す。(E)最小帯域は、確保されるべき通信帯域の最小値を示す。最小帯域は10Mbpsや1Mbpsといった通信速度の概念で表現されうる。最小帯域は、通信頻度や平均サイズなどに基づいて無線通信装置8が算出及び設定しても良い。
 (F)緊急性は、緊急性の高い通信であるか否か、換言すれば、直ちに通信が開始されるべき通信であるか否かを示す。緊急性は、フラグで表現されてよい。緊急性フラグが1(オン)の場合は緊急性の高い通信であることを示し、緊急性フラグが0(オフ)の場合は緊急性の低い通信であることを示す。緊急性フラグがオンに設定されるアプリ9とは緊急通報アプリや、事故データをサーバ4にアップロードするアプリ、盗難検知アプリ等である。緊急性の高さは、上述した許容待ち時間に基づいて無線通信装置8が判断しても良い。
 (G)制御利用性は、サーバ4とやり取りされるデータが車両Vcの走行制御に使用されるデータであるか否かを示す。制御利用性は、フラグで表現されてよい。制御利用性フラグが1(オン)の場合は、車両制御に使用されるデータを取り扱う通信であることを示し、制御利用性フラグが0(オフ)の場合は、車両制御には関係ない/関係性が薄いデータを取り扱う通信であることを示す。緊急性と制御利用性は、何れも重要性、すなわち重要な通信であるか否かを示す。緊急性と制御利用性の項目は、重要性といったパラメータに統合されていても良い。
 なお、アプリ9が無線通信装置8に伝える通信条件は、上記全ての項目を含む必要はない。上記の項目群は一例であって、通信条件の具体的な項目の組み合わせは適宜変更可能である。また、上記以外にも通信条件は、Wi-Fi回線を積極的に使うことを希望するかなどのフラグを含んでいても良い。
 本実施形態では一例として、アプリ9毎の通信条件は通信開始要求に含まれる形で無線通信装置8に伝達されるが、通信条件の通知態様はこれに限定されない。アプリ9は、通信開始要求とは別に、自発的に通信条件を示すメッセージを送出してもよい。また、アプリ9は、無線通信装置8からの要求に基づき通信条件を示すメッセージを送信してもよい。その他、アプリ9は、走行用電源のオンに伴ってECU7と無線通信装置8とが通信接続したタイミングで、無線通信装置8に向けて通信条件を送信されてもよい。アプリ9は、サーバ4向けの通信トラフィック(換言すれば送信用データ)が発生したことに基づいて、無線通信装置8に通信条件等を都度送信しても良い。その他、通信条件は、各アプリ9から無線通信装置8に向けて送信されたデータのヘッダなどに記述されていても良い。
 通知先アドレスフィールドFc3に格納される通知先アドレスは、無線通信装置8が後述する通信状況通知の宛先を特定するための情報である。通信状況通知は、アプリ9の使用回線が輻輳している、あるいは帯域制限中であるなどといった通信の現況と、その理由を示すデータを含む。また、通信状況通知は、付加情報(換言すれば参考情報)として、推奨制御内容や、制御判断材料などを含みうる。通信状況通知の詳細については別途後述する。
 通知先アドレスとしては、車両内ネットワークNwにおけるECU7の通信アドレスなどであってよい。なお、アプリIDをもとに無線通信装置8が通信状況通知の送信先を特定可能な場合には、通知先アドレスフィールドFc3は省略されても良い。
 通知条件フィールドFc4は、無線通信装置8に通信状況通知を送信させる条件である通知条件を指定するコードが格納される。通知条件は、所定時間以内に輻輳が予測される場合、軽度の輻輳が生じた場合、重度の輻輳が生じた場合、使用中の回線が利用不能となった場合などであってよい。また、輻輳/帯域制限の理由なども送信条件の構成要素として採用可能である。なお、本開示における重度の輻輳とは遅延時間が所定の第1閾値(例えば10秒)以上となる状態である。重度の輻輳状態とは実質的に通信不能な状態や、通信接続が遮断された状態も含めることができる。軽度の輻輳とは遅延時間が第2閾値(例えば5秒)以上、第1閾値未満となる状態である。第2閾値は第1閾値よりも所定量小さい値に設定されうる。
 通知レベルフィールドFc5には、通信状況通知として、アプリ9が無線通信装置8から通知して欲しい情報の細かさ/量を指定するコードが格納される。参考情報の細かさ/量は、レベル1~3の3段階で表現されてよい。レベル値が大きいほど、より多くの/より細かい情報の提供を希望することを示す。レベル1が最も情報量が少ない。
 レベル1は、輻輳が生じているか否かといった通信状況の事実と、その理由の通知を希望するレベルである。レベル2は、通信状況と、その理由に加えて、推奨制御内容の通知(提案)を希望するレベルである。レベル3は、通信状況と、その理由、推奨制御内容に加えて、制御判断材料の通知を希望するレベルである。本開示ではアプリ9が通知を希望する項目の種別等を示すレベルのことを通知レベルと称する。通知レベルは、換言すれば、無線通信装置8がアプリ9に対して通知する項目を定めるパラメータに相当する。通知レベルフィールドFc5は、通知希望の項目(換言すれば要求項目)を示すコードが配置されるフィールドであってもよい。なお、通知レベルとしては、アプリ9が通信状況通知の送信を希望しない/無線通信装置8が通信状況通知を送信しないレベル0が用意されていても良い。
 <無線通信装置について>
 無線通信装置8は、少なくとも1つの加入者識別モジュール(以降、SIM:Subscriber Identity Module)を備えることにより、少なくとも1つのセルラー回線を利用可能に構成されている。SIMは、回線の契約者を識別するための情報が記録されたICモジュールであって、ICカードとして構成されている。SIMの搭載により無線通信装置8は、当該SIMに対応する少なくとも1つのAPN(Access Point Name)を用いたデータ通信を実施可能に構成されている。SIMに対応するAPNとは、当該SIMの情報に基づき利用可能なAPNを指す。本実施形態の無線通信装置8は一例として、それぞれAPNが異なる2つのセルラー回線を利用可能に構成されている。以降では無線通信装置8がSIMを用いて利用可能な2つセルラー回線のことを第1回線、第2回線と称する。
 加えて、無線通信装置8は、Wi-Fi通信可能に構成されており、各ECU7での通信トラフィックの発生状況に応じて、通信回線を使い分ける。つまり、無線通信装置8は、多様な通信回線を、通信の用途や通信状況に基づいて使い分ける。無線通信装置8が利用可能な通信回線/通信経路の概念には、セルラー回線だけでなく、Wi-Fi回線も含まれる。
 無線通信装置8には、固有の識別情報としての通信機IDが割り当てられている。通信機IDは、中継サーバ5やサーバ4が、複数の無線通信装置8(車両Vc)のそれぞれを識別するための情報として機能する。無線通信装置8は、インストゥルメントパネル内に収容されていてよい。なお、無線通信装置8は、ユーザが車両Vcに対して着脱可能に構成されたデバイスであってもよい。また、無線通信装置8は、ユーザによって車室内に持ち込まれた、スマートフォン等の携帯端末であってもよい。
 無線通信装置8は、通信プロセッサ81、RAM82、ストレージ83、車内通信部84、及びこれらを接続するバス等を備えたコンピュータを主体として構成されている。また、無線通信装置8は、無線通信部85及び温度センサ86を備える。無線通信部85は、セルラー通信部85aとWi-Fi通信部85bを備える。
 通信プロセッサ81は、RAM82と結合された演算処理のためのハードウェアである。通信プロセッサ81は、CPU等の演算コアを少なくとも一つ含む。通信プロセッサ81は、RAM82へのアクセスにより、種々の処理を実行する。通信プロセッサ81から見て、自分自身を備える無線通信装置8が自装置に相当する。
 ストレージ83は、フラッシュメモリ等の不揮発性の記憶媒体を含む装置である。ストレージ83には、通信プロセッサ81によって実行されるプログラムとして、通信制御プログラムが格納されている。通信プロセッサ81が上記プログラムを実行することは、通信制御プログラムに対応する通信制御方法を通信プロセッサ81が実行することに相当する。ストレージ83には、無線通信装置8が利用可能なAPNについての情報(例えばプロファイル)が登録されている。また、ストレージ83には、無線通信装置8が利用可能なWi-FiのSSID(Service Set Identifier)や暗号化キーなどが登録されている。
 またストレージ83には、電波マップが保存されている。電波マップは、道路上の地点/所定区間ごとの電波強度を示すデータである。電波マップは、地点ごとの上り/下りスループットや往復レイテンシなどを示すデータであってもよい。電波マップは、地点ごとのCSI(Channel State Information)を示すデータであってもよい。電波マップは中継サーバ5やセルラー基地局2から配信されうる。電波マップは動的に更新されうる。無線通信装置8における電波マップの保存先はRAM82等の揮発性メモリであってもよい。
 通信プロセッサ81はストレージ83にインストールされている通信制御プログラムを実行する事により、車内通信部84及び無線通信部85の動作を制御する通信マネージャ87として動作する。通信マネージャ87は、アプリケーション層及びトランスポート層の一部又は全部としての処理を実行する。通信マネージャ87の詳細は別途後述する。
 車内通信部84は、車両内ネットワークNwを介してECU7と通信するための回路モジュールである。車内通信部84は、各ECU7が出力した送信用データを受け取り、通信マネージャ87へ出力する。また、車内通信部84は、通信プロセッサ81から入力されたデータを、宛先として指定されたECU7に向けて出力する。車内通信部84は、各ECU7から多重化されて入力されたデータを、所定の方式で分離することで、本来のデータを取得する。このような車内通信部84は、アナログ回路素子やIC、車両内ネットワークNwの通信規格に準拠したPHYチップなどを用いて実現されている。車内通信部84には、ECU7から入力された送信用データのほか、車速センサが検出した車速データなど、多様なデータが入力される。ここでの送信用データとは、サーバ4向けの通信トラフィック(換言すればデータ)に相当する。
 セルラー通信部85aは、4G等の無線通信プロトコルにおけるデータリンクレイヤ及び物理レイヤを担当する通信モジュールである。セルラー通信部85aは、LTEで用いられる周波数帯の電波を送受信可能なアンテナを含む。また、セルラー通信部85aは、ベースバンド信号から高周波信号への変換及びその逆変換に相当する信号処理を行うトランシーバと、IPパケットと物理チャネルの信号との変換を行うパケット処理部と、を含む。
 セルラー通信部85aは、車内通信部84又は通信マネージャ87から入力されたIPパケットに対して、PDCP・RLC・MACの各データリンクサブレイヤでの処理を行う。また、符号化や、変調、デジタルアナログ変換等の処理を施すことで、入力されたデータに対応する搬送波信号を生成する。そして、生成した搬送波信号をアンテナに出力することで電波として放射させる。PDCPはPacket Data Convergence Protocolの略であり、RLCはRadio Link Controlの略であり、MACはMedia Access Controlの略である。加えて、セルラー通信部85aは、アンテナにて受信した受信信号に対して、アナログデジタル変換処理や復調処理といった所定の処理を施すことでデジタル値によって表現された情報系列(つまりデジタルデータ)に変換する。そして、その受信信号に対応するデータを、通信マネージャ87又は車内通信部84に出力する。
 Wi-Fi通信部85bは、Wi-Fi基地局6を介して広域通信ネットワーク3に接続するための通信モジュールである。Wi-Fi通信部85bは、2.4GHz帯や5GHz帯など、Wi-Fi規格で使用される周波数帯の電波を送受信するためのアンテナ、変調回路、及び復調回路などを用いて構成されている。Wi-Fi通信部85bは、車内通信部84又は通信マネージャ87から入力されたデータに対応する無線信号を放射する。また、Wi-Fi通信部85bは、アンテナにて受信した受信信号に対応するデータを、車内通信部84又は通信マネージャ87に出力する。
 なお、Wi-Fi通信部85bは、Wi-Fi基地局6から発せられるビーコンを受信することによって、Wi-Fi基地局6の存在を認識する。Wi-Fi通信部85bとWi-Fi基地局6との通信接続は、通信マネージャ87によって制御される。また、Wi-Fi通信部85bの動作状態、電源状態は、通信マネージャ87によって制御される。なお、Wi-Fi通信部85bは、必ずしも無線通信装置8に内蔵されている必要はない。Wi-Fi通信部85bは無線通信装置8の外部に設けられていても良い。
 温度センサ86は、通信プロセッサ81周辺の温度を検出するセンサである。温度センサ86の出力値は、RAM82等を介して通信プロセッサ81に入力される。温度センサ86は、チップ温度を計測するセンサに相当する。なお、ここでのチップとは無線通信に係る処理を実行するCPUやICなどを指す。本開示のチップ温度は、通信プロセッサ81の温度であってもよいし、セルラー通信用のチップの温度であってもよい。
 <通信マネージャの機能について>
 通信マネージャ87はアプリ9とサーバ4との通信を中継及び制御する存在である。アプリ9が送出したデータ(いわゆるメッセージ)は、図7に示すようにネットワーク層(L3)、データリンク層(L2)、物理層(L1)を経由して、無線通信装置8に入力される。無線通信装置8に到達したアプリ9からのデータは、通信マネージャ87にて指定されている通信回線を用いてサーバ4に向けて無線送信される。
 通信マネージャ87は、機能ブロックとして図8に示すように接続制御部F1、回線状態取得部F2、通信要求受付部F3、通信状態管理部F4、動的制御部F5、及び通知処理部F6を備える。通信マネージャ87は、ACPを構成する車両側の機能部であるACPエンジンに相当する。
 接続制御部F1は、セルラー通信部85aの動作を制御する。接続制御部F1は、所定の接続イベントが生じたことを受けて、APN毎の通信回線を確立する手続きを実行する。通信接続を確立するための手続きには、アタッチ要求の送信やAPN情報の送信などが含まれる。接続イベントとしては、走行用電源がオンとなった場合や、車両Vcが備える操作部材に対する所定のユーザ操作に基づき、セルラー通信機能が有効化された場合などを採用可能である。
 また、接続制御部F1は、セルラー回線毎の在圏セルを決定及び移動管理を実施する。接続制御部F1は、在圏セルを選択するための指標として、セル毎のRSRPや、RSSI、RSRQなどを取得する。本開示における「取得」には、他の装置/センサから入力されたデータなどを元に内部演算によって生成/検出することも含まれる。RSRPは、Reference Signal Received Powerの略である。RSSIはReceived Signal Strength Indicatorの略である。RSRQはReference Signal Received Qualityの略である。RSRPは、単位リソースエレメント当たりのRSの平均受信電力である。RSSIは、RSを収容するOFDMシンボルにおいてLTEシステム帯域全体の電力を測定した値である。RSRQは、セル固有の参照信号の受信電力と、受信帯域幅内の総電力との比である。RSRQは、大きいほどセルラー基地局2からの信号の受信品質が良いことを示す。
 そして、接続制御部F1は、セル毎のRSRPなどの指標に基づき、必要に応じて在圏セルを切り替えるための処理を実施する。接続制御部F1が算出した在圏セルや隣接セルといったセル毎のRSRPやRSRQなどの情報は、RAM82に一時的に保持される。RAM82が保持する情報は随時更新される。なお、在圏セルの切り替え(再選択)を行う機能はセルラー通信部85aが備えていても良い。また、RSRPなどの取得は、回線状態取得部F2が実施してもよい。
 また、接続制御部F1は、Wi-Fi通信部85bの動作を制御する。接続制御部F1は、Wi-Fi通信部85bがビーコンを受信したことに基づいて、Wi-Fi基地局6との通信接続を開始する。すなわち、IPアドレスの取得や、セキュリティ設定(暗号鍵の交換など)のための制御信号をWi-Fi基地局6とやり取りする。
 回線状態取得部F2は、通信回線毎の通信特性を示す種々の情報を取得する構成である。回線状態取得部F2は、ネットワーク側装置からセルラー回線毎の通信設定に係るパラメータを取得する。セルラー回線毎の通信設定パラメータとしては、割当周波数や、パケット転送の優先順位、目標遅延時間、パケットロス率などが挙げられる。目標遅延時間は、ネットワーク側装置が想定する通信遅延時間の最大値である。回線状態取得部F2が取得した通信設定パラメータは、任意の記憶媒体(例えばRAM82)に保存される。
 また、回線状態取得部F2は、セルラー回線毎の状態情報として、セルラー回線毎のRTTやスループットを逐次評価し、RAM82に保存しても良い。RTTは、通信相手に信号やデータを発信してから、応答が返ってくるまでにかかる時間、すなわち応答遅延時間である。RTTは、往復レイテンシとも称される。スループットは、伝送路を通じて単位時間あたりに送受信できるデータ量を表す。スループットは通信速度を示す指標に相当する。回線状態取得部F2は、スループットを上り通信と下り通信とで別々に取得してもよい。回線状態取得部F2は、接続制御部F1からRSRPやRSRQなどの観測値を取得しても良い。回線状態取得部F2は、上記パラメータの一部又は全部に基づいて、セルラー回線毎のQoSを評価してもよい。
 回線状態取得部F2としての通信プロセッサ81は、通信回線毎に輻輳が生じているか否かを判断する。輻輳の判断材料としては、パケットロス率、遅延時間、及びそれらの両方を採用可能である。回線状態取得部F2は、パケットロス率が所定値以上である場合に輻輳が生じていると判定する。また、回線状態取得部F2は、応答遅延時間が所定値以上である場合に輻輳が生じていると判定する。輻輳の検知方式としては、NewReno、Vegas、Illinois、YeAH、DCTCPなどといった、TCPの輻輳制御で使用される多様な方式を援用可能である。回線状態取得部F2は、輻輳の発生/通信帯域の不足を予測するものであってもよい。
 また、通信プロセッサ81は、無線通信装置8内部での輻輳を検知可能に構成されていてもよい。複数のアプリ9からのアクセスが通信マネージャ87に集中している状態も一種の輻輳に相当する。通信プロセッサ81は、通信用のバッファ/キューへのデータの滞留度合いに基づいて無線通信装置8内部での輻輳(高負荷状態)を検出しうる。また、車両内ネットワークNwが混雑している状態も輻輳の一種に相当する。本開示では、無線区間以降での輻輳を車外輻輳、無線通信装置8内部での輻輳を装置内輻輳、車両内ネットワークNwでの輻輳を車内輻輳とも称する。通信プロセッサ81は、車外輻輳に限らず、装置内輻輳や、車内輻輳を検出可能に構成されていても良い。
 通信要求受付部F3は、車両内外からのデータ通信の要求を受け付ける。車両内部からの通信開始要求とは、アプリ9からの通信開始要求に相当し、車両外部からの通信開始要求とは、サーバ4からの通信開始要求に相当する。なお、サーバ4からの通信開始要求は、中継サーバ5を介して無線通信装置8に到達するため、車両外部からの通信開始要求は中継サーバ5からの通信開始要求と解することもできる。
 通信要求受付部F3は、アプリ9からの通信開始要求を受信したことに基づいて、当該アプリ9と対応するサーバ4との通信を開始するための手続き(経路設定)等を開始する。また、通信要求受付部F3は、中継サーバ5から、或るアプリ9向けのデータが存在することが通知された場合、対象となるアプリ9とサーバ4との通信開始要求を受け付ける。
 通信要求受付部F3は、各アプリ9から通信開始の要求とともに/独立して、通信条件を取得する。通信要求受付部F3が受け付けた通信要求及び条件は、要求元としてのアプリ9毎に区別してRAM82に一時保存される。なお、アプリ9ごとの通信条件は、時間の経過に伴って動的に変更されうる。
 通信状態管理部F4は、アプリ9の通信状態を管理する。アプリ9ごとの通信状態は、図9に示すように、優先度や、実行状態、制限の有無、通信頻度、データサイズなどの複数の項目を含むテーブルで管理されうる。優先度は、通信回線の割当やパケット転送に係る優先順位を示すパラメータである。図9に示す例では第2アプリ92が最も優先順位が高いことを示している。通信状態管理部F4は、アプリ9ごとの優先順位を、通信条件に示される緊急性や、制御利用性、許容RTT、許容待ち時間などをもとに動的に設定する。なお、アプリ9毎の優先度は予め設定された固定値であってもよい。また、アプリ9毎の優先度は、車両Vcが走行中か否かに応じて切り替えられてもよい。制御支援アプリの優先度は、停車中は走行中に比べて低く設定されても良い。
 実行状態の欄には、通信中か、休止中かを示す値が設定される。通信中とは、実際にデータ通信を実施している状態を指す。休止中とは、通信を停止している状態に相当する。休止中とは、接続を維持したままデータの送受信を停止している状態(いわゆるアイドル状態)であってよい。休止中は、通信接続を解除している状態であってもよい。帯域制限の欄には、アプリ9の通信帯域に制限をかけているか否かを示す値が入力される。帯域制限をかけている場合とは、利用可能な帯域を所定値以下に制限している状態を指す。利用可能な通信帯域の設定値(上限値)は0であってもよく、帯域制限をかけている状態には実質的に通信を遮断/禁止している状態を含めることができる。
 通信頻度の欄は、サーバ4との通信の実行頻度を示す。通信頻度は、直近所定時間以内における実際の通信頻度をもとに決定されてもよい。また、通信頻度の欄には、通信条件に示される通信頻度の値、換言すればアプリ9が自己申告してきた値が入力されても良い。データサイズの欄は、アプリ9-サーバ4間でやり取りされる1つのデータセット(例えばファイル)の平均サイズを示す。データサイズは、過去に送受信されたファイルのサイズをもとに決定される。また、データサイズの欄には、通信条件に示される平均データサイズの値、換言すればアプリ9が自己申告してきた値が登録されてもよい。
 その他、通信状態テーブルには通知レベルが含まれていても良い。通信状態管理部F4はアプリ9ごとの通知レベルも管理しうる。また、通信状態管理部F4は、アプリ9ごとの通信状態に応じて通信状態テーブルの値を随時更新する。通信状態管理部F4が保持する通信状態テーブルは、動的制御部F5によって参照される。
 動的制御部F5は、優先度制御や、回線割当、帯域制御などを実施する。優先度制御は、アプリ9に設定されている優先度に基づいて、アプリ9から入力された送信用データ(通信パケット)の送信順序を調整する処理を指す。回線割当は、アプリ9毎の通信条件及び通信回線毎の特性に基づいて各アプリ9に割り当てる通信回線を決定/変更する処理を指す。なお、通信経路を構成する要素には、通信回線の種別のほか、割り当てる通信帯域の大きさ(幅)や、割当周波数などを含めることができる。帯域制御は、アプリ9に割り当てる通信帯域を調整する処理を指す。
 動的制御部F5は、通信回線の状況や無線通信装置8の内部状態に基づいて、一部又はすべてのアプリ9に対して通信帯域を制限する処理を実施する。動的制御部F5は、回線状態取得部F2が或る通信回線での輻輳を検知した場合、輻輳が生じている回線である輻輳回線を使用しているアプリ9の組み合わせに基づいて、帯域制限をかけるアプリ9を選定する。そして、該当アプリ9に対して必要に応じたレベルの帯域制限をかける。また、動的制御部F5は、チップ温度や、通信プロセッサ81の負荷状況など、通信マネージャ87の内部状態によってもアプリ9への帯域制限を実施しうる。
 通知処理部F6は、通信状況等に係るメッセージをアプリ9とやり取りする処理モジュールである。通知処理部F6としての通信プロセッサ81は、或るアプリ9が使用可能な通信帯域に変化が生じた場合、又は、或るアプリ9の通信速度に影響を与える事象の発生を検出した場合に、該当アプリ9に向けて通信状況通知を送信する。
 通知処理部F6は、動的制御部F5が或るアプリ9に対して帯域制限をかけることを決定した場合、当該対象アプリに対して、帯域制限通知を送信する。帯域制限通知は、帯域制限中であることと、その理由を示す信号である。なお、帯域制限は1つのシーンにおいて輻輳の発生とともに実施される。故に、帯域制限通知は、1つの局面において、アプリ9の使用回線が輻輳していることと、その理由を示す信号に相当する。帯域制限通知は、通信マネージャ87がアプリ9に対して、使用回線の輻輳/帯域制限の実施を通知するためのメッセージに相当する。なお、通知処理部F6は、動的制御部F5が或るアプリ9に対して実際に帯域制限をかける前の時点、回線状態取得部F2が或る通信回線での輻輳を検知したタイミングで、該当回線を使用中のアプリ9に対して帯域制限通知を送信しても良い。
 また、通知処理部F6は、或る通信回線が干渉や通信圏外への移動によって一時的に利用不能となった場合、当該通信回線を利用していたアプリ9に対し、回線切断通知を送信する。回線切断通知は、使用回線が利用不能となったこと、及び、その理由を示す信号である。なお、通信プロセッサ81は、帯域制限処理の結果として通信回線が遮断(切断)状態となったアプリ9に対しては、回線切断通知の代わりに、帯域制限通知を送信しても良い。
 さらに、本実施形態の通知処理部F6はより好ましい態様として、チップ温度上昇などの理由によって通信速度(通信スループット)が所定値以下となった通信回線が存在する場合、当該回線を使用しているアプリ9に対して速度低下通知を送信しうる。速度低下通知は、低速状態であること、及びその理由を示す信号に相当する。通信プロセッサ81は、帯域制限処理の結果として通信が低速状態となったアプリ9に対しては、速度低下通知の代わりに、帯域制限通知を送信しても良い。
 以上で述べた帯域制限通知、回線切断通知、及び速度低下通知は何れも、通信状況通知の一種に相当する。帯域制限通知、回線切断通知、及び速度低下通知のフレーム構成は同じである。もちろん、他の態様として帯域制限通知、回線切断通知、及び速度低下通知はそれぞれ異なるフレーム構成を有していても良い。以下の説明における通信状況通知との記載は適宜、帯域制限通知、回線切断通知、又は速度低下通知と読み替えることができる。
 通信状況通知の中身/構成は、通知対象とするアプリ9の通知レベルによって異なりうる。例えば、通知レベルが1に設定されているアプリ9に対して送信される帯域制限通知は、図10に示すようにメッセージタイプフィールドFd1と、理由フィールドFd2と、を備える。
 メッセージタイプフィールドFd1は、当該メッセージが帯域制限通知、回線切断通知、及び速度低下通知の何れに該当するか(つまりメッセージのタイプ)を示す。帯域制限通知である場合、メッセージタイプフィールドFd1には使用回線に輻輳が生じていること/帯域制限中であることを示す所定コードが配置される。
 理由フィールドFd2は、帯域制限や回線遮断、速度低下(以降、帯域制限等)の理由を示すコードが配置される領域である。帯域制限等の理由としては、図11に示すように「優先度負け」や、「トラフィック急増」、「環境劣化」、「チップ温度上昇」、「回線切断」、「重要サービス作動中」、「3G回線使用中」、「干渉回避」、「高負荷状態」、「契約上限到達」などがある。
 これらの理由は、1つの側面において、帯域制限の理由である制限理由と呼ぶことができる。また、下記理由の一部は、回線切断の理由である切断理由、或いは、通信速度低下の理由である速度低下理由と呼ぶこともできる。各理由には、理由を示すコードである理由コードが割り当てられている。図11に示す理由コードの値は一例であって適宜変更可能である。
 なお、「優先度負け」は、優先度の高い他のアプリ9のトラフィックと競合した結果として、或るアプリ9が利用可能な通信帯域を制限(縮小)する場合に対応する。通知処理部F6は、優先度負けによる帯域制限が施されるアプリ9に対し、理由フィールドFd2に優先度負けであることを示すビット列を配置した帯域制限通知を送信する。
 「トラフィック急増」は、通信データ量が増加し輻輳が発生した場合に対応する。例えば大容量かつ重要なデータのやり取りが開始された場合にトラフィック急増が生じうる。「トラフィック急増」は、電波環境や、ネットワーク側装置から通信マネージャ87に対して割り当てられている帯域自体の変動は比較的小さい場合に適用されうる。通知処理部F6は、トラフィック急増による帯域制限が施されるアプリ9に対しては、理由フィールドFd2にトラフィック急増であることを示すビット列を配置した帯域制限通知を送信する。
 「環境劣化」は、通信環境が悪化し輻輳が発生した場合に対応する。通知処理部F6は、環境劣化に起因して帯域制限が施されるアプリ9に対しては、理由フィールドFd2に環境劣化を示すビット列を配置した帯域制限通知を送信する。なお、環境劣化による帯域制限は、通信マネージャ87が中継するトラフィックの増加量は所定値未満である場合に適用されうる。つまり、通信マネージャ87が取り扱うトラフィック量は変わっていないものの、利用可能な無線リソースが縮小した結果として輻輳が生じた/予見される場合に、通信プロセッサ81は環境劣化によるアプリ単位での帯域制限を実施しうる。
 「チップ温度上昇」は、通信プロセッサ81の温度が上昇したため、通信スループットが抑制された場合に対応する。通信プロセッサ81は、温度センサ86の出力に基づいて、チップ温度が所定値以上か否かを判定する。通信プロセッサ81は、チップ温度が所定値以上である場合には、通信速度/処理速度が低速状態に遷移しうる。低速状態とは、速度が所定値以下である状態を指す。例えば低速状態は、通信速度/処理速度が最大値/平均値の10%以下である状態であってよい。通知処理部F6は、チップ温度上昇に伴う速度低下が生じる回線を使用中のアプリ9に対しては、理由フィールドFd2にチップ温度上昇であることを示すビット列を配置した速度低下通知/帯域制限通知を送信する。
 「回線切断」は、何らかの事情でセルラー回線が切断した場合や、Wi-Fi回線使用中においてWi-Fiのアクセスポイントの圏外となった場合に対応する。通知処理部F6は、切断された回線を使用していたアプリ9に対しては、理由フィールドFd2に回線切断を示すビット列を配置した回線切断通知を送信する。
 「重要サービス作動中」は、緊急通報サービスや、自動運転サービスなど、人命に関わる重要サービスが作動中であり、その結果として通信帯域が不足した場合に対応する。通知処理部F6は、重要サービス作動に起因して帯域制限が施されるアプリ9に対しては、理由コードに重要サービス作動中であることを示すビット列を配置した帯域制限通知を送信する。なお、他の実施形態においては、重要サービス作動中は、優先度負けと統合されていても良い。
 「3G回線使用中」は、通信マネージャ87がLTE/4Gの圏外となりスループットが低下している状態に対応する。「干渉回避」は、電波干渉抑止のための出力制限を実施中である場合に対応する。通信プロセッサ81は、無線通信部85が観測しているノイズレベル等に基づいて干渉電波の有無を判断可能である。「高負荷状態」は、通信プロセッサ81が高負荷状態である場合に対応する。通信プロセッサ81は、高負荷状態に起因して帯域制限がかけられているアプリ9に対して、理由フィールドFd2に高負荷状態であることを示すビット列を配置した帯域制限通知を送信する。「契約上限到達」は、通信データ量が契約上の上限値に到達/超過している場合に対応する。
 また、通知レベルが2又は3に設定されているアプリに対して送信される帯域制限通知は、図12に示すように、メッセージタイプフィールドFd1と理由フィールドFd2に加えて、推奨制御フィールドFd3と補足情報フィールドFd4を備える。推奨制御フィールドFd3は、推奨制御内容を示す領域である。推奨制御内容は、帯域制限等に対してアプリ9が取るべき応答方針を示す。推奨制御内容を示す帯域制限通知を送信することは、通知先のアプリ9に対して、当該制御の実行を推奨/提案/指示することに相当する。
 補足情報フィールドFd4は、推奨制御内容に関連する情報が格納される領域である。補足情報フィールドFd4のビット長は動的に調整可能であっても良い。推奨制御内容や補足情報が参考情報に相当する。
 推奨制御内容のバリエーションとしては例えば、図13に示すように、「一定時間待機」、「再開指示待機」、「タイミングシフト」、「リトライ間隔動的制御」、「回線切替」、「セルラー回線不使用」などが挙げられる。各推奨制御内容には、固有のコードである推奨制御コードが割り当てられている。図13に示す推奨制御コードの値は一例であって適宜変更可能である。
 「一定時間待機」は、データ送信/受信を一定時間待機することを意味する。「再開指示待機」は、サーバ4とのデータ通信を再開しても良いことを示す再開許可通知を通信マネージャ87から受信するまでは通信を休止することを意味する。一定時間待機の場合、アプリ9は通信マネージャ87からの再開許可通知を受信しなくとも、所定時間後には通信を実施しうる。通信マネージャ87は、輻輳などの速度低下/遮断理由が解消するまでの時間の予測が困難な場合に、一定時間待機ではなく再開指示待機を推奨制御として選択しうる。
 「タイミングシフト」は、データの送信タイミングをシフトすることを意味する。なお、一定時間待機もタイミングシフトの一種に相当する。一定時間待機は待機時間が固定値或いは通信マネージャ87の指示値であるのに対し、タイミングシフトは、通信マネージャ87から提供される補足データに基づき、アプリ9自身が送信タイミングを判断する点で相違する。タイミングシフトは、一定時間待機に比べてアプリ9側での制御難度/自由度が高い制御内容に相当する。
 「リトライ間隔動的制御」はTCPなどでのリトライ間隔をデフォルト値から車両Vcの走行状況に応じて動的に調整することを意味する。リトライ間隔は再送時間と呼ぶこともできる。リトライ間隔動的制御は、停車中はリトライ間隔を60秒などに設定する一方、走行中は5秒や10秒など、電波環境の変化が期待できる値に設定する制御を指す。リトライ間隔動的制御は、停止中においてはリトライを停止し、走行中においてはリトライ間隔をデフォルト値よりも所定量増大させることであってもよい。リトライ間隔の増大量は、3秒や10秒などの一定値であっても良いし、通信マネージャ87が回線状況に応じて動的に決定しても良い。リトライ間隔のデフォルト値は、帯域制限をかけていない場合に適用される値であって、アプリ9毎に異なりうる。
 「回線切替」は、使用回線を現在の回線とは異なる通信回線に切り替えることを意味する。対象アプリが現在第1回線を使用中である場合、回線切替は、使用回線を第1回線から第2回線又はWi-Fi回線に切り替えることに相当する。「セルラー回線不使用」は、セルラー回線の使用を極力避けることを意味する。
 帯域制限等の理由に応じた推奨制御の選定は、通知処理部F6が実施しても良いし、動的制御部F5が実施しても良い。通信マネージャ87内における機能配置は適宜変更可能である。
 ところで、本実施形態の通知処理部F6は、通知レベルが2であるか3であるかによって、通信状況通知に含める参考情報の細かさ/量を変更する。図14は、制御対象アプリの通知レベルが2に設定されている場合の、推奨制御内容と補足情報の組み合わせの一例を示す図である。また、図15は、制御対象アプリの通知レベルが3に設定されている場合の、推奨制御内容と補足情報の組み合わせの一例を示す図である。
 通知処理部F6は、通知レベルが2に設定されているアプリ9に対し、推奨制御として一定時間待機を提案する場合、待機時間や、通信を再開してもよい時刻を示すデータを補足情報フィールドFd4に格納した通信状況通知を送信する。また、通知処理部F6は、通知レベルが2に設定されているアプリ9に対し、推奨制御として再開指示待機を提案する場合、通信再開を許可する予測時刻や再開条件などが補足情報フィールドFd4に格納された通信状況通知を送信する。
 より具体的には、通知処理部F6は、環境劣化に起因する再開指示待機を提案する場合、補足情報として帯域制限を解除可能となるまでの予測時間を付加した通信状況通知を送信してもよい。帯域制限を解除可能となるまでの予測時間は、電波マップと自車両の走行計画とをもとに算出されてよい。通知処理部F6は、チップ温度上昇に起因する再開指示待機を提案する場合、補足情報として現在のチップ温度と、再開可能なチップ温度などを付加した通信状況通知を送信する。通知処理部F6は、通知レベルが2に設定されているアプリ9に対し、推奨制御としてセルラー回線不使用を提案する場合、Wi-Fiに接続可能となるまでの予測時間を示すデータを補足情報フィールドFd4に格納した通信状況通知を送信する。
 また、通知処理部F6は、通知レベルが3に設定されているアプリ9に対し、推奨制御としてタイミングシフトを提案する場合、トラフィック予測データを補足情報フィールドFd4に格納した通信状況通知を送信する。トラフィック予測データは、今後所定時間以内のトラフィック量の予測推移を示すデータである。トラフィック予測データは、他のアプリ9との競合リスクが低い通信タイミングを示すデータに相当する。トラフィック予測データは、現在通信中のアプリ9ごとの通信条件に示される通信頻度や平均データサイズ、最終通信時刻などをもとに生成されうる。
 通知処理部F6は、通知レベルが3に設定されているアプリ9に対し、リトライ間隔動的制御を提案する場合、通信状態にかかる現況データを補足情報フィールドFd4に格納した通信状況通知を送信する。通信状態にかかる現況データは、現在の通信トラフィックと通信スループットの推定値であってよい。通知処理部F6は、通知レベルが3に設定されているアプリ9に対し、チップ温度上昇に由来する再開指示待機を提案する場合にも、通信状態にかかる現況データを補足情報フィールドFd4に格納した通信状況通知を送信する。
 通知処理部F6は、通知レベルが3に設定されているアプリ9に対し、回線切断に起因する回線切替を提案する場合、利用可能回線情報を補足情報フィールドFd4に格納した通信状況通知を送信する。利用可能回線情報とは、現時点で利用可能な通信回線を示す。なお、通知処理部F6は、回線切断に起因する回線切替を提案する場合、補足情報として電波マップ、又は、通信回線が復旧するまでの予測時間を付加した通信状況通知を送信してもよい。
 通知処理部F6は、通知レベルが3に設定されているアプリ9に対し、重要サービス作動中に起因する回線切替を提案する場合、作動サービス情報を補足情報フィールドFd4に格納した通信状況通知を送信する。作動サービス情報とは、作動中の重要サービスの種別を示す。作動サービス情報は、当該サービスに係る通信が完了するまでの残り時間の推定値を含んでいても良い。なお、通知処理部F6は、回線切断や重要サービス作動中に起因する回線切替を提案する場合、補足情報として利用可能回線情報や電波マップを付加した通信状況通知を送信してもよい。
 通知処理部F6は、通知レベルが3に設定されているアプリ9に対し、3G回線使用中に起因する再開指示待機を提案する場合、電波マップを補足情報フィールドFd4に格納した通信状況通知を送信する。なお、通知処理部F6は、3G回線使用中に起因する再開指示待機を提案する場合、補足情報として4G復帰予測時間を付加した通信状況通知を送信してもよい。4G復帰予測時間は、電波マップが備える4Gエリア情報と、自車両の現在位置及び移動速度などをもとに算出されうる。4Gエリア情報は4Gが利用可能なエリアを示す情報である。
 通知処理部F6は、通知レベルが3に設定されているアプリ9に対し、高負荷状態に起因する再開指示待機を提案する場合、負荷状況データを補足情報フィールドFd4に格納した通信状況通知を送信する。負荷状況データは、通信プロセッサ81の処理負荷を示すデータである。処理負荷は、例えばCPUやメモリの使用率や、プロセス数、バッファに滞留しているトラフィック量などによって表現されうる。なお、通知処理部F6は、高負荷状態に起因する再開指示待機を提案する場合、補足情報として処理負荷が所定値未満となるまでの予測時間を付加した通信状況通知を送信してもよい。処理負荷が所定値未満となるまでの予測時間は、直近所定時間以内の処理速度(処理スループット)と、現在の処理負荷量から算出されうる。
 なお、制限理由に応じてアプリ9に提案する推奨制御の具体的な内容は適宜変更可能である。また、補足情報として通知する情報種別も適宜変更可能である。その他、通知レベルが1のアプリ9用の通信状況通知もまた、フレーム構成として、推奨制御フィールドFd3と補足情報フィールドFd4を備えていても良い。その場合には、推奨制御フィールドFd3と補足情報フィールドFd4には、推奨する制御内容がないことを示す所定のコードが挿入されうる。このように通信状況通知の構成は、通知レベルによらずに共通化されていても良い。
 <システム全体の処理の流れ>
 次に、図16及び図17に示すシーケンス図を用いて、アプリ9、通信マネージャ87、中継サーバ5、及びサーバ4の相互作用について説明する。図16、図17に示す第1アプリ91、第2アプリ92はそれぞれ任意のアプリであってよい。以下の説明において第1アプリ91は、第2アプリ92よりも優先度が高いアプリである。図16、図17に示す第1サーバ41は第1アプリ91に対応するサーバ4であり、第2サーバ42は第2アプリ92に対応するサーバ4である。図17は図16に示すシーケンスの後続シーケンスを示す。図16、図17の説明における処理の実行主体としての通信マネージャ87は、無線通信装置8又は通信プロセッサ81と読み替えることができる。
 まず、通信マネージャ87は、所定の接続イベントが生じたタイミングで、APN毎の通信回線を確立する(ステップS01)。つまり、通信マネージャ87はアプリ9からの通信開始要求に先立って、中継サーバ5との通信経路を確保する。通信マネージャ87と中継サーバ5との間の通信接続が確立されている状態においては、通信マネージャ87と中継サーバ5は適宜所定のタイミングで所定の制御信号を送受信することで疎通確認を実施する(ステップS02c)。また、中継サーバ5とサーバ4も、一定時間おきに所定の制御信号を送受信することで疎通確認を実施する(ステップS02a、S02b)。なお、通信マネージャ87は、図16に示す処理フローと並行して、車両Vcの移動に伴うハンドオーバーなどを実行する。また、通信マネージャ87は、図16に示す処理フローと並行して、車両Vcの移動に伴うWi-Fi基地局6との通信接続~切断を繰り返し実行する。
 その後、第1アプリ91において送信用データが発生すると、第1アプリ91は通信マネージャ87に通信開始要求を出力する(ステップS11a)。同様に、第2アプリ92は随時通信マネージャ87に通信開始要求を出力する(ステップS11b)。アプリ9から通信マネージャ87へと出力される通信開始要求には、前述の通りアプリIDや通信条件、通知条件等を含む。なお、通信条件等は、事前に通信マネージャ87がアプリ9と通信することで取得しておいても良い。
 通信マネージャ87は、アプリ9からの通信開始要求を受信すると、当該要求を受け付ける(ステップS12)。具体的には、アプリIDと通信条件とを紐付けて所定の記憶領域に一時保存する。図16では便宜上、要求受付処理に対応するステップを1つしか示していないが、要求受付処理は、通信開始要求毎、つまりアプリ9ごとに実施される。
 通信マネージャ87は、通信開始要求に基づき、要求元のアプリ9に対し、通知された通信条件を充足する通信回線を割り当て、経路設定処理を実施する(ステップS13)。経路設定処理は例えば、アプリ9用のポートの確保を含む。経路設定処理により、送信元IPアドレスや、ソースポート番号、宛先IPアドレス、宛先ポート番号、プロトコルなどが決定される。なお、ソースポートはアプリ9毎に割り当てられる。1つのポート番号に対応するアプリ9は1つである。通信マネージャ87は、1つのアプリに対して複数のソースポート番号が割り当てても良い。もちろん、ソースポートの確保、換言すればポート番号の取得は、通信マネージャ87ではなく、アプリ9自身が実施しても良い。
 なお、本実施形態では、アプリ9のデータ通信を収容するセルラー回線の候補としては、第1回線と第2回線とがある。また、車両Vcが利用可能なWi-Fi基地局6の通信範囲内に車両Vcが存在する場合には、Wi-Fi回線も採用可能な通信経路の選択肢に含めることができる。ここでは第1回線に十分な通信帯域が存在するものとして、通信マネージャ87は、第1アプリ91及び第2アプリ92の両方に対して第1回線を割り当てる。
 通信マネージャ87は、サーバ4までの通信経路の設定が完了すると、第1アプリ91、第2アプリ92のそれぞれに対して対応するサーバ4までの経路情報を送信する(ステップS14a、S14b)。通信経路情報の通知は、通信の開始を許可する旨のメッセージである通信許可応答に相当しうる。
 アプリ9は、通信マネージャ87から経路情報を受信すると、当該経路情報に示されるポート番号や宛先アドレスを用いて、サーバ4と暗号通信を開始する(ステップS15a、S15b)。例えば、アプリ9とサーバ4とはTLS通信を実施する。
 なお、前述の通り、アプリ9とサーバ4との通信は、中継サーバ5を介して実施される。通信マネージャ87は、アプリ9だけでなく中継サーバ5に対しても、通信要求元のアプリIDをポート番号と対応付けて通知する。通信マネージャ87及び中継サーバ5は、アプリ9毎にユニークに割り当てられたソースポートを元にトラフィックを識別し、通信制御を行う。中継サーバ5は、通信マネージャ87から通知されてきたポート番号を用いて、暗号化されたデータの転送処理を実施する。なお、通信マネージャ87及び中継サーバ5は、5-tuple情報に含まれる複数項目を組み合わせて用いて転送処理を実施しても良い。中継サーバ5/通信マネージャ87が通信トラフィックの送信元や転送先を特定するために使用する情報は適宜変更可能である。
 その後、第1アプリ91及び第2アプリ92が第1回線を使用している状態において、通信マネージャ87は第1回線の輻輳を検知すると(ステップS21 YES)、第1アプリ91、第2アプリ92の優先度を比較し、帯域制限をかけるアプリ9を選択する。ここでは一例として通信マネージャ87は、相対的に優先度の低い第2アプリ92に対して帯域制限をかけることを決定する。そして通信マネージャ87は、第2アプリ92に対して帯域制限をかける(ステップS22)。ここでの帯域制限は、通信を完全に停止させる通信遮断相当の処理であってもよいし、所定値以下での速度での通信の継続を許容するものであってもよい。なお、回線の状況によっては、通信マネージャ87は、第2アプリ92だけでなく、第1アプリ91にも帯域制限を実施しうる。
 通信マネージャ87は、帯域制限の開始とともに/それに先立って、帯域制限の理由に応じた帯域制限通知を生成し(ステップS23)、第2アプリ92に送信する(ステップS24)。例えば通信マネージャ87は、優先度負けあるいはトラフィック急増による帯域制限をかけることを示す帯域制限通知を送信する。第2アプリ92の通知レベルが2又は3に設定されている場合、通信マネージャ87は、推奨制御内容や補足情報を含むメッセージを送信してよい。通信マネージャ87は、再開指示待機/一定時間待機を推奨する帯域制限通知を送信してもよい。
 第2アプリ92は、通信マネージャ87からの帯域制限通知の受信に反応して、帯域制限の開始を承諾する旨の応答メッセージ(いわゆるAck)を送信する(ステップS25)。そして、受信した帯域制限通知に示される理由/推奨制御内容/補足情報等に基づいて、例えばサーバ4とのデータ通信を休止する(ステップS26)。なお、通信の休止は、帯域制限通知に対するリカバリ処理の一例であって、別途、回線切替などの処理を実行しても良い。リカバリ処理とは、帯域制限等に対して臨時的に実施する処理を指す。通信の休止や、回線切替、通信タイミングの変更などがリカバリ処理に相当する。また、ファイル圧縮方式の変更や、送信データの間引き(厳選)処理など、通常時には実施しない、トラフィック量を抑制するための処理もまた、リカバリ処理に含まれうる。さらに、通信関連以外にも、サービスの停止/品質劣化を他のアプリ9/ECU7/ユーザに通知する処理もリカバリ処理の一例に相当する。リカバリ処理は、帯域制限/通信トラブルに対する応答制御に相当する。なお、第1アプリ91とサーバ4とのデータ通信は継続されうる。
 さらにその後、図17に示すように通信マネージャ87は第1回線の輻輳が解消したことを検知すると(ステップS31 YES)、第2アプリ92に対する帯域制限を解除する(ステップS32)。そして、通信マネージャ87は第2アプリ92に対して、再開許可通知を送信する(ステップS33)。再開許可通知は、帯域制限が解除したことを示すメッセージの一種に相当する。第2アプリ92は、再開許可通知を受信したことに基づいてAckを返送するとともに(ステップS34)、第1回線を用いた通信を再開する(ステップS35)。
 <輻輳発生時の応答方針の補足>
 なお、図16、図17では第1回線の輻輳に対する処置として、通信マネージャ87は、第2アプリ92に通信を休止させる態様について述べたが、これに限らない。第1回線の輻輳に対し、通信マネージャ87は図18に示すように、第2アプリ92の使用回線を第2回線に切り替えさせてもよい。また、変更先の通信回線は、第2回線ではなく、Wi-Fi回線であっても良い。さらに、通信回線の切り替えは、通信マネージャ87ではなく、第2アプリ92が主体となって実施しても良い。なお、図18に示す第1キューq1は、第1回線で送信されるデータ用のキューであり、第2キューq2は、第2回線で送信されるデータ用のキューである。
 また、第1回線の輻輳に対し、通信マネージャ87は、第2アプリ92にタイミングシフトを提案してもよい。通信マネージャ87は第2アプリ92に対して、補足情報としてトラフィック予測データを含む帯域制限通知を送信してもよい。トラフィック予測データは、図19に示すように、今後所定時間以内のトラフィック量の推移、換言すれば競合確率の推移を示すデータである。競合確率は、無線通信装置8が利用可能な通信帯域に対する送信トラフィック量の比率をもとに算出されうる。図中のT1a、T2aは、当初予定していた通信タイミングを示しており、T1b、T2bは変更後の通信タイミングを示している。
 第2アプリ92は、通信マネージャ87から提供されたトラフィック予測データをもとに、競合確率が低いタイミングを決定し、変更後のスケジュールでデータ通信を実施しうる。このように通信マネージャ87は、補足情報の提供により、アプリ9の通信タイミングを間接的に制御しても良い。
 <帯域制限通知に対するアプリの応答についての補足>
 アプリ9は、図20に示すように、帯域制限通知を受信すると(ステップS41 YES)、当該通知に示される理由等に基づき、応答方針、換言すればリカバリ処理の内容を決定する(ステップS42)。仮に帯域制限通知に推奨制御内容が含まれている場合、応答方針の決定には、推奨制御を実行するか否か、つまり通信マネージャ87からの提案に従うか否かを決定することが含まれる。帯域制限通知に対してどのように応答するかはアプリ9ごとに予めプログラムされている。アプリ9は、通信の抑制に向けた制御を実行する場合には通信マネージャ87に対してAckを返送し、決定した制御を開始する(ステップS43)。一方、アプリ9は、通信の抑制に向けた制御を実行しないことを決定した場合には、帯域制限通知に対する否定的な応答としてNackを通信マネージャ87に返送しうる。
 なお、アプリ9は、推奨制御として回線切替が提案されている場合、通信マネージャ87に対して、第2回線やWi-Fi回線など、利用可能な回線への切替要求を出力しうる。つまり、アプリ9は通信マネージャ87との協働により、使用回線の切替を実施しうる。また、アプリ9は、推奨制御として、タイミングシフトが提案されている場合には、トラフィック予測データをもとに通信タイミングを決定し、当該タイミングでの通信を実行する。その他、アプリ9は、帯域制限に対する応答方針として通信の休止を決定した場合には、通信マネージャ87からの再開許可通知を待機する。
 <帯域制限通知の送信態様の補足>
 以上では、帯域制限をかけることを決定したタイミングで、第2アプリ92に対して帯域制限通知を送信する態様について述べたが、帯域制限通知の送信タイミングはこれに限定されない。通信マネージャ87は、アプリ9毎の通知条件に従って、帯域制限通知を送信可能である。例えば第2アプリ92の通知条件が、10秒以内に帯域制限が予見される場合と規定されている場合には、当該条件が充足したタイミングで帯域制限通知を送信しうる。この場合の帯域制限通知は帯域制限予告と称する事もできる。
 また第2アプリ92の通知条件が、帯域制限が5秒以上続く場合と規定されている場合には、通信マネージャ87は、帯域制限の継続時間が5秒以上となることが予見される場合に第2アプリ92に対して帯域制限通知を発信しうる。上記設定の場合、帯域制限が5秒以内に解除できる見込みがある場合には、通信マネージャ87は帯域制限通知の送信を省略可能である。
 また第2アプリ92の通知条件が、重度の輻輳が生じた場合と規定されている場合には、通信マネージャ87は、重度の輻輳が生じた場合にのみ第2アプリ92に対して帯域制限通知を発信しうる。上記設定の場合、輻輳のレベルが軽度である場合には、通信マネージャ87は帯域制限通知の送信を省略可能である。通信マネージャ87は、帯域制限通知に限らず、回線切断通知なども通知条件に従ったタイミングで送信する。
 <アプリの応答に対する通信マネージャの作動について>
 通信マネージャ87は、図21に示すように帯域制限通知を送信してから所定時間経過しても、通知先のアプリ9からの応答が得られなかった場合には(ステップS51 NO)、帯域制限通知を再送しても良い(ステップS52)。また、アプリ9から受信した帯域制限通知に対する応答がAckではなかった場合(ステップS53 NO)、当該アプリ9に対する通知レベルを1段階下げても良い(ステップS54)。Ackを受信できなかった場合には、Nack等の否定的な応答を受信した場合も含まれる。
 なお、ステップS52は通知レベルを下げる処理であっても良い。また、通信マネージャ87は帯域制限通知を所定回数送信してもアプリ9からのAckが得られなかった場合には、当該アプリの通知レベルを下げても良い。通知レベルを下げる事により、通信マネージャ87からの提案に従わないアプリ9に対する補足情報の生成等の処理が省略可能となる。その結果、通信マネージャ87の処理負荷を低減可能となる。通信マネージャ87は、アプリ9の通知レベルとして、帯域制限通知の送信を停止するレベル0を設定可能に構成されていても良い。帯域制限通知等に対する応答の受信状況に基づいて変更された通知レベルは、走行用原電のオンオフに伴ってリセットされても良い。
 <回線割当の補足>
 アプリ9に対する回線割当に際し、通信マネージャ87は、通信回線毎のステータスを確認する。ここでのステータスには、ネットワーク側装置から割り当てられている通信帯域の大きさや、空き容量、割当周波数などを含めることができる。また、通信回線毎のステータスには、回線状態取得部F2によって逐次評価されている通信回線毎のスループットやRTTなども含めることができる。もちろん、セルラー回線のステータス情報には、ネットワーク側装置から通知されるパケット転送の優先順位や、目標遅延時間、パケットロス率などを含めることができる。在圏セル毎のRSRPや、RSSI、RSRQなどもセルラー回線のステータスとして援用可能である。Wi-Fi回線が利用可能であるか否かもWi-Fi回線のステータスに含まれる。本開示ではこのような各通信回線の現況を確認する処理(工程)を、回線状況確認処理とも呼ぶ。
 通信マネージャ87は、回線状況確認処理により取得した回線毎のステータスに基づいて、通信要求元としてのアプリ9に割り当てる通信回線を選択する。アプリ9に割り当てる通信回線は、アプリ9から通知された通信条件を充足する通信回線、或いは、通信条件を充足する見込みがある通信回線である。通信マネージャ87は、複数の回線のうち、許容RTTや、最小帯域、平均サイズなどといった通信条件を充足する回線が割当回線として選択する。
 <効果>
 ここでは以上で述べた構成である提案構成の利点について、比較構成を導入して説明する。比較構成は、アプリ9に対して帯域制限をかけた場合に通信マネージャ87が対象とするアプリ9に何も通知しない構成である。比較構成のように、通信マネージャ87がアプリ9に対して帯域制限をかけたことを通知しない場合、当該アプリ9側では、サーバ4から応答が返ってこない理由が不明である。なお、ここでのアプリ9側とは、アプリ9本体とその下位に位置するTCP層などを指す。
 そのため、図22に示すようにアプリ9側では、所定の間隔でTCPリトライが繰り返されうる。加えて、アプリ9自身もまた、タイムアウトが発生するまで、再送処理を実行しうる。つまり、通信マネージャ87が対象アプリに対して帯域制限をかけたことを通知しない場合、サーバ4と通信不能であることをすぐには認識できず、サーバ4からの応答を待機する状態が継続しうる。換言すれば、帯域制限の影響伝搬に時間がかかる。加えて、アプリ9又はアプリ側TCPが何度もリトライを実施する結果として、通信マネージャ87の処理負荷が増加し、実行スループットのさらなる低下が生じうる。
 そのような課題に対し、上記提案構成によれば、通信マネージャ87が或るアプリ9に帯域制限をかけた場合には速やかに帯域制限通知を送信する。当該構成によれば、アプリ9はタイムアウト等を待たずに、サーバ4との通信が困難/不能であることを認識可能となる。ひいては、サーバ4との通信が困難/不能であることを踏まえ、速やかに適切な応答制御(リカバリ処理)を実行可能となる。また、アプリ9側が不毛なリトライを繰り返すことを抑制する効果も期待できる。
 さらに、上記提案構成の通信マネージャ87は、帯域制限がかかっているという事実だけでなく、制限理由もアプリ9に通知する。当該構成によれば、アプリ9は、サーバ4からの応答が返ってこない理由を認識できる。またその結果としてアプリ9は、回線切替や、タイミングシフトなど、制限理由に応じた適切な応答を選択可能となりうる。
 また、通信マネージャ87は、アプリ9に対して制限理由、換言すれば通信状況/内部状態に応じた推奨制御内容をアプリ9に通知する。当該構成によれば、アプリ9は、通信状況/内部状態に応じたリカバリ処理を実施しやすくなる。特に、上記提案構成における通信マネージャ87は、推奨制御内容に合わせて、より細かい制御を可能とするための補足情報もアプリ9に提供する。当該構成によれば、アプリ9は、アプリ9の事情/特性に応じたリカバリ処理を実施可能となる。
 以上では通信マネージャ87としての通信プロセッサ81が、帯域制限実行時/輻輳発生時に、関連するアプリ9に対して帯域制限通知を送信する場合の効果について述べたが、回線切断通知や速度低下通知を送信する場合も同様の効果が得られる。
 その他、上述した実施形態では、アプリ9ごとの通知レベルに応じて、当該アプリ9に通知する内容を変更する。当該構成は、全てのアプリ9に一律的な情報を配信するのではなく、アプリ9ごとの要望に応じた情報を提供する構成に相当する。当該構成によれば、アプリ9がより適正なリカバリ処理を実行可能となりうる。また、アプリ9がリカバリ処理を実施する上で必要十分な情報を提供可能となる。なお、通知レベルに応じた通知内容の変更は任意の要素であって省略されても良い。
 上述した実施形態では、アプリ9ごとの通知条件に応じて、当該アプリ9に通信状況通知を送信するタイミングを変更する。当該構成によれば、アプリ9ごとの要望に応じたタイミングで、通信状況を把握可能となる。それに伴い、アプリ9はより適正なリカバリ処理を実行可能となりうる。なお、アプリ9毎の通知条件に応じた通知タイミングの調整は任意の要素であって省略されても良い。
 以上、本開示の実施形態を説明したが、本開示は上述の実施形態に限定されるものではなく、以降で述べる種々の変形例も本開示の技術的範囲に含まれ、さらに、下記以外にも要旨を逸脱しない範囲内で種々変更して実施することができる。下記の種々の補足や変形例などは、技術的な矛盾が生じない範囲において適宜組み合わせて実施することができる。なお、以上で述べた部材と同一の機能を有する部材については、同一の符号を付し、その説明を省略することがある。また、構成の一部のみに言及している場合、他の部分については上記説明を適用することができる。
 例えば上述した実施形態では、帯域制限機能は通信マネージャ87のみが備える構成、換言すれば、通信マネージャ87が各アプリ9の通信トラフィックを集中制御する構成について述べたがこれに限らない。図23に示すようにアプリ9もまた、帯域制限機能を備えていても良い。帯域制限機能は、通信マネージャ87及びアプリ9に分散配置されていても良い。
 アプリ9が帯域制限機能を備える場合、通信マネージャ87は輻輳の検知を随時行い、輻輳の発生を検知したことに基づき、一部又は全部のアプリ9に対して帯域制限要求を発信する(図24 ステップS61)。帯域制限要求は、輻輳の発生を通知するメッセージに相当する。帯域制限要求は、所定時間当りの通信量の上限値、或いは、トラフィック量の削減目標値を含んでいても良い。アプリ9は、通信マネージャ87からの帯域制限要求に従い、帯域制御を実施する。通信マネージャ87は、帯域制限要求を送信したアプリ9のその後の通信量/挙動を監視し(ステップS62)、通信量の削減がなされたかどうかを判断する(ステップS63)。そして、通信量の削減が確認できなかったアプリ9に対しては、通信マネージャ87にて帯域制限をかける(ステップS64)。
 このように通信マネージャ87は帯域制限要求に従わないアプリ9に関しては、通信マネージャ87にて強制的に帯域制限を実施しても良い。当該構成によれば、通信マネージャ87の処理負荷を低減でき、チップ温度上昇等によるスループットの低下を抑制可能となる。
 その他、通信マネージャ87が無線区間での輻輳を検知することは任意の要素であって、必須の要素ではない。通信マネージャ87は、輻輳の検知は実施せずに、輻輳以外の少なくとも1つの事象の発生を検出し、当該検出事象の発生をアプリ9に通知するように構成されていても良い。アプリ9とサーバ4との通信に影響を与える輻輳以外の事象とは、例えばチップ温度上昇や、高負荷状態、回線切断、干渉発生、契約上限到達などである。また、通信マネージャ87は、輻輳検知にもとづく帯域制限は実施せずに、輻輳/通信速度の低下、回線遮断など、通信状況の事実のみをアプリ9に通知するように構成されていても良い。
 <付言(1)>
 本開示には、次の構成も含まれる。
 [構成(1)]
 車両で動作するアプリケーションと車両外部に存在する外部装置とのデータ通信を制御する通信制御装置であって、
 自装置が利用可能な少なくとも1つの通信回線の状態を監視し、通信回線が切断されたことを検知することと、
 通信回線が切断されたことを検知したことに基づいて、切断された通信回線を利用していたアプリケーションに対し、使用していた通信回線が利用不能となったことを示す通知を送信することと、を実施するように構成されている通信制御装置。
 上記の構成によれば、通信回線が切断された場合、アプリはその旨を通信のタイムアウトを待たずに(つまり速やかに)認識可能となる。それに伴い、アプリ側の不毛なリトライの実施の抑制や、アプリ/通信制御装置の処理負荷低減といった効果が期待できる。なお、通信回線の切断とは、通信接続の切断に相当する。通信回線の切断が生じる場合としては、通信圏外への移動、システム障害、電波環境の悪化などである。通信圏外には、山奥などの郊外の他、地下駐車場やトンネル内も含まれうる。
 [構成(2)]
 車両で動作するアプリケーションと車両外部に存在する外部装置とのデータ通信を制御する通信制御装置であって、
 自装置が利用可能な少なくとも1つの通信回線における通信速度を取得することと、
 通信速度が所定値以下であることを検知したことに基づいて、通信速度が所定値以下である通信回線を利用しているアプリケーションに対し、使用回線が低速状態であることを示す通知を送信することと、を実施するように構成されている通信制御装置。
 上記の構成によれば、アプリは使用回線の通信速度が何らかの事情により所定値以下となっていることを速やかに認識可能となる。ひいては、アプリによる不毛なリトライの実施の抑制や、アプリ/通信制御装置の処理負荷低減といった効果が期待できる。
 <付言(2)>
 本開示に記載の装置、システム、並びにそれらの手法は、コンピュータプログラムにより具体化された1つ又は複数の機能を実行するようにプログラムされたプロセッサを構成する専用コンピュータにより、実現されてもよい。また、本開示に記載の装置及びその手法は、専用ハードウェア論理回路を用いて実現されてもよい。さらに、本開示に記載の装置及びその手法は、コンピュータプログラムを実行するプロセッサと一つ以上のハードウェア論理回路との組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。通信プロセッサ81が備える機能の一部又は全部はハードウェアとして実現されても良い。或る機能をハードウェアとして実現する態様には、1つ又は複数のICなどを用いて実現する態様が含まれる。プロセッサ(演算コア)としては、CPUや、MPU、GPU、DFP(Data Flow Processor)などを採用可能である。また、通信プロセッサ81が備える機能の一部又は全部は、複数種類の演算処理装置を組み合わせて実現されていてもよい。通信プロセッサ81が備える機能の一部又は全部は、システムオンチップ(SoC:System-on-Chip)や、FPGA、ASICなどを用いて実現されていても良い。FPGAはField-Programmable Gate Arrayの略である。ASICはApplication Specific Integrated Circuitの略である。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体(non- transitory tangible storage medium)に記憶されていてもよい。プログラムの保存媒体としては、HDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等を採用可能である。

Claims (15)

  1.  第1のネットワークに接続する装置により実施されるアプリケーションによる通信であって、前記第1のネットワークとは異なる第2のネットワークに接続する外部装置との通信を制御する通信制御装置であって、
     前記外部装置と通信するための通信回線の状態を監視し、前記通信回線における輻輳の発生を検知し、
     輻輳の発生を検知したことに基づいて、輻輳を検出している前記通信回線を使用中の前記アプリケーションに対し、使用回線が輻輳していることを示す通知を送信するように構成されている通信制御装置。
  2.  請求項1に記載の通信制御装置であって、
     前記通知は、使用回線が輻輳していること、及び、その理由を示す信号である通信制御装置。
  3.  請求項1に記載の通信制御装置であって、
     前記通信回線の輻輳を検知したことに基づいて、前記アプリケーションに対して帯域制限をかけ、
     帯域制限をかける前記アプリケーションに対しては前記通知を出力するように構成されている通信制御装置。
  4.  請求項3に記載の通信制御装置であって、
     前記通知は、前記アプリケーションの通信速度に制限がかけられていること、及び、その理由を示す信号である通信制御装置。
  5.  請求項3又は4に記載の通信制御装置であって、
     帯域制限がかけられている前記アプリケーションに対し、帯域制限に対する応答制御を決定するための参考情報を送信するように構成されている通信制御装置。
  6.  請求項5に記載の通信制御装置であって、
     前記参考情報は、自装置が推奨する制御の内容、帯域制限の理由が解消するまでの予測時間、前記通信回線を流れる時間ごとのトラフィック量の予測データ、通知時点において利用可能な前記通信回線の情報、地点ごとの通信品質を示す電波マップ、及び、次回通信可能なタイミングの少なくとも何れか1つである通信制御装置。
  7.  請求項5又は6に記載の通信制御装置であって、
     前記アプリケーションから、当該アプリケーションが通知を希望する前記参考情報の細かさ又は量を示す通知レベルを取得し、
     帯域制限がかけられている前記アプリケーションに対し、当該アプリケーションによって指定されている前記通知レベルに応じた前記参考情報を提供するように構成されている通信制御装置。
  8.  請求項2から7の何れか1項に記載の通信制御装置であって、
     前記アプリケーションから、当該アプリケーションが前記通知の送信を希望する条件である通知条件を取得し、
     前記通知条件が充足したことに基づいて前記アプリケーションに対して前記通知を送信するように構成されている通信制御装置。
  9.  請求項1から8の何れか1項に記載の通信制御装置であって、
     前記通信回線の輻輳を検知したことに基づいて、前記アプリケーションに対して、所定時間当りの通信量を所定値以下に制限するように要求する帯域制限要求を出力するように構成されている通信制御装置。
  10.  請求項9に記載の通信制御装置であって、
     前記帯域制限要求を送信した前記アプリケーションが前記帯域制限要求に従っているかどうかを判断し、
     前記アプリケーションが前記帯域制限要求に従っていない場合には、前記アプリケーションに対して帯域制限をかけるように構成されている通信制御装置。
  11.  請求項1から10の何れか1項に記載の通信制御装置であって、
     前記通信回線の切断を検出した場合には、切断された前記通信回線を利用していた前記アプリケーションに対して、使用回線が利用不能となったことを示す回線切断通知を送信するように構成されている通信制御装置。
  12.  請求項1から11の何れか1項に記載の通信制御装置であって、
     前記通信回線の通信速度を取得し、
     前記通信速度が所定値以下である前記通信回線が存在する場合には、当該通信速度が所定値以下の前記通信回線を利用している前記アプリケーションに対して、低速状態であることを示す速度低下通知を送信するように構成されている通信制御装置。
  13.  前記第1のネットワークに接続する少なくとも一つ以上の装置により実施される複数のアプリケーションの通信を制御する、請求項3に記載の通信制御装置であって、
     複数の前記アプリケーションのうち、帯域制限をかけない前記アプリケーションに対しては前記通知を出力しないように構成されている通信制御装置。
  14.  第1のネットワークに接続する装置により実施されるアプリケーションによる通信であって、前記第1のネットワークとは異なる第2のネットワークに接続する外部装置との通信を制御する通信制御装置による通信制御方法であって、
     前記外部装置と通信するための通信回線の状態を監視し、前記通信回線における輻輳の発生を検知し、
     輻輳の発生を検知したことに基づいて、輻輳を検出している前記通信回線を使用中の前記アプリケーションに対し、使用回線が輻輳していることを示す通知を送信する通信制御方法。
  15.  外部装置とデータ通信を実施するアプリケーションを実行する装置に、
     前記アプリケーションと前記外部装置との通信を制御する通信制御装置(8)から、前記アプリケーションの通信に用いられる通信回線に輻輳が生じていることを示すメッセージを取得することと、
     前記通信回線の輻輳が生じていることを示す前記メッセージを受信した場合に、前記外部装置との通信を制限することと、を実行させる命令を含むアプリケーション用制御プログラム。
PCT/JP2022/047684 2022-01-06 2022-12-23 通信制御装置、通信制御方法、及びアプリケーション用制御プログラム WO2023132277A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022001157A JP2023100458A (ja) 2022-01-06 2022-01-06 通信制御装置、通信制御方法、及びアプリケーション用制御プログラム
JP2022-001157 2022-01-06

Publications (1)

Publication Number Publication Date
WO2023132277A1 true WO2023132277A1 (ja) 2023-07-13

Family

ID=87073611

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/047684 WO2023132277A1 (ja) 2022-01-06 2022-12-23 通信制御装置、通信制御方法、及びアプリケーション用制御プログラム

Country Status (2)

Country Link
JP (1) JP2023100458A (ja)
WO (1) WO2023132277A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004251710A (ja) * 2003-02-19 2004-09-09 Denso Corp 交通情報提供システム及び交通情報提供方法
JP2018502503A (ja) * 2013-03-29 2018-01-25 インテル アイピー コーポレイション ネットワーク輻輳の間のユーザ装置におけるアプリケーションカテゴリのプロビジョニング
JP2018042118A (ja) * 2016-09-07 2018-03-15 ソフトバンク株式会社 通信システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004251710A (ja) * 2003-02-19 2004-09-09 Denso Corp 交通情報提供システム及び交通情報提供方法
JP2018502503A (ja) * 2013-03-29 2018-01-25 インテル アイピー コーポレイション ネットワーク輻輳の間のユーザ装置におけるアプリケーションカテゴリのプロビジョニング
JP2018042118A (ja) * 2016-09-07 2018-03-15 ソフトバンク株式会社 通信システム

Also Published As

Publication number Publication date
JP2023100458A (ja) 2023-07-19

Similar Documents

Publication Publication Date Title
EP3403363B1 (en) Full-duplex activation in a wireless communication system
US20230300226A1 (en) Communication control device, communication control method, and relay server
CN112789929A (zh) 管理针对集成的接入和回程的控制平面延迟
EP3902295B1 (en) Scheduling method for sidelink communication, terminal device, and network device
KR20210135339A (ko) 차량에 장착되는 tcu를 제어하는 서버에서 하향링크 데이터를 효과적으로 전송하는 방안
US20240097845A1 (en) Method and apparatus for determining transmission resource, and communication device and storage medium
JP2017103596A (ja) 通信装置
US20230199636A1 (en) Vehicle wireless communication device and communication control method
WO2023132277A1 (ja) 通信制御装置、通信制御方法、及びアプリケーション用制御プログラム
CN113923724B (zh) 流量控制方法及设备
WO2021120985A1 (zh) 通信方法及装置
WO2020001769A1 (en) Quality of service control and mobility management for advanced vehicular users of wireless network
EP4319218A1 (en) Communication system for vehicles, relay server, and communication instrument for vehicles
WO2023127070A1 (ja) 端末及び通信方法
JP2005354646A (ja) 無線通信装置
WO2024004056A1 (ja) 端末及び通信方法
WO2023139709A1 (ja) 端末及び通信方法
WO2023135659A1 (ja) 端末及び通信方法
WO2023145038A1 (ja) 端末及び通信方法
WO2024069826A1 (ja) 端末及び通信方法
WO2023145037A1 (ja) 端末及び通信方法
WO2023058208A1 (ja) 端末及び通信方法
WO2024062580A1 (ja) 端末及び通信方法
WO2023135770A1 (ja) 端末及び通信方法
WO2023152929A1 (ja) 端末及び通信方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22918861

Country of ref document: EP

Kind code of ref document: A1