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

By aligning processing speeds between cloud and in-vehicle hardware through time-based parameter adjustments, the method addresses performance discrepancies, preventing rework and maintaining development efficiency for virtual ECU software.

JP7886474B2Active Publication Date: 2026-07-07PANASONIC AUTOMOTIVE SYST CO LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
PANASONIC AUTOMOTIVE SYST CO LTD
Filing Date
2025-09-01
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

The performance difference between cloud servers and in-vehicle hardware leads to issues during testing of virtual ECU software developed on cloud servers, potentially causing rework and decreasing development efficiency.

Method used

An information processing apparatus and method that acquires time information from both cloud and in-vehicle devices, determines parameter values to reduce processing time differences, and sets these parameters on the cloud device to align processing speeds, using cgroups and other control parameters.

Benefits of technology

Suppresses rework and maintains development efficiency by aligning processing times, ensuring smooth transition from cloud to in-vehicle hardware testing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007886474000001
    Figure 0007886474000001
  • Figure 0007886474000002
    Figure 0007886474000002
  • Figure 0007886474000003
    Figure 0007886474000003
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 technologies, and particularly to information processing apparatuses, information processing systems, and information processing methods.

Background Art

[0002] In order to effectively utilize computer hardware resources, development of virtualization infrastructure software (also referred to as a "hypervisor") has been carried out. In Patent Document 1, for each of a plurality of virtual machines operating on any one of a plurality of physical machines, the resource usage tendency of each virtual machine is updated, and based on the updated resource usage tendency, a cloud system that changes the physical machine on which the plurality of virtual machines operate has been proposed.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In recent years, in order to improve the efficiency of developing an ECU (Electronic Control Unit) mounted on a vehicle, efforts have been started to virtualize the ECU and develop virtual ECU software operating on a hypervisor on a cloud server. Even when development is carried out on a cloud server, it is essential to test and evaluate the virtual ECU software using the actual computer hardware mounted on the vehicle (the execution environment of the virtual ECU software, hereinafter also referred to as "in-vehicle hardware").

[0005] There is a performance difference between cloud servers and in-vehicle hardware; specifically, cloud servers have higher processing speeds than in-vehicle hardware. Therefore, when virtual ECU software developed on a cloud server is tested on in-vehicle hardware, problems may arise due to this performance difference, potentially leading to rework during testing on the in-vehicle hardware.

[0006] This disclosure has been made in view of the above-mentioned problems, and one of its purposes is to provide a technology that suppresses the decrease in development efficiency when developing software that operates on the first device on a second device with a higher processing speed than the first device. [Means for solving the problem]

[0007] To solve the above problems, an information processing apparatus in one aspect of the present disclosure includes: a first acquisition unit that acquires first time information relating to the time it takes for a first device to perform a predetermined process; a second acquisition unit that acquires second time information relating to the time it takes for a second device, which performs tests on software running on the first device and has a higher processing speed than the first device, to perform a predetermined process; a determination unit that determines the values ​​of parameters relating to the execution of processing in the second device in order to reduce the difference between the first time information and the second time information; and a setting unit that sets the parameter values ​​determined by the determination unit in the second device.

[0008] Another aspect of this disclosure is an information processing system. This information processing system includes a first acquisition unit that acquires first time information relating to the time it takes for a first device to perform a predetermined process; a second acquisition unit that acquires second time information relating to the time it takes for a second device, which is a second device that performs tests on software running on the first device and has a higher processing speed than the first device, to perform a predetermined process; a determination unit that determines the values ​​of parameters relating to the execution of processing in the second device in order to reduce the difference between the first time information and the second time information; and a setting unit that sets the parameter values ​​determined by the determination unit in the second device.

[0009] A further aspect of the present invention is an information processing method. This method involves a computer acquiring first time information relating to the time it took for a first device to perform a predetermined process, acquiring second time information relating to the time it took for a second device to perform a test of software running on the first device, and having a higher processing speed than the first device, determining the values ​​of parameters related to the execution of the process in the second device in order to reduce the difference between the first time information and the second time information, and setting the determined parameter values ​​in the second device.

