WO2024018755A1 - 車載装置、サーバ装置、リソース制御方法、リソース制御支援方法、およびコンピュータプログラム - Google Patents

車載装置、サーバ装置、リソース制御方法、リソース制御支援方法、およびコンピュータプログラム Download PDF

Info

Publication number
WO2024018755A1
WO2024018755A1 PCT/JP2023/019598 JP2023019598W WO2024018755A1 WO 2024018755 A1 WO2024018755 A1 WO 2024018755A1 JP 2023019598 W JP2023019598 W JP 2023019598W WO 2024018755 A1 WO2024018755 A1 WO 2024018755A1
Authority
WO
WIPO (PCT)
Prior art keywords
vehicle
resource consumption
information
unit
area
Prior art date
Application number
PCT/JP2023/019598
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 WO2024018755A1 publication Critical patent/WO2024018755A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Definitions

  • the present disclosure relates to an in-vehicle device, a server device, a resource control method, a resource control support method, and a computer program.
  • This disclosure claims priority based on Japanese Application No. 2022-116047 filed on July 21, 2022, and incorporates all the contents described in the Japanese application.
  • next-generation connected services that enable high-speed, large-capacity communications
  • the amount of communication data between vehicles and external devices will increase.
  • the temporal fluctuation range of resource consumption (consumption of communication resources, calculation resources, etc.) in on-vehicle devices installed in vehicles also increases.
  • Patent Document 1 listed below proposes a technique related to an electronic control device for an automobile that dynamically allocates processor cores that process tasks to distribute the load.
  • the automotive electronic control device of Patent Document 1 is equipped with a multi-core processor in which a plurality of processor cores are integrated.
  • this automotive electronic control unit executes first distributed processing to distribute the load according to the load status of multiple processor cores for that task. do.
  • the automotive electronic control unit predicts changes in driving conditions and distributes the load of tasks affected by the predicted results according to the load status of multiple processor cores.
  • the second distributed processing is executed.
  • An in-vehicle device is an in-vehicle device that is installed in a vehicle, and includes a communication unit that communicates with an external device, and a communication unit that allows other vehicles other than the own vehicle to communicate with the own vehicle.
  • An information acquisition unit that acquires actual information on the resource consumption of other vehicles when traveling in the scheduled driving area; and an information acquisition unit that acquires performance information on resource consumption of other vehicles when driving in the scheduled driving area;
  • Resource consumption is reduced by an estimator that estimates resource consumption that changes over time as the vehicle travels, and by allocating the execution period of a predetermined application software to a predetermined period according to the estimation result of the estimator. and a resource control unit that controls the resources.
  • the present disclosure not only can be realized as an in-vehicle device, a server device, a resource control method, a resource control support method, and a computer program including such a characteristic configuration, but also has the characteristic features executed by the in-vehicle device or the server device. It can also be realized as a storage medium recording a program for causing a computer to execute steps. Furthermore, it can also be realized as another system or device including an in-vehicle device or a server device.
  • FIG. 1 is a diagram for explaining the overall configuration of a system according to a first embodiment.
  • FIG. 2 is a diagram for explaining a vehicle equipped with the in-vehicle device shown in FIG. 1.
  • FIG. 3 is a diagram for explaining a dynamic map.
  • FIG. 4 is a diagram for explaining resource control executed in the vehicle-mounted device shown in FIG.
  • FIG. 5 is a diagram for explaining resource control executed in the vehicle-mounted device shown in FIG.
  • FIG. 6 is a diagram illustrating a method for creating a resource consumption record map in the server device shown in FIG. 1.
  • FIG. 7 is a diagram illustrating an example of the contents of the resource consumption record map.
  • FIG. 8 is a block diagram showing an example of the functional configuration of the in-vehicle device shown in FIG. 1.
  • FIG. 8 is a block diagram showing an example of the functional configuration of the in-vehicle device shown in FIG. 1.
  • FIG. 9 is a block diagram showing an example of the hardware configuration of the in-vehicle device (GW (Gateway) device) shown in FIG. 8.
  • FIG. 10 is a block diagram showing an example of the hardware configuration of the server device shown in FIG. 1.
  • FIG. 11 is a block diagram showing an example of the functional configuration of the server device shown in FIG. 10.
  • FIG. 12 is a flowchart showing an example of a control structure of a program executed in the in-vehicle device according to the first embodiment.
  • FIG. 13 is a flowchart showing an example of a control structure of a program executed in the server device according to the first embodiment.
  • FIG. 14 is a flowchart illustrating an example of a control structure of a program executed in the server device according to the first modification.
  • FIG. 15 is a flowchart illustrating an example of a control structure of a program executed in the in-vehicle device according to the second modification.
  • FIG. 16 is a flowchart illustrating an example of a control structure of a program executed in a server device according to a second modification.
  • FIG. 17 is a flowchart illustrating an example of a control structure of a program executed in the in-vehicle device according to the third modification.
  • FIG. 18 is a flowchart illustrating an example of a control structure of a program executed in a server device according to a third modification.
  • FIG. 19 is a flowchart illustrating an example of a control structure of a program executed in a server device according to a fourth modification.
  • FIG. 16 is a flowchart illustrating an example of a control structure of a program executed in a server device according to a second modification.
  • FIG. 17 is a flowchart illustrating an example of a control structure of a program executed in the in
  • FIG. 20 is a flowchart illustrating an example of a control structure of a program executed in the in-vehicle device according to the fourth modification.
  • FIG. 21 is a diagram for explaining the configuration of the in-vehicle device according to the second embodiment.
  • FIG. 22 is a block diagram showing an example of the functional configuration of the in-vehicle device (GW device) shown in FIG. 21.
  • FIG. 23 is a flowchart showing an example of a control structure of a program executed in the in-vehicle device according to the second embodiment.
  • FIG. 24 is a block diagram illustrating an example of the functional configuration of a server device according to the third embodiment.
  • FIG. 25 is a block diagram illustrating an example of a functional configuration of an in-vehicle device (GW device) according to the third embodiment.
  • FIG. 26 is a flowchart showing an example of a control structure of a program executed in the server device according to the third embodiment.
  • FIG. 27 is a flowchart illustrating an example of a control structure of a program executed in the in-vehicle device according to the third embodiment.
  • An object of the present invention is to provide an in-vehicle device, a server device, a resource control method, a resource control support method, and a computer program.
  • the in-vehicle device is an in-vehicle device that is installed in a vehicle, and includes a communication unit that communicates with an external device, and a communication unit that communicates with a vehicle other than the own vehicle through the communication unit.
  • An information acquisition unit that acquires actual information on resource consumption of other vehicles when the vehicle travels in the area where the vehicle is scheduled to travel; an estimating unit that estimates resource consumption that changes over time as the own vehicle travels; and assigning an execution period of a predetermined application software to a predetermined period according to the estimation result of the estimating unit.
  • a resource control unit that controls resource consumption.
  • the information acquisition unit acquires actual information on the amount of resources consumed by another vehicle when the other vehicle, which is a vehicle other than the own vehicle, travels in the area in which the own vehicle is scheduled to travel. Based on the acquired performance information, the estimator estimates resource consumption that changes over time as the host vehicle travels. That is, based on this performance information, the load increase due to communication with the outside of the vehicle when the own vehicle travels in the planned travel area is predicted.
  • the resource control unit controls resource consumption by allocating the execution period of predetermined application software to a period that avoids high load times, for example. Thereby, the in-vehicle device can suppress a decrease in responsiveness even under high load caused by communication with the outside of the vehicle.
  • the occurrence of services that do not meet the allowable delay time can be suppressed without installing a high-performance processor in the in-vehicle device.
  • the estimating unit calculates the resource consumption due to the execution of application software that requires real-time processing, which varies depending on the travel section of the planned travel area.
  • the resource control unit estimates resource consumption for each traveling section, and the resource control unit allocates the execution period of application software that does not require real-time processing to a predetermined period according to the estimation result of the estimation unit. It may also be configured to control consumption. With this configuration, it is possible to allocate an execution period for application software that does not require real-time performance to a period when resources are available. That is, it is possible to prevent application software that does not require real-time performance from being executed during a period when resource consumption increases due to the execution of application software that requires real-time performance.
  • the execution period of the application software can be distributed, so that it is possible to easily suppress a decrease in responsiveness during a high load caused by communication with the outside of the vehicle.
  • whether or not real-time performance is required in the application software can be determined based on, for example, whether the allowable delay time in communication is less than or equal to a predetermined threshold.
  • the external device collects resource consumption performance information from a plurality of other vehicles and, based on the collected performance information, assigns resource consumption performance to the driving section of the planned driving area.
  • the information acquisition unit acquires the resource consumption performance map as performance information from the server device via the communication unit, and the estimation unit includes a server device that creates a resource consumption performance map in which the resource consumption
  • the configuration may be such that the resource consumption amount of each travel section in the planned travel area is estimated based on the track record map.
  • the external device includes an in-vehicle device mounted on another vehicle that is a vehicle other than the own vehicle, and the information acquisition unit is configured to communicate with the host vehicle while the own vehicle is running through the communication unit.
  • the estimation unit obtains actual information on resource consumption in the scheduled driving area from the on-board devices of other vehicles that have traveled in the scheduled area, and the estimation unit calculates the amount of resources consumed in the scheduled driving area based on the actual resource consumption information acquired from the on-board devices of other vehicles.
  • the configuration may be such that the resource consumption amount of each traveling section is estimated. This also makes it possible to easily estimate the amount of resource consumption that changes over time as the host vehicle travels. Therefore, it is possible to easily suppress a decrease in responsiveness during high load due to communication with the outside of the vehicle.
  • the resource control unit during the scheduled travel period of the travel section in which the ratio of the resource consumption estimated by the estimation unit to the resource usage upper limit is equal to or less than a predetermined value, A configuration may be adopted in which an execution period is allocated to application software that does not require real-time processing execution. As a result, the execution period of application software that does not require real-time performance can be easily set to a period other than when the load is high.
  • the predetermined value may be set based on the resource consumption of application software that does not require real-time performance.
  • an execution period for application software that does not require real-time performance can be set during a period in which resources for executing application software that does not require real-time performance are secured.
  • the actual performance information is set for each traveling section of the scheduled driving area, and the actual value of the resource consumption of other vehicles that traveled in the scheduled driving area is divided into multiple stages.
  • the configuration may include quantized quantization information. That is, quantization information is set for each travel section of the planned travel area, and the performance information includes this quantization information. This makes it possible to reduce the data amount of performance information, making it easier for the information acquisition unit to acquire performance information.
  • the information acquisition unit may be configured to acquire performance information before the host vehicle enters the planned travel area.
  • the information acquisition unit may be configured to acquire performance information immediately before entering the planned travel area, or from several seconds to several minutes before.
  • the information acquisition unit before entering the scheduled driving area, it is possible to predict an increase in load due to communication with the outside of the vehicle when the own vehicle travels in the scheduled driving area.
  • the information acquisition unit may be configured to request the external device to transmit performance information before the own vehicle enters the scheduled driving area. good. Thereby, performance information can be acquired before the own vehicle enters the planned driving area.
  • time information indicating the date and time when the performance information was generated is added to the performance information, and the estimating unit calculates the date and time indicated by the time information and the current
  • the configuration may be such that the resource consumption amount, which changes over time as the host vehicle travels, is estimated based on the comparison result.
  • the amount of resource consumption can be estimated using the performance information created at a new date and time, so that the accuracy of estimating the amount of resource consumption can be improved.
  • a server device is a server device capable of communicating with an in-vehicle device installed in a vehicle, and includes an information collection unit that collects resource consumption performance information from a plurality of vehicles. , Receiving information regarding the planned driving area from the in-vehicle device, and creating a resource consumption performance map in which the resource consumption results are set for the driving sections of the planned driving area based on the performance information collected by the information collection unit.
  • an execution period extraction section that extracts a recommended execution period for recommending the execution of application software that does not require real-time processing during the driving period of the planned driving area, based on the resource consumption performance map; and a notification section that notifies the in-vehicle device that has transmitted the information regarding the planned driving area of the recommended execution period extracted by the section.
  • the server device collects resource consumption performance information from a plurality of vehicles and creates a resource consumption performance map.
  • the server device extracts a recommended execution period for recommending execution of application software that does not require real-time performance, based on the created resource consumption performance map, and notifies the in-vehicle device of the extracted recommended execution period.
  • the in-vehicle device distributes the execution period of the application software by assigning the execution period of the application software that does not require real-time performance to the recommended execution period. Thereby, the in-vehicle device can easily suppress a decrease in responsiveness during a high load caused by communication with the outside of the vehicle.
  • the server device notifies the in-vehicle device of the recommended execution period for application software that does not require real-time performance, thereby suppressing the drop in responsiveness of the in-vehicle device during high loads caused by communication with outside the vehicle. can be made possible.
  • a server is a server device that can communicate with an in-vehicle device installed in a vehicle, and includes an information collection unit that collects resource consumption performance information from a plurality of vehicles; Based on the collected performance information, there is a performance map creation unit that creates a resource consumption performance map with resource consumption performance set for driving sections in a predetermined area, and a resource consumption performance map created by the performance map creation unit is mounted on the vehicle. and a distribution unit that distributes the information to the device.
  • the server device By distributing the resource consumption actual map to the on-vehicle device, the server device enables the on-vehicle device to suppress a decrease in responsiveness during high loads caused by communication with outside the vehicle in vehicles equipped with the on-board device. I can support you.
  • a resource control method is a resource control method in an in-vehicle device installed in a vehicle, in which the in-vehicle device communicates with an external device other than the own vehicle through a communication unit that communicates with an external device.
  • a resource control support method is a resource control support method that is executed in a server device capable of communicating with an in-vehicle device installed in a vehicle, and supports control of resource consumption in the vehicle. Based on the performance information collected in the step in which the server device collects resource consumption performance information from a plurality of vehicles and the step in which the server device receives and collects information regarding the planned driving area from the on-vehicle device, A step of creating a resource consumption record map in which resource consumption records are set for travel sections in the planned travel area, and a server device executes application software that does not require real-time processing during the travel period of the planned travel area.
  • the computer program according to the fifth aspect of the present disclosure allows a computer installed in a vehicle to communicate with an external device, a communication unit that communicates with an external device, and a communication unit that allows other vehicles other than the own vehicle to communicate with the own vehicle.
  • an information acquisition unit that acquires actual information on the resource consumption of other vehicles when traveling in the planned driving area;
  • the resource consumption is estimated by an estimator that estimates resource consumption that changes over time as the vehicle travels, and by allocating the execution period of a predetermined application software to a predetermined period according to the estimation result of the estimator. function as a resource control unit that controls the This makes it possible to suppress a decrease in responsiveness during high loads caused by communication with outside the vehicle.
  • the computer program includes an information collection unit that collects resource consumption performance information from a plurality of vehicles from a plurality of vehicles; Based on the performance information collected by the department, the performance map creation department creates a resource consumption performance map in which resource consumption results are set for the travel sections of the planned travel area.
  • An execution period extraction unit extracts a recommended execution period for recommending the execution of application software that does not require performance based on the resource consumption record map, and a It functions as a notification unit that notifies the in-vehicle device that sent the message. Thereby, it is possible to support the in-vehicle device to suppress a decrease in responsiveness during a high load caused by communication with the outside of the vehicle.
  • a system 30 includes an on-vehicle device 200 mounted on a vehicle 100 and a server device 500 communicating with the on-vehicle device 200.
  • the server device 500 is an external device (infrastructure device) installed outside the vehicle.
  • Server device 500 may be a cloud server or an edge server.
  • the number of vehicles (vehicle-mounted devices) that communicate with the server device 500 is not limited to one, but may be multiple.
  • This system 30 predicts a load increase in the vehicle 100 due to communication with the outside of the vehicle, and schedules the execution period of predetermined application software (hereinafter, "application software” is simply referred to as “app”).
  • application software is simply referred to as “app”
  • the server device 500 supports prediction of a load increase on the on-vehicle device 200 by providing the on-vehicle device 200 with a resource consumption record map, which will be described later.
  • the in-vehicle device 200 predicts a load increase due to communication with outside the vehicle based on the resource consumption performance map provided by the server device 500, and allocates an execution period of a predetermined application to a period when resources are available. In this manner, the in-vehicle device 200 suppresses a decrease in responsiveness even under high load due to communication with outside the vehicle by distributing the execution period of the application.
  • in-vehicle device 200 can also communicate with server devices (infrastructure devices 50) other than server device 500 that constitutes system 30.
  • server devices infrastructure devices 50
  • the vehicle 100 on which the vehicle-mounted device 200 is mounted is equipped with various sensors such as a millimeter-wave radar 110, a vehicle-mounted camera 112, and a LiDAR (Laser Imaging Detection and Ranging) 114.
  • the in-vehicle device 200 collects sensor data from these sensors and wirelessly transmits it to the infrastructure device 50, or receives various information including a dynamic map from the infrastructure device 50.
  • the infrastructure device 50 receives sensor data transmitted from on-vehicle sensors mounted on vehicles, roadside sensors mounted on roadside devices, etc., and creates a dynamic map used for safe driving support and the like.
  • the infrastructure device 50 distributes the created dynamic map to vehicles.
  • a dynamic map 60 detects a moving object existing in a real space 62 using a large number of sensors such as LiDAR and cameras, and identifies its attributes (adult, child, vehicle, two-wheeled vehicle, etc.). It is estimated and created using high-definition road map data prepared in advance in virtual space.
  • the dynamic map 60 includes dynamic information such as surrounding vehicle and pedestrian information, semi-dynamic information such as accident information and traffic jam information, quasi-static information such as traffic regulation or road construction schedule information, and road surface information. and static information such as lane information (high-precision three-dimensional map information).
  • the in-vehicle device 200 receives various information including a dynamic map from the infrastructure device 50, and provides various information such as safe driving support to the passenger based on the received information. do.
  • the infrastructure device 50 is configured to remotely monitor (remote monitor) the vehicle 100 on which the in-vehicle device 200 is mounted, or remotely control the vehicle 100 (remote control), as necessary. Good too.
  • the infrastructure device 50 By connecting the in-vehicle device 200 of the vehicle 100 with the infrastructure device 50, it becomes possible to provide various services such as safe driving support to the occupant of the vehicle 100. Provision of these services is realized in the in-vehicle device 200 by executing a service application in the in-vehicle device 200.
  • the services provided may depend on the location characteristics of the driving area. For example, near an intersection, the in-vehicle device 200 downloads a dynamic map in order to provide the driver with information on blind spots such as right-turning vehicles and pedestrians. Further, for example, in a place with a lot of pedestrian traffic or a place with traffic jams, the in-vehicle device 200 uploads sensor data collected by its own vehicle to the infrastructure device 50 that constructs a dynamic map.
  • resource consumption in the vehicle 100 increases due to communication with the infrastructure device 50 outside the vehicle by executing a service application that communicates with the infrastructure device 50. That is, when the vehicle 100 enters an area where communication with the outside of the vehicle is required, resource consumption increases. In such a situation, the amount of resource consumed by vehicle 100 not only increases, but also changes over time as vehicle 100 travels. Therefore, if it is possible to predict temporal fluctuations in resource consumption when driving in such areas, it will be easier to cope with the high load caused by communication with the outside of the vehicle.
  • the resource consumption actual map is based on the actual resource consumption of preceding vehicles (vehicles other than the own vehicle) that traveled in the area where the own vehicle was scheduled to travel, and shows how many resources were actually used at which locations (sections). This is a map that shows how much money has been consumed.
  • the planned travel area can be, for example, a specific area where resource consumption varies over time.
  • the server device 500 that provides the resource consumption record map creates a resource consumption record map for a specific area, and creates a resource consumption record map for a vehicle that is about to enter the specific area as a driving planned area.
  • the resource consumption performance map can be configured to provide a resource consumption performance map.
  • the in-vehicle device 200 predicts temporal fluctuations in resource consumption by referring to the resource consumption performance map. In addition, based on the travel speed of the vehicle 100 when traveling in the planned travel area, the on-vehicle device 200 estimates resource consumption that changes over time as the own vehicle travels. This makes it possible to predict the period during which resources are available, so the in-vehicle device 200 allocates the execution period of a predetermined application to the period during which resources are available.
  • the predetermined application is, for example, an application whose execution of processing is not subject to time constraints.
  • Examples of service application Applications that are executed on the in-vehicle device 200 and communicate with the outside of the vehicle are divided into real-time applications (also referred to as "high real-time applications") that require real-time performance to execute processing, and real-time applications that do not require real-time performance to execute processing. It can be classified into non-real-time applications.
  • Real-time apps require real-time performance, so there are restrictions on execution timing.
  • non-real-time applications do not require real-time performance, so there are no restrictions on execution timing. From this, it is possible to determine whether an application is a real-time application or a non-real-time application, depending on whether real-time performance is required, that is, whether there are restrictions on execution timing. Specifically, whether the application is a real-time application or a non-real-time application is determined based on, for example, whether the application has an allowable delay time or whether the allowable delay time is less than or equal to a predetermined threshold.
  • Real-time apps can be classified into, for example, the following three groups depending on their resource consumption.
  • First group Resource consumption (high) This group includes, for example, real-time applications that perform remote control and monitoring of vehicles, as well as uploading sensor data from sensors installed in the vehicle to a server device (infrastructure device) for dynamic map construction.
  • Second group Resource consumption (medium) This group includes, for example, real-time applications that execute dynamic map download processing (for example, at a period of several hundred ms) for sharing dynamic information (blind spot information).
  • Third group: resource consumption (low) This group includes, for example, a real-time application that performs probe information upload processing (for example, every few minutes).
  • Non-real-time applications include, for example, applications that perform download processing for updating static maps, upload processing of vehicle information for fault diagnosis, etc.
  • on-vehicle device 200 of vehicle 100 estimates resource consumption for each travel section in scheduled travel area 32 based on the resource consumption performance map.
  • the upper diagram shows the resource consumption performance map
  • the lower diagram shows temporal fluctuations in the resource consumption estimated based on the resource consumption performance map.
  • the area with "resource consumption: low” is, for example, an area where a real-time application belonging to the third group that performs probe information upload processing, etc. is mainly executed, and the area with "resource consumption: low"
  • the ⁇ medium'' area is an area where real-time applications belonging to the second group that perform download processing of dynamic maps, etc. are mainly executed
  • the ⁇ resource consumption: high'' area is, for example, an area where sensor data is downloaded. It can be recognized that this is an area in which real-time applications belonging to the first group that perform upload processing and the like are mainly executed.
  • the in-vehicle device 200 estimates the amount of resource consumption required when the real-time application belonging to each group is executed in the own vehicle.
  • the resource consumption amount is estimated, for example, for each consumption amount estimation target (target resource).
  • Targets for estimating consumption include, for example, communication bands (wireless or wired), processors, and memory.
  • the prediction of the period during which resources are available may be performed based on the ratio of the estimated resource consumption amount to the resource usage upper limit.
  • a period during which the estimated resource consumption rate with respect to the resource usage upper limit is equal to or less than a predetermined threshold value X [%] may be defined as a period in which resources are available.
  • the threshold value X [%] can be set to 50%, for example.
  • the value of the threshold value X [%] may be set based on the resource consumption amount of the non-real-time application. As a result, the value of the threshold value X [%] is set so that there remain resources that can reliably execute the non-real-time application.
  • server device 500 collects resource consumption performance values for each real-time application in the driving area (in the case of the own vehicle, the planned driving area) from the preceding vehicle.
  • Each preceding vehicle transmits driving performance information (for example, position information, time information, resource consumption (observation results), etc.) when driving in the driving area (scheduled driving area) to the server device 500 as upload information.
  • the server device 500 creates a resource consumption performance map based on the collected information, and updates it regularly (for example, every few minutes) or irregularly.
  • FIG. 7 is a diagram showing an example of the contents of the resource consumption amount record map.
  • FIG. 7 shows an example in which the contents of the resource consumption record map are in a tabular format, the contents do not need to be in a tabular format.
  • the table showing the contents of the resource consumption performance map includes "area (section)”, “real-time application”, “execution period (milliseconds)”, “allowable delay (milliseconds)”, “ Contains the following columns: “Target resource”, “Resource consumption amount [numerical value]”, “Resource consumption amount [judgment result]", and “Remarks”.
  • the “area (section)” column stores the section defined by the location information.
  • the “real-time application” column stores the identification number of the real-time application executed in each area (section).
  • the “execution period (milliseconds)” column stores the execution period of the real-time application.
  • the “Tolerable delay (milliseconds)” column stores the allowable delay time for real-time applications.
  • the “target resource” column stores "communication band,” “processor,” and “memory” as target resource items.
  • the “resource consumption amount [numerical value]” column stores the actual resource consumption value for each item of the target resource.
  • the column “Resource consumption amount [judgment result]” stores quantization information obtained by quantizing the result of the actual resource consumption value into N stages. For example, when the result of the resource consumption performance value is quantized into three stages, one of “high”, “medium”, and “low” is stored. Additional notes and the like are stored in the "Remarks” column as necessary.
  • the table shown in FIG. 7 is created as performance data for a predetermined period.
  • the time information included in the driving record information is used when determining whether the information is for a predetermined period.
  • a column for time information may be added to the table shown in FIG. 7 so that each record has time information.
  • vehicle speed information can be calculated from time information and position information
  • a column of speed information may be added to the table shown in FIG. 7 so that each record has speed information.
  • Time information indicating the date and time when the resource consumption amount map was generated may be added to the resource consumption amount map.
  • the server device 500 may be configured to perform statistical processing on the contents of the table shown in FIG. 7 as appropriate.
  • the value stored in the column "Resource consumption [number]" may be obtained by statistically processing (averaging) the observed values of multiple preceding vehicles, or by statistically processing the temporal fluctuations depending on the execution period of the real-time application. (averaging).
  • in-vehicle device 200 includes an in-vehicle GW device 210 and an external wireless device 300.
  • the vehicle 100 is equipped with an in-vehicle network 400, which is a communication network including various sensors, various ECUs (Electronic Control Units), and the like.
  • an in-vehicle network 400 is shown as a representative of a plurality of in-vehicle networks, and other in-vehicle networks are omitted.
  • the GW device 210 interconnects a plurality of in-vehicle networks including the in-vehicle network 400 and organizes data exchange between the in-vehicle networks.
  • In-vehicle network 400 includes a sensor group 410 including various sensors, and an ECU group 420 including various ECUs.
  • ECU group 420 includes automatic driving ECUs.
  • the GW device 210 further includes an information acquisition unit 220, a resource management unit 230, and a cooperation mediation unit 240 as functional units.
  • the information acquisition unit 220 acquires, via the external wireless device 300, actual information on resource consumption in the planned driving area by other vehicles (preceding vehicles) that have traveled in the planned driving area of the host vehicle (vehicle 100).
  • the information acquisition unit 220 uses the external wireless device 300 to obtain information about other vehicles other than the own vehicle (vehicle 100) when the other vehicle travels in the planned travel area of the own vehicle (vehicle 100).
  • the information acquisition unit 220 acquires a resource consumption performance map from the server device 500 as performance information.
  • the resource management unit 230 manages resource consumption of the host vehicle.
  • the resource management unit 230 includes a resource consumption estimation unit 232 and a resource control unit 234.
  • the resource consumption estimating unit 232 calculates resource consumption that changes over time as the own vehicle travels when the own vehicle travels in the planned travel area based on the resource consumption actual map acquired by the information acquiring unit 220. Estimate the amount.
  • the resource control unit 234 allocates the execution period of a predetermined application to a predetermined period according to the estimation result of the resource consumption estimation unit 232. Specifically, as described above, the resource control unit 234 allocates the execution period of the non-real-time application to a period in which it is predicted that resources will be available.
  • the cooperation intermediary unit 240 is a functional unit (app) that mediates cooperation between the end ECU and the server device (infrastructure device). For example, the cooperation intermediary unit 240 acquires or updates dynamic map information and transfers it to an end ECU (for example, an automatic driving ECU).
  • an end ECU for example, an automatic driving ECU
  • the external wireless device 300 includes a plurality of wireless interfaces (hereinafter, “interface” will be referred to as "IF") that perform wireless communication with the outside of the vehicle.
  • the plurality of wireless IFs are, for example, a wireless IF 310 for performing cellular communication with an external device (device outside the vehicle) using 5G (fifth generation mobile communication system) or LTE (Long Term Evolution), and C-V2X (Cellular Vehicle to Everything). It includes a wireless IF 320 for wirelessly communicating with an external device, and another wireless IF 330.
  • Other wireless IFs 330 include, for example, local 5G. Note that the wireless IF included in the external wireless device 300 is not limited to these, and may be other than these. Further, the number of wireless IFs included in the external wireless device 300 is not limited to this.
  • wireless IFs There are various wireless IFs that correspond to each communication method.
  • cellular communication 4G (LTE)/5G) and LPWA (Low Power Wide Area) are known as wide area communication, and DSRC (Dedicated Short Range Communications) and C- V2X is known.
  • DSRC Dedicated Short Range Communications
  • C- V2X C- V2X
  • local communication between a wide area and a narrow area, there are WiFi, local 5G, etc.
  • Local 5G differs from cellular 5G in that it is independently operated by companies or local governments other than carriers.
  • Resource management targets include communication resources and calculation resources.
  • the targets of communication resource management are the wired communication band between the in-vehicle network 400 and the GW device 210, the wireless communication band for communication between the in-vehicle device 200 and external devices (for example, infrastructure device 50, etc.), and relay processing. or including end treatment.
  • Computational resource management targets include processors and memory.
  • the observation area of each resource is the communication band (wired/wireless) as the communication link, and the processor and memory as the application execution area.
  • GW device 210 mounted on vehicle 100 includes a computer 212.
  • the computer 212 communicates with a control unit 250 that controls the entire GW device 210, a storage device 260 that stores various data, an in-vehicle network communication unit 270 that communicates with the in-vehicle network, and an external wireless device 300.
  • Communication IF 280 is included.
  • the control unit 250, the storage device 260, the in-vehicle network communication unit 270, and the communication IF 280 are all connected to a bus 290, and data exchange between them is performed via the bus 290.
  • the control unit 250 includes a calculation unit 252, a ROM (Read Only Memory) 254 that stores a boot-up program for the computer 212, and a RAM (Random Access Memory) 256 that can be written to and read from at any time.
  • the arithmetic unit 252 includes, for example, a CPU (Central Processing Unit) or an MPU (Micro Processing Unit) as an arithmetic element (processor).
  • Storage device 260 includes, for example, nonvolatile memory such as flash memory.
  • the ROM 254 or the storage device 260 stores software (computer programs) executed by the calculation unit 252 and various information (data).
  • a computer program for causing the GW device 210 to function as each functional unit of the GW device 210 according to the present disclosure is stored and distributed in a predetermined storage medium such as a DVD (Digital Versatile Disc) or a USB (Universal Serial Bus) memory. , and further transferred to the storage device 260.
  • the computer program may be transmitted from an external device to the computer 212 and stored in the storage device 260 through wireless communication with the outside of the vehicle.
  • each functional unit of the GW device 210 are realized by software processing executed by the control unit 250 using hardware. Some or all of these functions may be implemented by an integrated circuit including a microcomputer.
  • the in-vehicle network communication unit 270 provides an IF for communicating with the in-vehicle network.
  • the in-vehicle network communication unit 270 communicates with the in-vehicle network according to a communication protocol such as CAN (Controller Area Network).
  • a plurality of in-vehicle network communication units 270 are provided corresponding to a plurality of in-vehicle networks.
  • the GW device 210 (computer 212) transmits data (messages) received by one in-vehicle network communication unit from another in-vehicle network communication unit under the control of the control unit 250, thereby transmitting data between in-vehicle networks. will be relayed.
  • Communication IF 280 provides an IF for communicating with outside vehicle wireless device 300.
  • server device 500 includes a computer 510.
  • Computer 510 includes a control unit 520, a storage device 530, and a network IF 540.
  • the control unit 520 includes a CPU 522, a GPU (Graphics Processing Unit) 524, a ROM 526, and a RAM 528.
  • the control unit 520, the storage device 530, and the network IF 540 are all connected to a bus 550, and data exchange between them is performed via the bus 550.
  • the storage device 530 includes a nonvolatile storage device such as a flash memory or a hard disk drive.
  • the storage device 530 stores computer programs to be executed by the CPU 522 and various information.
  • Network IF 540 provides a connection to network 70 that allows communication with other terminals.
  • the server device 500 acquires driving performance information (for example, position information, time information, resource consumption (observation results), etc.) from each preceding vehicle for creating a resource consumption performance map via the network 70. .
  • the server device 500 creates a resource consumption performance map by processing the acquired driving performance information.
  • the server device 500 distributes the created resource consumption performance map to the vehicle via the network 70.
  • a computer program for causing server device 500 to function as each functional unit of server device 500 according to the present embodiment is stored and distributed in a predetermined storage medium such as a DVD or a USB memory, and is further stored in storage device 530 from there. be transferred.
  • the computer program may be transmitted from an external device to computer 510 via network 70 and stored in storage device 530.
  • control unit 520 of server device 500 includes a communication control unit 560, an information collection unit 562, a performance map creation unit 564, and a distribution unit 566 as functional units.
  • the storage device 530 includes a driving record information storage section 532 and a track record map storage section 534.
  • the communication control unit 560 controls the network IF 540 (see FIG. 10) to communicate with external devices.
  • the information collection unit 562 collects driving performance information from a plurality of preceding vehicles and stores it in the driving performance information storage unit 532.
  • the performance map creation unit 564 reads and processes the travel performance information stored in the travel performance information storage unit 532, and creates a resource consumption performance map.
  • the performance map creation unit 564 stores the created resource consumption performance map in the performance map storage unit 534.
  • the performance map creation unit 564 also has a function of updating the resource consumption performance map based on newly collected driving performance information.
  • the distribution unit 566 reads the resource consumption performance map from the performance map storage unit 534 at a predetermined timing and distributes it to the vehicle.
  • control unit 250 These functions are realized by software processing executed by the control unit 250 using hardware. Some or all of these functions may be implemented by an integrated circuit including a microcomputer.
  • Step S1000 This program is executed in step S1000 of waiting until a resource consumption record map is received from the server device 500, and in step S1000, when the resource consumption record map is received from the server device 500, and is executed in step S1012 described below.
  • Step S1010 is repeated for each observation area of the target resource until processing for all target resources is completed.
  • Step S1010 includes step S1012 of estimating the resource consumption of the real-time application in the planned travel area based on the received resource consumption actual map.
  • This program further includes step S1020, which is executed after step S1010 and schedules the execution period of the non-real-time application based on the estimation result of resource consumption; Step S1030 for executing the non-real-time application during the execution period that has been executed; and Step S1040, which is executed after Step S1030, determines whether or not a system termination instruction has been given, and branches the flow of control according to the determination result. . If it is determined in step S1040 that there is no instruction to terminate the system, control returns to step S1000. If it is determined in step S1040 that there is an instruction to terminate the system, this program terminates.
  • ⁇ Server device 500 Referring to FIG. 13, a control structure of a computer program executed in server device 500 in order to create a resource consumption performance map and distribute it to vehicles will be described. This program is started, for example, by an operation by an administrator who manages the server device 500.
  • This program includes step S2000 of collecting driving performance information (for example, position information, time information, resource consumption (observation results), etc.) from each vehicle (preceding vehicle) for creating a resource consumption performance map; Step S2010 is executed after step S2000 and creates or updates a resource consumption record map based on the collected information; 200) and returns control to step S2000.
  • driving performance information for example, position information, time information, resource consumption (observation results), etc.
  • the system 30 operates as follows. In the following, a case will be described in which a specific area where resource consumption varies over time is set as the planned travel area.
  • server device 500 collects resource consumption performance values for each real-time application in a driving area (specific area) from each preceding vehicle that has traveled in a specific area. Specifically, each preceding vehicle transmits driving performance information (for example, position information, time information, resource consumption (observation results), etc.) when driving in the driving area to the server device 500 as upload information. Server device 500 collects driving performance information including resource consumption performance values by receiving upload information from each preceding vehicle (step S2000 in FIG. 13).
  • driving performance information for example, position information, time information, resource consumption (observation results), etc.
  • the server device 500 creates a resource consumption performance map based on the collected driving performance information (step S2010), and distributes the created resource consumption performance map to the vehicle 100 (in-vehicle device 200) (step S2020). .
  • the in-vehicle device 200 of the vehicle 100 determines whether the own vehicle is traveling in the planned driving area based on the received resource consumption actual map. Resource consumption, which changes over time as the vehicle travels, is estimated (step S1010 in FIG. 12).
  • the in-vehicle device 200 estimates the resource consumption of the real-time application in the scheduled driving area based on the received resource consumption performance map.
  • the in-vehicle device 200 schedules the execution period of the non-real-time application based on the estimation result of the resource consumption amount (step S1020 in FIG. 12).
  • a period during which resources are available is extracted based on the estimation result of resource consumption.
  • the in-vehicle device 200 allocates the execution period of the non-real-time application to a period when resources are available.
  • the in-vehicle device 200 executes processing by the non-real-time application during the execution period of the non-real-time application (step S1030 in FIG. 12).
  • the in-vehicle device 200 and server device 500 according to the present embodiment have the following effects.
  • the in-vehicle device 200 acquires performance information (resource consumption performance map in this embodiment) of resource consumption in the planned driving area by other vehicles (preceding vehicles) that have traveled in the planned driving area of the host vehicle.
  • the in-vehicle device 200 estimates resource consumption, which changes over time as the host vehicle travels, based on the acquired resource consumption performance map. That is, the on-vehicle device 200 predicts an increase in load due to communication with the outside of the vehicle when the own vehicle travels in the planned travel area based on this resource consumption performance map.
  • the in-vehicle device 200 further controls resource consumption by allocating the execution period of a predetermined application (non-real-time application) to a period that avoids high load times, for example.
  • the in-vehicle device 200 can suppress a decrease in responsiveness even under high load caused by communication with the outside of the vehicle.
  • the occurrence of services that do not meet the allowable delay time can be suppressed without installing a high-performance processor in the in-vehicle device.
  • the in-vehicle device 200 estimates resource consumption for each driving section, including resource consumption due to execution of real-time applications, which varies depending on the driving section of the planned driving area, and executes non-real-time applications according to the estimation result. Assign periods to predetermined periods. This makes it possible to allocate the execution period of a non-real-time application to a period when resources are available. That is, it is possible to prevent non-real-time applications from being executed during a period in which resource consumption increases due to the execution of real-time applications. As a result, the execution period of the application can be distributed, so that it is possible to easily suppress a decrease in responsiveness during times of high load caused by communication with the outside of the vehicle.
  • the server device 500 collects resource consumption performance values (driving performance information) from a plurality of preceding vehicles, and, based on the collected driving performance information, creates a resource consumption performance record in which the resource consumption performance is set for a driving section of the scheduled driving area. Create a map.
  • the in-vehicle device 200 can easily estimate the resource consumption that changes over time as the own vehicle travels.
  • the execution period of the non-real-time application is scheduled during the scheduled travel period of the travel section where the ratio of the estimated resource consumption to the resource usage upper limit is less than or equal to a predetermined threshold value X [%]. It can also be assigned. In this case, the execution period of the non-real-time application can be easily set to a period other than when the load is high.
  • the value of the threshold value X [%] may be set based on the resource consumption of the non-real-time application. Thereby, the execution period of the non-real-time application can be set during the period in which resources for executing the non-real-time application are secured.
  • the resource consumption actual map is set for each driving section of the scheduled driving area, and the actual value of resource consumption in the scheduled driving area by the preceding vehicle that traveled in the scheduled driving area is set in multiple stages (three stages in this embodiment). quantization information (for example, “high”, “medium”, “low”). This makes it possible to reduce the data amount of the resource consumption record map, making it easier for the in-vehicle device 200 to acquire the resource consumption record map.
  • the server device that distributes the resource consumption record map monitors the current position of the destination vehicle, and the resource consumption record map is monitored before the vehicle enters the planned driving area. Distribute the map to the vehicle.
  • the server device acquires position information of the vehicle (vehicle-mounted device) by communicating with the vehicle (vehicle-mounted device). Based on the acquired position information, the server device determines whether or not the delivery destination vehicle is about to enter the planned travel area.
  • the area in which the vehicle is scheduled to travel is set in the server device as the above-mentioned specific area.
  • the server device determines whether or not the vehicle is about to enter a specific area set as the planned driving area, and distributes a resource consumption performance map to the vehicle in accordance with the determination result.
  • the phrase "before entering the scheduled driving area" may be, for example, immediately before entering the scheduled driving area, several seconds before entering the scheduled driving area, or several minutes before entering the scheduled driving area. Note that the time until the vehicle enters the scheduled driving area can be calculated from position information, vehicle speed, and the like.
  • the on-vehicle device mounted on the vehicle receives the resource consumption performance map from the server device before entering the planned driving area.
  • the other configurations of the in-vehicle device and the server device are the same as those in the first embodiment.
  • the program shown in FIG. 14 is executed instead of the program shown in FIG. 13.
  • the program in FIG. 14 further includes step S2012 in the program in FIG.
  • the processing in steps S2000, S2010, and S2020 in FIG. 14 is the same as the processing in each step shown in FIG. The different parts will be explained below.
  • this program is executed after step S2010, and determines whether the vehicle (vehicle device) providing the resource consumption actual map is before entering a specific area (planned travel area). , includes step S2012 of branching the flow of control depending on the determination result. If it is determined in step S2012 that it is not before entry, control returns to step S2000. If it is determined in step S2012 that the vehicle is not entering the vehicle, control proceeds to step S2020.
  • the in-vehicle device can more reliably acquire the resource consumption amount map from the server device before entering the planned driving area. As a result, before entering the scheduled driving area, it is possible to predict an increase in load due to communication with the outside of the vehicle when the own vehicle travels in the scheduled driving area.
  • the in-vehicle device requests the server device to transmit a resource consumption performance map.
  • the server device distributes a resource consumption amount track record map to the in-vehicle device that has transmitted the transmission request.
  • the in-vehicle device transmits a transmission request to the server device at an arbitrary timing before entering the planned travel area.
  • the in-vehicle device can receive the resource consumption actual map from the server device before the own vehicle enters the planned driving area.
  • the other configurations of the in-vehicle device and the server device are the same as those in the first embodiment.
  • this program includes step S1100 that requests the server device that distributes the resource consumption amount map to transmit the resource consumption amount result map.
  • step S1100 for example, at a predetermined timing before the host vehicle enters the scheduled driving area, a transmission request requesting transmission of a resource consumption performance map is transmitted from the on-vehicle device to the server device.
  • the program shown in FIG. 16 is executed instead of the program shown in FIG. 13.
  • the program in FIG. 16 includes step S2014 and step S2022 instead of step S2020 in the program in FIG.
  • the processing in step S2000 and step S2010 in FIG. 16 is the same as the processing in each step shown in FIG. 13. The different parts will be explained below.
  • this program is executed after step S2010, and includes step S2014, which determines whether or not a transmission request has been received from the in-vehicle device, and branches the flow of control according to the determination result;
  • Step S2022 is executed when it is determined that a transmission request has been received, and distributes (sends) a resource consumption performance map to the in-vehicle device (vehicle) that has transmitted the transmission request.
  • step S2014 If it is determined in step S2014 that no transmission request has been received, or if the process in step S2022 is completed, control returns to step S2000.
  • the in-vehicle device requests the server device to transmit the resource consumption actual map before the vehicle enters the planned driving area, thereby reducing resource consumption before the own vehicle enters the scheduled driving area.
  • a consumption record map can be obtained from the server device.
  • the in-vehicle device notifies the server device of the area in which the own vehicle is scheduled to travel.
  • the planned driving area may be set, for example, based on a destination set (input) by a passenger of the own vehicle in a navigation system or the like. In this case, a route to the set (input) destination is determined, and a planned travel area is derived according to the determined route. Furthermore, when a destination is not input, a planned driving area may be set based on, for example, past driving history, current driving behavior of the vehicle, or the like.
  • the server device Upon receiving the notification from the in-vehicle device, the server device selects or creates a resource consumption performance map corresponding to the transmitted planned travel area and distributes it to the in-vehicle device that sent the notification.
  • the timing at which the in-vehicle device notifies the server device of the area in which the host vehicle is scheduled to travel is not particularly limited.
  • the timing for notifying the scheduled driving area of the own vehicle can be any timing before the own vehicle enters the scheduled driving area, similar to the second modification.
  • the other configurations of the in-vehicle device and the server device are the same as those in the first embodiment.
  • this program includes step S1110 in which the server device that distributes the resource consumption amount map is notified of the area in which the host vehicle is scheduled to travel.
  • step S1110 ends, control proceeds to step S1000. If it is determined in step S1040 that there is no instruction to terminate the system, control returns to step S1110.
  • this program collects driving record information (for example, position information, time information, resource consumption (observation results), etc.) for each vehicle (leading vehicle) to create a resource consumption record map. and step S2010, which is executed after step S2000 and creates or updates a resource consumption performance map based on the collected information.
  • driving record information for example, position information, time information, resource consumption (observation results), etc.
  • this program is executed in step S2100 of waiting until a notification of the planned driving area is received from the vehicle and in step S2100 when it is determined that the notification of the planned driving area has been received.
  • Step S2110 of selecting a resource consumption actual map corresponding to the notified driving planned area from the resource consumption actual maps provided, or creating a resource consumption actual map corresponding to the notified driving planned area;
  • Step S2120 is executed after S2120 and transmits (distributes) a resource consumption actual map corresponding to the notified driving planned area to the vehicle (the vehicle that sent the notification).
  • control returns to step S2100.
  • the in-vehicle device notifies the server device of the area in which the own vehicle is scheduled to travel, and acquires a resource consumption performance map corresponding to the planned travel area from the server device. Thereby, the in-vehicle device can predict temporal fluctuations in the amount of resources consumed as the own vehicle travels in various planned travel areas.
  • Time information indicating the date and time when the resource consumption amount map was generated is added to the resource consumption amount map.
  • the in-vehicle device compares the date and time indicated by the time information with the current date and time, and estimates resource consumption, which changes over time as the host vehicle travels, according to the comparison result. For example, as a result of the comparison, if a longer time than a predetermined time (e.g. within the range of 2 to 6 hours) has passed since the resource consumption record map was generated, the in-vehicle device displays the resource consumption record map. Estimation processing using a map is not performed. As a result, the amount of resource consumption can be estimated using the performance information created at a new date and time, so that the accuracy of estimating the amount of resource consumption can be improved.
  • a predetermined time e.g. within the range of 2 to 6 hours
  • this program is executed when it is determined in step S1000 that a resource consumption record map has been received from the server device, and sets the creation date and time of the received resource consumption record map to the current date and time.
  • a comparison step S1120 is executed after step S1120, and it is determined whether the elapsed time since the resource consumption actual map was created is within a predetermined time (for example, a time within the range of 2 hours to 6 hours). , and step S1130 in which the control flow is branched depending on the determination result. If it is determined in step S1130 that the elapsed time since the resource consumption performance map was created is not within the predetermined time (that is, more time than the predetermined time has elapsed), the control returns to step S1000. . If it is determined in step S1130 that the elapsed time since the resource consumption performance map was created is within the predetermined time, control proceeds to step S1010.
  • the in-vehicle device discards the resource consumption record map and sends a new resource consumption record to the server device. It may also be configured to request transmission of the map.
  • in-vehicle device 200A acquires travel record information (for example, position information, time information, resource consumption (observation results), etc.) from the preceding vehicle, and In estimating the amount of resource consumption that changes over time as the own vehicle travels based on the actual information, the first method estimates the amount of resource consumption based on the actual resource consumption map obtained from the server device. This is different from the embodiment. Other configurations are similar to those of the first embodiment.
  • travel record information for example, position information, time information, resource consumption (observation results), etc.
  • the on-vehicle device 200A of the vehicle 100A communicates with a plurality of preceding vehicles (for example, 2 to 3 vehicles) that have already traveled in the planned driving area through vehicle-to-vehicle communication, and acquires driving performance information from these preceding vehicles.
  • the in-vehicle device 200A determines which real-time application has been executed for each driving section of the scheduled driving area by processing the acquired driving performance information. Based on the determination result, the in-vehicle device 200A estimates the resource consumption amount of the real-time application in the planned travel area in the same manner as in the first embodiment.
  • the in-vehicle device 200A further schedules the execution period of the non-real-time application based on the estimation result of the resource consumption amount.
  • in-vehicle device 200A includes GW device 210A instead of GW device 210 (see FIG. 8).
  • the GW device 210A includes an information acquisition section 222 and a resource management section 230A, respectively, instead of the information acquisition section 220 and the resource management section 230 (see FIG. 8).
  • the information acquisition unit 222 acquires "driving performance information" which is performance information of resource consumption in the scheduled driving area from a preceding vehicle that has traveled in the scheduled driving area of the own vehicle via the external wireless device 300 (see FIG. 8). do.
  • the resource management unit 230A includes a resource consumption estimation unit 232A instead of the resource consumption estimation unit 232 (see FIG. 8).
  • the resource consumption estimating unit 232A estimates the resource consumption of each travel section in the planned travel area based on the travel record information acquired from the preceding vehicle.
  • step S1020 to step S1040 in FIG. 23 is the same as the processing in each step shown in FIG. The different parts will be explained below.
  • this program includes a step S1200 of waiting until driving record information is received from a plurality of preceding vehicles, and a step S1200 that is executed when it is determined that driving record information has been received from a plurality of preceding vehicles. and step S1210 in which step S1212, which will be described below, is repeated for each observation area of the target resource until the processing for all target resources is completed.
  • Step S1210 includes step S1212 of estimating the resource consumption amount of the real-time application in the planned driving area based on the received driving performance information.
  • the driving performance information obtained from the preceding vehicle is used to estimate the resource consumption amount, instead of the resource consumption performance map obtained from the server device.
  • This also allows the in-vehicle device 200A to easily estimate the amount of resource consumption that changes over time as the host vehicle travels. Therefore, it is possible to easily suppress a decrease in responsiveness during high load due to communication with the outside of the vehicle.
  • the system according to the present embodiment has the following features: in the server device, a period in which resources in the vehicle are available is extracted, and the extracted period is notified to the vehicle as an execution recommended period in which execution of a non-real-time application is recommended.
  • This embodiment is different from the first embodiment. That is, in the present embodiment, the server device executes processing up to extracting a period for allocating an execution period of a non-real-time application.
  • server device 500A includes a control section 520A instead of control section 520 (see FIG. 11).
  • the control unit 520A includes an execution period extraction unit 568 and a notification unit 570 as functional units instead of the distribution unit 566 (see FIG. 11).
  • the server device 500A receives information regarding the planned driving area and the resource management target transmitted from the in-vehicle device.
  • the performance map creation unit 564 creates a resource consumption performance map corresponding to the planned driving area and stores it in the performance map storage unit 534.
  • the execution period extraction unit 568 extracts a recommended execution period in which execution of the non-real-time application is recommended during the travel period of the scheduled travel area based on the resource consumption amount map.
  • the execution period extraction unit 568 estimates the resource consumption of the real-time application in the planned travel area based on the information regarding the resource management target and the resource consumption performance map.
  • the execution period extraction unit 568 further extracts, as the recommended execution period, a period in which resources are available to the extent that the non-real-time application can be executed, based on the estimation result of the resource consumption amount.
  • the notification unit 570 notifies the in-vehicle device that has transmitted the information regarding the planned driving area, etc., of the recommended execution period of the non-real-time application extracted by the execution period extraction unit 568.
  • in-vehicle device 200B includes GW device 210B instead of GW device 210 (see FIG. 8).
  • the GW device 210B does not include the information acquisition section 220 (see FIG. 8), and includes a resource management section 230B instead of the resource management section 230 (see FIG. 8).
  • the resource management unit 230B includes a recommended execution period receiving unit 236 and a resource control unit 238.
  • the recommended execution period receiving unit 236 receives the recommended execution period notified from the server device 500A (see FIG. 24).
  • the resource control unit 238 assigns the execution period of the non-real-time application to the recommended execution period.
  • the hardware configurations of the server device 500A and the vehicle-mounted device 200B are the same as in the first embodiment.
  • server device 500A [Software configuration] ⁇ Server device 500A ⁇
  • programs shown in FIGS. 18 and 26 are executed instead of the program shown in FIG. 13.
  • the program shown in FIG. 26 is executed in parallel with the program shown in FIG. 18. Description of the program shown in FIG. 18 will be omitted.
  • this program waits until information regarding the scheduled driving area and resource management target is received from in-vehicle device 200B, and in step S2200, the program receives information regarding the scheduled driving area and resource management target.
  • the resource consumption actual map corresponding to the received driving planned area is selected from among the actual maps stored in the actual map storage unit 534, or the resource consumption corresponding to the driving planned area is executed when it is determined that Step S2210 for creating a quantity performance map and step S2222, which is executed after step S2210 and will be described below, are performed on all target resources for each observation area of the target resource based on information regarding the resource management target.
  • step S2220 includes step S2222 of estimating the resource consumption of the real-time application in the planned travel area for each observation area of the target resource based on the resource consumption performance map.
  • This program further includes step S2230, which is executed after step S2220, and extracts an executable period of the non-real-time application executed on the in-vehicle device 200B as a recommended execution period based on the estimation result of the resource consumption amount.
  • step S2240 is executed after S2230 and notifies the vehicle-mounted device 200B that has transmitted the information regarding the scheduled driving area of the extracted recommended execution period, and returns control to step S2200.
  • this program is executed after step S1300 of notifying server device 500A (see FIG. 24) of information regarding the scheduled driving area of the host vehicle and resource management targets, and step S1300, Step S1310 waits until the recommended execution period transmitted from 500A is received, and step S1310 is executed when it is determined that the recommended execution period has been received, and the non-real-time application is executed based on the received recommended execution period.
  • Step S1320 that schedules an execution period
  • Step S1330 that is executed after Step S1320 and executes a non-real-time application during the execution period that is set in the scheduling process of Step S1320
  • step S1340 in which it is determined whether or not the determination has been made, and the flow of control is branched according to the determination result. If it is determined in step S1340 that there is no instruction to terminate the system, control returns to step S1300. If it is determined in step S1340 that there is an instruction to terminate the system, this program terminates.
  • the timing of notifying the server device 500A of the information regarding the scheduled driving area and the resource management target is not particularly limited.
  • the timing of notifying the server device 500A of this information can be any timing before the host vehicle enters the planned travel area.
  • the server device 500A collects driving performance information from a plurality of preceding vehicles and creates a resource consumption performance map.
  • the server device 500A extracts a recommended execution period for recommending execution of the non-real-time application based on the created resource consumption performance map, and notifies the in-vehicle device 200B of the extracted recommended execution period.
  • the in-vehicle device 200B distributes the execution period of the application by assigning the execution period of the non-real-time application to the recommended execution period. Thereby, the in-vehicle device 200B can easily suppress a decrease in responsiveness during a high load caused by communication with the outside of the vehicle.
  • the server device 500A notifies the in-vehicle device 200B of the recommended execution period of the non-real-time application, thereby suppressing the decrease in responsiveness of the in-vehicle device 200B during high load caused by communication with outside the vehicle. so that we can assist you.
  • the GW device has the function of a resource management unit, but the present disclosure is not limited to such an embodiment.
  • a device other than the GW device may have the function of the resource management unit.
  • the in-vehicle device includes a GW device and an external wireless device, but the present disclosure is not limited to such an embodiment.
  • the in-vehicle device may be, for example, an ECU other than the GW device and the external wireless device. That is, the ECU may have the function of a resource management section.
  • a dedicated ECU having the function of a resource management unit may be installed in the vehicle as an on-vehicle device.
  • the resource management unit may be installed in a plurality of in-vehicle devices.
  • the present disclosure is not limited to such an embodiment. If the execution period of the non-real-time application has already been set, the execution period of the non-real-time application can also be reset (rescheduled) based on the estimation result of resource consumption.
  • the server device creates a resource consumption performance map of the vehicle's scheduled driving area or a specific area, but the present disclosure is not limited to such embodiments.
  • the server device may create a resource consumption record map for the area managed by the actual device, extract the required area from the created wide resource consumption record map, and distribute it to the vehicle. .
  • each process (each function) of the above-described embodiment may be realized by a processing circuit (Circuitry) including one or more processors.
  • the processing circuit may include an integrated circuit in which one or more memories, various analog circuits, and various digital circuits are combined.
  • the one or more memories store programs (instructions) that cause the one or more processors to execute each of the above processes.
  • the one or more processors may execute each of the above processes according to the program read from the one or more memories, or may execute each of the above processes according to a logic circuit designed in advance to execute each of the above processes. May be executed.
  • the above processor includes a CPU, GPU, DSP (Digital Signal Processor), FPGA (Field Programmable Gate Array), and ASIC (Application Specific Integration). It may be a variety of processors that are compatible with computer control, such as a computer-aided circuit. Note that the plurality of physically separated processors may cooperate with each other to execute each of the above processes. For example, the processors installed in each of a plurality of physically separated computers cooperate with each other via a network such as a LAN (Local Area Network), WAN (Wide Area Network), or the Internet to execute the above processes. You can.
  • LAN Local Area Network
  • WAN Wide Area Network
  • System 32 Scheduled driving area 50 Infrastructure equipment 60 Dynamic map 62 Real space 70 Network 100, 100A Vehicle 110 Millimeter wave radar 112 In-vehicle camera 114 LiDAR 200, 200A, 200B On-vehicle device 210, 210A, 210B GW device 212, 510 Computer 220, 222 Information acquisition section 230, 230A, 230B Resource management section 232, 232A Resource consumption estimation section 234, 238 Resource control section 236 Recommended execution period Receiving unit 240 Cooperation mediating unit 250, 520, 520A Control unit 252 Arithmetic unit 254, 526 ROM 256, 528 RAM 260, 530 Storage device 270 In-vehicle network communication section 280 Communication IF 290, 500 Bus 300 External wireless device 310, 320, 330 Wireless IF 400 In-vehicle network 410 Sensor group 420 ECU group 500, 500A Server device 522 CPU 524 GPU 532 Driving performance information storage unit 534 Performance map storage unit 540 Network IF 560 Communication control unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Traffic Control Systems (AREA)

