Information processing device, information processing system, and information processing method

By adjusting processing time differences between cloud and in-vehicle devices through parameter setting, the method addresses performance disparities, reducing rework and maintaining development efficiency for virtual ECU software.

JP7795847B2Active Publication Date: 2026-01-08PANASONIC AUTOMOTIVE SYST CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023043009
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-03-17
Publication Date
2026-01-08
Estimated Expiration
2043-03-17

AI Technical Summary

Technical Problem

The performance difference between cloud servers and in-vehicle hardware leads to issues when virtual ECU software developed on the cloud server is tested on in-vehicle hardware, resulting in rework and decreased development efficiency.

Method used

An information processing device and method that adjusts the processing time difference between cloud and in-vehicle devices by acquiring time information from both, determining and setting parameters to minimize this difference, using cgroups and other resource allocation mechanisms.

Benefits of technology

This approach reduces the need for rework and maintains development efficiency by aligning processing speeds, preventing bugs and QoS issues during in-vehicle testing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007795847000001
    Figure 0007795847000001
  • Figure 0007795847000002
    Figure 0007795847000002
  • Figure 0007795847000003
    Figure 0007795847000003
Patent Text Reader

Abstract

To provide a technology for suppressing a decrease in development efficiency when developing software operating on a first apparatus by using a second apparatus having a higher processing speed than the first apparatus.SOLUTION: An adjustment apparatus 16 acquires first time information related to the time in which an in-vehicle apparatus 12 executes a predetermined process. The adjustment apparatus 16 acquires second time information related to the time in which a cloud server 14 executes the predetermined process, the cloud server 14 executing a test of software operating on the in-vehicle apparatus 12 and having a processing speed higher than that of the in-vehicle apparatus 12. The adjustment apparatus 16 determines a value of a parameter related to execution of the process in the cloud server 14 so as to reduce a difference in time between the in-vehicle apparatus 12 and the cloud server 14 based on the first time information and the second time information. The adjustment apparatus 16 sets the determined value of the parameter on the cloud server 14.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to data processing technology, and more particularly to an information processing device, an information processing system, and an information processing method. [Background technology]

[0002] In order to make effective use of computer hardware resources, virtualization infrastructure software (also called "hypervisor") is being developed. Patent Document 1 proposes a cloud system that updates the resource usage trends of each of a plurality of virtual machines that run on one of a plurality of physical machines, and changes the physical machine on which the plurality of virtual machines run based on the updated resource usage trends. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2020-38436 Summary of the Invention [Problem to be solved by the invention]

[0004] In recent years, efforts have been made to virtualize ECUs and develop virtual ECU software that runs on a hypervisor on a cloud server in order to improve the efficiency of development of ECUs (Electronic Control Units) to be installed in vehicles.Even when development is performed on a cloud server, it is essential to test and evaluate the virtual ECU software using the actual computer hardware installed in the vehicle (the execution environment for the virtual ECU software, hereafter also referred to as "automotive hardware").

[0005] There is a performance difference between the cloud server and the in-vehicle hardware; that is, the cloud server has a higher processing speed than the in-vehicle hardware. Therefore, when virtual ECU software developed on the cloud server is tested on the in-vehicle hardware, problems due to this performance difference can occur, which can lead to rework when testing on the in-vehicle hardware.

[0006] The present disclosure has been made in consideration of the above-mentioned problems, and one purpose is to provide a technology that suppresses a decrease in development efficiency when software that runs on a first device is developed on a second device that has a processing speed faster than the first device. [Means for solving the problem]

[0007] In order to solve the above problem, an information processing device according to one aspect of the present disclosure includes a first acquisition unit that acquires first time information regarding the time when a first device executed a specified process; a second acquisition unit that acquires second time information regarding the time when a second device, which executes tests of software running on the first device and has a processing speed faster than the first device, executed the specified process; a determination unit that determines the value of a parameter regarding the execution of the process on the second device so as to reduce the difference between the first time information and the second time information; and a setting unit that sets the value of the parameter determined by the determination unit in the second device.

