WO2021193145A1 - 車載情報処理装置、制御方法及びコンピュータプログラム - Google Patents

車載情報処理装置、制御方法及びコンピュータプログラム Download PDF

Info

Publication number
WO2021193145A1
WO2021193145A1 PCT/JP2021/010070 JP2021010070W WO2021193145A1 WO 2021193145 A1 WO2021193145 A1 WO 2021193145A1 JP 2021010070 W JP2021010070 W JP 2021010070W WO 2021193145 A1 WO2021193145 A1 WO 2021193145A1
Authority
WO
WIPO (PCT)
Prior art keywords
application program
control unit
information processing
application
vehicle
Prior art date
Application number
PCT/JP2021/010070
Other languages
English (en)
French (fr)
Inventor
孝之 塩澤
Original Assignee
株式会社オートネットワーク技術研究所
住友電装株式会社
住友電気工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社オートネットワーク技術研究所, 住友電装株式会社, 住友電気工業株式会社 filed Critical 株式会社オートネットワーク技術研究所
Priority to US17/906,758 priority Critical patent/US20230214227A1/en
Priority to CN202180019368.0A priority patent/CN115244510A/zh
Publication of WO2021193145A1 publication Critical patent/WO2021193145A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements

Definitions

  • the present disclosure relates to an in-vehicle information processing device, a control method, and a computer program that control a plurality of OSs (Operating Systems) operating on common hardware.
  • OSs Operating Systems
  • the control unit includes a storage unit that temporarily stores an operating system and an application program to be operated, and the control unit is described when the application program operating on the one OS is operated on the other OS.
  • the application program stored in one storage area of the storage unit used by one OS is copied to another storage area of the storage unit used by the other OS, and the restart of the one OS is performed. After completion, it is preferable to delete the application program copied to the other storage area.
  • the in-vehicle information processing device uses an OS having a part of the function of one OS to be restarted as an alternative OS.
  • the amount of storage area used by the in-vehicle information processing apparatus can be reduced as compared with the case where an OS having all the functions of one OS is used as an alternative OS.
  • control unit operates the plurality of OSs in a virtual environment in which the hardware is virtualized.
  • the control method is a control method in which an in-vehicle information processing device mounted on a vehicle controls a plurality of OSs operating on common hardware, and is a control unit of the in-vehicle information processing device.
  • the application program running on the one OS is referred to as the one OS. Runs on another different OS, restarts the one OS, and after the restart is completed, runs the application program running on the other OS on the one OS.
  • the computer program according to this aspect is a computer program that causes a computer mounted on a vehicle to execute a process of controlling a plurality of OSs operating on common hardware, and the computer is used to perform the plurality of processes.
  • the application program running on the one OS is changed to another OS different from the one OS. It operates on the above, restarts the one OS, and after the restart is completed, executes a process of operating the application program running on the other OS on the one OS.
  • the IG signal from the IG (ignition) switch 6 provided in the vehicle 1 is input to the GW 2.
  • the GW 2 can determine the state of the vehicle 1, for example, whether or not the vehicle 1 is in a state in which it may travel.
  • the state of the vehicle 1 is determined not based on the IG signal from the IG switch 6, but based on various information such as the speed, acceleration, engine speed, shift lever state, and accelerator state of the vehicle 1. You can.
  • Information necessary for determining the state of the vehicle 1 is directly or indirectly input to the GW 2 via communication.
  • the application table 23b of the secondary storage unit 23 is a table that stores information about the application program executed by the GW2. Based on the information stored in the application table 23b, the GW2 can determine which application program should continue to operate when the OS is restarted. The detailed configuration of the application table 23b will be described later.
  • the application table 23b is created in advance by, for example, a developer of this system, and is stored in the secondary storage unit 23.
  • the application table 23b may be provided together with the program 23a or may be provided separately from the program 23a. When the OS or application program included in the program 23a is updated, the contents of the application table 23b may be updated.
  • the GW 2 is controlled by the restart determination unit 21a, the OS control unit 21b, the application control unit 21c, etc. by the control unit 21 reading and executing the program 23a stored in the secondary storage unit 23. It is realized as a software-like functional unit in the unit 21.
  • the restart determination unit 21a performs a process of determining whether or not it is necessary to restart the operating OS.
  • the restart determination unit 21a can determine, for example, that an OS update process is performed, and when this process is completed, it is necessary to restart the updated OS.
  • the cause of OS restart is not limited to updates.
  • FIG. 3 is a schematic diagram for explaining the software configuration of the GW2 according to the present embodiment.
  • the software configuration shown in FIG. 3 is realized by the control unit 21 reading the program 23a stored in the secondary storage unit 23 into the primary storage unit 22 and executing the program 23a.
  • the hardware of FIG. 3 shows resources related to hardware such as the control unit 21 and the primary storage unit 22, and the GW 2 according to the present embodiment provides the OS with a virtual environment in which the hardware is virtualized. ..
  • the virtual environment provides the OS with an interface premised on a predetermined virtual hardware configuration regardless of the actual hardware configuration or the like.
  • the virtual environment controls the hardware by converting instructions from the OS into instructions suitable for the actual hardware.
  • a program for realizing a virtual environment can be created for each hardware configuration.
  • GW2 for example, two OSs, OS1 and OS2, are operating in a virtual environment in a normal operating state. Further, for example, three application programs of application 1 to application 3 are operating on OS1, and one application program of application 4 is operating on OS2.
  • OS1 the identification information of the OS
  • OS2 the OS with "OS2” as the identification information
  • OS2 the OS with "OS2” as the identification information
  • app 1 an application program with "app 1" as identification information of the application program
  • app 2 an application program with "app 2" is simply called app 2
  • app 3 is attached.
  • the application program is simply called application 3.
  • control unit 21 of the GW2 is an arithmetic processing unit such as a single processor or a single core
  • the applications 1 to 4 are switched by time sharing and operate in parallel.
  • control unit 21 of the GW2 is an arithmetic processing unit such as a multiprocessor or a multicore
  • the applications 1 to 4 operate in parallel at the same time. Since such a difference in hardware configuration is absorbed by the virtual environment, OSs 1 and 2 and applications 1 to 4 operate regardless of the actual hardware configuration.
  • the GW 2 when the GW 2 reads the application program stored in the secondary storage unit 23 into the primary storage unit 22, the GW 2 stores the read application program in the storage area allocated to the OS that manages the application program.
  • the applications 1 to 3 are stored in the storage area of the OS 1
  • the applications 4 are stored in the storage area of the OS 2.
  • FIG. 4 is a schematic diagram showing an example of the application table 23b of GW2.
  • the application table 23b contains OSID, which is identification information for identifying the OS, application information related to the application program, and necessary function information indicating the function of the OS required to execute the application program. It is stored in association with each other.
  • the application information includes an application ID which is identification information for identifying the application program, the amount of data of the application program, and whether or not the application program can be stopped when the OS is restarted.
  • the required function information includes the type of OS kernel required for executing the application program, the necessity of drivers A to C, the necessity of libraries A and B, and the amount of data of the required function.
  • FIG. 3 it is assumed that the GW2 operates two OSs, OS1 and OS2, the applications 1 to 3 are operated on the OS1, and the application 4 is operated on the OS2.
  • a configuration example of is shown.
  • the application 1 that operates on the OS1 during normal operation has a program data amount of 5 MB (megabytes), and the operation cannot be stopped (prohibited) when the OS1 is restarted. There is. Further, the application 1 can be operated by either the kernel of OS1 or OS2, and drivers A and C and library B are required, and the amount of program data related to these required functions is 30 MB.
  • the application 4 that operates on the OS 2 during normal operation has a program data amount of 5 MB, and is set so that the operation can be stopped when the OS 2 is restarted. Further, the application 4 can be operated by either the kernel of OS1 or OS2, and drivers A and C and library B are required, and the amount of program data related to these required functions is 30 MB.
  • FIG. 5 is a schematic diagram for explaining a software configuration when the GW2 according to the present embodiment restarts the OS1.
  • the GW2 refers to the application table 23b stored in the secondary storage unit 23 and displays the applications 1 to 3 running on the OS1.
  • the application 1 and the application 2 running on the OS1 are set to be non-stoptable.
  • the GW2 When the free space of the primary storage unit 22 is 23 MB or more, the GW2 generates a simple OS1 that extracts the necessary functions (in this example, the kernel of the OS1, the driver B, and the libraries A and B) from the OS1 and creates a virtual environment. Start and operate the simple OS1 above.
  • the simple OS1 can be exactly the same as the OS1.
  • the GW 2 copies the application 2 stored in the storage area of the OS 1 to the storage area of the simple OS 1, and switches the operation from the application 2 on the OS 1 to the application 2 on the simple OS 1.
  • the area in which such information is stored is initialized to an initial value such as all "0". Not only that, the storage area is managed so that another information can be written to the area in which this information is stored.
  • ⁇ Flowchart> 6 and 7 are flowcharts showing the procedure of the OS restart process performed by the GW 2 according to the present embodiment.
  • the restart determination unit 21a of the control unit 21 of the GW 2 according to the present embodiment determines whether or not a restart is necessary for one or a plurality of operating OSs (step S1). When it is determined that the restart is not necessary for all the OSs (S1: NO), the restart determination unit 21a waits until the OSs need to be restarted.
  • the application control unit 21c of the control unit 21 refers to the application table 23b (step S2). Based on the application table 23b, the application control unit 21c determines whether or not there is an application program that cannot be stopped while the OS is restarting among the application programs that are operating at that time (step S3). If there is no application program that cannot be stopped (S3: NO), the OS control unit 21b of the control unit 21 restarts the OS that needs to be restarted (step S4), and ends the process.
  • the application control unit 21c selects one application program to be processed from one or a plurality of application programs that cannot be stopped (step S5). Based on the application table 23b, the application control unit 21c determines whether or not the application program selected in step S5 can operate on another OS (step S6). When the application control unit 21c can operate on another OS (S6: YES), the application control unit 21c acquires the free space of the storage area of the other OS (step S7). The application control unit 21c compares the free space acquired in step S7 with the capacity required for the operation of the application program to be processed, and determines whether or not the free space is equal to or greater than the required capacity (step S8). .. If the free space is less than the required capacity (S8: NO), the control unit 21 waits for the OS to restart (step S9), and ends the process.
  • the application control unit 21c copies the application program to be processed from the storage area of the OS to be restarted to the storage area of another OS (step S10).
  • the application control unit 21c determines whether or not all the application programs that cannot be stopped have been copied to another OS (step S11). If the copying of all the non-stoptable application programs has not been completed (S11: NO), the application control unit 21c returns the process to step S5, selects another application program, and performs the same process.
  • the application control unit 21c proceeds to step S18.
  • step S12 the application control unit 21c acquires the free space of the primary storage unit 22 (step S12).
  • the application control unit 21c compares the free space acquired in step S12 with the capacity required for the operation of the application program to be processed and the simple OS for operating the application program, and determines whether the free space is greater than or equal to the required capacity. Is determined (step S13). If the free space is less than the required capacity (S13: NO), the control unit 21 waits for the OS to restart (step S14), and ends the process.
  • the OS control unit 21b If the free space is greater than or equal to the required capacity (S14: YES), the OS control unit 21b generates and starts a simple OS that extracts the functions required for the operation of the application program from the restarted OS (step S15).
  • the application control unit 21c copies the application program to be processed from the storage area of the OS to be restarted to the storage area of the simple OS started in step S15 (step S16).
  • the application control unit 21c determines whether or not all the application programs that cannot be stopped have been copied to another OS (simple OS) (step S17). If the copying of all the non-stoptable application programs has not been completed (S17: NO), the application control unit 21c returns the process to step S5, selects another application program, and performs the same process. When the copying of all the non-stoptable application programs is completed (S17: YES), the application control unit 21c proceeds to step S18.
  • the application control unit 21c starts the application program copied in steps S10 and S16 (step S18).
  • the application control unit 21c switches from the application program running on the OS to be restarted to the application program started in step S18 (step S19).
  • the OS control unit 21b restarts the OS that needs to be restarted (step S20). After the restart of the OS is completed, copy the application program temporarily run on another OS or simple OS to the storage area of the OS that has been restarted, start it, and then use the other OS or simple OS. Switching from the running application program to the restarted OS application program (step S21).
  • the application control unit 21c deletes the application program temporarily copied to the storage areas of the other OS and the simple OS (step S22), and ends the process.
  • FIG. 8 is a flowchart showing a procedure of standby processing performed by GW2 according to the present embodiment.
  • the control unit 21 of the GW 2 waits for the restart of the OS in steps S9 or S14 of the flowchart shown in FIG. 7, the control unit 21 of the GW 2 starts the processing of the flowchart shown in FIG.
  • the control unit 21 acquires the IG signal given from the IG switch 6 of the vehicle 1 (step S31).
  • the control unit 21 determines whether or not the IG switch 6 is in the off state based on the acquired IG signal (step S32).
  • the control unit 21 When the IG switch 6 is in the on state (S32: NO), the control unit 21 returns the process to step S31 and waits for the OS to restart until the IG switch 6 is switched from the on state to the off state.
  • the OS control unit 21b of the control unit 21 restarts the standby OS (step S33) and ends the process.
  • the GW2 controls a plurality of OSs operating on common hardware.
  • GW2 determines the necessity of restarting a plurality of OSs, and when it is determined that one OS needs to be restarted, the application program running on this one OS operates on another OS. Let me. After that, the GW2 restarts one OS, and after the restart is completed, the GW2 runs the application program run on the other OS on the one OS. As a result, the GW2 can execute the application program running on one OS on another OS, and can continuously process the application program even while the one OS is restarting. can.
  • the GW2 operates another OS in parallel while restarting one OS.
  • the GW2 can execute the application program in parallel on the other OS while the one OS is restarted.
  • the GW2 when the application program running on one OS is run on another OS, the other OS uses the application program stored in the storage area used by the one OS. Copy to the storage area. After the restart of one OS is completed, the GW2 deletes the copied application program from the storage area of the other OS. As a result, the GW2 can copy the application program from the storage area of one OS and operate it on another OS, so that it is not necessary to separately prepare an application program to operate on the other OS.
  • the GW2 continues the operation during the restart of one OS from among one or a plurality of application programs running on one OS determined to need to be restarted. Determine which application program to use. The GW2 determines whether or not there is another OS capable of operating the application program whose operation should be continued. The GW2 determines whether or not there is enough free space to store the application program in the storage area of another OS that has been determined to be able to operate the application program. When it is determined that there is free space, the GW2 copies the application program to the storage area of another OS and operates it. Through these processes, the GW2 can be expected to more reliably operate the application program that should continue to operate while the OS is restarted.
  • the GW2 when the GW2 according to the present embodiment does not have enough free space to store the application program in the storage area of the other OS, the GW2 restarts one OS in which the application program is running. Wait without. As a result, it is possible to prevent the application program that should continue to operate from being stopped.
  • the GW 2 when the GW 2 according to the present embodiment waits for the restart of the OS, the OS is restarted after the IG switch 6 of the vehicle 1 is switched from the on state to the off state. As a result, the GW 2 can restart the OS at a stage where it is highly likely that the user has finished the specifications of the vehicle 1, that is, at a stage where there is a high possibility that no problem will occur even if the processing of the application program is stopped.
  • the GW2 is an alternative OS (simple OS) that substitutes for one OS to be restarted when it is determined that there is no other OS capable of operating the application program whose operation should be continued. To run the application program on the alternative OS. As a result, the GW2 can more reliably operate the application program whose operation should be continued.
  • alternative OS simple OS
  • the GW2 uses a simple OS having a part of the function of one OS to be restarted as an alternative OS. As a result, the amount of storage area used by the GW2 can be reduced as compared with the case where an OS having all the functions of one OS is used as an alternative OS.
  • the GW2 according to the present embodiment provides a virtual environment in which hardware is virtualized to the OS, and operates a plurality of OSs on the virtual environment. As a result, it is expected that the versatility of the OS operated by the GW2 will be improved and the development will be facilitated.
  • individual storage areas are allocated to a plurality of OSs, but the present invention is not limited to this.
  • a plurality of OSs may be configured to share one storage area.
  • the application program can be operated on another OS without copying the application program.
  • the OS is not limited to this, and for example, software such as an interpreter or VM (Virtual Machine) may be used, and basic software that provides an execution environment for some application program. It may be.
  • FIG. 9 is a schematic view showing an example of the application table 23b of the GW2 according to the modified example.
  • "priority" information is set for each application program instead of the "stop availability" of the application table 23b shown in FIG.
  • the priority is set in three stages of 1 to 3, and priority 1 is assumed to be the highest priority.
  • GW2 determines that the application program of priority 1 cannot be stopped when the OS is restarted, and operates on another OS. If the priority 1 application program cannot be run on another OS, the GW2 waits for the OS to restart. That is, the application program having priority 1 is treated in the same manner as the application program in which stop enable / disable is set in the application table 23b shown in FIG.
  • the GW2 continues the operation of the priority 2 application program when the OS is restarted, if possible.
  • the GW2 first prepares the application program of priority 1 for execution on another OS such as copying, and then determines whether or not the application program of priority 2 can be operated on the other OS.
  • the GW2 puts the application program of priority 2 in the storage area of the other OS. Copy and operate. Even if the application program of priority 2 cannot be operated on another OS, the GW2 restarts the OS.
  • the GW2 determines that the application program of priority 3 is an application program that does not need to continue its operation when the OS is restarted. That is, the application program of priority 3 is treated in the same manner as the application program for which stopability is set in the application table 23b shown in FIG. However, the GW 2 may continue to operate the application program of priority 3 while the OS is restarted, as long as it can be operated by another OS.
  • the GW2 determines the application program whose operation should be continued during the restart of the OS according to the priority set in the application program. As a result, the GW2 can preferentially operate, for example, an application program having a high priority on another OS.
  • Each device in the in-vehicle information processing system includes a computer including a microprocessor, ROM, RAM, and the like.
  • An arithmetic processing unit such as a microprocessor reads a computer program including a part or all of each step of a sequence diagram or a flowchart as shown in FIGS. 6 to 8 from a storage unit such as a ROM or a RAM and executes the program. You can.
  • the computer programs of these plurality of devices can be installed from an external server device or the like. Further, the computer programs of these plurality of devices are distributed in a state of being stored in a recording medium such as a CD-ROM, a DVD-ROM, or a semiconductor memory, respectively.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)