Abstract

車載装置は、外部装置と通信する通信部と、通信部を介して、自車両以外の車両である他車両が自車両の走行予定エリアを走行したときの、当該他車両のリソース消費量の実績情報を取得する情報取得部と、情報取得部が取得した実績情報に基づいて、走行予定エリアを自車両が走行した場合に、自車両の走行に伴って時間的に変動するリソース消費量を推定する推定部と、推定部の推定結果に応じて、所定のアプリケーションソフトウェアの実行期間を所定の期間に割り当てることにより、リソース消費を制御するリソース制御部とを含む。

Description

車載装置、サーバ装置、リソース制御方法、リソース制御支援方法、およびコンピュータプログラム
 本開示は、車載装置、サーバ装置、リソース制御方法、リソース制御支援方法、およびコンピュータプログラムに関する。本開示は、2022年7月21日出願の日本出願第2022-116047号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
 高速大容量の通信が可能となる次世代のコネクティッドサービスにおいては、車両と車外装置との間における通信データ量が増大する。これに伴い、車両に搭載される車載装置において、リソース消費量(通信リソースまたは計算リソース等の消費量)の時間的な変動幅も増大する。
 こうした状況においては、通信データ量がピークとなる高負荷時に許容遅延時間を満たせないサービスが発生し得る。高負荷に対応可能な高性能なプロセッサを車載装置に搭載すれば、高負荷時においても、許容遅延時間を満たせないサービスの発生を抑制できるかもしれない。しかし、その場合、オーバスペックとなって車載装置のコストが増大する。
 高負荷時にシステムの応答性の低下を抑制する技術として、後掲の特許文献1は、タスクを処理するプロセッサコアを動的に割り付けて負荷分散する自動車用電子制御装置に関する技術を提案する。特許文献1の自動車用電子制御装置は、複数のプロセッサコアが集積されたマルチコアプロセッサを搭載する。この自動車用電子制御装置は、運転状態の変化に応じた割込処理に係るタスクが発生した場合、そのタスクについて、複数のプロセッサコアの負荷状況に応じて負荷分散する第1の分散処理を実行する。自動車用電子制御装置はさらに、エンジン回転数が所定値以下であるときに、運転状態の変化を予測してその予測結果に影響を受けるタスクについて、複数のプロセッサコアの負荷状況に応じて負荷分散する第2の分散処理を実行する。