[0008] Another aspect of the present disclosure is an information processing system including: a first acquisition unit that acquires first time information relating to a time when a first device executed a predetermined process; a second acquisition unit that acquires second time information relating to a time when a second device, which executes a test of software running on the first device and has a processing speed faster than that of the first device, executed the predetermined process; a determination unit that determines a value of a parameter relating to the execution of the process on the second device so as to reduce a difference between the first time information and the second time information; and a setting unit that sets the value of the parameter determined by the determination unit in the second device.

[0009] Yet another aspect of the present invention is an information processing method, which is executed by a computer to acquire first time information relating to the time a first device executed a predetermined process, acquire second time information relating to the time a second device, which executes a test of software running on the first device and has a processing speed faster than the first device, executed the predetermined process, determine a value of a parameter relating to the execution of the process on the second device so as to reduce the difference between the first time information and the second time information, and set the determined value of the parameter in the second device.

[0010] Any combination of the above components, or any expression of the present disclosure converted into a computer program, a recording medium on which a computer program is recorded, or the like, is also valid as an aspect of the present disclosure. [Effects of the Invention]

[0011] According to the technology of the present disclosure, it is possible to suppress a decrease in development efficiency when software that runs on a first device is developed on a second device that has a processing speed faster than the first device. [Brief explanation of the drawings]

[0012] [Figure 1] 1(A) and 1(B) are diagrams that schematically show the operating environment of a virtual ECU. [Figure 2] FIG. 1 is a diagram schematically illustrating a problem that arises when developing a virtual ECU on a cloud server. [Figure 3] FIG. 2 is a diagram schematically illustrating development of a virtual ECU according to an embodiment. [Figure 4] FIG. 1 illustrates a configuration of a development system according to an embodiment. [Figure 5] FIG. 5 is a block diagram showing functional blocks of the adjustment device of FIG. 4. [Figure 6] 4 is a flowchart showing the operation of the adjustment device of the embodiment. [Figure 7] FIG. 10 is a diagram illustrating a difference in processing time between an in-vehicle device and a cloud server. [Figure 8] FIG. 10 is a diagram illustrating an adjustment process. [Figure 9] FIG. 10 is a diagram illustrating an example of analysis information. [Figure 10] FIG. 10 is a diagram illustrating an example of control parameters related to cgroups. [Figure 11] 11(A) and 11(B) are diagrams showing examples of analysis information. DETAILED DESCRIPTION OF THE INVENTION

[0013] The subject of the device or method of this disclosure includes a computer. The computer executes a program to realize the functions of the subject of the device or method of this disclosure. The computer's main hardware component is a processor that operates according to the program. The processor may be of any type, as long as it can realize the functions by executing the program. The processor may be composed of one or more electronic circuits, including a semiconductor integrated circuit (IC) or large-scale integration (LSI). While the terms IC and LSI are used here, the term may be used depending on the degree of integration, and may be referred to as a system LSI, very large-scale integration (VLSI), or ultra-large-scale integration (USLI). Field-programmable gate arrays (FPGAs), which are programmable after LSI fabrication, or reconfigurable logic devices that can reconfigure the connections within the LSI or set up circuit blocks within the LSI, can also be used for the same purpose. Multiple electronic circuits may be integrated on a single chip or on multiple chips. The former is called a System on Chip (SoC). Multiple chips may be integrated into a single device, or may be installed in multiple devices. The program may be recorded on a non-transitory recording medium such as a computer-readable Read Only Memory (ROM), optical disk, or hard disk drive, or on a temporary storage medium such as a computer-readable Random Access Memory (RAM). The program may be pre-stored on a recording medium, or may be supplied to the recording medium or storage medium via a wide area communication network, including the Internet.

[0014] First, an outline of an embodiment will be described. In order to improve the efficiency of development of ECUs to be installed in vehicles, efforts have been started to virtualize ECUs and develop virtual ECU software that runs on a hypervisor on a cloud server. The virtual ECU software can also be called a virtual ECU-VM (Virtual Machine), and hereinafter simply referred to as a "virtual ECU." The cloud server is a virtual server built by a cloud service provider or a server for in-house development.

