Methods and programs used by in-vehicle devices.

JP7913448B2Active Publication Date: 2026-09-01TOYOTA JIDOSHA KK
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023083457
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-05-19
Publication Date
2026-09-01
Estimated Expiration
2043-05-19

AI Technical Summary

Benefits of technology

【0008】 本開示の一実施形態によれば、次世代方式の車両の車載装置の技術が改善される。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007913448000001
    Figure 0007913448000001
  • Figure 0007913448000002
    Figure 0007913448000002
  • Figure 0007913448000003
    Figure 0007913448000003
Patent Text Reader

Abstract

To improve technology of an on-vehicle device of a vehicle of a next generation system.SOLUTION: An on-vehicle device 10 adds a generated first task to the end of a queue. Next, the on-vehicle device 10 performs change processing including a step of determining whether an unexecuted second task exists immediately before the first task in the queue or not, a step of, if an unexecuted second task exists there, comparing a first priority assigned to the first task and a second priority assigned to the second task with each other, and a step of, if it is determined that the first priority is higher than the second priority, exchanging places of the first task and the second task in the queue. In addition, the on-vehicle device 10 repeatedly performs the change processing until it is determined that any unexecuted second task does not exist immediately before the first task in the queue or until it is determined that the first priority is equal to or lower than the second priority of the unexecuted second task existing immediately before the first task in the queue.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a method and a program executed by an in-vehicle device. [Background Art]

[0002] Conventionally, various functions such as a vehicle remote control (remote controller) function have been implemented by a dedicated microcontroller among a plurality of microcontrollers mounted on the vehicle. For example, Patent Document 1 discloses that a vehicle starts pre-air conditioning operation in response to an operation performed on a remote control device. [Prior Art Documents] [Patent Documents]

[0003] [Patent Document 1] Japanese Patent Laid-Open No. 2020-125050 [Summary of the Invention] [Problem to be Solved by the Invention]

[0004] In next-generation vehicles such as automobiles that use electric power as a power source, a system is adopted in which some functions such as the vehicle remote control function are collectively managed by an operating system (OS) of an in-vehicle device without using a dedicated microcontroller. In such a case, there is room for improvement in the technology of in-vehicle devices for vehicles.

[0005] An object of the present disclosure, which has been made in view of such circumstances, is to improve the technology for an in-vehicle device of a next-generation vehicle. [Means for Solving the Problem]

[0006] A method according to an embodiment of the present disclosure is: a method executed by an in-vehicle device that adds a plurality of tasks to a queue in the order of occurrence, the method comprising: adding a generated first task to an end of the queue; and A step of determining whether there is an unexecuted second task immediately preceding the first task in the queue, If it is determined that the second task exists, the steps include comparing the first priority assigned to the first task with the second priority assigned to the second task, and If the first priority is determined to be higher than the second priority, the order of the first task and the second task in the queue is swapped. Perform a replacement process that includes the following: Includes, The in-vehicle device repeatedly executes the swapping process until it is determined that there is no unexecuted second task immediately preceding the first task in the queue, or until it is determined that the first priority is less than or equal to the second priority of an unexecuted second task immediately preceding the first task in the queue.

[0007] A program according to one embodiment of this disclosure is In an in-vehicle device that adds multiple tasks to a queue in the order they occur, The first task that has occurred is added to the end of the queue. A step of determining whether there is an unexecuted second task immediately preceding the first task in the queue, If it is determined that the second task exists, the steps include comparing the first priority assigned to the first task with the second priority assigned to the second task, and If the first priority is determined to be higher than the second priority, the order of the first task and the second task in the queue is swapped. Perform replacement procedures that include the necessary equipment. The swapping process is repeatedly executed until it is determined that there is no unexecuted second task immediately preceding the first task in the queue, or until it is determined that the first priority is less than or equal to the second priority of the unexecuted second task immediately preceding the first task in the queue. [Effects of the Invention]