[0010] Furthermore, any combination of the above components, or any conversion of the expressions of this disclosure between computer programs, recording media containing computer programs, etc., are also valid forms of this disclosure. [Effects of the Invention]

[0011] According to the technology disclosed herein, when developing software that operates on the first device on a second device with a higher processing speed than the first device, the decrease in development efficiency can be suppressed. [Brief explanation of the drawing]

[0012] [Figure 1] Figures 1(A) and 1(B) schematically illustrate the operating environment of the virtual ECU. [Figure 2] This diagram schematically illustrates the challenges of developing a virtual ECU on a cloud server. [Figure 3] This diagram schematically illustrates the development of a virtual ECU in an embodiment. [Figure 4] This is a diagram showing the configuration of the development system of the embodiment. [Figure 5] Figure 4 is a block diagram showing the functional block of the adjustment device. [Figure 6] This is a flowchart showing the operation of the adjustment device according to the embodiment. [Figure 7] This diagram schematically illustrates the difference in processing time between in-vehicle devices and cloud servers. [Figure 8] This diagram schematically illustrates the adjustment process. [Figure 9] This figure shows an example of analytical information. [Figure 10] This figure shows an example of control parameters related to cgroups. [Figure 11] Figures 11(A) and 11(B) show examples of analytical information. [Modes for carrying out the invention]

[0013] The subject of the apparatus or method in this disclosure comprises a computer. The functions of the subject of the apparatus or method in this disclosure are realized by the computer executing a program. The computer comprises a processor as its main hardware component, which operates according to the program. The processor is of any type as long as it can realize its functions by executing a program. The processor consists of one or more electronic circuits, including a semiconductor integrated circuit (IC) or a Large Scale Integration (LSI). Here, we refer to them as ICs or LSIs, but the name changes depending on the degree of integration, and they may also be called system LSIs, VLSIs (Very Large Scale Integrations) or USLIs (Ultra Large Scale Integrations). Field Programmable Gate Arrays (FPGAs) that are programmed after the manufacture of the LSI, or reconfigurable logic devices that allow for the reconfiguration of junction relationships within the LSI or the setup of circuit compartments within the LSI, can also be used for the same purpose. Multiple electronic circuits may be integrated on a single chip or provided on multiple chips. The former is called a System on a Chip (SoC). Multiple chips may be integrated into a single device or provided in multiple devices. Programs may be recorded on non-temporary recording media such as computer-readable ROM (Read Only Memory), optical discs, or hard disk drives, or on temporary storage media such as computer-readable RAM (Random Access Memory). Programs may be pre-stored on recording media or supplied to recording media or storage media via wide-area communication networks, including the Internet.

[0014] First, an overview of the embodiments will be described. In order to improve the efficiency of developing an ECU mounted on a vehicle, efforts have been made to virtualize the ECU and develop virtual ECU software that operates on a hypervisor on a cloud server. The virtual ECU software can also be referred to as a virtual ECU-VM (Virtual Machine), and hereinafter will simply be referred to as the "virtual ECU". The cloud server is a virtual server constructed by a cloud service provider or a development server of the company itself.

[0015] FIG. 1(A) and FIG. 1(B) schematically show the operating environments of the virtual ECU. FIG. 1(A) shows the operating environment on a physical machine. The virtual ECU1 and the virtual ECU2 operate on an in-vehicle hypervisor on computer hardware (in-vehicle hardware) mounted on the vehicle. The virtual ECU1 may execute, for example, processing related to the control of steering. The virtual ECU2 may execute, for example, processing related to infotainment.

[0016] FIG. 1(B) shows the operating environment during development and testing in the cloud. The virtual ECU1 and the virtual ECU2 operate on a general-purpose hypervisor on the cloud server. The monitoring VM shown in FIGS. 1(A) and 1(B) is a VM that executes processing related to the monitoring, analysis, verification, and evaluation of other VMs (for example, the virtual ECU1 and the virtual ECU2) operating on the hypervisor.