[0015] 1(A) and 1(B) show schematic diagrams of the operating environment of a virtual ECU. FIG. 1(A) shows the operating environment of a real device. Virtual ECU1 and virtual ECU2 run on an in-vehicle hypervisor on computer hardware (in-vehicle hardware) installed in a vehicle. Virtual ECU1 may execute processing related to steering control, for example. Virtual ECU2 may execute processing related to infotainment, for example.

[0016] Figure 1(B) shows the operating environment during development and testing in the cloud. Virtual ECU1 and virtual ECU2 run on a general-purpose hypervisor on a cloud server. The monitoring VM shown in Figures 1(A) and 1(B) is a VM that performs processes related to monitoring, analysis, verification, and evaluation of other VMs (e.g., virtual ECU1 and virtual ECU2) running on the hypervisor.

[0017] Figure 2 shows a schematic diagram of the challenges involved in developing a virtual ECU on a cloud server. Cloud servers generally have faster processing speeds than in-vehicle hardware. Therefore, when a virtual ECU developed on a cloud server is tested on in-vehicle hardware, bugs due to hardware differences or issues such as not meeting QoS (Quality of Service) requirements may occur. This can result in rework during testing on the in-vehicle hardware. The "design" and "test" in Figure 2 can be applied to the design and verification processes in the software engineering process group of the Automotive SPICE (Software Process Improvement and Capability dEtermination) standard, or they can be considered as "design" and "test" in software development methods not limited to in-vehicle software, such as DevOps.

[0018] FIG. 3 schematically illustrates the development of a virtual ECU according to an embodiment. In this embodiment, the processing of the virtual ECU on the cloud server is controlled so as to minimize the difference between the processing time of the virtual ECU on the cloud server and the processing time of the virtual ECU on the in-vehicle hardware. The processing time can also be referred to as the processing speed. This can prevent bugs and problems such as QoS requirement non-fulfillment from occurring during testing of the virtual ECU using the in-vehicle hardware. In other words, it is possible to prevent rework during testing using the in-vehicle hardware and prevent a decrease in the efficiency of virtual ECU development.

[0019] The technology of the embodiment will be described in detail below. 4 shows the configuration of a development system 10 according to an embodiment. The development system 10 is an information processing system that includes an in-vehicle device 12, a cloud server 14, and an adjustment device 16. These devices are connected via a communication network 18, which may include a LAN, a WAN, the Internet, or the like.

[0020] The in-vehicle device 12 corresponds to the in-vehicle hardware in FIG. 1A and is an information processing device that executes processing related to actual device testing of the virtual ECU. The cloud server 14 corresponds to the cloud server in FIG. 1B and is an information processing device that executes processing related to development and testing of the virtual ECU. The cloud server 14 has a higher processing speed than the in-vehicle device 12, in other words, it takes less time to process the virtual ECU. The adjustment device 16 is an information processing device that adjusts the difference in processing time between the in-vehicle device 12 and the cloud server 14 to reduce the difference in processing time, in other words, adjusts the processing speeds of the two devices to be closer.

[0021] Figure 5 is a block diagram showing the functional blocks of the adjustment device 16 in Figure 4. Each block shown in the block diagram of the present disclosure can be realized in hardware terms by a processor or storage device, such as a computer's CPU or memory, or in software terms by a computer program, etc., but here, the functional blocks realized by the cooperation of these are depicted. Those skilled in the art will understand that these functional blocks can be realized in various ways by combining hardware and software.

[0022] The adjustment device 16 includes a processing unit 20, a storage unit 22, and a communication unit 24. The processing unit 20 executes various data processing related to the adjustment. The storage unit 22 stores data referenced or updated by the processing unit 20. The communication unit 24 communicates with external devices according to a predetermined communication protocol. The processing unit 20 transmits and receives data to and from the in-vehicle device 12 and also transmits and receives data to and from the cloud server 14 via the communication unit 24.