[0008] According to one embodiment of the present disclosure, the technology of in-vehicle devices for next-generation vehicles is improved. [Brief explanation of the drawing]

[0009] [Figure 1] This block diagram shows a schematic configuration of a system according to one embodiment of the present disclosure. [Figure 2] This is a block diagram showing the schematic configuration of the in-vehicle device hardware. [Figure 3] This is a block diagram illustrating the general configuration of the software for in-vehicle devices. [Figure 4] This is a flowchart showing the operation of the in-vehicle device. [Figure 5] This is a conceptual diagram showing the queue state of the in-vehicle device when this embodiment is not present and the queue state of the in-vehicle device when this embodiment is present. [Modes for carrying out the invention]

[0010] The embodiments of this disclosure will be described below.

[0011] (Summary of the embodiment) Referring to Figure 1, an overview of System 1 according to an embodiment of this disclosure will be described. System 1 comprises an in-vehicle device 10, a terminal device 20, and an information processing device 30. The in-vehicle device 10, the terminal device 20, and the information processing device 30 are communicated with a network 40, including, for example, the Internet and a mobile communication network.

[0012] The in-vehicle device 10 is a computer mounted on a vehicle. The computer is equipped with an OS, and the OS adds a plurality of tasks to a queue in the order of occurrence, as will be described later. The vehicle is, for example, an automobile, but is not limited thereto and may be any vehicle. The automobile is, for example, an automobile using electric power as a power source such as BEV (Battery Electric Vehicle), HEV (Hybrid Electric Vehicle), PHEV (Plug-in Hybrid Electric Vehicle), or FCEV (Fuel Cell Electric Vehicle), but is not limited to these.

[0013] The terminal device 20 is a computer such as a PC (Personal Computer), a smartphone, or a tablet terminal, or a dedicated device having a function as a vehicle key, and is a portable device for a vehicle such as a key fob, a smart key, or a key card. In the present embodiment, the terminal device 20 can communicate with the in-vehicle device 10, and is used by a user such as a vehicle driver, for example, to remotely control the vehicle.

[0014] The information processing device 30 is a computer such as a server device, for example. The information processing device 30 can communicate with the in-vehicle device 10 and the terminal device 20 via the network 40.

[0015] First, an outline of the present embodiment will be described, and details will be described later. The in-vehicle device 10 adds a generated first task to the end of a queue. Next, the in-vehicle device 10 executes replacement processing including: a step of determining whether or not an unexecuted second task exists immediately before the first task in the queue; a step of comparing a first priority assigned to the first task with a second priority assigned to the second task when it is determined that the second task exists; and a step of swapping the positions of the first task and the second task in the queue when it is determined that the first priority is higher than the second priority. The in-vehicle device 10 repeatedly executes the replacement processing until it is determined that no unexecuted second task exists immediately before the first task in the queue, or until it is determined that the first priority is equal to or lower than the second priority of the unexecuted second task existing immediately before the first task in the queue.

[0016] As described above, according to the present embodiment, the first task is executed earlier than unexecuted tasks having a lower priority than the first task. Therefore, compared with an in-vehicle device not adopting the present embodiment, the response of the function achieved by executing the first task can be faster. Accordingly, according to the present embodiment, the technology of an in-vehicle device for a next-generation vehicle is improved in that the response of a function with high priority can be improved.

[0017] Next, each configuration of the system 1 will be described in detail.

[0018] (Hardware Configuration of In-Vehicle Device) As shown in Figure 2, the in-vehicle device 10 includes a communication unit 11, an output unit 12, an input unit 13, a storage unit 14, and a control unit 15.

[0019] The communication unit 11 includes one or more communication interfaces connected to the network 40. These communication interfaces may, for example, support mobile communication standards such as 4G (4th Generation) or 5G (5th Generation), but are not limited to these. In this embodiment, the in-vehicle device 10 communicates with the terminal device 20 and the information processing device 30 via the communication unit 11 and the network 40.