Abstract

OSの再起動中であっても、このOS上で動作するアプリケーションプログラムを継続的に実行することが期待できる車載情報処理装置、制御方法及びコンピュータプログラムを提供する。 本実施の形態に係る車載情報処理装置は、車両に搭載され、共通のハードウェア上で動作する複数のOS(Operating System)を制御する制御部を備える車載情報処理装置であって、前記制御部は、前記複数のOSの再起動の要否を判定し、一のOSを再起動する必要があると判定した場合、前記一のOS上で動作しているアプリケーションプログラムを、前記一のOSとは異なる他のOS上で動作させ、前記一のOSを再起動し、再起動の完了後に、前記他のOS上で動作している前記アプリケーションプログラムを、前記一のOS上で動作させる。

Description

車載情報処理装置、制御方法及びコンピュータプログラム
 本開示は、共通のハードウェア上で動作する複数のOS(Operating System)を制御する車載情報処理装置、制御方法及びコンピュータプログラムに関する。
 近年、車両に搭載される情報処理装置は高機能化しており、種々のアプリケーションプログラムの実行が可能となっている。更に車載情報処理装置は、複数のOSを並列的に動作させることができ、異なるOS上で動作する複数のアプリケーションプログラムを並列的に動作することができる場合がある。車載情報処理装置において例えばOSの更新処理が行われた場合又はOSの異常停止が発生した場合等に、OSの再起動を行う必要が生じることがあり、OSの再起動中にはこのOS上で動作するアプリケーションプログラムを動作させることができない。
 特許文献1においては、仮想化環境において第1のOSと第2のOSとを稼働させ、表示手段に画像を表示させる第1のアプリケーションを第1のOS上で動作させているときに、第1のOSに再起動の必要が生じたことが検知された場合に、少なくとも第1のOSの再起動が完了するまでの間、表示手段に再起動時用画像を表示させる第2のアプリケーションを第2のOS上で動作させる情報処理装置が提案されている。