[0023] The storage unit 22 includes an analysis information storage unit 26. The analysis information storage unit 26 stores analysis information, which is the result of analysis based on the first log and the second log described below. The analysis information can be said to be information regarding the execution time of a predetermined data process for measuring the processing time in each of the in-vehicle device 12 and the cloud server 14. In other words, the analysis information can be said to be information regarding the execution speed of the predetermined data process in each of the in-vehicle device 12 and the cloud server 14. In this embodiment, the predetermined data process for measuring the processing time is the processing of a virtual ECU to be tested. As a variant, the predetermined data process may be an extracted typical process in the virtual ECU. Furthermore, when developing a next-generation model of the virtual ECU, the processing of the current model of the virtual ECU may be used as the predetermined data process.

[0024] The processing unit 20 includes a first log acquisition unit 30, a second log acquisition unit 32, an analysis unit 34, a parameter determination unit 36, a parameter setting unit 38, and an analysis information output unit 40. The functions of these multiple functional blocks may be implemented in a computer program (also referred to here as an "adjustment program"). The adjustment program may be stored in a recording medium and installed in the storage of the adjustment device 16 via the recording medium, or may be downloaded via a network and installed in the storage of the adjustment device 16. A processor (such as a CPU) of the adjustment device 16 may perform the functions of the above multiple functional blocks by reading the adjustment program into main memory and executing it.

[0025] The first log acquisition unit 30 acquires a first log including first time information relating to the time when the in-vehicle device 12 executed the processing of the virtual ECU. The second log acquisition unit 32 acquires a second log including second time information relating to the time when the cloud server 14 executed the processing of the virtual ECU.

[0026] The analysis unit 34 generates analysis information relating to the difference between the first time information indicated by the first log and the second time information indicated by the second log. The analysis information can also be said to be information indicating the difference between the in-vehicle device 12 and the cloud server 14. The analysis unit 34 stores the generated analysis information in the analysis information storage unit 26.

[0027] The parameter determination unit 36 ​​determines the value of a parameter (hereinafter also referred to as a "control parameter") related to the execution of processing in the cloud server 14 so as to reduce the difference between the first time information and the second time information. The parameter setting unit 38 sets the value of the control parameter determined by the parameter determination unit 36 ​​in the cloud server 14.

[0028] The analysis information output unit 40 outputs the analysis information generated by the analysis unit 34 and stored in the analysis information storage unit 26. In response to a request from a user terminal (not shown) (e.g., a developer of a virtual ECU), the analysis information output unit 40 may transmit the analysis information to a user terminal (not shown) for display. The analysis information output unit 40 may also transmit the analysis information to an external predetermined storage device for storage.

[0029] The operation of the development system 10 configured as above will now be described. The monitoring VM of the in-vehicle device 12 transmits a first log including start times of multiple processes in the virtual ECU under test that have been executed on the in-vehicle hypervisor to the coordination device 16. The monitoring VM of the cloud server 14 transmits a second log including start times of multiple processes in the virtual ECU under test (the same as those executed on the in-vehicle hypervisor) that have been executed on the general-purpose hypervisor to the coordination device 16. As a variation, the monitoring VM of the cloud server 14 and the monitoring VM of the in-vehicle device 12 may transmit end times of the multiple processes in the virtual ECU to the coordination device 16 instead of or in addition to the start times of the multiple processes.

[0030] In the embodiment, the plurality of processes in the virtual ECU includes a series of seven processes that are executed sequentially. For example, the plurality of processes in the virtual ECU may include the following processes 1 to 4. Process 1: Draw the screen once Process 2: Audio playback process Process 3: Downloading the specified data via the network Process 4: Compressing or decompressing the video

[0031] 6 is a flowchart showing the operation of the adjustment device 16 according to the embodiment. The first log acquisition unit 30 of the adjustment device 16 acquires a first log transmitted from the in-vehicle device 12, the first log indicating the start time of each of the seven processes in the virtual ECU. The second log acquisition unit 32 of the adjustment device 16 acquires a second log transmitted from the cloud server 14, the second log indicating the start time of each of the seven processes in the virtual ECU (S10).

[0032] The analysis unit 34 of the adjustment device 16 generates analysis information regarding the difference between the on-board device 12 and the cloud server 14 based on the first log and the second log acquired in S10 (S12). If the difference between the first time information and the second time information indicated by the analysis information, in other words, the difference in processing speed between the on-board device 12 and the cloud server 14, exceeds a predetermined threshold (N in S14), the parameter determination unit 36 ​​of the adjustment device 16 determines the value of a control parameter in the cloud server 14 so as to reduce the difference (S16).