特開2019-109744号公報
 本開示のある局面に係る車載装置は、車両に搭載される車載装置であって、外部装置と通信する通信部と、通信部を介して、自車両以外の車両である他車両が自車両の走行予定エリアを走行したときの、他車両のリソース消費量の実績情報を取得する情報取得部と、情報取得部が取得した実績情報に基づいて、走行予定エリアを自車両が走行した場合に、自車両の走行に伴って時間的に変動するリソース消費量を推定する推定部と、推定部の推定結果に応じて、所定のアプリケーションソフトウェアの実行期間を所定の期間に割り当てることにより、リソース消費を制御するリソース制御部とを含む。
 本開示は、このような特徴的な構成を含む車載装置、サーバ装置、リソース制御方法、リソース制御支援方法、およびコンピュータプログラムとして実現できるだけではなく、本車載装置、または本サーバ装置が実行する特徴的なステップをコンピュータに実行させるためのプログラムを記録した記憶媒体として実現することもできる。さらに、車載装置またはサーバ装置を含むその他のシステムまたは装置として実現することもできる。
図1は、第1の実施の形態に係るシステムの全体構成を説明するための図である。 図2は、図1に示す車載装置が搭載された車両を説明するための図である。 図3は、動的マップを説明するための図である。 図4は、図1に示す車載装置において実行されるリソース制御を説明するための図である。 図5は、図1に示す車載装置において実行されるリソース制御を説明するための図である。 図6は、図1に示すサーバ装置におけるリソース消費量実績地図の作成方法を説明するための図である。 図7は、リソース消費量実績地図の内容の一例を示す図である。 図8は、図1に示す車載装置の機能的構成の一例を示すブロック図である。 図9は、図8に示す車載装置(GW(Gateway)装置)のハードウェア構成の一例を示すブロック図である。 図10は、図1に示すサーバ装置のハードウェア構成の一例を示すブロック図である。 図11は、図10に示すサーバ装置の機能的構成の一例を示すブロック図である。 図12は、第1の実施の形態に係る車載装置において実行されるプログラムの制御構造の一例を示すフローチャートである。 図13は、第1の実施の形態に係るサーバ装置において実行されるプログラムの制御構造の一例を示すフローチャートである。 図14は、第1の変形例に係るサーバ装置において実行されるプログラムの制御構造の一例を示すフローチャートである。 図15は、第2の変形例に係る車載装置において実行されるプログラムの制御構造の一例を示すフローチャートである。 図16は、第2の変形例に係るサーバ装置において実行されるプログラムの制御構造の一例を示すフローチャートである。 図17は、第3の変形例に係る車載装置において実行されるプログラムの制御構造の一例を示すフローチャートである。 図18は、第3の変形例に係るサーバ装置において実行されるプログラムの制御構造の一例を示すフローチャートである。 図19は、第4の変形例に係るサーバ装置において実行されるプログラムの制御構造の一例を示すフローチャートである。 図20は、第4の変形例に係る車載装置において実行されるプログラムの制御構造の一例を示すフローチャートである。 図21は、第2の実施の形態に係る車載装置の構成を説明するための図である。 図22は、図21に示す車載装置(GW装置)の機能的構成の一例を示すブロック図である。 図23は、第2の実施の形態に係る車載装置において実行されるプログラムの制御構造の一例を示すフローチャートである。 図24は、第3の実施の形態に係るサーバ装置の機能的構成の一例を示すブロック図である。 図25は、第3の実施の形態に係る車載装置(GW装置)の機能的構成の一例を示すブロック図である。 図26は、第3の実施の形態に係るサーバ装置において実行されるプログラムの制御構造の一例を示すフローチャートである。 図27は、第3の実施の形態に係る車載装置において実行されるプログラムの制御構造の一例を示すフローチャートである。
 [本開示が解決しようとする課題]
 特許文献1に開示の技術においては、運転状態の変化を予測してタスクを複数のプロセッサコアに動的に割り付ける。これにより、運転状態の変化に応じた割込処理により生じる高負荷状態を解消できる。しかし、運転状態の変化からは車外との通信に起因する負荷上昇を予測することは困難である。そのため、特許文献1に開示の技術においては、車外との通信に起因する高負荷時にサービスの応答性が低下するおそれがある。
 本開示は、上記のような課題を解決するためになされたものであり、本開示の1つの目的は、車外との通信に起因する高負荷時においても応答性の低下を抑制することが可能な車載装置、サーバ装置、リソース制御方法、リソース制御支援方法、およびコンピュータプログラムを提供することである。
 [本開示の効果]
 本開示によれば、車外との通信に起因する高負荷時においても応答性の低下を抑制することが可能な車載装置、サーバ装置、リソース制御方法、リソース制御支援方法、およびコンピュータプログラムを提供できる。
 [本開示の実施形態の説明]
 本開示の好適な実施形態を列記して説明する。以下に記載する実施形態の少なくとも一部を任意に組合せてもよい。
 (1)本開示の第1の局面に係る車載装置は、車両に搭載される車載装置であって、外部装置と通信する通信部と、通信部を介して、自車両以外の車両である他車両が自車両の走行予定エリアを走行したときの、他車両のリソース消費量の実績情報を取得する情報取得部と、情報取得部が取得した実績情報に基づいて、走行予定エリアを自車両が走行した場合に、自車両の走行に伴って時間的に変動するリソース消費量を推定する推定部と、推定部の推定結果に応じて、所定のアプリケーションソフトウェアの実行期間を所定の期間に割り当てることにより、リソース消費を制御するリソース制御部とを含む。
 情報取得部は、自車両以外の車両である他車両が自車両の走行予定エリアを走行したときの、当該他車両のリソース消費量の実績情報を取得する。取得した実績情報に基づいて、推定部が、自車両の走行に伴って時間的に変動するリソース消費量を推定する。すなわち、この実績情報に基づいて、走行予定エリアを自車両が走行した場合における車外との通信に起因する負荷上昇を予測する。リソース制御部は、所定のアプリケーションソフトウェアの実行期間を、例えば高負荷時を避けた期間に割り当てることにより、リソース消費を制御する。これにより、車載装置は、車外との通信に起因する高負荷時においても応答性の低下を抑制できる。加えて、高性能なプロセッサを車載装置に搭載することなく、許容遅延時間を満たせないサービスの発生を抑制できる。その結果、車載装置のコスト増大を抑制しつつ、応答性の低下を抑制できる。
 (2)上記(1)において、推定部は、走行予定エリアの走行区間に応じて変動するリソース消費量であって、処理の実行にリアルタイム性が要求されるアプリケーションソフトウェアの実行によるリソース消費量を含むリソース消費量を走行区間毎に推定し、リソース制御部は、推定部の推定結果に応じて、処理の実行にリアルタイム性が要求されないアプリケーションソフトウェアの実行期間を所定の期間に割り当てることにより、リソース消費を制御する構成であってもよい。このように構成すれば、リソースに空きがある期間に、リアルタイム性が要求されないアプリケーションソフトウェアの実行期間を割り当てることができる。すなわち、リアルタイム性が要求されるアプリケーションソフトウェアの実行によりリソース消費量が増大する期間に、リアルタイム性が要求されないアプリケーションソフトウェアが実行されるのを防止できる。これにより、アプリケーションソフトウェアの実行期間を分散できるので、車外との通信に起因する高負荷時において、応答性の低下を容易に抑制できる。なお、アプリケーションソフトウェアにおいてリアルタイム性が要求されるか否かは、例えば、通信における許容遅延時間が所定のしきい値以下か否かに基づいて判定することができる。
 (3)上記(1)または(2)において、外部装置は、複数の他車両からリソース消費量の実績情報を収集し、収集した実績情報に基づいて、走行予定エリアの走行区間にリソース消費実績が設定されたリソース消費量実績地図を作成するサーバ装置を含み、情報取得部は、通信部を介して、サーバ装置からリソース消費量実績地図を実績情報として取得し、推定部は、リソース消費量実績地図に基づいて、走行予定エリアにおける各走行区間のリソース消費量を推定する構成であってもよい。このように構成すれば、自車両の走行に伴って時間的に変動するリソース消費量を容易に推定できる。すなわち、走行予定エリアを自車両が走行した場合における車外との通信に起因する負荷上昇を容易に予測できる。
 (4)上記(1)または(2)において、外部装置は、自車両以外の車両である他車両に搭載された車載装置を含み、情報取得部は、通信部を介して、自車両の走行予定エリアを走行した他車両の車載装置から走行予定エリアにおけるリソース消費量の実績情報を取得し、推定部は、他車両の車載装置から取得したリソース消費量の実績情報に基づいて、走行予定エリアにおける各走行区間のリソース消費量を推定する構成であってもよい。これによっても、自車両の走行に伴って時間的に変動するリソース消費量を容易に推定できる。そのため、車外との通信に起因する高負荷時における応答性の低下を容易に抑制できる。
 (5)上記(1)から(4)のいずれかにおいて、リソース制御部は、リソース使用上限に対する推定部が推定したリソース消費量の割合が所定の値以下となる走行区間の走行予定期間に、処理の実行にリアルタイム性が要求されないアプリケーションソフトウェアの実行期間を割り当てる構成であってもよい。これにより、リアルタイム性が要求されないアプリケーションソフトウェアの実行期間を、高負荷時以外の期間に容易に設定できる。
 (6)上記(5)において、所定の値は、リアルタイム性が要求されないアプリケーションソフトウェアのリソース消費量に基づいて設定される構成であってもよい。これにより、リアルタイム性が要求されないアプリケーションソフトウェアを実行するためのリソースが確保された期間に、当該リアルタイム性が要求されないアプリケーションソフトウェアの実行期間を設定できる。
 (7)上記(1)から(6)のいずれかにおいて、実績情報は、走行予定エリアの走行区間毎に設定され、走行予定エリアを走行した他車両のリソース消費量の実績値が複数段階に量子化された量子化情報を含む構成であってもよい。すなわち、走行予定エリアの走行区間毎に量子化情報が設定され、実績情報は、この量子化情報を含む。これにより、実績情報のデータ量を低減できるので、情報取得部による実績情報の取得が容易になる。
 (8)上記(1)から(7)のいずれかにおいて、情報取得部は、自車両が走行予定エリアに進入する前に実績情報を取得する構成であってもよい。例えば、情報取得部は、走行予定エリアに進入する直前、または数秒前から数分前に実績情報を取得する構成とすることができる。これにより、走行予定エリアに進入する前に、走行予定エリアを自車両が走行した場合における車外との通信に起因する負荷上昇を予測できる。
 (9)上記(1)から(8)のいずれかにおいて、情報取得部は、自車両が走行予定エリアに進入する前に、外部装置に対して実績情報の送信を要求する構成であってもよい。これにより、自車両が走行予定エリアに進入する前に実績情報を取得できる。
 (10)上記(1)から(9)のいずれかにおいて、実績情報には、当該実績情報が生成された日時を示す時刻情報が付加されており、推定部は、時刻情報が示す日時と現在の日時とを比較し、比較結果に応じて、自車両の走行に伴って時間的に変動するリソース消費量を推定する構成であってもよい。これにより、作成された日時が新しい実績情報を用いてリソース消費量を推定できるので、リソース消費量の推定精度を高めることができる。
 (11)本開示の第2の局面に係るサーバ装置は、車両に搭載される車載装置と通信可能なサーバ装置であって、複数の車両からリソース消費量の実績情報を収集する情報収集部と、車載装置から走行予定エリアに関する情報を受信し、情報収集部が収集した実績情報に基づいて、走行予定エリアの走行区間にリソース消費実績が設定されたリソース消費量実績地図を作成する実績地図作成部と、走行予定エリアの走行期間において、処理の実行にリアルタイム性が要求されないアプリケーションソフトウェアの実行を推奨する実行推奨期間をリソース消費量実績地図に基づいて抽出する実行期間抽出部と、実行期間抽出部が抽出した実行推奨期間を、走行予定エリアに関する情報を送信した車載装置に対して通知する通知部とを含む。
 サーバ装置は、複数の車両からリソース消費量の実績情報を収集してリソース消費量実績地図を作成する。サーバ装置は、作成したリソース消費量実績地図に基づいて、リアルタイム性が要求されないアプリケーションソフトウェアの実行を推奨する実行推奨期間を抽出し、抽出した実行推奨期間を車載装置に通知する。車載装置は、リアルタイム性が要求されないアプリケーションソフトウェアの実行期間を実行推奨期間に割り当てることにより、アプリケーションソフトウェアの実行期間を分散する。これにより、車載装置は、車外との通信に起因する高負荷時において、応答性の低下を容易に抑制できる。このように、サーバ装置は、リアルタイム性が要求されないアプリケーションソフトウェアの実行推奨期間を車載装置に通知することにより、車載装置に対して、車外との通信に起因する高負荷時に応答性の低下を抑制できるようにすることができる。
 本開示の他の局面に係るサーバは、車両に搭載される車載装置と通信可能なサーバ装置であって、複数の車両からリソース消費量の実績情報を収集する情報収集部と、情報収集部が収集した実績情報に基づいて、所定のエリアの走行区間にリソース消費実績が設定されたリソース消費量実績地図を作成する実績地図作成部と、実績地図作成部が作成したリソース消費量実績地図を車載装置に配信する配信部とを含む。サーバ装置は、リソース消費量実績地図を車載装置に配信することにより、車載装置が搭載された車両において、車外との通信に起因する高負荷時において応答性の低下を抑制できるように車載装置を支援できる。
 (12)本開示の第3の局面に係るリソース制御方法は、車両に搭載される車載装置におけるリソース制御方法であって、車載装置が、外部装置と通信する通信部を介して、自車両以外の車両である他車両が自車両の走行予定エリアを走行したときの、他車両のリソース消費量の実績情報を取得するステップと、車載装置が、取得するステップにおいて取得した実績情報に基づいて、走行予定エリアを自車両が走行した場合に、自車両の走行に伴って時間的に変動するリソース消費量を推定するステップと、車載装置が、推定するステップにおける推定結果に応じて、所定のアプリケーションソフトウェアの実行期間を所定の期間に割り当てることにより、リソース消費を制御するステップとを含む。これにより、車載装置は、車外との通信に起因する高負荷時においても応答性の低下を抑制できる。
 (13)本開示の第4の局面に係るリソース制御支援方法は、車両に搭載される車載装置と通信可能なサーバ装置において実行され、車両におけるリソース消費の制御を支援するリソース制御支援方法であって、サーバ装置が、複数の車両からリソース消費量の実績情報を収集するステップと、サーバ装置が、車載装置から走行予定エリアに関する情報を受信し、収集するステップにおいて収集した実績情報に基づいて、走行予定エリアの走行区間にリソース消費実績が設定されたリソース消費量実績地図を作成するステップと、サーバ装置が、走行予定エリアの走行期間において、処理の実行にリアルタイム性が要求されないアプリケーションソフトウェアの実行を推奨する実行推奨期間をリソース消費量実績地図に基づいて抽出するステップと、サーバ装置が、抽出するステップにおいて抽出した実行推奨期間を、走行予定エリアに関する情報を送信した車載装置に対して通知するステップとを含む。これにより、車載装置に対して、車外との通信に起因する高負荷時において応答性の低下を抑制できるように支援できる。
 (14)本開示の第5の局面に係るコンピュータプログラムは、車両に搭載されるコンピュータを、外部装置と通信する通信部、通信部を介して、自車両以外の車両である他車両が自車両の走行予定エリアを走行したときの、他車両のリソース消費量の実績情報を取得する情報取得部、情報取得部が取得した実績情報に基づいて、走行予定エリアを自車両が走行した場合に、自車両の走行に伴って時間的に変動するリソース消費量を推定する推定部、および、推定部の推定結果に応じて、所定のアプリケーションソフトウェアの実行期間を所定の期間に割り当てることにより、リソース消費を制御するリソース制御部として機能させる。これにより、車外との通信に起因する高負荷時に応答性の低下を抑制できる。
 (15)本開示の第6の局面に係るコンピュータプログラムは、コンピュータを、複数の車両からリソース消費量の実績情報を収集する情報収集部、車載装置から走行予定エリアに関する情報を受信し、情報収集部が収集した実績情報に基づいて、走行予定エリアの走行区間にリソース消費実績が設定されたリソース消費量実績地図を作成する実績地図作成部、走行予定エリアの走行期間において、処理の実行にリアルタイム性が要求されないアプリケーションソフトウェアの実行を推奨する実行推奨期間をリソース消費量実績地図に基づいて抽出する実行期間抽出部、および、実行期間抽出部が抽出した実行推奨期間を、走行予定エリアに関する情報を送信した車載装置に対して通知する通知部として機能させる。これにより、車載装置に対して、車外との通信に起因する高負荷時において応答性の低下を抑制できるように支援できる。
 [本開示の実施形態の詳細]
 本開示の実施形態に係る車載装置、サーバ装置、リソース制御方法、リソース制御支援方法、コンピュータプログラムの具体例を、以下に図面を参照しつつ説明する。なお、以下の実施の形態においては、同一の部品には同一の参照番号を付してある。それらの機能および名称も同一である。したがって、それらについての詳細な説明は繰返さない。
 (第1の実施の形態)
 [全体構成]
 図1を参照して、本実施の形態に係るシステム30は、車両100に搭載される車載装置200と、車載装置200と通信するサーバ装置500とを含む。サーバ装置500は、車両の外部に設置される外部装置(インフラ装置)である。サーバ装置500はクラウドサーバであってもよいし、エッジサーバであってもよい。サーバ装置500と通信する車両(車載装置)は1台に限定されず、複数台であってもよい。
 このシステム30は、車両100において、車外との通信に起因する負荷上昇を予測し、所定のアプリケーションソフトウェア(以下、「アプリケーションソフトウェア」を単に「アプリ」と呼ぶ。)の実行期間をスケジューリングする。サーバ装置500は、後述するリソース消費量実績地図を車載装置200に提供することによって、車載装置200における負荷上昇の予測を支援する。車載装置200は、サーバ装置500から提供されるリソース消費量実績地図に基づいて、車外との通信に起因する負荷上昇を予測し、リソースに空きがある期間に所定のアプリの実行期間を割り当てる。このように、車載装置200は、アプリの実行期間を分散することによって、車外との通信に起因する高負荷時においても応答性の低下を抑制する。
 図2を参照して、車載装置200は、本システム30を構成するサーバ装置500以外のサーバ装置(インフラ装置50)とも通信可能である。車載装置200が搭載される車両100には、車載装置200に加えて、ミリ波レーダ110、車載カメラ112、およびLiDAR(Laser Imaging Detection and Ranging)114等の各種のセンサが搭載される。車載装置200は、例えば、これらセンサからセンサデータを収集して、インフラ装置50に無線送信したり、インフラ装置50から動的マップを含む種々の情報を受信したりする。
 インフラ装置50は、車両に搭載される車載センサ、路側機に搭載される路側センサ等から送信させるセンサデータを受信して、安全運転支援等に用いる動的マップを作成する。インフラ装置50は、作成した動的マップを車両に配信する。
 図3を参照して、動的マップ60は、実空間62に存在する移動物体を、LiDAR、カメラ等の多数のセンサを用いて検知し、その属性(大人、子供、車両、二輪車等)を推定し、仮想空間上に予め準備された高精細な道路地図データを用いて作成される。動的マップ60には、周辺車両および歩行者情報等の動的情報、事故情報および渋滞情報等の準動的情報、交通規制または道路工事の予定情報等の準静的情報、並びに、路面情報および車線情報等(高精度3次元地図情報)の静的情報が含まれる。
 再び図2を参照して、車載装置200は、動的マップを含む種々の情報をインフラ装置50から受信することによって、受信した情報に基づいて安全運転支援等の種々の情報を搭乗者に提供する。インフラ装置50は、必要に応じて、車載装置200が搭載された車両100を遠隔にて監視(遠隔監視)したり、当該車両100を遠隔にて制御(遠隔制御)したりする構成であってもよい。
 車両100の車載装置200はインフラ装置50と繋がることによって、安全運転支援等の種々のサービスを車両100の搭乗者に提供可能となる。これらのサービスの提供は、車載装置200においては、当該車載装置200におけるサービスアプリの実行によって実現される。
 提供されるサービスは、走行エリアの場所的な特性に依存する場合がある。例えば、交差点付近においては、右折車両、歩行者等の死角情報を運転者に提供するために車載装置200は動的マップをダウンロードする。また例えば、人通りの多い場所、または渋滞している場所等においては、車載装置200は、自車両にて収集したセンサデータを、動的マップを構築するインフラ装置50にアップロードする。
 したがって、走行するエリアによっては、インフラ装置50と通信するサービスアプリが実行されることによって、車外のインフラ装置50との通信に起因して車両100におけるリソース消費量が増大する。すなわち、車外との通信が必要なエリアに車両100が進入するとリソース消費量が増大する。こうした状況においては、車両100におけるリソース消費量は、単に増大するだけではなく、当該車両100の走行に伴って時間的に変動する。そこで、このようなエリアを走行する場合に、リソース消費量の時間的な変動を予測できれば、車外との通信に起因する高負荷に対処することが容易となる。
 再び図1を参照して、リソース消費量の時間的な変動を予測するために、本実施の形態においては、上記したリソース消費量実績地図を用いる。リソース消費量実績地図とは、自車両の走行予定エリアを先に走行した先行車両(自車両以外の車両)のリソース消費量実績に基づいて、どの場所(区間)でどの程度のリソースを実際に消費したかを示す地図である。走行予定エリアは、例えば、リソース消費量の時間的な変動が生じる特定のエリアとすることができる。この場合、リソース消費量実績地図を提供するサーバ装置500は、特定のエリアに対してリソース消費量実績地図を作成し、走行予定エリアとして上記特定のエリアに進入しようとする車両に対して、作成したリソース消費量実績地図を提供するよう構成することができる。
 車載装置200は、リソース消費量実績地図を参照することにより、リソース消費量の時間的な変動を予測する。加えて、走行予定エリアを走行する際の車両100の走行速度等から、車載装置200は、自車両の走行に伴って時間的に変動するリソース消費量を推定する。これにより、リソースに空きがある期間を予測できるので、車載装置200は、リソースに空きがある期間に所定のアプリの実行期間を割り当てる。所定のアプリは、例えば、処理の実行に時間的な制約を受けないアプリである。
 [サービスアプリの事例]
 車載装置200において実行される、車外との通信を行うアプリは、処理の実行にリアルタイム性が要求されるリアルタイムアプリ(「高リアルタイムアプリ」ともいう。)と、処理の実行にリアルタイム性が要求されない非リアルタイムアプリとに分類できる。
 リアルタイムアプリは、リアルタイム性が要求されるため、実行タイミングに制約がある。一方、非リアルタイムアプリは、リアルタイム性が要求されないため、実行タイミングに制約がない。このことから、リアルタイムアプリか非リアルタイムアプリかは、リアルタイム性が要求されるか否か、すなわち、実行タイミングに制約があるか否かにより判別できる。具体的には、例えばアプリの許容遅延時間の有無、または許容遅延時間が所定のしきい値以下か否かにより、リアルタイムアプリか非リアルタイムアプリかが判別される。
 リアルタイムアプリは、リソース消費量に応じて、例えば以下の3つのグループに分類できる。
 (1)第1のグループ:リソース消費量(高)
 このグループには、例えば、車両の遠隔制御および遠隔監視、並びに、動的マップ構築のための自車搭載センサのセンサデータをサーバ装置(インフラ装置)にアップロードする処理等を実行するリアルタイムアプリが属する。
 (2)第2のグループ:リソース消費量(中)
 このグループには、例えば、動的情報(死角情報)共有のための動的マップのダウンロード処理(例えば、数百ms周期)等を実行するリアルタイムアプリが属する。
 (3)第3のグループ:リソース消費量(低)
 このグループには、例えば、プローブ情報のアップロード処理(例えば、数分周期)等を実行するリアルタイムアプリが属する。
 非リアルタイムアプリは、例えば、静的地図更新のためのダウンロード処理、故障診断のための車両情報のアップロード処理等を行うアプリを含む。
 [リソース消費量の推定例]
 図4を参照して、車両100の車載装置200は、リソース消費量実績地図に基づいて、走行予定エリア32における走行区間毎のリソース消費量を推定する。図4において、上段の図は、リソース消費量実績地図を示し、下段の図は、リソース消費量実績地図に基づいて推定したリソース消費量の時間的な変動を示す。
 リソース消費量実績地図において、「リソース消費量:低」の領域は、例えば、プローブ情報のアップロード処理等を行う第3のグループに属するリアルタイムアプリが主として実行された領域であり、「リソース消費量:中」の領域は、例えば、動的マップのダウンロード処理等を行う第2のグループに属するリアルタイムアプリが主として実行された領域であり、「リソース消費量:高」の領域は、例えば、センサデータをアップロードする処理等を行う第1のグループに属するリアルタイムアプリが主として実行された領域であると認識できる。
 車載装置200は、例えば、自車両において、各グループに属するリアルタイムアプリを実行した場合に必要となるリソース消費量を推定する。リソース消費量の推定は、例えば、消費量の推定対象(対象リソース)毎に行う。消費量の推定対象は、例えば、通信帯域(無線または有線)、プロセッサ、およびメモリ等である。推定したリソース消費量を、リソース消費量実績地図における各領域の走行時間帯に割り当てることにより、走行に伴うリソース消費量の時間的な変動を示す、図4の下段に示す図が得られる。
 [非リアルタイムアプリのスケジューリング]
 図5を参照して、リソース消費量の推定結果より、リソースに空きがある期間を予測することが可能である。例えば、リソース消費量に応じて複数段階(ここでは、一例として、リアルタイムアプリの第1から第3のグループに対応した、「高」、「中」、「低」の3段階)に量子化されている場合、リソース消費量が「中」および「低」の期間をリソースに空きがある期間と予測してもよい。非リアルタイムアプリは、上記したように、実行タイミングに制約がないため、スケジューリングが可能である。そのため、非リアルタイムアプリは、リソースに空きがある期間であると予測された期間にその実行期間が割り当てられる。
 なお、リソースに空きがある期間の予測は、リソース使用上限に対する、推定したリソース消費量の割合に基づいて行ってもよい。具体的には、リソース使用上限に対する、推定したリソース消費量の割合が、所定のしきい値X[%]以下となる期間をリソースに空きがある期間としてもよい。しきい値X[%]は例えば50%とすることができる。しきい値X[%]の値は、非リアルタイムアプリのリソース消費量に基づいて設定されてもよい。これにより、非リアルタイムアプリを確実に実行できるリソースが残るようにしきい値X[%]の値が設定される。
 [リソース消費量実績地図の作成]
 図6を参照して、サーバ装置500は、先行車両から走行エリア(自車両においては走行予定エリア)におけるリアルタイムアプリ毎のリソース消費実績値を収集する。各先行車両は、走行エリア(走行予定エリア)を走行したときの走行実績情報(例えば、位置情報、時刻情報、およびリソース消費量(観測結果)等)をアップロード情報としてサーバ装置500に送信する。サーバ装置500は、収集した情報に基づいて、リソース消費量実績地図を作成し、定期(例えば、数分周期)、または不定期に更新する。
 図7は、リソース消費量実績地図の内容の一例を示す図である。図7は、リソース消費量実績地図の内容を表形式にした例を示しているが、表形式でなくてもよい。図7を参照して、リソース消費量実績地図の内容を示すテーブルは、「エリア(区間)」、「リアルタイムアプリ」、「実行期間(ミリ秒)」、「許容遅延(ミリ秒)」、「対象リソース」、「リソース消費量[数値]」、「リソース消費量[判定結果]」、および「備考」の各カラムを含む。
 「エリア(区間)」のカラムには、位置情報にて規定される区間が格納される。「リアルタイムアプリ」のカラムには、各エリア(区間)にて実行されたリアルタイムアプリの識別番号が格納される。「実行期間(ミリ秒)」のカラムには、リアルタイムアプリの実行期間が格納される。「許容遅延(ミリ秒)」のカラムには、リアルタイムアプリの許容遅延時間が格納される。「対象リソース」のカラムには、対象リソースの項目として「通信帯域」、「プロセッサ」、および「メモリ」が格納される。「リソース消費量[数値]」のカラムには、対象リソースの項目毎のリソース消費実績値が格納される。「リソース消費量[判定結果]」のカラムには、リソース消費実績値の結果をN段階に量子化した量子化情報が格納される。例えば、リソース消費実績値の結果を3段階に量子化する場合、「高」、「中」、「低」のいずれかが格納される。「備考」のカラムには、必要に応じて付記事項等が格納される。
 図7に示すテーブルは、所定の期間の実績データとして作成される。走行実績情報に含まれる時刻情報は、所定の期間の情報か否かを判別する際に用いられる。なお、図7に示すテーブルに時刻情報のカラムを付加して、各レコードが時刻情報を持つようにしてもよい。さらに、時刻情報と位置情報とから車両の速度情報が算出できるので、図7に示すテーブルに速度情報のカラムを付加して、各レコードが速度情報を持つようにしてもよい。リソース消費量実績地図には、当該リソース消費量実績地図が生成された日時を示す時刻情報が付加されていてもよい。
 サーバ装置500(図6参照)は、図7に示すテーブルの内容を適宜、統計処理して用いるよう構成されていてもよい。例えば、「リソース消費量[数値]」のカラムに格納される値は、複数の先行車両の観測値を統計処理(平均化)してもよいし、リアルタイムアプリの実行期間による時間変動を統計処理(平均化)してもよい。
 なお、先行車両か否かに関わらず各車両から走行実績情報を収集し、収集した情報から先行車両の情報に相当する情報を抽出してリソース消費量実績地図を作成または更新するようにしてもよい。
 [車載装置200の構成]
 図8を参照して、車載装置200は、車内GW装置210、および車外無線装置300を含む。車両100には、GW装置210に加えて、各種センサおよび各種ECU(Electronic Control Unit)等を含む通信ネットワークである車内ネットワーク400が搭載される。通常、車両には複数の車内ネットワークが搭載される。図8においては、複数の車内ネットワークを代表して車内ネットワーク400が記載されており、他の車内ネットワークは記載が省略されている。
 GW装置210は、車内ネットワーク400を含む複数の車内ネットワークを相互に接続して、車内ネットワーク間におけるデータのやりとりを整理する。車内ネットワーク400は、種々のセンサを含むセンサ群410、および種々のECUを含むECU群420を含む。車両100が自動運転機能を持つ場合は、ECU群420には自動運転ECUが含まれる。
 GW装置210はさらに、機能部としての情報取得部220、リソース管理部230、および、協調仲介部240を含む。情報取得部220は、車外無線装置300を介して、自車両(車両100)の走行予定エリアを走行した他車両(先行車両)による走行予定エリアにおけるリソース消費量の実績情報を取得する。すなわち、情報取得部220は、車外無線装置300を介して、自車両(車両100)以外の車両である他車両が自車両(車両100)の走行予定エリアを走行したときの、当該他車両のソース消費量の実績情報を取得する。本実施の形態においては、情報取得部220は、サーバ装置500からリソース消費量実績地図を実績情報として取得する。リソース管理部230は、自車両のリソース消費量を管理する。リソース管理部230は、リソース消費量推定部232と、リソース制御部234とを含む。リソース消費量推定部232は、情報取得部220が取得したリソース消費量実績地図に基づいて、走行予定エリアを自車両が走行した場合に、自車両の走行に伴って時間的に変動するリソース消費量を推定する。リソース制御部234は、リソース消費量推定部232の推定結果に応じて、所定のアプリの実行期間を所定の期間に割り当てる。具体的には、上記したように、リソース制御部234は、非リアルタイムアプリの実行期間をリソースに空きがあると予測した期間に割り当てる。
 協調仲介部240は、エンドECUとサーバ装置(インフラ装置)との協調を仲介する機能部(アプリ)である。協調仲介部240は、例えば、動的マップの情報を取得、または更新し、エンドECU(例えば自動運転ECU)に転送する。
 車外無線装置300は、車外との無線通信を行う複数の無線インターフェイス(以下、「インターフェイス(Interface)」を「IF」と記載する。)を含む。複数の無線IFは、例えば、5G(第5世代移動通信システム)またはLTE(Long Term Evolution)により外部装置(車外装置)とセルラー通信を行うための無線IF310、C-V2X(Cellular Vehicle to Everything)により外部装置との無線通信を行うための無線IF320、およびその他の無線IF330を含む。その他の無線IF330としては、例えばローカル5Gが挙げられる。なお、車外無線装置300に含まれる無線IFはこれらに限定されず、これら以外のものであってもよい。また、車外無線装置300に含まれる無線IFの数はこれに限定されない。
 無線IFは、各通信方式に対応した種々のものがある。通信方式としては、広域通信としては、セルラー通信(4G(LTE)/5G)、LPWA(Low Power Wide Area)が知られており、狭域通信としては、DSRC(Dedicated Short Range Communications)、C-V2Xが知られている。さらに広域と狭域との間のローカル通信として、WiFi、ローカル5G等がある。ローカル5Gは、通信事業者以外の企業または自治体が自主運用している点において、セルラー通信の5Gとは異なる。
 [車両100におけるリソース管理対象]
 リソース管理対象(対象リソース)は、通信リソースと、計算リソースとを含む。通信リソースの管理対象は、車内ネットワーク400とGW装置210との間の有線通信帯域、および、車載装置200と車外装置(例えば、インフラ装置50等)との通信による無線通信帯域、並びに、中継処理またはエンド処理を含む。計算リソースの管理対象は、プロセッサ、およびメモリを含む。各リソースの観測領域は、通信帯域(有線/無線)は通信リンクであり、プロセッサおよびメモリはアプリ実行領域である。
 [ハードウェア構成]
 《GW装置210》
 図9を参照して、車両100に搭載されるGW装置210はコンピュータ212を含む。コンピュータ212は、GW装置210全体を制御する制御部250と、種々のデータを記憶する記憶装置260と、車内ネットワークとの通信を行う車内ネットワーク通信部270と、車外無線装置300との通信を行う通信IF280とを含む。制御部250、記憶装置260、車内ネットワーク通信部270、および通信IF280はいずれもバス290に接続されており、相互間のデータ交換はバス290を介して行われる。
 制御部250は、演算部252と、コンピュータ212のブートアッププログラム等を記憶するROM(Read Only Memory)254と、随時書込読出可能なRAM(Random Access Memory)256とを含む。演算部252は、演算素子(プロセッサ)として、例えば、CPU(Central Processing Unit)またはMPU(Micro Processing Unit)を含む。記憶装置260は、例えばフラッシュメモリ等の不揮発性メモリを含む。ROM254または記憶装置260には、演算部252が実行するソフトウェア(コンピュータプログラム)および種々の情報(データ)が記憶されている。
 GW装置210を本開示に係るGW装置210の各機能部として機能させるためのコンピュータプログラムは、DVD(Digital Versatile Disc)またはUSB(Universal Serial Bus)メモリ等の所定の記憶媒体に記憶されて流通し、これらからさらに記憶装置260に転送される。または、コンピュータプログラムは、車外との無線通信により外部装置からコンピュータ212に送信され記憶装置260に記憶されてもよい。
 GW装置210の各機能部の機能は、制御部250がハードウェアを用いて実行するソフトウェア処理によって実現される。これらの機能の一部または全部が、マイクロコンピュータを含む集積回路によって実現されてもよい。
 車内ネットワーク通信部270は、車内ネットワークと通信するためのIFを提供する。車内ネットワーク通信部270は、例えばCAN(Controller Area Network)等の通信プロトコルに従い、車内ネットワークとの間で通信を行う。車内ネットワーク通信部270は、複数の車内ネットワークに対応して複数設けられている。GW装置210(コンピュータ212)は、制御部250の制御の下で、一の車内ネットワーク通信部にて受信したデータ(メッセージ)を他の車内ネットワーク通信部から送信することによって、車内ネットワーク間におけるデータの中継を行う。通信IF280は、車外無線装置300と通信するためのIFを提供する。
 《サーバ装置500》
 図10を参照して、サーバ装置500は、コンピュータ510を含む。コンピュータ510は、制御部520と、記憶装置530と、ネットワークIF540とを含む。制御部520は、CPU522、GPU(Graphics Processing Unit)524、ROM526、およびRAM528を含む。制御部520、記憶装置530、およびネットワークIF540はいずれもバス550に接続されており、相互間のデータ交換はバス550を介して行われる。
 記憶装置530は、例えばフラッシュメモリまたはハードディスクドライブ等の不揮発性の記憶装置を含む。記憶装置530には、CPU522が実行するためのコンピュータプログラム、および種々の情報が記憶されている。ネットワークIF540は他端末との通信を可能とするネットワーク70への接続を提供する。
 サーバ装置500は、ネットワーク70を介して、リソース消費量実績地図を作成するための走行実績情報(例えば、位置情報、時刻情報、およびリソース消費量(観測結果)等)を各先行車両から取得する。サーバ装置500は、取得した走行実績情報を処理することによって、リソース消費量実績地図を作成する。サーバ装置500は、作成したリソース消費量実績地図を、ネットワーク70を介して、車両に配信する。
 サーバ装置500を本実施の形態に係るサーバ装置500の各機能部として機能させるためのコンピュータプログラムは、DVDまたはUSBメモリ等の所定の記憶媒体に記憶されて流通し、これらからさらに記憶装置530に転送される。または、コンピュータプログラムは、ネットワーク70を介して外部装置からコンピュータ510に送信され記憶装置530に記憶されてもよい。
 [サーバ装置500の機能的構成]
 図11を参照して、サーバ装置500の制御部520は、通信制御部560、情報収集部562、実績地図作成部564、および、配信部566を機能部として含む。記憶装置530は、走行実績情報記憶部532、および実績地図記憶部534を含む。通信制御部560は、外部装置と通信するためにネットワークIF540(図10参照)を制御する。情報収集部562は、複数の先行車両から走行実績情報を収集し、走行実績情報記憶部532に格納する。実績地図作成部564は、走行実績情報記憶部532に格納されている走行実績情報を読み出して処理し、リソース消費量実績地図を作成する。実績地図作成部564は、作成したリソース消費量実績地図を実績地図記憶部534に格納する。実績地図作成部564は、新たに収集した走行実績情報に基づいて、リソース消費量実績地図を更新する機能も持つ。配信部566は、所定のタイミングにおいて実績地図記憶部534からリソース消費量実績地図を読み出して、車両に対して配信する。
 これらの機能は、制御部250がハードウェアを用いて実行するソフトウェア処理によって実現される。これらの機能の一部または全部が、マイクロコンピュータを含む集積回路によって実現されてもよい。
 [ソフトウェア構成]
 《車載装置200》
 図12を参照して、車外との通信に起因する高負荷時においても応答性の低下を抑制するために、車載装置200において実行されるコンピュータプログラムの制御構造について説明する。このプログラムは、例えば車外との無線通信の開始に伴い開始する。
 このプログラムは、サーバ装置500からリソース消費量実績地図を受信するまで待機するステップS1000と、ステップS1000において、サーバ装置500からリソース消費量実績地図を受信した場合に実行され、以下に説明するステップS1012を、対象リソースの観測領域毎に全ての対象リソースに対する処理が終了するまで繰返すステップS1010とを含む。ステップS1010においては、受信したリソース消費量実績地図に基づいて、走行予定エリアにおけるリアルタイムアプリのリソース消費量を推定するステップS1012を含む。
 このプログラムはさらに、ステップS1010の後に実行され、リソース消費量の推定結果に基づいて、非リアルタイムアプリの実行期間をスケジューリングするステップS1020と、ステップS1020の後に実行され、ステップS1020のスケジューリング処理にて設定した実行期間に非リアルタイムアプリを実行するステップS1030と、ステップS1030の後に実行され、システム終了の指示がされたか否かを判定し、判定結果に応じて制御の流れを分岐させるステップS1040とを含む。ステップS1040において、システム終了の指示「無し」と判定された場合は、制御はステップS1000に戻る。ステップS1040において、システム終了の指示「有り」と判定された場合は、このプログラムは終了する。
 《サーバ装置500》
 図13を参照して、リソース消費量実績地図を作成して車両に配信するために、サーバ装置500において実行されるコンピュータプログラムの制御構造について説明する。このプログラムは、例えば、サーバ装置500を管理する管理者の操作により開始する。
 このプログラムは、リソース消費量実績地図を作成するための走行実績情報(例えば、位置情報、時刻情報、およびリソース消費量(観測結果)等)を各車両(先行車両)から収集するステップS2000と、ステップS2000の後に実行され、収集した情報に基づいて、リソース消費量実績地図を作成または更新するステップS2010と、ステップS2010の後に実行され、作成または更新したリソース消費量実績地図を車両100(車載装置200)に対して配信し、制御をステップS2000に戻すステップS2020とを含む。
 [動作]
 本実施の形態に係るシステム30は以下のように動作する。以下においては、リソース消費量の時間的な変動が生じる特定のエリアを走行予定エリアとする場合について説明する。
 図1を参照して、サーバ装置500は、特定のエリアを走行した各先行車両から走行エリア(特定のエリア)におけるリアルタイムアプリ毎のリソース消費実績値を収集する。具体的には、各先行車両は、走行エリアを走行したときの走行実績情報(例えば、位置情報、時刻情報、およびリソース消費量(観測結果)等)をアップロード情報としてサーバ装置500に送信する。サーバ装置500は、各先行車両からのアップロード情報を受信することによって、リソース消費実績値を含む走行実績情報を収集する(図13のステップS2000)。
 サーバ装置500は、収集した走行実績情報に基づいてリソース消費量実績地図を作成し(ステップS2010)、作成したリソース消費量実績地図を車両100(車載装置200)に対して配信する(ステップS2020)。
 車両100の車載装置200は、リソース消費量実績地図を受信すると(図12のステップS1000においてYES)、受信したリソース消費量実績地図に基づいて、走行予定エリアを自車両が走行した場合に、自車両の走行に伴って時間的に変動するリソース消費量を推定する(図12のステップS1010)。
 図4を参照して、具体的には、車載装置200は、受信したリソース消費量実績地図に基づいて、走行予定エリアにおけるリアルタイムアプリのリソース消費量を推定する。車載装置200は、リソース消費量の推定結果に基づいて、非リアルタイムアプリの実行期間をスケジューリングする(図12のステップS1020)。図5を参照して、リソース消費量の推定結果に基づいて、リソースに空きがある期間が抽出される。車載装置200は、リソースに空きがある期間に非リアルタイムアプリの実行期間を割り当てる。車載装置200は、非リアルタイムアプリの実行期間に当該非リアルタイムアプリによる処理を実行する(図12のステップS1030)。
 以上の説明から明らかなように、本実施の形態に係る車載装置200およびサーバ装置500は以下に述べる効果を奏する。
 車載装置200は、自車両の走行予定エリアを走行した他車両(先行車両)による走行予定エリアにおけるリソース消費量の実績情報(本実施の形態においてはリソース消費量実績地図)を取得する。車載装置200は、取得したリソース消費量実績地図に基づいて、自車両の走行に伴って時間的に変動するリソース消費量を推定する。すなわち、車載装置200は、このリソース消費量実績地図に基づいて、走行予定エリアを自車両が走行した場合における車外との通信に起因する負荷上昇を予測する。車載装置200はさらに、所定のアプリ(非リアルタイムアプリ)の実行期間を、例えば高負荷時を避けた期間に割り当てることにより、リソース消費を制御する。これにより、車載装置200は、車外との通信に起因する高負荷時においても応答性の低下を抑制できる。加えて、高性能なプロセッサを車載装置に搭載することなく、許容遅延時間を満たせないサービスの発生を抑制できる。その結果、車載装置のコスト増大を抑制しつつ、応答性の低下を抑制できる。
 車載装置200は、走行予定エリアの走行区間に応じて変動する、リアルタイムアプリの実行によるリソース消費量を含むリソース消費量を走行区間毎に推定し、その推定結果に応じて、非リアルタイムアプリの実行期間を所定の期間に割り当てる。これにより、リソースに空きがある期間に、非リアルタイムアプリの実行期間を割り当てることができる。すなわち、リアルタイムアプリの実行によりリソース消費量が増大する期間に、非リアルタイムアプリが実行されるのを防止できる。これにより、アプリの実行期間を分散できるので、車外との通信に起因する高負荷時において、応答性の低下を容易に抑制できる。
 サーバ装置500は、複数の先行車両からリソース消費実績値(走行実績情報)を収集し、収集した走行実績情報に基づいて、走行予定エリアの走行区間にリソース消費実績が設定されたリソース消費量実績地図を作成する。車載装置200は、サーバ装置500から提供されるリソース消費量実績地図を用いることによって、自車両の走行に伴って時間的に変動するリソース消費量を容易に推定できる。
 非リアルタイムアプリの実行期間をスケジューリングする場合、推定したリソース消費量のリソース使用上限に対する割合が所定のしきい値X[%]以下となる走行区間の走行予定期間に、非リアルタイムアプリの実行期間を割り当てることもできる。この場合、非リアルタイムアプリの実行期間を、高負荷時以外の期間に容易に設定できる。しきい値X[%]の値は、非リアルタイムアプリのリソース消費量に基づいて設定されてもよい。これにより、非リアルタイムアプリを実行するためのリソースが確保された期間に、当該非リアルタイムアプリの実行期間を設定できる。
 リソース消費量実績地図は、走行予定エリアの走行区間毎に設定され、走行予定エリアを走行した先行車両による走行予定エリアにおけるリソース消費量の実績値が複数段階(本実施の形態においては3段階)に量子化された量子化情報(例えば「高」、「中」、「低」)を含む。これにより、リソース消費量実績地図のデータ量を低減できるので、車載装置200によるリソース消費量実績地図の取得が容易になる。
 (第1の変形例)
 第1の変形例に係るシステムにおいては、リソース消費量実績地図を配信するサーバ装置が、配信先の車両の現在位置を監視しており、車両が走行予定エリアに進入する前にリソース消費量実績地図を当該車両に対して配信する。サーバ装置は、車両(車載装置)と通信することにより、車両(車載装置)の位置情報を取得する。サーバ装置は、取得した位置情報に基づいて、配信先の車両が走行予定エリアに進入する前か否かを判定する。
 車両の走行予定エリアは、上記した特定のエリアとしてサーバ装置において設定されている。サーバ装置は、走行予定エリアとして設定された特定のエリアに車両が進入する前であるか否かを判定し、判定結果に応じて、当該車両に対してリソース消費量実績地図を配信する。走行予定エリアに進入する前とは、例えば、走行予定エリアに進入する直前、または数秒前、或いは、走行予定エリアに進入する数分前とすることができる。なお、走行予定エリアに進入するまでの時間は、位置情報および車両速度等から算出することが可能である。
 これにより、車両に搭載される車載装置は、走行予定エリアに進入する前に、サーバ装置からリソース消費量実績地図を受信する。車載装置およびサーバ装置のその他の構成は、上記第1の実施の形態と同様である。
 [ソフトウェア構成]
 第1の変形例に係るサーバ装置おいては、図13に示されるプログラムに代えて、図14に示されるプログラムが実行される。図14のプログラムは、図13のプログラムにおいて、ステップS2012をさらに含む。図14のステップS2000、ステップS2010、およびステップS2020における処理は、図14に示される各ステップにおける処理と同じである。以下、異なる部分について説明する。
 図14を参照して、このプログラムは、ステップS2010の後に実行され、リソース消費量実績地図を提供する車両(車載装置)が特定のエリア(走行予定エリア)への進入前か否かを判定し、判定結果に応じて制御の流れを分岐させるステップS2012を含む。ステップS2012において、進入前ではないと判定された場合は、制御はステップS2000に戻る。ステップS2012において、進入前であると判定された場合は、制御はステップS2020に進む。
 このような構成により、車載装置は走行予定エリアに進入する前に、サーバ装置からリソース消費量実績地図をより確実に取得できる。これにより、走行予定エリアに進入する前に、走行予定エリアを自車両が走行した場合における車外との通信に起因する負荷上昇を予測できる。
 第1の変形例におけるその他の効果は、上記第1の実施の形態と同様である。
 (第2の変形例)
 第2の変形例に係るシステムにおいては、車載装置がサーバ装置に対してリソース消費量実績地図の送信を要求する。サーバ装置は、車載装置からの送信要求に応じて、当該送信要求を送信した車載装置に対してリソース消費量実績地図を配信する。車載装置は、例えば、走行予定エリアに進入する前の任意のタイミングにおいてサーバ装置に送信要求を送信する。これにより、車載装置は、自車両が走行予定エリアに進入する前に、サーバ装置からリソース消費量実績地図を受信できる。車載装置およびサーバ装置のその他の構成は、上記第1の実施の形態と同様である。
 [ソフトウェア構成]
 《車載装置》
 第2の変形例に係る車載装置においては、図12に示されるプログラムに代えて、図15に示されるプログラムが実行される。図15のプログラムは、図12のプログラムにおいて、ステップS1100をさらに含む。図15のステップS1000からステップS1040における処理は、図12に示される各ステップにおける処理と同じである。以下、異なる部分について説明する。
 図15を参照して、このプログラムは、リソース消費量実績地図を配信するサーバ装置に対して、リソース消費量実績地図の送信を要求するステップS1100を含む。ステップS1100においては、例えば、自車両が走行予定エリアに進入する前の所定のタイミングにおいて、リソース消費量実績地図の送信を要求する送信要求が車載装置からサーバ装置に対して送信される。ステップS1100の処理が終了すると、制御はステップS1000に進む。ステップS1040において、システム終了の指示「無し」と判定された場合は、制御はステップS1100に戻る。
 《サーバ装置》
 第2の変形例に係るサーバ装置においては、図13に示されるプログラムに代えて、図16に示されるプログラムが実行される。図16のプログラムは、図13のプログラムにおいて、ステップS2020に代えて、ステップS2014およびステップS2022を含む。図16のステップS2000およびステップS2010における処理は、図13に示される各ステップにおける処理と同じである。以下、異なる部分について説明する。
 図16を参照して、このプログラムは、ステップS2010の後に実行され、車載装置から送信要求を受信したか否かを判定し、判定結果に応じて制御の流れを分岐させるステップS2014と、ステップS2014において、送信要求を受信したと判定された場合に実行され、当該送信要求を送信した車載装置(車両)に対してリソース消費量実績地図を配信(送信)するステップS2022とを含む。
 ステップS2014において、送信要求を受信していないと判定された場合、または、ステップS2022の処理が終了した場合、制御はステップS2000に戻る。
 このように、車載装置は、自車両が走行予定エリアに進入する前に、サーバ装置に対してリソース消費量実績地図の送信を要求することにより、自車両が走行予定エリアに進入する前にリソース消費量実績地図をサーバ装置から取得できる。
 第2の変形例におけるその他の効果は、上記第1の実施の形態と同様である。
 (第3の変形例)
 第3の変形例に係るシステムにおいては、車載装置がサーバ装置に対して自車両の走行予定エリアを通知する。走行予定エリアは、例えば、ナビゲーションシステム等において自車両の搭乗者によって設定(入力)された目的地に基づいて設定される構成であってもよい。この場合、設定(入力)された目的地までのルートが決定され、決定されたルートに応じて走行予定エリアが導出される。さらに、目的地が入力されない場合に、例えば過去の運転履歴、現在の車両の走行挙動等に基づいて走行予定エリアが設定される構成であってもよい。サーバ装置は、車載装置からの通知を受信すると、送信された走行予定エリアに応じたリソース消費量実績地図を選択して、または作成して、通知を送信した車載装置に対して配信する。車載装置がサーバ装置に対して自車両の走行予定エリアを通知するタイミングは、特に限定されない。一例として、自車両の走行予定エリアを通知するタイミングは、第2の変形例と同様、自車両が走行予定エリアに進入する前の任意のタイミングとすることができる。車載装置およびサーバ装置のその他の構成は、上記第1の実施の形態と同様である。
 [ソフトウェア構成]
 《車載装置》
 第3の変形例に係る車載装置においては、図12に示されるプログラムに代えて、図17に示されるプログラムが実行される。図17のプログラムは、図12のプログラムにおいて、ステップS1110をさらに含む。図17のステップS1000からステップS1040における処理は、図12に示される各ステップにおける処理と同じである。以下、異なる部分について説明する。
 図17を参照して、このプログラムは、リソース消費量実績地図を配信するサーバ装置に対して、自車両の走行予定エリアを通知するステップS1110を含む。ステップS1110の処理が終了すると、制御はステップS1000に進む。ステップS1040において、システム終了の指示「無し」と判定された場合は、制御はステップS1110に戻る。
 《サーバ装置》
 第3の変形例に係るサーバ装置においては、図13に示されるプログラムに代えて、図18および図19に示されるプログラムが実行される。図18に示されるプログラムは、図19に示されるプログラムと並行して実行される。
 図18を参照して、このプログラムは、リソース消費量実績地図を作成するための走行実績情報(例えば、位置情報、時刻情報、およびリソース消費量(観測結果)等)を各車両(先行車両)から収集するステップS2000と、ステップS2000の後に実行され、収集した情報に基づいて、リソース消費量実績地図を作成または更新するステップS2010とを含む。ステップS2010の処理が終了すると、制御はステップS2000に戻る。
 図19を参照して、このプログラムは、車両から走行予定エリアの通知を受信するまで待機するステップS2100と、ステップS2100において、走行予定エリアの通知を受信したと判定された場合に実行され、作成されたリソース消費量実績地図から通知された走行予定エリアに対応するリソース消費量実績地図を選択する、または通知された走行予定エリアに対応するリソース消費量実績地図を作成するステップS2110と、ステップS2110の後に実行され、通知された走行予定エリアに対応するリソース消費量実績地図を車両(通知を送信した車両)に対して送信(配信)するステップS2120とを含む。ステップS2120の処理が終了すると、制御はステップS2100に戻る。
 第3の変形例に係るシステムにおいては、車載装置が自車両の走行予定エリアをサーバ装置に通知して、走行予定エリアに応じたリソース消費量実績地図をサーバ装置から取得する。これにより、車載装置は、種々の走行予定エリアについて、自車両の走行に伴うリソース消費量の時間的な変動を予測できる。
 第3の変形例におけるその他の効果は、上記第1の実施の形態と同様である。
 (第4の変形例)
 第4の変形例に係るシステムにおいては、リソース消費量実績地図が作成されてからの経過時間を算出し、経過時間に応じて、車載装置が、リソース消費量実績地図を用いたリソース消費量の推定処理を実行する。すなわち、車載装置が取得したリソース消費量実績地図が古い場合、そのリソース消費量実績地図を用いたリソース消費量の推定処理を実行せず、リソース消費量実績地図が比較的新しい場合に、リソース消費量の推定処理を実行する。
 リソース消費量実績地図には、そのリソース消費量実績地図が生成された日時を示す時刻情報が付加されている。車載装置は、時刻情報が示す日時と現在の日時とを比較し、比較結果に応じて、自車両の走行に伴って時間的に変動するリソース消費量を推定する。例えば、比較の結果、リソース消費量実績地図が生成されてから所定時間(例えば、2時間から6時間の範囲内の時間)より長い時間が経過している場合、車載装置はそのリソース消費量実績地図を用いた推定処理は実行しない。これにより、作成された日時が新しい実績情報を用いてリソース消費量を推定できるので、リソース消費量の推定精度を高めることができる。
 [ソフトウェア構成]
 《車載装置》
 第4の変形例に係る車載装置においては、図12に示されるプログラムに代えて、図20に示されるプログラムが実行される。図20のプログラムは、図12のプログラムにおいて、ステップS1120およびステップS1130をさらに含む。図20のステップS1000からステップS1040における処理は、図12に示される各ステップにおける処理と同じである。以下、異なる部分について説明する。
 図20を参照して、このプログラムは、ステップS1000において、サーバ装置からリソース消費量実績地図を受信したと判定された場合に実行され、受信したリソース消費量実績地図の作成日時を現在の日時と比較するステップS1120と、ステップS1120の後に実行され、リソース消費量実績地図が作成されてからの経過時間が所定時間(例えば、2時間から6時間の範囲内の時間)以内か否かを判定し、判定結果に応じて制御の流れを分岐させるステップS1130とを含む。ステップS1130において、リソース消費量実績地図が作成されてからの経過時間が所定時間以内ではない(すなわち、所定時間より長い時間が経過している)と判定された場合は、制御はステップS1000に戻る。ステップS1130において、リソース消費量実績地図が作成されてからの経過時間が所定時間以内であると判定された場合は、制御はステップS1010に進む。
 なお、リソース消費量実績地図が生成されてから所定時間より長い時間が経過している場合、車載装置は、そのリソース消費量実績地図を破棄して、サーバ装置に対して新たなリソース消費量実績地図の送信を要求するよう構成してもよい。
 (第2の実施の形態)
 図21を参照して、本実施の形態に係る車載装置200Aは、先行車両から走行実績情報(例えば、位置情報、時刻情報、およびリソース消費量(観測結果)等)を取得し、取得した走行実績情報に基づいて、自車両の走行に伴って時間的に変動するリソース消費量を推定する点において、サーバ装置から取得したリソース消費量実績地図に基づいて、リソース消費量を推定する第1の実施の形態とは異なる。その他の構成は、第1の実施の形態と同様である。
 車両100Aの車載装置200Aは、走行予定エリアを既に走行した複数台(例えば2から3台)の先行車両と車車間通信により通信し、これら先行車両から走行実績情報を取得する。車載装置200Aは、取得した走行実績情報を処理することにより、走行予定エリアの走行区間毎に、どのリアルタイムアプリが実行されたかを判別する。車載装置200Aは、その判別結果に基づいて、第1の実施の形態と同様にして、走行予定エリアにおけるリアルタイムアプリのリソース消費量を推定する。車載装置200Aはさらに、リソース消費量の推定結果に基づいて、非リアルタイムアプリの実行期間をスケジューリングする。
 図22を参照して、本実施の形態に係る車載装置200Aは、GW装置210(図8参照)に代えて、GW装置210Aを含む。GW装置210Aは、情報取得部220およびリソース管理部230(図8参照)に代えて、それぞれ、情報取得部222およびリソース管理部230Aを含む。情報取得部222は、車外無線装置300(図8参照)を介して、自車両の走行予定エリアを走行した先行車両から走行予定エリアにおけるリソース消費量の実績情報である「走行実績情報」を取得する。リソース管理部230Aは、リソース消費量推定部232(図8参照)に代えて、リソース消費量推定部232Aを含む。リソース消費量推定部232Aは、先行車両から取得した走行実績情報に基づいて、走行予定エリアにおける各走行区間のリソース消費量を推定する。
 [ソフトウェア構成]
 本実施の形態に係る車載装置200Aにおいては、図12に示されるプログラムに代えて、図23に示されるプログラムが実行される。図23のプログラムは、図12のプログラムにおいて、ステップS1000およびステップS1010に代えて、ステップS1200およびステップS1210を含む。図23のステップS1020からステップS1040における処理は、図12に示される各ステップにおける処理と同じである。以下、異なる部分について説明する。
 図23を参照して、このプログラムは、複数の先行車両から走行実績情報を受信するまで待機するステップS1200と、ステップS1200において複数の先行車両から走行実績情報を受信したと判定された場合に実行され、以下に説明するステップS1212を、対象リソースの観測領域毎に全ての対象リソースに対する処理が終了するまで繰返すステップS1210とを含む。ステップS1210においては、受信した走行実績情報に基づいて、走行予定エリアにおけるリアルタイムアプリのリソース消費量を推定するステップS1212を含む。ステップS1210の処理が終了すると、制御はステップS1020に進む。
 本実施の形態においては、リソース消費量の推定に、サーバ装置から取得したリソース消費量実績地図に代えて、先行車両から取得した走行実績情報を用いる。これによっても、車載装置200Aは、自車両の走行に伴って時間的に変動するリソース消費量を容易に推定できる。そのため、車外との通信に起因する高負荷時における応答性の低下を容易に抑制できる。
 その他の効果は、上記第1の実施の形態と同様である。
 (第3の実施の形態)
 本実施の形態に係るシステムは、サーバ装置において、車両におけるリソースに空きがある期間を抽出し、抽出した期間を、非リアルタイムアプリの実行を推奨する実行推奨期間として車両に通知する点において、第1の実施の形態とは異なる。すなわち、本実施の形態においては、非リアルタイムアプリの実行期間を割り当てる期間の抽出処理までをサーバ装置において実行する。
 図24を参照して、本実施の形態に係るサーバ装置500Aは、制御部520(図11参照)に代えて、制御部520Aを含む。制御部520Aは、配信部566(図11参照)に代えて、実行期間抽出部568および通知部570を機能部として含む。サーバ装置500Aは、車載装置から送信された、走行予定エリア、およびリソース管理対象に関する情報を受信している。実績地図作成部564は、走行予定エリアに対応したリソース消費量実績地図を作成し、実績地図記憶部534に格納する。実行期間抽出部568は、走行予定エリアの走行期間において、非リアルタイムアプリの実行を推奨する実行推奨期間をリソース消費量実績地図に基づいて抽出する。具体的には、実行期間抽出部568は、リソース管理対象に関する情報とリソース消費量実績地図とに基づいて、走行予定エリアにおけるリアルタイムアプリのリソース消費量を推定する。実行期間抽出部568はさらに、リソース消費量の推定結果に基づいて、非リアルタイムアプリの実行が可能な程度にリソースに空きがある期間を実行推奨期間として抽出する。通知部570は、実行期間抽出部568が抽出した、非リアルタイムアプリの実行推奨期間を、走行予定エリアに関する情報等を送信した車載装置に対して通知する。
 図25を参照して、本実施の形態に係る車載装置200Bは、GW装置210(図8参照)に代えて、GW装置210Bを含む。GW装置210Bは、情報取得部220(図8参照)が省略されており、リソース管理部230(図8参照)に代えて、リソース管理部230Bを含む。リソース管理部230Bは、実行推奨期間受信部236、およびリソース制御部238を含む。実行推奨期間受信部236は、サーバ装置500A(図24参照)から通知される実行推奨期間を受信する。リソース制御部238は、非リアルタイムアプリの実行期間を実行推奨期間に割り当てる。
 サーバ装置500Aおよび車載装置200Bのハードウェア構成は、上記第1の実施の形態と同様である。
 [ソフトウェア構成]
 《サーバ装置500A》
 本実施の形態に係るサーバ装置500Aにおいては、図13に示されるプログラムに代えて、図18および図26に示されるプログラムが実行される。図26に示されるプログラムは、図18に示されるプログラムと並行して実行される。図18に示されるプログラムについては、説明を省略する。
 図26を参照して、このプログラムは、車載装置200Bから走行予定エリアおよびリソース管理対象に関する情報を受信するまで待機するステップS2200と、ステップS2200において、走行予定エリアおよびリソース管理対象に関する情報を受信したと判定された場合に実行され、受信した走行予定エリアに対応したリソース消費量実績地図を実績地図記憶部534に格納されている実績地図の中から選択する、または走行予定エリアに対応するリソース消費量実績地図を作成するステップS2210と、ステップS2210の後に実行され、以下に説明するステップS2222を、リソース管理対象に関する情報に基づいて、対象リソースの観測領域毎に全ての対象リソースに対する処理が終了するまで繰返すステップS2220とを含む。ステップS2220は、リソース消費量実績地図に基づいて、走行予定エリアにおけるリアルタイムアプリのリソース消費量を対象リソースの観測領域毎に推定するステップS2222を含む。
 このプログラムはさらに、ステップS2220の後に実行され、リソース消費量の推定結果に基づいて、車載装置200Bにて実行される非リアルタイムアプリの実行可能な期間を実行推奨期間として抽出するステップS2230と、ステップS2230の後に実行され、抽出した実行推奨期間を、走行予定エリアに関する情報を送信した車載装置200Bに対して通知し、制御をステップS2200に戻すステップS2240とを含む。
 《車載装置200B》
 本実施の形態に係る車載装置200Bにおいては、図12に示されるプログラムに代えて、図27に示されるプログラムが実行される。
 図27を参照して、このプログラムは、自車両の走行予定エリアおよびリソース管理対象に関する情報をサーバ装置500A(図24参照)に対して通知するステップS1300と、ステップS1300の後に実行され、サーバ装置500Aから送信される実行推奨期間を受信するまで待機するステップS1310と、ステップS1310において、実行推奨期間を受信したと判定された場合に実行され、受信した実行推奨期間に基づいて、非リアルタイムアプリの実行期間をスケジューリングするステップS1320と、ステップS1320の後に実行され、ステップS1320のスケジューリング処理にて設定した実行期間に非リアルタイムアプリを実行するステップS1330と、ステップS1330の後に実行され、システム終了の指示がされたか否かを判定し、判定結果に応じて制御の流れを分岐させるステップS1340とを含む。ステップS1340において、システム終了の指示「無し」と判定された場合は、制御はステップS1300に戻る。ステップS1340において、システム終了の指示「有り」と判定された場合は、このプログラムは終了する。
 ステップS1300において、サーバ装置500Aに対して、走行予定エリアおよびリソース管理対象に関する情報を通知するタイミングは、特に限定されない。一例として、これらの情報をサーバ装置500Aに通知するタイミングは、自車両が走行予定エリアに進入する前の任意のタイミングとすることができる。
 サーバ装置500Aは、第1の実施の形態と同様、複数の先行車両から走行実績情報を収集してリソース消費量実績地図を作成する。サーバ装置500Aは、作成したリソース消費量実績地図に基づいて、非リアルタイムアプリの実行を推奨する実行推奨期間を抽出し、抽出した実行推奨期間を車載装置200Bに通知する。車載装置200Bは、非リアルタイムアプリの実行期間を実行推奨期間に割り当てることにより、アプリの実行期間を分散する。これにより、車載装置200Bは、車外との通信に起因する高負荷時において、応答性の低下を容易に抑制できる。このように、サーバ装置500Aは、非リアルタイムアプリの実行推奨期間を車載装置200Bに通知することにより、車載装置200Bに対して、車外との通信に起因する高負荷時に応答性の低下を抑制するように支援することができる。
 (変形例)
 上記実施の形態においては、GW装置にリソース管理部の機能を持たせた例について示したが、本開示はそのような実施の形態には限定されない。GW装置以外の装置にリソース管理部の機能を持たせてもよい。
 上記実施の形態においては、車載装置がGW装置および車外無線装置を含む例について示したが、本開示はそのような実施の形態には限定されない。車載装置はGW装置および車外無線装置以外の例えばECUであってもよい。すなわち、ECUにリソース管理部の機能を持たせてもよい。またリソース管理部の機能を持つ専用のECUを車載装置として車両に搭載してもよい。さらに、複数の車載装置にリソース管理部を搭載してもよい。
 上記実施の形態においては、非リアルタイムアプリの実行期間をスケジューリングする例について示したが、本開示はそのような実施の形態には限定されない。非リアルタイムアプリの実行期間が既に設定されている場合には、リソース消費量の推定結果に基づいて、非リアルタイムアプリの実行期間を再設定(リスケジューリング)することもできる。
 上記実施の形態においては、サーバ装置は、車両の走行予定エリアまたは特定のエリアのリソース消費量実績地図を作成する例について示したが、本開示はそのような実施の形態には限定されない。例えば、サーバ装置は実装置が管理するエリアのリソース消費量実績地図を作成しておき、作成した広範囲のリソース消費量実績地図から必要とするエリアを抽出して車両に配信するようにしてもよい。
 なお、上述の実施形態の各処理(各機能)は、1または複数のプロセッサを含む処理回路(Circuitry)により実現されてもよい。上記処理回路は、上記1または複数のプロセッサに加え、1または複数のメモリ、各種アナログ回路、各種デジタル回路が組み合わされた集積回路等により構成されてもよい。上記1または複数のメモリは、上記各処理を上記1または複数のプロセッサに実行させるプログラム(命令)を格納する。上記1または複数のプロセッサは、上記1または複数のメモリから読み出した上記プログラムに従い上記各処理を実行してもよいし、予め上記各処理を実行するように設計された論理回路に従って上記各処理を実行してもよい。上記プロセッサは、CPU、GPU、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等、コンピュータの制御に適合する種々のプロセッサであってよい。なお物理的に分離した上記複数のプロセッサが互いに協働して上記各処理を実行してもよい。例えば物理的に分離した複数のコンピュータのそれぞれに搭載された上記プロセッサがLAN(Local Area Network)、WAN(Wide Area Network)、インターネット等のネットワークを介して互いに協働して上記各処理を実行してもよい。
 上記で開示された技術を適宜組合せて得られる実施形態についても、本開示の技術的範囲に含まれる。
 今回開示された実施の形態は単に例示であって、本開示が上記した実施の形態のみに限定されるわけではない。本開示の範囲は、発明の詳細な説明の記載を参酌した上で、請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味および範囲内での全ての変更を含む。
 30   システム
 32   走行予定エリア
 50   インフラ装置
 60   動的マップ
 62   実空間
 70   ネットワーク
 100、100A   車両
 110   ミリ波レーダ
 112   車載カメラ
 114   LiDAR
 200、200A、200B   車載装置
 210、210A、210B   GW装置
 212、510   コンピュータ
 220、222   情報取得部
 230、230A、230B   リソース管理部
 232、232A   リソース消費量推定部
 234、238   リソース制御部
 236   実行推奨期間受信部
 240   協調仲介部
 250、520、520A   制御部
 252   演算部
 254、526   ROM
 256、528   RAM
 260、530   記憶装置
 270   車内ネットワーク通信部
 280   通信IF
 290、500   バス
 300   車外無線装置
 310、320、330   無線IF
 400   車内ネットワーク
 410   センサ群
 420   ECU群
 500、500A   サーバ装置
 522   CPU
 524   GPU
 532   走行実績情報記憶部
 534   実績地図記憶部
 540   ネットワークIF
 560   通信制御部
 562   情報収集部
 564   実績地図作成部
 566   配信部
 568   実行期間抽出部
 570   通知部
 
 