国際公開第2013/132646号
 特許文献1に記載の情報処理装置は、第1のOS上で動作させる表示用の第1のアプリケーションとは別に、第2のOS上で動作させる第2のアプリケーションを別に用意しておく必要があり、メモリ等の記憶領域を無駄に消費する虞がある。また特許文献1において第2のアプリケーションは第1のアプリケーションの簡易版であり、第1のOSの再起動中は限定的な処理しか実行することができない。
 本開示は、斯かる事情に鑑みてなされたものであって、その目的とするところは、OSの再起動中であっても、このOS上で動作するアプリケーションプログラムを継続的に実行することが期待できる車載情報処理装置、制御方法及びコンピュータプログラムを提供することにある。
 本態様に係る車載情報処理装置は、車両に搭載され、共通のハードウェア上で動作する複数のOSを制御する制御部を備える車載情報処理装置であって、前記制御部は、前記複数のOSの再起動の要否を判定し、一のOSを再起動する必要があると判定した場合、前記一のOS上で動作しているアプリケーションプログラムを、前記一のOSとは異なる他のOS上で動作させ、前記一のOSを再起動し、再起動の完了後に、前記他のOS上で動作している前記アプリケーションプログラムを、前記一のOS上で動作させる。
 本願は、このような特徴的な制御部を備える装置として実現することができるだけでなく、かかる特徴的な処理をステップとする方法として実現したり、かかるステップをコンピュータに実行させるためのコンピュータプログラムとして実現したりすることができる。これらの装置の一部又は全部を実現する半導体集積回路として実現したり、これらの装置を含むその他の装置又はシステムとして実現したりすることができる。
 上記によれば、OSの再起動中であっても、このOS上で動作するアプリケーションプログラムを継続的に実行することが期待できる。
本実施の形態に係る車載情報処理システムの一構成例を示す模式図である。 本実施の形態に係るGWの構成を示すブロック図である。 本実施の形態に係るGWのソフトウェア構成を説明するための模式図である。 GWのアプリテーブルの一例を示す模式図である。 本実施の形態に係るGWがOSの再起動を行う場合のソフトウェア構成を説明するための模式図である。 本実施の形態に係るGWが行うOS再起動処理の手順を示すフローチャートである。 本実施の形態に係るGWが行うOS再起動処理の手順を示すフローチャートである。 本実施の形態に係るGWが行う待機処理の手順を示すフローチャートである。 変形例に係るGWのアプリテーブルの一例を示す模式図である。
[本開示の実施の形態の説明]
 最初に本開示の実施態様を列記して説明する。以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
(1)本態様に係る車載情報処理装置は、車両に搭載され、共通のハードウェア上で動作する複数のOSを制御する制御部を備える車載情報処理装置であって、前記制御部は、前記複数のOSの再起動の要否を判定し、一のOSを再起動する必要があると判定した場合、前記一のOS上で動作しているアプリケーションプログラムを、前記一のOSとは異なる他のOS上で動作させ、前記一のOSを再起動し、再起動の完了後に、前記他のOS上で動作している前記アプリケーションプログラムを、前記一のOS上で動作させる。
 本態様にあっては、車載情報処理装置が共通のハードウェア上で動作する複数のOSを制御する制御部を備える。車載情報処理装置の制御部は、複数のOSについて再起動の要否を判定し、一のOSを再起動する必要があると判定した場合、この一のOS上で動作しているアプリケーションプログラムを他のOS上で動作させる。その後に制御部は一のOSを再起動し、再起動の完了後に他のOS上で動作させたアプリケーションプログラムを一のOS上で動作させる。これにより車載情報処理装置は、一のOS上で動作していたアプリケーションプログラムと同じプログラムを他のOS上で実行することができ、一のOSの再起動中であってもアプリケーションプログラムの処理を継続的に行うことが期待できる。
(2)前記制御部は、前記一のOSを再起動している間、前記他のOSを並行して動作させることが好ましい。
 本態様にあっては、車載情報処理装置が一のOSを再起動している間、他のOSを並行して動作させる。これにより、一のOSの再起動中に、他のOS上でアプリケーションプログラムを並行して実行させることができる。
(3)動作させるOS及びアプリケーションプログラムを一時的に記憶する記憶部を備え、前記制御部は、前記一のOS上で動作しているアプリケーションプログラムを前記他のOS上で動作させる場合に、前記一のOSが使用する前記記憶部の一の記憶領域に記憶された前記アプリケーションプログラムを、前記他のOSが使用する前記記憶部の他の記憶領域へコピーし、前記一のOSの再起動が完了した後に、前記他の記憶領域にコピーした前記アプリケーションプログラムを削除することが好ましい。
 本態様にあっては、車載情報処理装置が一のOS上で動作するアプリケーションプログラムを他のOS上で動作させる場合に、一のOSが使用する記憶領域に記憶されたアプリケーションプログラムを、他のOSが使用する記憶領域へコピーする。一のOSの再起動完了後、車載情報処理装置は、コピーしたアプリケーションプログラムを他のOSの記憶領域から削除する。これにより車載情報処理装置は、一のOSの記憶領域からアプリケーションプログラムをコピーして他のOS上で動作させることができるため、他のOS上で動作させるアプリケーションプログラムを別途用意する必要がない。
(4)前記制御部は、前記一のOSを再起動する必要があると判定した場合に、前記一のOS上で動作している一又は複数のアプリケーションプログラムの中から、前記一のOSの再起動中に動作を継続させるべきアプリケーションプログラムを判定し、動作を継続させるべきと判定したアプリケーションプログラムを動作させることができる他のOSの有無を判定し、前記アプリケーションプログラムを動作させることができると判定した他のOSが使用する他の記憶領域に、前記アプリケーションプログラムを記憶する空き容量が存在するか否かを判定し、空き容量が存在すると判定した場合に、前記アプリケーションプログラムを前記他の記憶領域へコピーすることが好ましい。
 本態様にあっては、車載情報処理装置が再起動の必要があると判定した一のOS上で動作している一又は複数のアプリケーションプログラムの中から、一のOSの再起動中に動作を継続させるべきアプリケーションプログラムを判定する。車載情報処理装置は、動作を継続させるべきアプリケーションプログラムを動作させることができる他のOSの有無を判定する。車載情報処理装置は、アプリケーションプログラムを動作させることができると判定した他のOSの記憶領域に、このアプリケーションプログラムを記憶するだけの空き容量が存在するか否かを判定する。空き容量があると判定した場合、車載情報処理装置は、アプリケーションプログラム他のOSの記憶領域へコピーして動作させる。これらの処理により車載情報処理装置は、OSの再起動中に動作を継続させるべきアプリケーションプログラムをより確実に動作させることが期待できる。
(5)前記制御部は、前記空き容量が存在しないと判定した場合、前記一のOSの再起動を待機することが好ましい。
 本態様にあっては、他のOSの記憶領域にアプリケーションプログラムを記憶するだけの空き容量が存在しない場合、車載情報処理装置はこのアプリケーションプログラムが動作している一のOSの再起動を行わずに待機する。これにより、動作を継続させるべきアプリケーションプログラムの動作が停止されることを防止できる。
(6)前記制御部は、前記車両のイグニッションスイッチがオン状態からオフ状態へ切り替えられた後、待機した前記一のOSの再起動を実施することが好ましい。
 本態様にあっては、OSの再起動を待機した場合、車載情報処理装置は、車両のイグニッションスイッチがオン状態からオフ状態へ切り替えられた後にOSの再起動を実施する。これにより車載情報処理装置は、ユーザが車両の使用を終えた可能性が高い段階、即ちアプリケーションプログラムの処理が停止しても問題が生じない可能性が高い段階で、OSを再起動することができる。