[0033] The parameter setting unit 38 of the adjustment device 16 sets the control parameter values ​​determined in S16 in the cloud server 14 (S18). The parameter setting unit 38 may communicate with the monitoring VM of the cloud server 14 and cause the monitoring VM to execute processing to set the control parameter values ​​in the cloud server 14. If the difference between the first time information and the second time information indicated by the analysis information is within a predetermined threshold (Y in S14), the processing in this figure ends, that is, the adjustment device 16 ends the adjustment processing of the cloud server 14. The cloud server 14 continues testing the virtual ECU in the post-adjustment environment.

[0034] 7 schematically shows the difference in processing time between the in-vehicle device 12 and the cloud server 14. In FIG. 7, when the cloud server 14 has completed seven processes (process 1 to process 7) in the virtual ECU, the in-vehicle device 12 has only completed four processes (process 1 to process 4) in the virtual ECU.

[0035] FIG. 8 schematically illustrates the adjustment process. In the example of FIG. 8, adjustment device 16 sets the control parameters of cloud server 14 so as to provide a wait time for each process in the virtual ECU in cloud server 14. The wait time can also be considered a period of time during which a process is not executed. This reduces the difference between the time until process 4 is completed in cloud server 14 and the time until process 4 is completed in in-vehicle device 12. Note that adjustment device 16 may set the time until process 4 is completed in in-vehicle device 12 as a latency target, and adjust the control parameters of cloud server 14, for example, to set a wait time, so that the time until process 4 is completed in cloud server 14 approaches the latency target.

[0036] FIG. 9 shows an example of analysis information. The second log transmitted from the cloud server 14 to the adjustment device 16 records the start times of processes 1 to 7 in the cloud server 14. The start time of process 7 (≈ total processing time up to process 6) is 0.00713 seconds. The analysis unit 34 of the adjustment device 16 calculates the processing time of process N (processes 1 to 6) by subtracting the start time of process N+1. The first log transmitted from the in-vehicle device 12 to the adjustment device 16 records the start times of processes 1 to 4 in the in-vehicle device 12. The analysis unit 34 calculates the processing time of process N (processes 1 to 3) by subtracting the start time of process N+1.

[0037] The analysis unit 34 also calculates the difference in time required to execute each process between the cloud server 14 and the in-vehicle device 12. The total processing time difference is 0.00408 seconds. If the difference in processing time between the cloud server 14 and the in-vehicle device 12 exceeds a predetermined threshold, the parameter determination unit 36 ​​of the adjustment device 16 determines the value of a control parameter to reduce the difference. This threshold may be an appropriate value determined based on the developer's knowledge or experiments using the development system 10. The threshold may be, for example, 0.00100 seconds.

[0038] In the embodiment, the parameter determination unit 36 ​​of the adjustment device 16 uses the cgroups function of the operating system (e.g., Linux (registered trademark)) of the cloud server 14 to adjust the allocation of CPUs to virtual ECU processes of the cloud server 14. The parameter determination unit 36 ​​determines the values ​​of control parameters related to cgroups.

[0039] Figure 10 shows an example of control parameters related to cgroups. "cpu.cfs_period_us" is the interval at which cgroups reallocate access to CPU resources, specified in microseconds. "cpu.cfs_quota_us" is the total time that all tasks in the cgroups execute within the period determined by cpu.cfs_period_us, specified in microseconds. The difference between the time determined by cpu.cfs_period_us and the time determined by cpu.cfs_quota_us can be said to be the execution prohibition time during which allocation of CPU resources is prohibited.

[0040] 9, the parameter determination unit 36 ​​determines, as the value of cpu.cfs_period_us, 7130 microseconds, which is the start time of process 7 in the cloud server 14 (≈ the total processing time up to process 6). Furthermore, the execution prohibition time in the example of FIG. 9 is 4080 microseconds, which is the total difference in processing time between the cloud server 14 and the in-vehicle device 12. Therefore, the parameter determination unit 36 ​​determines, as the value of cpu.cfs_quota_us, 3050 microseconds, which is the difference between 7130 microseconds and 4080 microseconds.