[0017] FIG. 2 schematically shows problems in the case of developing a virtual ECU on a cloud server. Generally, a cloud server has a higher processing speed 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, problems of not meeting QoS (Quality of Service) requirements, etc. may occur. As a result, rollback may occur during testing on in-vehicle hardware. "Design" and "test" in FIG. 2 may be applied to the design and verification processes of a group of software engineering processes in the Automotive SPICE (Software Process Improvement and Capability dEtermination) standard, or may be considered as "design" and "test" in software development methods not limited to in-vehicle software such as DevOps.

[0018] FIG. 3 schematically shows the development of a virtual ECU in an embodiment. In the embodiment, the processing of the virtual ECU on the cloud server is controlled so that the difference between the processing time of the virtual ECU on the cloud server and the processing time of the virtual ECU on in-vehicle hardware becomes small. The processing time can also be referred to as the processing speed. Thereby, the occurrence of bugs, problems of not meeting QoS requirements, etc. can be suppressed in the test of the virtual ECU using in-vehicle hardware. That is, rollback in the test stage using in-vehicle hardware can be suppressed, and a decrease in the development efficiency of the virtual ECU can be suppressed.

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

[0020] The in-vehicle device 12 corresponds to the in-vehicle hardware shown in Figure 1(A) and is an information processing device that performs processing related to the actual testing of the virtual ECU. The cloud server 14 corresponds to the cloud server shown in Figure 1(B) and is an information processing device that performs processing related to the 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, the time required for processing the virtual ECU is shorter. The adjustment device 16 is an information processing device that adjusts to reduce the difference in processing time between the in-vehicle device 12 and the cloud server 14, in other words, to bring the processing speeds of the two devices closer together.

