Information processing device
The device addresses stability issues by dynamically switching software sources based on communication environment, ensuring stable operation and reduced storage costs.
Patent Information
- Application Number
- JP2021038712
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-10
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2041-03-10
AI Technical Summary
Existing information processing devices face stability issues when communication environments change, leading to potential booting failures.
The device can selectively acquire software from multiple sources based on communication environment, switching between network-connected devices and locally connected devices to ensure stable operation.
Ensures stable operation by dynamically adapting to changes in communication environments, reducing the risk of booting failures and minimizing storage costs.
Smart Images

Figure 0007600785000001 
Figure 0007600785000002 
Figure 0007600785000003
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing device. [Background technology]
[0002] In recent years, cloud computing has become more prevalent in embedded devices. In relation to this, Patent Document 1 discloses a navigation device that acquires necessary data from a server device by communicating with a network. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2004-309382 A Summary of the Invention [Problem to be solved by the invention]
[0004] An object of the present disclosure is to provide an information processing device that can perform stable operation even when the communication environment changes. [Means for solving the problem]
[0005] A first aspect of the present disclosure is an information processing device that is configured to be able to select between obtaining software necessary for operation from a first device via a network and obtaining the software from a second device different from the first device, and that switches between obtaining the software from the first device or the second device based on the communication environment between the device and the network.
[0006] Another aspect is a program for causing a computer to execute the method executed by the information processing device described above, or a computer-readable storage medium non-transiently storing the program. Effect of the Invention
[0007] According to the present disclosure, it is possible to provide an information processing device that can perform stable operation even when the communication environment changes. [Brief description of the drawings]
[0008] [Figure 1] 1 is a system configuration diagram of a vehicle system according to an embodiment. [Diagram 2] FIG. 2 is a block diagram showing components of a vehicle. [Diagram 3] FIG. 2 is a block diagram showing the logical configuration of a control unit and a storage unit of the DCM. [Figure 4] A diagram showing the software patterns used by DCM. [Diagram 5] FIG. 2 is a block diagram showing components of a center server. [Figure 6] FIG. 2 is a block diagram showing components of a user terminal. [Figure 7] 1 is a flowchart of a process executed by the DCM. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] One aspect of the present disclosure is an information processing device mounted on a moving object. Specifically, the software required for operation is selectable between acquiring the software from a first device via a network and acquiring the software from a second device different from the first device, and the software is acquired from the first device or the second device based on the communication environment between the device itself and the network. The feature of the present invention is to switch between acquiring and not acquiring the above information.
[0010] The information processing device may be, for example, a computer mounted on a moving body (such as a vehicle). The information processing device acquires software required for operation via a network. The software required for operation is typically a boot image, firmware, system files, etc., but may also include other software (such as application software, etc.). By obtaining this software via the network, it is possible to always operate the device in the latest environment, and it is also possible to reduce local storage costs.
[0011] On the other hand, if a network connection is required to start up a device, problems such as boot failure may occur depending on the communication environment of the mobile body (for example, the electric field strength in communication with a base station, etc.). Therefore, the information processing device according to the present disclosure makes it possible to selectively obtain software required for operation from multiple devices, and determines from which device to obtain the software based on the communication environment of the device itself.
[0012] For example, if software is located on a server device on a wide area network, and a device is in a communication environment where it is difficult to obtain the software via the network, the device connects to another device that is locally connected and obtains alternative software. In this way, by configuring the software to be obtainable from multiple different devices, it is possible to provide a cloud computing system that is resistant to changes in the communication environment.
[0013] The first device and the second device may be devices connected to the same network, or may be devices connected to different networks. Furthermore, the second device may be a locally connected device (local device) rather than a network connection. The locally connected device may be a device connected to the device by wire, or may be a storage device built into the device.
[0014] In addition, the software provided by the first device and the software provided by the second device may be different from each other. For example, the software provided by the first device may provide all the designed functions, and the software provided by the second device may provide only a part of the designed functions (limited functions).
[0015] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. The configurations of the following embodiments are merely examples, and the present disclosure is not limited to the configurations of the embodiments.
[0016] First Embodiment An overview of a vehicle system according to a first embodiment will be described with reference to Fig. 1. The vehicle system according to this embodiment includes a vehicle 1, a center server 2, and a user terminal 3.
[0017] The vehicle 1 is a connected car having a communication function. The vehicle 1 includes an on-board terminal, a plurality of electronic control units (also referred to as ECUs), and a DCM (Data Communication Module) 1, a computer that manages child control units 0 and
[0018] The DCM 10 has a function of mediating communications inside and outside the vehicle and a function of executing various application software. Each time the system is started, the software required for the operation of the device itself is obtained from the center server 2 via the network.
[0019] The center server 2 is a server device that manages the vehicle 1. The center server 2 stores software for operating the DCM 10 mounted on the vehicle 1, and distributes the software via a network (for example, a mobile communication network) in response to a request.
[0020] The user terminal 3 is a portable computer carried by a user of the vehicle 1. In this embodiment, the user terminal 3 is wirelessly connected to the DCM 10 in the vehicle cabin and functions as a backup device in case a problem occurs in communication between the vehicle 1 and the center server 2.
[0021] The components of the system will be explained in detail. Fig. 2 is a block diagram showing an example of a hardware configuration of the vehicle 1 shown in Fig. 1. The vehicle 1 is configured to have a DCM 10, an in-vehicle terminal 20, and a plurality of ECUs (ECU 30A, ECU 30B, ECU 30C, etc.). Examples of the plurality of ECUs that the vehicle has include an engine ECU, a body ECU, a powertrain ECU, and a hybrid ECU. Note that, although Fig. 2 shows an example of a plurality of ECUs, these are collectively referred to as ECU 30 when there is no need to distinguish between them.
[0022] These components are connected to each other via an in-vehicle network (CAN bus). In this embodiment, the vehicle 1 is equipped with a CAN bus 40, to which multiple ECUs are connected. The connected ECUs transmit and receive data to each other via the CAN bus 40. Note that while FIG. 2 illustrates a single CAN bus, the vehicle 1 may have multiple CAN buses. These multiple CAN buses may be connected to each other using the DCM 10 as a gateway.
[0023] The DCM 10 functions as a device (communication module) that connects components of the vehicle 1 to a network. Through the DCM 10, the in-vehicle terminal 20 or the multiple ECUs 30 of the vehicle 1 can communicate with an external network.
[0024] In this embodiment, a mobile communication network and a local network are exemplified as the external network. The mobile communication network is a network for wireless communication with a computer (e.g., the center server 2) on a wide area network by a mobile communication standard such as 3G, 4G (LTE), or 5G. The local network is a network for communication with a computer (e.g., the user terminal 3) in the vehicle cabin by a wireless communication standard such as Wi-Fi (registered trademark) or Bluetooth (registered trademark). In this embodiment, the DCM 10 has a configuration capable of communicating with both the mobile communication network and the local network.
[0025] The DCM 10 includes a control unit 11, a storage unit 12, a communication unit 13A which is an interface for communicating with a plurality of CAN buses, and communication units 13B and 13C which are interfaces for communicating with an external network.
[0026] The DCM10 is a computer that includes processors such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit), main memory devices such as RAM and ROM, and EPROM and disk drives. The present invention may be configured as a computer having an auxiliary storage device such as a removable medium, however, some or all of the functions may be realized by a hardware circuit such as an ASIC or an FPGA.
[0027] The control unit 11 executes a predetermined program to realize various functions of the DCM 10. It is a computing unit (processor). The storage unit 12 is a memory device including a main storage device and an auxiliary storage device. The auxiliary storage device stores an operating system (OS), various programs, various tables, etc., and by loading the programs stored therein into the main storage device and executing them, it is possible to realize various functions that meet a predetermined purpose, as described below.
[0028] The control unit 11 executes a function of mediating communication between an external network and components of the vehicle 1. For example, when the in-vehicle terminal 20 needs to communicate with an external network, the DCM 10 relays data transmitted from the in-vehicle terminal 20 to the external network. Also, the DCM 10 receives data transmitted from the external network and transfers the data to the in-vehicle terminal 20.
[0029] Furthermore, the control unit 11 can execute functions unique to the device itself. For example, the DCM 10 has a security system monitoring function, a telephone call function, an emergency call function, etc., and can make a security call or an emergency call based on a trigger that occurs inside the vehicle.
[0030] The communication unit 13A is a communication interface that connects the DCM 10 to an in-vehicle network. The communication unit 13A executes a process of converting a message of a predetermined format generated by the control unit 11 into CAN data, and a process of converting received CAN data into a message of the predetermined format and transmitting the message to the control unit 11. The communication units 13B and 13C are communication interfaces that connect the DCM 10 to an external network. The communication units 13B and 13C execute a process of converting a message of a predetermined format generated by the control unit 11 into a communication packet, and a process of converting a received communication packet into a message of the predetermined format and transmitting it to the control unit 11. The communication unit 13B connects to a mobile communication network, and the communication unit 13C connects to a local network. The functions of the communication units are the same, except for the communication destination.
[0031] FIG. 3 is a diagram showing a logical configuration of the control unit 11 and the storage unit 12. As shown in FIG. The control unit 11 has, as functional modules, an OS execution unit 11A, a communication environment detection unit 11B, and a software acquisition unit 11C. Each functional module may be realized by executing a program stored in the storage unit 12 by a processor or the like.
[0032] The functional modules of the control unit 11 will be described. The OS execution unit 11A executes an operating system. In this embodiment, the control unit 11 executes a predetermined operating system (OS) and executes application software on the OS, thereby providing various functions. In this specification, the system software including the operating system executed by the control unit 11 is referred to as firmware.
[0033] The firmware required to start up the DCM 10 is configured so as to be obtainable from an external device. The communication environment detection unit 11B and the software acquisition unit 11C execute a process of acquiring firmware from an external device when the device itself is started. Specifically, based on the communication environment detected by the communication environment detection unit 11B, the software acquisition unit 11C acquires firmware from an appropriate device.
[0034] The communication environment detection unit 11B detects the communication environment in which the DCM 10 is located. Specifically, it measures the electric field strength of the radio waves used in the mobile communication network and the electric field strength of the radio waves used in the local network. The measurement results are transmitted to the software. The data is transmitted to the data acquisition unit 11C. The software acquisition unit 11C determines the device from which to acquire the software based on the measured electric field strength, and acquires the software. A specific method will be described later.
[0035] In the following description, the software acquired by the DCM 10 includes both firmware and application software.
[0036] The storage unit 12 stores first-type firmware. The first-type firmware is firmware that provides only the minimum necessary functions as a communication module, out of firmware that the DCM 10 can use. The first type firmware is lightweight but provides only the minimum functions required as a communication module (for example, an emergency call function, a security function, etc.).
[0037] Here, the types of software that can be used by the DCM 10 and how to obtain them will be described. FIG. 4 is a diagram explaining the difference between the types of software acquired by the DCM 10 and the functions provided. When only the first type firmware is available, the operating system executed by the control unit 11 provides only the minimum necessary functions. When only the second type firmware is available, the operating system executed by the control unit 11 provides all pre-designed functions. Furthermore, when application software is available, the control unit 11 can execute various software created by vendors in addition to the functions of the operating system.
[0038] In this embodiment, the center server 2 provides both the second type firmware and the application software, and the user terminal 3 provides only the second type firmware.
[0039] When the DCM 10 is started, the communication environment detection unit 11B judges whether the communication environment of the DCM 10 is suitable for downloading software. Then, based on the judgment result, it decides from which device the software will be acquired, and the software acquisition unit 11C acquires the software.
[0040] Specifically, when the communication environment between the device itself and the center server 2 is good, the software acquisition unit 11C acquires the second type firmware and application software from the center server 2. When the communication environment between the device itself and the center server 2 is not good, the software acquisition unit 11C acquires only the second type firmware from the user terminal 3. When communication with the user terminal 3 is also not possible, the DCM 10 starts the system using the first type firmware stored in the device itself. This makes it possible to slim down the storage device and provide a variety of functions. The communication environment detection unit 11B and the software acquisition unit 11C are configured to be able to operate independently of the operating system.
[0041] Returning to FIG. 2, the explanation will be continued. The in-vehicle terminal 20 is an information terminal mounted on the vehicle 1. The in-vehicle terminal 20 is also called an infotainment terminal, and has a function of providing information (e.g., traffic information and route guidance) and entertainment (e.g., music and videos) to the vehicle occupants.
[0042] The ECUs (ECU 30A, ECU 30B, etc.) are electronic control units that control the vehicle. The vehicle 1 includes an engine ECU, a body ECU, a powertrain ECU, and a power steering ECU. Rain ECU, hybrid ECU, etc., each of which controls multiple vehicle components The vehicle may have multiple ECUs.
[0043] The CAN bus 40 is an in-vehicle network based on the CAN (Controller Area Network) protocol. In this example, a single CAN bus 40 is illustrated, but the in-vehicle network may have two or more communication buses. In this case, the multiple CAN buses may be connected to each other by the DCM 10.
[0044] Next, the center server 2 will be described. The center server 2 is a device that provides software to the DCM 10 included in the vehicle 1. The center server 2 can transmit and receive data to and from a plurality of vehicles via wireless communication.
[0045] The center server 2 can be configured as a general-purpose computer. That is, the center server 2 can be configured as a computer having a processor such as a CPU or GPU, a main storage device such as a RAM or ROM, and an auxiliary storage device such as an EPROM, a hard disk drive, or a removable medium. The auxiliary storage device stores an operating system (OS), various programs, various tables, etc., and by executing the programs stored therein, various functions that match a predetermined purpose, as described below, can be realized. However, some or all of the functions may be realized by hardware circuits such as ASICs and FPGAs.
[0046] FIG. 5 is a block diagram illustrating an example of the configuration of the center server 2 illustrated in FIG. The center server 2 includes a control unit 21, a storage unit 22, and a communication unit .
[0047] The control unit 21 is a means for controlling the center server 2. The control unit 21 is, for example, an information processing unit such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit). It is composed of knits. The control unit 21 has, as a functional module, a distribution unit 211. The functional module may be realized by causing a CPU to execute a program stored in a storage unit such as a ROM.
[0048] The distribution unit 211 distributes software required for the operation of the DCM 10 online in response to a request from the vehicle 1 (DCM 10) under its management.
[0049] The storage unit 22 is a means for storing information, and is configured with storage media such as RAM, a magnetic disk, a flash memory, etc. The storage unit 22 stores various programs executed by the control unit 21, data used by the programs, etc. The storage unit 22 also stores software (second type firmware and application software) to be distributed to the DCM 10.
[0050] As described above, the second type firmware is firmware that allows the use of all functions of the operating system. The storage unit 22 may store a plurality of second type firmware according to the type of the DCM 10 (for example, according to the operating system). The storage unit 22 also stores a set of application software executed by the DCM 10. The storage unit 22 may store a plurality of application software and provide a combination of a plurality of application software for each type of DCM 10 and / or each vehicle.
[0051] The communication unit 23 is an interface for connecting the center server 2 to a network. The communication unit 23 can communicate with the DCM 10 (communication unit 13B) of the vehicle 1 via, for example, the Internet or a mobile communication network.
[0052] Next, the user terminal 3 will be described. The user terminal 3 is a small computer carried by the user of the vehicle 1. The user terminal 3 stores software (second type firmware) used by the DCM 10, and provides the second type firmware to the DCM 10 on behalf of the center server 2 when a failure occurs in communication between the DCM 10 and the center server 2.
[0053] The user terminal 3 functions as a backup for the center server 2. For this reason, the user terminal 3 has a function of acquiring and storing the latest type-2 firmware from the center server 2. The user terminal 3 may have a function of, for example, periodically inquiring the center server 2 and, if the type-2 firmware has been updated, downloading it and storing it in a memory unit. However, since this requires management costs, the user terminal 3 does not manage or provide application software.
[0054] The user terminal 3 can be configured by a general-purpose computer, similar to the center server 2. In other words, the center server 2 can be configured as a computer having a processor such as a CPU or GPU, a main storage device such as a RAM or ROM, and an auxiliary storage device such as an EPROM, a hard disk drive, or a removable media.
[0055] FIG. 6 is a block diagram showing an example of the configuration of the user terminal 3 shown in FIG. The user terminal 3 is configured to include a control unit 31 , a storage unit 32 , and a communication unit 33 .
[0056] The control unit 31 is a means for controlling the user terminal 3. The control unit 31 is, for example, an information processing unit such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit). It is composed of The control unit 31 has a distribution unit 311 as a functional module. The functional module may be realized by causing a CPU to execute a program stored in a storage unit such as a ROM.
[0057] The distribution unit 311 distributes software necessary for the operation of the DCM 10 in response to a request from the vehicle 1 (DCM 10) under its management, but differs from the distribution unit 211 in that it distributes only second-type firmware.
[0058] The storage unit 32 is a means for storing information. The storage unit 32 has a similar configuration to the storage unit 22, but differs from the storage unit 22 in that the storage unit 32 does not store application software.
[0059] The communication unit 33 is an interface for connecting the user terminal 3 to a network. The communication unit 33 can communicate with the DCM 10 (communication unit 13C) of the vehicle 1 via, for example, any wireless connection standard.
[0060] Next, a description will be given of the processing performed by the DCM 10. The processing performed by the DCM 10 is broadly divided into a processing (first processing) for downloading software required for operation at startup, and a processing (second processing) for starting up an operating system and providing services.
[0061] 7 is a flowchart illustrating a first process. The process shown in the figure is executed by the control unit 11 when the system power supply of the vehicle 1 is turned on. First, in step S11, the communication environment detection unit 11B detects the communication environment of the mobile communication network. The communication environment may be evaluated based on the electric field strength of the wireless radio waves used by the communication unit 13B, or based on the communication speed when communicating with the center server 2, for example.
[0062] In step S12, it is determined whether communication using the mobile communication network can be performed satisfactorily. If the current communication environment is evaluated as not suitable for software transfer (for example, if the electric field strength is below a predetermined value or the effective communication speed is below a predetermined value), the process proceeds to step S15. If the current communication environment is evaluated as suitable for software transfer, the process proceeds to step S13.
[0063] In step S13, the software acquisition unit 11C acquires (downloads) the second type firmware and the application software from the center server 2. When the download is complete, the process is handed over to the OS execution unit 11A, which starts the second process by using the downloaded second type firmware to start the system (step S14). This allows the operating system to operate with all functions available. In addition, application software that runs on the operating system can be used.
[0064] If the determination in step S12 is negative, in step S15, the communication environment detection unit 11B evaluates the communication environment of the local network. The communication environment may be evaluated based on, for example, the electric field strength of the wireless radio waves used by the communication unit 13C, or based on the communication speed when communicating with the user terminal 3. Alternatively, the communication environment may be evaluated based on whether or not wireless connection with the user terminal 3 is possible.
[0065] In step S16, it is determined whether communication using the local network can be performed satisfactorily. If the current communication environment is evaluated as not suitable for software transfer (including the case where connection to the user terminal 3 cannot be made), the process proceeds to step S18. If the current communication environment is evaluated as suitable for software transfer, the process proceeds to step S17.
[0066] In step S17, the software acquisition unit 11C acquires (downloads) the second type firmware from the user terminal 3. When the download is complete, the process is handed over to the OS execution unit 11A, which starts the system by using the downloaded second type firmware to start the second process (step S14). This allows the operating system to operate with all functions available. On the other hand, if the determination in step S16 is negative, in step S18, the software acquisition unit 11C acquires the first type firmware stored in the storage unit 12. When the acquisition is completed, the process is handed over to the OS execution unit 11A, which starts the system using the first type firmware to start the second process (step S14). This starts the operation of the operating system with limited functions.
[0067] Thus, in the first embodiment, DCM10 selects, based on the communication environment with the center server 2, whether to obtain the software required for operation from the center server 2, obtain it from the user terminal 3, or not obtain the software. If communication with the center server 2 is good, the second type firmware and application software become available. If communication with the center server 2 is not good, communication with the user terminal 3 is attempted as a backup means. Here, if communication with the user terminal 3 is good, only the second type firmware becomes available. If good communication with both the center server 2 and the user terminal 3 is not possible, the DCM 10 uses the stored first type firmware. The firmware is used to boot the system. According to this configuration, when a suitable communication environment is not available, it is possible to boot up the device with limited functions.
[0068] If the storage capacity of the DCM 10 is reduced and all software is configured to be obtained from a center server, booting up the DCM becomes impossible if an abnormality occurs in communication with the mobile communication network (for example, if the vehicle is outside the communication service area). On the other hand, according to the first embodiment, the source from which the software is obtained can be dynamically switched based on the communication environment, so that even if an abnormality occurs in communication in some networks, the device can be booted up while maintaining the minimum necessary functions.
[0069] (Modification of the first embodiment) In the first embodiment, a plurality of devices provide software via different networks, but the same device may provide software via different networks. For example, the center server 2 may be configured to communicate via a mobile communication network (first network) and a wireless LAN network (second network). When the DCM 10 determines that the communication quality in the first network is insufficient, the DCM 10 may switch the communication line and acquire the software via the second network.
[0070] In the first embodiment, the user terminal 3 stores only the second type firmware, but the software stored in the center server 2 and the software stored in the user terminal 3 may be the same.
[0071] In the first embodiment, the user terminal 3 provides firmware as a substitute for the center server 2, but another device may substitute for the center server 2. For example, the vehicle-mounted terminal 20 may have the role of the user terminal 3 in the first embodiment. In this case, the vehicle-mounted terminal 20 may, for example, periodically inquire the center server 2, and if the second type firmware has been updated, download and store it. In addition, any online storage may substitute for the center server 2.
[0072] In addition, if the DCM 10 boots up with restrictions, after the operating system starts up, the communication environment may be periodically monitored, and software may be acquired when communication with the center server 2 (or user terminal 3) is restored. In this case, for example, a system started with the first type firmware may be restarted using the second type firmware. Also, application software may be added to a system started with the second type firmware. This makes it possible to recover functions while the system is running.
[0073] (Other variations) The above-described embodiment is merely an example, and the present invention can be modified and implemented as appropriate without departing from the spirit and scope of the present invention. For example, the processes and means described in this disclosure can be freely combined and implemented as long as no technical contradiction occurs.
[0074] Furthermore, a process described as being performed by one device may be shared and executed by multiple devices. Alternatively, a process described as being performed by different devices may be executed by one device. In a computer system, the hardware configuration (server configuration) by which each function is realized can be flexibly changed.
[0075] The present disclosure can also be realized by supplying a computer program implementing the functions described in the above embodiments to a computer, and having one or more processors of the computer read and execute the program. Such a computer program may be provided to the computer by a non-transitory computer-readable storage medium connectable to the system bus of the computer, or may be provided to the computer via a network. Non-transitory computer-readable storage media include, for example, any type of disk, such as a magnetic disk (floppy disk, hard disk drive (HDD), etc.), an optical disk (CD-ROM, DVD disk, Blu-ray disk, etc.), a read-only memory (ROM), a random access memory (RAM), an EPROM, an EEPROM, a magnetic card, a flash memory, an optical card, and any type of medium suitable for storing electronic instructions. [Explanation of symbols]
[0076] 1. Vehicle 2. Center server 3. User terminal 10. DCM 11. Control section 12...Storage section 13. Communications Department 20. In-vehicle terminal 30···ECU 21,31 Control section 22,32...Storage section 23,33 Communications Department
Claims
[Claim 1] A storage unit that stores a first type of firmware, and A control unit is provided. An information processing device, The control unit is acquiring the second type firmware and the application software from the first device via the wide area network when the communication environment of the wide area network is good; When the communication environment of the wide area network is not good and the communication environment of the local network is good, acquiring the second type firmware from a second device different from the first device via the local network; and When a communication environment of the wide area network and the local network is not good, the first type firmware is acquired from the storage unit; Run The first type firmware is configured to have a smaller amount of data than the second type firmware, in exchange for restricting some functions of the operating system. Information processing device.
Citation Information
Patent Citations
Navigation system
JP2004309382A
Thin client availabie even in bad communication environment
JP2008033381A
On-board wireless communication apparatus
JP2011066777A
Thin client terminal, thin client system, thin client method, and thin client program
JP2016212728A
On-vehicle apparatus, information processing method, and information processing system
JP2017152907A