[0041] The parameter setting unit 38 sets cpu.cfs_period_us to 7130 microseconds and transmits data instructing the setting of cpu.cfs_quota_us to 3050 microseconds to the monitoring VM of the cloud server 14. The monitoring VM sets the received control parameter values ​​in the cloud server 14 (for example, an OS).

[0042] Alternatively, the control parameters may include parameters other than those for cgroups, and may also include parameters for controlling system resources other than the CPU (for example, memory, network, and I / O).

[0043] The cloud server 14 and the in-vehicle device 12 test the virtual ECU multiple times. The analysis unit 34 of the adjustment device 16 generates analysis information for each test. The parameter determination unit 36 ​​of the adjustment device 16 compares the processing time difference between the cloud server 14 and the in-vehicle device 12 in each test with a threshold, and ends the adjustment process when the processing time difference becomes equal to or less than the threshold. Thereafter, the cloud server 14 only tests the virtual ECU and suppresses the generation and transmission of the second log. After the virtual ECU has completed testing on the cloud server 14, it is then tested on the in-vehicle device 12.

[0044] 11(A) and 11(B) show examples of analysis information. In both the analysis information of FIG. 11(A) and the analysis information of FIG. 11(B), the vertical axis represents average processing time and the horizontal axis represents time, showing the transition of the average processing time for each process of the virtual ECU. The solid line graph shows the transition of the average processing time for process 1, the dashed line graph shows the transition of the average processing time for process 2, and the dashed line graph shows the transition of the average processing time for process 3. The analysis information of FIG. 11(A) shows the average processing time in the cloud server 14, and the analysis information of FIG. 11(B) shows the average processing time in the in-vehicle device 12. Comparing FIG. 11(A) and FIG. 11(B) reveals that the average processing time in the cloud server 14 is relatively short and the average processing time in the in-vehicle device 12 is relatively long.

[0045] The average processing time may be a moving average of each process over multiple tests. For example, the column for time 0 may plot the average processing time for each of the first, second, and third runs of a process, the column for time 1 may plot the average processing time for each of the second, third, and fourth runs of a process, and the column for time 2 may plot the average processing time for each of the third, fourth, and fifth runs of a process. Furthermore, the analysis unit 34 may calculate the processing speed or a performance index value based on the reciprocal of the processing time, and may set the processing speed or the performance index value on the vertical axis of the analysis information.

[0046] The analysis information output unit 40 of the cloud server 14 may transmit the analysis information, including the table shown in FIG. 9 and the graphs shown in FIGS. 11(A) and 11(B), to a predetermined external device. The destination of the analysis information may be, for example, a device of a developer of the virtual ECU. The developer of the virtual ECU can check the analysis information to see to what extent the difference in processing time between the cloud server 14 and the in-vehicle device 12 has been reduced. Furthermore, providing the analysis information to the developer of the virtual ECU can assist the developer in appropriately setting the values ​​of the control parameters of the cloud server 14.

[0047] According to the development system 10 of the embodiment, when a virtual ECU developed and tested on a cloud server 14 with a relatively high processing speed is tested on an in-vehicle device 12 with a relatively low processing speed, it is possible to reduce the need for rework due to differences in processing speed, and to prevent a decrease in the development efficiency of the virtual ECU.

[0048] The development system 10 of the embodiment is also useful for developing a next-generation model of a virtual ECU for a current model. In this case, the current model of the virtual ECU may be used as predetermined data processing for measuring processing times in the in-vehicle device 12 and the cloud server 14. This embodiment can prevent a decrease in development efficiency when the next-generation model of the virtual ECU is developed and tested on the cloud server 14 and then tested on the in-vehicle device 12.

[0049] The development system 10 (adjustment device 16) of the embodiment is useful for developing various types of software, regardless of whether it is a virtualized environment or not, and is not limited to virtual ECUs. Furthermore, the development system 10 may of course be an on-premise server instead of the cloud server 14. The technology of the development system 10 of the embodiment can improve development efficiency when software developed and tested on a device with a relatively high processing speed is tested on a device with a relatively low processing speed.