Claims (15)

  1.  車両に搭載される車載装置であって、
     外部装置と通信する通信部と、
     前記通信部を介して、自車両以外の車両である他車両が自車両の走行予定エリアを走行したときの、前記他車両のリソース消費量の実績情報を取得する情報取得部と、
     前記情報取得部が取得した前記実績情報に基づいて、前記走行予定エリアを自車両が走行した場合に、自車両の走行に伴って時間的に変動するリソース消費量を推定する推定部と、
     前記推定部の推定結果に応じて、所定のアプリケーションソフトウェアの実行期間を所定の期間に割り当てることにより、リソース消費を制御するリソース制御部とを含む、車載装置。
  2.  前記推定部は、前記走行予定エリアの走行区間に応じて変動するリソース消費量であって、処理の実行にリアルタイム性が要求されるアプリケーションソフトウェアの実行によるリソース消費量を含むリソース消費量を前記走行区間毎に推定し、
     前記リソース制御部は、前記推定部の推定結果に応じて、処理の実行にリアルタイム性が要求されないアプリケーションソフトウェアの実行期間を前記所定の期間に割り当てることにより、リソース消費を制御する、請求項1に記載の車載装置。
  3.  前記外部装置は、複数の他車両から前記リソース消費量の実績情報を収集し、収集した実績情報に基づいて、前記走行予定エリアの走行区間にリソース消費実績が設定されたリソース消費量実績地図を作成するサーバ装置を含み、
     前記情報取得部は、前記通信部を介して、前記サーバ装置から前記リソース消費量実績地図を前記実績情報として取得し、
     前記推定部は、前記リソース消費量実績地図に基づいて、前記走行予定エリアにおける各走行区間のリソース消費量を推定する、請求項1または請求項2に記載の車載装置。
  4.  前記外部装置は、自車両以外の車両である他車両に搭載された車載装置を含み、
     前記情報取得部は、前記通信部を介して、自車両の走行予定エリアを走行した前記他車両の車載装置から前記走行予定エリアにおけるリソース消費量の実績情報を取得し、
     前記推定部は、前記他車両の車載装置から取得した前記リソース消費量の実績情報に基づいて、前記走行予定エリアにおける各走行区間の前記リソース消費量を推定する、請求項1または請求項2に記載の車載装置。
  5.  前記リソース制御部は、リソース使用上限に対する前記推定部が推定したリソース消費量の割合が所定の値以下となる走行区間の走行予定期間に、処理の実行にリアルタイム性が要求されないアプリケーションソフトウェアの実行期間を割り当てる、請求項1または請求項2に記載の車載装置。
  6.  前記所定の値は、前記リアルタイム性が要求されないアプリケーションソフトウェアのリソース消費量に基づいて設定される、請求項5に記載の車載装置。
  7.  前記実績情報は、前記走行予定エリアの走行区間毎に設定され、前記走行予定エリアを走行した前記他車両のリソース消費量の実績値が複数段階に量子化された量子化情報を含む、請求項1または請求項2に記載の車載装置。
  8.  前記情報取得部は、自車両が前記走行予定エリアに進入する前に前記実績情報を取得する、請求項1または請求項2に記載の車載装置。
  9.  前記情報取得部は、自車両が前記走行予定エリアに進入する前に、前記外部装置に対して前記実績情報の送信を要求する、請求項1または請求項2に記載の車載装置。
  10.  前記実績情報には、当該実績情報が生成された日時を示す時刻情報が付加されており、
     前記推定部は、前記時刻情報が示す日時と現在の日時とを比較し、比較結果に応じて、自車両の走行に伴って時間的に変動する前記リソース消費量を推定する、請求項1または請求項2に記載の車載装置。
  11.  車両に搭載される車載装置と通信可能なサーバ装置であって、
     複数の車両からリソース消費量の実績情報を収集する情報収集部と、
     前記車載装置から走行予定エリアに関する情報を受信し、前記情報収集部が収集した実績情報に基づいて、前記走行予定エリアの走行区間にリソース消費実績が設定されたリソース消費量実績地図を作成する実績地図作成部と、
     前記走行予定エリアの走行期間において、処理の実行にリアルタイム性が要求されないアプリケーションソフトウェアの実行を推奨する実行推奨期間を前記リソース消費量実績地図に基づいて抽出する実行期間抽出部と、
     前記実行期間抽出部が抽出した前記実行推奨期間を、前記走行予定エリアに関する情報を送信した前記車載装置に対して通知する通知部とを含む、サーバ装置。
  12.  車両に搭載される車載装置におけるリソース制御方法であって、
     前記車載装置が、外部装置と通信する通信部を介して、自車両以外の車両である他車両が自車両の走行予定エリアを走行したときの、前記他車両のリソース消費量の実績情報を取得するステップと、
     前記車載装置が、前記取得するステップにおいて取得した前記実績情報に基づいて、前記走行予定エリアを自車両が走行した場合に、自車両の走行に伴って時間的に変動するリソース消費量を推定するステップと、
     前記車載装置が、前記推定するステップにおける推定結果に応じて、所定のアプリケーションソフトウェアの実行期間を所定の期間に割り当てることにより、リソース消費を制御するステップとを含む、リソース制御方法。
  13.  車両に搭載される車載装置と通信可能なサーバ装置において実行され、前記車両におけるリソース消費の制御を支援するリソース制御支援方法であって、
     サーバ装置が、複数の車両からリソース消費量の実績情報を収集するステップと、
     サーバ装置が、前記車載装置から走行予定エリアに関する情報を受信し、前記収集するステップにおいて収集した実績情報に基づいて、前記走行予定エリアの走行区間にリソース消費実績が設定されたリソース消費量実績地図を作成するステップと、
     サーバ装置が、前記走行予定エリアの走行期間において、処理の実行にリアルタイム性が要求されないアプリケーションソフトウェアの実行を推奨する実行推奨期間を前記リソース消費量実績地図に基づいて抽出するステップと、
     サーバ装置が、前記抽出するステップにおいて抽出した前記実行推奨期間を、前記走行予定エリアに関する情報を送信した前記車載装置に対して通知するステップとを含む、リソース制御支援方法。
  14.  車両に搭載されるコンピュータを、
     外部装置と通信する通信部、
     前記通信部を介して、自車両以外の車両である他車両が自車両の走行予定エリアを走行したときの、前記他車両のリソース消費量の実績情報を取得する情報取得部、
     前記情報取得部が取得した前記実績情報に基づいて、前記走行予定エリアを自車両が走行した場合に、自車両の走行に伴って時間的に変動するリソース消費量を推定する推定部、および、
     前記推定部の推定結果に応じて、所定のアプリケーションソフトウェアの実行期間を所定の期間に割り当てることにより、リソース消費を制御するリソース制御部として機能させる、コンピュータプログラム。
  15.  コンピュータを、
     複数の車両からリソース消費量の実績情報を収集する情報収集部、
     車載装置から走行予定エリアに関する情報を受信し、前記情報収集部が収集した実績情報に基づいて、前記走行予定エリアの走行区間にリソース消費実績が設定されたリソース消費量実績地図を作成する実績地図作成部、
     前記走行予定エリアの走行期間において、処理の実行にリアルタイム性が要求されないアプリケーションソフトウェアの実行を推奨する実行推奨期間を前記リソース消費量実績地図に基づいて抽出する実行期間抽出部、および、
     前記実行期間抽出部が抽出した前記実行推奨期間を、前記走行予定エリアに関する情報を送信した前記車載装置に対して通知する通知部として機能させる、コンピュータプログラム。
     