[0020] The output unit 12 includes one or more output devices that output information. These output devices are, for example, a display that outputs information as images, or a speaker that outputs information as sound, but are not limited to these. Alternatively, the output unit 12 may include an interface for connecting an external output device.

[0021] The input unit 13 includes one or more input devices for detecting user input operations. These input devices are, but are not limited to, physical keys, capacitive keys, mice, touch panels, touchscreens integrated with the display of the output unit 12, or microphones. Alternatively, the input unit 13 may include an interface for connecting external input devices.

[0022] The storage unit 14 includes one or more memories. The memories are, for example, semiconductor memories, magnetic memories, or optical memories, but are not limited to these. Each memory included in the storage unit 14 may function as, for example, a main memory, an auxiliary memory, or a cache memory. For example, the storage unit 14 may store system programs, application programs, and embedded software. For example, the information stored in the storage unit 14 may be updatable with information obtained from the network 40 via, for example, the communication unit 11.

[0023] The control unit 15 includes one or more processors, one or more programmable circuits, one or more dedicated circuits, or a combination thereof. The processor is a general-purpose processor such as a CPU (Central Processing Unit) or GPU (Graphics Processing Unit), or a dedicated processor specialized for a specific process, but is not limited to these. The programmable circuit is an FPGA (Field-Programmable Gate Array), but is not limited to this. The dedicated circuit is an ASIC (Application Specific Integrated Circuit), but is not limited to this. The control unit 15 controls the operation of the entire vehicle equipped with the in-vehicle device 10.

[0024] (Software configuration of in-vehicle devices) As shown in Figure 3, the in-vehicle device 10 includes an OS 110 and a queue to which generated tasks 120 are added.

[0025] OS110 manages the execution of multiple tasks 120, including operating systems such as Microsoft Windows®, UNIX®, Solaris®, LINUX®, Apple®, MAC-OS®, and Apple iOS®. OS110 manages the execution order of the multiple tasks 120 by adding each task to the end of the queue whenever one of the tasks 120 occurs.

[0026] In this embodiment, each of the multiple tasks 120 is either a task that arises in response to user operation on the terminal device 20, or another task. Specifically, tasks that arise in response to user operation on the terminal device 20 are, for example, tasks that arise in response to so-called remote operation, such as a task to remotely open and close the vehicle door, or a task to remotely operate the vehicle's air conditioner, but are not limited to these. Other tasks are, for example, tasks that perform a data collection function to send the vehicle's status to the information processing device 30, or tasks that configure the vehicle, but are not limited to these.

[0027] (Operation flow of in-vehicle equipment) Next, with reference to Figure 4, the operation of the in-vehicle device 10 according to this embodiment will be described.

[0028] S100: The control unit 15 of the in-vehicle device 10 adds the generated first task to the end of the queue.

[0029] The first task is generated by, for example, user operation using the terminal device 20, a request from the information processing device 30 to transmit data such as the status of the vehicle, a request from outside the in-vehicle device 10 such as receiving data at regular intervals, or a timer activation, but is not limited to these, and can be generated by any trigger. The control unit 15 adds the generated first task to the end of the queue stored in the storage unit 14.

[0030] S101: The control unit 15 determines whether there is an unexecuted second task immediately preceding the first task in the queue. If it is determined that an unexecuted second task exists (S101-Yes), the process proceeds to S102; if it is determined that there is no such task (S101-No), the process terminates.

[0031] Specifically, the control unit 15 checks whether a second task exists immediately before the first task in the queue stored in the memory unit 14. If it is determined that a second task exists, the control unit 15 then checks the status of that second task. If it is determined that the status is not executed (S101-Yes), the process proceeds to S102. On the other hand, if it is determined that a second task does not exist immediately before the first task, or if a second task exists but its status is not not executed (S101-No), the process terminates.

[0032] S102: If it is determined in S101 that there is a second task that has not yet been executed (S101-Yes), the control unit 15 compares the first priority assigned to the first task with the second priority assigned to the second task. If it is determined that the first priority is higher than the second priority (S102-Yes), the process proceeds to S103; if it is determined that there is no second task (S102-No), the process terminates.