[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 this disclosure can be implemented in hardware terms by a processor and storage device, including the CPU and memory of a computer, and in software terms by a computer program, etc., but here, the functional blocks that are implemented by the cooperation of these are depicted. It will be understood by those skilled in the art that these functional blocks can be implemented in various ways by combinations of hardware and software.

[0022] The adjustment device 16 comprises a processing unit 20, a storage unit 22, and a communication unit 24. The processing unit 20 performs various data processing related to the above adjustment. The storage unit 22 stores data that is 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 sends and receives data with the in-vehicle device 12 and also sends and receives data with 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 an analysis based on the first log and the second log described later. The analysis information can be described as information regarding the execution time of a predetermined data processing for measuring processing time in both the in-vehicle device 12 and the cloud server 14. In other words, the analysis information can be described as information regarding the execution speed of a predetermined data processing in both the in-vehicle device 12 and the cloud server 14. In this embodiment, the predetermined data processing for measuring processing time is the processing of the virtual ECU under test. As a variation, the predetermined data processing may be an extraction of typical processing 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 processing.

[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 the "adjustment program"). The adjustment program may be stored on a recording medium and installed on the storage of the adjustment device 16 via that recording medium, or it may be downloaded via a network and installed on the storage of the adjustment device 16. The processor (CPU, etc.) 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 containing first time information regarding the time the in-vehicle device 12 performed processing on the virtual ECU. The second log acquisition unit 32 acquires a second log containing second time information regarding the time the cloud server 14 performed processing on the virtual ECU.

[0026] The analysis unit 34 generates analysis information regarding the difference between the first time information shown in the first log and the second time information shown in the second log. This analysis information can also be described as information showing 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 values ​​of parameters related to the execution of processing on the cloud server 14 (hereinafter also referred to as "control parameters") in order to reduce the difference between the first time information and the second time information. The parameter setting unit 38 sets the values ​​of the control parameters determined by the parameter determination unit 36 ​​on 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. The analysis information output unit 40 may also send the analysis information to a user terminal (e.g., a developer of a virtual ECU) for display in response to a request from the user terminal (not shown). Alternatively, the analysis information output unit 40 may send the analysis information to an external predetermined storage device for storage.

[0029] The operation of the development system 10 with the above configuration will now be explained. The monitoring VM of the in-vehicle device 12 sends a first log to the adjustment device 16, which includes the start times of multiple processes in the virtual ECU under test that were executed on the in-vehicle hypervisor. The monitoring VM of the cloud server 14 sends a second log to the adjustment device 16, which includes the start times of multiple processes in the virtual ECU under test (the same as those executed on the in-vehicle hypervisor) that were executed on the general-purpose hypervisor. As a variation, the monitoring VM of the cloud server 14 and the monitoring VM of the in-vehicle device 12 may send the end times of multiple processes in the virtual ECU to the adjustment device 16, either in place of the start times or along with the start times of those processes.

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

[0031] Figure 6 is a flowchart showing the operation of the adjustment device 16 in the embodiment. The first log acquisition unit 30 of the adjustment device 16 acquires a first log, which is transmitted from the in-vehicle device 12 and indicates 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, which is transmitted from the cloud server 14 and indicates 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 in-vehicle 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 in-vehicle 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 values ​​of the control parameters in the cloud server 14 in order to reduce that difference (S16).

[0033] The parameter setting unit 38 of the adjustment device 16 sets the control parameter values ​​determined in S16 to the cloud server 14 (S18). The parameter setting unit 38 may also communicate with the monitoring VM of the cloud server 14 and cause the monitoring VM to execute the process of setting the control parameter values ​​to 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 process in this figure is terminated, that is, the adjustment device 16 terminates the adjustment process of the cloud server 14. The cloud server 14 continues testing the virtual ECU in the adjusted environment.

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

[0035] Figure 8 schematically illustrates the adjustment process. In the example shown in Figure 8, the adjustment device 16 sets the control parameters of the cloud server 14 to provide a waiting time for each process in the virtual ECU on the cloud server 14. The waiting time can also be described as the time during which no process is executed. This reduces the difference between the time it takes for process 4 to be completed on the cloud server 14 and the time it takes for process 4 to be completed on the in-vehicle device 12. The adjustment device 16 may also use the time it takes for process 4 to be completed on the in-vehicle device 12 as the latency target and adjust the control parameters of the cloud server 14 to bring the time it takes for process 4 to be completed on the cloud server 14 closer to the latency target, for example, by setting a waiting time.

[0036] Figure 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 from the start time of process N. 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 from the start time of process N.

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

[0038] In this embodiment, the parameter determination unit 36 ​​of the adjustment device 16 adjusts the CPU allocation for virtual ECU processing of the cloud server 14 using the cgroups function of the cloud server 14's operating system (e.g., Linux®). The parameter determination unit 36 ​​determines the values ​​of the control parameters related to cgroups.

[0039] Figure 10 shows an example of control parameters for cgroups. "cpu.cfs_period_us" is the interval at which cgroups reallocate access to CPU resources, and is specified in microseconds. "cpu.cfs_quota_us" is the total time that all tasks within cgroups are executed within the period determined by cpu.cfs_period_us, and is also 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 considered the execution ban time during which CPU resource allocation is prohibited.

[0040] In the example shown in Figure 9, the parameter determination unit 36 ​​determines 7130 microseconds as the value of cpu.cfs_period_us, which is the start time of process 7 on the cloud server 14 (≒ total processing time up to process 6). The execution prohibition time in the example shown in Figure 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 3050 microseconds as the value of cpu.cfs_quota_us, which is the difference between 7130 microseconds and 4080 microseconds.

[0041] The parameter setting unit 38 sends data to the monitoring VM on the cloud server 14 instructing it to set cpu.cfs_period_us to 7130 microseconds and cpu.cfs_quota_us to 3050 microseconds. The monitoring VM then sets the received control parameter values ​​on the cloud server 14 (e.g., the OS).

[0042] As an alternative, the control parameters may include parameters other than cgroups. Furthermore, the control parameters may include parameters that control system resources other than the CPU (e.g., memory, network, I / O).

[0043] The cloud server 14 and the in-vehicle device 12 perform multiple tests on the virtual ECU. 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 terminates the adjustment process when the processing time difference falls below the threshold. Thereafter, the cloud server 14 performs only the virtual ECU tests and suppresses the generation and transmission of the second log. The virtual ECU that has completed testing on the cloud server 14 is then tested on the in-vehicle device 12.

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

[0045] The average processing time may be the moving average of each process over multiple tests. For example, the column for time 0 may plot the average processing time for the 1st, 2nd, and 3rd processes; the column for time 1 may plot the average processing time for the 2nd, 3rd, and 4th processes; and the column for time 2 may plot the average processing time for the 3rd, 4th, and 5th processes. The analysis unit 34 may also calculate processing speed and performance indicators based on the reciprocal of the processing time, and may set processing speed and performance indicators on the vertical axis of the analysis information.

[0046] The analysis information output unit 40 of the cloud server 14 may transmit analysis information, including the table shown in Figure 9 and the graphs shown in Figures 11(A) and 11(B), to a predetermined external device. The destination of the analysis information may be, for example, the device of the virtual ECU developer. The virtual ECU developer can check the analysis information to see how much the difference in processing time between the cloud server 14 and the in-vehicle device 12 has been reduced. Furthermore, by providing the analysis information to the virtual ECU developer, it is possible to 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 this 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 suppress the occurrence of rework caused by the difference in processing speed and to suppress the decrease in the development efficiency of the virtual ECU.

[0048] Furthermore, the development system 10 of this embodiment is also useful for developing a next-generation model of the virtual ECU relative to the current model. In this case, the current model of the virtual ECU may be used as a predetermined data processing method for measuring processing time in the in-vehicle device 12 and the cloud server 14. According to this embodiment, the decrease in development efficiency when developing and testing the next-generation model of the virtual ECU on the cloud server 14 and testing it on the in-vehicle device 12 can be suppressed.

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

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

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

[0052] Any combination of the embodiments and modifications described above is also useful as an embodiment of the present disclosure. The new embodiments resulting from such combinations will possess the combined effects of the respective embodiments and modifications. Furthermore, it will be understood by those skilled in the art that the functions to be performed by each component described in the claims can be achieved by each component shown in the embodiments and modifications individually or in combination thereof.

[0053] <Note> Based on the above descriptions of embodiments and modifications, the following technologies are disclosed. [Technology 1] A first acquisition unit acquires first time information relating to the time the first device performed a predetermined process, A second device that performs tests on software running on the first device, and a second acquisition unit that acquires second time information relating to the time the second device, which has a higher processing speed than the first device, has performed the predetermined processing, A determination unit that determines the values ​​of parameters related to the execution of processing in the second device in order to reduce the difference between the first device and the second device based on the first time information and the second time information, A setting unit sets the parameter values ​​determined by the determination unit to the second device, An information processing device equipped with the following features. According to this information processing device, when testing software developed and tested on a second device (e.g., a cloud server) on a first device (e.g., in-vehicle hardware), it is possible to suppress rework caused by differences in processing speed and prevent a decrease in software development efficiency. [Technology 2] The aforementioned parameter is a parameter that adjusts the CPU allocation for the process of testing the software. The information processing device described in Technical 1. According to this information processing device, the difference between the processing execution time in the in-vehicle device 12 and the processing execution time in the cloud server 14 can be effectively reduced. [Technology 3] The aforementioned 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. An information processing device as described in Technology 1 or 2. According to this information processing device, when a virtual ECU developed and tested on the second device is tested on the first device, it is possible to suppress rework caused by differences in processing speed, thereby suppressing a decrease in the development efficiency of the virtual ECU. [Technology 4] The system further includes an information output unit that outputs information indicating the difference between the first device and the second device based on the first time information and the second time information. An information processing device as described in any of the technologies 1 to 3. This information processing device allows, for example, software developers to verify the extent to which the processing time difference between the first and second devices has been reduced. It also assists software developers in appropriately setting the control parameter values ​​for the second device. [Technology 5] A first acquisition unit acquires first time information relating to the time the first device performed a predetermined process, A second device that performs tests on software running on the first device, and a second acquisition unit that acquires second time information relating to the time the second device, which has a higher processing speed than the first device, has performed the predetermined processing, A determination unit that determines the values ​​of parameters related to the execution of processing in the second device in order to reduce the difference between the first time information and the second time information, A setting unit sets the parameter values ​​determined by the determination unit to the second device, An information processing system equipped with the following features. According to this information processing system, 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), the occurrence of rework due to differences in processing speed can be suppressed, thereby preventing a decrease in software development efficiency. [Technology 6] The first device acquires first time information regarding the time it has performed a predetermined process. A second device that performs tests on software running on the first device, and which has a higher processing speed than the first device, acquires second time information relating to the time it took to perform the predetermined processing. The values ​​of the parameters related to the execution of processing in the second device are determined in such a way that the difference between the first time information and the second time information is reduced. The determined parameter values ​​are set in the second device. A method of information processing 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), rework caused by differences in processing speed can be suppressed, thereby preventing a decrease 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 acquires first time information relating to the time the first device performed a predetermined process, A second device that performs tests on software running on the first device, and a second acquisition unit that acquires second time information relating to the time the second device, which has a higher processing speed than the first device, has performed the predetermined processing, A determination unit that determines the values ​​of parameters related to the execution of processing in the second device, Equipped with, The aforementioned parameter is a parameter that adjusts the allocation of CPU resources for the process of testing the software, The determination unit determines the parameters for adjusting the allocation of CPU resources based on the processing start time of the second device and the total processing time difference between the first device and the second device. Information processing device.

