Data synchronization system, data synchronization method, in-vehicle terminal, and data synchronization program
The data synchronization system synchronizes in-vehicle and cloud databases to execute high-processing power tasks, addressing the limitation of lower-grade vehicles by utilizing external processing power for enhanced functionality.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- DENSO CORP
- Filing Date
- 2025-12-24
- Publication Date
- 2026-07-02
AI Technical Summary
Vehicles with lower processing power cannot execute high-function applications due to the lack of high-processing power electronic control devices.
A data synchronization system and method that includes an external device and a vehicle terminal, with a cloud database and utilization processing units, synchronizing in-vehicle and cloud databases to execute high-processing power tasks.
Enables vehicles to perform high-processing power tasks by leveraging external processing capabilities, enhancing vehicle functionality.
Smart Images

Figure JP2025045357_02072026_PF_FP_ABST
Abstract
Description
Data Synchronization System, Data Synchronization Method, Vehicle Terminal, Data Synchronization Program Cross - reference to Related Applications
[0001] This international application claims the benefit of Japanese Patent Application No. 2024 - 232725 filed with the Japan Patent Office on December 27, 2024, the entire disclosure of which is incorporated herein by reference.
[0002] This disclosure relates to a technology for collecting and using vehicle data.
[0003] In Patent Document 1, in a control system in which a terminal such as mobility and an information processing device provided on a cloud are connected via a network, a digital twin is arranged in the cloud, and a technology for controlling the terminal using the information of the digital twin is described.
[0004] Japanese Unexamined Patent Application Publication No. 2024 - 102547
[0005] As a result of the inventors' detailed examination, since a vehicle with a higher grade has an electronic control device with higher processing power installed, there is a problem that in a vehicle with a lower grade, a high - function application that executes a process requiring high processing power may not be added.
[0006] This disclosure provides a technology for improving the functions of a vehicle.
[0007] One aspect of this disclosure is a data synchronization system including an external device configured to perform data communication with the external device and a vehicle terminal mounted on a vehicle. The external device includes a cloud database and an external utilization processing unit. The external utilization processing unit is configured to execute a predetermined process using the cloud database.
[0008] The vehicle terminal of this disclosure includes a process execution unit, an in - vehicle database, a synchronization unit, and an in - vehicle core unit.
[0009] The process execution unit is configured to be operable in an in - vehicle terminal including an in - vehicle utilization processing unit configured to execute a predetermined process or an in - vehicle terminal not including an in - vehicle utilization processing unit.
[0010] The in-vehicle database is configured to store multiple component data, each associated with one of the in-vehicle components.
[0011] The synchronization unit is configured to synchronize the contents of the in-vehicle database and the cloud database by detecting changes in component data stored in the in-vehicle database, uploading the changed component data to the cloud database, and detecting changes in component data stored in the cloud database, downloading the changed component data to the in-vehicle database.
[0012] The in-vehicle core unit is configured to receive subscription requests, monitor the in-vehicle database, and notify the source of the subscription request if the specified data, which is the data specified in the subscription request, changes.
[0013] The processing execution unit is configured to send a subscription start request to the in-vehicle core unit, requesting the subscription of the execution results of a predetermined process as specified data.
[0014] The processing execution unit is configured to retrieve external processing data, which is component data written to the cloud database by the external utilization processing unit and downloaded to the in-vehicle database by the synchronization unit, as specified data, from the in-vehicle database and then execute processing.
[0015] In the data synchronization system of this disclosure configured in this way, the processing execution unit of the in-vehicle terminal performs processing using external processing data generated by the external utilization processing unit of an external device. Therefore, the data synchronization system of this disclosure can improve the functionality of the vehicle by having an external device perform processing that requires high processing power.
[0016] Another aspect of this disclosure is a data synchronization method performed by a data synchronization system comprising an external device and an in-vehicle terminal.
[0017] In the data synchronization method disclosed herein, the in-vehicle terminal comprises a processing execution unit and an in-vehicle database.
[0018] When the in-vehicle terminal detects a change in component data stored in the in-vehicle database, it uploads the changed component data to the cloud database. When it detects a change in component data stored in the cloud database, it downloads the changed component data back to the in-vehicle database, thereby synchronizing the contents of the in-vehicle database with the contents of the cloud database.
[0019] The in-vehicle terminal receives a subscription request, monitors the in-vehicle database, and if the specified data, which is the data specified in the subscription request, changes, it notifies the source of the subscription request that the specified data has changed.
[0020] The processing execution unit of the in-vehicle terminal sends a subscription start request as specified data, requesting subscription to the results of a predetermined process. The processing execution unit retrieves external processing data, which is component data written to the cloud database by the external utilization processing unit and downloaded to the in-vehicle database by the synchronization unit, from the in-vehicle database as specified data, and executes the processing.
[0021] The data synchronization method disclosed herein is a method that is executed in the data synchronization system disclosed herein, and by executing this method, the same effects as the data synchronization system disclosed herein can be obtained.
[0022] A further aspect of this disclosure is an in-vehicle terminal mounted in a vehicle and configured to communicate data with an external device, comprising a processing execution unit, an in-vehicle database, a synchronization unit, and an in-vehicle core unit. The processing execution unit is configured to send a subscription start request to the in-vehicle core unit, which requests the subscription of the execution results of a predetermined process as specified data. The processing execution unit is configured to retrieve external processing data from the in-vehicle database, which is component data written to the cloud database by an external utilization processing unit executing processing and downloaded to the in-vehicle database by the synchronization unit, as specified data, and execute processing.
[0023] The in-vehicle terminal of this disclosure is a device included in the data synchronization system of this disclosure, and can achieve the same effects as the data synchronization system of this disclosure.
[0024] A further aspect of this disclosure is a data synchronization program configured to communicate data with an external device and to cause a computer in an in-vehicle terminal mounted in a vehicle to function as a processing execution unit, a synchronization unit, and an in-vehicle core unit.
[0025] In the data synchronization program disclosed herein, the processing execution unit is configured to send a subscription start request to the in-vehicle core unit, which requests the subscription of the execution results of a predetermined process as specified data. The processing execution unit is configured to retrieve external processing data, which is component data written to the cloud database by the execution of processing by the external utilization processing unit and downloaded to the in-vehicle database by the synchronization unit, from the in-vehicle database as specified data, and then execute processing.
[0026] A computer controlled by the data synchronization program of this disclosure can constitute part of the in-vehicle terminal of this disclosure and can achieve the same effects as the in-vehicle terminal of this disclosure.
[0027] This is a block diagram showing the configuration of the digital twin system 1 of the first embodiment. This is an explanatory diagram showing the structure related to shadows. This is a sequence diagram showing the procedure performed to receive change notifications indicating that data stored in the in-vehicle database and the cloud database has changed. This is a sequence diagram showing the procedure for synchronizing shadow changes that occur in the cloud database with the in-vehicle database. This is a sequence diagram showing the procedure for synchronizing shadow changes that occur in the in-vehicle database with the cloud database when the internet is not connected. This is a sequence diagram showing the procedure for synchronizing shadow changes that occur in the in-vehicle database with the cloud database, including not only the latest value but all history, when the internet is not connected. This is a sequence diagram showing the procedure for backing up persistent data and restoring shadow values according to the backed-up content when the system is restarted. This is a block diagram showing the configuration of the digital twin system 1 of the second embodiment. This is a sequence diagram showing the procedure for using high-precision location information in the second embodiment. This is a block diagram showing the configuration of the digital twin system 1 of the third embodiment. This is a sequence diagram showing the procedure for using high-precision location information in the third embodiment. This is a flowchart showing the procedure for application switching processing.
[0028] [First Embodiment] A first embodiment of the present disclosure will be described below with reference to the drawings.
[0029] [1. Configuration] The digital twin system 1 of the embodiment shown in Figure 1 comprises a cloud 2 and an in-vehicle system 3.
[0030] Cloud 2 includes a cloud-side unit 21, which is a platform for realizing a digital twin. Cloud 2 may also include one or more application programs (hereinafter referred to as "apps") 22 that perform information gathering and vehicle control using information from the digital twin.
[0031] The in-vehicle system 3 comprises an ECU group 4, a Mobicon 5, and a TCU 6. ECU stands for Electronic Control Unit. Mobicon stands for Mobility Computer.
[0032] The ECU group 4 consists of electronic control units mounted on the vehicle and is classified into zone ECUs 41 and terminal ECUs 42.
[0033] A zone ECU 41 is provided for each zone that divides the area within the vehicle. The zone ECU 41 is communicated with multiple terminal ECUs 42 located within the zone. The zone ECU 41 coordinates the multiple terminal ECUs 42 to achieve coordinated control within the zone.
[0034] The terminal ECU 42 executes processing to realize the function assigned to it, in accordance with instructions received via the zone ECU 41.
[0035] Mobicon 5 is an electronic control unit mounted in the vehicle and is communicated with multiple zone ECUs 41. Mobicon 5 manages the multiple zone ECUs 41 to achieve coordinated control of the entire vehicle.
[0036] MobiCon 5 comprises a vehicle-side unit 51, which is a platform for realizing a digital twin, and an in-vehicle communication processing unit 52. MobiCon 5 may also include one or more applications 53 that perform information gathering and vehicle control using information from the digital twin. In addition, MobiCon 5 may also include one or more applications 54 that do not utilize information from the digital twin.
[0037] The TCU 6 is a wireless communication unit that enables bidirectional information communication between the vehicle and external devices such as Cloud 2. TCU stands for Telematics Control Unit. The MobiCon 5 is connected to Cloud 2 via the TCU 6, enabling communication.
[0038] The communication network connecting the ECU group 4, MobiCon 5, and TCU 6 can use, for example, Ethernet, CAN, or CAN FD. Ethernet is a registered trademark. CAN is an abbreviation for Controller Area Network, and CAN FD is an abbreviation for CAN With Flexible Data Rate. The communication networks that can be used in the in-vehicle system 3 are not limited to the example communication networks. In addition, the in-vehicle system 3 may have a mixture of multiple types of communication networks.
[0039] The in-vehicle communication processing unit 52 has the function of collecting data from various devices mounted on the vehicle, such as the ECUs 41 and 42 and sensors, and converting the collected data into a standard format. In addition, the in-vehicle communication processing unit 52 has the function of converting instructions from the vehicle-side unit 51 to the ECUs 41 and 42 into a format that the ECUs 41 and 42 can accept.
[0040] [2. Overview of Digital Twin] The digital twin recreates a virtual space on a computer that is synchronized with the real world by storing and updating data on the current and past vehicle status collected from the ECU group 4 in real time.
[0041] The data used to create a digital twin is also called "shadow." Shadow refers to state data related to various devices in a vehicle, such as "the engine is on" or "the air conditioner is on."
[0042] Shadows are managed in units called "things," as shown in Figure 2.
[0043] A "thing" is a collection of items similar to folders, and is provided for each virtual group unit such as CarA, EcuA, AppA, etc. Hereafter, the in-vehicle components associated with a "thing" are referred to as "target components." A "thing" contains one or more shadows related to the target component. In-vehicle components include both hardware such as devices and software such as applications.
[0044] Each shadow is managed with two types of data: report and desire.
[0045] The report represents the current state of the target component (i.e., the latest state) and is written by a single application (hereinafter referred to as the target application) that manages the target component. Also, when there is a change in the state of the target component, the changed state is overwritten and written to the report.
[0046] The desire represents the state after the change, that is, the state that the target component is desired to change to, and is written from the outside (i.e., an application other than the target application).
[0047] For example, when it is desired to turn on the air conditioner, a value (e.g., True) representing the desire to turn on is written to the desire of the shadow (hereinafter referred to as the target shadow) that handles the on / off state of the air conditioner in the thing that treats the air conditioner as the target component. Then, the target application that manages the air conditioner reads the write to the desire and outputs an instruction to the terminal ECU 42 that controls the air conditioner mounted on the vehicle via the in-vehicle communication processing unit 52, thereby performing the process of actually turning on the air conditioner. Also, the target application acquires the processing result from the terminal ECU 42 that controls the air conditioner via the in-vehicle communication processing unit 52 and writes the acquired processing result to the report of the target shadow.
[0048] Also, for example, when externally instructing a certain target application to upload data from the vehicle to the cloud 2, data to be uploaded may be written to the desire of the shadow that handles the update state of the vehicle data in the thing that treats the vehicle as the target component. In this case, multiple data such as [GPS coordinates, vehicle speed] or [steering angle, vehicle speed] may be enumerated and written to the desire. Also, a data collection condition table listing the data collection conditions may be written to the desire of the shadow that handles the update state of the vehicle data.
[0049] In addition to using `desire`, another method available for having the target application execute processing related to the target component is to use `job`. Jobs are generally downloaded from Cloud 2.
[0050] Desire is primarily used in simple cases where failures and mediation are unnecessary, such as instructing an external application to upload specific data.
[0051] A "job" is used to specify actions rather than just states, such as "update app A," "open the trunk," or "the system execute the specified command." The instructions can be written in any text format that is understandable to both the sender and receiver. Similar to a "desire," a "job" may also include a list of data to be uploaded or a data collection condition table for the data to be uploaded.
[0052] The data collection conditions table may also be embedded in the target application. In this case, the data collection conditions table is installed via OTA along with the target application. In other words, when the target application is updated, the data collection conditions table is also updated. OTA stands for Over the Air, indicating that the installation is done wirelessly.
[0053] A job is issued to a thing. A thing can accept multiple jobs and stores the accepted jobs in a job queue in the order they were received. The target application of the thing retrieves jobs one by one from the job queue in order of priority and executes them. Parallel processing of jobs is generally not performed.
[0054] In `thing`, the progress of a job is managed by the job state. The target application executes the instructions written in the job while overwriting the job state.
[0055] The job status is initialized to QUEUEED when the job is created, indicating that it has not yet been started.
[0056] When the target application receives a job and starts working, the job status is changed to IN_PROGRESS, indicating that the work is in progress. Alternatively, the job status may also display a percentage (0-100%) representing the work's progress, either in place of IN_PROGRESS or in conjunction with it.
[0057] When the target application completes the task based on the job, the job status is changed to SUCCEEDED, indicating that the task is complete.
[0058] Furthermore, the job status may include states such as CANCELED, FAILED, and REJECTED, which are used when an error or task fails. In addition, any error message specified as a string may be used.
[0059] [3. Cloud-side unit / Vehicle-side unit] Returning to Figure 1, the cloud-side unit 21 and the vehicle-side unit 51, which handle the digital twin, will be explained.
[0060] The cloud-side unit 21 comprises a cloud database (hereinafter referred to as cloud DB) 211 and a cloud core unit 212.
[0061] The vehicle-side unit 51 includes an in-vehicle database (hereinafter referred to as the in-vehicle DB) 511, an in-vehicle core unit 512, and a synchronization unit 513.
[0062] The cloud DB211 stores information necessary to realize a digital twin of multiple in-vehicle systems 3. The "things" used to classify and manage the shadows are assigned names that allow identification of which in-vehicle system 3 they belong to.
[0063] The in-vehicle DB511 stores information necessary to realize a digital twin of the vehicle.
[0064] The in-vehicle DB511 comprises a volatile region and a non-volatile region. The volatile region consists of volatile memory whose contents are erased when the power to the in-vehicle system 3 is turned off. The non-volatile region consists of non-volatile memory whose contents are not erased even when the power is turned off.
[0065] The in-vehicle DB 511 also includes a DS area A1, a VSS area A2, a cache area A3, and an application-dedicated area A4. The DS area A1 stores "thing". DS stands for Device Shadow. The VSS area A2 stores vehicle data collected from various devices installed in the vehicle by the in-vehicle communication processing unit 52 and converted into a standard format, and is updated periodically. In other words, only the latest values of standardized vehicle data are stored in the VSS area A2. VSS stands for Volume Shadow Copy Service. The data stored in the VSS area is data used by applications 53 and cloud 2, etc., via "thing", and is not basically data that is directly uploaded to the cloud DB 211. However, the state of individual data stored in the VSS area A2 may be represented by a shadow. Cache area A3 is a temporary storage area for data that needs to be uploaded to Cloud 2 while communication with Cloud 2 is unavailable. Application-specific area A4 is provided for each application and stores the data requested by the application, retrieved from VSS area A2.
[0066] The DS area A1, VSS area A2, cache area A3, and application-specific area A4 are generally set as volatile areas. However, for data that needs to be reproduced after the power is turned off and the system is restarted, these areas A1 to A4 are set as non-volatile areas.
[0067] For example, if it's possible to configure whether or not to persist the report value on a per-thing basis, then things for which persistence is enabled will be stored in the non-volatile area. For things stored in the non-volatile area, when the system is restarted after a power off, the contents of the report will be maintained in the state it was in immediately before the power off. However, for things that are not configured for persistence and are stored in the volatile area, when the system is restarted after a power off, they will be newly created in the volatile area, and the contents of the report will start from an empty data state.
[0068] The cloud core unit 212 and the in-vehicle core unit 512 accept subscription activation requests from external sources. A subscription activation request is a request to be notified when a change in the state of a specified monitored item is detected for a specified item.
[0069] The cloud core unit 212 monitors the status of the "thing" stored in the cloud DB 211, and when it detects a change in the status indicated in the subscription request, it sends a change notification indicating the change to the source of the subscription request. Similarly, the in-vehicle core unit 512 monitors the status of the "thing" stored in the in-vehicle DB 511, and when it detects a change in the status indicated in the subscription request, it sends a change notification indicating the change to the source of the subscription request.
[0070] The sources requesting the start of a subscription are the synchronization unit 513, applications 22 and 53, and user terminal 7, etc. User terminal 7 is a terminal operated by a user who uses the digital twin via cloud 2.
[0071] The synchronization unit 513 has the function of synchronizing the cloud DB 211 and the in-vehicle DB 511. When the in-vehicle system 3 starts up, the synchronization unit 513 requests the cloud core unit 212 and the in-vehicle core unit 512 to start the subscription. The subscription start request is made for each thing, and the data to be monitored is all data that needs to be synchronized.
[0072] When the synchronization unit 513 receives a change notification from the cloud core unit 212, it updates the corresponding "thing" item in the in-vehicle DB 511 according to the content of the change notification. Similarly, when the synchronization unit 513 receives a change notification from the in-vehicle core unit 512, it updates the corresponding "thing" item in the cloud core unit 212 according to the content of the change notification. As a result, updates in the cloud DB 211 are reflected in the in-vehicle DB 511, and updates in the in-vehicle DB 511 are reflected in the cloud DB 211, thus maintaining DBs 211 and 511 in a synchronized state.
[0073] [4. Sequence] The operation flow in the digital twin system 1 will be explained using a sequence diagram.
[0074] [4-1. Subscription Request] The operations related to the subscription start request made at startup will be explained using the sequence diagram in Figure 3.
[0075] In Figure 3, the client includes the synchronization unit 513, applications 22 and 53 that utilize the digital twin, and the user terminal 7, etc. The unit core is either the cloud core unit 212 or the in-vehicle core unit 512.
[0076] In S1, the client sends a subscription start request to the unit core. The subscription start request includes information specifying the thing and information specifying the items to be monitored within the thing. The items to be monitored may be specified individually, such as report, desire, job, etc., or all items may be specified together. If no items are specified, all items may be specified together.
[0077] Upon receiving a subscription start request, unit core monitors the status of the specified item in the specified thing specified in the subscription start request. When it detects a change in status, it sends a change notification to client in S2, indicating the changes. A change notification is sent each time a change in status is detected.
[0078] [4-2. Cloud DB Update] An example of the operation when a change occurs in Cloud DB211 will be explained using the sequence diagram in Figure 4.
[0079] When the in-vehicle system 3 starts up, in S11, application A (i.e., appA) 53 sends a request to the in-vehicle core unit 512 to start a subscription, specifying thing:appA which handles application A as the specified item and desire as the specified item (hereinafter, thing:appA / desire). Also, in S12 and S13, the synchronization unit 513 sends a request to start a subscription, specifying thing:appA as the specified item and all items as specified items (hereinafter, thing:appA), to the in-vehicle core unit 512 and the cloud core unit 212, respectively.
[0080] The procedure to request the start of subscriptions S11-S13 is performed only once when the system starts up.
[0081] Subsequently, in S14, a user who wants to use application A writes `config=newValue` to `desire` (hereinafter referred to as `thing:appA / desire`) of `thing:appA` stored in the cloud DB 211 from the user terminal 7. For example, this is the operation when a user wants to change the vehicle's air conditioning temperature setting (i.e., `config`) to 25°C (i.e., `newValue`) from the user terminal 7.
[0082] When the cloud core unit 212 detects a change in thing:appA / desire by monitoring the cloud DB 211, it sends a change notification indicating the changes to the synchronization unit 513, which is the source of the subscription request for thing:appA, in S15.
[0083] When the synchronization unit 513 receives a change notification from the cloud core unit 212, in S16 it writes config=newValue to thing:appA / desire stored in the in-vehicle DB 511 according to the contents of the change notification. As a result, the updated contents of the cloud DB 211 are downloaded and reflected in the in-vehicle DB 511.
[0084] When the in-vehicle core unit 512 detects a change in thing:appA / desire by monitoring the in-vehicle DB 511, it sends a change notification indicating the changes to application A, which is the source of the subscription request for thing:appA / desire, in S17.
[0085] When App A receives a change notification, it executes the process determined according to the content of the change notification. For example, App A executes the process of changing the air conditioner setting temperature, which is set to config, to 25°C, which is set to newValue.
[0086] [4-3. Updating the In-Vehicle Database] An example of the operation when the state of the in-vehicle database 511 changes will be explained using the sequence diagram in Figure 5.
[0087] When the in-vehicle system 3 starts up, in S21, the synchronization unit 513 sends a request to the in-vehicle core unit 512 to start a subscription, specifying thing:appA as the specified thing and all items as specified items.
[0088] The procedure to request the start of the S21 subscription is performed only once when the system starts up.
[0089] Subsequently, in S22, application A writes, for example, Error=“file is broken” to the report of thing:appA (hereinafter, thing:appA / report) stored in the in-vehicle DB511, indicating that an error occurred during processing.
[0090] When the in-vehicle core unit 512 detects a change in thing:appA / report by monitoring the in-vehicle DB 511, it sends a change notification indicating the changes to the synchronization unit 513, which is the source of the thing:appA subscription request, in S23.
[0091] When the synchronization unit 513 receives a change notification from the in-vehicle core unit 512, in S24, it writes Error="file is broken" to thing:appA / desire stored in the cloud DB 211 according to the contents of the change notification. As a result, the changes in the in-vehicle DB 511 are uploaded and reflected in the cloud DB 211.
[0092] For example, in a shadow that manages the status of data uploads, the report may be rewritten when an application that monitors the data stored in VSS area A2 detects that the data related to the shadow has changed. The application 53 associated with this shadow may, for example, move a portion of the data in VSS area A2 to an application-specific area A4 on the in-vehicle DB 511 provided for the application 53. Furthermore, a thing may be set that targets the application-specific area A4 as the target component, and it may be configured so that synchronization with the cloud DB 211 is performed when the contents of the application-specific area A4 change. In this way, by synchronizing only the data required by the application 53 with the cloud DB 211, the amount of data transmitted during uploads is reduced. Alternatively, when the contents of VSS area A2 change, the entire VSS area A2 may be uploaded by synchronizing with the cloud DB 211. The upload of the application-specific area A4 and the upload of VSS area A2 may be enabled or disabled by configuration.
[0093] [4-4. Recovery from Offline] In the situation described in Figure 5, an example of operation when the system is offline and not connected to the internet will be explained using the sequence diagram in Figure 6. Note that the data to be synchronized between the cloud DB 211 and the in-vehicle DB 511 is set to either latest update or history update for each data. Latest update is a setting that uploads only the latest update data from the update data stored in cache area A3 while offline. History update is a setting that uploads all update data stored in cache area A3 while offline. Here, we will explain the synchronization of data set to latest update.
[0094] The operations from S21 to S23 are the same as those explained using Figure 5, so their explanation is omitted here.
[0095] When the synchronization unit 513 receives a change notification from the in-vehicle core unit 512, it attempts to write to the cloud DB 211 based on the changes, as described in S24. If the writing fails a specified number of times consecutively, it determines that the system is offline. If the synchronization unit 513 determines that the system is offline, in S25 it stores the changes indicated in the change notification in the cache area A3 of the in-vehicle DB 511. Since the data stored in this cache area A3 needs to be reproducible after the power is turned off, it is desirable that the cache area A3 be set as a non-volatile area.
[0096] The synchronization unit 513 monitors the internet connection status. While the offline state persists, the contents of the change notification are stored in the cache area A3. Note that for data configured to be updated, the changes may be overwritten so that only the latest values are stored in the cache area A3.
[0097] Subsequently, once the internet connection is restored and the system is confirmed to be online, the synchronization unit 513 writes to the cloud DB 211 in S26 based on the latest values of the changes stored in the cache area A3.
[0098] The internet connection status can be checked by periodically attempting to write to the cloud DB211, or by checking the communication connection status information obtained from the TCU6.
[0099] [4-5. Synchronizing the entire change history] Figure 6 illustrates the case of a recent update, where only the most recent changes obtained while offline are used to update the database. Figure 7 illustrates the case of a history update, where all changes obtained while offline are used to update the database.
[0100] Here, we assume a scenario where, in a digital twin, not only the vehicle's current location information but also its driving history information is made available to the user. In other words, the data `arrivePoint`, which represents the vehicle's current location, is set to update the history.
[0101] In S31, application A writes `arrivePoint=1`, calculated based on information acquired from a GPS device, etc., to `thing:appA / report` stored in the in-vehicle DB 511. In other words, it writes information indicating that the vehicle's current location data is 1.
[0102] When the in-vehicle core unit 512 detects a change in thing:appA / report by monitoring the in-vehicle DB 511, it sends a change notification indicating the change to the synchronization unit 513 in S32.
[0103] When the synchronization unit 513 confirms that it is offline, in S33 it stores the changes indicated in the change notification in the cache area A3.
[0104] Thereafter, while the offline state continues, the same operations as in S31 to S33 are repeated in S34 to S36 and S37 to S39. However, in S34, arrivePoint=2 is written to thing:appA / report, and in S37, arrivePoint=3 is written to thing:appA / report.
[0105] Furthermore, since arrivePoint is configured to update its history, when it is stored in cache area A3, all changes received while offline are stored without being overwritten.
[0106] After returning to an online state, the synchronization unit 513 reads the changes stored in the cache area A3 in order from the oldest stored change in S41, and writes them to the cloud DB 211's thing:appA / report according to the read changes. If the write is successful, the synchronization unit 513 deletes the successfully written changes in S42. Then, the process from S41 to S42 is repeated until all changes stored in the cache area A3 are deleted.
[0107] This enables the system to be configured to update its history, allowing all data that occurred while the system was offline and stored in cache area A3 to be reflected in cloud DB211.
[0108] Note that the storage capacity of cache area A3 is limited, and if the offline state persists for a long period, cache area A3 may overflow. Therefore, you may set a cache policy as shown in (1) to (3) below to sequentially delete data that exceeds the capacity of cache area A3. The cache policy may be set fixedly, or it may be embedded in the application 53 and dynamically updated each time the application 53 is downloaded. Alternatively, the cache policy may be dynamically updated using desire, similar to changing the air conditioner temperature setting as described above. Note that the cache policy may be set for each thing, or it may be set individually for each data.
[0109] (1) Cache with expiration date: The latest changed data is cached sequentially for the duration of the expiration date (e.g., 8 hours), and data that has exceeded the expiration date is deleted sequentially.
[0110] (2) Cache with size limit: The latest modified data is cached up to the size limit (for example, 16 MB), and if the size limit is exceeded, the oldest modified data is deleted first.
[0111] (3) Cache with quantity limit: The latest change data is cached up to the quantity limit (e.g., 16 generations), and if the quantity limit is exceeded, the oldest change data is deleted in order.
[0112] [5. Effects] The embodiments described in detail above produce the following effects.
[0113] (5a) In the digital twin system 1, digital twins (i.e., cloud DB 211 and in-vehicle DB 511 that store shadows) are placed in both the cloud 2 and the in-vehicle system 3, and the contents of both are smoothly synchronized by the operation of the synchronization unit 513 located in the in-vehicle system 3. Therefore, the application 53 installed in the vehicle or the application 22 installed in the cloud 2 can smoothly perform various controls using the information of the digital twin.
[0114] (5b) In the digital twin system 1, two methods are provided for manipulating the shadow: one using report / desire and the other using job. Therefore, simple operations and complex operations can be instructed using methods appropriate to each.
[0115] (5c) The in-vehicle system 3 temporarily stores the changes made to the digital twin when offline in the cache area A3 and synchronizes the changes when online. Therefore, it is possible to prevent the loss of changes that should be synchronized between the in-vehicle DB 511 and the cloud DB 211 due to the occurrence of an offline state. For this reason, the creator of the application 53 that uses the digital twin information can create the application 53 without having knowledge of offline retries or caching.
[0116] (5d) The in-vehicle system 3 stores data such as "thing" in a non-volatile area, which is necessary to restore the state immediately before power-off when restarting after power-off. Therefore, when restarting, it can respond to various requests from the application 53, such as wanting to resume processing from the state immediately before power-off.
[0117] [Second Embodiment] A second embodiment of the present disclosure will be described below with reference to the drawings. In the second embodiment, the parts that differ from the first embodiment will be described. Common components will be denoted by the same reference numerals.
[0118] The digital twin system 1 of the second embodiment differs from the first embodiment in that the cloud 2 further includes a high-precision location information application 23, as shown in Figure 9.
[0119] The high-precision location information application 23 has the function of calculating the current location of the vehicle equipped with Mobicon 5 (hereinafter referred to as "the vehicle") with high precision.
[0120] In the second embodiment, the vehicle user has purchased the high-precision location information app 23. That is, in the second embodiment, the vehicle user has already accessed the app store on Cloud 2 and purchased the high-precision location information app 23, and MobiCon 5 is able to use the high-precision location information app 23 on Cloud 2.
[0121] When a vehicle user purchases the high-precision location information app 23, the cloud core unit 212 of Cloud 2 notifies the synchronization unit 513 of Mobicon 5 that the high-precision location information app 23 of Cloud 2 has been activated. The cloud core unit 212 also notifies the synchronization unit 513 of Mobicon 5 of the data necessary for the high-precision location information app 23 to calculate high-precision location (i.e., GPS coordinate information and vehicle speed information) and the storage location of the high-precision location information (i.e., thing:HighPos_app / report, described later).
[0122] Next, the operation flow in the digital twin system 1 of the second embodiment will be explained using the sequence diagram in Figure 10.
[0123] When the in-vehicle system 3 starts up, at S70, the location information utilization application 53 sends a request to the in-vehicle core unit 512 to start subscribing to the high-precision location information application 23, specifying thing:HighPos_app and report as the items (hereinafter referred to as thing:HighPos_app / report).
[0124] When the in-vehicle core unit 512 receives a request to start subscribing to thing:HighPos_app / report, at S71, the synchronization unit 513 sends a request to start subscribing to thing:HighPos_app / report to the cloud core unit 212.
[0125] When the cloud core unit 212 receives a request to start a subscription to thing:HighPos_app / report, the high-precision location information application 23 sends a request to the cloud core unit 212 at S72 specifying thing:CANapp, which handles the CAN application 54, and report as the specified item (hereinafter referred to as thing:CANapp / report).
[0126] The CAN application 54 is installed on the MobiCon 5 and does not utilize information from the digital twin. The CAN application 54 extracts the vehicle's GPS coordinate information and vehicle speed information from multiple CAN frames transmitted and received by the ECU group 4, and writes the combined GPS coordinate information and vehicle speed information as position calculation information to thing:CANapp / report stored in the in-vehicle DB 511. GPS stands for Global Positioning System.
[0127] When the cloud core unit 212 receives a request to start a subscription to thing:CANapp / report, the cloud core unit 212 sends a request to start a subscription to thing:CANapp / report to the synchronization unit 513 in S73.
[0128] When the synchronization unit 513 receives a request to start subscribing to thing:CANapp / report, the synchronization unit 513 transmits the request to start subscribing to thing:CANapp / report to the in-vehicle core unit 512 in S74.
[0129] The procedure to request the start of the subscription for S70-S74 is performed only once when the system starts up.
[0130] The CAN application 54 writes the location calculation information to thing:CANapp / report stored in the in-vehicle DB 511 at S75.
[0131] The in-vehicle core unit 512 monitors the in-vehicle DB 511 and, upon detecting a change in thing:CANapp / report, notifies the synchronization unit 513 of the changed position calculation information in S76.
[0132] When the synchronization unit 513 receives the notification S76 from the in-vehicle core unit 512, it notifies the cloud core unit 212 of the notified position calculation information in S77.
[0133] When the cloud core unit 212 receives the notification S77 from the synchronization unit 513, it notifies the high-precision location information application 23 of the notified location calculation information in S78.
[0134] In S79, the high-precision location information application 23 uses the notified location calculation information to calculate a high-precision position that indicates the vehicle's position with higher accuracy than GPS coordinates.
[0135] The high-precision location information application 23 writes the high-precision location information, which is calculated by S80, to the report of thing:HighPos_app stored in the cloud DB 211.
[0136] The cloud core unit 212 monitors the cloud DB 211 and, upon detecting a change in the high-precision location information of thing:HighPos_app / report, notifies the synchronization unit 513, which is the source of the subscription request for thing:HighPos_app, of the changed high-precision location information in S81.
[0137] When the synchronization unit 513 receives high-precision location information from the cloud core unit 212, in S82 it writes the notified high-precision location information to thing:HighPos_app / report stored in the in-vehicle DB 511. As a result, the updated contents of the cloud DB 211 are downloaded and reflected in the in-vehicle DB 511.
[0138] The location information utilization application 53 acquires high-precision location information written to the report of thing:HighPos_app stored in the in-vehicle DB 511 at S83.
[0139] The location information utilization application 53 is an application that processes information indicating the vehicle's position. For example, in a food delivery service, the location information utilization application 53 controls a vehicle used by a delivery person to deliver food, etc., to display its own position with high accuracy.
[0140] The digital twin system 1 configured in this way includes a cloud 2 and a MobiCon 5, which is installed in the vehicle and configured to communicate data with the cloud 2. The cloud 2 includes a cloud DB 211 and a high-precision location information application 23. The high-precision location information application 23 is configured to perform predetermined processing using the cloud DB 211.
[0141] MobiCon 5 comprises a location information utilization application 53, an in-vehicle DB 511, a synchronization unit 513, and an in-vehicle core unit 512. MobiCon 5 may not have a high-precision location information application, or it may have one but it is not functioning. MobiCon 5 may also have a low-precision location information application that calculates the vehicle's current position with lower precision than the high-precision location information application.
[0142] The location information utilization application 53 is configured to operate on both the MobiCon 5 equipped with a high-precision location information application 55 configured to perform predetermined processing, and the MobiCon 5 not equipped with the high-precision location information application 55. The high-precision location information application 55 is an application with the same functionality as the high-precision location information application 23. Details of the high-precision location information application 55 will be described in the third embodiment.
[0143] The in-vehicle DB511 is configured to store multiple shadows, each associated with one of the in-vehicle components.
[0144] The synchronization unit 513 is configured to synchronize the contents of the in-vehicle DB 511 and the cloud DB 211 by detecting changes in shadows stored in the in-vehicle DB 511, uploading the shadows with detected changes to the cloud DB 211, and downloading the shadows with detected changes to the in-vehicle DB 511.
[0145] The in-vehicle core unit 512 receives a subscription start request, monitors the in-vehicle DB 511, and is configured to notify the source of the subscription start request that the specified data has changed if the specified data specified in the subscription start request has changed.
[0146] The location information utilization application 53 is configured to send a subscription start request to the in-vehicle core unit 512, requesting the subscription of the results of a predetermined process as specified data.
[0147] The location information utilization application 53 is configured to retrieve shadow data (hereinafter referred to as external processing data) that has been written to the cloud DB 211 by the high-precision location information application 23 through processing and downloaded to the in-vehicle DB 511 by the synchronization unit 513, and then execute processing on that shadow data from the in-vehicle DB 511.
[0148] In such a digital twin system 1, the location information utilization application 53 of Mobicon 5 performs processing using external processing data generated by the high-precision location information application 23 of Cloud 2. Therefore, the digital twin system 1 can improve the vehicle's functionality by having Cloud 2 perform processing that requires high processing power.
[0149] Cloud 2 also includes a cloud core unit 212 configured to receive subscription start requests, monitor the cloud DB 211, and notify the source of the subscription start request that the specified data has changed if the specified data has changed.
[0150] The high-precision location information application 23 is configured to send a subscription start request to the cloud core unit 212, which requests the subscription of location calculation information that is necessary to perform predetermined processing and that needs to be obtained from the Mobicon 5, as specified data.
[0151] The high-precision location information application 23 is configured to retrieve location calculation information uploaded to the cloud database by the synchronization unit 513 as specified data from the cloud DB 211, execute processing, and write the result of the predetermined processing to the cloud DB 211.
[0152] Such a digital twin system 1 requires high processing power, and by having the processing that utilizes vehicle information performed on the cloud 2, it can improve the functionality of the vehicle.
[0153] In the embodiments described above, the digital twin system 1 corresponds to a data synchronization system, Mobicon 5 corresponds to an in-vehicle terminal, Cloud 2 corresponds to an external device, high-precision location information application 23 corresponds to an external utilization processing unit, location information utilization application 53 corresponds to a processing execution unit, and shadow corresponds to component data.
[0154] Furthermore, the high-precision location information application 55 corresponds to the in-vehicle usage processing unit, and the location calculation information corresponds to the in-vehicle usage information.
[0155] [Third Embodiment] A third embodiment of the present disclosure will be described below with reference to the drawings. In the third embodiment, the parts that differ from the second embodiment will be described. Common components will be denoted by the same reference numerals.
[0156] The digital twin system 1 of the third embodiment differs from the second embodiment in that the Mobicon 5 is further equipped with a high-precision location information application 55, as shown in Figure 11.
[0157] The high-precision location information application 55 has the function of calculating the current location of the vehicle with high precision.
[0158] However, in the second embodiment, since the vehicle user has not purchased the high-precision location information app 23, Mobicon 5 cannot use the high-precision location information app 23 on the cloud 2.
[0159] Next, the operation flow of the digital twin system 1 of the third embodiment will be explained using the sequence diagram in Figure 12.
[0160] When the in-vehicle system 3 starts up, at S90, the location information utilization application 53 sends a request to the in-vehicle core unit 512 to start subscribing to thing:HighPos_app / report.
[0161] When the in-vehicle core unit 512 receives a request to start subscribing to thing:HighPos_app / report, it notifies the high-precision location information application 55 that there is a request to start subscribing to thing:HighPos_app / report.
[0162] Upon receiving the above notification, the high-precision location information application 55 sends a request to the in-vehicle core unit 512 at S91 to start subscribing to thing:CANapp / report.
[0163] The procedure to request the start of subscriptions to S90 and S91 is performed only once when the system starts up.
[0164] The CAN application 54 writes the location calculation information to thing:CANapp / report stored in the in-vehicle DB 511 at S92.
[0165] The in-vehicle core unit 512 monitors the in-vehicle DB 511 and, upon detecting a change in thing:CANapp / report, notifies the high-precision location information application 55 of the changed location calculation information in S93.
[0166] The high-precision location information application 55 uses the notified location calculation information in S94 to calculate a high-precision position that indicates the vehicle's position with higher accuracy than GPS coordinates.
[0167] The high-precision location information application 55 writes the high-precision location information, which indicates the high-precision location calculated by S95, to thing:HighPos_app / report stored in the in-vehicle DB 511.
[0168] The location information utilization application 53, at S96, acquires high-precision location information written to thing:HighPos_app / report stored in the in-vehicle DB 511.
[0169] The digital twin system 1 configured in this way further includes a high-precision location information application 55 configured to generate shadows (hereinafter referred to as internal processing data) of the same type as external processing data by executing processing using the in-vehicle DB 511, and to write the internal processing data to the in-vehicle DB 511. If the location information utilization application 53 does not use external processing data, it retrieves the internal processing data written to the in-vehicle DB 511 from the in-vehicle DB 511 and executes processing. As a result, the digital twin system 1 can improve the functionality of the vehicle without performing data communication with the cloud 2.
[0170] Furthermore, the in-vehicle DB 511 and the cloud DB 211 each have one or more things configured, each containing one or more shadows. The high-precision location information application 23 is configured to write external processing data to a thing configured in the cloud DB 211 and associated with the high-precision location information application 23. The high-precision location information application 55 is configured to write internal processing data to a thing configured in the in-vehicle DB 511 and associated with the high-precision location information application 55. The thing associated with the high-precision location information application 23 and the thing associated with the high-precision location information application 55 are each set to the same name (i.e., HighPos_app). As a result, MobiCon 5 does not need to configure separate things to write external processing data and internal processing data, and the storage capacity of the in-vehicle DB 511 can be saved. In addition, the location information utilization application 53 can acquire high-precision location information without being aware of whether it is external processing data or internal processing data.
[0171] In the embodiments described above, the high-precision location information application 55 corresponds to the in-vehicle usage processing unit, and "thing" corresponds to the information block.
[0172] [Fourth Embodiment] A fourth embodiment of the present disclosure will be described below with reference to the drawings. In the fourth embodiment, the parts that differ from the third embodiment will be described. Common components will be denoted by the same reference numerals.
[0173] In the fourth embodiment, the vehicle user has purchased the high-precision location information app 23. That is, in the fourth embodiment, the vehicle user has already accessed the app store on Cloud 2 and completed the procedure to purchase the high-precision location information app 23, and MobiCon 5 is able to use both the high-precision location information app 55 and the high-precision location information app 23.
[0174] The digital twin system 1 of the fourth embodiment differs from the third embodiment in that the Mobicon 5 performs the application switching process.
[0175] Next, we will explain the procedure for the application switching process performed by MobiCon 5. The application switching process is executed every time a predetermined execution cycle has elapsed while MobiCon 5 is operating.
[0176] When the application switching process is executed, the MobiCon 5 determines in S210 whether or not the vehicle is in motion, as shown in Figure 13. If the vehicle is stopped, the MobiCon 5 terminates the application switching process.
[0177] On the other hand, if the vehicle is in motion, Mobicon 5 measures the strength of the communication radio waves used by TCU 6 in S220.
[0178] In S230, MobiCon 5 determines, based on the measurement results in S220, whether a pre-set application switching condition is met, indicating that the communication signal used by TCU 6 is weak. The application switching condition is, for example, that the communication signal strength is below a pre-set threshold.
[0179] If the app switching condition is met, Mobicon 5 determines in S240 whether or not the high-precision location information app 23 of Cloud 2 is currently in use. If the high-precision location information app 23 of Cloud 2 is not currently in use, Mobicon 5 terminates the app switching process.
[0180] On the other hand, if the high-precision location information app 23 of Cloud 2 is being used, Mobicon 5 starts using the vehicle's high-precision location information app 55 at S250.
[0181] Furthermore, at S260, Mobicon 5 notifies the cloud core unit 212 of cloud 2 that it has stopped using the high-precision location information application 23 on cloud 2, and terminates the application switching process. When the cloud core unit 212 receives the notification that it has stopped using the high-precision location information application 23, the high-precision location information application 23 stops providing high-precision location information.
[0182] Furthermore, if the app switching conditions are not met in S230, Mobicon 5 determines in S270 whether or not the vehicle's high-precision location information app 55 is currently in use. If the vehicle's high-precision location information app 55 is not currently in use, Mobicon 5 terminates the app switching process.
[0183] On the other hand, if the vehicle's high-precision location information application 55 is in use, Mobicon 5 notifies the cloud core unit 212 of cloud 2 in S280 that it has started using the high-precision location information application 23 of cloud 2. When the cloud core unit 212 receives the notification that it has started using the high-precision location information application 23, the high-precision location information application 23 starts providing high-precision location information.
[0184] Furthermore, at S290, Mobicon 5 stops using the vehicle's high-precision location information application 55 and terminates the application switching process.
[0185] The digital twin system 1 configured in this way selectively switches between executing processing using the high-precision location information application 23 and executing processing using the high-precision location information application 55 based on the vehicle's driving conditions. As a result, the MobiCon 5 can use the high-precision location information application 23 of the cloud 2 when the vehicle is driving in a location where data communication with the cloud 2 is possible, and use the high-precision location information application 55 of the MobiCon 5 when the vehicle is driving in a location where data communication with the cloud 2 is not possible. Therefore, the digital twin system 1 can maintain an improved state of vehicle functionality regardless of driving conditions.
[0186] Furthermore, the high-precision location information generated by the high-precision location information application 23 of Cloud 2 and the high-precision location information generated by the high-precision location information application 55 of Mobicon 5 have the same data accuracy. As a result, the digital twin system 1 can use high-precision location information with the same data accuracy regardless of whether it uses the high-precision location information application 23 or the high-precision location information application 55.
[0187] In the embodiments described above, S210 to S290 correspond to processing as a processing switching unit.
[0188] Although one embodiment of the present disclosure has been described above, the present disclosure is not limited to the above embodiment and can be implemented in various modified forms.
[0189] [Modification 1] In the above embodiment, the vehicle-side unit 51 is mounted on the Mobicon 5, but it is not limited to this. For example, the vehicle-side unit 51 may be mounted on a separate aftermarket in-vehicle device from the Mobicon 5.
[0190] [Modification 2] In the above embodiment, the ECU group 4 includes a zone ECU 41 provided for each zone, but instead of the zone ECU 41, a domain ECU provided for each domain may be included.
[0191] [Modification 3] In the above embodiment, in order to restore the persistence setting related thing to the state immediately before power off when the power is turned off and the system is restarted, the persistence setting related thing is stored in a non-volatile area. However, this is not limited to this, for example, all thing may be stored in a volatile area, operations may be performed on the volatile area, and for the persistence setting related thing, backup data may be written to the non-volatile area each time a write is made to the thing, as shown in S52 and S53 of Figure 8. In this case, as shown in S51 of Figure 8, at startup, all thing may be generated in an initialized state in the volatile area, and then the values of the persistence setting related thing may be restored using the backup data stored in the non-volatile area.
[0192] [Modification 4] In the above embodiment, the high-precision location information generated by the high-precision location information app 23 of Cloud 2 and the high-precision location information generated by the high-precision location information app 55 of Mobicon 5 were shown to have the same data accuracy. However, the data accuracy may be different. For example, the high-precision location information app 23 of Cloud 2 may be configured to generate location information with higher accuracy than the high-precision location information app 55 of Mobicon 5. The high-precision location information app 23 of Cloud 2 can generate location information with higher accuracy than the high-precision location information app 55 by using data acquired from outside the vehicle.
[0193] [Modification 5] In the second and third embodiments described above, a configuration was shown in which the cloud 2 is equipped with a high-precision location information application 23. However, the cloud 2 may be equipped with a low-precision location information application that generates location information with lower accuracy than the high-precision location information generated by the high-precision location information application 23, instead of the high-precision location information application 23.
[0194] The cloud-side unit 21 and vehicle-side unit 51 and their methods described in this disclosure may be implemented by a dedicated computer provided by configuring a processor and memory programmed to perform one or more functions embodied by a computer program. Alternatively, the cloud-side unit 21 and vehicle-side unit 51 and their methods described in this disclosure may be implemented by a dedicated computer provided by configuring a processor by one or more dedicated hardware logic circuits. Alternatively, the cloud-side unit 21 and vehicle-side unit 51 and their methods described in this disclosure may be implemented by one or more dedicated computers configured by a combination of a processor and memory programmed to perform one or more functions and a processor configured by one or more hardware logic circuits. Furthermore, the computer program may be stored as instructions executed by the computer on a computer-readable non-transitional tangible recording medium. The methods for realizing the functions of each part included in the cloud-side unit 21 and vehicle-side unit 51 do not necessarily need to include software, and all of their functions may be realized using one or more hardware components.
[0195] Multiple functions of one component in the above embodiment may be realized by multiple components, or one function of one component may be realized by multiple components. Furthermore, multiple functions of multiple components may be realized by one component, or one function realized by multiple components may be realized by one component. Also, some parts of the configuration of the above embodiment may be omitted. Furthermore, at least some parts of the configuration of the above embodiment may be added to or replaced with the configuration of other above embodiments.
[0196] In addition to the MobiCon 5 described above, this disclosure can also be realized in various forms, such as a system that uses the MobiCon 5 as a component, a program for causing the computer to function as the MobiCon 5, a non-transitional physical recording medium such as semiconductor memory that stores this program, and an upload method.[Technical Concept Disclosed in This Specification] [Item 1] A data synchronization system (1) comprising: an external device (2) having a cloud database (211) and an external utilization processing unit (23) configured to perform predetermined processing using the cloud database; and an in-vehicle terminal (5) configured to perform data communication with the external device and mounted on a vehicle, wherein the in-vehicle terminal includes: a processing execution unit (53) configured to operate whether the in-vehicle terminal has an in-vehicle utilization processing unit (55) configured to perform predetermined processing or an in-vehicle terminal without the in-vehicle utilization processing unit; an in-vehicle database (511) configured to store a plurality of component data, each associated with any of the in-vehicle components; and a synchronization unit (513) configured to synchronize the contents of the in-vehicle database and the contents of the cloud database by uploading the component data whose change has been detected to the cloud database when a change in the component data stored in the in-vehicle database is detected, and downloading the component data whose change has been detected to the in-vehicle database when a change in the component data stored in the cloud database is detected. A data synchronization system comprising: an in-vehicle core unit (512) configured to receive subscription start requests, monitor the in-vehicle database, and notify the source of the subscription start request that the specified data, which is the data specified in the subscription start request, has changed; the processing execution unit is configured to send a subscription start request to the in-vehicle core unit requesting the subscription of the execution result of a predetermined process as the specified data; and to retrieve external processing data, which is the component data written to the cloud database by the execution of processing by the external utilization processing unit and downloaded to the in-vehicle database by the synchronization unit, from the in-vehicle database and execute processing.
[0197] [Item 2] A data synchronization system as described in Item 1, wherein the in-vehicle utilization processing unit is configured to generate internal processing data which is the same type as the external processing data, by executing processing using the in-vehicle database, and write the internal processing data to the in-vehicle database, and the processing execution unit retrieves the internal processing data written to the in-vehicle database as the designated data from the in-vehicle database and executes processing.
[0198] [Item 3] A data synchronization system according to Item 2, wherein the in-vehicle database and the cloud database have one or more information blocks, each containing one or more of the component data, the external utilization processing unit is configured to write the external processing data to the information blocks configured in the cloud database and associated with the external utilization processing unit, the in-vehicle utilization processing unit is configured to write the internal processing data to the information blocks configured in the in-vehicle database and associated with the in-vehicle utilization processing unit, and the information blocks associated with the external utilization processing unit and the information blocks associated with the in-vehicle utilization processing unit are each given the same name.
[0199] [Item 4] A data synchronization system according to Item 2 or Item 3, further comprising a processing switching unit (S210 to S290) configured to selectively switch between the execution of processing by the external utilization processing unit and the execution of processing by the in-vehicle utilization processing unit.
[0200] [Item 5] A data synchronization system as described in Item 4, wherein the processing switching unit is configured to switch between the execution of processing by the external utilization processing unit and the execution of processing by the in-vehicle utilization processing unit based on the driving conditions of the vehicle.
[0201] [Item 6] A data synchronization system according to Item 2 or Item 3, wherein the external processing data and the internal processing data have different data accuracy.
[0202] [Item 7] A data synchronization system according to Item 2 or Item 3, wherein the external processing data and the internal processing data have the same data precision.
[0203] [Item 8] A data synchronization system according to any one of Items 1 to 7, wherein the external device further comprises a cloud core unit (212) configured to receive the subscription start request, monitor the cloud database, and notify the source of the subscription start request that the specified data has changed when the specified data changes, and the external usage processing unit is configured to send a subscription start request to the cloud core unit requesting the subscription of in-vehicle usage information, which is information necessary to perform the predetermined processing and which needs to be obtained from the in-vehicle terminal, as the specified data, to the cloud core unit, to obtain the in-vehicle usage information uploaded to the cloud database by the synchronization unit as the specified data, to perform processing, and to write the result of the predetermined processing to the cloud database.
[0204] [Item 9] A data synchronization method executed by a data synchronization system (1) comprising an external device (2) having a cloud database (211) and an external utilization processing unit (23) configured to perform predetermined processing using the cloud database, and an in-vehicle terminal (5) configured to perform data communication with the external device and mounted on a vehicle, wherein the in-vehicle terminal comprises a processing execution unit (53) configured to operate whether the in-vehicle terminal has an in-vehicle utilization processing unit (55) configured to perform predetermined processing or an in-vehicle terminal without the in-vehicle utilization processing unit, and an in-vehicle database (511) configured to store a plurality of component data, each associated with any of the in-vehicle components, wherein when the in-vehicle terminal detects a change in the component data stored in the in-vehicle database, it uploads the component data whose change has been detected to the cloud database, and when the in-vehicle terminal detects a change in the component data stored in the cloud database, it downloads the component data whose change has been detected to the in-vehicle database, thereby synchronizing the contents of the in-vehicle database and the contents of the cloud database. A data synchronization method that receives a subscription start request, monitors the in-vehicle database, and when the specified data specified in the subscription start request changes, notifies the requester of the subscription start request that the specified data has changed; the processing execution unit of the in-vehicle terminal sends a subscription start request requesting the subscription of the execution result of the predetermined processing as the specified data; and retrieves external processing data, which is component data written to the cloud database by the execution of processing by the external utilization processing unit and downloaded to the in-vehicle database by the synchronization unit, from the in-vehicle database and executes processing as the specified data.
[0205] [Item 10] An in-vehicle terminal (5) mounted on a vehicle, configured to perform data communication with an external device (2) comprising a cloud database (211) and an external utilization processing unit (23) configured to execute predetermined processing using the cloud database, wherein the in-vehicle terminal (5) is configured to operate whether it is an in-vehicle terminal equipped with an in-vehicle utilization processing unit (55) configured to execute predetermined processing or an in-vehicle terminal not equipped with the in-vehicle utilization processing unit, an in-vehicle database (511) configured to store a plurality of component data, each associated with any of the in-vehicle components, and a synchronization unit (513) configured to synchronize the contents of the in-vehicle database and the contents of the cloud database by detecting a change in the component data stored in the in-vehicle database, uploading the changed component data to the cloud database, and detecting a change in the component data stored in the cloud database, downloading the changed component data to the in-vehicle database, An in-vehicle terminal comprising: an in-vehicle core unit (512) configured to receive a subscription start request, monitor the in-vehicle database, and notify the requester of the subscription start request that the specified data, which is the data specified in the subscription start request, has changed; the processing execution unit is configured to send a subscription start request to the in-vehicle core unit requesting the subscription of the execution result of a predetermined process as the specified data; and to retrieve external processing data, which is the component data written to the cloud database by the execution of processing by the external utilization processing unit and downloaded to the in-vehicle database by the synchronization unit, from the in-vehicle database and execute processing.
[0206] [Item 11] A processing execution unit (53) configured to perform data communication between an external device (2) comprising a cloud database (211) and an external utilization processing unit (23) configured to execute predetermined processing using the cloud database, and which is configured to operate on an in-vehicle terminal (5) mounted in a vehicle, whether the in-vehicle terminal has an in-vehicle utilization processing unit (55) configured to execute predetermined processing or an in-vehicle terminal does not have the in-vehicle utilization processing unit; a synchronization unit (513) configured to synchronize the contents of the in-vehicle database and the contents of the cloud database by detecting a change in component data stored in an in-vehicle database (511), each configured to store a plurality of component data associated with any of the in-vehicle components, uploading the component data for which a change has been detected to the cloud database, and downloading the component data for which a change has been detected to the in-vehicle database when a change in the component data stored in the cloud database is detected; and The in-vehicle core unit (512) is configured to receive subscription start requests, monitor the in-vehicle database, and notify the source of the subscription start request that the specified data, which is the data specified in the subscription start request, has changed. The processing execution unit sends a subscription start request to the in-vehicle core unit requesting the subscription of the execution result of the predetermined processing as the specified data. The data synchronization program is configured to retrieve external processing data, which is the component data written to the cloud database by the execution of processing by the external utilization processing unit and downloaded to the in-vehicle database by the synchronization unit, from the in-vehicle database and execute processing.
Claims
1. A data synchronization system (1) comprising: an external device (2) having a cloud database (211) and an external utilization processing unit (23) configured to execute predetermined processing using the cloud database; and an in-vehicle terminal (5) configured to perform data communication with the external device and mounted in a vehicle, wherein the in-vehicle terminal includes: a processing execution unit (53) configured to operate whether the in-vehicle terminal has an in-vehicle utilization processing unit (55) configured to execute predetermined processing or an in-vehicle terminal without the in-vehicle utilization processing unit; an in-vehicle database (511) configured to store a plurality of component data, each associated with any of the in-vehicle components; and a synchronization unit (513) configured to synchronize the contents of the in-vehicle database and the contents of the cloud database by uploading the component data whose change has been detected to the cloud database when a change in the component data stored in the in-vehicle database is detected, and downloading the component data whose change has been detected to the in-vehicle database when a change in the component data stored in the cloud database is detected. A data synchronization system comprising: an in-vehicle core unit (512) configured to receive subscription start requests, monitor the in-vehicle database, and notify the source of the subscription start request that the specified data, which is the data specified in the subscription start request, has changed; the processing execution unit is configured to send a subscription start request to the in-vehicle core unit requesting the subscription of the execution result of a predetermined process as the specified data; and to retrieve external processing data, which is the component data written to the cloud database by the execution of processing by the external utilization processing unit and downloaded to the in-vehicle database by the synchronization unit, from the in-vehicle database and execute processing.
2. A data synchronization system according to claim 1, wherein the in-vehicle utilization processing unit is configured to generate internal processing data which is the same type as the external processing data, by executing processing using the in-vehicle database, and write the internal processing data to the in-vehicle database, and the processing execution unit retrieves the internal processing data written to the in-vehicle database as the designated data and executes processing from the in-vehicle database.
3. A data synchronization system according to claim 2, wherein the in-vehicle database and the cloud database have one or more information blocks, each containing one or more of the component data, the external utilization processing unit is configured to write the external processing data to the information blocks configured in the cloud database and associated with the external utilization processing unit, the in-vehicle utilization processing unit is configured to write the internal processing data to the information blocks configured in the in-vehicle database and associated with the in-vehicle utilization processing unit, and the information blocks associated with the external utilization processing unit and the information blocks associated with the in-vehicle utilization processing unit are each given the same name.
4. A data synchronization system according to claim 2 or claim 3, further comprising a processing switching unit (S210 to S290) configured to selectively switch between the execution of processing by the external utilization processing unit and the execution of processing by the in-vehicle utilization processing unit.
5. A data synchronization system according to claim 4, wherein the processing switching unit is configured to switch between the execution of processing by the external utilization processing unit and the execution of processing by the in-vehicle utilization processing unit based on the driving conditions of the vehicle.
6. A data synchronization system according to claim 2 or claim 3, wherein the external processing data and the internal processing data have different data accuracy.
7. A data synchronization system according to claim 2 or claim 3, wherein the external processing data and the internal processing data have the same data accuracy.
8. A data synchronization system according to any one of claims 1 to 3, wherein the external device further comprises a cloud core unit (212) configured to receive the subscription start request, monitor the cloud database, and notify the source of the subscription start request that the specified data has changed when the specified data has changed, and the external usage processing unit is configured to send a subscription start request to the cloud core unit requesting the subscription of in-vehicle usage information, which is information necessary to perform the predetermined processing and which needs to be obtained from the in-vehicle terminal, as the specified data, to the cloud core unit, to obtain the in-vehicle usage information uploaded to the cloud database by the synchronization unit as the specified data, to perform processing, and to write the result of the predetermined processing to the cloud database.
9. A data synchronization method executed by a data synchronization system (1), comprising an external device (2) having a cloud database (211) and an external utilization processing unit (23) configured to perform predetermined processing using the cloud database, and an in-vehicle terminal (5) configured to perform data communication with the external device and mounted in a vehicle, wherein the in-vehicle terminal comprises a processing execution unit (53) configured to operate whether it is an in-vehicle terminal equipped with an in-vehicle utilization processing unit (55) configured to perform predetermined processing or an in-vehicle terminal not equipped with the in-vehicle utilization processing unit, and an in-vehicle database (511) configured to store a plurality of component data, each associated with any of the in-vehicle components, and the in-vehicle terminal, upon detecting a change in the component data stored in the in-vehicle database, uploads the changed component data to the cloud database, and upon detecting a change in the component data stored in the cloud database, downloads the changed component data to the in-vehicle database, thereby synchronizing the contents of the in-vehicle database and the contents of the cloud database. A data synchronization method that receives a subscription start request, monitors the in-vehicle database, and when the specified data specified in the subscription start request changes, notifies the requester of the subscription start request that the specified data has changed; the processing execution unit of the in-vehicle terminal sends a subscription start request requesting the subscription of the execution result of the predetermined processing as the specified data; and retrieves external processing data, which is component data written to the cloud database by the execution of processing by the external utilization processing unit and downloaded to the in-vehicle database by the synchronization unit, from the in-vehicle database and executes processing as the specified data.
10. An in-vehicle terminal (5) mounted on a vehicle, configured to perform data communication with an external device (2) comprising a cloud database (211) and an external utilization processing unit (23) configured to execute predetermined processing using the cloud database, wherein the in-vehicle terminal (5) is configured to operate whether it is an in-vehicle terminal equipped with the in-vehicle utilization processing unit (55) configured to execute predetermined processing or an in-vehicle terminal not equipped with the in-vehicle utilization processing unit, an in-vehicle database (511) configured to store a plurality of component data, each associated with any of the in-vehicle components, and a synchronization unit (513) configured to synchronize the contents of the in-vehicle database and the contents of the cloud database by uploading the component data whose change has been detected to the cloud database when a change in the component data stored in the in-vehicle database is detected, and downloading the component data whose change has been detected to the in-vehicle database when a change in the component data stored in the cloud database is detected, An in-vehicle terminal comprising: an in-vehicle core unit (512) configured to receive a subscription start request, monitor the in-vehicle database, and notify the requester of the subscription start request that the specified data, which is the data specified in the subscription start request, has changed; the processing execution unit is configured to send a subscription start request to the in-vehicle core unit requesting the subscription of the execution result of a predetermined process as the specified data; and to retrieve external processing data, which is the component data written to the cloud database by the execution of processing by the external utilization processing unit and downloaded to the in-vehicle database by the synchronization unit, from the in-vehicle database and execute processing.
11. A processing execution unit (53) configured to perform data communication between an external device (2) comprising a cloud database (211) and an external utilization processing unit (23) configured to execute predetermined processing using the cloud database, and which is configured to operate on an in-vehicle terminal (5) mounted in a vehicle, whether the in-vehicle terminal has an in-vehicle utilization processing unit (55) configured to execute predetermined processing or an in-vehicle terminal does not have the in-vehicle utilization processing unit; a synchronization unit (513) configured to synchronize the contents of the in-vehicle database and the contents of the cloud database by detecting changes in component data stored in an in-vehicle database (511), each configured to store a plurality of component data associated with any of the in-vehicle components, uploading the component data for which changes have been detected to the cloud database, and downloading the component data for which changes have been detected to the cloud database, and The in-vehicle core unit (512) is configured to receive subscription start requests, monitor the in-vehicle database, and notify the source of the subscription start request that the specified data, which is the data specified in the subscription start request, has changed. The processing execution unit sends a subscription start request to the in-vehicle core unit requesting the subscription of the execution result of the predetermined processing as the specified data. The data synchronization program is configured to retrieve external processing data, which is the component data written to the cloud database by the execution of processing by the external utilization processing unit and downloaded to the in-vehicle database by the synchronization unit, from the in-vehicle database and execute processing.