(7)前記制御部は、前記他のOSが存在しないと判定した場合に、前記一のOSの代替となる代替OSを起動し、前記アプリケーションプログラムを前記代替OS上で動作させることが好ましい。
 本態様にあっては、動作を継続させるべきアプリケーションプログラムを動作させることができる他のOSが存在しないと判定した場合、車載情報処理装置は、再起動する一のOSの代替となる代替OSを起動して、このアプリケーションプログラムを代替OS上で動作させる。これにより車載情報処理装置は、動作を継続させるべきアプリケーションプログラムをより確実に動作させることができる。
(8)前記代替OSは、前記一のOSが備える複数の機能の一部を有するOSであることが好ましい。
 本態様にあっては、再起動する一のOSの機能の一部を有するOSを、車載情報処理装置は代替OSとして用いる。これにより、一のOSの全機能を有するOSを代替OSとする場合と比較して、車載情報処理装置の記憶領域の使用量を低減することができる。
(9)各アプリケーションプログラムには優先度が設定されており、前記制御部は、前記優先度に応じて前記一のOSの再起動中に動作を継続させるべきアプリケーションプログラムを判定することが好ましい。
 本態様にあっては、アプリケーションプログラムに設定された優先度に応じて、車載情報処理装置がOSの再起動中に動作を継続させるべきアプリケーションプログラムを判定する。これにより車載情報処理装置は、例えば優先度が高いアプリケーションプログラムを他のOS上で優先して動作させることができる。
(10)前記制御部は、前記ハードウェアを仮想化した仮想環境で前記複数のOSを動作させることが好ましい。
 本態様にあっては、ハードウェアを仮想化した仮想環境を車載情報処理装置が提供し、この仮想環境上で複数のOSを動作させる。これにより、車載情報処理装置にて動作させるOSの汎用性の向上及び開発の容易化等が期待できる。
(11)本態様に係る制御方法は、車両に搭載された車載情報処理装置が、共通のハードウェア上で動作する複数のOSを制御する制御方法であって、前記車載情報処理装置の制御部が、前記複数のOSの再起動の要否を判定し、一のOSを再起動する必要があると判定した場合、前記一のOS上で動作しているアプリケーションプログラムを、前記一のOSとは異なる他のOS上で動作させ、前記一のOSを再起動し、再起動の完了後に、前記他のOS上で動作している前記アプリケーションプログラムを、前記一のOS上で動作させる。
 本態様にあっては、態様(1)と同様に、OSの再起動中であってもアプリケーションプログラムの処理を継続的に行うことが期待できる。
(12)本態様に係るコンピュータプログラムは、車両に搭載されたコンピュータに、共通のハードウェア上で動作する複数のOSを制御する処理を実行させるコンピュータプログラムであって、前記コンピュータに、前記複数のOSの再起動の要否を判定し、一のOSを再起動する必要があると判定した場合、前記一のOS上で動作しているアプリケーションプログラムを、前記一のOSとは異なる他のOS上で動作させ、前記一のOSを再起動し、再起動の完了後に、前記他のOS上で動作している前記アプリケーションプログラムを、前記一のOS上で動作させる処理を実行させる。
 本態様にあっては、態様(1)と同様に、OSの再起動中であってもアプリケーションプログラムの処理を継続的に行うことが期待できる。
[本開示の実施形態の詳細]
 本開示の実施形態に係る車載情報処理システムの具体例を、以下に図面を参照しつつ説明する。本開示はこれらの例示に限定されるものではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
<システム構成>
 図1は、本実施の形態に係る車載情報処理システムの一構成例を示す模式図である。本実施の形態に係る車載情報処理システムは、車両1に搭載されたGW(ゲートウェイ)2及び複数のECU3が複数の通信線を介して通信を行い、これら複数の車載装置が協働することで車両1の走行制御等に係る種々の情報処理を行うシステムである。図示の例では、GW2に4つのECU3がそれぞれ個別の通信線を介して接続されている。GW2は通信線間でのメッセージ送受信を中継する処理を行い、これにより4つのECU3は通信線及びGW2を介して相互にメッセージの送受信を行うことができる。
 また車載情報処理システムは、車両1の外部との間で無線通信を行う無線通信装置5を備えている。無線通信装置5は、例えば携帯電話通信網又は無線LAN(Local Area Network)等を利用した無線通信を行うことによって、車両1の外部に設けられたサーバ装置又はユーザが所持するスマートフォン等との間でメッセージの送受信を行うことができる。無線通信装置5は通信線を介してGW2に接続されている。GW2は、無線通信装置5を介して車両1の外部のサーバ装置等との間でメッセージの送受信を行うことができる。またGW2がECU3と無線通信装置5との間の通信を中継することによって、ECU3はGW2及び無線通信装置5を介して車両1の外部のサーバ装置等との間でメッセージの送受信を行うことができる。
 GW2には、車両1に設けられたIG(イグニッション)スイッチ6からのIG信号が入力されている。GW2は、入力されたIG信号に基づいて、車両1の状態の判定、例えば車両1が走行する可能性がある状態であるか否かの判定を行うことができる。なお車両1の状態の判定は、IGスイッチ6からのIG信号ではなく、例えば車両1の速度、加速度、エンジンの回転数、シフトレバーの状態又はアクセルの状態等の種々の情報に基づいて行われてよい。GW2には、車両1の状態を判定するために必要な情報が直接的に又は通信を介して間接的に入力される。
 GW2は、メッセージの中継処理及び車両1の制御処理等の種々の処理を行うために、複数のアプリケーションプログラムを実行して動作させている。アプリケーションプログラムの実行には、プログラムの実行管理及びハードウェア資源の管理等を行うOSが必要である。本実施の形態に係るGW2は、複数のOSを動作させており、これにより異なるOS用に開発された複数のアプリケーションプログラムを1つの装置で動作させることが可能となっている。またGW2は、複数のOSを並行して動作させると共に、各OS上で複数のアプリケーションプログラムを並行して動作させる。GW2は、例えば複数のOS及び複数のアプリケーションプログラムを時分割で切り替えて実行することによって、複数のOS及び複数のアプリケーションプログラムを実質的に同時に並行して動作させることができる。また例えばGW2がCPU(Central Processing Unit)又はMPU(Micro-Processing Unit)等の演算処理装置を複数備える場合には、複数のOS及び複数のアプリケーションプログラムを複数の演算処理装置で実際に並行して動作させてもよい。
 アプリケーションプログラム及びOS等のソフトウェアは、不具合の修正又は新機能の追加等のためにアップデート(更新処理)が行われる。GW2は、無線通信装置5を介して所定のサーバ装置との通信を行うことでアップデート用のソフトウェアを取得し、フラッシュメモリ又はハードディスク等の二次記憶装置に記憶されたソフトウェアを書き換えることでアップデートを行う。例えばOSのアップデートを行った場合、GW2は、ソフトウェアの書き換えを完了した後に、OSの再起動を行う必要がある。なおOSの再起動の要因には、上記のアップデートのみでなく、例えば何らかの不具合が発生した場合等の種々の要因が含まれ得る。
 従来はOSの再起動が行われた場合、このOS上で動作する一又は複数のアプリケーションプログラムは、再起動が完了するまで動作することができない。本実施の形態に係るGW2は、OSの再起動中であっても動作を継続させるべきアプリケーションプログラムについて、OSの再起動に伴って動作を停止させずに継続させることが可能である。なお本実施の形態においてはGW2を例に説明を行うが、同様の技術がECU3又はこれ以外の種々の車載情報処理装置に適用可能である。
 図2は、本実施の形態に係るGW2の構成を示すブロック図である。本実施の形態に係るGW2は、制御部(プロセッサ)21、一次記憶部(ストレージ)22、二次記憶部(ストレージ)23及び複数の通信部(トランシーバ)24等を備えて構成されている。制御部21は、例えばCPU又はMPU等の演算処理装置を用いて構成されている。制御部21は、二次記憶部23に記憶されたプログラムを一次記憶部22に読み出して実行することにより、種々の処理を行うことができる。
 一次記憶部22は、例えばSRAM(Static Random Access Memory)又はDRAM(Dynamic Random Access Memory)等のメモリ素子を用いて構成されている。一次記憶部22は、二次記憶部23と比較して記憶容量が少ないが、制御部21がデータの読み書きを二次記憶部23よりも高速に行うことができる記憶部である。本実施の形態において一次記憶部22は、揮発性の記憶部とするが、不揮発性であってもよい。
 二次記憶部23は、例えばフラッシュメモリもしくはEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発のメモリ素子、又は、ハードディスク等の磁気記憶装置等を用いて構成されている。二次記憶部23は、制御部21が実行する各種のプログラム、及び、制御部21の処理に必要な各種のデータを記憶する。本実施の形態において二次記憶部23は、制御部21が実行するプログラム23aと、アプリケーションプログラムに関する情報を有するアプリテーブル23bとを記憶している。
 本実施の形態に係るGW2は、一次記憶部22及び二次記憶部23の2つの記憶部により階層構造の記憶手段、いわゆるメモリ階層を実現している。GW2の制御部21がプログラム23aを実行する場合、二次記憶部23に記憶されたプログラム23aが一次記憶部22に読み出され、一次記憶部22に記憶されたプログラム23aを制御部21が読み出して実行する。本実施の形態において制御部21は、プログラム23aを実行することにより、OSによるアプリケーションプログラムの管理、アプリケーションプログラムによる車両1の制御、並びに、OS及びアプリケーションプログラムの管理等の種々の処理を行う。
 なお図2においてプログラム23aと示されているものには、OSのプログラム及びアプリケーションプログラム等の種々のプログラムが含まれ、更にはOS及びアプリケーションプログラムの動作を管理するプログラムが含まれ得る。プログラム23aは、例えばGW2の製造段階において二次記憶部23に書き込まれてよい。また例えばプログラム23aは遠隔のサーバ装置などにより配信されてもよく、GW2はサーバ装置との通信にてプログラム23aを取得して二次記憶部23に書き込んでもよい。また例えばメモリカード又は光ディスク等の記録媒体99に記録されたプログラム23aをGW2が読み出して二次記憶部23に記憶してもよい。また例えば記録媒体99に記録されプログラム23aを書込装置が読み出してGW2の二次記憶部23に書き込んでもよい。プログラム23aは、ネットワークを介した配信の態様で提供されてもよく、記録媒体99に記録された態様で提供されてもよい。プログラム23aに含まれるOS及びアプリケーションプログラム等の種々のプログラムは、一括で提供されてもよく、個別に異なる方法で提供されてもよい。
 二次記憶部23のアプリテーブル23bは、GW2が実行するアプリケーションプログラムに関する情報を記憶したテーブルである。GW2は、アプリテーブル23bに記憶された情報に基づいて、OSの再起動時に動作を継続させるべきアプリケーションプログラムがいずれであるか等を判断することができる。アプリテーブル23bの詳細構成は後述する。アプリテーブル23bは、例えば本システムの開発者等により予め作成されて、二次記憶部23に記憶される。アプリテーブル23bは、プログラム23aと共に提供されてもよく、プログラム23aとは別に提供されてもよい。プログラム23aに含まれるOS又はアプリケーションプログラム等のアップデートが行われた場合には、アプリテーブル23bの内容が更新されてもよい。
 複数の通信部24にはそれぞれ通信線が接続され、通信線を介してECU3又は無線通信装置5等の車載装置との間でメッセージの送受信を行う。本実施の形態において通信部24は、例えばイーサネット(登録商標)の通信規格に従ってメッセージの送受信を行う。通信部24は、例えばイーサネットPHY(physical layer)のIC(Integrated Circuit)等を用いて構成され得る。ただし通信部24が用いる通信規格はイーサネットに限らず、例えばCAN(Controller Area Network)又はFlexRay等の種々の通信規格が採用され得る。通信部24は、制御部21から与えられたデータを電気信号として通信線へ出力することによりメッセージ送信を行う。また通信部24は、通信線の電位をサンプリングして取得することにより、通信線上の電気信号をデジタルデータに変換し、変換したデータを受信メッセージとして制御部21へ与える。
 また本実施の形態にGW2は、二次記憶部23に記憶されたプログラム23aを制御部21が読み出して実行することにより、再起動判定部21a、OS制御部21b及びアプリ制御部21c等が制御部21にソフトウェア的な機能部として実現される。再起動判定部21aは、動作中のOSについて、再起動を行う必要があるか否かを判定する処理を行う。再起動判定部21aは、例えばOSのアップデート処理が行われ、この処理が完了した場合にアップデートされたOSの再起動が必要であると判定することができる。なおOSの再起動の要因はアップデートに限らない。
 OS制御部21bは、GW2にて実行されるOSを管理する処理を行う。OS制御部21bは、OSの起動、停止、再起動及びアップデート等の制御を行う。また本実施の形態においてOS制御部21bは、OSの再起動を行う際に、このOSの代替OSを生成して起動する処理を行う。
 アプリ制御部21cは、GW2にて実行されるアプリケーションプログラムを管理する処理を行う。本実施の形態においてアプリ制御部21cは、再起動されるOS上で動作しているアプリケーションプログラムの中から、OSの再起動中に動作を停止すべきでない、動作を継続させるべきアプリケーションプログラムを、二次記憶部23のアプリテーブル23bに基づいて判定する。アプリ制御部21cは、動作を継続させるべきアプリケーションプログラムを、再起動するOSとは異なるOSで実行すると共に、再起動の完了後にこのアプリケーションプログラムを元のOSで実行する。
