Communication record management server, communication record management method, and computer program
Patent Information
- Application Number
- JP2024551264
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-04-02
- Publication Date
- 2025-06-16
- Estimated Expiration
- 2043-08-24
AI Technical Summary
Connected cars face challenges in determining optimal travel routes due to unpredictable communication quality, which is influenced by factors beyond electric field strength, including communication speed and latency, making it difficult to ensure reliable service delivery.
A communication performance management server and method that accumulates and transmits communication quality metrics, including location and time information, to enable external devices to estimate and improve route planning based on actual communication results from multiple devices, considering factors like communication speed, latency, and environmental conditions.
This solution allows for accurate determination of travel routes that consider communication quality, enhancing service reliability and user experience by providing real-time data on communication performance, thereby improving route planning for connected cars.
Smart Images

Figure 2024084801000001 
Figure 2024084801000002 
Figure 2024084801000003
Abstract
Description
Communication record management server, communication record management method, and computer program
[0001] This disclosure relates to a communication history management server, a communication history management method, and a computer program. This application claims priority to Japanese Application No. 2022-166644, filed October 18, 2022, the entire contents of which are incorporated herein by reference.
[0002] An increasing number of in-vehicle devices are equipped with the functionality to receive various services from external servers via wireless communication and to transmit information acquired by in-vehicle sensors to external servers. Vehicles equipped with such in-vehicle devices are called connected cars.
[0003] When a connected car uses a service that requires wireless communication, communication quality becomes an issue. If communication quality deteriorates or the car is out of range, the service cannot be used.
[0004] One proposal for solving this problem is disclosed in Patent Document 1, which will be described later. The technology disclosed in Patent Document 1 aims to visually notify the communication environment. The technology disclosed in Patent Document 1 acquires a field strength map indicating a predetermined field strength, and displays the field strength map superimposed on a graphic indicating the vehicle's traveling position based on road map data and the vehicle position.
[0005] Japanese Patent Application Laid-Open No. 2021-135099
[0006] A communication performance management server according to one aspect of the present disclosure includes: a communication performance information receiving unit for receiving communication performance information including at least location information, date and time information, and communication quality metrics information related to at least the communication quality of wireless communication at the location specified by the location information and at the date and time specified by the date and time information; a communication performance information storage unit for storing the communication performance information received by the communication performance information receiving unit; and a communication performance sending unit that, in response to receiving a request to send communication performance information specifying a geographical range from an external device, generates information related to communication performance including location information corresponding to the geographical range specified by the transmission request and communication quality information obtained from the communication quality metrics information, based on the communication performance information stored in the communication performance information storage unit, and sends the information to the external device.
[0007] The above and other objects, features, aspects and advantages of the present disclosure will become apparent from the following detailed description of the disclosure taken in conjunction with the accompanying drawings.
[0008] FIG. 1 is a diagram showing a route proposal screen in an in-vehicle device according to the first embodiment. FIG. 2 is a block diagram showing the overall configuration of a vehicle assistance system according to the first embodiment. FIG. 3 is a block diagram showing the configuration of an in-vehicle device according to the first embodiment. FIG. 4 is a block diagram showing the configuration of a communication history management server according to the first embodiment. FIG. 5 is a diagram showing the record configuration of a communication history information DB (Database) according to the first embodiment. FIG. 6 is a flowchart showing the control structure of a computer program realizing a communication history recording unit according to the first embodiment. FIG. 7 is a flowchart showing the control structure of a computer program realizing a driving unit according to the first embodiment. FIG. 8 is a flowchart showing the control structure of a computer program realizing a route calculation unit according to the first embodiment. FIG. 9 is a flowchart showing the control structure of a computer program realizing a grid drawing unit according to the first embodiment. FIG. 10 is a block diagram showing the configuration of a vehicle assistance system according to a second embodiment. FIG. 11 is a block diagram showing the configuration of an in-vehicle device according to the second embodiment. FIG. 12 is a block diagram showing the configuration of a communication history management server according to the second embodiment. FIG. 13 is a block diagram showing the configuration of a vehicle assistance system according to a third embodiment. FIG. 14 is a block diagram showing the configuration of an in-vehicle device according to the third embodiment. FIG. 15 is a flowchart showing the control structure of a computer program realizing a communication history comparison unit according to the third embodiment. Fig. 16 is a block diagram showing the configuration of a driving assistance system according to a fourth embodiment. Fig. 17 is a block diagram showing the configuration of an in-vehicle device according to the fourth embodiment. Fig. 18 is a block diagram showing the configuration of a communication history management server according to the fourth embodiment. Fig. 19 is a diagram showing the record configuration of a communication history statistical information DB according to the fourth embodiment. Fig. 20 is a flowchart showing the control structure of a computer program realizing a communication statistics calculation unit in the communication history management server according to the fourth embodiment. Fig. 21 is a flowchart showing the control structure of a computer program realizing a communication history transmission unit in the communication history management server according to the fourth embodiment. Fig. 22 is a block diagram showing the functional configuration of a communication history server according to a modified example of the fourth embodiment. Fig. 23 is a diagram showing a display in a vehicle assistance system according to a fifth embodiment.Fig. 24 is a flowchart showing the control structure of a computer program for creating a display in a vehicle assistance system according to a fifth embodiment. Fig. 25 is a flowchart showing the control structure of a computer program for realizing the display of a driving route. Fig. 26 is a block diagram showing a configuration of steps for realizing an in-vehicle device according to each embodiment of the present disclosure. Fig. 27 is a diagram showing the appearance of a computer system for realizing each driving assistance server according to this disclosure. Fig. 28 is a hardware configuration diagram of the computer system shown in Fig. 27.
[0009] [Problem to be solved by this disclosure] In order for connected cars to receive sufficient services, it is not only the electric field strength that is important. Due to the large number of on-board sensors and the volume of data, the communication speed when connected cars send sensor data to external servers and download data for driving assistance from external servers is also important. In addition to these, latency is also important when communicating data related to vehicle safety.
[0010] The technology disclosed in Patent Document 1 displays a field strength map superimposed on a map. It is clear that communication speeds decrease in areas with low field strength. However, high field strength does not necessarily mean high communication speeds. Depending on the situation, high field strength may result in decreased communication speeds or increased latency. Even slight changes in the environment may cause a sudden deterioration in communication speed. The vehicle's position and surrounding conditions change constantly. Therefore, even if a field strength map is obtained, it is difficult to predict how communication speeds, latency, etc. will actually change. Therefore, sufficient communication quality for using services while the connected car is traveling may not be achieved. In other words, the technology disclosed in Patent Document 1 is not considered sufficient for application to connected cars.
[0011] Therefore, an object of this disclosure is to provide a communication history management server, a communication history management method, and a computer program that provide information that allows easy determination of a driving route taking communication quality into consideration.
[0012] Effect of the Disclosure As described above, according to the disclosure, it is possible to provide a communication history management server, a communication history management method, and a computer program that provide information that allows easy determination of a driving route taking communication quality into consideration.
[0013] [Description of Embodiments of the Present Disclosure] In the following description and drawings, the same parts are designated by the same reference numerals, and therefore detailed descriptions thereof will not be repeated.
[0014] The main embodiments shown in this disclosure are listed below. Note that one or more of the following embodiments may be combined in any manner.
[0015] (1) A communication performance management server according to a first aspect of this disclosure includes: a communication performance information receiving unit for receiving communication performance information including at least location information, date and time information, and communication quality metrics information related to at least the communication quality of wireless communication at the location specified by the location information and at the date and time specified by the date and time information; a communication performance information storage unit for storing the communication performance information received by the communication performance information receiving unit; and a communication performance sending unit that, in response to receiving a request to send communication performance information specifying a geographical range from an external device, generates information related to communication performance including location information corresponding to the geographical range specified by the transmission request and communication quality information obtained from the communication quality metrics information, based on the communication performance information stored in the communication performance information storage unit, and sends the information to the external device.
[0016] The communication history information storage unit of this communication history management server accumulates communication quality metrics information from actual communications between multiple devices, along with location information and date and time information. In response to a request from an external device, the communication history transmission unit generates information related to communication history, including communication quality information, and transmits it to the external device. The external device can estimate and use communication quality at a specific location using communication quality information based on actual communication history from other devices. As a result, the external device can easily determine a driving route that takes communication quality into consideration.
[0017] (2) In the above (1), the communication history transmission unit may include a latest communication history transmission unit that reads out communication history information from the communication history information storage unit, the communication history information including location information corresponding to a geographical range specified by the transmission request, date and time information within a most recent specified time period, and communication quality metrics information, and transmits the information to an external device.
[0018] The latest communication history transmission unit transmits communication history information for the latest predetermined time within the area range specified by the transmission request to the external device, so that the external device can easily determine a driving route taking into account the current highly accurate communication quality.
[0019] (3) In (1) or (2) above, each piece of communication performance information may further include communication environment information regarding the communication environment when wireless communication related to the communication performance information was performed, and the transmission request may further include information regarding the communication environment of the external device. The communication performance transmission unit may include a device-specific communication performance transmission unit that, in response to receiving the transmission request, reads out from the communication performance information storage unit the communication performance information including location information corresponding to a geographical range specified by the transmission request, communication environment information consistent with information regarding the communication environment included in the transmission request, and communication quality metrics information, and transmits the communication performance information to the external device.
[0020] By including information about the communication environment of the external device in the transmission request, the external device can obtain communication performance information by region and date and time about the communication environment. As a result, the external device can easily determine a driving route taking into account the communication quality of the wireless communication device used.
[0021] (4) In the above (3), the communication environment information may include communication line information, communication carrier information, or a combination thereof.
[0022] By including information about the communication line or carrier used by the external device in the transmission request, the external device can obtain communication performance information by region and date and time about the communication line or carrier. As a result, the external device can easily determine a driving route taking into account the reliable communication quality of the wireless communication device used.
[0023] (5) In the above (1), the communication performance management server may further include a communication statistics calculation unit that calculates communication performance statistical information by performing statistical processing on communication quality metrics information on the communication performance information stored in the communication performance information storage unit, based at least on a location specified by the location information, and a communication performance statistical information storage unit that stores the communication performance statistical information calculated by the communication statistics calculation unit in association with the location information, and the communication performance statistical information transmission unit may include a communication performance statistical information transmission unit that, in response to receiving a transmission request for communication performance information with a specified geographical range from an external device, transmits to the external device, from the communication performance statistical information stored in the communication performance statistical information storage unit, location information corresponding to the geographical range specified by the transmission request and communication performance statistical information at the location specified by the location information.
[0024] By including communication device information about the wireless communication device that the external device has in the transmission request, the external device can obtain communication performance information by region and date and time about communications by other devices that have that wireless communication device. As a result, the external device can easily determine a driving route taking into account the communication quality of the wireless communication device to be used.
[0025] (6) In the above (5), the communication statistics calculation unit may include a period-based communication statistics calculation unit that performs statistical processing on communication quality metrics information based on at least a location identified by location information and a period identified by date and time information for the communication performance information stored in the communication performance information storage unit to calculate period-based communication performance statistical information.
[0026] By including communication device information about the wireless communication device that the external device has in the transmission request, the external device can obtain communication performance information by region and date and time by the external device that uses the wireless communication device. As a result, the external device can easily determine a driving route taking into account the communication quality of the wireless communication device that is being used.
[0027] (7) In the above (6), each piece of communication performance information may further include information about the communication environment when wireless communication related to the communication performance information was performed, and the transmission request may include information about the communication environment of the external device. The communication performance transmission unit may selectively execute a first process or a second process depending on whether the received transmission request includes information about the communication environment. The first process may be a process of reading, from the communication performance statistical information storage unit, communication statistical performance information that matches location information corresponding to a geographical range specified by the transmission request and information about the communication environment included in the transmission request, calculating communication quality metrics information based on the read communication statistical performance information, and transmitting the calculated communication quality metrics information to the external device. The second process may be a process of reading, from the communication performance information storage unit, communication performance information that corresponds to location information corresponding to a geographical range specified by the transmission request, and transmitting the calculated communication quality metrics information to the external device.
[0028] This makes it possible to improve the accuracy of statistical quality metrics information transmitted to the in-vehicle device while preventing an increase in the load of statistical processing.
[0029] (8) A communication performance management method according to a second aspect of this disclosure includes the steps of: receiving, by a computer, communication performance information including at least location information, date and time information, and communication quality metrics information related to at least the communication quality of wireless communication at the location specified by the location information and at the date and time specified by the date and time information; storing, by the computer, the communication performance information received in the step of receiving the communication performance information in a storage device; and, in response to receiving, from an external device, a request to transmit communication performance information specifying a geographical range, generating information related to communication performance including location information corresponding to the geographical range specified by the transmission request and communication quality information obtained from the communication quality metrics information, based on the communication performance information stored in the storage device, and transmitting the information to the external device.
[0030] According to this communication history management method, a computer accumulates communication history data from actual communications between multiple devices, along with location information and date and time information. The computer further generates information about the communication history, including communication quality information, in response to a request from the external device, and transmits the information to the external device. The external device can estimate and use the communication quality information based on the actual communication history data from other devices. As a result, the external device can easily determine a driving route that takes communication quality into consideration.
[0031] (9) A computer program according to a third aspect of this disclosure causes a computer to execute the steps of receiving communication performance information including at least location information, date and time information, and communication quality metrics information related to at least the communication quality of wireless communication at the location specified by the location information and at the date and time specified by the date and time information; storing the communication performance information received in the step of receiving the communication performance information in a storage device; and, in response to receiving a request to send communication performance information specifying a geographical range from an external device, generating information related to communication performance including location information corresponding to the geographical range specified by the transmission request and communication quality information obtained from the communication quality metrics information based on the communication performance information stored in the storage device, and transmitting the information to the external device.
[0032] By executing this computer program, the computer accumulates communication records of actual communications between multiple devices along with location information and date and time information. Furthermore, in response to a request from an external device, the computer generates information about the communication records, including communication quality information, and transmits the information to the external device. The external device can estimate and use the communication quality information based on the actual communication records of other devices. As a result, the external device can easily determine a driving route that takes communication quality into consideration.
[0033] [Details of the embodiment of the present disclosure] Specific examples of route suggestion screens according to the embodiment of the present disclosure will be described below with reference to the drawings. Note that the present disclosure is not limited to these examples, but is defined by the claims, and is intended to include all modifications within the meaning and scope equivalent to the claims.
[0034] 1. First Embodiment A. Configuration A1) Route Proposal Screen 50 Referring to FIG. 1 , the route proposal screen 50 in the vehicle assistance system according to the first embodiment is a screen displayed on a touch panel display device of an in-vehicle device. The route proposal screen 50 is used to propose to the user a first route 66 and a second route 68 from a current location 62 of a vehicle 60 to a destination 64, calculated under different constraints regarding communication quality along the route. The entire route proposal screen 50 is rectangular. Each rectangular area is divided into rectangular grids of equal size. In this embodiment, each grid is color-coded based on the communication quality actually measured by the vehicle when the vehicle is present within the grid, and is displayed superimposed on a map along with the first route 66 and the second route 68. Note that a map is not shown in FIG. 1 for simplicity.
[0035] 1, grids without hatching indicate that the communication quality is relatively good and sufficient to receive the service to be used in the vehicle 60. Grids with hatching indicate that the communication quality is worse and insufficient to receive the service to be used in the vehicle 60. In this example, the hatched areas are displayed in red, and the unhatched areas are displayed transparently.
[0036] In FIG. 1 , grids are classified into two types to facilitate understanding of the display related to communication quality. However, this disclosure is not limited to such an embodiment. Communication quality may be divided into three or more levels, and each level may be displayed separately. Typically, grids with poor communication quality are displayed with a red hue and the lowest brightness. As communication quality improves, the brightness of the grid increases, and once the quality reaches a certain level, the grid is displayed colorless (transparent) or in a color other than red (for example, blue). Of course, various other methods for displaying grids are conceivable. The saturation may be changed without changing the brightness. Alternatively, both the hue and the brightness or saturation may be changed.
[0037] For example, it is usually sufficient to change the brightness in a positive correlation with the communication quality value. Conversely, in the case of saturation, it is possible to change it in a negative correlation with the communication quality value. In short, the display mode of each grid should change as a monotonic function of the communication quality in that grid. In the case of hue, it is sufficient to use a monotonic function that associates the gradual change from blue through green to red with the superiority or inferiority of communication quality.
[0038] 1 also displays, as examples, a first route 66 and a second route 68. The first route 66 is calculated as a route by which the vehicle 60 travels from the current location 62 to the destination 64 in the shortest time without imposing any constraints on communication quality, for example. The second route 68 is also a route by which the vehicle 60 travels from the current location 62 to the destination 64, but is calculated as a route that provides the communication quality required to use a specific service in the vehicle 60, as a constraint on communication quality.
[0039] Constraints on communication quality are not limited to those listed here, and various other constraints can be set by the user of vehicle 60.
[0040] A2) Vehicle assistance system 100 Referring to FIG. 2, the vehicle assistance system 100 according to the first embodiment of this disclosure includes a plurality of on-board devices 102, 104, and 106 each mounted on a separate vehicle, a server 108 for providing some kind of service to these on-board devices using communication, or conversely, for receiving sensor data from the on-board devices and analyzing traffic conditions, and a communication history management server 110 for managing communication with a plurality of on-board devices such as the on-board device 102, accumulating information about actual communication quality in each grid of an area such as that shown in FIG. 1, and distributing the information to each on-board device.
[0041] In-vehicle devices such as the in-vehicle device 102 are mounted on vehicles. Therefore, as will be described later, they all have a wireless communication unit. A mobile phone line can be used as a wireless communication medium. Depending on the location, it is also expected that Wi-Fi communication will be used. In any case, the in-vehicle device 102 and the like can communicate with the server 108 and the communication history management server 110 via wireless communication with a base station and communication over a wired network from the base station to the server 108 and the communication history management server 110.
[0042] A3) In-Vehicle Device 102 Referring to FIG. 3 , the in-vehicle device 102 includes a communication unit 150 for communicating with external devices such as a server 108 via a wireless communication device (not shown), a communication history recording unit 154 connected to the communication unit 150, a controller area network (CAN) 152 connected to the sensor 112, a global navigation satellite system (GNSS) receiver 114, and the communication history recording unit 154, and a communication history information DB 156 connected to the communication history recording unit 154. The communication unit 150 further receives data for services provided by the server 108 and transmits the data via the CAN 152 to a service execution unit such as an electronic control unit (ECU) (not shown). Note that in this embodiment, the CAN is used to acquire GNSS information and sensor information. However, this disclosure is not limited to such an embodiment. For example, CAN FD (CAN with Flexible Data rate), CAN XL, MOST (Media Oriented Systems Transport), FlexRay, in-vehicle Ethernet ("Ethernet" is a registered trademark), etc. may be used.
[0043] The communication performance recording unit 154 periodically measures the communication quality of the communication unit 150 during communication and records the communication quality including the actual bit rate (communication speed). Even when communication is not being performed by the communication unit 150, radio wave intensity information can be obtained, and therefore, such information is recorded.
[0044] The communication history recording unit 154 receives sensor data from the GNSS receiver 114 and various other sensors 112 installed in the vehicle via the CAN 152, and records a communication history record that combines the vehicle status, location information, etc. obtained from this information in the communication history information DB 156.
[0045] The in-vehicle device 102 further includes a communication history transmitting unit 158 connected to the communication history recording unit 154, a communication history acquiring unit 160 connected to the communication history information DB 156, a driving unit 162 connected to the touch panel display device 116, a route calculating unit 164 connected to the communication history information DB 156, the driving unit 162, and the communication history acquiring unit 160, and a grid drawing unit 166.
[0046] The communication history transmission unit 158 transmits the communication history information of the communication unit 150 recorded by the communication history recording unit 154 to the communication history management server 110 according to a predetermined transmission schedule. The communication history acquisition unit 160 acquires communication history information of other vehicles from the communication history management server 110 by transmitting a transmission request for communication history information to the communication history management server 110 when necessary, and updates (adds) the communication history information DB 156. The transmission request includes information identifying the target area and, in some cases, may also include information on the required date and time or the communication environment. The communication environment here refers to the communication line or carrier used for communication, or a combination thereof. The driving unit 162 is a device for performing automatic or remote driving in addition to the functions of a typical in-vehicle navigation system. It receives information for route proposals (such as information about the destination of the driving route) through user interaction using the touch-panel display device 116. The communication history acquisition unit 160 may also receive communication history information from the communication history management server 110 according to a predetermined schedule.
[0047] At this time, the driving unit 162 may prompt the user to input constraints for generating the driving routes. The constraints may be, for example, the number of driving routes to be generated, information identifying the services to be used on the driving routes, and conditions that the driving routes must satisfy. In the following embodiment, it is assumed that the user specifies that three driving routes be generated. The three driving routes may be, for example, the first shortest route, the second shortest route, and the third shortest route shown below. The first shortest route is the shortest route connecting the current location and the destination regardless of the communication speed. The second shortest route is the shortest route among the driving routes that is expected to have a communication speed that makes the service available throughout the route. The third shortest route is a driving route that may not be able to use the service at a sufficient bit rate in some areas, but is expected to provide a service that can replace the service or a service that is the same as the service and that is expected to have the required bit rate, provided that the communication speed is at least half of the specified bit rate.
[0048] The route calculation unit 164 requests the communication history acquisition unit 160 to acquire information such as communication history, required location, and time from the communication history information DB 156 based on the user input received by the driving unit 162 and the communication conditions required to use the service. The route calculation unit 164 calculates multiple driving routes under multiple types of constraints based on the communication history information acquired by the communication history acquisition unit 160 from the communication history information DB 156, the destination information, and the required communication conditions, and displays the routes on the touch panel display device 116 via the driving unit 162. In this embodiment, the grid drawing unit 166 displays information indicating the communication history in each part of the displayed area, superimposed on the driving route candidates and map displayed on the touch panel display device 116. Note that the communication history information is information combining the communication history (communication speed or radio wave strength) and information indicating the vehicle state (vehicle speed, traveling direction, etc.) when the communication history was acquired.
[0049] More specifically, the grid drawing unit 166 divides the displayed area into grids, adjusts the color, brightness, or saturation of each grid as a function of an index value representing the past communication performance (communication quality) of each grid, and displays the adjusted grids superimposed on the proposed driving route and the map. The past communication performance is obtained from information accumulated in the communication performance information DB 156.
[0050] A4) Communication History Management Server 110 Referring to FIG. 4, the communication history management server 110 includes a communication history acquisition unit 200 , a communication history information storage unit 202 , and a communication history transmission unit 204 .
[0051] The communication history acquisition unit 200 acquires communication history information collected by multiple on-board devices at various locations and dates and times from the on-board devices. The communication history information storage unit 202 stores the communication history information received by the communication history acquisition unit 200. The communication history transmission unit 204 transmits the communication history information stored in the communication history information storage unit 202 to an on-board device (e.g., on-board device 102, 104, or 106 shown in FIG. 2 ) of a subscriber to the communication history management service provided by the communication history management server 110 in response to a transmission request from the on-board device. Note that the device that transmits the communication history information to the communication history acquisition unit 200 is not limited to an on-board device. Any device with a communication function, such as a mobile phone, may be used. While a mobile device such as a mobile phone is preferable, a device that is not mobile but has a communication function, such as a roadside device, may also be used. Furthermore, the communication history transmission unit 204 may not only respond to a transmission request from an on-board device but may also transmit communication history information to each on-board device according to a predetermined schedule.
[0052] A5) Configuration of communication history information DB 156 Fig. 5 shows an example of the column configuration of a table of communication history information DB 156. Referring to Fig. 5, the columns of communication history information DB 156 include a communication history ID and a vehicle ID. The communication history ID is an identifier that identifies a record of communication history. The vehicle ID is an identifier that identifies a vehicle equipped with an on-board device that recorded the communication history.
[0053] Other columns include, for example, measurement interval, modem, GNSS, date and time, latitude, longitude, grid ID, geometry value, communication speed, (vehicle) speed, (vehicle) heading, route ID, (vehicle) direction of travel, (vehicle) acceleration / deceleration, (vehicle) steering angle, accelerator operation, brake operation, communication line, communication operator, band number, (mobile phone) cell ID, SINR, RSSI, RSRP, and RSRQ.
[0054] The main ones are: the measurement interval indicates the interval between measurements of the communication speed; the measurement interval is measured in seconds; the date and time indicates the date and time when the in-vehicle device acquired the communication record; the latitude and longitude indicate the location where the vehicle was located at the time of communication; the grid ID is a value obtained by converting the latitude and longitude into a character string using a conversion method called geohash. A geohash is converted into a character string by applying a predetermined conversion table to the latitude and longitude. Each character string identifies a rectangular area on the ground. The longer the string length, the smaller the rectangular area. If the first few digits of two character strings match, the two rectangular areas identified by the two character strings are within the rectangular area identified by the matching character string. If the length of the character strings used as geohashes is the same, the size (area) of the rectangular areas identified by them will be the same. Therefore, by setting the length of the character strings used as geohashes to a fixed length and using the same first few characters, a map (or the corresponding area) can be divided into multiple adjacent rectangular areas. Here, such a rectangular area is called a grid, and its identifier (latitude and longitude converted into a geohash) is called a grid ID.
[0055] The communication speed indicates the communication speed measured for the actual communication if communication was possible at the time indicated by the value in the date and time column. If communication was not possible due to reasons such as being out of range, in this embodiment, "-1" is recorded as the communication speed.
[0056] SINR, RSSI, RSRP, and RSRQ respectively refer to the signal-to-interference-plus-noise ratio, received signal strength, received power of the reference signal, and received quality of the reference signal, and correspond to the radio wave strength information described above.
[0057] In this way, the communication history information DB 156 stores information indicating communication quality, including the communication speed measured in actual communication, together with the vehicle state at that time (such as the vehicle speed and direction of travel shown in FIG. 5 ) and the date and time. This process updates the communication history information DB 156. Note that values such as the communication speed, SINR, RSSI, RSRP, and RSRQ shown in FIG. 5 , as well as their statistical values, are considered to be indicators of communication quality. Therefore, in this specification, these values are referred to as "communication quality metrics," and information indicating these values is referred to as "communication quality metrics information."
[0058] A6) Control Structure of Program A6-1) Communication Performance Recording Unit 154 Each functional unit of the in-vehicle device 102 shown in FIG. 3 is realized by a computer and a program executed by the computer.
[0059] Fig. 6 shows a control structure of a program for realizing communication performance recording unit 154 shown in Fig. 3. Referring to Fig. 6, this program includes a step 250 that executes a step 252 according to a predetermined schedule (at a fixed interval in this embodiment).
[0060] Step 252 includes step 260 of performing communication processing using communication unit 150 or measuring signal strength, step 262 of acquiring information indicating the vehicle status via CAN 152, and step 264 of combining the information acquired in steps 260 and 262 and recording the combined information in communication performance information DB 156.
[0061] This program further includes step 266 for branching the control flow depending on whether or not there is a communication history management server cooperating with the on-board device 102, and step 268 for transmitting communication history information to the cooperating communication history management server when the determination in step 266 is affirmative, and terminating execution of step 252. When the determination in step 266 is negative, execution of step 252 is terminated.
[0062] A6-2) Route Calculation Unit 164 Fig. 7 shows a control structure of a program realizing route calculation unit 164 shown in Fig. 3. Referring to Fig. 7, this program includes step 310 of acquiring the location of the destination through interaction with the user, and step 312 of acquiring information about the communication service required to receive the service from server 108 (information about the required communication speed, for example, bit rate, etc.).
[0063] This program further includes step 314 of acquiring communication history information for an area including the vicinity of the current location to the vicinity of the destination from the communication history information DB 156 ( FIG. 3 ); step 316 of branching the control flow depending on whether or not there is a communication history management server linked to the in-vehicle device 102; and step 318 of branching the control flow depending on whether or not there is sufficient data from the communication history information DB 156 for route calculation when the determination in step 316 is positive.
[0064] This program further includes step 320, when the determination in step 318 is negative, acquiring communication history information of the area from the vicinity of the current location to the vicinity of the destination from a communication history management server (in this example, communication history management server 110 shown in FIG. 2 ) linked to the in-vehicle device 102, and step 322, when the determination in step 316 is negative or when the determination in step 318 is positive, performing a driving route calculation using the acquired communication history information, providing information about the calculated driving route to the driving unit 162, and terminating execution of the program. When the determination in step 316 is negative or when the determination in step 318 is positive, step 320 is not performed, and the route calculation process in step 322 is immediately performed.
[0065] 8 shows the control structure of a program that realizes step 322 shown in FIG. 7. Referring to FIG. 8, step 322 includes step 350, which sets a search range for a travel route, and step 352, which generates a route graph that connects the current position and the destination within the search range based on map information stored in the driving unit 162. The route graph here refers to a graph in which intersections are nodes and roads connecting the intersections are edges (links). In this embodiment, each edge is assigned information indicating the length of the corresponding road. In this route graph, there are many routes that connect the current position and the destination.
[0066] This program further includes step 354 for searching for the shortest route from the current location to the destination in the route graph generated in step 352. In this embodiment, the Dijkstra algorithm is used to search for the shortest route. Of course, this is not limited to the Dijkstra algorithm, and any algorithm that can find the shortest route in a graph may be used.
[0067] This program further includes step 356 of referencing communication performance information and deleting from the route graph edges that include points where the bit rate is less than half the bit rate specified by the service; step 358 of searching for the shortest route in the route graph that has been processed in step 356; step 360 of deleting from the route graph links that include points where the bit rate is less than the specified bit rate; and step 362 of searching for the shortest route in the route graph that has been processed in step 360 and then terminating step 322.
[0068] Through the above processing, it is possible to identify the shortest driving route regardless of the specified bit rate, the shortest driving route that allows communication at a bit rate at least half the specified bit rate, and the shortest driving route that allows communication at a bit rate equal to or higher than the specified bit rate.
[0069] 9 shows the control structure of a program that realizes the grid drawing unit 166 shown in FIG. 3. The grid diagram obtained by the grid drawing unit 166 is, for example, like the grid shown in FIG. 1. In FIG. 1, each grid is displayed in a different display mode depending on the communication speed available in that grid. The multiple driving routes generated in step 322 of FIG. 7 are displayed superimposed on a predetermined map, and a semi-transparent grid is further superimposed.
[0070] 9, this program includes step 370 of obtaining a geohash value representing an area displayed on touch panel display device 116 and dividing this area into a predetermined number of grid areas from the upper left to the lower right. Step 370 also calculates a geohash of a predetermined position (e.g., the center position) within each grid area.
[0071] The program further includes a step 372 that performs a step 374 for each grid region obtained in step 370 .
[0072] Step 374 includes step 380 of searching the communication history information DB 156 for records that start with the same character string as the geohash of the grid area and whose date and time are within a predetermined range centered on the current time, and calculating the average communication speed of those records; and step 382 of quantizing the average communication speed calculated in step 380 into several stages and determining the display color (hue) and brightness of the target grid area. In this embodiment, the hue is red, and the brightness is determined as a monotonic function of the communication speed, such that the brightness is low when the communication speed is low and high when the communication speed is high. Note that in this embodiment, the brightness is set to its maximum value when the communication speed exceeds a predetermined threshold.
[0073] Step 374 further includes step 384, in which the alpha value of each grid area when displayed is set to a value that represents semi-transparency, and step 374 is terminated. At this time, the alpha value is set so that the grid with the highest brightness is displayed transparently.
[0074] B. Operation B1) Accumulation of communication history While the vehicle equipped with the on-board device 102 is moving, the communication unit 150 periodically measures the communication speed and radio wave strength. When communication is not being performed, the communication unit 150 measures only the radio wave strength. The communication unit 150 provides this information as communication history to the communication history recording unit 154.
[0075] The communication history recording unit 154 receives information indicating the state of the vehicle from the sensor 112 and the GNSS receiver 114 via the CAN 152. The communication history recording unit 154 generates communication history information from the communication history received from the communication unit 150 and information indicating the state of the vehicle, and stores the communication history information in the communication history information DB 156.
[0076] B2) Destination Input When a user travels to a destination, the user interacts with the touch panel display device 116 to display an initial route setting screen and specify the destination and the service to be used. In step 310 of FIG. 7, the in-vehicle device 102 acquires the destination specification and identifies its location. In step 312, the route calculation unit 164 acquires information about the communication service required by the service specified by the user (step 312). As a result of this process, the required bit rate is determined.
[0077] The route calculation unit 164 further acquires communication history information for the area connecting the vicinity of the current location and the vicinity of the destination from the communication history information DB 156 (step 314 in FIG. 7 ). If there is no communication history management server linked to the on-board device 102 (the determination in step 316 in FIG. 7 is negative), the route calculation unit 164 executes a route calculation process (step 322 in FIG. 7 ). If there is a communication history management server linked to the on-board device 102 (the determination in step 316 in FIG. 7 is positive), the route calculation unit 164 determines whether the communication history acquired from the communication history information DB 156 is sufficient to determine a driving route based on the bit rate determined for the target area (step 318). If the determination in step 318 is positive, the route calculation unit 164 calculates a driving route using only the communication history acquired from the communication history information DB 156 (step 322). If the determination in step 318 is negative, the route calculation unit 164 instructs the communication history acquisition unit 160 to acquire communication history information for the target area from the communication history management server 110. The communication history acquisition unit 160 adds the acquired communication history information to the communication history information DB 156, and the route calculation unit 164 re-acquires the communication history information from the communication history information DB 156, and then calculates the driving route using the re-acquired communication history information (step 322).
[0078] B3) Route Calculation The route calculation unit 164 of the in-vehicle device 102 calculates a driving route as follows. Referring to FIG. 8 , a search range for the driving route is determined based on the relationship between the current position and the destination (step 350). There are various methods for determining this search range. In this embodiment, the search range is a rectangle whose diagonal is the line connecting the current position and the destination. Of course, the search range is not limited to this, and various other methods are possible.
[0079] Next, the route calculation unit 164 generates a route graph based on information about each intersection within the search range determined in step 350 and the roads connecting those intersections (step 352). At this time, roads whose road width is smaller than a certain value may be excluded from the route graph.
[0080] The route calculation unit 164 applies the Dijkstra algorithm to the route graph generated in this way to generate a driving route that is the shortest route from the current location to the destination (step 352). The generation of the driving route at this time does not take into account the communication speed along the way. In other words, the driving route generated in step 352 is the shortest route when you select not to receive communication services.
[0081] Furthermore, in step 356, the route calculation unit 164 deletes from the route graph any edges with communication speeds less than half the specified bit rate. As a result, the remaining edges are equal to or greater than half the specified bit rate. In step 358, the route calculation unit 164 searches for the shortest route in this route graph. This route is the shortest route among all driving routes that are expected to use a bit rate equal to or greater than half the specified bit rate.
[0082] Furthermore, in step 360, the route calculation unit 164 deletes edges with a bit rate lower than the specified bit rate from the route graph. In the following step 362, the shortest route in the remaining route graph is searched for. The travel route obtained by this process is the shortest travel route among the travel routes that are expected to have a communication speed equal to or higher than the specified bit rate.
[0083] In this way, multiple travel routes are calculated based on the constraints specified by the user.
[0084] Note that constraints are not limited to those described above, and various other constraints are conceivable. To address these constraints, a program consisting of a series of procedures, such as steps 352 and 354 in FIG. 8, can be prepared, and the appropriate program can be executed based on user specifications. Preferably, the execution order of the program is also specified in advance. By executing the program according to such specifications, the amount of calculation required to calculate the driving route can be reduced.
[0085] B4) Display of Route Proposal Screen Once the driving route is calculated by the above-described process, the driving unit 162 generates the route proposal screen 50 shown in FIG. 1 and displays it on the touch panel display device 116. The driving unit 162 first displays a map of the relevant area. The driving unit 162 then displays the three calculated driving routes superimposed on the map. The driving routes can be displayed by continuously drawing rectangles connecting the start and end points of each edge that forms the driving route.
[0086] The grid drawing unit 166 creates a grid display such as that shown in Fig. 1 as follows. Referring to Fig. 9, the grid drawing unit 166 obtains a geohash value representing the area displayed on the touch panel display device 116, and divides this area into a predetermined number of grid areas from the upper left to the lower right (step 370). At this time, a geohash is calculated for a predetermined position (e.g., the center position) in each grid area.
[0087] The grid drawer 166 then performs the following step 374 for each grid region.
[0088] In step 374, the grid drawing unit 166 searches the communication history information DB 156 for records that start with the same character string as the geohash of the target grid area and whose date and time are within a predetermined range centered on the current time, and calculates the average communication speed for those records (step 380). The grid drawing unit 166 further quantizes the average communication speed calculated in step 380 into several stages and determines the display color (hue) and brightness of the target grid area (step 382). In this embodiment, the hue is red, and the brightness is determined as a monotonic function of the communication speed, such that the brightness is low when the communication speed is low and high when the communication speed is high.
[0089] The grid drawing unit 166 further sets a value that represents semi-transparency as the alpha value for each grid area when it is displayed (step 384). At this time, the grid drawing unit 166 sets the alpha value so that the grid with the highest brightness is displayed transparently. The image of the grid area created in this manner is superimposed on the image of the map and the driving route in the driving unit 162. As a result, as shown in FIG. 1 , the map, the driving route, and the grid are displayed superimposed on the display surface of the touch panel display device 116. In areas where the communication speed is high, the map is displayed as is. Areas where the communication speed is low are displayed semi-transparently on the map as red areas with brightness corresponding to the communication speed. The lower the communication speed, the darker the red the area is displayed, and the higher the communication speed, the brighter the red the area is displayed.
[0090] As described above, according to this embodiment, communication speeds actually measured in the past are stored in the communication performance information DB 156 and are used to calculate a driving route. As a result, an appropriate driving route can be calculated according to the bit rate required by the service being used. When calculating the driving route, multiple driving routes are calculated based on constraints specified by the user. The user can select an appropriate driving route depending on how they intend to use the service.
[0091] In addition, the communication speed status in the area surrounding the current location and the destination is visually displayed, so the user can select an appropriate route based on the purpose of using the service, the communication status, and the distance to the destination, such as how well the communication-based services will be provided while traveling from the current location to the destination, and what route should be taken to make full use of the services.
[0092] Furthermore, the communication history management server 110 accumulates communication history information from each vehicle. Therefore, when calculating a driving route in a certain in-vehicle device, if sufficient communication history information is not stored in the in-vehicle device, the necessary communication history information can be obtained from the communication history management server 110. As a result, it is possible to calculate an optimal driving route for using communication services over a wide area.
[0093] In the first embodiment, the user is prompted to select one of three driving routes displayed on the touch panel display device 116. However, this disclosure is not limited to such an embodiment. It is also possible to adopt an embodiment in which a driving route that can always maintain the required communication speed is selected, or if no such route exists, a driving route with the highest average communication speed along the way is automatically selected.
[0094] 2. Second Embodiment A. Configuration A1) Vehicle assistance system 400 Fig. 10 shows the configuration of a vehicle assistance system 400 according to the second embodiment. Referring to Fig. 10, the vehicle assistance system 400 according to the second embodiment includes a server 108, on-board devices 402, 404, and 406 that use services provided by the server 108, and a communication history management server 408 that accumulates communication history information from a plurality of on-board devices, including on-board device 402, and transmits the communication history information to each on-board device upon request.
[0095] In this embodiment, unlike the first embodiment, the route calculation unit is not located in the in-vehicle device 402 but in the communication record management server 408 .
[0096] A2) In-Vehicle Apparatus 402 Referring to FIG. 11, the in-vehicle apparatus 402 differs from the in-vehicle apparatus 102 shown in FIG. 3 in that it does not include the communication history acquisition unit 160 and the route calculation unit 164 .
[0097] 3 in that the driving unit 162 requests the necessary communication history information from the communication history management server 408, rather than from the communication history information DB 156, based on information about the destination input by the user using the touch panel display device 116.
[0098] A3) Communication history management server 408 Referring to FIG. 12 , the communication history management server 408 includes a communication history acquisition unit 450 that acquires communication history information from a plurality of in-vehicle devices, a communication history information storage unit 202 for storing the communication history information acquired by the communication history acquisition unit 450, and a route calculation unit 452 that receives a request for calculating a driving route specifying a current position and a destination from the driving unit 162 of an in-vehicle device such as the in-vehicle device 402 shown in FIG. 10, reads out communication history information of the corresponding area from the communication history information storage unit 202, and transmits the information to the in-vehicle device 402.
[0099] B. Operation The second embodiment differs only in that, when a destination is input using the touch panel display device 116, the driving unit 162 requests communication history information by specifying the current location and destination from the route calculation unit 452 of the communication history management server 408, rather than from the communication history information DB 156, and that, in response to this request, the route calculation unit 452 reads out the communication history information of the relevant area from the communication history information storage unit 202 and transmits it to the driving unit 162. In other respects, each functional unit of the vehicle assistance system 400 operates in the same way as the corresponding functional unit in the first embodiment.
[0100] 13 , a vehicle assistance system 500 according to a third embodiment of the present disclosure includes a server 108, in-vehicle devices 502, 504, and 506, and a communication history management server 110. The server 108 and the communication history management server 110 are the same as the server 108 and the communication history management server 110 in the first embodiment shown in FIG. 2 .
[0101] A2) In-Vehicle Device 502 Referring to FIG. 14 , the in-vehicle device 502 is similar to the in-vehicle device 102 shown in FIG. 3 . However, unlike the in-vehicle device 102, the in-vehicle device 502 includes a communication history comparison unit 552 that receives measurement results regarding the current communication speed from the communication history recording unit 154, compares the measurement results with a communication speed estimated from information stored in the communication history information DB 156, calculates the difference between the two, and outputs the calculated value. The in-vehicle device 102 also includes, instead of the communication unit 150 shown in FIG. 3 , a communication unit 550 that has a function of adjusting the bit rate for the service received from the server 108 in response to the magnitude of the difference output by the communication history comparison unit 552 being greater than a threshold value. When the actual speed measured by the communication history recording unit 154 is lower than the predicted speed by more than the threshold value, the communication unit 550 requests the server 108 to reduce the bit rate of the service using the server 108. As a result, if the service provided by the server 108 is something like a video stream, the server 108 will lower the video resolution or reduce the number of frames transmitted so that the service can continue to be used. Conversely, if the actual measured value is greater than the predicted value by more than the threshold value, the communication unit 550 will request the server 108 to increase the bit rate used for the service if possible.
[0102] 3, the in-vehicle device 502 further includes a route calculation unit 556 having a function of redoing route calculation when the absolute value of the value output by the communication history comparison unit 552 is greater than a threshold value, in addition to the functions of the route calculation unit 164. The in-vehicle device 502 further includes a communication history transmission unit 554 having a function of immediately transmitting communication history information created from the latest measurement result measured by the communication history recording unit 154 to the server 108 when the absolute value of the value output by the communication history comparison unit 552 is greater than or equal to a threshold value, in addition to the functions of the communication history transmission unit 158.
[0103] A3) Communication Performance Comparator 552 Fig. 15 shows a control structure of a program realizing communication performance comparator 552. Referring to Fig. 15, this program includes a step 600 of repeatedly executing a step 602.
[0104] Step 602 includes step 610 of receiving the latest measured value of the communication speed from communication history recording unit 154, step 612 of reading past communication history information at the current location from communication history information DB 156, and step 614 of branching the flow of control depending on whether the difference between the latest measurement result and the communication speed in the communication history read in step 612 is equal to or greater than a threshold value. If the determination in step 614 is negative, the processing for the latest measurement result in step 602 ends.
[0105] This program further includes step 616 of immediately transmitting communication performance information obtained from the latest measurement result to the communication performance management server 110 when the determination in step 614 is affirmative, step 618 of changing the communication quality with the server 108 by controlling the communication unit 550 based on the latest measurement result, and step 620 of controlling the route calculation unit 556 to execute a route change that recalculates the driving route, thereby ending execution of step 602. Note that in this embodiment, the result of the route change is not presented to the user, but is immediately reflected in the operation of the driving unit 162.
[0106] B. Operation Referring to Fig. 14, similar to the communication unit 150 in the other embodiments, the communication unit 550 periodically measures the communication speed and radio wave strength when communication is being performed, and only the radio wave strength at that time when communication is not being performed, and provides the measurement results to the communication history recording unit 154. The communication history recording unit 154 operates in the same manner as in Fig. 3. However, the communication history recording unit 154 also provides the latest communication history to the communication history comparison unit 552.
[0107] The communication history comparison unit 552 receives the latest communication history from the communication unit 550 (step 610 in FIG. 15 ), reads past communication history at that point from the communication history information DB 156 based on the current position of the on-board device 502, and subtracts the speed of the past communication history from the latest measured speed (step 612). If the absolute value of the subtraction result is greater than the threshold value (the determination in step 614 is affirmative), the communication history comparison unit 552 provides the communication history based on the latest measurement result to the communication history transmission unit 554 (step 616). The communication history comparison unit 552 further provides the subtraction result obtained in step 614 to the communication unit 550 (step 618). The communication history comparison unit 552 similarly provides the communication history based on the latest measurement result to the route calculation unit 556 (step 618).
[0108] As a result, the communication history sending unit 554 immediately sends the communication history based on the latest measurement result to the communication history management server 110. The communication history management server 110 stores the received communication history in the communication history information storage unit 202 (see FIG. 4 ). The communication unit 550 requests the server 108 to adjust the bit rate of the service provided by the server 108 based on the latest measurement result. The route calculation unit 556 recalculates the travel route based on the latest measurement result, and controls the driving unit 162 to change the travel route in accordance with the result.
[0109] As described above, according to the third embodiment, if the latest measurement result regarding the communication speed significantly differs from the past communication history, the latest measurement result is immediately transmitted to the communication history management server 110 as the communication history. As a result, the latest measurement result is immediately reflected in the communication history management server 110. Similarly, the communication unit 550 changes the bit rate of the service received from the server 108 according to the communication speed determined by the latest measurement result. As a result, if the communication speed decreases, the service is changed to a service with a correspondingly lower bit rate. Conversely, if the communication speed increases, the service is changed to a service with a correspondingly higher bit rate. For example, in the case of video streaming, the image resolution or frame rate can be changed in this way according to the available communication speed to maintain the service. Furthermore, automatic route changes allow a route that provides better communication quality to be selected. As a result, the user can use the service under better conditions.
[0110] 4. Fourth Embodiment A. Configuration A1) Driving Assistance System 650 With reference to FIG. 16 , a driving assistance system 650 according to a fourth embodiment of the present disclosure includes the server 108, in-vehicle devices such as in-vehicle devices 652, 654, and 656, and a communication history management server 658.
[0111] The in-vehicle device 652 according to the fourth embodiment differs from the in-vehicle device 102 in that, in addition to the functions of the in-vehicle device 102 shown in FIG. 3, it performs statistical processing on the communication records stored in the communication record information DB 156 and suggests driving routes based on the results of the processing. In this statistical processing, values indicating that communication was not possible (such as "-1") are excluded from the calculation of values such as average values. However, they are counted when calculating statistical information regarding whether communication was possible.
[0112] A2) In-Vehicle Device 652 Referring to FIG. 17 , the in-vehicle device 652 includes, in addition to the components of the in-vehicle device 102 shown in FIG. 3 as described above, a communication statistics calculation unit 700 that performs predetermined statistical processing on the communication performance information stored in the communication performance information DB 156, a communication performance statistical information DB 702 for storing statistical information on communication calculated by the communication performance calculation unit 700, and a route calculation unit 704 that calculates a driving route using the communication performance statistical information stored in the communication performance statistical information DB 702.
[0113] In this embodiment, when the communication performance acquisition unit 160 receives a request to acquire communication performance information from the route calculation unit 704, it provides the route calculation unit 704 with communication performance statistical information stored in the communication performance statistical information DB 702 rather than the communication performance information DB 156. When it is difficult for the route calculation unit 704 to calculate a driving route based on the communication performance statistical information stored in the communication performance statistical information DB 702, the communication performance acquisition unit 160 receives the communication performance statistical information stored in the communication performance statistical information DB 702 from the communication performance management server 658. The communication performance acquisition unit 160 adds this communication performance statistical information to the communication performance statistical information DB 702 and then provides it to the route calculation unit 704. The route calculation unit 704 differs from the route calculation unit 164 in that the communication performance used when calculating a driving route is not the actual measurement information stored in the communication performance information DB 156 but the statistically processed information stored in the communication performance statistical information DB 702.
[0114] A3) Communication Performance Management Server 658 With reference to Fig. 18, the communication performance management server 658 includes a communication performance acquisition unit 200, a communication performance information storage unit 202, and a communication statistics calculation unit 720 for performing statistical processing similar to that of the communication statistics calculation unit 700 shown in Fig. 17 on communication performance information stored in the communication performance information storage unit 202. The communication performance management server 658 further includes a communication performance statistical information storage unit 722 for storing statistical information related to communication performance calculated by the communication statistics calculation unit 720, and a communication performance transmission unit 724 for reading out communication performance statistical information corresponding to the current location specified by the communication performance acquisition unit 160 from the communication performance statistical information storage unit 722 and transmitting the information to the communication performance acquisition unit 160 in response to a request from the communication performance acquisition unit 160 shown in Fig. 17.
[0115] Fig. 19 shows the column structure of the communication performance statistical information DB 702 shown in Fig. 17. The communication performance statistical information storage unit 722 shown in Fig. 18 has a similar column structure.
[0116] Referring to FIG. 19, the communication performance statistical information DB 702 has a date and time column, a grid ID column, a communication speed column, a speed column, a direction column, a communication line column, a communication carrier column, a band number column, a cell ID column, and the same SINR, RSSI, RSRP, and RSRQ columns as those shown in FIG. 5.
[0117] Of the information stored in each of these columns, the date and time is used to identify the unit period that constitutes the statistical data. For example, if the date and time column contains a value indicating the year (e.g., "2022"), this indicates that statistics covering the entire year of 2022 constitute one record in the communication performance statistical information DB 702. If the date and time column contains information indicating a certain month (e.g., "202206"), it indicates that statistics covering one month related to that information are stored in that record. Similarly, by using the date and time column, statistics for one day, one hour, etc. can each be stored as one record in the communication performance statistical information DB 702. By including date and time information in the records in this way, statistical information can be recorded hierarchically across various periods.
[0118] The grid ID is a geohash identifier that identifies the grid that is the subject of the statistics. This value is assigned to each grid in a fixed manner. However, as mentioned above, grid IDs also have a hierarchical structure. Therefore, if the smallest unit of size for a grid is determined and statistical values for the communication status of that grid are recorded, statistics for larger grids can be calculated at any time. In this way, by using the value in the date and time column and the value in the grid ID column, statistical information can be calculated and recorded using a geographical and temporal hierarchical structure.
[0119] In FIG. 19 , the columns below the communication speed column contain values after statistical processing. The statistical processing method for each column varies depending on the column. For example, for communication speed, speed, direction, SINR, RSSI, RSRP, and RSRQ, representative values obtained by statistical processing, such as the average, maximum, minimum, and CDF (cumulative distribution function), or any combination thereof, are stored. For direction, the direction may be quantified and the average taken, or 360 degrees may be divided into predetermined angles and the number of values falling within each angle range may be counted. The communication line, communication carrier, band number, and cell ID are all discrete values, and for these, the values may be counted by type when used within a target unit period and recorded.
[0120] 20 shows the control structure of a program that causes a computer to function as the communication statistics calculation unit 720 shown in FIG. 18. This program is started by receiving, as arguments, parameters 730 that specify the granularity of the period for which statistics are to be calculated and the granularity for dividing the area into grids. This program calculates communication performance statistics for each period of the specified granularity and each area of the specified granularity. In this specification, "high granularity" means that the units to be processed are large, and "low granularity" means that the units to be processed are small. Of course, "high granularity" and "low granularity" are relative terms.
[0121] This program includes step 732 for checking the current time and the range (total area range) that covers the entire location where the communication history information stored in the communication history information storage unit 202 was acquired. In the fourth embodiment, the total area range is a rectangle, and is specified by the coordinates (latitude, longitude) of its northwestern and southeastern ends. Of course, the shape that specifies the total area range is not limited to a rectangle. Any shape, including shapes not composed of straight lines, such as a circle or an ellipse, can be used.
[0122] The program further includes a step 734 of determining a target period by dividing the period for statistical calculation according to the parameters 730, and a step 736 of determining a set of target areas for statistical calculation by dividing the entire area range according to the specified granularity according to the parameters 730.
[0123] In step 734, the unit period including the current time acquired in step 732 and the unit period immediately before that are basically the targets. However, if, for example, statistics have already been created and it has been determined that no updates will be made, the immediately previous unit period is not included in the statistical calculation.
[0124] For example, if the date and time granularity is in "day" units and the current date is "September 1, 2022," the day including the current time, "September 1, 2022," and the day immediately preceding that, "August 31, 2022," will be subject to statistical calculation. However, if the statistical calculation for "August 31, 2022" has been completed and it has been determined that it will not be updated, then only "September 1, 2022" will be subject to statistical calculation.
[0125] If the date and time granularity is "hour" (hours) and the current date and time is "September 1, 2022, 11:05:17," then "September 1, 2022, 11:00" and "September 1, 2022, 10:00" will be subject to statistical calculation. However, if statistical calculation for "September 1, 2022, 10:00" has been confirmed, only "September 1, 2022, 11:00" will be subject to statistical calculation.
[0126] In step 736, the entire rectangular area identified in step 732 is divided into rectangular areas of the size specified by parameter 730. As described above, each divided area is assigned a unique geohash code.
[0127] This program further includes step 738 of executing step 740 for each unit period included in the target period determined in step 734. As described above, the unit period included in the target period is basically one unit period including the current time, or two unit periods including the most recent unit period.
[0128] Step 740 includes step 742 of performing step 744 for each area of interest divided in step 736 .
[0129] Step 744 includes step 750 of reading out communication performance information from communication performance information storage unit 202 shown in FIG. 18 using the target period and target area as keys, and step 752 of calculating each piece of statistical information to be shown in communication performance statistical information DB 702 based on the communication performance information read out in step 750. Different processing is performed for each item in calculating the statistical information in step 752. Note that when a relational database is used for communication performance statistical information DB 702, the processing in step 732 may be simplified for representative statistical values such as the average, maximum value, minimum value, or variance by including a command to calculate these representative statistical values in the query when reading out the records.
[0130] Step 744 further includes step 754, which branches the flow of control depending on whether a record having the same key as the key used in step 750 exists in communication performance statistical information storage unit 722. Step 744 further includes step 756, which, when the determination in step 754 is affirmative, updates the record having that key in accordance with the latest statistical value calculated in step 752 and terminates step 744, and step 758, when the determination in step 754 is negative, adds a new record to communication performance statistical information storage unit 722 using the target period and target area used in step 750 as keys and containing the statistical value calculated in step 752, and terminates step 744.
[0131] The above description relates to the program executed by the communication statistics calculation unit 720 of the communication record management server 658 shown in FIG. 18. Meanwhile, the communication statistics calculation unit 700 of the in-vehicle device 652 shown in FIG. 17 also executes a program with essentially the same control structure as that shown in FIG. 20. However, in the case of the in-vehicle device 652, the target area is limited, and the size of the grid used for route proposals is also considered to be limited. Therefore, when executing a program similar to that shown in FIG. 20, the granularity of the date and time and the granularity of the range division are also made relatively high. As a result, even a device such as the in-vehicle device 652 that is not particularly blessed with computational resources can stably calculate communication statistics.
[0132] Fig. 21 shows a control structure of a program for causing a computer to function as communication record transmission unit 724 shown in Fig. 18. This program is started every time communication record management server 658 receives a request to transmit communication record statistics from an external device.
[0133] Referring to Figure 21, this program includes step 780 of extracting information indicating the date and time, date and time granularity, range, and range granularity of the transmission target from the received transmission request message. If a date and time is not specified, the most recent unit time is assumed to be specified. In this case, the unit time is determined by the date and time granularity. If the date and time granularity is not specified, a default unit time, for example, one hour, is used. The range is required. The range granularity is specified, for example, by the number of digits of the geohash used. If the range granularity is not specified, the range granularity is determined as a function of the size of the specified range.
[0134] Following step 780, this program further includes step 782 of reading from the communication performance statistical information storage unit 722 a record corresponding to the date and time, date and time granularity, range, and range granularity extracted in step 780, and step 784 of shaping the information contained in the record read in step 782 into a predetermined format and transmitting it to an external device in one or more packets, thereby terminating execution of this program.
[0135] B. Operation In this embodiment, the communication history recording unit 154 of the in-vehicle device 652 shown in Fig. 17 periodically acquires communication history information and stores it in the communication history information DB 156. The communication history transmitting unit 158 similarly transmits the communication history information to the communication history management server 658. The communication history acquiring unit 200 of the communication history management server 658 shown in Fig. 18 acquires communication history information from multiple in-vehicle devices including the in-vehicle device 652 and stores it in the communication history information storage unit 202.
[0136] Referring to FIG. 17 , in the fourth embodiment, in the in-vehicle device 652, a communication statistics calculation unit 700 performs statistical processing on the communication performance information stored in the communication performance information DB 156 according to a certain schedule, and stores the results in a communication performance statistical information DB 702.
[0137] In this case, the schedule may be such that statistical processing is performed only once every minimum time unit described above, or such that statistical processing is performed every time a predetermined period longer than the minimum time unit elapses. However, in the fourth embodiment, hierarchical statistics must be collected. In such a case, when statistical processing is performed, not only the minimum time unit processing but also higher-level statistics are calculated. When calculating higher-level statistics, they may be calculated directly from information stored in the communication performance information DB 156, or lower-level statistical information stored in the communication performance statistical information DB 702 may be used. In the fourth embodiment, as described above, the communication statistics calculation unit 700 uses only information stored in the communication performance information DB 156. Furthermore, the load of the statistical calculation process performed by the communication statistics calculation unit 700 is smaller than that of the communication statistics calculation unit 720. On the other hand, the statistical information stored in the communication performance statistical information DB 702 is information obtained from information in a relatively limited area, and is limited to statistical information with higher granularity in terms of both time and geography compared to the statistical information stored in the communication performance statistical information storage unit 722.
[0138] On the other hand, in the communication performance management server 658 shown in FIG. 18 , similar to the in-vehicle device 652, the communication statistics calculation unit 720 performs statistical processing on the communication performance information accumulated in the communication performance information storage unit 202 according to a fixed schedule, and stores the obtained communication performance statistical information in the communication performance statistical information storage unit 722.
[0139] For example, when performing statistical processing on a daily basis, a program with the control structure shown in FIG. 20 is started for each region on each tier within the range to be managed, with one cycle typically being 24 hours or 12 hours. For example, if one cycle of statistical processing is 12 hours, then 24-hour information is processed twice. In the first processing, statistical information for the first 12 hours is calculated. In the second processing, statistical information for the 24 hours is calculated, and the statistical information calculated based on the 12-hour information is updated with that information.
[0140] Multiple programs shown in FIG. 20 can be run simultaneously, enabling parallel processing. When the granularity of the date and time used to calculate statistical information decreases, the range widens, and the granularity of the range also decreases, the number of statistical calculation targets becomes very large. In such cases, the statistical processing can be performed on multiple processors, and each processor can further perform parallel calculations using a GPU, allowing the necessary statistical processing to be performed in a timely manner. The computational resources available to the communication performance management server 658 can be increased according to demand. As a result, it becomes possible to flexibly respond to increased demand from external devices.
[0141] When the route calculation unit 704 calculates a driving route, it specifies the current position and the destination and requests the communication history acquisition unit 160 to acquire communication history for the relevant area. The communication history acquisition unit 160 causes communication history statistical information that has been subjected to statistical processing for the specified area to be input to the route calculation unit 704 from the information stored in the communication history statistical information DB 702. If the information acquired from the communication history statistical information DB 702 is sufficient for calculating a driving route for the specified area, the route calculation unit 704 immediately executes the route calculation process; otherwise, the route calculation unit 704 requests the communication history acquisition unit 160 to acquire communication history statistical information for the specified area from the communication history management server 658. The communication history acquisition unit 160 transmits a statistical information transmission request to the communication history transmission unit 754 of the communication history management server 658 so as to obtain the requested information.
[0142] This transmission request includes information specifying the time range and geographic range for which statistical information is required, as well as information specifying their granularity. For example, if information on a range not covered by the statistical information stored in the communication statistics calculation unit 700 is required, the communication history acquisition unit 160 requests statistical information on at least that range from the communication history management server 658. If the information stored in the communication statistics calculation unit 700 is not sufficient to determine the communication status by region in detail, the communication history acquisition unit 160 requests statistical information on divided regions with lower granularity from the communication history management server 658.
[0143] When the communication history transmission unit 724 of the communication history management server 658 shown in Fig. 18 receives this transmission request, it executes the program shown in Fig. 21. That is, the communication history transmission unit 724 extracts information indicating the date and time, date and time granularity, range, and range granularity of the transmission target from the transmission request message (step 780). If this information is not specified, as described above, the communication history transmission unit 724 uses default values. The communication history transmission unit 724 reads out a record corresponding to the information obtained from the transmission request in this way from the communication history statistical information storage unit 722 (step 782).
[0144] At this time, if the received transmission request includes specific communication device information, communication line information, or communication carrier information, the communication history transmission unit 724 extracts only records (communication environment information) having matching communication device information, communication line information, and communication carrier information when reading information from the communication history statistical information DB 702. The communication history transmission unit 724 further performs statistical processing on values related to the communication quality metrics of those records to calculate statistical representative values.
[0145] The communication history transmission unit 724 formats the information contained in the read record or the statistically processed information into a predetermined format and transmits it to the communication history acquisition unit 160 of the in-vehicle device 652 in one or more packets (step 784).
[0146] The communication history obtaining unit 160 receives this statistical information from the communication history transmitting unit 724 and adds it to the communication history statistical information DB 702 in Fig. 17. The added information is input from the communication history statistical information DB 702 to the route calculation unit 704. The route calculation unit 704 uses the communication history statistical information thus obtained to calculate a route from the current location to the destination in accordance with specified conditions.
[0147] The operations of the other components are the same as those of the in-vehicle devices in the first to third embodiments.
[0148] C. Modifications In the fourth embodiment, statistical metrics based on the communication environment, such as the communication device, communication line, or communication carrier, are not calculated. This is because these are inherently diverse and often change, making them unsuitable for continuous statistical calculation. Furthermore, if communication performance information were to be subdivided based on this information, the amount of calculation required for statistical processing would increase. However, for example, if the in-vehicle device 652 uses a specific communication device, communication line, or communication carrier, it is believed that the reliability of the communication status estimation would be higher if statistical metrics that take these factors into account were used.
[0149] Therefore, in this modification, the communication history management server normally operates in the same way as in the fourth embodiment, but when information about the communication environment is attached to a transmission request, it extracts only records that match specified conditions from the details of communication history information stored in the communication history information storage unit 202, rather than the statistical information stored in the communication history statistical information storage unit 722. Statistical processing is performed on the read records, and the results are sent to the in-vehicle device.
[0150] Fig. 22 shows a block diagram of a communication history management server 790 of this modified example. The communication history management server 790 differs from the communication history management server 658 shown in Fig. 18 in that, instead of the communication history transmission unit 724 shown in Fig. 18, the communication history management server 790 includes a communication history transmission unit 792 that receives a transmission request and executes different processing depending on whether information about the communication environment is attached to the transmission request. The communication history transmission unit 792 normally reads information from the communication history statistical information storage unit 722 and transmits it to the in-vehicle device, similar to the communication history transmission unit 724 in the fourth embodiment. However, when the transmission request includes information about the communication environment (for example, a communication line, a communication carrier, or a combination of these), the communication history transmission unit 792 executes different processing.
[0151] The communication history management server 790 further includes an on-demand communication statistical processing calculation unit 794 that, when information related to the communication environment is attached to a transmission request, reads from the communication history information storage unit 202 a record containing communication environment information that matches the specified date, time, and range, as well as the information related to the communication environment, in response to an instruction from the communication history transmission unit 792, and at the same time performs statistical processing on communication quality metrics for the read record and returns the processing to the communication history transmission unit 792.
[0152] That is, when information about the communication environment is attached to a transmission request, the communication history transmitting unit 792 does not obtain the information from the communication history statistical information storage unit 722, but obtains the information from the communication statistical processing calculation unit 794 at any time.
[0153] With this configuration, the communication history management server 790 according to this modification can normally transmit communication quality metrics to the in-vehicle device at high speed using information from the communication history statistical information storage unit 722. In addition, when information specifying the communication environment is attached to the transmission request, the communication history management server 790 can transmit to the in-vehicle device communication quality metrics obtained only from communication history that matches the specific communication environment. As a result, it is possible to improve the accuracy of the statistical quality metrics transmitted to the in-vehicle device while preventing an increase in the load of statistical processing.
[0154] 5. Fifth Embodiment The fifth embodiment is characterized by the display mode when a driving route is proposed. The configuration of the in-vehicle device for this purpose is similar to that of the in-vehicle device 102 shown in FIG. 3, for example. However, in this embodiment, a grid is not superimposed on a map as in the grid drawing unit 166 shown in FIG. 3. Instead, the fifth embodiment uses a proposed route display unit (not shown) that displays a proposed driving route in different modes depending on the communication speed assumed to be available in each grid point along the driving route, as shown in FIG. 23.
[0155] Referring to FIG. 23 , in the fifth embodiment, a display 800 of the touch panel type display device 116 includes a driving route display 810 , a first route prediction image display 812 , and a second route prediction image display 814 .
[0156] The driving route display 810 displays a map, on which the current position and destination of a vehicle image 816 are superimposed as speech bubbles 820 and 822. No grid is displayed. Instead, each portion of the image of the driving routes 830 and 832 is displayed with a hue and brightness corresponding to the communication speed of the grid to which that portion belongs. Typically, the hue is red, and the brightness is adjusted according to a monotonic function of the communication speed, increasing as the communication speed increases and decreasing as the communication speed decreases. However, due to the limitations of the drawing, such changes in the display mode are not shown in FIG. 23.
[0157] In the fifth embodiment, a representative value of the communication speed (e.g., average bit rate, the percentage of the route length at which the minimum bit rate specified by the service can be used relative to the entire route, etc.) is displayed in association with each travel route. An example of this is the "communication quality satisfaction" indicated by speech bubbles 824 and 826 in FIG. 23 . For example, speech bubble 824 indicates that the communication quality satisfaction level for the first route (first travel route) is 75%. This means that the total length of the first travel route where the bit rate specified by the service can be maintained corresponds to 75% of the total length of the first travel route. For the second travel route, this value is 25%. In other words, for the first travel route, the service is available with the highest expected quality for three-quarters of the total length, but for the second travel route, it is only available for one-quarter of the total length. Displaying such a representative value has the effect of making it easier for the user to understand the communication quality for each route.
[0158] The first predicted route image display 812 and the second predicted route image display 814 represent the expected image quality of the image displayed on each driving route when the service used while driving along each driving route is video streaming. In this example, sample images are prepared in advance. The expected image quality is represented by an image in which the number of pixels of the sample image is reduced according to the ratio of the representative value of the expected communication speed when traveling along each driving route to the communication speed at which the image can be received at its original resolution. As described above, if the communication quality on each route is represented numerically, the user can understand the difference, but it is difficult to intuitively grasp the difference. However, by representing the communication quality on each driving route as a difference in image, as shown in the first predicted route image display 812 and the second predicted route image display 814, the user can intuitively grasp the difference in communication quality. Note that while speech bubbles are used in this example, the communication quality display may be associated with the corresponding driving route by, for example, displaying a line connecting the communication quality display to the corresponding driving route instead of a speech bubble.
[0159] It is desirable to present such effects to the user according to the type of service. For example, if the service the user is trying to use is related to audio rather than video, it is conceivable to superimpose noise according to the communication speed onto sample audio or music rather than sample images.
[0160] 24 shows a control structure of a computer program for realizing the route proposal processing unit described above in relation to Embodiment 5. Referring to Fig. 24, this program includes a step 850 for setting a destination, a step 852 for acquiring the current position of the vehicle, and a step 854 for receiving, from the user, specification of constraint conditions to be used when calculating a route.
[0161] This program further includes step 856 of searching for a driving route from the current position specified in steps 850 and 852 to the destination under the constraints specified in step 856; step 858 of displaying each of the driving routes searched for in step 856 as shown in driving route display 810 of FIG. 23; step 860 of calculating a representative value representing the communication quality for each of the driving routes; and step 862 of displaying the representative value calculated in step 860 for each of the driving routes together with speech bubbles 824 and 826 having convex portions contacting the corresponding driving routes.
[0162] This program further includes step 864 of determining whether or not an image representing the communication image quality should be displayed, such as when the service is related to video, and branching the flow of control according to the result of the determination, step 866 of processing a sample image prepared in advance based on the representative value calculated for each driving route in step 860 when the determination in step 864 is affirmative, and step 868 of displaying the sample image processed in step 866 at a predetermined position on the driving route display 810, as shown by first route predictor image display 812 and second route predictor image display 814 in Figure 23, and then terminating execution of this program. When it is determined in step 864 that image display is not necessary, steps 866 and 868 are not executed.
[0163] Referring to FIG. 25, step 858 of FIG. 24 includes step 900, which performs the same grid drawing process as shown in FIG. 9, and step 902, which performs step 904 for each grid obtained in step 900.
[0164] Step 904 includes step 910, which calculates the overlapping portion between the grid to be processed and each driving route, and step 912, which sets the alpha value of each pixel for each overlapping portion calculated in step 910 so that the overlapping portion is displayed semi-transparently and the remaining portion is displayed transparently, thereby ending step 904.
[0165] As a result of this processing, any grid that does not overlap with the driving route is displayed transparently. In other words, the map is displayed as is. For any grid that overlaps with the driving route, the overlapping portion is displayed with the hue and brightness set in the processing of step 900, but the non-overlapping portion is displayed transparently. As a result, each portion of each driving route is displayed in a different manner (hue and brightness) depending on the communication quality (communication speed) of that portion. The map is displayed in the portion other than the driving route. In other words, a display such as that shown by driving route display 810 in FIG. 23 is obtained.
[0166] As described above, in this fifth embodiment, the communication quality of the proposed driving route is visually displayed, and the user can select the driving route that he or she considers optimal based on the service he or she wishes to use and the time required to reach the destination.
[0167] 6. Computer Implementation A) Hardware of the In-Vehicle Device The in-vehicle device according to this disclosure, as shown in FIG. 2 and elsewhere, includes an MCU (Micro Controller Unit) including a communication device and a storage device for storing programs executed by the MCU. Each component of the MCU is hardware. FIG. 26 shows the configuration of the MCU 950 in block form.
[0168] 26 , the MCU 950 includes an MPU 952 which is a processor, a high-speed bus 978 to which the MPU 952 is connected, an SRAM 954 connected to the high-speed bus 978, a flash memory 956 connected to the high-speed bus 978, and a ROM 958 connected to the high-speed bus 978. The SRAM 954 holds data necessary for executing programs, etc. The flash memory 956 stores a program 976 for realizing each function of the in-vehicle device according to the first to fifth embodiments. The ROM 958 stores a boot-up program for the MPU 952, etc.
[0169] The MCU 950 further includes a low-speed bus 960 connected to a high-speed bus 978 via a bridge 962, and a serial I / F 964, an ADC 966, a timer / counter 968, a clock generator 970, a power supply control unit 972, and a general-purpose I / F 974, all of which are connected to the low-speed bus 960.
[0170] The operation of the MCU is well known, and what is meaningful in the embodiment is the function of the program it executes, so the operation of the MCU itself will not be repeated in the following explanation.
[0171] B) Server Hardware Fig. 27 is an external view of an example of a computer system that realizes the communication history management servers 110 and 408, and the communication history management server 658, etc. according to the above embodiments. Fig. 28 is a block diagram showing an example of the hardware configuration of the computer system shown in Fig. 27.
[0172] 27, this computer system 1050 includes a computer 1070 to which a DVD drive 1102 is connected, and a keyboard 1074, a mouse 1076, and a monitor 1072 for interacting with a user, all of which are connected to the computer 1070. These are one example of a configuration for when user interaction is required, and any general hardware and software that can be used for user interaction (for example, a touch panel, voice input, or a general pointing device) can be used.
[0173] 28 , computer 1070 includes a CPU 1090, a GPU 1092, a bus 1110 connected to CPU 1090, GPU 1092, and DVD drive 1102, a ROM 1096 connected to bus 1110 and storing a boot-up program for computer 1070, a RAM 1098 connected to bus 1110 and storing instructions constituting programs, system programs, working data, and the like, and an SSD 1100 which is a non-volatile memory connected to bus 1110. SSD 1100 stores programs executed by CPU 1090 and GPU 1092, data used by the programs executed by CPU 1090 and GPU 1092, and the like. The computer 1070 further includes a network I / F 1108 that provides connection to a network 1086 that enables communication with other terminals, and a USB port 1106 that allows a USB memory 1084 to be attached or detached and provides communication between the USB memory 1084 and each part within the computer 1070.
[0174] The computer 1070 further includes an input / output I / F 1104 that is connected to external devices such as a microphone 1082 and a speaker 1080 and to a bus 1110, and that reads out audio signals, video signals, and text data generated by the CPU 1090 and stored in the RAM 1098 or SSD 1100 in accordance with instructions from the CPU 1090, converts the signals to analog, amplifies the signals, and drives the speaker 1080, and digitizes the analog audio signals from the microphone 1082 and stores them at any address in the RAM 1098 or SSD 1100 specified by the CPU 1090.
[0175] The programs and parameters for realizing the communication history management servers 110, 408, and 658 in the above embodiments, as well as the sample images used in the fifth embodiment, are all stored in, for example, the SSD 1100, RAM 1098, DVD 1078, or USB memory 1084 shown in Fig. 28 , or a storage medium of an external device (not shown) connected via the network I / F 1108 and the network 1086. Typically, these data and parameters are written to the SSD 1100 from an external device, for example, and loaded into the RAM 1098 when executed by the computer 1070.
[0176] A program that cooperates with computer 1070 to realize the functions of each unit according to the above-described embodiment includes a plurality of instructions written and arranged to cause computer 1070 to operate to realize those functions. Some of the basic functions required to execute these instructions are provided by an operating system (OS) or third-party programs running on computer 1070, or by modules of various toolkits installed on computer 1070. Therefore, the program does not necessarily include all of the functions required to realize the system and method of this embodiment. The program need only include instructions that execute the operations of the above-described devices and their components by statically linking appropriate functions or functions of a "programming toolkit" in a controlled manner to achieve the desired results, or by dynamically linking to those functions during program execution. The method of operating computer 1070 for this purpose is well known, and will not be repeated here.
[0177] The GPU 1092 is capable of parallel processing, and can simultaneously execute a large amount of calculations associated with, for example, path search processing, statistical processing, etc. in parallel or pipelined fashion. For example, parallel calculation elements discovered in a program when the program is compiled, or parallel calculation elements discovered during program execution, are dispatched from the CPU 1090 to the GPU 1092 as needed, and executed, with the results returned to the CPU 1090 directly or via a predetermined address in the RAM 1098, and substituted for a predetermined variable in the program.
[0178] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present disclosure is not defined by the detailed description of the disclosure, but by the claims of the appended claims, and is intended to include all modifications within the scope and meaning equivalent to the wording of the claims.
[0179] 50 Route proposal screen 60 Vehicle 62 Current position 64 Destination 66 First route 68 Second route 100, 400, 500 Vehicle assistance system 102, 104, 106, 402, 404, 406, 502, 504, 506, 652, 654, 656 In-vehicle device 108 Server 110, 408, 658 Communication record management server 112 Sensor 114 GNSS receiver 116 Touch panel display device 150, 550 Communication unit 152 CAN 154 Communication record recording unit 156 Communication record information DB 158, 204, 554, 724 Communication record transmission unit 160, 200, 450 Communication record acquisition unit 162 Driving unit 164, 452, 556, 704 Route calculation unit 166 Grid drawing unit 202 Communication performance information storage unit 552 Communication performance comparison unit 650 Driving assistance system 700, 720 Communication statistics calculation unit 702 Communication performance statistical information DB 722 Communication performance statistical information storage unit 800 Display 810 Travel route display 812 First route predicted image display 814 Second route predicted image display 816 Vehicle image 820, 822, 824, 826 Speech bubble 830 Travel route 950 MCU 952 MPU 954 SRAM 956 Flash memory 958, 1096 ROM 960 Low-speed bus 962 Bridge 964 Serial I / F 966 ADC 968 Timer / counter 970 Clock generator 972 Power supply control unit 974 General-purpose I / F 976 Program 978 High-speed bus 1050 Computer system 1070 Computer 1072 Monitor 1074 Keyboard 1076 Mouse 1078 DVD 1080 Speaker 1082 Microphone 1084 USB memory 1086 Network 1090 CPU 1092 GPU 1098 RAM 1100 SSD 1102 DVD drive 1104 Input / output I / F 1106 USB port 1108 Network I / F 1110 Bus
Claims
1. a communication performance information receiving unit for receiving communication performance information including at least location information, date and time information, and communication quality metrics information relating to at least communication quality of wireless communication at a location specified by the location information and at a date and time specified by the date and time information; a communication history information storage unit for storing the communication history information received by the communication history information receiving unit; a communication performance transmission unit that, in response to receiving a request to transmit the communication performance information from an external device, the communication performance information including a geographical range specified by the transmission request, based on the communication performance information stored in the communication performance information storage unit, generates information about communication performance, the information including the location information corresponding to the geographical range specified by the transmission request and communication quality information obtained from the communication quality metrics information, and transmits the information to the external device.
2. The communication history transmission unit transmits, from the communication history information storage unit, the location information corresponding to a geographical area designated by the request to send; The date and time information within a recent predetermined time period; The communication quality metrics information; 2. The communication history management server according to claim 1, further comprising a most recent communication history transmission unit that reads out the communication history information including the communication history information and transmits it to the external device.
3. Each piece of communication history information further includes communication environment information regarding a communication environment when wireless communication related to the communication history information was performed, The transmission request further includes information regarding a communication environment of the external device, In response to receiving the transmission request, the communication history transmission unit reads from the communication history information storage unit: the location information corresponding to a geographical area designated by the request to send; the communication environment information being consistent with the information regarding the communication environment included in the transmission request; The communication quality metrics information; 3. The communication history management server according to claim 1, further comprising an apparatus-specific communication history transmission unit that reads out the communication history information including the communication history information and transmits it to the external apparatus.
4. The communication history management server according to claim 3 , wherein the communication environment information includes communication line information, communication carrier information, or a combination thereof.
5. a communication statistics calculation unit that calculates communication performance statistical information by performing statistical processing on the communication quality metrics information with respect to the communication performance information stored in the communication performance information storage unit, based on at least a position specified by the position information; and a communication performance statistical information storage unit that stores the communication performance statistical information calculated by the communication statistics calculation unit in association with the location information, 2. The communication performance management server according to claim 1, wherein the communication performance sending unit includes a communication performance statistical information sending unit that, in response to receiving a request to send the communication performance information, in which a geographical range is specified, from an external device, sends to the external device the location information of the communication performance statistical information stored in the communication performance statistical information storage unit that corresponds to the geographical range specified by the transmission request and the communication performance statistical information at a location specified by the location information.
6. 6. The communication performance management server according to claim 5, wherein the communication statistics calculation unit includes a period-based communication statistics calculation unit that calculates period-based communication performance statistical information by performing statistical processing on the communication quality metrics information based on at least a location specified by the location information and a period specified by the date and time information for the communication performance information stored in the communication performance information storage unit.
7. Each piece of communication history information further includes information regarding a communication environment when wireless communication related to the communication history information was performed, The transmission request may include information regarding a communication environment of the external device; the communication record transmission unit selectively executes a first process or a second process depending on whether the received transmission request includes the information on the communication environment; the first process is a process of reading, from the communication performance statistical information storage unit, communication performance statistical information that matches the location information corresponding to a geographical range specified by the transmission request and the information on the communication environment included in the transmission request, calculating the communication quality metrics information based on the read communication performance statistical information, and transmitting the communication quality metrics information to the external device; 7. The communication history management server according to claim 6, wherein the second process is a process of reading out, from the communication history information storage unit, the communication history information corresponding to the location information within a geographical range specified by the transmission request, and transmitting the communication history information to the external device.
8. receiving communication performance information including at least location information, date and time information, and communication quality metrics information related to at least communication quality of wireless communication at a location specified by the location information and at a date and time specified by the date and time information; a step of storing the communication history information received in the step of receiving the communication history information in a storage device by a computer; a step of, in response to a computer receiving from an external device a request to transmit the communication performance information, the request specifying a geographical range, generating information on communication performance based on the communication performance information stored in the storage device, the information including the location information corresponding to the geographical range specified by the transmission request and communication quality information obtained from the communication quality metrics information, and transmitting the information to the external device.
9. On the computer, receiving communication performance information including at least location information, date and time information, and communication quality metrics information relating to at least communication quality of wireless communication at the location specified by the location information and at the date and time specified by the date and time information; storing the communication history information received in the step of receiving the communication history information in a storage device; in response to receiving a request to send the communication performance information from an external device, the request specifying a geographical range, based on the communication performance information stored in the storage device, generating information on communication performance, the information including the location information corresponding to the geographical range specified by the transmission request and communication quality information obtained from the communication quality metrics information, and transmitting the information to the external device.