[0050] The present disclosure has been described above based on the embodiments. The embodiments are merely examples, and it will be understood by those skilled in the art that various modifications are possible in the combination of each component or each treatment process of the embodiments, and that such modifications are also within the scope of the present disclosure.

[0051] The functions of the adjustment device 16 of the above-described embodiment may be implemented in the cloud server 14. That is, as a modified example, the cloud server 14 may have both the functions of the cloud server 14 of the embodiment and the functions of the adjustment device 16 of the embodiment. Also, as a modified example, the functions of the adjustment device 16 of the embodiment may be implemented across multiple devices. That is, the processing of the adjustment device 16 of the embodiment may be realized by a system in which multiple devices communicate with each other and cooperate with each other.

[0052] Any combination of the above-described embodiments and modifications is also useful as an embodiment of the present disclosure. A new embodiment resulting from a combination combines the effects of the combined embodiments and modifications. It will also be understood by those skilled in the art that the functions to be performed by each component recited in the claims can be realized by each component shown in the embodiments and modifications alone or in combination.

[0053] <Additional Notes> The above description of the embodiment and modifications discloses the following techniques. [Technology 1] a first acquisition unit that acquires first time information relating to a time when the first device executed a predetermined process; a second acquisition unit that acquires second time information relating to a time when the second device, which executes a test of the software running on the first device and has a processing speed higher than that of the first device, executed the predetermined process; a determination unit that determines a value of a parameter related to the execution of a process in the second device so as to reduce a difference between the first device and the second device based on the first time information and the second time information; a setting unit that sets the value of the parameter determined by the determination unit in the second device; An information processing device comprising: With this information processing device, when software developed and tested on a second device (e.g., a cloud server) is tested on a first device (e.g., in-vehicle hardware), it is possible to reduce the need for rework due to differences in processing speed, thereby preventing a decline in software development efficiency. [Technology 2] the parameter is a parameter for adjusting CPU allocation for a process for testing the software; The information processing device according to technology 1. According to this information processing device, the difference between the execution time of the process in the in-vehicle device 12 and the execution time of the process in the cloud server 14 can be effectively reduced. [Technology 3] The software is a virtual ECU (Electronic Control Unit), the first device is an in-vehicle device on which the virtual ECU operates, The second device is a server on which the virtual ECU runs. The information processing device according to technology 1 or 2. According to this information processing device, when a virtual ECU developed and tested on a second device is tested on a first device, it is possible to prevent rework due to differences in processing speed, thereby preventing a decrease in the development efficiency of the virtual ECU. [Technology 4] further comprising an information output unit that outputs information indicating a difference between the first device and the second device based on the first time information and the second time information, 4. An information processing device according to any one of techniques 1 to 3. This information processing device allows software developers to check, for example, how much the difference in processing time between the first device and the second device has been reduced, and also helps software developers to appropriately set the control parameter values ​​of the second device. [Technology 5] a first acquisition unit that acquires first time information relating to a time when the first device executed a predetermined process; a second acquisition unit that acquires second time information relating to a time when the second device, which executes a test of the software running on the first device and has a processing speed higher than that of the first device, executed the predetermined process; a determination unit that determines a value of a parameter related to execution of a process in the second device so as to reduce a difference between the first time information and the second time information; a setting unit that sets the value of the parameter determined by the determination unit in the second device; An information processing system comprising: This information processing system can reduce the need for rework due to differences in processing speed when software developed and tested on a second device (e.g., a cloud server) is tested on a first device (e.g., in-vehicle hardware), thereby preventing a decline in software development efficiency. [Technology 6] acquiring first time information relating to a time when the first device executed a predetermined process; acquiring second time information relating to a time when a second device, which executes a test of the software running on the first device and has a processing speed higher than that of the first device, executed the predetermined process; determining a value of a parameter related to execution of a process in the second device so as to reduce the difference between the first time information and the second time information; setting the determined parameter value in the second device; An information processing method performed by a computer. According to this information processing method, when software developed and tested on a second device (e.g., a cloud server) is tested on a first device (e.g., in-vehicle hardware), it is possible to reduce the need for rework due to differences in processing speed, thereby preventing a decline in software development efficiency. [Explanation of symbols]