<アプリケーションプログラム制御処理>
 図3は、本実施の形態に係るGW2のソフトウェア構成を説明するための模式図である。本実施の形態に係るGW2は、制御部21が二次記憶部23に記憶されたプログラム23aを一次記憶部22に読み出して実行することによって、図3に示すソフトウェアの構成が実現される。図3のハードウェアは制御部21及び一次記憶部22等のハードウェアに関するリソースを示しており、本実施の形態に係るGW2は、このハードウェアを仮想化した仮想環境をOSに対して提供する。仮想環境は、実際のハードウェアの構成等に関係なく、所定の仮想的なハードウェア構成を前提としたインタフェースをOSに提供する。仮想環境は、OSからの命令等を実際のハードウェアに適した命令に変換してハードウェアを制御する。OS及びハードウェアの間に仮想環境が介在することによって、ハードウェアの構成が異なる他のGW2についても同じOS及びアプリケーションプログラムを実行することができる。仮想環境を実現するためのプログラムは、ハードウェアの構成毎に作成され得る。
 本実施の形態に係るGW2では、通常の動作状態において、例えばOS1及びOS2の2つのOSが仮想環境上で動作している。また例えばOS1上ではアプリ1~アプリ3の3つのアプリケーションプログラムが動作し、OS2上ではアプリ4の1つのアプリケーションプログラムが動作している。なお本実施の形態においては、OSの識別情報として「OS1」が付されたOSを単にOS1と呼び、識別情報として「OS2」が付されたOSを単にOS2と呼ぶ。同様に、アプリケーションプログラムの識別情報として「アプリ1」が付されたアプリケーションプログラムを単にアプリ1と呼び、「アプリ2」が付されたアプリケーションプログラムを単にアプリ2と呼び、「アプリ3」が付されたアプリケーションプログラムを単にアプリ3と呼ぶ。
 例えば、GW2の制御部21がシングルプロセッサ又はシングルコア等の演算処理装置である場合には、アプリ1~4はタイムシェアリングにより切り替えられて並列的に動作する。また例えばGW2の制御部21がマルチプロセッサ又はマルチコア等の演算処理装置である場合には、アプリ1~4が同時的に並列的に動作する。このようなハードウェアの構成の差異は仮想環境により吸収されるため、OS1,2及びアプリ1~4は実際のハードウェアの構成に関係なく動作する。
 本実施の形態に係るGW2が動作させる2つのOS1,2は、例えばLinux(登録商標)及びWindows(登録商標)等のような種類の全く異なるOSであってもよく、例えば同じ種類のOSのバージョン違いなどであってもよい。アプリ1~4は、例えば対応するOSに専用のアプリケーションプログラムであってもよく、また例えば複数のOSで動作する汎用的なアプリケーションプログラムであってもよい。
 本実施の形態に係るGW2は、二次記憶部23にプログラム23aとして記憶されたOS及びアプリケーションプログラムを読み出して一次記憶部22に記憶し、一次記憶部22に記憶されたOS及びアプリケーションプログラムを制御部21が読み出して実行する。GW2は、二次記憶部23からOSを一次記憶部22に読み出して実行する際に、OS毎に一次記憶部22の所定サイズの記憶領域を割り当てる。ず3においては、各OSに割り当てられた記憶領域を破線の矩形で示している。各OSは、自身に割り当てられた記憶領域を用いて処理を行い、他のOSに割り当てられた記憶領域にアクセスすることはできない。
 またGW2は、二次記憶部23に記憶されたアプリケーションプログラムを一次記憶部22に読み出す場合、アプリケーションプログラムを管理するOSに割り当てられた記憶領域に、読み出したアプリケーションプログラムを記憶する。図3に示す例では、OS1の記憶領域にアプリ1~3が記憶され、OS2の記憶領域にアプリ4が記憶されている。
 図4は、GW2のアプリテーブル23bの一例を示す模式図である。本実施の形態に係るアプリテーブル23bは、OSを識別するための識別情報であるOSIDと、アプリケーションプログラムに関するアプリ情報と、アプリケーションプログラムを実行するために必要なOSの機能を示す必要機能情報とを対応付けて記憶している。アプリ情報には、アプリケーションプログラムを識別するための識別情報であるアプリIDと、アプリケーションプログラムのデータ量と、OSの再起動時におけるアプリケーションプログラムの停止の可否とが含まれる。必要機能情報には、アプリケーションプログラムの実行に必要なOSのカーネルの種類と、ドライバA~Cの要否と、ライブラリA,Bの要否と、必要な機能のデータ量とが含まれる。本例では、図3に示したように、GW2がOS1及びOS2の2つのOSを動作させ、OS1上でアプリ1~3を動作させ、OS2上でアプリ4を動作させるものとして、アプリテーブル23bの構成例が示されている。
 図示のアプリテーブル23bにおいて、通常動作時にOS1上で動作するアプリ1は、プログラムのデータ量が5MB(メガバイト)であり、OS1の再起動に際して動作を停止することが不可(禁止)に設定されている。またアプリ1は、OS1又はOS2のカーネルのいずれでも動作可能であり、ドライバA,C及びライブラリBが必要であり、これらの必要機能に関するプログラムのデータ量が30MBである。
 同様に、通常動作時にOS1上で動作するアプリ2は、プログラムのデータ量が3MBであり、OS1の再起動に際して動作を停止することが不可に設定されている。またアプリ2は、OS1のカーネルでのみ動作可能であり、ドライバB及びライブラリA,Bが必要であり、これらの必要機能に関するプログラムのデータ量が20MBである。
 通常動作時にOS1上で動作するアプリ3は、プログラムのデータ量が10MBであり、OS1の再起動に際して動作を停止することが可(許可)に設定されている。またアプリ3は、OS1のカーネルでのみ動作可能であり、ドライバA,B,C及びライブラリA,Bが必要であり、これらの必要機能に関するプログラムのデータ量が50MBである。
 通常動作時にOS2上で動作するアプリ4は、プログラムのデータ量が5MBであり、OS2の再起動に際して動作を停止することが可に設定されている。またアプリ4は、OS1又はOS2のカーネルのいずれでも動作可能であり、ドライバA,C及びライブラリBが必要であり、これらの必要機能に関するプログラムのデータ量が30MBである。
 図5は、本実施の形態に係るGW2がOS1の再起動を行う場合のソフトウェア構成を説明するための模式図である。例えばOS1のアップデートが完了して再起動を行う必要が生じた場合、GW2は、二次記憶部23に記憶されたアプリテーブル23bを参照して、OS1上で動作しているアプリ1~3を再起動中に停止不可が設定されているアプリケーションプログラム、即ち動作を継続させるべきアプリケーションプログラムを判定する。本例では、OS1上で動作するアプリ1及びアプリ2が停止不可に設定されている。
 停止不可のアプリケーションプログラムのうち、本例ではアプリ1はOS2上で動作させることができる。GW2は、OS2の記憶領域の空き容量を取得し、アプリ1を動作させるために必要なデータ量である5MBがOS2の記憶領域に確保できるか否かを判定する。OS2の記憶領域の空き容量が5MB以上である場合、GW2は、OS1の記憶領域に記憶されているアプリ1をOS2の記憶領域へコピーする。このときにGW2は、アプリ1のプログラムコードのみではなく、その時点においてアプリ1が処置に用いているデータ(例えば変数に格納された値)をコピーする。その後にGW2は、OS1上のアプリ1からOS2上のアプリ1へ動作を切り替える。
 停止不可のアプリケーションプログラムのうち、本例ではアプリ2はOS1上でのみ動作する。GW2は、アプリテーブル23bを参照してアプリ2の動作に必要なOSの機能を判定する。本例では、OS1のカーネル、ドライバB及びライブラリA,Bが必要である。GW2は、一次記憶部22の空き容量を取得し、アプリ2のデータ量である3MBと、アプリ2の動作に必要な機能に関するデータ量である20MBとが、一次記憶部22の空き領域に確保できるか否かを判定する。一次記憶部22の空き容量が23MB以上である場合、GW2は、まずまずOS1から必要な機能(本例ではOS1のカーネル、ドライバB及びライブラリA,B)を抽出した簡易OS1を生成し、仮想環境上で簡易OS1を起動して動作させる。なお簡易OS1は、OS1と全く同じものとなり得る。次いでGW2は、OS1の記憶領域に記憶されているアプリ2を簡易OS1の記憶領域へコピーし、OS1上のアプリ2から簡易OS1上のアプリ2へ動作を切り替える。
 OS2の記憶領域にアプリ1を記憶するだけの空き容量がない場合、又は、一次記憶部22に簡易OS1及びアプリ2を記憶するだけの空き容量がない場合、GW2は、OS1の再起動中にアプリ1,2を動作させることができないため、OS1の再起動を行わずに待機する。ただしGW2は、車両1のIGスイッチ6がオフ状態であれば、OS1の再起動を行ってよい。車両1のIGスイッチ6がオン状態であれば、GW2は、IGスイッチ6がオン状態からオフ状態へ切り替えられた場合に、OS1の再起動を行う。なおIGスイッチ6がオフ状態でOS1の再起動を行う場合、GW2は、上述のようなアプリ1,2の継続動作を行わずに、アプリ1,2の動作を停止させてOS1の再起動を行ってよい。
 OS1の再起動が完了した後、GW2は、OS2上で動作していたアプリ1と、簡易OS1上で動作していたアプリ2とを、再起動したOS1上で動作させる。このときにGW2は、OS2の記憶領域からOS1の記憶領域へアプリ1をコピーし、OS2上のアプリ1からOS1上のアプリ1へと動作を切り替える。同様にGW2は、簡易OS1の記憶領域からOS1の記憶領域へアプリ2をコピーし、簡易OS1上のアプリ2からOS1上のアプリ2へと動作を切り替える。またGW2は、OS1の再起動に伴って動作を停止していたアプリ3を起動して動作させる。
 なおGW2は、OS1の再起動が完了し、OS1上のアプリ1,2が動作を開始した後、OS2の記憶領域に記憶されているアプリ1と、一次記憶部22に記憶されている簡易OS1及びこの簡易OS1の記憶領域に記憶されているアプリ2とを消去する。なお本実施の形態において、一次記憶部22に記憶されたプログラム及びデータ等の情報の消去は、これらの情報が記憶されていた領域が例えばオール”0”等の初期値に初期化されることのみでなく、これらの情報が記憶された領域に対して別の情報の書き込みが可能となるよう記憶領域が管理されることを含む。