2. The aforementioned 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 apparatus according to claim 1.

3. The system further includes an information output unit that outputs information indicating the difference between the first device and the second device based on the first time information and the second time information. The information processing apparatus according to claim 1 or 2.

4. A first acquisition unit acquires first time information relating to the time the first device performed a predetermined process, A second device that performs tests on software running on the first device, and a second acquisition unit that acquires second time information relating to the time the second device, which has a higher processing speed than the first device, has performed the predetermined processing, A determination unit determines, based on the first time information and the second time information, the value of a parameter relating to the execution of processing in the second device, which reduces the difference in processing time between the first device and the second device in the predetermined processing; A setting unit sets the parameter values ​​determined by the determination unit to the second device, Equipped with, The aforementioned parameter is a parameter that adjusts the CPU allocation for the process of testing the software, The determination unit determines the parameters for adjusting the allocation of CPU resources based on the processing start time of the second device and the total processing time difference between the first device and the second device. Information processing system.

5. The first device acquires first time information regarding the time it has performed a predetermined process, A second device that performs tests on software running on the first device, and which has a higher processing speed than the first device, acquires second time information relating to the time it has performed the predetermined processing. Based on the first time information and the second time information, the values ​​of the control parameters relating to the execution of processing in the second device are determined, which reduce the difference in processing time between the first device and the second device in the predetermined processing. The aforementioned control parameter is a parameter that adjusts the CPU allocation for the process of testing the software, Based on the processing start time of the second device and the total processing time difference between the first device and the second device, the control parameters for adjusting the allocation of CPU resources are determined. A method of information processing performed by a computer.

6. The predetermined process has at least N steps (where N is an integer of 2 or more), The determination unit determines, based on the first time information and the second time information, the time until the Mth process, which is N-1 or less, is completed, as a latency target to reduce the difference in processing time between the first device and the second device in the predetermined process. The information processing apparatus according to claim 1.

7. The time at which the second device completes the predetermined processing is defined as the processing completion time of the second device. Of the predetermined processes, the process that the first device completes within the processing completion time of the second device is designated as the first process. The first processing time difference, which is the difference in the time required for each of the first and second devices to execute the first process, is calculated. The determination unit determines the parameters such that, during the processing completion time of the second device, there is a period of time during which processing is not performed equal to the difference in the first processing time. The information processing apparatus according to claim 1.

8. The determination unit determines the period for which the CPU resources are allocated based on the parameters, specifically the processing start time of the second device and the total processing time difference between the first device and the second device. The information processing apparatus according to claim 1.