[0033] Specifically, if it is determined in S101 that there is an unexecuted second task (S101-Yes), the control unit 15 obtains the first priority assigned to the first task and the second priority assigned to the second task from the properties of each task stored in the memory unit 14. Next, the control unit 15 compares the first priority with the second priority. If it is determined that the first priority is higher than the second priority (S102-Yes), the process proceeds to S103; if it is determined that there is no such task (S102-No), the process terminates. The information that the control unit 15 obtains from the properties of each task may also be the type of task (for example, a task that arises in response to user operation, or another task), and in this case, the control unit 15 may determine the first priority assigned to the first task and the second priority assigned to the second task according to the type of task.

[0034] The priority assigned to each task, including the first or second priority, may be any value that can be compared, such as "high" or "low," "0" or "1," or an integer value. If the value used for priority is an integer, the priority may be higher for the smaller value, or higher for the larger value.

[0035] In this embodiment, the priority assigned to tasks that arise in response to user operations is set to be higher than the priority assigned to other tasks. However, the priority assigned to each task may be changeable.

[0036] The priority assigned to each task may be changed depending on the vehicle's status. For example, when the vehicle is in a state before initial setup, the priority assigned to the task of configuring the vehicle may be set higher than the priority assigned to tasks that arise in response to user operations. When the vehicle is in a state after initial setup, the priority assigned to tasks that arise in response to user operations may be set higher than the priority assigned to the task of configuring the vehicle.

[0037] S103: If it is determined that the first priority is higher than the second priority (S102-Yes), the control unit 15 swaps the order of the first task and the second task in the queue.

[0038] Specifically, if it is determined that the first priority is higher than the second priority (S102-Yes), the control unit 15 swaps the order of the first task and the second task in the queue. In other words, the first task will be executed before the second task. After that, the process returns to S101.

[0039] As described above, the control unit 15 repeatedly performs the swapping process (corresponding to S101 to S103 in Figure 4) until it is determined that there is no unexecuted second task immediately preceding the first task in the queue (S101-No), or until it is determined that the first priority is less than or equal to the second priority of the unexecuted second task immediately preceding the first task in the queue (S102-No).

[0040] Figure 5 shows the queue state of the in-vehicle device 10 when this embodiment is not present and when this embodiment is present. The numbers assigned to the tasks indicate the order in which the tasks are created. As shown in Figure 5, in the queue of the in-vehicle device 10 with this embodiment, tasks with higher priority are executed first, excluding task 1 which is currently running.

[0041] As described above, the in-vehicle device 10 adds the generated first task to the end of the queue. Next, the in-vehicle device 10 performs a swapping process which includes the steps of: determining whether there is an unexecuted second task immediately preceding the first task in the queue; if it is determined that a second task exists, comparing the first priority assigned to the first task with the second priority assigned to the second task; and if it is determined that the first priority is higher than the second priority, swapping the order of the first task and the second task in the queue. The in-vehicle device 10 repeatedly performs the swapping process until it is determined that there is no unexecuted second task immediately preceding the first task in the queue, or until it is determined that the first priority is less than or equal to the second priority of the unexecuted second task that is immediately preceding the first task in the queue.

[0042] With this configuration, the first task is executed before any unexecuted tasks with lower priority than the first task. Therefore, the response time of the functions performed by the execution of the first task can be faster than in an in-vehicle device without this embodiment. Accordingly, this embodiment improves the technology of in-vehicle devices for next-generation vehicles by improving the response time of high-priority functions.

[0043] While this disclosure has been described based on the drawings and embodiments, it should be noted that those skilled in the art may make various modifications and alterations based on this disclosure. Therefore, it should be noted that these modifications and alterations are within the scope of this disclosure. For example, the functions, etc., included in each component or step can be rearranged in a logically consistent manner, and multiple components or steps can be combined into one or divided into two.