PCT/JP2023/019598 2022-07-21 2023-05-26 車載装置、サーバ装置、リソース制御方法、リソース制御支援方法、およびコンピュータプログラム WO2024018755A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-116047 2022-07-21
JP2022116047 2022-07-21

Publications (1)

Publication Number Publication Date
WO2024018755A1 true WO2024018755A1 (ja) 2024-01-25

Family

ID=89617335

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/019598 WO2024018755A1 (ja) 2022-07-21 2023-05-26 車載装置、サーバ装置、リソース制御方法、リソース制御支援方法、およびコンピュータプログラム

Country Status (1)

Country Link
WO (1) WO2024018755A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007305029A (ja) * 2006-05-15 2007-11-22 Matsushita Electric Ind Co Ltd リアルタイムosにおける処理時間配分方法
JP2011099739A (ja) * 2009-11-05 2011-05-19 Clarion Co Ltd 情報端末装置、情報端末管理システム及びプログラム
WO2019188343A1 (ja) * 2018-03-28 2019-10-03 住友電気工業株式会社 運転支援のためのシステム、車載装置、方法及びコンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007305029A (ja) * 2006-05-15 2007-11-22 Matsushita Electric Ind Co Ltd リアルタイムosにおける処理時間配分方法
JP2011099739A (ja) * 2009-11-05 2011-05-19 Clarion Co Ltd 情報端末装置、情報端末管理システム及びプログラム
WO2019188343A1 (ja) * 2018-03-28 2019-10-03 住友電気工業株式会社 運転支援のためのシステム、車載装置、方法及びコンピュータプログラム