<フローチャート>
 図6及び図7は、本実施の形態に係るGW2が行うOS再起動処理の手順を示すフローチャートである。本実施の形態に係るGW2の制御部21の再起動判定部21aは、動作中の一又は複数のOSについて、再起動が必要であるか否かを判定する(ステップS1)。全てのOSについて再起動の必要がないと判定した場合(S1:NO)、再起動判定部21aは、OSの再起動が必要になるまで待機する。
 少なくとも1つのOSについて再起動が必要であると判定した場合(S1:YES)、制御部21のアプリ制御部21cは、アプリテーブル23bを参照する(ステップS2)。アプリテーブル23bに基づいてアプリ制御部21cは、その時点で動作中のアプリケーションプログラムの中に、OSの再起動中に停止不可のアプリケーションプログラムが存在するか否かを判定する(ステップS3)。停止不可のアプリケーションプログラムが存在しない場合(S3:NO)、制御部21のOS制御部21bは、再起動が必要なOSについて再起動を行い(ステップS4)、処理を終了する。
 停止不可のアプリケーションプログラムが存在する場合(S3:YES)、アプリ制御部21cは、停止不可の一又は複数のアプリケーションプログラムの中から、処理対象とする1つのアプリケーションプログラムを選択する(ステップS5)。アプリ制御部21cは、アプリテーブル23bに基づいて、ステップS5にて選択したアプリケーションプログラムが別のOSで動作可能であるか否かを判定する(ステップS6)。別のOSで動作可能である場合(S6:YES)、アプリ制御部21cは、この別のOSの記憶領域の空き容量を取得する(ステップS7)。アプリ制御部21cは、ステップS7にて取得した空き容量と、処理対象のアプリケーションプログラムの動作に必要な容量とを比較し、空き容量が必要容量以上であるか否かを判定する(ステップS8)。空き容量が必要容量に満たない場合(S8:NO)、制御部21はOSの再起動を待機して(ステップS9)、処理を終了する。
 空き容量が必要容量以上である場合(S8:YES)、アプリ制御部21cは、処理対象のアプリケーションプログラムを、再起動するOSの記憶領域から別のOSの記憶領域へコピーする(ステップS10)。アプリ制御部21cは、停止不可のアプリケーションプログラムの全てについて、他のOSへのコピーを終了したか否かを判定する(ステップS11)。全ての停止不可のアプリケーションプログラムについてコピーを終了していない場合(S11:NO)、アプリ制御部21cは、ステップS5へ処理を戻し、別のアプリケーションプログラムを選択して同様の処理を行う。全ての停止不可のアプリケーションプログラムについてコピーを終了した場合(S11:YES)、アプリ制御部21cは、ステップS18へ処理を進める。
 またアプリ制御部21cは、ステップS5にて選択したアプリケーションプログラムが別のOSで動作可能でないと判定した場合(S6:NO)、一次記憶部22の空き容量を取得する(ステップS12)。アプリ制御部21cは、ステップS12にて取得した空き容量と、処理対象のアプリケーションプログラム及びこれを動作させる簡易OSの動作に必要な容量とを比較し、空き容量が必要容量以上であるか否かを判定する(ステップS13)。空き容量が必要容量に満たない場合(S13:NO)、制御部21はOSの再起動を待機して(ステップS14)、処理を終了する。
 空き容量が必要容量以上である場合(S14:YES)、OS制御部21bは、再起動するOSからアプリケーションプログラムの動作に必要な機能を抽出した簡易OSを生成して起動する(ステップS15)。アプリ制御部21cは、処理対象のアプリケーションプログラムを、再起動するOSの記憶領域からステップS15にて起動した簡易OSの記憶領域へコピーする(ステップS16)。アプリ制御部21cは、停止不可のアプリケーションプログラムの全てについて、他のOS(簡易OS)へのコピーを終了したか否かを判定する(ステップS17)。全ての停止不可のアプリケーションプログラムについてコピーを終了していない場合(S17:NO)、アプリ制御部21cは、ステップS5へ処理を戻し、別のアプリケーションプログラムを選択して同様の処理を行う。全ての停止不可のアプリケーションプログラムについてコピーを終了した場合(S17:YES)、アプリ制御部21cは、ステップS18へ処理を進める。
 アプリ制御部21cは、ステップS10及びS16にてコピーしたアプリケーションプログラムを起動する(ステップS18)。アプリ制御部21cは、再起動するOS上で動作しているアプリケーションプログラムから、ステップS18にて起動したアプリケーションプログラムへの切り替えを行う(ステップS19)。OS制御部21bは、再起動が必要なOSについて再起動を行う(ステップS20)。OSの再起動が完了した後、他のOS又は簡易OSにて一時的に動作させたアプリケーションプログラムを再起動が完了したOSの記憶領域へコピーして起動し、他のOS又は簡易OSにて動作しているアプリケーションプログラムから、再起動したOSのアプリケーションプログラムへの切り替えを行う(ステップS21)。アプリ制御部21cは、他のOS及び簡易OSの記憶領域に一時的にコピーしたアプリケーションプログラムを削除して(ステップS22)、処理を終了する。
 図8は、本実施の形態に係るGW2が行う待機処理の手順を示すフローチャートである。本実施の形態に係るGW2の制御部21は、図7に示したフローチャートのステップS9又はS14にてOSの再起動を待機した場合に、図8に示したフローチャートの処理を開始する。制御部21は、車両1のIGスイッチ6から与えられるIG信号を取得する(ステップS31)。制御部21は、取得したIG信号に基づいて、IGスイッチ6がオフ状態であるか否かを判定する(ステップS32)。IGスイッチ6がオン状態である場合(S32:NO)、制御部21は、ステップS31へ処理を戻し、IGスイッチ6がオン状態からオフ状態へ切り替えられるまでOSの再起動を待機する。IGスイッチ6がオフ状態である場合(S32:YES)、制御部21のOS制御部21bは、待機していたOSの再起動を行い(ステップS33)、処理を終了する。