[0044] For example, in the embodiment described above, the in-vehicle device 10 does not need to be housed in a single enclosure, and some components may be located in separate locations. For example, the communication unit 11, output unit 12, input unit 13, storage unit 14, and control unit 15 may each be located in different locations within the vehicle, or the output unit 12 and input unit 13 may be located in the same location within the vehicle, while the others are located in different locations. Any combination is possible.

[0045] Furthermore, it is also possible to implement an embodiment in which a general-purpose computer functions as the in-vehicle device 10 according to the above-described embodiment. Specifically, a program describing the processing content that realizes each function of the in-vehicle device 10 according to the above-described embodiment is stored in the memory of the general-purpose computer, and the processor reads and executes the program. Therefore, this disclosure can also be implemented as a program that can be executed by a processor, or as a non-temporary computer-readable medium that stores the program. [Explanation of Symbols]

[0046] 1 System 10 Onboard equipment 11 Communications Department 12 Output section 13 Input section 14 Storage section 15 Control Unit 20 Terminal devices 30 Information Processing Devices 40 Networks 110 OS 120 tasks

Claims

1. A method to be performed by an in-vehicle device that operates on a general-purpose OS and adds multiple tasks to a queue in the order in which they occur, The in-vehicle device comprises a control unit and a storage unit, The control unit adds the generated first task to the end of the queue, The control unit, A step of determining whether there is an unexecuted second task immediately preceding the first task in the queue, If it is determined that the second task exists, the steps include comparing the first priority assigned to the first task with the second priority assigned to the second task, and If it is determined that the first priority is higher than the second priority, the order of the first task and the second task in the queue is swapped. Perform a replacement process that includes the following: The control unit sets the priority assigned to tasks that arise in response to a user's remote vehicle operation of the terminal device to be higher than the priority assigned to other tasks, Includes, The in-vehicle device is a method in which the control unit repeatedly executes the swapping process until it is determined that there is no unexecuted second task immediately preceding the first task in the queue, or until it is determined that the first priority is less than or equal to the second priority of an unexecuted second task that is immediately preceding the first task in the queue.

2. The method according to claim 1, Depending on the vehicle's status, the priority assigned to each task can be changed. Methods that further include the above.

3. The method according to claim 2, If the vehicle's status is before initial setup, the priority assigned to the task of configuring the vehicle is set higher than the priority assigned to the task that arises in response to the remote operation of the vehicle, and If the vehicle's status has been initialized, the priority assigned to tasks that arise in response to remote operation of the vehicle shall be set higher than the priority assigned to tasks that configure the vehicle. Methods that further include the above.

4. A program that runs on a general-purpose OS, In an in-vehicle device that adds multiple tasks to a queue in the order they occur, The first task that has been generated is added to the end of the queue. A step of determining whether there is an unexecuted second task immediately preceding the first task in the queue, If it is determined that the second task exists, the steps include comparing the first priority assigned to the first task with the second priority assigned to the second task, and If it is determined that the first priority is higher than the second priority, the order of the first task and the second task in the queue is swapped. Perform replacement procedures that include the necessary equipment. Setting a higher priority for tasks that arise in response to a user's remote vehicle operation of a terminal device than for other tasks. A program that executes the swapping process repeatedly until it is determined that there is no unexecuted second task immediately preceding the first task in the queue, or until it is determined that the first priority is less than or equal to the second priority of an unexecuted second task immediately preceding the first task in the queue.

5. The program according to claim 4, Depending on the vehicle's status, the priority assigned to each task can be changed. A program that performs further actions.

Citation Information

Patent Citations

  • Method for remotely controlling vehicle on the basis of smart apparatus

    EP3726806A1

  • In-vehicle device, scheduling program, and scheduling method

    JP2012185541A

  • Electronic control device

    JP2015170180A

  • Vehicle air conditioner

    JP2020125050A

  • Optimal scheduling for CAD architecture

    US20090165009A1