Similar Documents

Publication Publication Date Title
CN111049937B (zh) 智能网联汽车的数据处理系统及数据传输方法
US20110231354A1 (en) Transport management system
US11162798B2 (en) Map updates based on data captured by an autonomous vehicle
CN111669727B (zh) 利用移动出行代理管理车辆
US20220351612A1 (en) Control apparatus, mobile object, management server, base station, communication system, and communication method
JP6237801B2 (ja) 運行支援プログラム、運行支援方法および運行支援装置
Wu et al. Integrating Bus Holding Control Strategies and Schedule Recovery: Simulation‐Based Comparison and Recommendation
CN113335292B (zh) 车辆控制方法、装置、设备和计算机存储介质
US20220114891A1 (en) Highly localized weather data recorded by vehicles in a fleet
JP2020149153A (ja) データ収集装置、データ収集システム、データ収集方法および車載装置
WO2024018755A1 (ja) 車載装置、サーバ装置、リソース制御方法、リソース制御支援方法、およびコンピュータプログラム
CN111400028A (zh) 一种列车管理的负载均衡处理方法
US11727802B2 (en) Transportation system, service management device, and service management method
US11520623B2 (en) Communication with motor vehicles
JP7287244B2 (ja) 情報処理装置、プログラム、及び、情報処理方法
JP2019161620A (ja) 通信装置およびスケジュール作成方法
JP7283215B2 (ja) 車載装置、システム、制御方法、半導体集積回路及びコンピュータプログラム
US10546307B2 (en) Method, apparatuses, and computer program products for automatically detecting levels of user dissatisfaction with transportation routes
WO2023058305A1 (ja) 車載装置、集約装置、車載システム、サーバコンピュータ、制御方法及びコンピュータプログラム
JP7196633B2 (ja) タスク管理装置およびタスク管理方法
US20230254674A1 (en) Mobility service providing method, mobility service providing system, server device, edge device, and non-transitory computer readable storage medium
US20210097862A1 (en) Dynamic auctions for pick-up and drop-off locations
WO2024018748A1 (ja) データ送信装置、運転支援装置、リソース制御方法およびコンピュータプログラム
WO2024062786A1 (ja) 車載装置、制御方法およびコンピュータプログラム
WO2022230290A1 (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: 23842687

Country of ref document: EP

Kind code of ref document: A1