<まとめ>
 以上の構成の本実施の形態に係るGW2は、共通のハードウェア上で動作する複数のOSを制御する。GW2は、複数のOSについて再起動の要否を判定し、一のOSを再起動する必要があると判定した場合、この一のOS上で動作しているアプリケーションプログラムを他のOS上で動作させる。その後にGW2は、一のOSを再起動し、再起動の完了後に他のOS上で動作させたアプリケーションプログラムを一のOS上で動作させる。これによりGW2は、一のOS上で動作していたアプリケーションプログラムを他のOS上で実行することができ、一のOSの再起動中であってもアプリケーションプログラムの処理を継続的に行うことができる。
 また本実施の形態に係るGW2は、一のOSを再起動している間、他のOSを並行して動作させる。これによりGW2は、一のOSの再起動中に、他のOS上でアプリケーションプログラムを並行して実行させることができる。
 また本実施の形態に係るGW2は、一のOS上で動作するアプリケーションプログラムを他のOS上で動作させる場合に、一のOSが使用する記憶領域に記憶されたアプリケーションプログラムを他のOSが使用する記憶領域へコピーする。一のOSの再起動完了後、GW2は、コピーしたアプリケーションプログラムを他のOSの記憶領域から削除する。これによりGW2は、一のOSの記憶領域からアプリケーションプログラムをコピーして他のOS上で動作させることができるため、他のOS上で動作させるアプリケーションプログラムを別途用意する必要がない。
 また本実施の形態に係るGW2は、再起動の必要があると判定した一のOS上で動作している一又は複数のアプリケーションプログラムの中から、一のOSの再起動中に動作を継続させるべきアプリケーションプログラムを判定する。GW2は、動作を継続させるべきアプリケーションプログラムを動作させることができる他のOSの有無を判定する。GW2は、アプリケーションプログラムを動作させることができると判定した他のOSの記憶領域に、このアプリケーションプログラムを記憶するだけの空き容量が存在するか否かを判定する。空き容量があると判定した場合、GW2は、アプリケーションプログラムを他のOSの記憶領域へコピーして動作させる。これらの処理によりGW2は、OSの再起動中に動作を継続させるべきアプリケーションプログラムをより確実に動作させることが期待できる。
 また本実施の形態に係るGW2は、他のOSの記憶領域にアプリケーションプログラムを記憶するだけの空き容量が存在しない場合、GW2は、このアプリケーションプログラムが動作している一のOSの再起動を行わずに待機する。これにより、動作を継続させるべきアプリケーションプログラムが停止されることを防止できる。
 また本実施の形態に係るGW2は、OSの再起動を待機した場合、車両1のIGスイッチ6がオン状態からオフ状態へ切り替えられた後にOSの再起動を実施する。これによりGW2は、ユーザが車両1の仕様を終えた可能性が高い段階、即ちアプリケーションプログラムの処理が停止しても問題が生じない可能性が高い段階で、OSを再起動することができる。
 また本実施の形態に係るGW2は、動作を継続させるべきアプリケーションプログラムを動作させることができる他のOSが存在しないと判定した場合、再起動する一のOSの代替となる代替OS(簡易OS)を起動して、アプリケーションプログラムを代替OS上で動作させる。これによりGW2は、動作を継続させるべきアプリケーションプログラムをより確実に動作させることができる。
 また本実施の形態に係るGW2は、再起動する一のOSの機能の一部を有する簡易OSを代替OSとして用いる。これにより、一のOSの全機能を有するOSを代替OSとする場合と比較して、GW2の記憶領域の使用量を低減することができる。
 また本実施の形態に係るGW2は、ハードウェアを仮想化した仮想環境をOSに対して提供し、仮想環境上で複数のOSを動作させる。これにより、GW2にて動作させるOSの汎用性の向上及び開発の容易化等が期待できる。
 なお本実施の形態においては、複数のOSに対して個別の記憶領域を割り当てる構成としたが、これに限るものではない。例えば複数のOSが1つの記憶領域を共有する構成であってもよく、この場合にはアプリケーションプログラムのコピーを行うことなく、他のOSにてこのアプリケーションプログラムを動作させることができる。また本実施の形態において再起動するソフトウェアをOSとしたが、これに限るものではなく、例えばインタープリタ又はVM(Virtual Machine)等のソフトウェアであってよく、何らかのアプリケーションプログラムの実行環境を提供する基本ソフトウェアであってよい。
(変形例)
 図9は、変形例に係るGW2のアプリテーブル23bの一例を示す模式図である。図9に示す変形例に係るアプリテーブル23bは、図4に示したアプリテーブル23bの「停止可否」に代えて、「優先度」の情報が各アプリケーションプログラムについて設定されている。本例では、優先度は1~3の3段階で設定され、優先度1が最も優先度が高いものとする。
 変形例に係るGW2は、優先度1のアプリケーションプログラムについて、OSの再起動の際に動作の停止不可のアプリケーションプログラムと判断し、他のOSでの動作を行う。優先度1のアプリケーションプログラムを他のOSで動作させることができない場合、GW2は、OSの再起動を待機する。即ち、優先度1のアプリケーションプログラムは、図4に示したアプリテーブル23bにて停止可否に不可が設定されたアプリケーションプログラムと同様に扱われる。
 変形例に係るGW2は、優先度2のアプリケーションプログラムについて、OSの再起動の際に、可能であれば動作を継続させる。GW2は、先に優先度1のアプリケーションプログラムについてコピー等の他のOSでの実行の準備を行った後、優先度2のアプリケーションプログラムを他のOSで動作させることができるか否か判定する。他のOSの記憶領域に十分な空きがある場合など、他のOSで優先度2のアプリケーションプログラムを動作させることができる場合、GW2は、優先度2のアプリケーションプログラムを他のOSの記憶領域にコピーして動作させる。優先度2のアプリケーションプログラムを他のOSで動作させることができない場合であっても、GW2は、OSの再起動を行う。
 変形例に係るGW2は、優先度3のアプリケーションプログラムについて、OSの再起動の際に、動作を継続させる必要がないアプリケーションプログラムであると判定する。即ち、優先度3のアプリケーションプログラムは、図4に示したアプリテーブル23bにて停止可否に可が設定されたアプリケーションプログラムと同様に扱われる。ただしGW2は、優先度3のアプリケーションプログラムについても、他のOSにて動作させることが可能であれば、OSの再起動中に動作を継続して行わせてもよい。
 以上の構成の変形例に係るGW2は、アプリケーションプログラムに設定された優先度に応じて、OSの再起動中に動作を継続させるべきアプリケーションプログラム判定する。これによりGW2は、例えば優先度が高いアプリケーションプログラムを他のOS上で優先して動作させることができる。
 車載情報処理システムにおける各装置は、マイクロプロセッサ、ROM及びRAM等を含んで構成されるコンピュータを備える。マイクロプロセッサ等の演算処理部は、図6~図8に示すような、シーケンス図又はフローチャートの各ステップの一部又は全部を含むコンピュータプログラムを、ROM、RAM等の記憶部からそれぞれ読み出して実行してよい。これら複数の装置のコンピュータプログラムは、それぞれ、外部のサーバ装置等からインストールすることができる。また、これら複数の装置のコンピュータプログラムは、それぞれ、CD-ROM、DVD-ROM、半導体メモリ等の記録媒体に格納された状態で流通する。
 今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本開示の範囲は、上記した意味ではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
 1 車両
 2 GW
 3 ECU
 5 無線通信装置
 6 IGスイッチ
 21 制御部
 21a 再起動判定部
 21b OS制御部
 21c アプリ制御部
 22 一次記憶部
 23 二次記憶部
 23a プログラム
 23b アプリテーブル
 24 通信部
 