[0054] 10 Development system, 12 In-vehicle device, 14 Cloud server, 16 Adjustment device, 26 Analysis information storage unit, 30 First log acquisition unit, 32 Second log acquisition unit, 34 Analysis unit, 36 Parameter determination unit, 38 Parameter setting unit, 40 Analysis information output unit.

Claims

1. a first acquisition unit that acquires first time information relating to a time when the first device executed a predetermined process; a second acquisition unit that acquires second time information relating to a time when the second device, which executes a test of the software running on the first device and has a processing speed higher than that of the first device, executed the predetermined process; a determination unit that determines a control parameter related to execution of a process in the second device based on the first time information and the second time information, the control parameter value reducing a difference in processing time for the predetermined process between the first device and the second device; a setting unit that sets the value of the control parameter determined by the determination unit in the second device; Equipped with the control parameter is a parameter for adjusting CPU allocation to a process for testing the software; the determination unit determines the CPU allocation period as a control parameter for adjusting the CPU allocation based on a processing start time of the second device and a total time difference between the processing times of the first device and the second device. Information processing device.

2. The software is a virtual ECU (Electronic Control Unit), the first device is an in-vehicle device on which the virtual ECU operates, The second device is a server on which the virtual ECU operates. The information processing device according to claim 1 .

3. an information output unit that outputs information indicating a difference between the first device and the second device based on the first time information and the second time information; 3. The information processing device according to claim 1.

4. a first acquisition unit that acquires first time information relating to a time when the first device executed a predetermined process; a second acquisition unit that acquires second time information relating to a time when the second device, which executes a test of the software running on the first device and has a processing speed higher than that of the first device, executed the predetermined process; a determination unit that determines a control parameter related to execution of a process in the second device based on the first time information and the second time information, the control parameter value reducing a difference in processing time for the predetermined process between the first device and the second device; a setting unit that sets the value of the control parameter determined by the determination unit in the second device; Equipped with the control parameter is a parameter for adjusting CPU allocation to a process for testing the software; the determination unit determines the CPU allocation period as a control parameter for adjusting the CPU allocation based on a processing start time of the second device and a total time difference between the processing times of the first device and the second device. Information processing system.

5. acquiring first time information relating to a time when the first device executed a predetermined process; acquiring second time information relating to a time when a second device, which executes a test of the software running on the first device and has a processing speed higher than that of the first device, executed the predetermined process; determining a control parameter related to the execution of the process in the second device based on the first time information and the second time information, the control parameter value reducing a difference in processing time for the predetermined process between the first device and the second device; the control parameter is a parameter for adjusting CPU allocation to a process for testing the software; determining a CPU allocation period as a control parameter for adjusting the CPU allocation based on a processing start time of the second device and a total time difference between the processing times of the first device and the second device; setting the determined control parameter value in the second device; An information processing method performed by a computer.

6. the predetermined processing includes at least N times (N is an integer of 2 or more) of processing, the determination unit determines a time until completion of an M-th processing, which is equal to or less than N-1, as a latency target for reducing a difference in processing time between the first device and the second device in the predetermined processing, based on the first time information and the second time information. The information processing device according to claim 1 .

7. The time when the second device completes the predetermined process is defined as a second device process completion time, Among the predetermined processes, a process that is completed by the first device within the second device process completion time is defined as a first process, calculating a first processing time difference that is a difference between the time required for the first device and the time required for the second device to execute the first process; the determination unit determines the control parameters so as to provide a period of time during which no processing is performed that corresponds to the first processing time difference during the second device processing completion time. The information processing device according to claim 1 .

Citation Information

Patent Citations

  • Virtual machine management device, virtual machine management method, and virtual machine management program

    JP2020038436A

  • On-vehicle ECU, program, and information processing method

    JP2022078815A

  • Simulation device, method for same, and ECU device

    WO2020017264A1