Claims (12)

  1.  車両に搭載され、共通のハードウェア上で動作する複数のOS(Operating System)を制御する制御部を備える車載情報処理装置であって、
     前記制御部は、
     前記複数のOSの再起動の要否を判定し、
     一のOSを再起動する必要があると判定した場合、前記一のOS上で動作しているアプリケーションプログラムを、前記一のOSとは異なる他のOS上で動作させ、
     前記一のOSを再起動し、
     再起動の完了後に、前記他のOS上で動作している前記アプリケーションプログラムを、前記一のOS上で動作させる、
     車載情報処理装置。
  2.  前記制御部は、前記一のOSを再起動している間、前記他のOSを並行して動作させる、
     請求項1に記載の車載情報処理装置。
  3.  動作させるOS及びアプリケーションプログラムを一時的に記憶する記憶部を備え、
     前記制御部は、
     前記一のOS上で動作しているアプリケーションプログラムを前記他のOS上で動作させる場合に、前記一のOSが使用する前記記憶部の一の記憶領域に記憶された前記アプリケーションプログラムを、前記他のOSが使用する前記記憶部の他の記憶領域へコピーし、
     前記一のOSの再起動が完了した後に、前記他の記憶領域にコピーした前記アプリケーションプログラムを削除する、
     請求項1又は請求項2に記載の車載情報処理装置。
  4.  前記制御部は、
     前記一のOSを再起動する必要があると判定した場合に、前記一のOS上で動作している一又は複数のアプリケーションプログラムの中から、前記一のOSの再起動中に動作を継続させるべきアプリケーションプログラムを判定し、
     動作を継続させるべきと判定したアプリケーションプログラムを動作させることができる他のOSの有無を判定し、
     前記アプリケーションプログラムを動作させることができると判定した他のOSが使用する他の記憶領域に、前記アプリケーションプログラムを記憶する空き容量が存在するか否かを判定し、
     空き容量が存在すると判定した場合に、前記アプリケーションプログラムを前記他の記憶領域へコピーする、
     請求項3に記載の車載情報処理装置。
  5.  前記制御部は、前記空き容量が存在しないと判定した場合、前記一のOSの再起動を待機する、
     請求項4に記載の車載情報処理装置。
  6.  前記制御部は、前記車両のイグニッションスイッチがオン状態からオフ状態へ切り替えられた後、待機した前記一のOSの再起動を実施する、
     請求項5に記載の車載情報処理装置。
  7.  前記制御部は、
     前記他のOSが存在しないと判定した場合に、前記一のOSの代替となる代替OSを起動し、
     前記アプリケーションプログラムを前記代替OS上で動作させる、
     請求項3から請求項6までのいずれか1つに記載の車載情報処理装置。
  8.  前記代替OSは、前記一のOSが備える複数の機能の一部を有するOSである、請求項7に記載の車載情報処理装置。
  9.  各アプリケーションプログラムには優先度が設定されており、
     前記制御部は、前記優先度に応じて前記一のOSの再起動中に動作を継続させるべきアプリケーションプログラムを判定する、
     請求項3から請求項8までのいずれか1つに記載の車載情報処理装置。
  10.  前記制御部は、前記ハードウェアを仮想化した仮想環境で前記複数のOSを動作させる、
     請求項1から請求項9までのいずれか1つに記載の車載情報処理装置。
  11.  車両に搭載された車載情報処理装置が、共通のハードウェア上で動作する複数のOSを制御する制御方法であって、
     前記車載情報処理装置の制御部が、
     前記複数のOSの再起動の要否を判定し、
     一のOSを再起動する必要があると判定した場合、前記一のOS上で動作しているアプリケーションプログラムを、前記一のOSとは異なる他のOS上で動作させ、
     前記一のOSを再起動し、
     再起動の完了後に、前記他のOS上で動作している前記アプリケーションプログラムを、前記一のOS上で動作させる、
     制御方法。
  12.  車両に搭載されたコンピュータに、共通のハードウェア上で動作する複数のOSを制御する処理を実行させるコンピュータプログラムであって、
     前記コンピュータに、
     前記複数のOSの再起動の要否を判定し、
     一のOSを再起動する必要があると判定した場合、前記一のOS上で動作しているアプリケーションプログラムを、前記一のOSとは異なる他のOS上で動作させ、
     前記一のOSを再起動し、
     再起動の完了後に、前記他のOS上で動作している前記アプリケーションプログラムを、前記一のOS上で動作させる、
     処理を実行させるコンピュータプログラム。
     
PCT/JP2021/010070 2020-03-23 2021-03-12 車載情報処理装置、制御方法及びコンピュータプログラム WO2021193145A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/906,758 US20230214227A1 (en) 2020-03-23 2021-03-12 In-vehicle information processing apparatus, control method, and computer program
CN202180019368.0A CN115244510A (zh) 2020-03-23 2021-03-12 车载信息处理装置、控制方法及计算机程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020051504A JP7375643B2 (ja) 2020-03-23 2020-03-23 車載情報処理装置、制御方法及びコンピュータプログラム
JP2020-051504 2020-03-23

Publications (1)

Publication Number Publication Date
WO2021193145A1 true WO2021193145A1 (ja) 2021-09-30

Family

ID=77849169

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/010070 WO2021193145A1 (ja) 2020-03-23 2021-03-12 車載情報処理装置、制御方法及びコンピュータプログラム

Country Status (4)

Country Link
US (1) US20230214227A1 (ja)
JP (1) JP7375643B2 (ja)
CN (1) CN115244510A (ja)
WO (1) WO2021193145A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222376A (ja) * 1999-01-29 2000-08-11 Toshiba Corp 計算機システムとその運用方法
JP2006031203A (ja) * 2004-07-14 2006-02-02 Xanavi Informatics Corp 車載情報端末
JP2012003510A (ja) * 2010-06-17 2012-01-05 Mitsubishi Electric Corp 計算機及び転送プログラム
US20150278046A1 (en) * 2014-03-31 2015-10-01 Vmware, Inc. Methods and systems to hot-swap a virtual machine

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451443B2 (en) * 2003-10-01 2008-11-11 Hewlett-Packard Development Company, L.P. Online computer maintenance utilizing a virtual machine monitor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222376A (ja) * 1999-01-29 2000-08-11 Toshiba Corp 計算機システムとその運用方法
JP2006031203A (ja) * 2004-07-14 2006-02-02 Xanavi Informatics Corp 車載情報端末
JP2012003510A (ja) * 2010-06-17 2012-01-05 Mitsubishi Electric Corp 計算機及び転送プログラム
US20150278046A1 (en) * 2014-03-31 2015-10-01 Vmware, Inc. Methods and systems to hot-swap a virtual machine

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IDEHARA, AKIO ET AL.: "A proposal of S/W architecture based on functional separation for embedded processors", IPSJ SYMPOSIUM SERIES: PROCEEDINGS OF 2013 EMBEDDED SYSTEMS SYMPOSIUM, 2013, pages 123 - 130 *

Also Published As

Publication number Publication date
JP2021149840A (ja) 2021-09-27
US20230214227A1 (en) 2023-07-06
CN115244510A (zh) 2022-10-25
JP7375643B2 (ja) 2023-11-08

Similar Documents

Publication Publication Date Title
US20210240489A1 (en) Firmware update patch
JP2017059211A (ja) ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
EP3885903A1 (en) Cloud desktop upgrade method, device, cloud server, and storage medium
CN110069336A (zh) 内存资源分配方法、分配装置、芯片和存储装置
CN113448643B (zh) 配置数据管理系统及方法
WO2021193145A1 (ja) 車載情報処理装置、制御方法及びコンピュータプログラム
CN116775085A (zh) 多核异构片上系统更新方法、装置、芯片及交通设备
US20240054002A1 (en) Vehicle-mounted computer, computer execution method, and computer program
JP2022187646A (ja) Otaマスタ、システム、方法、プログラム、及び車両
CN115408064A (zh) 支持内核在线更新的方法、服务器和相关设备
CN110262522B (zh) 用于控制自动驾驶车辆的方法和装置
US20240036941A1 (en) Vehicle-mounted computer, computer execution method, and computer program
JP2019160133A (ja) 情報処理装置、情報処理システムおよび方法
US11954480B2 (en) Center, OTA master, system, method, non-transitory storage medium, and vehicle
US20220405083A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
US20070234303A1 (en) Software verification method, system and program
US11323331B2 (en) Cloud server and operating method of the same
JP7439773B2 (ja) 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
CN113485790B (zh) 一种虚拟机的重启方法、迁移方法和相关设备
US20220405080A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
US20220398089A1 (en) Vehicle control device and program management method
CN107025144B (zh) 用于写入以及读取数据集的方法
CN116088998A (zh) 通用串行总线usb设备重定向的方法和装置
JP2022126194A (ja) Otaマスタ、センタ、システム、方法、プログラム、及び車両
CN115718617A (zh) 车机ecu代码升级方法、装置、服务器及存储介质

Legal Events

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

Ref document number: 21775093

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21775093

Country of ref document: EP

Kind code of ref document: A1